Merge changes I845798af,Ib5d741e9

* changes:
  Regenerate lexer/parser/treewalker for smali 2.0.5
  Merge remote-tracking branch 'remotes/aosp/upstream-master' into HEAD
diff --git a/NOTICE b/NOTICE
index b4375d5..4ce4514 100644
--- a/NOTICE
+++ b/NOTICE
@@ -82,53 +82,4 @@
 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 smali mojo plugin is (very loosely) based on an unknown mojo plugin with
-the following license:
-
-*******************************************************************************
-Copyright 2001-2005 The Apache Software Foundation.
-
-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 RadixTree implementation in the "util" project is taken from
-http://code.google.com/p/radixtree/ (version .3), and is used with minor
-modifications in accordance with the following license:
-
-*******************************************************************************
-The MIT License
-
-Copyright (c) 2008 Tahseen Ur Rehman
-
-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.
-*******************************************************************************
+*******************************************************************************
\ No newline at end of file
diff --git a/baksmali/build.gradle b/baksmali/build.gradle
index f12d3ba..150eb6f 100644
--- a/baksmali/build.gradle
+++ b/baksmali/build.gradle
@@ -40,6 +40,7 @@
     compile depends.guava
 
     testCompile depends.junit
+    testCompile project(':smali')
 
     proguard depends.proguard
 }
@@ -80,15 +81,6 @@
     }
 }
 
-task sourcesJar(type: Jar) {
-    classifier = 'sources'
-    from sourceSets.main.allJava
-}
-
-artifacts {
-    archives sourcesJar
-}
-
 task proguard(type: JavaExec, dependsOn: fatJar) {
     def outFile = fatJar.destinationDir.getPath() + '/' + fatJar.baseName + '-' + fatJar.version + '-small' + '.' + fatJar.extension
     inputs.file fatJar.archivePath
diff --git a/baksmali/src/main/java/org/jf/baksmali/Adaptors/AnnotationFormatter.java b/baksmali/src/main/java/org/jf/baksmali/Adaptors/AnnotationFormatter.java
index 2b9614f..1310f19 100644
--- a/baksmali/src/main/java/org/jf/baksmali/Adaptors/AnnotationFormatter.java
+++ b/baksmali/src/main/java/org/jf/baksmali/Adaptors/AnnotationFormatter.java
@@ -33,13 +33,16 @@
 import org.jf.dexlib2.iface.Annotation;
 import org.jf.util.IndentingWriter;
 
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
 import java.io.IOException;
 import java.util.Collection;
 
 public class AnnotationFormatter {
 
-    public static void writeTo(IndentingWriter writer,
-                               Collection<? extends Annotation> annotations) throws IOException {
+    public static void writeTo(@Nonnull IndentingWriter writer,
+                               @Nonnull Collection<? extends Annotation> annotations,
+                               @Nullable String containingClass) throws IOException {
         boolean first = true;
         for (Annotation annotation: annotations) {
             if (!first) {
@@ -47,18 +50,19 @@
             }
             first = false;
 
-            writeTo(writer, annotation);
+            writeTo(writer, annotation, containingClass);
         }
     }
 
-    public static void writeTo(IndentingWriter writer, Annotation annotation) throws IOException {
+    public static void writeTo(@Nonnull IndentingWriter writer, @Nonnull Annotation annotation,
+                               @Nullable String containingClass) throws IOException {
         writer.write(".annotation ");
         writer.write(AnnotationVisibility.getVisibility(annotation.getVisibility()));
         writer.write(' ');
         writer.write(annotation.getType());
         writer.write('\n');
 
-        AnnotationEncodedValueAdaptor.writeElementsTo(writer, annotation.getElements());
+        AnnotationEncodedValueAdaptor.writeElementsTo(writer, annotation.getElements(), containingClass);
 
         writer.write(".end annotation\n");
     }
diff --git a/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java b/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
index a4eb691..9c171f4 100644
--- a/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
+++ b/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
@@ -165,7 +165,13 @@
         if (classAnnotations.size() != 0) {
             writer.write("\n\n");
             writer.write("# annotations\n");
-            AnnotationFormatter.writeTo(writer, classAnnotations);
+
+            String containingClass = null;
+            if (options.useImplicitReferences) {
+                containingClass = classDef.getType();
+            }
+
+            AnnotationFormatter.writeTo(writer, classAnnotations, containingClass);
         }
     }
 
@@ -199,7 +205,7 @@
             } else {
                 setInStaticConstructor = fieldsSetInStaticConstructor.contains(fieldString);
             }
-            FieldDefinition.writeTo(fieldWriter, field, setInStaticConstructor);
+            FieldDefinition.writeTo(options, fieldWriter, field, setInStaticConstructor);
         }
         return writtenFields;
     }
@@ -237,7 +243,7 @@
                 writer.write("# There is both a static and instance field with this signature.\n" +
                              "# You will need to rename one of these fields, including all references.\n");
             }
-            FieldDefinition.writeTo(fieldWriter, field, false);
+            FieldDefinition.writeTo(options, fieldWriter, field, false);
         }
     }
 
@@ -261,7 +267,7 @@
             writer.write('\n');
 
             // TODO: check for method validation errors
-            String methodString = ReferenceUtil.getShortMethodDescriptor(method);
+            String methodString = ReferenceUtil.getMethodDescriptor(method, true);
 
             IndentingWriter methodWriter = writer;
             if (!writtenMethods.add(methodString)) {
@@ -300,7 +306,7 @@
             writer.write('\n');
 
             // TODO: check for method validation errors
-            String methodString = ReferenceUtil.getShortMethodDescriptor(method);
+            String methodString = ReferenceUtil.getMethodDescriptor(method, true);
 
             IndentingWriter methodWriter = writer;
             if (!writtenMethods.add(methodString)) {
diff --git a/baksmali/src/main/java/org/jf/baksmali/Adaptors/EncodedValue/AnnotationEncodedValueAdaptor.java b/baksmali/src/main/java/org/jf/baksmali/Adaptors/EncodedValue/AnnotationEncodedValueAdaptor.java
index 66cd506..e8f12a2 100644
--- a/baksmali/src/main/java/org/jf/baksmali/Adaptors/EncodedValue/AnnotationEncodedValueAdaptor.java
+++ b/baksmali/src/main/java/org/jf/baksmali/Adaptors/EncodedValue/AnnotationEncodedValueAdaptor.java
@@ -32,28 +32,32 @@
 import org.jf.dexlib2.iface.value.AnnotationEncodedValue;
 import org.jf.util.IndentingWriter;
 
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
 import java.io.IOException;
 import java.util.Collection;
 
 public abstract class AnnotationEncodedValueAdaptor {
 
-    public static void writeTo(IndentingWriter writer, AnnotationEncodedValue annotationEncodedValue)
-                               throws IOException {
+    public static void writeTo(@Nonnull IndentingWriter writer,
+                               @Nonnull AnnotationEncodedValue annotationEncodedValue,
+                               @Nullable String containingClass) throws IOException {
         writer.write(".subannotation ");
         writer.write(annotationEncodedValue.getType());
         writer.write('\n');
 
-        writeElementsTo(writer, annotationEncodedValue.getElements());
+        writeElementsTo(writer, annotationEncodedValue.getElements(), containingClass);
         writer.write(".end subannotation");
     }
 
-    public static void writeElementsTo(IndentingWriter writer,
-                                       Collection<? extends AnnotationElement> annotationElements) throws IOException {
+    public static void writeElementsTo(@Nonnull IndentingWriter writer,
+                                       @Nonnull Collection<? extends AnnotationElement> annotationElements,
+                                       @Nullable String containingClass) throws IOException {
         writer.indent(4);
         for (AnnotationElement annotationElement: annotationElements) {
             writer.write(annotationElement.getName());
             writer.write(" = ");
-            EncodedValueAdaptor.writeTo(writer, annotationElement.getValue());
+            EncodedValueAdaptor.writeTo(writer, annotationElement.getValue(), containingClass);
             writer.write('\n');
         }
         writer.deindent(4);
diff --git a/baksmali/src/main/java/org/jf/baksmali/Adaptors/EncodedValue/ArrayEncodedValueAdaptor.java b/baksmali/src/main/java/org/jf/baksmali/Adaptors/EncodedValue/ArrayEncodedValueAdaptor.java
index 8da1b04..eb079b3 100644
--- a/baksmali/src/main/java/org/jf/baksmali/Adaptors/EncodedValue/ArrayEncodedValueAdaptor.java
+++ b/baksmali/src/main/java/org/jf/baksmali/Adaptors/EncodedValue/ArrayEncodedValueAdaptor.java
@@ -28,15 +28,19 @@
 
 package org.jf.baksmali.Adaptors.EncodedValue;
 
-import org.jf.util.IndentingWriter;
 import org.jf.dexlib2.iface.value.ArrayEncodedValue;
 import org.jf.dexlib2.iface.value.EncodedValue;
+import org.jf.util.IndentingWriter;
 
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
 import java.io.IOException;
 import java.util.Collection;
 
 public class ArrayEncodedValueAdaptor {
-    public static void writeTo(IndentingWriter writer, ArrayEncodedValue arrayEncodedValue) throws IOException {
+    public static void writeTo(@Nonnull IndentingWriter writer,
+                               @Nonnull ArrayEncodedValue arrayEncodedValue,
+                               @Nullable String containingClass) throws IOException {
         writer.write('{');
         Collection<? extends EncodedValue> values = arrayEncodedValue.getValue();
         if (values.size() == 0) {
@@ -53,7 +57,7 @@
             }
             first = false;
 
-            EncodedValueAdaptor.writeTo(writer, encodedValue);
+            EncodedValueAdaptor.writeTo(writer, encodedValue, containingClass);
         }
         writer.deindent(4);
         writer.write("\n}");
diff --git a/baksmali/src/main/java/org/jf/baksmali/Adaptors/EncodedValue/EncodedValueAdaptor.java b/baksmali/src/main/java/org/jf/baksmali/Adaptors/EncodedValue/EncodedValueAdaptor.java
index f4d442e..bce1ff7 100644
--- a/baksmali/src/main/java/org/jf/baksmali/Adaptors/EncodedValue/EncodedValueAdaptor.java
+++ b/baksmali/src/main/java/org/jf/baksmali/Adaptors/EncodedValue/EncodedValueAdaptor.java
@@ -29,22 +29,26 @@
 package org.jf.baksmali.Adaptors.EncodedValue;
 
 import org.jf.baksmali.Adaptors.ReferenceFormatter;
+import org.jf.baksmali.Renderers.*;
 import org.jf.dexlib2.ValueType;
 import org.jf.dexlib2.iface.value.*;
 import org.jf.dexlib2.util.ReferenceUtil;
 import org.jf.util.IndentingWriter;
-import org.jf.baksmali.Renderers.*;
 
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
 import java.io.IOException;
 
 public abstract class EncodedValueAdaptor {
-    public static void writeTo(IndentingWriter writer, EncodedValue encodedValue) throws IOException {
+    public static void writeTo(@Nonnull IndentingWriter writer, @Nonnull EncodedValue encodedValue,
+                               @Nullable String containingClass)
+            throws IOException {
         switch (encodedValue.getValueType()) {
             case ValueType.ANNOTATION:
-                AnnotationEncodedValueAdaptor.writeTo(writer, (AnnotationEncodedValue)encodedValue);
+                AnnotationEncodedValueAdaptor.writeTo(writer, (AnnotationEncodedValue)encodedValue, containingClass);
                 return;
             case ValueType.ARRAY:
-                ArrayEncodedValueAdaptor.writeTo(writer, (ArrayEncodedValue)encodedValue);
+                ArrayEncodedValueAdaptor.writeTo(writer, (ArrayEncodedValue)encodedValue, containingClass);
                 return;
             case ValueType.BOOLEAN:
                 BooleanRenderer.writeTo(writer, ((BooleanEncodedValue)encodedValue).getValue());
@@ -59,11 +63,21 @@
                 DoubleRenderer.writeTo(writer, ((DoubleEncodedValue)encodedValue).getValue());
                 return;
             case ValueType.ENUM:
+                EnumEncodedValue enumEncodedValue = (EnumEncodedValue)encodedValue;
+                boolean useImplicitReference = false;
+                if (enumEncodedValue.getValue().getDefiningClass().equals(containingClass)) {
+                    useImplicitReference = true;
+                }
                 writer.write(".enum ");
-                ReferenceUtil.writeFieldDescriptor(writer, ((EnumEncodedValue)encodedValue).getValue());
+                ReferenceUtil.writeFieldDescriptor(writer, enumEncodedValue.getValue(), useImplicitReference);
                 return;
             case ValueType.FIELD:
-                ReferenceUtil.writeFieldDescriptor(writer, ((FieldEncodedValue)encodedValue).getValue());
+                FieldEncodedValue fieldEncodedValue = (FieldEncodedValue)encodedValue;
+                useImplicitReference = false;
+                if (fieldEncodedValue.getValue().getDefiningClass().equals(containingClass)) {
+                    useImplicitReference = true;
+                }
+                ReferenceUtil.writeFieldDescriptor(writer, fieldEncodedValue.getValue(), useImplicitReference);
                 return;
             case ValueType.FLOAT:
                 FloatRenderer.writeTo(writer, ((FloatEncodedValue)encodedValue).getValue());
@@ -75,7 +89,12 @@
                 LongRenderer.writeTo(writer, ((LongEncodedValue)encodedValue).getValue());
                 return;
             case ValueType.METHOD:
-                ReferenceUtil.writeMethodDescriptor(writer, ((MethodEncodedValue)encodedValue).getValue());
+                MethodEncodedValue methodEncodedValue = (MethodEncodedValue)encodedValue;
+                useImplicitReference = false;
+                if (methodEncodedValue.getValue().getDefiningClass().equals(containingClass)) {
+                    useImplicitReference = true;
+                }
+                ReferenceUtil.writeMethodDescriptor(writer, methodEncodedValue.getValue(), useImplicitReference);
                 return;
             case ValueType.NULL:
                 writer.write("null");
diff --git a/baksmali/src/main/java/org/jf/baksmali/Adaptors/FieldDefinition.java b/baksmali/src/main/java/org/jf/baksmali/Adaptors/FieldDefinition.java
index a71089d..ae01791 100644
--- a/baksmali/src/main/java/org/jf/baksmali/Adaptors/FieldDefinition.java
+++ b/baksmali/src/main/java/org/jf/baksmali/Adaptors/FieldDefinition.java
@@ -29,6 +29,7 @@
 package org.jf.baksmali.Adaptors;
 
 import org.jf.baksmali.Adaptors.EncodedValue.EncodedValueAdaptor;
+import org.jf.baksmali.baksmaliOptions;
 import org.jf.dexlib2.AccessFlags;
 import org.jf.dexlib2.iface.Annotation;
 import org.jf.dexlib2.iface.Field;
@@ -40,7 +41,8 @@
 import java.util.Collection;
 
 public class FieldDefinition {
-    public static void writeTo(IndentingWriter writer, Field field, boolean setInStaticConstructor) throws IOException {
+    public static void writeTo(baksmaliOptions options, IndentingWriter writer, Field field,
+                               boolean setInStaticConstructor) throws IOException {
         EncodedValue initialValue = field.getInitialValue();
         int accessFlags = field.getAccessFlags();
 
@@ -64,7 +66,13 @@
         writer.write(field.getType());
         if (initialValue != null) {
             writer.write(" = ");
-            EncodedValueAdaptor.writeTo(writer, initialValue);
+
+            String containingClass = null;
+            if (options.useImplicitReferences) {
+                containingClass = field.getDefiningClass();
+            }
+
+            EncodedValueAdaptor.writeTo(writer, initialValue, containingClass);
         }
 
         writer.write('\n');
@@ -72,7 +80,13 @@
         Collection<? extends Annotation> annotations = field.getAnnotations();
         if (annotations.size() > 0) {
             writer.indent(4);
-            AnnotationFormatter.writeTo(writer, annotations);
+
+            String containingClass = null;
+            if (options.useImplicitReferences) {
+                containingClass = field.getDefiningClass();
+            }
+
+            AnnotationFormatter.writeTo(writer, annotations, containingClass);
             writer.deindent(4);
             writer.write(".end field\n");
         }
diff --git a/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/ArrayDataMethodItem.java b/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/ArrayDataMethodItem.java
index 1d4957e..9c7b658 100644
--- a/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/ArrayDataMethodItem.java
+++ b/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/ArrayDataMethodItem.java
@@ -65,8 +65,13 @@
         for (Number number: elements) {
             LongRenderer.writeSignedIntOrLongTo(writer, number.longValue());
             writer.write(suffix);
-            if (elementWidth == 4)
-                writeResourceId(writer, number.intValue());
+            if (elementWidth == 8) {
+                writeCommentIfLikelyDouble(writer, number.longValue());
+            } else if (elementWidth == 4) {
+                int value = number.intValue();
+                boolean isResourceId = writeCommentIfResourceId(writer, value);
+                if (!isResourceId) writeCommentIfLikelyFloat(writer, value);
+            }
             writer.write("\n");
         }
         writer.deindent(4);
diff --git a/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/InstructionMethodItem.java b/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/InstructionMethodItem.java
index 300efd8..12acd79 100644
--- a/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/InstructionMethodItem.java
+++ b/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/InstructionMethodItem.java
@@ -41,10 +41,13 @@
 import org.jf.dexlib2.iface.instruction.formats.Instruction20bc;
 import org.jf.dexlib2.iface.instruction.formats.Instruction31t;
 import org.jf.dexlib2.iface.instruction.formats.UnknownInstruction;
+import org.jf.dexlib2.iface.reference.FieldReference;
+import org.jf.dexlib2.iface.reference.MethodReference;
 import org.jf.dexlib2.iface.reference.Reference;
 import org.jf.dexlib2.util.ReferenceUtil;
 import org.jf.util.ExceptionWithContext;
 import org.jf.util.IndentingWriter;
+import org.jf.util.NumberUtils;
 
 import javax.annotation.Nonnull;
 import java.io.IOException;
@@ -102,7 +105,13 @@
             ReferenceInstruction referenceInstruction = (ReferenceInstruction)instruction;
             try {
                 Reference reference = referenceInstruction.getReference();
-                referenceString = ReferenceUtil.getReferenceString(reference);
+
+                String classContext = null;
+                if (methodDef.classDef.options.useImplicitReferences) {
+                    classContext = methodDef.method.getDefiningClass();
+                }
+
+                referenceString = ReferenceUtil.getReferenceString(reference, classContext);
                 assert referenceString != null;
             } catch (InvalidItemIndex ex) {
                 writer.write("#");
@@ -222,8 +231,12 @@
                 writeFirstRegister(writer);
                 writer.write(", ");
                 writeLiteral(writer);
-                if (instruction.getOpcode().setsWideRegister() == false)
-                    writeResourceId(writer);
+                if (instruction.getOpcode().setsWideRegister()) {
+                    writeCommentIfLikelyDouble(writer);
+                } else {
+                    boolean isResourceId = writeCommentIfResourceId(writer);
+                    if (!isResourceId) writeCommentIfLikelyFloat(writer);
+                }
                 break;
             case Format21t:
             case Format31t:
@@ -428,17 +441,71 @@
         LongRenderer.writeSignedIntOrLongTo(writer, ((WideLiteralInstruction)instruction).getWideLiteral());
     }
 
-    protected void writeResourceId(IndentingWriter writer) throws IOException {
-        writeResourceId(writer, ((NarrowLiteralInstruction)instruction).getNarrowLiteral());
+    protected void writeCommentIfLikelyFloat(IndentingWriter writer) throws IOException {
+        writeCommentIfLikelyFloat(writer, ((NarrowLiteralInstruction)instruction).getNarrowLiteral());
     }
 
-    protected void writeResourceId(IndentingWriter writer, int val) throws IOException {
+    protected void writeCommentIfLikelyFloat(IndentingWriter writer, int val) throws IOException {
+        if (NumberUtils.isLikelyFloat(val)) {
+            writer.write("    # ");
+            float fval = Float.intBitsToFloat(val);
+            if (fval == Float.POSITIVE_INFINITY)
+                writer.write("Float.POSITIVE_INFINITY");
+            else if (fval == Float.NEGATIVE_INFINITY)
+                writer.write("Float.NEGATIVE_INFINITY");
+            else if (fval == Float.NaN)
+                writer.write("Float.NaN");
+            else if (fval == Float.MAX_VALUE)
+                writer.write("Float.MAX_VALUE");
+            else if (fval == (float)Math.PI)
+                writer.write("(float)Math.PI");
+            else if (fval == (float)Math.E)
+                writer.write("(float)Math.E");
+            else {
+                writer.write(Float.toString(fval));
+                writer.write('f');
+            }
+        }
+    }
+
+    protected void writeCommentIfLikelyDouble(IndentingWriter writer) throws IOException {
+        writeCommentIfLikelyDouble(writer, ((WideLiteralInstruction)instruction).getWideLiteral());
+    }
+
+    protected void writeCommentIfLikelyDouble(IndentingWriter writer, long val) throws IOException {
+        if (NumberUtils.isLikelyDouble(val)) {
+            writer.write("    # ");
+            double dval = Double.longBitsToDouble(val);
+            if (dval == Double.POSITIVE_INFINITY)
+                writer.write("Double.POSITIVE_INFINITY");
+            else if (dval == Double.NEGATIVE_INFINITY)
+                writer.write("Double.NEGATIVE_INFINITY");
+            else if (dval == Double.NaN)
+                writer.write("Double.NaN");
+            else if (dval == Double.MAX_VALUE)
+                writer.write("Double.MAX_VALUE");
+            else if (dval == Math.PI)
+                writer.write("Math.PI");
+            else if (dval == Math.E)
+                writer.write("Math.E");
+            else
+                writer.write(Double.toString(dval));
+        }
+    }
+
+    protected boolean writeCommentIfResourceId(IndentingWriter writer) throws IOException {
+        return writeCommentIfResourceId(writer, ((NarrowLiteralInstruction)instruction).getNarrowLiteral());
+    }
+
+    protected boolean writeCommentIfResourceId(IndentingWriter writer, int val) throws IOException {
         Map<Integer,String> resourceIds = methodDef.classDef.options.resourceIds;
         String resource = resourceIds.get(Integer.valueOf(val));
         if (resource != null) {
             writer.write("    # ");
             writer.write(resource);
+            return true;
         }
+        return false;
     }
 
     protected void writeFieldOffset(IndentingWriter writer) throws IOException {
diff --git a/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/PackedSwitchMethodItem.java b/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/PackedSwitchMethodItem.java
index 5d7dea7..f0dd656 100644
--- a/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/PackedSwitchMethodItem.java
+++ b/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/PackedSwitchMethodItem.java
@@ -85,7 +85,7 @@
         int key = firstKey;
         for (PackedSwitchTarget target: targets) {
             target.writeTargetTo(writer);
-            writeResourceId(writer, key);
+            writeCommentIfResourceId(writer, key);
             writer.write('\n');
             key++;
         }
diff --git a/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/SparseSwitchMethodItem.java b/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/SparseSwitchMethodItem.java
index 0dee84a..0e01f41 100644
--- a/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/SparseSwitchMethodItem.java
+++ b/baksmali/src/main/java/org/jf/baksmali/Adaptors/Format/SparseSwitchMethodItem.java
@@ -71,7 +71,7 @@
             IntegerRenderer.writeTo(writer, target.getKey());
             writer.write(" -> ");
             target.writeTargetTo(writer);
-            writeResourceId(writer, target.getKey());
+            writeCommentIfResourceId(writer, target.getKey());
             writer.write('\n');
         }
         writer.deindent(4);
diff --git a/baksmali/src/main/java/org/jf/baksmali/Adaptors/MethodDefinition.java b/baksmali/src/main/java/org/jf/baksmali/Adaptors/MethodDefinition.java
index 5ce971f..eb5caa6 100644
--- a/baksmali/src/main/java/org/jf/baksmali/Adaptors/MethodDefinition.java
+++ b/baksmali/src/main/java/org/jf/baksmali/Adaptors/MethodDefinition.java
@@ -56,6 +56,7 @@
 import org.jf.util.SparseIntArray;
 
 import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
 import java.io.IOException;
 import java.util.*;
 
@@ -148,7 +149,13 @@
 
         writer.indent(4);
         writeParameters(writer, method, methodParameters, options);
-        AnnotationFormatter.writeTo(writer, method.getAnnotations());
+
+        String containingClass = null;
+        if (options.useImplicitReferences) {
+            containingClass = method.getDefiningClass();
+        }
+        AnnotationFormatter.writeTo(writer, method.getAnnotations(), containingClass);
+
         writer.deindent(4);
         writer.write(".end method\n");
     }
@@ -191,7 +198,11 @@
                     parameterRegisterCount);
         }
 
-        AnnotationFormatter.writeTo(writer, method.getAnnotations());
+        String containingClass = null;
+        if (classDef.options.useImplicitReferences) {
+            containingClass = method.getDefiningClass();
+        }
+        AnnotationFormatter.writeTo(writer, method.getAnnotations(), containingClass);
 
         writer.write('\n');
 
@@ -264,7 +275,12 @@
                 writer.write("\n");
                 if (annotations.size() > 0) {
                     writer.indent(4);
-                    AnnotationFormatter.writeTo(writer, annotations);
+
+                    String containingClass = null;
+                    if (options.useImplicitReferences) {
+                        containingClass = method.getDefiningClass();
+                    }
+                    AnnotationFormatter.writeTo(writer, annotations, containingClass);
                     writer.deindent(4);
                     writer.write(".end param\n");
                 }
@@ -519,6 +535,14 @@
         }
     }
 
+    @Nullable
+    private String getContainingClassForImplicitReference() {
+        if (classDef.options.useImplicitReferences) {
+            return classDef.classDef.getType();
+        }
+        return null;
+    }
+
     public static class LabelCache {
         protected HashMap<LabelMethodItem, LabelMethodItem> labels = new HashMap<LabelMethodItem, LabelMethodItem>();
 
diff --git a/baksmali/src/main/java/org/jf/baksmali/baksmali.java b/baksmali/src/main/java/org/jf/baksmali/baksmali.java
index fcc89d7..765e77e 100644
--- a/baksmali/src/main/java/org/jf/baksmali/baksmali.java
+++ b/baksmali/src/main/java/org/jf/baksmali/baksmali.java
@@ -34,6 +34,7 @@
 import com.google.common.collect.Ordering;
 import org.jf.baksmali.Adaptors.ClassDefinition;
 import org.jf.dexlib2.analysis.ClassPath;
+import org.jf.dexlib2.analysis.CustomInlineMethodResolver;
 import org.jf.dexlib2.iface.ClassDef;
 import org.jf.dexlib2.iface.DexFile;
 import org.jf.dexlib2.util.SyntheticAccessorResolver;
@@ -66,7 +67,12 @@
 
                 options.classPath = ClassPath.fromClassPath(options.bootClassPathDirs,
                         Iterables.concat(options.bootClassPathEntries, extraClassPathEntries), dexFile,
-                        options.apiLevel);
+                        options.apiLevel, options.checkPackagePrivateAccess);
+
+                if (options.customInlineDefinitions != null) {
+                    options.inlineResolver = new CustomInlineMethodResolver(options.classPath,
+                            options.customInlineDefinitions);
+                }
             } catch (Exception ex) {
                 System.err.println("\n\nError occurred while loading boot class path files. Aborting.");
                 ex.printStackTrace(System.err);
diff --git a/baksmali/src/main/java/org/jf/baksmali/baksmaliOptions.java b/baksmali/src/main/java/org/jf/baksmali/baksmaliOptions.java
index 48a9146..ada2823 100644
--- a/baksmali/src/main/java/org/jf/baksmali/baksmaliOptions.java
+++ b/baksmali/src/main/java/org/jf/baksmali/baksmaliOptions.java
@@ -36,6 +36,7 @@
 import org.jf.dexlib2.analysis.InlineMethodResolver;
 import org.jf.dexlib2.util.SyntheticAccessorResolver;
 
+import java.io.File;
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
@@ -53,6 +54,7 @@
 
     public int apiLevel = 15;
     public String outputDirectory = "out";
+    public String dexEntry = "classes.dex";
     public List<String> bootClassPathDirs = Lists.newArrayList();
 
     public List<String> bootClassPathEntries = Lists.newArrayList();
@@ -71,6 +73,8 @@
     public boolean deodex = false;
     public boolean ignoreErrors = false;
     public boolean checkPackagePrivateAccess = false;
+    public boolean useImplicitReferences = false;
+    public File customInlineDefinitions = null;
     public InlineMethodResolver inlineResolver = null;
     public int registerInfo = 0;
     public ClassPath classPath = null;
diff --git a/baksmali/src/main/java/org/jf/baksmali/main.java b/baksmali/src/main/java/org/jf/baksmali/main.java
index db059f8..28c4203 100644
--- a/baksmali/src/main/java/org/jf/baksmali/main.java
+++ b/baksmali/src/main/java/org/jf/baksmali/main.java
@@ -31,7 +31,6 @@
 import com.google.common.collect.Lists;
 import org.apache.commons.cli.*;
 import org.jf.dexlib2.DexFileFactory;
-import org.jf.dexlib2.analysis.CustomInlineMethodResolver;
 import org.jf.dexlib2.analysis.InlineMethodResolver;
 import org.jf.dexlib2.dexbacked.DexBackedDexFile;
 import org.jf.dexlib2.dexbacked.DexBackedOdexFile;
@@ -206,6 +205,15 @@
                     String rif = commandLine.getOptionValue("i");
                     options.setResourceIdFiles(rif);
                     break;
+                case 't':
+                    options.useImplicitReferences = true;
+                    break;
+                case 'e':
+                    options.dexEntry = commandLine.getOptionValue("e");
+                    break;
+                case 'k':
+                    options.checkPackagePrivateAccess = true;
+                    break;
                 case 'N':
                     disassemble = false;
                     break;
@@ -217,7 +225,7 @@
                     options.ignoreErrors = true;
                     break;
                 case 'T':
-                    options.inlineResolver = new CustomInlineMethodResolver(options.classPath, new File(commandLine.getOptionValue("T")));
+                    options.customInlineDefinitions = new File(commandLine.getOptionValue("T"));
                     break;
                 default:
                     assert false;
@@ -236,10 +244,6 @@
             }
         }
 
-        if (options.apiLevel >= 17) {
-            options.checkPackagePrivateAccess = true;
-        }
-
         String inputDexFileName = remainingArgs[0];
 
         File dexFileFile = new File(inputDexFileName);
@@ -249,7 +253,7 @@
         }
 
         //Read in and parse the dex file
-        DexBackedDexFile dexFile = DexFileFactory.loadDexFile(dexFileFile, options.apiLevel);
+        DexBackedDexFile dexFile = DexFileFactory.loadDexFile(dexFileFile, options.dexEntry, options.apiLevel);
 
         if (dexFile.isOdexFile()) {
             if (!options.deodex) {
@@ -270,7 +274,7 @@
             }
         }
 
-        if (options.inlineResolver == null && dexFile instanceof DexBackedOdexFile) {
+        if (options.customInlineDefinitions == null && dexFile instanceof DexBackedOdexFile) {
             options.inlineResolver =
                     InlineMethodResolver.createInlineMethodResolver(((DexBackedOdexFile)dexFile).getOdexVersion());
         }
@@ -421,6 +425,16 @@
                 .withArgName("FILES")
                 .create("i");
 
+        Option noImplicitReferencesOption = OptionBuilder.withLongOpt("implicit-references")
+                .withDescription("Use implicit (type-less) method and field references")
+                .create("t");
+
+        Option checkPackagePrivateAccessOption = OptionBuilder.withLongOpt("check-package-private-access")
+                .withDescription("When deodexing, use the package-private access check when calculating vtable " +
+                        "indexes. It should only be needed for 4.2.0 odexes. The functionality was reverted for " +
+                        "4.2.1.")
+                .create("k");
+
         Option dumpOption = OptionBuilder.withLongOpt("dump-to")
                 .withDescription("dumps the given dex file into a single annotated dump file named FILE" +
                         " (<dexfile>.dump by default), along with the normal disassembly")
@@ -444,6 +458,12 @@
                 .withArgName("FILE")
                 .create("T");
 
+        Option dexEntryOption = OptionBuilder.withLongOpt("dex-file")
+                .withDescription("looks for dex file named DEX_FILE, defaults to classes.dex")
+                .withArgName("DEX_FILE")
+                .hasArg()
+                .create("e");
+
         basicOptions.addOption(versionOption);
         basicOptions.addOption(helpOption);
         basicOptions.addOption(outputDirOption);
@@ -460,6 +480,9 @@
         basicOptions.addOption(apiLevelOption);
         basicOptions.addOption(jobsOption);
         basicOptions.addOption(resourceIdFilesOption);
+        basicOptions.addOption(noImplicitReferencesOption);
+        basicOptions.addOption(dexEntryOption);
+        basicOptions.addOption(checkPackagePrivateAccessOption);
 
         debugOptions.addOption(dumpOption);
         debugOptions.addOption(ignoreErrorsOption);
diff --git a/baksmali/src/test/java/org/jf/baksmali/AnalysisTest.java b/baksmali/src/test/java/org/jf/baksmali/AnalysisTest.java
index 3821949..bf353e8 100644
--- a/baksmali/src/test/java/org/jf/baksmali/AnalysisTest.java
+++ b/baksmali/src/test/java/org/jf/baksmali/AnalysisTest.java
@@ -40,6 +40,7 @@
 import org.jf.dexlib2.iface.ClassDef;
 import org.jf.dexlib2.iface.DexFile;
 import org.jf.util.IndentingWriter;
+import org.jf.util.TextUtils;
 import org.junit.Test;
 
 import javax.annotation.Nonnull;
@@ -91,6 +92,7 @@
             options.registerInfo = baksmaliOptions.ALL | baksmaliOptions.FULLMERGE;
             options.classPath = new ClassPath();
         }
+        options.useImplicitReferences = false;
 
         for (ClassDef classDef: dexFile.getClasses()) {
             StringWriter stringWriter = new StringWriter();
@@ -104,9 +106,8 @@
                     className.substring(1, className.length() - 1));
             String smaliContents = readResource(smaliPath);
 
-            String newline = System.getProperty("line.separator");
-            Assert.assertEquals(smaliContents.replace("\r", "").replace("\n", newline),
-                    stringWriter.toString().replace("\r", "").replace("\n", newline));
+            Assert.assertEquals(TextUtils.normalizeNewlines(smaliContents),
+                    TextUtils.normalizeNewlines(stringWriter.toString()));
         }
     }
 
diff --git a/baksmali/src/test/java/org/jf/baksmali/ImplicitReferenceTest.java b/baksmali/src/test/java/org/jf/baksmali/ImplicitReferenceTest.java
new file mode 100644
index 0000000..0cda27a
--- /dev/null
+++ b/baksmali/src/test/java/org/jf/baksmali/ImplicitReferenceTest.java
@@ -0,0 +1,322 @@
+/*
+ * Copyright 2014, Google Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * 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.
+ *     * Neither the name of Google Inc. 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.
+ */
+
+package org.jf.baksmali;
+
+import junit.framework.Assert;
+import org.antlr.runtime.RecognitionException;
+import org.jf.baksmali.Adaptors.ClassDefinition;
+import org.jf.dexlib2.iface.ClassDef;
+import org.jf.smali.SmaliTestUtils;
+import org.jf.util.IndentingWriter;
+import org.jf.util.TextUtils;
+import org.junit.Test;
+
+import java.io.IOException;
+import java.io.StringWriter;
+
+public class ImplicitReferenceTest {
+    @Test
+    public void testImplicitMethodReferences() throws IOException, RecognitionException {
+        ClassDef classDef = SmaliTestUtils.compileSmali("" +
+                ".class public LHelloWorld;\n" +
+                ".super Ljava/lang/Object;\n" +
+                ".method public static main([Ljava/lang/String;)V\n" +
+                "    .registers 1\n" +
+                "    invoke-static {p0}, LHelloWorld;->toString()V\n" +
+                "    invoke-static {p0}, LHelloWorld;->V()V\n" +
+                "    invoke-static {p0}, LHelloWorld;->I()V\n" +
+                "    return-void\n" +
+                ".end method");
+
+        String expected = "" +
+                ".class public LHelloWorld;\n" +
+                ".super Ljava/lang/Object;\n" +
+                "# direct methods\n" +
+                ".method public static main([Ljava/lang/String;)V\n" +
+                ".registers 1\n" +
+                "invoke-static {p0}, toString()V\n" +
+                "invoke-static {p0}, V()V\n" +
+                "invoke-static {p0}, I()V\n" +
+                "return-void\n" +
+                ".end method\n";
+
+        baksmaliOptions options = new baksmaliOptions();
+        options.useImplicitReferences = true;
+
+        StringWriter stringWriter = new StringWriter();
+        IndentingWriter writer = new IndentingWriter(stringWriter);
+        ClassDefinition classDefinition = new ClassDefinition(options, classDef);
+        classDefinition.writeTo(writer);
+        writer.close();
+
+        Assert.assertEquals(TextUtils.normalizeWhitespace(expected),
+                TextUtils.normalizeWhitespace(stringWriter.toString()));
+    }
+
+    @Test
+    public void testExplicitMethodReferences() throws IOException, RecognitionException {
+        ClassDef classDef = SmaliTestUtils.compileSmali("" +
+                ".class public LHelloWorld;\n" +
+                ".super Ljava/lang/Object;\n" +
+                ".method public static main([Ljava/lang/String;)V\n" +
+                "    .registers 1\n" +
+                "    invoke-static {p0}, LHelloWorld;->toString()V\n" +
+                "    invoke-static {p0}, LHelloWorld;->V()V\n" +
+                "    invoke-static {p0}, LHelloWorld;->I()V\n" +
+                "    return-void\n" +
+                ".end method");
+
+        String expected = "" +
+                ".class public LHelloWorld;\n" +
+                ".super Ljava/lang/Object;\n" +
+                "# direct methods\n" +
+                ".method public static main([Ljava/lang/String;)V\n" +
+                "    .registers 1\n" +
+                "    invoke-static {p0}, LHelloWorld;->toString()V\n" +
+                "    invoke-static {p0}, LHelloWorld;->V()V\n" +
+                "    invoke-static {p0}, LHelloWorld;->I()V\n" +
+                "    return-void\n" +
+                ".end method\n";
+
+        baksmaliOptions options = new baksmaliOptions();
+        options.useImplicitReferences = false;
+
+        StringWriter stringWriter = new StringWriter();
+        IndentingWriter writer = new IndentingWriter(stringWriter);
+        ClassDefinition classDefinition = new ClassDefinition(options, classDef);
+        classDefinition.writeTo(writer);
+        writer.close();
+
+        Assert.assertEquals(TextUtils.normalizeWhitespace(expected),
+                TextUtils.normalizeWhitespace(stringWriter.toString()));
+    }
+
+    @Test
+    public void testImplicitMethodLiterals() throws IOException, RecognitionException {
+        ClassDef classDef = SmaliTestUtils.compileSmali("" +
+                ".class public LHelloWorld;\n" +
+                ".super Ljava/lang/Object;\n" +
+                ".field public static field1:Ljava/lang/reflect/Method; = LHelloWorld;->toString()V\n" +
+                ".field public static field2:Ljava/lang/reflect/Method; = LHelloWorld;->V()V\n" +
+                ".field public static field3:Ljava/lang/reflect/Method; = LHelloWorld;->I()V\n" +
+                ".field public static field4:Ljava/lang/Class; = I");
+
+        String expected = "" +
+                ".class public LHelloWorld;\n" +
+                ".super Ljava/lang/Object;\n" +
+                "# static fields\n" +
+                ".field public static field1:Ljava/lang/reflect/Method; = toString()V\n" +
+                ".field public static field2:Ljava/lang/reflect/Method; = V()V\n" +
+                ".field public static field3:Ljava/lang/reflect/Method; = I()V\n" +
+                ".field public static field4:Ljava/lang/Class; = I\n";
+
+        baksmaliOptions options = new baksmaliOptions();
+        options.useImplicitReferences = true;
+
+        StringWriter stringWriter = new StringWriter();
+        IndentingWriter writer = new IndentingWriter(stringWriter);
+        ClassDefinition classDefinition = new ClassDefinition(options, classDef);
+        classDefinition.writeTo(writer);
+        writer.close();
+
+        Assert.assertEquals(TextUtils.normalizeWhitespace(expected),
+                TextUtils.normalizeWhitespace(stringWriter.toString()));
+    }
+
+    @Test
+    public void testExplicitMethodLiterals() throws IOException, RecognitionException {
+        ClassDef classDef = SmaliTestUtils.compileSmali("" +
+                ".class public LHelloWorld;\n" +
+                ".super Ljava/lang/Object;\n" +
+                ".field public static field1:Ljava/lang/reflect/Method; = LHelloWorld;->toString()V\n" +
+                ".field public static field2:Ljava/lang/reflect/Method; = LHelloWorld;->V()V\n" +
+                ".field public static field3:Ljava/lang/reflect/Method; = LHelloWorld;->I()V\n" +
+                ".field public static field4:Ljava/lang/Class; = I");
+
+        String expected = "" +
+                ".class public LHelloWorld;\n" +
+                ".super Ljava/lang/Object;\n" +
+                "# static fields\n" +
+                ".field public static field1:Ljava/lang/reflect/Method; = LHelloWorld;->toString()V\n" +
+                ".field public static field2:Ljava/lang/reflect/Method; = LHelloWorld;->V()V\n" +
+                ".field public static field3:Ljava/lang/reflect/Method; = LHelloWorld;->I()V\n" +
+                ".field public static field4:Ljava/lang/Class; = I\n";
+
+        baksmaliOptions options = new baksmaliOptions();
+        options.useImplicitReferences = false;
+
+        StringWriter stringWriter = new StringWriter();
+        IndentingWriter writer = new IndentingWriter(stringWriter);
+        ClassDefinition classDefinition = new ClassDefinition(options, classDef);
+        classDefinition.writeTo(writer);
+        writer.close();
+
+        Assert.assertEquals(TextUtils.normalizeWhitespace(expected),
+                TextUtils.normalizeWhitespace(stringWriter.toString()));
+    }
+
+    @Test
+    public void testImplicitFieldReferences() throws IOException, RecognitionException {
+        ClassDef classDef = SmaliTestUtils.compileSmali("" +
+                ".class public LHelloWorld;\n" +
+                ".super Ljava/lang/Object;\n" +
+                ".method public static main([Ljava/lang/String;)V\n" +
+                "    .registers 1\n" +
+                "    sget v0, LHelloWorld;->someField:I\n" +
+                "    sget v0, LHelloWorld;->I:I\n" +
+                "    sget v0, LHelloWorld;->V:I\n" +
+                "    return-void\n" +
+                ".end method");
+
+        String expected = "" +
+                ".class public LHelloWorld;\n" +
+                ".super Ljava/lang/Object;\n" +
+                "# direct methods\n" +
+                ".method public static main([Ljava/lang/String;)V\n" +
+                "    .registers 1\n" +
+                "    sget p0, someField:I\n" +
+                "    sget p0, I:I\n" +
+                "    sget p0, V:I\n" +
+                "    return-void\n" +
+                ".end method\n";
+
+        baksmaliOptions options = new baksmaliOptions();
+        options.useImplicitReferences = true;
+
+        StringWriter stringWriter = new StringWriter();
+        IndentingWriter writer = new IndentingWriter(stringWriter);
+        ClassDefinition classDefinition = new ClassDefinition(options, classDef);
+        classDefinition.writeTo(writer);
+        writer.close();
+
+        Assert.assertEquals(TextUtils.normalizeWhitespace(expected),
+                TextUtils.normalizeWhitespace(stringWriter.toString()));
+    }
+
+    @Test
+    public void testExplicitFieldReferences() throws IOException, RecognitionException {
+        ClassDef classDef = SmaliTestUtils.compileSmali("" +
+                ".class public LHelloWorld;\n" +
+                ".super Ljava/lang/Object;\n" +
+                ".method public static main([Ljava/lang/String;)V\n" +
+                "    .registers 1\n" +
+                "    sget v0, LHelloWorld;->someField:I\n" +
+                "    sget v0, LHelloWorld;->I:I\n" +
+                "    sget v0, LHelloWorld;->V:I\n" +
+                "    return-void\n" +
+                ".end method");
+
+        String expected = "" +
+                ".class public LHelloWorld;\n" +
+                ".super Ljava/lang/Object;\n" +
+                "# direct methods\n" +
+                ".method public static main([Ljava/lang/String;)V\n" +
+                "    .registers 1\n" +
+                "    sget p0, LHelloWorld;->someField:I\n" +
+                "    sget p0, LHelloWorld;->I:I\n" +
+                "    sget p0, LHelloWorld;->V:I\n" +
+                "    return-void\n" +
+                ".end method\n";
+
+        baksmaliOptions options = new baksmaliOptions();
+        options.useImplicitReferences = false;
+
+        StringWriter stringWriter = new StringWriter();
+        IndentingWriter writer = new IndentingWriter(stringWriter);
+        ClassDefinition classDefinition = new ClassDefinition(options, classDef);
+        classDefinition.writeTo(writer);
+        writer.close();
+
+        Assert.assertEquals(TextUtils.normalizeWhitespace(expected),
+                TextUtils.normalizeWhitespace(stringWriter.toString()));
+    }
+
+    @Test
+    public void testImplicitFieldLiterals() throws IOException, RecognitionException {
+        ClassDef classDef = SmaliTestUtils.compileSmali("" +
+                ".class public LHelloWorld;\n" +
+                ".super Ljava/lang/Object;\n" +
+                ".field public static field1:Ljava/lang/reflect/Field; = LHelloWorld;->someField:I\n" +
+                ".field public static field2:Ljava/lang/reflect/Field; = LHelloWorld;->V:I\n" +
+                ".field public static field3:Ljava/lang/reflect/Field; = LHelloWorld;->I:I");
+
+        String expected = "" +
+                ".class public LHelloWorld;\n" +
+                ".super Ljava/lang/Object;\n" +
+                "# static fields\n" +
+                ".field public static field1:Ljava/lang/reflect/Field; = someField:I\n" +
+                ".field public static field2:Ljava/lang/reflect/Field; = V:I\n" +
+                ".field public static field3:Ljava/lang/reflect/Field; = I:I\n";
+
+        baksmaliOptions options = new baksmaliOptions();
+        options.useImplicitReferences = true;
+
+        StringWriter stringWriter = new StringWriter();
+        IndentingWriter writer = new IndentingWriter(stringWriter);
+        ClassDefinition classDefinition = new ClassDefinition(options, classDef);
+        classDefinition.writeTo(writer);
+        writer.close();
+
+        Assert.assertEquals(TextUtils.normalizeWhitespace(expected),
+                TextUtils.normalizeWhitespace(stringWriter.toString()));
+    }
+
+    @Test
+    public void testExplicitFieldLiterals() throws IOException, RecognitionException {
+        ClassDef classDef = SmaliTestUtils.compileSmali("" +
+                ".class public LHelloWorld;\n" +
+                ".super Ljava/lang/Object;\n" +
+                ".field public static field1:Ljava/lang/reflect/Field; = LHelloWorld;->someField:I\n" +
+                ".field public static field2:Ljava/lang/reflect/Field; = LHelloWorld;->V:I\n" +
+                ".field public static field3:Ljava/lang/reflect/Field; = LHelloWorld;->I:I");
+
+        String expected = "" +
+                ".class public LHelloWorld;\n" +
+                ".super Ljava/lang/Object;\n" +
+                "# static fields\n" +
+                ".field public static field1:Ljava/lang/reflect/Field; = LHelloWorld;->someField:I\n" +
+                ".field public static field2:Ljava/lang/reflect/Field; = LHelloWorld;->V:I\n" +
+                ".field public static field3:Ljava/lang/reflect/Field; = LHelloWorld;->I:I\n";
+
+        baksmaliOptions options = new baksmaliOptions();
+        options.useImplicitReferences = false;
+
+        StringWriter stringWriter = new StringWriter();
+        IndentingWriter writer = new IndentingWriter(stringWriter);
+        ClassDefinition classDefinition = new ClassDefinition(options, classDef);
+        classDefinition.writeTo(writer);
+        writer.close();
+
+        Assert.assertEquals(TextUtils.normalizeWhitespace(expected),
+                TextUtils.normalizeWhitespace(stringWriter.toString()));
+    }
+}
diff --git a/build.gradle b/build.gradle
index 0a48999..a9ee7e0 100644
--- a/build.gradle
+++ b/build.gradle
@@ -31,7 +31,7 @@
 
 apply plugin: 'idea'
 
-version = '2.0.3'
+version = '2.0.5'
 
 def jarVersion = version
 
@@ -64,21 +64,30 @@
 task release() {
 }
 
+// The projects that get pushed to maven
+def maven_release_projects = ['smali', 'baksmali', 'dexlib2', 'util']
+
 subprojects {
     apply plugin: 'java'
     apply plugin: 'idea'
-    apply plugin: 'maven'
-    apply plugin: 'signing'
 
-    group = 'org.smali'
+    if (JavaVersion.current().isJava8Compatible()) {
+        allprojects {
+            tasks.withType(Javadoc) {
+                options.addStringOption('Xdoclint:none', '-quiet')
+            }
+        }
+    }
+
     version = parent.version
 
     ext {
-        depends = [guava: 'com.google.guava:guava:14.0',
+        depends = [guava: 'com.google.guava:guava:18.0',
                    findbugs: 'com.google.code.findbugs:jsr305:1.3.9',
                    junit: 'junit:junit:4.6',
-                   antlr_runtime: 'org.antlr:antlr-runtime:3.5',
-                   antlr: 'org.antlr:antlr:3.5',
+                   antlr_runtime: 'org.antlr:antlr-runtime:3.5.2',
+                   antlr: 'org.antlr:antlr:3.5.2',
+                   stringtemplate: 'org.antlr:stringtemplate:3.2.1',
                    commons_cli: 'commons-cli:commons-cli:1.2',
                    jflex: 'de.jflex:jflex:1.4.3',
                    proguard: 'net.sf.proguard:proguard-base:4.8'
@@ -93,50 +102,74 @@
         mavenCentral()
     }
 
-    signing {
-        required { gradle.taskGraph.hasTask("uploadArchives") }
-        sign configurations.archives
-    }
+    if (project.name in maven_release_projects) {
+        apply plugin: 'maven'
+        apply plugin: 'signing'
 
-    uploadArchives {
-        repositories.mavenDeployer {
-            configuration = configurations.archives
+        group = 'org.smali'
 
-            beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }
+        task javadocJar(type: Jar, dependsOn: javadoc) {
+            classifier = 'javadoc'
+            from 'build/docs/javadoc'
+        }
 
-            repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") {
-                authentication(userName: sonatypeUsername, password: sonatypePassword)
-            }
+        task sourcesJar(type: Jar) {
+            classifier = 'sources'
+            from sourceSets.main.allJava
+        }
 
-            pom.artifactId = project.name
+        artifacts {
+            archives javadocJar
+            archives sourcesJar
+        }
 
-            pom.project {
-                name project.name
-                url 'http://smali.org'
-                packaging 'jar'
-                licenses {
-                    license {
-                        name 'The BSD 3-Clause License'
-                        url 'http://opensource.org/licenses/BSD-3-Clause'
-                        distribution 'repo'
+        signing {
+            required { gradle.taskGraph.hasTask("uploadArchives") }
+            sign configurations.archives
+        }
+
+        uploadArchives {
+            repositories.mavenDeployer {
+                configuration = configurations.archives
+
+                beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }
+
+                if (rootProject.hasProperty('sonatypeUsername') && rootProject.hasProperty('sonatypePassword')) {
+                    repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") {
+                        authentication(userName: sonatypeUsername, password: sonatypePassword)
                     }
                 }
-                scm {
-                    connection 'scm:git:git://github.com/JesusFreke/smali.git'
-                    developerConnection 'scm:git:git@github.com:JesusFreke/smali.git'
-                }
-                developers {
-                    developer {
-                        id 'jesusfreke'
-                        name 'Ben Gruver'
-                        email 'jesusfreke@jesusfreke.com'
+
+                pom.artifactId = project.name
+
+                pom.project {
+                    name project.name
+                    url 'http://smali.org'
+                    packaging 'jar'
+                    licenses {
+                        license {
+                            name 'The BSD 3-Clause License'
+                            url 'http://opensource.org/licenses/BSD-3-Clause'
+                            distribution 'repo'
+                        }
+                    }
+                    scm {
+                        connection 'scm:git:git://github.com/JesusFreke/smali.git'
+                        developerConnection 'scm:git:git@github.com:JesusFreke/smali.git'
+                    }
+                    developers {
+                        developer {
+                            id 'jesusfreke'
+                            name 'Ben Gruver'
+                            email 'jesusfreke@jesusfreke.com'
+                        }
                     }
                 }
             }
         }
-    }
 
-    tasks.getByPath(':release').dependsOn(uploadArchives)
+        tasks.getByPath(':release').dependsOn(uploadArchives)
+    }
 }
 
 buildscript {
@@ -149,5 +182,5 @@
 }
 
 task wrapper(type: Wrapper) {
-    gradleVersion = '1.8'
+    gradleVersion = '1.10'
 }
\ No newline at end of file
diff --git a/deodexerant/deodexerant.c b/deodexerant/deodexerant.c
index 108db76..1cadee9 100644
--- a/deodexerant/deodexerant.c
+++ b/deodexerant/deodexerant.c
@@ -48,14 +48,20 @@
 	void *libdvm = dlopen("libdvm.so", RTLD_LAZY);
 
 	if (libdvm == NULL) {
-		printf("Failed to load libdvm\n");
+		printf("Failed to load libdvm: %s\n", dlerror());
 		return;
 	}
 
 	dvmGetInlineOpsTablePtr dvmGetInlineOpsTable = dlsym(libdvm, "dvmGetInlineOpsTable");
 
 	if (dvmGetInlineOpsTable == NULL) {
-		printf("Failed to load dvmGetInlineOpsTable\n");
+		// clear the error, and retry with the c++ mangled name
+		dlerror();
+		dvmGetInlineOpsTable = dlsym(libdvm, "_Z20dvmGetInlineOpsTablev");
+	}
+
+	if (dvmGetInlineOpsTable == NULL) {
+		printf("Failed to load dvmGetInlineOpsTable: %s\n", dlerror());
 		dlclose(libdvm);
 		return;
 	}
@@ -63,7 +69,13 @@
 	dvmGetInlineOpsTableLengthPtr dvmGetInlineOpsTableLength = dlsym(libdvm, "dvmGetInlineOpsTableLength");
 
 	if (dvmGetInlineOpsTableLength == NULL) {
-		printf("Failed to load dvmGetInlineOpsTableLength\n");
+		// clear the error, and retry with the c++ mangled name
+		dlerror();
+		dvmGetInlineOpsTableLength = dlsym(libdvm, "_Z26dvmGetInlineOpsTableLengthv");
+	}
+
+	if (dvmGetInlineOpsTableLength == NULL) {
+		printf("Failed to load dvmGetInlineOpsTableLength: %s\n", dlerror());
 		dlclose(libdvm);
 		return;
 	}
diff --git a/dexlib2/accessorTestGenerator/build.gradle b/dexlib2/accessorTestGenerator/build.gradle
index 606fa0a..e50bdc0 100644
--- a/dexlib2/accessorTestGenerator/build.gradle
+++ b/dexlib2/accessorTestGenerator/build.gradle
@@ -36,8 +36,4 @@
     compile 'org.antlr:ST4:4.0.7'
 
     testCompile 'junit:junit:4.6'
-}
-
-// this is a test-only project that we don't need to upload to maven
-signArchives.enabled = false
-uploadArchives.enabled = false
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/dexlib2/build.gradle b/dexlib2/build.gradle
index bcecb19..d39c5db 100644
--- a/dexlib2/build.gradle
+++ b/dexlib2/build.gradle
@@ -118,15 +118,6 @@
     classpath = project.sourceSets.accessorTest.runtimeClasspath
 }
 
-task sourcesJar(type: Jar) {
-    classifier = 'sources'
-    from sourceSets.main.allJava
-}
-
-artifacts {
-    archives sourcesJar
-}
-
 uploadArchives {
     repositories.mavenDeployer {
         pom.project {
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/DexFileFactory.java b/dexlib2/src/main/java/org/jf/dexlib2/DexFileFactory.java
index 5987d7c..d08da03 100644
--- a/dexlib2/src/main/java/org/jf/dexlib2/DexFileFactory.java
+++ b/dexlib2/src/main/java/org/jf/dexlib2/DexFileFactory.java
@@ -46,16 +46,21 @@
 public final class DexFileFactory {
     @Nonnull
     public static DexBackedDexFile loadDexFile(String path, int api) throws IOException {
-        return loadDexFile(new File(path), new Opcodes(api));
+        return loadDexFile(new File(path), "classes.dex", new Opcodes(api));
     }
 
     @Nonnull
     public static DexBackedDexFile loadDexFile(File dexFile, int api) throws IOException {
-        return loadDexFile(dexFile, new Opcodes(api));
+        return loadDexFile(dexFile, "classes.dex", new Opcodes(api));
     }
 
     @Nonnull
-    public static DexBackedDexFile loadDexFile(File dexFile, @Nonnull Opcodes opcodes) throws IOException {
+    public static DexBackedDexFile loadDexFile(File dexFile, String dexEntry, int api) throws IOException {
+        return loadDexFile(dexFile, dexEntry, new Opcodes(api));
+    }
+
+    @Nonnull
+    public static DexBackedDexFile loadDexFile(File dexFile, String dexEntry, @Nonnull Opcodes opcodes) throws IOException {
         ZipFile zipFile = null;
         boolean isZipFile = false;
         try {
@@ -63,16 +68,16 @@
             // if we get here, it's safe to assume we have a zip file
             isZipFile = true;
 
-            ZipEntry zipEntry = zipFile.getEntry("classes.dex");
+            ZipEntry zipEntry = zipFile.getEntry(dexEntry);
             if (zipEntry == null) {
                 throw new NoClassesDexException("zip file %s does not contain a classes.dex file", dexFile.getName());
             }
             long fileLength = zipEntry.getSize();
             if (fileLength < 40) {
                 throw new ExceptionWithContext(
-                        "The classes.dex file in %s is too small to be a valid dex file", dexFile.getName());
+                        "The " + dexEntry + " file in %s is too small to be a valid dex file", dexFile.getName());
             } else if (fileLength > Integer.MAX_VALUE) {
-                throw new ExceptionWithContext("The classes.dex file in %s is too large to read in", dexFile.getName());
+                throw new ExceptionWithContext("The " + dexEntry + " file in %s is too large to read in", dexFile.getName());
             }
             byte[] dexBytes = new byte[(int)fileLength];
             ByteStreams.readFully(zipFile.getInputStream(zipEntry), dexBytes);
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/analysis/ClassPath.java b/dexlib2/src/main/java/org/jf/dexlib2/analysis/ClassPath.java
index e708152..7efeb40 100644
--- a/dexlib2/src/main/java/org/jf/dexlib2/analysis/ClassPath.java
+++ b/dexlib2/src/main/java/org/jf/dexlib2/analysis/ClassPath.java
@@ -57,7 +57,7 @@
 public class ClassPath {
     @Nonnull private final TypeProto unknownClass;
     @Nonnull private HashMap<String, ClassDef> availableClasses = Maps.newHashMap();
-    private int api;
+    private boolean checkPackagePrivateAccess;
 
     /**
      * Creates a new ClassPath instance that can load classes from the given dex files
@@ -75,12 +75,22 @@
      * @param api API level
      */
     public ClassPath(@Nonnull Iterable<DexFile> classPath, int api) {
+        this(Lists.newArrayList(classPath), api == 17);
+    }
+
+    /**
+     * Creates a new ClassPath instance that can load classes from the given dex files
+     *
+     * @param classPath An iterable of DexFile objects. When loading a class, these dex files will be searched in order
+     * @param checkPackagePrivateAccess Whether checkPackagePrivateAccess is needed, enabled for ONLY early API 17 by default
+     */
+    public ClassPath(@Nonnull Iterable<DexFile> classPath, boolean checkPackagePrivateAccess) {
         // add fallbacks for certain special classes that must be present
         Iterable<DexFile> dexFiles = Iterables.concat(classPath, Lists.newArrayList(getBasicClasses()));
 
         unknownClass = new UnknownClassProto(this);
         loadedClasses.put(unknownClass.getType(), unknownClass);
-        this.api = api;
+        this.checkPackagePrivateAccess = checkPackagePrivateAccess;
 
         loadPrimitiveType("Z");
         loadPrimitiveType("B");
@@ -148,20 +158,28 @@
         return unknownClass;
     }
 
-    public int getApi() {
-        return api;
+    public boolean shouldCheckPackagePrivateAccess() {
+        return checkPackagePrivateAccess;
     }
 
     @Nonnull
     public static ClassPath fromClassPath(Iterable<String> classPathDirs, Iterable<String> classPath, DexFile dexFile,
                                           int api) {
+        return fromClassPath(classPathDirs, classPath, dexFile, api, api == 17);
+    }
+
+    @Nonnull
+    public static ClassPath fromClassPath(Iterable<String> classPathDirs, Iterable<String> classPath, DexFile dexFile,
+                                          int api, boolean checkPackagePrivateAccess) {
         ArrayList<DexFile> dexFiles = Lists.newArrayList();
 
         for (String classPathEntry: classPath) {
-            dexFiles.add(loadClassPathEntry(classPathDirs, classPathEntry, api));
+            try {
+                dexFiles.add(loadClassPathEntry(classPathDirs, classPathEntry, api));
+            } catch (ExceptionWithContext e){}
         }
         dexFiles.add(dexFile);
-        return new ClassPath(dexFiles, api);
+        return new ClassPath(dexFiles, checkPackagePrivateAccess);
     }
 
     private static final Pattern dalvikCacheOdexPattern = Pattern.compile("@([^@]+)@classes.dex$");
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/analysis/ClassProto.java b/dexlib2/src/main/java/org/jf/dexlib2/analysis/ClassProto.java
index 6506cf2..f4f1dc7 100644
--- a/dexlib2/src/main/java/org/jf/dexlib2/analysis/ClassProto.java
+++ b/dexlib2/src/main/java/org/jf/dexlib2/analysis/ClassProto.java
@@ -627,7 +627,7 @@
                 for (int i=0; i<vtable.size(); i++) {
                     Method superMethod = vtable.get(i);
                     if (methodSignaturesMatch(superMethod, virtualMethod)) {
-                        if (classPath.getApi() < 17 || canAccess(superMethod)) {
+                        if (!classPath.shouldCheckPackagePrivateAccess() || canAccess(superMethod)) {
                             if (replaceExisting) {
                                 vtable.set(i, virtualMethod);
                             }
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/analysis/MethodAnalyzer.java b/dexlib2/src/main/java/org/jf/dexlib2/analysis/MethodAnalyzer.java
index 2a779ef..4402c62 100644
--- a/dexlib2/src/main/java/org/jf/dexlib2/analysis/MethodAnalyzer.java
+++ b/dexlib2/src/main/java/org/jf/dexlib2/analysis/MethodAnalyzer.java
@@ -1493,8 +1493,11 @@
         Instruction deodexedInstruction;
 
         int startRegister = instruction.getStartRegister();
-        int registerCount = instruction.getRegisterCount();
-        if (registerCount == 1 && startRegister < 16) {
+        // hack: we should be using instruction.getRegisterCount, but some tweaked versions of dalvik appear
+        // to generate invoke-object-init/range instructions with an invalid register count. We know it should
+        // always be 1, so just use that.
+        int registerCount = 1;
+        if (startRegister < 16) {
             deodexedInstruction = new ImmutableInstruction35c(Opcode.INVOKE_DIRECT,
                     registerCount, startRegister, 0, 0, 0, 0, instruction.getReference());
         } else {
@@ -1634,7 +1637,7 @@
                 String superclass = methodClass.getSuperclass();
                 if (superclass == null) {
                     throw new ExceptionWithContext("Couldn't find accessible class while resolving method %s",
-                            ReferenceUtil.getShortMethodDescriptor(resolvedMethod));
+                            ReferenceUtil.getMethodDescriptor(resolvedMethod, true));
                 }
 
                 methodClass = classPath.getClassDef(superclass);
@@ -1642,11 +1645,14 @@
 
             // methodClass is now the first accessible class found. Now. we need to make sure that the method is
             // actually valid for this class
-            resolvedMethod = classPath.getClass(methodClass.getType()).getMethodByVtableIndex(methodIndex);
-            if (resolvedMethod == null) {
+            MethodReference newResolvedMethod =
+                    classPath.getClass(methodClass.getType()).getMethodByVtableIndex(methodIndex);
+            if (newResolvedMethod == null) {
+                // TODO: fix NPE here
                 throw new ExceptionWithContext("Couldn't find accessible class while resolving method %s",
-                        ReferenceUtil.getShortMethodDescriptor(resolvedMethod));
+                        ReferenceUtil.getMethodDescriptor(resolvedMethod, true));
             }
+            resolvedMethod = newResolvedMethod;
             resolvedMethod = new ImmutableMethodReference(methodClass.getType(), resolvedMethod.getName(),
                     resolvedMethod.getParameterTypes(), resolvedMethod.getReturnType());
         }
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/builder/MutableMethodImplementation.java b/dexlib2/src/main/java/org/jf/dexlib2/builder/MutableMethodImplementation.java
index a3bfbd8..f734e01 100644
--- a/dexlib2/src/main/java/org/jf/dexlib2/builder/MutableMethodImplementation.java
+++ b/dexlib2/src/main/java/org/jf/dexlib2/builder/MutableMethodImplementation.java
@@ -96,8 +96,8 @@
             index++;
         }
 
-        // the switch instructions must be converted last, so that any switch statements that refer to them have
-        // created the referring labels that we look for
+        // the switch payload instructions must be converted last, so that any switch statements that refer to them
+        // have created the referring labels that we look for
         for (Task switchPayloadTask: switchPayloadTasks) {
             switchPayloadTask.perform();
         }
@@ -213,8 +213,10 @@
             return;
         }
         int codeAddress = instructionList.get(index).getCodeAddress();
+        MethodLocation newLoc = new MethodLocation(instruction, codeAddress, index);
+        instructionList.add(index, newLoc);
+        instruction.location = newLoc;
 
-        instructionList.add(index, new MethodLocation(instruction, codeAddress, index));
         codeAddress += instruction.getCodeUnits();
 
         for (int i=index+1; i<instructionList.size(); i++) {
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/BaseDexReader.java b/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/BaseDexReader.java
index 262fb54..96645b8 100644
--- a/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/BaseDexReader.java
+++ b/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/BaseDexReader.java
@@ -48,7 +48,6 @@
     public int getOffset() { return offset; }
     public void setOffset(int offset) { this.offset = offset; }
 
-    /** {@inheritDoc} */
     public int readSleb128() {
         int end = offset;
         int currentByteValue;
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/DexBackedClassDef.java b/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/DexBackedClassDef.java
index 06f0779..9596a27 100644
--- a/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/DexBackedClassDef.java
+++ b/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/DexBackedClassDef.java
@@ -173,7 +173,7 @@
                             while (true) {
                                 if (++count > staticFieldCount) {
                                     instanceFieldsOffset = reader.getOffset();
-                                    return null;
+                                    return endOfData();
                                 }
 
                                 DexBackedField item = new DexBackedField(reader, DexBackedClassDef.this,
@@ -232,7 +232,7 @@
                             while (true) {
                                 if (++count > instanceFieldCount) {
                                     directMethodsOffset = reader.getOffset();
-                                    return null;
+                                    return endOfData();
                                 }
 
                                 DexBackedField item = new DexBackedField(reader, DexBackedClassDef.this,
@@ -301,7 +301,7 @@
                             while (true) {
                                 if (++count > directMethodCount) {
                                     virtualMethodsOffset = reader.getOffset();
-                                    return null;
+                                    return endOfData();
                                 }
 
                                 DexBackedMethod item = new DexBackedMethod(reader, DexBackedClassDef.this,
@@ -357,7 +357,7 @@
                         protected DexBackedMethod readNextItem(@Nonnull DexReader reader) {
                             while (true) {
                                 if (++count > virtualMethodCount) {
-                                    return null;
+                                    return endOfData();
                                 }
 
                                 DexBackedMethod item = new DexBackedMethod(reader, DexBackedClassDef.this,
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/DexBackedDexFile.java b/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/DexBackedDexFile.java
index b1a1339..1774096 100644
--- a/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/DexBackedDexFile.java
+++ b/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/DexBackedDexFile.java
@@ -207,6 +207,26 @@
         return classCount;
     }
 
+    public int getStringCount() {
+        return stringCount;
+    }
+
+    public int getTypeCount() {
+        return typeCount;
+    }
+
+    public int getProtoCount() {
+        return protoCount;
+    }
+
+    public int getFieldCount() {
+        return fieldCount;
+    }
+
+    public int getMethodCount() {
+        return methodCount;
+    }
+
     @Nonnull
     public String getString(int stringIndex) {
         int stringOffset = getStringIdItemOffset(stringIndex);
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/DexBackedMethodImplementation.java b/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/DexBackedMethodImplementation.java
index a9c2266..0c06b1d 100644
--- a/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/DexBackedMethodImplementation.java
+++ b/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/DexBackedMethodImplementation.java
@@ -41,6 +41,7 @@
 import org.jf.dexlib2.iface.debug.DebugItem;
 import org.jf.dexlib2.iface.instruction.Instruction;
 import org.jf.util.AlignmentUtils;
+import org.jf.util.ExceptionWithContext;
 
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
@@ -75,9 +76,17 @@
                     @Override
                     protected Instruction readNextItem(@Nonnull DexReader reader) {
                         if (reader.getOffset() >= endOffset) {
-                            return null;
+                            return endOfData();
                         }
-                        return DexBackedInstruction.readFrom(reader);
+
+                        Instruction instruction = DexBackedInstruction.readFrom(reader);
+
+                        // Does the instruction extend past the end of the method?
+                        int offset = reader.getOffset();
+                        if (offset > endOffset || offset < 0) {
+                            throw new ExceptionWithContext("The last instruction in the method is truncated");
+                        }
+                        return instruction;
                     }
                 };
             }
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/instruction/DexBackedArrayPayload.java b/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/instruction/DexBackedArrayPayload.java
index 24a4960..0edd531 100644
--- a/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/instruction/DexBackedArrayPayload.java
+++ b/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/instruction/DexBackedArrayPayload.java
@@ -56,6 +56,9 @@
 
         elementWidth = dexFile.readUshort(instructionStart + ELEMENT_WIDTH_OFFSET);
         elementCount = dexFile.readSmallUint(instructionStart + ELEMENT_COUNT_OFFSET);
+        if (((long)elementWidth) * elementCount > Integer.MAX_VALUE) {
+            throw new ExceptionWithContext("Invalid array-payload instruction: element width*count overflows");
+        }
     }
 
     @Override public int getElementWidth() { return elementWidth; }
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/util/DebugInfo.java b/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/util/DebugInfo.java
index ffa4c20..6759820 100644
--- a/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/util/DebugInfo.java
+++ b/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/util/DebugInfo.java
@@ -160,7 +160,7 @@
                         int next = reader.readUbyte();
                         switch (next) {
                             case DebugItemType.END_SEQUENCE: {
-                                return null;
+                                return endOfData();
                             }
                             case DebugItemType.ADVANCE_PC: {
                                 int addressDiff = reader.readSmallUleb128();
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/util/VariableSizeLookaheadIterator.java b/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/util/VariableSizeLookaheadIterator.java
index d330094..1f4259f 100644
--- a/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/util/VariableSizeLookaheadIterator.java
+++ b/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/util/VariableSizeLookaheadIterator.java
@@ -31,46 +31,32 @@
 
 package org.jf.dexlib2.dexbacked.util;
 
+import com.google.common.collect.AbstractIterator;
 import org.jf.dexlib2.dexbacked.DexBackedDexFile;
 import org.jf.dexlib2.dexbacked.DexReader;
 
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 import java.util.Iterator;
-import java.util.NoSuchElementException;
 
-public abstract class VariableSizeLookaheadIterator<T> implements Iterator<T> {
+public abstract class VariableSizeLookaheadIterator<T> extends AbstractIterator<T> implements Iterator<T> {
     @Nonnull private final DexReader reader;
 
-    private T cachedItem = null;
-
     protected VariableSizeLookaheadIterator(@Nonnull DexBackedDexFile dexFile, int offset) {
         this.reader = dexFile.readerAt(offset);
-        cachedItem = readNextItem(reader);
     }
 
     /**
-     * Reads the next item from reader. If the end of the list has been reached, it should return null.
+     * Reads the next item from reader. If the end of the list has been reached, it should call endOfData.
      *
-     * @return The item that was read, or null if the end of the list has been reached.
+     * endOfData has a return value of T, so you can simply {@code return endOfData()}
+     *
+     * @return The item that was read. If endOfData was called, the return value is ignored.
      */
     @Nullable protected abstract T readNextItem(@Nonnull DexReader reader);
 
     @Override
-    public boolean hasNext() {
-        return cachedItem != null;
+    protected T computeNext() {
+        return readNextItem(reader);
     }
-
-    @Override
-    @Nonnull
-    public T next() {
-        if (cachedItem == null) {
-            throw new NoSuchElementException();
-        }
-        T ret = cachedItem;
-        cachedItem = readNextItem(reader);
-        return ret;
-    }
-
-    @Override public void remove() { throw new UnsupportedOperationException(); }
 }
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/iface/debug/DebugItem.java b/dexlib2/src/main/java/org/jf/dexlib2/iface/debug/DebugItem.java
index ea3f5ff..6cf4dbb 100644
--- a/dexlib2/src/main/java/org/jf/dexlib2/iface/debug/DebugItem.java
+++ b/dexlib2/src/main/java/org/jf/dexlib2/iface/debug/DebugItem.java
@@ -48,8 +48,7 @@
     int getDebugItemType();
 
     /**
-     * The code address
-     * @return
+     * @return The code address
      */
     int getCodeAddress();
 }
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/rewriter/AnnotationElementRewriter.java b/dexlib2/src/main/java/org/jf/dexlib2/rewriter/AnnotationElementRewriter.java
new file mode 100644
index 0000000..945f022
--- /dev/null
+++ b/dexlib2/src/main/java/org/jf/dexlib2/rewriter/AnnotationElementRewriter.java
@@ -0,0 +1,66 @@
+/*
+ * Copyright 2014, Google Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * 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.
+ *     * Neither the name of Google Inc. 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.
+ */
+
+package org.jf.dexlib2.rewriter;
+
+import org.jf.dexlib2.base.BaseAnnotationElement;
+import org.jf.dexlib2.iface.AnnotationElement;
+import org.jf.dexlib2.iface.value.EncodedValue;
+
+import javax.annotation.Nonnull;
+
+public class AnnotationElementRewriter implements Rewriter<AnnotationElement> {
+    @Nonnull protected final Rewriters rewriters;
+
+    public AnnotationElementRewriter(@Nonnull Rewriters rewriters) {
+        this.rewriters = rewriters;
+    }
+
+    @Nonnull @Override public AnnotationElement rewrite(@Nonnull AnnotationElement annotationElement) {
+        return new RewrittenAnnotationElement(annotationElement);
+    }
+
+    protected class RewrittenAnnotationElement extends BaseAnnotationElement {
+        @Nonnull protected AnnotationElement annotationElement;
+
+        public RewrittenAnnotationElement(@Nonnull AnnotationElement annotationElement) {
+            this.annotationElement = annotationElement;
+        }
+
+        @Nonnull @Override public String getName() {
+            return annotationElement.getName();
+        }
+
+        @Nonnull @Override public EncodedValue getValue() {
+            return rewriters.getEncodedValueRewriter().rewrite(annotationElement.getValue());
+        }
+    }
+}
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/rewriter/AnnotationRewriter.java b/dexlib2/src/main/java/org/jf/dexlib2/rewriter/AnnotationRewriter.java
new file mode 100644
index 0000000..725d2f2
--- /dev/null
+++ b/dexlib2/src/main/java/org/jf/dexlib2/rewriter/AnnotationRewriter.java
@@ -0,0 +1,71 @@
+/*
+ * Copyright 2014, Google Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * 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.
+ *     * Neither the name of Google Inc. 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.
+ */
+
+package org.jf.dexlib2.rewriter;
+
+import org.jf.dexlib2.base.BaseAnnotation;
+import org.jf.dexlib2.iface.Annotation;
+import org.jf.dexlib2.iface.AnnotationElement;
+
+import javax.annotation.Nonnull;
+import java.util.Set;
+
+public class AnnotationRewriter implements Rewriter<Annotation> {
+    @Nonnull protected final Rewriters rewriters;
+
+    public AnnotationRewriter(@Nonnull Rewriters rewriters) {
+        this.rewriters = rewriters;
+    }
+
+    @Nonnull @Override public Annotation rewrite(@Nonnull Annotation value) {
+        return new RewrittenAnnotation(value);
+    }
+
+    protected class RewrittenAnnotation extends BaseAnnotation {
+        @Nonnull protected Annotation annotation;
+
+        public RewrittenAnnotation(@Nonnull Annotation annotation) {
+            this.annotation = annotation;
+        }
+
+        @Override public int getVisibility() {
+            return annotation.getVisibility();
+        }
+
+        @Override @Nonnull public String getType() {
+            return rewriters.getTypeRewriter().rewrite(annotation.getType());
+        }
+
+        @Override @Nonnull public Set<? extends AnnotationElement> getElements() {
+            return RewriterUtils.rewriteSet(rewriters.getAnnotationElementRewriter(), annotation.getElements());
+        }
+    }
+}
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/rewriter/ClassDefRewriter.java b/dexlib2/src/main/java/org/jf/dexlib2/rewriter/ClassDefRewriter.java
new file mode 100644
index 0000000..ad246e5
--- /dev/null
+++ b/dexlib2/src/main/java/org/jf/dexlib2/rewriter/ClassDefRewriter.java
@@ -0,0 +1,128 @@
+/*
+ * Copyright 2014, Google Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * 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.
+ *     * Neither the name of Google Inc. 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.
+ */
+
+package org.jf.dexlib2.rewriter;
+
+import com.google.common.collect.Iterators;
+import org.jf.dexlib2.base.reference.BaseTypeReference;
+import org.jf.dexlib2.iface.Annotation;
+import org.jf.dexlib2.iface.ClassDef;
+import org.jf.dexlib2.iface.Field;
+import org.jf.dexlib2.iface.Method;
+
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+import java.util.Iterator;
+import java.util.Set;
+
+public class ClassDefRewriter implements Rewriter<ClassDef> {
+    @Nonnull protected final Rewriters rewriters;
+
+    public ClassDefRewriter(@Nonnull Rewriters rewriters) {
+        this.rewriters = rewriters;
+    }
+
+    @Nonnull @Override public ClassDef rewrite(@Nonnull ClassDef classDef) {
+        return new RewrittenClassDef(classDef);
+    }
+
+    protected class RewrittenClassDef extends BaseTypeReference implements ClassDef {
+        @Nonnull protected ClassDef classDef;
+
+        public RewrittenClassDef(@Nonnull ClassDef classdef) {
+            this.classDef = classdef;
+        }
+
+        @Override @Nonnull public String getType() {
+            return rewriters.getTypeRewriter().rewrite(classDef.getType());
+        }
+
+        @Override public int getAccessFlags() {
+            return classDef.getAccessFlags();
+        }
+
+        @Override @Nullable public String getSuperclass() {
+            return RewriterUtils.rewriteNullable(rewriters.getTypeRewriter(), classDef.getSuperclass());
+        }
+
+        @Override @Nonnull public Set<String> getInterfaces() {
+            return RewriterUtils.rewriteSet(rewriters.getTypeRewriter(), classDef.getInterfaces());
+        }
+
+        @Override @Nullable public String getSourceFile() {
+            return classDef.getSourceFile();
+        }
+
+        @Override @Nonnull public Set<? extends Annotation> getAnnotations() {
+            return RewriterUtils.rewriteSet(rewriters.getAnnotationRewriter(), classDef.getAnnotations());
+        }
+
+        @Override @Nonnull public Iterable<? extends Field> getStaticFields() {
+            return RewriterUtils.rewriteIterable(rewriters.getFieldRewriter(), classDef.getStaticFields());
+        }
+
+        @Override @Nonnull public Iterable<? extends Field> getInstanceFields() {
+            return RewriterUtils.rewriteIterable(rewriters.getFieldRewriter(), classDef.getInstanceFields());
+        }
+
+        @Nonnull
+        @Override
+        public Iterable<? extends Field> getFields() {
+            return new Iterable<Field>() {
+                @Nonnull
+                @Override
+                public Iterator<Field> iterator() {
+                    return Iterators.concat(getStaticFields().iterator(), getInstanceFields().iterator());
+                }
+            };
+        }
+
+        @Override @Nonnull public Iterable<? extends Method> getDirectMethods() {
+            return RewriterUtils.rewriteIterable(rewriters.getMethodRewriter(), classDef.getDirectMethods());
+        }
+
+        @Override @Nonnull public Iterable<? extends Method> getVirtualMethods() {
+            return RewriterUtils.rewriteIterable(rewriters.getMethodRewriter(), classDef.getVirtualMethods());
+        }
+
+        @Nonnull
+        @Override
+        public Iterable<? extends Method> getMethods() {
+            return new Iterable<Method>() {
+                @Nonnull
+                @Override
+                public Iterator<Method> iterator() {
+                    return Iterators.concat(getDirectMethods().iterator(), getVirtualMethods().iterator());
+                }
+            };
+        }
+    }
+}
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/rewriter/DebugItemRewriter.java b/dexlib2/src/main/java/org/jf/dexlib2/rewriter/DebugItemRewriter.java
new file mode 100644
index 0000000..4fc753a
--- /dev/null
+++ b/dexlib2/src/main/java/org/jf/dexlib2/rewriter/DebugItemRewriter.java
@@ -0,0 +1,137 @@
+/*
+ * Copyright 2014, Google Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * 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.
+ *     * Neither the name of Google Inc. 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.
+ */
+
+package org.jf.dexlib2.rewriter;
+
+import org.jf.dexlib2.DebugItemType;
+import org.jf.dexlib2.iface.debug.*;
+import org.jf.dexlib2.iface.reference.StringReference;
+import org.jf.dexlib2.iface.reference.TypeReference;
+
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+
+public class DebugItemRewriter implements Rewriter<DebugItem> {
+    @Nonnull protected final Rewriters rewriters;
+
+    public DebugItemRewriter(@Nonnull Rewriters rewriters) {
+        this.rewriters = rewriters;
+    }
+
+    @Nonnull @Override public DebugItem rewrite(@Nonnull DebugItem value) {
+        switch (value.getDebugItemType()) {
+            case DebugItemType.START_LOCAL:
+                return new RewrittenStartLocal((StartLocal)value);
+            case DebugItemType.END_LOCAL:
+                return new RewrittenEndLocal((EndLocal)value);
+            case DebugItemType.RESTART_LOCAL:
+                return new RewrittenRestartLocal((RestartLocal)value);
+            default:
+                return value;
+        }
+    }
+
+    protected class BaseRewrittenLocalInfoDebugItem<T extends DebugItem & LocalInfo> implements DebugItem, LocalInfo {
+        @Nonnull protected T debugItem;
+
+        public BaseRewrittenLocalInfoDebugItem (@Nonnull T debugItem) {
+            this.debugItem = debugItem;
+        }
+
+        @Override public int getDebugItemType() {
+            return debugItem.getDebugItemType();
+        }
+
+        @Override public int getCodeAddress() {
+            return debugItem.getCodeAddress();
+        }
+
+        @Override @Nullable public String getName() {
+            return debugItem.getName();
+        }
+
+        @Override @Nullable public String getType() {
+            return RewriterUtils.rewriteNullable(rewriters.getTypeRewriter(), debugItem.getType());
+        }
+
+        @Override @Nullable public String getSignature() {
+            return debugItem.getSignature();
+        }
+    }
+
+    protected class RewrittenStartLocal extends BaseRewrittenLocalInfoDebugItem<StartLocal> implements StartLocal {
+        public RewrittenStartLocal(@Nonnull StartLocal debugItem) {
+            super(debugItem);
+        }
+
+        @Override public int getRegister() {
+            return debugItem.getRegister();
+        }
+
+        @Override @Nullable public StringReference getNameReference() {
+            return debugItem.getNameReference();
+        }
+
+        @Override @Nullable public TypeReference getTypeReference() {
+            TypeReference typeReference = debugItem.getTypeReference();
+            if (typeReference == null) {
+                return null;
+            }
+
+            return RewriterUtils.rewriteTypeReference(rewriters.getTypeRewriter(), typeReference);
+        }
+
+        @Override @Nullable public StringReference getSignatureReference() {
+            return debugItem.getSignatureReference();
+        }
+    }
+
+    protected class RewrittenEndLocal extends BaseRewrittenLocalInfoDebugItem<EndLocal> implements EndLocal {
+        public RewrittenEndLocal(@Nonnull EndLocal instruction) {
+            super(instruction);
+        }
+
+        public int getRegister() {
+            return debugItem.getRegister();
+        }
+    }
+
+    protected class RewrittenRestartLocal extends BaseRewrittenLocalInfoDebugItem<RestartLocal>
+            implements RestartLocal {
+        public RewrittenRestartLocal(@Nonnull RestartLocal instruction) {
+            super(instruction);
+        }
+
+        public int getRegister() {
+            return debugItem.getRegister();
+        }
+    }
+}
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/rewriter/DexRewriter.java b/dexlib2/src/main/java/org/jf/dexlib2/rewriter/DexRewriter.java
new file mode 100644
index 0000000..e482cd0
--- /dev/null
+++ b/dexlib2/src/main/java/org/jf/dexlib2/rewriter/DexRewriter.java
@@ -0,0 +1,136 @@
+/*
+ * Copyright 2014, Google Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * 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.
+ *     * Neither the name of Google Inc. 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.
+ */
+
+package org.jf.dexlib2.rewriter;
+
+import org.jf.dexlib2.iface.*;
+import org.jf.dexlib2.iface.debug.DebugItem;
+import org.jf.dexlib2.iface.instruction.Instruction;
+import org.jf.dexlib2.iface.reference.FieldReference;
+import org.jf.dexlib2.iface.reference.MethodReference;
+import org.jf.dexlib2.iface.value.EncodedValue;
+
+import javax.annotation.Nonnull;
+import java.util.Set;
+
+/**
+ * Out-of-the box, this class does nothing except make a picture-perfect copy of a dex file.
+ *
+ * However, it provides many points where you can hook into this process and selectively modify
+ * the dex file. For example, If you want to rename all instances (including definitions and references)
+ * of the class Lorg/blah/MyBlah; to Lorg/blah/YourBlah;
+ *
+ * <pre>
+ * {@code
+ * DexRewriter rewriter = new DexRewriter(new RewriterModule() {
+ *     public Rewriter<String> getTypeRewriter(Rewriters rewriters) {
+ *         return new Rewriter<String>() {
+ *             public String rewrite(String value) {
+ *                 if (value.equals("Lorg/blah/MyBlah;")) {
+ *                     return "Lorg/blah/YourBlah;";
+ *                 }
+ *                 return value;
+ *             }
+ *         };
+ *     }
+ * });
+ * DexFile rewrittenDexFile = rewriter.rewriteDexFile(dexFile);
+ * }
+ * </pre>
+ */
+public class DexRewriter implements Rewriters {
+    private final Rewriter<ClassDef> classDefRewriter;
+    private final Rewriter<Field> fieldRewriter;
+    private final Rewriter<Method> methodRewriter;
+    private final Rewriter<MethodParameter> methodParameterRewriter;
+    private final Rewriter<MethodImplementation> methodImplementationRewriter;
+    private final Rewriter<Instruction> instructionRewriter;
+    private final Rewriter<TryBlock<? extends ExceptionHandler>> tryBlockRewriter;
+    private final Rewriter<ExceptionHandler> exceptionHandlerRewriter;
+    private final Rewriter<DebugItem> debugItemRewriter;
+    private final Rewriter<String> typeRewriter;
+    private final Rewriter<FieldReference> fieldReferenceRewriter;
+    private final Rewriter<MethodReference> methodReferenceRewriter;
+    private final Rewriter<Annotation> annotationRewriter;
+    private final Rewriter<AnnotationElement> annotationElementRewriter;
+    private final Rewriter<EncodedValue> encodedValueRewriter;
+
+    public DexRewriter(RewriterModule module) {
+        this.classDefRewriter = module.getClassDefRewriter(this);
+        this.fieldRewriter = module.getFieldRewriter(this);
+        this.methodRewriter = module.getMethodRewriter(this);
+        this.methodParameterRewriter = module.getMethodParameterRewriter(this);
+        this.methodImplementationRewriter = module.getMethodImplementationRewriter(this);
+        this.instructionRewriter = module.getInstructionRewriter(this);
+        this.tryBlockRewriter = module.getTryBlockRewriter(this);
+        this.exceptionHandlerRewriter = module.getExceptionHandlerRewriter(this);
+        this.debugItemRewriter = module.getDebugItemRewriter(this);
+        this.typeRewriter = module.getTypeRewriter(this);
+        this.fieldReferenceRewriter = module.getFieldReferenceRewriter(this);
+        this.methodReferenceRewriter = module.getMethodReferenceRewriter(this);
+        this.annotationRewriter = module.getAnnotationRewriter(this);
+        this.annotationElementRewriter = module.getAnnotationElementRewriter(this);
+        this.encodedValueRewriter = module.getEncodedValueRewriter(this);
+    }
+
+    @Nonnull
+    public DexFile rewriteDexFile(@Nonnull DexFile dexFile) {
+        return new RewrittenDexFile(dexFile);
+    }
+
+    protected class RewrittenDexFile implements DexFile {
+        @Nonnull protected final DexFile dexFile;
+
+        public RewrittenDexFile(@Nonnull DexFile dexFile) {
+            this.dexFile = dexFile;
+        }
+
+        @Override @Nonnull public Set<? extends ClassDef> getClasses() {
+            return RewriterUtils.rewriteSet(getClassDefRewriter(), dexFile.getClasses());
+        }
+    }
+
+    @Nonnull @Override public Rewriter<ClassDef> getClassDefRewriter() { return classDefRewriter; }
+    @Nonnull @Override public Rewriter<Field> getFieldRewriter() { return fieldRewriter; }
+    @Nonnull @Override public Rewriter<Method> getMethodRewriter() { return methodRewriter; }
+    @Nonnull @Override public Rewriter<MethodParameter> getMethodParameterRewriter() { return methodParameterRewriter; }
+    @Nonnull @Override public Rewriter<MethodImplementation> getMethodImplementationRewriter() { return methodImplementationRewriter; }
+    @Nonnull @Override public Rewriter<Instruction> getInstructionRewriter() { return instructionRewriter; }
+    @Nonnull @Override public Rewriter<TryBlock<? extends ExceptionHandler>> getTryBlockRewriter() { return tryBlockRewriter; }
+    @Nonnull @Override public Rewriter<ExceptionHandler> getExceptionHandlerRewriter() { return exceptionHandlerRewriter; }
+    @Nonnull @Override public Rewriter<DebugItem> getDebugItemRewriter() { return debugItemRewriter; }
+    @Nonnull @Override public Rewriter<String> getTypeRewriter() { return typeRewriter; }
+    @Nonnull @Override public Rewriter<FieldReference> getFieldReferenceRewriter() { return fieldReferenceRewriter; }
+    @Nonnull @Override public Rewriter<MethodReference> getMethodReferenceRewriter() { return methodReferenceRewriter; }
+    @Nonnull @Override public Rewriter<Annotation> getAnnotationRewriter() { return annotationRewriter; }
+    @Nonnull @Override public Rewriter<AnnotationElement> getAnnotationElementRewriter() { return annotationElementRewriter; }
+    @Nonnull @Override public Rewriter<EncodedValue> getEncodedValueRewriter() { return encodedValueRewriter; }
+}
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/rewriter/EncodedValueRewriter.java b/dexlib2/src/main/java/org/jf/dexlib2/rewriter/EncodedValueRewriter.java
new file mode 100644
index 0000000..9719dcd
--- /dev/null
+++ b/dexlib2/src/main/java/org/jf/dexlib2/rewriter/EncodedValueRewriter.java
@@ -0,0 +1,147 @@
+/*
+ * Copyright 2014, Google Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * 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.
+ *     * Neither the name of Google Inc. 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.
+ */
+
+package org.jf.dexlib2.rewriter;
+
+import org.jf.dexlib2.ValueType;
+import org.jf.dexlib2.base.value.*;
+import org.jf.dexlib2.iface.AnnotationElement;
+import org.jf.dexlib2.iface.reference.FieldReference;
+import org.jf.dexlib2.iface.reference.MethodReference;
+import org.jf.dexlib2.iface.value.*;
+
+import javax.annotation.Nonnull;
+import java.util.List;
+import java.util.Set;
+
+public class EncodedValueRewriter implements Rewriter<EncodedValue> {
+    @Nonnull protected final Rewriters rewriters;
+
+    public EncodedValueRewriter(@Nonnull Rewriters rewriters) {
+        this.rewriters = rewriters;
+    }
+
+    @Nonnull @Override public EncodedValue rewrite(@Nonnull EncodedValue encodedValue) {
+        switch (encodedValue.getValueType()) {
+            case ValueType.TYPE:
+                return new RewrittenTypeEncodedValue((TypeEncodedValue)encodedValue);
+            case ValueType.FIELD:
+                return new RewrittenFieldEncodedValue((FieldEncodedValue)encodedValue);
+            case ValueType.METHOD:
+                return new RewrittenMethodEncodedValue((MethodEncodedValue)encodedValue);
+            case ValueType.ENUM:
+                return new RewrittenEnumEncodedValue((EnumEncodedValue)encodedValue);
+            case ValueType.ARRAY:
+                return new RewrittenArrayEncodedValue((ArrayEncodedValue)encodedValue);
+            case ValueType.ANNOTATION:
+                return new RewrittenAnnotationEncodedValue((AnnotationEncodedValue)encodedValue);
+            default:
+                return encodedValue;
+        }
+    }
+
+    protected class RewrittenTypeEncodedValue extends BaseTypeEncodedValue {
+        @Nonnull protected TypeEncodedValue typeEncodedValue;
+
+        public RewrittenTypeEncodedValue(@Nonnull TypeEncodedValue typeEncodedValue) {
+            this.typeEncodedValue = typeEncodedValue;
+        }
+
+        @Override @Nonnull public String getValue() {
+            return rewriters.getTypeRewriter().rewrite(typeEncodedValue.getValue());
+        }
+    }
+
+    protected class RewrittenFieldEncodedValue extends BaseFieldEncodedValue {
+        @Nonnull protected FieldEncodedValue fieldEncodedValue;
+
+        public RewrittenFieldEncodedValue(@Nonnull FieldEncodedValue fieldEncodedValue) {
+            this.fieldEncodedValue = fieldEncodedValue;
+        }
+
+        @Override @Nonnull public FieldReference getValue() {
+            return rewriters.getFieldReferenceRewriter().rewrite(fieldEncodedValue.getValue());
+        }
+    }
+
+    protected class RewrittenEnumEncodedValue extends BaseEnumEncodedValue {
+        @Nonnull protected EnumEncodedValue enumEncodedValue;
+
+        public RewrittenEnumEncodedValue(@Nonnull EnumEncodedValue enumEncodedValue) {
+            this.enumEncodedValue = enumEncodedValue;
+        }
+
+        @Override @Nonnull public FieldReference getValue() {
+            return rewriters.getFieldReferenceRewriter().rewrite(enumEncodedValue.getValue());
+        }
+    }
+
+    protected class RewrittenMethodEncodedValue extends BaseMethodEncodedValue {
+        @Nonnull protected MethodEncodedValue methodEncodedValue;
+
+        public RewrittenMethodEncodedValue(@Nonnull MethodEncodedValue methodEncodedValue) {
+            this.methodEncodedValue = methodEncodedValue;
+        }
+
+        @Override @Nonnull public MethodReference getValue() {
+            return rewriters.getMethodReferenceRewriter().rewrite(methodEncodedValue.getValue());
+        }
+    }
+
+    protected class RewrittenArrayEncodedValue extends BaseArrayEncodedValue {
+        @Nonnull protected ArrayEncodedValue arrayEncodedValue;
+
+        public RewrittenArrayEncodedValue(@Nonnull ArrayEncodedValue arrayEncodedValue) {
+            this.arrayEncodedValue = arrayEncodedValue;
+        }
+
+        @Override @Nonnull public List<? extends EncodedValue> getValue() {
+            return RewriterUtils.rewriteList(EncodedValueRewriter.this, arrayEncodedValue.getValue());
+        }
+    }
+
+    protected class RewrittenAnnotationEncodedValue extends BaseAnnotationEncodedValue {
+        @Nonnull protected AnnotationEncodedValue annotationEncodedValue;
+
+        public RewrittenAnnotationEncodedValue(@Nonnull AnnotationEncodedValue annotationEncodedValue) {
+            this.annotationEncodedValue = annotationEncodedValue;
+        }
+
+        @Nonnull @Override public String getType() {
+            return rewriters.getTypeRewriter().rewrite(annotationEncodedValue.getType());
+        }
+
+        @Nonnull @Override public Set<? extends AnnotationElement> getElements() {
+            return RewriterUtils.rewriteSet(rewriters.getAnnotationElementRewriter(),
+                    annotationEncodedValue.getElements());
+        }
+    }
+}
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/rewriter/ExceptionHandlerRewriter.java b/dexlib2/src/main/java/org/jf/dexlib2/rewriter/ExceptionHandlerRewriter.java
new file mode 100644
index 0000000..51df68c
--- /dev/null
+++ b/dexlib2/src/main/java/org/jf/dexlib2/rewriter/ExceptionHandlerRewriter.java
@@ -0,0 +1,66 @@
+/*
+ * Copyright 2014, Google Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * 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.
+ *     * Neither the name of Google Inc. 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.
+ */
+
+package org.jf.dexlib2.rewriter;
+
+import org.jf.dexlib2.base.BaseExceptionHandler;
+import org.jf.dexlib2.iface.ExceptionHandler;
+
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+
+public class ExceptionHandlerRewriter implements Rewriter<ExceptionHandler> {
+    @Nonnull protected final Rewriters rewriters;
+
+    public ExceptionHandlerRewriter(@Nonnull Rewriters rewriters) {
+        this.rewriters = rewriters;
+    }
+
+    @Nonnull @Override public ExceptionHandler rewrite(@Nonnull ExceptionHandler value) {
+        return new RewrittenExceptionHandler(value);
+    }
+
+    protected class RewrittenExceptionHandler extends BaseExceptionHandler {
+        @Nonnull protected ExceptionHandler exceptionHandler;
+
+        public RewrittenExceptionHandler(@Nonnull ExceptionHandler exceptionHandler) {
+            this.exceptionHandler = exceptionHandler;
+        }
+
+        @Override @Nullable public String getExceptionType() {
+            return RewriterUtils.rewriteNullable(rewriters.getTypeRewriter(), exceptionHandler.getExceptionType());
+        }
+
+        @Override public int getHandlerCodeAddress() {
+            return exceptionHandler.getHandlerCodeAddress();
+        }
+    }
+}
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/rewriter/FieldReferenceRewriter.java b/dexlib2/src/main/java/org/jf/dexlib2/rewriter/FieldReferenceRewriter.java
new file mode 100644
index 0000000..41b5093
--- /dev/null
+++ b/dexlib2/src/main/java/org/jf/dexlib2/rewriter/FieldReferenceRewriter.java
@@ -0,0 +1,69 @@
+/*
+ * Copyright 2014, Google Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * 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.
+ *     * Neither the name of Google Inc. 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.
+ */
+
+package org.jf.dexlib2.rewriter;
+
+import org.jf.dexlib2.base.reference.BaseFieldReference;
+import org.jf.dexlib2.iface.reference.FieldReference;
+
+import javax.annotation.Nonnull;
+
+public class FieldReferenceRewriter implements Rewriter<FieldReference> {
+    @Nonnull protected final Rewriters rewriters;
+
+    public FieldReferenceRewriter(@Nonnull Rewriters rewriters) {
+        this.rewriters = rewriters;
+    }
+
+    @Nonnull @Override public FieldReference rewrite(@Nonnull FieldReference fieldReference) {
+        return new RewrittenFieldReference(fieldReference);
+    }
+
+    protected class RewrittenFieldReference extends BaseFieldReference {
+        @Nonnull protected FieldReference fieldReference;
+
+        public RewrittenFieldReference(@Nonnull FieldReference fieldReference) {
+            this.fieldReference = fieldReference;
+        }
+
+        @Override @Nonnull public String getDefiningClass() {
+            return rewriters.getTypeRewriter().rewrite(fieldReference.getDefiningClass());
+        }
+
+        @Override @Nonnull public String getName() {
+            return fieldReference.getName();
+        }
+
+        @Override @Nonnull public String getType() {
+            return rewriters.getTypeRewriter().rewrite(fieldReference.getType());
+        }
+    }
+}
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/rewriter/FieldRewriter.java b/dexlib2/src/main/java/org/jf/dexlib2/rewriter/FieldRewriter.java
new file mode 100644
index 0000000..1e5eb6d
--- /dev/null
+++ b/dexlib2/src/main/java/org/jf/dexlib2/rewriter/FieldRewriter.java
@@ -0,0 +1,85 @@
+/*
+ * Copyright 2014, Google Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * 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.
+ *     * Neither the name of Google Inc. 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.
+ */
+
+package org.jf.dexlib2.rewriter;
+
+import org.jf.dexlib2.base.reference.BaseFieldReference;
+import org.jf.dexlib2.iface.Annotation;
+import org.jf.dexlib2.iface.Field;
+import org.jf.dexlib2.iface.value.EncodedValue;
+
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+import java.util.Set;
+
+public class FieldRewriter implements Rewriter<Field> {
+    @Nonnull protected final Rewriters rewriters;
+
+    public FieldRewriter(@Nonnull Rewriters rewriters) {
+        this.rewriters = rewriters;
+    }
+
+    @Nonnull @Override public Field rewrite(@Nonnull Field field) {
+        return new RewrittenField(field);
+    }
+
+    protected class RewrittenField extends BaseFieldReference implements Field {
+        @Nonnull protected Field field;
+
+        public RewrittenField(@Nonnull Field field) {
+            this.field = field;
+        }
+
+        @Override @Nonnull public String getDefiningClass() {
+            return rewriters.getFieldReferenceRewriter().rewrite(field).getDefiningClass();
+        }
+
+        @Override @Nonnull public String getName() {
+            return rewriters.getFieldReferenceRewriter().rewrite(field).getName();
+        }
+
+        @Override @Nonnull public String getType() {
+            return rewriters.getFieldReferenceRewriter().rewrite(field).getType();
+        }
+
+        public int getAccessFlags() {
+            return field.getAccessFlags();
+        }
+
+        @Nullable public EncodedValue getInitialValue() {
+            return RewriterUtils.rewriteNullable(rewriters.getEncodedValueRewriter(), field.getInitialValue());
+        }
+
+        @Nonnull public Set<? extends Annotation> getAnnotations() {
+            return RewriterUtils.rewriteSet(rewriters.getAnnotationRewriter(), field.getAnnotations());
+        }
+    }
+}
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/rewriter/InstructionRewriter.java b/dexlib2/src/main/java/org/jf/dexlib2/rewriter/InstructionRewriter.java
new file mode 100644
index 0000000..c7da8ca
--- /dev/null
+++ b/dexlib2/src/main/java/org/jf/dexlib2/rewriter/InstructionRewriter.java
@@ -0,0 +1,205 @@
+/*
+ * Copyright 2014, Google Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * 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.
+ *     * Neither the name of Google Inc. 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.
+ */
+
+package org.jf.dexlib2.rewriter;
+
+import org.jf.dexlib2.Opcode;
+import org.jf.dexlib2.ReferenceType;
+import org.jf.dexlib2.iface.instruction.Instruction;
+import org.jf.dexlib2.iface.instruction.ReferenceInstruction;
+import org.jf.dexlib2.iface.instruction.formats.*;
+import org.jf.dexlib2.iface.reference.FieldReference;
+import org.jf.dexlib2.iface.reference.MethodReference;
+import org.jf.dexlib2.iface.reference.Reference;
+import org.jf.dexlib2.iface.reference.TypeReference;
+
+import javax.annotation.Nonnull;
+
+public class InstructionRewriter implements Rewriter<Instruction> {
+    @Nonnull protected final Rewriters rewriters;
+
+    public InstructionRewriter(@Nonnull Rewriters rewriters) {
+        this.rewriters = rewriters;
+    }
+
+    @Nonnull @Override public Instruction rewrite(@Nonnull Instruction instruction) {
+        if (instruction instanceof ReferenceInstruction) {
+            switch (instruction.getOpcode().format) {
+                case Format20bc:
+                    return new RewrittenInstruction20bc((Instruction20bc)instruction);
+                case Format21c:
+                    return new RewrittenInstruction21c((Instruction21c)instruction);
+                case Format22c:
+                    return new RewrittenInstruction22c((Instruction22c)instruction);
+                case Format31c:
+                    return new RewrittenInstruction31c((Instruction31c)instruction);
+                case Format35c:
+                    return new RewrittenInstruction35c((Instruction35c)instruction);
+                case Format3rc:
+                    return new RewrittenInstruction3rc((Instruction3rc)instruction);
+                default:
+                    throw new IllegalArgumentException();
+            }
+        }
+        return instruction;
+    }
+
+    protected class BaseRewrittenReferenceInstruction<T extends ReferenceInstruction>
+            implements ReferenceInstruction {
+        @Nonnull protected T instruction;
+
+        protected BaseRewrittenReferenceInstruction(@Nonnull T instruction) {
+            this.instruction = instruction;
+        }
+
+        @Override @Nonnull public Reference getReference() {
+            switch (getReferenceType()) {
+                case ReferenceType.TYPE:
+                    return RewriterUtils.rewriteTypeReference(rewriters.getTypeRewriter(),
+                            (TypeReference)instruction.getReference());
+                case ReferenceType.FIELD:
+                    return rewriters.getFieldReferenceRewriter().rewrite((FieldReference)instruction.getReference());
+                case ReferenceType.METHOD:
+                    return rewriters.getMethodReferenceRewriter().rewrite((MethodReference)instruction.getReference());
+                case ReferenceType.STRING:
+                    return instruction.getReference();
+                default:
+                    throw new IllegalArgumentException();
+            }
+        }
+
+        @Override public int getReferenceType() {
+            return instruction.getReferenceType();
+        }
+
+        @Override public Opcode getOpcode() {
+            return instruction.getOpcode();
+        }
+
+        @Override public int getCodeUnits() {
+            return instruction.getCodeUnits();
+        }
+    }
+
+    protected class RewrittenInstruction20bc extends BaseRewrittenReferenceInstruction<Instruction20bc>
+            implements Instruction20bc {
+        public RewrittenInstruction20bc(@Nonnull Instruction20bc instruction) {
+            super(instruction);
+        }
+
+        @Override public int getVerificationError() {
+            return instruction.getVerificationError();
+        }
+    }
+
+    protected class RewrittenInstruction21c extends BaseRewrittenReferenceInstruction<Instruction21c>
+            implements Instruction21c {
+        public RewrittenInstruction21c(@Nonnull Instruction21c instruction) {
+            super(instruction);
+        }
+
+        public int getRegisterA() {
+            return instruction.getRegisterA();
+        }
+    }
+
+    protected class RewrittenInstruction22c extends BaseRewrittenReferenceInstruction<Instruction22c>
+            implements Instruction22c {
+        public RewrittenInstruction22c(@Nonnull Instruction22c instruction) {
+            super(instruction);
+        }
+
+        public int getRegisterA() {
+            return instruction.getRegisterA();
+        }
+
+        public int getRegisterB() {
+            return instruction.getRegisterB();
+        }
+    }
+
+    protected class RewrittenInstruction31c extends BaseRewrittenReferenceInstruction<Instruction31c>
+            implements Instruction31c {
+        public RewrittenInstruction31c(@Nonnull Instruction31c instruction) {
+            super(instruction);
+        }
+
+        public int getRegisterA() {
+            return instruction.getRegisterA();
+        }
+    }
+
+    protected class RewrittenInstruction35c extends BaseRewrittenReferenceInstruction<Instruction35c>
+            implements Instruction35c {
+        public RewrittenInstruction35c(@Nonnull Instruction35c instruction) {
+            super(instruction);
+        }
+
+        public int getRegisterC() {
+            return instruction.getRegisterC();
+        }
+
+        public int getRegisterE() {
+            return instruction.getRegisterE();
+        }
+
+        public int getRegisterG() {
+            return instruction.getRegisterG();
+        }
+
+        public int getRegisterCount() {
+            return instruction.getRegisterCount();
+        }
+
+        public int getRegisterD() {
+            return instruction.getRegisterD();
+        }
+
+        public int getRegisterF() {
+            return instruction.getRegisterF();
+        }
+    }
+
+    protected class RewrittenInstruction3rc extends BaseRewrittenReferenceInstruction<Instruction3rc>
+            implements Instruction3rc {
+        public RewrittenInstruction3rc(@Nonnull Instruction3rc instruction) {
+            super(instruction);
+        }
+
+        public int getStartRegister() {
+            return instruction.getStartRegister();
+        }
+
+        public int getRegisterCount() {
+            return instruction.getRegisterCount();
+        }
+    }
+}
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/rewriter/MethodImplementationRewriter.java b/dexlib2/src/main/java/org/jf/dexlib2/rewriter/MethodImplementationRewriter.java
new file mode 100644
index 0000000..4c90e5a
--- /dev/null
+++ b/dexlib2/src/main/java/org/jf/dexlib2/rewriter/MethodImplementationRewriter.java
@@ -0,0 +1,80 @@
+/*
+ * Copyright 2014, Google Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * 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.
+ *     * Neither the name of Google Inc. 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.
+ */
+
+package org.jf.dexlib2.rewriter;
+
+import org.jf.dexlib2.iface.ExceptionHandler;
+import org.jf.dexlib2.iface.MethodImplementation;
+import org.jf.dexlib2.iface.TryBlock;
+import org.jf.dexlib2.iface.debug.DebugItem;
+import org.jf.dexlib2.iface.instruction.Instruction;
+
+import javax.annotation.Nonnull;
+import java.util.List;
+
+public class MethodImplementationRewriter implements Rewriter<MethodImplementation> {
+    @Nonnull protected final Rewriters rewriters;
+
+    public MethodImplementationRewriter(@Nonnull Rewriters rewriters) {
+        this.rewriters = rewriters;
+    }
+
+    @Nonnull @Override public MethodImplementation rewrite(@Nonnull MethodImplementation methodImplementation) {
+        return new RewrittenMethodImplementation(methodImplementation);
+    }
+
+    protected class RewrittenMethodImplementation implements MethodImplementation {
+        @Nonnull protected MethodImplementation methodImplementation;
+
+        public RewrittenMethodImplementation(@Nonnull MethodImplementation methodImplementation) {
+            this.methodImplementation = methodImplementation;
+        }
+
+        @Override public int getRegisterCount() {
+            return methodImplementation.getRegisterCount();
+        }
+
+        @Override @Nonnull public Iterable<? extends Instruction> getInstructions() {
+            return RewriterUtils.rewriteIterable(rewriters.getInstructionRewriter(),
+                    methodImplementation.getInstructions());
+        }
+
+        @Override @Nonnull public List<? extends TryBlock<? extends ExceptionHandler>> getTryBlocks() {
+            return RewriterUtils.rewriteList(rewriters.getTryBlockRewriter(),
+                    methodImplementation.getTryBlocks());
+        }
+
+        @Override @Nonnull public Iterable<? extends DebugItem> getDebugItems() {
+            return RewriterUtils.rewriteIterable(rewriters.getDebugItemRewriter(),
+                    methodImplementation.getDebugItems());
+        }
+    }
+}
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/rewriter/MethodParameterRewriter.java b/dexlib2/src/main/java/org/jf/dexlib2/rewriter/MethodParameterRewriter.java
new file mode 100644
index 0000000..1ddc380
--- /dev/null
+++ b/dexlib2/src/main/java/org/jf/dexlib2/rewriter/MethodParameterRewriter.java
@@ -0,0 +1,76 @@
+/*
+ * Copyright 2014, Google Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * 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.
+ *     * Neither the name of Google Inc. 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.
+ */
+
+package org.jf.dexlib2.rewriter;
+
+import org.jf.dexlib2.base.BaseMethodParameter;
+import org.jf.dexlib2.iface.Annotation;
+import org.jf.dexlib2.iface.MethodParameter;
+
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+import java.util.Set;
+
+public class MethodParameterRewriter implements Rewriter<MethodParameter> {
+    @Nonnull protected final Rewriters rewriters;
+
+    public MethodParameterRewriter(@Nonnull Rewriters rewriters) {
+        this.rewriters = rewriters;
+    }
+
+    @Nonnull @Override public MethodParameter rewrite(@Nonnull MethodParameter methodParameter) {
+        return new RewrittenMethodParameter(methodParameter);
+    }
+
+    protected class RewrittenMethodParameter extends BaseMethodParameter {
+        @Nonnull protected MethodParameter methodParameter;
+
+        public RewrittenMethodParameter(@Nonnull MethodParameter methodParameter) {
+            this.methodParameter = methodParameter;
+        }
+
+        @Override @Nonnull public String getType() {
+            return rewriters.getTypeRewriter().rewrite(methodParameter.getType());
+        }
+
+        @Override @Nonnull public Set<? extends Annotation> getAnnotations() {
+            return RewriterUtils.rewriteSet(rewriters.getAnnotationRewriter(), methodParameter.getAnnotations());
+        }
+
+        @Override @Nullable public String getName() {
+            return methodParameter.getName();
+        }
+
+        @Override @Nullable public String getSignature() {
+            return methodParameter.getSignature();
+        }
+    }
+}
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/rewriter/MethodReferenceRewriter.java b/dexlib2/src/main/java/org/jf/dexlib2/rewriter/MethodReferenceRewriter.java
new file mode 100644
index 0000000..83a9f9a
--- /dev/null
+++ b/dexlib2/src/main/java/org/jf/dexlib2/rewriter/MethodReferenceRewriter.java
@@ -0,0 +1,82 @@
+/*
+ * Copyright 2014, Google Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * 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.
+ *     * Neither the name of Google Inc. 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.
+ */
+
+package org.jf.dexlib2.rewriter;
+
+import com.google.common.base.Function;
+import com.google.common.collect.Lists;
+import org.jf.dexlib2.base.reference.BaseMethodReference;
+import org.jf.dexlib2.iface.reference.MethodReference;
+
+import javax.annotation.Nonnull;
+import java.util.List;
+
+public class MethodReferenceRewriter implements Rewriter<MethodReference> {
+    @Nonnull protected final Rewriters rewriters;
+
+    public MethodReferenceRewriter(@Nonnull Rewriters rewriters) {
+        this.rewriters = rewriters;
+    }
+
+    @Nonnull @Override public MethodReference rewrite(@Nonnull MethodReference methodReference) {
+        return new RewrittenMethodReference(methodReference);
+    }
+
+    protected class RewrittenMethodReference extends BaseMethodReference {
+        @Nonnull protected MethodReference methodReference;
+
+        public RewrittenMethodReference(@Nonnull MethodReference methodReference) {
+            this.methodReference = methodReference;
+        }
+
+        @Override @Nonnull public String getDefiningClass() {
+            return rewriters.getTypeRewriter().rewrite(methodReference.getDefiningClass());
+        }
+
+        @Override @Nonnull public String getName() {
+            return methodReference.getName();
+        }
+
+        @Override @Nonnull public List<? extends CharSequence> getParameterTypes() {
+            return RewriterUtils.rewriteList(rewriters.getTypeRewriter(),
+                    Lists.transform(methodReference.getParameterTypes(),
+                    new Function<CharSequence, String>() {
+                        @Nonnull @Override public String apply(CharSequence input) {
+                            return input.toString();
+                        }
+                    }));
+        }
+
+        @Override @Nonnull public String getReturnType() {
+            return rewriters.getTypeRewriter().rewrite(methodReference.getReturnType());
+        }
+    }
+}
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/rewriter/MethodRewriter.java b/dexlib2/src/main/java/org/jf/dexlib2/rewriter/MethodRewriter.java
new file mode 100644
index 0000000..01af6e2
--- /dev/null
+++ b/dexlib2/src/main/java/org/jf/dexlib2/rewriter/MethodRewriter.java
@@ -0,0 +1,100 @@
+/*
+ * Copyright 2014, Google Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * 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.
+ *     * Neither the name of Google Inc. 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.
+ */
+
+package org.jf.dexlib2.rewriter;
+
+import org.jf.dexlib2.base.reference.BaseMethodReference;
+import org.jf.dexlib2.iface.Annotation;
+import org.jf.dexlib2.iface.Method;
+import org.jf.dexlib2.iface.MethodImplementation;
+import org.jf.dexlib2.iface.MethodParameter;
+
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+import java.util.List;
+import java.util.Set;
+
+public class MethodRewriter implements Rewriter<Method> {
+    @Nonnull protected final Rewriters rewriters;
+
+    public MethodRewriter(@Nonnull Rewriters rewriters) {
+        this.rewriters = rewriters;
+    }
+
+    @Nonnull @Override public Method rewrite(@Nonnull Method value) {
+        return new RewrittenMethod(value);
+    }
+
+    protected class RewrittenMethod extends BaseMethodReference implements Method {
+        @Nonnull protected Method method;
+
+        public RewrittenMethod(@Nonnull Method method) {
+            this.method = method;
+        }
+
+        @Override @Nonnull public String getDefiningClass() {
+            return rewriters.getMethodReferenceRewriter().rewrite(method).getDefiningClass();
+        }
+
+        @Override @Nonnull public String getName() {
+            return rewriters.getMethodReferenceRewriter().rewrite(method).getName();
+        }
+
+        @Override @Nonnull public List<? extends CharSequence> getParameterTypes() {
+            return rewriters.getMethodReferenceRewriter().rewrite(method).getParameterTypes();
+        }
+
+        @Override @Nonnull public List<? extends MethodParameter> getParameters() {
+            // We can't use the MethodReferenceRewriter to rewrite the parameters, because we would lose
+            // parameter names and annotations. If a method rewrite involves changing parameters, it needs
+            // to be handled here as well as in the MethodReferenceRewriter
+
+            return RewriterUtils.rewriteList(rewriters.getMethodParameterRewriter(), method.getParameters());
+        }
+
+        @Override @Nonnull public String getReturnType() {
+            return rewriters.getMethodReferenceRewriter().rewrite(method).getReturnType();
+        }
+
+        @Override public int getAccessFlags() {
+            return method.getAccessFlags();
+        }
+
+        @Override @Nonnull public Set<? extends Annotation> getAnnotations() {
+            return RewriterUtils.rewriteSet(rewriters.getAnnotationRewriter(), method.getAnnotations());
+        }
+
+        @Override @Nullable public MethodImplementation getImplementation() {
+            return RewriterUtils.rewriteNullable(rewriters.getMethodImplementationRewriter(),
+                    method.getImplementation());
+        }
+    }
+}
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/rewriter/Rewriter.java b/dexlib2/src/main/java/org/jf/dexlib2/rewriter/Rewriter.java
new file mode 100644
index 0000000..6fc5334
--- /dev/null
+++ b/dexlib2/src/main/java/org/jf/dexlib2/rewriter/Rewriter.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright 2014, Google Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * 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.
+ *     * Neither the name of Google Inc. 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.
+ */
+
+package org.jf.dexlib2.rewriter;
+
+import javax.annotation.Nonnull;
+
+public interface Rewriter<T> {
+    @Nonnull
+    T rewrite(@Nonnull T value);
+}
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/rewriter/RewriterModule.java b/dexlib2/src/main/java/org/jf/dexlib2/rewriter/RewriterModule.java
new file mode 100644
index 0000000..2913a67
--- /dev/null
+++ b/dexlib2/src/main/java/org/jf/dexlib2/rewriter/RewriterModule.java
@@ -0,0 +1,103 @@
+/*
+ * Copyright 2014, Google Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * 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.
+ *     * Neither the name of Google Inc. 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.
+ */
+
+package org.jf.dexlib2.rewriter;
+
+import org.jf.dexlib2.iface.*;
+import org.jf.dexlib2.iface.debug.DebugItem;
+import org.jf.dexlib2.iface.instruction.Instruction;
+import org.jf.dexlib2.iface.reference.FieldReference;
+import org.jf.dexlib2.iface.reference.MethodReference;
+import org.jf.dexlib2.iface.value.EncodedValue;
+
+import javax.annotation.Nonnull;
+
+public class RewriterModule {
+    @Nonnull public Rewriter<ClassDef> getClassDefRewriter(@Nonnull Rewriters rewriters) {
+        return new ClassDefRewriter(rewriters);
+    }
+
+    @Nonnull public Rewriter<Field> getFieldRewriter(@Nonnull Rewriters rewriters) {
+        return new FieldRewriter(rewriters);
+    }
+
+    @Nonnull public Rewriter<Method> getMethodRewriter(@Nonnull Rewriters rewriters) {
+        return new MethodRewriter(rewriters);
+    }
+
+    @Nonnull public Rewriter<MethodParameter> getMethodParameterRewriter(@Nonnull Rewriters rewriters) {
+        return new MethodParameterRewriter(rewriters);
+    }
+
+    @Nonnull public Rewriter<MethodImplementation> getMethodImplementationRewriter(@Nonnull Rewriters rewriters) {
+        return new MethodImplementationRewriter(rewriters);
+    }
+
+    @Nonnull public Rewriter<Instruction> getInstructionRewriter(@Nonnull Rewriters rewriters) {
+        return new InstructionRewriter(rewriters);
+    }
+
+    @Nonnull public Rewriter<TryBlock<? extends ExceptionHandler>> getTryBlockRewriter(@Nonnull Rewriters rewriters) {
+        return new TryBlockRewriter(rewriters);
+    }
+
+    @Nonnull public Rewriter<ExceptionHandler> getExceptionHandlerRewriter(@Nonnull Rewriters rewriters) {
+        return new ExceptionHandlerRewriter(rewriters);
+    }
+
+    @Nonnull public Rewriter<DebugItem> getDebugItemRewriter(@Nonnull Rewriters rewriters) {
+        return new DebugItemRewriter(rewriters);
+    }
+
+    @Nonnull public Rewriter<String> getTypeRewriter(@Nonnull Rewriters rewriters) {
+        return new TypeRewriter();
+    }
+
+    @Nonnull public Rewriter<FieldReference> getFieldReferenceRewriter(@Nonnull Rewriters rewriters) {
+        return new FieldReferenceRewriter(rewriters);
+    }
+
+    @Nonnull public Rewriter<MethodReference> getMethodReferenceRewriter(@Nonnull Rewriters rewriters) {
+        return new MethodReferenceRewriter(rewriters);
+    }
+
+    @Nonnull public Rewriter<Annotation> getAnnotationRewriter(@Nonnull Rewriters rewriters) {
+        return new AnnotationRewriter(rewriters);
+    }
+
+    @Nonnull public Rewriter<AnnotationElement> getAnnotationElementRewriter(@Nonnull Rewriters rewriters) {
+        return new AnnotationElementRewriter(rewriters);
+    }
+
+    @Nonnull public Rewriter<EncodedValue> getEncodedValueRewriter(@Nonnull Rewriters rewriters) {
+        return new EncodedValueRewriter(rewriters);
+    }
+}
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/rewriter/RewriterUtils.java b/dexlib2/src/main/java/org/jf/dexlib2/rewriter/RewriterUtils.java
new file mode 100644
index 0000000..d08467a
--- /dev/null
+++ b/dexlib2/src/main/java/org/jf/dexlib2/rewriter/RewriterUtils.java
@@ -0,0 +1,118 @@
+/*
+ * Copyright 2014, Google Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * 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.
+ *     * Neither the name of Google Inc. 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.
+ */
+
+package org.jf.dexlib2.rewriter;
+
+import org.jf.dexlib2.base.reference.BaseTypeReference;
+import org.jf.dexlib2.iface.reference.TypeReference;
+
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+import java.util.*;
+
+public class RewriterUtils {
+    @Nullable
+    public static <T> T rewriteNullable(@Nonnull Rewriter<T> rewriter, @Nullable T value) {
+        return value==null?null:rewriter.rewrite(value);
+    }
+
+    public static <T> Set<T> rewriteSet(@Nonnull final Rewriter<T> rewriter,
+                                        @Nonnull final Set<? extends T> set) {
+        return new AbstractSet<T>() {
+            @Nonnull @Override public Iterator<T> iterator() {
+                final Iterator<? extends T> iterator = set.iterator();
+                return new Iterator<T>() {
+                    @Override public boolean hasNext() {
+                        return iterator.hasNext();
+                    }
+
+                    @Override public T next() {
+                        return rewriteNullable(rewriter, iterator.next());
+                    }
+
+                    @Override public void remove() {
+                        iterator.remove();
+                    }
+                };
+            }
+
+            @Override public int size() {
+                return set.size();
+            }
+        };
+    }
+
+    public static <T> List<T> rewriteList(@Nonnull final Rewriter<T> rewriter,
+                                        @Nonnull final List<? extends T> list) {
+        return new AbstractList<T>() {
+            @Override public T get(int i) {
+                return rewriteNullable(rewriter, list.get(i));
+            }
+
+            @Override public int size() {
+                return list.size();
+            }
+        };
+    }
+
+    public static <T> Iterable<T> rewriteIterable(@Nonnull final Rewriter<T> rewriter,
+                                                  @Nonnull final Iterable<? extends T> iterable) {
+        return new Iterable<T>() {
+            @Override public Iterator<T> iterator() {
+                final Iterator<? extends T> iterator = iterable.iterator();
+                return new Iterator<T>() {
+                    @Override public boolean hasNext() {
+                        return iterator.hasNext();
+                    }
+
+                    @Override public T next() {
+                        return rewriteNullable(rewriter, iterator.next());
+                    }
+
+                    @Override public void remove() {
+                        iterator.remove();
+                    }
+                };
+            }
+        };
+    }
+
+    public static TypeReference rewriteTypeReference(@Nonnull final Rewriter<String> typeRewriter,
+                                                     @Nonnull final TypeReference typeReference) {
+        return new BaseTypeReference() {
+            @Nonnull @Override public String getType() {
+                return typeRewriter.rewrite(typeReference.getType());
+            }
+        };
+    }
+}
+
+
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/rewriter/Rewriters.java b/dexlib2/src/main/java/org/jf/dexlib2/rewriter/Rewriters.java
new file mode 100644
index 0000000..97fd879
--- /dev/null
+++ b/dexlib2/src/main/java/org/jf/dexlib2/rewriter/Rewriters.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright 2014, Google Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * 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.
+ *     * Neither the name of Google Inc. 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.
+ */
+
+package org.jf.dexlib2.rewriter;
+
+import org.jf.dexlib2.iface.*;
+import org.jf.dexlib2.iface.debug.DebugItem;
+import org.jf.dexlib2.iface.instruction.Instruction;
+import org.jf.dexlib2.iface.reference.FieldReference;
+import org.jf.dexlib2.iface.reference.MethodReference;
+import org.jf.dexlib2.iface.value.EncodedValue;
+
+import javax.annotation.Nonnull;
+
+public interface Rewriters {
+    @Nonnull Rewriter<ClassDef> getClassDefRewriter();
+    @Nonnull Rewriter<Field> getFieldRewriter();
+
+    @Nonnull Rewriter<Method> getMethodRewriter();
+    @Nonnull Rewriter<MethodParameter> getMethodParameterRewriter();
+    @Nonnull Rewriter<MethodImplementation> getMethodImplementationRewriter();
+    @Nonnull Rewriter<Instruction> getInstructionRewriter();
+    @Nonnull Rewriter<TryBlock<? extends ExceptionHandler>> getTryBlockRewriter();
+    @Nonnull Rewriter<ExceptionHandler> getExceptionHandlerRewriter();
+    @Nonnull Rewriter<DebugItem> getDebugItemRewriter();
+
+    @Nonnull Rewriter<String> getTypeRewriter();
+    @Nonnull Rewriter<FieldReference> getFieldReferenceRewriter();
+    @Nonnull Rewriter<MethodReference> getMethodReferenceRewriter();
+
+    @Nonnull Rewriter<Annotation> getAnnotationRewriter();
+    @Nonnull Rewriter<AnnotationElement> getAnnotationElementRewriter();
+
+    @Nonnull Rewriter<EncodedValue> getEncodedValueRewriter();
+}
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/rewriter/TryBlockRewriter.java b/dexlib2/src/main/java/org/jf/dexlib2/rewriter/TryBlockRewriter.java
new file mode 100644
index 0000000..43fed10
--- /dev/null
+++ b/dexlib2/src/main/java/org/jf/dexlib2/rewriter/TryBlockRewriter.java
@@ -0,0 +1,72 @@
+/*
+ * Copyright 2014, Google Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * 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.
+ *     * Neither the name of Google Inc. 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.
+ */
+
+package org.jf.dexlib2.rewriter;
+
+import org.jf.dexlib2.base.BaseTryBlock;
+import org.jf.dexlib2.iface.ExceptionHandler;
+import org.jf.dexlib2.iface.TryBlock;
+
+import javax.annotation.Nonnull;
+import java.util.List;
+
+public class TryBlockRewriter implements Rewriter<TryBlock<? extends ExceptionHandler>> {
+    @Nonnull protected final Rewriters rewriters;
+
+    public TryBlockRewriter(@Nonnull Rewriters rewriters) {
+        this.rewriters = rewriters;
+    }
+
+    @Nonnull @Override public TryBlock<? extends ExceptionHandler> rewrite(
+            @Nonnull TryBlock<? extends ExceptionHandler> tryBlock) {
+        return new RewrittenTryBlock(tryBlock);
+    }
+
+    protected class RewrittenTryBlock extends BaseTryBlock<ExceptionHandler> {
+        @Nonnull protected TryBlock<? extends ExceptionHandler> tryBlock;
+
+        public RewrittenTryBlock(@Nonnull TryBlock<? extends ExceptionHandler> tryBlock) {
+            this.tryBlock = tryBlock;
+        }
+
+        @Override public int getStartCodeAddress() {
+            return tryBlock.getStartCodeAddress();
+        }
+
+        @Override public int getCodeUnitCount() {
+            return tryBlock.getCodeUnitCount();
+        }
+
+        @Override @Nonnull public List<? extends ExceptionHandler> getExceptionHandlers() {
+            return RewriterUtils.rewriteList(rewriters.getExceptionHandlerRewriter(), tryBlock.getExceptionHandlers());
+        }
+    }
+}
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/rewriter/TypeRewriter.java b/dexlib2/src/main/java/org/jf/dexlib2/rewriter/TypeRewriter.java
new file mode 100644
index 0000000..9731154
--- /dev/null
+++ b/dexlib2/src/main/java/org/jf/dexlib2/rewriter/TypeRewriter.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2014, Google Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * 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.
+ *     * Neither the name of Google Inc. 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.
+ */
+
+package org.jf.dexlib2.rewriter;
+
+import javax.annotation.Nonnull;
+
+public class TypeRewriter implements Rewriter<String> {
+    @Nonnull @Override public String rewrite(@Nonnull String value) {
+        return value;
+    }
+}
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/util/AnnotatedBytes.java b/dexlib2/src/main/java/org/jf/dexlib2/util/AnnotatedBytes.java
index c48bac2..5b4e3ee 100644
--- a/dexlib2/src/main/java/org/jf/dexlib2/util/AnnotatedBytes.java
+++ b/dexlib2/src/main/java/org/jf/dexlib2/util/AnnotatedBytes.java
@@ -268,8 +268,7 @@
     }
 
     /**
-     * Gets the width of the right side containing the annotations
-     * @return
+     * @return The width of the right side containing the annotations
      */
     public int getAnnotationWidth() {
         int leftWidth = 8 + (hexCols * 2) + (hexCols / 2);
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/util/ReferenceUtil.java b/dexlib2/src/main/java/org/jf/dexlib2/util/ReferenceUtil.java
index a81facf..81b042e 100644
--- a/dexlib2/src/main/java/org/jf/dexlib2/util/ReferenceUtil.java
+++ b/dexlib2/src/main/java/org/jf/dexlib2/util/ReferenceUtil.java
@@ -34,27 +34,22 @@
 import org.jf.dexlib2.iface.reference.*;
 import org.jf.util.StringUtils;
 
+import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 import java.io.IOException;
 import java.io.Writer;
 
 public final class ReferenceUtil {
-    public static String getShortMethodDescriptor(MethodReference methodReference) {
-        StringBuilder sb = new StringBuilder();
-        sb.append(methodReference.getName());
-        sb.append('(');
-        for (CharSequence paramType: methodReference.getParameterTypes()) {
-            sb.append(paramType);
-        }
-        sb.append(')');
-        sb.append(methodReference.getReturnType());
-        return sb.toString();
+    public static String getMethodDescriptor(MethodReference methodReference) {
+        return getMethodDescriptor(methodReference, false);
     }
 
-    public static String getMethodDescriptor(MethodReference methodReference) {
+    public static String getMethodDescriptor(MethodReference methodReference, boolean useImplicitReference) {
         StringBuilder sb = new StringBuilder();
-        sb.append(methodReference.getDefiningClass());
-        sb.append("->");
+        if (!useImplicitReference) {
+            sb.append(methodReference.getDefiningClass());
+            sb.append("->");
+        }
         sb.append(methodReference.getName());
         sb.append('(');
         for (CharSequence paramType: methodReference.getParameterTypes()) {
@@ -66,8 +61,15 @@
     }
 
     public static void writeMethodDescriptor(Writer writer, MethodReference methodReference) throws IOException {
-        writer.write(methodReference.getDefiningClass());
-        writer.write("->");
+        writeMethodDescriptor(writer, methodReference, false);
+    }
+
+    public static void writeMethodDescriptor(Writer writer, MethodReference methodReference,
+                                             boolean useImplicitReference) throws IOException {
+        if (!useImplicitReference) {
+            writer.write(methodReference.getDefiningClass());
+            writer.write("->");
+        }
         writer.write(methodReference.getName());
         writer.write('(');
         for (CharSequence paramType: methodReference.getParameterTypes()) {
@@ -78,9 +80,15 @@
     }
 
     public static String getFieldDescriptor(FieldReference fieldReference) {
+        return getFieldDescriptor(fieldReference, false);
+    }
+
+    public static String getFieldDescriptor(FieldReference fieldReference, boolean useImplicitReference) {
         StringBuilder sb = new StringBuilder();
-        sb.append(fieldReference.getDefiningClass());
-        sb.append("->");
+        if (!useImplicitReference) {
+            sb.append(fieldReference.getDefiningClass());
+            sb.append("->");
+        }
         sb.append(fieldReference.getName());
         sb.append(':');
         sb.append(fieldReference.getType());
@@ -96,15 +104,27 @@
     }
 
     public static void writeFieldDescriptor(Writer writer, FieldReference fieldReference) throws IOException {
-        writer.write(fieldReference.getDefiningClass());
-        writer.write("->");
+        writeFieldDescriptor(writer, fieldReference, false);
+    }
+
+    public static void writeFieldDescriptor(Writer writer, FieldReference fieldReference,
+                                            boolean implicitReference) throws IOException {
+        if (!implicitReference) {
+            writer.write(fieldReference.getDefiningClass());
+            writer.write("->");
+        }
         writer.write(fieldReference.getName());
         writer.write(':');
         writer.write(fieldReference.getType());
     }
 
     @Nullable
-    public static String getReferenceString(Reference reference) {
+    public static String getReferenceString(@Nonnull Reference reference) {
+        return getReferenceString(reference, null);
+    }
+
+    @Nullable
+    public static String getReferenceString(@Nonnull Reference reference, @Nullable String containingClass) {
         if (reference instanceof StringReference) {
             return String.format("\"%s\"", StringUtils.escapeString(((StringReference)reference).getString()));
         }
@@ -112,10 +132,14 @@
             return ((TypeReference)reference).getType();
         }
         if (reference instanceof FieldReference) {
-            return getFieldDescriptor((FieldReference)reference);
+            FieldReference fieldReference = (FieldReference)reference;
+            boolean useImplicitReference = fieldReference.getDefiningClass().equals(containingClass);
+            return getFieldDescriptor((FieldReference)reference, useImplicitReference);
         }
         if (reference instanceof MethodReference) {
-            return getMethodDescriptor((MethodReference)reference);
+            MethodReference methodReference = (MethodReference)reference;
+            boolean useImplicitReference = methodReference.getDefiningClass().equals(containingClass);
+            return getMethodDescriptor((MethodReference)reference, useImplicitReference);
         }
         return null;
     }
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/writer/DexWriter.java b/dexlib2/src/main/java/org/jf/dexlib2/writer/DexWriter.java
index fef2801..87a2ae6 100644
--- a/dexlib2/src/main/java/org/jf/dexlib2/writer/DexWriter.java
+++ b/dexlib2/src/main/java/org/jf/dexlib2/writer/DexWriter.java
@@ -31,11 +31,15 @@
 
 package org.jf.dexlib2.writer;
 
-import com.google.common.collect.*;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+import com.google.common.collect.Ordering;
 import org.jf.dexlib2.AccessFlags;
 import org.jf.dexlib2.Opcode;
 import org.jf.dexlib2.ReferenceType;
 import org.jf.dexlib2.base.BaseAnnotation;
+import org.jf.dexlib2.base.BaseAnnotationElement;
 import org.jf.dexlib2.builder.MutableMethodImplementation;
 import org.jf.dexlib2.builder.instruction.BuilderInstruction31c;
 import org.jf.dexlib2.dexbacked.raw.*;
@@ -48,7 +52,10 @@
 import org.jf.dexlib2.iface.instruction.OneRegisterInstruction;
 import org.jf.dexlib2.iface.instruction.ReferenceInstruction;
 import org.jf.dexlib2.iface.instruction.formats.*;
-import org.jf.dexlib2.iface.reference.*;
+import org.jf.dexlib2.iface.reference.FieldReference;
+import org.jf.dexlib2.iface.reference.MethodReference;
+import org.jf.dexlib2.iface.reference.StringReference;
+import org.jf.dexlib2.iface.reference.TypeReference;
 import org.jf.dexlib2.util.InstructionUtil;
 import org.jf.dexlib2.util.MethodUtil;
 import org.jf.dexlib2.writer.io.DeferredOutputStream;
@@ -81,7 +88,8 @@
         AnnotationKey extends Annotation, AnnotationSetKey,
         TypeListKey,
         FieldKey, MethodKey,
-        EncodedValue, AnnotationElement> {
+        EncodedValue,
+        AnnotationElement extends org.jf.dexlib2.iface.AnnotationElement> {
     public static final int NO_INDEX = -1;
     public static final int NO_OFFSET = 0;
 
@@ -552,7 +560,9 @@
             writer.writeUbyte(annotationSection.getVisibility(key));
             writer.writeUleb128(typeSection.getItemIndex(annotationSection.getType(key)));
 
-            Collection<? extends AnnotationElement> elements = annotationSection.getElements(key);
+            Collection<? extends AnnotationElement> elements = Ordering.from(BaseAnnotationElement.BY_NAME)
+                    .immutableSortedCopy(annotationSection.getElements(key));
+
             writer.writeUleb128(elements.size());
 
             for (AnnotationElement element: elements) {
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/writer/builder/BuilderClassDef.java b/dexlib2/src/main/java/org/jf/dexlib2/writer/builder/BuilderClassDef.java
index 46e75ce..f19a2e7 100644
--- a/dexlib2/src/main/java/org/jf/dexlib2/writer/builder/BuilderClassDef.java
+++ b/dexlib2/src/main/java/org/jf/dexlib2/writer/builder/BuilderClassDef.java
@@ -80,10 +80,14 @@
         this.interfaces = interfaces;
         this.sourceFile = sourceFile;
         this.annotations = annotations;
-        this.staticFields = ImmutableSortedSet.copyOf(Iterables.filter(fields, FieldUtil.FIELD_IS_STATIC));
-        this.instanceFields = ImmutableSortedSet.copyOf(Iterables.filter(fields, FieldUtil.FIELD_IS_INSTANCE));
-        this.directMethods = ImmutableSortedSet.copyOf(Iterables.filter(methods, MethodUtil.METHOD_IS_DIRECT));
-        this.virtualMethods = ImmutableSortedSet.copyOf(Iterables.filter(methods, MethodUtil.METHOD_IS_VIRTUAL));
+        this.staticFields = ImmutableSortedSet.copyOf(
+                (Iterable<? extends BuilderField>)Iterables.filter(fields, FieldUtil.FIELD_IS_STATIC));
+        this.instanceFields = ImmutableSortedSet.copyOf(
+                (Iterable<? extends BuilderField>)Iterables.filter(fields, FieldUtil.FIELD_IS_INSTANCE));
+        this.directMethods = ImmutableSortedSet.copyOf(
+                (Iterable<? extends BuilderMethod>)Iterables.filter(methods, MethodUtil.METHOD_IS_DIRECT));
+        this.virtualMethods = ImmutableSortedSet.copyOf(
+                (Iterable<? extends BuilderMethod>)Iterables.filter(methods, MethodUtil.METHOD_IS_VIRTUAL));
     }
 
     @Nonnull @Override public String getType() { return type.getType(); }
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/writer/builder/BuilderClassPool.java b/dexlib2/src/main/java/org/jf/dexlib2/writer/builder/BuilderClassPool.java
index 79dd642..8ab53db 100644
--- a/dexlib2/src/main/java/org/jf/dexlib2/writer/builder/BuilderClassPool.java
+++ b/dexlib2/src/main/java/org/jf/dexlib2/writer/builder/BuilderClassPool.java
@@ -417,6 +417,7 @@
                 SetSourceFile setSourceFile = (SetSourceFile)debugItem;
                 writer.writeSetSourceFile(setSourceFile.getCodeAddress(),
                         checkStringReference(setSourceFile.getSourceFileReference()));
+                break;
             }
             default:
                 throw new ExceptionWithContext("Unexpected debug item type: %d", debugItem.getDebugItemType());
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/writer/pool/ClassPool.java b/dexlib2/src/main/java/org/jf/dexlib2/writer/pool/ClassPool.java
index 2bafece..96eca2a 100644
--- a/dexlib2/src/main/java/org/jf/dexlib2/writer/pool/ClassPool.java
+++ b/dexlib2/src/main/java/org/jf/dexlib2/writer/pool/ClassPool.java
@@ -116,7 +116,7 @@
 
         HashSet<String> methods = new HashSet<String>();
         for (PoolMethod method: poolClassDef.getMethods()) {
-            String methodDescriptor = ReferenceUtil.getShortMethodDescriptor(method);
+            String methodDescriptor = ReferenceUtil.getMethodDescriptor(method, true);
             if (!methods.add(methodDescriptor)) {
                 throw new ExceptionWithContext("Multiple definitions for method %s->%s",
                         poolClassDef.getType(), methodDescriptor);
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/writer/pool/DexPool.java b/dexlib2/src/main/java/org/jf/dexlib2/writer/pool/DexPool.java
index 1febead..d7f6392 100644
--- a/dexlib2/src/main/java/org/jf/dexlib2/writer/pool/DexPool.java
+++ b/dexlib2/src/main/java/org/jf/dexlib2/writer/pool/DexPool.java
@@ -39,6 +39,7 @@
 import org.jf.dexlib2.iface.reference.*;
 import org.jf.dexlib2.iface.value.*;
 import org.jf.dexlib2.writer.DexWriter;
+import org.jf.dexlib2.writer.io.DexDataStore;
 import org.jf.dexlib2.writer.io.FileDataStore;
 import org.jf.dexlib2.writer.pool.ProtoPool.Key;
 import org.jf.util.ExceptionWithContext;
@@ -82,6 +83,14 @@
                 classPool, typeListPool, annotationPool, annotationSetPool);
     }
 
+    public static void writeTo(@Nonnull DexDataStore dataStore, @Nonnull org.jf.dexlib2.iface.DexFile input) throws IOException {
+        DexPool dexPool = makeDexPool();
+        for (ClassDef classDef: input.getClasses()) {
+            ((ClassPool)dexPool.classSection).intern(classDef);
+        }
+        dexPool.writeTo(dataStore);
+    }
+
     public static void writeTo(@Nonnull String path, @Nonnull org.jf.dexlib2.iface.DexFile input) throws IOException {
         DexPool dexPool = makeDexPool();
         for (ClassDef classDef: input.getClasses()) {
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/writer/util/TryListBuilder.java b/dexlib2/src/main/java/org/jf/dexlib2/writer/util/TryListBuilder.java
index eb70371..9a4c811 100644
--- a/dexlib2/src/main/java/org/jf/dexlib2/writer/util/TryListBuilder.java
+++ b/dexlib2/src/main/java/org/jf/dexlib2/writer/util/TryListBuilder.java
@@ -166,7 +166,6 @@
                 String existingType = existingHandler.getExceptionType();
                 String newType = handler.getExceptionType();
 
-                // Don't add it if we already have a handler of the same type
                 if (existingType == null) {
                     if (newType == null) {
                         if (existingHandler.getHandlerCodeAddress() != handler.getHandlerCodeAddress()) {
@@ -176,10 +175,9 @@
                         return;
                     }
                 } else if (existingType.equals(newType)) {
-                    if (existingHandler.getHandlerCodeAddress() != handler.getHandlerCodeAddress()) {
-                        throw new InvalidTryException(
-                                "Multiple overlapping catches for %s with different handlers", existingType);
-                    }
+                    // dalvik doesn't reject cases when there are multiple catches with the same exception
+                    // but different handlers. In practice, the first handler "wins". Since the later
+                    // handler will never be used, we don't add it.
                     return;
                 }
             }
diff --git a/dexlib2/src/test/java/org/jf/dexlib2/writer/DexWriterTest.java b/dexlib2/src/test/java/org/jf/dexlib2/writer/DexWriterTest.java
new file mode 100644
index 0000000..b2cc52d
--- /dev/null
+++ b/dexlib2/src/test/java/org/jf/dexlib2/writer/DexWriterTest.java
@@ -0,0 +1,90 @@
+/*
+ * Copyright 2014, Google Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * 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.
+ *     * Neither the name of Google Inc. 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.
+ */
+
+package org.jf.dexlib2.writer;
+
+import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
+import junit.framework.Assert;
+import org.jf.dexlib2.AnnotationVisibility;
+import org.jf.dexlib2.Opcodes;
+import org.jf.dexlib2.dexbacked.DexBackedDexFile;
+import org.jf.dexlib2.iface.Annotation;
+import org.jf.dexlib2.iface.AnnotationElement;
+import org.jf.dexlib2.iface.ClassDef;
+import org.jf.dexlib2.immutable.ImmutableAnnotation;
+import org.jf.dexlib2.immutable.ImmutableAnnotationElement;
+import org.jf.dexlib2.immutable.ImmutableClassDef;
+import org.jf.dexlib2.immutable.ImmutableDexFile;
+import org.jf.dexlib2.immutable.value.ImmutableNullEncodedValue;
+import org.jf.dexlib2.writer.io.MemoryDataStore;
+import org.jf.dexlib2.writer.pool.DexPool;
+import org.junit.Test;
+
+import java.io.IOException;
+import java.util.List;
+
+public class DexWriterTest {
+    @Test
+    public void testAnnotationElementOrder() {
+        // Elements are out of order wrt to the element name
+        ImmutableSet<ImmutableAnnotationElement> elements =
+                ImmutableSet.of(new ImmutableAnnotationElement("zabaglione", ImmutableNullEncodedValue.INSTANCE),
+                        new ImmutableAnnotationElement("blah", ImmutableNullEncodedValue.INSTANCE));
+
+        ImmutableAnnotation annotation = new ImmutableAnnotation(AnnotationVisibility.RUNTIME,
+                "Lorg/test/anno;", elements);
+
+        ImmutableClassDef classDef = new ImmutableClassDef("Lorg/test/blah;",
+                0, "Ljava/lang/Object;", null, null, ImmutableSet.of(annotation), null, null);
+
+        MemoryDataStore dataStore = new MemoryDataStore();
+
+        try {
+            DexPool.writeTo(dataStore, new ImmutableDexFile(ImmutableSet.of(classDef)));
+        } catch (IOException ex) {
+            throw new RuntimeException(ex);
+        }
+
+        DexBackedDexFile dexFile = new DexBackedDexFile(new Opcodes(15), dataStore.getData());
+        ClassDef dbClassDef = Iterables.getFirst(dexFile.getClasses(), null);
+        Assert.assertNotNull(dbClassDef);
+        Annotation dbAnnotation = Iterables.getFirst(dbClassDef.getAnnotations(), null);
+        Assert.assertNotNull(dbAnnotation);
+        List<AnnotationElement> dbElements = Lists.newArrayList(dbAnnotation.getElements());
+
+        // Ensure that the elements were written out in sorted order
+        Assert.assertEquals(2, dbElements.size());
+        Assert.assertEquals("blah", dbElements.get(0).getName());
+        Assert.assertEquals("zabaglione", dbElements.get(1).getName());
+    }
+}
diff --git a/dexlib2/src/test/java/org/jf/dexlib2/writer/util/TryListBuilderTest.java b/dexlib2/src/test/java/org/jf/dexlib2/writer/util/TryListBuilderTest.java
index 360b584..b02a512 100644
--- a/dexlib2/src/test/java/org/jf/dexlib2/writer/util/TryListBuilderTest.java
+++ b/dexlib2/src/test/java/org/jf/dexlib2/writer/util/TryListBuilderTest.java
@@ -449,12 +449,8 @@
         TryListBuilder tlb = new TryListBuilder();
 
         tlb.addHandler(5, 10, new ImmutableExceptionHandler("LException1;", 5));
-        try {
-            tlb.addHandler(0, 15, new ImmutableExceptionHandler("LException1;", 6));
-        } catch (TryListBuilder.InvalidTryException ex) {
-            return;
-        }
-        Assert.fail();
+        tlb.addHandler(0, 15, new ImmutableExceptionHandler("LException1;", 6));
+        // no exception should be thrown...
     }
 
     @Test
diff --git a/examples/AnnotationTypes/Main.smali b/examples/AnnotationTypes/Main.smali
index 293edc4..3cfcb1d 100644
--- a/examples/AnnotationTypes/Main.smali
+++ b/examples/AnnotationTypes/Main.smali
@@ -104,10 +104,10 @@
 .method public static testParameterAnnotation(Ljava/lang/String;)V
     .registers 6
 
-    .parameter
+    .param p0    # Ljava/lang/String;
         .annotation runtime LParameterAnnotation;
         .end annotation
-    .end parameter
+    .end param
 
 
     sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream;
diff --git a/examples/AnnotationValues/10.smali b/examples/AnnotationValues/10.smali
index 4460a01..2a382ec 100644
--- a/examples/AnnotationValues/10.smali
+++ b/examples/AnnotationValues/10.smali
@@ -2,5 +2,6 @@
 .super Ljava/lang/Object;
 
 .method public static 11()V
+    .registers 0
     return-void
 .end method
\ No newline at end of file
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
index 7b359d7..5838598 100644
--- a/gradle/wrapper/gradle-wrapper.jar
+++ b/gradle/wrapper/gradle-wrapper.jar
Binary files differ
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 246d242..3f70b06 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Thu Oct 10 20:27:27 PDT 2013
+#Sun Feb 02 12:47:14 PST 2014
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=http\://services.gradle.org/distributions/gradle-1.8-bin.zip
+distributionUrl=http\://services.gradle.org/distributions/gradle-1.10-bin.zip
diff --git a/gradlew b/gradlew
index 3851082..91a7e26 100755
--- a/gradlew
+++ b/gradlew
@@ -61,9 +61,9 @@
     fi
 done
 SAVED="`pwd`"
-cd "`dirname \"$PRG\"`/"
+cd "`dirname \"$PRG\"`/" >&-
 APP_HOME="`pwd -P`"
-cd "$SAVED"
+cd "$SAVED" >&-
 
 CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
 
diff --git a/smali/build.gradle b/smali/build.gradle
index 9c16db7..0f43d75 100644
--- a/smali/build.gradle
+++ b/smali/build.gradle
@@ -68,6 +68,7 @@
     compile project(':util')
     compile project(':dexlib2')
     compile depends.antlr_runtime
+    compile depends.stringtemplate
     compile depends.commons_cli
 
     testCompile depends.junit
@@ -170,15 +171,6 @@
     }
 }
 
-task sourcesJar(type: Jar) {
-    classifier = 'sources'
-    from sourceSets.main.allJava
-}
-
-artifacts {
-    archives sourcesJar
-}
-
 task proguard(type: JavaExec, dependsOn: fatJar) {
     def outFile = fatJar.destinationDir.getPath() + '/' + fatJar.baseName + '-' + fatJar.version + '-small' + '.' + fatJar.extension
     inputs.file fatJar.archivePath
diff --git a/smali/runantlr.sh b/smali/runantlr.sh
new file mode 100755
index 0000000..86cfdc1
--- /dev/null
+++ b/smali/runantlr.sh
@@ -0,0 +1,111 @@
+#!/bin/bash
+#
+# This script runs antlr3 generating java code based on .g (ANLTR3) files.
+# antlr3 tool itself can be downloaded by running the gradle build.
+#
+# The script can be run from anywhere (it does not depend on current working directory)
+# Set $ANTLR to overwrite antlr location, if desired
+#
+# After making any changes to the lexer, the update source file(s) generated by
+# this script should be checked in to the repository
+
+# Update when switching to a different version of antlr
+EXPECTED_ANTLR_VERSION_STR="ANTLR Parser Generator  Version 3.5"
+
+# Get the location of this script used to find locations of other things in the tree.
+SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
+
+# Point to the directory which contains the ANTLR jars.
+if [[ -z  "$ANTLR" ]]
+then
+  # Best effort to find it inside of the gradle cache
+  ANTLR="$(find $HOME/.gradle/caches/artifacts-* -name 'org.antlr' | head -n 1)"
+fi
+
+# Class that contains the static main function.
+ANTLR_MAIN="org.antlr.Tool"
+
+if ! [[ -d "$ANTLR" ]]; then
+  echo >&2 "ERROR: Could not find ANTLR jars directory"
+  exit 1
+fi
+
+# Build up the classpath by finding all the JARs
+ANTLR_JARS=""
+
+for jar_file_name in $(find "$ANTLR" -name '*.jar'); do
+  if ! [[ -z "$ANTLR_JARS" ]]; then
+    ANTLR_JARS+=":"
+  fi
+  ANTLR_JARS+="$jar_file_name"
+done
+
+if [[ -z "$ANTLR_JARS" ]]; then
+  echo >&2 "Could not find any JARs in the ANTLR directory"
+  echo >&2 "Is '"$ANTLR"' the correct path to the JARs?"
+  exit 1
+fi
+
+function run_antlr() {
+  CLASSPATH="$ANTLR_JARS" java 2>&1 "$ANTLR_MAIN" "$@"
+}
+
+ANTLR_VERSION="$(run_antlr -version)"
+
+if [[ -z "$ANTLR_VERSION" ]]
+then
+  echo >&2 "ERROR: Failed to execute antlr at \"$ANTLR\""
+  exit 1
+fi
+
+if [[ "$EXPECTED_ANTLR_VERSION_STR" != "$ANTLR_VERSION" ]]
+then
+  echo >&2 "ERROR: Wrong version of jflex: \"$ANTLR_VERSION\". Expected: \"$EXPECTED_ANTLR_VERSION_STR\""
+  exit 1
+fi
+
+
+function generate_file {
+  local JAVA_FILE="$1"
+  local G_FILE="$2"
+
+  if ! [[ -f "$JAVA_FILE" ]]; then
+    echo >&2 "ERROR: File \"$JAVA_FILE\" not found"
+    exit 1
+  fi
+
+  echo "Re-generating \"$JAVA_FILE\"..."
+
+  [[ -f "$JAVA_FILE" ]] && rm -f "$JAVA_FILE"
+
+  local JAVA_DIR="$(dirname "$JAVA_FILE")"
+  # Generate the java file from the antlr file
+  run_antlr -verbose -fo "$JAVA_DIR" "$G_FILE"
+
+  # delete trailing space from end of each line to make gerrit happy
+  sed 's/[ ]*$//' "$JAVA_FILE" > "$JAVA_FILE.tmp"
+  [[ -f "$JAVA_FILE" ]] && rm "$JAVA_FILE"
+  mv "$JAVA_FILE.tmp" "$JAVA_FILE"
+
+  echo "DONE"
+  echo ""
+  echo ""
+}
+
+function cleanup_tokens {
+  local JAVA_FILE="$1"
+
+  # delete the tokens file, they are not necessary to actually build from Android.mk
+  local TOKEN_FILE="${JAVA_FILE%%\.java}.tokens"
+  [[ -f "$TOKEN_FILE" ]] && rm "$TOKEN_FILE"
+}
+
+generate_file "$SCRIPT_DIR/src/main/java/org/jf/smali/smaliParser.java" "$SCRIPT_DIR/src/main/antlr3/smaliParser.g"
+generate_file "$SCRIPT_DIR/src/main/java/org/jf/smali/smaliTreeWalker.java" "$SCRIPT_DIR/src/main/antlr3/smaliTreeWalker.g"
+
+# Clean up the tokens, no longer necessary once the tree walker is generated
+cleanup_tokens "$SCRIPT_DIR/src/main/java/org/jf/smali/smaliParser.java"
+cleanup_tokens "$SCRIPT_DIR/src/main/java/org/jf/smali/smaliTreeWalker.java"
+
+# Uncomment to run interactively
+#run_antlr "$@"
diff --git a/smali/src/main/antlr3/smaliParser.g b/smali/src/main/antlr3/smaliParser.g
index 563cda3..d057b4a 100644
--- a/smali/src/main/antlr3/smaliParser.g
+++ b/smali/src/main/antlr3/smaliParser.g
@@ -41,17 +41,6 @@
   ARRAY_DATA_DIRECTIVE;
   ARRAY_DESCRIPTOR;
   ARROW;
-  BASE_ARRAY_DESCRIPTOR;
-  BASE_CHAR_LITERAL;
-  BASE_CLASS_DESCRIPTOR;
-  BASE_FLOAT;
-  BASE_FLOAT_OR_ID;
-  BASE_INTEGER;
-  BASE_PRIMITIVE_TYPE;
-  BASE_SIMPLE_NAME;
-  BASE_STRING_LITERAL;
-  BASE_TYPE;
-  BINARY_EXPONENT;
   BOOL_LITERAL;
   BYTE_LITERAL;
   CATCH_DIRECTIVE;
@@ -63,7 +52,6 @@
   CLOSE_PAREN;
   COLON;
   COMMA;
-  DECIMAL_EXPONENT;
   DOTDOT;
   DOUBLE_LITERAL;
   DOUBLE_LITERAL_OR_ID;
@@ -79,14 +67,10 @@
   ENUM_DIRECTIVE;
   EPILOGUE_DIRECTIVE;
   EQUAL;
-  ESCAPE_SEQUENCE;
   FIELD_DIRECTIVE;
   FIELD_OFFSET;
   FLOAT_LITERAL;
   FLOAT_LITERAL_OR_ID;
-  HEX_DIGIT;
-  HEX_DIGITS;
-  HEX_PREFIX;
   IMPLEMENTS_DIRECTIVE;
   INLINE_INDEX;
   INSTRUCTION_FORMAT10t;
@@ -133,7 +117,6 @@
   INSTRUCTION_FORMAT3rmi_METHOD;
   INSTRUCTION_FORMAT3rms_METHOD;
   INSTRUCTION_FORMAT51l;
-  INVALID_TOKEN;
   LINE_COMMENT;
   LINE_DIRECTIVE;
   LOCAL_DIRECTIVE;
@@ -146,8 +129,10 @@
   OPEN_BRACE;
   OPEN_PAREN;
   PACKED_SWITCH_DIRECTIVE;
-  PARAM_LIST;
-  PARAM_LIST_OR_ID;
+  PARAM_LIST_END;
+  PARAM_LIST_START;
+  PARAM_LIST_OR_ID_END;
+  PARAM_LIST_OR_ID_START;
   PARAMETER_DIRECTIVE;
   POSITIVE_INTEGER_LITERAL;
   PRIMITIVE_TYPE;
@@ -167,9 +152,9 @@
   VTABLE_INDEX;
   WHITE_SPACE;
 
-  //A couple of generated types that we remap other tokens to, to simplify the generated AST
-  LABEL;
+  // misc non-lexer tokens
   INTEGER_LITERAL;
+  INVALID_TOKEN;
 
   //I_* tokens are imaginary tokens used as parent AST nodes
   I_CLASS_DEF;
@@ -547,6 +532,9 @@
       $statements_and_directives::hasRegistersDirective=true;
     };
 
+param_list_or_id
+  : PARAM_LIST_OR_ID_START PRIMITIVE_TYPE+ PARAM_LIST_OR_ID_END;
+
 /*identifiers are much more general than most languages. Any of the below can either be
 the indicated type OR an identifier, depending on the context*/
 simple_name
@@ -560,7 +548,7 @@
   | BOOL_LITERAL -> SIMPLE_NAME[$BOOL_LITERAL]
   | NULL_LITERAL -> SIMPLE_NAME[$NULL_LITERAL]
   | REGISTER -> SIMPLE_NAME[$REGISTER]
-  | PARAM_LIST_OR_ID -> SIMPLE_NAME[$PARAM_LIST_OR_ID]
+  | param_list_or_id -> { adaptor.create(SIMPLE_NAME, $param_list_or_id.text) }
   | PRIMITIVE_TYPE -> SIMPLE_NAME[$PRIMITIVE_TYPE]
   | VOID_TYPE -> SIMPLE_NAME[$VOID_TYPE]
   | ANNOTATION_VISIBILITY -> SIMPLE_NAME[$ANNOTATION_VISIBILITY]
@@ -599,8 +587,8 @@
     -> ^(I_METHOD_PROTOTYPE[$start, "I_METHOD_PROTOTYPE"] ^(I_METHOD_RETURN_TYPE type_descriptor) param_list?);
 
 param_list
-  : PARAM_LIST -> { parseParamList((CommonToken)$PARAM_LIST) }
-  | PARAM_LIST_OR_ID -> { parseParamList((CommonToken)$PARAM_LIST_OR_ID) }
+  : PARAM_LIST_START nonvoid_type_descriptor* PARAM_LIST_END -> nonvoid_type_descriptor*
+  | PARAM_LIST_OR_ID_START PRIMITIVE_TYPE* PARAM_LIST_OR_ID_END -> PRIMITIVE_TYPE*
   | nonvoid_type_descriptor*;
 
 type_descriptor
@@ -698,22 +686,21 @@
 
 type_field_method_literal
   : reference_type_descriptor
-    ( ARROW
-      ( member_name COLON nonvoid_type_descriptor -> ^(I_ENCODED_FIELD reference_type_descriptor member_name nonvoid_type_descriptor)
-      | member_name method_prototype -> ^(I_ENCODED_METHOD reference_type_descriptor member_name method_prototype)
+  | ( (reference_type_descriptor ARROW)?
+      ( member_name COLON nonvoid_type_descriptor -> ^(I_ENCODED_FIELD reference_type_descriptor? member_name nonvoid_type_descriptor)
+      | member_name method_prototype -> ^(I_ENCODED_METHOD reference_type_descriptor? member_name method_prototype)
       )
-    | -> reference_type_descriptor
     )
   | PRIMITIVE_TYPE
   | VOID_TYPE;
 
-fully_qualified_method
-  : reference_type_descriptor ARROW member_name method_prototype
-  -> reference_type_descriptor member_name method_prototype;
+method_reference
+  : (reference_type_descriptor ARROW)? member_name method_prototype
+  -> reference_type_descriptor? member_name method_prototype;
 
-fully_qualified_field
-  : reference_type_descriptor ARROW member_name COLON nonvoid_type_descriptor
-  -> reference_type_descriptor member_name nonvoid_type_descriptor;
+field_reference
+  : (reference_type_descriptor ARROW)? member_name COLON nonvoid_type_descriptor
+  -> reference_type_descriptor? member_name nonvoid_type_descriptor;
 
 label
   : COLON simple_name -> ^(I_LABEL[$COLON, "I_LABEL"] simple_name);
@@ -729,7 +716,7 @@
   : (startreg=REGISTER (DOTDOT endreg=REGISTER)?)? -> ^(I_REGISTER_RANGE[$start, "I_REGISTER_RANGE"] $startreg? $endreg?);
 
 verification_error_reference
-  : CLASS_DESCRIPTOR | fully_qualified_field | fully_qualified_method;
+  : CLASS_DESCRIPTOR | field_reference | method_reference;
 
 catch_directive
   : CATCH_DIRECTIVE nonvoid_type_descriptor OPEN_BRACE from=label_ref DOTDOT to=label_ref CLOSE_BRACE using=label_ref
@@ -902,18 +889,18 @@
 
 insn_format21c_field
   : //e.g. sget-object v0, java/lang/System/out LJava/io/PrintStream;
-    INSTRUCTION_FORMAT21c_FIELD REGISTER COMMA fully_qualified_field
-    -> ^(I_STATEMENT_FORMAT21c_FIELD[$start, "I_STATEMENT_FORMAT21c_FIELD"] INSTRUCTION_FORMAT21c_FIELD REGISTER fully_qualified_field);
+    INSTRUCTION_FORMAT21c_FIELD REGISTER COMMA field_reference
+    -> ^(I_STATEMENT_FORMAT21c_FIELD[$start, "I_STATEMENT_FORMAT21c_FIELD"] INSTRUCTION_FORMAT21c_FIELD REGISTER field_reference);
 
 insn_format21c_field_odex
   : //e.g. sget-object-volatile v0, java/lang/System/out LJava/io/PrintStream;
-    INSTRUCTION_FORMAT21c_FIELD_ODEX REGISTER COMMA fully_qualified_field
+    INSTRUCTION_FORMAT21c_FIELD_ODEX REGISTER COMMA field_reference
     {
       if (!allowOdex || opcodes.getOpcodeByName($INSTRUCTION_FORMAT21c_FIELD_ODEX.text) == null || apiLevel >= 14) {
         throwOdexedInstructionException(input, $INSTRUCTION_FORMAT21c_FIELD_ODEX.text);
       }
     }
-    -> ^(I_STATEMENT_FORMAT21c_FIELD[$start, "I_STATEMENT_FORMAT21c_FIELD"] INSTRUCTION_FORMAT21c_FIELD_ODEX REGISTER fully_qualified_field);
+    -> ^(I_STATEMENT_FORMAT21c_FIELD[$start, "I_STATEMENT_FORMAT21c_FIELD"] INSTRUCTION_FORMAT21c_FIELD_ODEX REGISTER field_reference);
 
 insn_format21c_string
   : //e.g. const-string v1, "Hello World!"
@@ -952,18 +939,18 @@
 
 insn_format22c_field
   : //e.g. iput-object v1, v0 org/jf/HelloWorld2/HelloWorld2.helloWorld Ljava/lang/String;
-    INSTRUCTION_FORMAT22c_FIELD REGISTER COMMA REGISTER COMMA fully_qualified_field
-    -> ^(I_STATEMENT_FORMAT22c_FIELD[$start, "I_STATEMENT_FORMAT22c_FIELD"] INSTRUCTION_FORMAT22c_FIELD REGISTER REGISTER fully_qualified_field);
+    INSTRUCTION_FORMAT22c_FIELD REGISTER COMMA REGISTER COMMA field_reference
+    -> ^(I_STATEMENT_FORMAT22c_FIELD[$start, "I_STATEMENT_FORMAT22c_FIELD"] INSTRUCTION_FORMAT22c_FIELD REGISTER REGISTER field_reference);
 
 insn_format22c_field_odex
   : //e.g. iput-object-volatile v1, v0 org/jf/HelloWorld2/HelloWorld2.helloWorld Ljava/lang/String;
-    INSTRUCTION_FORMAT22c_FIELD_ODEX REGISTER COMMA REGISTER COMMA fully_qualified_field
+    INSTRUCTION_FORMAT22c_FIELD_ODEX REGISTER COMMA REGISTER COMMA field_reference
     {
       if (!allowOdex || opcodes.getOpcodeByName($INSTRUCTION_FORMAT22c_FIELD_ODEX.text) == null || apiLevel >= 14) {
         throwOdexedInstructionException(input, $INSTRUCTION_FORMAT22c_FIELD_ODEX.text);
       }
     }
-    -> ^(I_STATEMENT_FORMAT22c_FIELD[$start, "I_STATEMENT_FORMAT22c_FIELD"] INSTRUCTION_FORMAT22c_FIELD_ODEX REGISTER REGISTER fully_qualified_field);
+    -> ^(I_STATEMENT_FORMAT22c_FIELD[$start, "I_STATEMENT_FORMAT22c_FIELD"] INSTRUCTION_FORMAT22c_FIELD_ODEX REGISTER REGISTER field_reference);
 
 insn_format22c_type
   : //e.g. instance-of v0, v1, Ljava/lang/String;
@@ -1024,8 +1011,8 @@
 
 insn_format35c_method
   : //e.g. invoke-virtual {v0,v1} java/io/PrintStream/print(Ljava/lang/Stream;)V
-    INSTRUCTION_FORMAT35c_METHOD OPEN_BRACE register_list CLOSE_BRACE COMMA fully_qualified_method
-    -> ^(I_STATEMENT_FORMAT35c_METHOD[$start, "I_STATEMENT_FORMAT35c_METHOD"] INSTRUCTION_FORMAT35c_METHOD register_list fully_qualified_method);
+    INSTRUCTION_FORMAT35c_METHOD OPEN_BRACE register_list CLOSE_BRACE COMMA method_reference
+    -> ^(I_STATEMENT_FORMAT35c_METHOD[$start, "I_STATEMENT_FORMAT35c_METHOD"] INSTRUCTION_FORMAT35c_METHOD register_list method_reference);
 
 insn_format35c_type
   : //e.g. filled-new-array {v0,v1}, I
@@ -1034,7 +1021,7 @@
 
 insn_format35c_method_odex
   : //e.g. invoke-direct {p0}, Ljava/lang/Object;-><init>()V
-    INSTRUCTION_FORMAT35c_METHOD_ODEX OPEN_BRACE register_list CLOSE_BRACE COMMA fully_qualified_method
+    INSTRUCTION_FORMAT35c_METHOD_ODEX OPEN_BRACE register_list CLOSE_BRACE COMMA method_reference
     {
       throwOdexedInstructionException(input, $INSTRUCTION_FORMAT35c_METHOD_ODEX.text);
     };
@@ -1055,12 +1042,12 @@
 
 insn_format3rc_method
   : //e.g. invoke-virtual/range {v25..v26}, java/lang/StringBuilder/append(Ljava/lang/String;)Ljava/lang/StringBuilder;
-    INSTRUCTION_FORMAT3rc_METHOD OPEN_BRACE register_range CLOSE_BRACE COMMA fully_qualified_method
-    -> ^(I_STATEMENT_FORMAT3rc_METHOD[$start, "I_STATEMENT_FORMAT3rc_METHOD"] INSTRUCTION_FORMAT3rc_METHOD register_range fully_qualified_method);
+    INSTRUCTION_FORMAT3rc_METHOD OPEN_BRACE register_range CLOSE_BRACE COMMA method_reference
+    -> ^(I_STATEMENT_FORMAT3rc_METHOD[$start, "I_STATEMENT_FORMAT3rc_METHOD"] INSTRUCTION_FORMAT3rc_METHOD register_range method_reference);
 
 insn_format3rc_method_odex
   : //e.g. invoke-object-init/range {p0}, Ljava/lang/Object;-><init>()V
-    INSTRUCTION_FORMAT3rc_METHOD_ODEX OPEN_BRACE register_list CLOSE_BRACE COMMA fully_qualified_method
+    INSTRUCTION_FORMAT3rc_METHOD_ODEX OPEN_BRACE register_list CLOSE_BRACE COMMA method_reference
     {
       throwOdexedInstructionException(input, $INSTRUCTION_FORMAT3rc_METHOD_ODEX.text);
     };
diff --git a/smali/src/main/antlr3/smaliTreeWalker.g b/smali/src/main/antlr3/smaliTreeWalker.g
index 89eaf4a..f49f10e 100644
--- a/smali/src/main/antlr3/smaliTreeWalker.g
+++ b/smali/src/main/antlr3/smaliTreeWalker.g
@@ -465,10 +465,10 @@
   };
 
 method_prototype returns[List<String> parameters, String returnType]
-  : ^(I_METHOD_PROTOTYPE ^(I_METHOD_RETURN_TYPE type_descriptor) field_type_list)
+  : ^(I_METHOD_PROTOTYPE ^(I_METHOD_RETURN_TYPE type_descriptor) method_type_list)
   {
     $returnType = $type_descriptor.type;
-    $parameters = $field_type_list.types;
+    $parameters = $method_type_list.types;
   };
 
 method_name_and_prototype returns[String name, List<SmaliMethodParameter> parameters, String returnType]
@@ -488,7 +488,7 @@
     $returnType = $method_prototype.returnType;
   };
 
-field_type_list returns[List<String> types]
+method_type_list returns[List<String> types]
   @init
   {
     $types = Lists.newArrayList();
@@ -501,17 +501,29 @@
     )*;
 
 
-fully_qualified_method returns[ImmutableMethodReference methodReference]
-  : reference_type_descriptor SIMPLE_NAME method_prototype
+method_reference returns[ImmutableMethodReference methodReference]
+  : reference_type_descriptor? SIMPLE_NAME method_prototype
   {
-    $methodReference = new ImmutableMethodReference($reference_type_descriptor.type, $SIMPLE_NAME.text,
+    String type;
+    if ($reference_type_descriptor.type == null) {
+        type = classType;
+    } else {
+        type = $reference_type_descriptor.type;
+    }
+    $methodReference = new ImmutableMethodReference(type, $SIMPLE_NAME.text,
              $method_prototype.parameters, $method_prototype.returnType);
   };
 
-fully_qualified_field returns[ImmutableFieldReference fieldReference]
-  : reference_type_descriptor SIMPLE_NAME nonvoid_type_descriptor
+field_reference returns[ImmutableFieldReference fieldReference]
+  : reference_type_descriptor? SIMPLE_NAME nonvoid_type_descriptor
   {
-    $fieldReference = new ImmutableFieldReference($reference_type_descriptor.type, $SIMPLE_NAME.text,
+    String type;
+    if ($reference_type_descriptor.type == null) {
+        type = classType;
+    } else {
+        type = $reference_type_descriptor.type;
+    }
+    $fieldReference = new ImmutableFieldReference(type, $SIMPLE_NAME.text,
             $nonvoid_type_descriptor.type);
   };
 
@@ -688,13 +700,13 @@
   {
     $reference = new ImmutableTypeReference($CLASS_DESCRIPTOR.text);
   }
-  | fully_qualified_field
+  | field_reference
   {
-    $reference = $fully_qualified_field.fieldReference;
+    $reference = $field_reference.fieldReference;
   }
-  | fully_qualified_method
+  | method_reference
   {
-    $reference = $fully_qualified_method.methodReference;
+    $reference = $method_reference.methodReference;
   };
 
 verification_error_type returns[int verificationError]
@@ -816,12 +828,12 @@
 
 insn_format21c_field
   : //e.g. sget_object v0, java/lang/System/out LJava/io/PrintStream;
-    ^(I_STATEMENT_FORMAT21c_FIELD inst=(INSTRUCTION_FORMAT21c_FIELD | INSTRUCTION_FORMAT21c_FIELD_ODEX) REGISTER fully_qualified_field)
+    ^(I_STATEMENT_FORMAT21c_FIELD inst=(INSTRUCTION_FORMAT21c_FIELD | INSTRUCTION_FORMAT21c_FIELD_ODEX) REGISTER field_reference)
     {
       Opcode opcode = opcodes.getOpcodeByName($inst.text);
       short regA = parseRegister_byte($REGISTER.text);
 
-      ImmutableFieldReference fieldReference = $fully_qualified_field.fieldReference;
+      ImmutableFieldReference fieldReference = $field_reference.fieldReference;
 
       $method::methodBuilder.addInstruction(new BuilderInstruction21c(opcode, regA,
               dexBuilder.internFieldReference(fieldReference)));
@@ -911,13 +923,13 @@
 
 insn_format22c_field
   : //e.g. iput-object v1, v0, org/jf/HelloWorld2/HelloWorld2.helloWorld Ljava/lang/String;
-    ^(I_STATEMENT_FORMAT22c_FIELD inst=(INSTRUCTION_FORMAT22c_FIELD | INSTRUCTION_FORMAT22c_FIELD_ODEX) registerA=REGISTER registerB=REGISTER fully_qualified_field)
+    ^(I_STATEMENT_FORMAT22c_FIELD inst=(INSTRUCTION_FORMAT22c_FIELD | INSTRUCTION_FORMAT22c_FIELD_ODEX) registerA=REGISTER registerB=REGISTER field_reference)
     {
       Opcode opcode = opcodes.getOpcodeByName($inst.text);
       byte regA = parseRegister_nibble($registerA.text);
       byte regB = parseRegister_nibble($registerB.text);
 
-      ImmutableFieldReference fieldReference = $fully_qualified_field.fieldReference;
+      ImmutableFieldReference fieldReference = $field_reference.fieldReference;
 
       $method::methodBuilder.addInstruction(new BuilderInstruction22c(opcode, regA, regB,
               dexBuilder.internFieldReference(fieldReference)));
@@ -1038,7 +1050,7 @@
 
 insn_format35c_method
   : //e.g. invoke-virtual {v0,v1} java/io/PrintStream/print(Ljava/lang/Stream;)V
-    ^(I_STATEMENT_FORMAT35c_METHOD INSTRUCTION_FORMAT35c_METHOD register_list fully_qualified_method)
+    ^(I_STATEMENT_FORMAT35c_METHOD INSTRUCTION_FORMAT35c_METHOD register_list method_reference)
     {
       Opcode opcode = opcodes.getOpcodeByName($INSTRUCTION_FORMAT35c_METHOD.text);
 
@@ -1046,7 +1058,7 @@
       byte[] registers = $register_list.registers;
       byte registerCount = $register_list.registerCount;
 
-      ImmutableMethodReference methodReference = $fully_qualified_method.methodReference;
+      ImmutableMethodReference methodReference = $method_reference.methodReference;
 
       $method::methodBuilder.addInstruction(new BuilderInstruction35c(opcode, registerCount, registers[0], registers[1],
               registers[2], registers[3], registers[4], dexBuilder.internMethodReference(methodReference)));
@@ -1068,7 +1080,7 @@
 
 insn_format3rc_method
   : //e.g. invoke-virtual/range {v25..v26} java/lang/StringBuilder/append(Ljava/lang/String;)Ljava/lang/StringBuilder;
-    ^(I_STATEMENT_FORMAT3rc_METHOD INSTRUCTION_FORMAT3rc_METHOD register_range fully_qualified_method)
+    ^(I_STATEMENT_FORMAT3rc_METHOD INSTRUCTION_FORMAT3rc_METHOD register_range method_reference)
     {
       Opcode opcode = opcodes.getOpcodeByName($INSTRUCTION_FORMAT3rc_METHOD.text);
       int startRegister = $register_range.startRegister;
@@ -1076,7 +1088,7 @@
 
       int registerCount = endRegister-startRegister+1;
 
-      ImmutableMethodReference methodReference = $fully_qualified_method.methodReference;
+      ImmutableMethodReference methodReference = $method_reference.methodReference;
 
       $method::methodBuilder.addInstruction(new BuilderInstruction3rc(opcode, startRegister, registerCount,
               dexBuilder.internMethodReference(methodReference)));
@@ -1259,19 +1271,19 @@
     };
 
 field_literal returns[FieldReference value]
-  : ^(I_ENCODED_FIELD fully_qualified_field)
+  : ^(I_ENCODED_FIELD field_reference)
     {
-      $value = $fully_qualified_field.fieldReference;
+      $value = $field_reference.fieldReference;
     };
 
 method_literal returns[MethodReference value]
-  : ^(I_ENCODED_METHOD fully_qualified_method)
+  : ^(I_ENCODED_METHOD method_reference)
     {
-      $value = $fully_qualified_method.methodReference;
+      $value = $method_reference.methodReference;
     };
 
 enum_literal returns[FieldReference value]
-  : ^(I_ENCODED_ENUM fully_qualified_field)
+  : ^(I_ENCODED_ENUM field_reference)
     {
-      $value = $fully_qualified_field.fieldReference;
+      $value = $field_reference.fieldReference;
     };
diff --git a/smali/src/main/java/org/jf/smali/SmaliTestUtils.java b/smali/src/main/java/org/jf/smali/SmaliTestUtils.java
new file mode 100644
index 0000000..9fd7347
--- /dev/null
+++ b/smali/src/main/java/org/jf/smali/SmaliTestUtils.java
@@ -0,0 +1,94 @@
+/*
+ * Copyright 2014, Google Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * 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.
+ *     * Neither the name of Google Inc. 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.
+ */
+
+package org.jf.smali;
+
+import com.google.common.collect.Iterables;
+import org.antlr.runtime.CommonTokenStream;
+import org.antlr.runtime.RecognitionException;
+import org.antlr.runtime.TokenSource;
+import org.antlr.runtime.tree.CommonTree;
+import org.antlr.runtime.tree.CommonTreeNodeStream;
+import org.jf.dexlib2.Opcodes;
+import org.jf.dexlib2.dexbacked.DexBackedDexFile;
+import org.jf.dexlib2.iface.ClassDef;
+import org.jf.dexlib2.writer.builder.DexBuilder;
+import org.jf.dexlib2.writer.io.MemoryDataStore;
+
+import java.io.IOException;
+import java.io.Reader;
+import java.io.StringReader;
+
+public class SmaliTestUtils {
+    public static ClassDef compileSmali(String smaliText) throws RecognitionException, IOException {
+        CommonTokenStream tokens;
+        LexerErrorInterface lexer;
+        DexBuilder dexBuilder = DexBuilder.makeDexBuilder(15);
+
+        Reader reader = new StringReader(smaliText);
+
+        lexer = new smaliFlexLexer(reader);
+        tokens = new CommonTokenStream((TokenSource)lexer);
+
+        smaliParser parser = new smaliParser(tokens);
+        parser.setVerboseErrors(true);
+        parser.setAllowOdex(false);
+        parser.setApiLevel(15);
+
+        smaliParser.smali_file_return result = parser.smali_file();
+
+        if(parser.getNumberOfSyntaxErrors() > 0 || lexer.getNumberOfSyntaxErrors() > 0) {
+            throw new RuntimeException("Error occured while compiling text");
+        }
+
+        CommonTree t = result.getTree();
+
+        CommonTreeNodeStream treeStream = new CommonTreeNodeStream(t);
+        treeStream.setTokenStream(tokens);
+
+        smaliTreeWalker dexGen = new smaliTreeWalker(treeStream);
+        dexGen.setVerboseErrors(true);
+        dexGen.setDexBuilder(dexBuilder);
+        dexGen.smali_file();
+
+        if (dexGen.getNumberOfSyntaxErrors() > 0) {
+            throw new RuntimeException("Error occured while compiling text");
+        }
+
+        MemoryDataStore dataStore = new MemoryDataStore();
+
+        dexBuilder.writeTo(dataStore);
+
+        DexBackedDexFile dexFile = new DexBackedDexFile(new Opcodes(15), dataStore.getData());
+
+        return Iterables.getFirst(dexFile.getClasses(), null);
+    }
+}
diff --git a/smali/src/main/java/org/jf/smali/smaliFlexLexer.java b/smali/src/main/java/org/jf/smali/smaliFlexLexer.java
index b1a3d43..0e3d3f4 100644
--- a/smali/src/main/java/org/jf/smali/smaliFlexLexer.java
+++ b/smali/src/main/java/org/jf/smali/smaliFlexLexer.java
@@ -1,4 +1,4 @@
-/* The following code was generated by JFlex 1.4.3 on 2/12/14 5:39 PM */
+/* The following code was generated by JFlex 1.4.3 on 2/19/15 1:23 PM */
 
 package org.jf.smali;
 
@@ -9,10 +9,10 @@
 
 
 /**
- * This class is a scanner generated by 
+ * This class is a scanner generated by
  * <a href="http://www.jflex.de/">JFlex</a> 1.4.3
- * on 2/12/14 5:39 PM from the specification file
- * <tt>/usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/jflex/smaliLexer.flex</tt>
+ * on 2/19/15 1:23 PM from the specification file
+ * <tt>./src/main/jflex/smaliLexer.flex</tt>
  */
 public class smaliFlexLexer implements TokenSource, LexerErrorInterface {
 
@@ -23,9 +23,11 @@
   private static final int ZZ_BUFFERSIZE = 16384;
 
   /** lexical states */
-  public static final int STRING = 2;
+  public static final int STRING = 6;
+  public static final int PARAM_LIST_OR_ID = 2;
   public static final int YYINITIAL = 0;
-  public static final int CHAR = 4;
+  public static final int CHAR = 8;
+  public static final int PARAM_LIST = 4;
 
   /**
    * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l
@@ -33,14 +35,14 @@
    *                  at the beginning of a line
    * l is of the form l = 2*k, k a non negative integer
    */
-  private static final int ZZ_LEXSTATE[] = { 
-     0,  0,  1,  1,  2, 2
+  private static final int ZZ_LEXSTATE[] = {
+     0,  0,  1,  1,  2,  2,  3,  3,  4, 4
   };
 
-  /** 
+  /**
    * Translates characters to character classes
    */
-  private static final String ZZ_CMAP_PACKED = 
+  private static final String ZZ_CMAP_PACKED =
     "\11\0\1\115\1\64\2\0\1\64\22\0\1\50\1\0\1\62\1\72"+
     "\1\22\2\0\1\63\1\113\1\114\2\0\1\110\1\7\1\17\1\30"+
     "\1\1\1\76\1\75\1\102\1\73\1\5\1\77\1\5\1\101\1\4"+
@@ -53,70 +55,71 @@
     "\1\67\1\111\1\0\1\112\43\0\u1f5f\22\20\0\30\22\10\0\ub7d0\22"+
     "\u0400\20\u0400\21\u1ff0\22\20\0";
 
-  /** 
+  /**
    * Translates characters to character classes
    */
   private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED);
 
-  /** 
+  /**
    * Translates DFA states to action switch labels.
    */
   private static final int [] ZZ_ACTION = zzUnpackAction();
 
   private static final String ZZ_ACTION_PACKED_0 =
-    "\3\0\1\1\1\2\2\3\1\2\4\3\1\4\1\1"+
+    "\5\0\1\1\1\2\2\3\1\2\4\3\1\4\1\1"+
     "\2\5\1\3\1\1\15\3\1\6\1\3\1\7\1\10"+
     "\2\3\1\11\1\12\1\1\1\13\1\14\1\15\1\16"+
-    "\1\17\1\20\1\21\1\22\1\23\1\24\1\0\1\22"+
-    "\1\25\1\26\1\0\1\2\3\3\1\27\1\30\1\31"+
-    "\1\0\1\32\1\33\1\34\2\3\2\35\1\3\1\0"+
-    "\1\36\12\3\3\4\1\37\10\4\1\40\1\3\1\0"+
-    "\1\3\1\0\1\41\2\0\22\3\1\42\31\3\2\0"+
-    "\1\43\1\44\1\45\1\46\1\47\1\50\1\51\1\52"+
-    "\1\53\1\54\1\55\1\2\1\0\1\34\1\3\1\0"+
-    "\1\56\1\31\2\3\1\35\11\3\1\34\5\3\21\4"+
-    "\1\3\1\0\1\57\2\0\1\60\2\0\43\3\1\61"+
-    "\14\3\1\62\1\46\1\55\1\0\1\31\1\0\2\3"+
-    "\1\35\5\3\1\63\11\3\25\4\4\0\7\3\1\64"+
-    "\5\3\1\65\11\3\1\66\5\3\1\67\1\3\1\70"+
-    "\6\3\1\71\6\3\1\72\3\3\1\46\1\55\1\73"+
-    "\2\3\1\74\13\3\4\4\1\75\13\4\1\76\1\0"+
-    "\3\4\3\3\1\77\32\3\1\0\11\3\1\100\5\3"+
-    "\1\0\3\3\1\46\1\55\1\3\1\101\17\3\1\0"+
-    "\1\3\1\4\1\102\1\103\1\104\1\105\3\4\1\106"+
-    "\3\4\1\107\13\4\5\3\1\0\34\3\1\100\5\3"+
-    "\2\0\12\3\1\64\4\3\2\0\3\3\2\110\12\3"+
-    "\1\0\7\3\1\0\1\3\2\4\1\111\4\4\1\112"+
-    "\15\4\1\113\7\3\1\0\1\114\1\0\16\3\1\64"+
-    "\11\3\1\64\12\3\1\0\1\115\1\67\11\3\1\0"+
-    "\3\3\1\116\1\117\1\0\1\55\11\3\1\0\14\3"+
-    "\1\0\1\3\24\4\1\3\1\64\5\3\1\0\1\120"+
-    "\13\3\1\0\10\3\1\0\3\3\1\121\10\3\1\0"+
-    "\4\3\1\122\1\3\2\0\3\3\1\0\4\3\1\63"+
-    "\2\3\1\63\2\3\1\0\15\3\1\123\1\3\1\4"+
-    "\1\124\5\4\1\125\1\126\11\4\1\0\1\4\6\3"+
-    "\1\0\11\3\1\65\2\3\1\65\1\3\1\0\2\3"+
-    "\1\0\7\3\1\67\1\0\2\3\1\127\4\3\2\0"+
-    "\2\3\1\0\7\3\1\130\1\131\14\3\6\4\1\132"+
-    "\1\133\5\4\1\134\2\4\1\135\3\3\1\136\1\0"+
-    "\1\3\1\137\7\3\1\0\11\3\1\0\5\3\2\0"+
-    "\2\3\1\140\16\3\1\141\1\142\1\143\10\4\1\144"+
-    "\1\4\2\3\2\0\5\3\1\0\2\3\1\100\1\61"+
-    "\3\3\1\100\1\145\5\3\1\0\1\146\1\0\7\3"+
-    "\1\147\6\3\11\4\1\150\2\0\1\151\13\3\1\152"+
-    "\1\153\2\3\1\154\2\3\1\0\1\147\1\3\1\147"+
-    "\3\3\11\4\2\0\1\155\1\156\1\157\7\3\1\0"+
-    "\4\3\1\160\1\161\1\162\5\4\1\163\2\0\1\164"+
-    "\5\3\1\0\3\3\1\165\1\166\3\4\3\0\4\3"+
-    "\1\0\2\3\1\167\3\4\3\0\4\3\1\0\2\3"+
-    "\1\0\3\4\1\0\1\170\1\0\2\3\1\171\1\172"+
-    "\2\3\1\0\1\173\1\174\1\175\1\176\1\0\2\3"+
-    "\2\0\1\177\2\0\1\200\1\3\3\0\1\201\1\3"+
-    "\3\0\1\3\2\0\1\202\1\3\2\0\1\3\1\203"+
-    "\1\204\1\205";
+    "\1\17\1\20\1\21\1\22\1\5\3\23\1\24\1\25"+
+    "\1\26\1\0\1\24\1\27\1\30\1\0\1\2\3\3"+
+    "\1\31\1\32\1\33\1\0\1\34\1\35\1\36\2\3"+
+    "\2\37\1\3\1\0\1\40\12\3\3\4\1\41\10\4"+
+    "\1\42\1\3\1\0\1\3\1\0\1\43\2\0\22\3"+
+    "\1\44\31\3\4\0\1\43\2\0\1\45\1\46\1\47"+
+    "\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57"+
+    "\1\2\1\0\1\36\1\3\1\0\1\60\1\33\2\3"+
+    "\1\37\11\3\1\36\5\3\21\4\1\3\1\0\1\61"+
+    "\2\0\1\62\2\0\43\3\1\63\14\3\1\64\1\0"+
+    "\1\62\2\0\1\50\1\57\1\0\1\33\1\0\2\3"+
+    "\1\37\5\3\1\65\11\3\25\4\4\0\7\3\1\66"+
+    "\5\3\1\67\11\3\1\70\5\3\1\71\1\3\1\72"+
+    "\6\3\1\73\6\3\1\74\3\3\1\50\1\57\1\75"+
+    "\2\3\1\76\13\3\4\4\1\77\13\4\1\100\1\0"+
+    "\3\4\3\3\1\101\32\3\1\0\11\3\1\102\5\3"+
+    "\1\0\3\3\1\50\1\57\1\3\1\103\17\3\1\0"+
+    "\1\3\1\4\1\104\1\105\1\106\1\107\3\4\1\110"+
+    "\3\4\1\111\13\4\5\3\1\0\34\3\1\102\5\3"+
+    "\2\0\12\3\1\66\4\3\2\0\3\3\2\112\12\3"+
+    "\1\0\7\3\1\0\1\3\2\4\1\113\4\4\1\114"+
+    "\15\4\1\115\7\3\1\0\1\116\1\0\16\3\1\66"+
+    "\11\3\1\66\12\3\1\0\1\117\1\71\11\3\1\0"+
+    "\3\3\1\120\1\121\1\0\1\57\11\3\1\0\14\3"+
+    "\1\0\1\3\24\4\1\3\1\66\5\3\1\0\1\122"+
+    "\13\3\1\0\10\3\1\0\3\3\1\123\10\3\1\0"+
+    "\4\3\1\124\1\3\2\0\3\3\1\0\4\3\1\65"+
+    "\2\3\1\65\2\3\1\0\15\3\1\125\1\3\1\4"+
+    "\1\126\5\4\1\127\1\130\11\4\1\0\1\4\6\3"+
+    "\1\0\11\3\1\67\2\3\1\67\1\3\1\0\2\3"+
+    "\1\0\7\3\1\71\1\0\2\3\1\131\4\3\2\0"+
+    "\2\3\1\0\7\3\1\132\1\133\14\3\6\4\1\134"+
+    "\1\135\5\4\1\136\2\4\1\137\3\3\1\140\1\0"+
+    "\1\3\1\141\7\3\1\0\11\3\1\0\5\3\2\0"+
+    "\2\3\1\142\16\3\1\143\1\144\1\145\10\4\1\146"+
+    "\1\4\2\3\2\0\5\3\1\0\2\3\1\102\1\63"+
+    "\3\3\1\102\1\147\5\3\1\0\1\150\1\0\7\3"+
+    "\1\151\6\3\11\4\1\152\2\0\1\153\13\3\1\154"+
+    "\1\155\2\3\1\156\2\3\1\0\1\151\1\3\1\151"+
+    "\3\3\11\4\2\0\1\157\1\160\1\161\7\3\1\0"+
+    "\4\3\1\162\1\163\1\164\5\4\1\165\2\0\1\166"+
+    "\5\3\1\0\3\3\1\167\1\170\3\4\3\0\4\3"+
+    "\1\0\2\3\1\171\3\4\3\0\4\3\1\0\2\3"+
+    "\1\0\3\4\1\0\1\172\1\0\2\3\1\173\1\174"+
+    "\2\3\1\0\1\175\1\176\1\177\1\200\1\0\2\3"+
+    "\2\0\1\201\2\0\1\202\1\3\3\0\1\203\1\3"+
+    "\3\0\1\3\2\0\1\204\1\3\2\0\1\3\1\205"+
+    "\1\206\1\207";
 
   private static int [] zzUnpackAction() {
-    int [] result = new int[1153];
+    int [] result = new int[1169];
     int offset = 0;
     offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
     return result;
@@ -135,7 +138,7 @@
   }
 
 
-  /** 
+  /**
    * Translates a state to a row index in the transition table
    */
   private static final int [] ZZ_ROWMAP = zzUnpackRowMap();
@@ -145,150 +148,152 @@
     "\0\u0270\0\u02be\0\u030c\0\u035a\0\u03a8\0\u03f6\0\u0444\0\u0492"+
     "\0\u04e0\0\u052e\0\u057c\0\u05ca\0\u0618\0\u0666\0\u06b4\0\u0702"+
     "\0\u0750\0\u079e\0\u07ec\0\u083a\0\u0888\0\u08d6\0\u0924\0\u0972"+
-    "\0\u09c0\0\352\0\352\0\u0a0e\0\u0a5c\0\u0aaa\0\u0186\0\u0af8"+
-    "\0\352\0\352\0\352\0\352\0\352\0\352\0\352\0\u0b46"+
-    "\0\352\0\352\0\u0b94\0\u0be2\0\352\0\352\0\u0c30\0\u0c7e"+
-    "\0\u0ccc\0\u0d1a\0\u0d68\0\u0186\0\u0186\0\u0db6\0\u03f6\0\u0186"+
-    "\0\u0186\0\u0186\0\u0e04\0\u0e52\0\u0ea0\0\u0eee\0\u0f3c\0\u0f8a"+
-    "\0\352\0\u0fd8\0\u1026\0\u1074\0\u10c2\0\u1110\0\u115e\0\u11ac"+
-    "\0\u11fa\0\u1248\0\u1296\0\u12e4\0\u1332\0\u1380\0\352\0\u13ce"+
-    "\0\u141c\0\u146a\0\u14b8\0\u1506\0\u1554\0\u15a2\0\u15f0\0\u0444"+
-    "\0\u163e\0\u168c\0\u16da\0\u1728\0\u168c\0\u1776\0\u052e\0\u17c4"+
-    "\0\u1812\0\u1860\0\u18ae\0\u18fc\0\u194a\0\u1998\0\u19e6\0\u1a34"+
-    "\0\u1a82\0\u1ad0\0\u1b1e\0\u1b6c\0\u1bba\0\u1c08\0\u1c56\0\u1ca4"+
-    "\0\u1cf2\0\u1d40\0\u1d8e\0\u1ddc\0\u1e2a\0\u1e78\0\u1ec6\0\u1f14"+
-    "\0\u1f62\0\u1fb0\0\u1ffe\0\u204c\0\u209a\0\u20e8\0\u2136\0\u2184"+
-    "\0\u21d2\0\u2220\0\u226e\0\u22bc\0\u230a\0\u2358\0\u23a6\0\u23f4"+
-    "\0\u2442\0\u2490\0\u24de\0\u252c\0\u257a\0\352\0\352\0\352"+
-    "\0\u25c8\0\352\0\352\0\352\0\352\0\352\0\352\0\u2616"+
-    "\0\u2664\0\u26b2\0\u2700\0\u274e\0\u279c\0\352\0\352\0\u27ea"+
-    "\0\u2838\0\u2886\0\u28d4\0\u2922\0\u2970\0\u29be\0\u2a0c\0\u2a5a"+
-    "\0\u2aa8\0\u2af6\0\u2b44\0\u2b92\0\u2be0\0\u2c2e\0\u2c7c\0\u2cca"+
-    "\0\u2d18\0\u2d66\0\u2db4\0\u2e02\0\u2e50\0\u2e9e\0\u2eec\0\u2f3a"+
-    "\0\u2f88\0\u2fd6\0\u3024\0\u3072\0\u30c0\0\u310e\0\u315c\0\u31aa"+
-    "\0\u31f8\0\u3246\0\u3294\0\u32e2\0\u168c\0\u3330\0\u337e\0\u168c"+
-    "\0\u33cc\0\u341a\0\u3468\0\u34b6\0\u3504\0\u3552\0\u35a0\0\u35ee"+
-    "\0\u363c\0\u368a\0\u36d8\0\u3726\0\u3774\0\u37c2\0\u3810\0\u385e"+
-    "\0\u38ac\0\u38fa\0\u3948\0\u3996\0\u39e4\0\u3a32\0\u3a80\0\u3ace"+
-    "\0\u3b1c\0\u3b6a\0\u3bb8\0\u3c06\0\u3c54\0\u3ca2\0\u3cf0\0\u3d3e"+
-    "\0\u3d8c\0\u3dda\0\u3e28\0\u3e76\0\u3ec4\0\u0186\0\u3f12\0\u3f60"+
-    "\0\u3fae\0\u3ffc\0\u404a\0\u4098\0\u40e6\0\u4134\0\u4182\0\u41d0"+
-    "\0\u421e\0\u426c\0\352\0\u42ba\0\u4308\0\u4356\0\u43a4\0\u43f2"+
-    "\0\u4440\0\u448e\0\u44dc\0\u452a\0\u4578\0\u45c6\0\u4614\0\u4662"+
-    "\0\u46b0\0\u46fe\0\u474c\0\u479a\0\u47e8\0\u4836\0\u4884\0\u48d2"+
-    "\0\u4920\0\u496e\0\u49bc\0\u4a0a\0\u4a58\0\u4aa6\0\u4af4\0\u4b42"+
-    "\0\u4b90\0\u4bde\0\u4c2c\0\u4c7a\0\u4cc8\0\u4d16\0\u4d64\0\u4db2"+
-    "\0\u4e00\0\u4e4e\0\u4e9c\0\u4eea\0\u4f38\0\u4f86\0\u4fd4\0\u5022"+
-    "\0\u5070\0\u50be\0\u510c\0\u515a\0\u51a8\0\u51f6\0\u5244\0\u5292"+
-    "\0\u52e0\0\u532e\0\u537c\0\u53ca\0\u5418\0\u5466\0\u54b4\0\u5502"+
-    "\0\u5550\0\u559e\0\u55ec\0\u563a\0\u5688\0\u56d6\0\u5724\0\u5772"+
-    "\0\u57c0\0\u580e\0\u0186\0\u585c\0\u58aa\0\u58f8\0\u5946\0\u5994"+
-    "\0\u59e2\0\u5a30\0\u0186\0\u5a7e\0\u5acc\0\u5b1a\0\u5b68\0\u5bb6"+
-    "\0\u5c04\0\u0186\0\u5c52\0\u5ca0\0\u5cee\0\u5d3c\0\u5d8a\0\u5dd8"+
-    "\0\u5e26\0\u5e74\0\u5ec2\0\u5f10\0\u5f5e\0\u5fac\0\u0186\0\u5ffa"+
-    "\0\u6048\0\u6096\0\u60e4\0\u6132\0\u6180\0\u61ce\0\u621c\0\u626a"+
-    "\0\u62b8\0\u6306\0\u6354\0\u63a2\0\u63f0\0\u643e\0\u648c\0\u64da"+
-    "\0\u6528\0\u12e4\0\u6576\0\u65c4\0\u6612\0\u6660\0\u66ae\0\u66fc"+
-    "\0\u674a\0\u6798\0\u67e6\0\u6834\0\u6882\0\u12e4\0\u68d0\0\u691e"+
-    "\0\u696c\0\u69ba\0\u6a08\0\u6a56\0\u6aa4\0\u6af2\0\u6b40\0\u6b8e"+
-    "\0\u6bdc\0\u6c2a\0\u6c78\0\u6cc6\0\u6d14\0\u6d62\0\u6db0\0\u6dfe"+
-    "\0\u6e4c\0\u6e9a\0\u6ee8\0\u6f36\0\u6f84\0\u6fd2\0\u7020\0\u706e"+
-    "\0\u70bc\0\u710a\0\u7158\0\u71a6\0\u71f4\0\u7242\0\u7290\0\u72de"+
-    "\0\u732c\0\u737a\0\u73c8\0\u7416\0\u7464\0\u74b2\0\u7500\0\u754e"+
-    "\0\u759c\0\u75ea\0\u7638\0\u7686\0\u76d4\0\u7722\0\u7770\0\u77be"+
-    "\0\u780c\0\u785a\0\u78a8\0\u78f6\0\u7944\0\u7992\0\u79e0\0\u0186"+
-    "\0\u7a2e\0\u7a7c\0\u7aca\0\u7b18\0\u7b66\0\u7bb4\0\u7c02\0\u7c50"+
-    "\0\u7c9e\0\u7cec\0\u7d3a\0\u7d88\0\u7dd6\0\u7e24\0\u7e72\0\u7ec0"+
-    "\0\u7f0e\0\u7f5c\0\u12e4\0\u12e4\0\u7faa\0\u7ff8\0\u8046\0\u8094"+
-    "\0\u80e2\0\u12e4\0\u8130\0\u817e\0\u81cc\0\u12e4\0\u821a\0\u8268"+
-    "\0\u82b6\0\u8304\0\u8352\0\u83a0\0\u83ee\0\u843c\0\u848a\0\u84d8"+
-    "\0\u8526\0\u8574\0\u85c2\0\u8610\0\u865e\0\u86ac\0\u86fa\0\u8748"+
-    "\0\u8796\0\u87e4\0\u8832\0\u8880\0\u88ce\0\u891c\0\u896a\0\u89b8"+
-    "\0\u8a06\0\u8a54\0\u8aa2\0\u8af0\0\u8b3e\0\u8b8c\0\u8bda\0\u8c28"+
-    "\0\u8c76\0\u8cc4\0\u8d12\0\u8d60\0\u8dae\0\u8dfc\0\u8e4a\0\u8e98"+
-    "\0\u8ee6\0\u8f34\0\u8f82\0\u8fd0\0\u901e\0\u906c\0\u90ba\0\u9108"+
-    "\0\u9156\0\u91a4\0\u91f2\0\u9240\0\u928e\0\u92dc\0\u932a\0\u9378"+
-    "\0\u93c6\0\u9414\0\u9462\0\u94b0\0\u94fe\0\u954c\0\u959a\0\u95e8"+
-    "\0\u9636\0\u9684\0\u96d2\0\u9720\0\u976e\0\u97bc\0\u980a\0\352"+
-    "\0\u9858\0\u98a6\0\u98f4\0\u9942\0\u9990\0\u99de\0\u9a2c\0\u9a7a"+
-    "\0\u9ac8\0\u9b16\0\u9b64\0\u9bb2\0\u9c00\0\u9c4e\0\u9c9c\0\u9cea"+
-    "\0\u9d38\0\u9d86\0\u9dd4\0\u9e22\0\u9e70\0\u9ebe\0\u9f0c\0\u12e4"+
-    "\0\u9f5a\0\u9fa8\0\u9ff6\0\ua044\0\u12e4\0\ua092\0\ua0e0\0\ua12e"+
-    "\0\ua17c\0\ua1ca\0\ua218\0\ua266\0\ua2b4\0\ua302\0\ua350\0\ua39e"+
-    "\0\ua3ec\0\ua43a\0\u12e4\0\ua488\0\ua4d6\0\ua524\0\ua572\0\ua5c0"+
-    "\0\ua60e\0\ua65c\0\ua6aa\0\352\0\ua6f8\0\ua746\0\ua794\0\ua7e2"+
-    "\0\ua830\0\ua87e\0\ua8cc\0\ua91a\0\ua968\0\ua9b6\0\uaa04\0\uaa52"+
-    "\0\uaaa0\0\uaaee\0\uab3c\0\uab8a\0\uabd8\0\uac26\0\uac74\0\uacc2"+
-    "\0\uad10\0\uad5e\0\uadac\0\uadfa\0\uae48\0\uae96\0\uaee4\0\uaf32"+
-    "\0\uaf80\0\uafce\0\ub01c\0\ub06a\0\ub0b8\0\ub106\0\ub154\0\ub1a2"+
-    "\0\ub1f0\0\352\0\u0186\0\ub23e\0\ub28c\0\ub2da\0\ub328\0\ub376"+
-    "\0\ub3c4\0\ub412\0\ub460\0\ub4ae\0\ub4fc\0\ub54a\0\ub598\0\ub5e6"+
-    "\0\352\0\352\0\ub634\0\u9858\0\ub682\0\ub6d0\0\ub71e\0\ub76c"+
-    "\0\ub7ba\0\ub808\0\ub856\0\ub8a4\0\ub8f2\0\ub940\0\ub98e\0\ub9dc"+
-    "\0\uba2a\0\uba78\0\ubac6\0\ubb14\0\ubb62\0\ubbb0\0\ubbfe\0\ubc4c"+
-    "\0\ubc9a\0\ubce8\0\ubd36\0\ubd84\0\ubdd2\0\ube20\0\ube6e\0\ubebc"+
-    "\0\ubf0a\0\ubf58\0\ubfa6\0\ubff4\0\uc042\0\uc090\0\uc0de\0\uc12c"+
-    "\0\uc17a\0\uc1c8\0\uc216\0\uc264\0\uc2b2\0\uc300\0\uc34e\0\uc39c"+
-    "\0\uc3ea\0\u0186\0\uc438\0\uc486\0\uc4d4\0\uc522\0\uc570\0\uc5be"+
-    "\0\352\0\uc60c\0\uc65a\0\uc6a8\0\uc6f6\0\uc744\0\uc792\0\uc7e0"+
-    "\0\uc82e\0\uc87c\0\uc8ca\0\uc918\0\uc966\0\uc9b4\0\uca02\0\uca50"+
-    "\0\uca9e\0\ucaec\0\ucb3a\0\ucb88\0\ucbd6\0\ucc24\0\ucc72\0\uccc0"+
-    "\0\ucd0e\0\ucd5c\0\ucdaa\0\ucdf8\0\uce46\0\uce94\0\ucee2\0\ucf30"+
-    "\0\ucf7e\0\ucfcc\0\ud01a\0\ud068\0\ud0b6\0\ud104\0\ud152\0\u0186"+
-    "\0\ud1a0\0\ud1ee\0\ud23c\0\ud28a\0\ud2d8\0\ud326\0\ud374\0\ud3c2"+
-    "\0\ud410\0\ud45e\0\ud4ac\0\u0186\0\ud4fa\0\ud548\0\ud596\0\ud5e4"+
-    "\0\ud632\0\ud680\0\ud6ce\0\ud71c\0\ud76a\0\ud7b8\0\ud806\0\ud854"+
-    "\0\ud8a2\0\ud8f0\0\ud93e\0\ud98c\0\ud9da\0\uda28\0\uda76\0\ubd36"+
-    "\0\udac4\0\udb12\0\u12e4\0\udb60\0\udbae\0\udbfc\0\udc4a\0\udc98"+
-    "\0\u12e4\0\u12e4\0\udce6\0\udd34\0\udd82\0\uddd0\0\ude1e\0\ude6c"+
-    "\0\udeba\0\udf08\0\udf56\0\udfa4\0\udff2\0\ue040\0\ue08e\0\ue0dc"+
-    "\0\ue12a\0\ue178\0\ue1c6\0\ue214\0\ue262\0\ue2b0\0\ue2fe\0\ue34c"+
-    "\0\ue39a\0\ue3e8\0\ue436\0\ue484\0\ue4d2\0\u0186\0\ue520\0\ue56e"+
-    "\0\ue5bc\0\ue60a\0\ue658\0\ue6a6\0\ue6f4\0\ue742\0\ue790\0\ue7de"+
-    "\0\ue82c\0\ue87a\0\ue8c8\0\ue916\0\ue964\0\ue9b2\0\uea00\0\uea4e"+
-    "\0\uea9c\0\u0186\0\ueaea\0\ueb38\0\ueb86\0\uebd4\0\uec22\0\uec70"+
-    "\0\uecbe\0\ued0c\0\ued5a\0\ueda8\0\uedf6\0\uee44\0\uee92\0\ueee0"+
-    "\0\uef2e\0\uef7c\0\u0186\0\ud680\0\uefca\0\uf018\0\uf066\0\uf0b4"+
-    "\0\uf102\0\uf150\0\uf19e\0\uf1ec\0\uf23a\0\uf288\0\uf2d6\0\uf324"+
-    "\0\uf372\0\uf3c0\0\uf40e\0\uf45c\0\uf4aa\0\uf4f8\0\u12e4\0\u12e4"+
-    "\0\uf546\0\uf594\0\uf5e2\0\uf630\0\uf67e\0\u12e4\0\uf6cc\0\uf71a"+
-    "\0\u12e4\0\uf768\0\uf7b6\0\uf804\0\uf852\0\uf8a0\0\uf8ee\0\u0186"+
-    "\0\uf93c\0\uf98a\0\uf9d8\0\ufa26\0\ufa74\0\ufac2\0\ufb10\0\ufb5e"+
-    "\0\ufbac\0\ufbfa\0\ufc48\0\ufc96\0\ufce4\0\ufd32\0\ufd80\0\ufdce"+
-    "\0\ufe1c\0\ufe6a\0\ufeb8\0\uff06\0\uff54\0\uffa2\0\ufff0\1\76"+
-    "\1\214\1\332\1\u0128\0\ued5a\1\u0176\1\u01c4\1\u0212\1\u0260"+
-    "\1\u02ae\1\u02fc\1\u034a\1\u0398\1\u03e6\1\u0434\1\u0482\1\u04d0"+
-    "\1\u051e\1\u056c\0\u12e4\0\u12e4\0\u12e4\1\u05ba\1\u0608\1\u0656"+
-    "\1\u06a4\1\u06f2\1\u0740\1\u078e\1\u07dc\0\u12e4\1\u082a\1\u0878"+
-    "\1\u08c6\1\u0914\1\u0962\1\u09b0\1\u09fe\1\u0a4c\1\u0a9a\1\u0ae8"+
-    "\1\u0b36\1\u0b84\1\u0bd2\0\u0186\1\u0c20\1\u0c6e\1\u0cbc\1\u0d0a"+
-    "\1\u0d58\0\352\1\u0da6\1\u0df4\1\u0e42\1\u0e90\1\u0ede\1\u0f2c"+
-    "\0\352\1\u0f7a\1\u0fc8\1\u1016\1\u1064\1\u10b2\1\u1100\1\u114e"+
-    "\1\u119c\1\u11ea\1\u1238\1\u1286\1\u12d4\1\u1322\1\u1370\1\u13be"+
-    "\1\u140c\1\u145a\1\u14a8\1\u14f6\1\u1544\1\u1592\1\u15e0\1\u162e"+
-    "\1\u167c\1\u16ca\1\u1718\1\u1766\0\352\1\u17b4\1\u1802\1\u1850"+
-    "\1\u189e\1\u18ec\1\u193a\1\u1988\1\u19d6\1\u1a24\1\u1a72\1\u1ac0"+
-    "\0\352\0\352\1\u1b0e\1\u1b5c\0\u0186\1\u1baa\1\u1bf8\1\u1c46"+
-    "\1\u1c94\1\u1ce2\1\u1d30\1\u1d7e\1\u1dcc\1\u1e1a\1\u1e68\1\u1eb6"+
-    "\1\u1f04\1\u1f52\1\u1fa0\1\u1fee\1\u203c\1\u208a\1\u20d8\1\u2126"+
-    "\1\u2174\0\352\0\u0186\0\u0186\1\u21c2\1\u2210\1\u225e\1\u22ac"+
-    "\1\u22fa\1\u2348\1\u2396\1\u23e4\1\u2432\1\u2480\1\u24ce\1\u251c"+
-    "\0\u12e4\0\u12e4\0\u12e4\1\u256a\1\u25b8\1\u2606\1\u2654\1\u26a2"+
-    "\0\u12e4\1\u26f0\1\u273e\1\u278c\1\u27da\1\u2828\1\u2876\1\u28c4"+
-    "\1\u2912\1\u2960\1\u29ae\1\u29fc\1\u2a4a\0\u12e4\0\u12e4\1\u2a98"+
-    "\1\u2ae6\1\u2b34\1\u2b82\1\u2bd0\1\u2c1e\1\u2c6c\1\u2cba\1\u2d08"+
-    "\1\u2d56\1\u2da4\1\u2df2\1\u2e40\1\u2e8e\1\u2edc\1\u2f2a\1\u2f78"+
-    "\1\u2fc6\1\u3014\1\u3062\1\u30b0\1\u30fe\1\u314c\1\u319a\1\u31e8"+
-    "\1\u3236\1\u3284\1\u32d2\1\u3320\1\u336e\1\u33bc\1\u340a\0\352"+
-    "\1\u3458\1\u34a6\1\u34f4\1\u3542\0\352\1\u3590\1\u35de\1\u362c"+
-    "\0\u12e4\0\u12e4\0\u12e4\0\352\1\u367a\1\u36c8\1\u3716\1\u3764"+
-    "\1\u37b2\0\u0186\1\u3800\1\u384e\0\u0186\1\u389c\1\u38ea\1\u3938"+
-    "\1\u3986\0\352\1\u39d4\1\u3a22\1\u3a70\1\u3abe\1\u3b0c\1\u3b5a"+
-    "\1\u3ba8\0\352\1\u3bf6\1\u3c44\1\u3c92\1\u3ce0\0\352\0\352"+
-    "\0\u0186";
+    "\0\u09c0\0\u0a0e\0\u0a5c\0\u0186\0\u0186\0\u0aaa\0\u0af8\0\u0b46"+
+    "\0\u0222\0\u0b94\0\u0186\0\u0186\0\u0186\0\u0186\0\u0186\0\u0186"+
+    "\0\u0186\0\u0186\0\u0186\0\u0186\0\u0be2\0\u0c30\0\u0c7e\0\u0186"+
+    "\0\u0186\0\u0ccc\0\u0d1a\0\u0186\0\u0186\0\u0d68\0\u0db6\0\u0e04"+
+    "\0\u0e52\0\u0ea0\0\u0222\0\u0222\0\u0eee\0\u0492\0\u0222\0\u0222"+
+    "\0\u0222\0\u0f3c\0\u0f8a\0\u0fd8\0\u1026\0\u1074\0\u10c2\0\u0186"+
+    "\0\u1110\0\u115e\0\u11ac\0\u11fa\0\u1248\0\u1296\0\u12e4\0\u1332"+
+    "\0\u1380\0\u13ce\0\u141c\0\u146a\0\u14b8\0\u0186\0\u1506\0\u1554"+
+    "\0\u15a2\0\u15f0\0\u163e\0\u168c\0\u16da\0\u1728\0\u04e0\0\u1776"+
+    "\0\u17c4\0\u1812\0\u1860\0\u17c4\0\u18ae\0\u05ca\0\u18fc\0\u194a"+
+    "\0\u1998\0\u19e6\0\u1a34\0\u1a82\0\u1ad0\0\u1b1e\0\u1b6c\0\u1bba"+
+    "\0\u1c08\0\u1c56\0\u1ca4\0\u1cf2\0\u1d40\0\u1d8e\0\u1ddc\0\u1e2a"+
+    "\0\u1e78\0\u1ec6\0\u1f14\0\u1f62\0\u1fb0\0\u1ffe\0\u204c\0\u209a"+
+    "\0\u20e8\0\u2136\0\u2184\0\u21d2\0\u2220\0\u226e\0\u22bc\0\u230a"+
+    "\0\u2358\0\u23a6\0\u23f4\0\u2442\0\u2490\0\u24de\0\u252c\0\u257a"+
+    "\0\u25c8\0\u2616\0\u2664\0\u26b2\0\u2700\0\u274e\0\u0186\0\u279c"+
+    "\0\u0c30\0\u0186\0\u0186\0\u0186\0\u27ea\0\u0186\0\u0186\0\u0186"+
+    "\0\u0186\0\u0186\0\u0186\0\u2838\0\u2886\0\u28d4\0\u2922\0\u2970"+
+    "\0\u29be\0\u0186\0\u0186\0\u2a0c\0\u2a5a\0\u2aa8\0\u2af6\0\u2b44"+
+    "\0\u2b92\0\u2be0\0\u2c2e\0\u2c7c\0\u2cca\0\u2d18\0\u2d66\0\u2db4"+
+    "\0\u2e02\0\u2e50\0\u2e9e\0\u2eec\0\u2f3a\0\u2f88\0\u2fd6\0\u3024"+
+    "\0\u3072\0\u30c0\0\u310e\0\u315c\0\u31aa\0\u31f8\0\u3246\0\u3294"+
+    "\0\u32e2\0\u3330\0\u337e\0\u33cc\0\u341a\0\u3468\0\u34b6\0\u3504"+
+    "\0\u17c4\0\u3552\0\u35a0\0\u17c4\0\u35ee\0\u363c\0\u368a\0\u36d8"+
+    "\0\u3726\0\u3774\0\u37c2\0\u3810\0\u385e\0\u38ac\0\u38fa\0\u3948"+
+    "\0\u3996\0\u39e4\0\u3a32\0\u3a80\0\u3ace\0\u3b1c\0\u3b6a\0\u3bb8"+
+    "\0\u3c06\0\u3c54\0\u3ca2\0\u3cf0\0\u3d3e\0\u3d8c\0\u3dda\0\u3e28"+
+    "\0\u3e76\0\u3ec4\0\u3f12\0\u3f60\0\u3fae\0\u3ffc\0\u404a\0\u4098"+
+    "\0\u40e6\0\u0222\0\u4134\0\u4182\0\u41d0\0\u421e\0\u426c\0\u42ba"+
+    "\0\u4308\0\u4356\0\u43a4\0\u43f2\0\u4440\0\u448e\0\u0186\0\u0be2"+
+    "\0\u0186\0\u44dc\0\u452a\0\u4578\0\u45c6\0\u4614\0\u4662\0\u46b0"+
+    "\0\u46fe\0\u474c\0\u479a\0\u47e8\0\u4836\0\u4884\0\u48d2\0\u4920"+
+    "\0\u496e\0\u49bc\0\u4a0a\0\u4a58\0\u4aa6\0\u4af4\0\u4b42\0\u4b90"+
+    "\0\u4bde\0\u4c2c\0\u4c7a\0\u4cc8\0\u4d16\0\u4d64\0\u4db2\0\u4e00"+
+    "\0\u4e4e\0\u4e9c\0\u4eea\0\u4f38\0\u4f86\0\u4fd4\0\u5022\0\u5070"+
+    "\0\u50be\0\u510c\0\u515a\0\u51a8\0\u51f6\0\u5244\0\u5292\0\u52e0"+
+    "\0\u532e\0\u537c\0\u53ca\0\u5418\0\u5466\0\u54b4\0\u5502\0\u5550"+
+    "\0\u559e\0\u55ec\0\u563a\0\u5688\0\u56d6\0\u5724\0\u5772\0\u57c0"+
+    "\0\u580e\0\u585c\0\u58aa\0\u58f8\0\u5946\0\u5994\0\u59e2\0\u5a30"+
+    "\0\u5a7e\0\u5acc\0\u0222\0\u5b1a\0\u5b68\0\u5bb6\0\u5c04\0\u5c52"+
+    "\0\u5ca0\0\u5cee\0\u0222\0\u5d3c\0\u5d8a\0\u5dd8\0\u5e26\0\u5e74"+
+    "\0\u5ec2\0\u0222\0\u5f10\0\u5f5e\0\u5fac\0\u5ffa\0\u6048\0\u6096"+
+    "\0\u60e4\0\u6132\0\u6180\0\u61ce\0\u621c\0\u626a\0\u0222\0\u62b8"+
+    "\0\u6306\0\u6354\0\u63a2\0\u63f0\0\u643e\0\u648c\0\u64da\0\u6528"+
+    "\0\u6576\0\u65c4\0\u6612\0\u6660\0\u66ae\0\u66fc\0\u674a\0\u6798"+
+    "\0\u67e6\0\u141c\0\u6834\0\u6882\0\u68d0\0\u691e\0\u696c\0\u69ba"+
+    "\0\u6a08\0\u6a56\0\u6aa4\0\u6af2\0\u6b40\0\u141c\0\u6b8e\0\u6bdc"+
+    "\0\u6c2a\0\u6c78\0\u6cc6\0\u6d14\0\u6d62\0\u6db0\0\u6dfe\0\u6e4c"+
+    "\0\u6e9a\0\u6ee8\0\u6f36\0\u6f84\0\u6fd2\0\u7020\0\u706e\0\u70bc"+
+    "\0\u710a\0\u7158\0\u71a6\0\u71f4\0\u7242\0\u7290\0\u72de\0\u732c"+
+    "\0\u737a\0\u73c8\0\u7416\0\u7464\0\u74b2\0\u7500\0\u754e\0\u759c"+
+    "\0\u75ea\0\u7638\0\u7686\0\u76d4\0\u7722\0\u7770\0\u77be\0\u780c"+
+    "\0\u785a\0\u78a8\0\u78f6\0\u7944\0\u7992\0\u79e0\0\u7a2e\0\u7a7c"+
+    "\0\u7aca\0\u7b18\0\u7b66\0\u7bb4\0\u7c02\0\u7c50\0\u7c9e\0\u0222"+
+    "\0\u7cec\0\u7d3a\0\u7d88\0\u7dd6\0\u7e24\0\u7e72\0\u7ec0\0\u7f0e"+
+    "\0\u7f5c\0\u7faa\0\u7ff8\0\u8046\0\u8094\0\u80e2\0\u8130\0\u817e"+
+    "\0\u81cc\0\u821a\0\u141c\0\u141c\0\u8268\0\u82b6\0\u8304\0\u8352"+
+    "\0\u83a0\0\u141c\0\u83ee\0\u843c\0\u848a\0\u141c\0\u84d8\0\u8526"+
+    "\0\u8574\0\u85c2\0\u8610\0\u865e\0\u86ac\0\u86fa\0\u8748\0\u8796"+
+    "\0\u87e4\0\u8832\0\u8880\0\u88ce\0\u891c\0\u896a\0\u89b8\0\u8a06"+
+    "\0\u8a54\0\u8aa2\0\u8af0\0\u8b3e\0\u8b8c\0\u8bda\0\u8c28\0\u8c76"+
+    "\0\u8cc4\0\u8d12\0\u8d60\0\u8dae\0\u8dfc\0\u8e4a\0\u8e98\0\u8ee6"+
+    "\0\u8f34\0\u8f82\0\u8fd0\0\u901e\0\u906c\0\u90ba\0\u9108\0\u9156"+
+    "\0\u91a4\0\u91f2\0\u9240\0\u928e\0\u92dc\0\u932a\0\u9378\0\u93c6"+
+    "\0\u9414\0\u9462\0\u94b0\0\u94fe\0\u954c\0\u959a\0\u95e8\0\u9636"+
+    "\0\u9684\0\u96d2\0\u9720\0\u976e\0\u97bc\0\u980a\0\u9858\0\u98a6"+
+    "\0\u98f4\0\u9942\0\u9990\0\u99de\0\u9a2c\0\u9a7a\0\u9ac8\0\u0186"+
+    "\0\u9b16\0\u9b64\0\u9bb2\0\u9c00\0\u9c4e\0\u9c9c\0\u9cea\0\u9d38"+
+    "\0\u9d86\0\u9dd4\0\u9e22\0\u9e70\0\u9ebe\0\u9f0c\0\u9f5a\0\u9fa8"+
+    "\0\u9ff6\0\ua044\0\ua092\0\ua0e0\0\ua12e\0\ua17c\0\ua1ca\0\u141c"+
+    "\0\ua218\0\ua266\0\ua2b4\0\ua302\0\u141c\0\ua350\0\ua39e\0\ua3ec"+
+    "\0\ua43a\0\ua488\0\ua4d6\0\ua524\0\ua572\0\ua5c0\0\ua60e\0\ua65c"+
+    "\0\ua6aa\0\ua6f8\0\u141c\0\ua746\0\ua794\0\ua7e2\0\ua830\0\ua87e"+
+    "\0\ua8cc\0\ua91a\0\ua968\0\u0186\0\ua9b6\0\uaa04\0\uaa52\0\uaaa0"+
+    "\0\uaaee\0\uab3c\0\uab8a\0\uabd8\0\uac26\0\uac74\0\uacc2\0\uad10"+
+    "\0\uad5e\0\uadac\0\uadfa\0\uae48\0\uae96\0\uaee4\0\uaf32\0\uaf80"+
+    "\0\uafce\0\ub01c\0\ub06a\0\ub0b8\0\ub106\0\ub154\0\ub1a2\0\ub1f0"+
+    "\0\ub23e\0\ub28c\0\ub2da\0\ub328\0\ub376\0\ub3c4\0\ub412\0\ub460"+
+    "\0\ub4ae\0\u0186\0\u0222\0\ub4fc\0\ub54a\0\ub598\0\ub5e6\0\ub634"+
+    "\0\ub682\0\ub6d0\0\ub71e\0\ub76c\0\ub7ba\0\ub808\0\ub856\0\ub8a4"+
+    "\0\u0186\0\u0186\0\ub8f2\0\u9b16\0\ub940\0\ub98e\0\ub9dc\0\uba2a"+
+    "\0\uba78\0\ubac6\0\ubb14\0\ubb62\0\ubbb0\0\ubbfe\0\ubc4c\0\ubc9a"+
+    "\0\ubce8\0\ubd36\0\ubd84\0\ubdd2\0\ube20\0\ube6e\0\ubebc\0\ubf0a"+
+    "\0\ubf58\0\ubfa6\0\ubff4\0\uc042\0\uc090\0\uc0de\0\uc12c\0\uc17a"+
+    "\0\uc1c8\0\uc216\0\uc264\0\uc2b2\0\uc300\0\uc34e\0\uc39c\0\uc3ea"+
+    "\0\uc438\0\uc486\0\uc4d4\0\uc522\0\uc570\0\uc5be\0\uc60c\0\uc65a"+
+    "\0\uc6a8\0\u0222\0\uc6f6\0\uc744\0\uc792\0\uc7e0\0\uc82e\0\uc87c"+
+    "\0\u0186\0\uc8ca\0\uc918\0\uc966\0\uc9b4\0\uca02\0\uca50\0\uca9e"+
+    "\0\ucaec\0\ucb3a\0\ucb88\0\ucbd6\0\ucc24\0\ucc72\0\uccc0\0\ucd0e"+
+    "\0\ucd5c\0\ucdaa\0\ucdf8\0\uce46\0\uce94\0\ucee2\0\ucf30\0\ucf7e"+
+    "\0\ucfcc\0\ud01a\0\ud068\0\ud0b6\0\ud104\0\ud152\0\ud1a0\0\ud1ee"+
+    "\0\ud23c\0\ud28a\0\ud2d8\0\ud326\0\ud374\0\ud3c2\0\ud410\0\u0222"+
+    "\0\ud45e\0\ud4ac\0\ud4fa\0\ud548\0\ud596\0\ud5e4\0\ud632\0\ud680"+
+    "\0\ud6ce\0\ud71c\0\ud76a\0\u0222\0\ud7b8\0\ud806\0\ud854\0\ud8a2"+
+    "\0\ud8f0\0\ud93e\0\ud98c\0\ud9da\0\uda28\0\uda76\0\udac4\0\udb12"+
+    "\0\udb60\0\udbae\0\udbfc\0\udc4a\0\udc98\0\udce6\0\udd34\0\ubff4"+
+    "\0\udd82\0\uddd0\0\u141c\0\ude1e\0\ude6c\0\udeba\0\udf08\0\udf56"+
+    "\0\u141c\0\u141c\0\udfa4\0\udff2\0\ue040\0\ue08e\0\ue0dc\0\ue12a"+
+    "\0\ue178\0\ue1c6\0\ue214\0\ue262\0\ue2b0\0\ue2fe\0\ue34c\0\ue39a"+
+    "\0\ue3e8\0\ue436\0\ue484\0\ue4d2\0\ue520\0\ue56e\0\ue5bc\0\ue60a"+
+    "\0\ue658\0\ue6a6\0\ue6f4\0\ue742\0\ue790\0\u0222\0\ue7de\0\ue82c"+
+    "\0\ue87a\0\ue8c8\0\ue916\0\ue964\0\ue9b2\0\uea00\0\uea4e\0\uea9c"+
+    "\0\ueaea\0\ueb38\0\ueb86\0\uebd4\0\uec22\0\uec70\0\uecbe\0\ued0c"+
+    "\0\ued5a\0\u0222\0\ueda8\0\uedf6\0\uee44\0\uee92\0\ueee0\0\uef2e"+
+    "\0\uef7c\0\uefca\0\uf018\0\uf066\0\uf0b4\0\uf102\0\uf150\0\uf19e"+
+    "\0\uf1ec\0\uf23a\0\u0222\0\ud93e\0\uf288\0\uf2d6\0\uf324\0\uf372"+
+    "\0\uf3c0\0\uf40e\0\uf45c\0\uf4aa\0\uf4f8\0\uf546\0\uf594\0\uf5e2"+
+    "\0\uf630\0\uf67e\0\uf6cc\0\uf71a\0\uf768\0\uf7b6\0\u141c\0\u141c"+
+    "\0\uf804\0\uf852\0\uf8a0\0\uf8ee\0\uf93c\0\u141c\0\uf98a\0\uf9d8"+
+    "\0\u141c\0\ufa26\0\ufa74\0\ufac2\0\ufb10\0\ufb5e\0\ufbac\0\u0222"+
+    "\0\ufbfa\0\ufc48\0\ufc96\0\ufce4\0\ufd32\0\ufd80\0\ufdce\0\ufe1c"+
+    "\0\ufe6a\0\ufeb8\0\uff06\0\uff54\0\uffa2\0\ufff0\1\76\1\214"+
+    "\1\332\1\u0128\1\u0176\1\u01c4\1\u0212\1\u0260\1\u02ae\1\u02fc"+
+    "\1\u034a\1\u0398\1\u03e6\0\uf018\1\u0434\1\u0482\1\u04d0\1\u051e"+
+    "\1\u056c\1\u05ba\1\u0608\1\u0656\1\u06a4\1\u06f2\1\u0740\1\u078e"+
+    "\1\u07dc\1\u082a\0\u141c\0\u141c\0\u141c\1\u0878\1\u08c6\1\u0914"+
+    "\1\u0962\1\u09b0\1\u09fe\1\u0a4c\1\u0a9a\0\u141c\1\u0ae8\1\u0b36"+
+    "\1\u0b84\1\u0bd2\1\u0c20\1\u0c6e\1\u0cbc\1\u0d0a\1\u0d58\1\u0da6"+
+    "\1\u0df4\1\u0e42\1\u0e90\0\u0222\1\u0ede\1\u0f2c\1\u0f7a\1\u0fc8"+
+    "\1\u1016\0\u0186\1\u1064\1\u10b2\1\u1100\1\u114e\1\u119c\1\u11ea"+
+    "\0\u0186\1\u1238\1\u1286\1\u12d4\1\u1322\1\u1370\1\u13be\1\u140c"+
+    "\1\u145a\1\u14a8\1\u14f6\1\u1544\1\u1592\1\u15e0\1\u162e\1\u167c"+
+    "\1\u16ca\1\u1718\1\u1766\1\u17b4\1\u1802\1\u1850\1\u189e\1\u18ec"+
+    "\1\u193a\1\u1988\1\u19d6\1\u1a24\0\u0186\1\u1a72\1\u1ac0\1\u1b0e"+
+    "\1\u1b5c\1\u1baa\1\u1bf8\1\u1c46\1\u1c94\1\u1ce2\1\u1d30\1\u1d7e"+
+    "\0\u0186\0\u0186\1\u1dcc\1\u1e1a\0\u0222\1\u1e68\1\u1eb6\1\u1f04"+
+    "\1\u1f52\1\u1fa0\1\u1fee\1\u203c\1\u208a\1\u20d8\1\u2126\1\u2174"+
+    "\1\u21c2\1\u2210\1\u225e\1\u22ac\1\u22fa\1\u2348\1\u2396\1\u23e4"+
+    "\1\u2432\0\u0186\0\u0222\0\u0222\1\u2480\1\u24ce\1\u251c\1\u256a"+
+    "\1\u25b8\1\u2606\1\u2654\1\u26a2\1\u26f0\1\u273e\1\u278c\1\u27da"+
+    "\0\u141c\0\u141c\0\u141c\1\u2828\1\u2876\1\u28c4\1\u2912\1\u2960"+
+    "\0\u141c\1\u29ae\1\u29fc\1\u2a4a\1\u2a98\1\u2ae6\1\u2b34\1\u2b82"+
+    "\1\u2bd0\1\u2c1e\1\u2c6c\1\u2cba\1\u2d08\0\u141c\0\u141c\1\u2d56"+
+    "\1\u2da4\1\u2df2\1\u2e40\1\u2e8e\1\u2edc\1\u2f2a\1\u2f78\1\u2fc6"+
+    "\1\u3014\1\u3062\1\u30b0\1\u30fe\1\u314c\1\u319a\1\u31e8\1\u3236"+
+    "\1\u3284\1\u32d2\1\u3320\1\u336e\1\u33bc\1\u340a\1\u3458\1\u34a6"+
+    "\1\u34f4\1\u3542\1\u3590\1\u35de\1\u362c\1\u367a\1\u36c8\0\u0186"+
+    "\1\u3716\1\u3764\1\u37b2\1\u3800\0\u0186\1\u384e\1\u389c\1\u38ea"+
+    "\0\u141c\0\u141c\0\u141c\0\u0186\1\u3938\1\u3986\1\u39d4\1\u3a22"+
+    "\1\u3a70\0\u0222\1\u3abe\1\u3b0c\0\u0222\1\u3b5a\1\u3ba8\1\u3bf6"+
+    "\1\u3c44\0\u0186\1\u3c92\1\u3ce0\1\u3d2e\1\u3d7c\1\u3dca\1\u3e18"+
+    "\1\u3e66\0\u0186\1\u3eb4\1\u3f02\1\u3f50\1\u3f9e\0\u0186\0\u0186"+
+    "\0\u0222";
 
   private static int [] zzUnpackRowMap() {
-    int [] result = new int[1153];
+    int [] result = new int[1169];
     int offset = 0;
     offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
     return result;
@@ -305,2397 +310,2409 @@
     return j;
   }
 
-  /** 
+  /**
    * The transition table of the DFA
    */
   private static final int [] ZZ_TRANS = zzUnpackTrans();
 
   private static final String ZZ_TRANS_PACKED_0 =
-    "\1\4\1\5\1\6\1\7\2\10\1\6\1\11\1\6"+
-    "\1\12\1\13\1\14\3\6\1\15\1\16\1\4\1\6"+
-    "\1\17\1\20\2\17\1\21\2\4\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\36\1\37\1\40\1\6\1\41\3\6\1\4"+
-    "\1\6\2\17\1\42\1\43\1\40\1\4\1\44\1\6"+
-    "\1\4\1\45\1\46\1\10\1\6\3\10\1\6\2\10"+
-    "\1\47\1\50\1\4\1\51\1\52\1\53\1\54\1\55"+
-    "\1\56\1\57\1\40\62\60\1\61\1\60\1\62\1\63"+
-    "\30\60\63\64\1\65\1\66\1\67\30\64\117\0\1\70"+
-    "\1\71\1\6\1\72\1\70\1\73\4\6\1\74\1\75"+
-    "\2\6\1\76\1\77\1\0\3\6\1\74\1\6\1\100"+
-    "\3\0\1\6\1\100\1\6\1\101\2\6\1\73\3\6"+
-    "\1\75\1\6\1\102\1\0\5\6\1\0\1\6\1\101"+
-    "\1\102\4\0\2\6\1\0\1\71\1\0\1\70\1\6"+
-    "\3\70\1\6\1\72\1\70\1\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\15\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\4\6\1\103"+
-    "\2\6\1\104\5\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\1\10\2\6"+
-    "\2\10\1\73\4\6\1\74\1\75\2\6\1\76\1\77"+
-    "\1\0\3\6\1\74\1\6\1\100\3\0\1\6\1\100"+
-    "\1\6\1\101\2\6\1\73\3\6\1\75\1\6\1\102"+
-    "\1\0\5\6\1\0\1\6\1\101\1\102\4\0\2\6"+
-    "\1\0\1\6\1\0\1\10\1\6\3\10\1\6\2\10"+
-    "\1\6\13\0\1\105\2\6\2\106\3\6\1\107\5\6"+
-    "\1\110\1\77\1\0\2\6\1\107\3\6\3\0\15\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\1\106\1\6\3\106\1\6\2\106\1\6\1\0"+
-    "\1\111\11\0\11\6\1\112\1\113\3\6\1\0\1\77"+
-    "\1\0\6\6\3\0\1\6\1\114\3\6\1\115\3\6"+
-    "\1\116\3\6\1\0\1\6\1\117\3\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\15\6"+
-    "\1\120\1\0\1\77\1\0\6\6\3\0\2\6\1\120"+
-    "\12\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\10\6\1\121\5\6\1\0"+
-    "\1\77\1\0\6\6\3\0\1\6\1\122\1\123\12\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\1\76\2\124\2\76\3\124\1\125"+
-    "\1\124\1\126\3\124\1\127\3\0\5\124\2\0\1\124"+
-    "\1\130\1\131\1\132\1\133\1\124\1\134\1\135\1\136"+
-    "\1\137\4\124\1\0\11\124\3\0\3\124\1\0\1\124"+
-    "\1\0\1\76\1\124\3\76\1\124\2\76\1\124\33\0"+
-    "\1\6\75\0\16\6\1\0\1\77\1\0\1\6\4\140"+
-    "\1\141\2\0\1\142\15\6\1\0\5\6\1\0\1\6"+
-    "\2\140\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\11\6\1\112\4\6\1\0\1\77\1\0\1\6\4\140"+
-    "\1\141\2\0\1\142\11\6\1\112\3\6\1\0\5\6"+
-    "\1\0\1\6\2\140\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\143\1\0\1\144\1\0\6\143\3\0"+
-    "\15\143\1\0\5\143\1\0\3\143\4\0\2\143\1\0"+
-    "\1\143\1\0\11\143\35\0\4\145\1\146\2\0\1\147"+
-    "\25\0\2\145\35\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\1\6\1\150\6\6\1\151\2\6\1\152\1\6"+
-    "\1\0\1\153\4\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\13\6\1\154\1\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\2\6\1\155\13\6\1\0\1\77\1\0\6\6\3\0"+
-    "\5\6\1\156\1\6\1\157\1\6\1\160\2\6\1\161"+
-    "\1\0\1\6\1\162\3\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\4\6\1\163\1\164\4\6\1\165"+
-    "\2\6\1\0\1\166\1\167\1\170\2\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\3\6\1\171\11\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\1\172\2\6\2\172\11\6\1\0"+
-    "\1\77\1\0\6\6\3\0\2\6\1\173\1\6\1\174"+
-    "\2\6\1\175\5\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\1\172\1\6\3\172\1\6"+
-    "\2\172\1\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\11\6\1\176\3\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\177\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\3\6\1\200\1\201"+
-    "\1\6\1\202\6\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\4\6\1\203\6\6\1\204"+
-    "\1\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\15\6\1\120\1\0\1\77"+
-    "\1\0\6\6\3\0\2\6\1\205\1\6\1\206\1\6"+
-    "\1\207\4\6\1\210\1\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\7\6\1\211\5\6"+
-    "\1\0\1\212\4\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\7\6\1\213\5\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\10\6\1\214\5\6\1\0\1\77\1\0\6\6\3\0"+
-    "\6\6\1\215\4\6\1\216\1\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\62\0"+
-    "\1\40\13\0\1\40\30\0\1\40\1\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\6\6\1\217\4\6\1\220"+
-    "\1\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\1\172\2\6\2\172\11\6"+
-    "\1\0\1\77\1\0\6\6\3\0\2\6\1\221\7\6"+
-    "\1\222\1\223\1\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\1\172\1\6\3\172\1\6"+
-    "\2\172\1\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\13\6\1\36\1\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\12\0\64\46"+
-    "\1\0\31\46\1\0\16\224\1\0\1\225\1\0\6\224"+
-    "\3\0\15\224\1\0\5\224\1\0\3\224\4\0\2\224"+
-    "\1\0\1\224\1\0\11\224\12\0\62\60\1\0\1\60"+
-    "\2\0\30\60\3\226\1\227\7\226\1\230\23\226\1\231"+
-    "\2\226\1\232\1\226\1\233\1\234\14\226\1\235\1\236"+
-    "\1\226\1\237\30\226\63\64\3\0\30\64\3\226\1\227"+
-    "\7\226\1\230\23\226\1\240\2\226\1\232\1\226\1\233"+
-    "\1\234\14\226\1\235\1\236\1\226\1\237\30\226\1\0"+
-    "\1\70\2\6\1\72\1\70\1\73\4\6\1\74\1\75"+
-    "\2\6\1\76\1\77\1\0\3\6\1\74\1\6\1\100"+
-    "\3\0\1\6\1\100\1\6\1\101\2\6\1\73\3\6"+
-    "\1\75\1\6\1\102\1\0\5\6\1\0\1\6\1\101"+
-    "\1\102\4\0\2\6\1\0\1\6\1\0\1\70\1\6"+
-    "\3\70\1\6\1\72\1\70\1\6\13\0\1\241\1\6"+
-    "\4\241\4\6\1\241\2\6\1\241\1\242\1\77\1\0"+
-    "\1\6\1\241\1\6\1\241\2\6\3\0\1\241\1\6"+
-    "\1\241\3\6\1\241\5\6\1\241\1\0\5\6\1\0"+
-    "\2\6\1\241\4\0\2\6\1\0\1\6\1\0\1\241"+
-    "\1\6\3\241\1\6\2\241\1\6\13\0\1\72\2\6"+
-    "\2\72\1\73\4\6\1\74\3\6\1\76\1\77\1\0"+
-    "\3\6\1\74\2\6\3\0\6\6\1\73\5\6\1\102"+
-    "\1\0\5\6\1\0\2\6\1\102\4\0\2\6\1\0"+
-    "\1\6\1\0\1\72\1\6\3\72\1\6\2\72\1\6"+
-    "\13\0\1\243\2\6\2\243\1\6\1\244\7\6\1\0"+
-    "\1\77\1\0\6\6\3\0\15\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\1\243\1\6"+
-    "\3\243\1\6\2\243\1\6\13\0\1\76\2\0\2\76"+
-    "\1\245\4\0\1\246\11\0\1\246\13\0\1\245\5\0"+
-    "\1\247\11\0\1\247\11\0\1\76\1\0\3\76\1\0"+
-    "\2\76\14\0\10\6\1\250\5\6\1\0\1\77\1\0"+
-    "\6\6\3\0\15\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\10\6\1\251"+
-    "\5\6\1\0\1\77\1\0\6\6\3\0\15\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\1\252\1\253\1\6\1\72\1\252\1\73"+
-    "\4\6\1\74\1\75\2\6\1\76\1\77\1\0\3\6"+
-    "\1\74\1\6\1\100\3\0\1\6\1\100\1\6\1\101"+
-    "\2\6\1\73\3\6\1\75\1\6\1\102\1\0\5\6"+
-    "\1\0\1\6\1\101\1\102\4\0\2\6\1\0\1\253"+
-    "\1\0\1\252\1\6\3\252\1\6\1\72\1\252\1\6"+
-    "\13\0\1\106\2\6\2\106\1\73\4\6\1\74\1\75"+
-    "\2\6\1\76\1\77\1\0\3\6\1\74\1\6\1\100"+
-    "\3\0\1\6\1\100\1\6\1\101\2\6\1\73\3\6"+
-    "\1\75\1\6\1\102\1\0\5\6\1\0\1\6\1\101"+
-    "\1\102\4\0\2\6\1\0\1\6\1\0\1\106\1\6"+
-    "\3\106\1\6\2\106\1\6\13\0\11\6\1\112\4\6"+
-    "\1\0\1\77\1\0\6\6\3\0\11\6\1\112\3\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\1\76\2\0\2\76\65\0\1\76"+
-    "\1\0\3\76\1\0\2\76\14\0\12\6\1\254\3\6"+
-    "\1\0\1\77\1\0\3\6\1\254\2\6\3\0\15\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\6\6\1\255\7\6\1\0\1\77"+
-    "\1\0\6\6\3\0\15\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\1\6\1\256\13\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\4\6\1\257\10\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\12\6"+
-    "\1\254\3\6\1\0\1\77\1\0\3\6\1\254\2\6"+
-    "\3\0\1\6\1\260\1\6\1\261\6\6\1\262\2\6"+
-    "\1\0\5\6\1\0\3\6\4\0\1\263\1\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\6\6\1\257\6\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\11\6\1\264\4\6\1\0\1\77\1\0\6\6\3\0"+
-    "\11\6\1\264\3\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\1\6\1\265\4\6\1\266"+
-    "\2\6\1\267\3\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\13\6\1\270\1\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\1\6\1\271\13\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\124\4\0"+
-    "\5\124\2\0\16\124\1\0\11\124\3\0\3\124\1\0"+
-    "\1\124\1\0\11\124\13\0\16\124\4\0\5\124\2\0"+
-    "\11\124\1\272\4\124\1\0\11\124\3\0\3\124\1\0"+
-    "\1\124\1\0\11\124\13\0\10\124\1\273\5\124\4\0"+
-    "\5\124\2\0\16\124\1\0\11\124\3\0\3\124\1\0"+
-    "\1\124\1\0\11\124\13\0\16\124\4\0\5\124\2\0"+
-    "\2\124\1\274\1\275\12\124\1\0\11\124\3\0\3\124"+
-    "\1\0\1\124\1\0\11\124\13\0\10\124\1\276\5\124"+
-    "\4\0\5\124\2\0\14\124\1\277\1\124\1\0\11\124"+
-    "\3\0\3\124\1\0\1\124\1\0\11\124\13\0\16\124"+
-    "\4\0\5\124\2\0\10\124\1\300\1\124\1\301\3\124"+
-    "\1\0\11\124\3\0\3\124\1\0\1\124\1\0\11\124"+
-    "\13\0\16\124\4\0\5\124\2\0\5\124\1\302\1\303"+
-    "\5\124\1\304\1\124\1\0\11\124\3\0\3\124\1\0"+
-    "\1\124\1\0\11\124\13\0\16\124\4\0\5\124\2\0"+
-    "\3\124\1\305\4\124\1\306\5\124\1\0\11\124\3\0"+
-    "\3\124\1\0\1\124\1\0\11\124\13\0\16\124\4\0"+
-    "\5\124\2\0\6\124\1\307\3\124\1\310\3\124\1\0"+
-    "\11\124\3\0\3\124\1\0\1\124\1\0\11\124\13\0"+
-    "\16\124\4\0\5\124\2\0\7\124\1\311\6\124\1\0"+
-    "\11\124\3\0\3\124\1\0\1\124\1\0\11\124\13\0"+
-    "\16\124\4\0\5\124\2\0\7\124\1\312\6\124\1\0"+
-    "\11\124\3\0\3\124\1\0\1\124\1\0\11\124\13\0"+
-    "\16\313\1\0\1\314\1\0\6\313\3\0\15\313\1\0"+
-    "\5\313\1\0\3\313\4\0\2\313\1\0\1\313\1\0"+
-    "\11\313\35\0\4\315\1\316\2\0\1\142\25\0\2\315"+
-    "\35\0\16\143\1\0\1\144\1\0\6\143\1\317\1\320"+
-    "\1\0\15\143\1\0\5\143\1\0\3\143\4\0\2\143"+
-    "\1\0\1\143\1\0\11\143\33\0\1\143\75\0\16\321"+
-    "\1\0\1\322\1\0\6\321\3\0\15\321\1\0\5\321"+
-    "\1\0\3\321\4\0\2\321\1\0\1\321\1\0\11\321"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\2\6"+
-    "\1\323\12\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\5\6\1\324\7\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\11\6"+
-    "\1\325\3\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\6\6\1\326\6\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\11\6"+
-    "\1\327\3\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\3\6\1\330\11\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\4\6"+
-    "\1\331\10\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\7\6\1\332\5\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\11\6"+
-    "\1\333\2\6\1\213\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\14\6\1\334\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\6\6"+
-    "\1\331\6\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\2\6\1\335\13\6"+
-    "\1\0\1\77\1\0\6\6\3\0\15\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\2\6"+
-    "\1\336\1\6\1\337\10\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\2\6\1\340\4\6"+
-    "\1\341\5\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\1\6\1\342\5\6\1\342\5\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\6\6\1\337\6\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\3\6\1\343\5\6"+
-    "\1\344\3\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\15\6\1\0\1\345\4\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\1\172\2\6\2\172\11\6\1\0\1\77\1\0\6\6"+
-    "\3\0\15\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\1\172\1\6\3\172\1\6\2\172"+
-    "\1\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\1\346\14\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\2\6\1\347\13\6"+
-    "\1\0\1\77\1\0\6\6\3\0\15\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\10\6\1\350\5\6\1\0\1\77\1\0\6\6"+
-    "\3\0\13\6\1\351\1\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\4\6\1\352\10\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\6\6\1\353\6\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\4\6\1\354\10\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\11\6\1\355\3\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\10\6\1\334\1\6"+
-    "\1\356\2\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\1\6\1\334\13\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\11\6"+
-    "\1\357\3\6\1\0\5\6\1\0\3\6\4\0\1\360"+
-    "\1\6\1\0\1\6\1\0\11\6\13\0\11\6\1\264"+
-    "\4\6\1\0\1\77\1\0\6\6\3\0\11\6\1\264"+
-    "\1\361\2\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\1\6\1\362\13\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\15\6"+
-    "\1\0\1\6\1\363\2\6\1\364\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\6\6\1\365"+
-    "\7\6\1\0\1\77\1\0\6\6\3\0\5\6\1\366"+
-    "\4\6\1\367\2\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\2\6\1\370\1\6\1\371"+
-    "\10\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\7\6\1\372\5\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\6\6\1\373\7\6\1\0\1\77\1\0\6\6\3\0"+
-    "\15\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\15\6\1\0\5\6\1\0\3\6\4\0"+
-    "\1\334\1\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\1\374\14\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\4\6\1\375\10\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\11\6\1\376\3\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\12\6\1\377\2\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\7\6\1\u0100\5\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\2\6\1\u0101\12\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\1\6\1\u0102\13\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\224\1\0\1\225\1\0\6\224\3\0"+
-    "\15\224\1\0\5\224\1\0\3\224\4\0\2\224\1\0"+
-    "\1\224\1\0\11\224\1\0\1\u0103\31\0\1\224\75\0"+
-    "\1\u0104\1\0\4\u0104\4\0\1\u0104\2\0\1\u0104\4\0"+
-    "\1\u0104\1\0\1\u0104\5\0\1\u0104\1\0\1\u0104\3\0"+
-    "\1\u0104\5\0\1\u0104\11\0\1\u0104\11\0\1\u0104\1\0"+
-    "\3\u0104\1\0\2\u0104\14\0\1\u0105\1\0\4\u0105\4\0"+
-    "\1\u0105\2\0\1\u0105\4\0\1\u0105\1\0\1\u0105\5\0"+
-    "\1\u0105\1\0\1\u0105\3\0\1\u0105\5\0\1\u0105\11\0"+
-    "\1\u0105\11\0\1\u0105\1\0\3\u0105\1\0\2\u0105\14\0"+
-    "\1\241\1\6\4\241\1\6\1\73\2\6\1\241\1\75"+
-    "\1\6\1\241\1\u0106\1\77\1\0\1\6\1\241\1\6"+
-    "\1\241\1\6\1\100\3\0\1\241\1\100\1\241\1\101"+
-    "\1\6\1\73\1\241\3\6\1\75\1\6\1\241\1\0"+
-    "\5\6\1\0\1\6\1\101\1\241\4\0\2\6\1\0"+
-    "\1\6\1\0\1\241\1\6\3\241\1\6\2\241\1\6"+
-    "\13\0\1\u0106\1\0\4\u0106\4\0\1\u0106\2\0\1\u0106"+
-    "\4\0\1\u0106\1\0\1\u0106\5\0\1\u0106\1\0\1\u0106"+
-    "\3\0\1\u0106\5\0\1\u0106\11\0\1\u0106\11\0\1\u0106"+
-    "\1\0\3\u0106\1\0\2\u0106\14\0\1\243\2\6\2\243"+
-    "\5\6\1\74\3\6\1\0\1\77\1\0\3\6\1\74"+
-    "\2\6\3\0\14\6\1\102\1\0\5\6\1\0\2\6"+
-    "\1\102\4\0\2\6\1\0\1\6\1\0\1\243\1\6"+
-    "\3\243\1\6\2\243\1\6\13\0\1\243\2\6\2\243"+
-    "\11\6\1\0\1\77\1\0\6\6\3\0\15\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\1\243\1\6\3\243\1\6\2\243\1\6\13\0\1\u0107"+
-    "\2\0\2\u0107\1\0\1\u0108\63\0\1\u0107\1\0\3\u0107"+
-    "\1\0\2\u0107\14\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\1\6\1\u0109\13\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\14\6\1\u010a\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\1\252\2\6\1\72\1\252\1\73\4\6"+
-    "\1\74\1\75\2\6\1\76\1\77\1\0\3\6\1\74"+
-    "\1\6\1\100\3\0\1\6\1\100\1\6\1\101\2\6"+
-    "\1\73\3\6\1\75\1\6\1\102\1\0\5\6\1\0"+
-    "\1\6\1\101\1\102\4\0\2\6\1\0\1\6\1\0"+
-    "\1\252\1\6\3\252\1\6\1\72\1\252\1\6\13\0"+
-    "\1\u010b\1\6\4\u010b\4\6\1\u010b\2\6\1\u010b\1\242"+
-    "\1\77\1\0\1\6\1\u010b\1\6\1\u010b\2\6\3\0"+
-    "\1\u010b\1\6\1\u010b\3\6\1\u010b\5\6\1\u010b\1\0"+
-    "\5\6\1\0\2\6\1\u010b\4\0\2\6\1\0\1\6"+
-    "\1\0\1\u010b\1\6\3\u010b\1\6\2\u010b\1\6\13\0"+
-    "\10\6\1\u010c\5\6\1\0\1\77\1\0\2\6\1\u010c"+
-    "\3\6\3\0\15\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\1\6\1\u010d\4\6\1\u010e"+
-    "\2\6\1\u010f\3\6\1\0\1\6\1\u010d\3\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\6\6\1\u0110"+
-    "\6\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\12\6\1\u0111\2\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\10\6\1\u0112\5\6\1\0\1\77\1\0\6\6\3\0"+
-    "\15\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\12\6\1\u0113\2\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\6\6\1\u0114\7\6\1\0\1\77\1\0\6\6\3\0"+
-    "\6\6\1\u0115\6\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\13\6\1\u0116\1\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\12\6\1\74\3\6\1\0\1\77\1\0"+
-    "\3\6\1\74\2\6\3\0\14\6\1\102\1\0\5\6"+
-    "\1\0\2\6\1\102\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\1\6\1\u0117\13\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\1\6\1\u0118\13\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\2\6\1\u0119\12\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\2\6\1\u011a\12\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\3\6\1\371\11\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\124\4\0"+
-    "\5\124\2\0\6\124\1\u011b\7\124\1\0\11\124\3\0"+
-    "\3\124\1\0\1\124\1\0\11\124\13\0\16\124\4\0"+
-    "\5\124\2\0\7\124\1\u011c\6\124\1\0\11\124\3\0"+
-    "\3\124\1\0\1\124\1\0\11\124\13\0\16\124\4\0"+
-    "\5\124\2\0\3\124\1\u011d\12\124\1\0\11\124\3\0"+
-    "\3\124\1\0\1\124\1\0\11\124\13\0\16\124\4\0"+
-    "\5\124\2\0\13\124\1\u011e\2\124\1\0\11\124\3\0"+
-    "\3\124\1\0\1\124\1\0\11\124\13\0\16\124\4\0"+
-    "\5\124\2\0\12\124\1\u011f\3\124\1\0\11\124\3\0"+
-    "\3\124\1\0\1\124\1\0\11\124\13\0\16\124\4\0"+
-    "\5\124\2\0\1\124\1\u0120\14\124\1\0\11\124\3\0"+
-    "\3\124\1\0\1\124\1\0\11\124\13\0\16\124\4\0"+
-    "\5\124\2\0\10\124\1\u0121\5\124\1\0\11\124\3\0"+
-    "\3\124\1\0\1\124\1\0\11\124\13\0\16\124\4\0"+
-    "\5\124\2\0\12\124\1\u0122\3\124\1\0\11\124\3\0"+
-    "\3\124\1\0\1\124\1\0\11\124\13\0\2\124\1\u0123"+
-    "\13\124\4\0\5\124\2\0\6\124\1\u0124\7\124\1\0"+
-    "\11\124\3\0\3\124\1\0\1\124\1\0\11\124\13\0"+
-    "\16\124\4\0\5\124\2\0\3\124\1\u0125\12\124\1\0"+
-    "\11\124\3\0\3\124\1\0\1\124\1\0\11\124\13\0"+
-    "\16\124\4\0\5\124\2\0\5\124\1\u0126\10\124\1\0"+
-    "\11\124\3\0\3\124\1\0\1\124\1\0\11\124\13\0"+
-    "\16\124\4\0\5\124\2\0\1\124\1\u0127\6\124\1\u0128"+
-    "\5\124\1\0\11\124\3\0\3\124\1\0\1\124\1\0"+
-    "\11\124\13\0\16\124\4\0\5\124\2\0\14\124\1\u0129"+
-    "\1\124\1\0\11\124\3\0\3\124\1\0\1\124\1\0"+
-    "\11\124\13\0\10\124\1\u012a\5\124\4\0\5\124\2\0"+
-    "\16\124\1\0\11\124\3\0\3\124\1\0\1\124\1\0"+
-    "\11\124\13\0\16\124\4\0\5\124\2\0\5\124\1\u012b"+
-    "\7\124\1\u012c\1\0\11\124\3\0\3\124\1\0\1\124"+
-    "\1\0\11\124\13\0\16\124\4\0\5\124\2\0\4\124"+
-    "\1\u012d\11\124\1\0\1\124\1\u012e\7\124\3\0\3\124"+
-    "\1\0\1\124\1\0\11\124\13\0\16\124\4\0\5\124"+
-    "\2\0\13\124\1\u012f\2\124\1\0\11\124\3\0\3\124"+
-    "\1\0\1\124\1\0\11\124\13\0\16\313\1\0\1\314"+
-    "\1\0\6\313\1\316\1\315\1\0\15\313\1\0\5\313"+
-    "\1\0\3\313\4\0\2\313\1\0\1\313\1\0\11\313"+
-    "\33\0\1\313\75\0\16\u0130\1\0\1\u0131\1\0\6\u0130"+
-    "\3\0\15\u0130\1\0\5\u0130\1\0\3\u0130\4\0\2\u0130"+
-    "\1\0\1\u0130\1\0\11\u0130\13\0\16\u0132\1\0\1\u0133"+
-    "\1\0\6\u0132\3\0\15\u0132\1\0\5\u0132\1\0\3\u0132"+
-    "\4\0\2\u0132\1\0\1\u0132\1\0\11\u0132\13\0\16\321"+
-    "\1\0\1\322\1\0\6\321\1\146\1\145\1\0\15\321"+
-    "\1\0\5\321\1\0\3\321\4\0\2\321\1\0\1\321"+
-    "\1\0\11\321\33\0\1\321\75\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\3\6\1\u0134\11\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\6\6\1\u0135\7\6\1\0\1\77\1\0\6\6"+
-    "\3\0\1\6\1\u0136\13\6\1\0\1\6\1\u0136\3\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\3\6"+
-    "\1\u0137\11\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\1\u0138\14\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\15\6\1\0"+
-    "\1\6\1\u0139\3\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\12\6\1\u013a\2\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\12\6\1\u013b"+
-    "\2\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\2\6\1\u013c\12\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\13\6\1\u013d"+
-    "\1\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\6\6\1\u013e\7\6\1\0"+
-    "\1\77\1\0\6\6\3\0\15\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\6\6\1\u013f\7\6\1\0\1\77\1\0\6\6\3\0"+
-    "\15\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\7\6\1\u0140\5\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\12\6\1\u0141"+
-    "\2\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\12\6\1\u0142\2\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\10\6\1\u0143\5\6\1\0\1\77\1\0\6\6\3\0"+
-    "\15\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\6\6\1\u0144\7\6\1\0"+
-    "\1\77\1\0\6\6\3\0\15\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\12\6\1\u0145"+
-    "\2\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\1\u0146\11\6\1\u0147\2\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\7\6"+
-    "\1\342\5\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\15\6\1\0\3\6\1\u0148\1\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\1\6"+
-    "\1\u0142\13\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\15\6\1\0\5\6\1\0\3\6"+
-    "\4\0\1\u0149\1\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\12\6\1\u014a"+
-    "\2\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\10\6\1\u014b\4\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\1\u014c\14\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\2\6\1\u014d\13\6\1\0\1\77"+
-    "\1\0\6\6\3\0\15\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\12\6\1\u014e\2\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\4\6\1\u014f\10\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\10\6"+
-    "\1\u0150\5\6\1\0\1\77\1\0\6\6\3\0\15\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\6\6\1\u0151\6\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\10\6"+
-    "\1\u0152\5\6\1\0\1\77\1\0\6\6\3\0\15\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\1\6\1\u0153\13\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\6\6"+
-    "\1\u0154\7\6\1\0\1\77\1\0\6\6\3\0\15\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\6\6\1\u0155\7\6\1\0\1\77"+
-    "\1\0\6\6\3\0\15\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\3\6\1\u0156\2\6"+
-    "\1\u0157\6\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\6\6\1\u0158\7\6"+
-    "\1\0\1\77\1\0\6\6\3\0\15\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\11\6"+
-    "\1\u0159\3\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\6\6\1\u015a\6\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\13\6"+
-    "\1\u015b\1\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\10\6\1\u015c\5\6"+
-    "\1\0\1\77\1\0\6\6\3\0\1\6\1\u015d\13\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\1\6\1\u015e\13\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\2\6"+
-    "\1\u015f\13\6\1\0\1\77\1\0\6\6\3\0\15\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\6\6\1\u0160\6\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\13\6\1\u0161\1\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\2\6\1\u0162\12\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\2\6"+
-    "\1\u0163\13\6\1\0\1\77\1\0\6\6\3\0\15\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\2\6\1\u0164\12\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\1\u0165"+
-    "\1\0\4\u0165\4\0\1\u0165\2\0\1\u0165\4\0\1\u0165"+
-    "\1\0\1\u0165\5\0\1\u0165\1\0\1\u0165\3\0\1\u0165"+
-    "\5\0\1\u0165\11\0\1\u0165\11\0\1\u0165\1\0\3\u0165"+
-    "\1\0\2\u0165\14\0\1\u0166\1\0\4\u0166\4\0\1\u0166"+
-    "\2\0\1\u0166\4\0\1\u0166\1\0\1\u0166\5\0\1\u0166"+
-    "\1\0\1\u0166\3\0\1\u0166\5\0\1\u0166\11\0\1\u0166"+
-    "\11\0\1\u0166\1\0\3\u0166\1\0\2\u0166\14\0\1\u0106"+
-    "\1\0\4\u0106\1\0\1\245\2\0\1\u0106\2\0\1\u0106"+
-    "\4\0\1\u0106\1\0\1\u0106\5\0\1\u0106\1\0\1\u0106"+
-    "\2\0\1\245\1\u0106\5\0\1\u0106\11\0\1\u0106\11\0"+
-    "\1\u0106\1\0\3\u0106\1\0\2\u0106\14\0\1\u0107\2\0"+
-    "\2\u0107\5\0\1\246\11\0\1\246\21\0\1\247\11\0"+
-    "\1\247\11\0\1\u0107\1\0\3\u0107\1\0\2\u0107\14\0"+
-    "\1\u0107\2\0\2\u0107\65\0\1\u0107\1\0\3\u0107\1\0"+
-    "\2\u0107\14\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\14\6\1\u0167\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\15\6\1\0\1\6\1\u0168\3\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\1\u010b\1\6\4\u010b\1\6\1\73\2\6\1\u010b"+
-    "\1\75\1\6\1\u010b\1\u0106\1\77\1\0\1\6\1\u010b"+
-    "\1\6\1\u010b\1\6\1\100\3\0\1\u010b\1\100\1\u010b"+
-    "\1\101\1\6\1\73\1\u010b\3\6\1\75\1\6\1\u010b"+
-    "\1\0\5\6\1\0\1\6\1\101\1\u010b\4\0\2\6"+
-    "\1\0\1\6\1\0\1\u010b\1\6\3\u010b\1\6\2\u010b"+
-    "\1\6\13\0\11\6\1\u0169\4\6\1\0\1\77\1\0"+
-    "\6\6\3\0\11\6\1\u0169\3\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\6\6\1\u016a"+
-    "\3\6\1\u016a\2\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\15\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\5\6\1\u016a"+
-    "\3\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\6\6\1\u016a\6\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\15\6\1\0\1\6\1\u016b"+
-    "\3\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\6\6\1\u016c\7\6\1\0\1\77\1\0"+
-    "\6\6\3\0\15\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\11\6\1\u016d\3\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\2\6\1\u016e\12\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\12\6\1\u016f\2\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\7\6\1\u0170\5\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\15\6\1\0\3\6\1\u0171"+
-    "\1\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\6\6\1\u0172\7\6\1\0\1\77\1\0"+
-    "\6\6\3\0\6\6\1\u0173\6\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\14\6\1\u0174"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\1\6\1\u014b\13\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\12\6\1\u0175\2\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\124\4\0\5\124\2\0\2\124"+
-    "\1\u0176\13\124\1\0\11\124\3\0\3\124\1\0\1\124"+
-    "\1\0\11\124\13\0\16\124\4\0\5\124\2\0\2\124"+
-    "\1\u0177\13\124\1\0\11\124\3\0\3\124\1\0\1\124"+
-    "\1\0\11\124\13\0\16\124\4\0\5\124\2\0\4\124"+
-    "\1\u0178\11\124\1\0\11\124\3\0\3\124\1\0\1\124"+
-    "\1\0\11\124\13\0\16\124\4\0\5\124\2\0\1\124"+
-    "\1\u0179\14\124\1\0\11\124\3\0\3\124\1\0\1\124"+
-    "\1\0\11\124\13\0\16\124\4\0\5\124\2\0\7\124"+
-    "\1\u017a\6\124\1\0\11\124\3\0\3\124\1\0\1\124"+
-    "\1\0\11\124\13\0\16\124\4\0\5\124\2\0\3\124"+
-    "\1\u017b\12\124\1\0\11\124\3\0\3\124\1\0\1\124"+
-    "\1\0\11\124\13\0\16\124\4\0\5\124\2\0\3\124"+
-    "\1\u017c\12\124\1\0\11\124\3\0\3\124\1\0\1\124"+
-    "\1\0\11\124\13\0\16\124\4\0\5\124\2\0\14\124"+
-    "\1\u017d\1\124\1\0\11\124\3\0\3\124\1\0\1\124"+
-    "\1\0\11\124\13\0\16\124\4\0\5\124\2\0\3\124"+
-    "\1\u017e\12\124\1\0\11\124\3\0\3\124\1\0\1\124"+
-    "\1\0\11\124\13\0\16\124\4\0\5\124\2\0\7\124"+
-    "\1\u017f\6\124\1\0\11\124\3\0\3\124\1\0\1\124"+
-    "\1\0\11\124\13\0\16\124\4\0\5\124\2\0\10\124"+
-    "\1\u0180\5\124\1\0\11\124\3\0\3\124\1\0\1\124"+
-    "\1\0\11\124\13\0\16\124\4\0\5\124\2\0\10\124"+
-    "\1\u0181\5\124\1\0\11\124\3\0\3\124\1\0\1\124"+
-    "\1\0\11\124\13\0\16\124\4\0\5\124\2\0\16\124"+
-    "\1\0\3\124\1\u0182\5\124\3\0\3\124\1\0\1\124"+
-    "\1\0\11\124\13\0\16\124\4\0\5\124\2\0\3\124"+
-    "\1\u0183\12\124\1\0\11\124\3\0\3\124\1\0\1\124"+
-    "\1\0\11\124\13\0\16\124\4\0\5\124\2\0\2\124"+
-    "\1\u0184\13\124\1\0\11\124\3\0\3\124\1\0\1\124"+
-    "\1\0\11\124\13\0\16\124\4\0\5\124\2\0\2\124"+
-    "\1\u0185\13\124\1\0\11\124\3\0\3\124\1\0\1\124"+
-    "\1\0\11\124\13\0\16\124\4\0\5\124\2\0\11\124"+
-    "\1\u0186\4\124\1\0\11\124\3\0\3\124\1\0\1\124"+
-    "\1\0\11\124\13\0\16\124\4\0\5\124\2\0\16\124"+
-    "\1\u0187\11\124\3\0\3\124\1\0\1\124\1\0\11\124"+
-    "\13\0\16\124\4\0\5\124\2\0\13\124\1\u0188\2\124"+
-    "\1\0\11\124\3\0\3\124\1\0\1\124\1\0\11\124"+
-    "\13\0\10\124\1\u0189\5\124\4\0\5\124\2\0\16\124"+
-    "\1\0\11\124\3\0\3\124\1\0\1\124\1\0\11\124"+
-    "\13\0\16\124\4\0\5\124\2\0\16\124\1\0\1\u018a"+
-    "\10\124\3\0\3\124\1\0\1\124\1\0\11\124\13\0"+
-    "\16\u0130\1\0\1\u0131\1\0\6\u0130\1\316\1\315\1\0"+
-    "\15\u0130\1\0\5\u0130\1\0\3\u0130\4\0\2\u0130\1\0"+
-    "\1\u0130\1\0\11\u0130\33\0\1\u0130\75\0\16\u0132\1\0"+
-    "\1\u0133\1\0\6\u0132\1\317\1\320\1\0\15\u0132\1\0"+
-    "\5\u0132\1\0\3\u0132\4\0\2\u0132\1\0\1\u0132\1\0"+
-    "\11\u0132\33\0\1\u0132\75\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\3\6\1\u018b\11\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\1\6\1\u018c"+
-    "\13\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\6\6\1\u018d\7\6\1\0"+
-    "\1\77\1\0\6\6\3\0\15\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\12\6\1\u018e"+
-    "\2\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\15\6\1\0\3\6\1\u018f\1\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\6\6\1\u0190\7\6\1\0\1\77\1\0\6\6\3\0"+
-    "\15\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\7\6\1\u0191\5\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\6\6\1\u0192\7\6\1\0\1\77\1\0\6\6\3\0"+
-    "\15\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\15\6\1\0\2\6\1\u0193\2\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\12\6\1\u0194"+
-    "\2\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\10\6\1\u015c\1\6\1\u0195"+
-    "\3\6\1\0\1\77\1\0\6\6\3\0\1\6\1\u015d"+
-    "\12\6\1\u0196\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\10\6\1\u0197\1\6"+
-    "\1\u0195\3\6\1\0\1\77\1\0\6\6\3\0\1\6"+
-    "\1\u015d\12\6\1\u0196\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\3\6\1\u0198\11\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\6\6\1\u0199\7\6\1\0\1\77\1\0"+
-    "\6\6\3\0\15\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\10\6\1\u019a"+
-    "\5\6\1\0\1\77\1\0\6\6\3\0\15\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\1\u019b\14\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\10\6\1\u019c\5\6"+
-    "\1\0\1\77\1\0\6\6\3\0\1\6\1\u015d\13\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\6\6\1\u019d\6\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\15\6\1\0\1\u019e"+
-    "\4\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\15\6\1\0\1\u019f\4\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\6\6\1\u01a0\6\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\2\6"+
-    "\1\u01a1\12\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\6\6\1\u01a2\6\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\4\6"+
-    "\1\u01a3\10\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\6\6\1\u01a4\7\6"+
-    "\1\0\1\77\1\0\6\6\3\0\15\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\10\6\1\u01a5\5\6\1\0\1\77\1\0\6\6"+
-    "\3\0\15\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\7\6\1\u01a6\5\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\12\6"+
-    "\1\u01a7\2\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\6\6\1\u01a8\7\6"+
-    "\1\0\1\77\1\0\6\6\1\u01a9\2\0\15\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\15\6\1\0\5\6\1\0\3\6\4\0\1\u0168\1\6"+
-    "\1\0\1\6\1\0\11\6\13\0\10\6\1\u01aa\1\6"+
-    "\1\u01ab\3\6\1\0\1\77\1\0\6\6\3\0\1\6"+
-    "\1\u01ac\12\6\1\u01ad\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\10\6\1\u01ae"+
-    "\5\6\1\0\1\77\1\0\6\6\3\0\2\6\1\u01af"+
-    "\12\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\4\6\1\u01b0\10\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\7\6\1\u01b1"+
-    "\5\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\10\6\1\u01aa\5\6\1\0"+
-    "\1\77\1\0\6\6\3\0\1\6\1\u01ac\13\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\3\6\1\u01b2\11\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\15\6\1\0\4\6\1\u01b3"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\11\6"+
-    "\1\u01b4\3\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\13\6\1\u01b5\1\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\2\6"+
-    "\1\u01b6\12\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\1\6\1\u01b7\13\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\7\6"+
-    "\1\u01b8\5\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\1\u01b9\2\0\15\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\7\6\1\u01ba"+
-    "\5\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\1\6\1\u01bb\13\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\12\6\1\u01bc"+
-    "\2\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\1\u01bd\1\0\4\u01bd\4\0"+
-    "\1\u01bd\2\0\1\u01bd\4\0\1\u01bd\1\0\1\u01bd\5\0"+
-    "\1\u01bd\1\0\1\u01bd\3\0\1\u01bd\5\0\1\u01bd\11\0"+
-    "\1\u01bd\11\0\1\u01bd\1\0\3\u01bd\1\0\2\u01bd\14\0"+
-    "\1\u01be\1\0\4\u01be\4\0\1\u01be\2\0\1\u01be\4\0"+
-    "\1\u01be\1\0\1\u01be\5\0\1\u01be\1\0\1\u01be\3\0"+
-    "\1\u01be\5\0\1\u01be\11\0\1\u01be\11\0\1\u01be\1\0"+
-    "\3\u01be\1\0\2\u01be\14\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\6\6\1\u014b\6\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\10\6\1\u01bf\5\6\1\0\1\77\1\0\2\6\1\u01bf"+
-    "\3\6\3\0\15\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\15\6\1\0\5\6\1\0"+
-    "\3\6\4\0\1\6\1\u01c0\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\2\6"+
-    "\1\u01c1\12\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\2\6\1\u01c2\13\6"+
-    "\1\0\1\77\1\0\6\6\3\0\1\u01c3\2\6\1\u01c4"+
-    "\7\6\1\u01c5\1\6\1\0\4\6\1\u01c6\1\0\3\6"+
-    "\4\0\1\u01c7\1\6\1\0\1\6\1\0\5\6\1\u01c8"+
-    "\3\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\6\6\1\u01c9\6\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\11\6\1\u01ca\3\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\13\6\1\u01cb\1\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\12\6\1\u01cc"+
-    "\3\6\1\0\1\77\1\0\6\6\3\0\15\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\6\6\1\u01cd\6\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\2\6\1\u01ce\12\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\14\6\1\u01cf\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\15\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\u01d0\1\6\1\0\11\6\13\0\6\6"+
-    "\1\u01d1\7\6\1\0\1\77\1\0\6\6\3\0\15\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\124\4\0\5\124\2\0\7\124"+
-    "\1\u01d2\6\124\1\0\11\124\3\0\3\124\1\0\1\124"+
-    "\1\0\11\124\13\0\16\124\4\0\5\124\2\0\15\124"+
-    "\1\u01d3\1\0\11\124\3\0\3\124\1\0\1\124\1\0"+
-    "\11\124\13\0\16\124\4\0\5\124\2\0\4\124\1\u01d4"+
-    "\11\124\1\0\11\124\3\0\3\124\1\0\1\124\1\0"+
-    "\11\124\13\0\16\124\4\0\5\124\2\0\16\124\1\0"+
-    "\1\u01d5\10\124\3\0\3\124\1\0\1\124\1\0\11\124"+
-    "\13\0\16\124\4\0\5\124\2\0\2\124\1\u01d6\13\124"+
-    "\1\0\11\124\3\0\3\124\1\0\1\124\1\0\11\124"+
-    "\13\0\16\124\4\0\5\124\2\0\16\124\1\0\2\124"+
-    "\1\u01d7\6\124\3\0\3\124\1\0\1\124\1\0\11\124"+
-    "\13\0\16\124\4\0\5\124\2\0\13\124\1\u01d8\2\124"+
-    "\1\0\11\124\3\0\3\124\1\0\1\124\1\0\11\124"+
-    "\13\0\16\124\4\0\5\124\2\0\12\124\1\u01d9\3\124"+
-    "\1\0\11\124\3\0\3\124\1\0\1\124\1\0\11\124"+
-    "\13\0\16\124\4\0\5\124\2\0\10\124\1\u01da\5\124"+
-    "\1\0\11\124\3\0\3\124\1\0\1\124\1\0\11\124"+
-    "\13\0\16\124\4\0\5\124\2\0\4\124\1\u01db\11\124"+
-    "\1\0\11\124\3\0\3\124\1\0\1\124\1\0\11\124"+
-    "\13\0\16\124\4\0\5\124\2\0\1\124\1\u01dc\14\124"+
-    "\1\0\11\124\3\0\3\124\1\0\1\124\1\0\11\124"+
-    "\13\0\16\124\4\0\5\124\2\0\7\124\1\u01dd\6\124"+
-    "\1\0\11\124\3\0\3\124\1\0\1\124\1\0\11\124"+
-    "\13\0\16\124\4\0\5\124\2\0\11\124\1\u01de\4\124"+
-    "\1\0\11\124\3\0\3\124\1\0\1\124\1\0\11\124"+
-    "\13\0\16\124\4\0\5\124\2\0\14\124\1\u01df\1\124"+
-    "\1\0\11\124\3\0\3\124\1\0\1\124\1\0\11\124"+
-    "\13\0\16\124\4\0\5\124\2\0\14\124\1\u01e0\1\124"+
-    "\1\0\11\124\3\0\3\124\1\0\1\124\1\0\11\124"+
-    "\13\0\12\124\1\u01e1\3\124\4\0\5\124\2\0\2\124"+
-    "\1\u01e2\1\u01e3\1\u01e4\1\124\1\u01e5\2\124\1\u01e6\4\124"+
-    "\1\0\11\124\3\0\3\124\1\0\1\124\1\0\11\124"+
-    "\13\0\16\124\4\0\5\124\2\0\3\124\1\u01e7\12\124"+
-    "\1\0\11\124\3\0\3\124\1\0\1\124\1\0\11\124"+
-    "\13\0\16\124\4\0\5\124\2\0\4\124\1\u01e8\11\124"+
-    "\1\0\11\124\3\0\3\124\1\0\1\124\1\0\11\124"+
-    "\13\0\16\124\4\0\5\124\2\0\14\124\1\u01e9\1\124"+
-    "\1\0\11\124\3\0\3\124\1\0\1\124\1\0\11\124"+
-    "\13\0\6\6\1\u01ea\7\6\1\0\1\77\1\0\6\6"+
-    "\3\0\15\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\13\6\1\u01eb\1\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\12\6\1\u01ec\3\6\1\0\1\77\1\0\6\6"+
-    "\3\0\14\6\1\u01ed\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\6\6\1\u01ee"+
-    "\7\6\1\0\1\77\1\0\6\6\1\u01ef\2\0\7\6"+
-    "\1\u01f0\5\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\6\6\1\u01f1\7\6"+
-    "\1\0\1\77\1\0\6\6\3\0\15\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\12\6"+
-    "\1\u01f2\2\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\2\6\1\u01f3\12\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\2\6\1\u01f4\13\6\1\0\1\77\1\0\6\6"+
-    "\3\0\1\u01f5\2\6\1\u01f6\7\6\1\u01f7\1\6\1\0"+
-    "\4\6\1\u01f8\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\6\6\1\u01f9\7\6\1\0\1\77"+
-    "\1\0\6\6\3\0\15\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\2\6\1\u01fa\12\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\1\6\1\u01fb\13\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\13\6\1\u01fc\1\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\11\6\1\u01fd\3\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\6\6\1\u01fe\6\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\2\6\1\u01ff\13\6\1\0\1\77"+
-    "\1\0\6\6\3\0\1\u0200\2\6\1\u0201\7\6\1\u0202"+
-    "\1\6\1\0\4\6\1\u0203\1\0\3\6\4\0\1\u0204"+
-    "\1\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\1\u014b\14\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\12\6"+
-    "\1\u0205\2\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\11\6\1\u0206\3\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\10\6"+
-    "\1\u0167\4\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\7\6\1\u0207\5\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\6\6"+
-    "\1\340\6\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\14\6\1\u01fe\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\12\6\1\u0168"+
-    "\2\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\1\u0208\14\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\12\6\1\u0209\2\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\10\6\1\u020a\5\6\1\0\1\77"+
-    "\1\0\6\6\3\0\15\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\10\6\1\u020b\4\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\11\6\1\u020c\3\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\13\6\1\u020d\1\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\6\6\1\u020e\1\u020f\3\6\1\u0210\1\6\1\0"+
-    "\4\6\1\u0211\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\25\0\1\u0212\62\0\1\u0213\20\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\11\6\1\u0214\3\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\1\6\1\u0215\13\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\13\6\1\u0216\1\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\13\6\1\u0217\1\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\11\6\1\u0218\3\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\7\6\1\u0219\5\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\1\u021a\14\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\7\6\1\u021b\5\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\10\6\1\u021c"+
-    "\5\6\1\0\1\77\1\0\6\6\3\0\15\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\6\6\1\u021d\7\6\1\0\1\77\1\0"+
-    "\6\6\3\0\15\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\12\6\1\u021e\2\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\11\6\1\u021f\3\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\7\6\1\u0220\5\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\6\6\1\u0221\6\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\10\6\1\u0222"+
-    "\5\6\1\0\1\77\1\0\6\6\3\0\15\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\110\0\1\u0223\3\0\1\u0224\14\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\15\6\1\0\1\6\1\u0225"+
-    "\3\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\6\6\1\u0226\6\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\10\6\1\u0227"+
-    "\5\6\1\0\1\77\1\0\6\6\3\0\15\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\1\u0228\1\0\4\u0228\4\0\1\u0228\2\0"+
-    "\1\u0228\4\0\1\u0228\1\0\1\u0228\5\0\1\u0228\1\0"+
-    "\1\u0228\3\0\1\u0228\5\0\1\u0228\11\0\1\u0228\11\0"+
-    "\1\u0228\1\0\3\u0228\1\0\2\u0228\14\0\1\u0229\1\0"+
-    "\4\u0229\4\0\1\u0229\2\0\1\u0229\4\0\1\u0229\1\0"+
-    "\1\u0229\5\0\1\u0229\1\0\1\u0229\3\0\1\u0229\5\0"+
-    "\1\u0229\11\0\1\u0229\11\0\1\u0229\1\0\3\u0229\1\0"+
-    "\2\u0229\14\0\13\6\1\u022a\2\6\1\0\1\77\1\0"+
-    "\6\6\3\0\12\6\1\u022a\2\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\1\6\1\u022b"+
-    "\13\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\13\6\1\u022c\1\6\1\0\2\6\1\u022d"+
-    "\2\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\15\6\1\0\1\u022e\4\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\15\6\1\0\1\u022f\4\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\2\6\1\u0230\13\6\1\0\1\77\1\0\6\6\3\0"+
-    "\15\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\10\6\1\u0231\5\6\1\0"+
-    "\1\77\1\0\6\6\3\0\15\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\13\6\1\u0232"+
-    "\1\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\4\6\1\u0233\10\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\15\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\u0234\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\1\u0235\11\6\1\u0236\2\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\6\6"+
-    "\1\u0237\7\6\1\0\1\77\1\0\6\6\3\0\15\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\2\6\1\u0238\12\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\6\6"+
-    "\1\u0239\7\6\1\0\1\77\1\0\6\6\3\0\15\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\7\6\1\u023a\5\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\6\6"+
-    "\1\u023b\7\6\1\0\1\77\1\0\6\6\3\0\15\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\1\u023c\115\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\12\6\1\u023d\2\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\124\4\0\5\124\2\0\11\124\1\u023e\4\124"+
-    "\1\0\11\124\3\0\3\124\1\0\1\124\1\0\11\124"+
-    "\13\0\16\124\4\0\5\124\2\0\3\124\1\u023f\12\124"+
-    "\1\0\11\124\3\0\3\124\1\0\1\124\1\0\11\124"+
-    "\13\0\16\124\4\0\5\124\2\0\4\124\1\u0240\11\124"+
-    "\1\0\11\124\3\0\3\124\1\0\1\124\1\0\11\124"+
-    "\13\0\6\124\1\u0241\7\124\4\0\5\124\2\0\16\124"+
-    "\1\0\11\124\3\0\3\124\1\0\1\124\1\0\11\124"+
-    "\13\0\16\124\4\0\5\124\2\0\3\124\1\u0242\12\124"+
-    "\1\0\11\124\3\0\3\124\1\0\1\124\1\0\11\124"+
-    "\13\0\16\124\4\0\5\124\2\0\12\124\1\u0243\3\124"+
-    "\1\0\11\124\3\0\3\124\1\0\1\124\1\0\11\124"+
-    "\13\0\16\124\4\0\5\124\2\0\7\124\1\u0244\6\124"+
-    "\1\0\11\124\3\0\3\124\1\0\1\124\1\0\11\124"+
-    "\13\0\16\124\4\0\5\124\2\0\7\124\1\u0245\6\124"+
-    "\1\0\11\124\3\0\3\124\1\0\1\124\1\0\11\124"+
-    "\13\0\16\124\4\0\5\124\2\0\15\124\1\u0246\1\0"+
-    "\11\124\3\0\3\124\1\0\1\124\1\0\11\124\13\0"+
-    "\16\124\4\0\5\124\2\0\16\124\1\0\1\124\1\u0247"+
-    "\7\124\3\0\3\124\1\0\1\124\1\0\11\124\13\0"+
-    "\16\124\4\0\5\124\2\0\16\124\1\0\1\124\1\u0248"+
-    "\7\124\3\0\3\124\1\0\1\124\1\0\11\124\13\0"+
-    "\10\124\1\u0249\5\124\4\0\5\124\2\0\16\124\1\0"+
-    "\11\124\3\0\3\124\1\0\1\124\1\0\11\124\13\0"+
-    "\16\124\4\0\5\124\2\0\14\124\1\u024a\1\124\1\0"+
-    "\11\124\3\0\3\124\1\0\1\124\1\0\11\124\13\0"+
-    "\16\124\4\0\5\124\2\0\10\124\1\u024b\1\124\1\u024c"+
-    "\3\124\1\0\11\124\3\0\3\124\1\0\1\124\1\0"+
-    "\11\124\13\0\16\124\4\0\5\124\2\0\5\124\1\u024d"+
-    "\1\u024e\7\124\1\0\11\124\3\0\3\124\1\0\1\124"+
-    "\1\0\11\124\13\0\16\124\4\0\5\124\2\0\3\124"+
-    "\1\u024f\12\124\1\0\11\124\3\0\3\124\1\0\1\124"+
-    "\1\0\11\124\13\0\16\124\4\0\5\124\2\0\7\124"+
-    "\1\u0250\6\124\1\0\11\124\3\0\3\124\1\0\1\124"+
-    "\1\0\11\124\13\0\16\124\4\0\5\124\2\0\10\124"+
-    "\1\u0251\5\124\1\0\11\124\3\0\3\124\1\0\1\124"+
-    "\1\0\11\124\13\0\16\124\4\0\5\124\2\0\13\124"+
-    "\1\u0252\2\124\1\0\11\124\3\0\3\124\1\0\1\124"+
-    "\1\0\11\124\13\0\16\124\4\0\5\124\2\0\15\124"+
-    "\1\u0253\1\0\11\124\3\0\3\124\1\0\1\124\1\0"+
-    "\11\124\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\1\u0254\14\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\11\6\1\u0255\3\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\1\6"+
-    "\1\u0256\13\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\13\6\1\u0257\1\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\1\u0258"+
-    "\2\6\1\u0259\11\6\1\0\4\6\1\u025a\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\63\0\1\u025b"+
-    "\21\0\1\u025c\2\0\1\u025d\20\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\4\6\1\u025e\10\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\1\u025f"+
-    "\14\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\13\6\1\u0260\1\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\1\u0261\14\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\13\6\1\u0262\1\6\1\0\2\6\1\u0263\2\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\15\6"+
-    "\1\0\1\u0264\4\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\15\6\1\0\1\u0265\4\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\2\6"+
-    "\1\u0266\13\6\1\0\1\77\1\0\6\6\3\0\15\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\10\6\1\u0267\5\6\1\0\1\77"+
-    "\1\0\6\6\3\0\15\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\1\6\1\u0268\13\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\12\6\1\u0269\2\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\13\6\1\u026a\1\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\4\6\1\u026b\10\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\12\6\1\u026c\2\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\6\6\1\u026d\7\6\1\0\1\77"+
-    "\1\0\6\6\3\0\15\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\13\6\1\u026e\1\6"+
-    "\1\0\2\6\1\u026f\2\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\15\6\1\0\1\u0270\4\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\15\6\1\0"+
-    "\1\u0271\4\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\2\6\1\u0272\13\6\1\0\1\77"+
-    "\1\0\6\6\3\0\15\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\10\6"+
-    "\1\u0273\5\6\1\0\1\77\1\0\6\6\3\0\15\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\13\6\1\u0274\1\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\12\6"+
-    "\1\u0275\3\6\1\0\1\77\1\0\6\6\3\0\15\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\12\6\1\u0276\2\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\13\6\1\u0277\1\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\12\6\1\u0278\2\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\6\6\1\u0279\6\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\11\6\1\u027a\3\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\6\6\1\u0167\6\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\6\6\1\u027b\7\6\1\0\1\77"+
-    "\1\0\6\6\3\0\15\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\7\6\1\u027c\5\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\15\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\u027d\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\6\6\1\u027e\6\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\2\6\1\u027f\13\6\1\0\1\77\1\0\6\6"+
-    "\3\0\15\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\10\6\1\u0280\5\6"+
-    "\1\0\1\77\1\0\6\6\3\0\15\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\54\0\1\u0281\152\0\1\u0282\17\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\12\6\1\u0283\2\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\13\6"+
-    "\1\u0284\1\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\11\6\1\u0285\3\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\4\6"+
-    "\1\u0286\10\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\3\6\1\u0287\11\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\7\6"+
-    "\1\u0288\5\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\15\6\1\0\1\u0289\4\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\13\6\1\u028a"+
-    "\1\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\6\6\1\u028b\6\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\15\6\1\0"+
-    "\5\6\1\0\3\6\4\0\1\u028c\1\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\1\u028d\2\0\15\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\15\6\1\0\1\6\1\u026c"+
-    "\3\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\6\6\1\u028e\6\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\6\6\1\u028f"+
-    "\7\6\1\0\1\77\1\0\6\6\3\0\15\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\1\u0290\14\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\111\0\1\u0291\113\0\1\u0292"+
-    "\21\0\16\6\1\0\1\77\1\0\6\6\3\0\3\6"+
-    "\1\u014b\11\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\15\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\u0293\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\1\6\1\u0168\13\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\1\u0294\1\0\4\u0294\4\0\1\u0294"+
-    "\2\0\1\u0294\4\0\1\u0294\1\0\1\u0294\5\0\1\u0294"+
-    "\1\0\1\u0294\3\0\1\u0294\5\0\1\u0294\11\0\1\u0294"+
-    "\11\0\1\u0294\1\0\3\u0294\1\0\2\u0294\14\0\14\6"+
-    "\1\264\1\6\1\0\1\77\1\0\6\6\3\0\15\6"+
-    "\1\0\2\6\1\264\2\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\6\6\1\u0295\7\6"+
-    "\1\0\1\77\1\0\6\6\3\0\15\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\13\6"+
-    "\1\u0296\1\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\12\6\1\u0297\2\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\2\6"+
-    "\1\u0298\12\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\13\6\1\u0299\1\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\15\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\1\6\1\u029a\7\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\14\6\1\u029b\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\1\6\1\u029c"+
-    "\13\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\10\6\1\u029d\5\6\1\0"+
-    "\1\77\1\0\6\6\3\0\15\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\1\u029e\115\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\6\6\1\u029f\6\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\10\6\1\u02a0"+
-    "\5\6\1\0\1\77\1\0\6\6\3\0\15\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\2\6\1\u02a1\7\6\1\u01ab\3\6\1\0"+
-    "\1\77\1\0\6\6\3\0\1\u02a2\1\u01ac\1\6\1\u02a3"+
-    "\10\6\1\u01ad\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\1\u0168\14\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\10\6\1\u02a4\5\6\1\0\1\77\1\0\6\6\3\0"+
-    "\3\6\1\u02a5\7\6\1\u02a6\1\u02a7\1\0\5\6\1\0"+
-    "\3\6\4\0\1\u02a8\1\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\7\6"+
-    "\1\u02a9\5\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\11\6\1\u02aa\3\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\103\0\1\u02ab\25\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\13\6\1\u02ac\1\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\124"+
-    "\4\0\5\124\2\0\7\124\1\u02ad\6\124\1\0\11\124"+
-    "\3\0\3\124\1\0\1\124\1\0\11\124\13\0\16\124"+
-    "\4\0\5\124\2\0\2\124\1\u02ae\13\124\1\0\11\124"+
-    "\3\0\3\124\1\0\1\124\1\0\11\124\13\0\16\124"+
-    "\4\0\5\124\2\0\15\124\1\u02af\1\0\11\124\3\0"+
-    "\3\124\1\0\1\124\1\0\11\124\13\0\16\124\4\0"+
-    "\5\124\2\0\13\124\1\u02b0\2\124\1\0\11\124\3\0"+
-    "\3\124\1\0\1\124\1\0\11\124\13\0\16\124\4\0"+
-    "\5\124\2\0\14\124\1\u02b1\1\124\1\0\11\124\3\0"+
-    "\3\124\1\0\1\124\1\0\11\124\13\0\6\124\1\u02b2"+
-    "\7\124\4\0\5\124\2\0\16\124\1\0\11\124\3\0"+
-    "\3\124\1\0\1\124\1\0\11\124\13\0\6\124\1\u02b3"+
-    "\7\124\4\0\5\124\2\0\16\124\1\0\11\124\3\0"+
-    "\3\124\1\0\1\124\1\0\11\124\13\0\16\124\4\0"+
-    "\5\124\2\0\5\124\1\u02b4\10\124\1\0\11\124\3\0"+
-    "\3\124\1\0\1\124\1\0\11\124\13\0\16\124\4\0"+
-    "\5\124\2\0\5\124\1\u02b5\10\124\1\0\11\124\3\0"+
-    "\3\124\1\0\1\124\1\0\11\124\13\0\16\124\4\0"+
-    "\5\124\2\0\7\124\1\u02b6\6\124\1\0\11\124\3\0"+
-    "\3\124\1\0\1\124\1\0\11\124\13\0\16\124\4\0"+
-    "\5\124\2\0\1\124\1\u02b7\14\124\1\0\11\124\3\0"+
-    "\3\124\1\0\1\124\1\0\11\124\13\0\16\124\4\0"+
-    "\5\124\2\0\10\124\1\u02b8\5\124\1\0\11\124\3\0"+
-    "\3\124\1\0\1\124\1\0\11\124\13\0\16\124\4\0"+
-    "\5\124\2\0\12\124\1\u02b9\3\124\1\0\11\124\3\0"+
-    "\3\124\1\0\1\124\1\0\11\124\13\0\2\124\1\u02ba"+
-    "\13\124\4\0\5\124\2\0\16\124\1\0\11\124\3\0"+
-    "\3\124\1\0\1\124\1\0\11\124\13\0\16\124\4\0"+
-    "\5\124\2\0\3\124\1\u02bb\12\124\1\0\11\124\3\0"+
-    "\3\124\1\0\1\124\1\0\11\124\13\0\16\124\4\0"+
-    "\5\124\2\0\1\124\1\u02bc\6\124\1\u02bd\5\124\1\0"+
-    "\11\124\3\0\3\124\1\0\1\124\1\0\11\124\13\0"+
-    "\16\124\4\0\5\124\2\0\13\124\1\u02be\2\124\1\0"+
-    "\11\124\3\0\3\124\1\0\1\124\1\0\11\124\13\0"+
-    "\16\124\4\0\5\124\2\0\13\124\1\u02bf\2\124\1\0"+
-    "\11\124\3\0\3\124\1\0\1\124\1\0\11\124\13\0"+
-    "\16\124\4\0\5\124\2\0\7\124\1\u02c0\6\124\1\0"+
-    "\11\124\3\0\3\124\1\0\1\124\1\0\11\124\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\15\6\1\0"+
-    "\1\u02c1\4\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\15\6\1\0\1\6\1\u02c2\3\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\13\6\1\u02c3\1\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\4\6\1\u02c4\10\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\1\6\1\u02c5\13\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\12\6\1\u02c6\2\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\10\6"+
-    "\1\u02c7\5\6\1\0\1\77\1\0\6\6\3\0\15\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\23\0\1\u02c8\203\0\1\u02c9\17\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\1\u02ca\14\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\2\6\1\u02cb\12\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\6\6\1\u02cc"+
-    "\7\6\1\0\1\77\1\0\6\6\3\0\15\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\12\6\1\u014b\2\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\13\6\1\u02cd\1\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\12\6\1\u02ce\2\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\2\6\1\u02cf\12\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\13\6\1\u02d0\1\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\15\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\1\6\1\u02d1"+
-    "\7\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\14\6\1\u02ce\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\6\6\1\u02d2\6\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\10\6\1\u02d3\5\6\1\0\1\77\1\0\6\6"+
-    "\3\0\15\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\2\6\1\u01fd\12\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\2\6\1\u02d4\13\6\1\0\1\77\1\0\6\6"+
-    "\3\0\15\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\1\u02d5\2\0\15\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\3\6\1\u02d6"+
-    "\11\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\13\6\1\u02d7\1\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\12\6\1\u02d8"+
-    "\2\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\2\6\1\u02d9\12\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\13\6\1\u02da"+
-    "\1\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\15\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\1\6\1\u02db\7\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\14\6\1\u02dc"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\1\6\1\u02dd\13\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\5\6\1\u014b\7\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\1\u02de\2\0\15\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\11\6\1\u02df\3\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\6\6\1\u02e0\6\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\6\6\1\u02e1"+
-    "\7\6\1\0\1\77\1\0\6\6\3\0\15\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\12\6\1\u02e2\2\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\13\6\1\u02e3\1\6\1\0"+
-    "\4\6\1\u02e4\1\0\3\6\4\0\1\u02e5\1\6\1\0"+
-    "\1\6\1\0\11\6\13\0\6\6\1\u02e6\7\6\1\0"+
-    "\1\77\1\0\6\6\3\0\15\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\1\u02e7\14\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\3\6\1\u02e8\11\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\15\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\1\6"+
-    "\1\u02e9\7\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\14\6\1\u02ea\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\60\0\1\u02eb\50\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\2\6\1\u0214"+
-    "\12\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\15\6\1\0\1\6\1\u0283\3\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\2\6\1\u02ec\13\6\1\0\1\77\1\0\6\6\3\0"+
-    "\15\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\12\6\1\u02ed\2\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\2\6\1\u02ee"+
-    "\12\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\6\6\1\u02ef\7\6\1\0"+
-    "\1\77\1\0\6\6\3\0\15\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\7\6\1\u02f0"+
-    "\5\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\11\6\1\u0261\3\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\6\6\1\u02f1"+
-    "\6\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\46\0\1\u02f2\40\0\1\u02f3\21\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\14\6\1\u02f4"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\12\6\1\u02f5\2\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\6\6"+
-    "\1\u02f6\7\6\1\0\1\77\1\0\6\6\3\0\15\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\1\u02f7\115\0\12\6\1\u02f8\3\6"+
-    "\1\0\1\77\1\0\6\6\3\0\1\u02f9\7\6\1\u02fa"+
-    "\4\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\1\6\1\u02fb\13\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\6\6\1\u02fc"+
-    "\6\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\7\6\1\u02fc\5\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\7\6\1\u02fd"+
-    "\5\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\6\6\1\u02fe\6\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\6\6\1\u02ff"+
-    "\6\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\2\6\1\u0300\12\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\1\u0301\14\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\103\0\1\u0302\25\0\6\6\1\u0303\7\6"+
-    "\1\0\1\77\1\0\6\6\3\0\15\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\2\6"+
-    "\1\u0304\12\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\15\6\1\0\2\6\1\u0305\2\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\15\6"+
-    "\1\0\1\u0306\4\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\15\6\1\0\1\u0307\4\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\11\6\1\u0308\3\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\4\6\1\u0309\5\6\1\u030a\2\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\2\6\1\u030b\13\6\1\0\1\77\1\0\6\6"+
-    "\3\0\15\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\10\6\1\u030c\5\6"+
-    "\1\0\1\77\1\0\6\6\3\0\15\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\10\6\1\u030d\5\6\1\0\1\77\1\0\6\6"+
-    "\3\0\15\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\2\6\1\u030e\12\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\6\6"+
-    "\1\u030f\6\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\1\u0310\1\0\4\u0310"+
-    "\4\0\1\u0310\2\0\1\u0310\4\0\1\u0310\1\0\1\u0310"+
-    "\5\0\1\u0310\1\0\1\u0310\3\0\1\u0310\5\0\1\u0310"+
-    "\11\0\1\u0310\11\0\1\u0310\1\0\3\u0310\1\0\2\u0310"+
-    "\14\0\6\6\1\u0311\7\6\1\0\1\77\1\0\6\6"+
-    "\3\0\15\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\124\4\0\5\124"+
-    "\2\0\12\124\1\u0312\3\124\1\0\11\124\3\0\3\124"+
-    "\1\0\1\124\1\0\11\124\13\0\16\124\4\0\5\124"+
-    "\2\0\2\124\1\u0313\13\124\1\0\11\124\3\0\3\124"+
-    "\1\0\1\124\1\0\11\124\13\0\16\124\4\0\5\124"+
-    "\2\0\3\124\1\u0314\12\124\1\0\11\124\3\0\3\124"+
-    "\1\0\1\124\1\0\11\124\13\0\10\124\1\u0315\5\124"+
-    "\4\0\5\124\2\0\16\124\1\0\11\124\3\0\3\124"+
-    "\1\0\1\124\1\0\11\124\13\0\16\124\4\0\5\124"+
-    "\2\0\13\124\1\u0316\2\124\1\0\11\124\3\0\3\124"+
-    "\1\0\1\124\1\0\11\124\13\0\16\124\4\0\5\124"+
-    "\2\0\4\124\1\u0317\11\124\1\0\11\124\3\0\3\124"+
-    "\1\0\1\124\1\0\11\124\13\0\16\124\4\0\5\124"+
-    "\2\0\4\124\1\u0318\11\124\1\0\11\124\3\0\3\124"+
-    "\1\0\1\124\1\0\11\124\13\0\16\124\4\0\5\124"+
-    "\2\0\7\124\1\u0319\6\124\1\0\11\124\3\0\3\124"+
-    "\1\0\1\124\1\0\11\124\13\0\16\124\4\0\5\124"+
-    "\2\0\7\124\1\u031a\6\124\1\0\11\124\3\0\3\124"+
-    "\1\0\1\124\1\0\11\124\13\0\16\124\4\0\5\124"+
-    "\2\0\2\124\1\u031b\13\124\1\0\11\124\3\0\3\124"+
-    "\1\0\1\124\1\0\11\124\13\0\16\124\4\0\5\124"+
-    "\2\0\3\124\1\u031c\12\124\1\0\11\124\3\0\3\124"+
-    "\1\0\1\124\1\0\11\124\13\0\16\124\4\0\5\124"+
-    "\2\0\3\124\1\u031d\12\124\1\0\11\124\3\0\3\124"+
-    "\1\0\1\124\1\0\11\124\13\0\16\124\4\0\5\124"+
-    "\2\0\14\124\1\u031e\1\124\1\0\11\124\3\0\3\124"+
-    "\1\0\1\124\1\0\11\124\13\0\16\124\4\0\5\124"+
-    "\2\0\3\124\1\u031f\12\124\1\0\11\124\3\0\3\124"+
-    "\1\0\1\124\1\0\11\124\13\0\16\124\4\0\5\124"+
-    "\2\0\10\124\1\u0320\5\124\1\0\11\124\3\0\3\124"+
-    "\1\0\1\124\1\0\11\124\13\0\16\124\4\0\5\124"+
-    "\2\0\16\124\1\0\3\124\1\u0321\5\124\3\0\3\124"+
-    "\1\0\1\124\1\0\11\124\13\0\16\124\4\0\5\124"+
-    "\2\0\3\124\1\u0322\12\124\1\0\11\124\3\0\3\124"+
-    "\1\0\1\124\1\0\11\124\13\0\16\124\4\0\5\124"+
-    "\2\0\16\124\1\0\1\u0323\10\124\3\0\3\124\1\0"+
-    "\1\124\1\0\11\124\13\0\16\124\4\0\5\124\2\0"+
-    "\16\124\1\u0324\11\124\3\0\3\124\1\0\1\124\1\0"+
-    "\11\124\13\0\16\124\4\0\5\124\2\0\10\124\1\u0325"+
-    "\5\124\1\0\11\124\3\0\3\124\1\0\1\124\1\0"+
-    "\11\124\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\2\6\1\u0326\12\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\2\6\1\u0327\12\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\2\6\1\u0328\13\6\1\0\1\77\1\0"+
-    "\6\6\3\0\15\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\2\6\1\u0329\12\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\7\6\1\u032a\5\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\14\6\1\u032b\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\64\0\1\u032c\44\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\12\6\1\u032d\2\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\3\6\1\u032e\11\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\10\6\1\u01aa\1\6\1\u01ab\3\6"+
-    "\1\0\1\77\1\0\6\6\3\0\14\6\1\u01ad\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\1\6\1\u032f\13\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\6\6\1\u02c2\6\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\7\6\1\u02c2\5\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\7\6\1\u0327\5\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\6\6\1\u0330\6\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\11\6\1\u0331\3\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\13\6\1\u0332\1\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\1\6\1\u0333\13\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\107\0\1\u02f3\21\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\15\6\1\0\4\6\1\u0334\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\1\6\1\u0335\13\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\6\6\1\u0336\6\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\7\6\1\u0336\5\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\7\6\1\u0337\5\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\6\6\1\u0338\6\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\6\6\1\u0339\6\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\2\6\1\u033a\12\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\46\0\1\u033b\40\0\1\u02f3\21\0\10\6"+
-    "\1\u033c\5\6\1\0\1\77\1\0\6\6\3\0\15\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\14\6\1\u014b\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\10\6\1\u033d"+
-    "\5\6\1\0\1\77\1\0\6\6\3\0\15\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\1\u033e"+
-    "\2\0\15\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\2\6\1\u033f\13\6"+
-    "\1\0\1\77\1\0\6\6\3\0\15\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\10\6\1\u0340\5\6\1\0\1\77\1\0\6\6"+
-    "\3\0\15\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\13\6\1\u0341\1\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\6\6"+
-    "\1\u0342\6\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\6\6\1\u0343\6\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\4\6"+
-    "\1\u0344\10\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\6\6\1\u0345\6\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\6\6"+
-    "\1\u0346\6\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\55\0\1\u0347\53\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\1\6\1\u0348\13\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\2\6\1\u0349\12\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\15\6\1\0\2\6"+
-    "\1\u034a\2\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\12\6\1\u034b\3\6\1\0\1\77"+
-    "\1\0\6\6\3\0\1\u034c\7\6\1\u034d\4\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\7\6\1\u034e\5\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\23\0\1\u034f\141\0"+
-    "\1\u0350\61\0\6\6\1\u0351\7\6\1\0\1\77\1\0"+
-    "\6\6\3\0\15\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\13\6\1\u0352\1\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\6\6\1\u0157\6\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\103\0\1\u0353\25\0"+
-    "\10\6\1\u0354\5\6\1\0\1\77\1\0\6\6\3\0"+
-    "\15\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\1\6\1\u0355\13\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\6\6\1\u0356"+
-    "\6\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\6\6\1\u0357\6\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\12\6\1\u02fc"+
-    "\2\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\1\u0358\14\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\6\6"+
-    "\1\u0359\7\6\1\0\1\77\1\0\6\6\3\0\15\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\12\6\1\u035a\2\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\15\6\1\0\3\6"+
-    "\1\u035b\1\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\1\u035c\1\0\4\u035c\4\0\1\u035c"+
-    "\2\0\1\u035c\4\0\1\u035c\1\0\1\u035c\5\0\1\u035c"+
-    "\1\0\1\u035c\3\0\1\u035c\5\0\1\u035c\11\0\1\u035c"+
-    "\11\0\1\u035c\1\0\3\u035c\1\0\2\u035c\14\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\13\6\1\u035d\1\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\12\6\1\u035e\2\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\12\6\1\u0348\2\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\2\6\1\u035f\12\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\13\6\1\u0360\1\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\12\6\1\u0361\2\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\5\6\1\u0362\7\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\2\6\1\u0363\12\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\15\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\1\6"+
-    "\1\u0364\7\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\7\6\1\u0365\5\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\7\6\1\u0366\5\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\15\6\1\0\2\6\1\u0367\2\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\15\6\1\0\4\6"+
-    "\1\u0368\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\10\6\1\u01aa\5\6\1\0\1\77\1\0"+
-    "\6\6\3\0\1\6\1\u01ac\12\6\1\u01ad\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\124\4\0\5\124\2\0\13\124\1\u0369\2\124"+
-    "\1\0\11\124\3\0\3\124\1\0\1\124\1\0\11\124"+
-    "\13\0\16\124\4\0\5\124\2\0\13\124\1\u036a\2\124"+
-    "\1\0\11\124\3\0\3\124\1\0\1\124\1\0\11\124"+
-    "\13\0\16\124\4\0\5\124\2\0\14\124\1\u036b\1\124"+
-    "\1\0\11\124\3\0\3\124\1\0\1\124\1\0\11\124"+
-    "\13\0\16\124\4\0\5\124\2\0\3\124\1\u036c\12\124"+
-    "\1\0\11\124\3\0\3\124\1\0\1\124\1\0\11\124"+
-    "\13\0\16\124\4\0\5\124\2\0\16\124\1\0\4\124"+
-    "\1\u036d\4\124\3\0\3\124\1\0\1\124\1\0\11\124"+
-    "\13\0\16\124\4\0\5\124\2\0\16\124\1\0\4\124"+
-    "\1\u036e\4\124\3\0\3\124\1\0\1\124\1\0\11\124"+
-    "\13\0\16\124\4\0\5\124\2\0\15\124\1\u036f\1\0"+
-    "\11\124\3\0\3\124\1\0\1\124\1\0\11\124\13\0"+
-    "\16\124\4\0\5\124\2\0\2\124\1\u0370\13\124\1\0"+
-    "\11\124\3\0\3\124\1\0\1\124\1\0\11\124\13\0"+
-    "\16\124\4\0\5\124\2\0\16\124\1\0\2\124\1\u0371"+
-    "\6\124\3\0\3\124\1\0\1\124\1\0\11\124\13\0"+
-    "\16\124\4\0\5\124\2\0\13\124\1\u0372\2\124\1\0"+
-    "\11\124\3\0\3\124\1\0\1\124\1\0\11\124\13\0"+
-    "\16\124\4\0\5\124\2\0\12\124\1\u0373\3\124\1\0"+
-    "\11\124\3\0\3\124\1\0\1\124\1\0\11\124\13\0"+
-    "\16\124\4\0\5\124\2\0\4\124\1\u0374\11\124\1\0"+
-    "\11\124\3\0\3\124\1\0\1\124\1\0\11\124\13\0"+
-    "\16\124\4\0\5\124\2\0\7\124\1\u0375\6\124\1\0"+
-    "\11\124\3\0\3\124\1\0\1\124\1\0\11\124\13\0"+
-    "\16\124\4\0\5\124\2\0\11\124\1\u0376\4\124\1\0"+
-    "\11\124\3\0\3\124\1\0\1\124\1\0\11\124\13\0"+
-    "\16\124\4\0\5\124\2\0\14\124\1\u0377\1\124\1\0"+
-    "\11\124\3\0\3\124\1\0\1\124\1\0\11\124\13\0"+
-    "\16\124\4\0\5\124\2\0\2\124\1\u0378\13\124\1\0"+
-    "\11\124\3\0\3\124\1\0\1\124\1\0\11\124\13\0"+
-    "\16\124\4\0\5\124\2\0\4\124\1\u0379\11\124\1\0"+
-    "\11\124\3\0\3\124\1\0\1\124\1\0\11\124\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\11\6\1\u037a"+
-    "\3\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\12\6\1\u02c2\2\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\1\6\1\u02ce"+
-    "\13\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\3\6\1\u037b\11\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\10\6\1\u037c\5\6\1\0\1\77\1\0\6\6\3\0"+
-    "\15\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\6\6\1\u037d\6\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\63\0"+
-    "\1\u037e\45\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\13\6\1\u037f\1\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\12\6\1\u0380\2\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\6\6\1\u0381\6\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\1\u0327\14\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\15\6"+
-    "\1\0\1\6\1\u0382\3\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\11\6\1\u014b\3\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\6\6"+
-    "\1\u026c\6\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\10\6\1\u0383\5\6"+
-    "\1\0\1\77\1\0\6\6\3\0\15\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\6\6"+
-    "\1\u0384\6\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\12\6\1\u0336\2\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\1\u0385"+
-    "\14\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\6\6\1\u0386\7\6\1\0"+
-    "\1\77\1\0\6\6\3\0\15\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\12\6\1\u0387"+
-    "\2\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\23\0\1\u0388\105\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\15\6\1\0\5\6\1\0"+
-    "\3\6\4\0\1\6\1\u0278\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\11\6"+
-    "\1\u0389\3\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\46\0\1\u033b\62\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\15\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\1\6"+
-    "\1\u038a\7\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\14\6\1\u038b\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\10\6\1\u038c"+
-    "\5\6\1\0\1\77\1\0\6\6\3\0\15\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\11\6\1\u038d\3\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\u038e\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\5\6\1\u038f\7\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\1\6\1\u0390\13\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\1\u0391\14\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\1\u01a9\2\0"+
-    "\15\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\110\0\1\u0392\20\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\6\6\1\u0283\6\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\11\6\1\u0393\3\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\10\6\1\u0394"+
-    "\5\6\1\0\1\77\1\0\6\6\3\0\15\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\1\6\1\u0395\13\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\6\6\1\u0396\6\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\10\6\1\u0397\5\6\1\0\1\77\1\0"+
-    "\6\6\3\0\15\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\57\0\1\u0398\117\0"+
-    "\1\u0399\47\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\3\6\1\u039a\11\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\6\6\1\u039b"+
-    "\7\6\1\0\1\77\1\0\6\6\3\0\15\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\1\u039c\1\0\4\u039c\4\0\1\u039c\2\0"+
-    "\1\u039c\4\0\1\u039c\1\0\1\u039c\5\0\1\u039c\1\0"+
-    "\1\u039c\3\0\1\u039c\5\0\1\u039c\11\0\1\u039c\11\0"+
-    "\1\u039c\1\0\3\u039c\1\0\2\u039c\14\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\6\6\1\u039d\6\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\2\6\1\u039e\12\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\12\6\1\u039f\2\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\2\6\1\u03a0\12\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\12\6\1\u02ff\2\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\15\6\1\0\5\6\1\0\3\6\4\0\1\u01c7\1\6"+
-    "\1\0\1\6\1\0\5\6\1\u01c8\3\6\13\0\10\6"+
-    "\1\u03a1\5\6\1\0\1\77\1\0\6\6\3\0\15\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\12\6\1\u034a\3\6\1\0\1\77"+
-    "\1\0\6\6\3\0\15\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\10\6"+
-    "\1\u03a2\5\6\1\0\1\77\1\0\6\6\3\0\15\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\7\6\1\u0283\5\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\7\6\1\u0214\5\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\6\6\1\u03a3\6\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\6\6\1\u03a4\6\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\12\6\1\u03a5\2\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\6\6\1\u03a6\6\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\6\6\1\u03a7\6\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\12\6\1\u03a8\2\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\6\6\1\u03a9\7\6\1\0\1\77"+
-    "\1\0\6\6\3\0\15\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\6\6"+
-    "\1\u03aa\7\6\1\0\1\77\1\0\6\6\3\0\15\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\124\4\0\5\124\2\0\4\124"+
-    "\1\u03ab\11\124\1\0\11\124\3\0\3\124\1\0\1\124"+
-    "\1\0\11\124\13\0\16\124\4\0\5\124\2\0\3\124"+
-    "\1\u03ac\12\124\1\0\11\124\3\0\3\124\1\0\1\124"+
-    "\1\0\11\124\13\0\16\124\4\0\5\124\2\0\12\124"+
-    "\1\u03ad\3\124\1\0\11\124\3\0\3\124\1\0\1\124"+
-    "\1\0\11\124\13\0\16\124\4\0\5\124\2\0\13\124"+
-    "\1\u03ae\2\124\1\0\11\124\3\0\3\124\1\0\1\124"+
-    "\1\0\11\124\13\0\10\124\1\u03af\5\124\4\0\5\124"+
-    "\2\0\16\124\1\0\11\124\3\0\3\124\1\0\1\124"+
-    "\1\0\11\124\13\0\10\124\1\u03b0\5\124\4\0\5\124"+
-    "\2\0\16\124\1\0\11\124\3\0\3\124\1\0\1\124"+
-    "\1\0\11\124\13\0\6\124\1\u03b1\7\124\4\0\5\124"+
-    "\2\0\16\124\1\0\11\124\3\0\3\124\1\0\1\124"+
-    "\1\0\11\124\13\0\16\124\4\0\5\124\2\0\3\124"+
-    "\1\u03b2\12\124\1\0\11\124\3\0\3\124\1\0\1\124"+
-    "\1\0\11\124\13\0\16\124\4\0\5\124\2\0\12\124"+
-    "\1\u03b3\3\124\1\0\11\124\3\0\3\124\1\0\1\124"+
-    "\1\0\11\124\13\0\16\124\4\0\5\124\2\0\7\124"+
-    "\1\u03b4\6\124\1\0\11\124\3\0\3\124\1\0\1\124"+
-    "\1\0\11\124\13\0\16\124\4\0\5\124\2\0\15\124"+
-    "\1\u03b5\1\0\11\124\3\0\3\124\1\0\1\124\1\0"+
-    "\11\124\13\0\16\124\4\0\5\124\2\0\15\124\1\u03b6"+
-    "\1\0\11\124\3\0\3\124\1\0\1\124\1\0\11\124"+
-    "\13\0\16\124\4\0\5\124\2\0\14\124\1\u03b7\1\124"+
-    "\1\0\11\124\3\0\3\124\1\0\1\124\1\0\11\124"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\15\6"+
-    "\1\0\1\6\1\u03b8\3\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\3\6\1\u0380\11\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\11\6"+
-    "\1\u03b9\3\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\1\u03ba\2\0\15\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\110\0"+
-    "\1\u03bb\20\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\7\6\1\u014b\5\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\2\6\1\u03bc\12\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\12\6\1\u03bd\2\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\12\6\1\u03be\2\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\2\6\1\u03bf\12\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\12\6\1\u0339\2\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\15\6\1\0\5\6\1\0\3\6\4\0\1\u0204\1\6"+
-    "\1\0\1\6\1\0\11\6\13\0\10\6\1\u03c0\5\6"+
-    "\1\0\1\77\1\0\6\6\3\0\15\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\57\0\1\u03c1\51\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\1\6\1\u03c2\13\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\6\6\1\u03c3\6\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\6\6\1\u03c4\6\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\14\6\1\u03c5\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\12\6\1\u03c6\2\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\10\6\1\u03c7"+
-    "\5\6\1\0\1\77\1\0\6\6\3\0\15\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\12\6\1\u03c8\2\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\12\6\1\u03c9\2\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\12\6\1\u0346\2\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\111\0\1\u03ca\17\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\1\u03cb\14\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\6\6\1\u03cc\6\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\2\6\1\u03cd\12\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\12\6\1\u03ce\2\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\12\6"+
-    "\1\u03cf\3\6\1\0\1\77\1\0\6\6\3\0\15\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\110\0\1\u03d0\2\0\1\u03d1\63\0\1\u03d2"+
-    "\47\0\16\6\1\0\1\77\1\0\6\6\3\0\15\6"+
-    "\1\0\2\6\1\u03d3\2\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\10\6\1\u01aa\1\6"+
-    "\1\u01ab\3\6\1\0\1\77\1\0\6\6\3\0\1\6"+
-    "\1\u01ac\13\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\1\6\1\u03d4\13\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\3\6"+
-    "\1\u03d5\11\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\15\6\1\0\1\u03d6\4\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\11\6\1\u02fc"+
-    "\3\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\1\6\1\u03d7\13\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\13\6\1\u03d8"+
-    "\1\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\7\6\1\u03d9\5\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\7\6\1\u03da"+
-    "\5\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\10\6\1\u03db\5\6\1\0"+
-    "\1\77\1\0\6\6\3\0\15\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\1\u03dc\14\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\1\u03dd\14\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\4\6\1\u03de\10\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\14\6\1\u03df\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\2\6\1\u03e0\12\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\10\124\1\u03e1\5\124\4\0\5\124\2\0\16\124"+
-    "\1\0\11\124\3\0\3\124\1\0\1\124\1\0\11\124"+
-    "\13\0\16\124\4\0\5\124\2\0\13\124\1\u03e2\2\124"+
-    "\1\0\11\124\3\0\3\124\1\0\1\124\1\0\11\124"+
-    "\13\0\16\124\4\0\5\124\2\0\13\124\1\u03e3\2\124"+
-    "\1\0\11\124\3\0\3\124\1\0\1\124\1\0\11\124"+
-    "\13\0\16\124\4\0\5\124\2\0\15\124\1\u03e4\1\0"+
-    "\11\124\3\0\3\124\1\0\1\124\1\0\11\124\13\0"+
-    "\16\124\4\0\5\124\2\0\13\124\1\u03e5\2\124\1\0"+
-    "\11\124\3\0\3\124\1\0\1\124\1\0\11\124\13\0"+
-    "\16\124\4\0\5\124\2\0\14\124\1\u03e6\1\124\1\0"+
-    "\11\124\3\0\3\124\1\0\1\124\1\0\11\124\13\0"+
-    "\6\124\1\u03e7\7\124\4\0\5\124\2\0\16\124\1\0"+
-    "\11\124\3\0\3\124\1\0\1\124\1\0\11\124\13\0"+
-    "\6\124\1\u03e8\7\124\4\0\5\124\2\0\16\124\1\0"+
-    "\11\124\3\0\3\124\1\0\1\124\1\0\11\124\13\0"+
-    "\16\124\4\0\5\124\2\0\1\124\1\u03e9\14\124\1\0"+
-    "\11\124\3\0\3\124\1\0\1\124\1\0\11\124\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\6\6\1\u0290"+
-    "\6\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\15\6\1\0\1\6\1\u03ea\3\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\63\0"+
-    "\1\u03eb\24\0\1\u025d\3\0\1\u03ec\112\0\1\u03ed\17\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\11\6\1\u02c2"+
-    "\3\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\15\6\1\0\1\u0283\4\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\1\u03ee\14\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\11\6\1\u0336\3\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\1\6\1\u03ef\13\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\113\0\1\u03d1\15\0\10\6\1\u03f0\5\6\1\0"+
-    "\1\77\1\0\6\6\3\0\15\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\1\u03c7\14\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\6\6\1\u03f1\7\6\1\0\1\77"+
-    "\1\0\6\6\3\0\15\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\6\6\1\u03f2\6\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\12\6\1\u03c4\2\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\10\6"+
-    "\1\u03f3\5\6\1\0\1\77\1\0\6\6\3\0\15\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\6\6\1\u03f4\7\6\1\0\1\77"+
-    "\1\0\6\6\3\0\15\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\6\6\1\u0380\6\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\1\6\1\u03f5\13\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\3\6\1\u03f6\11\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\15\6\1\0\1\u03f7\4\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\10\6\1\u03f8"+
-    "\5\6\1\0\1\77\1\0\6\6\3\0\15\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\111\0\1\u03f9\60\0\1\u03fa\54\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\11\6\1\u03fb\3\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\14\6\1\u03fc\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\3\6\1\u03fc\11\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\13\6"+
-    "\1\u03d4\1\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\6\6\1\u03fd\6\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\11\6"+
-    "\1\u0290\3\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\12\6\1\u03fe\3\6"+
-    "\1\0\1\77\1\0\6\6\3\0\15\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\6\6\1\u03ff\7\6\1\0\1\77\1\0\6\6"+
-    "\1\u0400\2\0\15\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\1\u0401\14\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\12\6"+
-    "\1\u0402\2\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\12\6\1\u0403\2\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\2\6"+
-    "\1\u0404\12\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\2\6\1\u0405\12\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\7\6"+
-    "\1\u0406\5\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\124\4\0\5\124"+
-    "\2\0\14\124\1\u0407\1\124\1\0\11\124\3\0\3\124"+
-    "\1\0\1\124\1\0\11\124\13\0\16\124\4\0\5\124"+
-    "\2\0\1\124\1\u0408\14\124\1\0\11\124\3\0\3\124"+
-    "\1\0\1\124\1\0\11\124\13\0\16\124\4\0\5\124"+
-    "\2\0\1\124\1\u0409\14\124\1\0\11\124\3\0\3\124"+
-    "\1\0\1\124\1\0\11\124\13\0\16\124\4\0\5\124"+
-    "\2\0\3\124\1\u040a\12\124\1\0\11\124\3\0\3\124"+
-    "\1\0\1\124\1\0\11\124\13\0\10\124\1\u040b\5\124"+
-    "\4\0\5\124\2\0\16\124\1\0\11\124\3\0\3\124"+
-    "\1\0\1\124\1\0\11\124\13\0\16\124\4\0\5\124"+
-    "\2\0\13\124\1\u040c\2\124\1\0\11\124\3\0\3\124"+
-    "\1\0\1\124\1\0\11\124\13\0\16\124\4\0\5\124"+
-    "\2\0\4\124\1\u040d\11\124\1\0\11\124\3\0\3\124"+
-    "\1\0\1\124\1\0\11\124\13\0\16\124\4\0\5\124"+
-    "\2\0\4\124\1\u040e\11\124\1\0\11\124\3\0\3\124"+
-    "\1\0\1\124\1\0\11\124\13\0\16\124\4\0\5\124"+
-    "\2\0\3\124\1\u040f\12\124\1\0\11\124\3\0\3\124"+
-    "\1\0\1\124\1\0\11\124\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\1\u0410\2\0\15\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\23\0"+
-    "\1\u0411\201\0\1\u0412\21\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\15\6\1\0\1\u0413\4\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\6\6\1\u0414\6\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\11\6\1\u0415\3\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\2\6"+
-    "\1\u0416\13\6\1\0\1\77\1\0\6\6\3\0\15\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\7\6\1\u03c4\5\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\13\6\1\u0417\1\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\13\6\1\u02e3\1\6\1\0\4\6\1\u02e4\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\14\6\1\u02f0"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\3\6\1\u02f0\11\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\13\6\1\u03f5\1\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\1\u0418\14\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\1\u0146\14\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\6\6\1\u0419\7\6\1\0\1\77\1\0\6\6"+
-    "\3\0\15\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\2\6\1\u041a\12\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\15\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\5\6\1\u041b\3\6\54\0\1\u041c\54\0\16\6"+
-    "\1\0\1\77\1\0\6\6\1\u0400\2\0\15\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\6\6\1\u041d\7\6\1\0\1\77\1\0"+
-    "\6\6\3\0\15\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\6\6\1\u041e"+
-    "\7\6\1\0\1\77\1\0\6\6\1\u0400\2\0\15\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\1\6\1\u03da\13\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\12\6\1\u041f\2\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\7\6\1\u0420\5\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\124"+
-    "\4\0\5\124\2\0\12\124\1\u0421\3\124\1\0\11\124"+
-    "\3\0\3\124\1\0\1\124\1\0\11\124\13\0\16\124"+
-    "\4\0\5\124\2\0\16\124\1\0\1\u0422\10\124\3\0"+
-    "\3\124\1\0\1\124\1\0\11\124\13\0\16\124\4\0"+
-    "\5\124\2\0\16\124\1\0\1\u0423\10\124\3\0\3\124"+
-    "\1\0\1\124\1\0\11\124\13\0\16\124\4\0\5\124"+
-    "\2\0\13\124\1\u0424\2\124\1\0\11\124\3\0\3\124"+
-    "\1\0\1\124\1\0\11\124\13\0\16\124\4\0\5\124"+
-    "\2\0\14\124\1\u0425\1\124\1\0\11\124\3\0\3\124"+
-    "\1\0\1\124\1\0\11\124\13\0\16\124\4\0\5\124"+
-    "\2\0\3\124\1\u0426\12\124\1\0\11\124\3\0\3\124"+
-    "\1\0\1\124\1\0\11\124\13\0\16\124\4\0\5\124"+
-    "\2\0\16\124\1\0\4\124\1\u0427\4\124\3\0\3\124"+
-    "\1\0\1\124\1\0\11\124\13\0\16\124\4\0\5\124"+
-    "\2\0\16\124\1\0\4\124\1\u0428\4\124\3\0\3\124"+
-    "\1\0\1\124\1\0\11\124\13\0\16\124\4\0\5\124"+
-    "\2\0\2\124\1\u0429\13\124\1\0\11\124\3\0\3\124"+
-    "\1\0\1\124\1\0\11\124\106\0\1\u042a\73\0\1\u042b"+
-    "\44\0\16\6\1\0\1\77\1\0\6\6\3\0\6\6"+
-    "\1\u042c\6\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\2\6\1\u042d\12\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\11\6"+
-    "\1\u03c4\3\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\2\6\1\u042e\12\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\2\6"+
-    "\1\u042f\12\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\1\u0430\14\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\4\6\1\u0431"+
-    "\10\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\47\0\1\u0432\61\0\10\6\1\u0433"+
-    "\5\6\1\0\1\77\1\0\6\6\3\0\15\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\6\6\1\u0434\6\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\2\6\1\u0413\12\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\2\6\1\u0435\12\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\124\4\0"+
-    "\5\124\2\0\3\124\1\u0436\12\124\1\0\11\124\3\0"+
-    "\3\124\1\0\1\124\1\0\11\124\13\0\16\124\4\0"+
-    "\5\124\2\0\12\124\1\u0437\3\124\1\0\11\124\3\0"+
-    "\3\124\1\0\1\124\1\0\11\124\13\0\16\124\4\0"+
-    "\5\124\2\0\13\124\1\u0438\2\124\1\0\11\124\3\0"+
-    "\3\124\1\0\1\124\1\0\11\124\13\0\10\124\1\u0439"+
-    "\5\124\4\0\5\124\2\0\16\124\1\0\11\124\3\0"+
-    "\3\124\1\0\1\124\1\0\11\124\13\0\10\124\1\u043a"+
-    "\5\124\4\0\5\124\2\0\16\124\1\0\11\124\3\0"+
-    "\3\124\1\0\1\124\1\0\11\124\51\0\1\u043b\127\0"+
-    "\1\u043c\45\0\16\6\1\0\1\77\1\0\6\6\1\u043d"+
-    "\2\0\15\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\7\6\1\u043e\5\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\12\6"+
-    "\1\u043f\2\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\1\u0440\14\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\6\6\1\u0401"+
-    "\6\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\10\6\1\u0441\5\6\1\0"+
-    "\1\77\1\0\6\6\3\0\15\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\56\0"+
-    "\1\u0442\52\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\11\6\1\u0443\3\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\3\0\10\6\1\u0444\4\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\13\0\16\6\1\0\1\77\1\0\6\6\3\0"+
-    "\15\6\1\0\2\6\1\u0445\2\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\10\124\1\u0446"+
-    "\5\124\4\0\5\124\2\0\16\124\1\0\11\124\3\0"+
-    "\3\124\1\0\1\124\1\0\11\124\13\0\16\124\4\0"+
-    "\5\124\2\0\13\124\1\u0447\2\124\1\0\11\124\3\0"+
-    "\3\124\1\0\1\124\1\0\11\124\13\0\16\124\4\0"+
-    "\5\124\2\0\13\124\1\u0448\2\124\1\0\11\124\3\0"+
-    "\3\124\1\0\1\124\1\0\11\124\55\0\1\u0449\150\0"+
-    "\1\u044a\61\0\1\u044b\54\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\7\6\1\u044c\5\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\10\6\1\u044d\5\6\1\0\1\77\1\0\6\6\3\0"+
-    "\15\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\3\0\1\u044e\14\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\1\u044f\14\6\1\0"+
-    "\5\6\1\0\3\6\4\0\2\6\1\0\1\6\1\0"+
-    "\11\6\64\0\1\u0450\44\0\10\6\1\u0451\5\6\1\0"+
-    "\1\77\1\0\6\6\3\0\15\6\1\0\5\6\1\0"+
-    "\3\6\4\0\2\6\1\0\1\6\1\0\11\6\13\0"+
-    "\16\6\1\0\1\77\1\0\6\6\3\0\5\6\1\u0452"+
-    "\7\6\1\0\5\6\1\0\3\6\4\0\2\6\1\0"+
-    "\1\6\1\0\11\6\13\0\16\6\1\0\1\77\1\0"+
-    "\6\6\1\u0453\2\0\15\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\124"+
-    "\4\0\5\124\2\0\14\124\1\u0454\1\124\1\0\11\124"+
-    "\3\0\3\124\1\0\1\124\1\0\11\124\13\0\16\124"+
-    "\4\0\5\124\2\0\1\124\1\u0455\14\124\1\0\11\124"+
-    "\3\0\3\124\1\0\1\124\1\0\11\124\13\0\16\124"+
-    "\4\0\5\124\2\0\1\124\1\u0456\14\124\1\0\11\124"+
-    "\3\0\3\124\1\0\1\124\1\0\11\124\15\0\1\u0457"+
-    "\211\0\1\u0458\53\0\1\u0459\61\0\10\6\1\u045a\5\6"+
-    "\1\0\1\77\1\0\6\6\3\0\15\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\13\6"+
-    "\1\u045b\1\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\6\6\1\u03cd\6\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\15\6"+
-    "\1\0\3\6\1\u045c\1\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\53\0\1\u045d\55\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\12\6\1\u045e\2\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\12\6\1\u045f\2\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\54\0\1\u0460"+
-    "\54\0\16\124\4\0\5\124\2\0\12\124\1\u0461\3\124"+
-    "\1\0\11\124\3\0\3\124\1\0\1\124\1\0\11\124"+
-    "\13\0\16\124\4\0\5\124\2\0\16\124\1\0\1\u0462"+
-    "\10\124\3\0\3\124\1\0\1\124\1\0\11\124\13\0"+
-    "\16\124\4\0\5\124\2\0\16\124\1\0\1\u0463\10\124"+
-    "\3\0\3\124\1\0\1\124\1\0\11\124\60\0\1\u0464"+
-    "\113\0\1\u0465\52\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\6\6\1\u0466\6\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\13\0\16\6"+
-    "\1\0\1\77\1\0\6\6\3\0\11\6\1\u0467\3\6"+
-    "\1\0\5\6\1\0\3\6\4\0\2\6\1\0\1\6"+
-    "\1\0\11\6\13\0\16\6\1\0\1\77\1\0\6\6"+
-    "\1\u0468\2\0\15\6\1\0\5\6\1\0\3\6\4\0"+
-    "\2\6\1\0\1\6\1\0\11\6\13\0\16\6\1\0"+
-    "\1\77\1\0\6\6\1\u0469\2\0\15\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\13\0\16\6\1\0\1\77\1\0\6\6\3\0\15\6"+
-    "\1\0\2\6\1\u046a\2\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\47\0\1\u046b\132\0\1\u046c"+
-    "\44\0\16\6\1\0\1\77\1\0\6\6\3\0\7\6"+
-    "\1\u046d\5\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\13\0\6\6\1\u046e\7\6"+
-    "\1\0\1\77\1\0\6\6\3\0\15\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\54\0\1\u046f\115\0\1\u0470\117\0\1\u0471\112\0\1\u0472"+
-    "\55\0\16\6\1\0\1\77\1\0\6\6\3\0\6\6"+
-    "\1\u0473\6\6\1\0\5\6\1\0\3\6\4\0\2\6"+
-    "\1\0\1\6\1\0\11\6\47\0\1\u0474\115\0\1\u0475"+
-    "\132\0\1\u0476\44\0\16\6\1\0\1\77\1\0\6\6"+
-    "\3\0\7\6\1\u0477\5\6\1\0\5\6\1\0\3\6"+
-    "\4\0\2\6\1\0\1\6\1\0\11\6\56\0\1\u0478"+
-    "\115\0\1\u0479\112\0\1\u047a\55\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\7\6\1\u047b\5\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\64\0\1\u047c\115\0\1\u047d\44\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\13\6\1\u047e\1\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\53\0\1\u047f\115\0\1\u0480\55\0\16\6\1\0\1\77"+
-    "\1\0\6\6\3\0\7\6\1\u0481\5\6\1\0\5\6"+
-    "\1\0\3\6\4\0\2\6\1\0\1\6\1\0\11\6"+
-    "\12\0";
+    "\1\6\1\7\1\10\1\11\2\12\1\10\1\13\1\10"+
+    "\1\14\1\15\1\16\3\10\1\17\1\20\1\6\1\10"+
+    "\1\21\1\22\2\21\1\23\2\6\1\24\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\41\1\42\1\10\1\43\3\10\1\6"+
+    "\1\10\2\21\1\44\1\45\1\42\1\6\1\46\1\10"+
+    "\1\6\1\47\1\50\1\12\1\10\3\12\1\10\2\12"+
+    "\1\51\1\52\1\6\1\53\1\54\1\55\1\56\1\57"+
+    "\1\60\1\61\1\42\23\62\4\63\31\62\2\63\34\62"+
+    "\23\64\4\63\1\65\2\64\1\66\25\64\2\63\34\64"+
+    "\62\67\1\70\1\67\1\71\1\72\30\67\63\73\1\74"+
+    "\1\75\1\76\30\73\117\0\1\77\1\100\1\10\1\101"+
+    "\1\77\1\102\4\10\1\103\1\104\2\10\1\105\1\106"+
+    "\1\0\3\10\1\103\1\10\1\107\3\0\1\10\1\107"+
+    "\1\10\1\110\2\10\1\102\3\10\1\104\1\10\1\111"+
+    "\1\0\5\10\1\0\1\10\1\110\1\111\4\0\2\10"+
+    "\1\0\1\100\1\0\1\77\1\10\3\77\1\10\1\101"+
+    "\1\77\1\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\15\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\4\10\1\112\2\10\1\113\5\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\1\12\2\10\2\12\1\102\4\10"+
+    "\1\103\1\104\2\10\1\105\1\106\1\0\3\10\1\103"+
+    "\1\10\1\107\3\0\1\10\1\107\1\10\1\110\2\10"+
+    "\1\102\3\10\1\104\1\10\1\111\1\0\5\10\1\0"+
+    "\1\10\1\110\1\111\4\0\2\10\1\0\1\10\1\0"+
+    "\1\12\1\10\3\12\1\10\2\12\1\10\13\0\1\114"+
+    "\2\10\2\115\3\10\1\116\5\10\1\117\1\106\1\0"+
+    "\2\10\1\116\3\10\3\0\15\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\1\115\1\10"+
+    "\3\115\1\10\2\115\1\10\1\0\1\120\11\0\11\10"+
+    "\1\121\1\122\3\10\1\0\1\106\1\0\6\10\3\0"+
+    "\1\10\1\123\3\10\1\124\3\10\1\125\3\10\1\0"+
+    "\1\10\1\126\3\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\15\10\1\127\1\0\1\106"+
+    "\1\0\6\10\3\0\2\10\1\127\12\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\10\10\1\130\5\10\1\0\1\106\1\0\6\10"+
+    "\3\0\1\10\1\131\1\132\12\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\1\105\2\133\2\105\3\133\1\134\1\133\1\135\3\133"+
+    "\1\136\3\0\5\133\2\0\1\133\1\137\1\140\1\141"+
+    "\1\142\1\133\1\143\1\144\1\145\1\146\4\133\1\0"+
+    "\11\133\3\0\3\133\1\0\1\133\1\0\1\105\1\133"+
+    "\3\105\1\133\2\105\1\133\33\0\1\10\75\0\16\10"+
+    "\1\0\1\106\1\0\1\10\4\147\1\150\2\0\1\151"+
+    "\15\10\1\0\5\10\1\0\1\10\2\147\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\11\10\1\121\4\10"+
+    "\1\0\1\106\1\0\1\10\4\147\1\150\2\0\1\151"+
+    "\11\10\1\121\3\10\1\0\5\10\1\0\1\10\2\147"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\152"+
+    "\1\0\1\153\1\0\6\152\3\0\15\152\1\0\5\152"+
+    "\1\0\3\152\4\0\2\152\1\0\1\152\1\0\11\152"+
+    "\35\0\4\154\1\155\2\0\1\156\25\0\2\154\35\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\1\10\1\157"+
+    "\6\10\1\160\2\10\1\161\1\10\1\0\1\162\4\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\13\10"+
+    "\1\163\1\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\2\10\1\164\13\10"+
+    "\1\0\1\106\1\0\6\10\3\0\5\10\1\165\1\10"+
+    "\1\166\1\10\1\167\2\10\1\170\1\0\1\10\1\171"+
+    "\3\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\4\10\1\172\1\173\4\10\1\174\2\10\1\0\1\175"+
+    "\1\176\1\177\2\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\3\10\1\200\11\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\1\201\2\10\2\201\11\10\1\0\1\106\1\0\6\10"+
+    "\3\0\2\10\1\202\1\10\1\203\2\10\1\204\5\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\1\201\1\10\3\201\1\10\2\201\1\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\11\10\1\205"+
+    "\3\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\206\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\3\10\1\207\1\210\1\10\1\211\6\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\4\10\1\212\6\10\1\213\1\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\15\10\1\127\1\0\1\106\1\0\6\10\3\0"+
+    "\2\10\1\214\1\10\1\215\1\10\1\216\4\10\1\217"+
+    "\1\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\7\10\1\220\5\10\1\0\1\221\4\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\7\10"+
+    "\1\222\5\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\10\10\1\223\5\10"+
+    "\1\0\1\106\1\0\6\10\3\0\6\10\1\224\4\10"+
+    "\1\225\1\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\62\0\1\42\13\0\1\42"+
+    "\30\0\1\42\1\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\6\10\1\226\4\10\1\227\1\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\1\201\2\10\2\201\11\10\1\0\1\106\1\0"+
+    "\6\10\3\0\2\10\1\230\7\10\1\231\1\232\1\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\1\201\1\10\3\201\1\10\2\201\1\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\13\10\1\40"+
+    "\1\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\12\0\64\50\1\0\31\50\1\0"+
+    "\16\233\1\0\1\234\1\0\6\233\3\0\15\233\1\0"+
+    "\5\233\1\0\3\233\4\0\2\233\1\0\1\233\1\0"+
+    "\11\233\13\0\16\235\1\0\1\236\1\0\6\235\3\0"+
+    "\15\235\1\0\5\235\1\0\3\235\4\0\2\235\1\0"+
+    "\1\235\1\0\11\235\35\0\4\237\1\240\2\0\1\241"+
+    "\25\0\2\237\34\0\62\67\1\0\1\67\2\0\30\67"+
+    "\3\242\1\243\7\242\1\244\23\242\1\245\2\242\1\246"+
+    "\1\242\1\247\1\250\14\242\1\251\1\252\1\242\1\253"+
+    "\30\242\63\73\3\0\30\73\3\242\1\243\7\242\1\244"+
+    "\23\242\1\254\2\242\1\246\1\242\1\247\1\250\14\242"+
+    "\1\251\1\252\1\242\1\253\30\242\1\0\1\77\2\10"+
+    "\1\101\1\77\1\102\4\10\1\103\1\104\2\10\1\105"+
+    "\1\106\1\0\3\10\1\103\1\10\1\107\3\0\1\10"+
+    "\1\107\1\10\1\110\2\10\1\102\3\10\1\104\1\10"+
+    "\1\111\1\0\5\10\1\0\1\10\1\110\1\111\4\0"+
+    "\2\10\1\0\1\10\1\0\1\77\1\10\3\77\1\10"+
+    "\1\101\1\77\1\10\13\0\1\255\1\10\4\255\4\10"+
+    "\1\255\2\10\1\255\1\256\1\106\1\0\1\10\1\255"+
+    "\1\10\1\255\2\10\3\0\1\255\1\10\1\255\3\10"+
+    "\1\255\5\10\1\255\1\0\5\10\1\0\2\10\1\255"+
+    "\4\0\2\10\1\0\1\10\1\0\1\255\1\10\3\255"+
+    "\1\10\2\255\1\10\13\0\1\101\2\10\2\101\1\102"+
+    "\4\10\1\103\3\10\1\105\1\106\1\0\3\10\1\103"+
+    "\2\10\3\0\6\10\1\102\5\10\1\111\1\0\5\10"+
+    "\1\0\2\10\1\111\4\0\2\10\1\0\1\10\1\0"+
+    "\1\101\1\10\3\101\1\10\2\101\1\10\13\0\1\257"+
+    "\2\10\2\257\1\10\1\260\7\10\1\0\1\106\1\0"+
+    "\6\10\3\0\15\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\1\257\1\10\3\257\1\10"+
+    "\2\257\1\10\13\0\1\105\2\0\2\105\1\261\4\0"+
+    "\1\262\11\0\1\262\13\0\1\261\5\0\1\263\11\0"+
+    "\1\263\11\0\1\105\1\0\3\105\1\0\2\105\14\0"+
+    "\10\10\1\264\5\10\1\0\1\106\1\0\6\10\3\0"+
+    "\15\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\10\10\1\265\5\10\1\0"+
+    "\1\106\1\0\6\10\3\0\15\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\1\266\1\267\1\10\1\101\1\266\1\102\4\10\1\103"+
+    "\1\104\2\10\1\105\1\106\1\0\3\10\1\103\1\10"+
+    "\1\107\3\0\1\10\1\107\1\10\1\110\2\10\1\102"+
+    "\3\10\1\104\1\10\1\111\1\0\5\10\1\0\1\10"+
+    "\1\110\1\111\4\0\2\10\1\0\1\267\1\0\1\266"+
+    "\1\10\3\266\1\10\1\101\1\266\1\10\13\0\1\115"+
+    "\2\10\2\115\1\102\4\10\1\103\1\104\2\10\1\105"+
+    "\1\106\1\0\3\10\1\103\1\10\1\107\3\0\1\10"+
+    "\1\107\1\10\1\110\2\10\1\102\3\10\1\104\1\10"+
+    "\1\111\1\0\5\10\1\0\1\10\1\110\1\111\4\0"+
+    "\2\10\1\0\1\10\1\0\1\115\1\10\3\115\1\10"+
+    "\2\115\1\10\13\0\11\10\1\121\4\10\1\0\1\106"+
+    "\1\0\6\10\3\0\11\10\1\121\3\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\1\105\2\0\2\105\65\0\1\105\1\0\3\105"+
+    "\1\0\2\105\14\0\12\10\1\270\3\10\1\0\1\106"+
+    "\1\0\3\10\1\270\2\10\3\0\15\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\6\10\1\271\7\10\1\0\1\106\1\0\6\10"+
+    "\3\0\15\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\1\10\1\272\13\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\4\10"+
+    "\1\273\10\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\12\10\1\270\3\10"+
+    "\1\0\1\106\1\0\3\10\1\270\2\10\3\0\1\10"+
+    "\1\274\1\10\1\275\6\10\1\276\2\10\1\0\5\10"+
+    "\1\0\3\10\4\0\1\277\1\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\6\10\1\273\6\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\11\10\1\300"+
+    "\4\10\1\0\1\106\1\0\6\10\3\0\11\10\1\300"+
+    "\3\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\1\10\1\301\4\10\1\302\2\10\1\303"+
+    "\3\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\13\10\1\304\1\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\1\10\1\305"+
+    "\13\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\133\4\0\5\133\2\0"+
+    "\16\133\1\0\11\133\3\0\3\133\1\0\1\133\1\0"+
+    "\11\133\13\0\16\133\4\0\5\133\2\0\11\133\1\306"+
+    "\4\133\1\0\11\133\3\0\3\133\1\0\1\133\1\0"+
+    "\11\133\13\0\10\133\1\307\5\133\4\0\5\133\2\0"+
+    "\16\133\1\0\11\133\3\0\3\133\1\0\1\133\1\0"+
+    "\11\133\13\0\16\133\4\0\5\133\2\0\2\133\1\310"+
+    "\1\311\12\133\1\0\11\133\3\0\3\133\1\0\1\133"+
+    "\1\0\11\133\13\0\10\133\1\312\5\133\4\0\5\133"+
+    "\2\0\14\133\1\313\1\133\1\0\11\133\3\0\3\133"+
+    "\1\0\1\133\1\0\11\133\13\0\16\133\4\0\5\133"+
+    "\2\0\10\133\1\314\1\133\1\315\3\133\1\0\11\133"+
+    "\3\0\3\133\1\0\1\133\1\0\11\133\13\0\16\133"+
+    "\4\0\5\133\2\0\5\133\1\316\1\317\5\133\1\320"+
+    "\1\133\1\0\11\133\3\0\3\133\1\0\1\133\1\0"+
+    "\11\133\13\0\16\133\4\0\5\133\2\0\3\133\1\321"+
+    "\4\133\1\322\5\133\1\0\11\133\3\0\3\133\1\0"+
+    "\1\133\1\0\11\133\13\0\16\133\4\0\5\133\2\0"+
+    "\6\133\1\323\3\133\1\324\3\133\1\0\11\133\3\0"+
+    "\3\133\1\0\1\133\1\0\11\133\13\0\16\133\4\0"+
+    "\5\133\2\0\7\133\1\325\6\133\1\0\11\133\3\0"+
+    "\3\133\1\0\1\133\1\0\11\133\13\0\16\133\4\0"+
+    "\5\133\2\0\7\133\1\326\6\133\1\0\11\133\3\0"+
+    "\3\133\1\0\1\133\1\0\11\133\13\0\16\327\1\0"+
+    "\1\330\1\0\6\327\3\0\15\327\1\0\5\327\1\0"+
+    "\3\327\4\0\2\327\1\0\1\327\1\0\11\327\35\0"+
+    "\4\331\1\332\2\0\1\151\25\0\2\331\35\0\16\152"+
+    "\1\0\1\153\1\0\6\152\1\333\1\334\1\0\15\152"+
+    "\1\0\5\152\1\0\3\152\4\0\2\152\1\0\1\152"+
+    "\1\0\11\152\33\0\1\152\75\0\16\335\1\0\1\336"+
+    "\1\0\6\335\3\0\15\335\1\0\5\335\1\0\3\335"+
+    "\4\0\2\335\1\0\1\335\1\0\11\335\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\2\10\1\337\12\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\5\10\1\340\7\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\11\10\1\341\3\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\6\10\1\342\6\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\11\10\1\343\3\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\3\10\1\344\11\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\4\10\1\345\10\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\7\10\1\346\5\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\11\10\1\347\2\10"+
+    "\1\222\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\14\10\1\350\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\6\10\1\345\6\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\2\10\1\351\13\10\1\0\1\106"+
+    "\1\0\6\10\3\0\15\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\2\10\1\352\1\10"+
+    "\1\353\10\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\2\10\1\354\4\10\1\355\5\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\1\10\1\356\5\10\1\356\5\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\6\10"+
+    "\1\353\6\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\3\10\1\357\5\10\1\360\3\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\15\10\1\0\1\361\4\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\1\201\2\10"+
+    "\2\201\11\10\1\0\1\106\1\0\6\10\3\0\15\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\1\201\1\10\3\201\1\10\2\201\1\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\1\362\14\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\2\10\1\363\13\10\1\0\1\106"+
+    "\1\0\6\10\3\0\15\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\10\10"+
+    "\1\364\5\10\1\0\1\106\1\0\6\10\3\0\13\10"+
+    "\1\365\1\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\4\10\1\366\10\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\6\10"+
+    "\1\367\6\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\4\10\1\370\10\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\11\10"+
+    "\1\371\3\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\10\10\1\350\1\10\1\372\2\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\1\10\1\350\13\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\11\10\1\373\3\10"+
+    "\1\0\5\10\1\0\3\10\4\0\1\374\1\10\1\0"+
+    "\1\10\1\0\11\10\13\0\11\10\1\300\4\10\1\0"+
+    "\1\106\1\0\6\10\3\0\11\10\1\300\1\375\2\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\1\10\1\376\13\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\15\10\1\0\1\10"+
+    "\1\377\2\10\1\u0100\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\6\10\1\u0101\7\10\1\0"+
+    "\1\106\1\0\6\10\3\0\5\10\1\u0102\4\10\1\u0103"+
+    "\2\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\2\10\1\u0104\1\10\1\u0105\10\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\7\10\1\u0106\5\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\6\10\1\u0107"+
+    "\7\10\1\0\1\106\1\0\6\10\3\0\15\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\15\10\1\0\5\10\1\0\3\10\4\0\1\350\1\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\1\u0108\14\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\4\10\1\u0109"+
+    "\10\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\11\10\1\u010a\3\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\12\10\1\u010b"+
+    "\2\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\7\10\1\u010c\5\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\2\10\1\u010d"+
+    "\12\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\1\10\1\u010e\13\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\16\233\1\0\1\234\1\0\6\233\3\0\15\233\1\0"+
+    "\5\233\1\0\3\233\4\0\2\233\1\0\1\233\1\0"+
+    "\11\233\1\0\1\u010f\31\0\1\233\75\0\16\235\1\0"+
+    "\1\236\1\0\6\235\1\u0110\1\u0111\1\0\15\235\1\0"+
+    "\5\235\1\0\3\235\4\0\2\235\1\0\1\235\1\0"+
+    "\11\235\33\0\1\235\75\0\16\u0112\1\0\1\u0113\1\0"+
+    "\6\u0112\3\0\15\u0112\1\0\5\u0112\1\0\3\u0112\4\0"+
+    "\2\u0112\1\0\1\u0112\1\0\11\u0112\13\0\1\u0114\1\0"+
+    "\4\u0114\4\0\1\u0114\2\0\1\u0114\4\0\1\u0114\1\0"+
+    "\1\u0114\5\0\1\u0114\1\0\1\u0114\3\0\1\u0114\5\0"+
+    "\1\u0114\11\0\1\u0114\11\0\1\u0114\1\0\3\u0114\1\0"+
+    "\2\u0114\14\0\1\u0115\1\0\4\u0115\4\0\1\u0115\2\0"+
+    "\1\u0115\4\0\1\u0115\1\0\1\u0115\5\0\1\u0115\1\0"+
+    "\1\u0115\3\0\1\u0115\5\0\1\u0115\11\0\1\u0115\11\0"+
+    "\1\u0115\1\0\3\u0115\1\0\2\u0115\14\0\1\255\1\10"+
+    "\4\255\1\10\1\102\2\10\1\255\1\104\1\10\1\255"+
+    "\1\u0116\1\106\1\0\1\10\1\255\1\10\1\255\1\10"+
+    "\1\107\3\0\1\255\1\107\1\255\1\110\1\10\1\102"+
+    "\1\255\3\10\1\104\1\10\1\255\1\0\5\10\1\0"+
+    "\1\10\1\110\1\255\4\0\2\10\1\0\1\10\1\0"+
+    "\1\255\1\10\3\255\1\10\2\255\1\10\13\0\1\u0116"+
+    "\1\0\4\u0116\4\0\1\u0116\2\0\1\u0116\4\0\1\u0116"+
+    "\1\0\1\u0116\5\0\1\u0116\1\0\1\u0116\3\0\1\u0116"+
+    "\5\0\1\u0116\11\0\1\u0116\11\0\1\u0116\1\0\3\u0116"+
+    "\1\0\2\u0116\14\0\1\257\2\10\2\257\5\10\1\103"+
+    "\3\10\1\0\1\106\1\0\3\10\1\103\2\10\3\0"+
+    "\14\10\1\111\1\0\5\10\1\0\2\10\1\111\4\0"+
+    "\2\10\1\0\1\10\1\0\1\257\1\10\3\257\1\10"+
+    "\2\257\1\10\13\0\1\257\2\10\2\257\11\10\1\0"+
+    "\1\106\1\0\6\10\3\0\15\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\1\257\1\10"+
+    "\3\257\1\10\2\257\1\10\13\0\1\u0117\2\0\2\u0117"+
+    "\1\0\1\u0118\63\0\1\u0117\1\0\3\u0117\1\0\2\u0117"+
+    "\14\0\16\10\1\0\1\106\1\0\6\10\3\0\1\10"+
+    "\1\u0119\13\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\14\10\1\u011a\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\1\266\2\10\1\101\1\266\1\102\4\10\1\103\1\104"+
+    "\2\10\1\105\1\106\1\0\3\10\1\103\1\10\1\107"+
+    "\3\0\1\10\1\107\1\10\1\110\2\10\1\102\3\10"+
+    "\1\104\1\10\1\111\1\0\5\10\1\0\1\10\1\110"+
+    "\1\111\4\0\2\10\1\0\1\10\1\0\1\266\1\10"+
+    "\3\266\1\10\1\101\1\266\1\10\13\0\1\u011b\1\10"+
+    "\4\u011b\4\10\1\u011b\2\10\1\u011b\1\256\1\106\1\0"+
+    "\1\10\1\u011b\1\10\1\u011b\2\10\3\0\1\u011b\1\10"+
+    "\1\u011b\3\10\1\u011b\5\10\1\u011b\1\0\5\10\1\0"+
+    "\2\10\1\u011b\4\0\2\10\1\0\1\10\1\0\1\u011b"+
+    "\1\10\3\u011b\1\10\2\u011b\1\10\13\0\10\10\1\u011c"+
+    "\5\10\1\0\1\106\1\0\2\10\1\u011c\3\10\3\0"+
+    "\15\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\1\10\1\u011d\4\10\1\u011e\2\10\1\u011f"+
+    "\3\10\1\0\1\10\1\u011d\3\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\6\10\1\u0120\6\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\12\10\1\u0121\2\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\10\10\1\u0122"+
+    "\5\10\1\0\1\106\1\0\6\10\3\0\15\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\12\10\1\u0123\2\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\6\10\1\u0124"+
+    "\7\10\1\0\1\106\1\0\6\10\3\0\6\10\1\u0125"+
+    "\6\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\13\10\1\u0126\1\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\12\10\1\103\3\10\1\0\1\106\1\0\3\10\1\103"+
+    "\2\10\3\0\14\10\1\111\1\0\5\10\1\0\2\10"+
+    "\1\111\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\1\10\1\u0127"+
+    "\13\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\1\10\1\u0128\13\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\2\10\1\u0129"+
+    "\12\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\2\10\1\u012a\12\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\3\10\1\u0105"+
+    "\11\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\133\4\0\5\133\2\0"+
+    "\6\133\1\u012b\7\133\1\0\11\133\3\0\3\133\1\0"+
+    "\1\133\1\0\11\133\13\0\16\133\4\0\5\133\2\0"+
+    "\7\133\1\u012c\6\133\1\0\11\133\3\0\3\133\1\0"+
+    "\1\133\1\0\11\133\13\0\16\133\4\0\5\133\2\0"+
+    "\3\133\1\u012d\12\133\1\0\11\133\3\0\3\133\1\0"+
+    "\1\133\1\0\11\133\13\0\16\133\4\0\5\133\2\0"+
+    "\13\133\1\u012e\2\133\1\0\11\133\3\0\3\133\1\0"+
+    "\1\133\1\0\11\133\13\0\16\133\4\0\5\133\2\0"+
+    "\12\133\1\u012f\3\133\1\0\11\133\3\0\3\133\1\0"+
+    "\1\133\1\0\11\133\13\0\16\133\4\0\5\133\2\0"+
+    "\1\133\1\u0130\14\133\1\0\11\133\3\0\3\133\1\0"+
+    "\1\133\1\0\11\133\13\0\16\133\4\0\5\133\2\0"+
+    "\10\133\1\u0131\5\133\1\0\11\133\3\0\3\133\1\0"+
+    "\1\133\1\0\11\133\13\0\16\133\4\0\5\133\2\0"+
+    "\12\133\1\u0132\3\133\1\0\11\133\3\0\3\133\1\0"+
+    "\1\133\1\0\11\133\13\0\2\133\1\u0133\13\133\4\0"+
+    "\5\133\2\0\6\133\1\u0134\7\133\1\0\11\133\3\0"+
+    "\3\133\1\0\1\133\1\0\11\133\13\0\16\133\4\0"+
+    "\5\133\2\0\3\133\1\u0135\12\133\1\0\11\133\3\0"+
+    "\3\133\1\0\1\133\1\0\11\133\13\0\16\133\4\0"+
+    "\5\133\2\0\5\133\1\u0136\10\133\1\0\11\133\3\0"+
+    "\3\133\1\0\1\133\1\0\11\133\13\0\16\133\4\0"+
+    "\5\133\2\0\1\133\1\u0137\6\133\1\u0138\5\133\1\0"+
+    "\11\133\3\0\3\133\1\0\1\133\1\0\11\133\13\0"+
+    "\16\133\4\0\5\133\2\0\14\133\1\u0139\1\133\1\0"+
+    "\11\133\3\0\3\133\1\0\1\133\1\0\11\133\13\0"+
+    "\10\133\1\u013a\5\133\4\0\5\133\2\0\16\133\1\0"+
+    "\11\133\3\0\3\133\1\0\1\133\1\0\11\133\13\0"+
+    "\16\133\4\0\5\133\2\0\5\133\1\u013b\7\133\1\u013c"+
+    "\1\0\11\133\3\0\3\133\1\0\1\133\1\0\11\133"+
+    "\13\0\16\133\4\0\5\133\2\0\4\133\1\u013d\11\133"+
+    "\1\0\1\133\1\u013e\7\133\3\0\3\133\1\0\1\133"+
+    "\1\0\11\133\13\0\16\133\4\0\5\133\2\0\13\133"+
+    "\1\u013f\2\133\1\0\11\133\3\0\3\133\1\0\1\133"+
+    "\1\0\11\133\13\0\16\327\1\0\1\330\1\0\6\327"+
+    "\1\332\1\331\1\0\15\327\1\0\5\327\1\0\3\327"+
+    "\4\0\2\327\1\0\1\327\1\0\11\327\33\0\1\327"+
+    "\75\0\16\u0140\1\0\1\u0141\1\0\6\u0140\3\0\15\u0140"+
+    "\1\0\5\u0140\1\0\3\u0140\4\0\2\u0140\1\0\1\u0140"+
+    "\1\0\11\u0140\13\0\16\u0142\1\0\1\u0143\1\0\6\u0142"+
+    "\3\0\15\u0142\1\0\5\u0142\1\0\3\u0142\4\0\2\u0142"+
+    "\1\0\1\u0142\1\0\11\u0142\13\0\16\335\1\0\1\336"+
+    "\1\0\6\335\1\155\1\154\1\0\15\335\1\0\5\335"+
+    "\1\0\3\335\4\0\2\335\1\0\1\335\1\0\11\335"+
+    "\33\0\1\335\75\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\3\10\1\u0144\11\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\6\10"+
+    "\1\u0145\7\10\1\0\1\106\1\0\6\10\3\0\1\10"+
+    "\1\u0146\13\10\1\0\1\10\1\u0146\3\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\3\10\1\u0147\11\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\1\u0148\14\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\15\10\1\0\1\10\1\u0149"+
+    "\3\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\12\10\1\u014a\2\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\12\10\1\u014b\2\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\2\10\1\u014c\12\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\13\10\1\u014d\1\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\6\10\1\u014e\7\10\1\0\1\106\1\0"+
+    "\6\10\3\0\15\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\6\10\1\u014f"+
+    "\7\10\1\0\1\106\1\0\6\10\3\0\15\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\7\10\1\u0150\5\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\12\10\1\u0151\2\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\12\10\1\u0152\2\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\10\10\1\u0153"+
+    "\5\10\1\0\1\106\1\0\6\10\3\0\15\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\6\10\1\u0154\7\10\1\0\1\106\1\0"+
+    "\6\10\3\0\15\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\12\10\1\u0155\2\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\1\u0156\11\10\1\u0157\2\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\7\10\1\356\5\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\15\10\1\0\3\10\1\u0158\1\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\1\10\1\u0152\13\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\15\10\1\0\5\10\1\0\3\10\4\0\1\u0159"+
+    "\1\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\12\10\1\u015a\2\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\10\10\1\u015b\4\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\1\u015c\14\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\2\10\1\u015d\13\10\1\0\1\106\1\0\6\10"+
+    "\3\0\15\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\12\10\1\u015e\2\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\4\10"+
+    "\1\u015f\10\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\10\10\1\u0160\5\10"+
+    "\1\0\1\106\1\0\6\10\3\0\15\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\6\10"+
+    "\1\u0161\6\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\10\10\1\u0162\5\10"+
+    "\1\0\1\106\1\0\6\10\3\0\15\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\1\10"+
+    "\1\u0163\13\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\6\10\1\u0164\7\10"+
+    "\1\0\1\106\1\0\6\10\3\0\15\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\6\10\1\u0165\7\10\1\0\1\106\1\0\6\10"+
+    "\3\0\15\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\3\10\1\u0166\2\10\1\u0167\6\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\6\10\1\u0168\7\10\1\0\1\106"+
+    "\1\0\6\10\3\0\15\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\11\10\1\u0169\3\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\6\10\1\u016a\6\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\13\10\1\u016b\1\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\10\10\1\u016c\5\10\1\0\1\106"+
+    "\1\0\6\10\3\0\1\10\1\u016d\13\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\1\10"+
+    "\1\u016e\13\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\2\10\1\u016f\13\10"+
+    "\1\0\1\106\1\0\6\10\3\0\15\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\6\10"+
+    "\1\u0170\6\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\13\10\1\u0171\1\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\2\10"+
+    "\1\u0172\12\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\2\10\1\u0173\13\10"+
+    "\1\0\1\106\1\0\6\10\3\0\15\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\2\10"+
+    "\1\u0174\12\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\u0112\1\0\1\u0113"+
+    "\1\0\6\u0112\1\240\1\237\1\0\15\u0112\1\0\5\u0112"+
+    "\1\0\3\u0112\4\0\2\u0112\1\0\1\u0112\1\0\11\u0112"+
+    "\33\0\1\u0112\75\0\1\u0175\1\0\4\u0175\4\0\1\u0175"+
+    "\2\0\1\u0175\4\0\1\u0175\1\0\1\u0175\5\0\1\u0175"+
+    "\1\0\1\u0175\3\0\1\u0175\5\0\1\u0175\11\0\1\u0175"+
+    "\11\0\1\u0175\1\0\3\u0175\1\0\2\u0175\14\0\1\u0176"+
+    "\1\0\4\u0176\4\0\1\u0176\2\0\1\u0176\4\0\1\u0176"+
+    "\1\0\1\u0176\5\0\1\u0176\1\0\1\u0176\3\0\1\u0176"+
+    "\5\0\1\u0176\11\0\1\u0176\11\0\1\u0176\1\0\3\u0176"+
+    "\1\0\2\u0176\14\0\1\u0116\1\0\4\u0116\1\0\1\261"+
+    "\2\0\1\u0116\2\0\1\u0116\4\0\1\u0116\1\0\1\u0116"+
+    "\5\0\1\u0116\1\0\1\u0116\2\0\1\261\1\u0116\5\0"+
+    "\1\u0116\11\0\1\u0116\11\0\1\u0116\1\0\3\u0116\1\0"+
+    "\2\u0116\14\0\1\u0117\2\0\2\u0117\5\0\1\262\11\0"+
+    "\1\262\21\0\1\263\11\0\1\263\11\0\1\u0117\1\0"+
+    "\3\u0117\1\0\2\u0117\14\0\1\u0117\2\0\2\u0117\65\0"+
+    "\1\u0117\1\0\3\u0117\1\0\2\u0117\14\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\14\10\1\u0177\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\15\10"+
+    "\1\0\1\10\1\u0178\3\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\1\u011b\1\10\4\u011b"+
+    "\1\10\1\102\2\10\1\u011b\1\104\1\10\1\u011b\1\u0116"+
+    "\1\106\1\0\1\10\1\u011b\1\10\1\u011b\1\10\1\107"+
+    "\3\0\1\u011b\1\107\1\u011b\1\110\1\10\1\102\1\u011b"+
+    "\3\10\1\104\1\10\1\u011b\1\0\5\10\1\0\1\10"+
+    "\1\110\1\u011b\4\0\2\10\1\0\1\10\1\0\1\u011b"+
+    "\1\10\3\u011b\1\10\2\u011b\1\10\13\0\11\10\1\u0179"+
+    "\4\10\1\0\1\106\1\0\6\10\3\0\11\10\1\u0179"+
+    "\3\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\6\10\1\u017a\3\10\1\u017a\2\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\15\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\5\10\1\u017a\3\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\6\10\1\u017a\6\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\15\10\1\0\1\10\1\u017b\3\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\6\10\1\u017c"+
+    "\7\10\1\0\1\106\1\0\6\10\3\0\15\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\11\10\1\u017d\3\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\2\10\1\u017e\12\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\12\10\1\u017f\2\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\7\10\1\u0180\5\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\15\10\1\0\3\10\1\u0181\1\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\6\10\1\u0182"+
+    "\7\10\1\0\1\106\1\0\6\10\3\0\6\10\1\u0183"+
+    "\6\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\14\10\1\u0184\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\1\10\1\u015b\13\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\12\10\1\u0185\2\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\133"+
+    "\4\0\5\133\2\0\2\133\1\u0186\13\133\1\0\11\133"+
+    "\3\0\3\133\1\0\1\133\1\0\11\133\13\0\16\133"+
+    "\4\0\5\133\2\0\2\133\1\u0187\13\133\1\0\11\133"+
+    "\3\0\3\133\1\0\1\133\1\0\11\133\13\0\16\133"+
+    "\4\0\5\133\2\0\4\133\1\u0188\11\133\1\0\11\133"+
+    "\3\0\3\133\1\0\1\133\1\0\11\133\13\0\16\133"+
+    "\4\0\5\133\2\0\1\133\1\u0189\14\133\1\0\11\133"+
+    "\3\0\3\133\1\0\1\133\1\0\11\133\13\0\16\133"+
+    "\4\0\5\133\2\0\7\133\1\u018a\6\133\1\0\11\133"+
+    "\3\0\3\133\1\0\1\133\1\0\11\133\13\0\16\133"+
+    "\4\0\5\133\2\0\3\133\1\u018b\12\133\1\0\11\133"+
+    "\3\0\3\133\1\0\1\133\1\0\11\133\13\0\16\133"+
+    "\4\0\5\133\2\0\3\133\1\u018c\12\133\1\0\11\133"+
+    "\3\0\3\133\1\0\1\133\1\0\11\133\13\0\16\133"+
+    "\4\0\5\133\2\0\14\133\1\u018d\1\133\1\0\11\133"+
+    "\3\0\3\133\1\0\1\133\1\0\11\133\13\0\16\133"+
+    "\4\0\5\133\2\0\3\133\1\u018e\12\133\1\0\11\133"+
+    "\3\0\3\133\1\0\1\133\1\0\11\133\13\0\16\133"+
+    "\4\0\5\133\2\0\7\133\1\u018f\6\133\1\0\11\133"+
+    "\3\0\3\133\1\0\1\133\1\0\11\133\13\0\16\133"+
+    "\4\0\5\133\2\0\10\133\1\u0190\5\133\1\0\11\133"+
+    "\3\0\3\133\1\0\1\133\1\0\11\133\13\0\16\133"+
+    "\4\0\5\133\2\0\10\133\1\u0191\5\133\1\0\11\133"+
+    "\3\0\3\133\1\0\1\133\1\0\11\133\13\0\16\133"+
+    "\4\0\5\133\2\0\16\133\1\0\3\133\1\u0192\5\133"+
+    "\3\0\3\133\1\0\1\133\1\0\11\133\13\0\16\133"+
+    "\4\0\5\133\2\0\3\133\1\u0193\12\133\1\0\11\133"+
+    "\3\0\3\133\1\0\1\133\1\0\11\133\13\0\16\133"+
+    "\4\0\5\133\2\0\2\133\1\u0194\13\133\1\0\11\133"+
+    "\3\0\3\133\1\0\1\133\1\0\11\133\13\0\16\133"+
+    "\4\0\5\133\2\0\2\133\1\u0195\13\133\1\0\11\133"+
+    "\3\0\3\133\1\0\1\133\1\0\11\133\13\0\16\133"+
+    "\4\0\5\133\2\0\11\133\1\u0196\4\133\1\0\11\133"+
+    "\3\0\3\133\1\0\1\133\1\0\11\133\13\0\16\133"+
+    "\4\0\5\133\2\0\16\133\1\u0197\11\133\3\0\3\133"+
+    "\1\0\1\133\1\0\11\133\13\0\16\133\4\0\5\133"+
+    "\2\0\13\133\1\u0198\2\133\1\0\11\133\3\0\3\133"+
+    "\1\0\1\133\1\0\11\133\13\0\10\133\1\u0199\5\133"+
+    "\4\0\5\133\2\0\16\133\1\0\11\133\3\0\3\133"+
+    "\1\0\1\133\1\0\11\133\13\0\16\133\4\0\5\133"+
+    "\2\0\16\133\1\0\1\u019a\10\133\3\0\3\133\1\0"+
+    "\1\133\1\0\11\133\13\0\16\u0140\1\0\1\u0141\1\0"+
+    "\6\u0140\1\332\1\331\1\0\15\u0140\1\0\5\u0140\1\0"+
+    "\3\u0140\4\0\2\u0140\1\0\1\u0140\1\0\11\u0140\33\0"+
+    "\1\u0140\75\0\16\u0142\1\0\1\u0143\1\0\6\u0142\1\333"+
+    "\1\334\1\0\15\u0142\1\0\5\u0142\1\0\3\u0142\4\0"+
+    "\2\u0142\1\0\1\u0142\1\0\11\u0142\33\0\1\u0142\75\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\3\10\1\u019b"+
+    "\11\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\1\10\1\u019c\13\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\6\10\1\u019d\7\10\1\0\1\106\1\0\6\10\3\0"+
+    "\15\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\12\10\1\u019e\2\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\15\10\1\0"+
+    "\3\10\1\u019f\1\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\6\10\1\u01a0\7\10\1\0"+
+    "\1\106\1\0\6\10\3\0\15\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\7\10\1\u01a1"+
+    "\5\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\6\10\1\u01a2\7\10\1\0"+
+    "\1\106\1\0\6\10\3\0\15\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\15\10\1\0"+
+    "\2\10\1\u01a3\2\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\12\10\1\u01a4\2\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\10\10\1\u016c\1\10\1\u01a5\3\10\1\0\1\106\1\0"+
+    "\6\10\3\0\1\10\1\u016d\12\10\1\u01a6\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\10\10\1\u01a7\1\10\1\u01a5\3\10\1\0\1\106"+
+    "\1\0\6\10\3\0\1\10\1\u016d\12\10\1\u01a6\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\3\10\1\u01a8\11\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\6\10\1\u01a9"+
+    "\7\10\1\0\1\106\1\0\6\10\3\0\15\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\10\10\1\u01aa\5\10\1\0\1\106\1\0"+
+    "\6\10\3\0\15\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\1\u01ab\14\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\10\10\1\u01ac\5\10\1\0\1\106\1\0\6\10"+
+    "\3\0\1\10\1\u016d\13\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\6\10\1\u01ad\6\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\15\10\1\0\1\u01ae\4\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\15\10\1\0\1\u01af\4\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\6\10"+
+    "\1\u01b0\6\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\2\10\1\u01b1\12\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\6\10"+
+    "\1\u01b2\6\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\4\10\1\u01b3\10\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\6\10\1\u01b4\7\10\1\0\1\106\1\0\6\10"+
+    "\3\0\15\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\10\10\1\u01b5\5\10"+
+    "\1\0\1\106\1\0\6\10\3\0\15\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\7\10"+
+    "\1\u01b6\5\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\12\10\1\u01b7\2\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\6\10\1\u01b8\7\10\1\0\1\106\1\0\6\10"+
+    "\1\u01b9\2\0\15\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\15\10\1\0\5\10\1\0"+
+    "\3\10\4\0\1\u0178\1\10\1\0\1\10\1\0\11\10"+
+    "\13\0\10\10\1\u01ba\1\10\1\u01bb\3\10\1\0\1\106"+
+    "\1\0\6\10\3\0\1\10\1\u01bc\12\10\1\u01bd\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\10\10\1\u01be\5\10\1\0\1\106\1\0"+
+    "\6\10\3\0\2\10\1\u01bf\12\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\4\10\1\u01c0"+
+    "\10\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\7\10\1\u01c1\5\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\10\10\1\u01ba\5\10\1\0\1\106\1\0\6\10\3\0"+
+    "\1\10\1\u01bc\13\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\3\10\1\u01c2\11\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\15\10\1\0\4\10\1\u01c3\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\11\10\1\u01c4\3\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\13\10"+
+    "\1\u01c5\1\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\2\10\1\u01c6\12\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\1\10"+
+    "\1\u01c7\13\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\7\10\1\u01c8\5\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\1\u01c9\2\0"+
+    "\15\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\7\10\1\u01ca\5\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\1\10\1\u01cb"+
+    "\13\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\12\10\1\u01cc\2\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\1\u01cd\1\0\4\u01cd\4\0\1\u01cd\2\0\1\u01cd\4\0"+
+    "\1\u01cd\1\0\1\u01cd\5\0\1\u01cd\1\0\1\u01cd\3\0"+
+    "\1\u01cd\5\0\1\u01cd\11\0\1\u01cd\11\0\1\u01cd\1\0"+
+    "\3\u01cd\1\0\2\u01cd\14\0\1\u01ce\1\0\4\u01ce\4\0"+
+    "\1\u01ce\2\0\1\u01ce\4\0\1\u01ce\1\0\1\u01ce\5\0"+
+    "\1\u01ce\1\0\1\u01ce\3\0\1\u01ce\5\0\1\u01ce\11\0"+
+    "\1\u01ce\11\0\1\u01ce\1\0\3\u01ce\1\0\2\u01ce\14\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\6\10\1\u015b"+
+    "\6\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\10\10\1\u01cf\5\10\1\0"+
+    "\1\106\1\0\2\10\1\u01cf\3\10\3\0\15\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\15\10\1\0\5\10\1\0\3\10\4\0\1\10\1\u01d0"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\2\10\1\u01d1\12\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\2\10\1\u01d2\13\10\1\0\1\106\1\0\6\10"+
+    "\3\0\1\u01d3\2\10\1\u01d4\7\10\1\u01d5\1\10\1\0"+
+    "\4\10\1\u01d6\1\0\3\10\4\0\1\u01d7\1\10\1\0"+
+    "\1\10\1\0\5\10\1\u01d8\3\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\6\10\1\u01d9\6\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\11\10\1\u01da\3\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\13\10\1\u01db\1\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\12\10\1\u01dc\3\10\1\0\1\106\1\0"+
+    "\6\10\3\0\15\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\6\10\1\u01dd\6\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\2\10\1\u01de\12\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\14\10\1\u01df\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\15\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\u01e0\1\10"+
+    "\1\0\11\10\13\0\6\10\1\u01e1\7\10\1\0\1\106"+
+    "\1\0\6\10\3\0\15\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\133"+
+    "\4\0\5\133\2\0\7\133\1\u01e2\6\133\1\0\11\133"+
+    "\3\0\3\133\1\0\1\133\1\0\11\133\13\0\16\133"+
+    "\4\0\5\133\2\0\15\133\1\u01e3\1\0\11\133\3\0"+
+    "\3\133\1\0\1\133\1\0\11\133\13\0\16\133\4\0"+
+    "\5\133\2\0\4\133\1\u01e4\11\133\1\0\11\133\3\0"+
+    "\3\133\1\0\1\133\1\0\11\133\13\0\16\133\4\0"+
+    "\5\133\2\0\16\133\1\0\1\u01e5\10\133\3\0\3\133"+
+    "\1\0\1\133\1\0\11\133\13\0\16\133\4\0\5\133"+
+    "\2\0\2\133\1\u01e6\13\133\1\0\11\133\3\0\3\133"+
+    "\1\0\1\133\1\0\11\133\13\0\16\133\4\0\5\133"+
+    "\2\0\16\133\1\0\2\133\1\u01e7\6\133\3\0\3\133"+
+    "\1\0\1\133\1\0\11\133\13\0\16\133\4\0\5\133"+
+    "\2\0\13\133\1\u01e8\2\133\1\0\11\133\3\0\3\133"+
+    "\1\0\1\133\1\0\11\133\13\0\16\133\4\0\5\133"+
+    "\2\0\12\133\1\u01e9\3\133\1\0\11\133\3\0\3\133"+
+    "\1\0\1\133\1\0\11\133\13\0\16\133\4\0\5\133"+
+    "\2\0\10\133\1\u01ea\5\133\1\0\11\133\3\0\3\133"+
+    "\1\0\1\133\1\0\11\133\13\0\16\133\4\0\5\133"+
+    "\2\0\4\133\1\u01eb\11\133\1\0\11\133\3\0\3\133"+
+    "\1\0\1\133\1\0\11\133\13\0\16\133\4\0\5\133"+
+    "\2\0\1\133\1\u01ec\14\133\1\0\11\133\3\0\3\133"+
+    "\1\0\1\133\1\0\11\133\13\0\16\133\4\0\5\133"+
+    "\2\0\7\133\1\u01ed\6\133\1\0\11\133\3\0\3\133"+
+    "\1\0\1\133\1\0\11\133\13\0\16\133\4\0\5\133"+
+    "\2\0\11\133\1\u01ee\4\133\1\0\11\133\3\0\3\133"+
+    "\1\0\1\133\1\0\11\133\13\0\16\133\4\0\5\133"+
+    "\2\0\14\133\1\u01ef\1\133\1\0\11\133\3\0\3\133"+
+    "\1\0\1\133\1\0\11\133\13\0\16\133\4\0\5\133"+
+    "\2\0\14\133\1\u01f0\1\133\1\0\11\133\3\0\3\133"+
+    "\1\0\1\133\1\0\11\133\13\0\12\133\1\u01f1\3\133"+
+    "\4\0\5\133\2\0\2\133\1\u01f2\1\u01f3\1\u01f4\1\133"+
+    "\1\u01f5\2\133\1\u01f6\4\133\1\0\11\133\3\0\3\133"+
+    "\1\0\1\133\1\0\11\133\13\0\16\133\4\0\5\133"+
+    "\2\0\3\133\1\u01f7\12\133\1\0\11\133\3\0\3\133"+
+    "\1\0\1\133\1\0\11\133\13\0\16\133\4\0\5\133"+
+    "\2\0\4\133\1\u01f8\11\133\1\0\11\133\3\0\3\133"+
+    "\1\0\1\133\1\0\11\133\13\0\16\133\4\0\5\133"+
+    "\2\0\14\133\1\u01f9\1\133\1\0\11\133\3\0\3\133"+
+    "\1\0\1\133\1\0\11\133\13\0\6\10\1\u01fa\7\10"+
+    "\1\0\1\106\1\0\6\10\3\0\15\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\13\10"+
+    "\1\u01fb\1\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\12\10\1\u01fc\3\10"+
+    "\1\0\1\106\1\0\6\10\3\0\14\10\1\u01fd\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\6\10\1\u01fe\7\10\1\0\1\106\1\0"+
+    "\6\10\1\u01ff\2\0\7\10\1\u0200\5\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\6\10\1\u0201\7\10\1\0\1\106\1\0\6\10"+
+    "\3\0\15\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\12\10\1\u0202\2\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\2\10"+
+    "\1\u0203\12\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\2\10\1\u0204\13\10"+
+    "\1\0\1\106\1\0\6\10\3\0\1\u0205\2\10\1\u0206"+
+    "\7\10\1\u0207\1\10\1\0\4\10\1\u0208\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\6\10"+
+    "\1\u0209\7\10\1\0\1\106\1\0\6\10\3\0\15\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\2\10\1\u020a\12\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\1\10\1\u020b\13\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\13\10\1\u020c\1\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\11\10\1\u020d\3\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\6\10\1\u020e\6\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\2\10"+
+    "\1\u020f\13\10\1\0\1\106\1\0\6\10\3\0\1\u0210"+
+    "\2\10\1\u0211\7\10\1\u0212\1\10\1\0\4\10\1\u0213"+
+    "\1\0\3\10\4\0\1\u0214\1\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\1\u015b\14\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\12\10\1\u0215\2\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\11\10"+
+    "\1\u0216\3\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\10\10\1\u0177\4\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\7\10"+
+    "\1\u0217\5\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\6\10\1\354\6\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\14\10"+
+    "\1\u020e\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\12\10\1\u0178\2\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\1\u0218\14\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\12\10\1\u0219\2\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\10\10"+
+    "\1\u021a\5\10\1\0\1\106\1\0\6\10\3\0\15\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\10\10\1\u021b\4\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\11\10\1\u021c\3\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\13\10\1\u021d\1\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\6\10\1\u021e\1\u021f"+
+    "\3\10\1\u0220\1\10\1\0\4\10\1\u0221\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\25\0\1\u0222"+
+    "\62\0\1\u0223\20\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\11\10\1\u0224\3\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\1\10\1\u0225\13\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\13\10\1\u0226\1\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\13\10\1\u0227\1\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\11\10\1\u0228\3\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\7\10\1\u0229\5\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\1\u022a\14\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\7\10\1\u022b\5\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\10\10\1\u022c\5\10\1\0\1\106\1\0"+
+    "\6\10\3\0\15\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\6\10\1\u022d"+
+    "\7\10\1\0\1\106\1\0\6\10\3\0\15\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\12\10\1\u022e\2\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\11\10\1\u022f\3\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\7\10\1\u0230\5\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\6\10\1\u0231\6\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\10\10\1\u0232\5\10\1\0\1\106\1\0"+
+    "\6\10\3\0\15\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\110\0\1\u0233\3\0"+
+    "\1\u0234\14\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\15\10\1\0\1\10\1\u0235\3\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\6\10\1\u0236\6\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\10\10\1\u0237\5\10\1\0\1\106\1\0"+
+    "\6\10\3\0\15\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\1\u0238\1\0"+
+    "\4\u0238\4\0\1\u0238\2\0\1\u0238\4\0\1\u0238\1\0"+
+    "\1\u0238\5\0\1\u0238\1\0\1\u0238\3\0\1\u0238\5\0"+
+    "\1\u0238\11\0\1\u0238\11\0\1\u0238\1\0\3\u0238\1\0"+
+    "\2\u0238\14\0\1\u0239\1\0\4\u0239\4\0\1\u0239\2\0"+
+    "\1\u0239\4\0\1\u0239\1\0\1\u0239\5\0\1\u0239\1\0"+
+    "\1\u0239\3\0\1\u0239\5\0\1\u0239\11\0\1\u0239\11\0"+
+    "\1\u0239\1\0\3\u0239\1\0\2\u0239\14\0\13\10\1\u023a"+
+    "\2\10\1\0\1\106\1\0\6\10\3\0\12\10\1\u023a"+
+    "\2\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\1\10\1\u023b\13\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\13\10\1\u023c"+
+    "\1\10\1\0\2\10\1\u023d\2\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\15\10\1\0\1\u023e\4\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\15\10"+
+    "\1\0\1\u023f\4\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\2\10\1\u0240\13\10\1\0"+
+    "\1\106\1\0\6\10\3\0\15\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\10\10\1\u0241\5\10\1\0\1\106\1\0\6\10\3\0"+
+    "\15\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\13\10\1\u0242\1\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\4\10\1\u0243"+
+    "\10\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\15\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\u0244\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\1\u0245\11\10\1\u0246\2\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\6\10\1\u0247\7\10\1\0\1\106"+
+    "\1\0\6\10\3\0\15\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\2\10\1\u0248\12\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\6\10\1\u0249\7\10\1\0\1\106"+
+    "\1\0\6\10\3\0\15\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\7\10\1\u024a\5\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\6\10\1\u024b\7\10\1\0\1\106"+
+    "\1\0\6\10\3\0\15\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\1\u024c"+
+    "\115\0\16\10\1\0\1\106\1\0\6\10\3\0\12\10"+
+    "\1\u024d\2\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\133\4\0\5\133"+
+    "\2\0\11\133\1\u024e\4\133\1\0\11\133\3\0\3\133"+
+    "\1\0\1\133\1\0\11\133\13\0\16\133\4\0\5\133"+
+    "\2\0\3\133\1\u024f\12\133\1\0\11\133\3\0\3\133"+
+    "\1\0\1\133\1\0\11\133\13\0\16\133\4\0\5\133"+
+    "\2\0\4\133\1\u0250\11\133\1\0\11\133\3\0\3\133"+
+    "\1\0\1\133\1\0\11\133\13\0\6\133\1\u0251\7\133"+
+    "\4\0\5\133\2\0\16\133\1\0\11\133\3\0\3\133"+
+    "\1\0\1\133\1\0\11\133\13\0\16\133\4\0\5\133"+
+    "\2\0\3\133\1\u0252\12\133\1\0\11\133\3\0\3\133"+
+    "\1\0\1\133\1\0\11\133\13\0\16\133\4\0\5\133"+
+    "\2\0\12\133\1\u0253\3\133\1\0\11\133\3\0\3\133"+
+    "\1\0\1\133\1\0\11\133\13\0\16\133\4\0\5\133"+
+    "\2\0\7\133\1\u0254\6\133\1\0\11\133\3\0\3\133"+
+    "\1\0\1\133\1\0\11\133\13\0\16\133\4\0\5\133"+
+    "\2\0\7\133\1\u0255\6\133\1\0\11\133\3\0\3\133"+
+    "\1\0\1\133\1\0\11\133\13\0\16\133\4\0\5\133"+
+    "\2\0\15\133\1\u0256\1\0\11\133\3\0\3\133\1\0"+
+    "\1\133\1\0\11\133\13\0\16\133\4\0\5\133\2\0"+
+    "\16\133\1\0\1\133\1\u0257\7\133\3\0\3\133\1\0"+
+    "\1\133\1\0\11\133\13\0\16\133\4\0\5\133\2\0"+
+    "\16\133\1\0\1\133\1\u0258\7\133\3\0\3\133\1\0"+
+    "\1\133\1\0\11\133\13\0\10\133\1\u0259\5\133\4\0"+
+    "\5\133\2\0\16\133\1\0\11\133\3\0\3\133\1\0"+
+    "\1\133\1\0\11\133\13\0\16\133\4\0\5\133\2\0"+
+    "\14\133\1\u025a\1\133\1\0\11\133\3\0\3\133\1\0"+
+    "\1\133\1\0\11\133\13\0\16\133\4\0\5\133\2\0"+
+    "\10\133\1\u025b\1\133\1\u025c\3\133\1\0\11\133\3\0"+
+    "\3\133\1\0\1\133\1\0\11\133\13\0\16\133\4\0"+
+    "\5\133\2\0\5\133\1\u025d\1\u025e\7\133\1\0\11\133"+
+    "\3\0\3\133\1\0\1\133\1\0\11\133\13\0\16\133"+
+    "\4\0\5\133\2\0\3\133\1\u025f\12\133\1\0\11\133"+
+    "\3\0\3\133\1\0\1\133\1\0\11\133\13\0\16\133"+
+    "\4\0\5\133\2\0\7\133\1\u0260\6\133\1\0\11\133"+
+    "\3\0\3\133\1\0\1\133\1\0\11\133\13\0\16\133"+
+    "\4\0\5\133\2\0\10\133\1\u0261\5\133\1\0\11\133"+
+    "\3\0\3\133\1\0\1\133\1\0\11\133\13\0\16\133"+
+    "\4\0\5\133\2\0\13\133\1\u0262\2\133\1\0\11\133"+
+    "\3\0\3\133\1\0\1\133\1\0\11\133\13\0\16\133"+
+    "\4\0\5\133\2\0\15\133\1\u0263\1\0\11\133\3\0"+
+    "\3\133\1\0\1\133\1\0\11\133\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\1\u0264\14\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\11\10"+
+    "\1\u0265\3\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\1\10\1\u0266\13\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\13\10"+
+    "\1\u0267\1\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\1\u0268\2\10\1\u0269\11\10\1\0"+
+    "\4\10\1\u026a\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\63\0\1\u026b\21\0\1\u026c\2\0\1\u026d"+
+    "\20\0\16\10\1\0\1\106\1\0\6\10\3\0\4\10"+
+    "\1\u026e\10\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\1\u026f\14\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\13\10\1\u0270"+
+    "\1\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\1\u0271\14\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\13\10\1\u0272\1\10"+
+    "\1\0\2\10\1\u0273\2\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\15\10\1\0\1\u0274\4\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\15\10\1\0"+
+    "\1\u0275\4\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\2\10\1\u0276\13\10\1\0\1\106"+
+    "\1\0\6\10\3\0\15\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\10\10"+
+    "\1\u0277\5\10\1\0\1\106\1\0\6\10\3\0\15\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\1\10\1\u0278\13\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\12\10\1\u0279\2\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\13\10\1\u027a\1\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\4\10\1\u027b\10\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\12\10\1\u027c\2\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\6\10"+
+    "\1\u027d\7\10\1\0\1\106\1\0\6\10\3\0\15\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\13\10\1\u027e\1\10\1\0\2\10\1\u027f\2\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\15\10"+
+    "\1\0\1\u0280\4\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\15\10\1\0\1\u0281\4\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\2\10"+
+    "\1\u0282\13\10\1\0\1\106\1\0\6\10\3\0\15\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\10\10\1\u0283\5\10\1\0\1\106"+
+    "\1\0\6\10\3\0\15\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\13\10\1\u0284\1\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\12\10\1\u0285\3\10\1\0\1\106"+
+    "\1\0\6\10\3\0\15\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\12\10\1\u0286\2\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\13\10\1\u0287\1\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\12\10\1\u0288\2\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\6\10\1\u0289\6\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\11\10\1\u028a\3\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\6\10\1\u0177\6\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\6\10"+
+    "\1\u028b\7\10\1\0\1\106\1\0\6\10\3\0\15\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\7\10\1\u028c\5\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\15\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\u028d\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\6\10"+
+    "\1\u028e\6\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\2\10\1\u028f\13\10"+
+    "\1\0\1\106\1\0\6\10\3\0\15\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\10\10\1\u0290\5\10\1\0\1\106\1\0\6\10"+
+    "\3\0\15\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\54\0\1\u0291\152\0\1\u0292"+
+    "\17\0\16\10\1\0\1\106\1\0\6\10\3\0\12\10"+
+    "\1\u0293\2\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\13\10\1\u0294\1\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\11\10"+
+    "\1\u0295\3\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\4\10\1\u0296\10\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\3\10"+
+    "\1\u0297\11\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\7\10\1\u0298\5\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\15\10"+
+    "\1\0\1\u0299\4\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\13\10\1\u029a\1\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\6\10\1\u029b"+
+    "\6\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\15\10\1\0\5\10\1\0\3\10\4\0"+
+    "\1\u029c\1\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\1\u029d\2\0\15\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\15\10\1\0\1\10\1\u027c\3\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\6\10\1\u029e\6\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\6\10\1\u029f\7\10\1\0\1\106\1\0"+
+    "\6\10\3\0\15\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\1\u02a0\14\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\111\0\1\u02a1\113\0\1\u02a2\21\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\3\10\1\u015b\11\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\15\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\u02a3\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\1\10\1\u0178\13\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\1\u02a4"+
+    "\1\0\4\u02a4\4\0\1\u02a4\2\0\1\u02a4\4\0\1\u02a4"+
+    "\1\0\1\u02a4\5\0\1\u02a4\1\0\1\u02a4\3\0\1\u02a4"+
+    "\5\0\1\u02a4\11\0\1\u02a4\11\0\1\u02a4\1\0\3\u02a4"+
+    "\1\0\2\u02a4\14\0\14\10\1\300\1\10\1\0\1\106"+
+    "\1\0\6\10\3\0\15\10\1\0\2\10\1\300\2\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\6\10\1\u02a5\7\10\1\0\1\106\1\0\6\10"+
+    "\3\0\15\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\13\10\1\u02a6\1\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\12\10"+
+    "\1\u02a7\2\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\2\10\1\u02a8\12\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\13\10"+
+    "\1\u02a9\1\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\15\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\1\10\1\u02aa\7\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\14\10"+
+    "\1\u02ab\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\1\10\1\u02ac\13\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\10\10\1\u02ad\5\10\1\0\1\106\1\0\6\10\3\0"+
+    "\15\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\1\u02ae\115\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\6\10\1\u02af\6\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\10\10\1\u02b0\5\10\1\0\1\106\1\0"+
+    "\6\10\3\0\15\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\2\10\1\u02b1"+
+    "\7\10\1\u01bb\3\10\1\0\1\106\1\0\6\10\3\0"+
+    "\1\u02b2\1\u01bc\1\10\1\u02b3\10\10\1\u01bd\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\1\u0178"+
+    "\14\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\10\10\1\u02b4\5\10\1\0"+
+    "\1\106\1\0\6\10\3\0\3\10\1\u02b5\7\10\1\u02b6"+
+    "\1\u02b7\1\0\5\10\1\0\3\10\4\0\1\u02b8\1\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\7\10\1\u02b9\5\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\11\10"+
+    "\1\u02ba\3\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\103\0\1\u02bb\25\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\13\10\1\u02bc\1\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\133\4\0\5\133\2\0\7\133"+
+    "\1\u02bd\6\133\1\0\11\133\3\0\3\133\1\0\1\133"+
+    "\1\0\11\133\13\0\16\133\4\0\5\133\2\0\2\133"+
+    "\1\u02be\13\133\1\0\11\133\3\0\3\133\1\0\1\133"+
+    "\1\0\11\133\13\0\16\133\4\0\5\133\2\0\15\133"+
+    "\1\u02bf\1\0\11\133\3\0\3\133\1\0\1\133\1\0"+
+    "\11\133\13\0\16\133\4\0\5\133\2\0\13\133\1\u02c0"+
+    "\2\133\1\0\11\133\3\0\3\133\1\0\1\133\1\0"+
+    "\11\133\13\0\16\133\4\0\5\133\2\0\14\133\1\u02c1"+
+    "\1\133\1\0\11\133\3\0\3\133\1\0\1\133\1\0"+
+    "\11\133\13\0\6\133\1\u02c2\7\133\4\0\5\133\2\0"+
+    "\16\133\1\0\11\133\3\0\3\133\1\0\1\133\1\0"+
+    "\11\133\13\0\6\133\1\u02c3\7\133\4\0\5\133\2\0"+
+    "\16\133\1\0\11\133\3\0\3\133\1\0\1\133\1\0"+
+    "\11\133\13\0\16\133\4\0\5\133\2\0\5\133\1\u02c4"+
+    "\10\133\1\0\11\133\3\0\3\133\1\0\1\133\1\0"+
+    "\11\133\13\0\16\133\4\0\5\133\2\0\5\133\1\u02c5"+
+    "\10\133\1\0\11\133\3\0\3\133\1\0\1\133\1\0"+
+    "\11\133\13\0\16\133\4\0\5\133\2\0\7\133\1\u02c6"+
+    "\6\133\1\0\11\133\3\0\3\133\1\0\1\133\1\0"+
+    "\11\133\13\0\16\133\4\0\5\133\2\0\1\133\1\u02c7"+
+    "\14\133\1\0\11\133\3\0\3\133\1\0\1\133\1\0"+
+    "\11\133\13\0\16\133\4\0\5\133\2\0\10\133\1\u02c8"+
+    "\5\133\1\0\11\133\3\0\3\133\1\0\1\133\1\0"+
+    "\11\133\13\0\16\133\4\0\5\133\2\0\12\133\1\u02c9"+
+    "\3\133\1\0\11\133\3\0\3\133\1\0\1\133\1\0"+
+    "\11\133\13\0\2\133\1\u02ca\13\133\4\0\5\133\2\0"+
+    "\16\133\1\0\11\133\3\0\3\133\1\0\1\133\1\0"+
+    "\11\133\13\0\16\133\4\0\5\133\2\0\3\133\1\u02cb"+
+    "\12\133\1\0\11\133\3\0\3\133\1\0\1\133\1\0"+
+    "\11\133\13\0\16\133\4\0\5\133\2\0\1\133\1\u02cc"+
+    "\6\133\1\u02cd\5\133\1\0\11\133\3\0\3\133\1\0"+
+    "\1\133\1\0\11\133\13\0\16\133\4\0\5\133\2\0"+
+    "\13\133\1\u02ce\2\133\1\0\11\133\3\0\3\133\1\0"+
+    "\1\133\1\0\11\133\13\0\16\133\4\0\5\133\2\0"+
+    "\13\133\1\u02cf\2\133\1\0\11\133\3\0\3\133\1\0"+
+    "\1\133\1\0\11\133\13\0\16\133\4\0\5\133\2\0"+
+    "\7\133\1\u02d0\6\133\1\0\11\133\3\0\3\133\1\0"+
+    "\1\133\1\0\11\133\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\15\10\1\0\1\u02d1\4\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\15\10\1\0\1\10"+
+    "\1\u02d2\3\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\13\10\1\u02d3\1\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\4\10\1\u02d4\10\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\1\10\1\u02d5\13\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\12\10\1\u02d6\2\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\10\10\1\u02d7\5\10\1\0\1\106"+
+    "\1\0\6\10\3\0\15\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\23\0\1\u02d8"+
+    "\203\0\1\u02d9\17\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\1\u02da\14\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\2\10\1\u02db\12\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\6\10\1\u02dc\7\10\1\0\1\106\1\0"+
+    "\6\10\3\0\15\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\12\10\1\u015b\2\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\13\10\1\u02dd\1\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\12\10\1\u02de\2\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\2\10\1\u02df\12\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\13\10\1\u02e0\1\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\15\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\1\10\1\u02e1\7\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\14\10\1\u02de\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\6\10"+
+    "\1\u02e2\6\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\10\10\1\u02e3\5\10"+
+    "\1\0\1\106\1\0\6\10\3\0\15\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\2\10"+
+    "\1\u020d\12\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\2\10\1\u02e4\13\10"+
+    "\1\0\1\106\1\0\6\10\3\0\15\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\1\u02e5\2\0"+
+    "\15\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\3\10\1\u02e6\11\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\13\10\1\u02e7"+
+    "\1\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\12\10\1\u02e8\2\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\2\10\1\u02e9"+
+    "\12\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\13\10\1\u02ea\1\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\15\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\1\10\1\u02eb\7\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\14\10\1\u02ec\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\1\10\1\u02ed\13\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\5\10\1\u015b\7\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\1\u02ee\2\0\15\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\11\10\1\u02ef\3\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\6\10\1\u02f0\6\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\6\10\1\u02f1\7\10\1\0\1\106\1\0"+
+    "\6\10\3\0\15\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\12\10\1\u02f2\2\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\13\10\1\u02f3\1\10\1\0\4\10\1\u02f4\1\0\3\10"+
+    "\4\0\1\u02f5\1\10\1\0\1\10\1\0\11\10\13\0"+
+    "\6\10\1\u02f6\7\10\1\0\1\106\1\0\6\10\3\0"+
+    "\15\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\1\u02f7\14\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\3\10\1\u02f8\11\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\15\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\1\10\1\u02f9\7\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\14\10\1\u02fa\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\60\0\1\u02fb\50\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\2\10\1\u0224\12\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\15\10\1\0"+
+    "\1\10\1\u0293\3\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\2\10\1\u02fc\13\10\1\0"+
+    "\1\106\1\0\6\10\3\0\15\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\12\10\1\u02fd"+
+    "\2\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\2\10\1\u02fe\12\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\6\10\1\u02ff\7\10\1\0\1\106\1\0\6\10\3\0"+
+    "\15\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\7\10\1\u0300\5\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\11\10\1\u0271"+
+    "\3\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\6\10\1\u0301\6\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\46\0"+
+    "\1\u0302\40\0\1\u0303\21\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\14\10\1\u0304\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\12\10\1\u0305\2\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\6\10\1\u0306\7\10\1\0\1\106"+
+    "\1\0\6\10\3\0\15\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\1\u0307"+
+    "\115\0\12\10\1\u0308\3\10\1\0\1\106\1\0\6\10"+
+    "\3\0\1\u0309\7\10\1\u030a\4\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\1\10\1\u030b"+
+    "\13\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\6\10\1\u030c\6\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\7\10\1\u030c"+
+    "\5\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\7\10\1\u030d\5\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\6\10\1\u030e"+
+    "\6\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\6\10\1\u030f\6\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\2\10\1\u0310"+
+    "\12\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\1\u0311\14\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\103\0\1\u0312"+
+    "\25\0\6\10\1\u0313\7\10\1\0\1\106\1\0\6\10"+
+    "\3\0\15\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\2\10\1\u0314\12\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\15\10"+
+    "\1\0\2\10\1\u0315\2\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\15\10\1\0\1\u0316\4\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\15\10\1\0"+
+    "\1\u0317\4\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\11\10\1\u0318\3\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\4\10\1\u0319\5\10"+
+    "\1\u031a\2\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\2\10\1\u031b\13\10"+
+    "\1\0\1\106\1\0\6\10\3\0\15\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\10\10\1\u031c\5\10\1\0\1\106\1\0\6\10"+
+    "\3\0\15\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\10\10\1\u031d\5\10"+
+    "\1\0\1\106\1\0\6\10\3\0\15\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\2\10"+
+    "\1\u031e\12\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\6\10\1\u031f\6\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\1\u0320\1\0\4\u0320\4\0\1\u0320\2\0\1\u0320"+
+    "\4\0\1\u0320\1\0\1\u0320\5\0\1\u0320\1\0\1\u0320"+
+    "\3\0\1\u0320\5\0\1\u0320\11\0\1\u0320\11\0\1\u0320"+
+    "\1\0\3\u0320\1\0\2\u0320\14\0\6\10\1\u0321\7\10"+
+    "\1\0\1\106\1\0\6\10\3\0\15\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\133\4\0\5\133\2\0\12\133\1\u0322\3\133"+
+    "\1\0\11\133\3\0\3\133\1\0\1\133\1\0\11\133"+
+    "\13\0\16\133\4\0\5\133\2\0\2\133\1\u0323\13\133"+
+    "\1\0\11\133\3\0\3\133\1\0\1\133\1\0\11\133"+
+    "\13\0\16\133\4\0\5\133\2\0\3\133\1\u0324\12\133"+
+    "\1\0\11\133\3\0\3\133\1\0\1\133\1\0\11\133"+
+    "\13\0\10\133\1\u0325\5\133\4\0\5\133\2\0\16\133"+
+    "\1\0\11\133\3\0\3\133\1\0\1\133\1\0\11\133"+
+    "\13\0\16\133\4\0\5\133\2\0\13\133\1\u0326\2\133"+
+    "\1\0\11\133\3\0\3\133\1\0\1\133\1\0\11\133"+
+    "\13\0\16\133\4\0\5\133\2\0\4\133\1\u0327\11\133"+
+    "\1\0\11\133\3\0\3\133\1\0\1\133\1\0\11\133"+
+    "\13\0\16\133\4\0\5\133\2\0\4\133\1\u0328\11\133"+
+    "\1\0\11\133\3\0\3\133\1\0\1\133\1\0\11\133"+
+    "\13\0\16\133\4\0\5\133\2\0\7\133\1\u0329\6\133"+
+    "\1\0\11\133\3\0\3\133\1\0\1\133\1\0\11\133"+
+    "\13\0\16\133\4\0\5\133\2\0\7\133\1\u032a\6\133"+
+    "\1\0\11\133\3\0\3\133\1\0\1\133\1\0\11\133"+
+    "\13\0\16\133\4\0\5\133\2\0\2\133\1\u032b\13\133"+
+    "\1\0\11\133\3\0\3\133\1\0\1\133\1\0\11\133"+
+    "\13\0\16\133\4\0\5\133\2\0\3\133\1\u032c\12\133"+
+    "\1\0\11\133\3\0\3\133\1\0\1\133\1\0\11\133"+
+    "\13\0\16\133\4\0\5\133\2\0\3\133\1\u032d\12\133"+
+    "\1\0\11\133\3\0\3\133\1\0\1\133\1\0\11\133"+
+    "\13\0\16\133\4\0\5\133\2\0\14\133\1\u032e\1\133"+
+    "\1\0\11\133\3\0\3\133\1\0\1\133\1\0\11\133"+
+    "\13\0\16\133\4\0\5\133\2\0\3\133\1\u032f\12\133"+
+    "\1\0\11\133\3\0\3\133\1\0\1\133\1\0\11\133"+
+    "\13\0\16\133\4\0\5\133\2\0\10\133\1\u0330\5\133"+
+    "\1\0\11\133\3\0\3\133\1\0\1\133\1\0\11\133"+
+    "\13\0\16\133\4\0\5\133\2\0\16\133\1\0\3\133"+
+    "\1\u0331\5\133\3\0\3\133\1\0\1\133\1\0\11\133"+
+    "\13\0\16\133\4\0\5\133\2\0\3\133\1\u0332\12\133"+
+    "\1\0\11\133\3\0\3\133\1\0\1\133\1\0\11\133"+
+    "\13\0\16\133\4\0\5\133\2\0\16\133\1\0\1\u0333"+
+    "\10\133\3\0\3\133\1\0\1\133\1\0\11\133\13\0"+
+    "\16\133\4\0\5\133\2\0\16\133\1\u0334\11\133\3\0"+
+    "\3\133\1\0\1\133\1\0\11\133\13\0\16\133\4\0"+
+    "\5\133\2\0\10\133\1\u0335\5\133\1\0\11\133\3\0"+
+    "\3\133\1\0\1\133\1\0\11\133\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\2\10\1\u0336\12\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\2\10\1\u0337\12\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\2\10\1\u0338"+
+    "\13\10\1\0\1\106\1\0\6\10\3\0\15\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\2\10\1\u0339\12\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\7\10\1\u033a\5\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\14\10\1\u033b\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\64\0\1\u033c\44\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\12\10\1\u033d\2\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\3\10\1\u033e\11\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\10\10"+
+    "\1\u01ba\1\10\1\u01bb\3\10\1\0\1\106\1\0\6\10"+
+    "\3\0\14\10\1\u01bd\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\1\10\1\u033f\13\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\6\10\1\u02d2\6\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\7\10\1\u02d2\5\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\7\10\1\u0337\5\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\6\10\1\u0340\6\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\11\10\1\u0341\3\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\13\10\1\u0342\1\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\1\10\1\u0343\13\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\107\0\1\u0303\21\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\15\10\1\0"+
+    "\4\10\1\u0344\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\1\10\1\u0345\13\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\6\10\1\u0346\6\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\7\10\1\u0346\5\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\7\10\1\u0347\5\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\6\10\1\u0348\6\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\6\10\1\u0349\6\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\2\10\1\u034a\12\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\46\0\1\u034b"+
+    "\40\0\1\u0303\21\0\10\10\1\u034c\5\10\1\0\1\106"+
+    "\1\0\6\10\3\0\15\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\14\10\1\u015b\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\10\10\1\u034d\5\10\1\0\1\106\1\0"+
+    "\6\10\3\0\15\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\1\u034e\2\0\15\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\2\10\1\u034f\13\10\1\0\1\106\1\0\6\10"+
+    "\3\0\15\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\10\10\1\u0350\5\10"+
+    "\1\0\1\106\1\0\6\10\3\0\15\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\13\10"+
+    "\1\u0351\1\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\6\10\1\u0352\6\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\6\10"+
+    "\1\u0353\6\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\4\10\1\u0354\10\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\6\10"+
+    "\1\u0355\6\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\6\10\1\u0356\6\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\55\0\1\u0357\53\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\1\10\1\u0358\13\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\2\10\1\u0359\12\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\15\10\1\0\2\10\1\u035a\2\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\12\10"+
+    "\1\u035b\3\10\1\0\1\106\1\0\6\10\3\0\1\u035c"+
+    "\7\10\1\u035d\4\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\7\10\1\u035e\5\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\23\0\1\u035f\141\0\1\u0360\61\0\6\10\1\u0361"+
+    "\7\10\1\0\1\106\1\0\6\10\3\0\15\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\13\10\1\u0362\1\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\6\10\1\u0167\6\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\103\0\1\u0363\25\0\10\10\1\u0364\5\10\1\0"+
+    "\1\106\1\0\6\10\3\0\15\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\1\10\1\u0365"+
+    "\13\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\6\10\1\u0366\6\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\6\10\1\u0367"+
+    "\6\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\12\10\1\u030c\2\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\1\u0368\14\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\6\10\1\u0369\7\10\1\0\1\106"+
+    "\1\0\6\10\3\0\15\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\12\10\1\u036a\2\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\15\10\1\0\3\10\1\u036b\1\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\1\u036c"+
+    "\1\0\4\u036c\4\0\1\u036c\2\0\1\u036c\4\0\1\u036c"+
+    "\1\0\1\u036c\5\0\1\u036c\1\0\1\u036c\3\0\1\u036c"+
+    "\5\0\1\u036c\11\0\1\u036c\11\0\1\u036c\1\0\3\u036c"+
+    "\1\0\2\u036c\14\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\13\10\1\u036d\1\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\12\10\1\u036e\2\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\12\10\1\u0358\2\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\2\10\1\u036f\12\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\13\10\1\u0370\1\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\12\10\1\u0371\2\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\5\10\1\u0372\7\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\2\10\1\u0373\12\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\15\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\1\10\1\u0374\7\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\7\10\1\u0375\5\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\7\10\1\u0376\5\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\15\10\1\0\2\10"+
+    "\1\u0377\2\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\15\10\1\0\4\10\1\u0378\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\10\10\1\u01ba"+
+    "\5\10\1\0\1\106\1\0\6\10\3\0\1\10\1\u01bc"+
+    "\12\10\1\u01bd\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\133\4\0\5\133"+
+    "\2\0\13\133\1\u0379\2\133\1\0\11\133\3\0\3\133"+
+    "\1\0\1\133\1\0\11\133\13\0\16\133\4\0\5\133"+
+    "\2\0\13\133\1\u037a\2\133\1\0\11\133\3\0\3\133"+
+    "\1\0\1\133\1\0\11\133\13\0\16\133\4\0\5\133"+
+    "\2\0\14\133\1\u037b\1\133\1\0\11\133\3\0\3\133"+
+    "\1\0\1\133\1\0\11\133\13\0\16\133\4\0\5\133"+
+    "\2\0\3\133\1\u037c\12\133\1\0\11\133\3\0\3\133"+
+    "\1\0\1\133\1\0\11\133\13\0\16\133\4\0\5\133"+
+    "\2\0\16\133\1\0\4\133\1\u037d\4\133\3\0\3\133"+
+    "\1\0\1\133\1\0\11\133\13\0\16\133\4\0\5\133"+
+    "\2\0\16\133\1\0\4\133\1\u037e\4\133\3\0\3\133"+
+    "\1\0\1\133\1\0\11\133\13\0\16\133\4\0\5\133"+
+    "\2\0\15\133\1\u037f\1\0\11\133\3\0\3\133\1\0"+
+    "\1\133\1\0\11\133\13\0\16\133\4\0\5\133\2\0"+
+    "\2\133\1\u0380\13\133\1\0\11\133\3\0\3\133\1\0"+
+    "\1\133\1\0\11\133\13\0\16\133\4\0\5\133\2\0"+
+    "\16\133\1\0\2\133\1\u0381\6\133\3\0\3\133\1\0"+
+    "\1\133\1\0\11\133\13\0\16\133\4\0\5\133\2\0"+
+    "\13\133\1\u0382\2\133\1\0\11\133\3\0\3\133\1\0"+
+    "\1\133\1\0\11\133\13\0\16\133\4\0\5\133\2\0"+
+    "\12\133\1\u0383\3\133\1\0\11\133\3\0\3\133\1\0"+
+    "\1\133\1\0\11\133\13\0\16\133\4\0\5\133\2\0"+
+    "\4\133\1\u0384\11\133\1\0\11\133\3\0\3\133\1\0"+
+    "\1\133\1\0\11\133\13\0\16\133\4\0\5\133\2\0"+
+    "\7\133\1\u0385\6\133\1\0\11\133\3\0\3\133\1\0"+
+    "\1\133\1\0\11\133\13\0\16\133\4\0\5\133\2\0"+
+    "\11\133\1\u0386\4\133\1\0\11\133\3\0\3\133\1\0"+
+    "\1\133\1\0\11\133\13\0\16\133\4\0\5\133\2\0"+
+    "\14\133\1\u0387\1\133\1\0\11\133\3\0\3\133\1\0"+
+    "\1\133\1\0\11\133\13\0\16\133\4\0\5\133\2\0"+
+    "\2\133\1\u0388\13\133\1\0\11\133\3\0\3\133\1\0"+
+    "\1\133\1\0\11\133\13\0\16\133\4\0\5\133\2\0"+
+    "\4\133\1\u0389\11\133\1\0\11\133\3\0\3\133\1\0"+
+    "\1\133\1\0\11\133\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\11\10\1\u038a\3\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\12\10\1\u02d2"+
+    "\2\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\1\10\1\u02de\13\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\3\10\1\u038b"+
+    "\11\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\10\10\1\u038c\5\10\1\0"+
+    "\1\106\1\0\6\10\3\0\15\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\6\10\1\u038d"+
+    "\6\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\63\0\1\u038e\45\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\13\10\1\u038f\1\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\12\10\1\u0390\2\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\6\10\1\u0391\6\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\1\u0337\14\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\15\10\1\0\1\10\1\u0392\3\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\11\10"+
+    "\1\u015b\3\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\6\10\1\u027c\6\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\10\10\1\u0393\5\10\1\0\1\106\1\0\6\10"+
+    "\3\0\15\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\6\10\1\u0394\6\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\12\10"+
+    "\1\u0346\2\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\1\u0395\14\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\6\10\1\u0396\7\10\1\0\1\106\1\0\6\10\3\0"+
+    "\15\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\12\10\1\u0397\2\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\23\0"+
+    "\1\u0398\105\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\15\10\1\0\5\10\1\0\3\10\4\0\1\10\1\u0288"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\11\10\1\u0399\3\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\46\0\1\u034b\62\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\15\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\1\10\1\u039a\7\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\14\10\1\u039b\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\10\10\1\u039c\5\10\1\0\1\106\1\0"+
+    "\6\10\3\0\15\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\11\10\1\u039d\3\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\u039e\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\5\10\1\u039f\7\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\1\10\1\u03a0\13\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\1\u03a1\14\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\1\u01b9\2\0\15\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\110\0"+
+    "\1\u03a2\20\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\6\10\1\u0293\6\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\11\10\1\u03a3\3\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\10\10\1\u03a4\5\10\1\0\1\106\1\0"+
+    "\6\10\3\0\15\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\1\10\1\u03a5\13\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\6\10\1\u03a6\6\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\10\10\1\u03a7"+
+    "\5\10\1\0\1\106\1\0\6\10\3\0\15\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\57\0\1\u03a8\117\0\1\u03a9\47\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\3\10\1\u03aa\11\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\6\10\1\u03ab\7\10\1\0\1\106\1\0"+
+    "\6\10\3\0\15\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\1\u03ac\1\0"+
+    "\4\u03ac\4\0\1\u03ac\2\0\1\u03ac\4\0\1\u03ac\1\0"+
+    "\1\u03ac\5\0\1\u03ac\1\0\1\u03ac\3\0\1\u03ac\5\0"+
+    "\1\u03ac\11\0\1\u03ac\11\0\1\u03ac\1\0\3\u03ac\1\0"+
+    "\2\u03ac\14\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\6\10\1\u03ad\6\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\2\10\1\u03ae\12\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\12\10\1\u03af\2\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\2\10\1\u03b0\12\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\12\10\1\u030f\2\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\15\10\1\0\5\10\1\0"+
+    "\3\10\4\0\1\u01d7\1\10\1\0\1\10\1\0\5\10"+
+    "\1\u01d8\3\10\13\0\10\10\1\u03b1\5\10\1\0\1\106"+
+    "\1\0\6\10\3\0\15\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\12\10"+
+    "\1\u035a\3\10\1\0\1\106\1\0\6\10\3\0\15\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\10\10\1\u03b2\5\10\1\0\1\106"+
+    "\1\0\6\10\3\0\15\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\7\10\1\u0293\5\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\7\10\1\u0224\5\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\6\10\1\u03b3\6\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\6\10\1\u03b4\6\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\12\10\1\u03b5\2\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\6\10\1\u03b6\6\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\6\10\1\u03b7\6\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\12\10\1\u03b8\2\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\6\10"+
+    "\1\u03b9\7\10\1\0\1\106\1\0\6\10\3\0\15\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\6\10\1\u03ba\7\10\1\0\1\106"+
+    "\1\0\6\10\3\0\15\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\133"+
+    "\4\0\5\133\2\0\4\133\1\u03bb\11\133\1\0\11\133"+
+    "\3\0\3\133\1\0\1\133\1\0\11\133\13\0\16\133"+
+    "\4\0\5\133\2\0\3\133\1\u03bc\12\133\1\0\11\133"+
+    "\3\0\3\133\1\0\1\133\1\0\11\133\13\0\16\133"+
+    "\4\0\5\133\2\0\12\133\1\u03bd\3\133\1\0\11\133"+
+    "\3\0\3\133\1\0\1\133\1\0\11\133\13\0\16\133"+
+    "\4\0\5\133\2\0\13\133\1\u03be\2\133\1\0\11\133"+
+    "\3\0\3\133\1\0\1\133\1\0\11\133\13\0\10\133"+
+    "\1\u03bf\5\133\4\0\5\133\2\0\16\133\1\0\11\133"+
+    "\3\0\3\133\1\0\1\133\1\0\11\133\13\0\10\133"+
+    "\1\u03c0\5\133\4\0\5\133\2\0\16\133\1\0\11\133"+
+    "\3\0\3\133\1\0\1\133\1\0\11\133\13\0\6\133"+
+    "\1\u03c1\7\133\4\0\5\133\2\0\16\133\1\0\11\133"+
+    "\3\0\3\133\1\0\1\133\1\0\11\133\13\0\16\133"+
+    "\4\0\5\133\2\0\3\133\1\u03c2\12\133\1\0\11\133"+
+    "\3\0\3\133\1\0\1\133\1\0\11\133\13\0\16\133"+
+    "\4\0\5\133\2\0\12\133\1\u03c3\3\133\1\0\11\133"+
+    "\3\0\3\133\1\0\1\133\1\0\11\133\13\0\16\133"+
+    "\4\0\5\133\2\0\7\133\1\u03c4\6\133\1\0\11\133"+
+    "\3\0\3\133\1\0\1\133\1\0\11\133\13\0\16\133"+
+    "\4\0\5\133\2\0\15\133\1\u03c5\1\0\11\133\3\0"+
+    "\3\133\1\0\1\133\1\0\11\133\13\0\16\133\4\0"+
+    "\5\133\2\0\15\133\1\u03c6\1\0\11\133\3\0\3\133"+
+    "\1\0\1\133\1\0\11\133\13\0\16\133\4\0\5\133"+
+    "\2\0\14\133\1\u03c7\1\133\1\0\11\133\3\0\3\133"+
+    "\1\0\1\133\1\0\11\133\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\15\10\1\0\1\10\1\u03c8\3\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\3\10"+
+    "\1\u0390\11\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\11\10\1\u03c9\3\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\1\u03ca\2\0"+
+    "\15\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\110\0\1\u03cb\20\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\7\10\1\u015b\5\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\2\10\1\u03cc\12\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\12\10\1\u03cd\2\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\12\10\1\u03ce\2\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\2\10\1\u03cf\12\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\12\10\1\u0349\2\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\15\10\1\0\5\10\1\0"+
+    "\3\10\4\0\1\u0214\1\10\1\0\1\10\1\0\11\10"+
+    "\13\0\10\10\1\u03d0\5\10\1\0\1\106\1\0\6\10"+
+    "\3\0\15\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\57\0\1\u03d1\51\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\1\10\1\u03d2\13\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\6\10\1\u03d3\6\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\6\10\1\u03d4\6\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\14\10\1\u03d5\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\12\10\1\u03d6\2\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\10\10\1\u03d7\5\10\1\0\1\106\1\0"+
+    "\6\10\3\0\15\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\12\10\1\u03d8\2\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\12\10\1\u03d9\2\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\12\10\1\u0356\2\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\111\0\1\u03da\17\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\1\u03db\14\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\6\10\1\u03dc\6\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\2\10\1\u03dd\12\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\12\10\1\u03de\2\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\12\10\1\u03df\3\10\1\0\1\106"+
+    "\1\0\6\10\3\0\15\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\110\0\1\u03e0"+
+    "\2\0\1\u03e1\63\0\1\u03e2\47\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\15\10\1\0\2\10\1\u03e3\2\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\10\10\1\u01ba\1\10\1\u01bb\3\10\1\0\1\106"+
+    "\1\0\6\10\3\0\1\10\1\u01bc\13\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\1\10"+
+    "\1\u03e4\13\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\3\10\1\u03e5\11\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\15\10"+
+    "\1\0\1\u03e6\4\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\11\10\1\u030c\3\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\1\10\1\u03e7"+
+    "\13\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\13\10\1\u03e8\1\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\7\10\1\u03e9"+
+    "\5\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\7\10\1\u03ea\5\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\10\10\1\u03eb\5\10\1\0\1\106\1\0\6\10\3\0"+
+    "\15\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\1\u03ec\14\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\1\u03ed\14\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\4\10\1\u03ee\10\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\14\10\1\u03ef\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\2\10"+
+    "\1\u03f0\12\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\10\133\1\u03f1\5\133"+
+    "\4\0\5\133\2\0\16\133\1\0\11\133\3\0\3\133"+
+    "\1\0\1\133\1\0\11\133\13\0\16\133\4\0\5\133"+
+    "\2\0\13\133\1\u03f2\2\133\1\0\11\133\3\0\3\133"+
+    "\1\0\1\133\1\0\11\133\13\0\16\133\4\0\5\133"+
+    "\2\0\13\133\1\u03f3\2\133\1\0\11\133\3\0\3\133"+
+    "\1\0\1\133\1\0\11\133\13\0\16\133\4\0\5\133"+
+    "\2\0\15\133\1\u03f4\1\0\11\133\3\0\3\133\1\0"+
+    "\1\133\1\0\11\133\13\0\16\133\4\0\5\133\2\0"+
+    "\13\133\1\u03f5\2\133\1\0\11\133\3\0\3\133\1\0"+
+    "\1\133\1\0\11\133\13\0\16\133\4\0\5\133\2\0"+
+    "\14\133\1\u03f6\1\133\1\0\11\133\3\0\3\133\1\0"+
+    "\1\133\1\0\11\133\13\0\6\133\1\u03f7\7\133\4\0"+
+    "\5\133\2\0\16\133\1\0\11\133\3\0\3\133\1\0"+
+    "\1\133\1\0\11\133\13\0\6\133\1\u03f8\7\133\4\0"+
+    "\5\133\2\0\16\133\1\0\11\133\3\0\3\133\1\0"+
+    "\1\133\1\0\11\133\13\0\16\133\4\0\5\133\2\0"+
+    "\1\133\1\u03f9\14\133\1\0\11\133\3\0\3\133\1\0"+
+    "\1\133\1\0\11\133\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\6\10\1\u02a0\6\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\15\10\1\0"+
+    "\1\10\1\u03fa\3\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\63\0\1\u03fb\24\0\1\u026d\3\0"+
+    "\1\u03fc\112\0\1\u03fd\17\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\11\10\1\u02d2\3\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\15\10\1\0"+
+    "\1\u0293\4\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\1\u03fe\14\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\11\10\1\u0346\3\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\1\10\1\u03ff\13\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\113\0\1\u03e1\15\0"+
+    "\10\10\1\u0400\5\10\1\0\1\106\1\0\6\10\3\0"+
+    "\15\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\1\u03d7\14\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\6\10"+
+    "\1\u0401\7\10\1\0\1\106\1\0\6\10\3\0\15\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\6\10\1\u0402\6\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\12\10\1\u03d4\2\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\10\10\1\u0403\5\10\1\0\1\106"+
+    "\1\0\6\10\3\0\15\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\6\10"+
+    "\1\u0404\7\10\1\0\1\106\1\0\6\10\3\0\15\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\6\10\1\u0390\6\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\1\10\1\u0405\13\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\3\10\1\u0406\11\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\15\10\1\0\1\u0407"+
+    "\4\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\10\10\1\u0408\5\10\1\0\1\106\1\0"+
+    "\6\10\3\0\15\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\111\0\1\u0409\60\0"+
+    "\1\u040a\54\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\11\10\1\u040b\3\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\14\10\1\u040c\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\3\10"+
+    "\1\u040c\11\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\13\10\1\u03e4\1\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\6\10"+
+    "\1\u040d\6\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\11\10\1\u02a0\3\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\12\10\1\u040e\3\10\1\0\1\106\1\0\6\10"+
+    "\3\0\15\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\6\10\1\u040f\7\10"+
+    "\1\0\1\106\1\0\6\10\1\u0410\2\0\15\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\1\u0411\14\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\12\10\1\u0412\2\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\12\10"+
+    "\1\u0413\2\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\2\10\1\u0414\12\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\2\10"+
+    "\1\u0415\12\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\7\10\1\u0416\5\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\133\4\0\5\133\2\0\14\133\1\u0417\1\133"+
+    "\1\0\11\133\3\0\3\133\1\0\1\133\1\0\11\133"+
+    "\13\0\16\133\4\0\5\133\2\0\1\133\1\u0418\14\133"+
+    "\1\0\11\133\3\0\3\133\1\0\1\133\1\0\11\133"+
+    "\13\0\16\133\4\0\5\133\2\0\1\133\1\u0419\14\133"+
+    "\1\0\11\133\3\0\3\133\1\0\1\133\1\0\11\133"+
+    "\13\0\16\133\4\0\5\133\2\0\3\133\1\u041a\12\133"+
+    "\1\0\11\133\3\0\3\133\1\0\1\133\1\0\11\133"+
+    "\13\0\10\133\1\u041b\5\133\4\0\5\133\2\0\16\133"+
+    "\1\0\11\133\3\0\3\133\1\0\1\133\1\0\11\133"+
+    "\13\0\16\133\4\0\5\133\2\0\13\133\1\u041c\2\133"+
+    "\1\0\11\133\3\0\3\133\1\0\1\133\1\0\11\133"+
+    "\13\0\16\133\4\0\5\133\2\0\4\133\1\u041d\11\133"+
+    "\1\0\11\133\3\0\3\133\1\0\1\133\1\0\11\133"+
+    "\13\0\16\133\4\0\5\133\2\0\4\133\1\u041e\11\133"+
+    "\1\0\11\133\3\0\3\133\1\0\1\133\1\0\11\133"+
+    "\13\0\16\133\4\0\5\133\2\0\3\133\1\u041f\12\133"+
+    "\1\0\11\133\3\0\3\133\1\0\1\133\1\0\11\133"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\1\u0420\2\0"+
+    "\15\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\23\0\1\u0421\201\0\1\u0422\21\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\15\10\1\0"+
+    "\1\u0423\4\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\6\10\1\u0424\6\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\11\10\1\u0425\3\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\2\10\1\u0426\13\10\1\0\1\106"+
+    "\1\0\6\10\3\0\15\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\7\10\1\u03d4\5\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\13\10\1\u0427\1\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\13\10\1\u02f3\1\10"+
+    "\1\0\4\10\1\u02f4\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\14\10\1\u0300\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\3\10\1\u0300\11\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\13\10\1\u0405\1\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\1\u0428\14\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\1\u0156\14\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\6\10\1\u0429\7\10"+
+    "\1\0\1\106\1\0\6\10\3\0\15\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\2\10"+
+    "\1\u042a\12\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\15\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\5\10\1\u042b\3\10"+
+    "\54\0\1\u042c\54\0\16\10\1\0\1\106\1\0\6\10"+
+    "\1\u0410\2\0\15\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\6\10\1\u042d"+
+    "\7\10\1\0\1\106\1\0\6\10\3\0\15\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\6\10\1\u042e\7\10\1\0\1\106\1\0"+
+    "\6\10\1\u0410\2\0\15\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\1\10\1\u03ea\13\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\12\10\1\u042f\2\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\7\10\1\u0430\5\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\133\4\0\5\133\2\0\12\133"+
+    "\1\u0431\3\133\1\0\11\133\3\0\3\133\1\0\1\133"+
+    "\1\0\11\133\13\0\16\133\4\0\5\133\2\0\16\133"+
+    "\1\0\1\u0432\10\133\3\0\3\133\1\0\1\133\1\0"+
+    "\11\133\13\0\16\133\4\0\5\133\2\0\16\133\1\0"+
+    "\1\u0433\10\133\3\0\3\133\1\0\1\133\1\0\11\133"+
+    "\13\0\16\133\4\0\5\133\2\0\13\133\1\u0434\2\133"+
+    "\1\0\11\133\3\0\3\133\1\0\1\133\1\0\11\133"+
+    "\13\0\16\133\4\0\5\133\2\0\14\133\1\u0435\1\133"+
+    "\1\0\11\133\3\0\3\133\1\0\1\133\1\0\11\133"+
+    "\13\0\16\133\4\0\5\133\2\0\3\133\1\u0436\12\133"+
+    "\1\0\11\133\3\0\3\133\1\0\1\133\1\0\11\133"+
+    "\13\0\16\133\4\0\5\133\2\0\16\133\1\0\4\133"+
+    "\1\u0437\4\133\3\0\3\133\1\0\1\133\1\0\11\133"+
+    "\13\0\16\133\4\0\5\133\2\0\16\133\1\0\4\133"+
+    "\1\u0438\4\133\3\0\3\133\1\0\1\133\1\0\11\133"+
+    "\13\0\16\133\4\0\5\133\2\0\2\133\1\u0439\13\133"+
+    "\1\0\11\133\3\0\3\133\1\0\1\133\1\0\11\133"+
+    "\106\0\1\u043a\73\0\1\u043b\44\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\6\10\1\u043c\6\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\2\10"+
+    "\1\u043d\12\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\11\10\1\u03d4\3\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\2\10"+
+    "\1\u043e\12\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\2\10\1\u043f\12\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\1\u0440"+
+    "\14\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\4\10\1\u0441\10\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\47\0"+
+    "\1\u0442\61\0\10\10\1\u0443\5\10\1\0\1\106\1\0"+
+    "\6\10\3\0\15\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\6\10\1\u0444\6\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\2\10\1\u0423\12\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\2\10\1\u0445\12\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\133\4\0\5\133\2\0\3\133\1\u0446"+
+    "\12\133\1\0\11\133\3\0\3\133\1\0\1\133\1\0"+
+    "\11\133\13\0\16\133\4\0\5\133\2\0\12\133\1\u0447"+
+    "\3\133\1\0\11\133\3\0\3\133\1\0\1\133\1\0"+
+    "\11\133\13\0\16\133\4\0\5\133\2\0\13\133\1\u0448"+
+    "\2\133\1\0\11\133\3\0\3\133\1\0\1\133\1\0"+
+    "\11\133\13\0\10\133\1\u0449\5\133\4\0\5\133\2\0"+
+    "\16\133\1\0\11\133\3\0\3\133\1\0\1\133\1\0"+
+    "\11\133\13\0\10\133\1\u044a\5\133\4\0\5\133\2\0"+
+    "\16\133\1\0\11\133\3\0\3\133\1\0\1\133\1\0"+
+    "\11\133\51\0\1\u044b\127\0\1\u044c\45\0\16\10\1\0"+
+    "\1\106\1\0\6\10\1\u044d\2\0\15\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\7\10"+
+    "\1\u044e\5\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\12\10\1\u044f\2\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\1\u0450"+
+    "\14\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\6\10\1\u0411\6\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\10\10\1\u0451\5\10\1\0\1\106\1\0\6\10\3\0"+
+    "\15\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\56\0\1\u0452\52\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\11\10\1\u0453\3\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\3\0"+
+    "\10\10\1\u0454\4\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\13\0\16\10\1\0"+
+    "\1\106\1\0\6\10\3\0\15\10\1\0\2\10\1\u0455"+
+    "\2\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\10\133\1\u0456\5\133\4\0\5\133\2\0"+
+    "\16\133\1\0\11\133\3\0\3\133\1\0\1\133\1\0"+
+    "\11\133\13\0\16\133\4\0\5\133\2\0\13\133\1\u0457"+
+    "\2\133\1\0\11\133\3\0\3\133\1\0\1\133\1\0"+
+    "\11\133\13\0\16\133\4\0\5\133\2\0\13\133\1\u0458"+
+    "\2\133\1\0\11\133\3\0\3\133\1\0\1\133\1\0"+
+    "\11\133\55\0\1\u0459\150\0\1\u045a\61\0\1\u045b\54\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\7\10\1\u045c"+
+    "\5\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\10\10\1\u045d\5\10\1\0"+
+    "\1\106\1\0\6\10\3\0\15\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\3\0\1\u045e\14\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\1\u045f\14\10\1\0\5\10\1\0\3\10\4\0"+
+    "\2\10\1\0\1\10\1\0\11\10\64\0\1\u0460\44\0"+
+    "\10\10\1\u0461\5\10\1\0\1\106\1\0\6\10\3\0"+
+    "\15\10\1\0\5\10\1\0\3\10\4\0\2\10\1\0"+
+    "\1\10\1\0\11\10\13\0\16\10\1\0\1\106\1\0"+
+    "\6\10\3\0\5\10\1\u0462\7\10\1\0\5\10\1\0"+
+    "\3\10\4\0\2\10\1\0\1\10\1\0\11\10\13\0"+
+    "\16\10\1\0\1\106\1\0\6\10\1\u0463\2\0\15\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\133\4\0\5\133\2\0\14\133"+
+    "\1\u0464\1\133\1\0\11\133\3\0\3\133\1\0\1\133"+
+    "\1\0\11\133\13\0\16\133\4\0\5\133\2\0\1\133"+
+    "\1\u0465\14\133\1\0\11\133\3\0\3\133\1\0\1\133"+
+    "\1\0\11\133\13\0\16\133\4\0\5\133\2\0\1\133"+
+    "\1\u0466\14\133\1\0\11\133\3\0\3\133\1\0\1\133"+
+    "\1\0\11\133\15\0\1\u0467\211\0\1\u0468\53\0\1\u0469"+
+    "\61\0\10\10\1\u046a\5\10\1\0\1\106\1\0\6\10"+
+    "\3\0\15\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\13\10\1\u046b\1\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\16\10\1\0\1\106\1\0\6\10\3\0\6\10"+
+    "\1\u03dd\6\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\15\10\1\0\3\10\1\u046c\1\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\53\0\1\u046d\55\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\12\10\1\u046e\2\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\12\10\1\u046f\2\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\54\0\1\u0470\54\0\16\133\4\0\5\133"+
+    "\2\0\12\133\1\u0471\3\133\1\0\11\133\3\0\3\133"+
+    "\1\0\1\133\1\0\11\133\13\0\16\133\4\0\5\133"+
+    "\2\0\16\133\1\0\1\u0472\10\133\3\0\3\133\1\0"+
+    "\1\133\1\0\11\133\13\0\16\133\4\0\5\133\2\0"+
+    "\16\133\1\0\1\u0473\10\133\3\0\3\133\1\0\1\133"+
+    "\1\0\11\133\60\0\1\u0474\113\0\1\u0475\52\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\6\10\1\u0476\6\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\13\0\16\10\1\0\1\106\1\0\6\10"+
+    "\3\0\11\10\1\u0477\3\10\1\0\5\10\1\0\3\10"+
+    "\4\0\2\10\1\0\1\10\1\0\11\10\13\0\16\10"+
+    "\1\0\1\106\1\0\6\10\1\u0478\2\0\15\10\1\0"+
+    "\5\10\1\0\3\10\4\0\2\10\1\0\1\10\1\0"+
+    "\11\10\13\0\16\10\1\0\1\106\1\0\6\10\1\u0479"+
+    "\2\0\15\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\13\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\15\10\1\0\2\10\1\u047a\2\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\47\0\1\u047b\132\0\1\u047c\44\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\7\10\1\u047d\5\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\13\0\6\10\1\u047e\7\10\1\0\1\106\1\0\6\10"+
+    "\3\0\15\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\54\0\1\u047f\115\0\1\u0480"+
+    "\117\0\1\u0481\112\0\1\u0482\55\0\16\10\1\0\1\106"+
+    "\1\0\6\10\3\0\6\10\1\u0483\6\10\1\0\5\10"+
+    "\1\0\3\10\4\0\2\10\1\0\1\10\1\0\11\10"+
+    "\47\0\1\u0484\115\0\1\u0485\132\0\1\u0486\44\0\16\10"+
+    "\1\0\1\106\1\0\6\10\3\0\7\10\1\u0487\5\10"+
+    "\1\0\5\10\1\0\3\10\4\0\2\10\1\0\1\10"+
+    "\1\0\11\10\56\0\1\u0488\115\0\1\u0489\112\0\1\u048a"+
+    "\55\0\16\10\1\0\1\106\1\0\6\10\3\0\7\10"+
+    "\1\u048b\5\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\64\0\1\u048c\115\0\1\u048d"+
+    "\44\0\16\10\1\0\1\106\1\0\6\10\3\0\13\10"+
+    "\1\u048e\1\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\53\0\1\u048f\115\0\1\u0490"+
+    "\55\0\16\10\1\0\1\106\1\0\6\10\3\0\7\10"+
+    "\1\u0491\5\10\1\0\5\10\1\0\3\10\4\0\2\10"+
+    "\1\0\1\10\1\0\11\10\12\0";
 
   private static int [] zzUnpackTrans() {
-    int [] result = new int[81198];
+    int [] result = new int[81900];
     int offset = 0;
     offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
     return result;
@@ -2733,33 +2750,33 @@
   private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute();
 
   private static final String ZZ_ATTRIBUTE_PACKED_0 =
-    "\3\0\1\11\35\1\2\11\5\1\7\11\1\1\2\11"+
+    "\5\0\1\11\35\1\2\11\5\1\12\11\3\1\2\11"+
     "\1\0\1\1\2\11\1\0\7\1\1\0\10\1\1\0"+
     "\1\11\15\1\1\11\12\1\1\0\1\1\1\0\1\1"+
-    "\2\0\54\1\2\0\3\11\1\1\6\11\2\1\1\0"+
-    "\2\1\1\0\2\11\44\1\1\0\1\1\2\0\1\1"+
-    "\2\0\60\1\1\11\2\1\1\0\1\1\1\0\47\1"+
-    "\4\0\123\1\1\0\41\1\1\0\17\1\1\0\26\1"+
-    "\1\0\36\1\1\0\42\1\2\0\17\1\2\0\3\1"+
-    "\1\11\13\1\1\0\7\1\1\0\36\1\1\0\1\11"+
-    "\1\0\43\1\1\0\1\11\12\1\1\0\3\1\2\11"+
-    "\1\0\12\1\1\0\14\1\1\0\34\1\1\0\1\11"+
-    "\13\1\1\0\10\1\1\0\14\1\1\0\6\1\2\0"+
-    "\3\1\1\0\12\1\1\0\41\1\1\0\7\1\1\0"+
-    "\16\1\1\0\2\1\1\0\10\1\1\0\7\1\2\0"+
-    "\2\1\1\0\52\1\1\0\11\1\1\0\11\1\1\0"+
-    "\5\1\2\0\40\1\2\0\5\1\1\0\10\1\1\11"+
-    "\5\1\1\0\1\11\1\0\30\1\2\0\1\11\13\1"+
-    "\2\11\5\1\1\0\17\1\2\0\1\11\11\1\1\0"+
-    "\15\1\2\0\6\1\1\0\10\1\3\0\4\1\1\0"+
-    "\6\1\3\0\4\1\1\0\2\1\1\0\3\1\1\0"+
-    "\1\11\1\0\3\1\1\11\2\1\1\0\3\1\1\11"+
-    "\1\0\2\1\2\0\1\1\2\0\2\1\3\0\1\11"+
-    "\1\1\3\0\1\1\2\0\1\11\1\1\2\0\1\1"+
-    "\2\11\1\1";
+    "\2\0\54\1\4\0\1\11\2\0\3\11\1\1\6\11"+
+    "\2\1\1\0\2\1\1\0\2\11\44\1\1\0\1\1"+
+    "\2\0\1\1\2\0\60\1\1\11\1\0\1\11\2\0"+
+    "\2\1\1\0\1\1\1\0\47\1\4\0\123\1\1\0"+
+    "\41\1\1\0\17\1\1\0\26\1\1\0\36\1\1\0"+
+    "\42\1\2\0\17\1\2\0\3\1\1\11\13\1\1\0"+
+    "\7\1\1\0\36\1\1\0\1\11\1\0\43\1\1\0"+
+    "\1\11\12\1\1\0\3\1\2\11\1\0\12\1\1\0"+
+    "\14\1\1\0\34\1\1\0\1\11\13\1\1\0\10\1"+
+    "\1\0\14\1\1\0\6\1\2\0\3\1\1\0\12\1"+
+    "\1\0\41\1\1\0\7\1\1\0\16\1\1\0\2\1"+
+    "\1\0\10\1\1\0\7\1\2\0\2\1\1\0\52\1"+
+    "\1\0\11\1\1\0\11\1\1\0\5\1\2\0\40\1"+
+    "\2\0\5\1\1\0\10\1\1\11\5\1\1\0\1\11"+
+    "\1\0\30\1\2\0\1\11\13\1\2\11\5\1\1\0"+
+    "\17\1\2\0\1\11\11\1\1\0\15\1\2\0\6\1"+
+    "\1\0\10\1\3\0\4\1\1\0\6\1\3\0\4\1"+
+    "\1\0\2\1\1\0\3\1\1\0\1\11\1\0\3\1"+
+    "\1\11\2\1\1\0\3\1\1\11\1\0\2\1\2\0"+
+    "\1\1\2\0\2\1\3\0\1\11\1\1\3\0\1\1"+
+    "\2\0\1\11\1\1\2\0\1\1\2\11\1\1";
 
   private static int [] zzUnpackAttribute() {
-    int [] result = new int[1153];
+    int [] result = new int[1169];
     int offset = 0;
     offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
     return result;
@@ -2810,12 +2827,12 @@
   private int yychar;
 
   /**
-   * the number of characters from the last newline up to the start of the 
+   * the number of characters from the last newline up to the start of the
    * matched text
    */
   private int yycolumn;
 
-  /** 
+  /**
    * zzAtBOL == true <=> the scanner is currently at the beginning of a line
    */
   private boolean zzAtBOL = true;
@@ -3003,7 +3020,7 @@
     this(new java.io.InputStreamReader(in));
   }
 
-  /** 
+  /**
    * Unpacks the compressed character translation table.
    *
    * @param packed   the packed character translation table
@@ -3026,7 +3043,7 @@
    * Refills the input buffer.
    *
    * @return      <code>false</code>, iff there was new input.
-   * 
+   *
    * @exception   java.io.IOException  if any I/O-Error occurs
    */
   private boolean zzRefill() throws java.io.IOException {
@@ -3060,7 +3077,7 @@
       zzEndRead+= numRead;
       return false;
     }
-    // unlikely but not impossible: read 0 characters, but not at end of stream    
+    // unlikely but not impossible: read 0 characters, but not at end of stream
     if (numRead == 0) {
       int c = zzReader.read();
       if (c == -1) {
@@ -3068,14 +3085,14 @@
       } else {
         zzBuffer[zzEndRead++] = (char) c;
         return false;
-      }     
+      }
     }
 
 	// numRead < 0
     return true;
   }
 
-    
+
   /**
    * Closes the input stream.
    */
@@ -3092,11 +3109,11 @@
    * Resets the scanner to read from a new input stream.
    * Does not close the old reader.
    *
-   * All internal variables are reset, the old input stream 
+   * All internal variables are reset, the old input stream
    * <b>cannot</b> be reused (internal buffer is discarded and lost).
    * Lexical state is set to <tt>ZZ_INITIAL</tt>.
    *
-   * @param reader   the new input stream 
+   * @param reader   the new input stream
    */
   public final void yyreset(java.io.Reader reader) {
     zzReader = reader;
@@ -3137,12 +3154,12 @@
 
 
   /**
-   * Returns the character at position <tt>pos</tt> from the 
-   * matched text. 
-   * 
+   * Returns the character at position <tt>pos</tt> from the
+   * matched text.
+   *
    * It is equivalent to yytext().charAt(pos), but faster
    *
-   * @param pos the position of the character to fetch. 
+   * @param pos the position of the character to fetch.
    *            A value from 0 to yylength()-1.
    *
    * @return the character at position pos
@@ -3163,8 +3180,8 @@
   /**
    * Reports an error that occured while scanning.
    *
-   * In a wellformed scanner (no or only correct usage of 
-   * yypushback(int) and a match-all fallback rule) this method 
+   * In a wellformed scanner (no or only correct usage of
+   * yypushback(int) and a match-all fallback rule) this method
    * will only be called with things that "Can't Possibly Happen".
    * If this method is called, something is seriously wrong
    * (e.g. a JFlex bug producing a faulty scanner etc.).
@@ -3184,7 +3201,7 @@
     }
 
     throw new Error(message);
-  } 
+  }
 
 
   /**
@@ -3274,9 +3291,9 @@
           zzEndReadL = zzEndRead;
           zzMarkedPosL = zzMarkedPos;
           zzBufferL = zzBuffer;
-          if (eof) 
+          if (eof)
             zzPeek = false;
-          else 
+          else
             zzPeek = zzBufferL[zzMarkedPosL] == '\n';
         }
         if (zzPeek) yyline--;
@@ -3284,13 +3301,13 @@
       zzAction = -1;
 
       zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL;
-  
+
       zzState = ZZ_LEXSTATE[zzLexicalState];
 
 
       zzForAction: {
         while (true) {
-    
+
           if (zzCurrentPosL < zzEndReadL)
             zzInput = zzBufferL[zzCurrentPosL++];
           else if (zzAtEOF) {
@@ -3333,366 +3350,382 @@
       zzMarkedPos = zzMarkedPosL;
 
       switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
-        case 102: 
+        case 104:
           { return newToken(INSTRUCTION_FORMAT22b);
           }
-        case 134: break;
-        case 96: 
+        case 136: break;
+        case 98:
           { return newToken(VTABLE_INDEX);
           }
-        case 135: break;
-        case 85: 
+        case 137: break;
+        case 87:
           { return newToken(PROLOGUE_DIRECTIVE);
           }
-        case 136: break;
-        case 39: 
+        case 138: break;
+        case 41:
           { sb.append('\r');
           }
-        case 137: break;
-        case 97: 
+        case 139: break;
+        case 99:
           { return newToken(IMPLEMENTS_DIRECTIVE);
           }
-        case 138: break;
-        case 111: 
+        case 140: break;
+        case 113:
           { return newToken(INSTRUCTION_FORMAT21c_FIELD_ODEX);
           }
-        case 139: break;
-        case 100: 
+        case 141: break;
+        case 102:
           { return newToken(END_METHOD_DIRECTIVE);
           }
-        case 140: break;
-        case 119: 
+        case 142: break;
+        case 121:
           { return newToken(INSTRUCTION_FORMAT35c_TYPE);
           }
-        case 141: break;
-        case 43: 
+        case 143: break;
+        case 45:
           { sb.append('\'');
           }
-        case 142: break;
-        case 8: 
+        case 144: break;
+        case 8:
           { beginStringOrChar(CHAR); sb.append('\'');
           }
-        case 143: break;
-        case 47: 
-          { return newToken(PARAM_LIST);
-          }
-        case 144: break;
-        case 41: 
+        case 145: break;
+        case 43:
           { sb.append('\t');
           }
-        case 145: break;
-        case 57: 
+        case 146: break;
+        case 59:
           { return newToken(BOOL_LITERAL);
           }
-        case 146: break;
-        case 121: 
+        case 147: break;
+        case 123:
           { return newToken(INSTRUCTION_FORMAT35ms_METHOD);
           }
-        case 147: break;
-        case 94: 
+        case 148: break;
+        case 96:
           { return newToken(INSTRUCTION_FORMAT51l);
           }
-        case 148: break;
-        case 59: 
+        case 149: break;
+        case 61:
           { return newToken(ANNOTATION_VISIBILITY);
           }
-        case 149: break;
-        case 72: 
+        case 150: break;
+        case 74:
           { sb.append((char)Integer.parseInt(yytext().substring(2,6), 16));
           }
-        case 150: break;
-        case 34: 
+        case 151: break;
+        case 36:
           { return newToken(REGISTER);
           }
-        case 151: break;
-        case 77: 
+        case 152: break;
+        case 79:
           { return newToken(INSTRUCTION_FORMAT32x);
           }
-        case 152: break;
-        case 118: 
+        case 153: break;
+        case 120:
           { return newToken(END_ANNOTATION_DIRECTIVE);
           }
-        case 153: break;
-        case 48: 
+        case 154: break;
+        case 50:
           { return newToken(CLASS_DESCRIPTOR);
           }
-        case 154: break;
-        case 2: 
+        case 155: break;
+        case 2:
           { return newToken(POSITIVE_INTEGER_LITERAL);
           }
-        case 155: break;
-        case 11: 
+        case 156: break;
+        case 11:
           { return newToken(EQUAL);
           }
-        case 156: break;
-        case 26: 
+        case 157: break;
+        case 28:
           { return newToken(LONG_LITERAL);
           }
-        case 157: break;
-        case 87: 
+        case 158: break;
+        case 89:
           { return newToken(INSTRUCTION_FORMAT22c_TYPE);
           }
-        case 158: break;
-        case 1: 
+        case 159: break;
+        case 1:
           { return invalidToken("Invalid text");
           }
-        case 159: break;
-        case 79: 
+        case 160: break;
+        case 81:
           { return newToken(INSTRUCTION_FORMAT30t);
           }
-        case 160: break;
-        case 110: 
-          { return newToken(INSTRUCTION_FORMAT31t);
-          }
         case 161: break;
-        case 25: 
-          { return newToken(DOUBLE_LITERAL);
+        case 19:
+          { yypushback(1); yybegin(YYINITIAL); return newToken(PARAM_LIST_END);
           }
         case 162: break;
-        case 90: 
-          { return newToken(END_FIELD_DIRECTIVE);
+        case 112:
+          { return newToken(INSTRUCTION_FORMAT31t);
           }
         case 163: break;
-        case 17: 
-          { return newToken(CLOSE_PAREN);
+        case 27:
+          { return newToken(DOUBLE_LITERAL);
           }
         case 164: break;
-        case 27: 
-          { return newToken(SHORT_LITERAL);
+        case 92:
+          { return newToken(END_FIELD_DIRECTIVE);
           }
         case 165: break;
-        case 71: 
-          { return newToken(PARAMETER_DIRECTIVE);
+        case 17:
+          { return newToken(CLOSE_PAREN);
           }
         case 166: break;
-        case 12: 
-          { return newToken(COLON);
+        case 73:
+          { return newToken(PARAMETER_DIRECTIVE);
           }
         case 167: break;
-        case 70: 
-          { return newToken(SUPER_DIRECTIVE);
+        case 29:
+          { return newToken(SHORT_LITERAL);
           }
         case 168: break;
-        case 84: 
-          { return newToken(CATCHALL_DIRECTIVE);
+        case 12:
+          { return newToken(COLON);
           }
         case 169: break;
-        case 68: 
-          { return newToken(CATCH_DIRECTIVE);
+        case 72:
+          { return newToken(SUPER_DIRECTIVE);
           }
         case 170: break;
-        case 29: 
-          { return newToken(NEGATIVE_INTEGER_LITERAL);
+        case 86:
+          { return newToken(CATCHALL_DIRECTIVE);
           }
         case 171: break;
-        case 115: 
-          { return newToken(RESTART_LOCAL_DIRECTIVE);
+        case 70:
+          { return newToken(CATCH_DIRECTIVE);
           }
         case 172: break;
-        case 35: 
+        case 31:
+          { return newToken(NEGATIVE_INTEGER_LITERAL);
+          }
+        case 173: break;
+        case 117:
+          { return newToken(RESTART_LOCAL_DIRECTIVE);
+          }
+        case 174: break;
+        case 37:
           { sb.append(yytext());
         setStringOrCharError("Invalid escape sequence " + yytext());
           }
-        case 173: break;
-        case 132: 
+        case 175: break;
+        case 134:
           { return newToken(INSTRUCTION_FORMAT3rc_METHOD_ODEX);
           }
-        case 174: break;
-        case 101: 
+        case 176: break;
+        case 103:
           { return newToken(INSTRUCTION_FORMAT22x);
           }
-        case 175: break;
-        case 38: 
+        case 177: break;
+        case 40:
           { sb.append(yytext());
         setStringOrCharError("Invalid \\u sequence. \\u must be followed by 4 hex digits");
           }
-        case 176: break;
-        case 89: 
+        case 178: break;
+        case 91:
           { return newToken(INLINE_INDEX);
           }
-        case 177: break;
-        case 19: 
+        case 179: break;
+        case 21:
           { sb.append('"'); return endStringOrChar(STRING_LITERAL);
           }
-        case 178: break;
-        case 129: 
+        case 180: break;
+        case 131:
           { return newToken(INSTRUCTION_FORMAT3rmi_METHOD);
           }
-        case 179: break;
-        case 52: 
+        case 181: break;
+        case 54:
           { return newToken(INSTRUCTION_FORMAT23x);
           }
-        case 180: break;
-        case 83: 
+        case 182: break;
+        case 85:
           { return newToken(FIELD_OFFSET);
           }
-        case 181: break;
-        case 31: 
+        case 183: break;
+        case 33:
           { return newToken(DOTDOT);
           }
-        case 182: break;
-        case 9: 
+        case 184: break;
+        case 9:
           { return newToken(LINE_COMMENT, true);
           }
-        case 183: break;
-        case 78: 
-          { return newToken(INSTRUCTION_FORMAT20t);
-          }
-        case 184: break;
-        case 28: 
-          { return newToken(DOUBLE_LITERAL_OR_ID);
-          }
         case 185: break;
-        case 82: 
-          { return newToken(VERIFICATION_ERROR_TYPE);
+        case 18:
+          { yypushback(1); yybegin(YYINITIAL); return newToken(PARAM_LIST_OR_ID_END);
           }
         case 186: break;
-        case 65: 
-          { return newToken(INSTRUCTION_FORMAT21t);
+        case 80:
+          { return newToken(INSTRUCTION_FORMAT20t);
           }
         case 187: break;
-        case 6: 
-          { return newToken(WHITE_SPACE, true);
+        case 30:
+          { return newToken(DOUBLE_LITERAL_OR_ID);
           }
         case 188: break;
-        case 13: 
-          { return newToken(COMMA);
+        case 84:
+          { return newToken(VERIFICATION_ERROR_TYPE);
           }
         case 189: break;
-        case 67: 
-          { return newToken(CLASS_DIRECTIVE);
+        case 67:
+          { return newToken(INSTRUCTION_FORMAT21t);
           }
         case 190: break;
-        case 104: 
-          { return newToken(INSTRUCTION_FORMAT21c_STRING);
+        case 6:
+          { return newToken(WHITE_SPACE, true);
           }
         case 191: break;
-        case 60: 
-          { return newToken(INSTRUCTION_FORMAT22t);
+        case 34:
+          { yypushback(yylength());
+        yybegin(PARAM_LIST_OR_ID);
+        return newToken(PARAM_LIST_OR_ID_START);
           }
         case 192: break;
-        case 80: 
-          { return newToken(INSTRUCTION_FORMAT21s);
+        case 13:
+          { return newToken(COMMA);
           }
         case 193: break;
-        case 62: 
-          { return newToken(ENUM_DIRECTIVE);
+        case 69:
+          { return newToken(CLASS_DIRECTIVE);
           }
         case 194: break;
-        case 44: 
-          { sb.append('\\');
+        case 106:
+          { return newToken(INSTRUCTION_FORMAT21c_STRING);
           }
         case 195: break;
-        case 49: 
-          { return newToken(INSTRUCTION_FORMAT10x);
+        case 62:
+          { return newToken(INSTRUCTION_FORMAT22t);
           }
         case 196: break;
-        case 16: 
-          { return newToken(OPEN_PAREN);
+        case 82:
+          { return newToken(INSTRUCTION_FORMAT21s);
           }
         case 197: break;
-        case 74: 
-          { return newToken(SOURCE_DIRECTIVE);
+        case 64:
+          { return newToken(ENUM_DIRECTIVE);
           }
         case 198: break;
-        case 106: 
-          { return newToken(INSTRUCTION_FORMAT22s);
+        case 46:
+          { sb.append('\\');
           }
         case 199: break;
-        case 64: 
-          { return newToken(INSTRUCTION_FORMAT11x);
+        case 51:
+          { return newToken(INSTRUCTION_FORMAT10x);
           }
         case 200: break;
-        case 127: 
-          { return newToken(INSTRUCTION_FORMAT35c_METHOD_ODEX);
+        case 16:
+          { return newToken(OPEN_PAREN);
           }
         case 201: break;
-        case 5: 
-          { return newToken(PRIMITIVE_TYPE);
+        case 76:
+          { return newToken(SOURCE_DIRECTIVE);
           }
         case 202: break;
-        case 107: 
-          { return newToken(INSTRUCTION_FORMAT12x);
+        case 108:
+          { return newToken(INSTRUCTION_FORMAT22s);
           }
         case 203: break;
-        case 51: 
-          { return newToken(INSTRUCTION_FORMAT22c_FIELD);
+        case 66:
+          { return newToken(INSTRUCTION_FORMAT11x);
           }
         case 204: break;
-        case 42: 
-          { sb.append('"');
+        case 129:
+          { return newToken(INSTRUCTION_FORMAT35c_METHOD_ODEX);
           }
         case 205: break;
-        case 10: 
-          { return newToken(VOID_TYPE);
+        case 5:
+          { return newToken(PRIMITIVE_TYPE);
           }
         case 206: break;
-        case 108: 
-          { return newToken(INSTRUCTION_FORMAT22c_FIELD_ODEX);
+        case 109:
+          { return newToken(INSTRUCTION_FORMAT12x);
           }
         case 207: break;
-        case 123: 
-          { return newToken(END_SUBANNOTATION_DIRECTIVE);
+        case 53:
+          { return newToken(INSTRUCTION_FORMAT22c_FIELD);
           }
         case 208: break;
-        case 66: 
-          { return newToken(FIELD_DIRECTIVE);
+        case 44:
+          { sb.append('"');
           }
         case 209: break;
-        case 4: 
-          { return invalidToken("Invalid directive");
+        case 10:
+          { return newToken(VOID_TYPE);
           }
         case 210: break;
-        case 109: 
-          { return newToken(INSTRUCTION_FORMAT31i);
+        case 110:
+          { return newToken(INSTRUCTION_FORMAT22c_FIELD_ODEX);
           }
         case 211: break;
-        case 112: 
-          { return newToken(SUBANNOTATION_DIRECTIVE);
+        case 125:
+          { return newToken(END_SUBANNOTATION_DIRECTIVE);
           }
         case 212: break;
-        case 58: 
-          { return newToken(INSTRUCTION_FORMAT10t);
+        case 68:
+          { return newToken(FIELD_DIRECTIVE);
           }
         case 213: break;
-        case 91: 
-          { return newToken(END_LOCAL_DIRECTIVE);
+        case 4:
+          { return invalidToken("Invalid directive");
           }
         case 214: break;
-        case 36: 
-          { sb.append('\b');
+        case 111:
+          { return newToken(INSTRUCTION_FORMAT31i);
           }
         case 215: break;
-        case 45: 
+        case 114:
+          { return newToken(SUBANNOTATION_DIRECTIVE);
+          }
+        case 216: break;
+        case 60:
+          { return newToken(INSTRUCTION_FORMAT10t);
+          }
+        case 217: break;
+        case 93:
+          { return newToken(END_LOCAL_DIRECTIVE);
+          }
+        case 218: break;
+        case 38:
+          { sb.append('\b');
+          }
+        case 219: break;
+        case 47:
           { sb.append(yytext());
         setStringOrCharError("Invalid \\u sequence. \\u must be followed by exactly 4 hex digits");
           }
-        case 216: break;
-        case 61: 
+        case 220: break;
+        case 63:
           { return newToken(LINE_DIRECTIVE);
           }
-        case 217: break;
-        case 75: 
+        case 221: break;
+        case 77:
           { return newToken(METHOD_DIRECTIVE);
           }
-        case 218: break;
-        case 131: 
+        case 222: break;
+        case 133:
           { return newToken(INSTRUCTION_FORMAT3rms_METHOD);
           }
-        case 219: break;
-        case 113: 
+        case 223: break;
+        case 115:
           { return newToken(SPARSE_SWITCH_DIRECTIVE);
           }
-        case 220: break;
-        case 93: 
+        case 224: break;
+        case 95:
           { return newToken(REGISTERS_DIRECTIVE);
           }
-        case 221: break;
-        case 30: 
+        case 225: break;
+        case 49:
+          { yypushback(yylength());
+        yybegin(PARAM_LIST);
+        return newToken(PARAM_LIST_START);
+          }
+        case 226: break;
+        case 32:
           { return newToken(ARROW);
           }
-        case 222: break;
-        case 21: 
+        case 227: break;
+        case 23:
           { sb.append('\'');
         if (sb.length() == 2) {
             return invalidStringOrChar("Empty character literal");
@@ -3702,199 +3735,203 @@
 
         return endStringOrChar(CHAR_LITERAL);
           }
-        case 223: break;
-        case 92: 
+        case 228: break;
+        case 94:
           { return newToken(END_PARAMETER_DIRECTIVE);
           }
-        case 224: break;
-        case 95: 
+        case 229: break;
+        case 97:
           { return newToken(INSTRUCTION_FORMAT21c_TYPE);
           }
-        case 225: break;
-        case 37: 
+        case 230: break;
+        case 39:
           { sb.append('\f');
           }
-        case 226: break;
-        case 124: 
+        case 231: break;
+        case 126:
           { return newToken(END_SPARSE_SWITCH_DIRECTIVE);
           }
-        case 227: break;
-        case 98: 
+        case 232: break;
+        case 100:
           { return newToken(ARRAY_DATA_DIRECTIVE);
           }
-        case 228: break;
-        case 130: 
+        case 233: break;
+        case 132:
           { return newToken(INSTRUCTION_FORMAT3rc_TYPE);
           }
-        case 229: break;
-        case 88: 
+        case 234: break;
+        case 90:
           { return newToken(INSTRUCTION_FORMAT22cs_FIELD);
           }
-        case 230: break;
-        case 24: 
+        case 235: break;
+        case 26:
           { return newToken(BYTE_LITERAL);
           }
-        case 231: break;
-        case 56: 
+        case 236: break;
+        case 58:
           { return newToken(NULL_LITERAL);
           }
-        case 232: break;
-        case 105: 
+        case 237: break;
+        case 107:
           { return newToken(INSTRUCTION_FORMAT21ih);
           }
-        case 233: break;
-        case 126: 
+        case 238: break;
+        case 128:
           { return newToken(INSTRUCTION_FORMAT31c);
           }
-        case 234: break;
-        case 33: 
+        case 239: break;
+        case 35:
           { return newToken(ARRAY_DESCRIPTOR);
           }
-        case 235: break;
-        case 55: 
+        case 240: break;
+        case 57:
           { return newToken(INSTRUCTION_FORMAT12x_OR_ID);
           }
-        case 236: break;
-        case 116: 
+        case 241: break;
+        case 118:
           { return newToken(INSTRUCTION_FORMAT35mi_METHOD);
           }
-        case 237: break;
-        case 76: 
+        case 242: break;
+        case 78:
           { return newToken(INSTRUCTION_FORMAT11n);
           }
-        case 238: break;
-        case 128: 
+        case 243: break;
+        case 130:
           { return newToken(INSTRUCTION_FORMAT10x_ODEX);
           }
-        case 239: break;
-        case 86: 
+        case 244: break;
+        case 88:
           { return newToken(EPILOGUE_DIRECTIVE);
           }
-        case 240: break;
-        case 114: 
+        case 245: break;
+        case 116:
           { return newToken(PACKED_SWITCH_DIRECTIVE);
           }
-        case 241: break;
-        case 20: 
+        case 246: break;
+        case 22:
           { return invalidStringOrChar("Unterminated string literal");
           }
-        case 242: break;
-        case 32: 
-          { return newToken(PARAM_LIST_OR_ID);
-          }
-        case 243: break;
-        case 120: 
+        case 247: break;
+        case 122:
           { return newToken(INSTRUCTION_FORMAT21lh);
           }
-        case 244: break;
-        case 46: 
+        case 248: break;
+        case 48:
           { return newToken(FLOAT_LITERAL);
           }
-        case 245: break;
-        case 103: 
+        case 249: break;
+        case 105:
           { return newToken(INSTRUCTION_FORMAT35c_METHOD);
           }
-        case 246: break;
-        case 18: 
+        case 250: break;
+        case 20:
           { sb.append(yytext());
           }
-        case 247: break;
-        case 73: 
+        case 251: break;
+        case 75:
           { return newToken(LOCALS_DIRECTIVE);
           }
-        case 248: break;
-        case 81: 
+        case 252: break;
+        case 83:
           { return newToken(INSTRUCTION_FORMAT22s_OR_ID);
           }
-        case 249: break;
-        case 22: 
+        case 253: break;
+        case 24:
           { return invalidStringOrChar("Unterminated character literal");
           }
-        case 250: break;
-        case 117: 
+        case 254: break;
+        case 119:
           { return newToken(END_ARRAY_DATA_DIRECTIVE);
           }
-        case 251: break;
-        case 99: 
+        case 255: break;
+        case 101:
           { return newToken(ANNOTATION_DIRECTIVE);
           }
-        case 252: break;
-        case 15: 
+        case 256: break;
+        case 15:
           { return newToken(CLOSE_BRACE);
           }
-        case 253: break;
-        case 125: 
+        case 257: break;
+        case 127:
           { return newToken(END_PACKED_SWITCH_DIRECTIVE);
           }
-        case 254: break;
-        case 69: 
+        case 258: break;
+        case 71:
           { return newToken(LOCAL_DIRECTIVE);
           }
-        case 255: break;
-        case 133: 
+        case 259: break;
+        case 135:
           { return newToken(INSTRUCTION_FORMAT20bc);
           }
-        case 256: break;
-        case 122: 
+        case 260: break;
+        case 124:
           { return newToken(INSTRUCTION_FORMAT3rc_METHOD);
           }
-        case 257: break;
-        case 40: 
+        case 261: break;
+        case 42:
           { sb.append('\n');
           }
-        case 258: break;
-        case 54: 
+        case 262: break;
+        case 56:
           { return newToken(ACCESS_SPEC);
           }
-        case 259: break;
-        case 50: 
+        case 263: break;
+        case 52:
           { return newToken(MEMBER_NAME);
           }
-        case 260: break;
-        case 3: 
+        case 264: break;
+        case 3:
           { return newToken(SIMPLE_NAME);
           }
-        case 261: break;
-        case 7: 
+        case 265: break;
+        case 7:
           { beginStringOrChar(STRING); sb.append('"');
           }
-        case 262: break;
-        case 14: 
+        case 266: break;
+        case 14:
           { return newToken(OPEN_BRACE);
           }
-        case 263: break;
-        case 23: 
+        case 267: break;
+        case 25:
           { return newToken(FLOAT_LITERAL_OR_ID);
           }
-        case 264: break;
-        case 53: 
+        case 268: break;
+        case 55:
           { return newToken(INSTRUCTION_FORMAT21c_FIELD);
           }
-        case 265: break;
-        case 63: 
+        case 269: break;
+        case 65:
           { return newToken(INSTRUCTION_FORMAT31i_OR_ID);
           }
-        case 266: break;
-        default: 
+        case 270: break;
+        default:
           if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
             zzAtEOF = true;
             switch (zzLexicalState) {
             case STRING: {
               return invalidStringOrChar("Unterminated string literal");
             }
-            case 1154: break;
+            case 1170: break;
+            case PARAM_LIST_OR_ID: {
+              yybegin(YYINITIAL); return newToken(PARAM_LIST_OR_ID_END);
+            }
+            case 1171: break;
             case YYINITIAL: {
               return newToken(EOF);
             }
-            case 1155: break;
+            case 1172: break;
             case CHAR: {
               return invalidStringOrChar("Unterminated character literal");
             }
-            case 1156: break;
+            case 1173: break;
+            case PARAM_LIST: {
+              yybegin(YYINITIAL); return newToken(PARAM_LIST_END);
+            }
+            case 1174: break;
             default:
             return null;
             }
-          } 
+          }
           else {
             zzScanError(ZZ_NO_MATCH);
           }
diff --git a/smali/src/main/java/org/jf/smali/smaliParser.java b/smali/src/main/java/org/jf/smali/smaliParser.java
index 10a2a0c..7f132a9 100644
--- a/smali/src/main/java/org/jf/smali/smaliParser.java
+++ b/smali/src/main/java/org/jf/smali/smaliParser.java
@@ -1,4 +1,4 @@
-// $ANTLR 3.5 /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g 2014-02-12 17:39:16
+// $ANTLR 3.5 /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g 2015-02-19 13:37:38
 
 package org.jf.smali;
 
@@ -18,65 +18,61 @@
 @SuppressWarnings("all")
 public class smaliParser extends Parser {
 	public static final String[] tokenNames = new String[] {
-		"<invalid>", "<EOR>", "<DOWN>", "<UP>", "ACCESS_SPEC", "ANNOTATION_DIRECTIVE", 
-		"ANNOTATION_VISIBILITY", "ARRAY_DATA_DIRECTIVE", "ARRAY_DESCRIPTOR", "ARROW", 
-		"BASE_ARRAY_DESCRIPTOR", "BASE_CHAR_LITERAL", "BASE_CLASS_DESCRIPTOR", 
-		"BASE_FLOAT", "BASE_FLOAT_OR_ID", "BASE_INTEGER", "BASE_PRIMITIVE_TYPE", 
-		"BASE_SIMPLE_NAME", "BASE_STRING_LITERAL", "BASE_TYPE", "BINARY_EXPONENT", 
-		"BOOL_LITERAL", "BYTE_LITERAL", "CATCHALL_DIRECTIVE", "CATCH_DIRECTIVE", 
-		"CHAR_LITERAL", "CLASS_DESCRIPTOR", "CLASS_DIRECTIVE", "CLOSE_BRACE", 
-		"CLOSE_PAREN", "COLON", "COMMA", "DECIMAL_EXPONENT", "DOTDOT", "DOUBLE_LITERAL", 
-		"DOUBLE_LITERAL_OR_ID", "END_ANNOTATION_DIRECTIVE", "END_ARRAY_DATA_DIRECTIVE", 
-		"END_FIELD_DIRECTIVE", "END_LOCAL_DIRECTIVE", "END_METHOD_DIRECTIVE", 
-		"END_PACKED_SWITCH_DIRECTIVE", "END_PARAMETER_DIRECTIVE", "END_SPARSE_SWITCH_DIRECTIVE", 
-		"END_SUBANNOTATION_DIRECTIVE", "ENUM_DIRECTIVE", "EPILOGUE_DIRECTIVE", 
-		"EQUAL", "ESCAPE_SEQUENCE", "FIELD_DIRECTIVE", "FIELD_OFFSET", "FLOAT_LITERAL", 
-		"FLOAT_LITERAL_OR_ID", "HEX_DIGIT", "HEX_DIGITS", "HEX_PREFIX", "IMPLEMENTS_DIRECTIVE", 
-		"INLINE_INDEX", "INSTRUCTION_FORMAT10t", "INSTRUCTION_FORMAT10x", "INSTRUCTION_FORMAT10x_ODEX", 
-		"INSTRUCTION_FORMAT11n", "INSTRUCTION_FORMAT11x", "INSTRUCTION_FORMAT12x", 
-		"INSTRUCTION_FORMAT12x_OR_ID", "INSTRUCTION_FORMAT20bc", "INSTRUCTION_FORMAT20t", 
-		"INSTRUCTION_FORMAT21c_FIELD", "INSTRUCTION_FORMAT21c_FIELD_ODEX", "INSTRUCTION_FORMAT21c_STRING", 
-		"INSTRUCTION_FORMAT21c_TYPE", "INSTRUCTION_FORMAT21ih", "INSTRUCTION_FORMAT21lh", 
-		"INSTRUCTION_FORMAT21s", "INSTRUCTION_FORMAT21t", "INSTRUCTION_FORMAT22b", 
-		"INSTRUCTION_FORMAT22c_FIELD", "INSTRUCTION_FORMAT22c_FIELD_ODEX", "INSTRUCTION_FORMAT22c_TYPE", 
-		"INSTRUCTION_FORMAT22cs_FIELD", "INSTRUCTION_FORMAT22s", "INSTRUCTION_FORMAT22s_OR_ID", 
-		"INSTRUCTION_FORMAT22t", "INSTRUCTION_FORMAT22x", "INSTRUCTION_FORMAT23x", 
-		"INSTRUCTION_FORMAT30t", "INSTRUCTION_FORMAT31c", "INSTRUCTION_FORMAT31i", 
-		"INSTRUCTION_FORMAT31i_OR_ID", "INSTRUCTION_FORMAT31t", "INSTRUCTION_FORMAT32x", 
-		"INSTRUCTION_FORMAT35c_METHOD", "INSTRUCTION_FORMAT35c_METHOD_ODEX", "INSTRUCTION_FORMAT35c_TYPE", 
-		"INSTRUCTION_FORMAT35mi_METHOD", "INSTRUCTION_FORMAT35ms_METHOD", "INSTRUCTION_FORMAT3rc_METHOD", 
-		"INSTRUCTION_FORMAT3rc_METHOD_ODEX", "INSTRUCTION_FORMAT3rc_TYPE", "INSTRUCTION_FORMAT3rmi_METHOD", 
-		"INSTRUCTION_FORMAT3rms_METHOD", "INSTRUCTION_FORMAT51l", "INTEGER_LITERAL", 
-		"INVALID_TOKEN", "I_ACCESS_LIST", "I_ANNOTATION", "I_ANNOTATIONS", "I_ANNOTATION_ELEMENT", 
-		"I_ARRAY_ELEMENTS", "I_ARRAY_ELEMENT_SIZE", "I_CATCH", "I_CATCHALL", "I_CATCHES", 
-		"I_CLASS_DEF", "I_ENCODED_ARRAY", "I_ENCODED_ENUM", "I_ENCODED_FIELD", 
-		"I_ENCODED_METHOD", "I_END_LOCAL", "I_EPILOGUE", "I_FIELD", "I_FIELDS", 
-		"I_FIELD_INITIAL_VALUE", "I_FIELD_TYPE", "I_IMPLEMENTS", "I_LABEL", "I_LINE", 
-		"I_LOCAL", "I_LOCALS", "I_METHOD", "I_METHODS", "I_METHOD_PROTOTYPE", 
-		"I_METHOD_RETURN_TYPE", "I_ORDERED_METHOD_ITEMS", "I_PACKED_SWITCH_ELEMENTS", 
-		"I_PACKED_SWITCH_START_KEY", "I_PARAMETER", "I_PARAMETERS", "I_PARAMETER_NOT_SPECIFIED", 
-		"I_PROLOGUE", "I_REGISTERS", "I_REGISTER_LIST", "I_REGISTER_RANGE", "I_RESTART_LOCAL", 
-		"I_SOURCE", "I_SPARSE_SWITCH_ELEMENTS", "I_STATEMENT_ARRAY_DATA", "I_STATEMENT_FORMAT10t", 
-		"I_STATEMENT_FORMAT10x", "I_STATEMENT_FORMAT11n", "I_STATEMENT_FORMAT11x", 
-		"I_STATEMENT_FORMAT12x", "I_STATEMENT_FORMAT20bc", "I_STATEMENT_FORMAT20t", 
-		"I_STATEMENT_FORMAT21c_FIELD", "I_STATEMENT_FORMAT21c_STRING", "I_STATEMENT_FORMAT21c_TYPE", 
-		"I_STATEMENT_FORMAT21ih", "I_STATEMENT_FORMAT21lh", "I_STATEMENT_FORMAT21s", 
-		"I_STATEMENT_FORMAT21t", "I_STATEMENT_FORMAT22b", "I_STATEMENT_FORMAT22c_FIELD", 
-		"I_STATEMENT_FORMAT22c_TYPE", "I_STATEMENT_FORMAT22s", "I_STATEMENT_FORMAT22t", 
-		"I_STATEMENT_FORMAT22x", "I_STATEMENT_FORMAT23x", "I_STATEMENT_FORMAT30t", 
-		"I_STATEMENT_FORMAT31c", "I_STATEMENT_FORMAT31i", "I_STATEMENT_FORMAT31t", 
-		"I_STATEMENT_FORMAT32x", "I_STATEMENT_FORMAT35c_METHOD", "I_STATEMENT_FORMAT35c_TYPE", 
-		"I_STATEMENT_FORMAT3rc_METHOD", "I_STATEMENT_FORMAT3rc_TYPE", "I_STATEMENT_FORMAT51l", 
-		"I_STATEMENT_PACKED_SWITCH", "I_STATEMENT_SPARSE_SWITCH", "I_SUBANNOTATION", 
-		"I_SUPER", "LABEL", "LINE_COMMENT", "LINE_DIRECTIVE", "LOCALS_DIRECTIVE", 
-		"LOCAL_DIRECTIVE", "LONG_LITERAL", "MEMBER_NAME", "METHOD_DIRECTIVE", 
-		"NEGATIVE_INTEGER_LITERAL", "NULL_LITERAL", "OPEN_BRACE", "OPEN_PAREN", 
-		"PACKED_SWITCH_DIRECTIVE", "PARAMETER_DIRECTIVE", "PARAM_LIST", "PARAM_LIST_OR_ID", 
-		"POSITIVE_INTEGER_LITERAL", "PRIMITIVE_TYPE", "PROLOGUE_DIRECTIVE", "REGISTER", 
-		"REGISTERS_DIRECTIVE", "RESTART_LOCAL_DIRECTIVE", "SHORT_LITERAL", "SIMPLE_NAME", 
-		"SOURCE_DIRECTIVE", "SPARSE_SWITCH_DIRECTIVE", "STRING_LITERAL", "SUBANNOTATION_DIRECTIVE", 
-		"SUPER_DIRECTIVE", "VERIFICATION_ERROR_TYPE", "VOID_TYPE", "VTABLE_INDEX", 
-		"WHITE_SPACE"
+		"<invalid>", "<EOR>", "<DOWN>", "<UP>", "ACCESS_SPEC", "ANNOTATION_DIRECTIVE",
+		"ANNOTATION_VISIBILITY", "ARRAY_DATA_DIRECTIVE", "ARRAY_DESCRIPTOR", "ARROW",
+		"BOOL_LITERAL", "BYTE_LITERAL", "CATCHALL_DIRECTIVE", "CATCH_DIRECTIVE",
+		"CHAR_LITERAL", "CLASS_DESCRIPTOR", "CLASS_DIRECTIVE", "CLOSE_BRACE",
+		"CLOSE_PAREN", "COLON", "COMMA", "DOTDOT", "DOUBLE_LITERAL", "DOUBLE_LITERAL_OR_ID",
+		"END_ANNOTATION_DIRECTIVE", "END_ARRAY_DATA_DIRECTIVE", "END_FIELD_DIRECTIVE",
+		"END_LOCAL_DIRECTIVE", "END_METHOD_DIRECTIVE", "END_PACKED_SWITCH_DIRECTIVE",
+		"END_PARAMETER_DIRECTIVE", "END_SPARSE_SWITCH_DIRECTIVE", "END_SUBANNOTATION_DIRECTIVE",
+		"ENUM_DIRECTIVE", "EPILOGUE_DIRECTIVE", "EQUAL", "FIELD_DIRECTIVE", "FIELD_OFFSET",
+		"FLOAT_LITERAL", "FLOAT_LITERAL_OR_ID", "IMPLEMENTS_DIRECTIVE", "INLINE_INDEX",
+		"INSTRUCTION_FORMAT10t", "INSTRUCTION_FORMAT10x", "INSTRUCTION_FORMAT10x_ODEX",
+		"INSTRUCTION_FORMAT11n", "INSTRUCTION_FORMAT11x", "INSTRUCTION_FORMAT12x",
+		"INSTRUCTION_FORMAT12x_OR_ID", "INSTRUCTION_FORMAT20bc", "INSTRUCTION_FORMAT20t",
+		"INSTRUCTION_FORMAT21c_FIELD", "INSTRUCTION_FORMAT21c_FIELD_ODEX", "INSTRUCTION_FORMAT21c_STRING",
+		"INSTRUCTION_FORMAT21c_TYPE", "INSTRUCTION_FORMAT21ih", "INSTRUCTION_FORMAT21lh",
+		"INSTRUCTION_FORMAT21s", "INSTRUCTION_FORMAT21t", "INSTRUCTION_FORMAT22b",
+		"INSTRUCTION_FORMAT22c_FIELD", "INSTRUCTION_FORMAT22c_FIELD_ODEX", "INSTRUCTION_FORMAT22c_TYPE",
+		"INSTRUCTION_FORMAT22cs_FIELD", "INSTRUCTION_FORMAT22s", "INSTRUCTION_FORMAT22s_OR_ID",
+		"INSTRUCTION_FORMAT22t", "INSTRUCTION_FORMAT22x", "INSTRUCTION_FORMAT23x",
+		"INSTRUCTION_FORMAT30t", "INSTRUCTION_FORMAT31c", "INSTRUCTION_FORMAT31i",
+		"INSTRUCTION_FORMAT31i_OR_ID", "INSTRUCTION_FORMAT31t", "INSTRUCTION_FORMAT32x",
+		"INSTRUCTION_FORMAT35c_METHOD", "INSTRUCTION_FORMAT35c_METHOD_ODEX", "INSTRUCTION_FORMAT35c_TYPE",
+		"INSTRUCTION_FORMAT35mi_METHOD", "INSTRUCTION_FORMAT35ms_METHOD", "INSTRUCTION_FORMAT3rc_METHOD",
+		"INSTRUCTION_FORMAT3rc_METHOD_ODEX", "INSTRUCTION_FORMAT3rc_TYPE", "INSTRUCTION_FORMAT3rmi_METHOD",
+		"INSTRUCTION_FORMAT3rms_METHOD", "INSTRUCTION_FORMAT51l", "INTEGER_LITERAL",
+		"INVALID_TOKEN", "I_ACCESS_LIST", "I_ANNOTATION", "I_ANNOTATIONS", "I_ANNOTATION_ELEMENT",
+		"I_ARRAY_ELEMENTS", "I_ARRAY_ELEMENT_SIZE", "I_CATCH", "I_CATCHALL", "I_CATCHES",
+		"I_CLASS_DEF", "I_ENCODED_ARRAY", "I_ENCODED_ENUM", "I_ENCODED_FIELD",
+		"I_ENCODED_METHOD", "I_END_LOCAL", "I_EPILOGUE", "I_FIELD", "I_FIELDS",
+		"I_FIELD_INITIAL_VALUE", "I_FIELD_TYPE", "I_IMPLEMENTS", "I_LABEL", "I_LINE",
+		"I_LOCAL", "I_LOCALS", "I_METHOD", "I_METHODS", "I_METHOD_PROTOTYPE",
+		"I_METHOD_RETURN_TYPE", "I_ORDERED_METHOD_ITEMS", "I_PACKED_SWITCH_ELEMENTS",
+		"I_PACKED_SWITCH_START_KEY", "I_PARAMETER", "I_PARAMETERS", "I_PARAMETER_NOT_SPECIFIED",
+		"I_PROLOGUE", "I_REGISTERS", "I_REGISTER_LIST", "I_REGISTER_RANGE", "I_RESTART_LOCAL",
+		"I_SOURCE", "I_SPARSE_SWITCH_ELEMENTS", "I_STATEMENT_ARRAY_DATA", "I_STATEMENT_FORMAT10t",
+		"I_STATEMENT_FORMAT10x", "I_STATEMENT_FORMAT11n", "I_STATEMENT_FORMAT11x",
+		"I_STATEMENT_FORMAT12x", "I_STATEMENT_FORMAT20bc", "I_STATEMENT_FORMAT20t",
+		"I_STATEMENT_FORMAT21c_FIELD", "I_STATEMENT_FORMAT21c_STRING", "I_STATEMENT_FORMAT21c_TYPE",
+		"I_STATEMENT_FORMAT21ih", "I_STATEMENT_FORMAT21lh", "I_STATEMENT_FORMAT21s",
+		"I_STATEMENT_FORMAT21t", "I_STATEMENT_FORMAT22b", "I_STATEMENT_FORMAT22c_FIELD",
+		"I_STATEMENT_FORMAT22c_TYPE", "I_STATEMENT_FORMAT22s", "I_STATEMENT_FORMAT22t",
+		"I_STATEMENT_FORMAT22x", "I_STATEMENT_FORMAT23x", "I_STATEMENT_FORMAT30t",
+		"I_STATEMENT_FORMAT31c", "I_STATEMENT_FORMAT31i", "I_STATEMENT_FORMAT31t",
+		"I_STATEMENT_FORMAT32x", "I_STATEMENT_FORMAT35c_METHOD", "I_STATEMENT_FORMAT35c_TYPE",
+		"I_STATEMENT_FORMAT3rc_METHOD", "I_STATEMENT_FORMAT3rc_TYPE", "I_STATEMENT_FORMAT51l",
+		"I_STATEMENT_PACKED_SWITCH", "I_STATEMENT_SPARSE_SWITCH", "I_SUBANNOTATION",
+		"I_SUPER", "LINE_COMMENT", "LINE_DIRECTIVE", "LOCALS_DIRECTIVE", "LOCAL_DIRECTIVE",
+		"LONG_LITERAL", "MEMBER_NAME", "METHOD_DIRECTIVE", "NEGATIVE_INTEGER_LITERAL",
+		"NULL_LITERAL", "OPEN_BRACE", "OPEN_PAREN", "PACKED_SWITCH_DIRECTIVE",
+		"PARAMETER_DIRECTIVE", "PARAM_LIST_END", "PARAM_LIST_OR_ID_END", "PARAM_LIST_OR_ID_START",
+		"PARAM_LIST_START", "POSITIVE_INTEGER_LITERAL", "PRIMITIVE_TYPE", "PROLOGUE_DIRECTIVE",
+		"REGISTER", "REGISTERS_DIRECTIVE", "RESTART_LOCAL_DIRECTIVE", "SHORT_LITERAL",
+		"SIMPLE_NAME", "SOURCE_DIRECTIVE", "SPARSE_SWITCH_DIRECTIVE", "STRING_LITERAL",
+		"SUBANNOTATION_DIRECTIVE", "SUPER_DIRECTIVE", "VERIFICATION_ERROR_TYPE",
+		"VOID_TYPE", "VTABLE_INDEX", "WHITE_SPACE"
 	};
 	public static final int EOF=-1;
 	public static final int ACCESS_SPEC=4;
@@ -85,211 +81,196 @@
 	public static final int ARRAY_DATA_DIRECTIVE=7;
 	public static final int ARRAY_DESCRIPTOR=8;
 	public static final int ARROW=9;
-	public static final int BASE_ARRAY_DESCRIPTOR=10;
-	public static final int BASE_CHAR_LITERAL=11;
-	public static final int BASE_CLASS_DESCRIPTOR=12;
-	public static final int BASE_FLOAT=13;
-	public static final int BASE_FLOAT_OR_ID=14;
-	public static final int BASE_INTEGER=15;
-	public static final int BASE_PRIMITIVE_TYPE=16;
-	public static final int BASE_SIMPLE_NAME=17;
-	public static final int BASE_STRING_LITERAL=18;
-	public static final int BASE_TYPE=19;
-	public static final int BINARY_EXPONENT=20;
-	public static final int BOOL_LITERAL=21;
-	public static final int BYTE_LITERAL=22;
-	public static final int CATCHALL_DIRECTIVE=23;
-	public static final int CATCH_DIRECTIVE=24;
-	public static final int CHAR_LITERAL=25;
-	public static final int CLASS_DESCRIPTOR=26;
-	public static final int CLASS_DIRECTIVE=27;
-	public static final int CLOSE_BRACE=28;
-	public static final int CLOSE_PAREN=29;
-	public static final int COLON=30;
-	public static final int COMMA=31;
-	public static final int DECIMAL_EXPONENT=32;
-	public static final int DOTDOT=33;
-	public static final int DOUBLE_LITERAL=34;
-	public static final int DOUBLE_LITERAL_OR_ID=35;
-	public static final int END_ANNOTATION_DIRECTIVE=36;
-	public static final int END_ARRAY_DATA_DIRECTIVE=37;
-	public static final int END_FIELD_DIRECTIVE=38;
-	public static final int END_LOCAL_DIRECTIVE=39;
-	public static final int END_METHOD_DIRECTIVE=40;
-	public static final int END_PACKED_SWITCH_DIRECTIVE=41;
-	public static final int END_PARAMETER_DIRECTIVE=42;
-	public static final int END_SPARSE_SWITCH_DIRECTIVE=43;
-	public static final int END_SUBANNOTATION_DIRECTIVE=44;
-	public static final int ENUM_DIRECTIVE=45;
-	public static final int EPILOGUE_DIRECTIVE=46;
-	public static final int EQUAL=47;
-	public static final int ESCAPE_SEQUENCE=48;
-	public static final int FIELD_DIRECTIVE=49;
-	public static final int FIELD_OFFSET=50;
-	public static final int FLOAT_LITERAL=51;
-	public static final int FLOAT_LITERAL_OR_ID=52;
-	public static final int HEX_DIGIT=53;
-	public static final int HEX_DIGITS=54;
-	public static final int HEX_PREFIX=55;
-	public static final int IMPLEMENTS_DIRECTIVE=56;
-	public static final int INLINE_INDEX=57;
-	public static final int INSTRUCTION_FORMAT10t=58;
-	public static final int INSTRUCTION_FORMAT10x=59;
-	public static final int INSTRUCTION_FORMAT10x_ODEX=60;
-	public static final int INSTRUCTION_FORMAT11n=61;
-	public static final int INSTRUCTION_FORMAT11x=62;
-	public static final int INSTRUCTION_FORMAT12x=63;
-	public static final int INSTRUCTION_FORMAT12x_OR_ID=64;
-	public static final int INSTRUCTION_FORMAT20bc=65;
-	public static final int INSTRUCTION_FORMAT20t=66;
-	public static final int INSTRUCTION_FORMAT21c_FIELD=67;
-	public static final int INSTRUCTION_FORMAT21c_FIELD_ODEX=68;
-	public static final int INSTRUCTION_FORMAT21c_STRING=69;
-	public static final int INSTRUCTION_FORMAT21c_TYPE=70;
-	public static final int INSTRUCTION_FORMAT21ih=71;
-	public static final int INSTRUCTION_FORMAT21lh=72;
-	public static final int INSTRUCTION_FORMAT21s=73;
-	public static final int INSTRUCTION_FORMAT21t=74;
-	public static final int INSTRUCTION_FORMAT22b=75;
-	public static final int INSTRUCTION_FORMAT22c_FIELD=76;
-	public static final int INSTRUCTION_FORMAT22c_FIELD_ODEX=77;
-	public static final int INSTRUCTION_FORMAT22c_TYPE=78;
-	public static final int INSTRUCTION_FORMAT22cs_FIELD=79;
-	public static final int INSTRUCTION_FORMAT22s=80;
-	public static final int INSTRUCTION_FORMAT22s_OR_ID=81;
-	public static final int INSTRUCTION_FORMAT22t=82;
-	public static final int INSTRUCTION_FORMAT22x=83;
-	public static final int INSTRUCTION_FORMAT23x=84;
-	public static final int INSTRUCTION_FORMAT30t=85;
-	public static final int INSTRUCTION_FORMAT31c=86;
-	public static final int INSTRUCTION_FORMAT31i=87;
-	public static final int INSTRUCTION_FORMAT31i_OR_ID=88;
-	public static final int INSTRUCTION_FORMAT31t=89;
-	public static final int INSTRUCTION_FORMAT32x=90;
-	public static final int INSTRUCTION_FORMAT35c_METHOD=91;
-	public static final int INSTRUCTION_FORMAT35c_METHOD_ODEX=92;
-	public static final int INSTRUCTION_FORMAT35c_TYPE=93;
-	public static final int INSTRUCTION_FORMAT35mi_METHOD=94;
-	public static final int INSTRUCTION_FORMAT35ms_METHOD=95;
-	public static final int INSTRUCTION_FORMAT3rc_METHOD=96;
-	public static final int INSTRUCTION_FORMAT3rc_METHOD_ODEX=97;
-	public static final int INSTRUCTION_FORMAT3rc_TYPE=98;
-	public static final int INSTRUCTION_FORMAT3rmi_METHOD=99;
-	public static final int INSTRUCTION_FORMAT3rms_METHOD=100;
-	public static final int INSTRUCTION_FORMAT51l=101;
-	public static final int INTEGER_LITERAL=102;
-	public static final int INVALID_TOKEN=103;
-	public static final int I_ACCESS_LIST=104;
-	public static final int I_ANNOTATION=105;
-	public static final int I_ANNOTATIONS=106;
-	public static final int I_ANNOTATION_ELEMENT=107;
-	public static final int I_ARRAY_ELEMENTS=108;
-	public static final int I_ARRAY_ELEMENT_SIZE=109;
-	public static final int I_CATCH=110;
-	public static final int I_CATCHALL=111;
-	public static final int I_CATCHES=112;
-	public static final int I_CLASS_DEF=113;
-	public static final int I_ENCODED_ARRAY=114;
-	public static final int I_ENCODED_ENUM=115;
-	public static final int I_ENCODED_FIELD=116;
-	public static final int I_ENCODED_METHOD=117;
-	public static final int I_END_LOCAL=118;
-	public static final int I_EPILOGUE=119;
-	public static final int I_FIELD=120;
-	public static final int I_FIELDS=121;
-	public static final int I_FIELD_INITIAL_VALUE=122;
-	public static final int I_FIELD_TYPE=123;
-	public static final int I_IMPLEMENTS=124;
-	public static final int I_LABEL=125;
-	public static final int I_LINE=126;
-	public static final int I_LOCAL=127;
-	public static final int I_LOCALS=128;
-	public static final int I_METHOD=129;
-	public static final int I_METHODS=130;
-	public static final int I_METHOD_PROTOTYPE=131;
-	public static final int I_METHOD_RETURN_TYPE=132;
-	public static final int I_ORDERED_METHOD_ITEMS=133;
-	public static final int I_PACKED_SWITCH_ELEMENTS=134;
-	public static final int I_PACKED_SWITCH_START_KEY=135;
-	public static final int I_PARAMETER=136;
-	public static final int I_PARAMETERS=137;
-	public static final int I_PARAMETER_NOT_SPECIFIED=138;
-	public static final int I_PROLOGUE=139;
-	public static final int I_REGISTERS=140;
-	public static final int I_REGISTER_LIST=141;
-	public static final int I_REGISTER_RANGE=142;
-	public static final int I_RESTART_LOCAL=143;
-	public static final int I_SOURCE=144;
-	public static final int I_SPARSE_SWITCH_ELEMENTS=145;
-	public static final int I_STATEMENT_ARRAY_DATA=146;
-	public static final int I_STATEMENT_FORMAT10t=147;
-	public static final int I_STATEMENT_FORMAT10x=148;
-	public static final int I_STATEMENT_FORMAT11n=149;
-	public static final int I_STATEMENT_FORMAT11x=150;
-	public static final int I_STATEMENT_FORMAT12x=151;
-	public static final int I_STATEMENT_FORMAT20bc=152;
-	public static final int I_STATEMENT_FORMAT20t=153;
-	public static final int I_STATEMENT_FORMAT21c_FIELD=154;
-	public static final int I_STATEMENT_FORMAT21c_STRING=155;
-	public static final int I_STATEMENT_FORMAT21c_TYPE=156;
-	public static final int I_STATEMENT_FORMAT21ih=157;
-	public static final int I_STATEMENT_FORMAT21lh=158;
-	public static final int I_STATEMENT_FORMAT21s=159;
-	public static final int I_STATEMENT_FORMAT21t=160;
-	public static final int I_STATEMENT_FORMAT22b=161;
-	public static final int I_STATEMENT_FORMAT22c_FIELD=162;
-	public static final int I_STATEMENT_FORMAT22c_TYPE=163;
-	public static final int I_STATEMENT_FORMAT22s=164;
-	public static final int I_STATEMENT_FORMAT22t=165;
-	public static final int I_STATEMENT_FORMAT22x=166;
-	public static final int I_STATEMENT_FORMAT23x=167;
-	public static final int I_STATEMENT_FORMAT30t=168;
-	public static final int I_STATEMENT_FORMAT31c=169;
-	public static final int I_STATEMENT_FORMAT31i=170;
-	public static final int I_STATEMENT_FORMAT31t=171;
-	public static final int I_STATEMENT_FORMAT32x=172;
-	public static final int I_STATEMENT_FORMAT35c_METHOD=173;
-	public static final int I_STATEMENT_FORMAT35c_TYPE=174;
-	public static final int I_STATEMENT_FORMAT3rc_METHOD=175;
-	public static final int I_STATEMENT_FORMAT3rc_TYPE=176;
-	public static final int I_STATEMENT_FORMAT51l=177;
-	public static final int I_STATEMENT_PACKED_SWITCH=178;
-	public static final int I_STATEMENT_SPARSE_SWITCH=179;
-	public static final int I_SUBANNOTATION=180;
-	public static final int I_SUPER=181;
-	public static final int LABEL=182;
-	public static final int LINE_COMMENT=183;
-	public static final int LINE_DIRECTIVE=184;
-	public static final int LOCALS_DIRECTIVE=185;
-	public static final int LOCAL_DIRECTIVE=186;
-	public static final int LONG_LITERAL=187;
-	public static final int MEMBER_NAME=188;
-	public static final int METHOD_DIRECTIVE=189;
-	public static final int NEGATIVE_INTEGER_LITERAL=190;
-	public static final int NULL_LITERAL=191;
-	public static final int OPEN_BRACE=192;
-	public static final int OPEN_PAREN=193;
-	public static final int PACKED_SWITCH_DIRECTIVE=194;
-	public static final int PARAMETER_DIRECTIVE=195;
-	public static final int PARAM_LIST=196;
-	public static final int PARAM_LIST_OR_ID=197;
-	public static final int POSITIVE_INTEGER_LITERAL=198;
-	public static final int PRIMITIVE_TYPE=199;
-	public static final int PROLOGUE_DIRECTIVE=200;
-	public static final int REGISTER=201;
-	public static final int REGISTERS_DIRECTIVE=202;
-	public static final int RESTART_LOCAL_DIRECTIVE=203;
-	public static final int SHORT_LITERAL=204;
-	public static final int SIMPLE_NAME=205;
-	public static final int SOURCE_DIRECTIVE=206;
-	public static final int SPARSE_SWITCH_DIRECTIVE=207;
-	public static final int STRING_LITERAL=208;
-	public static final int SUBANNOTATION_DIRECTIVE=209;
-	public static final int SUPER_DIRECTIVE=210;
-	public static final int VERIFICATION_ERROR_TYPE=211;
-	public static final int VOID_TYPE=212;
-	public static final int VTABLE_INDEX=213;
-	public static final int WHITE_SPACE=214;
+	public static final int BOOL_LITERAL=10;
+	public static final int BYTE_LITERAL=11;
+	public static final int CATCHALL_DIRECTIVE=12;
+	public static final int CATCH_DIRECTIVE=13;
+	public static final int CHAR_LITERAL=14;
+	public static final int CLASS_DESCRIPTOR=15;
+	public static final int CLASS_DIRECTIVE=16;
+	public static final int CLOSE_BRACE=17;
+	public static final int CLOSE_PAREN=18;
+	public static final int COLON=19;
+	public static final int COMMA=20;
+	public static final int DOTDOT=21;
+	public static final int DOUBLE_LITERAL=22;
+	public static final int DOUBLE_LITERAL_OR_ID=23;
+	public static final int END_ANNOTATION_DIRECTIVE=24;
+	public static final int END_ARRAY_DATA_DIRECTIVE=25;
+	public static final int END_FIELD_DIRECTIVE=26;
+	public static final int END_LOCAL_DIRECTIVE=27;
+	public static final int END_METHOD_DIRECTIVE=28;
+	public static final int END_PACKED_SWITCH_DIRECTIVE=29;
+	public static final int END_PARAMETER_DIRECTIVE=30;
+	public static final int END_SPARSE_SWITCH_DIRECTIVE=31;
+	public static final int END_SUBANNOTATION_DIRECTIVE=32;
+	public static final int ENUM_DIRECTIVE=33;
+	public static final int EPILOGUE_DIRECTIVE=34;
+	public static final int EQUAL=35;
+	public static final int FIELD_DIRECTIVE=36;
+	public static final int FIELD_OFFSET=37;
+	public static final int FLOAT_LITERAL=38;
+	public static final int FLOAT_LITERAL_OR_ID=39;
+	public static final int IMPLEMENTS_DIRECTIVE=40;
+	public static final int INLINE_INDEX=41;
+	public static final int INSTRUCTION_FORMAT10t=42;
+	public static final int INSTRUCTION_FORMAT10x=43;
+	public static final int INSTRUCTION_FORMAT10x_ODEX=44;
+	public static final int INSTRUCTION_FORMAT11n=45;
+	public static final int INSTRUCTION_FORMAT11x=46;
+	public static final int INSTRUCTION_FORMAT12x=47;
+	public static final int INSTRUCTION_FORMAT12x_OR_ID=48;
+	public static final int INSTRUCTION_FORMAT20bc=49;
+	public static final int INSTRUCTION_FORMAT20t=50;
+	public static final int INSTRUCTION_FORMAT21c_FIELD=51;
+	public static final int INSTRUCTION_FORMAT21c_FIELD_ODEX=52;
+	public static final int INSTRUCTION_FORMAT21c_STRING=53;
+	public static final int INSTRUCTION_FORMAT21c_TYPE=54;
+	public static final int INSTRUCTION_FORMAT21ih=55;
+	public static final int INSTRUCTION_FORMAT21lh=56;
+	public static final int INSTRUCTION_FORMAT21s=57;
+	public static final int INSTRUCTION_FORMAT21t=58;
+	public static final int INSTRUCTION_FORMAT22b=59;
+	public static final int INSTRUCTION_FORMAT22c_FIELD=60;
+	public static final int INSTRUCTION_FORMAT22c_FIELD_ODEX=61;
+	public static final int INSTRUCTION_FORMAT22c_TYPE=62;
+	public static final int INSTRUCTION_FORMAT22cs_FIELD=63;
+	public static final int INSTRUCTION_FORMAT22s=64;
+	public static final int INSTRUCTION_FORMAT22s_OR_ID=65;
+	public static final int INSTRUCTION_FORMAT22t=66;
+	public static final int INSTRUCTION_FORMAT22x=67;
+	public static final int INSTRUCTION_FORMAT23x=68;
+	public static final int INSTRUCTION_FORMAT30t=69;
+	public static final int INSTRUCTION_FORMAT31c=70;
+	public static final int INSTRUCTION_FORMAT31i=71;
+	public static final int INSTRUCTION_FORMAT31i_OR_ID=72;
+	public static final int INSTRUCTION_FORMAT31t=73;
+	public static final int INSTRUCTION_FORMAT32x=74;
+	public static final int INSTRUCTION_FORMAT35c_METHOD=75;
+	public static final int INSTRUCTION_FORMAT35c_METHOD_ODEX=76;
+	public static final int INSTRUCTION_FORMAT35c_TYPE=77;
+	public static final int INSTRUCTION_FORMAT35mi_METHOD=78;
+	public static final int INSTRUCTION_FORMAT35ms_METHOD=79;
+	public static final int INSTRUCTION_FORMAT3rc_METHOD=80;
+	public static final int INSTRUCTION_FORMAT3rc_METHOD_ODEX=81;
+	public static final int INSTRUCTION_FORMAT3rc_TYPE=82;
+	public static final int INSTRUCTION_FORMAT3rmi_METHOD=83;
+	public static final int INSTRUCTION_FORMAT3rms_METHOD=84;
+	public static final int INSTRUCTION_FORMAT51l=85;
+	public static final int INTEGER_LITERAL=86;
+	public static final int INVALID_TOKEN=87;
+	public static final int I_ACCESS_LIST=88;
+	public static final int I_ANNOTATION=89;
+	public static final int I_ANNOTATIONS=90;
+	public static final int I_ANNOTATION_ELEMENT=91;
+	public static final int I_ARRAY_ELEMENTS=92;
+	public static final int I_ARRAY_ELEMENT_SIZE=93;
+	public static final int I_CATCH=94;
+	public static final int I_CATCHALL=95;
+	public static final int I_CATCHES=96;
+	public static final int I_CLASS_DEF=97;
+	public static final int I_ENCODED_ARRAY=98;
+	public static final int I_ENCODED_ENUM=99;
+	public static final int I_ENCODED_FIELD=100;
+	public static final int I_ENCODED_METHOD=101;
+	public static final int I_END_LOCAL=102;
+	public static final int I_EPILOGUE=103;
+	public static final int I_FIELD=104;
+	public static final int I_FIELDS=105;
+	public static final int I_FIELD_INITIAL_VALUE=106;
+	public static final int I_FIELD_TYPE=107;
+	public static final int I_IMPLEMENTS=108;
+	public static final int I_LABEL=109;
+	public static final int I_LINE=110;
+	public static final int I_LOCAL=111;
+	public static final int I_LOCALS=112;
+	public static final int I_METHOD=113;
+	public static final int I_METHODS=114;
+	public static final int I_METHOD_PROTOTYPE=115;
+	public static final int I_METHOD_RETURN_TYPE=116;
+	public static final int I_ORDERED_METHOD_ITEMS=117;
+	public static final int I_PACKED_SWITCH_ELEMENTS=118;
+	public static final int I_PACKED_SWITCH_START_KEY=119;
+	public static final int I_PARAMETER=120;
+	public static final int I_PARAMETERS=121;
+	public static final int I_PARAMETER_NOT_SPECIFIED=122;
+	public static final int I_PROLOGUE=123;
+	public static final int I_REGISTERS=124;
+	public static final int I_REGISTER_LIST=125;
+	public static final int I_REGISTER_RANGE=126;
+	public static final int I_RESTART_LOCAL=127;
+	public static final int I_SOURCE=128;
+	public static final int I_SPARSE_SWITCH_ELEMENTS=129;
+	public static final int I_STATEMENT_ARRAY_DATA=130;
+	public static final int I_STATEMENT_FORMAT10t=131;
+	public static final int I_STATEMENT_FORMAT10x=132;
+	public static final int I_STATEMENT_FORMAT11n=133;
+	public static final int I_STATEMENT_FORMAT11x=134;
+	public static final int I_STATEMENT_FORMAT12x=135;
+	public static final int I_STATEMENT_FORMAT20bc=136;
+	public static final int I_STATEMENT_FORMAT20t=137;
+	public static final int I_STATEMENT_FORMAT21c_FIELD=138;
+	public static final int I_STATEMENT_FORMAT21c_STRING=139;
+	public static final int I_STATEMENT_FORMAT21c_TYPE=140;
+	public static final int I_STATEMENT_FORMAT21ih=141;
+	public static final int I_STATEMENT_FORMAT21lh=142;
+	public static final int I_STATEMENT_FORMAT21s=143;
+	public static final int I_STATEMENT_FORMAT21t=144;
+	public static final int I_STATEMENT_FORMAT22b=145;
+	public static final int I_STATEMENT_FORMAT22c_FIELD=146;
+	public static final int I_STATEMENT_FORMAT22c_TYPE=147;
+	public static final int I_STATEMENT_FORMAT22s=148;
+	public static final int I_STATEMENT_FORMAT22t=149;
+	public static final int I_STATEMENT_FORMAT22x=150;
+	public static final int I_STATEMENT_FORMAT23x=151;
+	public static final int I_STATEMENT_FORMAT30t=152;
+	public static final int I_STATEMENT_FORMAT31c=153;
+	public static final int I_STATEMENT_FORMAT31i=154;
+	public static final int I_STATEMENT_FORMAT31t=155;
+	public static final int I_STATEMENT_FORMAT32x=156;
+	public static final int I_STATEMENT_FORMAT35c_METHOD=157;
+	public static final int I_STATEMENT_FORMAT35c_TYPE=158;
+	public static final int I_STATEMENT_FORMAT3rc_METHOD=159;
+	public static final int I_STATEMENT_FORMAT3rc_TYPE=160;
+	public static final int I_STATEMENT_FORMAT51l=161;
+	public static final int I_STATEMENT_PACKED_SWITCH=162;
+	public static final int I_STATEMENT_SPARSE_SWITCH=163;
+	public static final int I_SUBANNOTATION=164;
+	public static final int I_SUPER=165;
+	public static final int LINE_COMMENT=166;
+	public static final int LINE_DIRECTIVE=167;
+	public static final int LOCALS_DIRECTIVE=168;
+	public static final int LOCAL_DIRECTIVE=169;
+	public static final int LONG_LITERAL=170;
+	public static final int MEMBER_NAME=171;
+	public static final int METHOD_DIRECTIVE=172;
+	public static final int NEGATIVE_INTEGER_LITERAL=173;
+	public static final int NULL_LITERAL=174;
+	public static final int OPEN_BRACE=175;
+	public static final int OPEN_PAREN=176;
+	public static final int PACKED_SWITCH_DIRECTIVE=177;
+	public static final int PARAMETER_DIRECTIVE=178;
+	public static final int PARAM_LIST_END=179;
+	public static final int PARAM_LIST_OR_ID_END=180;
+	public static final int PARAM_LIST_OR_ID_START=181;
+	public static final int PARAM_LIST_START=182;
+	public static final int POSITIVE_INTEGER_LITERAL=183;
+	public static final int PRIMITIVE_TYPE=184;
+	public static final int PROLOGUE_DIRECTIVE=185;
+	public static final int REGISTER=186;
+	public static final int REGISTERS_DIRECTIVE=187;
+	public static final int RESTART_LOCAL_DIRECTIVE=188;
+	public static final int SHORT_LITERAL=189;
+	public static final int SIMPLE_NAME=190;
+	public static final int SOURCE_DIRECTIVE=191;
+	public static final int SPARSE_SWITCH_DIRECTIVE=192;
+	public static final int STRING_LITERAL=193;
+	public static final int SUBANNOTATION_DIRECTIVE=194;
+	public static final int SUPER_DIRECTIVE=195;
+	public static final int VERIFICATION_ERROR_TYPE=196;
+	public static final int VOID_TYPE=197;
+	public static final int VTABLE_INDEX=198;
+	public static final int WHITE_SPACE=199;
 
 	// delegates
 	public Parser[] getDelegates() {
@@ -315,7 +296,7 @@
 		return adaptor;
 	}
 	@Override public String[] getTokenNames() { return smaliParser.tokenNames; }
-	@Override public String getGrammarFileName() { return "/usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g"; }
+	@Override public String getGrammarFileName() { return "/mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g"; }
 
 
 	  public static final int ERROR_CHANNEL = 100;
@@ -501,7 +482,7 @@
 
 
 	// $ANTLR start "smali_file"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:433:1: smali_file : ({...}? => class_spec |{...}? => super_spec | implements_spec |{...}? => source_spec | method | field | annotation )+ EOF -> ^( I_CLASS_DEF class_spec ( super_spec )? ( implements_spec )* ( source_spec )? ^( I_METHODS ( method )* ) ^( I_FIELDS ( field )* ) ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:418:1: smali_file : ({...}? => class_spec |{...}? => super_spec | implements_spec |{...}? => source_spec | method | field | annotation )+ EOF -> ^( I_CLASS_DEF class_spec ( super_spec )? ( implements_spec )* ( source_spec )? ^( I_METHODS ( method )* ) ^( I_FIELDS ( field )* ) ) ;
 	public final smaliParser.smali_file_return smali_file() throws RecognitionException {
 		smali_file_stack.push(new smali_file_scope());
 		smaliParser.smali_file_return retval = new smaliParser.smali_file_return();
@@ -530,12 +511,12 @@
 
 		 smali_file_stack.peek().hasClassSpec = smali_file_stack.peek().hasSuperSpec = smali_file_stack.peek().hasSourceSpec = false;
 		    smali_file_stack.peek().classAnnotations = new ArrayList<CommonTree>();
-		  
+		
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:445:3: ( ({...}? => class_spec |{...}? => super_spec | implements_spec |{...}? => source_spec | method | field | annotation )+ EOF -> ^( I_CLASS_DEF class_spec ( super_spec )? ( implements_spec )* ( source_spec )? ^( I_METHODS ( method )* ) ^( I_FIELDS ( field )* ) ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:446:3: ({...}? => class_spec |{...}? => super_spec | implements_spec |{...}? => source_spec | method | field | annotation )+ EOF
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:430:3: ( ({...}? => class_spec |{...}? => super_spec | implements_spec |{...}? => source_spec | method | field | annotation )+ EOF -> ^( I_CLASS_DEF class_spec ( super_spec )? ( implements_spec )* ( source_spec )? ^( I_METHODS ( method )* ) ^( I_FIELDS ( field )* ) ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:431:3: ({...}? => class_spec |{...}? => super_spec | implements_spec |{...}? => source_spec | method | field | annotation )+ EOF
 			{
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:446:3: ({...}? => class_spec |{...}? => super_spec | implements_spec |{...}? => source_spec | method | field | annotation )+
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:431:3: ({...}? => class_spec |{...}? => super_spec | implements_spec |{...}? => source_spec | method | field | annotation )+
 			int cnt1=0;
 			loop1:
 			while (true) {
@@ -565,12 +546,12 @@
 
 				switch (alt1) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:446:5: {...}? => class_spec
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:431:5: {...}? => class_spec
 					{
 					if ( !((!smali_file_stack.peek().hasClassSpec)) ) {
 						throw new FailedPredicateException(input, "smali_file", "!$smali_file::hasClassSpec");
 					}
-					pushFollow(FOLLOW_class_spec_in_smali_file1145);
+					pushFollow(FOLLOW_class_spec_in_smali_file1070);
 					class_spec1=class_spec();
 					state._fsp--;
 
@@ -579,12 +560,12 @@
 					}
 					break;
 				case 2 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:447:5: {...}? => super_spec
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:432:5: {...}? => super_spec
 					{
 					if ( !((!smali_file_stack.peek().hasSuperSpec)) ) {
 						throw new FailedPredicateException(input, "smali_file", "!$smali_file::hasSuperSpec");
 					}
-					pushFollow(FOLLOW_super_spec_in_smali_file1156);
+					pushFollow(FOLLOW_super_spec_in_smali_file1081);
 					super_spec2=super_spec();
 					state._fsp--;
 
@@ -593,9 +574,9 @@
 					}
 					break;
 				case 3 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:448:5: implements_spec
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:433:5: implements_spec
 					{
-					pushFollow(FOLLOW_implements_spec_in_smali_file1164);
+					pushFollow(FOLLOW_implements_spec_in_smali_file1089);
 					implements_spec3=implements_spec();
 					state._fsp--;
 
@@ -603,12 +584,12 @@
 					}
 					break;
 				case 4 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:449:5: {...}? => source_spec
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:434:5: {...}? => source_spec
 					{
 					if ( !((!smali_file_stack.peek().hasSourceSpec)) ) {
 						throw new FailedPredicateException(input, "smali_file", "!$smali_file::hasSourceSpec");
 					}
-					pushFollow(FOLLOW_source_spec_in_smali_file1173);
+					pushFollow(FOLLOW_source_spec_in_smali_file1098);
 					source_spec4=source_spec();
 					state._fsp--;
 
@@ -617,9 +598,9 @@
 					}
 					break;
 				case 5 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:450:5: method
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:435:5: method
 					{
-					pushFollow(FOLLOW_method_in_smali_file1181);
+					pushFollow(FOLLOW_method_in_smali_file1106);
 					method5=method();
 					state._fsp--;
 
@@ -627,9 +608,9 @@
 					}
 					break;
 				case 6 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:451:5: field
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:436:5: field
 					{
-					pushFollow(FOLLOW_field_in_smali_file1187);
+					pushFollow(FOLLOW_field_in_smali_file1112);
 					field6=field();
 					state._fsp--;
 
@@ -637,9 +618,9 @@
 					}
 					break;
 				case 7 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:452:5: annotation
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:437:5: annotation
 					{
-					pushFollow(FOLLOW_annotation_in_smali_file1193);
+					pushFollow(FOLLOW_annotation_in_smali_file1118);
 					annotation7=annotation();
 					state._fsp--;
 
@@ -656,7 +637,7 @@
 				cnt1++;
 			}
 
-			EOF8=(Token)match(input,EOF,FOLLOW_EOF_in_smali_file1204);  
+			EOF8=(Token)match(input,EOF,FOLLOW_EOF_in_smali_file1129);
 			stream_EOF.add(EOF8);
 
 
@@ -669,48 +650,48 @@
 			        throw new SemanticException(input, "The file must contain a .super directive");
 			      }
 			    }
-			  
+			
 			// AST REWRITE
-			// elements: source_spec, implements_spec, super_spec, field, class_spec, method
-			// token labels: 
+			// elements: method, field, source_spec, implements_spec, super_spec, class_spec
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 466:3: -> ^( I_CLASS_DEF class_spec ( super_spec )? ( implements_spec )* ( source_spec )? ^( I_METHODS ( method )* ) ^( I_FIELDS ( field )* ) )
+			// 451:3: -> ^( I_CLASS_DEF class_spec ( super_spec )? ( implements_spec )* ( source_spec )? ^( I_METHODS ( method )* ) ^( I_FIELDS ( field )* ) )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:466:6: ^( I_CLASS_DEF class_spec ( super_spec )? ( implements_spec )* ( source_spec )? ^( I_METHODS ( method )* ) ^( I_FIELDS ( field )* ) )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:451:6: ^( I_CLASS_DEF class_spec ( super_spec )? ( implements_spec )* ( source_spec )? ^( I_METHODS ( method )* ) ^( I_FIELDS ( field )* ) )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_CLASS_DEF, "I_CLASS_DEF"), root_1);
 				adaptor.addChild(root_1, stream_class_spec.nextTree());
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:468:8: ( super_spec )?
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:453:8: ( super_spec )?
 				if ( stream_super_spec.hasNext() ) {
 					adaptor.addChild(root_1, stream_super_spec.nextTree());
 				}
 				stream_super_spec.reset();
 
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:469:8: ( implements_spec )*
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:454:8: ( implements_spec )*
 				while ( stream_implements_spec.hasNext() ) {
 					adaptor.addChild(root_1, stream_implements_spec.nextTree());
 				}
 				stream_implements_spec.reset();
 
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:470:8: ( source_spec )?
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:455:8: ( source_spec )?
 				if ( stream_source_spec.hasNext() ) {
 					adaptor.addChild(root_1, stream_source_spec.nextTree());
 				}
 				stream_source_spec.reset();
 
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:471:8: ^( I_METHODS ( method )* )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:456:8: ^( I_METHODS ( method )* )
 				{
 				CommonTree root_2 = (CommonTree)adaptor.nil();
 				root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_METHODS, "I_METHODS"), root_2);
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:471:20: ( method )*
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:456:20: ( method )*
 				while ( stream_method.hasNext() ) {
 					adaptor.addChild(root_2, stream_method.nextTree());
 				}
@@ -719,11 +700,11 @@
 				adaptor.addChild(root_1, root_2);
 				}
 
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:471:29: ^( I_FIELDS ( field )* )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:456:29: ^( I_FIELDS ( field )* )
 				{
 				CommonTree root_2 = (CommonTree)adaptor.nil();
 				root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_FIELDS, "I_FIELDS"), root_2);
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:471:40: ( field )*
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:456:40: ( field )*
 				while ( stream_field.hasNext() ) {
 					adaptor.addChild(root_2, stream_field.nextTree());
 				}
@@ -772,7 +753,7 @@
 
 
 	// $ANTLR start "class_spec"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:473:1: class_spec returns [String className] : CLASS_DIRECTIVE access_list CLASS_DESCRIPTOR -> CLASS_DESCRIPTOR access_list ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:458:1: class_spec returns [String className] : CLASS_DIRECTIVE access_list CLASS_DESCRIPTOR -> CLASS_DESCRIPTOR access_list ;
 	public final smaliParser.class_spec_return class_spec() throws RecognitionException {
 		smaliParser.class_spec_return retval = new smaliParser.class_spec_return();
 		retval.start = input.LT(1);
@@ -790,33 +771,33 @@
 		RewriteRuleSubtreeStream stream_access_list=new RewriteRuleSubtreeStream(adaptor,"rule access_list");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:474:3: ( CLASS_DIRECTIVE access_list CLASS_DESCRIPTOR -> CLASS_DESCRIPTOR access_list )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:474:5: CLASS_DIRECTIVE access_list CLASS_DESCRIPTOR
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:459:3: ( CLASS_DIRECTIVE access_list CLASS_DESCRIPTOR -> CLASS_DESCRIPTOR access_list )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:459:5: CLASS_DIRECTIVE access_list CLASS_DESCRIPTOR
 			{
-			CLASS_DIRECTIVE9=(Token)match(input,CLASS_DIRECTIVE,FOLLOW_CLASS_DIRECTIVE_in_class_spec1291);  
+			CLASS_DIRECTIVE9=(Token)match(input,CLASS_DIRECTIVE,FOLLOW_CLASS_DIRECTIVE_in_class_spec1216);
 			stream_CLASS_DIRECTIVE.add(CLASS_DIRECTIVE9);
 
-			pushFollow(FOLLOW_access_list_in_class_spec1293);
+			pushFollow(FOLLOW_access_list_in_class_spec1218);
 			access_list10=access_list();
 			state._fsp--;
 
 			stream_access_list.add(access_list10.getTree());
-			CLASS_DESCRIPTOR11=(Token)match(input,CLASS_DESCRIPTOR,FOLLOW_CLASS_DESCRIPTOR_in_class_spec1295);  
+			CLASS_DESCRIPTOR11=(Token)match(input,CLASS_DESCRIPTOR,FOLLOW_CLASS_DESCRIPTOR_in_class_spec1220);
 			stream_CLASS_DESCRIPTOR.add(CLASS_DESCRIPTOR11);
 
 			retval.className = (CLASS_DESCRIPTOR11!=null?CLASS_DESCRIPTOR11.getText():null);
 			// AST REWRITE
 			// elements: CLASS_DESCRIPTOR, access_list
-			// token labels: 
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 474:89: -> CLASS_DESCRIPTOR access_list
+			// 459:89: -> CLASS_DESCRIPTOR access_list
 			{
 				adaptor.addChild(root_0, stream_CLASS_DESCRIPTOR.nextNode());
 				adaptor.addChild(root_0, stream_access_list.nextTree());
@@ -854,7 +835,7 @@
 
 
 	// $ANTLR start "super_spec"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:476:1: super_spec : SUPER_DIRECTIVE CLASS_DESCRIPTOR -> ^( I_SUPER[$start, \"I_SUPER\"] CLASS_DESCRIPTOR ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:461:1: super_spec : SUPER_DIRECTIVE CLASS_DESCRIPTOR -> ^( I_SUPER[$start, \"I_SUPER\"] CLASS_DESCRIPTOR ) ;
 	public final smaliParser.super_spec_return super_spec() throws RecognitionException {
 		smaliParser.super_spec_return retval = new smaliParser.super_spec_return();
 		retval.start = input.LT(1);
@@ -870,29 +851,29 @@
 		RewriteRuleTokenStream stream_CLASS_DESCRIPTOR=new RewriteRuleTokenStream(adaptor,"token CLASS_DESCRIPTOR");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:477:3: ( SUPER_DIRECTIVE CLASS_DESCRIPTOR -> ^( I_SUPER[$start, \"I_SUPER\"] CLASS_DESCRIPTOR ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:477:5: SUPER_DIRECTIVE CLASS_DESCRIPTOR
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:462:3: ( SUPER_DIRECTIVE CLASS_DESCRIPTOR -> ^( I_SUPER[$start, \"I_SUPER\"] CLASS_DESCRIPTOR ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:462:5: SUPER_DIRECTIVE CLASS_DESCRIPTOR
 			{
-			SUPER_DIRECTIVE12=(Token)match(input,SUPER_DIRECTIVE,FOLLOW_SUPER_DIRECTIVE_in_super_spec1313);  
+			SUPER_DIRECTIVE12=(Token)match(input,SUPER_DIRECTIVE,FOLLOW_SUPER_DIRECTIVE_in_super_spec1238);
 			stream_SUPER_DIRECTIVE.add(SUPER_DIRECTIVE12);
 
-			CLASS_DESCRIPTOR13=(Token)match(input,CLASS_DESCRIPTOR,FOLLOW_CLASS_DESCRIPTOR_in_super_spec1315);  
+			CLASS_DESCRIPTOR13=(Token)match(input,CLASS_DESCRIPTOR,FOLLOW_CLASS_DESCRIPTOR_in_super_spec1240);
 			stream_CLASS_DESCRIPTOR.add(CLASS_DESCRIPTOR13);
 
 			// AST REWRITE
 			// elements: CLASS_DESCRIPTOR
-			// token labels: 
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 477:38: -> ^( I_SUPER[$start, \"I_SUPER\"] CLASS_DESCRIPTOR )
+			// 462:38: -> ^( I_SUPER[$start, \"I_SUPER\"] CLASS_DESCRIPTOR )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:477:41: ^( I_SUPER[$start, \"I_SUPER\"] CLASS_DESCRIPTOR )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:462:41: ^( I_SUPER[$start, \"I_SUPER\"] CLASS_DESCRIPTOR )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_SUPER, (retval.start), "I_SUPER"), root_1);
@@ -934,7 +915,7 @@
 
 
 	// $ANTLR start "implements_spec"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:479:1: implements_spec : IMPLEMENTS_DIRECTIVE CLASS_DESCRIPTOR -> ^( I_IMPLEMENTS[$start, \"I_IMPLEMENTS\"] CLASS_DESCRIPTOR ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:464:1: implements_spec : IMPLEMENTS_DIRECTIVE CLASS_DESCRIPTOR -> ^( I_IMPLEMENTS[$start, \"I_IMPLEMENTS\"] CLASS_DESCRIPTOR ) ;
 	public final smaliParser.implements_spec_return implements_spec() throws RecognitionException {
 		smaliParser.implements_spec_return retval = new smaliParser.implements_spec_return();
 		retval.start = input.LT(1);
@@ -950,29 +931,29 @@
 		RewriteRuleTokenStream stream_CLASS_DESCRIPTOR=new RewriteRuleTokenStream(adaptor,"token CLASS_DESCRIPTOR");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:480:3: ( IMPLEMENTS_DIRECTIVE CLASS_DESCRIPTOR -> ^( I_IMPLEMENTS[$start, \"I_IMPLEMENTS\"] CLASS_DESCRIPTOR ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:480:5: IMPLEMENTS_DIRECTIVE CLASS_DESCRIPTOR
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:465:3: ( IMPLEMENTS_DIRECTIVE CLASS_DESCRIPTOR -> ^( I_IMPLEMENTS[$start, \"I_IMPLEMENTS\"] CLASS_DESCRIPTOR ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:465:5: IMPLEMENTS_DIRECTIVE CLASS_DESCRIPTOR
 			{
-			IMPLEMENTS_DIRECTIVE14=(Token)match(input,IMPLEMENTS_DIRECTIVE,FOLLOW_IMPLEMENTS_DIRECTIVE_in_implements_spec1334);  
+			IMPLEMENTS_DIRECTIVE14=(Token)match(input,IMPLEMENTS_DIRECTIVE,FOLLOW_IMPLEMENTS_DIRECTIVE_in_implements_spec1259);
 			stream_IMPLEMENTS_DIRECTIVE.add(IMPLEMENTS_DIRECTIVE14);
 
-			CLASS_DESCRIPTOR15=(Token)match(input,CLASS_DESCRIPTOR,FOLLOW_CLASS_DESCRIPTOR_in_implements_spec1336);  
+			CLASS_DESCRIPTOR15=(Token)match(input,CLASS_DESCRIPTOR,FOLLOW_CLASS_DESCRIPTOR_in_implements_spec1261);
 			stream_CLASS_DESCRIPTOR.add(CLASS_DESCRIPTOR15);
 
 			// AST REWRITE
 			// elements: CLASS_DESCRIPTOR
-			// token labels: 
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 480:43: -> ^( I_IMPLEMENTS[$start, \"I_IMPLEMENTS\"] CLASS_DESCRIPTOR )
+			// 465:43: -> ^( I_IMPLEMENTS[$start, \"I_IMPLEMENTS\"] CLASS_DESCRIPTOR )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:480:46: ^( I_IMPLEMENTS[$start, \"I_IMPLEMENTS\"] CLASS_DESCRIPTOR )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:465:46: ^( I_IMPLEMENTS[$start, \"I_IMPLEMENTS\"] CLASS_DESCRIPTOR )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_IMPLEMENTS, (retval.start), "I_IMPLEMENTS"), root_1);
@@ -1014,7 +995,7 @@
 
 
 	// $ANTLR start "source_spec"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:482:1: source_spec : SOURCE_DIRECTIVE STRING_LITERAL -> ^( I_SOURCE[$start, \"I_SOURCE\"] STRING_LITERAL ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:467:1: source_spec : SOURCE_DIRECTIVE STRING_LITERAL -> ^( I_SOURCE[$start, \"I_SOURCE\"] STRING_LITERAL ) ;
 	public final smaliParser.source_spec_return source_spec() throws RecognitionException {
 		smaliParser.source_spec_return retval = new smaliParser.source_spec_return();
 		retval.start = input.LT(1);
@@ -1030,29 +1011,29 @@
 		RewriteRuleTokenStream stream_SOURCE_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token SOURCE_DIRECTIVE");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:483:3: ( SOURCE_DIRECTIVE STRING_LITERAL -> ^( I_SOURCE[$start, \"I_SOURCE\"] STRING_LITERAL ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:483:5: SOURCE_DIRECTIVE STRING_LITERAL
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:468:3: ( SOURCE_DIRECTIVE STRING_LITERAL -> ^( I_SOURCE[$start, \"I_SOURCE\"] STRING_LITERAL ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:468:5: SOURCE_DIRECTIVE STRING_LITERAL
 			{
-			SOURCE_DIRECTIVE16=(Token)match(input,SOURCE_DIRECTIVE,FOLLOW_SOURCE_DIRECTIVE_in_source_spec1355);  
+			SOURCE_DIRECTIVE16=(Token)match(input,SOURCE_DIRECTIVE,FOLLOW_SOURCE_DIRECTIVE_in_source_spec1280);
 			stream_SOURCE_DIRECTIVE.add(SOURCE_DIRECTIVE16);
 
-			STRING_LITERAL17=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_source_spec1357);  
+			STRING_LITERAL17=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_source_spec1282);
 			stream_STRING_LITERAL.add(STRING_LITERAL17);
 
 			// AST REWRITE
 			// elements: STRING_LITERAL
-			// token labels: 
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 483:37: -> ^( I_SOURCE[$start, \"I_SOURCE\"] STRING_LITERAL )
+			// 468:37: -> ^( I_SOURCE[$start, \"I_SOURCE\"] STRING_LITERAL )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:483:40: ^( I_SOURCE[$start, \"I_SOURCE\"] STRING_LITERAL )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:468:40: ^( I_SOURCE[$start, \"I_SOURCE\"] STRING_LITERAL )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_SOURCE, (retval.start), "I_SOURCE"), root_1);
@@ -1094,7 +1075,7 @@
 
 
 	// $ANTLR start "access_list"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:485:1: access_list : ( ACCESS_SPEC )* -> ^( I_ACCESS_LIST[$start,\"I_ACCESS_LIST\"] ( ACCESS_SPEC )* ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:470:1: access_list : ( ACCESS_SPEC )* -> ^( I_ACCESS_LIST[$start,\"I_ACCESS_LIST\"] ( ACCESS_SPEC )* ) ;
 	public final smaliParser.access_list_return access_list() throws RecognitionException {
 		smaliParser.access_list_return retval = new smaliParser.access_list_return();
 		retval.start = input.LT(1);
@@ -1107,17 +1088,17 @@
 		RewriteRuleTokenStream stream_ACCESS_SPEC=new RewriteRuleTokenStream(adaptor,"token ACCESS_SPEC");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:486:3: ( ( ACCESS_SPEC )* -> ^( I_ACCESS_LIST[$start,\"I_ACCESS_LIST\"] ( ACCESS_SPEC )* ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:486:5: ( ACCESS_SPEC )*
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:471:3: ( ( ACCESS_SPEC )* -> ^( I_ACCESS_LIST[$start,\"I_ACCESS_LIST\"] ( ACCESS_SPEC )* ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:471:5: ( ACCESS_SPEC )*
 			{
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:486:5: ( ACCESS_SPEC )*
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:471:5: ( ACCESS_SPEC )*
 			loop2:
 			while (true) {
 				int alt2=2;
 				int LA2_0 = input.LA(1);
 				if ( (LA2_0==ACCESS_SPEC) ) {
 					int LA2_2 = input.LA(2);
-					if ( (LA2_2==ACCESS_SPEC||LA2_2==ANNOTATION_VISIBILITY||LA2_2==BOOL_LITERAL||LA2_2==CLASS_DESCRIPTOR||LA2_2==DOUBLE_LITERAL_OR_ID||LA2_2==FLOAT_LITERAL_OR_ID||(LA2_2 >= INSTRUCTION_FORMAT10t && LA2_2 <= INSTRUCTION_FORMAT10x_ODEX)||LA2_2==INSTRUCTION_FORMAT11x||LA2_2==INSTRUCTION_FORMAT12x_OR_ID||(LA2_2 >= INSTRUCTION_FORMAT21c_FIELD && LA2_2 <= INSTRUCTION_FORMAT21c_TYPE)||LA2_2==INSTRUCTION_FORMAT21t||(LA2_2 >= INSTRUCTION_FORMAT22c_FIELD && LA2_2 <= INSTRUCTION_FORMAT22cs_FIELD)||(LA2_2 >= INSTRUCTION_FORMAT22s_OR_ID && LA2_2 <= INSTRUCTION_FORMAT22t)||LA2_2==INSTRUCTION_FORMAT23x||(LA2_2 >= INSTRUCTION_FORMAT31i_OR_ID && LA2_2 <= INSTRUCTION_FORMAT31t)||(LA2_2 >= INSTRUCTION_FORMAT35c_METHOD && LA2_2 <= INSTRUCTION_FORMAT35ms_METHOD)||LA2_2==INSTRUCTION_FORMAT51l||LA2_2==MEMBER_NAME||(LA2_2 >= NEGATIVE_INTEGER_LITERAL && LA2_2 <= NULL_LITERAL)||(LA2_2 >= PARAM_LIST_OR_ID && LA2_2 <= PRIMITIVE_TYPE)||LA2_2==REGISTER||LA2_2==SIMPLE_NAME||(LA2_2 >= VERIFICATION_ERROR_TYPE && LA2_2 <= VOID_TYPE)) ) {
+					if ( (LA2_2==ACCESS_SPEC||LA2_2==ANNOTATION_VISIBILITY||LA2_2==BOOL_LITERAL||LA2_2==CLASS_DESCRIPTOR||LA2_2==DOUBLE_LITERAL_OR_ID||LA2_2==FLOAT_LITERAL_OR_ID||(LA2_2 >= INSTRUCTION_FORMAT10t && LA2_2 <= INSTRUCTION_FORMAT10x_ODEX)||LA2_2==INSTRUCTION_FORMAT11x||LA2_2==INSTRUCTION_FORMAT12x_OR_ID||(LA2_2 >= INSTRUCTION_FORMAT21c_FIELD && LA2_2 <= INSTRUCTION_FORMAT21c_TYPE)||LA2_2==INSTRUCTION_FORMAT21t||(LA2_2 >= INSTRUCTION_FORMAT22c_FIELD && LA2_2 <= INSTRUCTION_FORMAT22cs_FIELD)||(LA2_2 >= INSTRUCTION_FORMAT22s_OR_ID && LA2_2 <= INSTRUCTION_FORMAT22t)||LA2_2==INSTRUCTION_FORMAT23x||(LA2_2 >= INSTRUCTION_FORMAT31i_OR_ID && LA2_2 <= INSTRUCTION_FORMAT31t)||(LA2_2 >= INSTRUCTION_FORMAT35c_METHOD && LA2_2 <= INSTRUCTION_FORMAT35ms_METHOD)||LA2_2==INSTRUCTION_FORMAT51l||LA2_2==MEMBER_NAME||(LA2_2 >= NEGATIVE_INTEGER_LITERAL && LA2_2 <= NULL_LITERAL)||LA2_2==PARAM_LIST_OR_ID_START||(LA2_2 >= POSITIVE_INTEGER_LITERAL && LA2_2 <= PRIMITIVE_TYPE)||LA2_2==REGISTER||LA2_2==SIMPLE_NAME||(LA2_2 >= VERIFICATION_ERROR_TYPE && LA2_2 <= VOID_TYPE)) ) {
 						alt2=1;
 					}
 
@@ -1125,9 +1106,9 @@
 
 				switch (alt2) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:486:5: ACCESS_SPEC
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:471:5: ACCESS_SPEC
 					{
-					ACCESS_SPEC18=(Token)match(input,ACCESS_SPEC,FOLLOW_ACCESS_SPEC_in_access_list1376);  
+					ACCESS_SPEC18=(Token)match(input,ACCESS_SPEC,FOLLOW_ACCESS_SPEC_in_access_list1301);
 					stream_ACCESS_SPEC.add(ACCESS_SPEC18);
 
 					}
@@ -1140,22 +1121,22 @@
 
 			// AST REWRITE
 			// elements: ACCESS_SPEC
-			// token labels: 
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 486:18: -> ^( I_ACCESS_LIST[$start,\"I_ACCESS_LIST\"] ( ACCESS_SPEC )* )
+			// 471:18: -> ^( I_ACCESS_LIST[$start,\"I_ACCESS_LIST\"] ( ACCESS_SPEC )* )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:486:21: ^( I_ACCESS_LIST[$start,\"I_ACCESS_LIST\"] ( ACCESS_SPEC )* )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:471:21: ^( I_ACCESS_LIST[$start,\"I_ACCESS_LIST\"] ( ACCESS_SPEC )* )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_ACCESS_LIST, (retval.start), "I_ACCESS_LIST"), root_1);
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:486:61: ( ACCESS_SPEC )*
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:471:61: ( ACCESS_SPEC )*
 				while ( stream_ACCESS_SPEC.hasNext() ) {
 					adaptor.addChild(root_1, stream_ACCESS_SPEC.nextNode());
 				}
@@ -1198,7 +1179,7 @@
 
 
 	// $ANTLR start "field"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:493:1: field : FIELD_DIRECTIVE access_list member_name COLON nonvoid_type_descriptor ( EQUAL literal )? ( ({...}? annotation )* ( END_FIELD_DIRECTIVE -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ( annotation )* ) ) | -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ) ) ) ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:478:1: field : FIELD_DIRECTIVE access_list member_name COLON nonvoid_type_descriptor ( EQUAL literal )? ( ({...}? annotation )* ( END_FIELD_DIRECTIVE -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ( annotation )* ) ) | -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ) ) ) ) ;
 	public final smaliParser.field_return field() throws RecognitionException {
 		smaliParser.field_return retval = new smaliParser.field_return();
 		retval.start = input.LT(1);
@@ -1231,31 +1212,31 @@
 
 		List<CommonTree> annotations = new ArrayList<CommonTree>();
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:495:3: ( FIELD_DIRECTIVE access_list member_name COLON nonvoid_type_descriptor ( EQUAL literal )? ( ({...}? annotation )* ( END_FIELD_DIRECTIVE -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ( annotation )* ) ) | -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ) ) ) ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:495:5: FIELD_DIRECTIVE access_list member_name COLON nonvoid_type_descriptor ( EQUAL literal )? ( ({...}? annotation )* ( END_FIELD_DIRECTIVE -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ( annotation )* ) ) | -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ) ) ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:480:3: ( FIELD_DIRECTIVE access_list member_name COLON nonvoid_type_descriptor ( EQUAL literal )? ( ({...}? annotation )* ( END_FIELD_DIRECTIVE -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ( annotation )* ) ) | -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ) ) ) ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:480:5: FIELD_DIRECTIVE access_list member_name COLON nonvoid_type_descriptor ( EQUAL literal )? ( ({...}? annotation )* ( END_FIELD_DIRECTIVE -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ( annotation )* ) ) | -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ) ) ) )
 			{
-			FIELD_DIRECTIVE19=(Token)match(input,FIELD_DIRECTIVE,FOLLOW_FIELD_DIRECTIVE_in_field1407);  
+			FIELD_DIRECTIVE19=(Token)match(input,FIELD_DIRECTIVE,FOLLOW_FIELD_DIRECTIVE_in_field1332);
 			stream_FIELD_DIRECTIVE.add(FIELD_DIRECTIVE19);
 
-			pushFollow(FOLLOW_access_list_in_field1409);
+			pushFollow(FOLLOW_access_list_in_field1334);
 			access_list20=access_list();
 			state._fsp--;
 
 			stream_access_list.add(access_list20.getTree());
-			pushFollow(FOLLOW_member_name_in_field1411);
+			pushFollow(FOLLOW_member_name_in_field1336);
 			member_name21=member_name();
 			state._fsp--;
 
 			stream_member_name.add(member_name21.getTree());
-			COLON22=(Token)match(input,COLON,FOLLOW_COLON_in_field1413);  
+			COLON22=(Token)match(input,COLON,FOLLOW_COLON_in_field1338);
 			stream_COLON.add(COLON22);
 
-			pushFollow(FOLLOW_nonvoid_type_descriptor_in_field1415);
+			pushFollow(FOLLOW_nonvoid_type_descriptor_in_field1340);
 			nonvoid_type_descriptor23=nonvoid_type_descriptor();
 			state._fsp--;
 
 			stream_nonvoid_type_descriptor.add(nonvoid_type_descriptor23.getTree());
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:495:75: ( EQUAL literal )?
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:480:75: ( EQUAL literal )?
 			int alt3=2;
 			int LA3_0 = input.LA(1);
 			if ( (LA3_0==EQUAL) ) {
@@ -1263,12 +1244,12 @@
 			}
 			switch (alt3) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:495:76: EQUAL literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:480:76: EQUAL literal
 					{
-					EQUAL24=(Token)match(input,EQUAL,FOLLOW_EQUAL_in_field1418);  
+					EQUAL24=(Token)match(input,EQUAL,FOLLOW_EQUAL_in_field1343);
 					stream_EQUAL.add(EQUAL24);
 
-					pushFollow(FOLLOW_literal_in_field1420);
+					pushFollow(FOLLOW_literal_in_field1345);
 					literal25=literal();
 					state._fsp--;
 
@@ -1278,10 +1259,10 @@
 
 			}
 
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:496:5: ( ({...}? annotation )* ( END_FIELD_DIRECTIVE -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ( annotation )* ) ) | -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ) ) ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:496:7: ({...}? annotation )* ( END_FIELD_DIRECTIVE -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ( annotation )* ) ) | -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ) ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:481:5: ( ({...}? annotation )* ( END_FIELD_DIRECTIVE -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ( annotation )* ) ) | -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ) ) ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:481:7: ({...}? annotation )* ( END_FIELD_DIRECTIVE -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ( annotation )* ) ) | -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ) ) )
 			{
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:496:7: ({...}? annotation )*
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:481:7: ({...}? annotation )*
 			loop4:
 			while (true) {
 				int alt4=2;
@@ -1296,12 +1277,12 @@
 
 				switch (alt4) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:496:8: {...}? annotation
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:481:8: {...}? annotation
 					{
 					if ( !((input.LA(1) == ANNOTATION_DIRECTIVE)) ) {
 						throw new FailedPredicateException(input, "field", "input.LA(1) == ANNOTATION_DIRECTIVE");
 					}
-					pushFollow(FOLLOW_annotation_in_field1433);
+					pushFollow(FOLLOW_annotation_in_field1358);
 					annotation26=annotation();
 					state._fsp--;
 
@@ -1315,7 +1296,7 @@
 				}
 			}
 
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:497:7: ( END_FIELD_DIRECTIVE -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ( annotation )* ) ) | -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ) ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:482:7: ( END_FIELD_DIRECTIVE -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ( annotation )* ) ) | -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ) ) )
 			int alt5=2;
 			int LA5_0 = input.LA(1);
 			if ( (LA5_0==END_FIELD_DIRECTIVE) ) {
@@ -1333,31 +1314,31 @@
 
 			switch (alt5) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:497:9: END_FIELD_DIRECTIVE
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:482:9: END_FIELD_DIRECTIVE
 					{
-					END_FIELD_DIRECTIVE27=(Token)match(input,END_FIELD_DIRECTIVE,FOLLOW_END_FIELD_DIRECTIVE_in_field1447);  
+					END_FIELD_DIRECTIVE27=(Token)match(input,END_FIELD_DIRECTIVE,FOLLOW_END_FIELD_DIRECTIVE_in_field1372);
 					stream_END_FIELD_DIRECTIVE.add(END_FIELD_DIRECTIVE27);
 
 					// AST REWRITE
-					// elements: access_list, nonvoid_type_descriptor, member_name, literal, annotation
-					// token labels: 
+					// elements: literal, member_name, access_list, annotation, nonvoid_type_descriptor
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 498:9: -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ( annotation )* ) )
+					// 483:9: -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ( annotation )* ) )
 					{
-						// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:498:12: ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ( annotation )* ) )
+						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:483:12: ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ( annotation )* ) )
 						{
 						CommonTree root_1 = (CommonTree)adaptor.nil();
 						root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_FIELD, (retval.start), "I_FIELD"), root_1);
 						adaptor.addChild(root_1, stream_member_name.nextTree());
 						adaptor.addChild(root_1, stream_access_list.nextTree());
-						// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:498:65: ^( I_FIELD_TYPE nonvoid_type_descriptor )
+						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:483:65: ^( I_FIELD_TYPE nonvoid_type_descriptor )
 						{
 						CommonTree root_2 = (CommonTree)adaptor.nil();
 						root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_FIELD_TYPE, "I_FIELD_TYPE"), root_2);
@@ -1365,9 +1346,9 @@
 						adaptor.addChild(root_1, root_2);
 						}
 
-						// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:498:105: ( ^( I_FIELD_INITIAL_VALUE literal ) )?
+						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:483:105: ( ^( I_FIELD_INITIAL_VALUE literal ) )?
 						if ( stream_literal.hasNext() ) {
-							// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:498:105: ^( I_FIELD_INITIAL_VALUE literal )
+							// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:483:105: ^( I_FIELD_INITIAL_VALUE literal )
 							{
 							CommonTree root_2 = (CommonTree)adaptor.nil();
 							root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_FIELD_INITIAL_VALUE, "I_FIELD_INITIAL_VALUE"), root_2);
@@ -1378,11 +1359,11 @@
 						}
 						stream_literal.reset();
 
-						// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:498:139: ^( I_ANNOTATIONS ( annotation )* )
+						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:483:139: ^( I_ANNOTATIONS ( annotation )* )
 						{
 						CommonTree root_2 = (CommonTree)adaptor.nil();
 						root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_ANNOTATIONS, "I_ANNOTATIONS"), root_2);
-						// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:498:155: ( annotation )*
+						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:483:155: ( annotation )*
 						while ( stream_annotation.hasNext() ) {
 							adaptor.addChild(root_2, stream_annotation.nextTree());
 						}
@@ -1402,29 +1383,29 @@
 					}
 					break;
 				case 2 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:499:21: 
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:484:21:
 					{
 					smali_file_stack.peek().classAnnotations.addAll(annotations);
 					// AST REWRITE
-					// elements: access_list, nonvoid_type_descriptor, literal, member_name
-					// token labels: 
+					// elements: nonvoid_type_descriptor, member_name, literal, access_list
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 500:9: -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ) )
+					// 485:9: -> ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ) )
 					{
-						// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:500:12: ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ) )
+						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:485:12: ^( I_FIELD[$start, \"I_FIELD\"] member_name access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) ( ^( I_FIELD_INITIAL_VALUE literal ) )? ^( I_ANNOTATIONS ) )
 						{
 						CommonTree root_1 = (CommonTree)adaptor.nil();
 						root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_FIELD, (retval.start), "I_FIELD"), root_1);
 						adaptor.addChild(root_1, stream_member_name.nextTree());
 						adaptor.addChild(root_1, stream_access_list.nextTree());
-						// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:500:65: ^( I_FIELD_TYPE nonvoid_type_descriptor )
+						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:485:65: ^( I_FIELD_TYPE nonvoid_type_descriptor )
 						{
 						CommonTree root_2 = (CommonTree)adaptor.nil();
 						root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_FIELD_TYPE, "I_FIELD_TYPE"), root_2);
@@ -1432,9 +1413,9 @@
 						adaptor.addChild(root_1, root_2);
 						}
 
-						// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:500:105: ( ^( I_FIELD_INITIAL_VALUE literal ) )?
+						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:485:105: ( ^( I_FIELD_INITIAL_VALUE literal ) )?
 						if ( stream_literal.hasNext() ) {
-							// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:500:105: ^( I_FIELD_INITIAL_VALUE literal )
+							// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:485:105: ^( I_FIELD_INITIAL_VALUE literal )
 							{
 							CommonTree root_2 = (CommonTree)adaptor.nil();
 							root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_FIELD_INITIAL_VALUE, "I_FIELD_INITIAL_VALUE"), root_2);
@@ -1445,7 +1426,7 @@
 						}
 						stream_literal.reset();
 
-						// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:500:139: ^( I_ANNOTATIONS )
+						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:485:139: ^( I_ANNOTATIONS )
 						{
 						CommonTree root_2 = (CommonTree)adaptor.nil();
 						root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_ANNOTATIONS, "I_ANNOTATIONS"), root_2);
@@ -1496,7 +1477,7 @@
 
 
 	// $ANTLR start "method"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:504:1: method : METHOD_DIRECTIVE access_list member_name method_prototype statements_and_directives END_METHOD_DIRECTIVE -> ^( I_METHOD[$start, \"I_METHOD\"] member_name method_prototype access_list statements_and_directives ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:489:1: method : METHOD_DIRECTIVE access_list member_name method_prototype statements_and_directives END_METHOD_DIRECTIVE -> ^( I_METHOD[$start, \"I_METHOD\"] member_name method_prototype access_list statements_and_directives ) ;
 	public final smaliParser.method_return method() throws RecognitionException {
 		smaliParser.method_return retval = new smaliParser.method_return();
 		retval.start = input.LT(1);
@@ -1520,49 +1501,49 @@
 		RewriteRuleSubtreeStream stream_member_name=new RewriteRuleSubtreeStream(adaptor,"rule member_name");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:505:3: ( METHOD_DIRECTIVE access_list member_name method_prototype statements_and_directives END_METHOD_DIRECTIVE -> ^( I_METHOD[$start, \"I_METHOD\"] member_name method_prototype access_list statements_and_directives ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:505:5: METHOD_DIRECTIVE access_list member_name method_prototype statements_and_directives END_METHOD_DIRECTIVE
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:490:3: ( METHOD_DIRECTIVE access_list member_name method_prototype statements_and_directives END_METHOD_DIRECTIVE -> ^( I_METHOD[$start, \"I_METHOD\"] member_name method_prototype access_list statements_and_directives ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:490:5: METHOD_DIRECTIVE access_list member_name method_prototype statements_and_directives END_METHOD_DIRECTIVE
 			{
-			METHOD_DIRECTIVE28=(Token)match(input,METHOD_DIRECTIVE,FOLLOW_METHOD_DIRECTIVE_in_method1558);  
+			METHOD_DIRECTIVE28=(Token)match(input,METHOD_DIRECTIVE,FOLLOW_METHOD_DIRECTIVE_in_method1483);
 			stream_METHOD_DIRECTIVE.add(METHOD_DIRECTIVE28);
 
-			pushFollow(FOLLOW_access_list_in_method1560);
+			pushFollow(FOLLOW_access_list_in_method1485);
 			access_list29=access_list();
 			state._fsp--;
 
 			stream_access_list.add(access_list29.getTree());
-			pushFollow(FOLLOW_member_name_in_method1562);
+			pushFollow(FOLLOW_member_name_in_method1487);
 			member_name30=member_name();
 			state._fsp--;
 
 			stream_member_name.add(member_name30.getTree());
-			pushFollow(FOLLOW_method_prototype_in_method1564);
+			pushFollow(FOLLOW_method_prototype_in_method1489);
 			method_prototype31=method_prototype();
 			state._fsp--;
 
 			stream_method_prototype.add(method_prototype31.getTree());
-			pushFollow(FOLLOW_statements_and_directives_in_method1566);
+			pushFollow(FOLLOW_statements_and_directives_in_method1491);
 			statements_and_directives32=statements_and_directives();
 			state._fsp--;
 
 			stream_statements_and_directives.add(statements_and_directives32.getTree());
-			END_METHOD_DIRECTIVE33=(Token)match(input,END_METHOD_DIRECTIVE,FOLLOW_END_METHOD_DIRECTIVE_in_method1572);  
+			END_METHOD_DIRECTIVE33=(Token)match(input,END_METHOD_DIRECTIVE,FOLLOW_END_METHOD_DIRECTIVE_in_method1497);
 			stream_END_METHOD_DIRECTIVE.add(END_METHOD_DIRECTIVE33);
 
 			// AST REWRITE
-			// elements: method_prototype, statements_and_directives, access_list, member_name
-			// token labels: 
+			// elements: member_name, statements_and_directives, access_list, method_prototype
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 507:5: -> ^( I_METHOD[$start, \"I_METHOD\"] member_name method_prototype access_list statements_and_directives )
+			// 492:5: -> ^( I_METHOD[$start, \"I_METHOD\"] member_name method_prototype access_list statements_and_directives )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:507:8: ^( I_METHOD[$start, \"I_METHOD\"] member_name method_prototype access_list statements_and_directives )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:492:8: ^( I_METHOD[$start, \"I_METHOD\"] member_name method_prototype access_list statements_and_directives )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_METHOD, (retval.start), "I_METHOD"), root_1);
@@ -1613,7 +1594,7 @@
 
 
 	// $ANTLR start "statements_and_directives"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:509:1: statements_and_directives : ( ordered_method_item | registers_directive | catch_directive | catchall_directive | parameter_directive | annotation )* -> ( registers_directive )? ^( I_ORDERED_METHOD_ITEMS ( ordered_method_item )* ) ^( I_CATCHES ( catch_directive )* ( catchall_directive )* ) ^( I_PARAMETERS ( parameter_directive )* ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:494:1: statements_and_directives : ( ordered_method_item | registers_directive | catch_directive | catchall_directive | parameter_directive | annotation )* -> ( registers_directive )? ^( I_ORDERED_METHOD_ITEMS ( ordered_method_item )* ) ^( I_CATCHES ( catch_directive )* ( catchall_directive )* ) ^( I_PARAMETERS ( parameter_directive )* ) ;
 	public final smaliParser.statements_and_directives_return statements_and_directives() throws RecognitionException {
 		statements_and_directives_stack.push(new statements_and_directives_scope());
 		smaliParser.statements_and_directives_return retval = new smaliParser.statements_and_directives_return();
@@ -1636,14 +1617,14 @@
 		RewriteRuleSubtreeStream stream_parameter_directive=new RewriteRuleSubtreeStream(adaptor,"rule parameter_directive");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:515:3: ( ( ordered_method_item | registers_directive | catch_directive | catchall_directive | parameter_directive | annotation )* -> ( registers_directive )? ^( I_ORDERED_METHOD_ITEMS ( ordered_method_item )* ) ^( I_CATCHES ( catch_directive )* ( catchall_directive )* ) ^( I_PARAMETERS ( parameter_directive )* ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:515:5: ( ordered_method_item | registers_directive | catch_directive | catchall_directive | parameter_directive | annotation )*
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:500:3: ( ( ordered_method_item | registers_directive | catch_directive | catchall_directive | parameter_directive | annotation )* -> ( registers_directive )? ^( I_ORDERED_METHOD_ITEMS ( ordered_method_item )* ) ^( I_CATCHES ( catch_directive )* ( catchall_directive )* ) ^( I_PARAMETERS ( parameter_directive )* ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:500:5: ( ordered_method_item | registers_directive | catch_directive | catchall_directive | parameter_directive | annotation )*
 			{
 
 			      statements_and_directives_stack.peek().hasRegistersDirective = false;
 			      statements_and_directives_stack.peek().methodAnnotations = new ArrayList<CommonTree>();
-			    
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:519:5: ( ordered_method_item | registers_directive | catch_directive | catchall_directive | parameter_directive | annotation )*
+			
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:504:5: ( ordered_method_item | registers_directive | catch_directive | catchall_directive | parameter_directive | annotation )*
 			loop6:
 			while (true) {
 				int alt6=7;
@@ -1736,9 +1717,9 @@
 				}
 				switch (alt6) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:519:7: ordered_method_item
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:504:7: ordered_method_item
 					{
-					pushFollow(FOLLOW_ordered_method_item_in_statements_and_directives1617);
+					pushFollow(FOLLOW_ordered_method_item_in_statements_and_directives1542);
 					ordered_method_item34=ordered_method_item();
 					state._fsp--;
 
@@ -1746,9 +1727,9 @@
 					}
 					break;
 				case 2 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:520:7: registers_directive
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:505:7: registers_directive
 					{
-					pushFollow(FOLLOW_registers_directive_in_statements_and_directives1625);
+					pushFollow(FOLLOW_registers_directive_in_statements_and_directives1550);
 					registers_directive35=registers_directive();
 					state._fsp--;
 
@@ -1756,9 +1737,9 @@
 					}
 					break;
 				case 3 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:521:7: catch_directive
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:506:7: catch_directive
 					{
-					pushFollow(FOLLOW_catch_directive_in_statements_and_directives1633);
+					pushFollow(FOLLOW_catch_directive_in_statements_and_directives1558);
 					catch_directive36=catch_directive();
 					state._fsp--;
 
@@ -1766,9 +1747,9 @@
 					}
 					break;
 				case 4 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:522:7: catchall_directive
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:507:7: catchall_directive
 					{
-					pushFollow(FOLLOW_catchall_directive_in_statements_and_directives1641);
+					pushFollow(FOLLOW_catchall_directive_in_statements_and_directives1566);
 					catchall_directive37=catchall_directive();
 					state._fsp--;
 
@@ -1776,9 +1757,9 @@
 					}
 					break;
 				case 5 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:523:7: parameter_directive
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:508:7: parameter_directive
 					{
-					pushFollow(FOLLOW_parameter_directive_in_statements_and_directives1649);
+					pushFollow(FOLLOW_parameter_directive_in_statements_and_directives1574);
 					parameter_directive38=parameter_directive();
 					state._fsp--;
 
@@ -1786,9 +1767,9 @@
 					}
 					break;
 				case 6 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:524:7: annotation
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:509:7: annotation
 					{
-					pushFollow(FOLLOW_annotation_in_statements_and_directives1657);
+					pushFollow(FOLLOW_annotation_in_statements_and_directives1582);
 					annotation39=annotation();
 					state._fsp--;
 
@@ -1803,29 +1784,29 @@
 			}
 
 			// AST REWRITE
-			// elements: ordered_method_item, catchall_directive, catch_directive, registers_directive, parameter_directive
-			// token labels: 
+			// elements: catchall_directive, registers_directive, parameter_directive, catch_directive, ordered_method_item
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 526:5: -> ( registers_directive )? ^( I_ORDERED_METHOD_ITEMS ( ordered_method_item )* ) ^( I_CATCHES ( catch_directive )* ( catchall_directive )* ) ^( I_PARAMETERS ( parameter_directive )* )
+			// 511:5: -> ( registers_directive )? ^( I_ORDERED_METHOD_ITEMS ( ordered_method_item )* ) ^( I_CATCHES ( catch_directive )* ( catchall_directive )* ) ^( I_PARAMETERS ( parameter_directive )* )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:526:8: ( registers_directive )?
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:511:8: ( registers_directive )?
 				if ( stream_registers_directive.hasNext() ) {
 					adaptor.addChild(root_0, stream_registers_directive.nextTree());
 				}
 				stream_registers_directive.reset();
 
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:527:8: ^( I_ORDERED_METHOD_ITEMS ( ordered_method_item )* )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:512:8: ^( I_ORDERED_METHOD_ITEMS ( ordered_method_item )* )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_ORDERED_METHOD_ITEMS, "I_ORDERED_METHOD_ITEMS"), root_1);
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:527:33: ( ordered_method_item )*
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:512:33: ( ordered_method_item )*
 				while ( stream_ordered_method_item.hasNext() ) {
 					adaptor.addChild(root_1, stream_ordered_method_item.nextTree());
 				}
@@ -1834,17 +1815,17 @@
 				adaptor.addChild(root_0, root_1);
 				}
 
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:528:8: ^( I_CATCHES ( catch_directive )* ( catchall_directive )* )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:513:8: ^( I_CATCHES ( catch_directive )* ( catchall_directive )* )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_CATCHES, "I_CATCHES"), root_1);
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:528:20: ( catch_directive )*
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:513:20: ( catch_directive )*
 				while ( stream_catch_directive.hasNext() ) {
 					adaptor.addChild(root_1, stream_catch_directive.nextTree());
 				}
 				stream_catch_directive.reset();
 
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:528:37: ( catchall_directive )*
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:513:37: ( catchall_directive )*
 				while ( stream_catchall_directive.hasNext() ) {
 					adaptor.addChild(root_1, stream_catchall_directive.nextTree());
 				}
@@ -1853,11 +1834,11 @@
 				adaptor.addChild(root_0, root_1);
 				}
 
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:529:8: ^( I_PARAMETERS ( parameter_directive )* )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:514:8: ^( I_PARAMETERS ( parameter_directive )* )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_PARAMETERS, "I_PARAMETERS"), root_1);
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:529:23: ( parameter_directive )*
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:514:23: ( parameter_directive )*
 				while ( stream_parameter_directive.hasNext() ) {
 					adaptor.addChild(root_1, stream_parameter_directive.nextTree());
 				}
@@ -1902,7 +1883,7 @@
 
 
 	// $ANTLR start "ordered_method_item"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:533:1: ordered_method_item : ( label | instruction | debug_directive );
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:518:1: ordered_method_item : ( label | instruction | debug_directive );
 	public final smaliParser.ordered_method_item_return ordered_method_item() throws RecognitionException {
 		smaliParser.ordered_method_item_return retval = new smaliParser.ordered_method_item_return();
 		retval.start = input.LT(1);
@@ -1915,7 +1896,7 @@
 
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:534:3: ( label | instruction | debug_directive )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:519:3: ( label | instruction | debug_directive )
 			int alt7=3;
 			switch ( input.LA(1) ) {
 			case COLON:
@@ -1992,12 +1973,12 @@
 			}
 			switch (alt7) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:534:5: label
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:519:5: label
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_label_in_ordered_method_item1742);
+					pushFollow(FOLLOW_label_in_ordered_method_item1667);
 					label40=label();
 					state._fsp--;
 
@@ -2006,12 +1987,12 @@
 					}
 					break;
 				case 2 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:535:5: instruction
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:520:5: instruction
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_instruction_in_ordered_method_item1748);
+					pushFollow(FOLLOW_instruction_in_ordered_method_item1673);
 					instruction41=instruction();
 					state._fsp--;
 
@@ -2020,12 +2001,12 @@
 					}
 					break;
 				case 3 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:536:5: debug_directive
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:521:5: debug_directive
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_debug_directive_in_ordered_method_item1754);
+					pushFollow(FOLLOW_debug_directive_in_ordered_method_item1679);
 					debug_directive42=debug_directive();
 					state._fsp--;
 
@@ -2062,7 +2043,7 @@
 
 
 	// $ANTLR start "registers_directive"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:538:1: registers_directive : (directive= REGISTERS_DIRECTIVE regCount= integral_literal -> ^( I_REGISTERS[$REGISTERS_DIRECTIVE, \"I_REGISTERS\"] $regCount) |directive= LOCALS_DIRECTIVE regCount2= integral_literal -> ^( I_LOCALS[$LOCALS_DIRECTIVE, \"I_LOCALS\"] $regCount2) ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:523:1: registers_directive : (directive= REGISTERS_DIRECTIVE regCount= integral_literal -> ^( I_REGISTERS[$REGISTERS_DIRECTIVE, \"I_REGISTERS\"] $regCount) |directive= LOCALS_DIRECTIVE regCount2= integral_literal -> ^( I_LOCALS[$LOCALS_DIRECTIVE, \"I_LOCALS\"] $regCount2) ) ;
 	public final smaliParser.registers_directive_return registers_directive() throws RecognitionException {
 		smaliParser.registers_directive_return retval = new smaliParser.registers_directive_return();
 		retval.start = input.LT(1);
@@ -2079,10 +2060,10 @@
 		RewriteRuleSubtreeStream stream_integral_literal=new RewriteRuleSubtreeStream(adaptor,"rule integral_literal");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:539:3: ( (directive= REGISTERS_DIRECTIVE regCount= integral_literal -> ^( I_REGISTERS[$REGISTERS_DIRECTIVE, \"I_REGISTERS\"] $regCount) |directive= LOCALS_DIRECTIVE regCount2= integral_literal -> ^( I_LOCALS[$LOCALS_DIRECTIVE, \"I_LOCALS\"] $regCount2) ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:539:5: (directive= REGISTERS_DIRECTIVE regCount= integral_literal -> ^( I_REGISTERS[$REGISTERS_DIRECTIVE, \"I_REGISTERS\"] $regCount) |directive= LOCALS_DIRECTIVE regCount2= integral_literal -> ^( I_LOCALS[$LOCALS_DIRECTIVE, \"I_LOCALS\"] $regCount2) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:524:3: ( (directive= REGISTERS_DIRECTIVE regCount= integral_literal -> ^( I_REGISTERS[$REGISTERS_DIRECTIVE, \"I_REGISTERS\"] $regCount) |directive= LOCALS_DIRECTIVE regCount2= integral_literal -> ^( I_LOCALS[$LOCALS_DIRECTIVE, \"I_LOCALS\"] $regCount2) ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:524:5: (directive= REGISTERS_DIRECTIVE regCount= integral_literal -> ^( I_REGISTERS[$REGISTERS_DIRECTIVE, \"I_REGISTERS\"] $regCount) |directive= LOCALS_DIRECTIVE regCount2= integral_literal -> ^( I_LOCALS[$LOCALS_DIRECTIVE, \"I_LOCALS\"] $regCount2) )
 			{
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:539:5: (directive= REGISTERS_DIRECTIVE regCount= integral_literal -> ^( I_REGISTERS[$REGISTERS_DIRECTIVE, \"I_REGISTERS\"] $regCount) |directive= LOCALS_DIRECTIVE regCount2= integral_literal -> ^( I_LOCALS[$LOCALS_DIRECTIVE, \"I_LOCALS\"] $regCount2) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:524:5: (directive= REGISTERS_DIRECTIVE regCount= integral_literal -> ^( I_REGISTERS[$REGISTERS_DIRECTIVE, \"I_REGISTERS\"] $regCount) |directive= LOCALS_DIRECTIVE regCount2= integral_literal -> ^( I_LOCALS[$LOCALS_DIRECTIVE, \"I_LOCALS\"] $regCount2) )
 			int alt8=2;
 			int LA8_0 = input.LA(1);
 			if ( (LA8_0==REGISTERS_DIRECTIVE) ) {
@@ -2100,31 +2081,31 @@
 
 			switch (alt8) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:540:7: directive= REGISTERS_DIRECTIVE regCount= integral_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:525:7: directive= REGISTERS_DIRECTIVE regCount= integral_literal
 					{
-					directive=(Token)match(input,REGISTERS_DIRECTIVE,FOLLOW_REGISTERS_DIRECTIVE_in_registers_directive1774);  
+					directive=(Token)match(input,REGISTERS_DIRECTIVE,FOLLOW_REGISTERS_DIRECTIVE_in_registers_directive1699);
 					stream_REGISTERS_DIRECTIVE.add(directive);
 
-					pushFollow(FOLLOW_integral_literal_in_registers_directive1778);
+					pushFollow(FOLLOW_integral_literal_in_registers_directive1703);
 					regCount=integral_literal();
 					state._fsp--;
 
 					stream_integral_literal.add(regCount.getTree());
 					// AST REWRITE
 					// elements: regCount
-					// token labels: 
+					// token labels:
 					// rule labels: retval, regCount
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 					RewriteRuleSubtreeStream stream_regCount=new RewriteRuleSubtreeStream(adaptor,"rule regCount",regCount!=null?regCount.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 540:63: -> ^( I_REGISTERS[$REGISTERS_DIRECTIVE, \"I_REGISTERS\"] $regCount)
+					// 525:63: -> ^( I_REGISTERS[$REGISTERS_DIRECTIVE, \"I_REGISTERS\"] $regCount)
 					{
-						// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:540:66: ^( I_REGISTERS[$REGISTERS_DIRECTIVE, \"I_REGISTERS\"] $regCount)
+						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:525:66: ^( I_REGISTERS[$REGISTERS_DIRECTIVE, \"I_REGISTERS\"] $regCount)
 						{
 						CommonTree root_1 = (CommonTree)adaptor.nil();
 						root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_REGISTERS, directive, "I_REGISTERS"), root_1);
@@ -2140,31 +2121,31 @@
 					}
 					break;
 				case 2 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:541:7: directive= LOCALS_DIRECTIVE regCount2= integral_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:526:7: directive= LOCALS_DIRECTIVE regCount2= integral_literal
 					{
-					directive=(Token)match(input,LOCALS_DIRECTIVE,FOLLOW_LOCALS_DIRECTIVE_in_registers_directive1798);  
+					directive=(Token)match(input,LOCALS_DIRECTIVE,FOLLOW_LOCALS_DIRECTIVE_in_registers_directive1723);
 					stream_LOCALS_DIRECTIVE.add(directive);
 
-					pushFollow(FOLLOW_integral_literal_in_registers_directive1802);
+					pushFollow(FOLLOW_integral_literal_in_registers_directive1727);
 					regCount2=integral_literal();
 					state._fsp--;
 
 					stream_integral_literal.add(regCount2.getTree());
 					// AST REWRITE
 					// elements: regCount2
-					// token labels: 
+					// token labels:
 					// rule labels: retval, regCount2
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 					RewriteRuleSubtreeStream stream_regCount2=new RewriteRuleSubtreeStream(adaptor,"rule regCount2",regCount2!=null?regCount2.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 541:61: -> ^( I_LOCALS[$LOCALS_DIRECTIVE, \"I_LOCALS\"] $regCount2)
+					// 526:61: -> ^( I_LOCALS[$LOCALS_DIRECTIVE, \"I_LOCALS\"] $regCount2)
 					{
-						// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:541:64: ^( I_LOCALS[$LOCALS_DIRECTIVE, \"I_LOCALS\"] $regCount2)
+						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:526:64: ^( I_LOCALS[$LOCALS_DIRECTIVE, \"I_LOCALS\"] $regCount2)
 						{
 						CommonTree root_1 = (CommonTree)adaptor.nil();
 						root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_LOCALS, directive, "I_LOCALS"), root_1);
@@ -2187,7 +2168,7 @@
 			        throw new SemanticException(input, directive, "There can only be a single .registers or .locals directive in a method");
 			      }
 			      statements_and_directives_stack.peek().hasRegistersDirective =true;
-			    
+			
 			}
 
 			retval.stop = input.LT(-1);
@@ -2209,6 +2190,94 @@
 	// $ANTLR end "registers_directive"
 
 
+	public static class param_list_or_id_return extends ParserRuleReturnScope {
+		CommonTree tree;
+		@Override
+		public CommonTree getTree() { return tree; }
+	};
+
+
+	// $ANTLR start "param_list_or_id"
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:535:1: param_list_or_id : PARAM_LIST_OR_ID_START ( PRIMITIVE_TYPE )+ PARAM_LIST_OR_ID_END ;
+	public final smaliParser.param_list_or_id_return param_list_or_id() throws RecognitionException {
+		smaliParser.param_list_or_id_return retval = new smaliParser.param_list_or_id_return();
+		retval.start = input.LT(1);
+
+		CommonTree root_0 = null;
+
+		Token PARAM_LIST_OR_ID_START43=null;
+		Token PRIMITIVE_TYPE44=null;
+		Token PARAM_LIST_OR_ID_END45=null;
+
+		CommonTree PARAM_LIST_OR_ID_START43_tree=null;
+		CommonTree PRIMITIVE_TYPE44_tree=null;
+		CommonTree PARAM_LIST_OR_ID_END45_tree=null;
+
+		try {
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:536:3: ( PARAM_LIST_OR_ID_START ( PRIMITIVE_TYPE )+ PARAM_LIST_OR_ID_END )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:536:5: PARAM_LIST_OR_ID_START ( PRIMITIVE_TYPE )+ PARAM_LIST_OR_ID_END
+			{
+			root_0 = (CommonTree)adaptor.nil();
+
+
+			PARAM_LIST_OR_ID_START43=(Token)match(input,PARAM_LIST_OR_ID_START,FOLLOW_PARAM_LIST_OR_ID_START_in_param_list_or_id1759);
+			PARAM_LIST_OR_ID_START43_tree = (CommonTree)adaptor.create(PARAM_LIST_OR_ID_START43);
+			adaptor.addChild(root_0, PARAM_LIST_OR_ID_START43_tree);
+
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:536:28: ( PRIMITIVE_TYPE )+
+			int cnt9=0;
+			loop9:
+			while (true) {
+				int alt9=2;
+				int LA9_0 = input.LA(1);
+				if ( (LA9_0==PRIMITIVE_TYPE) ) {
+					alt9=1;
+				}
+
+				switch (alt9) {
+				case 1 :
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:536:28: PRIMITIVE_TYPE
+					{
+					PRIMITIVE_TYPE44=(Token)match(input,PRIMITIVE_TYPE,FOLLOW_PRIMITIVE_TYPE_in_param_list_or_id1761);
+					PRIMITIVE_TYPE44_tree = (CommonTree)adaptor.create(PRIMITIVE_TYPE44);
+					adaptor.addChild(root_0, PRIMITIVE_TYPE44_tree);
+
+					}
+					break;
+
+				default :
+					if ( cnt9 >= 1 ) break loop9;
+					EarlyExitException eee = new EarlyExitException(9, input);
+					throw eee;
+				}
+				cnt9++;
+			}
+
+			PARAM_LIST_OR_ID_END45=(Token)match(input,PARAM_LIST_OR_ID_END,FOLLOW_PARAM_LIST_OR_ID_END_in_param_list_or_id1764);
+			PARAM_LIST_OR_ID_END45_tree = (CommonTree)adaptor.create(PARAM_LIST_OR_ID_END45);
+			adaptor.addChild(root_0, PARAM_LIST_OR_ID_END45_tree);
+
+			}
+
+			retval.stop = input.LT(-1);
+
+			retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
+			adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
+
+		}
+		catch (RecognitionException re) {
+			reportError(re);
+			recover(input,re);
+			retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
+		}
+		finally {
+			// do for sure before leaving
+		}
+		return retval;
+	}
+	// $ANTLR end "param_list_or_id"
+
+
 	public static class simple_name_return extends ParserRuleReturnScope {
 		CommonTree tree;
 		@Override
@@ -2217,92 +2286,91 @@
 
 
 	// $ANTLR start "simple_name"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:552:1: simple_name : ( SIMPLE_NAME | ACCESS_SPEC -> SIMPLE_NAME[$ACCESS_SPEC] | VERIFICATION_ERROR_TYPE -> SIMPLE_NAME[$VERIFICATION_ERROR_TYPE] | POSITIVE_INTEGER_LITERAL -> SIMPLE_NAME[$POSITIVE_INTEGER_LITERAL] | NEGATIVE_INTEGER_LITERAL -> SIMPLE_NAME[$NEGATIVE_INTEGER_LITERAL] | FLOAT_LITERAL_OR_ID -> SIMPLE_NAME[$FLOAT_LITERAL_OR_ID] | DOUBLE_LITERAL_OR_ID -> SIMPLE_NAME[$DOUBLE_LITERAL_OR_ID] | BOOL_LITERAL -> SIMPLE_NAME[$BOOL_LITERAL] | NULL_LITERAL -> SIMPLE_NAME[$NULL_LITERAL] | REGISTER -> SIMPLE_NAME[$REGISTER] | PARAM_LIST_OR_ID -> SIMPLE_NAME[$PARAM_LIST_OR_ID] | PRIMITIVE_TYPE -> SIMPLE_NAME[$PRIMITIVE_TYPE] | VOID_TYPE -> SIMPLE_NAME[$VOID_TYPE] | ANNOTATION_VISIBILITY -> SIMPLE_NAME[$ANNOTATION_VISIBILITY] | INSTRUCTION_FORMAT10t -> SIMPLE_NAME[$INSTRUCTION_FORMAT10t] | INSTRUCTION_FORMAT10x -> SIMPLE_NAME[$INSTRUCTION_FORMAT10x] | INSTRUCTION_FORMAT10x_ODEX -> SIMPLE_NAME[$INSTRUCTION_FORMAT10x_ODEX] | INSTRUCTION_FORMAT11x -> SIMPLE_NAME[$INSTRUCTION_FORMAT11x] | INSTRUCTION_FORMAT12x_OR_ID -> SIMPLE_NAME[$INSTRUCTION_FORMAT12x_OR_ID] | INSTRUCTION_FORMAT21c_FIELD -> SIMPLE_NAME[$INSTRUCTION_FORMAT21c_FIELD] | INSTRUCTION_FORMAT21c_FIELD_ODEX -> SIMPLE_NAME[$INSTRUCTION_FORMAT21c_FIELD_ODEX] | INSTRUCTION_FORMAT21c_STRING -> SIMPLE_NAME[$INSTRUCTION_FORMAT21c_STRING] | INSTRUCTION_FORMAT21c_TYPE -> SIMPLE_NAME[$INSTRUCTION_FORMAT21c_TYPE] | INSTRUCTION_FORMAT21t -> SIMPLE_NAME[$INSTRUCTION_FORMAT21t] | INSTRUCTION_FORMAT22c_FIELD -> SIMPLE_NAME[$INSTRUCTION_FORMAT22c_FIELD] | INSTRUCTION_FORMAT22c_FIELD_ODEX -> SIMPLE_NAME[$INSTRUCTION_FORMAT22c_FIELD_ODEX] | INSTRUCTION_FORMAT22c_TYPE -> SIMPLE_NAME[$INSTRUCTION_FORMAT22c_TYPE] | INSTRUCTION_FORMAT22cs_FIELD -> SIMPLE_NAME[$INSTRUCTION_FORMAT22cs_FIELD] | INSTRUCTION_FORMAT22s_OR_ID -> SIMPLE_NAME[$INSTRUCTION_FORMAT22s_OR_ID] | INSTRUCTION_FORMAT22t -> SIMPLE_NAME[$INSTRUCTION_FORMAT22t] | INSTRUCTION_FORMAT23x -> SIMPLE_NAME[$INSTRUCTION_FORMAT23x] | INSTRUCTION_FORMAT31i_OR_ID -> SIMPLE_NAME[$INSTRUCTION_FORMAT31i_OR_ID] | INSTRUCTION_FORMAT31t -> SIMPLE_NAME[$INSTRUCTION_FORMAT31t] | INSTRUCTION_FORMAT35c_METHOD -> SIMPLE_NAME[$INSTRUCTION_FORMAT35c_METHOD] | INSTRUCTION_FORMAT35c_METHOD_ODEX -> SIMPLE_NAME[$INSTRUCTION_FORMAT35c_METHOD_ODEX] | INSTRUCTION_FORMAT35c_TYPE -> SIMPLE_NAME[$INSTRUCTION_FORMAT35c_TYPE] | INSTRUCTION_FORMAT35mi_METHOD -> SIMPLE_NAME[$INSTRUCTION_FORMAT35mi_METHOD] | INSTRUCTION_FORMAT35ms_METHOD -> SIMPLE_NAME[$INSTRUCTION_FORMAT35ms_METHOD] | INSTRUCTION_FORMAT51l -> SIMPLE_NAME[$INSTRUCTION_FORMAT51l] );
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:540:1: simple_name : ( SIMPLE_NAME | ACCESS_SPEC -> SIMPLE_NAME[$ACCESS_SPEC] | VERIFICATION_ERROR_TYPE -> SIMPLE_NAME[$VERIFICATION_ERROR_TYPE] | POSITIVE_INTEGER_LITERAL -> SIMPLE_NAME[$POSITIVE_INTEGER_LITERAL] | NEGATIVE_INTEGER_LITERAL -> SIMPLE_NAME[$NEGATIVE_INTEGER_LITERAL] | FLOAT_LITERAL_OR_ID -> SIMPLE_NAME[$FLOAT_LITERAL_OR_ID] | DOUBLE_LITERAL_OR_ID -> SIMPLE_NAME[$DOUBLE_LITERAL_OR_ID] | BOOL_LITERAL -> SIMPLE_NAME[$BOOL_LITERAL] | NULL_LITERAL -> SIMPLE_NAME[$NULL_LITERAL] | REGISTER -> SIMPLE_NAME[$REGISTER] | param_list_or_id ->| PRIMITIVE_TYPE -> SIMPLE_NAME[$PRIMITIVE_TYPE] | VOID_TYPE -> SIMPLE_NAME[$VOID_TYPE] | ANNOTATION_VISIBILITY -> SIMPLE_NAME[$ANNOTATION_VISIBILITY] | INSTRUCTION_FORMAT10t -> SIMPLE_NAME[$INSTRUCTION_FORMAT10t] | INSTRUCTION_FORMAT10x -> SIMPLE_NAME[$INSTRUCTION_FORMAT10x] | INSTRUCTION_FORMAT10x_ODEX -> SIMPLE_NAME[$INSTRUCTION_FORMAT10x_ODEX] | INSTRUCTION_FORMAT11x -> SIMPLE_NAME[$INSTRUCTION_FORMAT11x] | INSTRUCTION_FORMAT12x_OR_ID -> SIMPLE_NAME[$INSTRUCTION_FORMAT12x_OR_ID] | INSTRUCTION_FORMAT21c_FIELD -> SIMPLE_NAME[$INSTRUCTION_FORMAT21c_FIELD] | INSTRUCTION_FORMAT21c_FIELD_ODEX -> SIMPLE_NAME[$INSTRUCTION_FORMAT21c_FIELD_ODEX] | INSTRUCTION_FORMAT21c_STRING -> SIMPLE_NAME[$INSTRUCTION_FORMAT21c_STRING] | INSTRUCTION_FORMAT21c_TYPE -> SIMPLE_NAME[$INSTRUCTION_FORMAT21c_TYPE] | INSTRUCTION_FORMAT21t -> SIMPLE_NAME[$INSTRUCTION_FORMAT21t] | INSTRUCTION_FORMAT22c_FIELD -> SIMPLE_NAME[$INSTRUCTION_FORMAT22c_FIELD] | INSTRUCTION_FORMAT22c_FIELD_ODEX -> SIMPLE_NAME[$INSTRUCTION_FORMAT22c_FIELD_ODEX] | INSTRUCTION_FORMAT22c_TYPE -> SIMPLE_NAME[$INSTRUCTION_FORMAT22c_TYPE] | INSTRUCTION_FORMAT22cs_FIELD -> SIMPLE_NAME[$INSTRUCTION_FORMAT22cs_FIELD] | INSTRUCTION_FORMAT22s_OR_ID -> SIMPLE_NAME[$INSTRUCTION_FORMAT22s_OR_ID] | INSTRUCTION_FORMAT22t -> SIMPLE_NAME[$INSTRUCTION_FORMAT22t] | INSTRUCTION_FORMAT23x -> SIMPLE_NAME[$INSTRUCTION_FORMAT23x] | INSTRUCTION_FORMAT31i_OR_ID -> SIMPLE_NAME[$INSTRUCTION_FORMAT31i_OR_ID] | INSTRUCTION_FORMAT31t -> SIMPLE_NAME[$INSTRUCTION_FORMAT31t] | INSTRUCTION_FORMAT35c_METHOD -> SIMPLE_NAME[$INSTRUCTION_FORMAT35c_METHOD] | INSTRUCTION_FORMAT35c_METHOD_ODEX -> SIMPLE_NAME[$INSTRUCTION_FORMAT35c_METHOD_ODEX] | INSTRUCTION_FORMAT35c_TYPE -> SIMPLE_NAME[$INSTRUCTION_FORMAT35c_TYPE] | INSTRUCTION_FORMAT35mi_METHOD -> SIMPLE_NAME[$INSTRUCTION_FORMAT35mi_METHOD] | INSTRUCTION_FORMAT35ms_METHOD -> SIMPLE_NAME[$INSTRUCTION_FORMAT35ms_METHOD] | INSTRUCTION_FORMAT51l -> SIMPLE_NAME[$INSTRUCTION_FORMAT51l] );
 	public final smaliParser.simple_name_return simple_name() throws RecognitionException {
 		smaliParser.simple_name_return retval = new smaliParser.simple_name_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token SIMPLE_NAME43=null;
-		Token ACCESS_SPEC44=null;
-		Token VERIFICATION_ERROR_TYPE45=null;
-		Token POSITIVE_INTEGER_LITERAL46=null;
-		Token NEGATIVE_INTEGER_LITERAL47=null;
-		Token FLOAT_LITERAL_OR_ID48=null;
-		Token DOUBLE_LITERAL_OR_ID49=null;
-		Token BOOL_LITERAL50=null;
-		Token NULL_LITERAL51=null;
-		Token REGISTER52=null;
-		Token PARAM_LIST_OR_ID53=null;
-		Token PRIMITIVE_TYPE54=null;
-		Token VOID_TYPE55=null;
-		Token ANNOTATION_VISIBILITY56=null;
-		Token INSTRUCTION_FORMAT10t57=null;
-		Token INSTRUCTION_FORMAT10x58=null;
-		Token INSTRUCTION_FORMAT10x_ODEX59=null;
-		Token INSTRUCTION_FORMAT11x60=null;
-		Token INSTRUCTION_FORMAT12x_OR_ID61=null;
-		Token INSTRUCTION_FORMAT21c_FIELD62=null;
-		Token INSTRUCTION_FORMAT21c_FIELD_ODEX63=null;
-		Token INSTRUCTION_FORMAT21c_STRING64=null;
-		Token INSTRUCTION_FORMAT21c_TYPE65=null;
-		Token INSTRUCTION_FORMAT21t66=null;
-		Token INSTRUCTION_FORMAT22c_FIELD67=null;
-		Token INSTRUCTION_FORMAT22c_FIELD_ODEX68=null;
-		Token INSTRUCTION_FORMAT22c_TYPE69=null;
-		Token INSTRUCTION_FORMAT22cs_FIELD70=null;
-		Token INSTRUCTION_FORMAT22s_OR_ID71=null;
-		Token INSTRUCTION_FORMAT22t72=null;
-		Token INSTRUCTION_FORMAT23x73=null;
-		Token INSTRUCTION_FORMAT31i_OR_ID74=null;
-		Token INSTRUCTION_FORMAT31t75=null;
-		Token INSTRUCTION_FORMAT35c_METHOD76=null;
-		Token INSTRUCTION_FORMAT35c_METHOD_ODEX77=null;
-		Token INSTRUCTION_FORMAT35c_TYPE78=null;
-		Token INSTRUCTION_FORMAT35mi_METHOD79=null;
-		Token INSTRUCTION_FORMAT35ms_METHOD80=null;
-		Token INSTRUCTION_FORMAT51l81=null;
+		Token SIMPLE_NAME46=null;
+		Token ACCESS_SPEC47=null;
+		Token VERIFICATION_ERROR_TYPE48=null;
+		Token POSITIVE_INTEGER_LITERAL49=null;
+		Token NEGATIVE_INTEGER_LITERAL50=null;
+		Token FLOAT_LITERAL_OR_ID51=null;
+		Token DOUBLE_LITERAL_OR_ID52=null;
+		Token BOOL_LITERAL53=null;
+		Token NULL_LITERAL54=null;
+		Token REGISTER55=null;
+		Token PRIMITIVE_TYPE57=null;
+		Token VOID_TYPE58=null;
+		Token ANNOTATION_VISIBILITY59=null;
+		Token INSTRUCTION_FORMAT10t60=null;
+		Token INSTRUCTION_FORMAT10x61=null;
+		Token INSTRUCTION_FORMAT10x_ODEX62=null;
+		Token INSTRUCTION_FORMAT11x63=null;
+		Token INSTRUCTION_FORMAT12x_OR_ID64=null;
+		Token INSTRUCTION_FORMAT21c_FIELD65=null;
+		Token INSTRUCTION_FORMAT21c_FIELD_ODEX66=null;
+		Token INSTRUCTION_FORMAT21c_STRING67=null;
+		Token INSTRUCTION_FORMAT21c_TYPE68=null;
+		Token INSTRUCTION_FORMAT21t69=null;
+		Token INSTRUCTION_FORMAT22c_FIELD70=null;
+		Token INSTRUCTION_FORMAT22c_FIELD_ODEX71=null;
+		Token INSTRUCTION_FORMAT22c_TYPE72=null;
+		Token INSTRUCTION_FORMAT22cs_FIELD73=null;
+		Token INSTRUCTION_FORMAT22s_OR_ID74=null;
+		Token INSTRUCTION_FORMAT22t75=null;
+		Token INSTRUCTION_FORMAT23x76=null;
+		Token INSTRUCTION_FORMAT31i_OR_ID77=null;
+		Token INSTRUCTION_FORMAT31t78=null;
+		Token INSTRUCTION_FORMAT35c_METHOD79=null;
+		Token INSTRUCTION_FORMAT35c_METHOD_ODEX80=null;
+		Token INSTRUCTION_FORMAT35c_TYPE81=null;
+		Token INSTRUCTION_FORMAT35mi_METHOD82=null;
+		Token INSTRUCTION_FORMAT35ms_METHOD83=null;
+		Token INSTRUCTION_FORMAT51l84=null;
+		ParserRuleReturnScope param_list_or_id56 =null;
 
-		CommonTree SIMPLE_NAME43_tree=null;
-		CommonTree ACCESS_SPEC44_tree=null;
-		CommonTree VERIFICATION_ERROR_TYPE45_tree=null;
-		CommonTree POSITIVE_INTEGER_LITERAL46_tree=null;
-		CommonTree NEGATIVE_INTEGER_LITERAL47_tree=null;
-		CommonTree FLOAT_LITERAL_OR_ID48_tree=null;
-		CommonTree DOUBLE_LITERAL_OR_ID49_tree=null;
-		CommonTree BOOL_LITERAL50_tree=null;
-		CommonTree NULL_LITERAL51_tree=null;
-		CommonTree REGISTER52_tree=null;
-		CommonTree PARAM_LIST_OR_ID53_tree=null;
-		CommonTree PRIMITIVE_TYPE54_tree=null;
-		CommonTree VOID_TYPE55_tree=null;
-		CommonTree ANNOTATION_VISIBILITY56_tree=null;
-		CommonTree INSTRUCTION_FORMAT10t57_tree=null;
-		CommonTree INSTRUCTION_FORMAT10x58_tree=null;
-		CommonTree INSTRUCTION_FORMAT10x_ODEX59_tree=null;
-		CommonTree INSTRUCTION_FORMAT11x60_tree=null;
-		CommonTree INSTRUCTION_FORMAT12x_OR_ID61_tree=null;
-		CommonTree INSTRUCTION_FORMAT21c_FIELD62_tree=null;
-		CommonTree INSTRUCTION_FORMAT21c_FIELD_ODEX63_tree=null;
-		CommonTree INSTRUCTION_FORMAT21c_STRING64_tree=null;
-		CommonTree INSTRUCTION_FORMAT21c_TYPE65_tree=null;
-		CommonTree INSTRUCTION_FORMAT21t66_tree=null;
-		CommonTree INSTRUCTION_FORMAT22c_FIELD67_tree=null;
-		CommonTree INSTRUCTION_FORMAT22c_FIELD_ODEX68_tree=null;
-		CommonTree INSTRUCTION_FORMAT22c_TYPE69_tree=null;
-		CommonTree INSTRUCTION_FORMAT22cs_FIELD70_tree=null;
-		CommonTree INSTRUCTION_FORMAT22s_OR_ID71_tree=null;
-		CommonTree INSTRUCTION_FORMAT22t72_tree=null;
-		CommonTree INSTRUCTION_FORMAT23x73_tree=null;
-		CommonTree INSTRUCTION_FORMAT31i_OR_ID74_tree=null;
-		CommonTree INSTRUCTION_FORMAT31t75_tree=null;
-		CommonTree INSTRUCTION_FORMAT35c_METHOD76_tree=null;
-		CommonTree INSTRUCTION_FORMAT35c_METHOD_ODEX77_tree=null;
-		CommonTree INSTRUCTION_FORMAT35c_TYPE78_tree=null;
-		CommonTree INSTRUCTION_FORMAT35mi_METHOD79_tree=null;
-		CommonTree INSTRUCTION_FORMAT35ms_METHOD80_tree=null;
-		CommonTree INSTRUCTION_FORMAT51l81_tree=null;
+		CommonTree SIMPLE_NAME46_tree=null;
+		CommonTree ACCESS_SPEC47_tree=null;
+		CommonTree VERIFICATION_ERROR_TYPE48_tree=null;
+		CommonTree POSITIVE_INTEGER_LITERAL49_tree=null;
+		CommonTree NEGATIVE_INTEGER_LITERAL50_tree=null;
+		CommonTree FLOAT_LITERAL_OR_ID51_tree=null;
+		CommonTree DOUBLE_LITERAL_OR_ID52_tree=null;
+		CommonTree BOOL_LITERAL53_tree=null;
+		CommonTree NULL_LITERAL54_tree=null;
+		CommonTree REGISTER55_tree=null;
+		CommonTree PRIMITIVE_TYPE57_tree=null;
+		CommonTree VOID_TYPE58_tree=null;
+		CommonTree ANNOTATION_VISIBILITY59_tree=null;
+		CommonTree INSTRUCTION_FORMAT10t60_tree=null;
+		CommonTree INSTRUCTION_FORMAT10x61_tree=null;
+		CommonTree INSTRUCTION_FORMAT10x_ODEX62_tree=null;
+		CommonTree INSTRUCTION_FORMAT11x63_tree=null;
+		CommonTree INSTRUCTION_FORMAT12x_OR_ID64_tree=null;
+		CommonTree INSTRUCTION_FORMAT21c_FIELD65_tree=null;
+		CommonTree INSTRUCTION_FORMAT21c_FIELD_ODEX66_tree=null;
+		CommonTree INSTRUCTION_FORMAT21c_STRING67_tree=null;
+		CommonTree INSTRUCTION_FORMAT21c_TYPE68_tree=null;
+		CommonTree INSTRUCTION_FORMAT21t69_tree=null;
+		CommonTree INSTRUCTION_FORMAT22c_FIELD70_tree=null;
+		CommonTree INSTRUCTION_FORMAT22c_FIELD_ODEX71_tree=null;
+		CommonTree INSTRUCTION_FORMAT22c_TYPE72_tree=null;
+		CommonTree INSTRUCTION_FORMAT22cs_FIELD73_tree=null;
+		CommonTree INSTRUCTION_FORMAT22s_OR_ID74_tree=null;
+		CommonTree INSTRUCTION_FORMAT22t75_tree=null;
+		CommonTree INSTRUCTION_FORMAT23x76_tree=null;
+		CommonTree INSTRUCTION_FORMAT31i_OR_ID77_tree=null;
+		CommonTree INSTRUCTION_FORMAT31t78_tree=null;
+		CommonTree INSTRUCTION_FORMAT35c_METHOD79_tree=null;
+		CommonTree INSTRUCTION_FORMAT35c_METHOD_ODEX80_tree=null;
+		CommonTree INSTRUCTION_FORMAT35c_TYPE81_tree=null;
+		CommonTree INSTRUCTION_FORMAT35mi_METHOD82_tree=null;
+		CommonTree INSTRUCTION_FORMAT35ms_METHOD83_tree=null;
+		CommonTree INSTRUCTION_FORMAT51l84_tree=null;
 		RewriteRuleTokenStream stream_INSTRUCTION_FORMAT22c_TYPE=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT22c_TYPE");
 		RewriteRuleTokenStream stream_INSTRUCTION_FORMAT35c_METHOD=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT35c_METHOD");
 		RewriteRuleTokenStream stream_INSTRUCTION_FORMAT11x=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT11x");
@@ -2329,7 +2397,6 @@
 		RewriteRuleTokenStream stream_FLOAT_LITERAL_OR_ID=new RewriteRuleTokenStream(adaptor,"token FLOAT_LITERAL_OR_ID");
 		RewriteRuleTokenStream stream_INSTRUCTION_FORMAT22t=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT22t");
 		RewriteRuleTokenStream stream_PRIMITIVE_TYPE=new RewriteRuleTokenStream(adaptor,"token PRIMITIVE_TYPE");
-		RewriteRuleTokenStream stream_PARAM_LIST_OR_ID=new RewriteRuleTokenStream(adaptor,"token PARAM_LIST_OR_ID");
 		RewriteRuleTokenStream stream_INSTRUCTION_FORMAT10x_ODEX=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT10x_ODEX");
 		RewriteRuleTokenStream stream_INSTRUCTION_FORMAT31t=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT31t");
 		RewriteRuleTokenStream stream_DOUBLE_LITERAL_OR_ID=new RewriteRuleTokenStream(adaptor,"token DOUBLE_LITERAL_OR_ID");
@@ -2341,244 +2408,245 @@
 		RewriteRuleTokenStream stream_INSTRUCTION_FORMAT21c_TYPE=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT21c_TYPE");
 		RewriteRuleTokenStream stream_POSITIVE_INTEGER_LITERAL=new RewriteRuleTokenStream(adaptor,"token POSITIVE_INTEGER_LITERAL");
 		RewriteRuleTokenStream stream_INSTRUCTION_FORMAT21c_FIELD_ODEX=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT21c_FIELD_ODEX");
+		RewriteRuleSubtreeStream stream_param_list_or_id=new RewriteRuleSubtreeStream(adaptor,"rule param_list_or_id");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:553:3: ( SIMPLE_NAME | ACCESS_SPEC -> SIMPLE_NAME[$ACCESS_SPEC] | VERIFICATION_ERROR_TYPE -> SIMPLE_NAME[$VERIFICATION_ERROR_TYPE] | POSITIVE_INTEGER_LITERAL -> SIMPLE_NAME[$POSITIVE_INTEGER_LITERAL] | NEGATIVE_INTEGER_LITERAL -> SIMPLE_NAME[$NEGATIVE_INTEGER_LITERAL] | FLOAT_LITERAL_OR_ID -> SIMPLE_NAME[$FLOAT_LITERAL_OR_ID] | DOUBLE_LITERAL_OR_ID -> SIMPLE_NAME[$DOUBLE_LITERAL_OR_ID] | BOOL_LITERAL -> SIMPLE_NAME[$BOOL_LITERAL] | NULL_LITERAL -> SIMPLE_NAME[$NULL_LITERAL] | REGISTER -> SIMPLE_NAME[$REGISTER] | PARAM_LIST_OR_ID -> SIMPLE_NAME[$PARAM_LIST_OR_ID] | PRIMITIVE_TYPE -> SIMPLE_NAME[$PRIMITIVE_TYPE] | VOID_TYPE -> SIMPLE_NAME[$VOID_TYPE] | ANNOTATION_VISIBILITY -> SIMPLE_NAME[$ANNOTATION_VISIBILITY] | INSTRUCTION_FORMAT10t -> SIMPLE_NAME[$INSTRUCTION_FORMAT10t] | INSTRUCTION_FORMAT10x -> SIMPLE_NAME[$INSTRUCTION_FORMAT10x] | INSTRUCTION_FORMAT10x_ODEX -> SIMPLE_NAME[$INSTRUCTION_FORMAT10x_ODEX] | INSTRUCTION_FORMAT11x -> SIMPLE_NAME[$INSTRUCTION_FORMAT11x] | INSTRUCTION_FORMAT12x_OR_ID -> SIMPLE_NAME[$INSTRUCTION_FORMAT12x_OR_ID] | INSTRUCTION_FORMAT21c_FIELD -> SIMPLE_NAME[$INSTRUCTION_FORMAT21c_FIELD] | INSTRUCTION_FORMAT21c_FIELD_ODEX -> SIMPLE_NAME[$INSTRUCTION_FORMAT21c_FIELD_ODEX] | INSTRUCTION_FORMAT21c_STRING -> SIMPLE_NAME[$INSTRUCTION_FORMAT21c_STRING] | INSTRUCTION_FORMAT21c_TYPE -> SIMPLE_NAME[$INSTRUCTION_FORMAT21c_TYPE] | INSTRUCTION_FORMAT21t -> SIMPLE_NAME[$INSTRUCTION_FORMAT21t] | INSTRUCTION_FORMAT22c_FIELD -> SIMPLE_NAME[$INSTRUCTION_FORMAT22c_FIELD] | INSTRUCTION_FORMAT22c_FIELD_ODEX -> SIMPLE_NAME[$INSTRUCTION_FORMAT22c_FIELD_ODEX] | INSTRUCTION_FORMAT22c_TYPE -> SIMPLE_NAME[$INSTRUCTION_FORMAT22c_TYPE] | INSTRUCTION_FORMAT22cs_FIELD -> SIMPLE_NAME[$INSTRUCTION_FORMAT22cs_FIELD] | INSTRUCTION_FORMAT22s_OR_ID -> SIMPLE_NAME[$INSTRUCTION_FORMAT22s_OR_ID] | INSTRUCTION_FORMAT22t -> SIMPLE_NAME[$INSTRUCTION_FORMAT22t] | INSTRUCTION_FORMAT23x -> SIMPLE_NAME[$INSTRUCTION_FORMAT23x] | INSTRUCTION_FORMAT31i_OR_ID -> SIMPLE_NAME[$INSTRUCTION_FORMAT31i_OR_ID] | INSTRUCTION_FORMAT31t -> SIMPLE_NAME[$INSTRUCTION_FORMAT31t] | INSTRUCTION_FORMAT35c_METHOD -> SIMPLE_NAME[$INSTRUCTION_FORMAT35c_METHOD] | INSTRUCTION_FORMAT35c_METHOD_ODEX -> SIMPLE_NAME[$INSTRUCTION_FORMAT35c_METHOD_ODEX] | INSTRUCTION_FORMAT35c_TYPE -> SIMPLE_NAME[$INSTRUCTION_FORMAT35c_TYPE] | INSTRUCTION_FORMAT35mi_METHOD -> SIMPLE_NAME[$INSTRUCTION_FORMAT35mi_METHOD] | INSTRUCTION_FORMAT35ms_METHOD -> SIMPLE_NAME[$INSTRUCTION_FORMAT35ms_METHOD] | INSTRUCTION_FORMAT51l -> SIMPLE_NAME[$INSTRUCTION_FORMAT51l] )
-			int alt9=39;
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:541:3: ( SIMPLE_NAME | ACCESS_SPEC -> SIMPLE_NAME[$ACCESS_SPEC] | VERIFICATION_ERROR_TYPE -> SIMPLE_NAME[$VERIFICATION_ERROR_TYPE] | POSITIVE_INTEGER_LITERAL -> SIMPLE_NAME[$POSITIVE_INTEGER_LITERAL] | NEGATIVE_INTEGER_LITERAL -> SIMPLE_NAME[$NEGATIVE_INTEGER_LITERAL] | FLOAT_LITERAL_OR_ID -> SIMPLE_NAME[$FLOAT_LITERAL_OR_ID] | DOUBLE_LITERAL_OR_ID -> SIMPLE_NAME[$DOUBLE_LITERAL_OR_ID] | BOOL_LITERAL -> SIMPLE_NAME[$BOOL_LITERAL] | NULL_LITERAL -> SIMPLE_NAME[$NULL_LITERAL] | REGISTER -> SIMPLE_NAME[$REGISTER] | param_list_or_id ->| PRIMITIVE_TYPE -> SIMPLE_NAME[$PRIMITIVE_TYPE] | VOID_TYPE -> SIMPLE_NAME[$VOID_TYPE] | ANNOTATION_VISIBILITY -> SIMPLE_NAME[$ANNOTATION_VISIBILITY] | INSTRUCTION_FORMAT10t -> SIMPLE_NAME[$INSTRUCTION_FORMAT10t] | INSTRUCTION_FORMAT10x -> SIMPLE_NAME[$INSTRUCTION_FORMAT10x] | INSTRUCTION_FORMAT10x_ODEX -> SIMPLE_NAME[$INSTRUCTION_FORMAT10x_ODEX] | INSTRUCTION_FORMAT11x -> SIMPLE_NAME[$INSTRUCTION_FORMAT11x] | INSTRUCTION_FORMAT12x_OR_ID -> SIMPLE_NAME[$INSTRUCTION_FORMAT12x_OR_ID] | INSTRUCTION_FORMAT21c_FIELD -> SIMPLE_NAME[$INSTRUCTION_FORMAT21c_FIELD] | INSTRUCTION_FORMAT21c_FIELD_ODEX -> SIMPLE_NAME[$INSTRUCTION_FORMAT21c_FIELD_ODEX] | INSTRUCTION_FORMAT21c_STRING -> SIMPLE_NAME[$INSTRUCTION_FORMAT21c_STRING] | INSTRUCTION_FORMAT21c_TYPE -> SIMPLE_NAME[$INSTRUCTION_FORMAT21c_TYPE] | INSTRUCTION_FORMAT21t -> SIMPLE_NAME[$INSTRUCTION_FORMAT21t] | INSTRUCTION_FORMAT22c_FIELD -> SIMPLE_NAME[$INSTRUCTION_FORMAT22c_FIELD] | INSTRUCTION_FORMAT22c_FIELD_ODEX -> SIMPLE_NAME[$INSTRUCTION_FORMAT22c_FIELD_ODEX] | INSTRUCTION_FORMAT22c_TYPE -> SIMPLE_NAME[$INSTRUCTION_FORMAT22c_TYPE] | INSTRUCTION_FORMAT22cs_FIELD -> SIMPLE_NAME[$INSTRUCTION_FORMAT22cs_FIELD] | INSTRUCTION_FORMAT22s_OR_ID -> SIMPLE_NAME[$INSTRUCTION_FORMAT22s_OR_ID] | INSTRUCTION_FORMAT22t -> SIMPLE_NAME[$INSTRUCTION_FORMAT22t] | INSTRUCTION_FORMAT23x -> SIMPLE_NAME[$INSTRUCTION_FORMAT23x] | INSTRUCTION_FORMAT31i_OR_ID -> SIMPLE_NAME[$INSTRUCTION_FORMAT31i_OR_ID] | INSTRUCTION_FORMAT31t -> SIMPLE_NAME[$INSTRUCTION_FORMAT31t] | INSTRUCTION_FORMAT35c_METHOD -> SIMPLE_NAME[$INSTRUCTION_FORMAT35c_METHOD] | INSTRUCTION_FORMAT35c_METHOD_ODEX -> SIMPLE_NAME[$INSTRUCTION_FORMAT35c_METHOD_ODEX] | INSTRUCTION_FORMAT35c_TYPE -> SIMPLE_NAME[$INSTRUCTION_FORMAT35c_TYPE] | INSTRUCTION_FORMAT35mi_METHOD -> SIMPLE_NAME[$INSTRUCTION_FORMAT35mi_METHOD] | INSTRUCTION_FORMAT35ms_METHOD -> SIMPLE_NAME[$INSTRUCTION_FORMAT35ms_METHOD] | INSTRUCTION_FORMAT51l -> SIMPLE_NAME[$INSTRUCTION_FORMAT51l] )
+			int alt10=39;
 			switch ( input.LA(1) ) {
 			case SIMPLE_NAME:
 				{
-				alt9=1;
+				alt10=1;
 				}
 				break;
 			case ACCESS_SPEC:
 				{
-				alt9=2;
+				alt10=2;
 				}
 				break;
 			case VERIFICATION_ERROR_TYPE:
 				{
-				alt9=3;
+				alt10=3;
 				}
 				break;
 			case POSITIVE_INTEGER_LITERAL:
 				{
-				alt9=4;
+				alt10=4;
 				}
 				break;
 			case NEGATIVE_INTEGER_LITERAL:
 				{
-				alt9=5;
+				alt10=5;
 				}
 				break;
 			case FLOAT_LITERAL_OR_ID:
 				{
-				alt9=6;
+				alt10=6;
 				}
 				break;
 			case DOUBLE_LITERAL_OR_ID:
 				{
-				alt9=7;
+				alt10=7;
 				}
 				break;
 			case BOOL_LITERAL:
 				{
-				alt9=8;
+				alt10=8;
 				}
 				break;
 			case NULL_LITERAL:
 				{
-				alt9=9;
+				alt10=9;
 				}
 				break;
 			case REGISTER:
 				{
-				alt9=10;
+				alt10=10;
 				}
 				break;
-			case PARAM_LIST_OR_ID:
+			case PARAM_LIST_OR_ID_START:
 				{
-				alt9=11;
+				alt10=11;
 				}
 				break;
 			case PRIMITIVE_TYPE:
 				{
-				alt9=12;
+				alt10=12;
 				}
 				break;
 			case VOID_TYPE:
 				{
-				alt9=13;
+				alt10=13;
 				}
 				break;
 			case ANNOTATION_VISIBILITY:
 				{
-				alt9=14;
+				alt10=14;
 				}
 				break;
 			case INSTRUCTION_FORMAT10t:
 				{
-				alt9=15;
+				alt10=15;
 				}
 				break;
 			case INSTRUCTION_FORMAT10x:
 				{
-				alt9=16;
+				alt10=16;
 				}
 				break;
 			case INSTRUCTION_FORMAT10x_ODEX:
 				{
-				alt9=17;
+				alt10=17;
 				}
 				break;
 			case INSTRUCTION_FORMAT11x:
 				{
-				alt9=18;
+				alt10=18;
 				}
 				break;
 			case INSTRUCTION_FORMAT12x_OR_ID:
 				{
-				alt9=19;
+				alt10=19;
 				}
 				break;
 			case INSTRUCTION_FORMAT21c_FIELD:
 				{
-				alt9=20;
+				alt10=20;
 				}
 				break;
 			case INSTRUCTION_FORMAT21c_FIELD_ODEX:
 				{
-				alt9=21;
+				alt10=21;
 				}
 				break;
 			case INSTRUCTION_FORMAT21c_STRING:
 				{
-				alt9=22;
+				alt10=22;
 				}
 				break;
 			case INSTRUCTION_FORMAT21c_TYPE:
 				{
-				alt9=23;
+				alt10=23;
 				}
 				break;
 			case INSTRUCTION_FORMAT21t:
 				{
-				alt9=24;
+				alt10=24;
 				}
 				break;
 			case INSTRUCTION_FORMAT22c_FIELD:
 				{
-				alt9=25;
+				alt10=25;
 				}
 				break;
 			case INSTRUCTION_FORMAT22c_FIELD_ODEX:
 				{
-				alt9=26;
+				alt10=26;
 				}
 				break;
 			case INSTRUCTION_FORMAT22c_TYPE:
 				{
-				alt9=27;
+				alt10=27;
 				}
 				break;
 			case INSTRUCTION_FORMAT22cs_FIELD:
 				{
-				alt9=28;
+				alt10=28;
 				}
 				break;
 			case INSTRUCTION_FORMAT22s_OR_ID:
 				{
-				alt9=29;
+				alt10=29;
 				}
 				break;
 			case INSTRUCTION_FORMAT22t:
 				{
-				alt9=30;
+				alt10=30;
 				}
 				break;
 			case INSTRUCTION_FORMAT23x:
 				{
-				alt9=31;
+				alt10=31;
 				}
 				break;
 			case INSTRUCTION_FORMAT31i_OR_ID:
 				{
-				alt9=32;
+				alt10=32;
 				}
 				break;
 			case INSTRUCTION_FORMAT31t:
 				{
-				alt9=33;
+				alt10=33;
 				}
 				break;
 			case INSTRUCTION_FORMAT35c_METHOD:
 				{
-				alt9=34;
+				alt10=34;
 				}
 				break;
 			case INSTRUCTION_FORMAT35c_METHOD_ODEX:
 				{
-				alt9=35;
+				alt10=35;
 				}
 				break;
 			case INSTRUCTION_FORMAT35c_TYPE:
 				{
-				alt9=36;
+				alt10=36;
 				}
 				break;
 			case INSTRUCTION_FORMAT35mi_METHOD:
 				{
-				alt9=37;
+				alt10=37;
 				}
 				break;
 			case INSTRUCTION_FORMAT35ms_METHOD:
 				{
-				alt9=38;
+				alt10=38;
 				}
 				break;
 			case INSTRUCTION_FORMAT51l:
 				{
-				alt9=39;
+				alt10=39;
 				}
 				break;
 			default:
 				NoViableAltException nvae =
-					new NoViableAltException("", 9, 0, input);
+					new NoViableAltException("", 10, 0, input);
 				throw nvae;
 			}
-			switch (alt9) {
+			switch (alt10) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:553:5: SIMPLE_NAME
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:541:5: SIMPLE_NAME
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					SIMPLE_NAME43=(Token)match(input,SIMPLE_NAME,FOLLOW_SIMPLE_NAME_in_simple_name1836); 
-					SIMPLE_NAME43_tree = (CommonTree)adaptor.create(SIMPLE_NAME43);
-					adaptor.addChild(root_0, SIMPLE_NAME43_tree);
+					SIMPLE_NAME46=(Token)match(input,SIMPLE_NAME,FOLLOW_SIMPLE_NAME_in_simple_name1776);
+					SIMPLE_NAME46_tree = (CommonTree)adaptor.create(SIMPLE_NAME46);
+					adaptor.addChild(root_0, SIMPLE_NAME46_tree);
 
 					}
 					break;
 				case 2 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:554:5: ACCESS_SPEC
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:542:5: ACCESS_SPEC
 					{
-					ACCESS_SPEC44=(Token)match(input,ACCESS_SPEC,FOLLOW_ACCESS_SPEC_in_simple_name1842);  
-					stream_ACCESS_SPEC.add(ACCESS_SPEC44);
+					ACCESS_SPEC47=(Token)match(input,ACCESS_SPEC,FOLLOW_ACCESS_SPEC_in_simple_name1782);
+					stream_ACCESS_SPEC.add(ACCESS_SPEC47);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 554:17: -> SIMPLE_NAME[$ACCESS_SPEC]
+					// 542:17: -> SIMPLE_NAME[$ACCESS_SPEC]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, ACCESS_SPEC44));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, ACCESS_SPEC47));
 					}
 
 
@@ -2587,25 +2655,25 @@
 					}
 					break;
 				case 3 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:555:5: VERIFICATION_ERROR_TYPE
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:543:5: VERIFICATION_ERROR_TYPE
 					{
-					VERIFICATION_ERROR_TYPE45=(Token)match(input,VERIFICATION_ERROR_TYPE,FOLLOW_VERIFICATION_ERROR_TYPE_in_simple_name1853);  
-					stream_VERIFICATION_ERROR_TYPE.add(VERIFICATION_ERROR_TYPE45);
+					VERIFICATION_ERROR_TYPE48=(Token)match(input,VERIFICATION_ERROR_TYPE,FOLLOW_VERIFICATION_ERROR_TYPE_in_simple_name1793);
+					stream_VERIFICATION_ERROR_TYPE.add(VERIFICATION_ERROR_TYPE48);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 555:29: -> SIMPLE_NAME[$VERIFICATION_ERROR_TYPE]
+					// 543:29: -> SIMPLE_NAME[$VERIFICATION_ERROR_TYPE]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, VERIFICATION_ERROR_TYPE45));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, VERIFICATION_ERROR_TYPE48));
 					}
 
 
@@ -2614,25 +2682,25 @@
 					}
 					break;
 				case 4 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:556:5: POSITIVE_INTEGER_LITERAL
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:544:5: POSITIVE_INTEGER_LITERAL
 					{
-					POSITIVE_INTEGER_LITERAL46=(Token)match(input,POSITIVE_INTEGER_LITERAL,FOLLOW_POSITIVE_INTEGER_LITERAL_in_simple_name1864);  
-					stream_POSITIVE_INTEGER_LITERAL.add(POSITIVE_INTEGER_LITERAL46);
+					POSITIVE_INTEGER_LITERAL49=(Token)match(input,POSITIVE_INTEGER_LITERAL,FOLLOW_POSITIVE_INTEGER_LITERAL_in_simple_name1804);
+					stream_POSITIVE_INTEGER_LITERAL.add(POSITIVE_INTEGER_LITERAL49);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 556:30: -> SIMPLE_NAME[$POSITIVE_INTEGER_LITERAL]
+					// 544:30: -> SIMPLE_NAME[$POSITIVE_INTEGER_LITERAL]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, POSITIVE_INTEGER_LITERAL46));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, POSITIVE_INTEGER_LITERAL49));
 					}
 
 
@@ -2641,25 +2709,25 @@
 					}
 					break;
 				case 5 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:557:5: NEGATIVE_INTEGER_LITERAL
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:545:5: NEGATIVE_INTEGER_LITERAL
 					{
-					NEGATIVE_INTEGER_LITERAL47=(Token)match(input,NEGATIVE_INTEGER_LITERAL,FOLLOW_NEGATIVE_INTEGER_LITERAL_in_simple_name1875);  
-					stream_NEGATIVE_INTEGER_LITERAL.add(NEGATIVE_INTEGER_LITERAL47);
+					NEGATIVE_INTEGER_LITERAL50=(Token)match(input,NEGATIVE_INTEGER_LITERAL,FOLLOW_NEGATIVE_INTEGER_LITERAL_in_simple_name1815);
+					stream_NEGATIVE_INTEGER_LITERAL.add(NEGATIVE_INTEGER_LITERAL50);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 557:30: -> SIMPLE_NAME[$NEGATIVE_INTEGER_LITERAL]
+					// 545:30: -> SIMPLE_NAME[$NEGATIVE_INTEGER_LITERAL]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, NEGATIVE_INTEGER_LITERAL47));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, NEGATIVE_INTEGER_LITERAL50));
 					}
 
 
@@ -2668,25 +2736,25 @@
 					}
 					break;
 				case 6 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:558:5: FLOAT_LITERAL_OR_ID
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:546:5: FLOAT_LITERAL_OR_ID
 					{
-					FLOAT_LITERAL_OR_ID48=(Token)match(input,FLOAT_LITERAL_OR_ID,FOLLOW_FLOAT_LITERAL_OR_ID_in_simple_name1886);  
-					stream_FLOAT_LITERAL_OR_ID.add(FLOAT_LITERAL_OR_ID48);
+					FLOAT_LITERAL_OR_ID51=(Token)match(input,FLOAT_LITERAL_OR_ID,FOLLOW_FLOAT_LITERAL_OR_ID_in_simple_name1826);
+					stream_FLOAT_LITERAL_OR_ID.add(FLOAT_LITERAL_OR_ID51);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 558:25: -> SIMPLE_NAME[$FLOAT_LITERAL_OR_ID]
+					// 546:25: -> SIMPLE_NAME[$FLOAT_LITERAL_OR_ID]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, FLOAT_LITERAL_OR_ID48));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, FLOAT_LITERAL_OR_ID51));
 					}
 
 
@@ -2695,25 +2763,25 @@
 					}
 					break;
 				case 7 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:559:5: DOUBLE_LITERAL_OR_ID
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:547:5: DOUBLE_LITERAL_OR_ID
 					{
-					DOUBLE_LITERAL_OR_ID49=(Token)match(input,DOUBLE_LITERAL_OR_ID,FOLLOW_DOUBLE_LITERAL_OR_ID_in_simple_name1897);  
-					stream_DOUBLE_LITERAL_OR_ID.add(DOUBLE_LITERAL_OR_ID49);
+					DOUBLE_LITERAL_OR_ID52=(Token)match(input,DOUBLE_LITERAL_OR_ID,FOLLOW_DOUBLE_LITERAL_OR_ID_in_simple_name1837);
+					stream_DOUBLE_LITERAL_OR_ID.add(DOUBLE_LITERAL_OR_ID52);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 559:26: -> SIMPLE_NAME[$DOUBLE_LITERAL_OR_ID]
+					// 547:26: -> SIMPLE_NAME[$DOUBLE_LITERAL_OR_ID]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, DOUBLE_LITERAL_OR_ID49));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, DOUBLE_LITERAL_OR_ID52));
 					}
 
 
@@ -2722,25 +2790,25 @@
 					}
 					break;
 				case 8 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:560:5: BOOL_LITERAL
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:548:5: BOOL_LITERAL
 					{
-					BOOL_LITERAL50=(Token)match(input,BOOL_LITERAL,FOLLOW_BOOL_LITERAL_in_simple_name1908);  
-					stream_BOOL_LITERAL.add(BOOL_LITERAL50);
+					BOOL_LITERAL53=(Token)match(input,BOOL_LITERAL,FOLLOW_BOOL_LITERAL_in_simple_name1848);
+					stream_BOOL_LITERAL.add(BOOL_LITERAL53);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 560:18: -> SIMPLE_NAME[$BOOL_LITERAL]
+					// 548:18: -> SIMPLE_NAME[$BOOL_LITERAL]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, BOOL_LITERAL50));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, BOOL_LITERAL53));
 					}
 
 
@@ -2749,25 +2817,25 @@
 					}
 					break;
 				case 9 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:561:5: NULL_LITERAL
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:549:5: NULL_LITERAL
 					{
-					NULL_LITERAL51=(Token)match(input,NULL_LITERAL,FOLLOW_NULL_LITERAL_in_simple_name1919);  
-					stream_NULL_LITERAL.add(NULL_LITERAL51);
+					NULL_LITERAL54=(Token)match(input,NULL_LITERAL,FOLLOW_NULL_LITERAL_in_simple_name1859);
+					stream_NULL_LITERAL.add(NULL_LITERAL54);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 561:18: -> SIMPLE_NAME[$NULL_LITERAL]
+					// 549:18: -> SIMPLE_NAME[$NULL_LITERAL]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, NULL_LITERAL51));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, NULL_LITERAL54));
 					}
 
 
@@ -2776,25 +2844,25 @@
 					}
 					break;
 				case 10 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:562:5: REGISTER
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:550:5: REGISTER
 					{
-					REGISTER52=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_simple_name1930);  
-					stream_REGISTER.add(REGISTER52);
+					REGISTER55=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_simple_name1870);
+					stream_REGISTER.add(REGISTER55);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 562:14: -> SIMPLE_NAME[$REGISTER]
+					// 550:14: -> SIMPLE_NAME[$REGISTER]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, REGISTER52));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, REGISTER55));
 					}
 
 
@@ -2803,25 +2871,27 @@
 					}
 					break;
 				case 11 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:563:5: PARAM_LIST_OR_ID
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:551:5: param_list_or_id
 					{
-					PARAM_LIST_OR_ID53=(Token)match(input,PARAM_LIST_OR_ID,FOLLOW_PARAM_LIST_OR_ID_in_simple_name1941);  
-					stream_PARAM_LIST_OR_ID.add(PARAM_LIST_OR_ID53);
+					pushFollow(FOLLOW_param_list_or_id_in_simple_name1881);
+					param_list_or_id56=param_list_or_id();
+					state._fsp--;
 
+					stream_param_list_or_id.add(param_list_or_id56.getTree());
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 563:22: -> SIMPLE_NAME[$PARAM_LIST_OR_ID]
+					// 551:22: ->
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, PARAM_LIST_OR_ID53));
+						adaptor.addChild(root_0,  adaptor.create(SIMPLE_NAME, (param_list_or_id56!=null?input.toString(param_list_or_id56.start,param_list_or_id56.stop):null)) );
 					}
 
 
@@ -2830,25 +2900,25 @@
 					}
 					break;
 				case 12 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:564:5: PRIMITIVE_TYPE
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:552:5: PRIMITIVE_TYPE
 					{
-					PRIMITIVE_TYPE54=(Token)match(input,PRIMITIVE_TYPE,FOLLOW_PRIMITIVE_TYPE_in_simple_name1952);  
-					stream_PRIMITIVE_TYPE.add(PRIMITIVE_TYPE54);
+					PRIMITIVE_TYPE57=(Token)match(input,PRIMITIVE_TYPE,FOLLOW_PRIMITIVE_TYPE_in_simple_name1891);
+					stream_PRIMITIVE_TYPE.add(PRIMITIVE_TYPE57);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 564:20: -> SIMPLE_NAME[$PRIMITIVE_TYPE]
+					// 552:20: -> SIMPLE_NAME[$PRIMITIVE_TYPE]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, PRIMITIVE_TYPE54));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, PRIMITIVE_TYPE57));
 					}
 
 
@@ -2857,25 +2927,25 @@
 					}
 					break;
 				case 13 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:565:5: VOID_TYPE
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:553:5: VOID_TYPE
 					{
-					VOID_TYPE55=(Token)match(input,VOID_TYPE,FOLLOW_VOID_TYPE_in_simple_name1963);  
-					stream_VOID_TYPE.add(VOID_TYPE55);
+					VOID_TYPE58=(Token)match(input,VOID_TYPE,FOLLOW_VOID_TYPE_in_simple_name1902);
+					stream_VOID_TYPE.add(VOID_TYPE58);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 565:15: -> SIMPLE_NAME[$VOID_TYPE]
+					// 553:15: -> SIMPLE_NAME[$VOID_TYPE]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, VOID_TYPE55));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, VOID_TYPE58));
 					}
 
 
@@ -2884,25 +2954,25 @@
 					}
 					break;
 				case 14 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:566:5: ANNOTATION_VISIBILITY
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:554:5: ANNOTATION_VISIBILITY
 					{
-					ANNOTATION_VISIBILITY56=(Token)match(input,ANNOTATION_VISIBILITY,FOLLOW_ANNOTATION_VISIBILITY_in_simple_name1974);  
-					stream_ANNOTATION_VISIBILITY.add(ANNOTATION_VISIBILITY56);
+					ANNOTATION_VISIBILITY59=(Token)match(input,ANNOTATION_VISIBILITY,FOLLOW_ANNOTATION_VISIBILITY_in_simple_name1913);
+					stream_ANNOTATION_VISIBILITY.add(ANNOTATION_VISIBILITY59);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 566:27: -> SIMPLE_NAME[$ANNOTATION_VISIBILITY]
+					// 554:27: -> SIMPLE_NAME[$ANNOTATION_VISIBILITY]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, ANNOTATION_VISIBILITY56));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, ANNOTATION_VISIBILITY59));
 					}
 
 
@@ -2911,25 +2981,25 @@
 					}
 					break;
 				case 15 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:567:5: INSTRUCTION_FORMAT10t
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:555:5: INSTRUCTION_FORMAT10t
 					{
-					INSTRUCTION_FORMAT10t57=(Token)match(input,INSTRUCTION_FORMAT10t,FOLLOW_INSTRUCTION_FORMAT10t_in_simple_name1985);  
-					stream_INSTRUCTION_FORMAT10t.add(INSTRUCTION_FORMAT10t57);
+					INSTRUCTION_FORMAT10t60=(Token)match(input,INSTRUCTION_FORMAT10t,FOLLOW_INSTRUCTION_FORMAT10t_in_simple_name1924);
+					stream_INSTRUCTION_FORMAT10t.add(INSTRUCTION_FORMAT10t60);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 567:27: -> SIMPLE_NAME[$INSTRUCTION_FORMAT10t]
+					// 555:27: -> SIMPLE_NAME[$INSTRUCTION_FORMAT10t]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT10t57));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT10t60));
 					}
 
 
@@ -2938,25 +3008,25 @@
 					}
 					break;
 				case 16 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:568:5: INSTRUCTION_FORMAT10x
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:556:5: INSTRUCTION_FORMAT10x
 					{
-					INSTRUCTION_FORMAT10x58=(Token)match(input,INSTRUCTION_FORMAT10x,FOLLOW_INSTRUCTION_FORMAT10x_in_simple_name1996);  
-					stream_INSTRUCTION_FORMAT10x.add(INSTRUCTION_FORMAT10x58);
+					INSTRUCTION_FORMAT10x61=(Token)match(input,INSTRUCTION_FORMAT10x,FOLLOW_INSTRUCTION_FORMAT10x_in_simple_name1935);
+					stream_INSTRUCTION_FORMAT10x.add(INSTRUCTION_FORMAT10x61);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 568:27: -> SIMPLE_NAME[$INSTRUCTION_FORMAT10x]
+					// 556:27: -> SIMPLE_NAME[$INSTRUCTION_FORMAT10x]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT10x58));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT10x61));
 					}
 
 
@@ -2965,25 +3035,25 @@
 					}
 					break;
 				case 17 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:569:5: INSTRUCTION_FORMAT10x_ODEX
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:557:5: INSTRUCTION_FORMAT10x_ODEX
 					{
-					INSTRUCTION_FORMAT10x_ODEX59=(Token)match(input,INSTRUCTION_FORMAT10x_ODEX,FOLLOW_INSTRUCTION_FORMAT10x_ODEX_in_simple_name2007);  
-					stream_INSTRUCTION_FORMAT10x_ODEX.add(INSTRUCTION_FORMAT10x_ODEX59);
+					INSTRUCTION_FORMAT10x_ODEX62=(Token)match(input,INSTRUCTION_FORMAT10x_ODEX,FOLLOW_INSTRUCTION_FORMAT10x_ODEX_in_simple_name1946);
+					stream_INSTRUCTION_FORMAT10x_ODEX.add(INSTRUCTION_FORMAT10x_ODEX62);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 569:32: -> SIMPLE_NAME[$INSTRUCTION_FORMAT10x_ODEX]
+					// 557:32: -> SIMPLE_NAME[$INSTRUCTION_FORMAT10x_ODEX]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT10x_ODEX59));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT10x_ODEX62));
 					}
 
 
@@ -2992,25 +3062,25 @@
 					}
 					break;
 				case 18 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:570:5: INSTRUCTION_FORMAT11x
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:558:5: INSTRUCTION_FORMAT11x
 					{
-					INSTRUCTION_FORMAT11x60=(Token)match(input,INSTRUCTION_FORMAT11x,FOLLOW_INSTRUCTION_FORMAT11x_in_simple_name2018);  
-					stream_INSTRUCTION_FORMAT11x.add(INSTRUCTION_FORMAT11x60);
+					INSTRUCTION_FORMAT11x63=(Token)match(input,INSTRUCTION_FORMAT11x,FOLLOW_INSTRUCTION_FORMAT11x_in_simple_name1957);
+					stream_INSTRUCTION_FORMAT11x.add(INSTRUCTION_FORMAT11x63);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 570:27: -> SIMPLE_NAME[$INSTRUCTION_FORMAT11x]
+					// 558:27: -> SIMPLE_NAME[$INSTRUCTION_FORMAT11x]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT11x60));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT11x63));
 					}
 
 
@@ -3019,25 +3089,25 @@
 					}
 					break;
 				case 19 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:571:5: INSTRUCTION_FORMAT12x_OR_ID
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:559:5: INSTRUCTION_FORMAT12x_OR_ID
 					{
-					INSTRUCTION_FORMAT12x_OR_ID61=(Token)match(input,INSTRUCTION_FORMAT12x_OR_ID,FOLLOW_INSTRUCTION_FORMAT12x_OR_ID_in_simple_name2029);  
-					stream_INSTRUCTION_FORMAT12x_OR_ID.add(INSTRUCTION_FORMAT12x_OR_ID61);
+					INSTRUCTION_FORMAT12x_OR_ID64=(Token)match(input,INSTRUCTION_FORMAT12x_OR_ID,FOLLOW_INSTRUCTION_FORMAT12x_OR_ID_in_simple_name1968);
+					stream_INSTRUCTION_FORMAT12x_OR_ID.add(INSTRUCTION_FORMAT12x_OR_ID64);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 571:33: -> SIMPLE_NAME[$INSTRUCTION_FORMAT12x_OR_ID]
+					// 559:33: -> SIMPLE_NAME[$INSTRUCTION_FORMAT12x_OR_ID]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT12x_OR_ID61));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT12x_OR_ID64));
 					}
 
 
@@ -3046,25 +3116,25 @@
 					}
 					break;
 				case 20 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:572:5: INSTRUCTION_FORMAT21c_FIELD
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:560:5: INSTRUCTION_FORMAT21c_FIELD
 					{
-					INSTRUCTION_FORMAT21c_FIELD62=(Token)match(input,INSTRUCTION_FORMAT21c_FIELD,FOLLOW_INSTRUCTION_FORMAT21c_FIELD_in_simple_name2040);  
-					stream_INSTRUCTION_FORMAT21c_FIELD.add(INSTRUCTION_FORMAT21c_FIELD62);
+					INSTRUCTION_FORMAT21c_FIELD65=(Token)match(input,INSTRUCTION_FORMAT21c_FIELD,FOLLOW_INSTRUCTION_FORMAT21c_FIELD_in_simple_name1979);
+					stream_INSTRUCTION_FORMAT21c_FIELD.add(INSTRUCTION_FORMAT21c_FIELD65);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 572:33: -> SIMPLE_NAME[$INSTRUCTION_FORMAT21c_FIELD]
+					// 560:33: -> SIMPLE_NAME[$INSTRUCTION_FORMAT21c_FIELD]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT21c_FIELD62));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT21c_FIELD65));
 					}
 
 
@@ -3073,25 +3143,25 @@
 					}
 					break;
 				case 21 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:573:5: INSTRUCTION_FORMAT21c_FIELD_ODEX
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:561:5: INSTRUCTION_FORMAT21c_FIELD_ODEX
 					{
-					INSTRUCTION_FORMAT21c_FIELD_ODEX63=(Token)match(input,INSTRUCTION_FORMAT21c_FIELD_ODEX,FOLLOW_INSTRUCTION_FORMAT21c_FIELD_ODEX_in_simple_name2051);  
-					stream_INSTRUCTION_FORMAT21c_FIELD_ODEX.add(INSTRUCTION_FORMAT21c_FIELD_ODEX63);
+					INSTRUCTION_FORMAT21c_FIELD_ODEX66=(Token)match(input,INSTRUCTION_FORMAT21c_FIELD_ODEX,FOLLOW_INSTRUCTION_FORMAT21c_FIELD_ODEX_in_simple_name1990);
+					stream_INSTRUCTION_FORMAT21c_FIELD_ODEX.add(INSTRUCTION_FORMAT21c_FIELD_ODEX66);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 573:38: -> SIMPLE_NAME[$INSTRUCTION_FORMAT21c_FIELD_ODEX]
+					// 561:38: -> SIMPLE_NAME[$INSTRUCTION_FORMAT21c_FIELD_ODEX]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT21c_FIELD_ODEX63));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT21c_FIELD_ODEX66));
 					}
 
 
@@ -3100,25 +3170,25 @@
 					}
 					break;
 				case 22 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:574:5: INSTRUCTION_FORMAT21c_STRING
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:562:5: INSTRUCTION_FORMAT21c_STRING
 					{
-					INSTRUCTION_FORMAT21c_STRING64=(Token)match(input,INSTRUCTION_FORMAT21c_STRING,FOLLOW_INSTRUCTION_FORMAT21c_STRING_in_simple_name2062);  
-					stream_INSTRUCTION_FORMAT21c_STRING.add(INSTRUCTION_FORMAT21c_STRING64);
+					INSTRUCTION_FORMAT21c_STRING67=(Token)match(input,INSTRUCTION_FORMAT21c_STRING,FOLLOW_INSTRUCTION_FORMAT21c_STRING_in_simple_name2001);
+					stream_INSTRUCTION_FORMAT21c_STRING.add(INSTRUCTION_FORMAT21c_STRING67);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 574:34: -> SIMPLE_NAME[$INSTRUCTION_FORMAT21c_STRING]
+					// 562:34: -> SIMPLE_NAME[$INSTRUCTION_FORMAT21c_STRING]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT21c_STRING64));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT21c_STRING67));
 					}
 
 
@@ -3127,25 +3197,25 @@
 					}
 					break;
 				case 23 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:575:5: INSTRUCTION_FORMAT21c_TYPE
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:563:5: INSTRUCTION_FORMAT21c_TYPE
 					{
-					INSTRUCTION_FORMAT21c_TYPE65=(Token)match(input,INSTRUCTION_FORMAT21c_TYPE,FOLLOW_INSTRUCTION_FORMAT21c_TYPE_in_simple_name2073);  
-					stream_INSTRUCTION_FORMAT21c_TYPE.add(INSTRUCTION_FORMAT21c_TYPE65);
+					INSTRUCTION_FORMAT21c_TYPE68=(Token)match(input,INSTRUCTION_FORMAT21c_TYPE,FOLLOW_INSTRUCTION_FORMAT21c_TYPE_in_simple_name2012);
+					stream_INSTRUCTION_FORMAT21c_TYPE.add(INSTRUCTION_FORMAT21c_TYPE68);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 575:32: -> SIMPLE_NAME[$INSTRUCTION_FORMAT21c_TYPE]
+					// 563:32: -> SIMPLE_NAME[$INSTRUCTION_FORMAT21c_TYPE]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT21c_TYPE65));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT21c_TYPE68));
 					}
 
 
@@ -3154,25 +3224,25 @@
 					}
 					break;
 				case 24 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:576:5: INSTRUCTION_FORMAT21t
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:564:5: INSTRUCTION_FORMAT21t
 					{
-					INSTRUCTION_FORMAT21t66=(Token)match(input,INSTRUCTION_FORMAT21t,FOLLOW_INSTRUCTION_FORMAT21t_in_simple_name2084);  
-					stream_INSTRUCTION_FORMAT21t.add(INSTRUCTION_FORMAT21t66);
+					INSTRUCTION_FORMAT21t69=(Token)match(input,INSTRUCTION_FORMAT21t,FOLLOW_INSTRUCTION_FORMAT21t_in_simple_name2023);
+					stream_INSTRUCTION_FORMAT21t.add(INSTRUCTION_FORMAT21t69);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 576:27: -> SIMPLE_NAME[$INSTRUCTION_FORMAT21t]
+					// 564:27: -> SIMPLE_NAME[$INSTRUCTION_FORMAT21t]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT21t66));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT21t69));
 					}
 
 
@@ -3181,25 +3251,25 @@
 					}
 					break;
 				case 25 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:577:5: INSTRUCTION_FORMAT22c_FIELD
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:565:5: INSTRUCTION_FORMAT22c_FIELD
 					{
-					INSTRUCTION_FORMAT22c_FIELD67=(Token)match(input,INSTRUCTION_FORMAT22c_FIELD,FOLLOW_INSTRUCTION_FORMAT22c_FIELD_in_simple_name2095);  
-					stream_INSTRUCTION_FORMAT22c_FIELD.add(INSTRUCTION_FORMAT22c_FIELD67);
+					INSTRUCTION_FORMAT22c_FIELD70=(Token)match(input,INSTRUCTION_FORMAT22c_FIELD,FOLLOW_INSTRUCTION_FORMAT22c_FIELD_in_simple_name2034);
+					stream_INSTRUCTION_FORMAT22c_FIELD.add(INSTRUCTION_FORMAT22c_FIELD70);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 577:33: -> SIMPLE_NAME[$INSTRUCTION_FORMAT22c_FIELD]
+					// 565:33: -> SIMPLE_NAME[$INSTRUCTION_FORMAT22c_FIELD]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT22c_FIELD67));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT22c_FIELD70));
 					}
 
 
@@ -3208,25 +3278,25 @@
 					}
 					break;
 				case 26 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:578:5: INSTRUCTION_FORMAT22c_FIELD_ODEX
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:566:5: INSTRUCTION_FORMAT22c_FIELD_ODEX
 					{
-					INSTRUCTION_FORMAT22c_FIELD_ODEX68=(Token)match(input,INSTRUCTION_FORMAT22c_FIELD_ODEX,FOLLOW_INSTRUCTION_FORMAT22c_FIELD_ODEX_in_simple_name2106);  
-					stream_INSTRUCTION_FORMAT22c_FIELD_ODEX.add(INSTRUCTION_FORMAT22c_FIELD_ODEX68);
+					INSTRUCTION_FORMAT22c_FIELD_ODEX71=(Token)match(input,INSTRUCTION_FORMAT22c_FIELD_ODEX,FOLLOW_INSTRUCTION_FORMAT22c_FIELD_ODEX_in_simple_name2045);
+					stream_INSTRUCTION_FORMAT22c_FIELD_ODEX.add(INSTRUCTION_FORMAT22c_FIELD_ODEX71);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 578:38: -> SIMPLE_NAME[$INSTRUCTION_FORMAT22c_FIELD_ODEX]
+					// 566:38: -> SIMPLE_NAME[$INSTRUCTION_FORMAT22c_FIELD_ODEX]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT22c_FIELD_ODEX68));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT22c_FIELD_ODEX71));
 					}
 
 
@@ -3235,25 +3305,25 @@
 					}
 					break;
 				case 27 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:579:5: INSTRUCTION_FORMAT22c_TYPE
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:567:5: INSTRUCTION_FORMAT22c_TYPE
 					{
-					INSTRUCTION_FORMAT22c_TYPE69=(Token)match(input,INSTRUCTION_FORMAT22c_TYPE,FOLLOW_INSTRUCTION_FORMAT22c_TYPE_in_simple_name2117);  
-					stream_INSTRUCTION_FORMAT22c_TYPE.add(INSTRUCTION_FORMAT22c_TYPE69);
+					INSTRUCTION_FORMAT22c_TYPE72=(Token)match(input,INSTRUCTION_FORMAT22c_TYPE,FOLLOW_INSTRUCTION_FORMAT22c_TYPE_in_simple_name2056);
+					stream_INSTRUCTION_FORMAT22c_TYPE.add(INSTRUCTION_FORMAT22c_TYPE72);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 579:32: -> SIMPLE_NAME[$INSTRUCTION_FORMAT22c_TYPE]
+					// 567:32: -> SIMPLE_NAME[$INSTRUCTION_FORMAT22c_TYPE]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT22c_TYPE69));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT22c_TYPE72));
 					}
 
 
@@ -3262,25 +3332,25 @@
 					}
 					break;
 				case 28 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:580:5: INSTRUCTION_FORMAT22cs_FIELD
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:568:5: INSTRUCTION_FORMAT22cs_FIELD
 					{
-					INSTRUCTION_FORMAT22cs_FIELD70=(Token)match(input,INSTRUCTION_FORMAT22cs_FIELD,FOLLOW_INSTRUCTION_FORMAT22cs_FIELD_in_simple_name2128);  
-					stream_INSTRUCTION_FORMAT22cs_FIELD.add(INSTRUCTION_FORMAT22cs_FIELD70);
+					INSTRUCTION_FORMAT22cs_FIELD73=(Token)match(input,INSTRUCTION_FORMAT22cs_FIELD,FOLLOW_INSTRUCTION_FORMAT22cs_FIELD_in_simple_name2067);
+					stream_INSTRUCTION_FORMAT22cs_FIELD.add(INSTRUCTION_FORMAT22cs_FIELD73);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 580:34: -> SIMPLE_NAME[$INSTRUCTION_FORMAT22cs_FIELD]
+					// 568:34: -> SIMPLE_NAME[$INSTRUCTION_FORMAT22cs_FIELD]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT22cs_FIELD70));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT22cs_FIELD73));
 					}
 
 
@@ -3289,25 +3359,25 @@
 					}
 					break;
 				case 29 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:581:5: INSTRUCTION_FORMAT22s_OR_ID
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:569:5: INSTRUCTION_FORMAT22s_OR_ID
 					{
-					INSTRUCTION_FORMAT22s_OR_ID71=(Token)match(input,INSTRUCTION_FORMAT22s_OR_ID,FOLLOW_INSTRUCTION_FORMAT22s_OR_ID_in_simple_name2139);  
-					stream_INSTRUCTION_FORMAT22s_OR_ID.add(INSTRUCTION_FORMAT22s_OR_ID71);
+					INSTRUCTION_FORMAT22s_OR_ID74=(Token)match(input,INSTRUCTION_FORMAT22s_OR_ID,FOLLOW_INSTRUCTION_FORMAT22s_OR_ID_in_simple_name2078);
+					stream_INSTRUCTION_FORMAT22s_OR_ID.add(INSTRUCTION_FORMAT22s_OR_ID74);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 581:33: -> SIMPLE_NAME[$INSTRUCTION_FORMAT22s_OR_ID]
+					// 569:33: -> SIMPLE_NAME[$INSTRUCTION_FORMAT22s_OR_ID]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT22s_OR_ID71));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT22s_OR_ID74));
 					}
 
 
@@ -3316,25 +3386,25 @@
 					}
 					break;
 				case 30 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:582:5: INSTRUCTION_FORMAT22t
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:570:5: INSTRUCTION_FORMAT22t
 					{
-					INSTRUCTION_FORMAT22t72=(Token)match(input,INSTRUCTION_FORMAT22t,FOLLOW_INSTRUCTION_FORMAT22t_in_simple_name2150);  
-					stream_INSTRUCTION_FORMAT22t.add(INSTRUCTION_FORMAT22t72);
+					INSTRUCTION_FORMAT22t75=(Token)match(input,INSTRUCTION_FORMAT22t,FOLLOW_INSTRUCTION_FORMAT22t_in_simple_name2089);
+					stream_INSTRUCTION_FORMAT22t.add(INSTRUCTION_FORMAT22t75);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 582:27: -> SIMPLE_NAME[$INSTRUCTION_FORMAT22t]
+					// 570:27: -> SIMPLE_NAME[$INSTRUCTION_FORMAT22t]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT22t72));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT22t75));
 					}
 
 
@@ -3343,25 +3413,25 @@
 					}
 					break;
 				case 31 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:583:5: INSTRUCTION_FORMAT23x
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:571:5: INSTRUCTION_FORMAT23x
 					{
-					INSTRUCTION_FORMAT23x73=(Token)match(input,INSTRUCTION_FORMAT23x,FOLLOW_INSTRUCTION_FORMAT23x_in_simple_name2161);  
-					stream_INSTRUCTION_FORMAT23x.add(INSTRUCTION_FORMAT23x73);
+					INSTRUCTION_FORMAT23x76=(Token)match(input,INSTRUCTION_FORMAT23x,FOLLOW_INSTRUCTION_FORMAT23x_in_simple_name2100);
+					stream_INSTRUCTION_FORMAT23x.add(INSTRUCTION_FORMAT23x76);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 583:27: -> SIMPLE_NAME[$INSTRUCTION_FORMAT23x]
+					// 571:27: -> SIMPLE_NAME[$INSTRUCTION_FORMAT23x]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT23x73));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT23x76));
 					}
 
 
@@ -3370,25 +3440,25 @@
 					}
 					break;
 				case 32 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:584:5: INSTRUCTION_FORMAT31i_OR_ID
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:572:5: INSTRUCTION_FORMAT31i_OR_ID
 					{
-					INSTRUCTION_FORMAT31i_OR_ID74=(Token)match(input,INSTRUCTION_FORMAT31i_OR_ID,FOLLOW_INSTRUCTION_FORMAT31i_OR_ID_in_simple_name2172);  
-					stream_INSTRUCTION_FORMAT31i_OR_ID.add(INSTRUCTION_FORMAT31i_OR_ID74);
+					INSTRUCTION_FORMAT31i_OR_ID77=(Token)match(input,INSTRUCTION_FORMAT31i_OR_ID,FOLLOW_INSTRUCTION_FORMAT31i_OR_ID_in_simple_name2111);
+					stream_INSTRUCTION_FORMAT31i_OR_ID.add(INSTRUCTION_FORMAT31i_OR_ID77);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 584:33: -> SIMPLE_NAME[$INSTRUCTION_FORMAT31i_OR_ID]
+					// 572:33: -> SIMPLE_NAME[$INSTRUCTION_FORMAT31i_OR_ID]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT31i_OR_ID74));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT31i_OR_ID77));
 					}
 
 
@@ -3397,25 +3467,25 @@
 					}
 					break;
 				case 33 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:585:5: INSTRUCTION_FORMAT31t
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:573:5: INSTRUCTION_FORMAT31t
 					{
-					INSTRUCTION_FORMAT31t75=(Token)match(input,INSTRUCTION_FORMAT31t,FOLLOW_INSTRUCTION_FORMAT31t_in_simple_name2183);  
-					stream_INSTRUCTION_FORMAT31t.add(INSTRUCTION_FORMAT31t75);
+					INSTRUCTION_FORMAT31t78=(Token)match(input,INSTRUCTION_FORMAT31t,FOLLOW_INSTRUCTION_FORMAT31t_in_simple_name2122);
+					stream_INSTRUCTION_FORMAT31t.add(INSTRUCTION_FORMAT31t78);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 585:27: -> SIMPLE_NAME[$INSTRUCTION_FORMAT31t]
+					// 573:27: -> SIMPLE_NAME[$INSTRUCTION_FORMAT31t]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT31t75));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT31t78));
 					}
 
 
@@ -3424,25 +3494,25 @@
 					}
 					break;
 				case 34 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:586:5: INSTRUCTION_FORMAT35c_METHOD
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:574:5: INSTRUCTION_FORMAT35c_METHOD
 					{
-					INSTRUCTION_FORMAT35c_METHOD76=(Token)match(input,INSTRUCTION_FORMAT35c_METHOD,FOLLOW_INSTRUCTION_FORMAT35c_METHOD_in_simple_name2194);  
-					stream_INSTRUCTION_FORMAT35c_METHOD.add(INSTRUCTION_FORMAT35c_METHOD76);
+					INSTRUCTION_FORMAT35c_METHOD79=(Token)match(input,INSTRUCTION_FORMAT35c_METHOD,FOLLOW_INSTRUCTION_FORMAT35c_METHOD_in_simple_name2133);
+					stream_INSTRUCTION_FORMAT35c_METHOD.add(INSTRUCTION_FORMAT35c_METHOD79);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 586:34: -> SIMPLE_NAME[$INSTRUCTION_FORMAT35c_METHOD]
+					// 574:34: -> SIMPLE_NAME[$INSTRUCTION_FORMAT35c_METHOD]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT35c_METHOD76));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT35c_METHOD79));
 					}
 
 
@@ -3451,25 +3521,25 @@
 					}
 					break;
 				case 35 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:587:5: INSTRUCTION_FORMAT35c_METHOD_ODEX
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:575:5: INSTRUCTION_FORMAT35c_METHOD_ODEX
 					{
-					INSTRUCTION_FORMAT35c_METHOD_ODEX77=(Token)match(input,INSTRUCTION_FORMAT35c_METHOD_ODEX,FOLLOW_INSTRUCTION_FORMAT35c_METHOD_ODEX_in_simple_name2205);  
-					stream_INSTRUCTION_FORMAT35c_METHOD_ODEX.add(INSTRUCTION_FORMAT35c_METHOD_ODEX77);
+					INSTRUCTION_FORMAT35c_METHOD_ODEX80=(Token)match(input,INSTRUCTION_FORMAT35c_METHOD_ODEX,FOLLOW_INSTRUCTION_FORMAT35c_METHOD_ODEX_in_simple_name2144);
+					stream_INSTRUCTION_FORMAT35c_METHOD_ODEX.add(INSTRUCTION_FORMAT35c_METHOD_ODEX80);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 587:39: -> SIMPLE_NAME[$INSTRUCTION_FORMAT35c_METHOD_ODEX]
+					// 575:39: -> SIMPLE_NAME[$INSTRUCTION_FORMAT35c_METHOD_ODEX]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT35c_METHOD_ODEX77));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT35c_METHOD_ODEX80));
 					}
 
 
@@ -3478,25 +3548,25 @@
 					}
 					break;
 				case 36 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:588:5: INSTRUCTION_FORMAT35c_TYPE
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:576:5: INSTRUCTION_FORMAT35c_TYPE
 					{
-					INSTRUCTION_FORMAT35c_TYPE78=(Token)match(input,INSTRUCTION_FORMAT35c_TYPE,FOLLOW_INSTRUCTION_FORMAT35c_TYPE_in_simple_name2216);  
-					stream_INSTRUCTION_FORMAT35c_TYPE.add(INSTRUCTION_FORMAT35c_TYPE78);
+					INSTRUCTION_FORMAT35c_TYPE81=(Token)match(input,INSTRUCTION_FORMAT35c_TYPE,FOLLOW_INSTRUCTION_FORMAT35c_TYPE_in_simple_name2155);
+					stream_INSTRUCTION_FORMAT35c_TYPE.add(INSTRUCTION_FORMAT35c_TYPE81);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 588:32: -> SIMPLE_NAME[$INSTRUCTION_FORMAT35c_TYPE]
+					// 576:32: -> SIMPLE_NAME[$INSTRUCTION_FORMAT35c_TYPE]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT35c_TYPE78));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT35c_TYPE81));
 					}
 
 
@@ -3505,25 +3575,25 @@
 					}
 					break;
 				case 37 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:589:5: INSTRUCTION_FORMAT35mi_METHOD
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:577:5: INSTRUCTION_FORMAT35mi_METHOD
 					{
-					INSTRUCTION_FORMAT35mi_METHOD79=(Token)match(input,INSTRUCTION_FORMAT35mi_METHOD,FOLLOW_INSTRUCTION_FORMAT35mi_METHOD_in_simple_name2227);  
-					stream_INSTRUCTION_FORMAT35mi_METHOD.add(INSTRUCTION_FORMAT35mi_METHOD79);
+					INSTRUCTION_FORMAT35mi_METHOD82=(Token)match(input,INSTRUCTION_FORMAT35mi_METHOD,FOLLOW_INSTRUCTION_FORMAT35mi_METHOD_in_simple_name2166);
+					stream_INSTRUCTION_FORMAT35mi_METHOD.add(INSTRUCTION_FORMAT35mi_METHOD82);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 589:35: -> SIMPLE_NAME[$INSTRUCTION_FORMAT35mi_METHOD]
+					// 577:35: -> SIMPLE_NAME[$INSTRUCTION_FORMAT35mi_METHOD]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT35mi_METHOD79));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT35mi_METHOD82));
 					}
 
 
@@ -3532,25 +3602,25 @@
 					}
 					break;
 				case 38 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:590:5: INSTRUCTION_FORMAT35ms_METHOD
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:578:5: INSTRUCTION_FORMAT35ms_METHOD
 					{
-					INSTRUCTION_FORMAT35ms_METHOD80=(Token)match(input,INSTRUCTION_FORMAT35ms_METHOD,FOLLOW_INSTRUCTION_FORMAT35ms_METHOD_in_simple_name2238);  
-					stream_INSTRUCTION_FORMAT35ms_METHOD.add(INSTRUCTION_FORMAT35ms_METHOD80);
+					INSTRUCTION_FORMAT35ms_METHOD83=(Token)match(input,INSTRUCTION_FORMAT35ms_METHOD,FOLLOW_INSTRUCTION_FORMAT35ms_METHOD_in_simple_name2177);
+					stream_INSTRUCTION_FORMAT35ms_METHOD.add(INSTRUCTION_FORMAT35ms_METHOD83);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 590:35: -> SIMPLE_NAME[$INSTRUCTION_FORMAT35ms_METHOD]
+					// 578:35: -> SIMPLE_NAME[$INSTRUCTION_FORMAT35ms_METHOD]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT35ms_METHOD80));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT35ms_METHOD83));
 					}
 
 
@@ -3559,25 +3629,25 @@
 					}
 					break;
 				case 39 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:591:5: INSTRUCTION_FORMAT51l
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:579:5: INSTRUCTION_FORMAT51l
 					{
-					INSTRUCTION_FORMAT51l81=(Token)match(input,INSTRUCTION_FORMAT51l,FOLLOW_INSTRUCTION_FORMAT51l_in_simple_name2249);  
-					stream_INSTRUCTION_FORMAT51l.add(INSTRUCTION_FORMAT51l81);
+					INSTRUCTION_FORMAT51l84=(Token)match(input,INSTRUCTION_FORMAT51l,FOLLOW_INSTRUCTION_FORMAT51l_in_simple_name2188);
+					stream_INSTRUCTION_FORMAT51l.add(INSTRUCTION_FORMAT51l84);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 591:27: -> SIMPLE_NAME[$INSTRUCTION_FORMAT51l]
+					// 579:27: -> SIMPLE_NAME[$INSTRUCTION_FORMAT51l]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT51l81));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, INSTRUCTION_FORMAT51l84));
 					}
 
 
@@ -3614,71 +3684,71 @@
 
 
 	// $ANTLR start "member_name"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:593:1: member_name : ( simple_name | MEMBER_NAME -> SIMPLE_NAME[$MEMBER_NAME] );
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:581:1: member_name : ( simple_name | MEMBER_NAME -> SIMPLE_NAME[$MEMBER_NAME] );
 	public final smaliParser.member_name_return member_name() throws RecognitionException {
 		smaliParser.member_name_return retval = new smaliParser.member_name_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token MEMBER_NAME83=null;
-		ParserRuleReturnScope simple_name82 =null;
+		Token MEMBER_NAME86=null;
+		ParserRuleReturnScope simple_name85 =null;
 
-		CommonTree MEMBER_NAME83_tree=null;
+		CommonTree MEMBER_NAME86_tree=null;
 		RewriteRuleTokenStream stream_MEMBER_NAME=new RewriteRuleTokenStream(adaptor,"token MEMBER_NAME");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:594:3: ( simple_name | MEMBER_NAME -> SIMPLE_NAME[$MEMBER_NAME] )
-			int alt10=2;
-			int LA10_0 = input.LA(1);
-			if ( (LA10_0==ACCESS_SPEC||LA10_0==ANNOTATION_VISIBILITY||LA10_0==BOOL_LITERAL||LA10_0==DOUBLE_LITERAL_OR_ID||LA10_0==FLOAT_LITERAL_OR_ID||(LA10_0 >= INSTRUCTION_FORMAT10t && LA10_0 <= INSTRUCTION_FORMAT10x_ODEX)||LA10_0==INSTRUCTION_FORMAT11x||LA10_0==INSTRUCTION_FORMAT12x_OR_ID||(LA10_0 >= INSTRUCTION_FORMAT21c_FIELD && LA10_0 <= INSTRUCTION_FORMAT21c_TYPE)||LA10_0==INSTRUCTION_FORMAT21t||(LA10_0 >= INSTRUCTION_FORMAT22c_FIELD && LA10_0 <= INSTRUCTION_FORMAT22cs_FIELD)||(LA10_0 >= INSTRUCTION_FORMAT22s_OR_ID && LA10_0 <= INSTRUCTION_FORMAT22t)||LA10_0==INSTRUCTION_FORMAT23x||(LA10_0 >= INSTRUCTION_FORMAT31i_OR_ID && LA10_0 <= INSTRUCTION_FORMAT31t)||(LA10_0 >= INSTRUCTION_FORMAT35c_METHOD && LA10_0 <= INSTRUCTION_FORMAT35ms_METHOD)||LA10_0==INSTRUCTION_FORMAT51l||(LA10_0 >= NEGATIVE_INTEGER_LITERAL && LA10_0 <= NULL_LITERAL)||(LA10_0 >= PARAM_LIST_OR_ID && LA10_0 <= PRIMITIVE_TYPE)||LA10_0==REGISTER||LA10_0==SIMPLE_NAME||(LA10_0 >= VERIFICATION_ERROR_TYPE && LA10_0 <= VOID_TYPE)) ) {
-				alt10=1;
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:582:3: ( simple_name | MEMBER_NAME -> SIMPLE_NAME[$MEMBER_NAME] )
+			int alt11=2;
+			int LA11_0 = input.LA(1);
+			if ( (LA11_0==ACCESS_SPEC||LA11_0==ANNOTATION_VISIBILITY||LA11_0==BOOL_LITERAL||LA11_0==DOUBLE_LITERAL_OR_ID||LA11_0==FLOAT_LITERAL_OR_ID||(LA11_0 >= INSTRUCTION_FORMAT10t && LA11_0 <= INSTRUCTION_FORMAT10x_ODEX)||LA11_0==INSTRUCTION_FORMAT11x||LA11_0==INSTRUCTION_FORMAT12x_OR_ID||(LA11_0 >= INSTRUCTION_FORMAT21c_FIELD && LA11_0 <= INSTRUCTION_FORMAT21c_TYPE)||LA11_0==INSTRUCTION_FORMAT21t||(LA11_0 >= INSTRUCTION_FORMAT22c_FIELD && LA11_0 <= INSTRUCTION_FORMAT22cs_FIELD)||(LA11_0 >= INSTRUCTION_FORMAT22s_OR_ID && LA11_0 <= INSTRUCTION_FORMAT22t)||LA11_0==INSTRUCTION_FORMAT23x||(LA11_0 >= INSTRUCTION_FORMAT31i_OR_ID && LA11_0 <= INSTRUCTION_FORMAT31t)||(LA11_0 >= INSTRUCTION_FORMAT35c_METHOD && LA11_0 <= INSTRUCTION_FORMAT35ms_METHOD)||LA11_0==INSTRUCTION_FORMAT51l||(LA11_0 >= NEGATIVE_INTEGER_LITERAL && LA11_0 <= NULL_LITERAL)||LA11_0==PARAM_LIST_OR_ID_START||(LA11_0 >= POSITIVE_INTEGER_LITERAL && LA11_0 <= PRIMITIVE_TYPE)||LA11_0==REGISTER||LA11_0==SIMPLE_NAME||(LA11_0 >= VERIFICATION_ERROR_TYPE && LA11_0 <= VOID_TYPE)) ) {
+				alt11=1;
 			}
-			else if ( (LA10_0==MEMBER_NAME) ) {
-				alt10=2;
+			else if ( (LA11_0==MEMBER_NAME) ) {
+				alt11=2;
 			}
 
 			else {
 				NoViableAltException nvae =
-					new NoViableAltException("", 10, 0, input);
+					new NoViableAltException("", 11, 0, input);
 				throw nvae;
 			}
 
-			switch (alt10) {
+			switch (alt11) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:594:5: simple_name
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:582:5: simple_name
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_simple_name_in_member_name2264);
-					simple_name82=simple_name();
+					pushFollow(FOLLOW_simple_name_in_member_name2203);
+					simple_name85=simple_name();
 					state._fsp--;
 
-					adaptor.addChild(root_0, simple_name82.getTree());
+					adaptor.addChild(root_0, simple_name85.getTree());
 
 					}
 					break;
 				case 2 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:595:5: MEMBER_NAME
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:583:5: MEMBER_NAME
 					{
-					MEMBER_NAME83=(Token)match(input,MEMBER_NAME,FOLLOW_MEMBER_NAME_in_member_name2270);  
-					stream_MEMBER_NAME.add(MEMBER_NAME83);
+					MEMBER_NAME86=(Token)match(input,MEMBER_NAME,FOLLOW_MEMBER_NAME_in_member_name2209);
+					stream_MEMBER_NAME.add(MEMBER_NAME86);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 595:17: -> SIMPLE_NAME[$MEMBER_NAME]
+					// 583:17: -> SIMPLE_NAME[$MEMBER_NAME]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, MEMBER_NAME83));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(SIMPLE_NAME, MEMBER_NAME86));
 					}
 
 
@@ -3715,63 +3785,63 @@
 
 
 	// $ANTLR start "method_prototype"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:597:1: method_prototype : OPEN_PAREN param_list CLOSE_PAREN type_descriptor -> ^( I_METHOD_PROTOTYPE[$start, \"I_METHOD_PROTOTYPE\"] ^( I_METHOD_RETURN_TYPE type_descriptor ) ( param_list )? ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:585:1: method_prototype : OPEN_PAREN param_list CLOSE_PAREN type_descriptor -> ^( I_METHOD_PROTOTYPE[$start, \"I_METHOD_PROTOTYPE\"] ^( I_METHOD_RETURN_TYPE type_descriptor ) ( param_list )? ) ;
 	public final smaliParser.method_prototype_return method_prototype() throws RecognitionException {
 		smaliParser.method_prototype_return retval = new smaliParser.method_prototype_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token OPEN_PAREN84=null;
-		Token CLOSE_PAREN86=null;
-		ParserRuleReturnScope param_list85 =null;
-		ParserRuleReturnScope type_descriptor87 =null;
+		Token OPEN_PAREN87=null;
+		Token CLOSE_PAREN89=null;
+		ParserRuleReturnScope param_list88 =null;
+		ParserRuleReturnScope type_descriptor90 =null;
 
-		CommonTree OPEN_PAREN84_tree=null;
-		CommonTree CLOSE_PAREN86_tree=null;
+		CommonTree OPEN_PAREN87_tree=null;
+		CommonTree CLOSE_PAREN89_tree=null;
 		RewriteRuleTokenStream stream_OPEN_PAREN=new RewriteRuleTokenStream(adaptor,"token OPEN_PAREN");
 		RewriteRuleTokenStream stream_CLOSE_PAREN=new RewriteRuleTokenStream(adaptor,"token CLOSE_PAREN");
 		RewriteRuleSubtreeStream stream_type_descriptor=new RewriteRuleSubtreeStream(adaptor,"rule type_descriptor");
 		RewriteRuleSubtreeStream stream_param_list=new RewriteRuleSubtreeStream(adaptor,"rule param_list");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:598:3: ( OPEN_PAREN param_list CLOSE_PAREN type_descriptor -> ^( I_METHOD_PROTOTYPE[$start, \"I_METHOD_PROTOTYPE\"] ^( I_METHOD_RETURN_TYPE type_descriptor ) ( param_list )? ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:598:5: OPEN_PAREN param_list CLOSE_PAREN type_descriptor
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:586:3: ( OPEN_PAREN param_list CLOSE_PAREN type_descriptor -> ^( I_METHOD_PROTOTYPE[$start, \"I_METHOD_PROTOTYPE\"] ^( I_METHOD_RETURN_TYPE type_descriptor ) ( param_list )? ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:586:5: OPEN_PAREN param_list CLOSE_PAREN type_descriptor
 			{
-			OPEN_PAREN84=(Token)match(input,OPEN_PAREN,FOLLOW_OPEN_PAREN_in_method_prototype2285);  
-			stream_OPEN_PAREN.add(OPEN_PAREN84);
+			OPEN_PAREN87=(Token)match(input,OPEN_PAREN,FOLLOW_OPEN_PAREN_in_method_prototype2224);
+			stream_OPEN_PAREN.add(OPEN_PAREN87);
 
-			pushFollow(FOLLOW_param_list_in_method_prototype2287);
-			param_list85=param_list();
+			pushFollow(FOLLOW_param_list_in_method_prototype2226);
+			param_list88=param_list();
 			state._fsp--;
 
-			stream_param_list.add(param_list85.getTree());
-			CLOSE_PAREN86=(Token)match(input,CLOSE_PAREN,FOLLOW_CLOSE_PAREN_in_method_prototype2289);  
-			stream_CLOSE_PAREN.add(CLOSE_PAREN86);
+			stream_param_list.add(param_list88.getTree());
+			CLOSE_PAREN89=(Token)match(input,CLOSE_PAREN,FOLLOW_CLOSE_PAREN_in_method_prototype2228);
+			stream_CLOSE_PAREN.add(CLOSE_PAREN89);
 
-			pushFollow(FOLLOW_type_descriptor_in_method_prototype2291);
-			type_descriptor87=type_descriptor();
+			pushFollow(FOLLOW_type_descriptor_in_method_prototype2230);
+			type_descriptor90=type_descriptor();
 			state._fsp--;
 
-			stream_type_descriptor.add(type_descriptor87.getTree());
+			stream_type_descriptor.add(type_descriptor90.getTree());
 			// AST REWRITE
 			// elements: param_list, type_descriptor
-			// token labels: 
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 599:5: -> ^( I_METHOD_PROTOTYPE[$start, \"I_METHOD_PROTOTYPE\"] ^( I_METHOD_RETURN_TYPE type_descriptor ) ( param_list )? )
+			// 587:5: -> ^( I_METHOD_PROTOTYPE[$start, \"I_METHOD_PROTOTYPE\"] ^( I_METHOD_RETURN_TYPE type_descriptor ) ( param_list )? )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:599:8: ^( I_METHOD_PROTOTYPE[$start, \"I_METHOD_PROTOTYPE\"] ^( I_METHOD_RETURN_TYPE type_descriptor ) ( param_list )? )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:587:8: ^( I_METHOD_PROTOTYPE[$start, \"I_METHOD_PROTOTYPE\"] ^( I_METHOD_RETURN_TYPE type_descriptor ) ( param_list )? )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_METHOD_PROTOTYPE, (retval.start), "I_METHOD_PROTOTYPE"), root_1);
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:599:59: ^( I_METHOD_RETURN_TYPE type_descriptor )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:587:59: ^( I_METHOD_RETURN_TYPE type_descriptor )
 				{
 				CommonTree root_2 = (CommonTree)adaptor.nil();
 				root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_METHOD_RETURN_TYPE, "I_METHOD_RETURN_TYPE"), root_2);
@@ -3779,7 +3849,7 @@
 				adaptor.addChild(root_1, root_2);
 				}
 
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:599:99: ( param_list )?
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:587:99: ( param_list )?
 				if ( stream_param_list.hasNext() ) {
 					adaptor.addChild(root_1, stream_param_list.nextTree());
 				}
@@ -3822,34 +3892,45 @@
 
 
 	// $ANTLR start "param_list"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:601:1: param_list : ( PARAM_LIST ->| PARAM_LIST_OR_ID ->| ( nonvoid_type_descriptor )* );
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:589:1: param_list : ( PARAM_LIST_START ( nonvoid_type_descriptor )* PARAM_LIST_END -> ( nonvoid_type_descriptor )* | PARAM_LIST_OR_ID_START ( PRIMITIVE_TYPE )* PARAM_LIST_OR_ID_END -> ( PRIMITIVE_TYPE )* | ( nonvoid_type_descriptor )* );
 	public final smaliParser.param_list_return param_list() throws RecognitionException {
 		smaliParser.param_list_return retval = new smaliParser.param_list_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token PARAM_LIST88=null;
-		Token PARAM_LIST_OR_ID89=null;
-		ParserRuleReturnScope nonvoid_type_descriptor90 =null;
+		Token PARAM_LIST_START91=null;
+		Token PARAM_LIST_END93=null;
+		Token PARAM_LIST_OR_ID_START94=null;
+		Token PRIMITIVE_TYPE95=null;
+		Token PARAM_LIST_OR_ID_END96=null;
+		ParserRuleReturnScope nonvoid_type_descriptor92 =null;
+		ParserRuleReturnScope nonvoid_type_descriptor97 =null;
 
-		CommonTree PARAM_LIST88_tree=null;
-		CommonTree PARAM_LIST_OR_ID89_tree=null;
-		RewriteRuleTokenStream stream_PARAM_LIST=new RewriteRuleTokenStream(adaptor,"token PARAM_LIST");
-		RewriteRuleTokenStream stream_PARAM_LIST_OR_ID=new RewriteRuleTokenStream(adaptor,"token PARAM_LIST_OR_ID");
+		CommonTree PARAM_LIST_START91_tree=null;
+		CommonTree PARAM_LIST_END93_tree=null;
+		CommonTree PARAM_LIST_OR_ID_START94_tree=null;
+		CommonTree PRIMITIVE_TYPE95_tree=null;
+		CommonTree PARAM_LIST_OR_ID_END96_tree=null;
+		RewriteRuleTokenStream stream_PARAM_LIST_OR_ID_START=new RewriteRuleTokenStream(adaptor,"token PARAM_LIST_OR_ID_START");
+		RewriteRuleTokenStream stream_PARAM_LIST_OR_ID_END=new RewriteRuleTokenStream(adaptor,"token PARAM_LIST_OR_ID_END");
+		RewriteRuleTokenStream stream_PARAM_LIST_START=new RewriteRuleTokenStream(adaptor,"token PARAM_LIST_START");
+		RewriteRuleTokenStream stream_PARAM_LIST_END=new RewriteRuleTokenStream(adaptor,"token PARAM_LIST_END");
+		RewriteRuleTokenStream stream_PRIMITIVE_TYPE=new RewriteRuleTokenStream(adaptor,"token PRIMITIVE_TYPE");
+		RewriteRuleSubtreeStream stream_nonvoid_type_descriptor=new RewriteRuleSubtreeStream(adaptor,"rule nonvoid_type_descriptor");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:602:3: ( PARAM_LIST ->| PARAM_LIST_OR_ID ->| ( nonvoid_type_descriptor )* )
-			int alt12=3;
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:590:3: ( PARAM_LIST_START ( nonvoid_type_descriptor )* PARAM_LIST_END -> ( nonvoid_type_descriptor )* | PARAM_LIST_OR_ID_START ( PRIMITIVE_TYPE )* PARAM_LIST_OR_ID_END -> ( PRIMITIVE_TYPE )* | ( nonvoid_type_descriptor )* )
+			int alt15=3;
 			switch ( input.LA(1) ) {
-			case PARAM_LIST:
+			case PARAM_LIST_START:
 				{
-				alt12=1;
+				alt15=1;
 				}
 				break;
-			case PARAM_LIST_OR_ID:
+			case PARAM_LIST_OR_ID_START:
 				{
-				alt12=2;
+				alt15=2;
 				}
 				break;
 			case ARRAY_DESCRIPTOR:
@@ -3857,35 +3938,69 @@
 			case CLOSE_PAREN:
 			case PRIMITIVE_TYPE:
 				{
-				alt12=3;
+				alt15=3;
 				}
 				break;
 			default:
 				NoViableAltException nvae =
-					new NoViableAltException("", 12, 0, input);
+					new NoViableAltException("", 15, 0, input);
 				throw nvae;
 			}
-			switch (alt12) {
+			switch (alt15) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:602:5: PARAM_LIST
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:590:5: PARAM_LIST_START ( nonvoid_type_descriptor )* PARAM_LIST_END
 					{
-					PARAM_LIST88=(Token)match(input,PARAM_LIST,FOLLOW_PARAM_LIST_in_param_list2321);  
-					stream_PARAM_LIST.add(PARAM_LIST88);
+					PARAM_LIST_START91=(Token)match(input,PARAM_LIST_START,FOLLOW_PARAM_LIST_START_in_param_list2260);
+					stream_PARAM_LIST_START.add(PARAM_LIST_START91);
+
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:590:22: ( nonvoid_type_descriptor )*
+					loop12:
+					while (true) {
+						int alt12=2;
+						int LA12_0 = input.LA(1);
+						if ( (LA12_0==ARRAY_DESCRIPTOR||LA12_0==CLASS_DESCRIPTOR||LA12_0==PRIMITIVE_TYPE) ) {
+							alt12=1;
+						}
+
+						switch (alt12) {
+						case 1 :
+							// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:590:22: nonvoid_type_descriptor
+							{
+							pushFollow(FOLLOW_nonvoid_type_descriptor_in_param_list2262);
+							nonvoid_type_descriptor92=nonvoid_type_descriptor();
+							state._fsp--;
+
+							stream_nonvoid_type_descriptor.add(nonvoid_type_descriptor92.getTree());
+							}
+							break;
+
+						default :
+							break loop12;
+						}
+					}
+
+					PARAM_LIST_END93=(Token)match(input,PARAM_LIST_END,FOLLOW_PARAM_LIST_END_in_param_list2265);
+					stream_PARAM_LIST_END.add(PARAM_LIST_END93);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements: nonvoid_type_descriptor
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 602:16: ->
+					// 590:62: -> ( nonvoid_type_descriptor )*
 					{
-						adaptor.addChild(root_0,  parseParamList((CommonToken)PARAM_LIST88) );
+						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:590:65: ( nonvoid_type_descriptor )*
+						while ( stream_nonvoid_type_descriptor.hasNext() ) {
+							adaptor.addChild(root_0, stream_nonvoid_type_descriptor.nextTree());
+						}
+						stream_nonvoid_type_descriptor.reset();
+
 					}
 
 
@@ -3894,25 +4009,57 @@
 					}
 					break;
 				case 2 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:603:5: PARAM_LIST_OR_ID
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:591:5: PARAM_LIST_OR_ID_START ( PRIMITIVE_TYPE )* PARAM_LIST_OR_ID_END
 					{
-					PARAM_LIST_OR_ID89=(Token)match(input,PARAM_LIST_OR_ID,FOLLOW_PARAM_LIST_OR_ID_in_param_list2331);  
-					stream_PARAM_LIST_OR_ID.add(PARAM_LIST_OR_ID89);
+					PARAM_LIST_OR_ID_START94=(Token)match(input,PARAM_LIST_OR_ID_START,FOLLOW_PARAM_LIST_OR_ID_START_in_param_list2276);
+					stream_PARAM_LIST_OR_ID_START.add(PARAM_LIST_OR_ID_START94);
+
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:591:28: ( PRIMITIVE_TYPE )*
+					loop13:
+					while (true) {
+						int alt13=2;
+						int LA13_0 = input.LA(1);
+						if ( (LA13_0==PRIMITIVE_TYPE) ) {
+							alt13=1;
+						}
+
+						switch (alt13) {
+						case 1 :
+							// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:591:28: PRIMITIVE_TYPE
+							{
+							PRIMITIVE_TYPE95=(Token)match(input,PRIMITIVE_TYPE,FOLLOW_PRIMITIVE_TYPE_in_param_list2278);
+							stream_PRIMITIVE_TYPE.add(PRIMITIVE_TYPE95);
+
+							}
+							break;
+
+						default :
+							break loop13;
+						}
+					}
+
+					PARAM_LIST_OR_ID_END96=(Token)match(input,PARAM_LIST_OR_ID_END,FOLLOW_PARAM_LIST_OR_ID_END_in_param_list2281);
+					stream_PARAM_LIST_OR_ID_END.add(PARAM_LIST_OR_ID_END96);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements: PRIMITIVE_TYPE
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 603:22: ->
+					// 591:65: -> ( PRIMITIVE_TYPE )*
 					{
-						adaptor.addChild(root_0,  parseParamList((CommonToken)PARAM_LIST_OR_ID89) );
+						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:591:68: ( PRIMITIVE_TYPE )*
+						while ( stream_PRIMITIVE_TYPE.hasNext() ) {
+							adaptor.addChild(root_0, stream_PRIMITIVE_TYPE.nextNode());
+						}
+						stream_PRIMITIVE_TYPE.reset();
+
 					}
 
 
@@ -3921,35 +4068,35 @@
 					}
 					break;
 				case 3 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:604:5: ( nonvoid_type_descriptor )*
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:592:5: ( nonvoid_type_descriptor )*
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:604:5: ( nonvoid_type_descriptor )*
-					loop11:
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:592:5: ( nonvoid_type_descriptor )*
+					loop14:
 					while (true) {
-						int alt11=2;
-						int LA11_0 = input.LA(1);
-						if ( (LA11_0==ARRAY_DESCRIPTOR||LA11_0==CLASS_DESCRIPTOR||LA11_0==PRIMITIVE_TYPE) ) {
-							alt11=1;
+						int alt14=2;
+						int LA14_0 = input.LA(1);
+						if ( (LA14_0==ARRAY_DESCRIPTOR||LA14_0==CLASS_DESCRIPTOR||LA14_0==PRIMITIVE_TYPE) ) {
+							alt14=1;
 						}
 
-						switch (alt11) {
+						switch (alt14) {
 						case 1 :
-							// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:604:5: nonvoid_type_descriptor
+							// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:592:5: nonvoid_type_descriptor
 							{
-							pushFollow(FOLLOW_nonvoid_type_descriptor_in_param_list2341);
-							nonvoid_type_descriptor90=nonvoid_type_descriptor();
+							pushFollow(FOLLOW_nonvoid_type_descriptor_in_param_list2292);
+							nonvoid_type_descriptor97=nonvoid_type_descriptor();
 							state._fsp--;
 
-							adaptor.addChild(root_0, nonvoid_type_descriptor90.getTree());
+							adaptor.addChild(root_0, nonvoid_type_descriptor97.getTree());
 
 							}
 							break;
 
 						default :
-							break loop11;
+							break loop14;
 						}
 					}
 
@@ -3984,28 +4131,28 @@
 
 
 	// $ANTLR start "type_descriptor"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:606:1: type_descriptor : ( VOID_TYPE | PRIMITIVE_TYPE | CLASS_DESCRIPTOR | ARRAY_DESCRIPTOR );
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:594:1: type_descriptor : ( VOID_TYPE | PRIMITIVE_TYPE | CLASS_DESCRIPTOR | ARRAY_DESCRIPTOR );
 	public final smaliParser.type_descriptor_return type_descriptor() throws RecognitionException {
 		smaliParser.type_descriptor_return retval = new smaliParser.type_descriptor_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token set91=null;
+		Token set98=null;
 
-		CommonTree set91_tree=null;
+		CommonTree set98_tree=null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:607:3: ( VOID_TYPE | PRIMITIVE_TYPE | CLASS_DESCRIPTOR | ARRAY_DESCRIPTOR )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:595:3: ( VOID_TYPE | PRIMITIVE_TYPE | CLASS_DESCRIPTOR | ARRAY_DESCRIPTOR )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:
 			{
 			root_0 = (CommonTree)adaptor.nil();
 
 
-			set91=input.LT(1);
+			set98=input.LT(1);
 			if ( input.LA(1)==ARRAY_DESCRIPTOR||input.LA(1)==CLASS_DESCRIPTOR||input.LA(1)==PRIMITIVE_TYPE||input.LA(1)==VOID_TYPE ) {
 				input.consume();
-				adaptor.addChild(root_0, (CommonTree)adaptor.create(set91));
+				adaptor.addChild(root_0, (CommonTree)adaptor.create(set98));
 				state.errorRecovery=false;
 			}
 			else {
@@ -4041,28 +4188,28 @@
 
 
 	// $ANTLR start "nonvoid_type_descriptor"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:612:1: nonvoid_type_descriptor : ( PRIMITIVE_TYPE | CLASS_DESCRIPTOR | ARRAY_DESCRIPTOR );
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:600:1: nonvoid_type_descriptor : ( PRIMITIVE_TYPE | CLASS_DESCRIPTOR | ARRAY_DESCRIPTOR );
 	public final smaliParser.nonvoid_type_descriptor_return nonvoid_type_descriptor() throws RecognitionException {
 		smaliParser.nonvoid_type_descriptor_return retval = new smaliParser.nonvoid_type_descriptor_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token set92=null;
+		Token set99=null;
 
-		CommonTree set92_tree=null;
+		CommonTree set99_tree=null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:613:3: ( PRIMITIVE_TYPE | CLASS_DESCRIPTOR | ARRAY_DESCRIPTOR )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:601:3: ( PRIMITIVE_TYPE | CLASS_DESCRIPTOR | ARRAY_DESCRIPTOR )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:
 			{
 			root_0 = (CommonTree)adaptor.nil();
 
 
-			set92=input.LT(1);
+			set99=input.LT(1);
 			if ( input.LA(1)==ARRAY_DESCRIPTOR||input.LA(1)==CLASS_DESCRIPTOR||input.LA(1)==PRIMITIVE_TYPE ) {
 				input.consume();
-				adaptor.addChild(root_0, (CommonTree)adaptor.create(set92));
+				adaptor.addChild(root_0, (CommonTree)adaptor.create(set99));
 				state.errorRecovery=false;
 			}
 			else {
@@ -4098,28 +4245,28 @@
 
 
 	// $ANTLR start "reference_type_descriptor"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:617:1: reference_type_descriptor : ( CLASS_DESCRIPTOR | ARRAY_DESCRIPTOR );
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:605:1: reference_type_descriptor : ( CLASS_DESCRIPTOR | ARRAY_DESCRIPTOR );
 	public final smaliParser.reference_type_descriptor_return reference_type_descriptor() throws RecognitionException {
 		smaliParser.reference_type_descriptor_return retval = new smaliParser.reference_type_descriptor_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token set93=null;
+		Token set100=null;
 
-		CommonTree set93_tree=null;
+		CommonTree set100_tree=null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:618:3: ( CLASS_DESCRIPTOR | ARRAY_DESCRIPTOR )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:606:3: ( CLASS_DESCRIPTOR | ARRAY_DESCRIPTOR )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:
 			{
 			root_0 = (CommonTree)adaptor.nil();
 
 
-			set93=input.LT(1);
+			set100=input.LT(1);
 			if ( input.LA(1)==ARRAY_DESCRIPTOR||input.LA(1)==CLASS_DESCRIPTOR ) {
 				input.consume();
-				adaptor.addChild(root_0, (CommonTree)adaptor.create(set93));
+				adaptor.addChild(root_0, (CommonTree)adaptor.create(set100));
 				state.errorRecovery=false;
 			}
 			else {
@@ -4155,59 +4302,59 @@
 
 
 	// $ANTLR start "integer_literal"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:621:1: integer_literal : ( POSITIVE_INTEGER_LITERAL -> INTEGER_LITERAL[$POSITIVE_INTEGER_LITERAL] | NEGATIVE_INTEGER_LITERAL -> INTEGER_LITERAL[$NEGATIVE_INTEGER_LITERAL] );
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:609:1: integer_literal : ( POSITIVE_INTEGER_LITERAL -> INTEGER_LITERAL[$POSITIVE_INTEGER_LITERAL] | NEGATIVE_INTEGER_LITERAL -> INTEGER_LITERAL[$NEGATIVE_INTEGER_LITERAL] );
 	public final smaliParser.integer_literal_return integer_literal() throws RecognitionException {
 		smaliParser.integer_literal_return retval = new smaliParser.integer_literal_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token POSITIVE_INTEGER_LITERAL94=null;
-		Token NEGATIVE_INTEGER_LITERAL95=null;
+		Token POSITIVE_INTEGER_LITERAL101=null;
+		Token NEGATIVE_INTEGER_LITERAL102=null;
 
-		CommonTree POSITIVE_INTEGER_LITERAL94_tree=null;
-		CommonTree NEGATIVE_INTEGER_LITERAL95_tree=null;
+		CommonTree POSITIVE_INTEGER_LITERAL101_tree=null;
+		CommonTree NEGATIVE_INTEGER_LITERAL102_tree=null;
 		RewriteRuleTokenStream stream_NEGATIVE_INTEGER_LITERAL=new RewriteRuleTokenStream(adaptor,"token NEGATIVE_INTEGER_LITERAL");
 		RewriteRuleTokenStream stream_POSITIVE_INTEGER_LITERAL=new RewriteRuleTokenStream(adaptor,"token POSITIVE_INTEGER_LITERAL");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:622:3: ( POSITIVE_INTEGER_LITERAL -> INTEGER_LITERAL[$POSITIVE_INTEGER_LITERAL] | NEGATIVE_INTEGER_LITERAL -> INTEGER_LITERAL[$NEGATIVE_INTEGER_LITERAL] )
-			int alt13=2;
-			int LA13_0 = input.LA(1);
-			if ( (LA13_0==POSITIVE_INTEGER_LITERAL) ) {
-				alt13=1;
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:610:3: ( POSITIVE_INTEGER_LITERAL -> INTEGER_LITERAL[$POSITIVE_INTEGER_LITERAL] | NEGATIVE_INTEGER_LITERAL -> INTEGER_LITERAL[$NEGATIVE_INTEGER_LITERAL] )
+			int alt16=2;
+			int LA16_0 = input.LA(1);
+			if ( (LA16_0==POSITIVE_INTEGER_LITERAL) ) {
+				alt16=1;
 			}
-			else if ( (LA13_0==NEGATIVE_INTEGER_LITERAL) ) {
-				alt13=2;
+			else if ( (LA16_0==NEGATIVE_INTEGER_LITERAL) ) {
+				alt16=2;
 			}
 
 			else {
 				NoViableAltException nvae =
-					new NoViableAltException("", 13, 0, input);
+					new NoViableAltException("", 16, 0, input);
 				throw nvae;
 			}
 
-			switch (alt13) {
+			switch (alt16) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:622:5: POSITIVE_INTEGER_LITERAL
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:610:5: POSITIVE_INTEGER_LITERAL
 					{
-					POSITIVE_INTEGER_LITERAL94=(Token)match(input,POSITIVE_INTEGER_LITERAL,FOLLOW_POSITIVE_INTEGER_LITERAL_in_integer_literal2418);  
-					stream_POSITIVE_INTEGER_LITERAL.add(POSITIVE_INTEGER_LITERAL94);
+					POSITIVE_INTEGER_LITERAL101=(Token)match(input,POSITIVE_INTEGER_LITERAL,FOLLOW_POSITIVE_INTEGER_LITERAL_in_integer_literal2369);
+					stream_POSITIVE_INTEGER_LITERAL.add(POSITIVE_INTEGER_LITERAL101);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 622:30: -> INTEGER_LITERAL[$POSITIVE_INTEGER_LITERAL]
+					// 610:30: -> INTEGER_LITERAL[$POSITIVE_INTEGER_LITERAL]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(INTEGER_LITERAL, POSITIVE_INTEGER_LITERAL94));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(INTEGER_LITERAL, POSITIVE_INTEGER_LITERAL101));
 					}
 
 
@@ -4216,25 +4363,25 @@
 					}
 					break;
 				case 2 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:623:5: NEGATIVE_INTEGER_LITERAL
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:611:5: NEGATIVE_INTEGER_LITERAL
 					{
-					NEGATIVE_INTEGER_LITERAL95=(Token)match(input,NEGATIVE_INTEGER_LITERAL,FOLLOW_NEGATIVE_INTEGER_LITERAL_in_integer_literal2429);  
-					stream_NEGATIVE_INTEGER_LITERAL.add(NEGATIVE_INTEGER_LITERAL95);
+					NEGATIVE_INTEGER_LITERAL102=(Token)match(input,NEGATIVE_INTEGER_LITERAL,FOLLOW_NEGATIVE_INTEGER_LITERAL_in_integer_literal2380);
+					stream_NEGATIVE_INTEGER_LITERAL.add(NEGATIVE_INTEGER_LITERAL102);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 623:30: -> INTEGER_LITERAL[$NEGATIVE_INTEGER_LITERAL]
+					// 611:30: -> INTEGER_LITERAL[$NEGATIVE_INTEGER_LITERAL]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(INTEGER_LITERAL, NEGATIVE_INTEGER_LITERAL95));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(INTEGER_LITERAL, NEGATIVE_INTEGER_LITERAL102));
 					}
 
 
@@ -4271,58 +4418,58 @@
 
 
 	// $ANTLR start "float_literal"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:625:1: float_literal : ( FLOAT_LITERAL_OR_ID -> FLOAT_LITERAL[$FLOAT_LITERAL_OR_ID] | FLOAT_LITERAL );
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:613:1: float_literal : ( FLOAT_LITERAL_OR_ID -> FLOAT_LITERAL[$FLOAT_LITERAL_OR_ID] | FLOAT_LITERAL );
 	public final smaliParser.float_literal_return float_literal() throws RecognitionException {
 		smaliParser.float_literal_return retval = new smaliParser.float_literal_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token FLOAT_LITERAL_OR_ID96=null;
-		Token FLOAT_LITERAL97=null;
+		Token FLOAT_LITERAL_OR_ID103=null;
+		Token FLOAT_LITERAL104=null;
 
-		CommonTree FLOAT_LITERAL_OR_ID96_tree=null;
-		CommonTree FLOAT_LITERAL97_tree=null;
+		CommonTree FLOAT_LITERAL_OR_ID103_tree=null;
+		CommonTree FLOAT_LITERAL104_tree=null;
 		RewriteRuleTokenStream stream_FLOAT_LITERAL_OR_ID=new RewriteRuleTokenStream(adaptor,"token FLOAT_LITERAL_OR_ID");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:626:3: ( FLOAT_LITERAL_OR_ID -> FLOAT_LITERAL[$FLOAT_LITERAL_OR_ID] | FLOAT_LITERAL )
-			int alt14=2;
-			int LA14_0 = input.LA(1);
-			if ( (LA14_0==FLOAT_LITERAL_OR_ID) ) {
-				alt14=1;
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:614:3: ( FLOAT_LITERAL_OR_ID -> FLOAT_LITERAL[$FLOAT_LITERAL_OR_ID] | FLOAT_LITERAL )
+			int alt17=2;
+			int LA17_0 = input.LA(1);
+			if ( (LA17_0==FLOAT_LITERAL_OR_ID) ) {
+				alt17=1;
 			}
-			else if ( (LA14_0==FLOAT_LITERAL) ) {
-				alt14=2;
+			else if ( (LA17_0==FLOAT_LITERAL) ) {
+				alt17=2;
 			}
 
 			else {
 				NoViableAltException nvae =
-					new NoViableAltException("", 14, 0, input);
+					new NoViableAltException("", 17, 0, input);
 				throw nvae;
 			}
 
-			switch (alt14) {
+			switch (alt17) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:626:5: FLOAT_LITERAL_OR_ID
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:614:5: FLOAT_LITERAL_OR_ID
 					{
-					FLOAT_LITERAL_OR_ID96=(Token)match(input,FLOAT_LITERAL_OR_ID,FOLLOW_FLOAT_LITERAL_OR_ID_in_float_literal2444);  
-					stream_FLOAT_LITERAL_OR_ID.add(FLOAT_LITERAL_OR_ID96);
+					FLOAT_LITERAL_OR_ID103=(Token)match(input,FLOAT_LITERAL_OR_ID,FOLLOW_FLOAT_LITERAL_OR_ID_in_float_literal2395);
+					stream_FLOAT_LITERAL_OR_ID.add(FLOAT_LITERAL_OR_ID103);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 626:25: -> FLOAT_LITERAL[$FLOAT_LITERAL_OR_ID]
+					// 614:25: -> FLOAT_LITERAL[$FLOAT_LITERAL_OR_ID]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(FLOAT_LITERAL, FLOAT_LITERAL_OR_ID96));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(FLOAT_LITERAL, FLOAT_LITERAL_OR_ID103));
 					}
 
 
@@ -4331,14 +4478,14 @@
 					}
 					break;
 				case 2 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:627:5: FLOAT_LITERAL
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:615:5: FLOAT_LITERAL
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					FLOAT_LITERAL97=(Token)match(input,FLOAT_LITERAL,FOLLOW_FLOAT_LITERAL_in_float_literal2455); 
-					FLOAT_LITERAL97_tree = (CommonTree)adaptor.create(FLOAT_LITERAL97);
-					adaptor.addChild(root_0, FLOAT_LITERAL97_tree);
+					FLOAT_LITERAL104=(Token)match(input,FLOAT_LITERAL,FOLLOW_FLOAT_LITERAL_in_float_literal2406);
+					FLOAT_LITERAL104_tree = (CommonTree)adaptor.create(FLOAT_LITERAL104);
+					adaptor.addChild(root_0, FLOAT_LITERAL104_tree);
 
 					}
 					break;
@@ -4371,58 +4518,58 @@
 
 
 	// $ANTLR start "double_literal"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:629:1: double_literal : ( DOUBLE_LITERAL_OR_ID -> DOUBLE_LITERAL[$DOUBLE_LITERAL_OR_ID] | DOUBLE_LITERAL );
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:617:1: double_literal : ( DOUBLE_LITERAL_OR_ID -> DOUBLE_LITERAL[$DOUBLE_LITERAL_OR_ID] | DOUBLE_LITERAL );
 	public final smaliParser.double_literal_return double_literal() throws RecognitionException {
 		smaliParser.double_literal_return retval = new smaliParser.double_literal_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token DOUBLE_LITERAL_OR_ID98=null;
-		Token DOUBLE_LITERAL99=null;
+		Token DOUBLE_LITERAL_OR_ID105=null;
+		Token DOUBLE_LITERAL106=null;
 
-		CommonTree DOUBLE_LITERAL_OR_ID98_tree=null;
-		CommonTree DOUBLE_LITERAL99_tree=null;
+		CommonTree DOUBLE_LITERAL_OR_ID105_tree=null;
+		CommonTree DOUBLE_LITERAL106_tree=null;
 		RewriteRuleTokenStream stream_DOUBLE_LITERAL_OR_ID=new RewriteRuleTokenStream(adaptor,"token DOUBLE_LITERAL_OR_ID");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:630:3: ( DOUBLE_LITERAL_OR_ID -> DOUBLE_LITERAL[$DOUBLE_LITERAL_OR_ID] | DOUBLE_LITERAL )
-			int alt15=2;
-			int LA15_0 = input.LA(1);
-			if ( (LA15_0==DOUBLE_LITERAL_OR_ID) ) {
-				alt15=1;
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:618:3: ( DOUBLE_LITERAL_OR_ID -> DOUBLE_LITERAL[$DOUBLE_LITERAL_OR_ID] | DOUBLE_LITERAL )
+			int alt18=2;
+			int LA18_0 = input.LA(1);
+			if ( (LA18_0==DOUBLE_LITERAL_OR_ID) ) {
+				alt18=1;
 			}
-			else if ( (LA15_0==DOUBLE_LITERAL) ) {
-				alt15=2;
+			else if ( (LA18_0==DOUBLE_LITERAL) ) {
+				alt18=2;
 			}
 
 			else {
 				NoViableAltException nvae =
-					new NoViableAltException("", 15, 0, input);
+					new NoViableAltException("", 18, 0, input);
 				throw nvae;
 			}
 
-			switch (alt15) {
+			switch (alt18) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:630:5: DOUBLE_LITERAL_OR_ID
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:618:5: DOUBLE_LITERAL_OR_ID
 					{
-					DOUBLE_LITERAL_OR_ID98=(Token)match(input,DOUBLE_LITERAL_OR_ID,FOLLOW_DOUBLE_LITERAL_OR_ID_in_double_literal2465);  
-					stream_DOUBLE_LITERAL_OR_ID.add(DOUBLE_LITERAL_OR_ID98);
+					DOUBLE_LITERAL_OR_ID105=(Token)match(input,DOUBLE_LITERAL_OR_ID,FOLLOW_DOUBLE_LITERAL_OR_ID_in_double_literal2416);
+					stream_DOUBLE_LITERAL_OR_ID.add(DOUBLE_LITERAL_OR_ID105);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 630:26: -> DOUBLE_LITERAL[$DOUBLE_LITERAL_OR_ID]
+					// 618:26: -> DOUBLE_LITERAL[$DOUBLE_LITERAL_OR_ID]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(DOUBLE_LITERAL, DOUBLE_LITERAL_OR_ID98));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(DOUBLE_LITERAL, DOUBLE_LITERAL_OR_ID105));
 					}
 
 
@@ -4431,14 +4578,14 @@
 					}
 					break;
 				case 2 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:631:5: DOUBLE_LITERAL
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:619:5: DOUBLE_LITERAL
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					DOUBLE_LITERAL99=(Token)match(input,DOUBLE_LITERAL,FOLLOW_DOUBLE_LITERAL_in_double_literal2476); 
-					DOUBLE_LITERAL99_tree = (CommonTree)adaptor.create(DOUBLE_LITERAL99);
-					adaptor.addChild(root_0, DOUBLE_LITERAL99_tree);
+					DOUBLE_LITERAL106=(Token)match(input,DOUBLE_LITERAL,FOLLOW_DOUBLE_LITERAL_in_double_literal2427);
+					DOUBLE_LITERAL106_tree = (CommonTree)adaptor.create(DOUBLE_LITERAL106);
+					adaptor.addChild(root_0, DOUBLE_LITERAL106_tree);
 
 					}
 					break;
@@ -4471,301 +4618,459 @@
 
 
 	// $ANTLR start "literal"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:633:1: literal : ( LONG_LITERAL | integer_literal | SHORT_LITERAL | BYTE_LITERAL | float_literal | double_literal | CHAR_LITERAL | STRING_LITERAL | BOOL_LITERAL | NULL_LITERAL | array_literal | subannotation | type_field_method_literal | enum_literal );
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:621:1: literal : ( LONG_LITERAL | integer_literal | SHORT_LITERAL | BYTE_LITERAL | float_literal | double_literal | CHAR_LITERAL | STRING_LITERAL | BOOL_LITERAL | NULL_LITERAL | array_literal | subannotation | type_field_method_literal | enum_literal );
 	public final smaliParser.literal_return literal() throws RecognitionException {
 		smaliParser.literal_return retval = new smaliParser.literal_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token LONG_LITERAL100=null;
-		Token SHORT_LITERAL102=null;
-		Token BYTE_LITERAL103=null;
-		Token CHAR_LITERAL106=null;
-		Token STRING_LITERAL107=null;
-		Token BOOL_LITERAL108=null;
-		Token NULL_LITERAL109=null;
-		ParserRuleReturnScope integer_literal101 =null;
-		ParserRuleReturnScope float_literal104 =null;
-		ParserRuleReturnScope double_literal105 =null;
-		ParserRuleReturnScope array_literal110 =null;
-		ParserRuleReturnScope subannotation111 =null;
-		ParserRuleReturnScope type_field_method_literal112 =null;
-		ParserRuleReturnScope enum_literal113 =null;
+		Token LONG_LITERAL107=null;
+		Token SHORT_LITERAL109=null;
+		Token BYTE_LITERAL110=null;
+		Token CHAR_LITERAL113=null;
+		Token STRING_LITERAL114=null;
+		Token BOOL_LITERAL115=null;
+		Token NULL_LITERAL116=null;
+		ParserRuleReturnScope integer_literal108 =null;
+		ParserRuleReturnScope float_literal111 =null;
+		ParserRuleReturnScope double_literal112 =null;
+		ParserRuleReturnScope array_literal117 =null;
+		ParserRuleReturnScope subannotation118 =null;
+		ParserRuleReturnScope type_field_method_literal119 =null;
+		ParserRuleReturnScope enum_literal120 =null;
 
-		CommonTree LONG_LITERAL100_tree=null;
-		CommonTree SHORT_LITERAL102_tree=null;
-		CommonTree BYTE_LITERAL103_tree=null;
-		CommonTree CHAR_LITERAL106_tree=null;
-		CommonTree STRING_LITERAL107_tree=null;
-		CommonTree BOOL_LITERAL108_tree=null;
-		CommonTree NULL_LITERAL109_tree=null;
+		CommonTree LONG_LITERAL107_tree=null;
+		CommonTree SHORT_LITERAL109_tree=null;
+		CommonTree BYTE_LITERAL110_tree=null;
+		CommonTree CHAR_LITERAL113_tree=null;
+		CommonTree STRING_LITERAL114_tree=null;
+		CommonTree BOOL_LITERAL115_tree=null;
+		CommonTree NULL_LITERAL116_tree=null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:634:3: ( LONG_LITERAL | integer_literal | SHORT_LITERAL | BYTE_LITERAL | float_literal | double_literal | CHAR_LITERAL | STRING_LITERAL | BOOL_LITERAL | NULL_LITERAL | array_literal | subannotation | type_field_method_literal | enum_literal )
-			int alt16=14;
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:622:3: ( LONG_LITERAL | integer_literal | SHORT_LITERAL | BYTE_LITERAL | float_literal | double_literal | CHAR_LITERAL | STRING_LITERAL | BOOL_LITERAL | NULL_LITERAL | array_literal | subannotation | type_field_method_literal | enum_literal )
+			int alt19=14;
 			switch ( input.LA(1) ) {
 			case LONG_LITERAL:
 				{
-				alt16=1;
+				alt19=1;
+				}
+				break;
+			case POSITIVE_INTEGER_LITERAL:
+				{
+				int LA19_2 = input.LA(2);
+				if ( (LA19_2==EOF||(LA19_2 >= ACCESS_SPEC && LA19_2 <= ANNOTATION_VISIBILITY)||LA19_2==BOOL_LITERAL||(LA19_2 >= CLASS_DIRECTIVE && LA19_2 <= CLOSE_BRACE)||LA19_2==COMMA||(LA19_2 >= DOUBLE_LITERAL_OR_ID && LA19_2 <= END_ANNOTATION_DIRECTIVE)||LA19_2==END_FIELD_DIRECTIVE||LA19_2==END_SUBANNOTATION_DIRECTIVE||LA19_2==FIELD_DIRECTIVE||(LA19_2 >= FLOAT_LITERAL_OR_ID && LA19_2 <= IMPLEMENTS_DIRECTIVE)||(LA19_2 >= INSTRUCTION_FORMAT10t && LA19_2 <= INSTRUCTION_FORMAT10x_ODEX)||LA19_2==INSTRUCTION_FORMAT11x||LA19_2==INSTRUCTION_FORMAT12x_OR_ID||(LA19_2 >= INSTRUCTION_FORMAT21c_FIELD && LA19_2 <= INSTRUCTION_FORMAT21c_TYPE)||LA19_2==INSTRUCTION_FORMAT21t||(LA19_2 >= INSTRUCTION_FORMAT22c_FIELD && LA19_2 <= INSTRUCTION_FORMAT22cs_FIELD)||(LA19_2 >= INSTRUCTION_FORMAT22s_OR_ID && LA19_2 <= INSTRUCTION_FORMAT22t)||LA19_2==INSTRUCTION_FORMAT23x||(LA19_2 >= INSTRUCTION_FORMAT31i_OR_ID && LA19_2 <= INSTRUCTION_FORMAT31t)||(LA19_2 >= INSTRUCTION_FORMAT35c_METHOD && LA19_2 <= INSTRUCTION_FORMAT35ms_METHOD)||LA19_2==INSTRUCTION_FORMAT51l||(LA19_2 >= METHOD_DIRECTIVE && LA19_2 <= NULL_LITERAL)||LA19_2==PARAM_LIST_OR_ID_START||(LA19_2 >= POSITIVE_INTEGER_LITERAL && LA19_2 <= PRIMITIVE_TYPE)||LA19_2==REGISTER||(LA19_2 >= SIMPLE_NAME && LA19_2 <= SOURCE_DIRECTIVE)||(LA19_2 >= SUPER_DIRECTIVE && LA19_2 <= VOID_TYPE)) ) {
+					alt19=2;
+				}
+				else if ( (LA19_2==COLON||LA19_2==OPEN_PAREN) ) {
+					alt19=13;
+				}
+
+				else {
+					int nvaeMark = input.mark();
+					try {
+						input.consume();
+						NoViableAltException nvae =
+							new NoViableAltException("", 19, 2, input);
+						throw nvae;
+					} finally {
+						input.rewind(nvaeMark);
+					}
+				}
+
 				}
 				break;
 			case NEGATIVE_INTEGER_LITERAL:
-			case POSITIVE_INTEGER_LITERAL:
 				{
-				alt16=2;
+				int LA19_3 = input.LA(2);
+				if ( (LA19_3==EOF||(LA19_3 >= ACCESS_SPEC && LA19_3 <= ANNOTATION_VISIBILITY)||LA19_3==BOOL_LITERAL||(LA19_3 >= CLASS_DIRECTIVE && LA19_3 <= CLOSE_BRACE)||LA19_3==COMMA||(LA19_3 >= DOUBLE_LITERAL_OR_ID && LA19_3 <= END_ANNOTATION_DIRECTIVE)||LA19_3==END_FIELD_DIRECTIVE||LA19_3==END_SUBANNOTATION_DIRECTIVE||LA19_3==FIELD_DIRECTIVE||(LA19_3 >= FLOAT_LITERAL_OR_ID && LA19_3 <= IMPLEMENTS_DIRECTIVE)||(LA19_3 >= INSTRUCTION_FORMAT10t && LA19_3 <= INSTRUCTION_FORMAT10x_ODEX)||LA19_3==INSTRUCTION_FORMAT11x||LA19_3==INSTRUCTION_FORMAT12x_OR_ID||(LA19_3 >= INSTRUCTION_FORMAT21c_FIELD && LA19_3 <= INSTRUCTION_FORMAT21c_TYPE)||LA19_3==INSTRUCTION_FORMAT21t||(LA19_3 >= INSTRUCTION_FORMAT22c_FIELD && LA19_3 <= INSTRUCTION_FORMAT22cs_FIELD)||(LA19_3 >= INSTRUCTION_FORMAT22s_OR_ID && LA19_3 <= INSTRUCTION_FORMAT22t)||LA19_3==INSTRUCTION_FORMAT23x||(LA19_3 >= INSTRUCTION_FORMAT31i_OR_ID && LA19_3 <= INSTRUCTION_FORMAT31t)||(LA19_3 >= INSTRUCTION_FORMAT35c_METHOD && LA19_3 <= INSTRUCTION_FORMAT35ms_METHOD)||LA19_3==INSTRUCTION_FORMAT51l||(LA19_3 >= METHOD_DIRECTIVE && LA19_3 <= NULL_LITERAL)||LA19_3==PARAM_LIST_OR_ID_START||(LA19_3 >= POSITIVE_INTEGER_LITERAL && LA19_3 <= PRIMITIVE_TYPE)||LA19_3==REGISTER||(LA19_3 >= SIMPLE_NAME && LA19_3 <= SOURCE_DIRECTIVE)||(LA19_3 >= SUPER_DIRECTIVE && LA19_3 <= VOID_TYPE)) ) {
+					alt19=2;
+				}
+				else if ( (LA19_3==COLON||LA19_3==OPEN_PAREN) ) {
+					alt19=13;
+				}
+
+				else {
+					int nvaeMark = input.mark();
+					try {
+						input.consume();
+						NoViableAltException nvae =
+							new NoViableAltException("", 19, 3, input);
+						throw nvae;
+					} finally {
+						input.rewind(nvaeMark);
+					}
+				}
+
 				}
 				break;
 			case SHORT_LITERAL:
 				{
-				alt16=3;
+				alt19=3;
 				}
 				break;
 			case BYTE_LITERAL:
 				{
-				alt16=4;
+				alt19=4;
+				}
+				break;
+			case FLOAT_LITERAL_OR_ID:
+				{
+				int LA19_6 = input.LA(2);
+				if ( (LA19_6==EOF||(LA19_6 >= ACCESS_SPEC && LA19_6 <= ANNOTATION_VISIBILITY)||LA19_6==BOOL_LITERAL||(LA19_6 >= CLASS_DIRECTIVE && LA19_6 <= CLOSE_BRACE)||LA19_6==COMMA||(LA19_6 >= DOUBLE_LITERAL_OR_ID && LA19_6 <= END_ANNOTATION_DIRECTIVE)||LA19_6==END_FIELD_DIRECTIVE||LA19_6==END_SUBANNOTATION_DIRECTIVE||LA19_6==FIELD_DIRECTIVE||(LA19_6 >= FLOAT_LITERAL_OR_ID && LA19_6 <= IMPLEMENTS_DIRECTIVE)||(LA19_6 >= INSTRUCTION_FORMAT10t && LA19_6 <= INSTRUCTION_FORMAT10x_ODEX)||LA19_6==INSTRUCTION_FORMAT11x||LA19_6==INSTRUCTION_FORMAT12x_OR_ID||(LA19_6 >= INSTRUCTION_FORMAT21c_FIELD && LA19_6 <= INSTRUCTION_FORMAT21c_TYPE)||LA19_6==INSTRUCTION_FORMAT21t||(LA19_6 >= INSTRUCTION_FORMAT22c_FIELD && LA19_6 <= INSTRUCTION_FORMAT22cs_FIELD)||(LA19_6 >= INSTRUCTION_FORMAT22s_OR_ID && LA19_6 <= INSTRUCTION_FORMAT22t)||LA19_6==INSTRUCTION_FORMAT23x||(LA19_6 >= INSTRUCTION_FORMAT31i_OR_ID && LA19_6 <= INSTRUCTION_FORMAT31t)||(LA19_6 >= INSTRUCTION_FORMAT35c_METHOD && LA19_6 <= INSTRUCTION_FORMAT35ms_METHOD)||LA19_6==INSTRUCTION_FORMAT51l||(LA19_6 >= METHOD_DIRECTIVE && LA19_6 <= NULL_LITERAL)||LA19_6==PARAM_LIST_OR_ID_START||(LA19_6 >= POSITIVE_INTEGER_LITERAL && LA19_6 <= PRIMITIVE_TYPE)||LA19_6==REGISTER||(LA19_6 >= SIMPLE_NAME && LA19_6 <= SOURCE_DIRECTIVE)||(LA19_6 >= SUPER_DIRECTIVE && LA19_6 <= VOID_TYPE)) ) {
+					alt19=5;
+				}
+				else if ( (LA19_6==COLON||LA19_6==OPEN_PAREN) ) {
+					alt19=13;
+				}
+
+				else {
+					int nvaeMark = input.mark();
+					try {
+						input.consume();
+						NoViableAltException nvae =
+							new NoViableAltException("", 19, 6, input);
+						throw nvae;
+					} finally {
+						input.rewind(nvaeMark);
+					}
+				}
+
 				}
 				break;
 			case FLOAT_LITERAL:
-			case FLOAT_LITERAL_OR_ID:
 				{
-				alt16=5;
+				alt19=5;
+				}
+				break;
+			case DOUBLE_LITERAL_OR_ID:
+				{
+				int LA19_8 = input.LA(2);
+				if ( (LA19_8==EOF||(LA19_8 >= ACCESS_SPEC && LA19_8 <= ANNOTATION_VISIBILITY)||LA19_8==BOOL_LITERAL||(LA19_8 >= CLASS_DIRECTIVE && LA19_8 <= CLOSE_BRACE)||LA19_8==COMMA||(LA19_8 >= DOUBLE_LITERAL_OR_ID && LA19_8 <= END_ANNOTATION_DIRECTIVE)||LA19_8==END_FIELD_DIRECTIVE||LA19_8==END_SUBANNOTATION_DIRECTIVE||LA19_8==FIELD_DIRECTIVE||(LA19_8 >= FLOAT_LITERAL_OR_ID && LA19_8 <= IMPLEMENTS_DIRECTIVE)||(LA19_8 >= INSTRUCTION_FORMAT10t && LA19_8 <= INSTRUCTION_FORMAT10x_ODEX)||LA19_8==INSTRUCTION_FORMAT11x||LA19_8==INSTRUCTION_FORMAT12x_OR_ID||(LA19_8 >= INSTRUCTION_FORMAT21c_FIELD && LA19_8 <= INSTRUCTION_FORMAT21c_TYPE)||LA19_8==INSTRUCTION_FORMAT21t||(LA19_8 >= INSTRUCTION_FORMAT22c_FIELD && LA19_8 <= INSTRUCTION_FORMAT22cs_FIELD)||(LA19_8 >= INSTRUCTION_FORMAT22s_OR_ID && LA19_8 <= INSTRUCTION_FORMAT22t)||LA19_8==INSTRUCTION_FORMAT23x||(LA19_8 >= INSTRUCTION_FORMAT31i_OR_ID && LA19_8 <= INSTRUCTION_FORMAT31t)||(LA19_8 >= INSTRUCTION_FORMAT35c_METHOD && LA19_8 <= INSTRUCTION_FORMAT35ms_METHOD)||LA19_8==INSTRUCTION_FORMAT51l||(LA19_8 >= METHOD_DIRECTIVE && LA19_8 <= NULL_LITERAL)||LA19_8==PARAM_LIST_OR_ID_START||(LA19_8 >= POSITIVE_INTEGER_LITERAL && LA19_8 <= PRIMITIVE_TYPE)||LA19_8==REGISTER||(LA19_8 >= SIMPLE_NAME && LA19_8 <= SOURCE_DIRECTIVE)||(LA19_8 >= SUPER_DIRECTIVE && LA19_8 <= VOID_TYPE)) ) {
+					alt19=6;
+				}
+				else if ( (LA19_8==COLON||LA19_8==OPEN_PAREN) ) {
+					alt19=13;
+				}
+
+				else {
+					int nvaeMark = input.mark();
+					try {
+						input.consume();
+						NoViableAltException nvae =
+							new NoViableAltException("", 19, 8, input);
+						throw nvae;
+					} finally {
+						input.rewind(nvaeMark);
+					}
+				}
+
 				}
 				break;
 			case DOUBLE_LITERAL:
-			case DOUBLE_LITERAL_OR_ID:
 				{
-				alt16=6;
+				alt19=6;
 				}
 				break;
 			case CHAR_LITERAL:
 				{
-				alt16=7;
+				alt19=7;
 				}
 				break;
 			case STRING_LITERAL:
 				{
-				alt16=8;
+				alt19=8;
 				}
 				break;
 			case BOOL_LITERAL:
 				{
-				alt16=9;
+				int LA19_12 = input.LA(2);
+				if ( (LA19_12==EOF||(LA19_12 >= ACCESS_SPEC && LA19_12 <= ANNOTATION_VISIBILITY)||LA19_12==BOOL_LITERAL||(LA19_12 >= CLASS_DIRECTIVE && LA19_12 <= CLOSE_BRACE)||LA19_12==COMMA||(LA19_12 >= DOUBLE_LITERAL_OR_ID && LA19_12 <= END_ANNOTATION_DIRECTIVE)||LA19_12==END_FIELD_DIRECTIVE||LA19_12==END_SUBANNOTATION_DIRECTIVE||LA19_12==FIELD_DIRECTIVE||(LA19_12 >= FLOAT_LITERAL_OR_ID && LA19_12 <= IMPLEMENTS_DIRECTIVE)||(LA19_12 >= INSTRUCTION_FORMAT10t && LA19_12 <= INSTRUCTION_FORMAT10x_ODEX)||LA19_12==INSTRUCTION_FORMAT11x||LA19_12==INSTRUCTION_FORMAT12x_OR_ID||(LA19_12 >= INSTRUCTION_FORMAT21c_FIELD && LA19_12 <= INSTRUCTION_FORMAT21c_TYPE)||LA19_12==INSTRUCTION_FORMAT21t||(LA19_12 >= INSTRUCTION_FORMAT22c_FIELD && LA19_12 <= INSTRUCTION_FORMAT22cs_FIELD)||(LA19_12 >= INSTRUCTION_FORMAT22s_OR_ID && LA19_12 <= INSTRUCTION_FORMAT22t)||LA19_12==INSTRUCTION_FORMAT23x||(LA19_12 >= INSTRUCTION_FORMAT31i_OR_ID && LA19_12 <= INSTRUCTION_FORMAT31t)||(LA19_12 >= INSTRUCTION_FORMAT35c_METHOD && LA19_12 <= INSTRUCTION_FORMAT35ms_METHOD)||LA19_12==INSTRUCTION_FORMAT51l||(LA19_12 >= METHOD_DIRECTIVE && LA19_12 <= NULL_LITERAL)||LA19_12==PARAM_LIST_OR_ID_START||(LA19_12 >= POSITIVE_INTEGER_LITERAL && LA19_12 <= PRIMITIVE_TYPE)||LA19_12==REGISTER||(LA19_12 >= SIMPLE_NAME && LA19_12 <= SOURCE_DIRECTIVE)||(LA19_12 >= SUPER_DIRECTIVE && LA19_12 <= VOID_TYPE)) ) {
+					alt19=9;
+				}
+				else if ( (LA19_12==COLON||LA19_12==OPEN_PAREN) ) {
+					alt19=13;
+				}
+
+				else {
+					int nvaeMark = input.mark();
+					try {
+						input.consume();
+						NoViableAltException nvae =
+							new NoViableAltException("", 19, 12, input);
+						throw nvae;
+					} finally {
+						input.rewind(nvaeMark);
+					}
+				}
+
 				}
 				break;
 			case NULL_LITERAL:
 				{
-				alt16=10;
+				int LA19_13 = input.LA(2);
+				if ( (LA19_13==EOF||(LA19_13 >= ACCESS_SPEC && LA19_13 <= ANNOTATION_VISIBILITY)||LA19_13==BOOL_LITERAL||(LA19_13 >= CLASS_DIRECTIVE && LA19_13 <= CLOSE_BRACE)||LA19_13==COMMA||(LA19_13 >= DOUBLE_LITERAL_OR_ID && LA19_13 <= END_ANNOTATION_DIRECTIVE)||LA19_13==END_FIELD_DIRECTIVE||LA19_13==END_SUBANNOTATION_DIRECTIVE||LA19_13==FIELD_DIRECTIVE||(LA19_13 >= FLOAT_LITERAL_OR_ID && LA19_13 <= IMPLEMENTS_DIRECTIVE)||(LA19_13 >= INSTRUCTION_FORMAT10t && LA19_13 <= INSTRUCTION_FORMAT10x_ODEX)||LA19_13==INSTRUCTION_FORMAT11x||LA19_13==INSTRUCTION_FORMAT12x_OR_ID||(LA19_13 >= INSTRUCTION_FORMAT21c_FIELD && LA19_13 <= INSTRUCTION_FORMAT21c_TYPE)||LA19_13==INSTRUCTION_FORMAT21t||(LA19_13 >= INSTRUCTION_FORMAT22c_FIELD && LA19_13 <= INSTRUCTION_FORMAT22cs_FIELD)||(LA19_13 >= INSTRUCTION_FORMAT22s_OR_ID && LA19_13 <= INSTRUCTION_FORMAT22t)||LA19_13==INSTRUCTION_FORMAT23x||(LA19_13 >= INSTRUCTION_FORMAT31i_OR_ID && LA19_13 <= INSTRUCTION_FORMAT31t)||(LA19_13 >= INSTRUCTION_FORMAT35c_METHOD && LA19_13 <= INSTRUCTION_FORMAT35ms_METHOD)||LA19_13==INSTRUCTION_FORMAT51l||(LA19_13 >= METHOD_DIRECTIVE && LA19_13 <= NULL_LITERAL)||LA19_13==PARAM_LIST_OR_ID_START||(LA19_13 >= POSITIVE_INTEGER_LITERAL && LA19_13 <= PRIMITIVE_TYPE)||LA19_13==REGISTER||(LA19_13 >= SIMPLE_NAME && LA19_13 <= SOURCE_DIRECTIVE)||(LA19_13 >= SUPER_DIRECTIVE && LA19_13 <= VOID_TYPE)) ) {
+					alt19=10;
+				}
+				else if ( (LA19_13==COLON||LA19_13==OPEN_PAREN) ) {
+					alt19=13;
+				}
+
+				else {
+					int nvaeMark = input.mark();
+					try {
+						input.consume();
+						NoViableAltException nvae =
+							new NoViableAltException("", 19, 13, input);
+						throw nvae;
+					} finally {
+						input.rewind(nvaeMark);
+					}
+				}
+
 				}
 				break;
 			case OPEN_BRACE:
 				{
-				alt16=11;
+				alt19=11;
 				}
 				break;
 			case SUBANNOTATION_DIRECTIVE:
 				{
-				alt16=12;
+				alt19=12;
 				}
 				break;
+			case ACCESS_SPEC:
+			case ANNOTATION_VISIBILITY:
 			case ARRAY_DESCRIPTOR:
 			case CLASS_DESCRIPTOR:
+			case INSTRUCTION_FORMAT10t:
+			case INSTRUCTION_FORMAT10x:
+			case INSTRUCTION_FORMAT10x_ODEX:
+			case INSTRUCTION_FORMAT11x:
+			case INSTRUCTION_FORMAT12x_OR_ID:
+			case INSTRUCTION_FORMAT21c_FIELD:
+			case INSTRUCTION_FORMAT21c_FIELD_ODEX:
+			case INSTRUCTION_FORMAT21c_STRING:
+			case INSTRUCTION_FORMAT21c_TYPE:
+			case INSTRUCTION_FORMAT21t:
+			case INSTRUCTION_FORMAT22c_FIELD:
+			case INSTRUCTION_FORMAT22c_FIELD_ODEX:
+			case INSTRUCTION_FORMAT22c_TYPE:
+			case INSTRUCTION_FORMAT22cs_FIELD:
+			case INSTRUCTION_FORMAT22s_OR_ID:
+			case INSTRUCTION_FORMAT22t:
+			case INSTRUCTION_FORMAT23x:
+			case INSTRUCTION_FORMAT31i_OR_ID:
+			case INSTRUCTION_FORMAT31t:
+			case INSTRUCTION_FORMAT35c_METHOD:
+			case INSTRUCTION_FORMAT35c_METHOD_ODEX:
+			case INSTRUCTION_FORMAT35c_TYPE:
+			case INSTRUCTION_FORMAT35mi_METHOD:
+			case INSTRUCTION_FORMAT35ms_METHOD:
+			case INSTRUCTION_FORMAT51l:
+			case MEMBER_NAME:
+			case PARAM_LIST_OR_ID_START:
 			case PRIMITIVE_TYPE:
+			case REGISTER:
+			case SIMPLE_NAME:
+			case VERIFICATION_ERROR_TYPE:
 			case VOID_TYPE:
 				{
-				alt16=13;
+				alt19=13;
 				}
 				break;
 			case ENUM_DIRECTIVE:
 				{
-				alt16=14;
+				alt19=14;
 				}
 				break;
 			default:
 				NoViableAltException nvae =
-					new NoViableAltException("", 16, 0, input);
+					new NoViableAltException("", 19, 0, input);
 				throw nvae;
 			}
-			switch (alt16) {
+			switch (alt19) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:634:5: LONG_LITERAL
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:622:5: LONG_LITERAL
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					LONG_LITERAL100=(Token)match(input,LONG_LITERAL,FOLLOW_LONG_LITERAL_in_literal2486); 
-					LONG_LITERAL100_tree = (CommonTree)adaptor.create(LONG_LITERAL100);
-					adaptor.addChild(root_0, LONG_LITERAL100_tree);
+					LONG_LITERAL107=(Token)match(input,LONG_LITERAL,FOLLOW_LONG_LITERAL_in_literal2437);
+					LONG_LITERAL107_tree = (CommonTree)adaptor.create(LONG_LITERAL107);
+					adaptor.addChild(root_0, LONG_LITERAL107_tree);
 
 					}
 					break;
 				case 2 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:635:5: integer_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:623:5: integer_literal
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_integer_literal_in_literal2492);
-					integer_literal101=integer_literal();
+					pushFollow(FOLLOW_integer_literal_in_literal2443);
+					integer_literal108=integer_literal();
 					state._fsp--;
 
-					adaptor.addChild(root_0, integer_literal101.getTree());
+					adaptor.addChild(root_0, integer_literal108.getTree());
 
 					}
 					break;
 				case 3 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:636:5: SHORT_LITERAL
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:624:5: SHORT_LITERAL
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					SHORT_LITERAL102=(Token)match(input,SHORT_LITERAL,FOLLOW_SHORT_LITERAL_in_literal2498); 
-					SHORT_LITERAL102_tree = (CommonTree)adaptor.create(SHORT_LITERAL102);
-					adaptor.addChild(root_0, SHORT_LITERAL102_tree);
+					SHORT_LITERAL109=(Token)match(input,SHORT_LITERAL,FOLLOW_SHORT_LITERAL_in_literal2449);
+					SHORT_LITERAL109_tree = (CommonTree)adaptor.create(SHORT_LITERAL109);
+					adaptor.addChild(root_0, SHORT_LITERAL109_tree);
 
 					}
 					break;
 				case 4 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:637:5: BYTE_LITERAL
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:625:5: BYTE_LITERAL
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					BYTE_LITERAL103=(Token)match(input,BYTE_LITERAL,FOLLOW_BYTE_LITERAL_in_literal2504); 
-					BYTE_LITERAL103_tree = (CommonTree)adaptor.create(BYTE_LITERAL103);
-					adaptor.addChild(root_0, BYTE_LITERAL103_tree);
+					BYTE_LITERAL110=(Token)match(input,BYTE_LITERAL,FOLLOW_BYTE_LITERAL_in_literal2455);
+					BYTE_LITERAL110_tree = (CommonTree)adaptor.create(BYTE_LITERAL110);
+					adaptor.addChild(root_0, BYTE_LITERAL110_tree);
 
 					}
 					break;
 				case 5 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:638:5: float_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:626:5: float_literal
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_float_literal_in_literal2510);
-					float_literal104=float_literal();
+					pushFollow(FOLLOW_float_literal_in_literal2461);
+					float_literal111=float_literal();
 					state._fsp--;
 
-					adaptor.addChild(root_0, float_literal104.getTree());
+					adaptor.addChild(root_0, float_literal111.getTree());
 
 					}
 					break;
 				case 6 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:639:5: double_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:627:5: double_literal
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_double_literal_in_literal2516);
-					double_literal105=double_literal();
+					pushFollow(FOLLOW_double_literal_in_literal2467);
+					double_literal112=double_literal();
 					state._fsp--;
 
-					adaptor.addChild(root_0, double_literal105.getTree());
+					adaptor.addChild(root_0, double_literal112.getTree());
 
 					}
 					break;
 				case 7 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:640:5: CHAR_LITERAL
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:628:5: CHAR_LITERAL
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					CHAR_LITERAL106=(Token)match(input,CHAR_LITERAL,FOLLOW_CHAR_LITERAL_in_literal2522); 
-					CHAR_LITERAL106_tree = (CommonTree)adaptor.create(CHAR_LITERAL106);
-					adaptor.addChild(root_0, CHAR_LITERAL106_tree);
+					CHAR_LITERAL113=(Token)match(input,CHAR_LITERAL,FOLLOW_CHAR_LITERAL_in_literal2473);
+					CHAR_LITERAL113_tree = (CommonTree)adaptor.create(CHAR_LITERAL113);
+					adaptor.addChild(root_0, CHAR_LITERAL113_tree);
 
 					}
 					break;
 				case 8 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:641:5: STRING_LITERAL
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:629:5: STRING_LITERAL
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					STRING_LITERAL107=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_literal2528); 
-					STRING_LITERAL107_tree = (CommonTree)adaptor.create(STRING_LITERAL107);
-					adaptor.addChild(root_0, STRING_LITERAL107_tree);
+					STRING_LITERAL114=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_literal2479);
+					STRING_LITERAL114_tree = (CommonTree)adaptor.create(STRING_LITERAL114);
+					adaptor.addChild(root_0, STRING_LITERAL114_tree);
 
 					}
 					break;
 				case 9 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:642:5: BOOL_LITERAL
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:630:5: BOOL_LITERAL
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					BOOL_LITERAL108=(Token)match(input,BOOL_LITERAL,FOLLOW_BOOL_LITERAL_in_literal2534); 
-					BOOL_LITERAL108_tree = (CommonTree)adaptor.create(BOOL_LITERAL108);
-					adaptor.addChild(root_0, BOOL_LITERAL108_tree);
+					BOOL_LITERAL115=(Token)match(input,BOOL_LITERAL,FOLLOW_BOOL_LITERAL_in_literal2485);
+					BOOL_LITERAL115_tree = (CommonTree)adaptor.create(BOOL_LITERAL115);
+					adaptor.addChild(root_0, BOOL_LITERAL115_tree);
 
 					}
 					break;
 				case 10 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:643:5: NULL_LITERAL
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:631:5: NULL_LITERAL
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					NULL_LITERAL109=(Token)match(input,NULL_LITERAL,FOLLOW_NULL_LITERAL_in_literal2540); 
-					NULL_LITERAL109_tree = (CommonTree)adaptor.create(NULL_LITERAL109);
-					adaptor.addChild(root_0, NULL_LITERAL109_tree);
+					NULL_LITERAL116=(Token)match(input,NULL_LITERAL,FOLLOW_NULL_LITERAL_in_literal2491);
+					NULL_LITERAL116_tree = (CommonTree)adaptor.create(NULL_LITERAL116);
+					adaptor.addChild(root_0, NULL_LITERAL116_tree);
 
 					}
 					break;
 				case 11 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:644:5: array_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:632:5: array_literal
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_array_literal_in_literal2546);
-					array_literal110=array_literal();
+					pushFollow(FOLLOW_array_literal_in_literal2497);
+					array_literal117=array_literal();
 					state._fsp--;
 
-					adaptor.addChild(root_0, array_literal110.getTree());
+					adaptor.addChild(root_0, array_literal117.getTree());
 
 					}
 					break;
 				case 12 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:645:5: subannotation
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:633:5: subannotation
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_subannotation_in_literal2552);
-					subannotation111=subannotation();
+					pushFollow(FOLLOW_subannotation_in_literal2503);
+					subannotation118=subannotation();
 					state._fsp--;
 
-					adaptor.addChild(root_0, subannotation111.getTree());
+					adaptor.addChild(root_0, subannotation118.getTree());
 
 					}
 					break;
 				case 13 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:646:5: type_field_method_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:634:5: type_field_method_literal
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_type_field_method_literal_in_literal2558);
-					type_field_method_literal112=type_field_method_literal();
+					pushFollow(FOLLOW_type_field_method_literal_in_literal2509);
+					type_field_method_literal119=type_field_method_literal();
 					state._fsp--;
 
-					adaptor.addChild(root_0, type_field_method_literal112.getTree());
+					adaptor.addChild(root_0, type_field_method_literal119.getTree());
 
 					}
 					break;
 				case 14 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:647:5: enum_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:635:5: enum_literal
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_enum_literal_in_literal2564);
-					enum_literal113=enum_literal();
+					pushFollow(FOLLOW_enum_literal_in_literal2515);
+					enum_literal120=enum_literal();
 					state._fsp--;
 
-					adaptor.addChild(root_0, enum_literal113.getTree());
+					adaptor.addChild(root_0, enum_literal120.getTree());
 
 					}
 					break;
@@ -4799,30 +5104,30 @@
 
 
 	// $ANTLR start "parsed_integer_literal"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:649:1: parsed_integer_literal returns [int value] : integer_literal ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:637:1: parsed_integer_literal returns [int value] : integer_literal ;
 	public final smaliParser.parsed_integer_literal_return parsed_integer_literal() throws RecognitionException {
 		smaliParser.parsed_integer_literal_return retval = new smaliParser.parsed_integer_literal_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		ParserRuleReturnScope integer_literal114 =null;
+		ParserRuleReturnScope integer_literal121 =null;
 
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:650:3: ( integer_literal )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:650:5: integer_literal
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:638:3: ( integer_literal )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:638:5: integer_literal
 			{
 			root_0 = (CommonTree)adaptor.nil();
 
 
-			pushFollow(FOLLOW_integer_literal_in_parsed_integer_literal2577);
-			integer_literal114=integer_literal();
+			pushFollow(FOLLOW_integer_literal_in_parsed_integer_literal2528);
+			integer_literal121=integer_literal();
 			state._fsp--;
 
-			adaptor.addChild(root_0, integer_literal114.getTree());
+			adaptor.addChild(root_0, integer_literal121.getTree());
 
-			 retval.value = LiteralTools.parseInt((integer_literal114!=null?input.toString(integer_literal114.start,integer_literal114.stop):null)); 
+			 retval.value = LiteralTools.parseInt((integer_literal121!=null?input.toString(integer_literal121.start,integer_literal121.stop):null));
 			}
 
 			retval.stop = input.LT(-1);
@@ -4852,119 +5157,119 @@
 
 
 	// $ANTLR start "integral_literal"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:652:1: integral_literal : ( LONG_LITERAL | integer_literal | SHORT_LITERAL | CHAR_LITERAL | BYTE_LITERAL );
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:640:1: integral_literal : ( LONG_LITERAL | integer_literal | SHORT_LITERAL | CHAR_LITERAL | BYTE_LITERAL );
 	public final smaliParser.integral_literal_return integral_literal() throws RecognitionException {
 		smaliParser.integral_literal_return retval = new smaliParser.integral_literal_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token LONG_LITERAL115=null;
-		Token SHORT_LITERAL117=null;
-		Token CHAR_LITERAL118=null;
-		Token BYTE_LITERAL119=null;
-		ParserRuleReturnScope integer_literal116 =null;
+		Token LONG_LITERAL122=null;
+		Token SHORT_LITERAL124=null;
+		Token CHAR_LITERAL125=null;
+		Token BYTE_LITERAL126=null;
+		ParserRuleReturnScope integer_literal123 =null;
 
-		CommonTree LONG_LITERAL115_tree=null;
-		CommonTree SHORT_LITERAL117_tree=null;
-		CommonTree CHAR_LITERAL118_tree=null;
-		CommonTree BYTE_LITERAL119_tree=null;
+		CommonTree LONG_LITERAL122_tree=null;
+		CommonTree SHORT_LITERAL124_tree=null;
+		CommonTree CHAR_LITERAL125_tree=null;
+		CommonTree BYTE_LITERAL126_tree=null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:653:3: ( LONG_LITERAL | integer_literal | SHORT_LITERAL | CHAR_LITERAL | BYTE_LITERAL )
-			int alt17=5;
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:641:3: ( LONG_LITERAL | integer_literal | SHORT_LITERAL | CHAR_LITERAL | BYTE_LITERAL )
+			int alt20=5;
 			switch ( input.LA(1) ) {
 			case LONG_LITERAL:
 				{
-				alt17=1;
+				alt20=1;
 				}
 				break;
 			case NEGATIVE_INTEGER_LITERAL:
 			case POSITIVE_INTEGER_LITERAL:
 				{
-				alt17=2;
+				alt20=2;
 				}
 				break;
 			case SHORT_LITERAL:
 				{
-				alt17=3;
+				alt20=3;
 				}
 				break;
 			case CHAR_LITERAL:
 				{
-				alt17=4;
+				alt20=4;
 				}
 				break;
 			case BYTE_LITERAL:
 				{
-				alt17=5;
+				alt20=5;
 				}
 				break;
 			default:
 				NoViableAltException nvae =
-					new NoViableAltException("", 17, 0, input);
+					new NoViableAltException("", 20, 0, input);
 				throw nvae;
 			}
-			switch (alt17) {
+			switch (alt20) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:653:5: LONG_LITERAL
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:641:5: LONG_LITERAL
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					LONG_LITERAL115=(Token)match(input,LONG_LITERAL,FOLLOW_LONG_LITERAL_in_integral_literal2589); 
-					LONG_LITERAL115_tree = (CommonTree)adaptor.create(LONG_LITERAL115);
-					adaptor.addChild(root_0, LONG_LITERAL115_tree);
+					LONG_LITERAL122=(Token)match(input,LONG_LITERAL,FOLLOW_LONG_LITERAL_in_integral_literal2540);
+					LONG_LITERAL122_tree = (CommonTree)adaptor.create(LONG_LITERAL122);
+					adaptor.addChild(root_0, LONG_LITERAL122_tree);
 
 					}
 					break;
 				case 2 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:654:5: integer_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:642:5: integer_literal
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_integer_literal_in_integral_literal2595);
-					integer_literal116=integer_literal();
+					pushFollow(FOLLOW_integer_literal_in_integral_literal2546);
+					integer_literal123=integer_literal();
 					state._fsp--;
 
-					adaptor.addChild(root_0, integer_literal116.getTree());
+					adaptor.addChild(root_0, integer_literal123.getTree());
 
 					}
 					break;
 				case 3 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:655:5: SHORT_LITERAL
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:643:5: SHORT_LITERAL
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					SHORT_LITERAL117=(Token)match(input,SHORT_LITERAL,FOLLOW_SHORT_LITERAL_in_integral_literal2601); 
-					SHORT_LITERAL117_tree = (CommonTree)adaptor.create(SHORT_LITERAL117);
-					adaptor.addChild(root_0, SHORT_LITERAL117_tree);
+					SHORT_LITERAL124=(Token)match(input,SHORT_LITERAL,FOLLOW_SHORT_LITERAL_in_integral_literal2552);
+					SHORT_LITERAL124_tree = (CommonTree)adaptor.create(SHORT_LITERAL124);
+					adaptor.addChild(root_0, SHORT_LITERAL124_tree);
 
 					}
 					break;
 				case 4 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:656:5: CHAR_LITERAL
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:644:5: CHAR_LITERAL
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					CHAR_LITERAL118=(Token)match(input,CHAR_LITERAL,FOLLOW_CHAR_LITERAL_in_integral_literal2607); 
-					CHAR_LITERAL118_tree = (CommonTree)adaptor.create(CHAR_LITERAL118);
-					adaptor.addChild(root_0, CHAR_LITERAL118_tree);
+					CHAR_LITERAL125=(Token)match(input,CHAR_LITERAL,FOLLOW_CHAR_LITERAL_in_integral_literal2558);
+					CHAR_LITERAL125_tree = (CommonTree)adaptor.create(CHAR_LITERAL125);
+					adaptor.addChild(root_0, CHAR_LITERAL125_tree);
 
 					}
 					break;
 				case 5 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:657:5: BYTE_LITERAL
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:645:5: BYTE_LITERAL
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					BYTE_LITERAL119=(Token)match(input,BYTE_LITERAL,FOLLOW_BYTE_LITERAL_in_integral_literal2613); 
-					BYTE_LITERAL119_tree = (CommonTree)adaptor.create(BYTE_LITERAL119);
-					adaptor.addChild(root_0, BYTE_LITERAL119_tree);
+					BYTE_LITERAL126=(Token)match(input,BYTE_LITERAL,FOLLOW_BYTE_LITERAL_in_integral_literal2564);
+					BYTE_LITERAL126_tree = (CommonTree)adaptor.create(BYTE_LITERAL126);
+					adaptor.addChild(root_0, BYTE_LITERAL126_tree);
 
 					}
 					break;
@@ -4997,159 +5302,159 @@
 
 
 	// $ANTLR start "fixed_32bit_literal"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:659:1: fixed_32bit_literal : ( LONG_LITERAL | integer_literal | SHORT_LITERAL | BYTE_LITERAL | float_literal | CHAR_LITERAL | BOOL_LITERAL );
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:647:1: fixed_32bit_literal : ( LONG_LITERAL | integer_literal | SHORT_LITERAL | BYTE_LITERAL | float_literal | CHAR_LITERAL | BOOL_LITERAL );
 	public final smaliParser.fixed_32bit_literal_return fixed_32bit_literal() throws RecognitionException {
 		smaliParser.fixed_32bit_literal_return retval = new smaliParser.fixed_32bit_literal_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token LONG_LITERAL120=null;
-		Token SHORT_LITERAL122=null;
-		Token BYTE_LITERAL123=null;
-		Token CHAR_LITERAL125=null;
-		Token BOOL_LITERAL126=null;
-		ParserRuleReturnScope integer_literal121 =null;
-		ParserRuleReturnScope float_literal124 =null;
+		Token LONG_LITERAL127=null;
+		Token SHORT_LITERAL129=null;
+		Token BYTE_LITERAL130=null;
+		Token CHAR_LITERAL132=null;
+		Token BOOL_LITERAL133=null;
+		ParserRuleReturnScope integer_literal128 =null;
+		ParserRuleReturnScope float_literal131 =null;
 
-		CommonTree LONG_LITERAL120_tree=null;
-		CommonTree SHORT_LITERAL122_tree=null;
-		CommonTree BYTE_LITERAL123_tree=null;
-		CommonTree CHAR_LITERAL125_tree=null;
-		CommonTree BOOL_LITERAL126_tree=null;
+		CommonTree LONG_LITERAL127_tree=null;
+		CommonTree SHORT_LITERAL129_tree=null;
+		CommonTree BYTE_LITERAL130_tree=null;
+		CommonTree CHAR_LITERAL132_tree=null;
+		CommonTree BOOL_LITERAL133_tree=null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:660:3: ( LONG_LITERAL | integer_literal | SHORT_LITERAL | BYTE_LITERAL | float_literal | CHAR_LITERAL | BOOL_LITERAL )
-			int alt18=7;
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:648:3: ( LONG_LITERAL | integer_literal | SHORT_LITERAL | BYTE_LITERAL | float_literal | CHAR_LITERAL | BOOL_LITERAL )
+			int alt21=7;
 			switch ( input.LA(1) ) {
 			case LONG_LITERAL:
 				{
-				alt18=1;
+				alt21=1;
 				}
 				break;
 			case NEGATIVE_INTEGER_LITERAL:
 			case POSITIVE_INTEGER_LITERAL:
 				{
-				alt18=2;
+				alt21=2;
 				}
 				break;
 			case SHORT_LITERAL:
 				{
-				alt18=3;
+				alt21=3;
 				}
 				break;
 			case BYTE_LITERAL:
 				{
-				alt18=4;
+				alt21=4;
 				}
 				break;
 			case FLOAT_LITERAL:
 			case FLOAT_LITERAL_OR_ID:
 				{
-				alt18=5;
+				alt21=5;
 				}
 				break;
 			case CHAR_LITERAL:
 				{
-				alt18=6;
+				alt21=6;
 				}
 				break;
 			case BOOL_LITERAL:
 				{
-				alt18=7;
+				alt21=7;
 				}
 				break;
 			default:
 				NoViableAltException nvae =
-					new NoViableAltException("", 18, 0, input);
+					new NoViableAltException("", 21, 0, input);
 				throw nvae;
 			}
-			switch (alt18) {
+			switch (alt21) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:660:5: LONG_LITERAL
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:648:5: LONG_LITERAL
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					LONG_LITERAL120=(Token)match(input,LONG_LITERAL,FOLLOW_LONG_LITERAL_in_fixed_32bit_literal2623); 
-					LONG_LITERAL120_tree = (CommonTree)adaptor.create(LONG_LITERAL120);
-					adaptor.addChild(root_0, LONG_LITERAL120_tree);
+					LONG_LITERAL127=(Token)match(input,LONG_LITERAL,FOLLOW_LONG_LITERAL_in_fixed_32bit_literal2574);
+					LONG_LITERAL127_tree = (CommonTree)adaptor.create(LONG_LITERAL127);
+					adaptor.addChild(root_0, LONG_LITERAL127_tree);
 
 					}
 					break;
 				case 2 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:661:5: integer_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:649:5: integer_literal
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_integer_literal_in_fixed_32bit_literal2629);
-					integer_literal121=integer_literal();
+					pushFollow(FOLLOW_integer_literal_in_fixed_32bit_literal2580);
+					integer_literal128=integer_literal();
 					state._fsp--;
 
-					adaptor.addChild(root_0, integer_literal121.getTree());
+					adaptor.addChild(root_0, integer_literal128.getTree());
 
 					}
 					break;
 				case 3 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:662:5: SHORT_LITERAL
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:650:5: SHORT_LITERAL
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					SHORT_LITERAL122=(Token)match(input,SHORT_LITERAL,FOLLOW_SHORT_LITERAL_in_fixed_32bit_literal2635); 
-					SHORT_LITERAL122_tree = (CommonTree)adaptor.create(SHORT_LITERAL122);
-					adaptor.addChild(root_0, SHORT_LITERAL122_tree);
+					SHORT_LITERAL129=(Token)match(input,SHORT_LITERAL,FOLLOW_SHORT_LITERAL_in_fixed_32bit_literal2586);
+					SHORT_LITERAL129_tree = (CommonTree)adaptor.create(SHORT_LITERAL129);
+					adaptor.addChild(root_0, SHORT_LITERAL129_tree);
 
 					}
 					break;
 				case 4 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:663:5: BYTE_LITERAL
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:651:5: BYTE_LITERAL
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					BYTE_LITERAL123=(Token)match(input,BYTE_LITERAL,FOLLOW_BYTE_LITERAL_in_fixed_32bit_literal2641); 
-					BYTE_LITERAL123_tree = (CommonTree)adaptor.create(BYTE_LITERAL123);
-					adaptor.addChild(root_0, BYTE_LITERAL123_tree);
+					BYTE_LITERAL130=(Token)match(input,BYTE_LITERAL,FOLLOW_BYTE_LITERAL_in_fixed_32bit_literal2592);
+					BYTE_LITERAL130_tree = (CommonTree)adaptor.create(BYTE_LITERAL130);
+					adaptor.addChild(root_0, BYTE_LITERAL130_tree);
 
 					}
 					break;
 				case 5 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:664:5: float_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:652:5: float_literal
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_float_literal_in_fixed_32bit_literal2647);
-					float_literal124=float_literal();
+					pushFollow(FOLLOW_float_literal_in_fixed_32bit_literal2598);
+					float_literal131=float_literal();
 					state._fsp--;
 
-					adaptor.addChild(root_0, float_literal124.getTree());
+					adaptor.addChild(root_0, float_literal131.getTree());
 
 					}
 					break;
 				case 6 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:665:5: CHAR_LITERAL
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:653:5: CHAR_LITERAL
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					CHAR_LITERAL125=(Token)match(input,CHAR_LITERAL,FOLLOW_CHAR_LITERAL_in_fixed_32bit_literal2653); 
-					CHAR_LITERAL125_tree = (CommonTree)adaptor.create(CHAR_LITERAL125);
-					adaptor.addChild(root_0, CHAR_LITERAL125_tree);
+					CHAR_LITERAL132=(Token)match(input,CHAR_LITERAL,FOLLOW_CHAR_LITERAL_in_fixed_32bit_literal2604);
+					CHAR_LITERAL132_tree = (CommonTree)adaptor.create(CHAR_LITERAL132);
+					adaptor.addChild(root_0, CHAR_LITERAL132_tree);
 
 					}
 					break;
 				case 7 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:666:5: BOOL_LITERAL
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:654:5: BOOL_LITERAL
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					BOOL_LITERAL126=(Token)match(input,BOOL_LITERAL,FOLLOW_BOOL_LITERAL_in_fixed_32bit_literal2659); 
-					BOOL_LITERAL126_tree = (CommonTree)adaptor.create(BOOL_LITERAL126);
-					adaptor.addChild(root_0, BOOL_LITERAL126_tree);
+					BOOL_LITERAL133=(Token)match(input,BOOL_LITERAL,FOLLOW_BOOL_LITERAL_in_fixed_32bit_literal2610);
+					BOOL_LITERAL133_tree = (CommonTree)adaptor.create(BOOL_LITERAL133);
+					adaptor.addChild(root_0, BOOL_LITERAL133_tree);
 
 					}
 					break;
@@ -5182,180 +5487,180 @@
 
 
 	// $ANTLR start "fixed_literal"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:668:1: fixed_literal : ( integer_literal | LONG_LITERAL | SHORT_LITERAL | BYTE_LITERAL | float_literal | double_literal | CHAR_LITERAL | BOOL_LITERAL );
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:656:1: fixed_literal : ( integer_literal | LONG_LITERAL | SHORT_LITERAL | BYTE_LITERAL | float_literal | double_literal | CHAR_LITERAL | BOOL_LITERAL );
 	public final smaliParser.fixed_literal_return fixed_literal() throws RecognitionException {
 		smaliParser.fixed_literal_return retval = new smaliParser.fixed_literal_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token LONG_LITERAL128=null;
-		Token SHORT_LITERAL129=null;
-		Token BYTE_LITERAL130=null;
-		Token CHAR_LITERAL133=null;
-		Token BOOL_LITERAL134=null;
-		ParserRuleReturnScope integer_literal127 =null;
-		ParserRuleReturnScope float_literal131 =null;
-		ParserRuleReturnScope double_literal132 =null;
+		Token LONG_LITERAL135=null;
+		Token SHORT_LITERAL136=null;
+		Token BYTE_LITERAL137=null;
+		Token CHAR_LITERAL140=null;
+		Token BOOL_LITERAL141=null;
+		ParserRuleReturnScope integer_literal134 =null;
+		ParserRuleReturnScope float_literal138 =null;
+		ParserRuleReturnScope double_literal139 =null;
 
-		CommonTree LONG_LITERAL128_tree=null;
-		CommonTree SHORT_LITERAL129_tree=null;
-		CommonTree BYTE_LITERAL130_tree=null;
-		CommonTree CHAR_LITERAL133_tree=null;
-		CommonTree BOOL_LITERAL134_tree=null;
+		CommonTree LONG_LITERAL135_tree=null;
+		CommonTree SHORT_LITERAL136_tree=null;
+		CommonTree BYTE_LITERAL137_tree=null;
+		CommonTree CHAR_LITERAL140_tree=null;
+		CommonTree BOOL_LITERAL141_tree=null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:669:3: ( integer_literal | LONG_LITERAL | SHORT_LITERAL | BYTE_LITERAL | float_literal | double_literal | CHAR_LITERAL | BOOL_LITERAL )
-			int alt19=8;
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:657:3: ( integer_literal | LONG_LITERAL | SHORT_LITERAL | BYTE_LITERAL | float_literal | double_literal | CHAR_LITERAL | BOOL_LITERAL )
+			int alt22=8;
 			switch ( input.LA(1) ) {
 			case NEGATIVE_INTEGER_LITERAL:
 			case POSITIVE_INTEGER_LITERAL:
 				{
-				alt19=1;
+				alt22=1;
 				}
 				break;
 			case LONG_LITERAL:
 				{
-				alt19=2;
+				alt22=2;
 				}
 				break;
 			case SHORT_LITERAL:
 				{
-				alt19=3;
+				alt22=3;
 				}
 				break;
 			case BYTE_LITERAL:
 				{
-				alt19=4;
+				alt22=4;
 				}
 				break;
 			case FLOAT_LITERAL:
 			case FLOAT_LITERAL_OR_ID:
 				{
-				alt19=5;
+				alt22=5;
 				}
 				break;
 			case DOUBLE_LITERAL:
 			case DOUBLE_LITERAL_OR_ID:
 				{
-				alt19=6;
+				alt22=6;
 				}
 				break;
 			case CHAR_LITERAL:
 				{
-				alt19=7;
+				alt22=7;
 				}
 				break;
 			case BOOL_LITERAL:
 				{
-				alt19=8;
+				alt22=8;
 				}
 				break;
 			default:
 				NoViableAltException nvae =
-					new NoViableAltException("", 19, 0, input);
+					new NoViableAltException("", 22, 0, input);
 				throw nvae;
 			}
-			switch (alt19) {
+			switch (alt22) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:669:5: integer_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:657:5: integer_literal
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_integer_literal_in_fixed_literal2669);
-					integer_literal127=integer_literal();
+					pushFollow(FOLLOW_integer_literal_in_fixed_literal2620);
+					integer_literal134=integer_literal();
 					state._fsp--;
 
-					adaptor.addChild(root_0, integer_literal127.getTree());
+					adaptor.addChild(root_0, integer_literal134.getTree());
 
 					}
 					break;
 				case 2 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:670:5: LONG_LITERAL
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:658:5: LONG_LITERAL
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					LONG_LITERAL128=(Token)match(input,LONG_LITERAL,FOLLOW_LONG_LITERAL_in_fixed_literal2675); 
-					LONG_LITERAL128_tree = (CommonTree)adaptor.create(LONG_LITERAL128);
-					adaptor.addChild(root_0, LONG_LITERAL128_tree);
+					LONG_LITERAL135=(Token)match(input,LONG_LITERAL,FOLLOW_LONG_LITERAL_in_fixed_literal2626);
+					LONG_LITERAL135_tree = (CommonTree)adaptor.create(LONG_LITERAL135);
+					adaptor.addChild(root_0, LONG_LITERAL135_tree);
 
 					}
 					break;
 				case 3 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:671:5: SHORT_LITERAL
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:659:5: SHORT_LITERAL
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					SHORT_LITERAL129=(Token)match(input,SHORT_LITERAL,FOLLOW_SHORT_LITERAL_in_fixed_literal2681); 
-					SHORT_LITERAL129_tree = (CommonTree)adaptor.create(SHORT_LITERAL129);
-					adaptor.addChild(root_0, SHORT_LITERAL129_tree);
+					SHORT_LITERAL136=(Token)match(input,SHORT_LITERAL,FOLLOW_SHORT_LITERAL_in_fixed_literal2632);
+					SHORT_LITERAL136_tree = (CommonTree)adaptor.create(SHORT_LITERAL136);
+					adaptor.addChild(root_0, SHORT_LITERAL136_tree);
 
 					}
 					break;
 				case 4 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:672:5: BYTE_LITERAL
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:660:5: BYTE_LITERAL
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					BYTE_LITERAL130=(Token)match(input,BYTE_LITERAL,FOLLOW_BYTE_LITERAL_in_fixed_literal2687); 
-					BYTE_LITERAL130_tree = (CommonTree)adaptor.create(BYTE_LITERAL130);
-					adaptor.addChild(root_0, BYTE_LITERAL130_tree);
+					BYTE_LITERAL137=(Token)match(input,BYTE_LITERAL,FOLLOW_BYTE_LITERAL_in_fixed_literal2638);
+					BYTE_LITERAL137_tree = (CommonTree)adaptor.create(BYTE_LITERAL137);
+					adaptor.addChild(root_0, BYTE_LITERAL137_tree);
 
 					}
 					break;
 				case 5 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:673:5: float_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:661:5: float_literal
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_float_literal_in_fixed_literal2693);
-					float_literal131=float_literal();
+					pushFollow(FOLLOW_float_literal_in_fixed_literal2644);
+					float_literal138=float_literal();
 					state._fsp--;
 
-					adaptor.addChild(root_0, float_literal131.getTree());
+					adaptor.addChild(root_0, float_literal138.getTree());
 
 					}
 					break;
 				case 6 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:674:5: double_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:662:5: double_literal
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_double_literal_in_fixed_literal2699);
-					double_literal132=double_literal();
+					pushFollow(FOLLOW_double_literal_in_fixed_literal2650);
+					double_literal139=double_literal();
 					state._fsp--;
 
-					adaptor.addChild(root_0, double_literal132.getTree());
+					adaptor.addChild(root_0, double_literal139.getTree());
 
 					}
 					break;
 				case 7 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:675:5: CHAR_LITERAL
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:663:5: CHAR_LITERAL
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					CHAR_LITERAL133=(Token)match(input,CHAR_LITERAL,FOLLOW_CHAR_LITERAL_in_fixed_literal2705); 
-					CHAR_LITERAL133_tree = (CommonTree)adaptor.create(CHAR_LITERAL133);
-					adaptor.addChild(root_0, CHAR_LITERAL133_tree);
+					CHAR_LITERAL140=(Token)match(input,CHAR_LITERAL,FOLLOW_CHAR_LITERAL_in_fixed_literal2656);
+					CHAR_LITERAL140_tree = (CommonTree)adaptor.create(CHAR_LITERAL140);
+					adaptor.addChild(root_0, CHAR_LITERAL140_tree);
 
 					}
 					break;
 				case 8 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:676:5: BOOL_LITERAL
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:664:5: BOOL_LITERAL
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					BOOL_LITERAL134=(Token)match(input,BOOL_LITERAL,FOLLOW_BOOL_LITERAL_in_fixed_literal2711); 
-					BOOL_LITERAL134_tree = (CommonTree)adaptor.create(BOOL_LITERAL134);
-					adaptor.addChild(root_0, BOOL_LITERAL134_tree);
+					BOOL_LITERAL141=(Token)match(input,BOOL_LITERAL,FOLLOW_BOOL_LITERAL_in_fixed_literal2662);
+					BOOL_LITERAL141_tree = (CommonTree)adaptor.create(BOOL_LITERAL141);
+					adaptor.addChild(root_0, BOOL_LITERAL141_tree);
 
 					}
 					break;
@@ -5388,119 +5693,119 @@
 
 
 	// $ANTLR start "array_literal"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:678:1: array_literal : OPEN_BRACE ( literal ( COMMA literal )* |) CLOSE_BRACE -> ^( I_ENCODED_ARRAY[$start, \"I_ENCODED_ARRAY\"] ( literal )* ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:666:1: array_literal : OPEN_BRACE ( literal ( COMMA literal )* |) CLOSE_BRACE -> ^( I_ENCODED_ARRAY[$start, \"I_ENCODED_ARRAY\"] ( literal )* ) ;
 	public final smaliParser.array_literal_return array_literal() throws RecognitionException {
 		smaliParser.array_literal_return retval = new smaliParser.array_literal_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token OPEN_BRACE135=null;
-		Token COMMA137=null;
-		Token CLOSE_BRACE139=null;
-		ParserRuleReturnScope literal136 =null;
-		ParserRuleReturnScope literal138 =null;
+		Token OPEN_BRACE142=null;
+		Token COMMA144=null;
+		Token CLOSE_BRACE146=null;
+		ParserRuleReturnScope literal143 =null;
+		ParserRuleReturnScope literal145 =null;
 
-		CommonTree OPEN_BRACE135_tree=null;
-		CommonTree COMMA137_tree=null;
-		CommonTree CLOSE_BRACE139_tree=null;
+		CommonTree OPEN_BRACE142_tree=null;
+		CommonTree COMMA144_tree=null;
+		CommonTree CLOSE_BRACE146_tree=null;
 		RewriteRuleTokenStream stream_CLOSE_BRACE=new RewriteRuleTokenStream(adaptor,"token CLOSE_BRACE");
 		RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA");
 		RewriteRuleTokenStream stream_OPEN_BRACE=new RewriteRuleTokenStream(adaptor,"token OPEN_BRACE");
 		RewriteRuleSubtreeStream stream_literal=new RewriteRuleSubtreeStream(adaptor,"rule literal");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:679:3: ( OPEN_BRACE ( literal ( COMMA literal )* |) CLOSE_BRACE -> ^( I_ENCODED_ARRAY[$start, \"I_ENCODED_ARRAY\"] ( literal )* ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:679:5: OPEN_BRACE ( literal ( COMMA literal )* |) CLOSE_BRACE
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:667:3: ( OPEN_BRACE ( literal ( COMMA literal )* |) CLOSE_BRACE -> ^( I_ENCODED_ARRAY[$start, \"I_ENCODED_ARRAY\"] ( literal )* ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:667:5: OPEN_BRACE ( literal ( COMMA literal )* |) CLOSE_BRACE
 			{
-			OPEN_BRACE135=(Token)match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_array_literal2721);  
-			stream_OPEN_BRACE.add(OPEN_BRACE135);
+			OPEN_BRACE142=(Token)match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_array_literal2672);
+			stream_OPEN_BRACE.add(OPEN_BRACE142);
 
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:679:16: ( literal ( COMMA literal )* |)
-			int alt21=2;
-			int LA21_0 = input.LA(1);
-			if ( (LA21_0==ARRAY_DESCRIPTOR||(LA21_0 >= BOOL_LITERAL && LA21_0 <= BYTE_LITERAL)||(LA21_0 >= CHAR_LITERAL && LA21_0 <= CLASS_DESCRIPTOR)||(LA21_0 >= DOUBLE_LITERAL && LA21_0 <= DOUBLE_LITERAL_OR_ID)||LA21_0==ENUM_DIRECTIVE||(LA21_0 >= FLOAT_LITERAL && LA21_0 <= FLOAT_LITERAL_OR_ID)||LA21_0==LONG_LITERAL||(LA21_0 >= NEGATIVE_INTEGER_LITERAL && LA21_0 <= OPEN_BRACE)||(LA21_0 >= POSITIVE_INTEGER_LITERAL && LA21_0 <= PRIMITIVE_TYPE)||LA21_0==SHORT_LITERAL||(LA21_0 >= STRING_LITERAL && LA21_0 <= SUBANNOTATION_DIRECTIVE)||LA21_0==VOID_TYPE) ) {
-				alt21=1;
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:667:16: ( literal ( COMMA literal )* |)
+			int alt24=2;
+			int LA24_0 = input.LA(1);
+			if ( (LA24_0==ACCESS_SPEC||LA24_0==ANNOTATION_VISIBILITY||LA24_0==ARRAY_DESCRIPTOR||(LA24_0 >= BOOL_LITERAL && LA24_0 <= BYTE_LITERAL)||(LA24_0 >= CHAR_LITERAL && LA24_0 <= CLASS_DESCRIPTOR)||(LA24_0 >= DOUBLE_LITERAL && LA24_0 <= DOUBLE_LITERAL_OR_ID)||LA24_0==ENUM_DIRECTIVE||(LA24_0 >= FLOAT_LITERAL && LA24_0 <= FLOAT_LITERAL_OR_ID)||(LA24_0 >= INSTRUCTION_FORMAT10t && LA24_0 <= INSTRUCTION_FORMAT10x_ODEX)||LA24_0==INSTRUCTION_FORMAT11x||LA24_0==INSTRUCTION_FORMAT12x_OR_ID||(LA24_0 >= INSTRUCTION_FORMAT21c_FIELD && LA24_0 <= INSTRUCTION_FORMAT21c_TYPE)||LA24_0==INSTRUCTION_FORMAT21t||(LA24_0 >= INSTRUCTION_FORMAT22c_FIELD && LA24_0 <= INSTRUCTION_FORMAT22cs_FIELD)||(LA24_0 >= INSTRUCTION_FORMAT22s_OR_ID && LA24_0 <= INSTRUCTION_FORMAT22t)||LA24_0==INSTRUCTION_FORMAT23x||(LA24_0 >= INSTRUCTION_FORMAT31i_OR_ID && LA24_0 <= INSTRUCTION_FORMAT31t)||(LA24_0 >= INSTRUCTION_FORMAT35c_METHOD && LA24_0 <= INSTRUCTION_FORMAT35ms_METHOD)||LA24_0==INSTRUCTION_FORMAT51l||(LA24_0 >= LONG_LITERAL && LA24_0 <= MEMBER_NAME)||(LA24_0 >= NEGATIVE_INTEGER_LITERAL && LA24_0 <= OPEN_BRACE)||LA24_0==PARAM_LIST_OR_ID_START||(LA24_0 >= POSITIVE_INTEGER_LITERAL && LA24_0 <= PRIMITIVE_TYPE)||LA24_0==REGISTER||(LA24_0 >= SHORT_LITERAL && LA24_0 <= SIMPLE_NAME)||(LA24_0 >= STRING_LITERAL && LA24_0 <= SUBANNOTATION_DIRECTIVE)||(LA24_0 >= VERIFICATION_ERROR_TYPE && LA24_0 <= VOID_TYPE)) ) {
+				alt24=1;
 			}
-			else if ( (LA21_0==CLOSE_BRACE) ) {
-				alt21=2;
+			else if ( (LA24_0==CLOSE_BRACE) ) {
+				alt24=2;
 			}
 
 			else {
 				NoViableAltException nvae =
-					new NoViableAltException("", 21, 0, input);
+					new NoViableAltException("", 24, 0, input);
 				throw nvae;
 			}
 
-			switch (alt21) {
+			switch (alt24) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:679:17: literal ( COMMA literal )*
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:667:17: literal ( COMMA literal )*
 					{
-					pushFollow(FOLLOW_literal_in_array_literal2724);
-					literal136=literal();
+					pushFollow(FOLLOW_literal_in_array_literal2675);
+					literal143=literal();
 					state._fsp--;
 
-					stream_literal.add(literal136.getTree());
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:679:25: ( COMMA literal )*
-					loop20:
+					stream_literal.add(literal143.getTree());
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:667:25: ( COMMA literal )*
+					loop23:
 					while (true) {
-						int alt20=2;
-						int LA20_0 = input.LA(1);
-						if ( (LA20_0==COMMA) ) {
-							alt20=1;
+						int alt23=2;
+						int LA23_0 = input.LA(1);
+						if ( (LA23_0==COMMA) ) {
+							alt23=1;
 						}
 
-						switch (alt20) {
+						switch (alt23) {
 						case 1 :
-							// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:679:26: COMMA literal
+							// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:667:26: COMMA literal
 							{
-							COMMA137=(Token)match(input,COMMA,FOLLOW_COMMA_in_array_literal2727);  
-							stream_COMMA.add(COMMA137);
+							COMMA144=(Token)match(input,COMMA,FOLLOW_COMMA_in_array_literal2678);
+							stream_COMMA.add(COMMA144);
 
-							pushFollow(FOLLOW_literal_in_array_literal2729);
-							literal138=literal();
+							pushFollow(FOLLOW_literal_in_array_literal2680);
+							literal145=literal();
 							state._fsp--;
 
-							stream_literal.add(literal138.getTree());
+							stream_literal.add(literal145.getTree());
 							}
 							break;
 
 						default :
-							break loop20;
+							break loop23;
 						}
 					}
 
 					}
 					break;
 				case 2 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:679:44: 
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:667:44:
 					{
 					}
 					break;
 
 			}
 
-			CLOSE_BRACE139=(Token)match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_array_literal2737);  
-			stream_CLOSE_BRACE.add(CLOSE_BRACE139);
+			CLOSE_BRACE146=(Token)match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_array_literal2688);
+			stream_CLOSE_BRACE.add(CLOSE_BRACE146);
 
 			// AST REWRITE
 			// elements: literal
-			// token labels: 
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 680:5: -> ^( I_ENCODED_ARRAY[$start, \"I_ENCODED_ARRAY\"] ( literal )* )
+			// 668:5: -> ^( I_ENCODED_ARRAY[$start, \"I_ENCODED_ARRAY\"] ( literal )* )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:680:8: ^( I_ENCODED_ARRAY[$start, \"I_ENCODED_ARRAY\"] ( literal )* )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:668:8: ^( I_ENCODED_ARRAY[$start, \"I_ENCODED_ARRAY\"] ( literal )* )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_ENCODED_ARRAY, (retval.start), "I_ENCODED_ARRAY"), root_1);
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:680:53: ( literal )*
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:668:53: ( literal )*
 				while ( stream_literal.hasNext() ) {
 					adaptor.addChild(root_1, stream_literal.nextTree());
 				}
@@ -5543,53 +5848,53 @@
 
 
 	// $ANTLR start "annotation_element"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:682:1: annotation_element : simple_name EQUAL literal -> ^( I_ANNOTATION_ELEMENT[$start, \"I_ANNOTATION_ELEMENT\"] simple_name literal ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:670:1: annotation_element : simple_name EQUAL literal -> ^( I_ANNOTATION_ELEMENT[$start, \"I_ANNOTATION_ELEMENT\"] simple_name literal ) ;
 	public final smaliParser.annotation_element_return annotation_element() throws RecognitionException {
 		smaliParser.annotation_element_return retval = new smaliParser.annotation_element_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token EQUAL141=null;
-		ParserRuleReturnScope simple_name140 =null;
-		ParserRuleReturnScope literal142 =null;
+		Token EQUAL148=null;
+		ParserRuleReturnScope simple_name147 =null;
+		ParserRuleReturnScope literal149 =null;
 
-		CommonTree EQUAL141_tree=null;
+		CommonTree EQUAL148_tree=null;
 		RewriteRuleTokenStream stream_EQUAL=new RewriteRuleTokenStream(adaptor,"token EQUAL");
 		RewriteRuleSubtreeStream stream_simple_name=new RewriteRuleSubtreeStream(adaptor,"rule simple_name");
 		RewriteRuleSubtreeStream stream_literal=new RewriteRuleSubtreeStream(adaptor,"rule literal");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:683:3: ( simple_name EQUAL literal -> ^( I_ANNOTATION_ELEMENT[$start, \"I_ANNOTATION_ELEMENT\"] simple_name literal ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:683:5: simple_name EQUAL literal
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:671:3: ( simple_name EQUAL literal -> ^( I_ANNOTATION_ELEMENT[$start, \"I_ANNOTATION_ELEMENT\"] simple_name literal ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:671:5: simple_name EQUAL literal
 			{
-			pushFollow(FOLLOW_simple_name_in_annotation_element2761);
-			simple_name140=simple_name();
+			pushFollow(FOLLOW_simple_name_in_annotation_element2712);
+			simple_name147=simple_name();
 			state._fsp--;
 
-			stream_simple_name.add(simple_name140.getTree());
-			EQUAL141=(Token)match(input,EQUAL,FOLLOW_EQUAL_in_annotation_element2763);  
-			stream_EQUAL.add(EQUAL141);
+			stream_simple_name.add(simple_name147.getTree());
+			EQUAL148=(Token)match(input,EQUAL,FOLLOW_EQUAL_in_annotation_element2714);
+			stream_EQUAL.add(EQUAL148);
 
-			pushFollow(FOLLOW_literal_in_annotation_element2765);
-			literal142=literal();
+			pushFollow(FOLLOW_literal_in_annotation_element2716);
+			literal149=literal();
 			state._fsp--;
 
-			stream_literal.add(literal142.getTree());
+			stream_literal.add(literal149.getTree());
 			// AST REWRITE
-			// elements: simple_name, literal
-			// token labels: 
+			// elements: literal, simple_name
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 684:5: -> ^( I_ANNOTATION_ELEMENT[$start, \"I_ANNOTATION_ELEMENT\"] simple_name literal )
+			// 672:5: -> ^( I_ANNOTATION_ELEMENT[$start, \"I_ANNOTATION_ELEMENT\"] simple_name literal )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:684:8: ^( I_ANNOTATION_ELEMENT[$start, \"I_ANNOTATION_ELEMENT\"] simple_name literal )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:672:8: ^( I_ANNOTATION_ELEMENT[$start, \"I_ANNOTATION_ELEMENT\"] simple_name literal )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_ANNOTATION_ELEMENT, (retval.start), "I_ANNOTATION_ELEMENT"), root_1);
@@ -5632,23 +5937,23 @@
 
 
 	// $ANTLR start "annotation"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:686:1: annotation : ANNOTATION_DIRECTIVE ANNOTATION_VISIBILITY CLASS_DESCRIPTOR ( annotation_element )* END_ANNOTATION_DIRECTIVE -> ^( I_ANNOTATION[$start, \"I_ANNOTATION\"] ANNOTATION_VISIBILITY ^( I_SUBANNOTATION[$start, \"I_SUBANNOTATION\"] CLASS_DESCRIPTOR ( annotation_element )* ) ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:674:1: annotation : ANNOTATION_DIRECTIVE ANNOTATION_VISIBILITY CLASS_DESCRIPTOR ( annotation_element )* END_ANNOTATION_DIRECTIVE -> ^( I_ANNOTATION[$start, \"I_ANNOTATION\"] ANNOTATION_VISIBILITY ^( I_SUBANNOTATION[$start, \"I_SUBANNOTATION\"] CLASS_DESCRIPTOR ( annotation_element )* ) ) ;
 	public final smaliParser.annotation_return annotation() throws RecognitionException {
 		smaliParser.annotation_return retval = new smaliParser.annotation_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token ANNOTATION_DIRECTIVE143=null;
-		Token ANNOTATION_VISIBILITY144=null;
-		Token CLASS_DESCRIPTOR145=null;
-		Token END_ANNOTATION_DIRECTIVE147=null;
-		ParserRuleReturnScope annotation_element146 =null;
+		Token ANNOTATION_DIRECTIVE150=null;
+		Token ANNOTATION_VISIBILITY151=null;
+		Token CLASS_DESCRIPTOR152=null;
+		Token END_ANNOTATION_DIRECTIVE154=null;
+		ParserRuleReturnScope annotation_element153 =null;
 
-		CommonTree ANNOTATION_DIRECTIVE143_tree=null;
-		CommonTree ANNOTATION_VISIBILITY144_tree=null;
-		CommonTree CLASS_DESCRIPTOR145_tree=null;
-		CommonTree END_ANNOTATION_DIRECTIVE147_tree=null;
+		CommonTree ANNOTATION_DIRECTIVE150_tree=null;
+		CommonTree ANNOTATION_VISIBILITY151_tree=null;
+		CommonTree CLASS_DESCRIPTOR152_tree=null;
+		CommonTree END_ANNOTATION_DIRECTIVE154_tree=null;
 		RewriteRuleTokenStream stream_ANNOTATION_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token ANNOTATION_DIRECTIVE");
 		RewriteRuleTokenStream stream_END_ANNOTATION_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token END_ANNOTATION_DIRECTIVE");
 		RewriteRuleTokenStream stream_ANNOTATION_VISIBILITY=new RewriteRuleTokenStream(adaptor,"token ANNOTATION_VISIBILITY");
@@ -5656,71 +5961,71 @@
 		RewriteRuleSubtreeStream stream_annotation_element=new RewriteRuleSubtreeStream(adaptor,"rule annotation_element");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:687:3: ( ANNOTATION_DIRECTIVE ANNOTATION_VISIBILITY CLASS_DESCRIPTOR ( annotation_element )* END_ANNOTATION_DIRECTIVE -> ^( I_ANNOTATION[$start, \"I_ANNOTATION\"] ANNOTATION_VISIBILITY ^( I_SUBANNOTATION[$start, \"I_SUBANNOTATION\"] CLASS_DESCRIPTOR ( annotation_element )* ) ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:687:5: ANNOTATION_DIRECTIVE ANNOTATION_VISIBILITY CLASS_DESCRIPTOR ( annotation_element )* END_ANNOTATION_DIRECTIVE
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:675:3: ( ANNOTATION_DIRECTIVE ANNOTATION_VISIBILITY CLASS_DESCRIPTOR ( annotation_element )* END_ANNOTATION_DIRECTIVE -> ^( I_ANNOTATION[$start, \"I_ANNOTATION\"] ANNOTATION_VISIBILITY ^( I_SUBANNOTATION[$start, \"I_SUBANNOTATION\"] CLASS_DESCRIPTOR ( annotation_element )* ) ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:675:5: ANNOTATION_DIRECTIVE ANNOTATION_VISIBILITY CLASS_DESCRIPTOR ( annotation_element )* END_ANNOTATION_DIRECTIVE
 			{
-			ANNOTATION_DIRECTIVE143=(Token)match(input,ANNOTATION_DIRECTIVE,FOLLOW_ANNOTATION_DIRECTIVE_in_annotation2790);  
-			stream_ANNOTATION_DIRECTIVE.add(ANNOTATION_DIRECTIVE143);
+			ANNOTATION_DIRECTIVE150=(Token)match(input,ANNOTATION_DIRECTIVE,FOLLOW_ANNOTATION_DIRECTIVE_in_annotation2741);
+			stream_ANNOTATION_DIRECTIVE.add(ANNOTATION_DIRECTIVE150);
 
-			ANNOTATION_VISIBILITY144=(Token)match(input,ANNOTATION_VISIBILITY,FOLLOW_ANNOTATION_VISIBILITY_in_annotation2792);  
-			stream_ANNOTATION_VISIBILITY.add(ANNOTATION_VISIBILITY144);
+			ANNOTATION_VISIBILITY151=(Token)match(input,ANNOTATION_VISIBILITY,FOLLOW_ANNOTATION_VISIBILITY_in_annotation2743);
+			stream_ANNOTATION_VISIBILITY.add(ANNOTATION_VISIBILITY151);
 
-			CLASS_DESCRIPTOR145=(Token)match(input,CLASS_DESCRIPTOR,FOLLOW_CLASS_DESCRIPTOR_in_annotation2794);  
-			stream_CLASS_DESCRIPTOR.add(CLASS_DESCRIPTOR145);
+			CLASS_DESCRIPTOR152=(Token)match(input,CLASS_DESCRIPTOR,FOLLOW_CLASS_DESCRIPTOR_in_annotation2745);
+			stream_CLASS_DESCRIPTOR.add(CLASS_DESCRIPTOR152);
 
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:688:5: ( annotation_element )*
-			loop22:
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:676:5: ( annotation_element )*
+			loop25:
 			while (true) {
-				int alt22=2;
-				int LA22_0 = input.LA(1);
-				if ( (LA22_0==ACCESS_SPEC||LA22_0==ANNOTATION_VISIBILITY||LA22_0==BOOL_LITERAL||LA22_0==DOUBLE_LITERAL_OR_ID||LA22_0==FLOAT_LITERAL_OR_ID||(LA22_0 >= INSTRUCTION_FORMAT10t && LA22_0 <= INSTRUCTION_FORMAT10x_ODEX)||LA22_0==INSTRUCTION_FORMAT11x||LA22_0==INSTRUCTION_FORMAT12x_OR_ID||(LA22_0 >= INSTRUCTION_FORMAT21c_FIELD && LA22_0 <= INSTRUCTION_FORMAT21c_TYPE)||LA22_0==INSTRUCTION_FORMAT21t||(LA22_0 >= INSTRUCTION_FORMAT22c_FIELD && LA22_0 <= INSTRUCTION_FORMAT22cs_FIELD)||(LA22_0 >= INSTRUCTION_FORMAT22s_OR_ID && LA22_0 <= INSTRUCTION_FORMAT22t)||LA22_0==INSTRUCTION_FORMAT23x||(LA22_0 >= INSTRUCTION_FORMAT31i_OR_ID && LA22_0 <= INSTRUCTION_FORMAT31t)||(LA22_0 >= INSTRUCTION_FORMAT35c_METHOD && LA22_0 <= INSTRUCTION_FORMAT35ms_METHOD)||LA22_0==INSTRUCTION_FORMAT51l||(LA22_0 >= NEGATIVE_INTEGER_LITERAL && LA22_0 <= NULL_LITERAL)||(LA22_0 >= PARAM_LIST_OR_ID && LA22_0 <= PRIMITIVE_TYPE)||LA22_0==REGISTER||LA22_0==SIMPLE_NAME||(LA22_0 >= VERIFICATION_ERROR_TYPE && LA22_0 <= VOID_TYPE)) ) {
-					alt22=1;
+				int alt25=2;
+				int LA25_0 = input.LA(1);
+				if ( (LA25_0==ACCESS_SPEC||LA25_0==ANNOTATION_VISIBILITY||LA25_0==BOOL_LITERAL||LA25_0==DOUBLE_LITERAL_OR_ID||LA25_0==FLOAT_LITERAL_OR_ID||(LA25_0 >= INSTRUCTION_FORMAT10t && LA25_0 <= INSTRUCTION_FORMAT10x_ODEX)||LA25_0==INSTRUCTION_FORMAT11x||LA25_0==INSTRUCTION_FORMAT12x_OR_ID||(LA25_0 >= INSTRUCTION_FORMAT21c_FIELD && LA25_0 <= INSTRUCTION_FORMAT21c_TYPE)||LA25_0==INSTRUCTION_FORMAT21t||(LA25_0 >= INSTRUCTION_FORMAT22c_FIELD && LA25_0 <= INSTRUCTION_FORMAT22cs_FIELD)||(LA25_0 >= INSTRUCTION_FORMAT22s_OR_ID && LA25_0 <= INSTRUCTION_FORMAT22t)||LA25_0==INSTRUCTION_FORMAT23x||(LA25_0 >= INSTRUCTION_FORMAT31i_OR_ID && LA25_0 <= INSTRUCTION_FORMAT31t)||(LA25_0 >= INSTRUCTION_FORMAT35c_METHOD && LA25_0 <= INSTRUCTION_FORMAT35ms_METHOD)||LA25_0==INSTRUCTION_FORMAT51l||(LA25_0 >= NEGATIVE_INTEGER_LITERAL && LA25_0 <= NULL_LITERAL)||LA25_0==PARAM_LIST_OR_ID_START||(LA25_0 >= POSITIVE_INTEGER_LITERAL && LA25_0 <= PRIMITIVE_TYPE)||LA25_0==REGISTER||LA25_0==SIMPLE_NAME||(LA25_0 >= VERIFICATION_ERROR_TYPE && LA25_0 <= VOID_TYPE)) ) {
+					alt25=1;
 				}
 
-				switch (alt22) {
+				switch (alt25) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:688:5: annotation_element
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:676:5: annotation_element
 					{
-					pushFollow(FOLLOW_annotation_element_in_annotation2800);
-					annotation_element146=annotation_element();
+					pushFollow(FOLLOW_annotation_element_in_annotation2751);
+					annotation_element153=annotation_element();
 					state._fsp--;
 
-					stream_annotation_element.add(annotation_element146.getTree());
+					stream_annotation_element.add(annotation_element153.getTree());
 					}
 					break;
 
 				default :
-					break loop22;
+					break loop25;
 				}
 			}
 
-			END_ANNOTATION_DIRECTIVE147=(Token)match(input,END_ANNOTATION_DIRECTIVE,FOLLOW_END_ANNOTATION_DIRECTIVE_in_annotation2803);  
-			stream_END_ANNOTATION_DIRECTIVE.add(END_ANNOTATION_DIRECTIVE147);
+			END_ANNOTATION_DIRECTIVE154=(Token)match(input,END_ANNOTATION_DIRECTIVE,FOLLOW_END_ANNOTATION_DIRECTIVE_in_annotation2754);
+			stream_END_ANNOTATION_DIRECTIVE.add(END_ANNOTATION_DIRECTIVE154);
 
 			// AST REWRITE
-			// elements: CLASS_DESCRIPTOR, annotation_element, ANNOTATION_VISIBILITY
-			// token labels: 
+			// elements: CLASS_DESCRIPTOR, ANNOTATION_VISIBILITY, annotation_element
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 689:5: -> ^( I_ANNOTATION[$start, \"I_ANNOTATION\"] ANNOTATION_VISIBILITY ^( I_SUBANNOTATION[$start, \"I_SUBANNOTATION\"] CLASS_DESCRIPTOR ( annotation_element )* ) )
+			// 677:5: -> ^( I_ANNOTATION[$start, \"I_ANNOTATION\"] ANNOTATION_VISIBILITY ^( I_SUBANNOTATION[$start, \"I_SUBANNOTATION\"] CLASS_DESCRIPTOR ( annotation_element )* ) )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:689:8: ^( I_ANNOTATION[$start, \"I_ANNOTATION\"] ANNOTATION_VISIBILITY ^( I_SUBANNOTATION[$start, \"I_SUBANNOTATION\"] CLASS_DESCRIPTOR ( annotation_element )* ) )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:677:8: ^( I_ANNOTATION[$start, \"I_ANNOTATION\"] ANNOTATION_VISIBILITY ^( I_SUBANNOTATION[$start, \"I_SUBANNOTATION\"] CLASS_DESCRIPTOR ( annotation_element )* ) )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_ANNOTATION, (retval.start), "I_ANNOTATION"), root_1);
 				adaptor.addChild(root_1, stream_ANNOTATION_VISIBILITY.nextNode());
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:689:69: ^( I_SUBANNOTATION[$start, \"I_SUBANNOTATION\"] CLASS_DESCRIPTOR ( annotation_element )* )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:677:69: ^( I_SUBANNOTATION[$start, \"I_SUBANNOTATION\"] CLASS_DESCRIPTOR ( annotation_element )* )
 				{
 				CommonTree root_2 = (CommonTree)adaptor.nil();
 				root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_SUBANNOTATION, (retval.start), "I_SUBANNOTATION"), root_2);
 				adaptor.addChild(root_2, stream_CLASS_DESCRIPTOR.nextNode());
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:689:131: ( annotation_element )*
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:677:131: ( annotation_element )*
 				while ( stream_annotation_element.hasNext() ) {
 					adaptor.addChild(root_2, stream_annotation_element.nextTree());
 				}
@@ -5766,84 +6071,84 @@
 
 
 	// $ANTLR start "subannotation"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:691:1: subannotation : SUBANNOTATION_DIRECTIVE CLASS_DESCRIPTOR ( annotation_element )* END_SUBANNOTATION_DIRECTIVE -> ^( I_SUBANNOTATION[$start, \"I_SUBANNOTATION\"] CLASS_DESCRIPTOR ( annotation_element )* ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:679:1: subannotation : SUBANNOTATION_DIRECTIVE CLASS_DESCRIPTOR ( annotation_element )* END_SUBANNOTATION_DIRECTIVE -> ^( I_SUBANNOTATION[$start, \"I_SUBANNOTATION\"] CLASS_DESCRIPTOR ( annotation_element )* ) ;
 	public final smaliParser.subannotation_return subannotation() throws RecognitionException {
 		smaliParser.subannotation_return retval = new smaliParser.subannotation_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token SUBANNOTATION_DIRECTIVE148=null;
-		Token CLASS_DESCRIPTOR149=null;
-		Token END_SUBANNOTATION_DIRECTIVE151=null;
-		ParserRuleReturnScope annotation_element150 =null;
+		Token SUBANNOTATION_DIRECTIVE155=null;
+		Token CLASS_DESCRIPTOR156=null;
+		Token END_SUBANNOTATION_DIRECTIVE158=null;
+		ParserRuleReturnScope annotation_element157 =null;
 
-		CommonTree SUBANNOTATION_DIRECTIVE148_tree=null;
-		CommonTree CLASS_DESCRIPTOR149_tree=null;
-		CommonTree END_SUBANNOTATION_DIRECTIVE151_tree=null;
+		CommonTree SUBANNOTATION_DIRECTIVE155_tree=null;
+		CommonTree CLASS_DESCRIPTOR156_tree=null;
+		CommonTree END_SUBANNOTATION_DIRECTIVE158_tree=null;
 		RewriteRuleTokenStream stream_SUBANNOTATION_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token SUBANNOTATION_DIRECTIVE");
 		RewriteRuleTokenStream stream_END_SUBANNOTATION_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token END_SUBANNOTATION_DIRECTIVE");
 		RewriteRuleTokenStream stream_CLASS_DESCRIPTOR=new RewriteRuleTokenStream(adaptor,"token CLASS_DESCRIPTOR");
 		RewriteRuleSubtreeStream stream_annotation_element=new RewriteRuleSubtreeStream(adaptor,"rule annotation_element");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:692:3: ( SUBANNOTATION_DIRECTIVE CLASS_DESCRIPTOR ( annotation_element )* END_SUBANNOTATION_DIRECTIVE -> ^( I_SUBANNOTATION[$start, \"I_SUBANNOTATION\"] CLASS_DESCRIPTOR ( annotation_element )* ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:692:5: SUBANNOTATION_DIRECTIVE CLASS_DESCRIPTOR ( annotation_element )* END_SUBANNOTATION_DIRECTIVE
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:680:3: ( SUBANNOTATION_DIRECTIVE CLASS_DESCRIPTOR ( annotation_element )* END_SUBANNOTATION_DIRECTIVE -> ^( I_SUBANNOTATION[$start, \"I_SUBANNOTATION\"] CLASS_DESCRIPTOR ( annotation_element )* ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:680:5: SUBANNOTATION_DIRECTIVE CLASS_DESCRIPTOR ( annotation_element )* END_SUBANNOTATION_DIRECTIVE
 			{
-			SUBANNOTATION_DIRECTIVE148=(Token)match(input,SUBANNOTATION_DIRECTIVE,FOLLOW_SUBANNOTATION_DIRECTIVE_in_subannotation2836);  
-			stream_SUBANNOTATION_DIRECTIVE.add(SUBANNOTATION_DIRECTIVE148);
+			SUBANNOTATION_DIRECTIVE155=(Token)match(input,SUBANNOTATION_DIRECTIVE,FOLLOW_SUBANNOTATION_DIRECTIVE_in_subannotation2787);
+			stream_SUBANNOTATION_DIRECTIVE.add(SUBANNOTATION_DIRECTIVE155);
 
-			CLASS_DESCRIPTOR149=(Token)match(input,CLASS_DESCRIPTOR,FOLLOW_CLASS_DESCRIPTOR_in_subannotation2838);  
-			stream_CLASS_DESCRIPTOR.add(CLASS_DESCRIPTOR149);
+			CLASS_DESCRIPTOR156=(Token)match(input,CLASS_DESCRIPTOR,FOLLOW_CLASS_DESCRIPTOR_in_subannotation2789);
+			stream_CLASS_DESCRIPTOR.add(CLASS_DESCRIPTOR156);
 
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:692:46: ( annotation_element )*
-			loop23:
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:680:46: ( annotation_element )*
+			loop26:
 			while (true) {
-				int alt23=2;
-				int LA23_0 = input.LA(1);
-				if ( (LA23_0==ACCESS_SPEC||LA23_0==ANNOTATION_VISIBILITY||LA23_0==BOOL_LITERAL||LA23_0==DOUBLE_LITERAL_OR_ID||LA23_0==FLOAT_LITERAL_OR_ID||(LA23_0 >= INSTRUCTION_FORMAT10t && LA23_0 <= INSTRUCTION_FORMAT10x_ODEX)||LA23_0==INSTRUCTION_FORMAT11x||LA23_0==INSTRUCTION_FORMAT12x_OR_ID||(LA23_0 >= INSTRUCTION_FORMAT21c_FIELD && LA23_0 <= INSTRUCTION_FORMAT21c_TYPE)||LA23_0==INSTRUCTION_FORMAT21t||(LA23_0 >= INSTRUCTION_FORMAT22c_FIELD && LA23_0 <= INSTRUCTION_FORMAT22cs_FIELD)||(LA23_0 >= INSTRUCTION_FORMAT22s_OR_ID && LA23_0 <= INSTRUCTION_FORMAT22t)||LA23_0==INSTRUCTION_FORMAT23x||(LA23_0 >= INSTRUCTION_FORMAT31i_OR_ID && LA23_0 <= INSTRUCTION_FORMAT31t)||(LA23_0 >= INSTRUCTION_FORMAT35c_METHOD && LA23_0 <= INSTRUCTION_FORMAT35ms_METHOD)||LA23_0==INSTRUCTION_FORMAT51l||(LA23_0 >= NEGATIVE_INTEGER_LITERAL && LA23_0 <= NULL_LITERAL)||(LA23_0 >= PARAM_LIST_OR_ID && LA23_0 <= PRIMITIVE_TYPE)||LA23_0==REGISTER||LA23_0==SIMPLE_NAME||(LA23_0 >= VERIFICATION_ERROR_TYPE && LA23_0 <= VOID_TYPE)) ) {
-					alt23=1;
+				int alt26=2;
+				int LA26_0 = input.LA(1);
+				if ( (LA26_0==ACCESS_SPEC||LA26_0==ANNOTATION_VISIBILITY||LA26_0==BOOL_LITERAL||LA26_0==DOUBLE_LITERAL_OR_ID||LA26_0==FLOAT_LITERAL_OR_ID||(LA26_0 >= INSTRUCTION_FORMAT10t && LA26_0 <= INSTRUCTION_FORMAT10x_ODEX)||LA26_0==INSTRUCTION_FORMAT11x||LA26_0==INSTRUCTION_FORMAT12x_OR_ID||(LA26_0 >= INSTRUCTION_FORMAT21c_FIELD && LA26_0 <= INSTRUCTION_FORMAT21c_TYPE)||LA26_0==INSTRUCTION_FORMAT21t||(LA26_0 >= INSTRUCTION_FORMAT22c_FIELD && LA26_0 <= INSTRUCTION_FORMAT22cs_FIELD)||(LA26_0 >= INSTRUCTION_FORMAT22s_OR_ID && LA26_0 <= INSTRUCTION_FORMAT22t)||LA26_0==INSTRUCTION_FORMAT23x||(LA26_0 >= INSTRUCTION_FORMAT31i_OR_ID && LA26_0 <= INSTRUCTION_FORMAT31t)||(LA26_0 >= INSTRUCTION_FORMAT35c_METHOD && LA26_0 <= INSTRUCTION_FORMAT35ms_METHOD)||LA26_0==INSTRUCTION_FORMAT51l||(LA26_0 >= NEGATIVE_INTEGER_LITERAL && LA26_0 <= NULL_LITERAL)||LA26_0==PARAM_LIST_OR_ID_START||(LA26_0 >= POSITIVE_INTEGER_LITERAL && LA26_0 <= PRIMITIVE_TYPE)||LA26_0==REGISTER||LA26_0==SIMPLE_NAME||(LA26_0 >= VERIFICATION_ERROR_TYPE && LA26_0 <= VOID_TYPE)) ) {
+					alt26=1;
 				}
 
-				switch (alt23) {
+				switch (alt26) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:692:46: annotation_element
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:680:46: annotation_element
 					{
-					pushFollow(FOLLOW_annotation_element_in_subannotation2840);
-					annotation_element150=annotation_element();
+					pushFollow(FOLLOW_annotation_element_in_subannotation2791);
+					annotation_element157=annotation_element();
 					state._fsp--;
 
-					stream_annotation_element.add(annotation_element150.getTree());
+					stream_annotation_element.add(annotation_element157.getTree());
 					}
 					break;
 
 				default :
-					break loop23;
+					break loop26;
 				}
 			}
 
-			END_SUBANNOTATION_DIRECTIVE151=(Token)match(input,END_SUBANNOTATION_DIRECTIVE,FOLLOW_END_SUBANNOTATION_DIRECTIVE_in_subannotation2843);  
-			stream_END_SUBANNOTATION_DIRECTIVE.add(END_SUBANNOTATION_DIRECTIVE151);
+			END_SUBANNOTATION_DIRECTIVE158=(Token)match(input,END_SUBANNOTATION_DIRECTIVE,FOLLOW_END_SUBANNOTATION_DIRECTIVE_in_subannotation2794);
+			stream_END_SUBANNOTATION_DIRECTIVE.add(END_SUBANNOTATION_DIRECTIVE158);
 
 			// AST REWRITE
-			// elements: CLASS_DESCRIPTOR, annotation_element
-			// token labels: 
+			// elements: annotation_element, CLASS_DESCRIPTOR
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 693:5: -> ^( I_SUBANNOTATION[$start, \"I_SUBANNOTATION\"] CLASS_DESCRIPTOR ( annotation_element )* )
+			// 681:5: -> ^( I_SUBANNOTATION[$start, \"I_SUBANNOTATION\"] CLASS_DESCRIPTOR ( annotation_element )* )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:693:8: ^( I_SUBANNOTATION[$start, \"I_SUBANNOTATION\"] CLASS_DESCRIPTOR ( annotation_element )* )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:681:8: ^( I_SUBANNOTATION[$start, \"I_SUBANNOTATION\"] CLASS_DESCRIPTOR ( annotation_element )* )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_SUBANNOTATION, (retval.start), "I_SUBANNOTATION"), root_1);
 				adaptor.addChild(root_1, stream_CLASS_DESCRIPTOR.nextNode());
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:693:70: ( annotation_element )*
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:681:70: ( annotation_element )*
 				while ( stream_annotation_element.hasNext() ) {
 					adaptor.addChild(root_1, stream_annotation_element.nextTree());
 				}
@@ -5886,23 +6191,23 @@
 
 
 	// $ANTLR start "enum_literal"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:695:1: enum_literal : ENUM_DIRECTIVE reference_type_descriptor ARROW simple_name COLON reference_type_descriptor -> ^( I_ENCODED_ENUM reference_type_descriptor simple_name reference_type_descriptor ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:683:1: enum_literal : ENUM_DIRECTIVE reference_type_descriptor ARROW simple_name COLON reference_type_descriptor -> ^( I_ENCODED_ENUM reference_type_descriptor simple_name reference_type_descriptor ) ;
 	public final smaliParser.enum_literal_return enum_literal() throws RecognitionException {
 		smaliParser.enum_literal_return retval = new smaliParser.enum_literal_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token ENUM_DIRECTIVE152=null;
-		Token ARROW154=null;
-		Token COLON156=null;
-		ParserRuleReturnScope reference_type_descriptor153 =null;
-		ParserRuleReturnScope simple_name155 =null;
-		ParserRuleReturnScope reference_type_descriptor157 =null;
+		Token ENUM_DIRECTIVE159=null;
+		Token ARROW161=null;
+		Token COLON163=null;
+		ParserRuleReturnScope reference_type_descriptor160 =null;
+		ParserRuleReturnScope simple_name162 =null;
+		ParserRuleReturnScope reference_type_descriptor164 =null;
 
-		CommonTree ENUM_DIRECTIVE152_tree=null;
-		CommonTree ARROW154_tree=null;
-		CommonTree COLON156_tree=null;
+		CommonTree ENUM_DIRECTIVE159_tree=null;
+		CommonTree ARROW161_tree=null;
+		CommonTree COLON163_tree=null;
 		RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON");
 		RewriteRuleTokenStream stream_ENUM_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token ENUM_DIRECTIVE");
 		RewriteRuleTokenStream stream_ARROW=new RewriteRuleTokenStream(adaptor,"token ARROW");
@@ -5910,47 +6215,47 @@
 		RewriteRuleSubtreeStream stream_simple_name=new RewriteRuleSubtreeStream(adaptor,"rule simple_name");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:696:3: ( ENUM_DIRECTIVE reference_type_descriptor ARROW simple_name COLON reference_type_descriptor -> ^( I_ENCODED_ENUM reference_type_descriptor simple_name reference_type_descriptor ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:696:5: ENUM_DIRECTIVE reference_type_descriptor ARROW simple_name COLON reference_type_descriptor
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:684:3: ( ENUM_DIRECTIVE reference_type_descriptor ARROW simple_name COLON reference_type_descriptor -> ^( I_ENCODED_ENUM reference_type_descriptor simple_name reference_type_descriptor ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:684:5: ENUM_DIRECTIVE reference_type_descriptor ARROW simple_name COLON reference_type_descriptor
 			{
-			ENUM_DIRECTIVE152=(Token)match(input,ENUM_DIRECTIVE,FOLLOW_ENUM_DIRECTIVE_in_enum_literal2869);  
-			stream_ENUM_DIRECTIVE.add(ENUM_DIRECTIVE152);
+			ENUM_DIRECTIVE159=(Token)match(input,ENUM_DIRECTIVE,FOLLOW_ENUM_DIRECTIVE_in_enum_literal2820);
+			stream_ENUM_DIRECTIVE.add(ENUM_DIRECTIVE159);
 
-			pushFollow(FOLLOW_reference_type_descriptor_in_enum_literal2871);
-			reference_type_descriptor153=reference_type_descriptor();
+			pushFollow(FOLLOW_reference_type_descriptor_in_enum_literal2822);
+			reference_type_descriptor160=reference_type_descriptor();
 			state._fsp--;
 
-			stream_reference_type_descriptor.add(reference_type_descriptor153.getTree());
-			ARROW154=(Token)match(input,ARROW,FOLLOW_ARROW_in_enum_literal2873);  
-			stream_ARROW.add(ARROW154);
+			stream_reference_type_descriptor.add(reference_type_descriptor160.getTree());
+			ARROW161=(Token)match(input,ARROW,FOLLOW_ARROW_in_enum_literal2824);
+			stream_ARROW.add(ARROW161);
 
-			pushFollow(FOLLOW_simple_name_in_enum_literal2875);
-			simple_name155=simple_name();
+			pushFollow(FOLLOW_simple_name_in_enum_literal2826);
+			simple_name162=simple_name();
 			state._fsp--;
 
-			stream_simple_name.add(simple_name155.getTree());
-			COLON156=(Token)match(input,COLON,FOLLOW_COLON_in_enum_literal2877);  
-			stream_COLON.add(COLON156);
+			stream_simple_name.add(simple_name162.getTree());
+			COLON163=(Token)match(input,COLON,FOLLOW_COLON_in_enum_literal2828);
+			stream_COLON.add(COLON163);
 
-			pushFollow(FOLLOW_reference_type_descriptor_in_enum_literal2879);
-			reference_type_descriptor157=reference_type_descriptor();
+			pushFollow(FOLLOW_reference_type_descriptor_in_enum_literal2830);
+			reference_type_descriptor164=reference_type_descriptor();
 			state._fsp--;
 
-			stream_reference_type_descriptor.add(reference_type_descriptor157.getTree());
+			stream_reference_type_descriptor.add(reference_type_descriptor164.getTree());
 			// AST REWRITE
-			// elements: reference_type_descriptor, reference_type_descriptor, simple_name
-			// token labels: 
+			// elements: simple_name, reference_type_descriptor, reference_type_descriptor
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 697:3: -> ^( I_ENCODED_ENUM reference_type_descriptor simple_name reference_type_descriptor )
+			// 685:3: -> ^( I_ENCODED_ENUM reference_type_descriptor simple_name reference_type_descriptor )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:697:6: ^( I_ENCODED_ENUM reference_type_descriptor simple_name reference_type_descriptor )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:685:6: ^( I_ENCODED_ENUM reference_type_descriptor simple_name reference_type_descriptor )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_ENCODED_ENUM, "I_ENCODED_ENUM"), root_1);
@@ -5994,27 +6299,28 @@
 
 
 	// $ANTLR start "type_field_method_literal"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:699:1: type_field_method_literal : ( reference_type_descriptor ( ARROW ( member_name COLON nonvoid_type_descriptor -> ^( I_ENCODED_FIELD reference_type_descriptor member_name nonvoid_type_descriptor ) | member_name method_prototype -> ^( I_ENCODED_METHOD reference_type_descriptor member_name method_prototype ) ) | -> reference_type_descriptor ) | PRIMITIVE_TYPE | VOID_TYPE );
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:687:1: type_field_method_literal : ( reference_type_descriptor | ( ( reference_type_descriptor ARROW )? ( member_name COLON nonvoid_type_descriptor -> ^( I_ENCODED_FIELD ( reference_type_descriptor )? member_name nonvoid_type_descriptor ) | member_name method_prototype -> ^( I_ENCODED_METHOD ( reference_type_descriptor )? member_name method_prototype ) ) ) | PRIMITIVE_TYPE | VOID_TYPE );
 	public final smaliParser.type_field_method_literal_return type_field_method_literal() throws RecognitionException {
 		smaliParser.type_field_method_literal_return retval = new smaliParser.type_field_method_literal_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token ARROW159=null;
-		Token COLON161=null;
-		Token PRIMITIVE_TYPE165=null;
-		Token VOID_TYPE166=null;
-		ParserRuleReturnScope reference_type_descriptor158 =null;
-		ParserRuleReturnScope member_name160 =null;
-		ParserRuleReturnScope nonvoid_type_descriptor162 =null;
-		ParserRuleReturnScope member_name163 =null;
-		ParserRuleReturnScope method_prototype164 =null;
+		Token ARROW167=null;
+		Token COLON169=null;
+		Token PRIMITIVE_TYPE173=null;
+		Token VOID_TYPE174=null;
+		ParserRuleReturnScope reference_type_descriptor165 =null;
+		ParserRuleReturnScope reference_type_descriptor166 =null;
+		ParserRuleReturnScope member_name168 =null;
+		ParserRuleReturnScope nonvoid_type_descriptor170 =null;
+		ParserRuleReturnScope member_name171 =null;
+		ParserRuleReturnScope method_prototype172 =null;
 
-		CommonTree ARROW159_tree=null;
-		CommonTree COLON161_tree=null;
-		CommonTree PRIMITIVE_TYPE165_tree=null;
-		CommonTree VOID_TYPE166_tree=null;
+		CommonTree ARROW167_tree=null;
+		CommonTree COLON169_tree=null;
+		CommonTree PRIMITIVE_TYPE173_tree=null;
+		CommonTree VOID_TYPE174_tree=null;
 		RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON");
 		RewriteRuleTokenStream stream_ARROW=new RewriteRuleTokenStream(adaptor,"token ARROW");
 		RewriteRuleSubtreeStream stream_nonvoid_type_descriptor=new RewriteRuleSubtreeStream(adaptor,"rule nonvoid_type_descriptor");
@@ -6023,1175 +6329,304 @@
 		RewriteRuleSubtreeStream stream_member_name=new RewriteRuleSubtreeStream(adaptor,"rule member_name");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:700:3: ( reference_type_descriptor ( ARROW ( member_name COLON nonvoid_type_descriptor -> ^( I_ENCODED_FIELD reference_type_descriptor member_name nonvoid_type_descriptor ) | member_name method_prototype -> ^( I_ENCODED_METHOD reference_type_descriptor member_name method_prototype ) ) | -> reference_type_descriptor ) | PRIMITIVE_TYPE | VOID_TYPE )
-			int alt26=3;
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:688:3: ( reference_type_descriptor | ( ( reference_type_descriptor ARROW )? ( member_name COLON nonvoid_type_descriptor -> ^( I_ENCODED_FIELD ( reference_type_descriptor )? member_name nonvoid_type_descriptor ) | member_name method_prototype -> ^( I_ENCODED_METHOD ( reference_type_descriptor )? member_name method_prototype ) ) ) | PRIMITIVE_TYPE | VOID_TYPE )
+			int alt29=4;
 			switch ( input.LA(1) ) {
 			case ARRAY_DESCRIPTOR:
 			case CLASS_DESCRIPTOR:
 				{
-				alt26=1;
+				int LA29_1 = input.LA(2);
+				if ( (LA29_1==EOF||(LA29_1 >= ACCESS_SPEC && LA29_1 <= ANNOTATION_VISIBILITY)||LA29_1==BOOL_LITERAL||(LA29_1 >= CLASS_DIRECTIVE && LA29_1 <= CLOSE_BRACE)||LA29_1==COMMA||(LA29_1 >= DOUBLE_LITERAL_OR_ID && LA29_1 <= END_ANNOTATION_DIRECTIVE)||LA29_1==END_FIELD_DIRECTIVE||LA29_1==END_SUBANNOTATION_DIRECTIVE||LA29_1==FIELD_DIRECTIVE||(LA29_1 >= FLOAT_LITERAL_OR_ID && LA29_1 <= IMPLEMENTS_DIRECTIVE)||(LA29_1 >= INSTRUCTION_FORMAT10t && LA29_1 <= INSTRUCTION_FORMAT10x_ODEX)||LA29_1==INSTRUCTION_FORMAT11x||LA29_1==INSTRUCTION_FORMAT12x_OR_ID||(LA29_1 >= INSTRUCTION_FORMAT21c_FIELD && LA29_1 <= INSTRUCTION_FORMAT21c_TYPE)||LA29_1==INSTRUCTION_FORMAT21t||(LA29_1 >= INSTRUCTION_FORMAT22c_FIELD && LA29_1 <= INSTRUCTION_FORMAT22cs_FIELD)||(LA29_1 >= INSTRUCTION_FORMAT22s_OR_ID && LA29_1 <= INSTRUCTION_FORMAT22t)||LA29_1==INSTRUCTION_FORMAT23x||(LA29_1 >= INSTRUCTION_FORMAT31i_OR_ID && LA29_1 <= INSTRUCTION_FORMAT31t)||(LA29_1 >= INSTRUCTION_FORMAT35c_METHOD && LA29_1 <= INSTRUCTION_FORMAT35ms_METHOD)||LA29_1==INSTRUCTION_FORMAT51l||(LA29_1 >= METHOD_DIRECTIVE && LA29_1 <= NULL_LITERAL)||LA29_1==PARAM_LIST_OR_ID_START||(LA29_1 >= POSITIVE_INTEGER_LITERAL && LA29_1 <= PRIMITIVE_TYPE)||LA29_1==REGISTER||(LA29_1 >= SIMPLE_NAME && LA29_1 <= SOURCE_DIRECTIVE)||(LA29_1 >= SUPER_DIRECTIVE && LA29_1 <= VOID_TYPE)) ) {
+					alt29=1;
+				}
+				else if ( (LA29_1==ARROW) ) {
+					alt29=2;
+				}
+
+				else {
+					int nvaeMark = input.mark();
+					try {
+						input.consume();
+						NoViableAltException nvae =
+							new NoViableAltException("", 29, 1, input);
+						throw nvae;
+					} finally {
+						input.rewind(nvaeMark);
+					}
+				}
+
+				}
+				break;
+			case ACCESS_SPEC:
+			case ANNOTATION_VISIBILITY:
+			case BOOL_LITERAL:
+			case DOUBLE_LITERAL_OR_ID:
+			case FLOAT_LITERAL_OR_ID:
+			case INSTRUCTION_FORMAT10t:
+			case INSTRUCTION_FORMAT10x:
+			case INSTRUCTION_FORMAT10x_ODEX:
+			case INSTRUCTION_FORMAT11x:
+			case INSTRUCTION_FORMAT12x_OR_ID:
+			case INSTRUCTION_FORMAT21c_FIELD:
+			case INSTRUCTION_FORMAT21c_FIELD_ODEX:
+			case INSTRUCTION_FORMAT21c_STRING:
+			case INSTRUCTION_FORMAT21c_TYPE:
+			case INSTRUCTION_FORMAT21t:
+			case INSTRUCTION_FORMAT22c_FIELD:
+			case INSTRUCTION_FORMAT22c_FIELD_ODEX:
+			case INSTRUCTION_FORMAT22c_TYPE:
+			case INSTRUCTION_FORMAT22cs_FIELD:
+			case INSTRUCTION_FORMAT22s_OR_ID:
+			case INSTRUCTION_FORMAT22t:
+			case INSTRUCTION_FORMAT23x:
+			case INSTRUCTION_FORMAT31i_OR_ID:
+			case INSTRUCTION_FORMAT31t:
+			case INSTRUCTION_FORMAT35c_METHOD:
+			case INSTRUCTION_FORMAT35c_METHOD_ODEX:
+			case INSTRUCTION_FORMAT35c_TYPE:
+			case INSTRUCTION_FORMAT35mi_METHOD:
+			case INSTRUCTION_FORMAT35ms_METHOD:
+			case INSTRUCTION_FORMAT51l:
+			case MEMBER_NAME:
+			case NEGATIVE_INTEGER_LITERAL:
+			case NULL_LITERAL:
+			case PARAM_LIST_OR_ID_START:
+			case POSITIVE_INTEGER_LITERAL:
+			case REGISTER:
+			case SIMPLE_NAME:
+			case VERIFICATION_ERROR_TYPE:
+				{
+				alt29=2;
 				}
 				break;
 			case PRIMITIVE_TYPE:
 				{
-				alt26=2;
+				int LA29_3 = input.LA(2);
+				if ( (LA29_3==COLON||LA29_3==OPEN_PAREN) ) {
+					alt29=2;
+				}
+				else if ( (LA29_3==EOF||(LA29_3 >= ACCESS_SPEC && LA29_3 <= ANNOTATION_VISIBILITY)||LA29_3==BOOL_LITERAL||(LA29_3 >= CLASS_DIRECTIVE && LA29_3 <= CLOSE_BRACE)||LA29_3==COMMA||(LA29_3 >= DOUBLE_LITERAL_OR_ID && LA29_3 <= END_ANNOTATION_DIRECTIVE)||LA29_3==END_FIELD_DIRECTIVE||LA29_3==END_SUBANNOTATION_DIRECTIVE||LA29_3==FIELD_DIRECTIVE||(LA29_3 >= FLOAT_LITERAL_OR_ID && LA29_3 <= IMPLEMENTS_DIRECTIVE)||(LA29_3 >= INSTRUCTION_FORMAT10t && LA29_3 <= INSTRUCTION_FORMAT10x_ODEX)||LA29_3==INSTRUCTION_FORMAT11x||LA29_3==INSTRUCTION_FORMAT12x_OR_ID||(LA29_3 >= INSTRUCTION_FORMAT21c_FIELD && LA29_3 <= INSTRUCTION_FORMAT21c_TYPE)||LA29_3==INSTRUCTION_FORMAT21t||(LA29_3 >= INSTRUCTION_FORMAT22c_FIELD && LA29_3 <= INSTRUCTION_FORMAT22cs_FIELD)||(LA29_3 >= INSTRUCTION_FORMAT22s_OR_ID && LA29_3 <= INSTRUCTION_FORMAT22t)||LA29_3==INSTRUCTION_FORMAT23x||(LA29_3 >= INSTRUCTION_FORMAT31i_OR_ID && LA29_3 <= INSTRUCTION_FORMAT31t)||(LA29_3 >= INSTRUCTION_FORMAT35c_METHOD && LA29_3 <= INSTRUCTION_FORMAT35ms_METHOD)||LA29_3==INSTRUCTION_FORMAT51l||(LA29_3 >= METHOD_DIRECTIVE && LA29_3 <= NULL_LITERAL)||LA29_3==PARAM_LIST_OR_ID_START||(LA29_3 >= POSITIVE_INTEGER_LITERAL && LA29_3 <= PRIMITIVE_TYPE)||LA29_3==REGISTER||(LA29_3 >= SIMPLE_NAME && LA29_3 <= SOURCE_DIRECTIVE)||(LA29_3 >= SUPER_DIRECTIVE && LA29_3 <= VOID_TYPE)) ) {
+					alt29=3;
+				}
+
+				else {
+					int nvaeMark = input.mark();
+					try {
+						input.consume();
+						NoViableAltException nvae =
+							new NoViableAltException("", 29, 3, input);
+						throw nvae;
+					} finally {
+						input.rewind(nvaeMark);
+					}
+				}
+
 				}
 				break;
 			case VOID_TYPE:
 				{
-				alt26=3;
+				int LA29_4 = input.LA(2);
+				if ( (LA29_4==COLON||LA29_4==OPEN_PAREN) ) {
+					alt29=2;
+				}
+				else if ( (LA29_4==EOF||(LA29_4 >= ACCESS_SPEC && LA29_4 <= ANNOTATION_VISIBILITY)||LA29_4==BOOL_LITERAL||(LA29_4 >= CLASS_DIRECTIVE && LA29_4 <= CLOSE_BRACE)||LA29_4==COMMA||(LA29_4 >= DOUBLE_LITERAL_OR_ID && LA29_4 <= END_ANNOTATION_DIRECTIVE)||LA29_4==END_FIELD_DIRECTIVE||LA29_4==END_SUBANNOTATION_DIRECTIVE||LA29_4==FIELD_DIRECTIVE||(LA29_4 >= FLOAT_LITERAL_OR_ID && LA29_4 <= IMPLEMENTS_DIRECTIVE)||(LA29_4 >= INSTRUCTION_FORMAT10t && LA29_4 <= INSTRUCTION_FORMAT10x_ODEX)||LA29_4==INSTRUCTION_FORMAT11x||LA29_4==INSTRUCTION_FORMAT12x_OR_ID||(LA29_4 >= INSTRUCTION_FORMAT21c_FIELD && LA29_4 <= INSTRUCTION_FORMAT21c_TYPE)||LA29_4==INSTRUCTION_FORMAT21t||(LA29_4 >= INSTRUCTION_FORMAT22c_FIELD && LA29_4 <= INSTRUCTION_FORMAT22cs_FIELD)||(LA29_4 >= INSTRUCTION_FORMAT22s_OR_ID && LA29_4 <= INSTRUCTION_FORMAT22t)||LA29_4==INSTRUCTION_FORMAT23x||(LA29_4 >= INSTRUCTION_FORMAT31i_OR_ID && LA29_4 <= INSTRUCTION_FORMAT31t)||(LA29_4 >= INSTRUCTION_FORMAT35c_METHOD && LA29_4 <= INSTRUCTION_FORMAT35ms_METHOD)||LA29_4==INSTRUCTION_FORMAT51l||(LA29_4 >= METHOD_DIRECTIVE && LA29_4 <= NULL_LITERAL)||LA29_4==PARAM_LIST_OR_ID_START||(LA29_4 >= POSITIVE_INTEGER_LITERAL && LA29_4 <= PRIMITIVE_TYPE)||LA29_4==REGISTER||(LA29_4 >= SIMPLE_NAME && LA29_4 <= SOURCE_DIRECTIVE)||(LA29_4 >= SUPER_DIRECTIVE && LA29_4 <= VOID_TYPE)) ) {
+					alt29=4;
+				}
+
+				else {
+					int nvaeMark = input.mark();
+					try {
+						input.consume();
+						NoViableAltException nvae =
+							new NoViableAltException("", 29, 4, input);
+						throw nvae;
+					} finally {
+						input.rewind(nvaeMark);
+					}
+				}
+
 				}
 				break;
 			default:
 				NoViableAltException nvae =
-					new NoViableAltException("", 26, 0, input);
+					new NoViableAltException("", 29, 0, input);
 				throw nvae;
 			}
-			switch (alt26) {
+			switch (alt29) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:700:5: reference_type_descriptor ( ARROW ( member_name COLON nonvoid_type_descriptor -> ^( I_ENCODED_FIELD reference_type_descriptor member_name nonvoid_type_descriptor ) | member_name method_prototype -> ^( I_ENCODED_METHOD reference_type_descriptor member_name method_prototype ) ) | -> reference_type_descriptor )
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:688:5: reference_type_descriptor
 					{
-					pushFollow(FOLLOW_reference_type_descriptor_in_type_field_method_literal2903);
-					reference_type_descriptor158=reference_type_descriptor();
+					root_0 = (CommonTree)adaptor.nil();
+
+
+					pushFollow(FOLLOW_reference_type_descriptor_in_type_field_method_literal2854);
+					reference_type_descriptor165=reference_type_descriptor();
 					state._fsp--;
 
-					stream_reference_type_descriptor.add(reference_type_descriptor158.getTree());
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:701:5: ( ARROW ( member_name COLON nonvoid_type_descriptor -> ^( I_ENCODED_FIELD reference_type_descriptor member_name nonvoid_type_descriptor ) | member_name method_prototype -> ^( I_ENCODED_METHOD reference_type_descriptor member_name method_prototype ) ) | -> reference_type_descriptor )
-					int alt25=2;
-					int LA25_0 = input.LA(1);
-					if ( (LA25_0==ARROW) ) {
-						alt25=1;
-					}
-					else if ( (LA25_0==EOF||(LA25_0 >= ACCESS_SPEC && LA25_0 <= ANNOTATION_VISIBILITY)||LA25_0==BOOL_LITERAL||(LA25_0 >= CLASS_DIRECTIVE && LA25_0 <= CLOSE_BRACE)||LA25_0==COMMA||(LA25_0 >= DOUBLE_LITERAL_OR_ID && LA25_0 <= END_ANNOTATION_DIRECTIVE)||LA25_0==END_FIELD_DIRECTIVE||LA25_0==END_SUBANNOTATION_DIRECTIVE||LA25_0==FIELD_DIRECTIVE||LA25_0==FLOAT_LITERAL_OR_ID||LA25_0==IMPLEMENTS_DIRECTIVE||(LA25_0 >= INSTRUCTION_FORMAT10t && LA25_0 <= INSTRUCTION_FORMAT10x_ODEX)||LA25_0==INSTRUCTION_FORMAT11x||LA25_0==INSTRUCTION_FORMAT12x_OR_ID||(LA25_0 >= INSTRUCTION_FORMAT21c_FIELD && LA25_0 <= INSTRUCTION_FORMAT21c_TYPE)||LA25_0==INSTRUCTION_FORMAT21t||(LA25_0 >= INSTRUCTION_FORMAT22c_FIELD && LA25_0 <= INSTRUCTION_FORMAT22cs_FIELD)||(LA25_0 >= INSTRUCTION_FORMAT22s_OR_ID && LA25_0 <= INSTRUCTION_FORMAT22t)||LA25_0==INSTRUCTION_FORMAT23x||(LA25_0 >= INSTRUCTION_FORMAT31i_OR_ID && LA25_0 <= INSTRUCTION_FORMAT31t)||(LA25_0 >= INSTRUCTION_FORMAT35c_METHOD && LA25_0 <= INSTRUCTION_FORMAT35ms_METHOD)||LA25_0==INSTRUCTION_FORMAT51l||(LA25_0 >= METHOD_DIRECTIVE && LA25_0 <= NULL_LITERAL)||(LA25_0 >= PARAM_LIST_OR_ID && LA25_0 <= PRIMITIVE_TYPE)||LA25_0==REGISTER||(LA25_0 >= SIMPLE_NAME && LA25_0 <= SOURCE_DIRECTIVE)||(LA25_0 >= SUPER_DIRECTIVE && LA25_0 <= VOID_TYPE)) ) {
-						alt25=2;
-					}
-
-					else {
-						NoViableAltException nvae =
-							new NoViableAltException("", 25, 0, input);
-						throw nvae;
-					}
-
-					switch (alt25) {
-						case 1 :
-							// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:701:7: ARROW ( member_name COLON nonvoid_type_descriptor -> ^( I_ENCODED_FIELD reference_type_descriptor member_name nonvoid_type_descriptor ) | member_name method_prototype -> ^( I_ENCODED_METHOD reference_type_descriptor member_name method_prototype ) )
-							{
-							ARROW159=(Token)match(input,ARROW,FOLLOW_ARROW_in_type_field_method_literal2911);  
-							stream_ARROW.add(ARROW159);
-
-							// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:702:7: ( member_name COLON nonvoid_type_descriptor -> ^( I_ENCODED_FIELD reference_type_descriptor member_name nonvoid_type_descriptor ) | member_name method_prototype -> ^( I_ENCODED_METHOD reference_type_descriptor member_name method_prototype ) )
-							int alt24=2;
-							switch ( input.LA(1) ) {
-							case SIMPLE_NAME:
-								{
-								int LA24_1 = input.LA(2);
-								if ( (LA24_1==COLON) ) {
-									alt24=1;
-								}
-								else if ( (LA24_1==OPEN_PAREN) ) {
-									alt24=2;
-								}
-
-								else {
-									int nvaeMark = input.mark();
-									try {
-										input.consume();
-										NoViableAltException nvae =
-											new NoViableAltException("", 24, 1, input);
-										throw nvae;
-									} finally {
-										input.rewind(nvaeMark);
-									}
-								}
-
-								}
-								break;
-							case ACCESS_SPEC:
-								{
-								int LA24_2 = input.LA(2);
-								if ( (LA24_2==COLON) ) {
-									alt24=1;
-								}
-								else if ( (LA24_2==OPEN_PAREN) ) {
-									alt24=2;
-								}
-
-								else {
-									int nvaeMark = input.mark();
-									try {
-										input.consume();
-										NoViableAltException nvae =
-											new NoViableAltException("", 24, 2, input);
-										throw nvae;
-									} finally {
-										input.rewind(nvaeMark);
-									}
-								}
-
-								}
-								break;
-							case VERIFICATION_ERROR_TYPE:
-								{
-								int LA24_3 = input.LA(2);
-								if ( (LA24_3==COLON) ) {
-									alt24=1;
-								}
-								else if ( (LA24_3==OPEN_PAREN) ) {
-									alt24=2;
-								}
-
-								else {
-									int nvaeMark = input.mark();
-									try {
-										input.consume();
-										NoViableAltException nvae =
-											new NoViableAltException("", 24, 3, input);
-										throw nvae;
-									} finally {
-										input.rewind(nvaeMark);
-									}
-								}
-
-								}
-								break;
-							case POSITIVE_INTEGER_LITERAL:
-								{
-								int LA24_4 = input.LA(2);
-								if ( (LA24_4==COLON) ) {
-									alt24=1;
-								}
-								else if ( (LA24_4==OPEN_PAREN) ) {
-									alt24=2;
-								}
-
-								else {
-									int nvaeMark = input.mark();
-									try {
-										input.consume();
-										NoViableAltException nvae =
-											new NoViableAltException("", 24, 4, input);
-										throw nvae;
-									} finally {
-										input.rewind(nvaeMark);
-									}
-								}
-
-								}
-								break;
-							case NEGATIVE_INTEGER_LITERAL:
-								{
-								int LA24_5 = input.LA(2);
-								if ( (LA24_5==COLON) ) {
-									alt24=1;
-								}
-								else if ( (LA24_5==OPEN_PAREN) ) {
-									alt24=2;
-								}
-
-								else {
-									int nvaeMark = input.mark();
-									try {
-										input.consume();
-										NoViableAltException nvae =
-											new NoViableAltException("", 24, 5, input);
-										throw nvae;
-									} finally {
-										input.rewind(nvaeMark);
-									}
-								}
-
-								}
-								break;
-							case FLOAT_LITERAL_OR_ID:
-								{
-								int LA24_6 = input.LA(2);
-								if ( (LA24_6==COLON) ) {
-									alt24=1;
-								}
-								else if ( (LA24_6==OPEN_PAREN) ) {
-									alt24=2;
-								}
-
-								else {
-									int nvaeMark = input.mark();
-									try {
-										input.consume();
-										NoViableAltException nvae =
-											new NoViableAltException("", 24, 6, input);
-										throw nvae;
-									} finally {
-										input.rewind(nvaeMark);
-									}
-								}
-
-								}
-								break;
-							case DOUBLE_LITERAL_OR_ID:
-								{
-								int LA24_7 = input.LA(2);
-								if ( (LA24_7==COLON) ) {
-									alt24=1;
-								}
-								else if ( (LA24_7==OPEN_PAREN) ) {
-									alt24=2;
-								}
-
-								else {
-									int nvaeMark = input.mark();
-									try {
-										input.consume();
-										NoViableAltException nvae =
-											new NoViableAltException("", 24, 7, input);
-										throw nvae;
-									} finally {
-										input.rewind(nvaeMark);
-									}
-								}
-
-								}
-								break;
-							case BOOL_LITERAL:
-								{
-								int LA24_8 = input.LA(2);
-								if ( (LA24_8==COLON) ) {
-									alt24=1;
-								}
-								else if ( (LA24_8==OPEN_PAREN) ) {
-									alt24=2;
-								}
-
-								else {
-									int nvaeMark = input.mark();
-									try {
-										input.consume();
-										NoViableAltException nvae =
-											new NoViableAltException("", 24, 8, input);
-										throw nvae;
-									} finally {
-										input.rewind(nvaeMark);
-									}
-								}
-
-								}
-								break;
-							case NULL_LITERAL:
-								{
-								int LA24_9 = input.LA(2);
-								if ( (LA24_9==COLON) ) {
-									alt24=1;
-								}
-								else if ( (LA24_9==OPEN_PAREN) ) {
-									alt24=2;
-								}
-
-								else {
-									int nvaeMark = input.mark();
-									try {
-										input.consume();
-										NoViableAltException nvae =
-											new NoViableAltException("", 24, 9, input);
-										throw nvae;
-									} finally {
-										input.rewind(nvaeMark);
-									}
-								}
-
-								}
-								break;
-							case REGISTER:
-								{
-								int LA24_10 = input.LA(2);
-								if ( (LA24_10==COLON) ) {
-									alt24=1;
-								}
-								else if ( (LA24_10==OPEN_PAREN) ) {
-									alt24=2;
-								}
-
-								else {
-									int nvaeMark = input.mark();
-									try {
-										input.consume();
-										NoViableAltException nvae =
-											new NoViableAltException("", 24, 10, input);
-										throw nvae;
-									} finally {
-										input.rewind(nvaeMark);
-									}
-								}
-
-								}
-								break;
-							case PARAM_LIST_OR_ID:
-								{
-								int LA24_11 = input.LA(2);
-								if ( (LA24_11==COLON) ) {
-									alt24=1;
-								}
-								else if ( (LA24_11==OPEN_PAREN) ) {
-									alt24=2;
-								}
-
-								else {
-									int nvaeMark = input.mark();
-									try {
-										input.consume();
-										NoViableAltException nvae =
-											new NoViableAltException("", 24, 11, input);
-										throw nvae;
-									} finally {
-										input.rewind(nvaeMark);
-									}
-								}
-
-								}
-								break;
-							case PRIMITIVE_TYPE:
-								{
-								int LA24_12 = input.LA(2);
-								if ( (LA24_12==COLON) ) {
-									alt24=1;
-								}
-								else if ( (LA24_12==OPEN_PAREN) ) {
-									alt24=2;
-								}
-
-								else {
-									int nvaeMark = input.mark();
-									try {
-										input.consume();
-										NoViableAltException nvae =
-											new NoViableAltException("", 24, 12, input);
-										throw nvae;
-									} finally {
-										input.rewind(nvaeMark);
-									}
-								}
-
-								}
-								break;
-							case VOID_TYPE:
-								{
-								int LA24_13 = input.LA(2);
-								if ( (LA24_13==COLON) ) {
-									alt24=1;
-								}
-								else if ( (LA24_13==OPEN_PAREN) ) {
-									alt24=2;
-								}
-
-								else {
-									int nvaeMark = input.mark();
-									try {
-										input.consume();
-										NoViableAltException nvae =
-											new NoViableAltException("", 24, 13, input);
-										throw nvae;
-									} finally {
-										input.rewind(nvaeMark);
-									}
-								}
-
-								}
-								break;
-							case ANNOTATION_VISIBILITY:
-								{
-								int LA24_14 = input.LA(2);
-								if ( (LA24_14==COLON) ) {
-									alt24=1;
-								}
-								else if ( (LA24_14==OPEN_PAREN) ) {
-									alt24=2;
-								}
-
-								else {
-									int nvaeMark = input.mark();
-									try {
-										input.consume();
-										NoViableAltException nvae =
-											new NoViableAltException("", 24, 14, input);
-										throw nvae;
-									} finally {
-										input.rewind(nvaeMark);
-									}
-								}
-
-								}
-								break;
-							case INSTRUCTION_FORMAT10t:
-								{
-								int LA24_15 = input.LA(2);
-								if ( (LA24_15==COLON) ) {
-									alt24=1;
-								}
-								else if ( (LA24_15==OPEN_PAREN) ) {
-									alt24=2;
-								}
-
-								else {
-									int nvaeMark = input.mark();
-									try {
-										input.consume();
-										NoViableAltException nvae =
-											new NoViableAltException("", 24, 15, input);
-										throw nvae;
-									} finally {
-										input.rewind(nvaeMark);
-									}
-								}
-
-								}
-								break;
-							case INSTRUCTION_FORMAT10x:
-								{
-								int LA24_16 = input.LA(2);
-								if ( (LA24_16==COLON) ) {
-									alt24=1;
-								}
-								else if ( (LA24_16==OPEN_PAREN) ) {
-									alt24=2;
-								}
-
-								else {
-									int nvaeMark = input.mark();
-									try {
-										input.consume();
-										NoViableAltException nvae =
-											new NoViableAltException("", 24, 16, input);
-										throw nvae;
-									} finally {
-										input.rewind(nvaeMark);
-									}
-								}
-
-								}
-								break;
-							case INSTRUCTION_FORMAT10x_ODEX:
-								{
-								int LA24_17 = input.LA(2);
-								if ( (LA24_17==COLON) ) {
-									alt24=1;
-								}
-								else if ( (LA24_17==OPEN_PAREN) ) {
-									alt24=2;
-								}
-
-								else {
-									int nvaeMark = input.mark();
-									try {
-										input.consume();
-										NoViableAltException nvae =
-											new NoViableAltException("", 24, 17, input);
-										throw nvae;
-									} finally {
-										input.rewind(nvaeMark);
-									}
-								}
-
-								}
-								break;
-							case INSTRUCTION_FORMAT11x:
-								{
-								int LA24_18 = input.LA(2);
-								if ( (LA24_18==COLON) ) {
-									alt24=1;
-								}
-								else if ( (LA24_18==OPEN_PAREN) ) {
-									alt24=2;
-								}
-
-								else {
-									int nvaeMark = input.mark();
-									try {
-										input.consume();
-										NoViableAltException nvae =
-											new NoViableAltException("", 24, 18, input);
-										throw nvae;
-									} finally {
-										input.rewind(nvaeMark);
-									}
-								}
-
-								}
-								break;
-							case INSTRUCTION_FORMAT12x_OR_ID:
-								{
-								int LA24_19 = input.LA(2);
-								if ( (LA24_19==COLON) ) {
-									alt24=1;
-								}
-								else if ( (LA24_19==OPEN_PAREN) ) {
-									alt24=2;
-								}
-
-								else {
-									int nvaeMark = input.mark();
-									try {
-										input.consume();
-										NoViableAltException nvae =
-											new NoViableAltException("", 24, 19, input);
-										throw nvae;
-									} finally {
-										input.rewind(nvaeMark);
-									}
-								}
-
-								}
-								break;
-							case INSTRUCTION_FORMAT21c_FIELD:
-								{
-								int LA24_20 = input.LA(2);
-								if ( (LA24_20==COLON) ) {
-									alt24=1;
-								}
-								else if ( (LA24_20==OPEN_PAREN) ) {
-									alt24=2;
-								}
-
-								else {
-									int nvaeMark = input.mark();
-									try {
-										input.consume();
-										NoViableAltException nvae =
-											new NoViableAltException("", 24, 20, input);
-										throw nvae;
-									} finally {
-										input.rewind(nvaeMark);
-									}
-								}
-
-								}
-								break;
-							case INSTRUCTION_FORMAT21c_FIELD_ODEX:
-								{
-								int LA24_21 = input.LA(2);
-								if ( (LA24_21==COLON) ) {
-									alt24=1;
-								}
-								else if ( (LA24_21==OPEN_PAREN) ) {
-									alt24=2;
-								}
-
-								else {
-									int nvaeMark = input.mark();
-									try {
-										input.consume();
-										NoViableAltException nvae =
-											new NoViableAltException("", 24, 21, input);
-										throw nvae;
-									} finally {
-										input.rewind(nvaeMark);
-									}
-								}
-
-								}
-								break;
-							case INSTRUCTION_FORMAT21c_STRING:
-								{
-								int LA24_22 = input.LA(2);
-								if ( (LA24_22==COLON) ) {
-									alt24=1;
-								}
-								else if ( (LA24_22==OPEN_PAREN) ) {
-									alt24=2;
-								}
-
-								else {
-									int nvaeMark = input.mark();
-									try {
-										input.consume();
-										NoViableAltException nvae =
-											new NoViableAltException("", 24, 22, input);
-										throw nvae;
-									} finally {
-										input.rewind(nvaeMark);
-									}
-								}
-
-								}
-								break;
-							case INSTRUCTION_FORMAT21c_TYPE:
-								{
-								int LA24_23 = input.LA(2);
-								if ( (LA24_23==COLON) ) {
-									alt24=1;
-								}
-								else if ( (LA24_23==OPEN_PAREN) ) {
-									alt24=2;
-								}
-
-								else {
-									int nvaeMark = input.mark();
-									try {
-										input.consume();
-										NoViableAltException nvae =
-											new NoViableAltException("", 24, 23, input);
-										throw nvae;
-									} finally {
-										input.rewind(nvaeMark);
-									}
-								}
-
-								}
-								break;
-							case INSTRUCTION_FORMAT21t:
-								{
-								int LA24_24 = input.LA(2);
-								if ( (LA24_24==COLON) ) {
-									alt24=1;
-								}
-								else if ( (LA24_24==OPEN_PAREN) ) {
-									alt24=2;
-								}
-
-								else {
-									int nvaeMark = input.mark();
-									try {
-										input.consume();
-										NoViableAltException nvae =
-											new NoViableAltException("", 24, 24, input);
-										throw nvae;
-									} finally {
-										input.rewind(nvaeMark);
-									}
-								}
-
-								}
-								break;
-							case INSTRUCTION_FORMAT22c_FIELD:
-								{
-								int LA24_25 = input.LA(2);
-								if ( (LA24_25==COLON) ) {
-									alt24=1;
-								}
-								else if ( (LA24_25==OPEN_PAREN) ) {
-									alt24=2;
-								}
-
-								else {
-									int nvaeMark = input.mark();
-									try {
-										input.consume();
-										NoViableAltException nvae =
-											new NoViableAltException("", 24, 25, input);
-										throw nvae;
-									} finally {
-										input.rewind(nvaeMark);
-									}
-								}
-
-								}
-								break;
-							case INSTRUCTION_FORMAT22c_FIELD_ODEX:
-								{
-								int LA24_26 = input.LA(2);
-								if ( (LA24_26==COLON) ) {
-									alt24=1;
-								}
-								else if ( (LA24_26==OPEN_PAREN) ) {
-									alt24=2;
-								}
-
-								else {
-									int nvaeMark = input.mark();
-									try {
-										input.consume();
-										NoViableAltException nvae =
-											new NoViableAltException("", 24, 26, input);
-										throw nvae;
-									} finally {
-										input.rewind(nvaeMark);
-									}
-								}
-
-								}
-								break;
-							case INSTRUCTION_FORMAT22c_TYPE:
-								{
-								int LA24_27 = input.LA(2);
-								if ( (LA24_27==COLON) ) {
-									alt24=1;
-								}
-								else if ( (LA24_27==OPEN_PAREN) ) {
-									alt24=2;
-								}
-
-								else {
-									int nvaeMark = input.mark();
-									try {
-										input.consume();
-										NoViableAltException nvae =
-											new NoViableAltException("", 24, 27, input);
-										throw nvae;
-									} finally {
-										input.rewind(nvaeMark);
-									}
-								}
-
-								}
-								break;
-							case INSTRUCTION_FORMAT22cs_FIELD:
-								{
-								int LA24_28 = input.LA(2);
-								if ( (LA24_28==COLON) ) {
-									alt24=1;
-								}
-								else if ( (LA24_28==OPEN_PAREN) ) {
-									alt24=2;
-								}
-
-								else {
-									int nvaeMark = input.mark();
-									try {
-										input.consume();
-										NoViableAltException nvae =
-											new NoViableAltException("", 24, 28, input);
-										throw nvae;
-									} finally {
-										input.rewind(nvaeMark);
-									}
-								}
-
-								}
-								break;
-							case INSTRUCTION_FORMAT22s_OR_ID:
-								{
-								int LA24_29 = input.LA(2);
-								if ( (LA24_29==COLON) ) {
-									alt24=1;
-								}
-								else if ( (LA24_29==OPEN_PAREN) ) {
-									alt24=2;
-								}
-
-								else {
-									int nvaeMark = input.mark();
-									try {
-										input.consume();
-										NoViableAltException nvae =
-											new NoViableAltException("", 24, 29, input);
-										throw nvae;
-									} finally {
-										input.rewind(nvaeMark);
-									}
-								}
-
-								}
-								break;
-							case INSTRUCTION_FORMAT22t:
-								{
-								int LA24_30 = input.LA(2);
-								if ( (LA24_30==COLON) ) {
-									alt24=1;
-								}
-								else if ( (LA24_30==OPEN_PAREN) ) {
-									alt24=2;
-								}
-
-								else {
-									int nvaeMark = input.mark();
-									try {
-										input.consume();
-										NoViableAltException nvae =
-											new NoViableAltException("", 24, 30, input);
-										throw nvae;
-									} finally {
-										input.rewind(nvaeMark);
-									}
-								}
-
-								}
-								break;
-							case INSTRUCTION_FORMAT23x:
-								{
-								int LA24_31 = input.LA(2);
-								if ( (LA24_31==COLON) ) {
-									alt24=1;
-								}
-								else if ( (LA24_31==OPEN_PAREN) ) {
-									alt24=2;
-								}
-
-								else {
-									int nvaeMark = input.mark();
-									try {
-										input.consume();
-										NoViableAltException nvae =
-											new NoViableAltException("", 24, 31, input);
-										throw nvae;
-									} finally {
-										input.rewind(nvaeMark);
-									}
-								}
-
-								}
-								break;
-							case INSTRUCTION_FORMAT31i_OR_ID:
-								{
-								int LA24_32 = input.LA(2);
-								if ( (LA24_32==COLON) ) {
-									alt24=1;
-								}
-								else if ( (LA24_32==OPEN_PAREN) ) {
-									alt24=2;
-								}
-
-								else {
-									int nvaeMark = input.mark();
-									try {
-										input.consume();
-										NoViableAltException nvae =
-											new NoViableAltException("", 24, 32, input);
-										throw nvae;
-									} finally {
-										input.rewind(nvaeMark);
-									}
-								}
-
-								}
-								break;
-							case INSTRUCTION_FORMAT31t:
-								{
-								int LA24_33 = input.LA(2);
-								if ( (LA24_33==COLON) ) {
-									alt24=1;
-								}
-								else if ( (LA24_33==OPEN_PAREN) ) {
-									alt24=2;
-								}
-
-								else {
-									int nvaeMark = input.mark();
-									try {
-										input.consume();
-										NoViableAltException nvae =
-											new NoViableAltException("", 24, 33, input);
-										throw nvae;
-									} finally {
-										input.rewind(nvaeMark);
-									}
-								}
-
-								}
-								break;
-							case INSTRUCTION_FORMAT35c_METHOD:
-								{
-								int LA24_34 = input.LA(2);
-								if ( (LA24_34==COLON) ) {
-									alt24=1;
-								}
-								else if ( (LA24_34==OPEN_PAREN) ) {
-									alt24=2;
-								}
-
-								else {
-									int nvaeMark = input.mark();
-									try {
-										input.consume();
-										NoViableAltException nvae =
-											new NoViableAltException("", 24, 34, input);
-										throw nvae;
-									} finally {
-										input.rewind(nvaeMark);
-									}
-								}
-
-								}
-								break;
-							case INSTRUCTION_FORMAT35c_METHOD_ODEX:
-								{
-								int LA24_35 = input.LA(2);
-								if ( (LA24_35==COLON) ) {
-									alt24=1;
-								}
-								else if ( (LA24_35==OPEN_PAREN) ) {
-									alt24=2;
-								}
-
-								else {
-									int nvaeMark = input.mark();
-									try {
-										input.consume();
-										NoViableAltException nvae =
-											new NoViableAltException("", 24, 35, input);
-										throw nvae;
-									} finally {
-										input.rewind(nvaeMark);
-									}
-								}
-
-								}
-								break;
-							case INSTRUCTION_FORMAT35c_TYPE:
-								{
-								int LA24_36 = input.LA(2);
-								if ( (LA24_36==COLON) ) {
-									alt24=1;
-								}
-								else if ( (LA24_36==OPEN_PAREN) ) {
-									alt24=2;
-								}
-
-								else {
-									int nvaeMark = input.mark();
-									try {
-										input.consume();
-										NoViableAltException nvae =
-											new NoViableAltException("", 24, 36, input);
-										throw nvae;
-									} finally {
-										input.rewind(nvaeMark);
-									}
-								}
-
-								}
-								break;
-							case INSTRUCTION_FORMAT35mi_METHOD:
-								{
-								int LA24_37 = input.LA(2);
-								if ( (LA24_37==COLON) ) {
-									alt24=1;
-								}
-								else if ( (LA24_37==OPEN_PAREN) ) {
-									alt24=2;
-								}
-
-								else {
-									int nvaeMark = input.mark();
-									try {
-										input.consume();
-										NoViableAltException nvae =
-											new NoViableAltException("", 24, 37, input);
-										throw nvae;
-									} finally {
-										input.rewind(nvaeMark);
-									}
-								}
-
-								}
-								break;
-							case INSTRUCTION_FORMAT35ms_METHOD:
-								{
-								int LA24_38 = input.LA(2);
-								if ( (LA24_38==COLON) ) {
-									alt24=1;
-								}
-								else if ( (LA24_38==OPEN_PAREN) ) {
-									alt24=2;
-								}
-
-								else {
-									int nvaeMark = input.mark();
-									try {
-										input.consume();
-										NoViableAltException nvae =
-											new NoViableAltException("", 24, 38, input);
-										throw nvae;
-									} finally {
-										input.rewind(nvaeMark);
-									}
-								}
-
-								}
-								break;
-							case INSTRUCTION_FORMAT51l:
-								{
-								int LA24_39 = input.LA(2);
-								if ( (LA24_39==COLON) ) {
-									alt24=1;
-								}
-								else if ( (LA24_39==OPEN_PAREN) ) {
-									alt24=2;
-								}
-
-								else {
-									int nvaeMark = input.mark();
-									try {
-										input.consume();
-										NoViableAltException nvae =
-											new NoViableAltException("", 24, 39, input);
-										throw nvae;
-									} finally {
-										input.rewind(nvaeMark);
-									}
-								}
-
-								}
-								break;
-							case MEMBER_NAME:
-								{
-								int LA24_40 = input.LA(2);
-								if ( (LA24_40==COLON) ) {
-									alt24=1;
-								}
-								else if ( (LA24_40==OPEN_PAREN) ) {
-									alt24=2;
-								}
-
-								else {
-									int nvaeMark = input.mark();
-									try {
-										input.consume();
-										NoViableAltException nvae =
-											new NoViableAltException("", 24, 40, input);
-										throw nvae;
-									} finally {
-										input.rewind(nvaeMark);
-									}
-								}
-
-								}
-								break;
-							default:
-								NoViableAltException nvae =
-									new NoViableAltException("", 24, 0, input);
-								throw nvae;
-							}
-							switch (alt24) {
-								case 1 :
-									// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:702:9: member_name COLON nonvoid_type_descriptor
-									{
-									pushFollow(FOLLOW_member_name_in_type_field_method_literal2921);
-									member_name160=member_name();
-									state._fsp--;
-
-									stream_member_name.add(member_name160.getTree());
-									COLON161=(Token)match(input,COLON,FOLLOW_COLON_in_type_field_method_literal2923);  
-									stream_COLON.add(COLON161);
-
-									pushFollow(FOLLOW_nonvoid_type_descriptor_in_type_field_method_literal2925);
-									nonvoid_type_descriptor162=nonvoid_type_descriptor();
-									state._fsp--;
-
-									stream_nonvoid_type_descriptor.add(nonvoid_type_descriptor162.getTree());
-									// AST REWRITE
-									// elements: member_name, nonvoid_type_descriptor, reference_type_descriptor
-									// token labels: 
-									// rule labels: retval
-									// token list labels: 
-									// rule list labels: 
-									// wildcard labels: 
-									retval.tree = root_0;
-									RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
-									root_0 = (CommonTree)adaptor.nil();
-									// 702:51: -> ^( I_ENCODED_FIELD reference_type_descriptor member_name nonvoid_type_descriptor )
-									{
-										// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:702:54: ^( I_ENCODED_FIELD reference_type_descriptor member_name nonvoid_type_descriptor )
-										{
-										CommonTree root_1 = (CommonTree)adaptor.nil();
-										root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_ENCODED_FIELD, "I_ENCODED_FIELD"), root_1);
-										adaptor.addChild(root_1, stream_reference_type_descriptor.nextTree());
-										adaptor.addChild(root_1, stream_member_name.nextTree());
-										adaptor.addChild(root_1, stream_nonvoid_type_descriptor.nextTree());
-										adaptor.addChild(root_0, root_1);
-										}
-
-									}
-
-
-									retval.tree = root_0;
-
-									}
-									break;
-								case 2 :
-									// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:703:9: member_name method_prototype
-									{
-									pushFollow(FOLLOW_member_name_in_type_field_method_literal2947);
-									member_name163=member_name();
-									state._fsp--;
-
-									stream_member_name.add(member_name163.getTree());
-									pushFollow(FOLLOW_method_prototype_in_type_field_method_literal2949);
-									method_prototype164=method_prototype();
-									state._fsp--;
-
-									stream_method_prototype.add(method_prototype164.getTree());
-									// AST REWRITE
-									// elements: reference_type_descriptor, method_prototype, member_name
-									// token labels: 
-									// rule labels: retval
-									// token list labels: 
-									// rule list labels: 
-									// wildcard labels: 
-									retval.tree = root_0;
-									RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
-									root_0 = (CommonTree)adaptor.nil();
-									// 703:38: -> ^( I_ENCODED_METHOD reference_type_descriptor member_name method_prototype )
-									{
-										// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:703:41: ^( I_ENCODED_METHOD reference_type_descriptor member_name method_prototype )
-										{
-										CommonTree root_1 = (CommonTree)adaptor.nil();
-										root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_ENCODED_METHOD, "I_ENCODED_METHOD"), root_1);
-										adaptor.addChild(root_1, stream_reference_type_descriptor.nextTree());
-										adaptor.addChild(root_1, stream_member_name.nextTree());
-										adaptor.addChild(root_1, stream_method_prototype.nextTree());
-										adaptor.addChild(root_0, root_1);
-										}
-
-									}
-
-
-									retval.tree = root_0;
-
-									}
-									break;
-
-							}
-
-							}
-							break;
-						case 2 :
-							// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:705:7: 
-							{
-							// AST REWRITE
-							// elements: reference_type_descriptor
-							// token labels: 
-							// rule labels: retval
-							// token list labels: 
-							// rule list labels: 
-							// wildcard labels: 
-							retval.tree = root_0;
-							RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
-							root_0 = (CommonTree)adaptor.nil();
-							// 705:7: -> reference_type_descriptor
-							{
-								adaptor.addChild(root_0, stream_reference_type_descriptor.nextTree());
-							}
-
-
-							retval.tree = root_0;
-
-							}
-							break;
-
-					}
+					adaptor.addChild(root_0, reference_type_descriptor165.getTree());
 
 					}
 					break;
 				case 2 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:707:5: PRIMITIVE_TYPE
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:689:5: ( ( reference_type_descriptor ARROW )? ( member_name COLON nonvoid_type_descriptor -> ^( I_ENCODED_FIELD ( reference_type_descriptor )? member_name nonvoid_type_descriptor ) | member_name method_prototype -> ^( I_ENCODED_METHOD ( reference_type_descriptor )? member_name method_prototype ) ) )
 					{
-					root_0 = (CommonTree)adaptor.nil();
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:689:5: ( ( reference_type_descriptor ARROW )? ( member_name COLON nonvoid_type_descriptor -> ^( I_ENCODED_FIELD ( reference_type_descriptor )? member_name nonvoid_type_descriptor ) | member_name method_prototype -> ^( I_ENCODED_METHOD ( reference_type_descriptor )? member_name method_prototype ) ) )
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:689:7: ( reference_type_descriptor ARROW )? ( member_name COLON nonvoid_type_descriptor -> ^( I_ENCODED_FIELD ( reference_type_descriptor )? member_name nonvoid_type_descriptor ) | member_name method_prototype -> ^( I_ENCODED_METHOD ( reference_type_descriptor )? member_name method_prototype ) )
+					{
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:689:7: ( reference_type_descriptor ARROW )?
+					int alt27=2;
+					int LA27_0 = input.LA(1);
+					if ( (LA27_0==ARRAY_DESCRIPTOR||LA27_0==CLASS_DESCRIPTOR) ) {
+						alt27=1;
+					}
+					switch (alt27) {
+						case 1 :
+							// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:689:8: reference_type_descriptor ARROW
+							{
+							pushFollow(FOLLOW_reference_type_descriptor_in_type_field_method_literal2863);
+							reference_type_descriptor166=reference_type_descriptor();
+							state._fsp--;
+
+							stream_reference_type_descriptor.add(reference_type_descriptor166.getTree());
+							ARROW167=(Token)match(input,ARROW,FOLLOW_ARROW_in_type_field_method_literal2865);
+							stream_ARROW.add(ARROW167);
+
+							}
+							break;
+
+					}
+
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:690:7: ( member_name COLON nonvoid_type_descriptor -> ^( I_ENCODED_FIELD ( reference_type_descriptor )? member_name nonvoid_type_descriptor ) | member_name method_prototype -> ^( I_ENCODED_METHOD ( reference_type_descriptor )? member_name method_prototype ) )
+					int alt28=2;
+					alt28 = dfa28.predict(input);
+					switch (alt28) {
+						case 1 :
+							// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:690:9: member_name COLON nonvoid_type_descriptor
+							{
+							pushFollow(FOLLOW_member_name_in_type_field_method_literal2877);
+							member_name168=member_name();
+							state._fsp--;
+
+							stream_member_name.add(member_name168.getTree());
+							COLON169=(Token)match(input,COLON,FOLLOW_COLON_in_type_field_method_literal2879);
+							stream_COLON.add(COLON169);
+
+							pushFollow(FOLLOW_nonvoid_type_descriptor_in_type_field_method_literal2881);
+							nonvoid_type_descriptor170=nonvoid_type_descriptor();
+							state._fsp--;
+
+							stream_nonvoid_type_descriptor.add(nonvoid_type_descriptor170.getTree());
+							// AST REWRITE
+							// elements: member_name, nonvoid_type_descriptor, reference_type_descriptor
+							// token labels:
+							// rule labels: retval
+							// token list labels:
+							// rule list labels:
+							// wildcard labels:
+							retval.tree = root_0;
+							RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
+
+							root_0 = (CommonTree)adaptor.nil();
+							// 690:51: -> ^( I_ENCODED_FIELD ( reference_type_descriptor )? member_name nonvoid_type_descriptor )
+							{
+								// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:690:54: ^( I_ENCODED_FIELD ( reference_type_descriptor )? member_name nonvoid_type_descriptor )
+								{
+								CommonTree root_1 = (CommonTree)adaptor.nil();
+								root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_ENCODED_FIELD, "I_ENCODED_FIELD"), root_1);
+								// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:690:72: ( reference_type_descriptor )?
+								if ( stream_reference_type_descriptor.hasNext() ) {
+									adaptor.addChild(root_1, stream_reference_type_descriptor.nextTree());
+								}
+								stream_reference_type_descriptor.reset();
+
+								adaptor.addChild(root_1, stream_member_name.nextTree());
+								adaptor.addChild(root_1, stream_nonvoid_type_descriptor.nextTree());
+								adaptor.addChild(root_0, root_1);
+								}
+
+							}
 
 
-					PRIMITIVE_TYPE165=(Token)match(input,PRIMITIVE_TYPE,FOLLOW_PRIMITIVE_TYPE_in_type_field_method_literal2991); 
-					PRIMITIVE_TYPE165_tree = (CommonTree)adaptor.create(PRIMITIVE_TYPE165);
-					adaptor.addChild(root_0, PRIMITIVE_TYPE165_tree);
+							retval.tree = root_0;
+
+							}
+							break;
+						case 2 :
+							// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:691:9: member_name method_prototype
+							{
+							pushFollow(FOLLOW_member_name_in_type_field_method_literal2904);
+							member_name171=member_name();
+							state._fsp--;
+
+							stream_member_name.add(member_name171.getTree());
+							pushFollow(FOLLOW_method_prototype_in_type_field_method_literal2906);
+							method_prototype172=method_prototype();
+							state._fsp--;
+
+							stream_method_prototype.add(method_prototype172.getTree());
+							// AST REWRITE
+							// elements: member_name, method_prototype, reference_type_descriptor
+							// token labels:
+							// rule labels: retval
+							// token list labels:
+							// rule list labels:
+							// wildcard labels:
+							retval.tree = root_0;
+							RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
+
+							root_0 = (CommonTree)adaptor.nil();
+							// 691:38: -> ^( I_ENCODED_METHOD ( reference_type_descriptor )? member_name method_prototype )
+							{
+								// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:691:41: ^( I_ENCODED_METHOD ( reference_type_descriptor )? member_name method_prototype )
+								{
+								CommonTree root_1 = (CommonTree)adaptor.nil();
+								root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_ENCODED_METHOD, "I_ENCODED_METHOD"), root_1);
+								// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:691:60: ( reference_type_descriptor )?
+								if ( stream_reference_type_descriptor.hasNext() ) {
+									adaptor.addChild(root_1, stream_reference_type_descriptor.nextTree());
+								}
+								stream_reference_type_descriptor.reset();
+
+								adaptor.addChild(root_1, stream_member_name.nextTree());
+								adaptor.addChild(root_1, stream_method_prototype.nextTree());
+								adaptor.addChild(root_0, root_1);
+								}
+
+							}
+
+
+							retval.tree = root_0;
+
+							}
+							break;
+
+					}
+
+					}
 
 					}
 					break;
 				case 3 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:708:5: VOID_TYPE
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:694:5: PRIMITIVE_TYPE
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					VOID_TYPE166=(Token)match(input,VOID_TYPE,FOLLOW_VOID_TYPE_in_type_field_method_literal2997); 
-					VOID_TYPE166_tree = (CommonTree)adaptor.create(VOID_TYPE166);
-					adaptor.addChild(root_0, VOID_TYPE166_tree);
+					PRIMITIVE_TYPE173=(Token)match(input,PRIMITIVE_TYPE,FOLLOW_PRIMITIVE_TYPE_in_type_field_method_literal2939);
+					PRIMITIVE_TYPE173_tree = (CommonTree)adaptor.create(PRIMITIVE_TYPE173);
+					adaptor.addChild(root_0, PRIMITIVE_TYPE173_tree);
+
+					}
+					break;
+				case 4 :
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:695:5: VOID_TYPE
+					{
+					root_0 = (CommonTree)adaptor.nil();
+
+
+					VOID_TYPE174=(Token)match(input,VOID_TYPE,FOLLOW_VOID_TYPE_in_type_field_method_literal2945);
+					VOID_TYPE174_tree = (CommonTree)adaptor.create(VOID_TYPE174);
+					adaptor.addChild(root_0, VOID_TYPE174_tree);
 
 					}
 					break;
@@ -7216,68 +6651,88 @@
 	// $ANTLR end "type_field_method_literal"
 
 
-	public static class fully_qualified_method_return extends ParserRuleReturnScope {
+	public static class method_reference_return extends ParserRuleReturnScope {
 		CommonTree tree;
 		@Override
 		public CommonTree getTree() { return tree; }
 	};
 
 
-	// $ANTLR start "fully_qualified_method"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:710:1: fully_qualified_method : reference_type_descriptor ARROW member_name method_prototype -> reference_type_descriptor member_name method_prototype ;
-	public final smaliParser.fully_qualified_method_return fully_qualified_method() throws RecognitionException {
-		smaliParser.fully_qualified_method_return retval = new smaliParser.fully_qualified_method_return();
+	// $ANTLR start "method_reference"
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:697:1: method_reference : ( reference_type_descriptor ARROW )? member_name method_prototype -> ( reference_type_descriptor )? member_name method_prototype ;
+	public final smaliParser.method_reference_return method_reference() throws RecognitionException {
+		smaliParser.method_reference_return retval = new smaliParser.method_reference_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token ARROW168=null;
-		ParserRuleReturnScope reference_type_descriptor167 =null;
-		ParserRuleReturnScope member_name169 =null;
-		ParserRuleReturnScope method_prototype170 =null;
+		Token ARROW176=null;
+		ParserRuleReturnScope reference_type_descriptor175 =null;
+		ParserRuleReturnScope member_name177 =null;
+		ParserRuleReturnScope method_prototype178 =null;
 
-		CommonTree ARROW168_tree=null;
+		CommonTree ARROW176_tree=null;
 		RewriteRuleTokenStream stream_ARROW=new RewriteRuleTokenStream(adaptor,"token ARROW");
 		RewriteRuleSubtreeStream stream_method_prototype=new RewriteRuleSubtreeStream(adaptor,"rule method_prototype");
 		RewriteRuleSubtreeStream stream_reference_type_descriptor=new RewriteRuleSubtreeStream(adaptor,"rule reference_type_descriptor");
 		RewriteRuleSubtreeStream stream_member_name=new RewriteRuleSubtreeStream(adaptor,"rule member_name");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:711:3: ( reference_type_descriptor ARROW member_name method_prototype -> reference_type_descriptor member_name method_prototype )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:711:5: reference_type_descriptor ARROW member_name method_prototype
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:698:3: ( ( reference_type_descriptor ARROW )? member_name method_prototype -> ( reference_type_descriptor )? member_name method_prototype )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:698:5: ( reference_type_descriptor ARROW )? member_name method_prototype
 			{
-			pushFollow(FOLLOW_reference_type_descriptor_in_fully_qualified_method3007);
-			reference_type_descriptor167=reference_type_descriptor();
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:698:5: ( reference_type_descriptor ARROW )?
+			int alt30=2;
+			int LA30_0 = input.LA(1);
+			if ( (LA30_0==ARRAY_DESCRIPTOR||LA30_0==CLASS_DESCRIPTOR) ) {
+				alt30=1;
+			}
+			switch (alt30) {
+				case 1 :
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:698:6: reference_type_descriptor ARROW
+					{
+					pushFollow(FOLLOW_reference_type_descriptor_in_method_reference2956);
+					reference_type_descriptor175=reference_type_descriptor();
+					state._fsp--;
+
+					stream_reference_type_descriptor.add(reference_type_descriptor175.getTree());
+					ARROW176=(Token)match(input,ARROW,FOLLOW_ARROW_in_method_reference2958);
+					stream_ARROW.add(ARROW176);
+
+					}
+					break;
+
+			}
+
+			pushFollow(FOLLOW_member_name_in_method_reference2962);
+			member_name177=member_name();
 			state._fsp--;
 
-			stream_reference_type_descriptor.add(reference_type_descriptor167.getTree());
-			ARROW168=(Token)match(input,ARROW,FOLLOW_ARROW_in_fully_qualified_method3009);  
-			stream_ARROW.add(ARROW168);
-
-			pushFollow(FOLLOW_member_name_in_fully_qualified_method3011);
-			member_name169=member_name();
+			stream_member_name.add(member_name177.getTree());
+			pushFollow(FOLLOW_method_prototype_in_method_reference2964);
+			method_prototype178=method_prototype();
 			state._fsp--;
 
-			stream_member_name.add(member_name169.getTree());
-			pushFollow(FOLLOW_method_prototype_in_fully_qualified_method3013);
-			method_prototype170=method_prototype();
-			state._fsp--;
-
-			stream_method_prototype.add(method_prototype170.getTree());
+			stream_method_prototype.add(method_prototype178.getTree());
 			// AST REWRITE
-			// elements: method_prototype, member_name, reference_type_descriptor
-			// token labels: 
+			// elements: member_name, method_prototype, reference_type_descriptor
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 712:3: -> reference_type_descriptor member_name method_prototype
+			// 699:3: -> ( reference_type_descriptor )? member_name method_prototype
 			{
-				adaptor.addChild(root_0, stream_reference_type_descriptor.nextTree());
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:699:6: ( reference_type_descriptor )?
+				if ( stream_reference_type_descriptor.hasNext() ) {
+					adaptor.addChild(root_0, stream_reference_type_descriptor.nextTree());
+				}
+				stream_reference_type_descriptor.reset();
+
 				adaptor.addChild(root_0, stream_member_name.nextTree());
 				adaptor.addChild(root_0, stream_method_prototype.nextTree());
 			}
@@ -7303,32 +6758,32 @@
 		}
 		return retval;
 	}
-	// $ANTLR end "fully_qualified_method"
+	// $ANTLR end "method_reference"
 
 
-	public static class fully_qualified_field_return extends ParserRuleReturnScope {
+	public static class field_reference_return extends ParserRuleReturnScope {
 		CommonTree tree;
 		@Override
 		public CommonTree getTree() { return tree; }
 	};
 
 
-	// $ANTLR start "fully_qualified_field"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:714:1: fully_qualified_field : reference_type_descriptor ARROW member_name COLON nonvoid_type_descriptor -> reference_type_descriptor member_name nonvoid_type_descriptor ;
-	public final smaliParser.fully_qualified_field_return fully_qualified_field() throws RecognitionException {
-		smaliParser.fully_qualified_field_return retval = new smaliParser.fully_qualified_field_return();
+	// $ANTLR start "field_reference"
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:701:1: field_reference : ( reference_type_descriptor ARROW )? member_name COLON nonvoid_type_descriptor -> ( reference_type_descriptor )? member_name nonvoid_type_descriptor ;
+	public final smaliParser.field_reference_return field_reference() throws RecognitionException {
+		smaliParser.field_reference_return retval = new smaliParser.field_reference_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token ARROW172=null;
-		Token COLON174=null;
-		ParserRuleReturnScope reference_type_descriptor171 =null;
-		ParserRuleReturnScope member_name173 =null;
-		ParserRuleReturnScope nonvoid_type_descriptor175 =null;
+		Token ARROW180=null;
+		Token COLON182=null;
+		ParserRuleReturnScope reference_type_descriptor179 =null;
+		ParserRuleReturnScope member_name181 =null;
+		ParserRuleReturnScope nonvoid_type_descriptor183 =null;
 
-		CommonTree ARROW172_tree=null;
-		CommonTree COLON174_tree=null;
+		CommonTree ARROW180_tree=null;
+		CommonTree COLON182_tree=null;
 		RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON");
 		RewriteRuleTokenStream stream_ARROW=new RewriteRuleTokenStream(adaptor,"token ARROW");
 		RewriteRuleSubtreeStream stream_nonvoid_type_descriptor=new RewriteRuleSubtreeStream(adaptor,"rule nonvoid_type_descriptor");
@@ -7336,44 +6791,64 @@
 		RewriteRuleSubtreeStream stream_member_name=new RewriteRuleSubtreeStream(adaptor,"rule member_name");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:715:3: ( reference_type_descriptor ARROW member_name COLON nonvoid_type_descriptor -> reference_type_descriptor member_name nonvoid_type_descriptor )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:715:5: reference_type_descriptor ARROW member_name COLON nonvoid_type_descriptor
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:702:3: ( ( reference_type_descriptor ARROW )? member_name COLON nonvoid_type_descriptor -> ( reference_type_descriptor )? member_name nonvoid_type_descriptor )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:702:5: ( reference_type_descriptor ARROW )? member_name COLON nonvoid_type_descriptor
 			{
-			pushFollow(FOLLOW_reference_type_descriptor_in_fully_qualified_field3033);
-			reference_type_descriptor171=reference_type_descriptor();
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:702:5: ( reference_type_descriptor ARROW )?
+			int alt31=2;
+			int LA31_0 = input.LA(1);
+			if ( (LA31_0==ARRAY_DESCRIPTOR||LA31_0==CLASS_DESCRIPTOR) ) {
+				alt31=1;
+			}
+			switch (alt31) {
+				case 1 :
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:702:6: reference_type_descriptor ARROW
+					{
+					pushFollow(FOLLOW_reference_type_descriptor_in_field_reference2986);
+					reference_type_descriptor179=reference_type_descriptor();
+					state._fsp--;
+
+					stream_reference_type_descriptor.add(reference_type_descriptor179.getTree());
+					ARROW180=(Token)match(input,ARROW,FOLLOW_ARROW_in_field_reference2988);
+					stream_ARROW.add(ARROW180);
+
+					}
+					break;
+
+			}
+
+			pushFollow(FOLLOW_member_name_in_field_reference2992);
+			member_name181=member_name();
 			state._fsp--;
 
-			stream_reference_type_descriptor.add(reference_type_descriptor171.getTree());
-			ARROW172=(Token)match(input,ARROW,FOLLOW_ARROW_in_fully_qualified_field3035);  
-			stream_ARROW.add(ARROW172);
+			stream_member_name.add(member_name181.getTree());
+			COLON182=(Token)match(input,COLON,FOLLOW_COLON_in_field_reference2994);
+			stream_COLON.add(COLON182);
 
-			pushFollow(FOLLOW_member_name_in_fully_qualified_field3037);
-			member_name173=member_name();
+			pushFollow(FOLLOW_nonvoid_type_descriptor_in_field_reference2996);
+			nonvoid_type_descriptor183=nonvoid_type_descriptor();
 			state._fsp--;
 
-			stream_member_name.add(member_name173.getTree());
-			COLON174=(Token)match(input,COLON,FOLLOW_COLON_in_fully_qualified_field3039);  
-			stream_COLON.add(COLON174);
-
-			pushFollow(FOLLOW_nonvoid_type_descriptor_in_fully_qualified_field3041);
-			nonvoid_type_descriptor175=nonvoid_type_descriptor();
-			state._fsp--;
-
-			stream_nonvoid_type_descriptor.add(nonvoid_type_descriptor175.getTree());
+			stream_nonvoid_type_descriptor.add(nonvoid_type_descriptor183.getTree());
 			// AST REWRITE
-			// elements: nonvoid_type_descriptor, reference_type_descriptor, member_name
-			// token labels: 
+			// elements: nonvoid_type_descriptor, member_name, reference_type_descriptor
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 716:3: -> reference_type_descriptor member_name nonvoid_type_descriptor
+			// 703:3: -> ( reference_type_descriptor )? member_name nonvoid_type_descriptor
 			{
-				adaptor.addChild(root_0, stream_reference_type_descriptor.nextTree());
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:703:6: ( reference_type_descriptor )?
+				if ( stream_reference_type_descriptor.hasNext() ) {
+					adaptor.addChild(root_0, stream_reference_type_descriptor.nextTree());
+				}
+				stream_reference_type_descriptor.reset();
+
 				adaptor.addChild(root_0, stream_member_name.nextTree());
 				adaptor.addChild(root_0, stream_nonvoid_type_descriptor.nextTree());
 			}
@@ -7399,7 +6874,7 @@
 		}
 		return retval;
 	}
-	// $ANTLR end "fully_qualified_field"
+	// $ANTLR end "field_reference"
 
 
 	public static class label_return extends ParserRuleReturnScope {
@@ -7410,49 +6885,49 @@
 
 
 	// $ANTLR start "label"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:718:1: label : COLON simple_name -> ^( I_LABEL[$COLON, \"I_LABEL\"] simple_name ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:705:1: label : COLON simple_name -> ^( I_LABEL[$COLON, \"I_LABEL\"] simple_name ) ;
 	public final smaliParser.label_return label() throws RecognitionException {
 		smaliParser.label_return retval = new smaliParser.label_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token COLON176=null;
-		ParserRuleReturnScope simple_name177 =null;
+		Token COLON184=null;
+		ParserRuleReturnScope simple_name185 =null;
 
-		CommonTree COLON176_tree=null;
+		CommonTree COLON184_tree=null;
 		RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON");
 		RewriteRuleSubtreeStream stream_simple_name=new RewriteRuleSubtreeStream(adaptor,"rule simple_name");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:719:3: ( COLON simple_name -> ^( I_LABEL[$COLON, \"I_LABEL\"] simple_name ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:719:5: COLON simple_name
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:706:3: ( COLON simple_name -> ^( I_LABEL[$COLON, \"I_LABEL\"] simple_name ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:706:5: COLON simple_name
 			{
-			COLON176=(Token)match(input,COLON,FOLLOW_COLON_in_label3061);  
-			stream_COLON.add(COLON176);
+			COLON184=(Token)match(input,COLON,FOLLOW_COLON_in_label3017);
+			stream_COLON.add(COLON184);
 
-			pushFollow(FOLLOW_simple_name_in_label3063);
-			simple_name177=simple_name();
+			pushFollow(FOLLOW_simple_name_in_label3019);
+			simple_name185=simple_name();
 			state._fsp--;
 
-			stream_simple_name.add(simple_name177.getTree());
+			stream_simple_name.add(simple_name185.getTree());
 			// AST REWRITE
 			// elements: simple_name
-			// token labels: 
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 719:23: -> ^( I_LABEL[$COLON, \"I_LABEL\"] simple_name )
+			// 706:23: -> ^( I_LABEL[$COLON, \"I_LABEL\"] simple_name )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:719:26: ^( I_LABEL[$COLON, \"I_LABEL\"] simple_name )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:706:26: ^( I_LABEL[$COLON, \"I_LABEL\"] simple_name )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
-				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_LABEL, COLON176, "I_LABEL"), root_1);
+				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_LABEL, COLON184, "I_LABEL"), root_1);
 				adaptor.addChild(root_1, stream_simple_name.nextTree());
 				adaptor.addChild(root_0, root_1);
 				}
@@ -7491,44 +6966,44 @@
 
 
 	// $ANTLR start "label_ref"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:721:1: label_ref : COLON simple_name -> simple_name ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:708:1: label_ref : COLON simple_name -> simple_name ;
 	public final smaliParser.label_ref_return label_ref() throws RecognitionException {
 		smaliParser.label_ref_return retval = new smaliParser.label_ref_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token COLON178=null;
-		ParserRuleReturnScope simple_name179 =null;
+		Token COLON186=null;
+		ParserRuleReturnScope simple_name187 =null;
 
-		CommonTree COLON178_tree=null;
+		CommonTree COLON186_tree=null;
 		RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON");
 		RewriteRuleSubtreeStream stream_simple_name=new RewriteRuleSubtreeStream(adaptor,"rule simple_name");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:722:3: ( COLON simple_name -> simple_name )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:722:5: COLON simple_name
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:709:3: ( COLON simple_name -> simple_name )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:709:5: COLON simple_name
 			{
-			COLON178=(Token)match(input,COLON,FOLLOW_COLON_in_label_ref3082);  
-			stream_COLON.add(COLON178);
+			COLON186=(Token)match(input,COLON,FOLLOW_COLON_in_label_ref3038);
+			stream_COLON.add(COLON186);
 
-			pushFollow(FOLLOW_simple_name_in_label_ref3084);
-			simple_name179=simple_name();
+			pushFollow(FOLLOW_simple_name_in_label_ref3040);
+			simple_name187=simple_name();
 			state._fsp--;
 
-			stream_simple_name.add(simple_name179.getTree());
+			stream_simple_name.add(simple_name187.getTree());
 			// AST REWRITE
 			// elements: simple_name
-			// token labels: 
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 722:23: -> simple_name
+			// 709:23: -> simple_name
 			{
 				adaptor.addChild(root_0, stream_simple_name.nextTree());
 			}
@@ -7565,92 +7040,92 @@
 
 
 	// $ANTLR start "register_list"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:724:1: register_list : ( REGISTER ( COMMA REGISTER )* -> ^( I_REGISTER_LIST[$start, \"I_REGISTER_LIST\"] ( REGISTER )* ) | -> ^( I_REGISTER_LIST[$start, \"I_REGISTER_LIST\"] ) );
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:711:1: register_list : ( REGISTER ( COMMA REGISTER )* -> ^( I_REGISTER_LIST[$start, \"I_REGISTER_LIST\"] ( REGISTER )* ) | -> ^( I_REGISTER_LIST[$start, \"I_REGISTER_LIST\"] ) );
 	public final smaliParser.register_list_return register_list() throws RecognitionException {
 		smaliParser.register_list_return retval = new smaliParser.register_list_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token REGISTER180=null;
-		Token COMMA181=null;
-		Token REGISTER182=null;
+		Token REGISTER188=null;
+		Token COMMA189=null;
+		Token REGISTER190=null;
 
-		CommonTree REGISTER180_tree=null;
-		CommonTree COMMA181_tree=null;
-		CommonTree REGISTER182_tree=null;
+		CommonTree REGISTER188_tree=null;
+		CommonTree COMMA189_tree=null;
+		CommonTree REGISTER190_tree=null;
 		RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA");
 		RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:725:3: ( REGISTER ( COMMA REGISTER )* -> ^( I_REGISTER_LIST[$start, \"I_REGISTER_LIST\"] ( REGISTER )* ) | -> ^( I_REGISTER_LIST[$start, \"I_REGISTER_LIST\"] ) )
-			int alt28=2;
-			int LA28_0 = input.LA(1);
-			if ( (LA28_0==REGISTER) ) {
-				alt28=1;
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:712:3: ( REGISTER ( COMMA REGISTER )* -> ^( I_REGISTER_LIST[$start, \"I_REGISTER_LIST\"] ( REGISTER )* ) | -> ^( I_REGISTER_LIST[$start, \"I_REGISTER_LIST\"] ) )
+			int alt33=2;
+			int LA33_0 = input.LA(1);
+			if ( (LA33_0==REGISTER) ) {
+				alt33=1;
 			}
-			else if ( (LA28_0==CLOSE_BRACE) ) {
-				alt28=2;
+			else if ( (LA33_0==CLOSE_BRACE) ) {
+				alt33=2;
 			}
 
 			else {
 				NoViableAltException nvae =
-					new NoViableAltException("", 28, 0, input);
+					new NoViableAltException("", 33, 0, input);
 				throw nvae;
 			}
 
-			switch (alt28) {
+			switch (alt33) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:725:5: REGISTER ( COMMA REGISTER )*
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:712:5: REGISTER ( COMMA REGISTER )*
 					{
-					REGISTER180=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_register_list3098);  
-					stream_REGISTER.add(REGISTER180);
+					REGISTER188=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_register_list3054);
+					stream_REGISTER.add(REGISTER188);
 
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:725:14: ( COMMA REGISTER )*
-					loop27:
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:712:14: ( COMMA REGISTER )*
+					loop32:
 					while (true) {
-						int alt27=2;
-						int LA27_0 = input.LA(1);
-						if ( (LA27_0==COMMA) ) {
-							alt27=1;
+						int alt32=2;
+						int LA32_0 = input.LA(1);
+						if ( (LA32_0==COMMA) ) {
+							alt32=1;
 						}
 
-						switch (alt27) {
+						switch (alt32) {
 						case 1 :
-							// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:725:15: COMMA REGISTER
+							// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:712:15: COMMA REGISTER
 							{
-							COMMA181=(Token)match(input,COMMA,FOLLOW_COMMA_in_register_list3101);  
-							stream_COMMA.add(COMMA181);
+							COMMA189=(Token)match(input,COMMA,FOLLOW_COMMA_in_register_list3057);
+							stream_COMMA.add(COMMA189);
 
-							REGISTER182=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_register_list3103);  
-							stream_REGISTER.add(REGISTER182);
+							REGISTER190=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_register_list3059);
+							stream_REGISTER.add(REGISTER190);
 
 							}
 							break;
 
 						default :
-							break loop27;
+							break loop32;
 						}
 					}
 
 					// AST REWRITE
 					// elements: REGISTER
-					// token labels: 
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 725:32: -> ^( I_REGISTER_LIST[$start, \"I_REGISTER_LIST\"] ( REGISTER )* )
+					// 712:32: -> ^( I_REGISTER_LIST[$start, \"I_REGISTER_LIST\"] ( REGISTER )* )
 					{
-						// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:725:35: ^( I_REGISTER_LIST[$start, \"I_REGISTER_LIST\"] ( REGISTER )* )
+						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:712:35: ^( I_REGISTER_LIST[$start, \"I_REGISTER_LIST\"] ( REGISTER )* )
 						{
 						CommonTree root_1 = (CommonTree)adaptor.nil();
 						root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_REGISTER_LIST, (retval.start), "I_REGISTER_LIST"), root_1);
-						// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:725:80: ( REGISTER )*
+						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:712:80: ( REGISTER )*
 						while ( stream_REGISTER.hasNext() ) {
 							adaptor.addChild(root_1, stream_REGISTER.nextNode());
 						}
@@ -7667,22 +7142,22 @@
 					}
 					break;
 				case 2 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:726:5: 
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:713:5:
 					{
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 726:5: -> ^( I_REGISTER_LIST[$start, \"I_REGISTER_LIST\"] )
+					// 713:5: -> ^( I_REGISTER_LIST[$start, \"I_REGISTER_LIST\"] )
 					{
-						// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:726:7: ^( I_REGISTER_LIST[$start, \"I_REGISTER_LIST\"] )
+						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:713:7: ^( I_REGISTER_LIST[$start, \"I_REGISTER_LIST\"] )
 						{
 						CommonTree root_1 = (CommonTree)adaptor.nil();
 						root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_REGISTER_LIST, (retval.start), "I_REGISTER_LIST"), root_1);
@@ -7725,7 +7200,7 @@
 
 
 	// $ANTLR start "register_range"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:728:1: register_range : (startreg= REGISTER ( DOTDOT endreg= REGISTER )? )? -> ^( I_REGISTER_RANGE[$start, \"I_REGISTER_RANGE\"] ( $startreg)? ( $endreg)? ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:715:1: register_range : (startreg= REGISTER ( DOTDOT endreg= REGISTER )? )? -> ^( I_REGISTER_RANGE[$start, \"I_REGISTER_RANGE\"] ( $startreg)? ( $endreg)? ) ;
 	public final smaliParser.register_range_return register_range() throws RecognitionException {
 		smaliParser.register_range_return retval = new smaliParser.register_range_return();
 		retval.start = input.LT(1);
@@ -7734,45 +7209,45 @@
 
 		Token startreg=null;
 		Token endreg=null;
-		Token DOTDOT183=null;
+		Token DOTDOT191=null;
 
 		CommonTree startreg_tree=null;
 		CommonTree endreg_tree=null;
-		CommonTree DOTDOT183_tree=null;
+		CommonTree DOTDOT191_tree=null;
 		RewriteRuleTokenStream stream_DOTDOT=new RewriteRuleTokenStream(adaptor,"token DOTDOT");
 		RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:729:3: ( (startreg= REGISTER ( DOTDOT endreg= REGISTER )? )? -> ^( I_REGISTER_RANGE[$start, \"I_REGISTER_RANGE\"] ( $startreg)? ( $endreg)? ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:729:5: (startreg= REGISTER ( DOTDOT endreg= REGISTER )? )?
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:716:3: ( (startreg= REGISTER ( DOTDOT endreg= REGISTER )? )? -> ^( I_REGISTER_RANGE[$start, \"I_REGISTER_RANGE\"] ( $startreg)? ( $endreg)? ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:716:5: (startreg= REGISTER ( DOTDOT endreg= REGISTER )? )?
 			{
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:729:5: (startreg= REGISTER ( DOTDOT endreg= REGISTER )? )?
-			int alt30=2;
-			int LA30_0 = input.LA(1);
-			if ( (LA30_0==REGISTER) ) {
-				alt30=1;
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:716:5: (startreg= REGISTER ( DOTDOT endreg= REGISTER )? )?
+			int alt35=2;
+			int LA35_0 = input.LA(1);
+			if ( (LA35_0==REGISTER) ) {
+				alt35=1;
 			}
-			switch (alt30) {
+			switch (alt35) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:729:6: startreg= REGISTER ( DOTDOT endreg= REGISTER )?
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:716:6: startreg= REGISTER ( DOTDOT endreg= REGISTER )?
 					{
-					startreg=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_register_range3138);  
+					startreg=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_register_range3094);
 					stream_REGISTER.add(startreg);
 
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:729:24: ( DOTDOT endreg= REGISTER )?
-					int alt29=2;
-					int LA29_0 = input.LA(1);
-					if ( (LA29_0==DOTDOT) ) {
-						alt29=1;
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:716:24: ( DOTDOT endreg= REGISTER )?
+					int alt34=2;
+					int LA34_0 = input.LA(1);
+					if ( (LA34_0==DOTDOT) ) {
+						alt34=1;
 					}
-					switch (alt29) {
+					switch (alt34) {
 						case 1 :
-							// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:729:25: DOTDOT endreg= REGISTER
+							// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:716:25: DOTDOT endreg= REGISTER
 							{
-							DOTDOT183=(Token)match(input,DOTDOT,FOLLOW_DOTDOT_in_register_range3141);  
-							stream_DOTDOT.add(DOTDOT183);
+							DOTDOT191=(Token)match(input,DOTDOT,FOLLOW_DOTDOT_in_register_range3097);
+							stream_DOTDOT.add(DOTDOT191);
 
-							endreg=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_register_range3145);  
+							endreg=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_register_range3101);
 							stream_REGISTER.add(endreg);
 
 							}
@@ -7789,28 +7264,28 @@
 			// elements: endreg, startreg
 			// token labels: endreg, startreg
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleTokenStream stream_endreg=new RewriteRuleTokenStream(adaptor,"token endreg",endreg);
 			RewriteRuleTokenStream stream_startreg=new RewriteRuleTokenStream(adaptor,"token startreg",startreg);
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 729:52: -> ^( I_REGISTER_RANGE[$start, \"I_REGISTER_RANGE\"] ( $startreg)? ( $endreg)? )
+			// 716:52: -> ^( I_REGISTER_RANGE[$start, \"I_REGISTER_RANGE\"] ( $startreg)? ( $endreg)? )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:729:55: ^( I_REGISTER_RANGE[$start, \"I_REGISTER_RANGE\"] ( $startreg)? ( $endreg)? )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:716:55: ^( I_REGISTER_RANGE[$start, \"I_REGISTER_RANGE\"] ( $startreg)? ( $endreg)? )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_REGISTER_RANGE, (retval.start), "I_REGISTER_RANGE"), root_1);
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:729:103: ( $startreg)?
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:716:103: ( $startreg)?
 				if ( stream_startreg.hasNext() ) {
 					adaptor.addChild(root_1, stream_startreg.nextNode());
 				}
 				stream_startreg.reset();
 
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:729:114: ( $endreg)?
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:716:114: ( $endreg)?
 				if ( stream_endreg.hasNext() ) {
 					adaptor.addChild(root_1, stream_endreg.nextNode());
 				}
@@ -7853,2215 +7328,61 @@
 
 
 	// $ANTLR start "verification_error_reference"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:731:1: verification_error_reference : ( CLASS_DESCRIPTOR | fully_qualified_field | fully_qualified_method );
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:718:1: verification_error_reference : ( CLASS_DESCRIPTOR | field_reference | method_reference );
 	public final smaliParser.verification_error_reference_return verification_error_reference() throws RecognitionException {
 		smaliParser.verification_error_reference_return retval = new smaliParser.verification_error_reference_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token CLASS_DESCRIPTOR184=null;
-		ParserRuleReturnScope fully_qualified_field185 =null;
-		ParserRuleReturnScope fully_qualified_method186 =null;
+		Token CLASS_DESCRIPTOR192=null;
+		ParserRuleReturnScope field_reference193 =null;
+		ParserRuleReturnScope method_reference194 =null;
 
-		CommonTree CLASS_DESCRIPTOR184_tree=null;
+		CommonTree CLASS_DESCRIPTOR192_tree=null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:732:3: ( CLASS_DESCRIPTOR | fully_qualified_field | fully_qualified_method )
-			int alt31=3;
-			int LA31_0 = input.LA(1);
-			if ( (LA31_0==CLASS_DESCRIPTOR) ) {
-				int LA31_1 = input.LA(2);
-				if ( (LA31_1==ANNOTATION_DIRECTIVE||LA31_1==ARRAY_DATA_DIRECTIVE||(LA31_1 >= CATCHALL_DIRECTIVE && LA31_1 <= CATCH_DIRECTIVE)||LA31_1==COLON||(LA31_1 >= END_LOCAL_DIRECTIVE && LA31_1 <= END_METHOD_DIRECTIVE)||LA31_1==EPILOGUE_DIRECTIVE||(LA31_1 >= INSTRUCTION_FORMAT10t && LA31_1 <= INSTRUCTION_FORMAT51l)||(LA31_1 >= LINE_DIRECTIVE && LA31_1 <= LOCAL_DIRECTIVE)||(LA31_1 >= PACKED_SWITCH_DIRECTIVE && LA31_1 <= PARAMETER_DIRECTIVE)||LA31_1==PROLOGUE_DIRECTIVE||(LA31_1 >= REGISTERS_DIRECTIVE && LA31_1 <= RESTART_LOCAL_DIRECTIVE)||(LA31_1 >= SOURCE_DIRECTIVE && LA31_1 <= SPARSE_SWITCH_DIRECTIVE)) ) {
-					alt31=1;
-				}
-				else if ( (LA31_1==ARROW) ) {
-					switch ( input.LA(3) ) {
-					case SIMPLE_NAME:
-						{
-						int LA31_5 = input.LA(4);
-						if ( (LA31_5==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_5==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 5, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case ACCESS_SPEC:
-						{
-						int LA31_6 = input.LA(4);
-						if ( (LA31_6==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_6==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 6, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case VERIFICATION_ERROR_TYPE:
-						{
-						int LA31_7 = input.LA(4);
-						if ( (LA31_7==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_7==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 7, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case POSITIVE_INTEGER_LITERAL:
-						{
-						int LA31_8 = input.LA(4);
-						if ( (LA31_8==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_8==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 8, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case NEGATIVE_INTEGER_LITERAL:
-						{
-						int LA31_9 = input.LA(4);
-						if ( (LA31_9==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_9==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 9, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case FLOAT_LITERAL_OR_ID:
-						{
-						int LA31_10 = input.LA(4);
-						if ( (LA31_10==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_10==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 10, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case DOUBLE_LITERAL_OR_ID:
-						{
-						int LA31_11 = input.LA(4);
-						if ( (LA31_11==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_11==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 11, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case BOOL_LITERAL:
-						{
-						int LA31_12 = input.LA(4);
-						if ( (LA31_12==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_12==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 12, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case NULL_LITERAL:
-						{
-						int LA31_13 = input.LA(4);
-						if ( (LA31_13==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_13==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 13, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case REGISTER:
-						{
-						int LA31_14 = input.LA(4);
-						if ( (LA31_14==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_14==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 14, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case PARAM_LIST_OR_ID:
-						{
-						int LA31_15 = input.LA(4);
-						if ( (LA31_15==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_15==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 15, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case PRIMITIVE_TYPE:
-						{
-						int LA31_16 = input.LA(4);
-						if ( (LA31_16==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_16==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 16, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case VOID_TYPE:
-						{
-						int LA31_17 = input.LA(4);
-						if ( (LA31_17==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_17==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 17, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case ANNOTATION_VISIBILITY:
-						{
-						int LA31_18 = input.LA(4);
-						if ( (LA31_18==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_18==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 18, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT10t:
-						{
-						int LA31_19 = input.LA(4);
-						if ( (LA31_19==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_19==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 19, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT10x:
-						{
-						int LA31_20 = input.LA(4);
-						if ( (LA31_20==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_20==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 20, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT10x_ODEX:
-						{
-						int LA31_21 = input.LA(4);
-						if ( (LA31_21==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_21==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 21, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT11x:
-						{
-						int LA31_22 = input.LA(4);
-						if ( (LA31_22==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_22==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 22, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT12x_OR_ID:
-						{
-						int LA31_23 = input.LA(4);
-						if ( (LA31_23==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_23==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 23, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT21c_FIELD:
-						{
-						int LA31_24 = input.LA(4);
-						if ( (LA31_24==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_24==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 24, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT21c_FIELD_ODEX:
-						{
-						int LA31_25 = input.LA(4);
-						if ( (LA31_25==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_25==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 25, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT21c_STRING:
-						{
-						int LA31_26 = input.LA(4);
-						if ( (LA31_26==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_26==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 26, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT21c_TYPE:
-						{
-						int LA31_27 = input.LA(4);
-						if ( (LA31_27==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_27==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 27, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT21t:
-						{
-						int LA31_28 = input.LA(4);
-						if ( (LA31_28==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_28==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 28, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT22c_FIELD:
-						{
-						int LA31_29 = input.LA(4);
-						if ( (LA31_29==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_29==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 29, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT22c_FIELD_ODEX:
-						{
-						int LA31_30 = input.LA(4);
-						if ( (LA31_30==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_30==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 30, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT22c_TYPE:
-						{
-						int LA31_31 = input.LA(4);
-						if ( (LA31_31==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_31==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 31, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT22cs_FIELD:
-						{
-						int LA31_32 = input.LA(4);
-						if ( (LA31_32==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_32==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 32, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT22s_OR_ID:
-						{
-						int LA31_33 = input.LA(4);
-						if ( (LA31_33==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_33==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 33, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT22t:
-						{
-						int LA31_34 = input.LA(4);
-						if ( (LA31_34==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_34==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 34, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT23x:
-						{
-						int LA31_35 = input.LA(4);
-						if ( (LA31_35==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_35==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 35, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT31i_OR_ID:
-						{
-						int LA31_36 = input.LA(4);
-						if ( (LA31_36==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_36==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 36, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT31t:
-						{
-						int LA31_37 = input.LA(4);
-						if ( (LA31_37==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_37==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 37, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT35c_METHOD:
-						{
-						int LA31_38 = input.LA(4);
-						if ( (LA31_38==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_38==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 38, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT35c_METHOD_ODEX:
-						{
-						int LA31_39 = input.LA(4);
-						if ( (LA31_39==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_39==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 39, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT35c_TYPE:
-						{
-						int LA31_40 = input.LA(4);
-						if ( (LA31_40==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_40==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 40, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT35mi_METHOD:
-						{
-						int LA31_41 = input.LA(4);
-						if ( (LA31_41==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_41==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 41, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT35ms_METHOD:
-						{
-						int LA31_42 = input.LA(4);
-						if ( (LA31_42==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_42==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 42, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT51l:
-						{
-						int LA31_43 = input.LA(4);
-						if ( (LA31_43==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_43==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 43, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case MEMBER_NAME:
-						{
-						int LA31_44 = input.LA(4);
-						if ( (LA31_44==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_44==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 44, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					default:
-						int nvaeMark = input.mark();
-						try {
-							for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) {
-								input.consume();
-							}
-							NoViableAltException nvae =
-								new NoViableAltException("", 31, 4, input);
-							throw nvae;
-						} finally {
-							input.rewind(nvaeMark);
-						}
-					}
-				}
-
-				else {
-					int nvaeMark = input.mark();
-					try {
-						input.consume();
-						NoViableAltException nvae =
-							new NoViableAltException("", 31, 1, input);
-						throw nvae;
-					} finally {
-						input.rewind(nvaeMark);
-					}
-				}
-
-			}
-			else if ( (LA31_0==ARRAY_DESCRIPTOR) ) {
-				int LA31_2 = input.LA(2);
-				if ( (LA31_2==ARROW) ) {
-					switch ( input.LA(3) ) {
-					case SIMPLE_NAME:
-						{
-						int LA31_5 = input.LA(4);
-						if ( (LA31_5==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_5==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 5, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case ACCESS_SPEC:
-						{
-						int LA31_6 = input.LA(4);
-						if ( (LA31_6==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_6==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 6, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case VERIFICATION_ERROR_TYPE:
-						{
-						int LA31_7 = input.LA(4);
-						if ( (LA31_7==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_7==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 7, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case POSITIVE_INTEGER_LITERAL:
-						{
-						int LA31_8 = input.LA(4);
-						if ( (LA31_8==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_8==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 8, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case NEGATIVE_INTEGER_LITERAL:
-						{
-						int LA31_9 = input.LA(4);
-						if ( (LA31_9==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_9==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 9, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case FLOAT_LITERAL_OR_ID:
-						{
-						int LA31_10 = input.LA(4);
-						if ( (LA31_10==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_10==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 10, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case DOUBLE_LITERAL_OR_ID:
-						{
-						int LA31_11 = input.LA(4);
-						if ( (LA31_11==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_11==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 11, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case BOOL_LITERAL:
-						{
-						int LA31_12 = input.LA(4);
-						if ( (LA31_12==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_12==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 12, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case NULL_LITERAL:
-						{
-						int LA31_13 = input.LA(4);
-						if ( (LA31_13==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_13==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 13, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case REGISTER:
-						{
-						int LA31_14 = input.LA(4);
-						if ( (LA31_14==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_14==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 14, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case PARAM_LIST_OR_ID:
-						{
-						int LA31_15 = input.LA(4);
-						if ( (LA31_15==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_15==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 15, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case PRIMITIVE_TYPE:
-						{
-						int LA31_16 = input.LA(4);
-						if ( (LA31_16==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_16==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 16, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case VOID_TYPE:
-						{
-						int LA31_17 = input.LA(4);
-						if ( (LA31_17==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_17==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 17, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case ANNOTATION_VISIBILITY:
-						{
-						int LA31_18 = input.LA(4);
-						if ( (LA31_18==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_18==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 18, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT10t:
-						{
-						int LA31_19 = input.LA(4);
-						if ( (LA31_19==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_19==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 19, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT10x:
-						{
-						int LA31_20 = input.LA(4);
-						if ( (LA31_20==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_20==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 20, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT10x_ODEX:
-						{
-						int LA31_21 = input.LA(4);
-						if ( (LA31_21==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_21==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 21, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT11x:
-						{
-						int LA31_22 = input.LA(4);
-						if ( (LA31_22==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_22==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 22, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT12x_OR_ID:
-						{
-						int LA31_23 = input.LA(4);
-						if ( (LA31_23==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_23==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 23, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT21c_FIELD:
-						{
-						int LA31_24 = input.LA(4);
-						if ( (LA31_24==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_24==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 24, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT21c_FIELD_ODEX:
-						{
-						int LA31_25 = input.LA(4);
-						if ( (LA31_25==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_25==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 25, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT21c_STRING:
-						{
-						int LA31_26 = input.LA(4);
-						if ( (LA31_26==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_26==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 26, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT21c_TYPE:
-						{
-						int LA31_27 = input.LA(4);
-						if ( (LA31_27==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_27==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 27, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT21t:
-						{
-						int LA31_28 = input.LA(4);
-						if ( (LA31_28==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_28==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 28, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT22c_FIELD:
-						{
-						int LA31_29 = input.LA(4);
-						if ( (LA31_29==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_29==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 29, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT22c_FIELD_ODEX:
-						{
-						int LA31_30 = input.LA(4);
-						if ( (LA31_30==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_30==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 30, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT22c_TYPE:
-						{
-						int LA31_31 = input.LA(4);
-						if ( (LA31_31==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_31==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 31, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT22cs_FIELD:
-						{
-						int LA31_32 = input.LA(4);
-						if ( (LA31_32==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_32==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 32, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT22s_OR_ID:
-						{
-						int LA31_33 = input.LA(4);
-						if ( (LA31_33==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_33==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 33, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT22t:
-						{
-						int LA31_34 = input.LA(4);
-						if ( (LA31_34==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_34==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 34, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT23x:
-						{
-						int LA31_35 = input.LA(4);
-						if ( (LA31_35==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_35==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 35, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT31i_OR_ID:
-						{
-						int LA31_36 = input.LA(4);
-						if ( (LA31_36==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_36==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 36, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT31t:
-						{
-						int LA31_37 = input.LA(4);
-						if ( (LA31_37==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_37==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 37, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT35c_METHOD:
-						{
-						int LA31_38 = input.LA(4);
-						if ( (LA31_38==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_38==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 38, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT35c_METHOD_ODEX:
-						{
-						int LA31_39 = input.LA(4);
-						if ( (LA31_39==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_39==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 39, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT35c_TYPE:
-						{
-						int LA31_40 = input.LA(4);
-						if ( (LA31_40==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_40==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 40, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT35mi_METHOD:
-						{
-						int LA31_41 = input.LA(4);
-						if ( (LA31_41==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_41==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 41, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT35ms_METHOD:
-						{
-						int LA31_42 = input.LA(4);
-						if ( (LA31_42==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_42==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 42, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case INSTRUCTION_FORMAT51l:
-						{
-						int LA31_43 = input.LA(4);
-						if ( (LA31_43==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_43==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 43, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case MEMBER_NAME:
-						{
-						int LA31_44 = input.LA(4);
-						if ( (LA31_44==COLON) ) {
-							alt31=2;
-						}
-						else if ( (LA31_44==OPEN_PAREN) ) {
-							alt31=3;
-						}
-
-						else {
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 31, 44, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					default:
-						int nvaeMark = input.mark();
-						try {
-							for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) {
-								input.consume();
-							}
-							NoViableAltException nvae =
-								new NoViableAltException("", 31, 4, input);
-							throw nvae;
-						} finally {
-							input.rewind(nvaeMark);
-						}
-					}
-				}
-
-				else {
-					int nvaeMark = input.mark();
-					try {
-						input.consume();
-						NoViableAltException nvae =
-							new NoViableAltException("", 31, 2, input);
-						throw nvae;
-					} finally {
-						input.rewind(nvaeMark);
-					}
-				}
-
-			}
-
-			else {
-				NoViableAltException nvae =
-					new NoViableAltException("", 31, 0, input);
-				throw nvae;
-			}
-
-			switch (alt31) {
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:719:3: ( CLASS_DESCRIPTOR | field_reference | method_reference )
+			int alt36=3;
+			alt36 = dfa36.predict(input);
+			switch (alt36) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:732:5: CLASS_DESCRIPTOR
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:719:5: CLASS_DESCRIPTOR
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					CLASS_DESCRIPTOR184=(Token)match(input,CLASS_DESCRIPTOR,FOLLOW_CLASS_DESCRIPTOR_in_verification_error_reference3174); 
-					CLASS_DESCRIPTOR184_tree = (CommonTree)adaptor.create(CLASS_DESCRIPTOR184);
-					adaptor.addChild(root_0, CLASS_DESCRIPTOR184_tree);
+					CLASS_DESCRIPTOR192=(Token)match(input,CLASS_DESCRIPTOR,FOLLOW_CLASS_DESCRIPTOR_in_verification_error_reference3130);
+					CLASS_DESCRIPTOR192_tree = (CommonTree)adaptor.create(CLASS_DESCRIPTOR192);
+					adaptor.addChild(root_0, CLASS_DESCRIPTOR192_tree);
 
 					}
 					break;
 				case 2 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:732:24: fully_qualified_field
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:719:24: field_reference
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_fully_qualified_field_in_verification_error_reference3178);
-					fully_qualified_field185=fully_qualified_field();
+					pushFollow(FOLLOW_field_reference_in_verification_error_reference3134);
+					field_reference193=field_reference();
 					state._fsp--;
 
-					adaptor.addChild(root_0, fully_qualified_field185.getTree());
+					adaptor.addChild(root_0, field_reference193.getTree());
 
 					}
 					break;
 				case 3 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:732:48: fully_qualified_method
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:719:42: method_reference
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_fully_qualified_method_in_verification_error_reference3182);
-					fully_qualified_method186=fully_qualified_method();
+					pushFollow(FOLLOW_method_reference_in_verification_error_reference3138);
+					method_reference194=method_reference();
 					state._fsp--;
 
-					adaptor.addChild(root_0, fully_qualified_method186.getTree());
+					adaptor.addChild(root_0, method_reference194.getTree());
 
 					}
 					break;
@@ -10094,26 +7415,26 @@
 
 
 	// $ANTLR start "catch_directive"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:734:1: catch_directive : CATCH_DIRECTIVE nonvoid_type_descriptor OPEN_BRACE from= label_ref DOTDOT to= label_ref CLOSE_BRACE using= label_ref -> ^( I_CATCH[$start, \"I_CATCH\"] nonvoid_type_descriptor $from $to $using) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:721:1: catch_directive : CATCH_DIRECTIVE nonvoid_type_descriptor OPEN_BRACE from= label_ref DOTDOT to= label_ref CLOSE_BRACE using= label_ref -> ^( I_CATCH[$start, \"I_CATCH\"] nonvoid_type_descriptor $from $to $using) ;
 	public final smaliParser.catch_directive_return catch_directive() throws RecognitionException {
 		smaliParser.catch_directive_return retval = new smaliParser.catch_directive_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token CATCH_DIRECTIVE187=null;
-		Token OPEN_BRACE189=null;
-		Token DOTDOT190=null;
-		Token CLOSE_BRACE191=null;
+		Token CATCH_DIRECTIVE195=null;
+		Token OPEN_BRACE197=null;
+		Token DOTDOT198=null;
+		Token CLOSE_BRACE199=null;
 		ParserRuleReturnScope from =null;
 		ParserRuleReturnScope to =null;
 		ParserRuleReturnScope using =null;
-		ParserRuleReturnScope nonvoid_type_descriptor188 =null;
+		ParserRuleReturnScope nonvoid_type_descriptor196 =null;
 
-		CommonTree CATCH_DIRECTIVE187_tree=null;
-		CommonTree OPEN_BRACE189_tree=null;
-		CommonTree DOTDOT190_tree=null;
-		CommonTree CLOSE_BRACE191_tree=null;
+		CommonTree CATCH_DIRECTIVE195_tree=null;
+		CommonTree OPEN_BRACE197_tree=null;
+		CommonTree DOTDOT198_tree=null;
+		CommonTree CLOSE_BRACE199_tree=null;
 		RewriteRuleTokenStream stream_DOTDOT=new RewriteRuleTokenStream(adaptor,"token DOTDOT");
 		RewriteRuleTokenStream stream_CLOSE_BRACE=new RewriteRuleTokenStream(adaptor,"token CLOSE_BRACE");
 		RewriteRuleTokenStream stream_OPEN_BRACE=new RewriteRuleTokenStream(adaptor,"token OPEN_BRACE");
@@ -10122,48 +7443,48 @@
 		RewriteRuleSubtreeStream stream_label_ref=new RewriteRuleSubtreeStream(adaptor,"rule label_ref");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:735:3: ( CATCH_DIRECTIVE nonvoid_type_descriptor OPEN_BRACE from= label_ref DOTDOT to= label_ref CLOSE_BRACE using= label_ref -> ^( I_CATCH[$start, \"I_CATCH\"] nonvoid_type_descriptor $from $to $using) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:735:5: CATCH_DIRECTIVE nonvoid_type_descriptor OPEN_BRACE from= label_ref DOTDOT to= label_ref CLOSE_BRACE using= label_ref
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:722:3: ( CATCH_DIRECTIVE nonvoid_type_descriptor OPEN_BRACE from= label_ref DOTDOT to= label_ref CLOSE_BRACE using= label_ref -> ^( I_CATCH[$start, \"I_CATCH\"] nonvoid_type_descriptor $from $to $using) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:722:5: CATCH_DIRECTIVE nonvoid_type_descriptor OPEN_BRACE from= label_ref DOTDOT to= label_ref CLOSE_BRACE using= label_ref
 			{
-			CATCH_DIRECTIVE187=(Token)match(input,CATCH_DIRECTIVE,FOLLOW_CATCH_DIRECTIVE_in_catch_directive3192);  
-			stream_CATCH_DIRECTIVE.add(CATCH_DIRECTIVE187);
+			CATCH_DIRECTIVE195=(Token)match(input,CATCH_DIRECTIVE,FOLLOW_CATCH_DIRECTIVE_in_catch_directive3148);
+			stream_CATCH_DIRECTIVE.add(CATCH_DIRECTIVE195);
 
-			pushFollow(FOLLOW_nonvoid_type_descriptor_in_catch_directive3194);
-			nonvoid_type_descriptor188=nonvoid_type_descriptor();
+			pushFollow(FOLLOW_nonvoid_type_descriptor_in_catch_directive3150);
+			nonvoid_type_descriptor196=nonvoid_type_descriptor();
 			state._fsp--;
 
-			stream_nonvoid_type_descriptor.add(nonvoid_type_descriptor188.getTree());
-			OPEN_BRACE189=(Token)match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_catch_directive3196);  
-			stream_OPEN_BRACE.add(OPEN_BRACE189);
+			stream_nonvoid_type_descriptor.add(nonvoid_type_descriptor196.getTree());
+			OPEN_BRACE197=(Token)match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_catch_directive3152);
+			stream_OPEN_BRACE.add(OPEN_BRACE197);
 
-			pushFollow(FOLLOW_label_ref_in_catch_directive3200);
+			pushFollow(FOLLOW_label_ref_in_catch_directive3156);
 			from=label_ref();
 			state._fsp--;
 
 			stream_label_ref.add(from.getTree());
-			DOTDOT190=(Token)match(input,DOTDOT,FOLLOW_DOTDOT_in_catch_directive3202);  
-			stream_DOTDOT.add(DOTDOT190);
+			DOTDOT198=(Token)match(input,DOTDOT,FOLLOW_DOTDOT_in_catch_directive3158);
+			stream_DOTDOT.add(DOTDOT198);
 
-			pushFollow(FOLLOW_label_ref_in_catch_directive3206);
+			pushFollow(FOLLOW_label_ref_in_catch_directive3162);
 			to=label_ref();
 			state._fsp--;
 
 			stream_label_ref.add(to.getTree());
-			CLOSE_BRACE191=(Token)match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_catch_directive3208);  
-			stream_CLOSE_BRACE.add(CLOSE_BRACE191);
+			CLOSE_BRACE199=(Token)match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_catch_directive3164);
+			stream_CLOSE_BRACE.add(CLOSE_BRACE199);
 
-			pushFollow(FOLLOW_label_ref_in_catch_directive3212);
+			pushFollow(FOLLOW_label_ref_in_catch_directive3168);
 			using=label_ref();
 			state._fsp--;
 
 			stream_label_ref.add(using.getTree());
 			// AST REWRITE
-			// elements: to, nonvoid_type_descriptor, from, using
-			// token labels: 
+			// elements: using, from, to, nonvoid_type_descriptor
+			// token labels:
 			// rule labels: to, retval, using, from
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_to=new RewriteRuleSubtreeStream(adaptor,"rule to",to!=null?to.getTree():null);
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
@@ -10171,9 +7492,9 @@
 			RewriteRuleSubtreeStream stream_from=new RewriteRuleSubtreeStream(adaptor,"rule from",from!=null?from.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 736:5: -> ^( I_CATCH[$start, \"I_CATCH\"] nonvoid_type_descriptor $from $to $using)
+			// 723:5: -> ^( I_CATCH[$start, \"I_CATCH\"] nonvoid_type_descriptor $from $to $using)
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:736:8: ^( I_CATCH[$start, \"I_CATCH\"] nonvoid_type_descriptor $from $to $using)
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:723:8: ^( I_CATCH[$start, \"I_CATCH\"] nonvoid_type_descriptor $from $to $using)
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_CATCH, (retval.start), "I_CATCH"), root_1);
@@ -10218,25 +7539,25 @@
 
 
 	// $ANTLR start "catchall_directive"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:738:1: catchall_directive : CATCHALL_DIRECTIVE OPEN_BRACE from= label_ref DOTDOT to= label_ref CLOSE_BRACE using= label_ref -> ^( I_CATCHALL[$start, \"I_CATCHALL\"] $from $to $using) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:725:1: catchall_directive : CATCHALL_DIRECTIVE OPEN_BRACE from= label_ref DOTDOT to= label_ref CLOSE_BRACE using= label_ref -> ^( I_CATCHALL[$start, \"I_CATCHALL\"] $from $to $using) ;
 	public final smaliParser.catchall_directive_return catchall_directive() throws RecognitionException {
 		smaliParser.catchall_directive_return retval = new smaliParser.catchall_directive_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token CATCHALL_DIRECTIVE192=null;
-		Token OPEN_BRACE193=null;
-		Token DOTDOT194=null;
-		Token CLOSE_BRACE195=null;
+		Token CATCHALL_DIRECTIVE200=null;
+		Token OPEN_BRACE201=null;
+		Token DOTDOT202=null;
+		Token CLOSE_BRACE203=null;
 		ParserRuleReturnScope from =null;
 		ParserRuleReturnScope to =null;
 		ParserRuleReturnScope using =null;
 
-		CommonTree CATCHALL_DIRECTIVE192_tree=null;
-		CommonTree OPEN_BRACE193_tree=null;
-		CommonTree DOTDOT194_tree=null;
-		CommonTree CLOSE_BRACE195_tree=null;
+		CommonTree CATCHALL_DIRECTIVE200_tree=null;
+		CommonTree OPEN_BRACE201_tree=null;
+		CommonTree DOTDOT202_tree=null;
+		CommonTree CLOSE_BRACE203_tree=null;
 		RewriteRuleTokenStream stream_DOTDOT=new RewriteRuleTokenStream(adaptor,"token DOTDOT");
 		RewriteRuleTokenStream stream_CLOSE_BRACE=new RewriteRuleTokenStream(adaptor,"token CLOSE_BRACE");
 		RewriteRuleTokenStream stream_OPEN_BRACE=new RewriteRuleTokenStream(adaptor,"token OPEN_BRACE");
@@ -10244,43 +7565,43 @@
 		RewriteRuleSubtreeStream stream_label_ref=new RewriteRuleSubtreeStream(adaptor,"rule label_ref");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:739:3: ( CATCHALL_DIRECTIVE OPEN_BRACE from= label_ref DOTDOT to= label_ref CLOSE_BRACE using= label_ref -> ^( I_CATCHALL[$start, \"I_CATCHALL\"] $from $to $using) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:739:5: CATCHALL_DIRECTIVE OPEN_BRACE from= label_ref DOTDOT to= label_ref CLOSE_BRACE using= label_ref
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:726:3: ( CATCHALL_DIRECTIVE OPEN_BRACE from= label_ref DOTDOT to= label_ref CLOSE_BRACE using= label_ref -> ^( I_CATCHALL[$start, \"I_CATCHALL\"] $from $to $using) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:726:5: CATCHALL_DIRECTIVE OPEN_BRACE from= label_ref DOTDOT to= label_ref CLOSE_BRACE using= label_ref
 			{
-			CATCHALL_DIRECTIVE192=(Token)match(input,CATCHALL_DIRECTIVE,FOLLOW_CATCHALL_DIRECTIVE_in_catchall_directive3244);  
-			stream_CATCHALL_DIRECTIVE.add(CATCHALL_DIRECTIVE192);
+			CATCHALL_DIRECTIVE200=(Token)match(input,CATCHALL_DIRECTIVE,FOLLOW_CATCHALL_DIRECTIVE_in_catchall_directive3200);
+			stream_CATCHALL_DIRECTIVE.add(CATCHALL_DIRECTIVE200);
 
-			OPEN_BRACE193=(Token)match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_catchall_directive3246);  
-			stream_OPEN_BRACE.add(OPEN_BRACE193);
+			OPEN_BRACE201=(Token)match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_catchall_directive3202);
+			stream_OPEN_BRACE.add(OPEN_BRACE201);
 
-			pushFollow(FOLLOW_label_ref_in_catchall_directive3250);
+			pushFollow(FOLLOW_label_ref_in_catchall_directive3206);
 			from=label_ref();
 			state._fsp--;
 
 			stream_label_ref.add(from.getTree());
-			DOTDOT194=(Token)match(input,DOTDOT,FOLLOW_DOTDOT_in_catchall_directive3252);  
-			stream_DOTDOT.add(DOTDOT194);
+			DOTDOT202=(Token)match(input,DOTDOT,FOLLOW_DOTDOT_in_catchall_directive3208);
+			stream_DOTDOT.add(DOTDOT202);
 
-			pushFollow(FOLLOW_label_ref_in_catchall_directive3256);
+			pushFollow(FOLLOW_label_ref_in_catchall_directive3212);
 			to=label_ref();
 			state._fsp--;
 
 			stream_label_ref.add(to.getTree());
-			CLOSE_BRACE195=(Token)match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_catchall_directive3258);  
-			stream_CLOSE_BRACE.add(CLOSE_BRACE195);
+			CLOSE_BRACE203=(Token)match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_catchall_directive3214);
+			stream_CLOSE_BRACE.add(CLOSE_BRACE203);
 
-			pushFollow(FOLLOW_label_ref_in_catchall_directive3262);
+			pushFollow(FOLLOW_label_ref_in_catchall_directive3218);
 			using=label_ref();
 			state._fsp--;
 
 			stream_label_ref.add(using.getTree());
 			// AST REWRITE
-			// elements: using, to, from
-			// token labels: 
+			// elements: from, to, using
+			// token labels:
 			// rule labels: to, retval, using, from
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_to=new RewriteRuleSubtreeStream(adaptor,"rule to",to!=null?to.getTree():null);
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
@@ -10288,9 +7609,9 @@
 			RewriteRuleSubtreeStream stream_from=new RewriteRuleSubtreeStream(adaptor,"rule from",from!=null?from.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 740:5: -> ^( I_CATCHALL[$start, \"I_CATCHALL\"] $from $to $using)
+			// 727:5: -> ^( I_CATCHALL[$start, \"I_CATCHALL\"] $from $to $using)
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:740:8: ^( I_CATCHALL[$start, \"I_CATCHALL\"] $from $to $using)
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:727:8: ^( I_CATCHALL[$start, \"I_CATCHALL\"] $from $to $using)
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_CATCHALL, (retval.start), "I_CATCHALL"), root_1);
@@ -10334,25 +7655,25 @@
 
 
 	// $ANTLR start "parameter_directive"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:746:1: parameter_directive : PARAMETER_DIRECTIVE REGISTER ( COMMA STRING_LITERAL )? ({...}? annotation )* ( END_PARAMETER_DIRECTIVE -> ^( I_PARAMETER[$start, \"I_PARAMETER\"] REGISTER ( STRING_LITERAL )? ^( I_ANNOTATIONS ( annotation )* ) ) | -> ^( I_PARAMETER[$start, \"I_PARAMETER\"] REGISTER ( STRING_LITERAL )? ^( I_ANNOTATIONS ) ) ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:733:1: parameter_directive : PARAMETER_DIRECTIVE REGISTER ( COMMA STRING_LITERAL )? ({...}? annotation )* ( END_PARAMETER_DIRECTIVE -> ^( I_PARAMETER[$start, \"I_PARAMETER\"] REGISTER ( STRING_LITERAL )? ^( I_ANNOTATIONS ( annotation )* ) ) | -> ^( I_PARAMETER[$start, \"I_PARAMETER\"] REGISTER ( STRING_LITERAL )? ^( I_ANNOTATIONS ) ) ) ;
 	public final smaliParser.parameter_directive_return parameter_directive() throws RecognitionException {
 		smaliParser.parameter_directive_return retval = new smaliParser.parameter_directive_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token PARAMETER_DIRECTIVE196=null;
-		Token REGISTER197=null;
-		Token COMMA198=null;
-		Token STRING_LITERAL199=null;
-		Token END_PARAMETER_DIRECTIVE201=null;
-		ParserRuleReturnScope annotation200 =null;
+		Token PARAMETER_DIRECTIVE204=null;
+		Token REGISTER205=null;
+		Token COMMA206=null;
+		Token STRING_LITERAL207=null;
+		Token END_PARAMETER_DIRECTIVE209=null;
+		ParserRuleReturnScope annotation208 =null;
 
-		CommonTree PARAMETER_DIRECTIVE196_tree=null;
-		CommonTree REGISTER197_tree=null;
-		CommonTree COMMA198_tree=null;
-		CommonTree STRING_LITERAL199_tree=null;
-		CommonTree END_PARAMETER_DIRECTIVE201_tree=null;
+		CommonTree PARAMETER_DIRECTIVE204_tree=null;
+		CommonTree REGISTER205_tree=null;
+		CommonTree COMMA206_tree=null;
+		CommonTree STRING_LITERAL207_tree=null;
+		CommonTree END_PARAMETER_DIRECTIVE209_tree=null;
 		RewriteRuleTokenStream stream_STRING_LITERAL=new RewriteRuleTokenStream(adaptor,"token STRING_LITERAL");
 		RewriteRuleTokenStream stream_END_PARAMETER_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token END_PARAMETER_DIRECTIVE");
 		RewriteRuleTokenStream stream_PARAMETER_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token PARAMETER_DIRECTIVE");
@@ -10362,114 +7683,114 @@
 
 		List<CommonTree> annotations = new ArrayList<CommonTree>();
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:748:3: ( PARAMETER_DIRECTIVE REGISTER ( COMMA STRING_LITERAL )? ({...}? annotation )* ( END_PARAMETER_DIRECTIVE -> ^( I_PARAMETER[$start, \"I_PARAMETER\"] REGISTER ( STRING_LITERAL )? ^( I_ANNOTATIONS ( annotation )* ) ) | -> ^( I_PARAMETER[$start, \"I_PARAMETER\"] REGISTER ( STRING_LITERAL )? ^( I_ANNOTATIONS ) ) ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:748:5: PARAMETER_DIRECTIVE REGISTER ( COMMA STRING_LITERAL )? ({...}? annotation )* ( END_PARAMETER_DIRECTIVE -> ^( I_PARAMETER[$start, \"I_PARAMETER\"] REGISTER ( STRING_LITERAL )? ^( I_ANNOTATIONS ( annotation )* ) ) | -> ^( I_PARAMETER[$start, \"I_PARAMETER\"] REGISTER ( STRING_LITERAL )? ^( I_ANNOTATIONS ) ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:735:3: ( PARAMETER_DIRECTIVE REGISTER ( COMMA STRING_LITERAL )? ({...}? annotation )* ( END_PARAMETER_DIRECTIVE -> ^( I_PARAMETER[$start, \"I_PARAMETER\"] REGISTER ( STRING_LITERAL )? ^( I_ANNOTATIONS ( annotation )* ) ) | -> ^( I_PARAMETER[$start, \"I_PARAMETER\"] REGISTER ( STRING_LITERAL )? ^( I_ANNOTATIONS ) ) ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:735:5: PARAMETER_DIRECTIVE REGISTER ( COMMA STRING_LITERAL )? ({...}? annotation )* ( END_PARAMETER_DIRECTIVE -> ^( I_PARAMETER[$start, \"I_PARAMETER\"] REGISTER ( STRING_LITERAL )? ^( I_ANNOTATIONS ( annotation )* ) ) | -> ^( I_PARAMETER[$start, \"I_PARAMETER\"] REGISTER ( STRING_LITERAL )? ^( I_ANNOTATIONS ) ) )
 			{
-			PARAMETER_DIRECTIVE196=(Token)match(input,PARAMETER_DIRECTIVE,FOLLOW_PARAMETER_DIRECTIVE_in_parameter_directive3301);  
-			stream_PARAMETER_DIRECTIVE.add(PARAMETER_DIRECTIVE196);
+			PARAMETER_DIRECTIVE204=(Token)match(input,PARAMETER_DIRECTIVE,FOLLOW_PARAMETER_DIRECTIVE_in_parameter_directive3257);
+			stream_PARAMETER_DIRECTIVE.add(PARAMETER_DIRECTIVE204);
 
-			REGISTER197=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_parameter_directive3303);  
-			stream_REGISTER.add(REGISTER197);
+			REGISTER205=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_parameter_directive3259);
+			stream_REGISTER.add(REGISTER205);
 
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:748:34: ( COMMA STRING_LITERAL )?
-			int alt32=2;
-			int LA32_0 = input.LA(1);
-			if ( (LA32_0==COMMA) ) {
-				alt32=1;
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:735:34: ( COMMA STRING_LITERAL )?
+			int alt37=2;
+			int LA37_0 = input.LA(1);
+			if ( (LA37_0==COMMA) ) {
+				alt37=1;
 			}
-			switch (alt32) {
+			switch (alt37) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:748:35: COMMA STRING_LITERAL
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:735:35: COMMA STRING_LITERAL
 					{
-					COMMA198=(Token)match(input,COMMA,FOLLOW_COMMA_in_parameter_directive3306);  
-					stream_COMMA.add(COMMA198);
+					COMMA206=(Token)match(input,COMMA,FOLLOW_COMMA_in_parameter_directive3262);
+					stream_COMMA.add(COMMA206);
 
-					STRING_LITERAL199=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_parameter_directive3308);  
-					stream_STRING_LITERAL.add(STRING_LITERAL199);
+					STRING_LITERAL207=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_parameter_directive3264);
+					stream_STRING_LITERAL.add(STRING_LITERAL207);
 
 					}
 					break;
 
 			}
 
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:749:5: ({...}? annotation )*
-			loop33:
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:736:5: ({...}? annotation )*
+			loop38:
 			while (true) {
-				int alt33=2;
-				alt33 = dfa33.predict(input);
-				switch (alt33) {
+				int alt38=2;
+				alt38 = dfa38.predict(input);
+				switch (alt38) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:749:6: {...}? annotation
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:736:6: {...}? annotation
 					{
 					if ( !((input.LA(1) == ANNOTATION_DIRECTIVE)) ) {
 						throw new FailedPredicateException(input, "parameter_directive", "input.LA(1) == ANNOTATION_DIRECTIVE");
 					}
-					pushFollow(FOLLOW_annotation_in_parameter_directive3319);
-					annotation200=annotation();
+					pushFollow(FOLLOW_annotation_in_parameter_directive3275);
+					annotation208=annotation();
 					state._fsp--;
 
-					stream_annotation.add(annotation200.getTree());
-					annotations.add((annotation200!=null?((CommonTree)annotation200.getTree()):null));
+					stream_annotation.add(annotation208.getTree());
+					annotations.add((annotation208!=null?((CommonTree)annotation208.getTree()):null));
 					}
 					break;
 
 				default :
-					break loop33;
+					break loop38;
 				}
 			}
 
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:751:5: ( END_PARAMETER_DIRECTIVE -> ^( I_PARAMETER[$start, \"I_PARAMETER\"] REGISTER ( STRING_LITERAL )? ^( I_ANNOTATIONS ( annotation )* ) ) | -> ^( I_PARAMETER[$start, \"I_PARAMETER\"] REGISTER ( STRING_LITERAL )? ^( I_ANNOTATIONS ) ) )
-			int alt34=2;
-			int LA34_0 = input.LA(1);
-			if ( (LA34_0==END_PARAMETER_DIRECTIVE) ) {
-				alt34=1;
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:738:5: ( END_PARAMETER_DIRECTIVE -> ^( I_PARAMETER[$start, \"I_PARAMETER\"] REGISTER ( STRING_LITERAL )? ^( I_ANNOTATIONS ( annotation )* ) ) | -> ^( I_PARAMETER[$start, \"I_PARAMETER\"] REGISTER ( STRING_LITERAL )? ^( I_ANNOTATIONS ) ) )
+			int alt39=2;
+			int LA39_0 = input.LA(1);
+			if ( (LA39_0==END_PARAMETER_DIRECTIVE) ) {
+				alt39=1;
 			}
-			else if ( (LA34_0==ANNOTATION_DIRECTIVE||LA34_0==ARRAY_DATA_DIRECTIVE||(LA34_0 >= CATCHALL_DIRECTIVE && LA34_0 <= CATCH_DIRECTIVE)||LA34_0==COLON||(LA34_0 >= END_LOCAL_DIRECTIVE && LA34_0 <= END_METHOD_DIRECTIVE)||LA34_0==EPILOGUE_DIRECTIVE||(LA34_0 >= INSTRUCTION_FORMAT10t && LA34_0 <= INSTRUCTION_FORMAT51l)||(LA34_0 >= LINE_DIRECTIVE && LA34_0 <= LOCAL_DIRECTIVE)||(LA34_0 >= PACKED_SWITCH_DIRECTIVE && LA34_0 <= PARAMETER_DIRECTIVE)||LA34_0==PROLOGUE_DIRECTIVE||(LA34_0 >= REGISTERS_DIRECTIVE && LA34_0 <= RESTART_LOCAL_DIRECTIVE)||(LA34_0 >= SOURCE_DIRECTIVE && LA34_0 <= SPARSE_SWITCH_DIRECTIVE)) ) {
-				alt34=2;
+			else if ( (LA39_0==ANNOTATION_DIRECTIVE||LA39_0==ARRAY_DATA_DIRECTIVE||(LA39_0 >= CATCHALL_DIRECTIVE && LA39_0 <= CATCH_DIRECTIVE)||LA39_0==COLON||(LA39_0 >= END_LOCAL_DIRECTIVE && LA39_0 <= END_METHOD_DIRECTIVE)||LA39_0==EPILOGUE_DIRECTIVE||(LA39_0 >= INSTRUCTION_FORMAT10t && LA39_0 <= INSTRUCTION_FORMAT51l)||(LA39_0 >= LINE_DIRECTIVE && LA39_0 <= LOCAL_DIRECTIVE)||(LA39_0 >= PACKED_SWITCH_DIRECTIVE && LA39_0 <= PARAMETER_DIRECTIVE)||LA39_0==PROLOGUE_DIRECTIVE||(LA39_0 >= REGISTERS_DIRECTIVE && LA39_0 <= RESTART_LOCAL_DIRECTIVE)||(LA39_0 >= SOURCE_DIRECTIVE && LA39_0 <= SPARSE_SWITCH_DIRECTIVE)) ) {
+				alt39=2;
 			}
 
 			else {
 				NoViableAltException nvae =
-					new NoViableAltException("", 34, 0, input);
+					new NoViableAltException("", 39, 0, input);
 				throw nvae;
 			}
 
-			switch (alt34) {
+			switch (alt39) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:751:7: END_PARAMETER_DIRECTIVE
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:738:7: END_PARAMETER_DIRECTIVE
 					{
-					END_PARAMETER_DIRECTIVE201=(Token)match(input,END_PARAMETER_DIRECTIVE,FOLLOW_END_PARAMETER_DIRECTIVE_in_parameter_directive3332);  
-					stream_END_PARAMETER_DIRECTIVE.add(END_PARAMETER_DIRECTIVE201);
+					END_PARAMETER_DIRECTIVE209=(Token)match(input,END_PARAMETER_DIRECTIVE,FOLLOW_END_PARAMETER_DIRECTIVE_in_parameter_directive3288);
+					stream_END_PARAMETER_DIRECTIVE.add(END_PARAMETER_DIRECTIVE209);
 
 					// AST REWRITE
-					// elements: annotation, REGISTER, STRING_LITERAL
-					// token labels: 
+					// elements: STRING_LITERAL, annotation, REGISTER
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 752:7: -> ^( I_PARAMETER[$start, \"I_PARAMETER\"] REGISTER ( STRING_LITERAL )? ^( I_ANNOTATIONS ( annotation )* ) )
+					// 739:7: -> ^( I_PARAMETER[$start, \"I_PARAMETER\"] REGISTER ( STRING_LITERAL )? ^( I_ANNOTATIONS ( annotation )* ) )
 					{
-						// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:752:10: ^( I_PARAMETER[$start, \"I_PARAMETER\"] REGISTER ( STRING_LITERAL )? ^( I_ANNOTATIONS ( annotation )* ) )
+						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:739:10: ^( I_PARAMETER[$start, \"I_PARAMETER\"] REGISTER ( STRING_LITERAL )? ^( I_ANNOTATIONS ( annotation )* ) )
 						{
 						CommonTree root_1 = (CommonTree)adaptor.nil();
 						root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_PARAMETER, (retval.start), "I_PARAMETER"), root_1);
 						adaptor.addChild(root_1, stream_REGISTER.nextNode());
-						// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:752:56: ( STRING_LITERAL )?
+						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:739:56: ( STRING_LITERAL )?
 						if ( stream_STRING_LITERAL.hasNext() ) {
 							adaptor.addChild(root_1, stream_STRING_LITERAL.nextNode());
 						}
 						stream_STRING_LITERAL.reset();
 
-						// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:752:72: ^( I_ANNOTATIONS ( annotation )* )
+						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:739:72: ^( I_ANNOTATIONS ( annotation )* )
 						{
 						CommonTree root_2 = (CommonTree)adaptor.nil();
 						root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_ANNOTATIONS, "I_ANNOTATIONS"), root_2);
-						// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:752:88: ( annotation )*
+						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:739:88: ( annotation )*
 						while ( stream_annotation.hasNext() ) {
 							adaptor.addChild(root_2, stream_annotation.nextTree());
 						}
@@ -10489,34 +7810,34 @@
 					}
 					break;
 				case 2 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:753:19: 
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:740:19:
 					{
 					statements_and_directives_stack.peek().methodAnnotations.addAll(annotations);
 					// AST REWRITE
 					// elements: STRING_LITERAL, REGISTER
-					// token labels: 
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 754:7: -> ^( I_PARAMETER[$start, \"I_PARAMETER\"] REGISTER ( STRING_LITERAL )? ^( I_ANNOTATIONS ) )
+					// 741:7: -> ^( I_PARAMETER[$start, \"I_PARAMETER\"] REGISTER ( STRING_LITERAL )? ^( I_ANNOTATIONS ) )
 					{
-						// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:754:10: ^( I_PARAMETER[$start, \"I_PARAMETER\"] REGISTER ( STRING_LITERAL )? ^( I_ANNOTATIONS ) )
+						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:741:10: ^( I_PARAMETER[$start, \"I_PARAMETER\"] REGISTER ( STRING_LITERAL )? ^( I_ANNOTATIONS ) )
 						{
 						CommonTree root_1 = (CommonTree)adaptor.nil();
 						root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_PARAMETER, (retval.start), "I_PARAMETER"), root_1);
 						adaptor.addChild(root_1, stream_REGISTER.nextNode());
-						// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:754:56: ( STRING_LITERAL )?
+						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:741:56: ( STRING_LITERAL )?
 						if ( stream_STRING_LITERAL.hasNext() ) {
 							adaptor.addChild(root_1, stream_STRING_LITERAL.nextNode());
 						}
 						stream_STRING_LITERAL.reset();
 
-						// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:754:72: ^( I_ANNOTATIONS )
+						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:741:72: ^( I_ANNOTATIONS )
 						{
 						CommonTree root_2 = (CommonTree)adaptor.nil();
 						root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_ANNOTATIONS, "I_ANNOTATIONS"), root_2);
@@ -10565,162 +7886,162 @@
 
 
 	// $ANTLR start "debug_directive"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:757:1: debug_directive : ( line_directive | local_directive | end_local_directive | restart_local_directive | prologue_directive | epilogue_directive | source_directive );
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:744:1: debug_directive : ( line_directive | local_directive | end_local_directive | restart_local_directive | prologue_directive | epilogue_directive | source_directive );
 	public final smaliParser.debug_directive_return debug_directive() throws RecognitionException {
 		smaliParser.debug_directive_return retval = new smaliParser.debug_directive_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		ParserRuleReturnScope line_directive202 =null;
-		ParserRuleReturnScope local_directive203 =null;
-		ParserRuleReturnScope end_local_directive204 =null;
-		ParserRuleReturnScope restart_local_directive205 =null;
-		ParserRuleReturnScope prologue_directive206 =null;
-		ParserRuleReturnScope epilogue_directive207 =null;
-		ParserRuleReturnScope source_directive208 =null;
+		ParserRuleReturnScope line_directive210 =null;
+		ParserRuleReturnScope local_directive211 =null;
+		ParserRuleReturnScope end_local_directive212 =null;
+		ParserRuleReturnScope restart_local_directive213 =null;
+		ParserRuleReturnScope prologue_directive214 =null;
+		ParserRuleReturnScope epilogue_directive215 =null;
+		ParserRuleReturnScope source_directive216 =null;
 
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:758:3: ( line_directive | local_directive | end_local_directive | restart_local_directive | prologue_directive | epilogue_directive | source_directive )
-			int alt35=7;
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:745:3: ( line_directive | local_directive | end_local_directive | restart_local_directive | prologue_directive | epilogue_directive | source_directive )
+			int alt40=7;
 			switch ( input.LA(1) ) {
 			case LINE_DIRECTIVE:
 				{
-				alt35=1;
+				alt40=1;
 				}
 				break;
 			case LOCAL_DIRECTIVE:
 				{
-				alt35=2;
+				alt40=2;
 				}
 				break;
 			case END_LOCAL_DIRECTIVE:
 				{
-				alt35=3;
+				alt40=3;
 				}
 				break;
 			case RESTART_LOCAL_DIRECTIVE:
 				{
-				alt35=4;
+				alt40=4;
 				}
 				break;
 			case PROLOGUE_DIRECTIVE:
 				{
-				alt35=5;
+				alt40=5;
 				}
 				break;
 			case EPILOGUE_DIRECTIVE:
 				{
-				alt35=6;
+				alt40=6;
 				}
 				break;
 			case SOURCE_DIRECTIVE:
 				{
-				alt35=7;
+				alt40=7;
 				}
 				break;
 			default:
 				NoViableAltException nvae =
-					new NoViableAltException("", 35, 0, input);
+					new NoViableAltException("", 40, 0, input);
 				throw nvae;
 			}
-			switch (alt35) {
+			switch (alt40) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:758:5: line_directive
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:745:5: line_directive
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_line_directive_in_debug_directive3405);
-					line_directive202=line_directive();
+					pushFollow(FOLLOW_line_directive_in_debug_directive3361);
+					line_directive210=line_directive();
 					state._fsp--;
 
-					adaptor.addChild(root_0, line_directive202.getTree());
+					adaptor.addChild(root_0, line_directive210.getTree());
 
 					}
 					break;
 				case 2 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:759:5: local_directive
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:746:5: local_directive
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_local_directive_in_debug_directive3411);
-					local_directive203=local_directive();
+					pushFollow(FOLLOW_local_directive_in_debug_directive3367);
+					local_directive211=local_directive();
 					state._fsp--;
 
-					adaptor.addChild(root_0, local_directive203.getTree());
+					adaptor.addChild(root_0, local_directive211.getTree());
 
 					}
 					break;
 				case 3 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:760:5: end_local_directive
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:747:5: end_local_directive
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_end_local_directive_in_debug_directive3417);
-					end_local_directive204=end_local_directive();
+					pushFollow(FOLLOW_end_local_directive_in_debug_directive3373);
+					end_local_directive212=end_local_directive();
 					state._fsp--;
 
-					adaptor.addChild(root_0, end_local_directive204.getTree());
+					adaptor.addChild(root_0, end_local_directive212.getTree());
 
 					}
 					break;
 				case 4 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:761:5: restart_local_directive
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:748:5: restart_local_directive
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_restart_local_directive_in_debug_directive3423);
-					restart_local_directive205=restart_local_directive();
+					pushFollow(FOLLOW_restart_local_directive_in_debug_directive3379);
+					restart_local_directive213=restart_local_directive();
 					state._fsp--;
 
-					adaptor.addChild(root_0, restart_local_directive205.getTree());
+					adaptor.addChild(root_0, restart_local_directive213.getTree());
 
 					}
 					break;
 				case 5 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:762:5: prologue_directive
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:749:5: prologue_directive
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_prologue_directive_in_debug_directive3429);
-					prologue_directive206=prologue_directive();
+					pushFollow(FOLLOW_prologue_directive_in_debug_directive3385);
+					prologue_directive214=prologue_directive();
 					state._fsp--;
 
-					adaptor.addChild(root_0, prologue_directive206.getTree());
+					adaptor.addChild(root_0, prologue_directive214.getTree());
 
 					}
 					break;
 				case 6 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:763:5: epilogue_directive
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:750:5: epilogue_directive
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_epilogue_directive_in_debug_directive3435);
-					epilogue_directive207=epilogue_directive();
+					pushFollow(FOLLOW_epilogue_directive_in_debug_directive3391);
+					epilogue_directive215=epilogue_directive();
 					state._fsp--;
 
-					adaptor.addChild(root_0, epilogue_directive207.getTree());
+					adaptor.addChild(root_0, epilogue_directive215.getTree());
 
 					}
 					break;
 				case 7 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:764:5: source_directive
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:751:5: source_directive
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_source_directive_in_debug_directive3441);
-					source_directive208=source_directive();
+					pushFollow(FOLLOW_source_directive_in_debug_directive3397);
+					source_directive216=source_directive();
 					state._fsp--;
 
-					adaptor.addChild(root_0, source_directive208.getTree());
+					adaptor.addChild(root_0, source_directive216.getTree());
 
 					}
 					break;
@@ -10753,46 +8074,46 @@
 
 
 	// $ANTLR start "line_directive"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:766:1: line_directive : LINE_DIRECTIVE integral_literal -> ^( I_LINE[$start, \"I_LINE\"] integral_literal ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:753:1: line_directive : LINE_DIRECTIVE integral_literal -> ^( I_LINE[$start, \"I_LINE\"] integral_literal ) ;
 	public final smaliParser.line_directive_return line_directive() throws RecognitionException {
 		smaliParser.line_directive_return retval = new smaliParser.line_directive_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token LINE_DIRECTIVE209=null;
-		ParserRuleReturnScope integral_literal210 =null;
+		Token LINE_DIRECTIVE217=null;
+		ParserRuleReturnScope integral_literal218 =null;
 
-		CommonTree LINE_DIRECTIVE209_tree=null;
+		CommonTree LINE_DIRECTIVE217_tree=null;
 		RewriteRuleTokenStream stream_LINE_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token LINE_DIRECTIVE");
 		RewriteRuleSubtreeStream stream_integral_literal=new RewriteRuleSubtreeStream(adaptor,"rule integral_literal");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:767:3: ( LINE_DIRECTIVE integral_literal -> ^( I_LINE[$start, \"I_LINE\"] integral_literal ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:767:5: LINE_DIRECTIVE integral_literal
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:754:3: ( LINE_DIRECTIVE integral_literal -> ^( I_LINE[$start, \"I_LINE\"] integral_literal ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:754:5: LINE_DIRECTIVE integral_literal
 			{
-			LINE_DIRECTIVE209=(Token)match(input,LINE_DIRECTIVE,FOLLOW_LINE_DIRECTIVE_in_line_directive3451);  
-			stream_LINE_DIRECTIVE.add(LINE_DIRECTIVE209);
+			LINE_DIRECTIVE217=(Token)match(input,LINE_DIRECTIVE,FOLLOW_LINE_DIRECTIVE_in_line_directive3407);
+			stream_LINE_DIRECTIVE.add(LINE_DIRECTIVE217);
 
-			pushFollow(FOLLOW_integral_literal_in_line_directive3453);
-			integral_literal210=integral_literal();
+			pushFollow(FOLLOW_integral_literal_in_line_directive3409);
+			integral_literal218=integral_literal();
 			state._fsp--;
 
-			stream_integral_literal.add(integral_literal210.getTree());
+			stream_integral_literal.add(integral_literal218.getTree());
 			// AST REWRITE
 			// elements: integral_literal
-			// token labels: 
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 768:5: -> ^( I_LINE[$start, \"I_LINE\"] integral_literal )
+			// 755:5: -> ^( I_LINE[$start, \"I_LINE\"] integral_literal )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:768:8: ^( I_LINE[$start, \"I_LINE\"] integral_literal )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:755:8: ^( I_LINE[$start, \"I_LINE\"] integral_literal )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_LINE, (retval.start), "I_LINE"), root_1);
@@ -10834,7 +8155,7 @@
 
 
 	// $ANTLR start "local_directive"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:770:1: local_directive : LOCAL_DIRECTIVE REGISTER ( COMMA ( NULL_LITERAL |name= STRING_LITERAL ) COLON ( VOID_TYPE | nonvoid_type_descriptor ) ( COMMA signature= STRING_LITERAL )? )? -> ^( I_LOCAL[$start, \"I_LOCAL\"] REGISTER ( NULL_LITERAL )? ( $name)? ( nonvoid_type_descriptor )? ( $signature)? ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:757:1: local_directive : LOCAL_DIRECTIVE REGISTER ( COMMA ( NULL_LITERAL |name= STRING_LITERAL ) COLON ( VOID_TYPE | nonvoid_type_descriptor ) ( COMMA signature= STRING_LITERAL )? )? -> ^( I_LOCAL[$start, \"I_LOCAL\"] REGISTER ( NULL_LITERAL )? ( $name)? ( nonvoid_type_descriptor )? ( $signature)? ) ;
 	public final smaliParser.local_directive_return local_directive() throws RecognitionException {
 		smaliParser.local_directive_return retval = new smaliParser.local_directive_return();
 		retval.start = input.LT(1);
@@ -10843,24 +8164,24 @@
 
 		Token name=null;
 		Token signature=null;
-		Token LOCAL_DIRECTIVE211=null;
-		Token REGISTER212=null;
-		Token COMMA213=null;
-		Token NULL_LITERAL214=null;
-		Token COLON215=null;
-		Token VOID_TYPE216=null;
-		Token COMMA218=null;
-		ParserRuleReturnScope nonvoid_type_descriptor217 =null;
+		Token LOCAL_DIRECTIVE219=null;
+		Token REGISTER220=null;
+		Token COMMA221=null;
+		Token NULL_LITERAL222=null;
+		Token COLON223=null;
+		Token VOID_TYPE224=null;
+		Token COMMA226=null;
+		ParserRuleReturnScope nonvoid_type_descriptor225 =null;
 
 		CommonTree name_tree=null;
 		CommonTree signature_tree=null;
-		CommonTree LOCAL_DIRECTIVE211_tree=null;
-		CommonTree REGISTER212_tree=null;
-		CommonTree COMMA213_tree=null;
-		CommonTree NULL_LITERAL214_tree=null;
-		CommonTree COLON215_tree=null;
-		CommonTree VOID_TYPE216_tree=null;
-		CommonTree COMMA218_tree=null;
+		CommonTree LOCAL_DIRECTIVE219_tree=null;
+		CommonTree REGISTER220_tree=null;
+		CommonTree COMMA221_tree=null;
+		CommonTree NULL_LITERAL222_tree=null;
+		CommonTree COLON223_tree=null;
+		CommonTree VOID_TYPE224_tree=null;
+		CommonTree COMMA226_tree=null;
 		RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON");
 		RewriteRuleTokenStream stream_NULL_LITERAL=new RewriteRuleTokenStream(adaptor,"token NULL_LITERAL");
 		RewriteRuleTokenStream stream_STRING_LITERAL=new RewriteRuleTokenStream(adaptor,"token STRING_LITERAL");
@@ -10871,57 +8192,57 @@
 		RewriteRuleSubtreeStream stream_nonvoid_type_descriptor=new RewriteRuleSubtreeStream(adaptor,"rule nonvoid_type_descriptor");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:771:3: ( LOCAL_DIRECTIVE REGISTER ( COMMA ( NULL_LITERAL |name= STRING_LITERAL ) COLON ( VOID_TYPE | nonvoid_type_descriptor ) ( COMMA signature= STRING_LITERAL )? )? -> ^( I_LOCAL[$start, \"I_LOCAL\"] REGISTER ( NULL_LITERAL )? ( $name)? ( nonvoid_type_descriptor )? ( $signature)? ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:771:5: LOCAL_DIRECTIVE REGISTER ( COMMA ( NULL_LITERAL |name= STRING_LITERAL ) COLON ( VOID_TYPE | nonvoid_type_descriptor ) ( COMMA signature= STRING_LITERAL )? )?
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:758:3: ( LOCAL_DIRECTIVE REGISTER ( COMMA ( NULL_LITERAL |name= STRING_LITERAL ) COLON ( VOID_TYPE | nonvoid_type_descriptor ) ( COMMA signature= STRING_LITERAL )? )? -> ^( I_LOCAL[$start, \"I_LOCAL\"] REGISTER ( NULL_LITERAL )? ( $name)? ( nonvoid_type_descriptor )? ( $signature)? ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:758:5: LOCAL_DIRECTIVE REGISTER ( COMMA ( NULL_LITERAL |name= STRING_LITERAL ) COLON ( VOID_TYPE | nonvoid_type_descriptor ) ( COMMA signature= STRING_LITERAL )? )?
 			{
-			LOCAL_DIRECTIVE211=(Token)match(input,LOCAL_DIRECTIVE,FOLLOW_LOCAL_DIRECTIVE_in_local_directive3476);  
-			stream_LOCAL_DIRECTIVE.add(LOCAL_DIRECTIVE211);
+			LOCAL_DIRECTIVE219=(Token)match(input,LOCAL_DIRECTIVE,FOLLOW_LOCAL_DIRECTIVE_in_local_directive3432);
+			stream_LOCAL_DIRECTIVE.add(LOCAL_DIRECTIVE219);
 
-			REGISTER212=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_local_directive3478);  
-			stream_REGISTER.add(REGISTER212);
+			REGISTER220=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_local_directive3434);
+			stream_REGISTER.add(REGISTER220);
 
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:771:30: ( COMMA ( NULL_LITERAL |name= STRING_LITERAL ) COLON ( VOID_TYPE | nonvoid_type_descriptor ) ( COMMA signature= STRING_LITERAL )? )?
-			int alt39=2;
-			int LA39_0 = input.LA(1);
-			if ( (LA39_0==COMMA) ) {
-				alt39=1;
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:758:30: ( COMMA ( NULL_LITERAL |name= STRING_LITERAL ) COLON ( VOID_TYPE | nonvoid_type_descriptor ) ( COMMA signature= STRING_LITERAL )? )?
+			int alt44=2;
+			int LA44_0 = input.LA(1);
+			if ( (LA44_0==COMMA) ) {
+				alt44=1;
 			}
-			switch (alt39) {
+			switch (alt44) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:771:31: COMMA ( NULL_LITERAL |name= STRING_LITERAL ) COLON ( VOID_TYPE | nonvoid_type_descriptor ) ( COMMA signature= STRING_LITERAL )?
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:758:31: COMMA ( NULL_LITERAL |name= STRING_LITERAL ) COLON ( VOID_TYPE | nonvoid_type_descriptor ) ( COMMA signature= STRING_LITERAL )?
 					{
-					COMMA213=(Token)match(input,COMMA,FOLLOW_COMMA_in_local_directive3481);  
-					stream_COMMA.add(COMMA213);
+					COMMA221=(Token)match(input,COMMA,FOLLOW_COMMA_in_local_directive3437);
+					stream_COMMA.add(COMMA221);
 
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:771:37: ( NULL_LITERAL |name= STRING_LITERAL )
-					int alt36=2;
-					int LA36_0 = input.LA(1);
-					if ( (LA36_0==NULL_LITERAL) ) {
-						alt36=1;
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:758:37: ( NULL_LITERAL |name= STRING_LITERAL )
+					int alt41=2;
+					int LA41_0 = input.LA(1);
+					if ( (LA41_0==NULL_LITERAL) ) {
+						alt41=1;
 					}
-					else if ( (LA36_0==STRING_LITERAL) ) {
-						alt36=2;
+					else if ( (LA41_0==STRING_LITERAL) ) {
+						alt41=2;
 					}
 
 					else {
 						NoViableAltException nvae =
-							new NoViableAltException("", 36, 0, input);
+							new NoViableAltException("", 41, 0, input);
 						throw nvae;
 					}
 
-					switch (alt36) {
+					switch (alt41) {
 						case 1 :
-							// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:771:38: NULL_LITERAL
+							// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:758:38: NULL_LITERAL
 							{
-							NULL_LITERAL214=(Token)match(input,NULL_LITERAL,FOLLOW_NULL_LITERAL_in_local_directive3484);  
-							stream_NULL_LITERAL.add(NULL_LITERAL214);
+							NULL_LITERAL222=(Token)match(input,NULL_LITERAL,FOLLOW_NULL_LITERAL_in_local_directive3440);
+							stream_NULL_LITERAL.add(NULL_LITERAL222);
 
 							}
 							break;
 						case 2 :
-							// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:771:53: name= STRING_LITERAL
+							// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:758:53: name= STRING_LITERAL
 							{
-							name=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_local_directive3490);  
+							name=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_local_directive3446);
 							stream_STRING_LITERAL.add(name);
 
 							}
@@ -10929,61 +8250,61 @@
 
 					}
 
-					COLON215=(Token)match(input,COLON,FOLLOW_COLON_in_local_directive3493);  
-					stream_COLON.add(COLON215);
+					COLON223=(Token)match(input,COLON,FOLLOW_COLON_in_local_directive3449);
+					stream_COLON.add(COLON223);
 
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:771:80: ( VOID_TYPE | nonvoid_type_descriptor )
-					int alt37=2;
-					int LA37_0 = input.LA(1);
-					if ( (LA37_0==VOID_TYPE) ) {
-						alt37=1;
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:758:80: ( VOID_TYPE | nonvoid_type_descriptor )
+					int alt42=2;
+					int LA42_0 = input.LA(1);
+					if ( (LA42_0==VOID_TYPE) ) {
+						alt42=1;
 					}
-					else if ( (LA37_0==ARRAY_DESCRIPTOR||LA37_0==CLASS_DESCRIPTOR||LA37_0==PRIMITIVE_TYPE) ) {
-						alt37=2;
+					else if ( (LA42_0==ARRAY_DESCRIPTOR||LA42_0==CLASS_DESCRIPTOR||LA42_0==PRIMITIVE_TYPE) ) {
+						alt42=2;
 					}
 
 					else {
 						NoViableAltException nvae =
-							new NoViableAltException("", 37, 0, input);
+							new NoViableAltException("", 42, 0, input);
 						throw nvae;
 					}
 
-					switch (alt37) {
+					switch (alt42) {
 						case 1 :
-							// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:771:81: VOID_TYPE
+							// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:758:81: VOID_TYPE
 							{
-							VOID_TYPE216=(Token)match(input,VOID_TYPE,FOLLOW_VOID_TYPE_in_local_directive3496);  
-							stream_VOID_TYPE.add(VOID_TYPE216);
+							VOID_TYPE224=(Token)match(input,VOID_TYPE,FOLLOW_VOID_TYPE_in_local_directive3452);
+							stream_VOID_TYPE.add(VOID_TYPE224);
 
 							}
 							break;
 						case 2 :
-							// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:771:93: nonvoid_type_descriptor
+							// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:758:93: nonvoid_type_descriptor
 							{
-							pushFollow(FOLLOW_nonvoid_type_descriptor_in_local_directive3500);
-							nonvoid_type_descriptor217=nonvoid_type_descriptor();
+							pushFollow(FOLLOW_nonvoid_type_descriptor_in_local_directive3456);
+							nonvoid_type_descriptor225=nonvoid_type_descriptor();
 							state._fsp--;
 
-							stream_nonvoid_type_descriptor.add(nonvoid_type_descriptor217.getTree());
+							stream_nonvoid_type_descriptor.add(nonvoid_type_descriptor225.getTree());
 							}
 							break;
 
 					}
 
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:772:31: ( COMMA signature= STRING_LITERAL )?
-					int alt38=2;
-					int LA38_0 = input.LA(1);
-					if ( (LA38_0==COMMA) ) {
-						alt38=1;
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:759:31: ( COMMA signature= STRING_LITERAL )?
+					int alt43=2;
+					int LA43_0 = input.LA(1);
+					if ( (LA43_0==COMMA) ) {
+						alt43=1;
 					}
-					switch (alt38) {
+					switch (alt43) {
 						case 1 :
-							// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:772:32: COMMA signature= STRING_LITERAL
+							// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:759:32: COMMA signature= STRING_LITERAL
 							{
-							COMMA218=(Token)match(input,COMMA,FOLLOW_COMMA_in_local_directive3534);  
-							stream_COMMA.add(COMMA218);
+							COMMA226=(Token)match(input,COMMA,FOLLOW_COMMA_in_local_directive3490);
+							stream_COMMA.add(COMMA226);
 
-							signature=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_local_directive3538);  
+							signature=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_local_directive3494);
 							stream_STRING_LITERAL.add(signature);
 
 							}
@@ -10997,44 +8318,44 @@
 			}
 
 			// AST REWRITE
-			// elements: NULL_LITERAL, signature, nonvoid_type_descriptor, name, REGISTER
+			// elements: nonvoid_type_descriptor, name, NULL_LITERAL, signature, REGISTER
 			// token labels: name, signature
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleTokenStream stream_name=new RewriteRuleTokenStream(adaptor,"token name",name);
 			RewriteRuleTokenStream stream_signature=new RewriteRuleTokenStream(adaptor,"token signature",signature);
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 773:5: -> ^( I_LOCAL[$start, \"I_LOCAL\"] REGISTER ( NULL_LITERAL )? ( $name)? ( nonvoid_type_descriptor )? ( $signature)? )
+			// 760:5: -> ^( I_LOCAL[$start, \"I_LOCAL\"] REGISTER ( NULL_LITERAL )? ( $name)? ( nonvoid_type_descriptor )? ( $signature)? )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:773:8: ^( I_LOCAL[$start, \"I_LOCAL\"] REGISTER ( NULL_LITERAL )? ( $name)? ( nonvoid_type_descriptor )? ( $signature)? )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:760:8: ^( I_LOCAL[$start, \"I_LOCAL\"] REGISTER ( NULL_LITERAL )? ( $name)? ( nonvoid_type_descriptor )? ( $signature)? )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_LOCAL, (retval.start), "I_LOCAL"), root_1);
 				adaptor.addChild(root_1, stream_REGISTER.nextNode());
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:773:46: ( NULL_LITERAL )?
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:760:46: ( NULL_LITERAL )?
 				if ( stream_NULL_LITERAL.hasNext() ) {
 					adaptor.addChild(root_1, stream_NULL_LITERAL.nextNode());
 				}
 				stream_NULL_LITERAL.reset();
 
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:773:61: ( $name)?
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:760:61: ( $name)?
 				if ( stream_name.hasNext() ) {
 					adaptor.addChild(root_1, stream_name.nextNode());
 				}
 				stream_name.reset();
 
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:773:67: ( nonvoid_type_descriptor )?
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:760:67: ( nonvoid_type_descriptor )?
 				if ( stream_nonvoid_type_descriptor.hasNext() ) {
 					adaptor.addChild(root_1, stream_nonvoid_type_descriptor.nextTree());
 				}
 				stream_nonvoid_type_descriptor.reset();
 
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:773:93: ( $signature)?
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:760:93: ( $signature)?
 				if ( stream_signature.hasNext() ) {
 					adaptor.addChild(root_1, stream_signature.nextNode());
 				}
@@ -11077,45 +8398,45 @@
 
 
 	// $ANTLR start "end_local_directive"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:775:1: end_local_directive : END_LOCAL_DIRECTIVE REGISTER -> ^( I_END_LOCAL[$start, \"I_END_LOCAL\"] REGISTER ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:762:1: end_local_directive : END_LOCAL_DIRECTIVE REGISTER -> ^( I_END_LOCAL[$start, \"I_END_LOCAL\"] REGISTER ) ;
 	public final smaliParser.end_local_directive_return end_local_directive() throws RecognitionException {
 		smaliParser.end_local_directive_return retval = new smaliParser.end_local_directive_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token END_LOCAL_DIRECTIVE219=null;
-		Token REGISTER220=null;
+		Token END_LOCAL_DIRECTIVE227=null;
+		Token REGISTER228=null;
 
-		CommonTree END_LOCAL_DIRECTIVE219_tree=null;
-		CommonTree REGISTER220_tree=null;
+		CommonTree END_LOCAL_DIRECTIVE227_tree=null;
+		CommonTree REGISTER228_tree=null;
 		RewriteRuleTokenStream stream_END_LOCAL_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token END_LOCAL_DIRECTIVE");
 		RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:776:3: ( END_LOCAL_DIRECTIVE REGISTER -> ^( I_END_LOCAL[$start, \"I_END_LOCAL\"] REGISTER ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:776:5: END_LOCAL_DIRECTIVE REGISTER
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:763:3: ( END_LOCAL_DIRECTIVE REGISTER -> ^( I_END_LOCAL[$start, \"I_END_LOCAL\"] REGISTER ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:763:5: END_LOCAL_DIRECTIVE REGISTER
 			{
-			END_LOCAL_DIRECTIVE219=(Token)match(input,END_LOCAL_DIRECTIVE,FOLLOW_END_LOCAL_DIRECTIVE_in_end_local_directive3580);  
-			stream_END_LOCAL_DIRECTIVE.add(END_LOCAL_DIRECTIVE219);
+			END_LOCAL_DIRECTIVE227=(Token)match(input,END_LOCAL_DIRECTIVE,FOLLOW_END_LOCAL_DIRECTIVE_in_end_local_directive3536);
+			stream_END_LOCAL_DIRECTIVE.add(END_LOCAL_DIRECTIVE227);
 
-			REGISTER220=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_end_local_directive3582);  
-			stream_REGISTER.add(REGISTER220);
+			REGISTER228=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_end_local_directive3538);
+			stream_REGISTER.add(REGISTER228);
 
 			// AST REWRITE
 			// elements: REGISTER
-			// token labels: 
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 777:5: -> ^( I_END_LOCAL[$start, \"I_END_LOCAL\"] REGISTER )
+			// 764:5: -> ^( I_END_LOCAL[$start, \"I_END_LOCAL\"] REGISTER )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:777:8: ^( I_END_LOCAL[$start, \"I_END_LOCAL\"] REGISTER )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:764:8: ^( I_END_LOCAL[$start, \"I_END_LOCAL\"] REGISTER )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_END_LOCAL, (retval.start), "I_END_LOCAL"), root_1);
@@ -11157,45 +8478,45 @@
 
 
 	// $ANTLR start "restart_local_directive"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:779:1: restart_local_directive : RESTART_LOCAL_DIRECTIVE REGISTER -> ^( I_RESTART_LOCAL[$start, \"I_RESTART_LOCAL\"] REGISTER ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:766:1: restart_local_directive : RESTART_LOCAL_DIRECTIVE REGISTER -> ^( I_RESTART_LOCAL[$start, \"I_RESTART_LOCAL\"] REGISTER ) ;
 	public final smaliParser.restart_local_directive_return restart_local_directive() throws RecognitionException {
 		smaliParser.restart_local_directive_return retval = new smaliParser.restart_local_directive_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token RESTART_LOCAL_DIRECTIVE221=null;
-		Token REGISTER222=null;
+		Token RESTART_LOCAL_DIRECTIVE229=null;
+		Token REGISTER230=null;
 
-		CommonTree RESTART_LOCAL_DIRECTIVE221_tree=null;
-		CommonTree REGISTER222_tree=null;
+		CommonTree RESTART_LOCAL_DIRECTIVE229_tree=null;
+		CommonTree REGISTER230_tree=null;
 		RewriteRuleTokenStream stream_RESTART_LOCAL_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token RESTART_LOCAL_DIRECTIVE");
 		RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:780:3: ( RESTART_LOCAL_DIRECTIVE REGISTER -> ^( I_RESTART_LOCAL[$start, \"I_RESTART_LOCAL\"] REGISTER ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:780:5: RESTART_LOCAL_DIRECTIVE REGISTER
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:767:3: ( RESTART_LOCAL_DIRECTIVE REGISTER -> ^( I_RESTART_LOCAL[$start, \"I_RESTART_LOCAL\"] REGISTER ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:767:5: RESTART_LOCAL_DIRECTIVE REGISTER
 			{
-			RESTART_LOCAL_DIRECTIVE221=(Token)match(input,RESTART_LOCAL_DIRECTIVE,FOLLOW_RESTART_LOCAL_DIRECTIVE_in_restart_local_directive3605);  
-			stream_RESTART_LOCAL_DIRECTIVE.add(RESTART_LOCAL_DIRECTIVE221);
+			RESTART_LOCAL_DIRECTIVE229=(Token)match(input,RESTART_LOCAL_DIRECTIVE,FOLLOW_RESTART_LOCAL_DIRECTIVE_in_restart_local_directive3561);
+			stream_RESTART_LOCAL_DIRECTIVE.add(RESTART_LOCAL_DIRECTIVE229);
 
-			REGISTER222=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_restart_local_directive3607);  
-			stream_REGISTER.add(REGISTER222);
+			REGISTER230=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_restart_local_directive3563);
+			stream_REGISTER.add(REGISTER230);
 
 			// AST REWRITE
 			// elements: REGISTER
-			// token labels: 
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 781:5: -> ^( I_RESTART_LOCAL[$start, \"I_RESTART_LOCAL\"] REGISTER )
+			// 768:5: -> ^( I_RESTART_LOCAL[$start, \"I_RESTART_LOCAL\"] REGISTER )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:781:8: ^( I_RESTART_LOCAL[$start, \"I_RESTART_LOCAL\"] REGISTER )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:768:8: ^( I_RESTART_LOCAL[$start, \"I_RESTART_LOCAL\"] REGISTER )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_RESTART_LOCAL, (retval.start), "I_RESTART_LOCAL"), root_1);
@@ -11237,39 +8558,39 @@
 
 
 	// $ANTLR start "prologue_directive"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:783:1: prologue_directive : PROLOGUE_DIRECTIVE -> ^( I_PROLOGUE[$start, \"I_PROLOGUE\"] ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:770:1: prologue_directive : PROLOGUE_DIRECTIVE -> ^( I_PROLOGUE[$start, \"I_PROLOGUE\"] ) ;
 	public final smaliParser.prologue_directive_return prologue_directive() throws RecognitionException {
 		smaliParser.prologue_directive_return retval = new smaliParser.prologue_directive_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token PROLOGUE_DIRECTIVE223=null;
+		Token PROLOGUE_DIRECTIVE231=null;
 
-		CommonTree PROLOGUE_DIRECTIVE223_tree=null;
+		CommonTree PROLOGUE_DIRECTIVE231_tree=null;
 		RewriteRuleTokenStream stream_PROLOGUE_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token PROLOGUE_DIRECTIVE");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:784:3: ( PROLOGUE_DIRECTIVE -> ^( I_PROLOGUE[$start, \"I_PROLOGUE\"] ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:784:5: PROLOGUE_DIRECTIVE
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:771:3: ( PROLOGUE_DIRECTIVE -> ^( I_PROLOGUE[$start, \"I_PROLOGUE\"] ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:771:5: PROLOGUE_DIRECTIVE
 			{
-			PROLOGUE_DIRECTIVE223=(Token)match(input,PROLOGUE_DIRECTIVE,FOLLOW_PROLOGUE_DIRECTIVE_in_prologue_directive3630);  
-			stream_PROLOGUE_DIRECTIVE.add(PROLOGUE_DIRECTIVE223);
+			PROLOGUE_DIRECTIVE231=(Token)match(input,PROLOGUE_DIRECTIVE,FOLLOW_PROLOGUE_DIRECTIVE_in_prologue_directive3586);
+			stream_PROLOGUE_DIRECTIVE.add(PROLOGUE_DIRECTIVE231);
 
 			// AST REWRITE
-			// elements: 
-			// token labels: 
+			// elements:
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 785:5: -> ^( I_PROLOGUE[$start, \"I_PROLOGUE\"] )
+			// 772:5: -> ^( I_PROLOGUE[$start, \"I_PROLOGUE\"] )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:785:8: ^( I_PROLOGUE[$start, \"I_PROLOGUE\"] )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:772:8: ^( I_PROLOGUE[$start, \"I_PROLOGUE\"] )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_PROLOGUE, (retval.start), "I_PROLOGUE"), root_1);
@@ -11310,39 +8631,39 @@
 
 
 	// $ANTLR start "epilogue_directive"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:787:1: epilogue_directive : EPILOGUE_DIRECTIVE -> ^( I_EPILOGUE[$start, \"I_EPILOGUE\"] ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:774:1: epilogue_directive : EPILOGUE_DIRECTIVE -> ^( I_EPILOGUE[$start, \"I_EPILOGUE\"] ) ;
 	public final smaliParser.epilogue_directive_return epilogue_directive() throws RecognitionException {
 		smaliParser.epilogue_directive_return retval = new smaliParser.epilogue_directive_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token EPILOGUE_DIRECTIVE224=null;
+		Token EPILOGUE_DIRECTIVE232=null;
 
-		CommonTree EPILOGUE_DIRECTIVE224_tree=null;
+		CommonTree EPILOGUE_DIRECTIVE232_tree=null;
 		RewriteRuleTokenStream stream_EPILOGUE_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token EPILOGUE_DIRECTIVE");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:788:3: ( EPILOGUE_DIRECTIVE -> ^( I_EPILOGUE[$start, \"I_EPILOGUE\"] ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:788:5: EPILOGUE_DIRECTIVE
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:775:3: ( EPILOGUE_DIRECTIVE -> ^( I_EPILOGUE[$start, \"I_EPILOGUE\"] ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:775:5: EPILOGUE_DIRECTIVE
 			{
-			EPILOGUE_DIRECTIVE224=(Token)match(input,EPILOGUE_DIRECTIVE,FOLLOW_EPILOGUE_DIRECTIVE_in_epilogue_directive3651);  
-			stream_EPILOGUE_DIRECTIVE.add(EPILOGUE_DIRECTIVE224);
+			EPILOGUE_DIRECTIVE232=(Token)match(input,EPILOGUE_DIRECTIVE,FOLLOW_EPILOGUE_DIRECTIVE_in_epilogue_directive3607);
+			stream_EPILOGUE_DIRECTIVE.add(EPILOGUE_DIRECTIVE232);
 
 			// AST REWRITE
-			// elements: 
-			// token labels: 
+			// elements:
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 789:5: -> ^( I_EPILOGUE[$start, \"I_EPILOGUE\"] )
+			// 776:5: -> ^( I_EPILOGUE[$start, \"I_EPILOGUE\"] )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:789:8: ^( I_EPILOGUE[$start, \"I_EPILOGUE\"] )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:776:8: ^( I_EPILOGUE[$start, \"I_EPILOGUE\"] )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_EPILOGUE, (retval.start), "I_EPILOGUE"), root_1);
@@ -11383,40 +8704,40 @@
 
 
 	// $ANTLR start "source_directive"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:791:1: source_directive : SOURCE_DIRECTIVE ( STRING_LITERAL )? -> ^( I_SOURCE[$start, \"I_SOURCE\"] ( STRING_LITERAL )? ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:778:1: source_directive : SOURCE_DIRECTIVE ( STRING_LITERAL )? -> ^( I_SOURCE[$start, \"I_SOURCE\"] ( STRING_LITERAL )? ) ;
 	public final smaliParser.source_directive_return source_directive() throws RecognitionException {
 		smaliParser.source_directive_return retval = new smaliParser.source_directive_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token SOURCE_DIRECTIVE225=null;
-		Token STRING_LITERAL226=null;
+		Token SOURCE_DIRECTIVE233=null;
+		Token STRING_LITERAL234=null;
 
-		CommonTree SOURCE_DIRECTIVE225_tree=null;
-		CommonTree STRING_LITERAL226_tree=null;
+		CommonTree SOURCE_DIRECTIVE233_tree=null;
+		CommonTree STRING_LITERAL234_tree=null;
 		RewriteRuleTokenStream stream_STRING_LITERAL=new RewriteRuleTokenStream(adaptor,"token STRING_LITERAL");
 		RewriteRuleTokenStream stream_SOURCE_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token SOURCE_DIRECTIVE");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:792:3: ( SOURCE_DIRECTIVE ( STRING_LITERAL )? -> ^( I_SOURCE[$start, \"I_SOURCE\"] ( STRING_LITERAL )? ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:792:5: SOURCE_DIRECTIVE ( STRING_LITERAL )?
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:779:3: ( SOURCE_DIRECTIVE ( STRING_LITERAL )? -> ^( I_SOURCE[$start, \"I_SOURCE\"] ( STRING_LITERAL )? ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:779:5: SOURCE_DIRECTIVE ( STRING_LITERAL )?
 			{
-			SOURCE_DIRECTIVE225=(Token)match(input,SOURCE_DIRECTIVE,FOLLOW_SOURCE_DIRECTIVE_in_source_directive3672);  
-			stream_SOURCE_DIRECTIVE.add(SOURCE_DIRECTIVE225);
+			SOURCE_DIRECTIVE233=(Token)match(input,SOURCE_DIRECTIVE,FOLLOW_SOURCE_DIRECTIVE_in_source_directive3628);
+			stream_SOURCE_DIRECTIVE.add(SOURCE_DIRECTIVE233);
 
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:792:22: ( STRING_LITERAL )?
-			int alt40=2;
-			int LA40_0 = input.LA(1);
-			if ( (LA40_0==STRING_LITERAL) ) {
-				alt40=1;
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:779:22: ( STRING_LITERAL )?
+			int alt45=2;
+			int LA45_0 = input.LA(1);
+			if ( (LA45_0==STRING_LITERAL) ) {
+				alt45=1;
 			}
-			switch (alt40) {
+			switch (alt45) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:792:22: STRING_LITERAL
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:779:22: STRING_LITERAL
 					{
-					STRING_LITERAL226=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_source_directive3674);  
-					stream_STRING_LITERAL.add(STRING_LITERAL226);
+					STRING_LITERAL234=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_source_directive3630);
+					stream_STRING_LITERAL.add(STRING_LITERAL234);
 
 					}
 					break;
@@ -11425,22 +8746,22 @@
 
 			// AST REWRITE
 			// elements: STRING_LITERAL
-			// token labels: 
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 793:5: -> ^( I_SOURCE[$start, \"I_SOURCE\"] ( STRING_LITERAL )? )
+			// 780:5: -> ^( I_SOURCE[$start, \"I_SOURCE\"] ( STRING_LITERAL )? )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:793:8: ^( I_SOURCE[$start, \"I_SOURCE\"] ( STRING_LITERAL )? )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:780:8: ^( I_SOURCE[$start, \"I_SOURCE\"] ( STRING_LITERAL )? )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_SOURCE, (retval.start), "I_SOURCE"), root_1);
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:793:39: ( STRING_LITERAL )?
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:780:39: ( STRING_LITERAL )?
 				if ( stream_STRING_LITERAL.hasNext() ) {
 					adaptor.addChild(root_1, stream_STRING_LITERAL.nextNode());
 				}
@@ -11483,70 +8804,70 @@
 
 
 	// $ANTLR start "instruction_format12x"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:795:1: instruction_format12x : ( INSTRUCTION_FORMAT12x | INSTRUCTION_FORMAT12x_OR_ID -> INSTRUCTION_FORMAT12x[$INSTRUCTION_FORMAT12x_OR_ID] );
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:782:1: instruction_format12x : ( INSTRUCTION_FORMAT12x | INSTRUCTION_FORMAT12x_OR_ID -> INSTRUCTION_FORMAT12x[$INSTRUCTION_FORMAT12x_OR_ID] );
 	public final smaliParser.instruction_format12x_return instruction_format12x() throws RecognitionException {
 		smaliParser.instruction_format12x_return retval = new smaliParser.instruction_format12x_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token INSTRUCTION_FORMAT12x227=null;
-		Token INSTRUCTION_FORMAT12x_OR_ID228=null;
+		Token INSTRUCTION_FORMAT12x235=null;
+		Token INSTRUCTION_FORMAT12x_OR_ID236=null;
 
-		CommonTree INSTRUCTION_FORMAT12x227_tree=null;
-		CommonTree INSTRUCTION_FORMAT12x_OR_ID228_tree=null;
+		CommonTree INSTRUCTION_FORMAT12x235_tree=null;
+		CommonTree INSTRUCTION_FORMAT12x_OR_ID236_tree=null;
 		RewriteRuleTokenStream stream_INSTRUCTION_FORMAT12x_OR_ID=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT12x_OR_ID");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:796:3: ( INSTRUCTION_FORMAT12x | INSTRUCTION_FORMAT12x_OR_ID -> INSTRUCTION_FORMAT12x[$INSTRUCTION_FORMAT12x_OR_ID] )
-			int alt41=2;
-			int LA41_0 = input.LA(1);
-			if ( (LA41_0==INSTRUCTION_FORMAT12x) ) {
-				alt41=1;
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:783:3: ( INSTRUCTION_FORMAT12x | INSTRUCTION_FORMAT12x_OR_ID -> INSTRUCTION_FORMAT12x[$INSTRUCTION_FORMAT12x_OR_ID] )
+			int alt46=2;
+			int LA46_0 = input.LA(1);
+			if ( (LA46_0==INSTRUCTION_FORMAT12x) ) {
+				alt46=1;
 			}
-			else if ( (LA41_0==INSTRUCTION_FORMAT12x_OR_ID) ) {
-				alt41=2;
+			else if ( (LA46_0==INSTRUCTION_FORMAT12x_OR_ID) ) {
+				alt46=2;
 			}
 
 			else {
 				NoViableAltException nvae =
-					new NoViableAltException("", 41, 0, input);
+					new NoViableAltException("", 46, 0, input);
 				throw nvae;
 			}
 
-			switch (alt41) {
+			switch (alt46) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:796:5: INSTRUCTION_FORMAT12x
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:783:5: INSTRUCTION_FORMAT12x
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					INSTRUCTION_FORMAT12x227=(Token)match(input,INSTRUCTION_FORMAT12x,FOLLOW_INSTRUCTION_FORMAT12x_in_instruction_format12x3699); 
-					INSTRUCTION_FORMAT12x227_tree = (CommonTree)adaptor.create(INSTRUCTION_FORMAT12x227);
-					adaptor.addChild(root_0, INSTRUCTION_FORMAT12x227_tree);
+					INSTRUCTION_FORMAT12x235=(Token)match(input,INSTRUCTION_FORMAT12x,FOLLOW_INSTRUCTION_FORMAT12x_in_instruction_format12x3655);
+					INSTRUCTION_FORMAT12x235_tree = (CommonTree)adaptor.create(INSTRUCTION_FORMAT12x235);
+					adaptor.addChild(root_0, INSTRUCTION_FORMAT12x235_tree);
 
 					}
 					break;
 				case 2 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:797:5: INSTRUCTION_FORMAT12x_OR_ID
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:784:5: INSTRUCTION_FORMAT12x_OR_ID
 					{
-					INSTRUCTION_FORMAT12x_OR_ID228=(Token)match(input,INSTRUCTION_FORMAT12x_OR_ID,FOLLOW_INSTRUCTION_FORMAT12x_OR_ID_in_instruction_format12x3705);  
-					stream_INSTRUCTION_FORMAT12x_OR_ID.add(INSTRUCTION_FORMAT12x_OR_ID228);
+					INSTRUCTION_FORMAT12x_OR_ID236=(Token)match(input,INSTRUCTION_FORMAT12x_OR_ID,FOLLOW_INSTRUCTION_FORMAT12x_OR_ID_in_instruction_format12x3661);
+					stream_INSTRUCTION_FORMAT12x_OR_ID.add(INSTRUCTION_FORMAT12x_OR_ID236);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 797:33: -> INSTRUCTION_FORMAT12x[$INSTRUCTION_FORMAT12x_OR_ID]
+					// 784:33: -> INSTRUCTION_FORMAT12x[$INSTRUCTION_FORMAT12x_OR_ID]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(INSTRUCTION_FORMAT12x, INSTRUCTION_FORMAT12x_OR_ID228));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(INSTRUCTION_FORMAT12x, INSTRUCTION_FORMAT12x_OR_ID236));
 					}
 
 
@@ -11583,70 +8904,70 @@
 
 
 	// $ANTLR start "instruction_format22s"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:799:1: instruction_format22s : ( INSTRUCTION_FORMAT22s | INSTRUCTION_FORMAT22s_OR_ID -> INSTRUCTION_FORMAT22s[$INSTRUCTION_FORMAT22s_OR_ID] );
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:786:1: instruction_format22s : ( INSTRUCTION_FORMAT22s | INSTRUCTION_FORMAT22s_OR_ID -> INSTRUCTION_FORMAT22s[$INSTRUCTION_FORMAT22s_OR_ID] );
 	public final smaliParser.instruction_format22s_return instruction_format22s() throws RecognitionException {
 		smaliParser.instruction_format22s_return retval = new smaliParser.instruction_format22s_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token INSTRUCTION_FORMAT22s229=null;
-		Token INSTRUCTION_FORMAT22s_OR_ID230=null;
+		Token INSTRUCTION_FORMAT22s237=null;
+		Token INSTRUCTION_FORMAT22s_OR_ID238=null;
 
-		CommonTree INSTRUCTION_FORMAT22s229_tree=null;
-		CommonTree INSTRUCTION_FORMAT22s_OR_ID230_tree=null;
+		CommonTree INSTRUCTION_FORMAT22s237_tree=null;
+		CommonTree INSTRUCTION_FORMAT22s_OR_ID238_tree=null;
 		RewriteRuleTokenStream stream_INSTRUCTION_FORMAT22s_OR_ID=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT22s_OR_ID");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:800:3: ( INSTRUCTION_FORMAT22s | INSTRUCTION_FORMAT22s_OR_ID -> INSTRUCTION_FORMAT22s[$INSTRUCTION_FORMAT22s_OR_ID] )
-			int alt42=2;
-			int LA42_0 = input.LA(1);
-			if ( (LA42_0==INSTRUCTION_FORMAT22s) ) {
-				alt42=1;
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:787:3: ( INSTRUCTION_FORMAT22s | INSTRUCTION_FORMAT22s_OR_ID -> INSTRUCTION_FORMAT22s[$INSTRUCTION_FORMAT22s_OR_ID] )
+			int alt47=2;
+			int LA47_0 = input.LA(1);
+			if ( (LA47_0==INSTRUCTION_FORMAT22s) ) {
+				alt47=1;
 			}
-			else if ( (LA42_0==INSTRUCTION_FORMAT22s_OR_ID) ) {
-				alt42=2;
+			else if ( (LA47_0==INSTRUCTION_FORMAT22s_OR_ID) ) {
+				alt47=2;
 			}
 
 			else {
 				NoViableAltException nvae =
-					new NoViableAltException("", 42, 0, input);
+					new NoViableAltException("", 47, 0, input);
 				throw nvae;
 			}
 
-			switch (alt42) {
+			switch (alt47) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:800:5: INSTRUCTION_FORMAT22s
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:787:5: INSTRUCTION_FORMAT22s
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					INSTRUCTION_FORMAT22s229=(Token)match(input,INSTRUCTION_FORMAT22s,FOLLOW_INSTRUCTION_FORMAT22s_in_instruction_format22s3720); 
-					INSTRUCTION_FORMAT22s229_tree = (CommonTree)adaptor.create(INSTRUCTION_FORMAT22s229);
-					adaptor.addChild(root_0, INSTRUCTION_FORMAT22s229_tree);
+					INSTRUCTION_FORMAT22s237=(Token)match(input,INSTRUCTION_FORMAT22s,FOLLOW_INSTRUCTION_FORMAT22s_in_instruction_format22s3676);
+					INSTRUCTION_FORMAT22s237_tree = (CommonTree)adaptor.create(INSTRUCTION_FORMAT22s237);
+					adaptor.addChild(root_0, INSTRUCTION_FORMAT22s237_tree);
 
 					}
 					break;
 				case 2 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:801:5: INSTRUCTION_FORMAT22s_OR_ID
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:788:5: INSTRUCTION_FORMAT22s_OR_ID
 					{
-					INSTRUCTION_FORMAT22s_OR_ID230=(Token)match(input,INSTRUCTION_FORMAT22s_OR_ID,FOLLOW_INSTRUCTION_FORMAT22s_OR_ID_in_instruction_format22s3726);  
-					stream_INSTRUCTION_FORMAT22s_OR_ID.add(INSTRUCTION_FORMAT22s_OR_ID230);
+					INSTRUCTION_FORMAT22s_OR_ID238=(Token)match(input,INSTRUCTION_FORMAT22s_OR_ID,FOLLOW_INSTRUCTION_FORMAT22s_OR_ID_in_instruction_format22s3682);
+					stream_INSTRUCTION_FORMAT22s_OR_ID.add(INSTRUCTION_FORMAT22s_OR_ID238);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 801:33: -> INSTRUCTION_FORMAT22s[$INSTRUCTION_FORMAT22s_OR_ID]
+					// 788:33: -> INSTRUCTION_FORMAT22s[$INSTRUCTION_FORMAT22s_OR_ID]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(INSTRUCTION_FORMAT22s, INSTRUCTION_FORMAT22s_OR_ID230));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(INSTRUCTION_FORMAT22s, INSTRUCTION_FORMAT22s_OR_ID238));
 					}
 
 
@@ -11683,70 +9004,70 @@
 
 
 	// $ANTLR start "instruction_format31i"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:803:1: instruction_format31i : ( INSTRUCTION_FORMAT31i | INSTRUCTION_FORMAT31i_OR_ID -> INSTRUCTION_FORMAT31i[$INSTRUCTION_FORMAT31i_OR_ID] );
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:790:1: instruction_format31i : ( INSTRUCTION_FORMAT31i | INSTRUCTION_FORMAT31i_OR_ID -> INSTRUCTION_FORMAT31i[$INSTRUCTION_FORMAT31i_OR_ID] );
 	public final smaliParser.instruction_format31i_return instruction_format31i() throws RecognitionException {
 		smaliParser.instruction_format31i_return retval = new smaliParser.instruction_format31i_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token INSTRUCTION_FORMAT31i231=null;
-		Token INSTRUCTION_FORMAT31i_OR_ID232=null;
+		Token INSTRUCTION_FORMAT31i239=null;
+		Token INSTRUCTION_FORMAT31i_OR_ID240=null;
 
-		CommonTree INSTRUCTION_FORMAT31i231_tree=null;
-		CommonTree INSTRUCTION_FORMAT31i_OR_ID232_tree=null;
+		CommonTree INSTRUCTION_FORMAT31i239_tree=null;
+		CommonTree INSTRUCTION_FORMAT31i_OR_ID240_tree=null;
 		RewriteRuleTokenStream stream_INSTRUCTION_FORMAT31i_OR_ID=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT31i_OR_ID");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:804:3: ( INSTRUCTION_FORMAT31i | INSTRUCTION_FORMAT31i_OR_ID -> INSTRUCTION_FORMAT31i[$INSTRUCTION_FORMAT31i_OR_ID] )
-			int alt43=2;
-			int LA43_0 = input.LA(1);
-			if ( (LA43_0==INSTRUCTION_FORMAT31i) ) {
-				alt43=1;
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:791:3: ( INSTRUCTION_FORMAT31i | INSTRUCTION_FORMAT31i_OR_ID -> INSTRUCTION_FORMAT31i[$INSTRUCTION_FORMAT31i_OR_ID] )
+			int alt48=2;
+			int LA48_0 = input.LA(1);
+			if ( (LA48_0==INSTRUCTION_FORMAT31i) ) {
+				alt48=1;
 			}
-			else if ( (LA43_0==INSTRUCTION_FORMAT31i_OR_ID) ) {
-				alt43=2;
+			else if ( (LA48_0==INSTRUCTION_FORMAT31i_OR_ID) ) {
+				alt48=2;
 			}
 
 			else {
 				NoViableAltException nvae =
-					new NoViableAltException("", 43, 0, input);
+					new NoViableAltException("", 48, 0, input);
 				throw nvae;
 			}
 
-			switch (alt43) {
+			switch (alt48) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:804:5: INSTRUCTION_FORMAT31i
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:791:5: INSTRUCTION_FORMAT31i
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					INSTRUCTION_FORMAT31i231=(Token)match(input,INSTRUCTION_FORMAT31i,FOLLOW_INSTRUCTION_FORMAT31i_in_instruction_format31i3741); 
-					INSTRUCTION_FORMAT31i231_tree = (CommonTree)adaptor.create(INSTRUCTION_FORMAT31i231);
-					adaptor.addChild(root_0, INSTRUCTION_FORMAT31i231_tree);
+					INSTRUCTION_FORMAT31i239=(Token)match(input,INSTRUCTION_FORMAT31i,FOLLOW_INSTRUCTION_FORMAT31i_in_instruction_format31i3697);
+					INSTRUCTION_FORMAT31i239_tree = (CommonTree)adaptor.create(INSTRUCTION_FORMAT31i239);
+					adaptor.addChild(root_0, INSTRUCTION_FORMAT31i239_tree);
 
 					}
 					break;
 				case 2 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:805:5: INSTRUCTION_FORMAT31i_OR_ID
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:792:5: INSTRUCTION_FORMAT31i_OR_ID
 					{
-					INSTRUCTION_FORMAT31i_OR_ID232=(Token)match(input,INSTRUCTION_FORMAT31i_OR_ID,FOLLOW_INSTRUCTION_FORMAT31i_OR_ID_in_instruction_format31i3747);  
-					stream_INSTRUCTION_FORMAT31i_OR_ID.add(INSTRUCTION_FORMAT31i_OR_ID232);
+					INSTRUCTION_FORMAT31i_OR_ID240=(Token)match(input,INSTRUCTION_FORMAT31i_OR_ID,FOLLOW_INSTRUCTION_FORMAT31i_OR_ID_in_instruction_format31i3703);
+					stream_INSTRUCTION_FORMAT31i_OR_ID.add(INSTRUCTION_FORMAT31i_OR_ID240);
 
 					// AST REWRITE
-					// elements: 
-					// token labels: 
+					// elements:
+					// token labels:
 					// rule labels: retval
-					// token list labels: 
-					// rule list labels: 
-					// wildcard labels: 
+					// token list labels:
+					// rule list labels:
+					// wildcard labels:
 					retval.tree = root_0;
 					RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 					root_0 = (CommonTree)adaptor.nil();
-					// 805:33: -> INSTRUCTION_FORMAT31i[$INSTRUCTION_FORMAT31i_OR_ID]
+					// 792:33: -> INSTRUCTION_FORMAT31i[$INSTRUCTION_FORMAT31i_OR_ID]
 					{
-						adaptor.addChild(root_0, (CommonTree)adaptor.create(INSTRUCTION_FORMAT31i, INSTRUCTION_FORMAT31i_OR_ID232));
+						adaptor.addChild(root_0, (CommonTree)adaptor.create(INSTRUCTION_FORMAT31i, INSTRUCTION_FORMAT31i_OR_ID240));
 					}
 
 
@@ -11783,905 +9104,905 @@
 
 
 	// $ANTLR start "instruction"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:809:1: instruction : ( insn_format10t | insn_format10x | insn_format10x_odex | insn_format11n | insn_format11x | insn_format12x | insn_format20bc | insn_format20t | insn_format21c_field | insn_format21c_field_odex | insn_format21c_string | insn_format21c_type | insn_format21ih | insn_format21lh | insn_format21s | insn_format21t | insn_format22b | insn_format22c_field | insn_format22c_field_odex | insn_format22c_type | insn_format22cs_field | insn_format22s | insn_format22t | insn_format22x | insn_format23x | insn_format30t | insn_format31c | insn_format31i | insn_format31t | insn_format32x | insn_format35c_method | insn_format35c_type | insn_format35c_method_odex | insn_format35mi_method | insn_format35ms_method | insn_format3rc_method | insn_format3rc_method_odex | insn_format3rc_type | insn_format3rmi_method | insn_format3rms_method | insn_format51l | insn_array_data_directive | insn_packed_switch_directive | insn_sparse_switch_directive );
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:796:1: instruction : ( insn_format10t | insn_format10x | insn_format10x_odex | insn_format11n | insn_format11x | insn_format12x | insn_format20bc | insn_format20t | insn_format21c_field | insn_format21c_field_odex | insn_format21c_string | insn_format21c_type | insn_format21ih | insn_format21lh | insn_format21s | insn_format21t | insn_format22b | insn_format22c_field | insn_format22c_field_odex | insn_format22c_type | insn_format22cs_field | insn_format22s | insn_format22t | insn_format22x | insn_format23x | insn_format30t | insn_format31c | insn_format31i | insn_format31t | insn_format32x | insn_format35c_method | insn_format35c_type | insn_format35c_method_odex | insn_format35mi_method | insn_format35ms_method | insn_format3rc_method | insn_format3rc_method_odex | insn_format3rc_type | insn_format3rmi_method | insn_format3rms_method | insn_format51l | insn_array_data_directive | insn_packed_switch_directive | insn_sparse_switch_directive );
 	public final smaliParser.instruction_return instruction() throws RecognitionException {
 		smaliParser.instruction_return retval = new smaliParser.instruction_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		ParserRuleReturnScope insn_format10t233 =null;
-		ParserRuleReturnScope insn_format10x234 =null;
-		ParserRuleReturnScope insn_format10x_odex235 =null;
-		ParserRuleReturnScope insn_format11n236 =null;
-		ParserRuleReturnScope insn_format11x237 =null;
-		ParserRuleReturnScope insn_format12x238 =null;
-		ParserRuleReturnScope insn_format20bc239 =null;
-		ParserRuleReturnScope insn_format20t240 =null;
-		ParserRuleReturnScope insn_format21c_field241 =null;
-		ParserRuleReturnScope insn_format21c_field_odex242 =null;
-		ParserRuleReturnScope insn_format21c_string243 =null;
-		ParserRuleReturnScope insn_format21c_type244 =null;
-		ParserRuleReturnScope insn_format21ih245 =null;
-		ParserRuleReturnScope insn_format21lh246 =null;
-		ParserRuleReturnScope insn_format21s247 =null;
-		ParserRuleReturnScope insn_format21t248 =null;
-		ParserRuleReturnScope insn_format22b249 =null;
-		ParserRuleReturnScope insn_format22c_field250 =null;
-		ParserRuleReturnScope insn_format22c_field_odex251 =null;
-		ParserRuleReturnScope insn_format22c_type252 =null;
-		ParserRuleReturnScope insn_format22cs_field253 =null;
-		ParserRuleReturnScope insn_format22s254 =null;
-		ParserRuleReturnScope insn_format22t255 =null;
-		ParserRuleReturnScope insn_format22x256 =null;
-		ParserRuleReturnScope insn_format23x257 =null;
-		ParserRuleReturnScope insn_format30t258 =null;
-		ParserRuleReturnScope insn_format31c259 =null;
-		ParserRuleReturnScope insn_format31i260 =null;
-		ParserRuleReturnScope insn_format31t261 =null;
-		ParserRuleReturnScope insn_format32x262 =null;
-		ParserRuleReturnScope insn_format35c_method263 =null;
-		ParserRuleReturnScope insn_format35c_type264 =null;
-		ParserRuleReturnScope insn_format35c_method_odex265 =null;
-		ParserRuleReturnScope insn_format35mi_method266 =null;
-		ParserRuleReturnScope insn_format35ms_method267 =null;
-		ParserRuleReturnScope insn_format3rc_method268 =null;
-		ParserRuleReturnScope insn_format3rc_method_odex269 =null;
-		ParserRuleReturnScope insn_format3rc_type270 =null;
-		ParserRuleReturnScope insn_format3rmi_method271 =null;
-		ParserRuleReturnScope insn_format3rms_method272 =null;
-		ParserRuleReturnScope insn_format51l273 =null;
-		ParserRuleReturnScope insn_array_data_directive274 =null;
-		ParserRuleReturnScope insn_packed_switch_directive275 =null;
-		ParserRuleReturnScope insn_sparse_switch_directive276 =null;
+		ParserRuleReturnScope insn_format10t241 =null;
+		ParserRuleReturnScope insn_format10x242 =null;
+		ParserRuleReturnScope insn_format10x_odex243 =null;
+		ParserRuleReturnScope insn_format11n244 =null;
+		ParserRuleReturnScope insn_format11x245 =null;
+		ParserRuleReturnScope insn_format12x246 =null;
+		ParserRuleReturnScope insn_format20bc247 =null;
+		ParserRuleReturnScope insn_format20t248 =null;
+		ParserRuleReturnScope insn_format21c_field249 =null;
+		ParserRuleReturnScope insn_format21c_field_odex250 =null;
+		ParserRuleReturnScope insn_format21c_string251 =null;
+		ParserRuleReturnScope insn_format21c_type252 =null;
+		ParserRuleReturnScope insn_format21ih253 =null;
+		ParserRuleReturnScope insn_format21lh254 =null;
+		ParserRuleReturnScope insn_format21s255 =null;
+		ParserRuleReturnScope insn_format21t256 =null;
+		ParserRuleReturnScope insn_format22b257 =null;
+		ParserRuleReturnScope insn_format22c_field258 =null;
+		ParserRuleReturnScope insn_format22c_field_odex259 =null;
+		ParserRuleReturnScope insn_format22c_type260 =null;
+		ParserRuleReturnScope insn_format22cs_field261 =null;
+		ParserRuleReturnScope insn_format22s262 =null;
+		ParserRuleReturnScope insn_format22t263 =null;
+		ParserRuleReturnScope insn_format22x264 =null;
+		ParserRuleReturnScope insn_format23x265 =null;
+		ParserRuleReturnScope insn_format30t266 =null;
+		ParserRuleReturnScope insn_format31c267 =null;
+		ParserRuleReturnScope insn_format31i268 =null;
+		ParserRuleReturnScope insn_format31t269 =null;
+		ParserRuleReturnScope insn_format32x270 =null;
+		ParserRuleReturnScope insn_format35c_method271 =null;
+		ParserRuleReturnScope insn_format35c_type272 =null;
+		ParserRuleReturnScope insn_format35c_method_odex273 =null;
+		ParserRuleReturnScope insn_format35mi_method274 =null;
+		ParserRuleReturnScope insn_format35ms_method275 =null;
+		ParserRuleReturnScope insn_format3rc_method276 =null;
+		ParserRuleReturnScope insn_format3rc_method_odex277 =null;
+		ParserRuleReturnScope insn_format3rc_type278 =null;
+		ParserRuleReturnScope insn_format3rmi_method279 =null;
+		ParserRuleReturnScope insn_format3rms_method280 =null;
+		ParserRuleReturnScope insn_format51l281 =null;
+		ParserRuleReturnScope insn_array_data_directive282 =null;
+		ParserRuleReturnScope insn_packed_switch_directive283 =null;
+		ParserRuleReturnScope insn_sparse_switch_directive284 =null;
 
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:810:3: ( insn_format10t | insn_format10x | insn_format10x_odex | insn_format11n | insn_format11x | insn_format12x | insn_format20bc | insn_format20t | insn_format21c_field | insn_format21c_field_odex | insn_format21c_string | insn_format21c_type | insn_format21ih | insn_format21lh | insn_format21s | insn_format21t | insn_format22b | insn_format22c_field | insn_format22c_field_odex | insn_format22c_type | insn_format22cs_field | insn_format22s | insn_format22t | insn_format22x | insn_format23x | insn_format30t | insn_format31c | insn_format31i | insn_format31t | insn_format32x | insn_format35c_method | insn_format35c_type | insn_format35c_method_odex | insn_format35mi_method | insn_format35ms_method | insn_format3rc_method | insn_format3rc_method_odex | insn_format3rc_type | insn_format3rmi_method | insn_format3rms_method | insn_format51l | insn_array_data_directive | insn_packed_switch_directive | insn_sparse_switch_directive )
-			int alt44=44;
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:797:3: ( insn_format10t | insn_format10x | insn_format10x_odex | insn_format11n | insn_format11x | insn_format12x | insn_format20bc | insn_format20t | insn_format21c_field | insn_format21c_field_odex | insn_format21c_string | insn_format21c_type | insn_format21ih | insn_format21lh | insn_format21s | insn_format21t | insn_format22b | insn_format22c_field | insn_format22c_field_odex | insn_format22c_type | insn_format22cs_field | insn_format22s | insn_format22t | insn_format22x | insn_format23x | insn_format30t | insn_format31c | insn_format31i | insn_format31t | insn_format32x | insn_format35c_method | insn_format35c_type | insn_format35c_method_odex | insn_format35mi_method | insn_format35ms_method | insn_format3rc_method | insn_format3rc_method_odex | insn_format3rc_type | insn_format3rmi_method | insn_format3rms_method | insn_format51l | insn_array_data_directive | insn_packed_switch_directive | insn_sparse_switch_directive )
+			int alt49=44;
 			switch ( input.LA(1) ) {
 			case INSTRUCTION_FORMAT10t:
 				{
-				alt44=1;
+				alt49=1;
 				}
 				break;
 			case INSTRUCTION_FORMAT10x:
 				{
-				alt44=2;
+				alt49=2;
 				}
 				break;
 			case INSTRUCTION_FORMAT10x_ODEX:
 				{
-				alt44=3;
+				alt49=3;
 				}
 				break;
 			case INSTRUCTION_FORMAT11n:
 				{
-				alt44=4;
+				alt49=4;
 				}
 				break;
 			case INSTRUCTION_FORMAT11x:
 				{
-				alt44=5;
+				alt49=5;
 				}
 				break;
 			case INSTRUCTION_FORMAT12x:
 			case INSTRUCTION_FORMAT12x_OR_ID:
 				{
-				alt44=6;
+				alt49=6;
 				}
 				break;
 			case INSTRUCTION_FORMAT20bc:
 				{
-				alt44=7;
+				alt49=7;
 				}
 				break;
 			case INSTRUCTION_FORMAT20t:
 				{
-				alt44=8;
+				alt49=8;
 				}
 				break;
 			case INSTRUCTION_FORMAT21c_FIELD:
 				{
-				alt44=9;
+				alt49=9;
 				}
 				break;
 			case INSTRUCTION_FORMAT21c_FIELD_ODEX:
 				{
-				alt44=10;
+				alt49=10;
 				}
 				break;
 			case INSTRUCTION_FORMAT21c_STRING:
 				{
-				alt44=11;
+				alt49=11;
 				}
 				break;
 			case INSTRUCTION_FORMAT21c_TYPE:
 				{
-				alt44=12;
+				alt49=12;
 				}
 				break;
 			case INSTRUCTION_FORMAT21ih:
 				{
-				alt44=13;
+				alt49=13;
 				}
 				break;
 			case INSTRUCTION_FORMAT21lh:
 				{
-				alt44=14;
+				alt49=14;
 				}
 				break;
 			case INSTRUCTION_FORMAT21s:
 				{
-				alt44=15;
+				alt49=15;
 				}
 				break;
 			case INSTRUCTION_FORMAT21t:
 				{
-				alt44=16;
+				alt49=16;
 				}
 				break;
 			case INSTRUCTION_FORMAT22b:
 				{
-				alt44=17;
+				alt49=17;
 				}
 				break;
 			case INSTRUCTION_FORMAT22c_FIELD:
 				{
-				alt44=18;
+				alt49=18;
 				}
 				break;
 			case INSTRUCTION_FORMAT22c_FIELD_ODEX:
 				{
-				alt44=19;
+				alt49=19;
 				}
 				break;
 			case INSTRUCTION_FORMAT22c_TYPE:
 				{
-				alt44=20;
+				alt49=20;
 				}
 				break;
 			case INSTRUCTION_FORMAT22cs_FIELD:
 				{
-				alt44=21;
+				alt49=21;
 				}
 				break;
 			case INSTRUCTION_FORMAT22s:
 			case INSTRUCTION_FORMAT22s_OR_ID:
 				{
-				alt44=22;
+				alt49=22;
 				}
 				break;
 			case INSTRUCTION_FORMAT22t:
 				{
-				alt44=23;
+				alt49=23;
 				}
 				break;
 			case INSTRUCTION_FORMAT22x:
 				{
-				alt44=24;
+				alt49=24;
 				}
 				break;
 			case INSTRUCTION_FORMAT23x:
 				{
-				alt44=25;
+				alt49=25;
 				}
 				break;
 			case INSTRUCTION_FORMAT30t:
 				{
-				alt44=26;
+				alt49=26;
 				}
 				break;
 			case INSTRUCTION_FORMAT31c:
 				{
-				alt44=27;
+				alt49=27;
 				}
 				break;
 			case INSTRUCTION_FORMAT31i:
 			case INSTRUCTION_FORMAT31i_OR_ID:
 				{
-				alt44=28;
+				alt49=28;
 				}
 				break;
 			case INSTRUCTION_FORMAT31t:
 				{
-				alt44=29;
+				alt49=29;
 				}
 				break;
 			case INSTRUCTION_FORMAT32x:
 				{
-				alt44=30;
+				alt49=30;
 				}
 				break;
 			case INSTRUCTION_FORMAT35c_METHOD:
 				{
-				alt44=31;
+				alt49=31;
 				}
 				break;
 			case INSTRUCTION_FORMAT35c_TYPE:
 				{
-				alt44=32;
+				alt49=32;
 				}
 				break;
 			case INSTRUCTION_FORMAT35c_METHOD_ODEX:
 				{
-				alt44=33;
+				alt49=33;
 				}
 				break;
 			case INSTRUCTION_FORMAT35mi_METHOD:
 				{
-				alt44=34;
+				alt49=34;
 				}
 				break;
 			case INSTRUCTION_FORMAT35ms_METHOD:
 				{
-				alt44=35;
+				alt49=35;
 				}
 				break;
 			case INSTRUCTION_FORMAT3rc_METHOD:
 				{
-				alt44=36;
+				alt49=36;
 				}
 				break;
 			case INSTRUCTION_FORMAT3rc_METHOD_ODEX:
 				{
-				alt44=37;
+				alt49=37;
 				}
 				break;
 			case INSTRUCTION_FORMAT3rc_TYPE:
 				{
-				alt44=38;
+				alt49=38;
 				}
 				break;
 			case INSTRUCTION_FORMAT3rmi_METHOD:
 				{
-				alt44=39;
+				alt49=39;
 				}
 				break;
 			case INSTRUCTION_FORMAT3rms_METHOD:
 				{
-				alt44=40;
+				alt49=40;
 				}
 				break;
 			case INSTRUCTION_FORMAT51l:
 				{
-				alt44=41;
+				alt49=41;
 				}
 				break;
 			case ARRAY_DATA_DIRECTIVE:
 				{
-				alt44=42;
+				alt49=42;
 				}
 				break;
 			case PACKED_SWITCH_DIRECTIVE:
 				{
-				alt44=43;
+				alt49=43;
 				}
 				break;
 			case SPARSE_SWITCH_DIRECTIVE:
 				{
-				alt44=44;
+				alt49=44;
 				}
 				break;
 			default:
 				NoViableAltException nvae =
-					new NoViableAltException("", 44, 0, input);
+					new NoViableAltException("", 49, 0, input);
 				throw nvae;
 			}
-			switch (alt44) {
+			switch (alt49) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:810:5: insn_format10t
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:797:5: insn_format10t
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_format10t_in_instruction3764);
-					insn_format10t233=insn_format10t();
+					pushFollow(FOLLOW_insn_format10t_in_instruction3720);
+					insn_format10t241=insn_format10t();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_format10t233.getTree());
+					adaptor.addChild(root_0, insn_format10t241.getTree());
 
 					}
 					break;
 				case 2 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:811:5: insn_format10x
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:798:5: insn_format10x
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_format10x_in_instruction3770);
-					insn_format10x234=insn_format10x();
+					pushFollow(FOLLOW_insn_format10x_in_instruction3726);
+					insn_format10x242=insn_format10x();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_format10x234.getTree());
+					adaptor.addChild(root_0, insn_format10x242.getTree());
 
 					}
 					break;
 				case 3 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:812:5: insn_format10x_odex
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:799:5: insn_format10x_odex
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_format10x_odex_in_instruction3776);
-					insn_format10x_odex235=insn_format10x_odex();
+					pushFollow(FOLLOW_insn_format10x_odex_in_instruction3732);
+					insn_format10x_odex243=insn_format10x_odex();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_format10x_odex235.getTree());
+					adaptor.addChild(root_0, insn_format10x_odex243.getTree());
 
 					}
 					break;
 				case 4 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:813:5: insn_format11n
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:800:5: insn_format11n
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_format11n_in_instruction3782);
-					insn_format11n236=insn_format11n();
+					pushFollow(FOLLOW_insn_format11n_in_instruction3738);
+					insn_format11n244=insn_format11n();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_format11n236.getTree());
+					adaptor.addChild(root_0, insn_format11n244.getTree());
 
 					}
 					break;
 				case 5 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:814:5: insn_format11x
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:801:5: insn_format11x
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_format11x_in_instruction3788);
-					insn_format11x237=insn_format11x();
+					pushFollow(FOLLOW_insn_format11x_in_instruction3744);
+					insn_format11x245=insn_format11x();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_format11x237.getTree());
+					adaptor.addChild(root_0, insn_format11x245.getTree());
 
 					}
 					break;
 				case 6 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:815:5: insn_format12x
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:802:5: insn_format12x
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_format12x_in_instruction3794);
-					insn_format12x238=insn_format12x();
+					pushFollow(FOLLOW_insn_format12x_in_instruction3750);
+					insn_format12x246=insn_format12x();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_format12x238.getTree());
+					adaptor.addChild(root_0, insn_format12x246.getTree());
 
 					}
 					break;
 				case 7 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:816:5: insn_format20bc
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:803:5: insn_format20bc
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_format20bc_in_instruction3800);
-					insn_format20bc239=insn_format20bc();
+					pushFollow(FOLLOW_insn_format20bc_in_instruction3756);
+					insn_format20bc247=insn_format20bc();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_format20bc239.getTree());
+					adaptor.addChild(root_0, insn_format20bc247.getTree());
 
 					}
 					break;
 				case 8 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:817:5: insn_format20t
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:804:5: insn_format20t
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_format20t_in_instruction3806);
-					insn_format20t240=insn_format20t();
+					pushFollow(FOLLOW_insn_format20t_in_instruction3762);
+					insn_format20t248=insn_format20t();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_format20t240.getTree());
+					adaptor.addChild(root_0, insn_format20t248.getTree());
 
 					}
 					break;
 				case 9 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:818:5: insn_format21c_field
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:805:5: insn_format21c_field
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_format21c_field_in_instruction3812);
-					insn_format21c_field241=insn_format21c_field();
+					pushFollow(FOLLOW_insn_format21c_field_in_instruction3768);
+					insn_format21c_field249=insn_format21c_field();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_format21c_field241.getTree());
+					adaptor.addChild(root_0, insn_format21c_field249.getTree());
 
 					}
 					break;
 				case 10 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:819:5: insn_format21c_field_odex
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:806:5: insn_format21c_field_odex
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_format21c_field_odex_in_instruction3818);
-					insn_format21c_field_odex242=insn_format21c_field_odex();
+					pushFollow(FOLLOW_insn_format21c_field_odex_in_instruction3774);
+					insn_format21c_field_odex250=insn_format21c_field_odex();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_format21c_field_odex242.getTree());
+					adaptor.addChild(root_0, insn_format21c_field_odex250.getTree());
 
 					}
 					break;
 				case 11 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:820:5: insn_format21c_string
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:807:5: insn_format21c_string
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_format21c_string_in_instruction3824);
-					insn_format21c_string243=insn_format21c_string();
+					pushFollow(FOLLOW_insn_format21c_string_in_instruction3780);
+					insn_format21c_string251=insn_format21c_string();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_format21c_string243.getTree());
+					adaptor.addChild(root_0, insn_format21c_string251.getTree());
 
 					}
 					break;
 				case 12 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:821:5: insn_format21c_type
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:808:5: insn_format21c_type
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_format21c_type_in_instruction3830);
-					insn_format21c_type244=insn_format21c_type();
+					pushFollow(FOLLOW_insn_format21c_type_in_instruction3786);
+					insn_format21c_type252=insn_format21c_type();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_format21c_type244.getTree());
+					adaptor.addChild(root_0, insn_format21c_type252.getTree());
 
 					}
 					break;
 				case 13 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:822:5: insn_format21ih
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:809:5: insn_format21ih
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_format21ih_in_instruction3836);
-					insn_format21ih245=insn_format21ih();
+					pushFollow(FOLLOW_insn_format21ih_in_instruction3792);
+					insn_format21ih253=insn_format21ih();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_format21ih245.getTree());
+					adaptor.addChild(root_0, insn_format21ih253.getTree());
 
 					}
 					break;
 				case 14 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:823:5: insn_format21lh
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:810:5: insn_format21lh
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_format21lh_in_instruction3842);
-					insn_format21lh246=insn_format21lh();
+					pushFollow(FOLLOW_insn_format21lh_in_instruction3798);
+					insn_format21lh254=insn_format21lh();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_format21lh246.getTree());
+					adaptor.addChild(root_0, insn_format21lh254.getTree());
 
 					}
 					break;
 				case 15 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:824:5: insn_format21s
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:811:5: insn_format21s
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_format21s_in_instruction3848);
-					insn_format21s247=insn_format21s();
+					pushFollow(FOLLOW_insn_format21s_in_instruction3804);
+					insn_format21s255=insn_format21s();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_format21s247.getTree());
+					adaptor.addChild(root_0, insn_format21s255.getTree());
 
 					}
 					break;
 				case 16 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:825:5: insn_format21t
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:812:5: insn_format21t
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_format21t_in_instruction3854);
-					insn_format21t248=insn_format21t();
+					pushFollow(FOLLOW_insn_format21t_in_instruction3810);
+					insn_format21t256=insn_format21t();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_format21t248.getTree());
+					adaptor.addChild(root_0, insn_format21t256.getTree());
 
 					}
 					break;
 				case 17 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:826:5: insn_format22b
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:813:5: insn_format22b
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_format22b_in_instruction3860);
-					insn_format22b249=insn_format22b();
+					pushFollow(FOLLOW_insn_format22b_in_instruction3816);
+					insn_format22b257=insn_format22b();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_format22b249.getTree());
+					adaptor.addChild(root_0, insn_format22b257.getTree());
 
 					}
 					break;
 				case 18 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:827:5: insn_format22c_field
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:814:5: insn_format22c_field
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_format22c_field_in_instruction3866);
-					insn_format22c_field250=insn_format22c_field();
+					pushFollow(FOLLOW_insn_format22c_field_in_instruction3822);
+					insn_format22c_field258=insn_format22c_field();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_format22c_field250.getTree());
+					adaptor.addChild(root_0, insn_format22c_field258.getTree());
 
 					}
 					break;
 				case 19 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:828:5: insn_format22c_field_odex
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:815:5: insn_format22c_field_odex
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_format22c_field_odex_in_instruction3872);
-					insn_format22c_field_odex251=insn_format22c_field_odex();
+					pushFollow(FOLLOW_insn_format22c_field_odex_in_instruction3828);
+					insn_format22c_field_odex259=insn_format22c_field_odex();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_format22c_field_odex251.getTree());
+					adaptor.addChild(root_0, insn_format22c_field_odex259.getTree());
 
 					}
 					break;
 				case 20 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:829:5: insn_format22c_type
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:816:5: insn_format22c_type
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_format22c_type_in_instruction3878);
-					insn_format22c_type252=insn_format22c_type();
+					pushFollow(FOLLOW_insn_format22c_type_in_instruction3834);
+					insn_format22c_type260=insn_format22c_type();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_format22c_type252.getTree());
+					adaptor.addChild(root_0, insn_format22c_type260.getTree());
 
 					}
 					break;
 				case 21 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:830:5: insn_format22cs_field
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:817:5: insn_format22cs_field
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_format22cs_field_in_instruction3884);
-					insn_format22cs_field253=insn_format22cs_field();
+					pushFollow(FOLLOW_insn_format22cs_field_in_instruction3840);
+					insn_format22cs_field261=insn_format22cs_field();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_format22cs_field253.getTree());
+					adaptor.addChild(root_0, insn_format22cs_field261.getTree());
 
 					}
 					break;
 				case 22 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:831:5: insn_format22s
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:818:5: insn_format22s
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_format22s_in_instruction3890);
-					insn_format22s254=insn_format22s();
+					pushFollow(FOLLOW_insn_format22s_in_instruction3846);
+					insn_format22s262=insn_format22s();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_format22s254.getTree());
+					adaptor.addChild(root_0, insn_format22s262.getTree());
 
 					}
 					break;
 				case 23 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:832:5: insn_format22t
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:819:5: insn_format22t
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_format22t_in_instruction3896);
-					insn_format22t255=insn_format22t();
+					pushFollow(FOLLOW_insn_format22t_in_instruction3852);
+					insn_format22t263=insn_format22t();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_format22t255.getTree());
+					adaptor.addChild(root_0, insn_format22t263.getTree());
 
 					}
 					break;
 				case 24 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:833:5: insn_format22x
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:820:5: insn_format22x
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_format22x_in_instruction3902);
-					insn_format22x256=insn_format22x();
+					pushFollow(FOLLOW_insn_format22x_in_instruction3858);
+					insn_format22x264=insn_format22x();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_format22x256.getTree());
+					adaptor.addChild(root_0, insn_format22x264.getTree());
 
 					}
 					break;
 				case 25 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:834:5: insn_format23x
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:821:5: insn_format23x
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_format23x_in_instruction3908);
-					insn_format23x257=insn_format23x();
+					pushFollow(FOLLOW_insn_format23x_in_instruction3864);
+					insn_format23x265=insn_format23x();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_format23x257.getTree());
+					adaptor.addChild(root_0, insn_format23x265.getTree());
 
 					}
 					break;
 				case 26 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:835:5: insn_format30t
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:822:5: insn_format30t
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_format30t_in_instruction3914);
-					insn_format30t258=insn_format30t();
+					pushFollow(FOLLOW_insn_format30t_in_instruction3870);
+					insn_format30t266=insn_format30t();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_format30t258.getTree());
+					adaptor.addChild(root_0, insn_format30t266.getTree());
 
 					}
 					break;
 				case 27 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:836:5: insn_format31c
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:823:5: insn_format31c
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_format31c_in_instruction3920);
-					insn_format31c259=insn_format31c();
+					pushFollow(FOLLOW_insn_format31c_in_instruction3876);
+					insn_format31c267=insn_format31c();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_format31c259.getTree());
+					adaptor.addChild(root_0, insn_format31c267.getTree());
 
 					}
 					break;
 				case 28 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:837:5: insn_format31i
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:824:5: insn_format31i
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_format31i_in_instruction3926);
-					insn_format31i260=insn_format31i();
+					pushFollow(FOLLOW_insn_format31i_in_instruction3882);
+					insn_format31i268=insn_format31i();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_format31i260.getTree());
+					adaptor.addChild(root_0, insn_format31i268.getTree());
 
 					}
 					break;
 				case 29 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:838:5: insn_format31t
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:825:5: insn_format31t
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_format31t_in_instruction3932);
-					insn_format31t261=insn_format31t();
+					pushFollow(FOLLOW_insn_format31t_in_instruction3888);
+					insn_format31t269=insn_format31t();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_format31t261.getTree());
+					adaptor.addChild(root_0, insn_format31t269.getTree());
 
 					}
 					break;
 				case 30 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:839:5: insn_format32x
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:826:5: insn_format32x
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_format32x_in_instruction3938);
-					insn_format32x262=insn_format32x();
+					pushFollow(FOLLOW_insn_format32x_in_instruction3894);
+					insn_format32x270=insn_format32x();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_format32x262.getTree());
+					adaptor.addChild(root_0, insn_format32x270.getTree());
 
 					}
 					break;
 				case 31 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:840:5: insn_format35c_method
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:827:5: insn_format35c_method
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_format35c_method_in_instruction3944);
-					insn_format35c_method263=insn_format35c_method();
+					pushFollow(FOLLOW_insn_format35c_method_in_instruction3900);
+					insn_format35c_method271=insn_format35c_method();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_format35c_method263.getTree());
+					adaptor.addChild(root_0, insn_format35c_method271.getTree());
 
 					}
 					break;
 				case 32 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:841:5: insn_format35c_type
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:828:5: insn_format35c_type
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_format35c_type_in_instruction3950);
-					insn_format35c_type264=insn_format35c_type();
+					pushFollow(FOLLOW_insn_format35c_type_in_instruction3906);
+					insn_format35c_type272=insn_format35c_type();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_format35c_type264.getTree());
+					adaptor.addChild(root_0, insn_format35c_type272.getTree());
 
 					}
 					break;
 				case 33 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:842:5: insn_format35c_method_odex
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:829:5: insn_format35c_method_odex
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_format35c_method_odex_in_instruction3956);
-					insn_format35c_method_odex265=insn_format35c_method_odex();
+					pushFollow(FOLLOW_insn_format35c_method_odex_in_instruction3912);
+					insn_format35c_method_odex273=insn_format35c_method_odex();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_format35c_method_odex265.getTree());
+					adaptor.addChild(root_0, insn_format35c_method_odex273.getTree());
 
 					}
 					break;
 				case 34 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:843:5: insn_format35mi_method
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:830:5: insn_format35mi_method
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_format35mi_method_in_instruction3962);
-					insn_format35mi_method266=insn_format35mi_method();
+					pushFollow(FOLLOW_insn_format35mi_method_in_instruction3918);
+					insn_format35mi_method274=insn_format35mi_method();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_format35mi_method266.getTree());
+					adaptor.addChild(root_0, insn_format35mi_method274.getTree());
 
 					}
 					break;
 				case 35 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:844:5: insn_format35ms_method
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:831:5: insn_format35ms_method
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_format35ms_method_in_instruction3968);
-					insn_format35ms_method267=insn_format35ms_method();
+					pushFollow(FOLLOW_insn_format35ms_method_in_instruction3924);
+					insn_format35ms_method275=insn_format35ms_method();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_format35ms_method267.getTree());
+					adaptor.addChild(root_0, insn_format35ms_method275.getTree());
 
 					}
 					break;
 				case 36 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:845:5: insn_format3rc_method
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:832:5: insn_format3rc_method
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_format3rc_method_in_instruction3974);
-					insn_format3rc_method268=insn_format3rc_method();
+					pushFollow(FOLLOW_insn_format3rc_method_in_instruction3930);
+					insn_format3rc_method276=insn_format3rc_method();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_format3rc_method268.getTree());
+					adaptor.addChild(root_0, insn_format3rc_method276.getTree());
 
 					}
 					break;
 				case 37 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:846:5: insn_format3rc_method_odex
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:833:5: insn_format3rc_method_odex
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_format3rc_method_odex_in_instruction3980);
-					insn_format3rc_method_odex269=insn_format3rc_method_odex();
+					pushFollow(FOLLOW_insn_format3rc_method_odex_in_instruction3936);
+					insn_format3rc_method_odex277=insn_format3rc_method_odex();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_format3rc_method_odex269.getTree());
+					adaptor.addChild(root_0, insn_format3rc_method_odex277.getTree());
 
 					}
 					break;
 				case 38 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:847:5: insn_format3rc_type
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:834:5: insn_format3rc_type
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_format3rc_type_in_instruction3986);
-					insn_format3rc_type270=insn_format3rc_type();
+					pushFollow(FOLLOW_insn_format3rc_type_in_instruction3942);
+					insn_format3rc_type278=insn_format3rc_type();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_format3rc_type270.getTree());
+					adaptor.addChild(root_0, insn_format3rc_type278.getTree());
 
 					}
 					break;
 				case 39 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:848:5: insn_format3rmi_method
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:835:5: insn_format3rmi_method
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_format3rmi_method_in_instruction3992);
-					insn_format3rmi_method271=insn_format3rmi_method();
+					pushFollow(FOLLOW_insn_format3rmi_method_in_instruction3948);
+					insn_format3rmi_method279=insn_format3rmi_method();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_format3rmi_method271.getTree());
+					adaptor.addChild(root_0, insn_format3rmi_method279.getTree());
 
 					}
 					break;
 				case 40 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:849:5: insn_format3rms_method
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:836:5: insn_format3rms_method
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_format3rms_method_in_instruction3998);
-					insn_format3rms_method272=insn_format3rms_method();
+					pushFollow(FOLLOW_insn_format3rms_method_in_instruction3954);
+					insn_format3rms_method280=insn_format3rms_method();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_format3rms_method272.getTree());
+					adaptor.addChild(root_0, insn_format3rms_method280.getTree());
 
 					}
 					break;
 				case 41 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:850:5: insn_format51l
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:837:5: insn_format51l
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_format51l_in_instruction4004);
-					insn_format51l273=insn_format51l();
+					pushFollow(FOLLOW_insn_format51l_in_instruction3960);
+					insn_format51l281=insn_format51l();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_format51l273.getTree());
+					adaptor.addChild(root_0, insn_format51l281.getTree());
 
 					}
 					break;
 				case 42 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:851:5: insn_array_data_directive
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:838:5: insn_array_data_directive
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_array_data_directive_in_instruction4010);
-					insn_array_data_directive274=insn_array_data_directive();
+					pushFollow(FOLLOW_insn_array_data_directive_in_instruction3966);
+					insn_array_data_directive282=insn_array_data_directive();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_array_data_directive274.getTree());
+					adaptor.addChild(root_0, insn_array_data_directive282.getTree());
 
 					}
 					break;
 				case 43 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:852:5: insn_packed_switch_directive
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:839:5: insn_packed_switch_directive
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_packed_switch_directive_in_instruction4016);
-					insn_packed_switch_directive275=insn_packed_switch_directive();
+					pushFollow(FOLLOW_insn_packed_switch_directive_in_instruction3972);
+					insn_packed_switch_directive283=insn_packed_switch_directive();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_packed_switch_directive275.getTree());
+					adaptor.addChild(root_0, insn_packed_switch_directive283.getTree());
 
 					}
 					break;
 				case 44 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:853:5: insn_sparse_switch_directive
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:840:5: insn_sparse_switch_directive
 					{
 					root_0 = (CommonTree)adaptor.nil();
 
 
-					pushFollow(FOLLOW_insn_sparse_switch_directive_in_instruction4022);
-					insn_sparse_switch_directive276=insn_sparse_switch_directive();
+					pushFollow(FOLLOW_insn_sparse_switch_directive_in_instruction3978);
+					insn_sparse_switch_directive284=insn_sparse_switch_directive();
 					state._fsp--;
 
-					adaptor.addChild(root_0, insn_sparse_switch_directive276.getTree());
+					adaptor.addChild(root_0, insn_sparse_switch_directive284.getTree());
 
 					}
 					break;
@@ -12714,46 +10035,46 @@
 
 
 	// $ANTLR start "insn_format10t"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:855:1: insn_format10t : INSTRUCTION_FORMAT10t label_ref -> ^( I_STATEMENT_FORMAT10t[$start, \"I_STATEMENT_FORMAT10t\"] INSTRUCTION_FORMAT10t label_ref ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:842:1: insn_format10t : INSTRUCTION_FORMAT10t label_ref -> ^( I_STATEMENT_FORMAT10t[$start, \"I_STATEMENT_FORMAT10t\"] INSTRUCTION_FORMAT10t label_ref ) ;
 	public final smaliParser.insn_format10t_return insn_format10t() throws RecognitionException {
 		smaliParser.insn_format10t_return retval = new smaliParser.insn_format10t_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token INSTRUCTION_FORMAT10t277=null;
-		ParserRuleReturnScope label_ref278 =null;
+		Token INSTRUCTION_FORMAT10t285=null;
+		ParserRuleReturnScope label_ref286 =null;
 
-		CommonTree INSTRUCTION_FORMAT10t277_tree=null;
+		CommonTree INSTRUCTION_FORMAT10t285_tree=null;
 		RewriteRuleTokenStream stream_INSTRUCTION_FORMAT10t=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT10t");
 		RewriteRuleSubtreeStream stream_label_ref=new RewriteRuleSubtreeStream(adaptor,"rule label_ref");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:856:3: ( INSTRUCTION_FORMAT10t label_ref -> ^( I_STATEMENT_FORMAT10t[$start, \"I_STATEMENT_FORMAT10t\"] INSTRUCTION_FORMAT10t label_ref ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:858:5: INSTRUCTION_FORMAT10t label_ref
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:843:3: ( INSTRUCTION_FORMAT10t label_ref -> ^( I_STATEMENT_FORMAT10t[$start, \"I_STATEMENT_FORMAT10t\"] INSTRUCTION_FORMAT10t label_ref ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:845:5: INSTRUCTION_FORMAT10t label_ref
 			{
-			INSTRUCTION_FORMAT10t277=(Token)match(input,INSTRUCTION_FORMAT10t,FOLLOW_INSTRUCTION_FORMAT10t_in_insn_format10t4042);  
-			stream_INSTRUCTION_FORMAT10t.add(INSTRUCTION_FORMAT10t277);
+			INSTRUCTION_FORMAT10t285=(Token)match(input,INSTRUCTION_FORMAT10t,FOLLOW_INSTRUCTION_FORMAT10t_in_insn_format10t3998);
+			stream_INSTRUCTION_FORMAT10t.add(INSTRUCTION_FORMAT10t285);
 
-			pushFollow(FOLLOW_label_ref_in_insn_format10t4044);
-			label_ref278=label_ref();
+			pushFollow(FOLLOW_label_ref_in_insn_format10t4000);
+			label_ref286=label_ref();
 			state._fsp--;
 
-			stream_label_ref.add(label_ref278.getTree());
+			stream_label_ref.add(label_ref286.getTree());
 			// AST REWRITE
-			// elements: INSTRUCTION_FORMAT10t, label_ref
-			// token labels: 
+			// elements: label_ref, INSTRUCTION_FORMAT10t
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 859:5: -> ^( I_STATEMENT_FORMAT10t[$start, \"I_STATEMENT_FORMAT10t\"] INSTRUCTION_FORMAT10t label_ref )
+			// 846:5: -> ^( I_STATEMENT_FORMAT10t[$start, \"I_STATEMENT_FORMAT10t\"] INSTRUCTION_FORMAT10t label_ref )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:859:8: ^( I_STATEMENT_FORMAT10t[$start, \"I_STATEMENT_FORMAT10t\"] INSTRUCTION_FORMAT10t label_ref )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:846:8: ^( I_STATEMENT_FORMAT10t[$start, \"I_STATEMENT_FORMAT10t\"] INSTRUCTION_FORMAT10t label_ref )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT10t, (retval.start), "I_STATEMENT_FORMAT10t"), root_1);
@@ -12796,39 +10117,39 @@
 
 
 	// $ANTLR start "insn_format10x"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:861:1: insn_format10x : INSTRUCTION_FORMAT10x -> ^( I_STATEMENT_FORMAT10x[$start, \"I_STATEMENT_FORMAT10x\"] INSTRUCTION_FORMAT10x ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:848:1: insn_format10x : INSTRUCTION_FORMAT10x -> ^( I_STATEMENT_FORMAT10x[$start, \"I_STATEMENT_FORMAT10x\"] INSTRUCTION_FORMAT10x ) ;
 	public final smaliParser.insn_format10x_return insn_format10x() throws RecognitionException {
 		smaliParser.insn_format10x_return retval = new smaliParser.insn_format10x_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token INSTRUCTION_FORMAT10x279=null;
+		Token INSTRUCTION_FORMAT10x287=null;
 
-		CommonTree INSTRUCTION_FORMAT10x279_tree=null;
+		CommonTree INSTRUCTION_FORMAT10x287_tree=null;
 		RewriteRuleTokenStream stream_INSTRUCTION_FORMAT10x=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT10x");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:862:3: ( INSTRUCTION_FORMAT10x -> ^( I_STATEMENT_FORMAT10x[$start, \"I_STATEMENT_FORMAT10x\"] INSTRUCTION_FORMAT10x ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:863:5: INSTRUCTION_FORMAT10x
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:849:3: ( INSTRUCTION_FORMAT10x -> ^( I_STATEMENT_FORMAT10x[$start, \"I_STATEMENT_FORMAT10x\"] INSTRUCTION_FORMAT10x ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:850:5: INSTRUCTION_FORMAT10x
 			{
-			INSTRUCTION_FORMAT10x279=(Token)match(input,INSTRUCTION_FORMAT10x,FOLLOW_INSTRUCTION_FORMAT10x_in_insn_format10x4074);  
-			stream_INSTRUCTION_FORMAT10x.add(INSTRUCTION_FORMAT10x279);
+			INSTRUCTION_FORMAT10x287=(Token)match(input,INSTRUCTION_FORMAT10x,FOLLOW_INSTRUCTION_FORMAT10x_in_insn_format10x4030);
+			stream_INSTRUCTION_FORMAT10x.add(INSTRUCTION_FORMAT10x287);
 
 			// AST REWRITE
 			// elements: INSTRUCTION_FORMAT10x
-			// token labels: 
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 864:5: -> ^( I_STATEMENT_FORMAT10x[$start, \"I_STATEMENT_FORMAT10x\"] INSTRUCTION_FORMAT10x )
+			// 851:5: -> ^( I_STATEMENT_FORMAT10x[$start, \"I_STATEMENT_FORMAT10x\"] INSTRUCTION_FORMAT10x )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:864:8: ^( I_STATEMENT_FORMAT10x[$start, \"I_STATEMENT_FORMAT10x\"] INSTRUCTION_FORMAT10x )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:851:8: ^( I_STATEMENT_FORMAT10x[$start, \"I_STATEMENT_FORMAT10x\"] INSTRUCTION_FORMAT10x )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT10x, (retval.start), "I_STATEMENT_FORMAT10x"), root_1);
@@ -12870,31 +10191,31 @@
 
 
 	// $ANTLR start "insn_format10x_odex"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:866:1: insn_format10x_odex : INSTRUCTION_FORMAT10x_ODEX ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:853:1: insn_format10x_odex : INSTRUCTION_FORMAT10x_ODEX ;
 	public final smaliParser.insn_format10x_odex_return insn_format10x_odex() throws RecognitionException {
 		smaliParser.insn_format10x_odex_return retval = new smaliParser.insn_format10x_odex_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token INSTRUCTION_FORMAT10x_ODEX280=null;
+		Token INSTRUCTION_FORMAT10x_ODEX288=null;
 
-		CommonTree INSTRUCTION_FORMAT10x_ODEX280_tree=null;
+		CommonTree INSTRUCTION_FORMAT10x_ODEX288_tree=null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:867:3: ( INSTRUCTION_FORMAT10x_ODEX )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:868:5: INSTRUCTION_FORMAT10x_ODEX
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:854:3: ( INSTRUCTION_FORMAT10x_ODEX )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:855:5: INSTRUCTION_FORMAT10x_ODEX
 			{
 			root_0 = (CommonTree)adaptor.nil();
 
 
-			INSTRUCTION_FORMAT10x_ODEX280=(Token)match(input,INSTRUCTION_FORMAT10x_ODEX,FOLLOW_INSTRUCTION_FORMAT10x_ODEX_in_insn_format10x_odex4102); 
-			INSTRUCTION_FORMAT10x_ODEX280_tree = (CommonTree)adaptor.create(INSTRUCTION_FORMAT10x_ODEX280);
-			adaptor.addChild(root_0, INSTRUCTION_FORMAT10x_ODEX280_tree);
+			INSTRUCTION_FORMAT10x_ODEX288=(Token)match(input,INSTRUCTION_FORMAT10x_ODEX,FOLLOW_INSTRUCTION_FORMAT10x_ODEX_in_insn_format10x_odex4058);
+			INSTRUCTION_FORMAT10x_ODEX288_tree = (CommonTree)adaptor.create(INSTRUCTION_FORMAT10x_ODEX288);
+			adaptor.addChild(root_0, INSTRUCTION_FORMAT10x_ODEX288_tree);
 
 
-			      throwOdexedInstructionException(input, (INSTRUCTION_FORMAT10x_ODEX280!=null?INSTRUCTION_FORMAT10x_ODEX280.getText():null));
-			    
+			      throwOdexedInstructionException(input, (INSTRUCTION_FORMAT10x_ODEX288!=null?INSTRUCTION_FORMAT10x_ODEX288.getText():null));
+			
 			}
 
 			retval.stop = input.LT(-1);
@@ -12924,58 +10245,58 @@
 
 
 	// $ANTLR start "insn_format11n"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:873:1: insn_format11n : INSTRUCTION_FORMAT11n REGISTER COMMA integral_literal -> ^( I_STATEMENT_FORMAT11n[$start, \"I_STATEMENT_FORMAT11n\"] INSTRUCTION_FORMAT11n REGISTER integral_literal ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:860:1: insn_format11n : INSTRUCTION_FORMAT11n REGISTER COMMA integral_literal -> ^( I_STATEMENT_FORMAT11n[$start, \"I_STATEMENT_FORMAT11n\"] INSTRUCTION_FORMAT11n REGISTER integral_literal ) ;
 	public final smaliParser.insn_format11n_return insn_format11n() throws RecognitionException {
 		smaliParser.insn_format11n_return retval = new smaliParser.insn_format11n_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token INSTRUCTION_FORMAT11n281=null;
-		Token REGISTER282=null;
-		Token COMMA283=null;
-		ParserRuleReturnScope integral_literal284 =null;
+		Token INSTRUCTION_FORMAT11n289=null;
+		Token REGISTER290=null;
+		Token COMMA291=null;
+		ParserRuleReturnScope integral_literal292 =null;
 
-		CommonTree INSTRUCTION_FORMAT11n281_tree=null;
-		CommonTree REGISTER282_tree=null;
-		CommonTree COMMA283_tree=null;
+		CommonTree INSTRUCTION_FORMAT11n289_tree=null;
+		CommonTree REGISTER290_tree=null;
+		CommonTree COMMA291_tree=null;
 		RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA");
 		RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER");
 		RewriteRuleTokenStream stream_INSTRUCTION_FORMAT11n=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT11n");
 		RewriteRuleSubtreeStream stream_integral_literal=new RewriteRuleSubtreeStream(adaptor,"rule integral_literal");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:874:3: ( INSTRUCTION_FORMAT11n REGISTER COMMA integral_literal -> ^( I_STATEMENT_FORMAT11n[$start, \"I_STATEMENT_FORMAT11n\"] INSTRUCTION_FORMAT11n REGISTER integral_literal ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:875:5: INSTRUCTION_FORMAT11n REGISTER COMMA integral_literal
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:861:3: ( INSTRUCTION_FORMAT11n REGISTER COMMA integral_literal -> ^( I_STATEMENT_FORMAT11n[$start, \"I_STATEMENT_FORMAT11n\"] INSTRUCTION_FORMAT11n REGISTER integral_literal ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:862:5: INSTRUCTION_FORMAT11n REGISTER COMMA integral_literal
 			{
-			INSTRUCTION_FORMAT11n281=(Token)match(input,INSTRUCTION_FORMAT11n,FOLLOW_INSTRUCTION_FORMAT11n_in_insn_format11n4123);  
-			stream_INSTRUCTION_FORMAT11n.add(INSTRUCTION_FORMAT11n281);
+			INSTRUCTION_FORMAT11n289=(Token)match(input,INSTRUCTION_FORMAT11n,FOLLOW_INSTRUCTION_FORMAT11n_in_insn_format11n4079);
+			stream_INSTRUCTION_FORMAT11n.add(INSTRUCTION_FORMAT11n289);
 
-			REGISTER282=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format11n4125);  
-			stream_REGISTER.add(REGISTER282);
+			REGISTER290=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format11n4081);
+			stream_REGISTER.add(REGISTER290);
 
-			COMMA283=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format11n4127);  
-			stream_COMMA.add(COMMA283);
+			COMMA291=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format11n4083);
+			stream_COMMA.add(COMMA291);
 
-			pushFollow(FOLLOW_integral_literal_in_insn_format11n4129);
-			integral_literal284=integral_literal();
+			pushFollow(FOLLOW_integral_literal_in_insn_format11n4085);
+			integral_literal292=integral_literal();
 			state._fsp--;
 
-			stream_integral_literal.add(integral_literal284.getTree());
+			stream_integral_literal.add(integral_literal292.getTree());
 			// AST REWRITE
 			// elements: REGISTER, integral_literal, INSTRUCTION_FORMAT11n
-			// token labels: 
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 876:5: -> ^( I_STATEMENT_FORMAT11n[$start, \"I_STATEMENT_FORMAT11n\"] INSTRUCTION_FORMAT11n REGISTER integral_literal )
+			// 863:5: -> ^( I_STATEMENT_FORMAT11n[$start, \"I_STATEMENT_FORMAT11n\"] INSTRUCTION_FORMAT11n REGISTER integral_literal )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:876:8: ^( I_STATEMENT_FORMAT11n[$start, \"I_STATEMENT_FORMAT11n\"] INSTRUCTION_FORMAT11n REGISTER integral_literal )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:863:8: ^( I_STATEMENT_FORMAT11n[$start, \"I_STATEMENT_FORMAT11n\"] INSTRUCTION_FORMAT11n REGISTER integral_literal )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT11n, (retval.start), "I_STATEMENT_FORMAT11n"), root_1);
@@ -13019,45 +10340,45 @@
 
 
 	// $ANTLR start "insn_format11x"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:878:1: insn_format11x : INSTRUCTION_FORMAT11x REGISTER -> ^( I_STATEMENT_FORMAT11x[$start, \"I_STATEMENT_FORMAT11x\"] INSTRUCTION_FORMAT11x REGISTER ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:865:1: insn_format11x : INSTRUCTION_FORMAT11x REGISTER -> ^( I_STATEMENT_FORMAT11x[$start, \"I_STATEMENT_FORMAT11x\"] INSTRUCTION_FORMAT11x REGISTER ) ;
 	public final smaliParser.insn_format11x_return insn_format11x() throws RecognitionException {
 		smaliParser.insn_format11x_return retval = new smaliParser.insn_format11x_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token INSTRUCTION_FORMAT11x285=null;
-		Token REGISTER286=null;
+		Token INSTRUCTION_FORMAT11x293=null;
+		Token REGISTER294=null;
 
-		CommonTree INSTRUCTION_FORMAT11x285_tree=null;
-		CommonTree REGISTER286_tree=null;
+		CommonTree INSTRUCTION_FORMAT11x293_tree=null;
+		CommonTree REGISTER294_tree=null;
 		RewriteRuleTokenStream stream_INSTRUCTION_FORMAT11x=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT11x");
 		RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:879:3: ( INSTRUCTION_FORMAT11x REGISTER -> ^( I_STATEMENT_FORMAT11x[$start, \"I_STATEMENT_FORMAT11x\"] INSTRUCTION_FORMAT11x REGISTER ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:880:5: INSTRUCTION_FORMAT11x REGISTER
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:866:3: ( INSTRUCTION_FORMAT11x REGISTER -> ^( I_STATEMENT_FORMAT11x[$start, \"I_STATEMENT_FORMAT11x\"] INSTRUCTION_FORMAT11x REGISTER ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:867:5: INSTRUCTION_FORMAT11x REGISTER
 			{
-			INSTRUCTION_FORMAT11x285=(Token)match(input,INSTRUCTION_FORMAT11x,FOLLOW_INSTRUCTION_FORMAT11x_in_insn_format11x4161);  
-			stream_INSTRUCTION_FORMAT11x.add(INSTRUCTION_FORMAT11x285);
+			INSTRUCTION_FORMAT11x293=(Token)match(input,INSTRUCTION_FORMAT11x,FOLLOW_INSTRUCTION_FORMAT11x_in_insn_format11x4117);
+			stream_INSTRUCTION_FORMAT11x.add(INSTRUCTION_FORMAT11x293);
 
-			REGISTER286=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format11x4163);  
-			stream_REGISTER.add(REGISTER286);
+			REGISTER294=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format11x4119);
+			stream_REGISTER.add(REGISTER294);
 
 			// AST REWRITE
-			// elements: REGISTER, INSTRUCTION_FORMAT11x
-			// token labels: 
+			// elements: INSTRUCTION_FORMAT11x, REGISTER
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 881:5: -> ^( I_STATEMENT_FORMAT11x[$start, \"I_STATEMENT_FORMAT11x\"] INSTRUCTION_FORMAT11x REGISTER )
+			// 868:5: -> ^( I_STATEMENT_FORMAT11x[$start, \"I_STATEMENT_FORMAT11x\"] INSTRUCTION_FORMAT11x REGISTER )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:881:8: ^( I_STATEMENT_FORMAT11x[$start, \"I_STATEMENT_FORMAT11x\"] INSTRUCTION_FORMAT11x REGISTER )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:868:8: ^( I_STATEMENT_FORMAT11x[$start, \"I_STATEMENT_FORMAT11x\"] INSTRUCTION_FORMAT11x REGISTER )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT11x, (retval.start), "I_STATEMENT_FORMAT11x"), root_1);
@@ -13100,57 +10421,57 @@
 
 
 	// $ANTLR start "insn_format12x"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:883:1: insn_format12x : instruction_format12x REGISTER COMMA REGISTER -> ^( I_STATEMENT_FORMAT12x[$start, \"I_STATEMENT_FORMAT12x\"] instruction_format12x REGISTER REGISTER ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:870:1: insn_format12x : instruction_format12x REGISTER COMMA REGISTER -> ^( I_STATEMENT_FORMAT12x[$start, \"I_STATEMENT_FORMAT12x\"] instruction_format12x REGISTER REGISTER ) ;
 	public final smaliParser.insn_format12x_return insn_format12x() throws RecognitionException {
 		smaliParser.insn_format12x_return retval = new smaliParser.insn_format12x_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token REGISTER288=null;
-		Token COMMA289=null;
-		Token REGISTER290=null;
-		ParserRuleReturnScope instruction_format12x287 =null;
+		Token REGISTER296=null;
+		Token COMMA297=null;
+		Token REGISTER298=null;
+		ParserRuleReturnScope instruction_format12x295 =null;
 
-		CommonTree REGISTER288_tree=null;
-		CommonTree COMMA289_tree=null;
-		CommonTree REGISTER290_tree=null;
+		CommonTree REGISTER296_tree=null;
+		CommonTree COMMA297_tree=null;
+		CommonTree REGISTER298_tree=null;
 		RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA");
 		RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER");
 		RewriteRuleSubtreeStream stream_instruction_format12x=new RewriteRuleSubtreeStream(adaptor,"rule instruction_format12x");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:884:3: ( instruction_format12x REGISTER COMMA REGISTER -> ^( I_STATEMENT_FORMAT12x[$start, \"I_STATEMENT_FORMAT12x\"] instruction_format12x REGISTER REGISTER ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:885:5: instruction_format12x REGISTER COMMA REGISTER
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:871:3: ( instruction_format12x REGISTER COMMA REGISTER -> ^( I_STATEMENT_FORMAT12x[$start, \"I_STATEMENT_FORMAT12x\"] instruction_format12x REGISTER REGISTER ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:872:5: instruction_format12x REGISTER COMMA REGISTER
 			{
-			pushFollow(FOLLOW_instruction_format12x_in_insn_format12x4193);
-			instruction_format12x287=instruction_format12x();
+			pushFollow(FOLLOW_instruction_format12x_in_insn_format12x4149);
+			instruction_format12x295=instruction_format12x();
 			state._fsp--;
 
-			stream_instruction_format12x.add(instruction_format12x287.getTree());
-			REGISTER288=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format12x4195);  
-			stream_REGISTER.add(REGISTER288);
+			stream_instruction_format12x.add(instruction_format12x295.getTree());
+			REGISTER296=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format12x4151);
+			stream_REGISTER.add(REGISTER296);
 
-			COMMA289=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format12x4197);  
-			stream_COMMA.add(COMMA289);
+			COMMA297=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format12x4153);
+			stream_COMMA.add(COMMA297);
 
-			REGISTER290=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format12x4199);  
-			stream_REGISTER.add(REGISTER290);
+			REGISTER298=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format12x4155);
+			stream_REGISTER.add(REGISTER298);
 
 			// AST REWRITE
-			// elements: REGISTER, REGISTER, instruction_format12x
-			// token labels: 
+			// elements: REGISTER, instruction_format12x, REGISTER
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 886:5: -> ^( I_STATEMENT_FORMAT12x[$start, \"I_STATEMENT_FORMAT12x\"] instruction_format12x REGISTER REGISTER )
+			// 873:5: -> ^( I_STATEMENT_FORMAT12x[$start, \"I_STATEMENT_FORMAT12x\"] instruction_format12x REGISTER REGISTER )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:886:8: ^( I_STATEMENT_FORMAT12x[$start, \"I_STATEMENT_FORMAT12x\"] instruction_format12x REGISTER REGISTER )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:873:8: ^( I_STATEMENT_FORMAT12x[$start, \"I_STATEMENT_FORMAT12x\"] instruction_format12x REGISTER REGISTER )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT12x, (retval.start), "I_STATEMENT_FORMAT12x"), root_1);
@@ -13194,63 +10515,63 @@
 
 
 	// $ANTLR start "insn_format20bc"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:888:1: insn_format20bc : INSTRUCTION_FORMAT20bc VERIFICATION_ERROR_TYPE COMMA verification_error_reference -> ^( I_STATEMENT_FORMAT20bc INSTRUCTION_FORMAT20bc VERIFICATION_ERROR_TYPE verification_error_reference ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:875:1: insn_format20bc : INSTRUCTION_FORMAT20bc VERIFICATION_ERROR_TYPE COMMA verification_error_reference -> ^( I_STATEMENT_FORMAT20bc INSTRUCTION_FORMAT20bc VERIFICATION_ERROR_TYPE verification_error_reference ) ;
 	public final smaliParser.insn_format20bc_return insn_format20bc() throws RecognitionException {
 		smaliParser.insn_format20bc_return retval = new smaliParser.insn_format20bc_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token INSTRUCTION_FORMAT20bc291=null;
-		Token VERIFICATION_ERROR_TYPE292=null;
-		Token COMMA293=null;
-		ParserRuleReturnScope verification_error_reference294 =null;
+		Token INSTRUCTION_FORMAT20bc299=null;
+		Token VERIFICATION_ERROR_TYPE300=null;
+		Token COMMA301=null;
+		ParserRuleReturnScope verification_error_reference302 =null;
 
-		CommonTree INSTRUCTION_FORMAT20bc291_tree=null;
-		CommonTree VERIFICATION_ERROR_TYPE292_tree=null;
-		CommonTree COMMA293_tree=null;
+		CommonTree INSTRUCTION_FORMAT20bc299_tree=null;
+		CommonTree VERIFICATION_ERROR_TYPE300_tree=null;
+		CommonTree COMMA301_tree=null;
 		RewriteRuleTokenStream stream_INSTRUCTION_FORMAT20bc=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT20bc");
 		RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA");
 		RewriteRuleTokenStream stream_VERIFICATION_ERROR_TYPE=new RewriteRuleTokenStream(adaptor,"token VERIFICATION_ERROR_TYPE");
 		RewriteRuleSubtreeStream stream_verification_error_reference=new RewriteRuleSubtreeStream(adaptor,"rule verification_error_reference");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:889:3: ( INSTRUCTION_FORMAT20bc VERIFICATION_ERROR_TYPE COMMA verification_error_reference -> ^( I_STATEMENT_FORMAT20bc INSTRUCTION_FORMAT20bc VERIFICATION_ERROR_TYPE verification_error_reference ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:890:5: INSTRUCTION_FORMAT20bc VERIFICATION_ERROR_TYPE COMMA verification_error_reference
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:876:3: ( INSTRUCTION_FORMAT20bc VERIFICATION_ERROR_TYPE COMMA verification_error_reference -> ^( I_STATEMENT_FORMAT20bc INSTRUCTION_FORMAT20bc VERIFICATION_ERROR_TYPE verification_error_reference ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:877:5: INSTRUCTION_FORMAT20bc VERIFICATION_ERROR_TYPE COMMA verification_error_reference
 			{
-			INSTRUCTION_FORMAT20bc291=(Token)match(input,INSTRUCTION_FORMAT20bc,FOLLOW_INSTRUCTION_FORMAT20bc_in_insn_format20bc4231);  
-			stream_INSTRUCTION_FORMAT20bc.add(INSTRUCTION_FORMAT20bc291);
+			INSTRUCTION_FORMAT20bc299=(Token)match(input,INSTRUCTION_FORMAT20bc,FOLLOW_INSTRUCTION_FORMAT20bc_in_insn_format20bc4187);
+			stream_INSTRUCTION_FORMAT20bc.add(INSTRUCTION_FORMAT20bc299);
 
-			VERIFICATION_ERROR_TYPE292=(Token)match(input,VERIFICATION_ERROR_TYPE,FOLLOW_VERIFICATION_ERROR_TYPE_in_insn_format20bc4233);  
-			stream_VERIFICATION_ERROR_TYPE.add(VERIFICATION_ERROR_TYPE292);
+			VERIFICATION_ERROR_TYPE300=(Token)match(input,VERIFICATION_ERROR_TYPE,FOLLOW_VERIFICATION_ERROR_TYPE_in_insn_format20bc4189);
+			stream_VERIFICATION_ERROR_TYPE.add(VERIFICATION_ERROR_TYPE300);
 
-			COMMA293=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format20bc4235);  
-			stream_COMMA.add(COMMA293);
+			COMMA301=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format20bc4191);
+			stream_COMMA.add(COMMA301);
 
-			pushFollow(FOLLOW_verification_error_reference_in_insn_format20bc4237);
-			verification_error_reference294=verification_error_reference();
+			pushFollow(FOLLOW_verification_error_reference_in_insn_format20bc4193);
+			verification_error_reference302=verification_error_reference();
 			state._fsp--;
 
-			stream_verification_error_reference.add(verification_error_reference294.getTree());
+			stream_verification_error_reference.add(verification_error_reference302.getTree());
 
-			      if (!allowOdex || opcodes.getOpcodeByName((INSTRUCTION_FORMAT20bc291!=null?INSTRUCTION_FORMAT20bc291.getText():null)) == null || apiLevel >= 14) {
-			        throwOdexedInstructionException(input, (INSTRUCTION_FORMAT20bc291!=null?INSTRUCTION_FORMAT20bc291.getText():null));
+			      if (!allowOdex || opcodes.getOpcodeByName((INSTRUCTION_FORMAT20bc299!=null?INSTRUCTION_FORMAT20bc299.getText():null)) == null || apiLevel >= 14) {
+			        throwOdexedInstructionException(input, (INSTRUCTION_FORMAT20bc299!=null?INSTRUCTION_FORMAT20bc299.getText():null));
 			      }
-			    
+			
 			// AST REWRITE
-			// elements: VERIFICATION_ERROR_TYPE, verification_error_reference, INSTRUCTION_FORMAT20bc
-			// token labels: 
+			// elements: INSTRUCTION_FORMAT20bc, verification_error_reference, VERIFICATION_ERROR_TYPE
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 896:5: -> ^( I_STATEMENT_FORMAT20bc INSTRUCTION_FORMAT20bc VERIFICATION_ERROR_TYPE verification_error_reference )
+			// 883:5: -> ^( I_STATEMENT_FORMAT20bc INSTRUCTION_FORMAT20bc VERIFICATION_ERROR_TYPE verification_error_reference )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:896:8: ^( I_STATEMENT_FORMAT20bc INSTRUCTION_FORMAT20bc VERIFICATION_ERROR_TYPE verification_error_reference )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:883:8: ^( I_STATEMENT_FORMAT20bc INSTRUCTION_FORMAT20bc VERIFICATION_ERROR_TYPE verification_error_reference )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT20bc, "I_STATEMENT_FORMAT20bc"), root_1);
@@ -13294,46 +10615,46 @@
 
 
 	// $ANTLR start "insn_format20t"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:898:1: insn_format20t : INSTRUCTION_FORMAT20t label_ref -> ^( I_STATEMENT_FORMAT20t[$start, \"I_STATEMENT_FORMAT20t\"] INSTRUCTION_FORMAT20t label_ref ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:885:1: insn_format20t : INSTRUCTION_FORMAT20t label_ref -> ^( I_STATEMENT_FORMAT20t[$start, \"I_STATEMENT_FORMAT20t\"] INSTRUCTION_FORMAT20t label_ref ) ;
 	public final smaliParser.insn_format20t_return insn_format20t() throws RecognitionException {
 		smaliParser.insn_format20t_return retval = new smaliParser.insn_format20t_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token INSTRUCTION_FORMAT20t295=null;
-		ParserRuleReturnScope label_ref296 =null;
+		Token INSTRUCTION_FORMAT20t303=null;
+		ParserRuleReturnScope label_ref304 =null;
 
-		CommonTree INSTRUCTION_FORMAT20t295_tree=null;
+		CommonTree INSTRUCTION_FORMAT20t303_tree=null;
 		RewriteRuleTokenStream stream_INSTRUCTION_FORMAT20t=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT20t");
 		RewriteRuleSubtreeStream stream_label_ref=new RewriteRuleSubtreeStream(adaptor,"rule label_ref");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:899:3: ( INSTRUCTION_FORMAT20t label_ref -> ^( I_STATEMENT_FORMAT20t[$start, \"I_STATEMENT_FORMAT20t\"] INSTRUCTION_FORMAT20t label_ref ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:900:5: INSTRUCTION_FORMAT20t label_ref
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:886:3: ( INSTRUCTION_FORMAT20t label_ref -> ^( I_STATEMENT_FORMAT20t[$start, \"I_STATEMENT_FORMAT20t\"] INSTRUCTION_FORMAT20t label_ref ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:887:5: INSTRUCTION_FORMAT20t label_ref
 			{
-			INSTRUCTION_FORMAT20t295=(Token)match(input,INSTRUCTION_FORMAT20t,FOLLOW_INSTRUCTION_FORMAT20t_in_insn_format20t4274);  
-			stream_INSTRUCTION_FORMAT20t.add(INSTRUCTION_FORMAT20t295);
+			INSTRUCTION_FORMAT20t303=(Token)match(input,INSTRUCTION_FORMAT20t,FOLLOW_INSTRUCTION_FORMAT20t_in_insn_format20t4230);
+			stream_INSTRUCTION_FORMAT20t.add(INSTRUCTION_FORMAT20t303);
 
-			pushFollow(FOLLOW_label_ref_in_insn_format20t4276);
-			label_ref296=label_ref();
+			pushFollow(FOLLOW_label_ref_in_insn_format20t4232);
+			label_ref304=label_ref();
 			state._fsp--;
 
-			stream_label_ref.add(label_ref296.getTree());
+			stream_label_ref.add(label_ref304.getTree());
 			// AST REWRITE
 			// elements: INSTRUCTION_FORMAT20t, label_ref
-			// token labels: 
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 901:5: -> ^( I_STATEMENT_FORMAT20t[$start, \"I_STATEMENT_FORMAT20t\"] INSTRUCTION_FORMAT20t label_ref )
+			// 888:5: -> ^( I_STATEMENT_FORMAT20t[$start, \"I_STATEMENT_FORMAT20t\"] INSTRUCTION_FORMAT20t label_ref )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:901:8: ^( I_STATEMENT_FORMAT20t[$start, \"I_STATEMENT_FORMAT20t\"] INSTRUCTION_FORMAT20t label_ref )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:888:8: ^( I_STATEMENT_FORMAT20t[$start, \"I_STATEMENT_FORMAT20t\"] INSTRUCTION_FORMAT20t label_ref )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT20t, (retval.start), "I_STATEMENT_FORMAT20t"), root_1);
@@ -13376,64 +10697,64 @@
 
 
 	// $ANTLR start "insn_format21c_field"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:903:1: insn_format21c_field : INSTRUCTION_FORMAT21c_FIELD REGISTER COMMA fully_qualified_field -> ^( I_STATEMENT_FORMAT21c_FIELD[$start, \"I_STATEMENT_FORMAT21c_FIELD\"] INSTRUCTION_FORMAT21c_FIELD REGISTER fully_qualified_field ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:890:1: insn_format21c_field : INSTRUCTION_FORMAT21c_FIELD REGISTER COMMA field_reference -> ^( I_STATEMENT_FORMAT21c_FIELD[$start, \"I_STATEMENT_FORMAT21c_FIELD\"] INSTRUCTION_FORMAT21c_FIELD REGISTER field_reference ) ;
 	public final smaliParser.insn_format21c_field_return insn_format21c_field() throws RecognitionException {
 		smaliParser.insn_format21c_field_return retval = new smaliParser.insn_format21c_field_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token INSTRUCTION_FORMAT21c_FIELD297=null;
-		Token REGISTER298=null;
-		Token COMMA299=null;
-		ParserRuleReturnScope fully_qualified_field300 =null;
+		Token INSTRUCTION_FORMAT21c_FIELD305=null;
+		Token REGISTER306=null;
+		Token COMMA307=null;
+		ParserRuleReturnScope field_reference308 =null;
 
-		CommonTree INSTRUCTION_FORMAT21c_FIELD297_tree=null;
-		CommonTree REGISTER298_tree=null;
-		CommonTree COMMA299_tree=null;
+		CommonTree INSTRUCTION_FORMAT21c_FIELD305_tree=null;
+		CommonTree REGISTER306_tree=null;
+		CommonTree COMMA307_tree=null;
 		RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA");
 		RewriteRuleTokenStream stream_INSTRUCTION_FORMAT21c_FIELD=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT21c_FIELD");
 		RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER");
-		RewriteRuleSubtreeStream stream_fully_qualified_field=new RewriteRuleSubtreeStream(adaptor,"rule fully_qualified_field");
+		RewriteRuleSubtreeStream stream_field_reference=new RewriteRuleSubtreeStream(adaptor,"rule field_reference");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:904:3: ( INSTRUCTION_FORMAT21c_FIELD REGISTER COMMA fully_qualified_field -> ^( I_STATEMENT_FORMAT21c_FIELD[$start, \"I_STATEMENT_FORMAT21c_FIELD\"] INSTRUCTION_FORMAT21c_FIELD REGISTER fully_qualified_field ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:905:5: INSTRUCTION_FORMAT21c_FIELD REGISTER COMMA fully_qualified_field
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:891:3: ( INSTRUCTION_FORMAT21c_FIELD REGISTER COMMA field_reference -> ^( I_STATEMENT_FORMAT21c_FIELD[$start, \"I_STATEMENT_FORMAT21c_FIELD\"] INSTRUCTION_FORMAT21c_FIELD REGISTER field_reference ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:892:5: INSTRUCTION_FORMAT21c_FIELD REGISTER COMMA field_reference
 			{
-			INSTRUCTION_FORMAT21c_FIELD297=(Token)match(input,INSTRUCTION_FORMAT21c_FIELD,FOLLOW_INSTRUCTION_FORMAT21c_FIELD_in_insn_format21c_field4306);  
-			stream_INSTRUCTION_FORMAT21c_FIELD.add(INSTRUCTION_FORMAT21c_FIELD297);
+			INSTRUCTION_FORMAT21c_FIELD305=(Token)match(input,INSTRUCTION_FORMAT21c_FIELD,FOLLOW_INSTRUCTION_FORMAT21c_FIELD_in_insn_format21c_field4262);
+			stream_INSTRUCTION_FORMAT21c_FIELD.add(INSTRUCTION_FORMAT21c_FIELD305);
 
-			REGISTER298=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21c_field4308);  
-			stream_REGISTER.add(REGISTER298);
+			REGISTER306=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21c_field4264);
+			stream_REGISTER.add(REGISTER306);
 
-			COMMA299=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format21c_field4310);  
-			stream_COMMA.add(COMMA299);
+			COMMA307=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format21c_field4266);
+			stream_COMMA.add(COMMA307);
 
-			pushFollow(FOLLOW_fully_qualified_field_in_insn_format21c_field4312);
-			fully_qualified_field300=fully_qualified_field();
+			pushFollow(FOLLOW_field_reference_in_insn_format21c_field4268);
+			field_reference308=field_reference();
 			state._fsp--;
 
-			stream_fully_qualified_field.add(fully_qualified_field300.getTree());
+			stream_field_reference.add(field_reference308.getTree());
 			// AST REWRITE
-			// elements: fully_qualified_field, REGISTER, INSTRUCTION_FORMAT21c_FIELD
-			// token labels: 
+			// elements: field_reference, INSTRUCTION_FORMAT21c_FIELD, REGISTER
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 906:5: -> ^( I_STATEMENT_FORMAT21c_FIELD[$start, \"I_STATEMENT_FORMAT21c_FIELD\"] INSTRUCTION_FORMAT21c_FIELD REGISTER fully_qualified_field )
+			// 893:5: -> ^( I_STATEMENT_FORMAT21c_FIELD[$start, \"I_STATEMENT_FORMAT21c_FIELD\"] INSTRUCTION_FORMAT21c_FIELD REGISTER field_reference )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:906:8: ^( I_STATEMENT_FORMAT21c_FIELD[$start, \"I_STATEMENT_FORMAT21c_FIELD\"] INSTRUCTION_FORMAT21c_FIELD REGISTER fully_qualified_field )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:893:8: ^( I_STATEMENT_FORMAT21c_FIELD[$start, \"I_STATEMENT_FORMAT21c_FIELD\"] INSTRUCTION_FORMAT21c_FIELD REGISTER field_reference )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT21c_FIELD, (retval.start), "I_STATEMENT_FORMAT21c_FIELD"), root_1);
 				adaptor.addChild(root_1, stream_INSTRUCTION_FORMAT21c_FIELD.nextNode());
 				adaptor.addChild(root_1, stream_REGISTER.nextNode());
-				adaptor.addChild(root_1, stream_fully_qualified_field.nextTree());
+				adaptor.addChild(root_1, stream_field_reference.nextTree());
 				adaptor.addChild(root_0, root_1);
 				}
 
@@ -13471,69 +10792,69 @@
 
 
 	// $ANTLR start "insn_format21c_field_odex"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:908:1: insn_format21c_field_odex : INSTRUCTION_FORMAT21c_FIELD_ODEX REGISTER COMMA fully_qualified_field -> ^( I_STATEMENT_FORMAT21c_FIELD[$start, \"I_STATEMENT_FORMAT21c_FIELD\"] INSTRUCTION_FORMAT21c_FIELD_ODEX REGISTER fully_qualified_field ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:895:1: insn_format21c_field_odex : INSTRUCTION_FORMAT21c_FIELD_ODEX REGISTER COMMA field_reference -> ^( I_STATEMENT_FORMAT21c_FIELD[$start, \"I_STATEMENT_FORMAT21c_FIELD\"] INSTRUCTION_FORMAT21c_FIELD_ODEX REGISTER field_reference ) ;
 	public final smaliParser.insn_format21c_field_odex_return insn_format21c_field_odex() throws RecognitionException {
 		smaliParser.insn_format21c_field_odex_return retval = new smaliParser.insn_format21c_field_odex_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token INSTRUCTION_FORMAT21c_FIELD_ODEX301=null;
-		Token REGISTER302=null;
-		Token COMMA303=null;
-		ParserRuleReturnScope fully_qualified_field304 =null;
+		Token INSTRUCTION_FORMAT21c_FIELD_ODEX309=null;
+		Token REGISTER310=null;
+		Token COMMA311=null;
+		ParserRuleReturnScope field_reference312 =null;
 
-		CommonTree INSTRUCTION_FORMAT21c_FIELD_ODEX301_tree=null;
-		CommonTree REGISTER302_tree=null;
-		CommonTree COMMA303_tree=null;
+		CommonTree INSTRUCTION_FORMAT21c_FIELD_ODEX309_tree=null;
+		CommonTree REGISTER310_tree=null;
+		CommonTree COMMA311_tree=null;
 		RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA");
 		RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER");
 		RewriteRuleTokenStream stream_INSTRUCTION_FORMAT21c_FIELD_ODEX=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT21c_FIELD_ODEX");
-		RewriteRuleSubtreeStream stream_fully_qualified_field=new RewriteRuleSubtreeStream(adaptor,"rule fully_qualified_field");
+		RewriteRuleSubtreeStream stream_field_reference=new RewriteRuleSubtreeStream(adaptor,"rule field_reference");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:909:3: ( INSTRUCTION_FORMAT21c_FIELD_ODEX REGISTER COMMA fully_qualified_field -> ^( I_STATEMENT_FORMAT21c_FIELD[$start, \"I_STATEMENT_FORMAT21c_FIELD\"] INSTRUCTION_FORMAT21c_FIELD_ODEX REGISTER fully_qualified_field ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:910:5: INSTRUCTION_FORMAT21c_FIELD_ODEX REGISTER COMMA fully_qualified_field
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:896:3: ( INSTRUCTION_FORMAT21c_FIELD_ODEX REGISTER COMMA field_reference -> ^( I_STATEMENT_FORMAT21c_FIELD[$start, \"I_STATEMENT_FORMAT21c_FIELD\"] INSTRUCTION_FORMAT21c_FIELD_ODEX REGISTER field_reference ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:897:5: INSTRUCTION_FORMAT21c_FIELD_ODEX REGISTER COMMA field_reference
 			{
-			INSTRUCTION_FORMAT21c_FIELD_ODEX301=(Token)match(input,INSTRUCTION_FORMAT21c_FIELD_ODEX,FOLLOW_INSTRUCTION_FORMAT21c_FIELD_ODEX_in_insn_format21c_field_odex4344);  
-			stream_INSTRUCTION_FORMAT21c_FIELD_ODEX.add(INSTRUCTION_FORMAT21c_FIELD_ODEX301);
+			INSTRUCTION_FORMAT21c_FIELD_ODEX309=(Token)match(input,INSTRUCTION_FORMAT21c_FIELD_ODEX,FOLLOW_INSTRUCTION_FORMAT21c_FIELD_ODEX_in_insn_format21c_field_odex4300);
+			stream_INSTRUCTION_FORMAT21c_FIELD_ODEX.add(INSTRUCTION_FORMAT21c_FIELD_ODEX309);
 
-			REGISTER302=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21c_field_odex4346);  
-			stream_REGISTER.add(REGISTER302);
+			REGISTER310=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21c_field_odex4302);
+			stream_REGISTER.add(REGISTER310);
 
-			COMMA303=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format21c_field_odex4348);  
-			stream_COMMA.add(COMMA303);
+			COMMA311=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format21c_field_odex4304);
+			stream_COMMA.add(COMMA311);
 
-			pushFollow(FOLLOW_fully_qualified_field_in_insn_format21c_field_odex4350);
-			fully_qualified_field304=fully_qualified_field();
+			pushFollow(FOLLOW_field_reference_in_insn_format21c_field_odex4306);
+			field_reference312=field_reference();
 			state._fsp--;
 
-			stream_fully_qualified_field.add(fully_qualified_field304.getTree());
+			stream_field_reference.add(field_reference312.getTree());
 
-			      if (!allowOdex || opcodes.getOpcodeByName((INSTRUCTION_FORMAT21c_FIELD_ODEX301!=null?INSTRUCTION_FORMAT21c_FIELD_ODEX301.getText():null)) == null || apiLevel >= 14) {
-			        throwOdexedInstructionException(input, (INSTRUCTION_FORMAT21c_FIELD_ODEX301!=null?INSTRUCTION_FORMAT21c_FIELD_ODEX301.getText():null));
+			      if (!allowOdex || opcodes.getOpcodeByName((INSTRUCTION_FORMAT21c_FIELD_ODEX309!=null?INSTRUCTION_FORMAT21c_FIELD_ODEX309.getText():null)) == null || apiLevel >= 14) {
+			        throwOdexedInstructionException(input, (INSTRUCTION_FORMAT21c_FIELD_ODEX309!=null?INSTRUCTION_FORMAT21c_FIELD_ODEX309.getText():null));
 			      }
-			    
+			
 			// AST REWRITE
-			// elements: fully_qualified_field, REGISTER, INSTRUCTION_FORMAT21c_FIELD_ODEX
-			// token labels: 
+			// elements: REGISTER, INSTRUCTION_FORMAT21c_FIELD_ODEX, field_reference
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 916:5: -> ^( I_STATEMENT_FORMAT21c_FIELD[$start, \"I_STATEMENT_FORMAT21c_FIELD\"] INSTRUCTION_FORMAT21c_FIELD_ODEX REGISTER fully_qualified_field )
+			// 903:5: -> ^( I_STATEMENT_FORMAT21c_FIELD[$start, \"I_STATEMENT_FORMAT21c_FIELD\"] INSTRUCTION_FORMAT21c_FIELD_ODEX REGISTER field_reference )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:916:8: ^( I_STATEMENT_FORMAT21c_FIELD[$start, \"I_STATEMENT_FORMAT21c_FIELD\"] INSTRUCTION_FORMAT21c_FIELD_ODEX REGISTER fully_qualified_field )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:903:8: ^( I_STATEMENT_FORMAT21c_FIELD[$start, \"I_STATEMENT_FORMAT21c_FIELD\"] INSTRUCTION_FORMAT21c_FIELD_ODEX REGISTER field_reference )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT21c_FIELD, (retval.start), "I_STATEMENT_FORMAT21c_FIELD"), root_1);
 				adaptor.addChild(root_1, stream_INSTRUCTION_FORMAT21c_FIELD_ODEX.nextNode());
 				adaptor.addChild(root_1, stream_REGISTER.nextNode());
-				adaptor.addChild(root_1, stream_fully_qualified_field.nextTree());
+				adaptor.addChild(root_1, stream_field_reference.nextTree());
 				adaptor.addChild(root_0, root_1);
 				}
 
@@ -13571,57 +10892,57 @@
 
 
 	// $ANTLR start "insn_format21c_string"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:918:1: insn_format21c_string : INSTRUCTION_FORMAT21c_STRING REGISTER COMMA STRING_LITERAL -> ^( I_STATEMENT_FORMAT21c_STRING[$start, \"I_STATEMENT_FORMAT21c_STRING\"] INSTRUCTION_FORMAT21c_STRING REGISTER STRING_LITERAL ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:905:1: insn_format21c_string : INSTRUCTION_FORMAT21c_STRING REGISTER COMMA STRING_LITERAL -> ^( I_STATEMENT_FORMAT21c_STRING[$start, \"I_STATEMENT_FORMAT21c_STRING\"] INSTRUCTION_FORMAT21c_STRING REGISTER STRING_LITERAL ) ;
 	public final smaliParser.insn_format21c_string_return insn_format21c_string() throws RecognitionException {
 		smaliParser.insn_format21c_string_return retval = new smaliParser.insn_format21c_string_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token INSTRUCTION_FORMAT21c_STRING305=null;
-		Token REGISTER306=null;
-		Token COMMA307=null;
-		Token STRING_LITERAL308=null;
+		Token INSTRUCTION_FORMAT21c_STRING313=null;
+		Token REGISTER314=null;
+		Token COMMA315=null;
+		Token STRING_LITERAL316=null;
 
-		CommonTree INSTRUCTION_FORMAT21c_STRING305_tree=null;
-		CommonTree REGISTER306_tree=null;
-		CommonTree COMMA307_tree=null;
-		CommonTree STRING_LITERAL308_tree=null;
+		CommonTree INSTRUCTION_FORMAT21c_STRING313_tree=null;
+		CommonTree REGISTER314_tree=null;
+		CommonTree COMMA315_tree=null;
+		CommonTree STRING_LITERAL316_tree=null;
 		RewriteRuleTokenStream stream_INSTRUCTION_FORMAT21c_STRING=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT21c_STRING");
 		RewriteRuleTokenStream stream_STRING_LITERAL=new RewriteRuleTokenStream(adaptor,"token STRING_LITERAL");
 		RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA");
 		RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:919:3: ( INSTRUCTION_FORMAT21c_STRING REGISTER COMMA STRING_LITERAL -> ^( I_STATEMENT_FORMAT21c_STRING[$start, \"I_STATEMENT_FORMAT21c_STRING\"] INSTRUCTION_FORMAT21c_STRING REGISTER STRING_LITERAL ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:920:5: INSTRUCTION_FORMAT21c_STRING REGISTER COMMA STRING_LITERAL
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:906:3: ( INSTRUCTION_FORMAT21c_STRING REGISTER COMMA STRING_LITERAL -> ^( I_STATEMENT_FORMAT21c_STRING[$start, \"I_STATEMENT_FORMAT21c_STRING\"] INSTRUCTION_FORMAT21c_STRING REGISTER STRING_LITERAL ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:907:5: INSTRUCTION_FORMAT21c_STRING REGISTER COMMA STRING_LITERAL
 			{
-			INSTRUCTION_FORMAT21c_STRING305=(Token)match(input,INSTRUCTION_FORMAT21c_STRING,FOLLOW_INSTRUCTION_FORMAT21c_STRING_in_insn_format21c_string4388);  
-			stream_INSTRUCTION_FORMAT21c_STRING.add(INSTRUCTION_FORMAT21c_STRING305);
+			INSTRUCTION_FORMAT21c_STRING313=(Token)match(input,INSTRUCTION_FORMAT21c_STRING,FOLLOW_INSTRUCTION_FORMAT21c_STRING_in_insn_format21c_string4344);
+			stream_INSTRUCTION_FORMAT21c_STRING.add(INSTRUCTION_FORMAT21c_STRING313);
 
-			REGISTER306=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21c_string4390);  
-			stream_REGISTER.add(REGISTER306);
+			REGISTER314=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21c_string4346);
+			stream_REGISTER.add(REGISTER314);
 
-			COMMA307=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format21c_string4392);  
-			stream_COMMA.add(COMMA307);
+			COMMA315=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format21c_string4348);
+			stream_COMMA.add(COMMA315);
 
-			STRING_LITERAL308=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_insn_format21c_string4394);  
-			stream_STRING_LITERAL.add(STRING_LITERAL308);
+			STRING_LITERAL316=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_insn_format21c_string4350);
+			stream_STRING_LITERAL.add(STRING_LITERAL316);
 
 			// AST REWRITE
-			// elements: REGISTER, STRING_LITERAL, INSTRUCTION_FORMAT21c_STRING
-			// token labels: 
+			// elements: INSTRUCTION_FORMAT21c_STRING, REGISTER, STRING_LITERAL
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 921:5: -> ^( I_STATEMENT_FORMAT21c_STRING[$start, \"I_STATEMENT_FORMAT21c_STRING\"] INSTRUCTION_FORMAT21c_STRING REGISTER STRING_LITERAL )
+			// 908:5: -> ^( I_STATEMENT_FORMAT21c_STRING[$start, \"I_STATEMENT_FORMAT21c_STRING\"] INSTRUCTION_FORMAT21c_STRING REGISTER STRING_LITERAL )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:921:8: ^( I_STATEMENT_FORMAT21c_STRING[$start, \"I_STATEMENT_FORMAT21c_STRING\"] INSTRUCTION_FORMAT21c_STRING REGISTER STRING_LITERAL )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:908:8: ^( I_STATEMENT_FORMAT21c_STRING[$start, \"I_STATEMENT_FORMAT21c_STRING\"] INSTRUCTION_FORMAT21c_STRING REGISTER STRING_LITERAL )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT21c_STRING, (retval.start), "I_STATEMENT_FORMAT21c_STRING"), root_1);
@@ -13665,58 +10986,58 @@
 
 
 	// $ANTLR start "insn_format21c_type"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:923:1: insn_format21c_type : INSTRUCTION_FORMAT21c_TYPE REGISTER COMMA nonvoid_type_descriptor -> ^( I_STATEMENT_FORMAT21c_TYPE[$start, \"I_STATEMENT_FORMAT21c\"] INSTRUCTION_FORMAT21c_TYPE REGISTER nonvoid_type_descriptor ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:910:1: insn_format21c_type : INSTRUCTION_FORMAT21c_TYPE REGISTER COMMA nonvoid_type_descriptor -> ^( I_STATEMENT_FORMAT21c_TYPE[$start, \"I_STATEMENT_FORMAT21c\"] INSTRUCTION_FORMAT21c_TYPE REGISTER nonvoid_type_descriptor ) ;
 	public final smaliParser.insn_format21c_type_return insn_format21c_type() throws RecognitionException {
 		smaliParser.insn_format21c_type_return retval = new smaliParser.insn_format21c_type_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token INSTRUCTION_FORMAT21c_TYPE309=null;
-		Token REGISTER310=null;
-		Token COMMA311=null;
-		ParserRuleReturnScope nonvoid_type_descriptor312 =null;
+		Token INSTRUCTION_FORMAT21c_TYPE317=null;
+		Token REGISTER318=null;
+		Token COMMA319=null;
+		ParserRuleReturnScope nonvoid_type_descriptor320 =null;
 
-		CommonTree INSTRUCTION_FORMAT21c_TYPE309_tree=null;
-		CommonTree REGISTER310_tree=null;
-		CommonTree COMMA311_tree=null;
+		CommonTree INSTRUCTION_FORMAT21c_TYPE317_tree=null;
+		CommonTree REGISTER318_tree=null;
+		CommonTree COMMA319_tree=null;
 		RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA");
 		RewriteRuleTokenStream stream_INSTRUCTION_FORMAT21c_TYPE=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT21c_TYPE");
 		RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER");
 		RewriteRuleSubtreeStream stream_nonvoid_type_descriptor=new RewriteRuleSubtreeStream(adaptor,"rule nonvoid_type_descriptor");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:924:3: ( INSTRUCTION_FORMAT21c_TYPE REGISTER COMMA nonvoid_type_descriptor -> ^( I_STATEMENT_FORMAT21c_TYPE[$start, \"I_STATEMENT_FORMAT21c\"] INSTRUCTION_FORMAT21c_TYPE REGISTER nonvoid_type_descriptor ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:925:5: INSTRUCTION_FORMAT21c_TYPE REGISTER COMMA nonvoid_type_descriptor
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:911:3: ( INSTRUCTION_FORMAT21c_TYPE REGISTER COMMA nonvoid_type_descriptor -> ^( I_STATEMENT_FORMAT21c_TYPE[$start, \"I_STATEMENT_FORMAT21c\"] INSTRUCTION_FORMAT21c_TYPE REGISTER nonvoid_type_descriptor ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:912:5: INSTRUCTION_FORMAT21c_TYPE REGISTER COMMA nonvoid_type_descriptor
 			{
-			INSTRUCTION_FORMAT21c_TYPE309=(Token)match(input,INSTRUCTION_FORMAT21c_TYPE,FOLLOW_INSTRUCTION_FORMAT21c_TYPE_in_insn_format21c_type4426);  
-			stream_INSTRUCTION_FORMAT21c_TYPE.add(INSTRUCTION_FORMAT21c_TYPE309);
+			INSTRUCTION_FORMAT21c_TYPE317=(Token)match(input,INSTRUCTION_FORMAT21c_TYPE,FOLLOW_INSTRUCTION_FORMAT21c_TYPE_in_insn_format21c_type4382);
+			stream_INSTRUCTION_FORMAT21c_TYPE.add(INSTRUCTION_FORMAT21c_TYPE317);
 
-			REGISTER310=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21c_type4428);  
-			stream_REGISTER.add(REGISTER310);
+			REGISTER318=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21c_type4384);
+			stream_REGISTER.add(REGISTER318);
 
-			COMMA311=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format21c_type4430);  
-			stream_COMMA.add(COMMA311);
+			COMMA319=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format21c_type4386);
+			stream_COMMA.add(COMMA319);
 
-			pushFollow(FOLLOW_nonvoid_type_descriptor_in_insn_format21c_type4432);
-			nonvoid_type_descriptor312=nonvoid_type_descriptor();
+			pushFollow(FOLLOW_nonvoid_type_descriptor_in_insn_format21c_type4388);
+			nonvoid_type_descriptor320=nonvoid_type_descriptor();
 			state._fsp--;
 
-			stream_nonvoid_type_descriptor.add(nonvoid_type_descriptor312.getTree());
+			stream_nonvoid_type_descriptor.add(nonvoid_type_descriptor320.getTree());
 			// AST REWRITE
-			// elements: INSTRUCTION_FORMAT21c_TYPE, nonvoid_type_descriptor, REGISTER
-			// token labels: 
+			// elements: nonvoid_type_descriptor, REGISTER, INSTRUCTION_FORMAT21c_TYPE
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 926:5: -> ^( I_STATEMENT_FORMAT21c_TYPE[$start, \"I_STATEMENT_FORMAT21c\"] INSTRUCTION_FORMAT21c_TYPE REGISTER nonvoid_type_descriptor )
+			// 913:5: -> ^( I_STATEMENT_FORMAT21c_TYPE[$start, \"I_STATEMENT_FORMAT21c\"] INSTRUCTION_FORMAT21c_TYPE REGISTER nonvoid_type_descriptor )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:926:8: ^( I_STATEMENT_FORMAT21c_TYPE[$start, \"I_STATEMENT_FORMAT21c\"] INSTRUCTION_FORMAT21c_TYPE REGISTER nonvoid_type_descriptor )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:913:8: ^( I_STATEMENT_FORMAT21c_TYPE[$start, \"I_STATEMENT_FORMAT21c\"] INSTRUCTION_FORMAT21c_TYPE REGISTER nonvoid_type_descriptor )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT21c_TYPE, (retval.start), "I_STATEMENT_FORMAT21c"), root_1);
@@ -13760,58 +11081,58 @@
 
 
 	// $ANTLR start "insn_format21ih"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:928:1: insn_format21ih : INSTRUCTION_FORMAT21ih REGISTER COMMA fixed_32bit_literal -> ^( I_STATEMENT_FORMAT21ih[$start, \"I_STATEMENT_FORMAT21ih\"] INSTRUCTION_FORMAT21ih REGISTER fixed_32bit_literal ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:915:1: insn_format21ih : INSTRUCTION_FORMAT21ih REGISTER COMMA fixed_32bit_literal -> ^( I_STATEMENT_FORMAT21ih[$start, \"I_STATEMENT_FORMAT21ih\"] INSTRUCTION_FORMAT21ih REGISTER fixed_32bit_literal ) ;
 	public final smaliParser.insn_format21ih_return insn_format21ih() throws RecognitionException {
 		smaliParser.insn_format21ih_return retval = new smaliParser.insn_format21ih_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token INSTRUCTION_FORMAT21ih313=null;
-		Token REGISTER314=null;
-		Token COMMA315=null;
-		ParserRuleReturnScope fixed_32bit_literal316 =null;
+		Token INSTRUCTION_FORMAT21ih321=null;
+		Token REGISTER322=null;
+		Token COMMA323=null;
+		ParserRuleReturnScope fixed_32bit_literal324 =null;
 
-		CommonTree INSTRUCTION_FORMAT21ih313_tree=null;
-		CommonTree REGISTER314_tree=null;
-		CommonTree COMMA315_tree=null;
+		CommonTree INSTRUCTION_FORMAT21ih321_tree=null;
+		CommonTree REGISTER322_tree=null;
+		CommonTree COMMA323_tree=null;
 		RewriteRuleTokenStream stream_INSTRUCTION_FORMAT21ih=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT21ih");
 		RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA");
 		RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER");
 		RewriteRuleSubtreeStream stream_fixed_32bit_literal=new RewriteRuleSubtreeStream(adaptor,"rule fixed_32bit_literal");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:929:3: ( INSTRUCTION_FORMAT21ih REGISTER COMMA fixed_32bit_literal -> ^( I_STATEMENT_FORMAT21ih[$start, \"I_STATEMENT_FORMAT21ih\"] INSTRUCTION_FORMAT21ih REGISTER fixed_32bit_literal ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:930:5: INSTRUCTION_FORMAT21ih REGISTER COMMA fixed_32bit_literal
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:916:3: ( INSTRUCTION_FORMAT21ih REGISTER COMMA fixed_32bit_literal -> ^( I_STATEMENT_FORMAT21ih[$start, \"I_STATEMENT_FORMAT21ih\"] INSTRUCTION_FORMAT21ih REGISTER fixed_32bit_literal ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:917:5: INSTRUCTION_FORMAT21ih REGISTER COMMA fixed_32bit_literal
 			{
-			INSTRUCTION_FORMAT21ih313=(Token)match(input,INSTRUCTION_FORMAT21ih,FOLLOW_INSTRUCTION_FORMAT21ih_in_insn_format21ih4464);  
-			stream_INSTRUCTION_FORMAT21ih.add(INSTRUCTION_FORMAT21ih313);
+			INSTRUCTION_FORMAT21ih321=(Token)match(input,INSTRUCTION_FORMAT21ih,FOLLOW_INSTRUCTION_FORMAT21ih_in_insn_format21ih4420);
+			stream_INSTRUCTION_FORMAT21ih.add(INSTRUCTION_FORMAT21ih321);
 
-			REGISTER314=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21ih4466);  
-			stream_REGISTER.add(REGISTER314);
+			REGISTER322=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21ih4422);
+			stream_REGISTER.add(REGISTER322);
 
-			COMMA315=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format21ih4468);  
-			stream_COMMA.add(COMMA315);
+			COMMA323=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format21ih4424);
+			stream_COMMA.add(COMMA323);
 
-			pushFollow(FOLLOW_fixed_32bit_literal_in_insn_format21ih4470);
-			fixed_32bit_literal316=fixed_32bit_literal();
+			pushFollow(FOLLOW_fixed_32bit_literal_in_insn_format21ih4426);
+			fixed_32bit_literal324=fixed_32bit_literal();
 			state._fsp--;
 
-			stream_fixed_32bit_literal.add(fixed_32bit_literal316.getTree());
+			stream_fixed_32bit_literal.add(fixed_32bit_literal324.getTree());
 			// AST REWRITE
-			// elements: REGISTER, fixed_32bit_literal, INSTRUCTION_FORMAT21ih
-			// token labels: 
+			// elements: REGISTER, INSTRUCTION_FORMAT21ih, fixed_32bit_literal
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 931:5: -> ^( I_STATEMENT_FORMAT21ih[$start, \"I_STATEMENT_FORMAT21ih\"] INSTRUCTION_FORMAT21ih REGISTER fixed_32bit_literal )
+			// 918:5: -> ^( I_STATEMENT_FORMAT21ih[$start, \"I_STATEMENT_FORMAT21ih\"] INSTRUCTION_FORMAT21ih REGISTER fixed_32bit_literal )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:931:8: ^( I_STATEMENT_FORMAT21ih[$start, \"I_STATEMENT_FORMAT21ih\"] INSTRUCTION_FORMAT21ih REGISTER fixed_32bit_literal )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:918:8: ^( I_STATEMENT_FORMAT21ih[$start, \"I_STATEMENT_FORMAT21ih\"] INSTRUCTION_FORMAT21ih REGISTER fixed_32bit_literal )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT21ih, (retval.start), "I_STATEMENT_FORMAT21ih"), root_1);
@@ -13855,58 +11176,58 @@
 
 
 	// $ANTLR start "insn_format21lh"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:933:1: insn_format21lh : INSTRUCTION_FORMAT21lh REGISTER COMMA fixed_32bit_literal -> ^( I_STATEMENT_FORMAT21lh[$start, \"I_STATEMENT_FORMAT21lh\"] INSTRUCTION_FORMAT21lh REGISTER fixed_32bit_literal ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:920:1: insn_format21lh : INSTRUCTION_FORMAT21lh REGISTER COMMA fixed_32bit_literal -> ^( I_STATEMENT_FORMAT21lh[$start, \"I_STATEMENT_FORMAT21lh\"] INSTRUCTION_FORMAT21lh REGISTER fixed_32bit_literal ) ;
 	public final smaliParser.insn_format21lh_return insn_format21lh() throws RecognitionException {
 		smaliParser.insn_format21lh_return retval = new smaliParser.insn_format21lh_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token INSTRUCTION_FORMAT21lh317=null;
-		Token REGISTER318=null;
-		Token COMMA319=null;
-		ParserRuleReturnScope fixed_32bit_literal320 =null;
+		Token INSTRUCTION_FORMAT21lh325=null;
+		Token REGISTER326=null;
+		Token COMMA327=null;
+		ParserRuleReturnScope fixed_32bit_literal328 =null;
 
-		CommonTree INSTRUCTION_FORMAT21lh317_tree=null;
-		CommonTree REGISTER318_tree=null;
-		CommonTree COMMA319_tree=null;
+		CommonTree INSTRUCTION_FORMAT21lh325_tree=null;
+		CommonTree REGISTER326_tree=null;
+		CommonTree COMMA327_tree=null;
 		RewriteRuleTokenStream stream_INSTRUCTION_FORMAT21lh=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT21lh");
 		RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA");
 		RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER");
 		RewriteRuleSubtreeStream stream_fixed_32bit_literal=new RewriteRuleSubtreeStream(adaptor,"rule fixed_32bit_literal");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:934:3: ( INSTRUCTION_FORMAT21lh REGISTER COMMA fixed_32bit_literal -> ^( I_STATEMENT_FORMAT21lh[$start, \"I_STATEMENT_FORMAT21lh\"] INSTRUCTION_FORMAT21lh REGISTER fixed_32bit_literal ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:935:5: INSTRUCTION_FORMAT21lh REGISTER COMMA fixed_32bit_literal
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:921:3: ( INSTRUCTION_FORMAT21lh REGISTER COMMA fixed_32bit_literal -> ^( I_STATEMENT_FORMAT21lh[$start, \"I_STATEMENT_FORMAT21lh\"] INSTRUCTION_FORMAT21lh REGISTER fixed_32bit_literal ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:922:5: INSTRUCTION_FORMAT21lh REGISTER COMMA fixed_32bit_literal
 			{
-			INSTRUCTION_FORMAT21lh317=(Token)match(input,INSTRUCTION_FORMAT21lh,FOLLOW_INSTRUCTION_FORMAT21lh_in_insn_format21lh4502);  
-			stream_INSTRUCTION_FORMAT21lh.add(INSTRUCTION_FORMAT21lh317);
+			INSTRUCTION_FORMAT21lh325=(Token)match(input,INSTRUCTION_FORMAT21lh,FOLLOW_INSTRUCTION_FORMAT21lh_in_insn_format21lh4458);
+			stream_INSTRUCTION_FORMAT21lh.add(INSTRUCTION_FORMAT21lh325);
 
-			REGISTER318=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21lh4504);  
-			stream_REGISTER.add(REGISTER318);
+			REGISTER326=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21lh4460);
+			stream_REGISTER.add(REGISTER326);
 
-			COMMA319=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format21lh4506);  
-			stream_COMMA.add(COMMA319);
+			COMMA327=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format21lh4462);
+			stream_COMMA.add(COMMA327);
 
-			pushFollow(FOLLOW_fixed_32bit_literal_in_insn_format21lh4508);
-			fixed_32bit_literal320=fixed_32bit_literal();
+			pushFollow(FOLLOW_fixed_32bit_literal_in_insn_format21lh4464);
+			fixed_32bit_literal328=fixed_32bit_literal();
 			state._fsp--;
 
-			stream_fixed_32bit_literal.add(fixed_32bit_literal320.getTree());
+			stream_fixed_32bit_literal.add(fixed_32bit_literal328.getTree());
 			// AST REWRITE
-			// elements: REGISTER, fixed_32bit_literal, INSTRUCTION_FORMAT21lh
-			// token labels: 
+			// elements: INSTRUCTION_FORMAT21lh, fixed_32bit_literal, REGISTER
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 936:5: -> ^( I_STATEMENT_FORMAT21lh[$start, \"I_STATEMENT_FORMAT21lh\"] INSTRUCTION_FORMAT21lh REGISTER fixed_32bit_literal )
+			// 923:5: -> ^( I_STATEMENT_FORMAT21lh[$start, \"I_STATEMENT_FORMAT21lh\"] INSTRUCTION_FORMAT21lh REGISTER fixed_32bit_literal )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:936:8: ^( I_STATEMENT_FORMAT21lh[$start, \"I_STATEMENT_FORMAT21lh\"] INSTRUCTION_FORMAT21lh REGISTER fixed_32bit_literal )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:923:8: ^( I_STATEMENT_FORMAT21lh[$start, \"I_STATEMENT_FORMAT21lh\"] INSTRUCTION_FORMAT21lh REGISTER fixed_32bit_literal )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT21lh, (retval.start), "I_STATEMENT_FORMAT21lh"), root_1);
@@ -13950,58 +11271,58 @@
 
 
 	// $ANTLR start "insn_format21s"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:938:1: insn_format21s : INSTRUCTION_FORMAT21s REGISTER COMMA integral_literal -> ^( I_STATEMENT_FORMAT21s[$start, \"I_STATEMENT_FORMAT21s\"] INSTRUCTION_FORMAT21s REGISTER integral_literal ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:925:1: insn_format21s : INSTRUCTION_FORMAT21s REGISTER COMMA integral_literal -> ^( I_STATEMENT_FORMAT21s[$start, \"I_STATEMENT_FORMAT21s\"] INSTRUCTION_FORMAT21s REGISTER integral_literal ) ;
 	public final smaliParser.insn_format21s_return insn_format21s() throws RecognitionException {
 		smaliParser.insn_format21s_return retval = new smaliParser.insn_format21s_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token INSTRUCTION_FORMAT21s321=null;
-		Token REGISTER322=null;
-		Token COMMA323=null;
-		ParserRuleReturnScope integral_literal324 =null;
+		Token INSTRUCTION_FORMAT21s329=null;
+		Token REGISTER330=null;
+		Token COMMA331=null;
+		ParserRuleReturnScope integral_literal332 =null;
 
-		CommonTree INSTRUCTION_FORMAT21s321_tree=null;
-		CommonTree REGISTER322_tree=null;
-		CommonTree COMMA323_tree=null;
+		CommonTree INSTRUCTION_FORMAT21s329_tree=null;
+		CommonTree REGISTER330_tree=null;
+		CommonTree COMMA331_tree=null;
 		RewriteRuleTokenStream stream_INSTRUCTION_FORMAT21s=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT21s");
 		RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA");
 		RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER");
 		RewriteRuleSubtreeStream stream_integral_literal=new RewriteRuleSubtreeStream(adaptor,"rule integral_literal");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:939:3: ( INSTRUCTION_FORMAT21s REGISTER COMMA integral_literal -> ^( I_STATEMENT_FORMAT21s[$start, \"I_STATEMENT_FORMAT21s\"] INSTRUCTION_FORMAT21s REGISTER integral_literal ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:940:5: INSTRUCTION_FORMAT21s REGISTER COMMA integral_literal
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:926:3: ( INSTRUCTION_FORMAT21s REGISTER COMMA integral_literal -> ^( I_STATEMENT_FORMAT21s[$start, \"I_STATEMENT_FORMAT21s\"] INSTRUCTION_FORMAT21s REGISTER integral_literal ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:927:5: INSTRUCTION_FORMAT21s REGISTER COMMA integral_literal
 			{
-			INSTRUCTION_FORMAT21s321=(Token)match(input,INSTRUCTION_FORMAT21s,FOLLOW_INSTRUCTION_FORMAT21s_in_insn_format21s4540);  
-			stream_INSTRUCTION_FORMAT21s.add(INSTRUCTION_FORMAT21s321);
+			INSTRUCTION_FORMAT21s329=(Token)match(input,INSTRUCTION_FORMAT21s,FOLLOW_INSTRUCTION_FORMAT21s_in_insn_format21s4496);
+			stream_INSTRUCTION_FORMAT21s.add(INSTRUCTION_FORMAT21s329);
 
-			REGISTER322=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21s4542);  
-			stream_REGISTER.add(REGISTER322);
+			REGISTER330=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21s4498);
+			stream_REGISTER.add(REGISTER330);
 
-			COMMA323=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format21s4544);  
-			stream_COMMA.add(COMMA323);
+			COMMA331=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format21s4500);
+			stream_COMMA.add(COMMA331);
 
-			pushFollow(FOLLOW_integral_literal_in_insn_format21s4546);
-			integral_literal324=integral_literal();
+			pushFollow(FOLLOW_integral_literal_in_insn_format21s4502);
+			integral_literal332=integral_literal();
 			state._fsp--;
 
-			stream_integral_literal.add(integral_literal324.getTree());
+			stream_integral_literal.add(integral_literal332.getTree());
 			// AST REWRITE
 			// elements: INSTRUCTION_FORMAT21s, integral_literal, REGISTER
-			// token labels: 
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 941:5: -> ^( I_STATEMENT_FORMAT21s[$start, \"I_STATEMENT_FORMAT21s\"] INSTRUCTION_FORMAT21s REGISTER integral_literal )
+			// 928:5: -> ^( I_STATEMENT_FORMAT21s[$start, \"I_STATEMENT_FORMAT21s\"] INSTRUCTION_FORMAT21s REGISTER integral_literal )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:941:8: ^( I_STATEMENT_FORMAT21s[$start, \"I_STATEMENT_FORMAT21s\"] INSTRUCTION_FORMAT21s REGISTER integral_literal )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:928:8: ^( I_STATEMENT_FORMAT21s[$start, \"I_STATEMENT_FORMAT21s\"] INSTRUCTION_FORMAT21s REGISTER integral_literal )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT21s, (retval.start), "I_STATEMENT_FORMAT21s"), root_1);
@@ -14045,58 +11366,58 @@
 
 
 	// $ANTLR start "insn_format21t"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:943:1: insn_format21t : INSTRUCTION_FORMAT21t REGISTER COMMA label_ref -> ^( I_STATEMENT_FORMAT21t[$start, \"I_STATEMENT_FORMAT21t\"] INSTRUCTION_FORMAT21t REGISTER label_ref ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:930:1: insn_format21t : INSTRUCTION_FORMAT21t REGISTER COMMA label_ref -> ^( I_STATEMENT_FORMAT21t[$start, \"I_STATEMENT_FORMAT21t\"] INSTRUCTION_FORMAT21t REGISTER label_ref ) ;
 	public final smaliParser.insn_format21t_return insn_format21t() throws RecognitionException {
 		smaliParser.insn_format21t_return retval = new smaliParser.insn_format21t_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token INSTRUCTION_FORMAT21t325=null;
-		Token REGISTER326=null;
-		Token COMMA327=null;
-		ParserRuleReturnScope label_ref328 =null;
+		Token INSTRUCTION_FORMAT21t333=null;
+		Token REGISTER334=null;
+		Token COMMA335=null;
+		ParserRuleReturnScope label_ref336 =null;
 
-		CommonTree INSTRUCTION_FORMAT21t325_tree=null;
-		CommonTree REGISTER326_tree=null;
-		CommonTree COMMA327_tree=null;
+		CommonTree INSTRUCTION_FORMAT21t333_tree=null;
+		CommonTree REGISTER334_tree=null;
+		CommonTree COMMA335_tree=null;
 		RewriteRuleTokenStream stream_INSTRUCTION_FORMAT21t=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT21t");
 		RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA");
 		RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER");
 		RewriteRuleSubtreeStream stream_label_ref=new RewriteRuleSubtreeStream(adaptor,"rule label_ref");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:944:3: ( INSTRUCTION_FORMAT21t REGISTER COMMA label_ref -> ^( I_STATEMENT_FORMAT21t[$start, \"I_STATEMENT_FORMAT21t\"] INSTRUCTION_FORMAT21t REGISTER label_ref ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:945:5: INSTRUCTION_FORMAT21t REGISTER COMMA label_ref
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:931:3: ( INSTRUCTION_FORMAT21t REGISTER COMMA label_ref -> ^( I_STATEMENT_FORMAT21t[$start, \"I_STATEMENT_FORMAT21t\"] INSTRUCTION_FORMAT21t REGISTER label_ref ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:932:5: INSTRUCTION_FORMAT21t REGISTER COMMA label_ref
 			{
-			INSTRUCTION_FORMAT21t325=(Token)match(input,INSTRUCTION_FORMAT21t,FOLLOW_INSTRUCTION_FORMAT21t_in_insn_format21t4578);  
-			stream_INSTRUCTION_FORMAT21t.add(INSTRUCTION_FORMAT21t325);
+			INSTRUCTION_FORMAT21t333=(Token)match(input,INSTRUCTION_FORMAT21t,FOLLOW_INSTRUCTION_FORMAT21t_in_insn_format21t4534);
+			stream_INSTRUCTION_FORMAT21t.add(INSTRUCTION_FORMAT21t333);
 
-			REGISTER326=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21t4580);  
-			stream_REGISTER.add(REGISTER326);
+			REGISTER334=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21t4536);
+			stream_REGISTER.add(REGISTER334);
 
-			COMMA327=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format21t4582);  
-			stream_COMMA.add(COMMA327);
+			COMMA335=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format21t4538);
+			stream_COMMA.add(COMMA335);
 
-			pushFollow(FOLLOW_label_ref_in_insn_format21t4584);
-			label_ref328=label_ref();
+			pushFollow(FOLLOW_label_ref_in_insn_format21t4540);
+			label_ref336=label_ref();
 			state._fsp--;
 
-			stream_label_ref.add(label_ref328.getTree());
+			stream_label_ref.add(label_ref336.getTree());
 			// AST REWRITE
-			// elements: INSTRUCTION_FORMAT21t, label_ref, REGISTER
-			// token labels: 
+			// elements: label_ref, REGISTER, INSTRUCTION_FORMAT21t
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 946:5: -> ^( I_STATEMENT_FORMAT21t[$start, \"I_STATEMENT_FORMAT21t\"] INSTRUCTION_FORMAT21t REGISTER label_ref )
+			// 933:5: -> ^( I_STATEMENT_FORMAT21t[$start, \"I_STATEMENT_FORMAT21t\"] INSTRUCTION_FORMAT21t REGISTER label_ref )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:946:8: ^( I_STATEMENT_FORMAT21t[$start, \"I_STATEMENT_FORMAT21t\"] INSTRUCTION_FORMAT21t REGISTER label_ref )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:933:8: ^( I_STATEMENT_FORMAT21t[$start, \"I_STATEMENT_FORMAT21t\"] INSTRUCTION_FORMAT21t REGISTER label_ref )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT21t, (retval.start), "I_STATEMENT_FORMAT21t"), root_1);
@@ -14140,68 +11461,68 @@
 
 
 	// $ANTLR start "insn_format22b"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:948:1: insn_format22b : INSTRUCTION_FORMAT22b REGISTER COMMA REGISTER COMMA integral_literal -> ^( I_STATEMENT_FORMAT22b[$start, \"I_STATEMENT_FORMAT22b\"] INSTRUCTION_FORMAT22b REGISTER REGISTER integral_literal ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:935:1: insn_format22b : INSTRUCTION_FORMAT22b REGISTER COMMA REGISTER COMMA integral_literal -> ^( I_STATEMENT_FORMAT22b[$start, \"I_STATEMENT_FORMAT22b\"] INSTRUCTION_FORMAT22b REGISTER REGISTER integral_literal ) ;
 	public final smaliParser.insn_format22b_return insn_format22b() throws RecognitionException {
 		smaliParser.insn_format22b_return retval = new smaliParser.insn_format22b_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token INSTRUCTION_FORMAT22b329=null;
-		Token REGISTER330=null;
-		Token COMMA331=null;
-		Token REGISTER332=null;
-		Token COMMA333=null;
-		ParserRuleReturnScope integral_literal334 =null;
+		Token INSTRUCTION_FORMAT22b337=null;
+		Token REGISTER338=null;
+		Token COMMA339=null;
+		Token REGISTER340=null;
+		Token COMMA341=null;
+		ParserRuleReturnScope integral_literal342 =null;
 
-		CommonTree INSTRUCTION_FORMAT22b329_tree=null;
-		CommonTree REGISTER330_tree=null;
-		CommonTree COMMA331_tree=null;
-		CommonTree REGISTER332_tree=null;
-		CommonTree COMMA333_tree=null;
+		CommonTree INSTRUCTION_FORMAT22b337_tree=null;
+		CommonTree REGISTER338_tree=null;
+		CommonTree COMMA339_tree=null;
+		CommonTree REGISTER340_tree=null;
+		CommonTree COMMA341_tree=null;
 		RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA");
 		RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER");
 		RewriteRuleTokenStream stream_INSTRUCTION_FORMAT22b=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT22b");
 		RewriteRuleSubtreeStream stream_integral_literal=new RewriteRuleSubtreeStream(adaptor,"rule integral_literal");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:949:3: ( INSTRUCTION_FORMAT22b REGISTER COMMA REGISTER COMMA integral_literal -> ^( I_STATEMENT_FORMAT22b[$start, \"I_STATEMENT_FORMAT22b\"] INSTRUCTION_FORMAT22b REGISTER REGISTER integral_literal ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:950:5: INSTRUCTION_FORMAT22b REGISTER COMMA REGISTER COMMA integral_literal
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:936:3: ( INSTRUCTION_FORMAT22b REGISTER COMMA REGISTER COMMA integral_literal -> ^( I_STATEMENT_FORMAT22b[$start, \"I_STATEMENT_FORMAT22b\"] INSTRUCTION_FORMAT22b REGISTER REGISTER integral_literal ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:937:5: INSTRUCTION_FORMAT22b REGISTER COMMA REGISTER COMMA integral_literal
 			{
-			INSTRUCTION_FORMAT22b329=(Token)match(input,INSTRUCTION_FORMAT22b,FOLLOW_INSTRUCTION_FORMAT22b_in_insn_format22b4616);  
-			stream_INSTRUCTION_FORMAT22b.add(INSTRUCTION_FORMAT22b329);
+			INSTRUCTION_FORMAT22b337=(Token)match(input,INSTRUCTION_FORMAT22b,FOLLOW_INSTRUCTION_FORMAT22b_in_insn_format22b4572);
+			stream_INSTRUCTION_FORMAT22b.add(INSTRUCTION_FORMAT22b337);
 
-			REGISTER330=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22b4618);  
-			stream_REGISTER.add(REGISTER330);
+			REGISTER338=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22b4574);
+			stream_REGISTER.add(REGISTER338);
 
-			COMMA331=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22b4620);  
-			stream_COMMA.add(COMMA331);
+			COMMA339=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22b4576);
+			stream_COMMA.add(COMMA339);
 
-			REGISTER332=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22b4622);  
-			stream_REGISTER.add(REGISTER332);
+			REGISTER340=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22b4578);
+			stream_REGISTER.add(REGISTER340);
 
-			COMMA333=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22b4624);  
-			stream_COMMA.add(COMMA333);
+			COMMA341=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22b4580);
+			stream_COMMA.add(COMMA341);
 
-			pushFollow(FOLLOW_integral_literal_in_insn_format22b4626);
-			integral_literal334=integral_literal();
+			pushFollow(FOLLOW_integral_literal_in_insn_format22b4582);
+			integral_literal342=integral_literal();
 			state._fsp--;
 
-			stream_integral_literal.add(integral_literal334.getTree());
+			stream_integral_literal.add(integral_literal342.getTree());
 			// AST REWRITE
-			// elements: REGISTER, REGISTER, integral_literal, INSTRUCTION_FORMAT22b
-			// token labels: 
+			// elements: integral_literal, REGISTER, INSTRUCTION_FORMAT22b, REGISTER
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 951:5: -> ^( I_STATEMENT_FORMAT22b[$start, \"I_STATEMENT_FORMAT22b\"] INSTRUCTION_FORMAT22b REGISTER REGISTER integral_literal )
+			// 938:5: -> ^( I_STATEMENT_FORMAT22b[$start, \"I_STATEMENT_FORMAT22b\"] INSTRUCTION_FORMAT22b REGISTER REGISTER integral_literal )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:951:8: ^( I_STATEMENT_FORMAT22b[$start, \"I_STATEMENT_FORMAT22b\"] INSTRUCTION_FORMAT22b REGISTER REGISTER integral_literal )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:938:8: ^( I_STATEMENT_FORMAT22b[$start, \"I_STATEMENT_FORMAT22b\"] INSTRUCTION_FORMAT22b REGISTER REGISTER integral_literal )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT22b, (retval.start), "I_STATEMENT_FORMAT22b"), root_1);
@@ -14246,75 +11567,75 @@
 
 
 	// $ANTLR start "insn_format22c_field"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:953:1: insn_format22c_field : INSTRUCTION_FORMAT22c_FIELD REGISTER COMMA REGISTER COMMA fully_qualified_field -> ^( I_STATEMENT_FORMAT22c_FIELD[$start, \"I_STATEMENT_FORMAT22c_FIELD\"] INSTRUCTION_FORMAT22c_FIELD REGISTER REGISTER fully_qualified_field ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:940:1: insn_format22c_field : INSTRUCTION_FORMAT22c_FIELD REGISTER COMMA REGISTER COMMA field_reference -> ^( I_STATEMENT_FORMAT22c_FIELD[$start, \"I_STATEMENT_FORMAT22c_FIELD\"] INSTRUCTION_FORMAT22c_FIELD REGISTER REGISTER field_reference ) ;
 	public final smaliParser.insn_format22c_field_return insn_format22c_field() throws RecognitionException {
 		smaliParser.insn_format22c_field_return retval = new smaliParser.insn_format22c_field_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token INSTRUCTION_FORMAT22c_FIELD335=null;
-		Token REGISTER336=null;
-		Token COMMA337=null;
-		Token REGISTER338=null;
-		Token COMMA339=null;
-		ParserRuleReturnScope fully_qualified_field340 =null;
+		Token INSTRUCTION_FORMAT22c_FIELD343=null;
+		Token REGISTER344=null;
+		Token COMMA345=null;
+		Token REGISTER346=null;
+		Token COMMA347=null;
+		ParserRuleReturnScope field_reference348 =null;
 
-		CommonTree INSTRUCTION_FORMAT22c_FIELD335_tree=null;
-		CommonTree REGISTER336_tree=null;
-		CommonTree COMMA337_tree=null;
-		CommonTree REGISTER338_tree=null;
-		CommonTree COMMA339_tree=null;
+		CommonTree INSTRUCTION_FORMAT22c_FIELD343_tree=null;
+		CommonTree REGISTER344_tree=null;
+		CommonTree COMMA345_tree=null;
+		CommonTree REGISTER346_tree=null;
+		CommonTree COMMA347_tree=null;
 		RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA");
 		RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER");
 		RewriteRuleTokenStream stream_INSTRUCTION_FORMAT22c_FIELD=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT22c_FIELD");
-		RewriteRuleSubtreeStream stream_fully_qualified_field=new RewriteRuleSubtreeStream(adaptor,"rule fully_qualified_field");
+		RewriteRuleSubtreeStream stream_field_reference=new RewriteRuleSubtreeStream(adaptor,"rule field_reference");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:954:3: ( INSTRUCTION_FORMAT22c_FIELD REGISTER COMMA REGISTER COMMA fully_qualified_field -> ^( I_STATEMENT_FORMAT22c_FIELD[$start, \"I_STATEMENT_FORMAT22c_FIELD\"] INSTRUCTION_FORMAT22c_FIELD REGISTER REGISTER fully_qualified_field ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:955:5: INSTRUCTION_FORMAT22c_FIELD REGISTER COMMA REGISTER COMMA fully_qualified_field
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:941:3: ( INSTRUCTION_FORMAT22c_FIELD REGISTER COMMA REGISTER COMMA field_reference -> ^( I_STATEMENT_FORMAT22c_FIELD[$start, \"I_STATEMENT_FORMAT22c_FIELD\"] INSTRUCTION_FORMAT22c_FIELD REGISTER REGISTER field_reference ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:942:5: INSTRUCTION_FORMAT22c_FIELD REGISTER COMMA REGISTER COMMA field_reference
 			{
-			INSTRUCTION_FORMAT22c_FIELD335=(Token)match(input,INSTRUCTION_FORMAT22c_FIELD,FOLLOW_INSTRUCTION_FORMAT22c_FIELD_in_insn_format22c_field4660);  
-			stream_INSTRUCTION_FORMAT22c_FIELD.add(INSTRUCTION_FORMAT22c_FIELD335);
+			INSTRUCTION_FORMAT22c_FIELD343=(Token)match(input,INSTRUCTION_FORMAT22c_FIELD,FOLLOW_INSTRUCTION_FORMAT22c_FIELD_in_insn_format22c_field4616);
+			stream_INSTRUCTION_FORMAT22c_FIELD.add(INSTRUCTION_FORMAT22c_FIELD343);
 
-			REGISTER336=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22c_field4662);  
-			stream_REGISTER.add(REGISTER336);
+			REGISTER344=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22c_field4618);
+			stream_REGISTER.add(REGISTER344);
 
-			COMMA337=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22c_field4664);  
-			stream_COMMA.add(COMMA337);
+			COMMA345=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22c_field4620);
+			stream_COMMA.add(COMMA345);
 
-			REGISTER338=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22c_field4666);  
-			stream_REGISTER.add(REGISTER338);
+			REGISTER346=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22c_field4622);
+			stream_REGISTER.add(REGISTER346);
 
-			COMMA339=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22c_field4668);  
-			stream_COMMA.add(COMMA339);
+			COMMA347=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22c_field4624);
+			stream_COMMA.add(COMMA347);
 
-			pushFollow(FOLLOW_fully_qualified_field_in_insn_format22c_field4670);
-			fully_qualified_field340=fully_qualified_field();
+			pushFollow(FOLLOW_field_reference_in_insn_format22c_field4626);
+			field_reference348=field_reference();
 			state._fsp--;
 
-			stream_fully_qualified_field.add(fully_qualified_field340.getTree());
+			stream_field_reference.add(field_reference348.getTree());
 			// AST REWRITE
-			// elements: fully_qualified_field, INSTRUCTION_FORMAT22c_FIELD, REGISTER, REGISTER
-			// token labels: 
+			// elements: REGISTER, field_reference, INSTRUCTION_FORMAT22c_FIELD, REGISTER
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 956:5: -> ^( I_STATEMENT_FORMAT22c_FIELD[$start, \"I_STATEMENT_FORMAT22c_FIELD\"] INSTRUCTION_FORMAT22c_FIELD REGISTER REGISTER fully_qualified_field )
+			// 943:5: -> ^( I_STATEMENT_FORMAT22c_FIELD[$start, \"I_STATEMENT_FORMAT22c_FIELD\"] INSTRUCTION_FORMAT22c_FIELD REGISTER REGISTER field_reference )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:956:8: ^( I_STATEMENT_FORMAT22c_FIELD[$start, \"I_STATEMENT_FORMAT22c_FIELD\"] INSTRUCTION_FORMAT22c_FIELD REGISTER REGISTER fully_qualified_field )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:943:8: ^( I_STATEMENT_FORMAT22c_FIELD[$start, \"I_STATEMENT_FORMAT22c_FIELD\"] INSTRUCTION_FORMAT22c_FIELD REGISTER REGISTER field_reference )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT22c_FIELD, (retval.start), "I_STATEMENT_FORMAT22c_FIELD"), root_1);
 				adaptor.addChild(root_1, stream_INSTRUCTION_FORMAT22c_FIELD.nextNode());
 				adaptor.addChild(root_1, stream_REGISTER.nextNode());
 				adaptor.addChild(root_1, stream_REGISTER.nextNode());
-				adaptor.addChild(root_1, stream_fully_qualified_field.nextTree());
+				adaptor.addChild(root_1, stream_field_reference.nextTree());
 				adaptor.addChild(root_0, root_1);
 				}
 
@@ -14352,80 +11673,80 @@
 
 
 	// $ANTLR start "insn_format22c_field_odex"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:958:1: insn_format22c_field_odex : INSTRUCTION_FORMAT22c_FIELD_ODEX REGISTER COMMA REGISTER COMMA fully_qualified_field -> ^( I_STATEMENT_FORMAT22c_FIELD[$start, \"I_STATEMENT_FORMAT22c_FIELD\"] INSTRUCTION_FORMAT22c_FIELD_ODEX REGISTER REGISTER fully_qualified_field ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:945:1: insn_format22c_field_odex : INSTRUCTION_FORMAT22c_FIELD_ODEX REGISTER COMMA REGISTER COMMA field_reference -> ^( I_STATEMENT_FORMAT22c_FIELD[$start, \"I_STATEMENT_FORMAT22c_FIELD\"] INSTRUCTION_FORMAT22c_FIELD_ODEX REGISTER REGISTER field_reference ) ;
 	public final smaliParser.insn_format22c_field_odex_return insn_format22c_field_odex() throws RecognitionException {
 		smaliParser.insn_format22c_field_odex_return retval = new smaliParser.insn_format22c_field_odex_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token INSTRUCTION_FORMAT22c_FIELD_ODEX341=null;
-		Token REGISTER342=null;
-		Token COMMA343=null;
-		Token REGISTER344=null;
-		Token COMMA345=null;
-		ParserRuleReturnScope fully_qualified_field346 =null;
+		Token INSTRUCTION_FORMAT22c_FIELD_ODEX349=null;
+		Token REGISTER350=null;
+		Token COMMA351=null;
+		Token REGISTER352=null;
+		Token COMMA353=null;
+		ParserRuleReturnScope field_reference354 =null;
 
-		CommonTree INSTRUCTION_FORMAT22c_FIELD_ODEX341_tree=null;
-		CommonTree REGISTER342_tree=null;
-		CommonTree COMMA343_tree=null;
-		CommonTree REGISTER344_tree=null;
-		CommonTree COMMA345_tree=null;
+		CommonTree INSTRUCTION_FORMAT22c_FIELD_ODEX349_tree=null;
+		CommonTree REGISTER350_tree=null;
+		CommonTree COMMA351_tree=null;
+		CommonTree REGISTER352_tree=null;
+		CommonTree COMMA353_tree=null;
 		RewriteRuleTokenStream stream_INSTRUCTION_FORMAT22c_FIELD_ODEX=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT22c_FIELD_ODEX");
 		RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA");
 		RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER");
-		RewriteRuleSubtreeStream stream_fully_qualified_field=new RewriteRuleSubtreeStream(adaptor,"rule fully_qualified_field");
+		RewriteRuleSubtreeStream stream_field_reference=new RewriteRuleSubtreeStream(adaptor,"rule field_reference");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:959:3: ( INSTRUCTION_FORMAT22c_FIELD_ODEX REGISTER COMMA REGISTER COMMA fully_qualified_field -> ^( I_STATEMENT_FORMAT22c_FIELD[$start, \"I_STATEMENT_FORMAT22c_FIELD\"] INSTRUCTION_FORMAT22c_FIELD_ODEX REGISTER REGISTER fully_qualified_field ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:960:5: INSTRUCTION_FORMAT22c_FIELD_ODEX REGISTER COMMA REGISTER COMMA fully_qualified_field
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:946:3: ( INSTRUCTION_FORMAT22c_FIELD_ODEX REGISTER COMMA REGISTER COMMA field_reference -> ^( I_STATEMENT_FORMAT22c_FIELD[$start, \"I_STATEMENT_FORMAT22c_FIELD\"] INSTRUCTION_FORMAT22c_FIELD_ODEX REGISTER REGISTER field_reference ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:947:5: INSTRUCTION_FORMAT22c_FIELD_ODEX REGISTER COMMA REGISTER COMMA field_reference
 			{
-			INSTRUCTION_FORMAT22c_FIELD_ODEX341=(Token)match(input,INSTRUCTION_FORMAT22c_FIELD_ODEX,FOLLOW_INSTRUCTION_FORMAT22c_FIELD_ODEX_in_insn_format22c_field_odex4704);  
-			stream_INSTRUCTION_FORMAT22c_FIELD_ODEX.add(INSTRUCTION_FORMAT22c_FIELD_ODEX341);
+			INSTRUCTION_FORMAT22c_FIELD_ODEX349=(Token)match(input,INSTRUCTION_FORMAT22c_FIELD_ODEX,FOLLOW_INSTRUCTION_FORMAT22c_FIELD_ODEX_in_insn_format22c_field_odex4660);
+			stream_INSTRUCTION_FORMAT22c_FIELD_ODEX.add(INSTRUCTION_FORMAT22c_FIELD_ODEX349);
 
-			REGISTER342=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22c_field_odex4706);  
-			stream_REGISTER.add(REGISTER342);
+			REGISTER350=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22c_field_odex4662);
+			stream_REGISTER.add(REGISTER350);
 
-			COMMA343=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22c_field_odex4708);  
-			stream_COMMA.add(COMMA343);
+			COMMA351=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22c_field_odex4664);
+			stream_COMMA.add(COMMA351);
 
-			REGISTER344=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22c_field_odex4710);  
-			stream_REGISTER.add(REGISTER344);
+			REGISTER352=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22c_field_odex4666);
+			stream_REGISTER.add(REGISTER352);
 
-			COMMA345=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22c_field_odex4712);  
-			stream_COMMA.add(COMMA345);
+			COMMA353=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22c_field_odex4668);
+			stream_COMMA.add(COMMA353);
 
-			pushFollow(FOLLOW_fully_qualified_field_in_insn_format22c_field_odex4714);
-			fully_qualified_field346=fully_qualified_field();
+			pushFollow(FOLLOW_field_reference_in_insn_format22c_field_odex4670);
+			field_reference354=field_reference();
 			state._fsp--;
 
-			stream_fully_qualified_field.add(fully_qualified_field346.getTree());
+			stream_field_reference.add(field_reference354.getTree());
 
-			      if (!allowOdex || opcodes.getOpcodeByName((INSTRUCTION_FORMAT22c_FIELD_ODEX341!=null?INSTRUCTION_FORMAT22c_FIELD_ODEX341.getText():null)) == null || apiLevel >= 14) {
-			        throwOdexedInstructionException(input, (INSTRUCTION_FORMAT22c_FIELD_ODEX341!=null?INSTRUCTION_FORMAT22c_FIELD_ODEX341.getText():null));
+			      if (!allowOdex || opcodes.getOpcodeByName((INSTRUCTION_FORMAT22c_FIELD_ODEX349!=null?INSTRUCTION_FORMAT22c_FIELD_ODEX349.getText():null)) == null || apiLevel >= 14) {
+			        throwOdexedInstructionException(input, (INSTRUCTION_FORMAT22c_FIELD_ODEX349!=null?INSTRUCTION_FORMAT22c_FIELD_ODEX349.getText():null));
 			      }
-			    
+			
 			// AST REWRITE
-			// elements: REGISTER, INSTRUCTION_FORMAT22c_FIELD_ODEX, REGISTER, fully_qualified_field
-			// token labels: 
+			// elements: REGISTER, field_reference, REGISTER, INSTRUCTION_FORMAT22c_FIELD_ODEX
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 966:5: -> ^( I_STATEMENT_FORMAT22c_FIELD[$start, \"I_STATEMENT_FORMAT22c_FIELD\"] INSTRUCTION_FORMAT22c_FIELD_ODEX REGISTER REGISTER fully_qualified_field )
+			// 953:5: -> ^( I_STATEMENT_FORMAT22c_FIELD[$start, \"I_STATEMENT_FORMAT22c_FIELD\"] INSTRUCTION_FORMAT22c_FIELD_ODEX REGISTER REGISTER field_reference )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:966:8: ^( I_STATEMENT_FORMAT22c_FIELD[$start, \"I_STATEMENT_FORMAT22c_FIELD\"] INSTRUCTION_FORMAT22c_FIELD_ODEX REGISTER REGISTER fully_qualified_field )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:953:8: ^( I_STATEMENT_FORMAT22c_FIELD[$start, \"I_STATEMENT_FORMAT22c_FIELD\"] INSTRUCTION_FORMAT22c_FIELD_ODEX REGISTER REGISTER field_reference )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT22c_FIELD, (retval.start), "I_STATEMENT_FORMAT22c_FIELD"), root_1);
 				adaptor.addChild(root_1, stream_INSTRUCTION_FORMAT22c_FIELD_ODEX.nextNode());
 				adaptor.addChild(root_1, stream_REGISTER.nextNode());
 				adaptor.addChild(root_1, stream_REGISTER.nextNode());
-				adaptor.addChild(root_1, stream_fully_qualified_field.nextTree());
+				adaptor.addChild(root_1, stream_field_reference.nextTree());
 				adaptor.addChild(root_0, root_1);
 				}
 
@@ -14463,68 +11784,68 @@
 
 
 	// $ANTLR start "insn_format22c_type"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:968:1: insn_format22c_type : INSTRUCTION_FORMAT22c_TYPE REGISTER COMMA REGISTER COMMA nonvoid_type_descriptor -> ^( I_STATEMENT_FORMAT22c_TYPE[$start, \"I_STATEMENT_FORMAT22c_TYPE\"] INSTRUCTION_FORMAT22c_TYPE REGISTER REGISTER nonvoid_type_descriptor ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:955:1: insn_format22c_type : INSTRUCTION_FORMAT22c_TYPE REGISTER COMMA REGISTER COMMA nonvoid_type_descriptor -> ^( I_STATEMENT_FORMAT22c_TYPE[$start, \"I_STATEMENT_FORMAT22c_TYPE\"] INSTRUCTION_FORMAT22c_TYPE REGISTER REGISTER nonvoid_type_descriptor ) ;
 	public final smaliParser.insn_format22c_type_return insn_format22c_type() throws RecognitionException {
 		smaliParser.insn_format22c_type_return retval = new smaliParser.insn_format22c_type_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token INSTRUCTION_FORMAT22c_TYPE347=null;
-		Token REGISTER348=null;
-		Token COMMA349=null;
-		Token REGISTER350=null;
-		Token COMMA351=null;
-		ParserRuleReturnScope nonvoid_type_descriptor352 =null;
+		Token INSTRUCTION_FORMAT22c_TYPE355=null;
+		Token REGISTER356=null;
+		Token COMMA357=null;
+		Token REGISTER358=null;
+		Token COMMA359=null;
+		ParserRuleReturnScope nonvoid_type_descriptor360 =null;
 
-		CommonTree INSTRUCTION_FORMAT22c_TYPE347_tree=null;
-		CommonTree REGISTER348_tree=null;
-		CommonTree COMMA349_tree=null;
-		CommonTree REGISTER350_tree=null;
-		CommonTree COMMA351_tree=null;
+		CommonTree INSTRUCTION_FORMAT22c_TYPE355_tree=null;
+		CommonTree REGISTER356_tree=null;
+		CommonTree COMMA357_tree=null;
+		CommonTree REGISTER358_tree=null;
+		CommonTree COMMA359_tree=null;
 		RewriteRuleTokenStream stream_INSTRUCTION_FORMAT22c_TYPE=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT22c_TYPE");
 		RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA");
 		RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER");
 		RewriteRuleSubtreeStream stream_nonvoid_type_descriptor=new RewriteRuleSubtreeStream(adaptor,"rule nonvoid_type_descriptor");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:969:3: ( INSTRUCTION_FORMAT22c_TYPE REGISTER COMMA REGISTER COMMA nonvoid_type_descriptor -> ^( I_STATEMENT_FORMAT22c_TYPE[$start, \"I_STATEMENT_FORMAT22c_TYPE\"] INSTRUCTION_FORMAT22c_TYPE REGISTER REGISTER nonvoid_type_descriptor ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:970:5: INSTRUCTION_FORMAT22c_TYPE REGISTER COMMA REGISTER COMMA nonvoid_type_descriptor
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:956:3: ( INSTRUCTION_FORMAT22c_TYPE REGISTER COMMA REGISTER COMMA nonvoid_type_descriptor -> ^( I_STATEMENT_FORMAT22c_TYPE[$start, \"I_STATEMENT_FORMAT22c_TYPE\"] INSTRUCTION_FORMAT22c_TYPE REGISTER REGISTER nonvoid_type_descriptor ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:957:5: INSTRUCTION_FORMAT22c_TYPE REGISTER COMMA REGISTER COMMA nonvoid_type_descriptor
 			{
-			INSTRUCTION_FORMAT22c_TYPE347=(Token)match(input,INSTRUCTION_FORMAT22c_TYPE,FOLLOW_INSTRUCTION_FORMAT22c_TYPE_in_insn_format22c_type4754);  
-			stream_INSTRUCTION_FORMAT22c_TYPE.add(INSTRUCTION_FORMAT22c_TYPE347);
+			INSTRUCTION_FORMAT22c_TYPE355=(Token)match(input,INSTRUCTION_FORMAT22c_TYPE,FOLLOW_INSTRUCTION_FORMAT22c_TYPE_in_insn_format22c_type4710);
+			stream_INSTRUCTION_FORMAT22c_TYPE.add(INSTRUCTION_FORMAT22c_TYPE355);
 
-			REGISTER348=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22c_type4756);  
-			stream_REGISTER.add(REGISTER348);
+			REGISTER356=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22c_type4712);
+			stream_REGISTER.add(REGISTER356);
 
-			COMMA349=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22c_type4758);  
-			stream_COMMA.add(COMMA349);
+			COMMA357=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22c_type4714);
+			stream_COMMA.add(COMMA357);
 
-			REGISTER350=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22c_type4760);  
-			stream_REGISTER.add(REGISTER350);
+			REGISTER358=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22c_type4716);
+			stream_REGISTER.add(REGISTER358);
 
-			COMMA351=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22c_type4762);  
-			stream_COMMA.add(COMMA351);
+			COMMA359=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22c_type4718);
+			stream_COMMA.add(COMMA359);
 
-			pushFollow(FOLLOW_nonvoid_type_descriptor_in_insn_format22c_type4764);
-			nonvoid_type_descriptor352=nonvoid_type_descriptor();
+			pushFollow(FOLLOW_nonvoid_type_descriptor_in_insn_format22c_type4720);
+			nonvoid_type_descriptor360=nonvoid_type_descriptor();
 			state._fsp--;
 
-			stream_nonvoid_type_descriptor.add(nonvoid_type_descriptor352.getTree());
+			stream_nonvoid_type_descriptor.add(nonvoid_type_descriptor360.getTree());
 			// AST REWRITE
-			// elements: REGISTER, nonvoid_type_descriptor, INSTRUCTION_FORMAT22c_TYPE, REGISTER
-			// token labels: 
+			// elements: REGISTER, nonvoid_type_descriptor, REGISTER, INSTRUCTION_FORMAT22c_TYPE
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 971:5: -> ^( I_STATEMENT_FORMAT22c_TYPE[$start, \"I_STATEMENT_FORMAT22c_TYPE\"] INSTRUCTION_FORMAT22c_TYPE REGISTER REGISTER nonvoid_type_descriptor )
+			// 958:5: -> ^( I_STATEMENT_FORMAT22c_TYPE[$start, \"I_STATEMENT_FORMAT22c_TYPE\"] INSTRUCTION_FORMAT22c_TYPE REGISTER REGISTER nonvoid_type_descriptor )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:971:8: ^( I_STATEMENT_FORMAT22c_TYPE[$start, \"I_STATEMENT_FORMAT22c_TYPE\"] INSTRUCTION_FORMAT22c_TYPE REGISTER REGISTER nonvoid_type_descriptor )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:958:8: ^( I_STATEMENT_FORMAT22c_TYPE[$start, \"I_STATEMENT_FORMAT22c_TYPE\"] INSTRUCTION_FORMAT22c_TYPE REGISTER REGISTER nonvoid_type_descriptor )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT22c_TYPE, (retval.start), "I_STATEMENT_FORMAT22c_TYPE"), root_1);
@@ -14569,61 +11890,61 @@
 
 
 	// $ANTLR start "insn_format22cs_field"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:973:1: insn_format22cs_field : INSTRUCTION_FORMAT22cs_FIELD REGISTER COMMA REGISTER COMMA FIELD_OFFSET ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:960:1: insn_format22cs_field : INSTRUCTION_FORMAT22cs_FIELD REGISTER COMMA REGISTER COMMA FIELD_OFFSET ;
 	public final smaliParser.insn_format22cs_field_return insn_format22cs_field() throws RecognitionException {
 		smaliParser.insn_format22cs_field_return retval = new smaliParser.insn_format22cs_field_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token INSTRUCTION_FORMAT22cs_FIELD353=null;
-		Token REGISTER354=null;
-		Token COMMA355=null;
-		Token REGISTER356=null;
-		Token COMMA357=null;
-		Token FIELD_OFFSET358=null;
+		Token INSTRUCTION_FORMAT22cs_FIELD361=null;
+		Token REGISTER362=null;
+		Token COMMA363=null;
+		Token REGISTER364=null;
+		Token COMMA365=null;
+		Token FIELD_OFFSET366=null;
 
-		CommonTree INSTRUCTION_FORMAT22cs_FIELD353_tree=null;
-		CommonTree REGISTER354_tree=null;
-		CommonTree COMMA355_tree=null;
-		CommonTree REGISTER356_tree=null;
-		CommonTree COMMA357_tree=null;
-		CommonTree FIELD_OFFSET358_tree=null;
+		CommonTree INSTRUCTION_FORMAT22cs_FIELD361_tree=null;
+		CommonTree REGISTER362_tree=null;
+		CommonTree COMMA363_tree=null;
+		CommonTree REGISTER364_tree=null;
+		CommonTree COMMA365_tree=null;
+		CommonTree FIELD_OFFSET366_tree=null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:974:3: ( INSTRUCTION_FORMAT22cs_FIELD REGISTER COMMA REGISTER COMMA FIELD_OFFSET )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:975:5: INSTRUCTION_FORMAT22cs_FIELD REGISTER COMMA REGISTER COMMA FIELD_OFFSET
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:961:3: ( INSTRUCTION_FORMAT22cs_FIELD REGISTER COMMA REGISTER COMMA FIELD_OFFSET )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:962:5: INSTRUCTION_FORMAT22cs_FIELD REGISTER COMMA REGISTER COMMA FIELD_OFFSET
 			{
 			root_0 = (CommonTree)adaptor.nil();
 
 
-			INSTRUCTION_FORMAT22cs_FIELD353=(Token)match(input,INSTRUCTION_FORMAT22cs_FIELD,FOLLOW_INSTRUCTION_FORMAT22cs_FIELD_in_insn_format22cs_field4798); 
-			INSTRUCTION_FORMAT22cs_FIELD353_tree = (CommonTree)adaptor.create(INSTRUCTION_FORMAT22cs_FIELD353);
-			adaptor.addChild(root_0, INSTRUCTION_FORMAT22cs_FIELD353_tree);
+			INSTRUCTION_FORMAT22cs_FIELD361=(Token)match(input,INSTRUCTION_FORMAT22cs_FIELD,FOLLOW_INSTRUCTION_FORMAT22cs_FIELD_in_insn_format22cs_field4754);
+			INSTRUCTION_FORMAT22cs_FIELD361_tree = (CommonTree)adaptor.create(INSTRUCTION_FORMAT22cs_FIELD361);
+			adaptor.addChild(root_0, INSTRUCTION_FORMAT22cs_FIELD361_tree);
 
-			REGISTER354=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22cs_field4800); 
-			REGISTER354_tree = (CommonTree)adaptor.create(REGISTER354);
-			adaptor.addChild(root_0, REGISTER354_tree);
+			REGISTER362=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22cs_field4756);
+			REGISTER362_tree = (CommonTree)adaptor.create(REGISTER362);
+			adaptor.addChild(root_0, REGISTER362_tree);
 
-			COMMA355=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22cs_field4802); 
-			COMMA355_tree = (CommonTree)adaptor.create(COMMA355);
-			adaptor.addChild(root_0, COMMA355_tree);
+			COMMA363=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22cs_field4758);
+			COMMA363_tree = (CommonTree)adaptor.create(COMMA363);
+			adaptor.addChild(root_0, COMMA363_tree);
 
-			REGISTER356=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22cs_field4804); 
-			REGISTER356_tree = (CommonTree)adaptor.create(REGISTER356);
-			adaptor.addChild(root_0, REGISTER356_tree);
+			REGISTER364=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22cs_field4760);
+			REGISTER364_tree = (CommonTree)adaptor.create(REGISTER364);
+			adaptor.addChild(root_0, REGISTER364_tree);
 
-			COMMA357=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22cs_field4806); 
-			COMMA357_tree = (CommonTree)adaptor.create(COMMA357);
-			adaptor.addChild(root_0, COMMA357_tree);
+			COMMA365=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22cs_field4762);
+			COMMA365_tree = (CommonTree)adaptor.create(COMMA365);
+			adaptor.addChild(root_0, COMMA365_tree);
 
-			FIELD_OFFSET358=(Token)match(input,FIELD_OFFSET,FOLLOW_FIELD_OFFSET_in_insn_format22cs_field4808); 
-			FIELD_OFFSET358_tree = (CommonTree)adaptor.create(FIELD_OFFSET358);
-			adaptor.addChild(root_0, FIELD_OFFSET358_tree);
+			FIELD_OFFSET366=(Token)match(input,FIELD_OFFSET,FOLLOW_FIELD_OFFSET_in_insn_format22cs_field4764);
+			FIELD_OFFSET366_tree = (CommonTree)adaptor.create(FIELD_OFFSET366);
+			adaptor.addChild(root_0, FIELD_OFFSET366_tree);
 
 
-			      throwOdexedInstructionException(input, (INSTRUCTION_FORMAT22cs_FIELD353!=null?INSTRUCTION_FORMAT22cs_FIELD353.getText():null));
-			    
+			      throwOdexedInstructionException(input, (INSTRUCTION_FORMAT22cs_FIELD361!=null?INSTRUCTION_FORMAT22cs_FIELD361.getText():null));
+			
 			}
 
 			retval.stop = input.LT(-1);
@@ -14653,69 +11974,69 @@
 
 
 	// $ANTLR start "insn_format22s"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:980:1: insn_format22s : instruction_format22s REGISTER COMMA REGISTER COMMA integral_literal -> ^( I_STATEMENT_FORMAT22s[$start, \"I_STATEMENT_FORMAT22s\"] instruction_format22s REGISTER REGISTER integral_literal ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:967:1: insn_format22s : instruction_format22s REGISTER COMMA REGISTER COMMA integral_literal -> ^( I_STATEMENT_FORMAT22s[$start, \"I_STATEMENT_FORMAT22s\"] instruction_format22s REGISTER REGISTER integral_literal ) ;
 	public final smaliParser.insn_format22s_return insn_format22s() throws RecognitionException {
 		smaliParser.insn_format22s_return retval = new smaliParser.insn_format22s_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token REGISTER360=null;
-		Token COMMA361=null;
-		Token REGISTER362=null;
-		Token COMMA363=null;
-		ParserRuleReturnScope instruction_format22s359 =null;
-		ParserRuleReturnScope integral_literal364 =null;
+		Token REGISTER368=null;
+		Token COMMA369=null;
+		Token REGISTER370=null;
+		Token COMMA371=null;
+		ParserRuleReturnScope instruction_format22s367 =null;
+		ParserRuleReturnScope integral_literal372 =null;
 
-		CommonTree REGISTER360_tree=null;
-		CommonTree COMMA361_tree=null;
-		CommonTree REGISTER362_tree=null;
-		CommonTree COMMA363_tree=null;
+		CommonTree REGISTER368_tree=null;
+		CommonTree COMMA369_tree=null;
+		CommonTree REGISTER370_tree=null;
+		CommonTree COMMA371_tree=null;
 		RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA");
 		RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER");
 		RewriteRuleSubtreeStream stream_integral_literal=new RewriteRuleSubtreeStream(adaptor,"rule integral_literal");
 		RewriteRuleSubtreeStream stream_instruction_format22s=new RewriteRuleSubtreeStream(adaptor,"rule instruction_format22s");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:981:3: ( instruction_format22s REGISTER COMMA REGISTER COMMA integral_literal -> ^( I_STATEMENT_FORMAT22s[$start, \"I_STATEMENT_FORMAT22s\"] instruction_format22s REGISTER REGISTER integral_literal ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:982:5: instruction_format22s REGISTER COMMA REGISTER COMMA integral_literal
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:968:3: ( instruction_format22s REGISTER COMMA REGISTER COMMA integral_literal -> ^( I_STATEMENT_FORMAT22s[$start, \"I_STATEMENT_FORMAT22s\"] instruction_format22s REGISTER REGISTER integral_literal ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:969:5: instruction_format22s REGISTER COMMA REGISTER COMMA integral_literal
 			{
-			pushFollow(FOLLOW_instruction_format22s_in_insn_format22s4829);
-			instruction_format22s359=instruction_format22s();
+			pushFollow(FOLLOW_instruction_format22s_in_insn_format22s4785);
+			instruction_format22s367=instruction_format22s();
 			state._fsp--;
 
-			stream_instruction_format22s.add(instruction_format22s359.getTree());
-			REGISTER360=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22s4831);  
-			stream_REGISTER.add(REGISTER360);
+			stream_instruction_format22s.add(instruction_format22s367.getTree());
+			REGISTER368=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22s4787);
+			stream_REGISTER.add(REGISTER368);
 
-			COMMA361=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22s4833);  
-			stream_COMMA.add(COMMA361);
+			COMMA369=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22s4789);
+			stream_COMMA.add(COMMA369);
 
-			REGISTER362=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22s4835);  
-			stream_REGISTER.add(REGISTER362);
+			REGISTER370=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22s4791);
+			stream_REGISTER.add(REGISTER370);
 
-			COMMA363=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22s4837);  
-			stream_COMMA.add(COMMA363);
+			COMMA371=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22s4793);
+			stream_COMMA.add(COMMA371);
 
-			pushFollow(FOLLOW_integral_literal_in_insn_format22s4839);
-			integral_literal364=integral_literal();
+			pushFollow(FOLLOW_integral_literal_in_insn_format22s4795);
+			integral_literal372=integral_literal();
 			state._fsp--;
 
-			stream_integral_literal.add(integral_literal364.getTree());
+			stream_integral_literal.add(integral_literal372.getTree());
 			// AST REWRITE
-			// elements: instruction_format22s, REGISTER, integral_literal, REGISTER
-			// token labels: 
+			// elements: REGISTER, integral_literal, REGISTER, instruction_format22s
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 983:5: -> ^( I_STATEMENT_FORMAT22s[$start, \"I_STATEMENT_FORMAT22s\"] instruction_format22s REGISTER REGISTER integral_literal )
+			// 970:5: -> ^( I_STATEMENT_FORMAT22s[$start, \"I_STATEMENT_FORMAT22s\"] instruction_format22s REGISTER REGISTER integral_literal )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:983:8: ^( I_STATEMENT_FORMAT22s[$start, \"I_STATEMENT_FORMAT22s\"] instruction_format22s REGISTER REGISTER integral_literal )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:970:8: ^( I_STATEMENT_FORMAT22s[$start, \"I_STATEMENT_FORMAT22s\"] instruction_format22s REGISTER REGISTER integral_literal )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT22s, (retval.start), "I_STATEMENT_FORMAT22s"), root_1);
@@ -14760,68 +12081,68 @@
 
 
 	// $ANTLR start "insn_format22t"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:985:1: insn_format22t : INSTRUCTION_FORMAT22t REGISTER COMMA REGISTER COMMA label_ref -> ^( I_STATEMENT_FORMAT22t[$start, \"I_STATEMENT_FFORMAT22t\"] INSTRUCTION_FORMAT22t REGISTER REGISTER label_ref ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:972:1: insn_format22t : INSTRUCTION_FORMAT22t REGISTER COMMA REGISTER COMMA label_ref -> ^( I_STATEMENT_FORMAT22t[$start, \"I_STATEMENT_FFORMAT22t\"] INSTRUCTION_FORMAT22t REGISTER REGISTER label_ref ) ;
 	public final smaliParser.insn_format22t_return insn_format22t() throws RecognitionException {
 		smaliParser.insn_format22t_return retval = new smaliParser.insn_format22t_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token INSTRUCTION_FORMAT22t365=null;
-		Token REGISTER366=null;
-		Token COMMA367=null;
-		Token REGISTER368=null;
-		Token COMMA369=null;
-		ParserRuleReturnScope label_ref370 =null;
+		Token INSTRUCTION_FORMAT22t373=null;
+		Token REGISTER374=null;
+		Token COMMA375=null;
+		Token REGISTER376=null;
+		Token COMMA377=null;
+		ParserRuleReturnScope label_ref378 =null;
 
-		CommonTree INSTRUCTION_FORMAT22t365_tree=null;
-		CommonTree REGISTER366_tree=null;
-		CommonTree COMMA367_tree=null;
-		CommonTree REGISTER368_tree=null;
-		CommonTree COMMA369_tree=null;
+		CommonTree INSTRUCTION_FORMAT22t373_tree=null;
+		CommonTree REGISTER374_tree=null;
+		CommonTree COMMA375_tree=null;
+		CommonTree REGISTER376_tree=null;
+		CommonTree COMMA377_tree=null;
 		RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA");
 		RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER");
 		RewriteRuleTokenStream stream_INSTRUCTION_FORMAT22t=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT22t");
 		RewriteRuleSubtreeStream stream_label_ref=new RewriteRuleSubtreeStream(adaptor,"rule label_ref");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:986:3: ( INSTRUCTION_FORMAT22t REGISTER COMMA REGISTER COMMA label_ref -> ^( I_STATEMENT_FORMAT22t[$start, \"I_STATEMENT_FFORMAT22t\"] INSTRUCTION_FORMAT22t REGISTER REGISTER label_ref ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:987:5: INSTRUCTION_FORMAT22t REGISTER COMMA REGISTER COMMA label_ref
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:973:3: ( INSTRUCTION_FORMAT22t REGISTER COMMA REGISTER COMMA label_ref -> ^( I_STATEMENT_FORMAT22t[$start, \"I_STATEMENT_FFORMAT22t\"] INSTRUCTION_FORMAT22t REGISTER REGISTER label_ref ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:974:5: INSTRUCTION_FORMAT22t REGISTER COMMA REGISTER COMMA label_ref
 			{
-			INSTRUCTION_FORMAT22t365=(Token)match(input,INSTRUCTION_FORMAT22t,FOLLOW_INSTRUCTION_FORMAT22t_in_insn_format22t4873);  
-			stream_INSTRUCTION_FORMAT22t.add(INSTRUCTION_FORMAT22t365);
+			INSTRUCTION_FORMAT22t373=(Token)match(input,INSTRUCTION_FORMAT22t,FOLLOW_INSTRUCTION_FORMAT22t_in_insn_format22t4829);
+			stream_INSTRUCTION_FORMAT22t.add(INSTRUCTION_FORMAT22t373);
 
-			REGISTER366=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22t4875);  
-			stream_REGISTER.add(REGISTER366);
+			REGISTER374=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22t4831);
+			stream_REGISTER.add(REGISTER374);
 
-			COMMA367=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22t4877);  
-			stream_COMMA.add(COMMA367);
+			COMMA375=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22t4833);
+			stream_COMMA.add(COMMA375);
 
-			REGISTER368=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22t4879);  
-			stream_REGISTER.add(REGISTER368);
+			REGISTER376=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22t4835);
+			stream_REGISTER.add(REGISTER376);
 
-			COMMA369=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22t4881);  
-			stream_COMMA.add(COMMA369);
+			COMMA377=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22t4837);
+			stream_COMMA.add(COMMA377);
 
-			pushFollow(FOLLOW_label_ref_in_insn_format22t4883);
-			label_ref370=label_ref();
+			pushFollow(FOLLOW_label_ref_in_insn_format22t4839);
+			label_ref378=label_ref();
 			state._fsp--;
 
-			stream_label_ref.add(label_ref370.getTree());
+			stream_label_ref.add(label_ref378.getTree());
 			// AST REWRITE
-			// elements: label_ref, REGISTER, REGISTER, INSTRUCTION_FORMAT22t
-			// token labels: 
+			// elements: REGISTER, label_ref, INSTRUCTION_FORMAT22t, REGISTER
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 988:5: -> ^( I_STATEMENT_FORMAT22t[$start, \"I_STATEMENT_FFORMAT22t\"] INSTRUCTION_FORMAT22t REGISTER REGISTER label_ref )
+			// 975:5: -> ^( I_STATEMENT_FORMAT22t[$start, \"I_STATEMENT_FFORMAT22t\"] INSTRUCTION_FORMAT22t REGISTER REGISTER label_ref )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:988:8: ^( I_STATEMENT_FORMAT22t[$start, \"I_STATEMENT_FFORMAT22t\"] INSTRUCTION_FORMAT22t REGISTER REGISTER label_ref )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:975:8: ^( I_STATEMENT_FORMAT22t[$start, \"I_STATEMENT_FFORMAT22t\"] INSTRUCTION_FORMAT22t REGISTER REGISTER label_ref )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT22t, (retval.start), "I_STATEMENT_FFORMAT22t"), root_1);
@@ -14866,56 +12187,56 @@
 
 
 	// $ANTLR start "insn_format22x"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:990:1: insn_format22x : INSTRUCTION_FORMAT22x REGISTER COMMA REGISTER -> ^( I_STATEMENT_FORMAT22x[$start, \"I_STATEMENT_FORMAT22x\"] INSTRUCTION_FORMAT22x REGISTER REGISTER ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:977:1: insn_format22x : INSTRUCTION_FORMAT22x REGISTER COMMA REGISTER -> ^( I_STATEMENT_FORMAT22x[$start, \"I_STATEMENT_FORMAT22x\"] INSTRUCTION_FORMAT22x REGISTER REGISTER ) ;
 	public final smaliParser.insn_format22x_return insn_format22x() throws RecognitionException {
 		smaliParser.insn_format22x_return retval = new smaliParser.insn_format22x_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token INSTRUCTION_FORMAT22x371=null;
-		Token REGISTER372=null;
-		Token COMMA373=null;
-		Token REGISTER374=null;
+		Token INSTRUCTION_FORMAT22x379=null;
+		Token REGISTER380=null;
+		Token COMMA381=null;
+		Token REGISTER382=null;
 
-		CommonTree INSTRUCTION_FORMAT22x371_tree=null;
-		CommonTree REGISTER372_tree=null;
-		CommonTree COMMA373_tree=null;
-		CommonTree REGISTER374_tree=null;
+		CommonTree INSTRUCTION_FORMAT22x379_tree=null;
+		CommonTree REGISTER380_tree=null;
+		CommonTree COMMA381_tree=null;
+		CommonTree REGISTER382_tree=null;
 		RewriteRuleTokenStream stream_INSTRUCTION_FORMAT22x=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT22x");
 		RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA");
 		RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:991:3: ( INSTRUCTION_FORMAT22x REGISTER COMMA REGISTER -> ^( I_STATEMENT_FORMAT22x[$start, \"I_STATEMENT_FORMAT22x\"] INSTRUCTION_FORMAT22x REGISTER REGISTER ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:992:5: INSTRUCTION_FORMAT22x REGISTER COMMA REGISTER
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:978:3: ( INSTRUCTION_FORMAT22x REGISTER COMMA REGISTER -> ^( I_STATEMENT_FORMAT22x[$start, \"I_STATEMENT_FORMAT22x\"] INSTRUCTION_FORMAT22x REGISTER REGISTER ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:979:5: INSTRUCTION_FORMAT22x REGISTER COMMA REGISTER
 			{
-			INSTRUCTION_FORMAT22x371=(Token)match(input,INSTRUCTION_FORMAT22x,FOLLOW_INSTRUCTION_FORMAT22x_in_insn_format22x4917);  
-			stream_INSTRUCTION_FORMAT22x.add(INSTRUCTION_FORMAT22x371);
+			INSTRUCTION_FORMAT22x379=(Token)match(input,INSTRUCTION_FORMAT22x,FOLLOW_INSTRUCTION_FORMAT22x_in_insn_format22x4873);
+			stream_INSTRUCTION_FORMAT22x.add(INSTRUCTION_FORMAT22x379);
 
-			REGISTER372=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22x4919);  
-			stream_REGISTER.add(REGISTER372);
+			REGISTER380=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22x4875);
+			stream_REGISTER.add(REGISTER380);
 
-			COMMA373=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22x4921);  
-			stream_COMMA.add(COMMA373);
+			COMMA381=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format22x4877);
+			stream_COMMA.add(COMMA381);
 
-			REGISTER374=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22x4923);  
-			stream_REGISTER.add(REGISTER374);
+			REGISTER382=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22x4879);
+			stream_REGISTER.add(REGISTER382);
 
 			// AST REWRITE
-			// elements: REGISTER, INSTRUCTION_FORMAT22x, REGISTER
-			// token labels: 
+			// elements: REGISTER, REGISTER, INSTRUCTION_FORMAT22x
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 993:5: -> ^( I_STATEMENT_FORMAT22x[$start, \"I_STATEMENT_FORMAT22x\"] INSTRUCTION_FORMAT22x REGISTER REGISTER )
+			// 980:5: -> ^( I_STATEMENT_FORMAT22x[$start, \"I_STATEMENT_FORMAT22x\"] INSTRUCTION_FORMAT22x REGISTER REGISTER )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:993:8: ^( I_STATEMENT_FORMAT22x[$start, \"I_STATEMENT_FORMAT22x\"] INSTRUCTION_FORMAT22x REGISTER REGISTER )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:980:8: ^( I_STATEMENT_FORMAT22x[$start, \"I_STATEMENT_FORMAT22x\"] INSTRUCTION_FORMAT22x REGISTER REGISTER )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT22x, (retval.start), "I_STATEMENT_FORMAT22x"), root_1);
@@ -14959,66 +12280,66 @@
 
 
 	// $ANTLR start "insn_format23x"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:995:1: insn_format23x : INSTRUCTION_FORMAT23x REGISTER COMMA REGISTER COMMA REGISTER -> ^( I_STATEMENT_FORMAT23x[$start, \"I_STATEMENT_FORMAT23x\"] INSTRUCTION_FORMAT23x REGISTER REGISTER REGISTER ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:982:1: insn_format23x : INSTRUCTION_FORMAT23x REGISTER COMMA REGISTER COMMA REGISTER -> ^( I_STATEMENT_FORMAT23x[$start, \"I_STATEMENT_FORMAT23x\"] INSTRUCTION_FORMAT23x REGISTER REGISTER REGISTER ) ;
 	public final smaliParser.insn_format23x_return insn_format23x() throws RecognitionException {
 		smaliParser.insn_format23x_return retval = new smaliParser.insn_format23x_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token INSTRUCTION_FORMAT23x375=null;
-		Token REGISTER376=null;
-		Token COMMA377=null;
-		Token REGISTER378=null;
-		Token COMMA379=null;
-		Token REGISTER380=null;
+		Token INSTRUCTION_FORMAT23x383=null;
+		Token REGISTER384=null;
+		Token COMMA385=null;
+		Token REGISTER386=null;
+		Token COMMA387=null;
+		Token REGISTER388=null;
 
-		CommonTree INSTRUCTION_FORMAT23x375_tree=null;
-		CommonTree REGISTER376_tree=null;
-		CommonTree COMMA377_tree=null;
-		CommonTree REGISTER378_tree=null;
-		CommonTree COMMA379_tree=null;
-		CommonTree REGISTER380_tree=null;
+		CommonTree INSTRUCTION_FORMAT23x383_tree=null;
+		CommonTree REGISTER384_tree=null;
+		CommonTree COMMA385_tree=null;
+		CommonTree REGISTER386_tree=null;
+		CommonTree COMMA387_tree=null;
+		CommonTree REGISTER388_tree=null;
 		RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA");
 		RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER");
 		RewriteRuleTokenStream stream_INSTRUCTION_FORMAT23x=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT23x");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:996:3: ( INSTRUCTION_FORMAT23x REGISTER COMMA REGISTER COMMA REGISTER -> ^( I_STATEMENT_FORMAT23x[$start, \"I_STATEMENT_FORMAT23x\"] INSTRUCTION_FORMAT23x REGISTER REGISTER REGISTER ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:997:5: INSTRUCTION_FORMAT23x REGISTER COMMA REGISTER COMMA REGISTER
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:983:3: ( INSTRUCTION_FORMAT23x REGISTER COMMA REGISTER COMMA REGISTER -> ^( I_STATEMENT_FORMAT23x[$start, \"I_STATEMENT_FORMAT23x\"] INSTRUCTION_FORMAT23x REGISTER REGISTER REGISTER ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:984:5: INSTRUCTION_FORMAT23x REGISTER COMMA REGISTER COMMA REGISTER
 			{
-			INSTRUCTION_FORMAT23x375=(Token)match(input,INSTRUCTION_FORMAT23x,FOLLOW_INSTRUCTION_FORMAT23x_in_insn_format23x4955);  
-			stream_INSTRUCTION_FORMAT23x.add(INSTRUCTION_FORMAT23x375);
+			INSTRUCTION_FORMAT23x383=(Token)match(input,INSTRUCTION_FORMAT23x,FOLLOW_INSTRUCTION_FORMAT23x_in_insn_format23x4911);
+			stream_INSTRUCTION_FORMAT23x.add(INSTRUCTION_FORMAT23x383);
 
-			REGISTER376=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format23x4957);  
-			stream_REGISTER.add(REGISTER376);
+			REGISTER384=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format23x4913);
+			stream_REGISTER.add(REGISTER384);
 
-			COMMA377=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format23x4959);  
-			stream_COMMA.add(COMMA377);
+			COMMA385=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format23x4915);
+			stream_COMMA.add(COMMA385);
 
-			REGISTER378=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format23x4961);  
-			stream_REGISTER.add(REGISTER378);
+			REGISTER386=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format23x4917);
+			stream_REGISTER.add(REGISTER386);
 
-			COMMA379=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format23x4963);  
-			stream_COMMA.add(COMMA379);
+			COMMA387=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format23x4919);
+			stream_COMMA.add(COMMA387);
 
-			REGISTER380=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format23x4965);  
-			stream_REGISTER.add(REGISTER380);
+			REGISTER388=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format23x4921);
+			stream_REGISTER.add(REGISTER388);
 
 			// AST REWRITE
-			// elements: REGISTER, REGISTER, REGISTER, INSTRUCTION_FORMAT23x
-			// token labels: 
+			// elements: REGISTER, INSTRUCTION_FORMAT23x, REGISTER, REGISTER
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 998:5: -> ^( I_STATEMENT_FORMAT23x[$start, \"I_STATEMENT_FORMAT23x\"] INSTRUCTION_FORMAT23x REGISTER REGISTER REGISTER )
+			// 985:5: -> ^( I_STATEMENT_FORMAT23x[$start, \"I_STATEMENT_FORMAT23x\"] INSTRUCTION_FORMAT23x REGISTER REGISTER REGISTER )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:998:8: ^( I_STATEMENT_FORMAT23x[$start, \"I_STATEMENT_FORMAT23x\"] INSTRUCTION_FORMAT23x REGISTER REGISTER REGISTER )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:985:8: ^( I_STATEMENT_FORMAT23x[$start, \"I_STATEMENT_FORMAT23x\"] INSTRUCTION_FORMAT23x REGISTER REGISTER REGISTER )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT23x, (retval.start), "I_STATEMENT_FORMAT23x"), root_1);
@@ -15063,46 +12384,46 @@
 
 
 	// $ANTLR start "insn_format30t"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1000:1: insn_format30t : INSTRUCTION_FORMAT30t label_ref -> ^( I_STATEMENT_FORMAT30t[$start, \"I_STATEMENT_FORMAT30t\"] INSTRUCTION_FORMAT30t label_ref ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:987:1: insn_format30t : INSTRUCTION_FORMAT30t label_ref -> ^( I_STATEMENT_FORMAT30t[$start, \"I_STATEMENT_FORMAT30t\"] INSTRUCTION_FORMAT30t label_ref ) ;
 	public final smaliParser.insn_format30t_return insn_format30t() throws RecognitionException {
 		smaliParser.insn_format30t_return retval = new smaliParser.insn_format30t_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token INSTRUCTION_FORMAT30t381=null;
-		ParserRuleReturnScope label_ref382 =null;
+		Token INSTRUCTION_FORMAT30t389=null;
+		ParserRuleReturnScope label_ref390 =null;
 
-		CommonTree INSTRUCTION_FORMAT30t381_tree=null;
+		CommonTree INSTRUCTION_FORMAT30t389_tree=null;
 		RewriteRuleTokenStream stream_INSTRUCTION_FORMAT30t=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT30t");
 		RewriteRuleSubtreeStream stream_label_ref=new RewriteRuleSubtreeStream(adaptor,"rule label_ref");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1001:3: ( INSTRUCTION_FORMAT30t label_ref -> ^( I_STATEMENT_FORMAT30t[$start, \"I_STATEMENT_FORMAT30t\"] INSTRUCTION_FORMAT30t label_ref ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1002:5: INSTRUCTION_FORMAT30t label_ref
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:988:3: ( INSTRUCTION_FORMAT30t label_ref -> ^( I_STATEMENT_FORMAT30t[$start, \"I_STATEMENT_FORMAT30t\"] INSTRUCTION_FORMAT30t label_ref ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:989:5: INSTRUCTION_FORMAT30t label_ref
 			{
-			INSTRUCTION_FORMAT30t381=(Token)match(input,INSTRUCTION_FORMAT30t,FOLLOW_INSTRUCTION_FORMAT30t_in_insn_format30t4999);  
-			stream_INSTRUCTION_FORMAT30t.add(INSTRUCTION_FORMAT30t381);
+			INSTRUCTION_FORMAT30t389=(Token)match(input,INSTRUCTION_FORMAT30t,FOLLOW_INSTRUCTION_FORMAT30t_in_insn_format30t4955);
+			stream_INSTRUCTION_FORMAT30t.add(INSTRUCTION_FORMAT30t389);
 
-			pushFollow(FOLLOW_label_ref_in_insn_format30t5001);
-			label_ref382=label_ref();
+			pushFollow(FOLLOW_label_ref_in_insn_format30t4957);
+			label_ref390=label_ref();
 			state._fsp--;
 
-			stream_label_ref.add(label_ref382.getTree());
+			stream_label_ref.add(label_ref390.getTree());
 			// AST REWRITE
-			// elements: INSTRUCTION_FORMAT30t, label_ref
-			// token labels: 
+			// elements: label_ref, INSTRUCTION_FORMAT30t
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 1003:5: -> ^( I_STATEMENT_FORMAT30t[$start, \"I_STATEMENT_FORMAT30t\"] INSTRUCTION_FORMAT30t label_ref )
+			// 990:5: -> ^( I_STATEMENT_FORMAT30t[$start, \"I_STATEMENT_FORMAT30t\"] INSTRUCTION_FORMAT30t label_ref )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1003:8: ^( I_STATEMENT_FORMAT30t[$start, \"I_STATEMENT_FORMAT30t\"] INSTRUCTION_FORMAT30t label_ref )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:990:8: ^( I_STATEMENT_FORMAT30t[$start, \"I_STATEMENT_FORMAT30t\"] INSTRUCTION_FORMAT30t label_ref )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT30t, (retval.start), "I_STATEMENT_FORMAT30t"), root_1);
@@ -15145,57 +12466,57 @@
 
 
 	// $ANTLR start "insn_format31c"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1005:1: insn_format31c : INSTRUCTION_FORMAT31c REGISTER COMMA STRING_LITERAL -> ^( I_STATEMENT_FORMAT31c[$start, \"I_STATEMENT_FORMAT31c\"] INSTRUCTION_FORMAT31c REGISTER STRING_LITERAL ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:992:1: insn_format31c : INSTRUCTION_FORMAT31c REGISTER COMMA STRING_LITERAL -> ^( I_STATEMENT_FORMAT31c[$start, \"I_STATEMENT_FORMAT31c\"] INSTRUCTION_FORMAT31c REGISTER STRING_LITERAL ) ;
 	public final smaliParser.insn_format31c_return insn_format31c() throws RecognitionException {
 		smaliParser.insn_format31c_return retval = new smaliParser.insn_format31c_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token INSTRUCTION_FORMAT31c383=null;
-		Token REGISTER384=null;
-		Token COMMA385=null;
-		Token STRING_LITERAL386=null;
+		Token INSTRUCTION_FORMAT31c391=null;
+		Token REGISTER392=null;
+		Token COMMA393=null;
+		Token STRING_LITERAL394=null;
 
-		CommonTree INSTRUCTION_FORMAT31c383_tree=null;
-		CommonTree REGISTER384_tree=null;
-		CommonTree COMMA385_tree=null;
-		CommonTree STRING_LITERAL386_tree=null;
+		CommonTree INSTRUCTION_FORMAT31c391_tree=null;
+		CommonTree REGISTER392_tree=null;
+		CommonTree COMMA393_tree=null;
+		CommonTree STRING_LITERAL394_tree=null;
 		RewriteRuleTokenStream stream_INSTRUCTION_FORMAT31c=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT31c");
 		RewriteRuleTokenStream stream_STRING_LITERAL=new RewriteRuleTokenStream(adaptor,"token STRING_LITERAL");
 		RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA");
 		RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1006:3: ( INSTRUCTION_FORMAT31c REGISTER COMMA STRING_LITERAL -> ^( I_STATEMENT_FORMAT31c[$start, \"I_STATEMENT_FORMAT31c\"] INSTRUCTION_FORMAT31c REGISTER STRING_LITERAL ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1007:5: INSTRUCTION_FORMAT31c REGISTER COMMA STRING_LITERAL
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:993:3: ( INSTRUCTION_FORMAT31c REGISTER COMMA STRING_LITERAL -> ^( I_STATEMENT_FORMAT31c[$start, \"I_STATEMENT_FORMAT31c\"] INSTRUCTION_FORMAT31c REGISTER STRING_LITERAL ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:994:5: INSTRUCTION_FORMAT31c REGISTER COMMA STRING_LITERAL
 			{
-			INSTRUCTION_FORMAT31c383=(Token)match(input,INSTRUCTION_FORMAT31c,FOLLOW_INSTRUCTION_FORMAT31c_in_insn_format31c5031);  
-			stream_INSTRUCTION_FORMAT31c.add(INSTRUCTION_FORMAT31c383);
+			INSTRUCTION_FORMAT31c391=(Token)match(input,INSTRUCTION_FORMAT31c,FOLLOW_INSTRUCTION_FORMAT31c_in_insn_format31c4987);
+			stream_INSTRUCTION_FORMAT31c.add(INSTRUCTION_FORMAT31c391);
 
-			REGISTER384=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format31c5033);  
-			stream_REGISTER.add(REGISTER384);
+			REGISTER392=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format31c4989);
+			stream_REGISTER.add(REGISTER392);
 
-			COMMA385=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format31c5035);  
-			stream_COMMA.add(COMMA385);
+			COMMA393=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format31c4991);
+			stream_COMMA.add(COMMA393);
 
-			STRING_LITERAL386=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_insn_format31c5037);  
-			stream_STRING_LITERAL.add(STRING_LITERAL386);
+			STRING_LITERAL394=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_insn_format31c4993);
+			stream_STRING_LITERAL.add(STRING_LITERAL394);
 
 			// AST REWRITE
-			// elements: INSTRUCTION_FORMAT31c, REGISTER, STRING_LITERAL
-			// token labels: 
+			// elements: REGISTER, INSTRUCTION_FORMAT31c, STRING_LITERAL
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 1008:5: -> ^( I_STATEMENT_FORMAT31c[$start, \"I_STATEMENT_FORMAT31c\"] INSTRUCTION_FORMAT31c REGISTER STRING_LITERAL )
+			// 995:5: -> ^( I_STATEMENT_FORMAT31c[$start, \"I_STATEMENT_FORMAT31c\"] INSTRUCTION_FORMAT31c REGISTER STRING_LITERAL )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1008:7: ^( I_STATEMENT_FORMAT31c[$start, \"I_STATEMENT_FORMAT31c\"] INSTRUCTION_FORMAT31c REGISTER STRING_LITERAL )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:995:7: ^( I_STATEMENT_FORMAT31c[$start, \"I_STATEMENT_FORMAT31c\"] INSTRUCTION_FORMAT31c REGISTER STRING_LITERAL )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT31c, (retval.start), "I_STATEMENT_FORMAT31c"), root_1);
@@ -15239,59 +12560,59 @@
 
 
 	// $ANTLR start "insn_format31i"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1010:1: insn_format31i : instruction_format31i REGISTER COMMA fixed_32bit_literal -> ^( I_STATEMENT_FORMAT31i[$start, \"I_STATEMENT_FORMAT31i\"] instruction_format31i REGISTER fixed_32bit_literal ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:997:1: insn_format31i : instruction_format31i REGISTER COMMA fixed_32bit_literal -> ^( I_STATEMENT_FORMAT31i[$start, \"I_STATEMENT_FORMAT31i\"] instruction_format31i REGISTER fixed_32bit_literal ) ;
 	public final smaliParser.insn_format31i_return insn_format31i() throws RecognitionException {
 		smaliParser.insn_format31i_return retval = new smaliParser.insn_format31i_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token REGISTER388=null;
-		Token COMMA389=null;
-		ParserRuleReturnScope instruction_format31i387 =null;
-		ParserRuleReturnScope fixed_32bit_literal390 =null;
+		Token REGISTER396=null;
+		Token COMMA397=null;
+		ParserRuleReturnScope instruction_format31i395 =null;
+		ParserRuleReturnScope fixed_32bit_literal398 =null;
 
-		CommonTree REGISTER388_tree=null;
-		CommonTree COMMA389_tree=null;
+		CommonTree REGISTER396_tree=null;
+		CommonTree COMMA397_tree=null;
 		RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA");
 		RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER");
 		RewriteRuleSubtreeStream stream_instruction_format31i=new RewriteRuleSubtreeStream(adaptor,"rule instruction_format31i");
 		RewriteRuleSubtreeStream stream_fixed_32bit_literal=new RewriteRuleSubtreeStream(adaptor,"rule fixed_32bit_literal");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1011:3: ( instruction_format31i REGISTER COMMA fixed_32bit_literal -> ^( I_STATEMENT_FORMAT31i[$start, \"I_STATEMENT_FORMAT31i\"] instruction_format31i REGISTER fixed_32bit_literal ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1012:5: instruction_format31i REGISTER COMMA fixed_32bit_literal
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:998:3: ( instruction_format31i REGISTER COMMA fixed_32bit_literal -> ^( I_STATEMENT_FORMAT31i[$start, \"I_STATEMENT_FORMAT31i\"] instruction_format31i REGISTER fixed_32bit_literal ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:999:5: instruction_format31i REGISTER COMMA fixed_32bit_literal
 			{
-			pushFollow(FOLLOW_instruction_format31i_in_insn_format31i5068);
-			instruction_format31i387=instruction_format31i();
+			pushFollow(FOLLOW_instruction_format31i_in_insn_format31i5024);
+			instruction_format31i395=instruction_format31i();
 			state._fsp--;
 
-			stream_instruction_format31i.add(instruction_format31i387.getTree());
-			REGISTER388=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format31i5070);  
-			stream_REGISTER.add(REGISTER388);
+			stream_instruction_format31i.add(instruction_format31i395.getTree());
+			REGISTER396=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format31i5026);
+			stream_REGISTER.add(REGISTER396);
 
-			COMMA389=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format31i5072);  
-			stream_COMMA.add(COMMA389);
+			COMMA397=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format31i5028);
+			stream_COMMA.add(COMMA397);
 
-			pushFollow(FOLLOW_fixed_32bit_literal_in_insn_format31i5074);
-			fixed_32bit_literal390=fixed_32bit_literal();
+			pushFollow(FOLLOW_fixed_32bit_literal_in_insn_format31i5030);
+			fixed_32bit_literal398=fixed_32bit_literal();
 			state._fsp--;
 
-			stream_fixed_32bit_literal.add(fixed_32bit_literal390.getTree());
+			stream_fixed_32bit_literal.add(fixed_32bit_literal398.getTree());
 			// AST REWRITE
-			// elements: fixed_32bit_literal, REGISTER, instruction_format31i
-			// token labels: 
+			// elements: instruction_format31i, fixed_32bit_literal, REGISTER
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 1013:5: -> ^( I_STATEMENT_FORMAT31i[$start, \"I_STATEMENT_FORMAT31i\"] instruction_format31i REGISTER fixed_32bit_literal )
+			// 1000:5: -> ^( I_STATEMENT_FORMAT31i[$start, \"I_STATEMENT_FORMAT31i\"] instruction_format31i REGISTER fixed_32bit_literal )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1013:8: ^( I_STATEMENT_FORMAT31i[$start, \"I_STATEMENT_FORMAT31i\"] instruction_format31i REGISTER fixed_32bit_literal )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1000:8: ^( I_STATEMENT_FORMAT31i[$start, \"I_STATEMENT_FORMAT31i\"] instruction_format31i REGISTER fixed_32bit_literal )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT31i, (retval.start), "I_STATEMENT_FORMAT31i"), root_1);
@@ -15335,58 +12656,58 @@
 
 
 	// $ANTLR start "insn_format31t"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1015:1: insn_format31t : INSTRUCTION_FORMAT31t REGISTER COMMA label_ref -> ^( I_STATEMENT_FORMAT31t[$start, \"I_STATEMENT_FORMAT31t\"] INSTRUCTION_FORMAT31t REGISTER label_ref ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1002:1: insn_format31t : INSTRUCTION_FORMAT31t REGISTER COMMA label_ref -> ^( I_STATEMENT_FORMAT31t[$start, \"I_STATEMENT_FORMAT31t\"] INSTRUCTION_FORMAT31t REGISTER label_ref ) ;
 	public final smaliParser.insn_format31t_return insn_format31t() throws RecognitionException {
 		smaliParser.insn_format31t_return retval = new smaliParser.insn_format31t_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token INSTRUCTION_FORMAT31t391=null;
-		Token REGISTER392=null;
-		Token COMMA393=null;
-		ParserRuleReturnScope label_ref394 =null;
+		Token INSTRUCTION_FORMAT31t399=null;
+		Token REGISTER400=null;
+		Token COMMA401=null;
+		ParserRuleReturnScope label_ref402 =null;
 
-		CommonTree INSTRUCTION_FORMAT31t391_tree=null;
-		CommonTree REGISTER392_tree=null;
-		CommonTree COMMA393_tree=null;
+		CommonTree INSTRUCTION_FORMAT31t399_tree=null;
+		CommonTree REGISTER400_tree=null;
+		CommonTree COMMA401_tree=null;
 		RewriteRuleTokenStream stream_INSTRUCTION_FORMAT31t=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT31t");
 		RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA");
 		RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER");
 		RewriteRuleSubtreeStream stream_label_ref=new RewriteRuleSubtreeStream(adaptor,"rule label_ref");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1016:3: ( INSTRUCTION_FORMAT31t REGISTER COMMA label_ref -> ^( I_STATEMENT_FORMAT31t[$start, \"I_STATEMENT_FORMAT31t\"] INSTRUCTION_FORMAT31t REGISTER label_ref ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1017:5: INSTRUCTION_FORMAT31t REGISTER COMMA label_ref
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1003:3: ( INSTRUCTION_FORMAT31t REGISTER COMMA label_ref -> ^( I_STATEMENT_FORMAT31t[$start, \"I_STATEMENT_FORMAT31t\"] INSTRUCTION_FORMAT31t REGISTER label_ref ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1004:5: INSTRUCTION_FORMAT31t REGISTER COMMA label_ref
 			{
-			INSTRUCTION_FORMAT31t391=(Token)match(input,INSTRUCTION_FORMAT31t,FOLLOW_INSTRUCTION_FORMAT31t_in_insn_format31t5106);  
-			stream_INSTRUCTION_FORMAT31t.add(INSTRUCTION_FORMAT31t391);
+			INSTRUCTION_FORMAT31t399=(Token)match(input,INSTRUCTION_FORMAT31t,FOLLOW_INSTRUCTION_FORMAT31t_in_insn_format31t5062);
+			stream_INSTRUCTION_FORMAT31t.add(INSTRUCTION_FORMAT31t399);
 
-			REGISTER392=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format31t5108);  
-			stream_REGISTER.add(REGISTER392);
+			REGISTER400=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format31t5064);
+			stream_REGISTER.add(REGISTER400);
 
-			COMMA393=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format31t5110);  
-			stream_COMMA.add(COMMA393);
+			COMMA401=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format31t5066);
+			stream_COMMA.add(COMMA401);
 
-			pushFollow(FOLLOW_label_ref_in_insn_format31t5112);
-			label_ref394=label_ref();
+			pushFollow(FOLLOW_label_ref_in_insn_format31t5068);
+			label_ref402=label_ref();
 			state._fsp--;
 
-			stream_label_ref.add(label_ref394.getTree());
+			stream_label_ref.add(label_ref402.getTree());
 			// AST REWRITE
-			// elements: INSTRUCTION_FORMAT31t, label_ref, REGISTER
-			// token labels: 
+			// elements: REGISTER, INSTRUCTION_FORMAT31t, label_ref
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 1018:5: -> ^( I_STATEMENT_FORMAT31t[$start, \"I_STATEMENT_FORMAT31t\"] INSTRUCTION_FORMAT31t REGISTER label_ref )
+			// 1005:5: -> ^( I_STATEMENT_FORMAT31t[$start, \"I_STATEMENT_FORMAT31t\"] INSTRUCTION_FORMAT31t REGISTER label_ref )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1018:8: ^( I_STATEMENT_FORMAT31t[$start, \"I_STATEMENT_FORMAT31t\"] INSTRUCTION_FORMAT31t REGISTER label_ref )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1005:8: ^( I_STATEMENT_FORMAT31t[$start, \"I_STATEMENT_FORMAT31t\"] INSTRUCTION_FORMAT31t REGISTER label_ref )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT31t, (retval.start), "I_STATEMENT_FORMAT31t"), root_1);
@@ -15430,56 +12751,56 @@
 
 
 	// $ANTLR start "insn_format32x"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1020:1: insn_format32x : INSTRUCTION_FORMAT32x REGISTER COMMA REGISTER -> ^( I_STATEMENT_FORMAT32x[$start, \"I_STATEMENT_FORMAT32x\"] INSTRUCTION_FORMAT32x REGISTER REGISTER ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1007:1: insn_format32x : INSTRUCTION_FORMAT32x REGISTER COMMA REGISTER -> ^( I_STATEMENT_FORMAT32x[$start, \"I_STATEMENT_FORMAT32x\"] INSTRUCTION_FORMAT32x REGISTER REGISTER ) ;
 	public final smaliParser.insn_format32x_return insn_format32x() throws RecognitionException {
 		smaliParser.insn_format32x_return retval = new smaliParser.insn_format32x_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token INSTRUCTION_FORMAT32x395=null;
-		Token REGISTER396=null;
-		Token COMMA397=null;
-		Token REGISTER398=null;
+		Token INSTRUCTION_FORMAT32x403=null;
+		Token REGISTER404=null;
+		Token COMMA405=null;
+		Token REGISTER406=null;
 
-		CommonTree INSTRUCTION_FORMAT32x395_tree=null;
-		CommonTree REGISTER396_tree=null;
-		CommonTree COMMA397_tree=null;
-		CommonTree REGISTER398_tree=null;
+		CommonTree INSTRUCTION_FORMAT32x403_tree=null;
+		CommonTree REGISTER404_tree=null;
+		CommonTree COMMA405_tree=null;
+		CommonTree REGISTER406_tree=null;
 		RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA");
 		RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER");
 		RewriteRuleTokenStream stream_INSTRUCTION_FORMAT32x=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT32x");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1021:3: ( INSTRUCTION_FORMAT32x REGISTER COMMA REGISTER -> ^( I_STATEMENT_FORMAT32x[$start, \"I_STATEMENT_FORMAT32x\"] INSTRUCTION_FORMAT32x REGISTER REGISTER ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1022:5: INSTRUCTION_FORMAT32x REGISTER COMMA REGISTER
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1008:3: ( INSTRUCTION_FORMAT32x REGISTER COMMA REGISTER -> ^( I_STATEMENT_FORMAT32x[$start, \"I_STATEMENT_FORMAT32x\"] INSTRUCTION_FORMAT32x REGISTER REGISTER ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1009:5: INSTRUCTION_FORMAT32x REGISTER COMMA REGISTER
 			{
-			INSTRUCTION_FORMAT32x395=(Token)match(input,INSTRUCTION_FORMAT32x,FOLLOW_INSTRUCTION_FORMAT32x_in_insn_format32x5144);  
-			stream_INSTRUCTION_FORMAT32x.add(INSTRUCTION_FORMAT32x395);
+			INSTRUCTION_FORMAT32x403=(Token)match(input,INSTRUCTION_FORMAT32x,FOLLOW_INSTRUCTION_FORMAT32x_in_insn_format32x5100);
+			stream_INSTRUCTION_FORMAT32x.add(INSTRUCTION_FORMAT32x403);
 
-			REGISTER396=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format32x5146);  
-			stream_REGISTER.add(REGISTER396);
+			REGISTER404=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format32x5102);
+			stream_REGISTER.add(REGISTER404);
 
-			COMMA397=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format32x5148);  
-			stream_COMMA.add(COMMA397);
+			COMMA405=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format32x5104);
+			stream_COMMA.add(COMMA405);
 
-			REGISTER398=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format32x5150);  
-			stream_REGISTER.add(REGISTER398);
+			REGISTER406=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format32x5106);
+			stream_REGISTER.add(REGISTER406);
 
 			// AST REWRITE
 			// elements: REGISTER, INSTRUCTION_FORMAT32x, REGISTER
-			// token labels: 
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 1023:5: -> ^( I_STATEMENT_FORMAT32x[$start, \"I_STATEMENT_FORMAT32x\"] INSTRUCTION_FORMAT32x REGISTER REGISTER )
+			// 1010:5: -> ^( I_STATEMENT_FORMAT32x[$start, \"I_STATEMENT_FORMAT32x\"] INSTRUCTION_FORMAT32x REGISTER REGISTER )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1023:8: ^( I_STATEMENT_FORMAT32x[$start, \"I_STATEMENT_FORMAT32x\"] INSTRUCTION_FORMAT32x REGISTER REGISTER )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1010:8: ^( I_STATEMENT_FORMAT32x[$start, \"I_STATEMENT_FORMAT32x\"] INSTRUCTION_FORMAT32x REGISTER REGISTER )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT32x, (retval.start), "I_STATEMENT_FORMAT32x"), root_1);
@@ -15523,77 +12844,77 @@
 
 
 	// $ANTLR start "insn_format35c_method"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1025:1: insn_format35c_method : INSTRUCTION_FORMAT35c_METHOD OPEN_BRACE register_list CLOSE_BRACE COMMA fully_qualified_method -> ^( I_STATEMENT_FORMAT35c_METHOD[$start, \"I_STATEMENT_FORMAT35c_METHOD\"] INSTRUCTION_FORMAT35c_METHOD register_list fully_qualified_method ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1012:1: insn_format35c_method : INSTRUCTION_FORMAT35c_METHOD OPEN_BRACE register_list CLOSE_BRACE COMMA method_reference -> ^( I_STATEMENT_FORMAT35c_METHOD[$start, \"I_STATEMENT_FORMAT35c_METHOD\"] INSTRUCTION_FORMAT35c_METHOD register_list method_reference ) ;
 	public final smaliParser.insn_format35c_method_return insn_format35c_method() throws RecognitionException {
 		smaliParser.insn_format35c_method_return retval = new smaliParser.insn_format35c_method_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token INSTRUCTION_FORMAT35c_METHOD399=null;
-		Token OPEN_BRACE400=null;
-		Token CLOSE_BRACE402=null;
-		Token COMMA403=null;
-		ParserRuleReturnScope register_list401 =null;
-		ParserRuleReturnScope fully_qualified_method404 =null;
+		Token INSTRUCTION_FORMAT35c_METHOD407=null;
+		Token OPEN_BRACE408=null;
+		Token CLOSE_BRACE410=null;
+		Token COMMA411=null;
+		ParserRuleReturnScope register_list409 =null;
+		ParserRuleReturnScope method_reference412 =null;
 
-		CommonTree INSTRUCTION_FORMAT35c_METHOD399_tree=null;
-		CommonTree OPEN_BRACE400_tree=null;
-		CommonTree CLOSE_BRACE402_tree=null;
-		CommonTree COMMA403_tree=null;
+		CommonTree INSTRUCTION_FORMAT35c_METHOD407_tree=null;
+		CommonTree OPEN_BRACE408_tree=null;
+		CommonTree CLOSE_BRACE410_tree=null;
+		CommonTree COMMA411_tree=null;
 		RewriteRuleTokenStream stream_INSTRUCTION_FORMAT35c_METHOD=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT35c_METHOD");
 		RewriteRuleTokenStream stream_CLOSE_BRACE=new RewriteRuleTokenStream(adaptor,"token CLOSE_BRACE");
 		RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA");
 		RewriteRuleTokenStream stream_OPEN_BRACE=new RewriteRuleTokenStream(adaptor,"token OPEN_BRACE");
 		RewriteRuleSubtreeStream stream_register_list=new RewriteRuleSubtreeStream(adaptor,"rule register_list");
-		RewriteRuleSubtreeStream stream_fully_qualified_method=new RewriteRuleSubtreeStream(adaptor,"rule fully_qualified_method");
+		RewriteRuleSubtreeStream stream_method_reference=new RewriteRuleSubtreeStream(adaptor,"rule method_reference");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1026:3: ( INSTRUCTION_FORMAT35c_METHOD OPEN_BRACE register_list CLOSE_BRACE COMMA fully_qualified_method -> ^( I_STATEMENT_FORMAT35c_METHOD[$start, \"I_STATEMENT_FORMAT35c_METHOD\"] INSTRUCTION_FORMAT35c_METHOD register_list fully_qualified_method ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1027:5: INSTRUCTION_FORMAT35c_METHOD OPEN_BRACE register_list CLOSE_BRACE COMMA fully_qualified_method
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1013:3: ( INSTRUCTION_FORMAT35c_METHOD OPEN_BRACE register_list CLOSE_BRACE COMMA method_reference -> ^( I_STATEMENT_FORMAT35c_METHOD[$start, \"I_STATEMENT_FORMAT35c_METHOD\"] INSTRUCTION_FORMAT35c_METHOD register_list method_reference ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1014:5: INSTRUCTION_FORMAT35c_METHOD OPEN_BRACE register_list CLOSE_BRACE COMMA method_reference
 			{
-			INSTRUCTION_FORMAT35c_METHOD399=(Token)match(input,INSTRUCTION_FORMAT35c_METHOD,FOLLOW_INSTRUCTION_FORMAT35c_METHOD_in_insn_format35c_method5182);  
-			stream_INSTRUCTION_FORMAT35c_METHOD.add(INSTRUCTION_FORMAT35c_METHOD399);
+			INSTRUCTION_FORMAT35c_METHOD407=(Token)match(input,INSTRUCTION_FORMAT35c_METHOD,FOLLOW_INSTRUCTION_FORMAT35c_METHOD_in_insn_format35c_method5138);
+			stream_INSTRUCTION_FORMAT35c_METHOD.add(INSTRUCTION_FORMAT35c_METHOD407);
 
-			OPEN_BRACE400=(Token)match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_insn_format35c_method5184);  
-			stream_OPEN_BRACE.add(OPEN_BRACE400);
+			OPEN_BRACE408=(Token)match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_insn_format35c_method5140);
+			stream_OPEN_BRACE.add(OPEN_BRACE408);
 
-			pushFollow(FOLLOW_register_list_in_insn_format35c_method5186);
-			register_list401=register_list();
+			pushFollow(FOLLOW_register_list_in_insn_format35c_method5142);
+			register_list409=register_list();
 			state._fsp--;
 
-			stream_register_list.add(register_list401.getTree());
-			CLOSE_BRACE402=(Token)match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_insn_format35c_method5188);  
-			stream_CLOSE_BRACE.add(CLOSE_BRACE402);
+			stream_register_list.add(register_list409.getTree());
+			CLOSE_BRACE410=(Token)match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_insn_format35c_method5144);
+			stream_CLOSE_BRACE.add(CLOSE_BRACE410);
 
-			COMMA403=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format35c_method5190);  
-			stream_COMMA.add(COMMA403);
+			COMMA411=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format35c_method5146);
+			stream_COMMA.add(COMMA411);
 
-			pushFollow(FOLLOW_fully_qualified_method_in_insn_format35c_method5192);
-			fully_qualified_method404=fully_qualified_method();
+			pushFollow(FOLLOW_method_reference_in_insn_format35c_method5148);
+			method_reference412=method_reference();
 			state._fsp--;
 
-			stream_fully_qualified_method.add(fully_qualified_method404.getTree());
+			stream_method_reference.add(method_reference412.getTree());
 			// AST REWRITE
-			// elements: INSTRUCTION_FORMAT35c_METHOD, fully_qualified_method, register_list
-			// token labels: 
+			// elements: method_reference, register_list, INSTRUCTION_FORMAT35c_METHOD
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 1028:5: -> ^( I_STATEMENT_FORMAT35c_METHOD[$start, \"I_STATEMENT_FORMAT35c_METHOD\"] INSTRUCTION_FORMAT35c_METHOD register_list fully_qualified_method )
+			// 1015:5: -> ^( I_STATEMENT_FORMAT35c_METHOD[$start, \"I_STATEMENT_FORMAT35c_METHOD\"] INSTRUCTION_FORMAT35c_METHOD register_list method_reference )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1028:8: ^( I_STATEMENT_FORMAT35c_METHOD[$start, \"I_STATEMENT_FORMAT35c_METHOD\"] INSTRUCTION_FORMAT35c_METHOD register_list fully_qualified_method )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1015:8: ^( I_STATEMENT_FORMAT35c_METHOD[$start, \"I_STATEMENT_FORMAT35c_METHOD\"] INSTRUCTION_FORMAT35c_METHOD register_list method_reference )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT35c_METHOD, (retval.start), "I_STATEMENT_FORMAT35c_METHOD"), root_1);
 				adaptor.addChild(root_1, stream_INSTRUCTION_FORMAT35c_METHOD.nextNode());
 				adaptor.addChild(root_1, stream_register_list.nextTree());
-				adaptor.addChild(root_1, stream_fully_qualified_method.nextTree());
+				adaptor.addChild(root_1, stream_method_reference.nextTree());
 				adaptor.addChild(root_0, root_1);
 				}
 
@@ -15631,24 +12952,24 @@
 
 
 	// $ANTLR start "insn_format35c_type"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1030:1: insn_format35c_type : INSTRUCTION_FORMAT35c_TYPE OPEN_BRACE register_list CLOSE_BRACE COMMA nonvoid_type_descriptor -> ^( I_STATEMENT_FORMAT35c_TYPE[$start, \"I_STATEMENT_FORMAT35c_TYPE\"] INSTRUCTION_FORMAT35c_TYPE register_list nonvoid_type_descriptor ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1017:1: insn_format35c_type : INSTRUCTION_FORMAT35c_TYPE OPEN_BRACE register_list CLOSE_BRACE COMMA nonvoid_type_descriptor -> ^( I_STATEMENT_FORMAT35c_TYPE[$start, \"I_STATEMENT_FORMAT35c_TYPE\"] INSTRUCTION_FORMAT35c_TYPE register_list nonvoid_type_descriptor ) ;
 	public final smaliParser.insn_format35c_type_return insn_format35c_type() throws RecognitionException {
 		smaliParser.insn_format35c_type_return retval = new smaliParser.insn_format35c_type_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token INSTRUCTION_FORMAT35c_TYPE405=null;
-		Token OPEN_BRACE406=null;
-		Token CLOSE_BRACE408=null;
-		Token COMMA409=null;
-		ParserRuleReturnScope register_list407 =null;
-		ParserRuleReturnScope nonvoid_type_descriptor410 =null;
+		Token INSTRUCTION_FORMAT35c_TYPE413=null;
+		Token OPEN_BRACE414=null;
+		Token CLOSE_BRACE416=null;
+		Token COMMA417=null;
+		ParserRuleReturnScope register_list415 =null;
+		ParserRuleReturnScope nonvoid_type_descriptor418 =null;
 
-		CommonTree INSTRUCTION_FORMAT35c_TYPE405_tree=null;
-		CommonTree OPEN_BRACE406_tree=null;
-		CommonTree CLOSE_BRACE408_tree=null;
-		CommonTree COMMA409_tree=null;
+		CommonTree INSTRUCTION_FORMAT35c_TYPE413_tree=null;
+		CommonTree OPEN_BRACE414_tree=null;
+		CommonTree CLOSE_BRACE416_tree=null;
+		CommonTree COMMA417_tree=null;
 		RewriteRuleTokenStream stream_CLOSE_BRACE=new RewriteRuleTokenStream(adaptor,"token CLOSE_BRACE");
 		RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA");
 		RewriteRuleTokenStream stream_OPEN_BRACE=new RewriteRuleTokenStream(adaptor,"token OPEN_BRACE");
@@ -15657,45 +12978,45 @@
 		RewriteRuleSubtreeStream stream_register_list=new RewriteRuleSubtreeStream(adaptor,"rule register_list");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1031:3: ( INSTRUCTION_FORMAT35c_TYPE OPEN_BRACE register_list CLOSE_BRACE COMMA nonvoid_type_descriptor -> ^( I_STATEMENT_FORMAT35c_TYPE[$start, \"I_STATEMENT_FORMAT35c_TYPE\"] INSTRUCTION_FORMAT35c_TYPE register_list nonvoid_type_descriptor ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1032:5: INSTRUCTION_FORMAT35c_TYPE OPEN_BRACE register_list CLOSE_BRACE COMMA nonvoid_type_descriptor
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1018:3: ( INSTRUCTION_FORMAT35c_TYPE OPEN_BRACE register_list CLOSE_BRACE COMMA nonvoid_type_descriptor -> ^( I_STATEMENT_FORMAT35c_TYPE[$start, \"I_STATEMENT_FORMAT35c_TYPE\"] INSTRUCTION_FORMAT35c_TYPE register_list nonvoid_type_descriptor ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1019:5: INSTRUCTION_FORMAT35c_TYPE OPEN_BRACE register_list CLOSE_BRACE COMMA nonvoid_type_descriptor
 			{
-			INSTRUCTION_FORMAT35c_TYPE405=(Token)match(input,INSTRUCTION_FORMAT35c_TYPE,FOLLOW_INSTRUCTION_FORMAT35c_TYPE_in_insn_format35c_type5224);  
-			stream_INSTRUCTION_FORMAT35c_TYPE.add(INSTRUCTION_FORMAT35c_TYPE405);
+			INSTRUCTION_FORMAT35c_TYPE413=(Token)match(input,INSTRUCTION_FORMAT35c_TYPE,FOLLOW_INSTRUCTION_FORMAT35c_TYPE_in_insn_format35c_type5180);
+			stream_INSTRUCTION_FORMAT35c_TYPE.add(INSTRUCTION_FORMAT35c_TYPE413);
 
-			OPEN_BRACE406=(Token)match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_insn_format35c_type5226);  
-			stream_OPEN_BRACE.add(OPEN_BRACE406);
+			OPEN_BRACE414=(Token)match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_insn_format35c_type5182);
+			stream_OPEN_BRACE.add(OPEN_BRACE414);
 
-			pushFollow(FOLLOW_register_list_in_insn_format35c_type5228);
-			register_list407=register_list();
+			pushFollow(FOLLOW_register_list_in_insn_format35c_type5184);
+			register_list415=register_list();
 			state._fsp--;
 
-			stream_register_list.add(register_list407.getTree());
-			CLOSE_BRACE408=(Token)match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_insn_format35c_type5230);  
-			stream_CLOSE_BRACE.add(CLOSE_BRACE408);
+			stream_register_list.add(register_list415.getTree());
+			CLOSE_BRACE416=(Token)match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_insn_format35c_type5186);
+			stream_CLOSE_BRACE.add(CLOSE_BRACE416);
 
-			COMMA409=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format35c_type5232);  
-			stream_COMMA.add(COMMA409);
+			COMMA417=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format35c_type5188);
+			stream_COMMA.add(COMMA417);
 
-			pushFollow(FOLLOW_nonvoid_type_descriptor_in_insn_format35c_type5234);
-			nonvoid_type_descriptor410=nonvoid_type_descriptor();
+			pushFollow(FOLLOW_nonvoid_type_descriptor_in_insn_format35c_type5190);
+			nonvoid_type_descriptor418=nonvoid_type_descriptor();
 			state._fsp--;
 
-			stream_nonvoid_type_descriptor.add(nonvoid_type_descriptor410.getTree());
+			stream_nonvoid_type_descriptor.add(nonvoid_type_descriptor418.getTree());
 			// AST REWRITE
-			// elements: nonvoid_type_descriptor, INSTRUCTION_FORMAT35c_TYPE, register_list
-			// token labels: 
+			// elements: register_list, nonvoid_type_descriptor, INSTRUCTION_FORMAT35c_TYPE
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 1033:5: -> ^( I_STATEMENT_FORMAT35c_TYPE[$start, \"I_STATEMENT_FORMAT35c_TYPE\"] INSTRUCTION_FORMAT35c_TYPE register_list nonvoid_type_descriptor )
+			// 1020:5: -> ^( I_STATEMENT_FORMAT35c_TYPE[$start, \"I_STATEMENT_FORMAT35c_TYPE\"] INSTRUCTION_FORMAT35c_TYPE register_list nonvoid_type_descriptor )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1033:8: ^( I_STATEMENT_FORMAT35c_TYPE[$start, \"I_STATEMENT_FORMAT35c_TYPE\"] INSTRUCTION_FORMAT35c_TYPE register_list nonvoid_type_descriptor )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1020:8: ^( I_STATEMENT_FORMAT35c_TYPE[$start, \"I_STATEMENT_FORMAT35c_TYPE\"] INSTRUCTION_FORMAT35c_TYPE register_list nonvoid_type_descriptor )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT35c_TYPE, (retval.start), "I_STATEMENT_FORMAT35c_TYPE"), root_1);
@@ -15739,63 +13060,63 @@
 
 
 	// $ANTLR start "insn_format35c_method_odex"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1035:1: insn_format35c_method_odex : INSTRUCTION_FORMAT35c_METHOD_ODEX OPEN_BRACE register_list CLOSE_BRACE COMMA fully_qualified_method ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1022:1: insn_format35c_method_odex : INSTRUCTION_FORMAT35c_METHOD_ODEX OPEN_BRACE register_list CLOSE_BRACE COMMA method_reference ;
 	public final smaliParser.insn_format35c_method_odex_return insn_format35c_method_odex() throws RecognitionException {
 		smaliParser.insn_format35c_method_odex_return retval = new smaliParser.insn_format35c_method_odex_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token INSTRUCTION_FORMAT35c_METHOD_ODEX411=null;
-		Token OPEN_BRACE412=null;
-		Token CLOSE_BRACE414=null;
-		Token COMMA415=null;
-		ParserRuleReturnScope register_list413 =null;
-		ParserRuleReturnScope fully_qualified_method416 =null;
+		Token INSTRUCTION_FORMAT35c_METHOD_ODEX419=null;
+		Token OPEN_BRACE420=null;
+		Token CLOSE_BRACE422=null;
+		Token COMMA423=null;
+		ParserRuleReturnScope register_list421 =null;
+		ParserRuleReturnScope method_reference424 =null;
 
-		CommonTree INSTRUCTION_FORMAT35c_METHOD_ODEX411_tree=null;
-		CommonTree OPEN_BRACE412_tree=null;
-		CommonTree CLOSE_BRACE414_tree=null;
-		CommonTree COMMA415_tree=null;
+		CommonTree INSTRUCTION_FORMAT35c_METHOD_ODEX419_tree=null;
+		CommonTree OPEN_BRACE420_tree=null;
+		CommonTree CLOSE_BRACE422_tree=null;
+		CommonTree COMMA423_tree=null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1036:3: ( INSTRUCTION_FORMAT35c_METHOD_ODEX OPEN_BRACE register_list CLOSE_BRACE COMMA fully_qualified_method )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1037:5: INSTRUCTION_FORMAT35c_METHOD_ODEX OPEN_BRACE register_list CLOSE_BRACE COMMA fully_qualified_method
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1023:3: ( INSTRUCTION_FORMAT35c_METHOD_ODEX OPEN_BRACE register_list CLOSE_BRACE COMMA method_reference )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1024:5: INSTRUCTION_FORMAT35c_METHOD_ODEX OPEN_BRACE register_list CLOSE_BRACE COMMA method_reference
 			{
 			root_0 = (CommonTree)adaptor.nil();
 
 
-			INSTRUCTION_FORMAT35c_METHOD_ODEX411=(Token)match(input,INSTRUCTION_FORMAT35c_METHOD_ODEX,FOLLOW_INSTRUCTION_FORMAT35c_METHOD_ODEX_in_insn_format35c_method_odex5266); 
-			INSTRUCTION_FORMAT35c_METHOD_ODEX411_tree = (CommonTree)adaptor.create(INSTRUCTION_FORMAT35c_METHOD_ODEX411);
-			adaptor.addChild(root_0, INSTRUCTION_FORMAT35c_METHOD_ODEX411_tree);
+			INSTRUCTION_FORMAT35c_METHOD_ODEX419=(Token)match(input,INSTRUCTION_FORMAT35c_METHOD_ODEX,FOLLOW_INSTRUCTION_FORMAT35c_METHOD_ODEX_in_insn_format35c_method_odex5222);
+			INSTRUCTION_FORMAT35c_METHOD_ODEX419_tree = (CommonTree)adaptor.create(INSTRUCTION_FORMAT35c_METHOD_ODEX419);
+			adaptor.addChild(root_0, INSTRUCTION_FORMAT35c_METHOD_ODEX419_tree);
 
-			OPEN_BRACE412=(Token)match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_insn_format35c_method_odex5268); 
-			OPEN_BRACE412_tree = (CommonTree)adaptor.create(OPEN_BRACE412);
-			adaptor.addChild(root_0, OPEN_BRACE412_tree);
+			OPEN_BRACE420=(Token)match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_insn_format35c_method_odex5224);
+			OPEN_BRACE420_tree = (CommonTree)adaptor.create(OPEN_BRACE420);
+			adaptor.addChild(root_0, OPEN_BRACE420_tree);
 
-			pushFollow(FOLLOW_register_list_in_insn_format35c_method_odex5270);
-			register_list413=register_list();
+			pushFollow(FOLLOW_register_list_in_insn_format35c_method_odex5226);
+			register_list421=register_list();
 			state._fsp--;
 
-			adaptor.addChild(root_0, register_list413.getTree());
+			adaptor.addChild(root_0, register_list421.getTree());
 
-			CLOSE_BRACE414=(Token)match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_insn_format35c_method_odex5272); 
-			CLOSE_BRACE414_tree = (CommonTree)adaptor.create(CLOSE_BRACE414);
-			adaptor.addChild(root_0, CLOSE_BRACE414_tree);
+			CLOSE_BRACE422=(Token)match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_insn_format35c_method_odex5228);
+			CLOSE_BRACE422_tree = (CommonTree)adaptor.create(CLOSE_BRACE422);
+			adaptor.addChild(root_0, CLOSE_BRACE422_tree);
 
-			COMMA415=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format35c_method_odex5274); 
-			COMMA415_tree = (CommonTree)adaptor.create(COMMA415);
-			adaptor.addChild(root_0, COMMA415_tree);
+			COMMA423=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format35c_method_odex5230);
+			COMMA423_tree = (CommonTree)adaptor.create(COMMA423);
+			adaptor.addChild(root_0, COMMA423_tree);
 
-			pushFollow(FOLLOW_fully_qualified_method_in_insn_format35c_method_odex5276);
-			fully_qualified_method416=fully_qualified_method();
+			pushFollow(FOLLOW_method_reference_in_insn_format35c_method_odex5232);
+			method_reference424=method_reference();
 			state._fsp--;
 
-			adaptor.addChild(root_0, fully_qualified_method416.getTree());
+			adaptor.addChild(root_0, method_reference424.getTree());
 
 
-			      throwOdexedInstructionException(input, (INSTRUCTION_FORMAT35c_METHOD_ODEX411!=null?INSTRUCTION_FORMAT35c_METHOD_ODEX411.getText():null));
-			    
+			      throwOdexedInstructionException(input, (INSTRUCTION_FORMAT35c_METHOD_ODEX419!=null?INSTRUCTION_FORMAT35c_METHOD_ODEX419.getText():null));
+			
 			}
 
 			retval.stop = input.LT(-1);
@@ -15825,62 +13146,62 @@
 
 
 	// $ANTLR start "insn_format35mi_method"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1042:1: insn_format35mi_method : INSTRUCTION_FORMAT35mi_METHOD OPEN_BRACE register_list CLOSE_BRACE COMMA INLINE_INDEX ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1029:1: insn_format35mi_method : INSTRUCTION_FORMAT35mi_METHOD OPEN_BRACE register_list CLOSE_BRACE COMMA INLINE_INDEX ;
 	public final smaliParser.insn_format35mi_method_return insn_format35mi_method() throws RecognitionException {
 		smaliParser.insn_format35mi_method_return retval = new smaliParser.insn_format35mi_method_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token INSTRUCTION_FORMAT35mi_METHOD417=null;
-		Token OPEN_BRACE418=null;
-		Token CLOSE_BRACE420=null;
-		Token COMMA421=null;
-		Token INLINE_INDEX422=null;
-		ParserRuleReturnScope register_list419 =null;
+		Token INSTRUCTION_FORMAT35mi_METHOD425=null;
+		Token OPEN_BRACE426=null;
+		Token CLOSE_BRACE428=null;
+		Token COMMA429=null;
+		Token INLINE_INDEX430=null;
+		ParserRuleReturnScope register_list427 =null;
 
-		CommonTree INSTRUCTION_FORMAT35mi_METHOD417_tree=null;
-		CommonTree OPEN_BRACE418_tree=null;
-		CommonTree CLOSE_BRACE420_tree=null;
-		CommonTree COMMA421_tree=null;
-		CommonTree INLINE_INDEX422_tree=null;
+		CommonTree INSTRUCTION_FORMAT35mi_METHOD425_tree=null;
+		CommonTree OPEN_BRACE426_tree=null;
+		CommonTree CLOSE_BRACE428_tree=null;
+		CommonTree COMMA429_tree=null;
+		CommonTree INLINE_INDEX430_tree=null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1043:3: ( INSTRUCTION_FORMAT35mi_METHOD OPEN_BRACE register_list CLOSE_BRACE COMMA INLINE_INDEX )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1044:5: INSTRUCTION_FORMAT35mi_METHOD OPEN_BRACE register_list CLOSE_BRACE COMMA INLINE_INDEX
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1030:3: ( INSTRUCTION_FORMAT35mi_METHOD OPEN_BRACE register_list CLOSE_BRACE COMMA INLINE_INDEX )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1031:5: INSTRUCTION_FORMAT35mi_METHOD OPEN_BRACE register_list CLOSE_BRACE COMMA INLINE_INDEX
 			{
 			root_0 = (CommonTree)adaptor.nil();
 
 
-			INSTRUCTION_FORMAT35mi_METHOD417=(Token)match(input,INSTRUCTION_FORMAT35mi_METHOD,FOLLOW_INSTRUCTION_FORMAT35mi_METHOD_in_insn_format35mi_method5297); 
-			INSTRUCTION_FORMAT35mi_METHOD417_tree = (CommonTree)adaptor.create(INSTRUCTION_FORMAT35mi_METHOD417);
-			adaptor.addChild(root_0, INSTRUCTION_FORMAT35mi_METHOD417_tree);
+			INSTRUCTION_FORMAT35mi_METHOD425=(Token)match(input,INSTRUCTION_FORMAT35mi_METHOD,FOLLOW_INSTRUCTION_FORMAT35mi_METHOD_in_insn_format35mi_method5253);
+			INSTRUCTION_FORMAT35mi_METHOD425_tree = (CommonTree)adaptor.create(INSTRUCTION_FORMAT35mi_METHOD425);
+			adaptor.addChild(root_0, INSTRUCTION_FORMAT35mi_METHOD425_tree);
 
-			OPEN_BRACE418=(Token)match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_insn_format35mi_method5299); 
-			OPEN_BRACE418_tree = (CommonTree)adaptor.create(OPEN_BRACE418);
-			adaptor.addChild(root_0, OPEN_BRACE418_tree);
+			OPEN_BRACE426=(Token)match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_insn_format35mi_method5255);
+			OPEN_BRACE426_tree = (CommonTree)adaptor.create(OPEN_BRACE426);
+			adaptor.addChild(root_0, OPEN_BRACE426_tree);
 
-			pushFollow(FOLLOW_register_list_in_insn_format35mi_method5301);
-			register_list419=register_list();
+			pushFollow(FOLLOW_register_list_in_insn_format35mi_method5257);
+			register_list427=register_list();
 			state._fsp--;
 
-			adaptor.addChild(root_0, register_list419.getTree());
+			adaptor.addChild(root_0, register_list427.getTree());
 
-			CLOSE_BRACE420=(Token)match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_insn_format35mi_method5303); 
-			CLOSE_BRACE420_tree = (CommonTree)adaptor.create(CLOSE_BRACE420);
-			adaptor.addChild(root_0, CLOSE_BRACE420_tree);
+			CLOSE_BRACE428=(Token)match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_insn_format35mi_method5259);
+			CLOSE_BRACE428_tree = (CommonTree)adaptor.create(CLOSE_BRACE428);
+			adaptor.addChild(root_0, CLOSE_BRACE428_tree);
 
-			COMMA421=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format35mi_method5305); 
-			COMMA421_tree = (CommonTree)adaptor.create(COMMA421);
-			adaptor.addChild(root_0, COMMA421_tree);
+			COMMA429=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format35mi_method5261);
+			COMMA429_tree = (CommonTree)adaptor.create(COMMA429);
+			adaptor.addChild(root_0, COMMA429_tree);
 
-			INLINE_INDEX422=(Token)match(input,INLINE_INDEX,FOLLOW_INLINE_INDEX_in_insn_format35mi_method5307); 
-			INLINE_INDEX422_tree = (CommonTree)adaptor.create(INLINE_INDEX422);
-			adaptor.addChild(root_0, INLINE_INDEX422_tree);
+			INLINE_INDEX430=(Token)match(input,INLINE_INDEX,FOLLOW_INLINE_INDEX_in_insn_format35mi_method5263);
+			INLINE_INDEX430_tree = (CommonTree)adaptor.create(INLINE_INDEX430);
+			adaptor.addChild(root_0, INLINE_INDEX430_tree);
 
 
-			      throwOdexedInstructionException(input, (INSTRUCTION_FORMAT35mi_METHOD417!=null?INSTRUCTION_FORMAT35mi_METHOD417.getText():null));
-			    
+			      throwOdexedInstructionException(input, (INSTRUCTION_FORMAT35mi_METHOD425!=null?INSTRUCTION_FORMAT35mi_METHOD425.getText():null));
+			
 			}
 
 			retval.stop = input.LT(-1);
@@ -15910,62 +13231,62 @@
 
 
 	// $ANTLR start "insn_format35ms_method"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1049:1: insn_format35ms_method : INSTRUCTION_FORMAT35ms_METHOD OPEN_BRACE register_list CLOSE_BRACE COMMA VTABLE_INDEX ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1036:1: insn_format35ms_method : INSTRUCTION_FORMAT35ms_METHOD OPEN_BRACE register_list CLOSE_BRACE COMMA VTABLE_INDEX ;
 	public final smaliParser.insn_format35ms_method_return insn_format35ms_method() throws RecognitionException {
 		smaliParser.insn_format35ms_method_return retval = new smaliParser.insn_format35ms_method_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token INSTRUCTION_FORMAT35ms_METHOD423=null;
-		Token OPEN_BRACE424=null;
-		Token CLOSE_BRACE426=null;
-		Token COMMA427=null;
-		Token VTABLE_INDEX428=null;
-		ParserRuleReturnScope register_list425 =null;
+		Token INSTRUCTION_FORMAT35ms_METHOD431=null;
+		Token OPEN_BRACE432=null;
+		Token CLOSE_BRACE434=null;
+		Token COMMA435=null;
+		Token VTABLE_INDEX436=null;
+		ParserRuleReturnScope register_list433 =null;
 
-		CommonTree INSTRUCTION_FORMAT35ms_METHOD423_tree=null;
-		CommonTree OPEN_BRACE424_tree=null;
-		CommonTree CLOSE_BRACE426_tree=null;
-		CommonTree COMMA427_tree=null;
-		CommonTree VTABLE_INDEX428_tree=null;
+		CommonTree INSTRUCTION_FORMAT35ms_METHOD431_tree=null;
+		CommonTree OPEN_BRACE432_tree=null;
+		CommonTree CLOSE_BRACE434_tree=null;
+		CommonTree COMMA435_tree=null;
+		CommonTree VTABLE_INDEX436_tree=null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1050:3: ( INSTRUCTION_FORMAT35ms_METHOD OPEN_BRACE register_list CLOSE_BRACE COMMA VTABLE_INDEX )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1051:5: INSTRUCTION_FORMAT35ms_METHOD OPEN_BRACE register_list CLOSE_BRACE COMMA VTABLE_INDEX
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1037:3: ( INSTRUCTION_FORMAT35ms_METHOD OPEN_BRACE register_list CLOSE_BRACE COMMA VTABLE_INDEX )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1038:5: INSTRUCTION_FORMAT35ms_METHOD OPEN_BRACE register_list CLOSE_BRACE COMMA VTABLE_INDEX
 			{
 			root_0 = (CommonTree)adaptor.nil();
 
 
-			INSTRUCTION_FORMAT35ms_METHOD423=(Token)match(input,INSTRUCTION_FORMAT35ms_METHOD,FOLLOW_INSTRUCTION_FORMAT35ms_METHOD_in_insn_format35ms_method5328); 
-			INSTRUCTION_FORMAT35ms_METHOD423_tree = (CommonTree)adaptor.create(INSTRUCTION_FORMAT35ms_METHOD423);
-			adaptor.addChild(root_0, INSTRUCTION_FORMAT35ms_METHOD423_tree);
+			INSTRUCTION_FORMAT35ms_METHOD431=(Token)match(input,INSTRUCTION_FORMAT35ms_METHOD,FOLLOW_INSTRUCTION_FORMAT35ms_METHOD_in_insn_format35ms_method5284);
+			INSTRUCTION_FORMAT35ms_METHOD431_tree = (CommonTree)adaptor.create(INSTRUCTION_FORMAT35ms_METHOD431);
+			adaptor.addChild(root_0, INSTRUCTION_FORMAT35ms_METHOD431_tree);
 
-			OPEN_BRACE424=(Token)match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_insn_format35ms_method5330); 
-			OPEN_BRACE424_tree = (CommonTree)adaptor.create(OPEN_BRACE424);
-			adaptor.addChild(root_0, OPEN_BRACE424_tree);
+			OPEN_BRACE432=(Token)match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_insn_format35ms_method5286);
+			OPEN_BRACE432_tree = (CommonTree)adaptor.create(OPEN_BRACE432);
+			adaptor.addChild(root_0, OPEN_BRACE432_tree);
 
-			pushFollow(FOLLOW_register_list_in_insn_format35ms_method5332);
-			register_list425=register_list();
+			pushFollow(FOLLOW_register_list_in_insn_format35ms_method5288);
+			register_list433=register_list();
 			state._fsp--;
 
-			adaptor.addChild(root_0, register_list425.getTree());
+			adaptor.addChild(root_0, register_list433.getTree());
 
-			CLOSE_BRACE426=(Token)match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_insn_format35ms_method5334); 
-			CLOSE_BRACE426_tree = (CommonTree)adaptor.create(CLOSE_BRACE426);
-			adaptor.addChild(root_0, CLOSE_BRACE426_tree);
+			CLOSE_BRACE434=(Token)match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_insn_format35ms_method5290);
+			CLOSE_BRACE434_tree = (CommonTree)adaptor.create(CLOSE_BRACE434);
+			adaptor.addChild(root_0, CLOSE_BRACE434_tree);
 
-			COMMA427=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format35ms_method5336); 
-			COMMA427_tree = (CommonTree)adaptor.create(COMMA427);
-			adaptor.addChild(root_0, COMMA427_tree);
+			COMMA435=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format35ms_method5292);
+			COMMA435_tree = (CommonTree)adaptor.create(COMMA435);
+			adaptor.addChild(root_0, COMMA435_tree);
 
-			VTABLE_INDEX428=(Token)match(input,VTABLE_INDEX,FOLLOW_VTABLE_INDEX_in_insn_format35ms_method5338); 
-			VTABLE_INDEX428_tree = (CommonTree)adaptor.create(VTABLE_INDEX428);
-			adaptor.addChild(root_0, VTABLE_INDEX428_tree);
+			VTABLE_INDEX436=(Token)match(input,VTABLE_INDEX,FOLLOW_VTABLE_INDEX_in_insn_format35ms_method5294);
+			VTABLE_INDEX436_tree = (CommonTree)adaptor.create(VTABLE_INDEX436);
+			adaptor.addChild(root_0, VTABLE_INDEX436_tree);
 
 
-			      throwOdexedInstructionException(input, (INSTRUCTION_FORMAT35ms_METHOD423!=null?INSTRUCTION_FORMAT35ms_METHOD423.getText():null));
-			    
+			      throwOdexedInstructionException(input, (INSTRUCTION_FORMAT35ms_METHOD431!=null?INSTRUCTION_FORMAT35ms_METHOD431.getText():null));
+			
 			}
 
 			retval.stop = input.LT(-1);
@@ -15995,77 +13316,77 @@
 
 
 	// $ANTLR start "insn_format3rc_method"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1056:1: insn_format3rc_method : INSTRUCTION_FORMAT3rc_METHOD OPEN_BRACE register_range CLOSE_BRACE COMMA fully_qualified_method -> ^( I_STATEMENT_FORMAT3rc_METHOD[$start, \"I_STATEMENT_FORMAT3rc_METHOD\"] INSTRUCTION_FORMAT3rc_METHOD register_range fully_qualified_method ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1043:1: insn_format3rc_method : INSTRUCTION_FORMAT3rc_METHOD OPEN_BRACE register_range CLOSE_BRACE COMMA method_reference -> ^( I_STATEMENT_FORMAT3rc_METHOD[$start, \"I_STATEMENT_FORMAT3rc_METHOD\"] INSTRUCTION_FORMAT3rc_METHOD register_range method_reference ) ;
 	public final smaliParser.insn_format3rc_method_return insn_format3rc_method() throws RecognitionException {
 		smaliParser.insn_format3rc_method_return retval = new smaliParser.insn_format3rc_method_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token INSTRUCTION_FORMAT3rc_METHOD429=null;
-		Token OPEN_BRACE430=null;
-		Token CLOSE_BRACE432=null;
-		Token COMMA433=null;
-		ParserRuleReturnScope register_range431 =null;
-		ParserRuleReturnScope fully_qualified_method434 =null;
+		Token INSTRUCTION_FORMAT3rc_METHOD437=null;
+		Token OPEN_BRACE438=null;
+		Token CLOSE_BRACE440=null;
+		Token COMMA441=null;
+		ParserRuleReturnScope register_range439 =null;
+		ParserRuleReturnScope method_reference442 =null;
 
-		CommonTree INSTRUCTION_FORMAT3rc_METHOD429_tree=null;
-		CommonTree OPEN_BRACE430_tree=null;
-		CommonTree CLOSE_BRACE432_tree=null;
-		CommonTree COMMA433_tree=null;
+		CommonTree INSTRUCTION_FORMAT3rc_METHOD437_tree=null;
+		CommonTree OPEN_BRACE438_tree=null;
+		CommonTree CLOSE_BRACE440_tree=null;
+		CommonTree COMMA441_tree=null;
 		RewriteRuleTokenStream stream_CLOSE_BRACE=new RewriteRuleTokenStream(adaptor,"token CLOSE_BRACE");
 		RewriteRuleTokenStream stream_INSTRUCTION_FORMAT3rc_METHOD=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT3rc_METHOD");
 		RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA");
 		RewriteRuleTokenStream stream_OPEN_BRACE=new RewriteRuleTokenStream(adaptor,"token OPEN_BRACE");
-		RewriteRuleSubtreeStream stream_fully_qualified_method=new RewriteRuleSubtreeStream(adaptor,"rule fully_qualified_method");
+		RewriteRuleSubtreeStream stream_method_reference=new RewriteRuleSubtreeStream(adaptor,"rule method_reference");
 		RewriteRuleSubtreeStream stream_register_range=new RewriteRuleSubtreeStream(adaptor,"rule register_range");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1057:3: ( INSTRUCTION_FORMAT3rc_METHOD OPEN_BRACE register_range CLOSE_BRACE COMMA fully_qualified_method -> ^( I_STATEMENT_FORMAT3rc_METHOD[$start, \"I_STATEMENT_FORMAT3rc_METHOD\"] INSTRUCTION_FORMAT3rc_METHOD register_range fully_qualified_method ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1058:5: INSTRUCTION_FORMAT3rc_METHOD OPEN_BRACE register_range CLOSE_BRACE COMMA fully_qualified_method
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1044:3: ( INSTRUCTION_FORMAT3rc_METHOD OPEN_BRACE register_range CLOSE_BRACE COMMA method_reference -> ^( I_STATEMENT_FORMAT3rc_METHOD[$start, \"I_STATEMENT_FORMAT3rc_METHOD\"] INSTRUCTION_FORMAT3rc_METHOD register_range method_reference ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1045:5: INSTRUCTION_FORMAT3rc_METHOD OPEN_BRACE register_range CLOSE_BRACE COMMA method_reference
 			{
-			INSTRUCTION_FORMAT3rc_METHOD429=(Token)match(input,INSTRUCTION_FORMAT3rc_METHOD,FOLLOW_INSTRUCTION_FORMAT3rc_METHOD_in_insn_format3rc_method5359);  
-			stream_INSTRUCTION_FORMAT3rc_METHOD.add(INSTRUCTION_FORMAT3rc_METHOD429);
+			INSTRUCTION_FORMAT3rc_METHOD437=(Token)match(input,INSTRUCTION_FORMAT3rc_METHOD,FOLLOW_INSTRUCTION_FORMAT3rc_METHOD_in_insn_format3rc_method5315);
+			stream_INSTRUCTION_FORMAT3rc_METHOD.add(INSTRUCTION_FORMAT3rc_METHOD437);
 
-			OPEN_BRACE430=(Token)match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_insn_format3rc_method5361);  
-			stream_OPEN_BRACE.add(OPEN_BRACE430);
+			OPEN_BRACE438=(Token)match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_insn_format3rc_method5317);
+			stream_OPEN_BRACE.add(OPEN_BRACE438);
 
-			pushFollow(FOLLOW_register_range_in_insn_format3rc_method5363);
-			register_range431=register_range();
+			pushFollow(FOLLOW_register_range_in_insn_format3rc_method5319);
+			register_range439=register_range();
 			state._fsp--;
 
-			stream_register_range.add(register_range431.getTree());
-			CLOSE_BRACE432=(Token)match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_insn_format3rc_method5365);  
-			stream_CLOSE_BRACE.add(CLOSE_BRACE432);
+			stream_register_range.add(register_range439.getTree());
+			CLOSE_BRACE440=(Token)match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_insn_format3rc_method5321);
+			stream_CLOSE_BRACE.add(CLOSE_BRACE440);
 
-			COMMA433=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format3rc_method5367);  
-			stream_COMMA.add(COMMA433);
+			COMMA441=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format3rc_method5323);
+			stream_COMMA.add(COMMA441);
 
-			pushFollow(FOLLOW_fully_qualified_method_in_insn_format3rc_method5369);
-			fully_qualified_method434=fully_qualified_method();
+			pushFollow(FOLLOW_method_reference_in_insn_format3rc_method5325);
+			method_reference442=method_reference();
 			state._fsp--;
 
-			stream_fully_qualified_method.add(fully_qualified_method434.getTree());
+			stream_method_reference.add(method_reference442.getTree());
 			// AST REWRITE
-			// elements: register_range, fully_qualified_method, INSTRUCTION_FORMAT3rc_METHOD
-			// token labels: 
+			// elements: INSTRUCTION_FORMAT3rc_METHOD, method_reference, register_range
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 1059:5: -> ^( I_STATEMENT_FORMAT3rc_METHOD[$start, \"I_STATEMENT_FORMAT3rc_METHOD\"] INSTRUCTION_FORMAT3rc_METHOD register_range fully_qualified_method )
+			// 1046:5: -> ^( I_STATEMENT_FORMAT3rc_METHOD[$start, \"I_STATEMENT_FORMAT3rc_METHOD\"] INSTRUCTION_FORMAT3rc_METHOD register_range method_reference )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1059:8: ^( I_STATEMENT_FORMAT3rc_METHOD[$start, \"I_STATEMENT_FORMAT3rc_METHOD\"] INSTRUCTION_FORMAT3rc_METHOD register_range fully_qualified_method )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1046:8: ^( I_STATEMENT_FORMAT3rc_METHOD[$start, \"I_STATEMENT_FORMAT3rc_METHOD\"] INSTRUCTION_FORMAT3rc_METHOD register_range method_reference )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT3rc_METHOD, (retval.start), "I_STATEMENT_FORMAT3rc_METHOD"), root_1);
 				adaptor.addChild(root_1, stream_INSTRUCTION_FORMAT3rc_METHOD.nextNode());
 				adaptor.addChild(root_1, stream_register_range.nextTree());
-				adaptor.addChild(root_1, stream_fully_qualified_method.nextTree());
+				adaptor.addChild(root_1, stream_method_reference.nextTree());
 				adaptor.addChild(root_0, root_1);
 				}
 
@@ -16103,63 +13424,63 @@
 
 
 	// $ANTLR start "insn_format3rc_method_odex"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1061:1: insn_format3rc_method_odex : INSTRUCTION_FORMAT3rc_METHOD_ODEX OPEN_BRACE register_list CLOSE_BRACE COMMA fully_qualified_method ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1048:1: insn_format3rc_method_odex : INSTRUCTION_FORMAT3rc_METHOD_ODEX OPEN_BRACE register_list CLOSE_BRACE COMMA method_reference ;
 	public final smaliParser.insn_format3rc_method_odex_return insn_format3rc_method_odex() throws RecognitionException {
 		smaliParser.insn_format3rc_method_odex_return retval = new smaliParser.insn_format3rc_method_odex_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token INSTRUCTION_FORMAT3rc_METHOD_ODEX435=null;
-		Token OPEN_BRACE436=null;
-		Token CLOSE_BRACE438=null;
-		Token COMMA439=null;
-		ParserRuleReturnScope register_list437 =null;
-		ParserRuleReturnScope fully_qualified_method440 =null;
+		Token INSTRUCTION_FORMAT3rc_METHOD_ODEX443=null;
+		Token OPEN_BRACE444=null;
+		Token CLOSE_BRACE446=null;
+		Token COMMA447=null;
+		ParserRuleReturnScope register_list445 =null;
+		ParserRuleReturnScope method_reference448 =null;
 
-		CommonTree INSTRUCTION_FORMAT3rc_METHOD_ODEX435_tree=null;
-		CommonTree OPEN_BRACE436_tree=null;
-		CommonTree CLOSE_BRACE438_tree=null;
-		CommonTree COMMA439_tree=null;
+		CommonTree INSTRUCTION_FORMAT3rc_METHOD_ODEX443_tree=null;
+		CommonTree OPEN_BRACE444_tree=null;
+		CommonTree CLOSE_BRACE446_tree=null;
+		CommonTree COMMA447_tree=null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1062:3: ( INSTRUCTION_FORMAT3rc_METHOD_ODEX OPEN_BRACE register_list CLOSE_BRACE COMMA fully_qualified_method )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1063:5: INSTRUCTION_FORMAT3rc_METHOD_ODEX OPEN_BRACE register_list CLOSE_BRACE COMMA fully_qualified_method
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1049:3: ( INSTRUCTION_FORMAT3rc_METHOD_ODEX OPEN_BRACE register_list CLOSE_BRACE COMMA method_reference )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1050:5: INSTRUCTION_FORMAT3rc_METHOD_ODEX OPEN_BRACE register_list CLOSE_BRACE COMMA method_reference
 			{
 			root_0 = (CommonTree)adaptor.nil();
 
 
-			INSTRUCTION_FORMAT3rc_METHOD_ODEX435=(Token)match(input,INSTRUCTION_FORMAT3rc_METHOD_ODEX,FOLLOW_INSTRUCTION_FORMAT3rc_METHOD_ODEX_in_insn_format3rc_method_odex5401); 
-			INSTRUCTION_FORMAT3rc_METHOD_ODEX435_tree = (CommonTree)adaptor.create(INSTRUCTION_FORMAT3rc_METHOD_ODEX435);
-			adaptor.addChild(root_0, INSTRUCTION_FORMAT3rc_METHOD_ODEX435_tree);
+			INSTRUCTION_FORMAT3rc_METHOD_ODEX443=(Token)match(input,INSTRUCTION_FORMAT3rc_METHOD_ODEX,FOLLOW_INSTRUCTION_FORMAT3rc_METHOD_ODEX_in_insn_format3rc_method_odex5357);
+			INSTRUCTION_FORMAT3rc_METHOD_ODEX443_tree = (CommonTree)adaptor.create(INSTRUCTION_FORMAT3rc_METHOD_ODEX443);
+			adaptor.addChild(root_0, INSTRUCTION_FORMAT3rc_METHOD_ODEX443_tree);
 
-			OPEN_BRACE436=(Token)match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_insn_format3rc_method_odex5403); 
-			OPEN_BRACE436_tree = (CommonTree)adaptor.create(OPEN_BRACE436);
-			adaptor.addChild(root_0, OPEN_BRACE436_tree);
+			OPEN_BRACE444=(Token)match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_insn_format3rc_method_odex5359);
+			OPEN_BRACE444_tree = (CommonTree)adaptor.create(OPEN_BRACE444);
+			adaptor.addChild(root_0, OPEN_BRACE444_tree);
 
-			pushFollow(FOLLOW_register_list_in_insn_format3rc_method_odex5405);
-			register_list437=register_list();
+			pushFollow(FOLLOW_register_list_in_insn_format3rc_method_odex5361);
+			register_list445=register_list();
 			state._fsp--;
 
-			adaptor.addChild(root_0, register_list437.getTree());
+			adaptor.addChild(root_0, register_list445.getTree());
 
-			CLOSE_BRACE438=(Token)match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_insn_format3rc_method_odex5407); 
-			CLOSE_BRACE438_tree = (CommonTree)adaptor.create(CLOSE_BRACE438);
-			adaptor.addChild(root_0, CLOSE_BRACE438_tree);
+			CLOSE_BRACE446=(Token)match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_insn_format3rc_method_odex5363);
+			CLOSE_BRACE446_tree = (CommonTree)adaptor.create(CLOSE_BRACE446);
+			adaptor.addChild(root_0, CLOSE_BRACE446_tree);
 
-			COMMA439=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format3rc_method_odex5409); 
-			COMMA439_tree = (CommonTree)adaptor.create(COMMA439);
-			adaptor.addChild(root_0, COMMA439_tree);
+			COMMA447=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format3rc_method_odex5365);
+			COMMA447_tree = (CommonTree)adaptor.create(COMMA447);
+			adaptor.addChild(root_0, COMMA447_tree);
 
-			pushFollow(FOLLOW_fully_qualified_method_in_insn_format3rc_method_odex5411);
-			fully_qualified_method440=fully_qualified_method();
+			pushFollow(FOLLOW_method_reference_in_insn_format3rc_method_odex5367);
+			method_reference448=method_reference();
 			state._fsp--;
 
-			adaptor.addChild(root_0, fully_qualified_method440.getTree());
+			adaptor.addChild(root_0, method_reference448.getTree());
 
 
-			      throwOdexedInstructionException(input, (INSTRUCTION_FORMAT3rc_METHOD_ODEX435!=null?INSTRUCTION_FORMAT3rc_METHOD_ODEX435.getText():null));
-			    
+			      throwOdexedInstructionException(input, (INSTRUCTION_FORMAT3rc_METHOD_ODEX443!=null?INSTRUCTION_FORMAT3rc_METHOD_ODEX443.getText():null));
+			
 			}
 
 			retval.stop = input.LT(-1);
@@ -16189,24 +13510,24 @@
 
 
 	// $ANTLR start "insn_format3rc_type"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1068:1: insn_format3rc_type : INSTRUCTION_FORMAT3rc_TYPE OPEN_BRACE register_range CLOSE_BRACE COMMA nonvoid_type_descriptor -> ^( I_STATEMENT_FORMAT3rc_TYPE[$start, \"I_STATEMENT_FORMAT3rc_TYPE\"] INSTRUCTION_FORMAT3rc_TYPE register_range nonvoid_type_descriptor ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1055:1: insn_format3rc_type : INSTRUCTION_FORMAT3rc_TYPE OPEN_BRACE register_range CLOSE_BRACE COMMA nonvoid_type_descriptor -> ^( I_STATEMENT_FORMAT3rc_TYPE[$start, \"I_STATEMENT_FORMAT3rc_TYPE\"] INSTRUCTION_FORMAT3rc_TYPE register_range nonvoid_type_descriptor ) ;
 	public final smaliParser.insn_format3rc_type_return insn_format3rc_type() throws RecognitionException {
 		smaliParser.insn_format3rc_type_return retval = new smaliParser.insn_format3rc_type_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token INSTRUCTION_FORMAT3rc_TYPE441=null;
-		Token OPEN_BRACE442=null;
-		Token CLOSE_BRACE444=null;
-		Token COMMA445=null;
-		ParserRuleReturnScope register_range443 =null;
-		ParserRuleReturnScope nonvoid_type_descriptor446 =null;
+		Token INSTRUCTION_FORMAT3rc_TYPE449=null;
+		Token OPEN_BRACE450=null;
+		Token CLOSE_BRACE452=null;
+		Token COMMA453=null;
+		ParserRuleReturnScope register_range451 =null;
+		ParserRuleReturnScope nonvoid_type_descriptor454 =null;
 
-		CommonTree INSTRUCTION_FORMAT3rc_TYPE441_tree=null;
-		CommonTree OPEN_BRACE442_tree=null;
-		CommonTree CLOSE_BRACE444_tree=null;
-		CommonTree COMMA445_tree=null;
+		CommonTree INSTRUCTION_FORMAT3rc_TYPE449_tree=null;
+		CommonTree OPEN_BRACE450_tree=null;
+		CommonTree CLOSE_BRACE452_tree=null;
+		CommonTree COMMA453_tree=null;
 		RewriteRuleTokenStream stream_CLOSE_BRACE=new RewriteRuleTokenStream(adaptor,"token CLOSE_BRACE");
 		RewriteRuleTokenStream stream_INSTRUCTION_FORMAT3rc_TYPE=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT3rc_TYPE");
 		RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA");
@@ -16215,45 +13536,45 @@
 		RewriteRuleSubtreeStream stream_register_range=new RewriteRuleSubtreeStream(adaptor,"rule register_range");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1069:3: ( INSTRUCTION_FORMAT3rc_TYPE OPEN_BRACE register_range CLOSE_BRACE COMMA nonvoid_type_descriptor -> ^( I_STATEMENT_FORMAT3rc_TYPE[$start, \"I_STATEMENT_FORMAT3rc_TYPE\"] INSTRUCTION_FORMAT3rc_TYPE register_range nonvoid_type_descriptor ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1070:5: INSTRUCTION_FORMAT3rc_TYPE OPEN_BRACE register_range CLOSE_BRACE COMMA nonvoid_type_descriptor
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1056:3: ( INSTRUCTION_FORMAT3rc_TYPE OPEN_BRACE register_range CLOSE_BRACE COMMA nonvoid_type_descriptor -> ^( I_STATEMENT_FORMAT3rc_TYPE[$start, \"I_STATEMENT_FORMAT3rc_TYPE\"] INSTRUCTION_FORMAT3rc_TYPE register_range nonvoid_type_descriptor ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1057:5: INSTRUCTION_FORMAT3rc_TYPE OPEN_BRACE register_range CLOSE_BRACE COMMA nonvoid_type_descriptor
 			{
-			INSTRUCTION_FORMAT3rc_TYPE441=(Token)match(input,INSTRUCTION_FORMAT3rc_TYPE,FOLLOW_INSTRUCTION_FORMAT3rc_TYPE_in_insn_format3rc_type5432);  
-			stream_INSTRUCTION_FORMAT3rc_TYPE.add(INSTRUCTION_FORMAT3rc_TYPE441);
+			INSTRUCTION_FORMAT3rc_TYPE449=(Token)match(input,INSTRUCTION_FORMAT3rc_TYPE,FOLLOW_INSTRUCTION_FORMAT3rc_TYPE_in_insn_format3rc_type5388);
+			stream_INSTRUCTION_FORMAT3rc_TYPE.add(INSTRUCTION_FORMAT3rc_TYPE449);
 
-			OPEN_BRACE442=(Token)match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_insn_format3rc_type5434);  
-			stream_OPEN_BRACE.add(OPEN_BRACE442);
+			OPEN_BRACE450=(Token)match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_insn_format3rc_type5390);
+			stream_OPEN_BRACE.add(OPEN_BRACE450);
 
-			pushFollow(FOLLOW_register_range_in_insn_format3rc_type5436);
-			register_range443=register_range();
+			pushFollow(FOLLOW_register_range_in_insn_format3rc_type5392);
+			register_range451=register_range();
 			state._fsp--;
 
-			stream_register_range.add(register_range443.getTree());
-			CLOSE_BRACE444=(Token)match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_insn_format3rc_type5438);  
-			stream_CLOSE_BRACE.add(CLOSE_BRACE444);
+			stream_register_range.add(register_range451.getTree());
+			CLOSE_BRACE452=(Token)match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_insn_format3rc_type5394);
+			stream_CLOSE_BRACE.add(CLOSE_BRACE452);
 
-			COMMA445=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format3rc_type5440);  
-			stream_COMMA.add(COMMA445);
+			COMMA453=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format3rc_type5396);
+			stream_COMMA.add(COMMA453);
 
-			pushFollow(FOLLOW_nonvoid_type_descriptor_in_insn_format3rc_type5442);
-			nonvoid_type_descriptor446=nonvoid_type_descriptor();
+			pushFollow(FOLLOW_nonvoid_type_descriptor_in_insn_format3rc_type5398);
+			nonvoid_type_descriptor454=nonvoid_type_descriptor();
 			state._fsp--;
 
-			stream_nonvoid_type_descriptor.add(nonvoid_type_descriptor446.getTree());
+			stream_nonvoid_type_descriptor.add(nonvoid_type_descriptor454.getTree());
 			// AST REWRITE
 			// elements: nonvoid_type_descriptor, register_range, INSTRUCTION_FORMAT3rc_TYPE
-			// token labels: 
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 1071:5: -> ^( I_STATEMENT_FORMAT3rc_TYPE[$start, \"I_STATEMENT_FORMAT3rc_TYPE\"] INSTRUCTION_FORMAT3rc_TYPE register_range nonvoid_type_descriptor )
+			// 1058:5: -> ^( I_STATEMENT_FORMAT3rc_TYPE[$start, \"I_STATEMENT_FORMAT3rc_TYPE\"] INSTRUCTION_FORMAT3rc_TYPE register_range nonvoid_type_descriptor )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1071:8: ^( I_STATEMENT_FORMAT3rc_TYPE[$start, \"I_STATEMENT_FORMAT3rc_TYPE\"] INSTRUCTION_FORMAT3rc_TYPE register_range nonvoid_type_descriptor )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1058:8: ^( I_STATEMENT_FORMAT3rc_TYPE[$start, \"I_STATEMENT_FORMAT3rc_TYPE\"] INSTRUCTION_FORMAT3rc_TYPE register_range nonvoid_type_descriptor )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT3rc_TYPE, (retval.start), "I_STATEMENT_FORMAT3rc_TYPE"), root_1);
@@ -16297,62 +13618,62 @@
 
 
 	// $ANTLR start "insn_format3rmi_method"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1073:1: insn_format3rmi_method : INSTRUCTION_FORMAT3rmi_METHOD OPEN_BRACE register_range CLOSE_BRACE COMMA INLINE_INDEX ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1060:1: insn_format3rmi_method : INSTRUCTION_FORMAT3rmi_METHOD OPEN_BRACE register_range CLOSE_BRACE COMMA INLINE_INDEX ;
 	public final smaliParser.insn_format3rmi_method_return insn_format3rmi_method() throws RecognitionException {
 		smaliParser.insn_format3rmi_method_return retval = new smaliParser.insn_format3rmi_method_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token INSTRUCTION_FORMAT3rmi_METHOD447=null;
-		Token OPEN_BRACE448=null;
-		Token CLOSE_BRACE450=null;
-		Token COMMA451=null;
-		Token INLINE_INDEX452=null;
-		ParserRuleReturnScope register_range449 =null;
+		Token INSTRUCTION_FORMAT3rmi_METHOD455=null;
+		Token OPEN_BRACE456=null;
+		Token CLOSE_BRACE458=null;
+		Token COMMA459=null;
+		Token INLINE_INDEX460=null;
+		ParserRuleReturnScope register_range457 =null;
 
-		CommonTree INSTRUCTION_FORMAT3rmi_METHOD447_tree=null;
-		CommonTree OPEN_BRACE448_tree=null;
-		CommonTree CLOSE_BRACE450_tree=null;
-		CommonTree COMMA451_tree=null;
-		CommonTree INLINE_INDEX452_tree=null;
+		CommonTree INSTRUCTION_FORMAT3rmi_METHOD455_tree=null;
+		CommonTree OPEN_BRACE456_tree=null;
+		CommonTree CLOSE_BRACE458_tree=null;
+		CommonTree COMMA459_tree=null;
+		CommonTree INLINE_INDEX460_tree=null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1074:3: ( INSTRUCTION_FORMAT3rmi_METHOD OPEN_BRACE register_range CLOSE_BRACE COMMA INLINE_INDEX )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1075:5: INSTRUCTION_FORMAT3rmi_METHOD OPEN_BRACE register_range CLOSE_BRACE COMMA INLINE_INDEX
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1061:3: ( INSTRUCTION_FORMAT3rmi_METHOD OPEN_BRACE register_range CLOSE_BRACE COMMA INLINE_INDEX )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1062:5: INSTRUCTION_FORMAT3rmi_METHOD OPEN_BRACE register_range CLOSE_BRACE COMMA INLINE_INDEX
 			{
 			root_0 = (CommonTree)adaptor.nil();
 
 
-			INSTRUCTION_FORMAT3rmi_METHOD447=(Token)match(input,INSTRUCTION_FORMAT3rmi_METHOD,FOLLOW_INSTRUCTION_FORMAT3rmi_METHOD_in_insn_format3rmi_method5474); 
-			INSTRUCTION_FORMAT3rmi_METHOD447_tree = (CommonTree)adaptor.create(INSTRUCTION_FORMAT3rmi_METHOD447);
-			adaptor.addChild(root_0, INSTRUCTION_FORMAT3rmi_METHOD447_tree);
+			INSTRUCTION_FORMAT3rmi_METHOD455=(Token)match(input,INSTRUCTION_FORMAT3rmi_METHOD,FOLLOW_INSTRUCTION_FORMAT3rmi_METHOD_in_insn_format3rmi_method5430);
+			INSTRUCTION_FORMAT3rmi_METHOD455_tree = (CommonTree)adaptor.create(INSTRUCTION_FORMAT3rmi_METHOD455);
+			adaptor.addChild(root_0, INSTRUCTION_FORMAT3rmi_METHOD455_tree);
 
-			OPEN_BRACE448=(Token)match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_insn_format3rmi_method5476); 
-			OPEN_BRACE448_tree = (CommonTree)adaptor.create(OPEN_BRACE448);
-			adaptor.addChild(root_0, OPEN_BRACE448_tree);
+			OPEN_BRACE456=(Token)match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_insn_format3rmi_method5432);
+			OPEN_BRACE456_tree = (CommonTree)adaptor.create(OPEN_BRACE456);
+			adaptor.addChild(root_0, OPEN_BRACE456_tree);
 
-			pushFollow(FOLLOW_register_range_in_insn_format3rmi_method5478);
-			register_range449=register_range();
+			pushFollow(FOLLOW_register_range_in_insn_format3rmi_method5434);
+			register_range457=register_range();
 			state._fsp--;
 
-			adaptor.addChild(root_0, register_range449.getTree());
+			adaptor.addChild(root_0, register_range457.getTree());
 
-			CLOSE_BRACE450=(Token)match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_insn_format3rmi_method5480); 
-			CLOSE_BRACE450_tree = (CommonTree)adaptor.create(CLOSE_BRACE450);
-			adaptor.addChild(root_0, CLOSE_BRACE450_tree);
+			CLOSE_BRACE458=(Token)match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_insn_format3rmi_method5436);
+			CLOSE_BRACE458_tree = (CommonTree)adaptor.create(CLOSE_BRACE458);
+			adaptor.addChild(root_0, CLOSE_BRACE458_tree);
 
-			COMMA451=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format3rmi_method5482); 
-			COMMA451_tree = (CommonTree)adaptor.create(COMMA451);
-			adaptor.addChild(root_0, COMMA451_tree);
+			COMMA459=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format3rmi_method5438);
+			COMMA459_tree = (CommonTree)adaptor.create(COMMA459);
+			adaptor.addChild(root_0, COMMA459_tree);
 
-			INLINE_INDEX452=(Token)match(input,INLINE_INDEX,FOLLOW_INLINE_INDEX_in_insn_format3rmi_method5484); 
-			INLINE_INDEX452_tree = (CommonTree)adaptor.create(INLINE_INDEX452);
-			adaptor.addChild(root_0, INLINE_INDEX452_tree);
+			INLINE_INDEX460=(Token)match(input,INLINE_INDEX,FOLLOW_INLINE_INDEX_in_insn_format3rmi_method5440);
+			INLINE_INDEX460_tree = (CommonTree)adaptor.create(INLINE_INDEX460);
+			adaptor.addChild(root_0, INLINE_INDEX460_tree);
 
 
-			      throwOdexedInstructionException(input, (INSTRUCTION_FORMAT3rmi_METHOD447!=null?INSTRUCTION_FORMAT3rmi_METHOD447.getText():null));
-			    
+			      throwOdexedInstructionException(input, (INSTRUCTION_FORMAT3rmi_METHOD455!=null?INSTRUCTION_FORMAT3rmi_METHOD455.getText():null));
+			
 			}
 
 			retval.stop = input.LT(-1);
@@ -16382,62 +13703,62 @@
 
 
 	// $ANTLR start "insn_format3rms_method"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1080:1: insn_format3rms_method : INSTRUCTION_FORMAT3rms_METHOD OPEN_BRACE register_range CLOSE_BRACE COMMA VTABLE_INDEX ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1067:1: insn_format3rms_method : INSTRUCTION_FORMAT3rms_METHOD OPEN_BRACE register_range CLOSE_BRACE COMMA VTABLE_INDEX ;
 	public final smaliParser.insn_format3rms_method_return insn_format3rms_method() throws RecognitionException {
 		smaliParser.insn_format3rms_method_return retval = new smaliParser.insn_format3rms_method_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token INSTRUCTION_FORMAT3rms_METHOD453=null;
-		Token OPEN_BRACE454=null;
-		Token CLOSE_BRACE456=null;
-		Token COMMA457=null;
-		Token VTABLE_INDEX458=null;
-		ParserRuleReturnScope register_range455 =null;
+		Token INSTRUCTION_FORMAT3rms_METHOD461=null;
+		Token OPEN_BRACE462=null;
+		Token CLOSE_BRACE464=null;
+		Token COMMA465=null;
+		Token VTABLE_INDEX466=null;
+		ParserRuleReturnScope register_range463 =null;
 
-		CommonTree INSTRUCTION_FORMAT3rms_METHOD453_tree=null;
-		CommonTree OPEN_BRACE454_tree=null;
-		CommonTree CLOSE_BRACE456_tree=null;
-		CommonTree COMMA457_tree=null;
-		CommonTree VTABLE_INDEX458_tree=null;
+		CommonTree INSTRUCTION_FORMAT3rms_METHOD461_tree=null;
+		CommonTree OPEN_BRACE462_tree=null;
+		CommonTree CLOSE_BRACE464_tree=null;
+		CommonTree COMMA465_tree=null;
+		CommonTree VTABLE_INDEX466_tree=null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1081:3: ( INSTRUCTION_FORMAT3rms_METHOD OPEN_BRACE register_range CLOSE_BRACE COMMA VTABLE_INDEX )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1082:5: INSTRUCTION_FORMAT3rms_METHOD OPEN_BRACE register_range CLOSE_BRACE COMMA VTABLE_INDEX
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1068:3: ( INSTRUCTION_FORMAT3rms_METHOD OPEN_BRACE register_range CLOSE_BRACE COMMA VTABLE_INDEX )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1069:5: INSTRUCTION_FORMAT3rms_METHOD OPEN_BRACE register_range CLOSE_BRACE COMMA VTABLE_INDEX
 			{
 			root_0 = (CommonTree)adaptor.nil();
 
 
-			INSTRUCTION_FORMAT3rms_METHOD453=(Token)match(input,INSTRUCTION_FORMAT3rms_METHOD,FOLLOW_INSTRUCTION_FORMAT3rms_METHOD_in_insn_format3rms_method5505); 
-			INSTRUCTION_FORMAT3rms_METHOD453_tree = (CommonTree)adaptor.create(INSTRUCTION_FORMAT3rms_METHOD453);
-			adaptor.addChild(root_0, INSTRUCTION_FORMAT3rms_METHOD453_tree);
+			INSTRUCTION_FORMAT3rms_METHOD461=(Token)match(input,INSTRUCTION_FORMAT3rms_METHOD,FOLLOW_INSTRUCTION_FORMAT3rms_METHOD_in_insn_format3rms_method5461);
+			INSTRUCTION_FORMAT3rms_METHOD461_tree = (CommonTree)adaptor.create(INSTRUCTION_FORMAT3rms_METHOD461);
+			adaptor.addChild(root_0, INSTRUCTION_FORMAT3rms_METHOD461_tree);
 
-			OPEN_BRACE454=(Token)match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_insn_format3rms_method5507); 
-			OPEN_BRACE454_tree = (CommonTree)adaptor.create(OPEN_BRACE454);
-			adaptor.addChild(root_0, OPEN_BRACE454_tree);
+			OPEN_BRACE462=(Token)match(input,OPEN_BRACE,FOLLOW_OPEN_BRACE_in_insn_format3rms_method5463);
+			OPEN_BRACE462_tree = (CommonTree)adaptor.create(OPEN_BRACE462);
+			adaptor.addChild(root_0, OPEN_BRACE462_tree);
 
-			pushFollow(FOLLOW_register_range_in_insn_format3rms_method5509);
-			register_range455=register_range();
+			pushFollow(FOLLOW_register_range_in_insn_format3rms_method5465);
+			register_range463=register_range();
 			state._fsp--;
 
-			adaptor.addChild(root_0, register_range455.getTree());
+			adaptor.addChild(root_0, register_range463.getTree());
 
-			CLOSE_BRACE456=(Token)match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_insn_format3rms_method5511); 
-			CLOSE_BRACE456_tree = (CommonTree)adaptor.create(CLOSE_BRACE456);
-			adaptor.addChild(root_0, CLOSE_BRACE456_tree);
+			CLOSE_BRACE464=(Token)match(input,CLOSE_BRACE,FOLLOW_CLOSE_BRACE_in_insn_format3rms_method5467);
+			CLOSE_BRACE464_tree = (CommonTree)adaptor.create(CLOSE_BRACE464);
+			adaptor.addChild(root_0, CLOSE_BRACE464_tree);
 
-			COMMA457=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format3rms_method5513); 
-			COMMA457_tree = (CommonTree)adaptor.create(COMMA457);
-			adaptor.addChild(root_0, COMMA457_tree);
+			COMMA465=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format3rms_method5469);
+			COMMA465_tree = (CommonTree)adaptor.create(COMMA465);
+			adaptor.addChild(root_0, COMMA465_tree);
 
-			VTABLE_INDEX458=(Token)match(input,VTABLE_INDEX,FOLLOW_VTABLE_INDEX_in_insn_format3rms_method5515); 
-			VTABLE_INDEX458_tree = (CommonTree)adaptor.create(VTABLE_INDEX458);
-			adaptor.addChild(root_0, VTABLE_INDEX458_tree);
+			VTABLE_INDEX466=(Token)match(input,VTABLE_INDEX,FOLLOW_VTABLE_INDEX_in_insn_format3rms_method5471);
+			VTABLE_INDEX466_tree = (CommonTree)adaptor.create(VTABLE_INDEX466);
+			adaptor.addChild(root_0, VTABLE_INDEX466_tree);
 
 
-			      throwOdexedInstructionException(input, (INSTRUCTION_FORMAT3rms_METHOD453!=null?INSTRUCTION_FORMAT3rms_METHOD453.getText():null));
-			    
+			      throwOdexedInstructionException(input, (INSTRUCTION_FORMAT3rms_METHOD461!=null?INSTRUCTION_FORMAT3rms_METHOD461.getText():null));
+			
 			}
 
 			retval.stop = input.LT(-1);
@@ -16467,58 +13788,58 @@
 
 
 	// $ANTLR start "insn_format51l"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1087:1: insn_format51l : INSTRUCTION_FORMAT51l REGISTER COMMA fixed_literal -> ^( I_STATEMENT_FORMAT51l[$start, \"I_STATEMENT_FORMAT51l\"] INSTRUCTION_FORMAT51l REGISTER fixed_literal ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1074:1: insn_format51l : INSTRUCTION_FORMAT51l REGISTER COMMA fixed_literal -> ^( I_STATEMENT_FORMAT51l[$start, \"I_STATEMENT_FORMAT51l\"] INSTRUCTION_FORMAT51l REGISTER fixed_literal ) ;
 	public final smaliParser.insn_format51l_return insn_format51l() throws RecognitionException {
 		smaliParser.insn_format51l_return retval = new smaliParser.insn_format51l_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token INSTRUCTION_FORMAT51l459=null;
-		Token REGISTER460=null;
-		Token COMMA461=null;
-		ParserRuleReturnScope fixed_literal462 =null;
+		Token INSTRUCTION_FORMAT51l467=null;
+		Token REGISTER468=null;
+		Token COMMA469=null;
+		ParserRuleReturnScope fixed_literal470 =null;
 
-		CommonTree INSTRUCTION_FORMAT51l459_tree=null;
-		CommonTree REGISTER460_tree=null;
-		CommonTree COMMA461_tree=null;
+		CommonTree INSTRUCTION_FORMAT51l467_tree=null;
+		CommonTree REGISTER468_tree=null;
+		CommonTree COMMA469_tree=null;
 		RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA");
 		RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER");
 		RewriteRuleTokenStream stream_INSTRUCTION_FORMAT51l=new RewriteRuleTokenStream(adaptor,"token INSTRUCTION_FORMAT51l");
 		RewriteRuleSubtreeStream stream_fixed_literal=new RewriteRuleSubtreeStream(adaptor,"rule fixed_literal");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1088:3: ( INSTRUCTION_FORMAT51l REGISTER COMMA fixed_literal -> ^( I_STATEMENT_FORMAT51l[$start, \"I_STATEMENT_FORMAT51l\"] INSTRUCTION_FORMAT51l REGISTER fixed_literal ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1089:5: INSTRUCTION_FORMAT51l REGISTER COMMA fixed_literal
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1075:3: ( INSTRUCTION_FORMAT51l REGISTER COMMA fixed_literal -> ^( I_STATEMENT_FORMAT51l[$start, \"I_STATEMENT_FORMAT51l\"] INSTRUCTION_FORMAT51l REGISTER fixed_literal ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1076:5: INSTRUCTION_FORMAT51l REGISTER COMMA fixed_literal
 			{
-			INSTRUCTION_FORMAT51l459=(Token)match(input,INSTRUCTION_FORMAT51l,FOLLOW_INSTRUCTION_FORMAT51l_in_insn_format51l5536);  
-			stream_INSTRUCTION_FORMAT51l.add(INSTRUCTION_FORMAT51l459);
+			INSTRUCTION_FORMAT51l467=(Token)match(input,INSTRUCTION_FORMAT51l,FOLLOW_INSTRUCTION_FORMAT51l_in_insn_format51l5492);
+			stream_INSTRUCTION_FORMAT51l.add(INSTRUCTION_FORMAT51l467);
 
-			REGISTER460=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format51l5538);  
-			stream_REGISTER.add(REGISTER460);
+			REGISTER468=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format51l5494);
+			stream_REGISTER.add(REGISTER468);
 
-			COMMA461=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format51l5540);  
-			stream_COMMA.add(COMMA461);
+			COMMA469=(Token)match(input,COMMA,FOLLOW_COMMA_in_insn_format51l5496);
+			stream_COMMA.add(COMMA469);
 
-			pushFollow(FOLLOW_fixed_literal_in_insn_format51l5542);
-			fixed_literal462=fixed_literal();
+			pushFollow(FOLLOW_fixed_literal_in_insn_format51l5498);
+			fixed_literal470=fixed_literal();
 			state._fsp--;
 
-			stream_fixed_literal.add(fixed_literal462.getTree());
+			stream_fixed_literal.add(fixed_literal470.getTree());
 			// AST REWRITE
-			// elements: REGISTER, INSTRUCTION_FORMAT51l, fixed_literal
-			// token labels: 
+			// elements: REGISTER, fixed_literal, INSTRUCTION_FORMAT51l
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 1090:5: -> ^( I_STATEMENT_FORMAT51l[$start, \"I_STATEMENT_FORMAT51l\"] INSTRUCTION_FORMAT51l REGISTER fixed_literal )
+			// 1077:5: -> ^( I_STATEMENT_FORMAT51l[$start, \"I_STATEMENT_FORMAT51l\"] INSTRUCTION_FORMAT51l REGISTER fixed_literal )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1090:8: ^( I_STATEMENT_FORMAT51l[$start, \"I_STATEMENT_FORMAT51l\"] INSTRUCTION_FORMAT51l REGISTER fixed_literal )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1077:8: ^( I_STATEMENT_FORMAT51l[$start, \"I_STATEMENT_FORMAT51l\"] INSTRUCTION_FORMAT51l REGISTER fixed_literal )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_FORMAT51l, (retval.start), "I_STATEMENT_FORMAT51l"), root_1);
@@ -16562,90 +13883,90 @@
 
 
 	// $ANTLR start "insn_array_data_directive"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1092:1: insn_array_data_directive : ARRAY_DATA_DIRECTIVE parsed_integer_literal ( fixed_literal )* END_ARRAY_DATA_DIRECTIVE -> ^( I_STATEMENT_ARRAY_DATA[$start, \"I_STATEMENT_ARRAY_DATA\"] ^( I_ARRAY_ELEMENT_SIZE parsed_integer_literal ) ^( I_ARRAY_ELEMENTS ( fixed_literal )* ) ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1079:1: insn_array_data_directive : ARRAY_DATA_DIRECTIVE parsed_integer_literal ( fixed_literal )* END_ARRAY_DATA_DIRECTIVE -> ^( I_STATEMENT_ARRAY_DATA[$start, \"I_STATEMENT_ARRAY_DATA\"] ^( I_ARRAY_ELEMENT_SIZE parsed_integer_literal ) ^( I_ARRAY_ELEMENTS ( fixed_literal )* ) ) ;
 	public final smaliParser.insn_array_data_directive_return insn_array_data_directive() throws RecognitionException {
 		smaliParser.insn_array_data_directive_return retval = new smaliParser.insn_array_data_directive_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token ARRAY_DATA_DIRECTIVE463=null;
-		Token END_ARRAY_DATA_DIRECTIVE466=null;
-		ParserRuleReturnScope parsed_integer_literal464 =null;
-		ParserRuleReturnScope fixed_literal465 =null;
+		Token ARRAY_DATA_DIRECTIVE471=null;
+		Token END_ARRAY_DATA_DIRECTIVE474=null;
+		ParserRuleReturnScope parsed_integer_literal472 =null;
+		ParserRuleReturnScope fixed_literal473 =null;
 
-		CommonTree ARRAY_DATA_DIRECTIVE463_tree=null;
-		CommonTree END_ARRAY_DATA_DIRECTIVE466_tree=null;
+		CommonTree ARRAY_DATA_DIRECTIVE471_tree=null;
+		CommonTree END_ARRAY_DATA_DIRECTIVE474_tree=null;
 		RewriteRuleTokenStream stream_ARRAY_DATA_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token ARRAY_DATA_DIRECTIVE");
 		RewriteRuleTokenStream stream_END_ARRAY_DATA_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token END_ARRAY_DATA_DIRECTIVE");
 		RewriteRuleSubtreeStream stream_fixed_literal=new RewriteRuleSubtreeStream(adaptor,"rule fixed_literal");
 		RewriteRuleSubtreeStream stream_parsed_integer_literal=new RewriteRuleSubtreeStream(adaptor,"rule parsed_integer_literal");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1093:3: ( ARRAY_DATA_DIRECTIVE parsed_integer_literal ( fixed_literal )* END_ARRAY_DATA_DIRECTIVE -> ^( I_STATEMENT_ARRAY_DATA[$start, \"I_STATEMENT_ARRAY_DATA\"] ^( I_ARRAY_ELEMENT_SIZE parsed_integer_literal ) ^( I_ARRAY_ELEMENTS ( fixed_literal )* ) ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1093:5: ARRAY_DATA_DIRECTIVE parsed_integer_literal ( fixed_literal )* END_ARRAY_DATA_DIRECTIVE
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1080:3: ( ARRAY_DATA_DIRECTIVE parsed_integer_literal ( fixed_literal )* END_ARRAY_DATA_DIRECTIVE -> ^( I_STATEMENT_ARRAY_DATA[$start, \"I_STATEMENT_ARRAY_DATA\"] ^( I_ARRAY_ELEMENT_SIZE parsed_integer_literal ) ^( I_ARRAY_ELEMENTS ( fixed_literal )* ) ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1080:5: ARRAY_DATA_DIRECTIVE parsed_integer_literal ( fixed_literal )* END_ARRAY_DATA_DIRECTIVE
 			{
-			ARRAY_DATA_DIRECTIVE463=(Token)match(input,ARRAY_DATA_DIRECTIVE,FOLLOW_ARRAY_DATA_DIRECTIVE_in_insn_array_data_directive5569);  
-			stream_ARRAY_DATA_DIRECTIVE.add(ARRAY_DATA_DIRECTIVE463);
+			ARRAY_DATA_DIRECTIVE471=(Token)match(input,ARRAY_DATA_DIRECTIVE,FOLLOW_ARRAY_DATA_DIRECTIVE_in_insn_array_data_directive5525);
+			stream_ARRAY_DATA_DIRECTIVE.add(ARRAY_DATA_DIRECTIVE471);
 
-			pushFollow(FOLLOW_parsed_integer_literal_in_insn_array_data_directive5575);
-			parsed_integer_literal464=parsed_integer_literal();
+			pushFollow(FOLLOW_parsed_integer_literal_in_insn_array_data_directive5531);
+			parsed_integer_literal472=parsed_integer_literal();
 			state._fsp--;
 
-			stream_parsed_integer_literal.add(parsed_integer_literal464.getTree());
+			stream_parsed_integer_literal.add(parsed_integer_literal472.getTree());
 
-			        int elementWidth = (parsed_integer_literal464!=null?((smaliParser.parsed_integer_literal_return)parsed_integer_literal464).value:0);
+			        int elementWidth = (parsed_integer_literal472!=null?((smaliParser.parsed_integer_literal_return)parsed_integer_literal472).value:0);
 			        if (elementWidth != 4 && elementWidth != 8 && elementWidth != 1 && elementWidth != 2) {
 			            throw new SemanticException(input, (retval.start), "Invalid element width: %d. Must be 1, 2, 4 or 8", elementWidth);
 			        }
-			    
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1101:5: ( fixed_literal )*
-			loop45:
+			
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1088:5: ( fixed_literal )*
+			loop50:
 			while (true) {
-				int alt45=2;
-				int LA45_0 = input.LA(1);
-				if ( ((LA45_0 >= BOOL_LITERAL && LA45_0 <= BYTE_LITERAL)||LA45_0==CHAR_LITERAL||(LA45_0 >= DOUBLE_LITERAL && LA45_0 <= DOUBLE_LITERAL_OR_ID)||(LA45_0 >= FLOAT_LITERAL && LA45_0 <= FLOAT_LITERAL_OR_ID)||LA45_0==LONG_LITERAL||LA45_0==NEGATIVE_INTEGER_LITERAL||LA45_0==POSITIVE_INTEGER_LITERAL||LA45_0==SHORT_LITERAL) ) {
-					alt45=1;
+				int alt50=2;
+				int LA50_0 = input.LA(1);
+				if ( ((LA50_0 >= BOOL_LITERAL && LA50_0 <= BYTE_LITERAL)||LA50_0==CHAR_LITERAL||(LA50_0 >= DOUBLE_LITERAL && LA50_0 <= DOUBLE_LITERAL_OR_ID)||(LA50_0 >= FLOAT_LITERAL && LA50_0 <= FLOAT_LITERAL_OR_ID)||LA50_0==LONG_LITERAL||LA50_0==NEGATIVE_INTEGER_LITERAL||LA50_0==POSITIVE_INTEGER_LITERAL||LA50_0==SHORT_LITERAL) ) {
+					alt50=1;
 				}
 
-				switch (alt45) {
+				switch (alt50) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1101:5: fixed_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1088:5: fixed_literal
 					{
-					pushFollow(FOLLOW_fixed_literal_in_insn_array_data_directive5587);
-					fixed_literal465=fixed_literal();
+					pushFollow(FOLLOW_fixed_literal_in_insn_array_data_directive5543);
+					fixed_literal473=fixed_literal();
 					state._fsp--;
 
-					stream_fixed_literal.add(fixed_literal465.getTree());
+					stream_fixed_literal.add(fixed_literal473.getTree());
 					}
 					break;
 
 				default :
-					break loop45;
+					break loop50;
 				}
 			}
 
-			END_ARRAY_DATA_DIRECTIVE466=(Token)match(input,END_ARRAY_DATA_DIRECTIVE,FOLLOW_END_ARRAY_DATA_DIRECTIVE_in_insn_array_data_directive5590);  
-			stream_END_ARRAY_DATA_DIRECTIVE.add(END_ARRAY_DATA_DIRECTIVE466);
+			END_ARRAY_DATA_DIRECTIVE474=(Token)match(input,END_ARRAY_DATA_DIRECTIVE,FOLLOW_END_ARRAY_DATA_DIRECTIVE_in_insn_array_data_directive5546);
+			stream_END_ARRAY_DATA_DIRECTIVE.add(END_ARRAY_DATA_DIRECTIVE474);
 
 			// AST REWRITE
 			// elements: fixed_literal, parsed_integer_literal
-			// token labels: 
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 1103:5: -> ^( I_STATEMENT_ARRAY_DATA[$start, \"I_STATEMENT_ARRAY_DATA\"] ^( I_ARRAY_ELEMENT_SIZE parsed_integer_literal ) ^( I_ARRAY_ELEMENTS ( fixed_literal )* ) )
+			// 1090:5: -> ^( I_STATEMENT_ARRAY_DATA[$start, \"I_STATEMENT_ARRAY_DATA\"] ^( I_ARRAY_ELEMENT_SIZE parsed_integer_literal ) ^( I_ARRAY_ELEMENTS ( fixed_literal )* ) )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1103:8: ^( I_STATEMENT_ARRAY_DATA[$start, \"I_STATEMENT_ARRAY_DATA\"] ^( I_ARRAY_ELEMENT_SIZE parsed_integer_literal ) ^( I_ARRAY_ELEMENTS ( fixed_literal )* ) )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1090:8: ^( I_STATEMENT_ARRAY_DATA[$start, \"I_STATEMENT_ARRAY_DATA\"] ^( I_ARRAY_ELEMENT_SIZE parsed_integer_literal ) ^( I_ARRAY_ELEMENTS ( fixed_literal )* ) )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_ARRAY_DATA, (retval.start), "I_STATEMENT_ARRAY_DATA"), root_1);
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1103:67: ^( I_ARRAY_ELEMENT_SIZE parsed_integer_literal )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1090:67: ^( I_ARRAY_ELEMENT_SIZE parsed_integer_literal )
 				{
 				CommonTree root_2 = (CommonTree)adaptor.nil();
 				root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_ARRAY_ELEMENT_SIZE, "I_ARRAY_ELEMENT_SIZE"), root_2);
@@ -16653,11 +13974,11 @@
 				adaptor.addChild(root_1, root_2);
 				}
 
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1104:8: ^( I_ARRAY_ELEMENTS ( fixed_literal )* )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1091:8: ^( I_ARRAY_ELEMENTS ( fixed_literal )* )
 				{
 				CommonTree root_2 = (CommonTree)adaptor.nil();
 				root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_ARRAY_ELEMENTS, "I_ARRAY_ELEMENTS"), root_2);
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1104:27: ( fixed_literal )*
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1091:27: ( fixed_literal )*
 				while ( stream_fixed_literal.hasNext() ) {
 					adaptor.addChild(root_2, stream_fixed_literal.nextTree());
 				}
@@ -16703,84 +14024,84 @@
 
 
 	// $ANTLR start "insn_packed_switch_directive"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1106:1: insn_packed_switch_directive : PACKED_SWITCH_DIRECTIVE fixed_32bit_literal ( label_ref )* END_PACKED_SWITCH_DIRECTIVE -> ^( I_STATEMENT_PACKED_SWITCH[$start, \"I_STATEMENT_PACKED_SWITCH\"] ^( I_PACKED_SWITCH_START_KEY[$start, \"I_PACKED_SWITCH_START_KEY\"] fixed_32bit_literal ) ^( I_PACKED_SWITCH_ELEMENTS[$start, \"I_PACKED_SWITCH_ELEMENTS\"] ( label_ref )* ) ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1093:1: insn_packed_switch_directive : PACKED_SWITCH_DIRECTIVE fixed_32bit_literal ( label_ref )* END_PACKED_SWITCH_DIRECTIVE -> ^( I_STATEMENT_PACKED_SWITCH[$start, \"I_STATEMENT_PACKED_SWITCH\"] ^( I_PACKED_SWITCH_START_KEY[$start, \"I_PACKED_SWITCH_START_KEY\"] fixed_32bit_literal ) ^( I_PACKED_SWITCH_ELEMENTS[$start, \"I_PACKED_SWITCH_ELEMENTS\"] ( label_ref )* ) ) ;
 	public final smaliParser.insn_packed_switch_directive_return insn_packed_switch_directive() throws RecognitionException {
 		smaliParser.insn_packed_switch_directive_return retval = new smaliParser.insn_packed_switch_directive_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token PACKED_SWITCH_DIRECTIVE467=null;
-		Token END_PACKED_SWITCH_DIRECTIVE470=null;
-		ParserRuleReturnScope fixed_32bit_literal468 =null;
-		ParserRuleReturnScope label_ref469 =null;
+		Token PACKED_SWITCH_DIRECTIVE475=null;
+		Token END_PACKED_SWITCH_DIRECTIVE478=null;
+		ParserRuleReturnScope fixed_32bit_literal476 =null;
+		ParserRuleReturnScope label_ref477 =null;
 
-		CommonTree PACKED_SWITCH_DIRECTIVE467_tree=null;
-		CommonTree END_PACKED_SWITCH_DIRECTIVE470_tree=null;
+		CommonTree PACKED_SWITCH_DIRECTIVE475_tree=null;
+		CommonTree END_PACKED_SWITCH_DIRECTIVE478_tree=null;
 		RewriteRuleTokenStream stream_PACKED_SWITCH_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token PACKED_SWITCH_DIRECTIVE");
 		RewriteRuleTokenStream stream_END_PACKED_SWITCH_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token END_PACKED_SWITCH_DIRECTIVE");
 		RewriteRuleSubtreeStream stream_fixed_32bit_literal=new RewriteRuleSubtreeStream(adaptor,"rule fixed_32bit_literal");
 		RewriteRuleSubtreeStream stream_label_ref=new RewriteRuleSubtreeStream(adaptor,"rule label_ref");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1107:5: ( PACKED_SWITCH_DIRECTIVE fixed_32bit_literal ( label_ref )* END_PACKED_SWITCH_DIRECTIVE -> ^( I_STATEMENT_PACKED_SWITCH[$start, \"I_STATEMENT_PACKED_SWITCH\"] ^( I_PACKED_SWITCH_START_KEY[$start, \"I_PACKED_SWITCH_START_KEY\"] fixed_32bit_literal ) ^( I_PACKED_SWITCH_ELEMENTS[$start, \"I_PACKED_SWITCH_ELEMENTS\"] ( label_ref )* ) ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1107:9: PACKED_SWITCH_DIRECTIVE fixed_32bit_literal ( label_ref )* END_PACKED_SWITCH_DIRECTIVE
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1094:5: ( PACKED_SWITCH_DIRECTIVE fixed_32bit_literal ( label_ref )* END_PACKED_SWITCH_DIRECTIVE -> ^( I_STATEMENT_PACKED_SWITCH[$start, \"I_STATEMENT_PACKED_SWITCH\"] ^( I_PACKED_SWITCH_START_KEY[$start, \"I_PACKED_SWITCH_START_KEY\"] fixed_32bit_literal ) ^( I_PACKED_SWITCH_ELEMENTS[$start, \"I_PACKED_SWITCH_ELEMENTS\"] ( label_ref )* ) ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1094:9: PACKED_SWITCH_DIRECTIVE fixed_32bit_literal ( label_ref )* END_PACKED_SWITCH_DIRECTIVE
 			{
-			PACKED_SWITCH_DIRECTIVE467=(Token)match(input,PACKED_SWITCH_DIRECTIVE,FOLLOW_PACKED_SWITCH_DIRECTIVE_in_insn_packed_switch_directive5636);  
-			stream_PACKED_SWITCH_DIRECTIVE.add(PACKED_SWITCH_DIRECTIVE467);
+			PACKED_SWITCH_DIRECTIVE475=(Token)match(input,PACKED_SWITCH_DIRECTIVE,FOLLOW_PACKED_SWITCH_DIRECTIVE_in_insn_packed_switch_directive5592);
+			stream_PACKED_SWITCH_DIRECTIVE.add(PACKED_SWITCH_DIRECTIVE475);
 
-			pushFollow(FOLLOW_fixed_32bit_literal_in_insn_packed_switch_directive5642);
-			fixed_32bit_literal468=fixed_32bit_literal();
+			pushFollow(FOLLOW_fixed_32bit_literal_in_insn_packed_switch_directive5598);
+			fixed_32bit_literal476=fixed_32bit_literal();
 			state._fsp--;
 
-			stream_fixed_32bit_literal.add(fixed_32bit_literal468.getTree());
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1109:5: ( label_ref )*
-			loop46:
+			stream_fixed_32bit_literal.add(fixed_32bit_literal476.getTree());
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1096:5: ( label_ref )*
+			loop51:
 			while (true) {
-				int alt46=2;
-				int LA46_0 = input.LA(1);
-				if ( (LA46_0==COLON) ) {
-					alt46=1;
+				int alt51=2;
+				int LA51_0 = input.LA(1);
+				if ( (LA51_0==COLON) ) {
+					alt51=1;
 				}
 
-				switch (alt46) {
+				switch (alt51) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1109:5: label_ref
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1096:5: label_ref
 					{
-					pushFollow(FOLLOW_label_ref_in_insn_packed_switch_directive5648);
-					label_ref469=label_ref();
+					pushFollow(FOLLOW_label_ref_in_insn_packed_switch_directive5604);
+					label_ref477=label_ref();
 					state._fsp--;
 
-					stream_label_ref.add(label_ref469.getTree());
+					stream_label_ref.add(label_ref477.getTree());
 					}
 					break;
 
 				default :
-					break loop46;
+					break loop51;
 				}
 			}
 
-			END_PACKED_SWITCH_DIRECTIVE470=(Token)match(input,END_PACKED_SWITCH_DIRECTIVE,FOLLOW_END_PACKED_SWITCH_DIRECTIVE_in_insn_packed_switch_directive5655);  
-			stream_END_PACKED_SWITCH_DIRECTIVE.add(END_PACKED_SWITCH_DIRECTIVE470);
+			END_PACKED_SWITCH_DIRECTIVE478=(Token)match(input,END_PACKED_SWITCH_DIRECTIVE,FOLLOW_END_PACKED_SWITCH_DIRECTIVE_in_insn_packed_switch_directive5611);
+			stream_END_PACKED_SWITCH_DIRECTIVE.add(END_PACKED_SWITCH_DIRECTIVE478);
 
 			// AST REWRITE
-			// elements: label_ref, fixed_32bit_literal
-			// token labels: 
+			// elements: fixed_32bit_literal, label_ref
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 1111:5: -> ^( I_STATEMENT_PACKED_SWITCH[$start, \"I_STATEMENT_PACKED_SWITCH\"] ^( I_PACKED_SWITCH_START_KEY[$start, \"I_PACKED_SWITCH_START_KEY\"] fixed_32bit_literal ) ^( I_PACKED_SWITCH_ELEMENTS[$start, \"I_PACKED_SWITCH_ELEMENTS\"] ( label_ref )* ) )
+			// 1098:5: -> ^( I_STATEMENT_PACKED_SWITCH[$start, \"I_STATEMENT_PACKED_SWITCH\"] ^( I_PACKED_SWITCH_START_KEY[$start, \"I_PACKED_SWITCH_START_KEY\"] fixed_32bit_literal ) ^( I_PACKED_SWITCH_ELEMENTS[$start, \"I_PACKED_SWITCH_ELEMENTS\"] ( label_ref )* ) )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1111:8: ^( I_STATEMENT_PACKED_SWITCH[$start, \"I_STATEMENT_PACKED_SWITCH\"] ^( I_PACKED_SWITCH_START_KEY[$start, \"I_PACKED_SWITCH_START_KEY\"] fixed_32bit_literal ) ^( I_PACKED_SWITCH_ELEMENTS[$start, \"I_PACKED_SWITCH_ELEMENTS\"] ( label_ref )* ) )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1098:8: ^( I_STATEMENT_PACKED_SWITCH[$start, \"I_STATEMENT_PACKED_SWITCH\"] ^( I_PACKED_SWITCH_START_KEY[$start, \"I_PACKED_SWITCH_START_KEY\"] fixed_32bit_literal ) ^( I_PACKED_SWITCH_ELEMENTS[$start, \"I_PACKED_SWITCH_ELEMENTS\"] ( label_ref )* ) )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_PACKED_SWITCH, (retval.start), "I_STATEMENT_PACKED_SWITCH"), root_1);
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1112:10: ^( I_PACKED_SWITCH_START_KEY[$start, \"I_PACKED_SWITCH_START_KEY\"] fixed_32bit_literal )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1099:10: ^( I_PACKED_SWITCH_START_KEY[$start, \"I_PACKED_SWITCH_START_KEY\"] fixed_32bit_literal )
 				{
 				CommonTree root_2 = (CommonTree)adaptor.nil();
 				root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_PACKED_SWITCH_START_KEY, (retval.start), "I_PACKED_SWITCH_START_KEY"), root_2);
@@ -16788,11 +14109,11 @@
 				adaptor.addChild(root_1, root_2);
 				}
 
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1113:10: ^( I_PACKED_SWITCH_ELEMENTS[$start, \"I_PACKED_SWITCH_ELEMENTS\"] ( label_ref )* )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1100:10: ^( I_PACKED_SWITCH_ELEMENTS[$start, \"I_PACKED_SWITCH_ELEMENTS\"] ( label_ref )* )
 				{
 				CommonTree root_2 = (CommonTree)adaptor.nil();
 				root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_PACKED_SWITCH_ELEMENTS, (retval.start), "I_PACKED_SWITCH_ELEMENTS"), root_2);
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1114:11: ( label_ref )*
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1101:11: ( label_ref )*
 				while ( stream_label_ref.hasNext() ) {
 					adaptor.addChild(root_2, stream_label_ref.nextTree());
 				}
@@ -16838,22 +14159,22 @@
 
 
 	// $ANTLR start "insn_sparse_switch_directive"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1117:1: insn_sparse_switch_directive : SPARSE_SWITCH_DIRECTIVE ( fixed_32bit_literal ARROW label_ref )* END_SPARSE_SWITCH_DIRECTIVE -> ^( I_STATEMENT_SPARSE_SWITCH[$start, \"I_STATEMENT_SPARSE_SWITCH\"] ^( I_SPARSE_SWITCH_ELEMENTS[$start, \"I_SPARSE_SWITCH_ELEMENTS\"] ( fixed_32bit_literal label_ref )* ) ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1104:1: insn_sparse_switch_directive : SPARSE_SWITCH_DIRECTIVE ( fixed_32bit_literal ARROW label_ref )* END_SPARSE_SWITCH_DIRECTIVE -> ^( I_STATEMENT_SPARSE_SWITCH[$start, \"I_STATEMENT_SPARSE_SWITCH\"] ^( I_SPARSE_SWITCH_ELEMENTS[$start, \"I_SPARSE_SWITCH_ELEMENTS\"] ( fixed_32bit_literal label_ref )* ) ) ;
 	public final smaliParser.insn_sparse_switch_directive_return insn_sparse_switch_directive() throws RecognitionException {
 		smaliParser.insn_sparse_switch_directive_return retval = new smaliParser.insn_sparse_switch_directive_return();
 		retval.start = input.LT(1);
 
 		CommonTree root_0 = null;
 
-		Token SPARSE_SWITCH_DIRECTIVE471=null;
-		Token ARROW473=null;
-		Token END_SPARSE_SWITCH_DIRECTIVE475=null;
-		ParserRuleReturnScope fixed_32bit_literal472 =null;
-		ParserRuleReturnScope label_ref474 =null;
+		Token SPARSE_SWITCH_DIRECTIVE479=null;
+		Token ARROW481=null;
+		Token END_SPARSE_SWITCH_DIRECTIVE483=null;
+		ParserRuleReturnScope fixed_32bit_literal480 =null;
+		ParserRuleReturnScope label_ref482 =null;
 
-		CommonTree SPARSE_SWITCH_DIRECTIVE471_tree=null;
-		CommonTree ARROW473_tree=null;
-		CommonTree END_SPARSE_SWITCH_DIRECTIVE475_tree=null;
+		CommonTree SPARSE_SWITCH_DIRECTIVE479_tree=null;
+		CommonTree ARROW481_tree=null;
+		CommonTree END_SPARSE_SWITCH_DIRECTIVE483_tree=null;
 		RewriteRuleTokenStream stream_SPARSE_SWITCH_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token SPARSE_SWITCH_DIRECTIVE");
 		RewriteRuleTokenStream stream_ARROW=new RewriteRuleTokenStream(adaptor,"token ARROW");
 		RewriteRuleTokenStream stream_END_SPARSE_SWITCH_DIRECTIVE=new RewriteRuleTokenStream(adaptor,"token END_SPARSE_SWITCH_DIRECTIVE");
@@ -16861,71 +14182,71 @@
 		RewriteRuleSubtreeStream stream_label_ref=new RewriteRuleSubtreeStream(adaptor,"rule label_ref");
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1118:3: ( SPARSE_SWITCH_DIRECTIVE ( fixed_32bit_literal ARROW label_ref )* END_SPARSE_SWITCH_DIRECTIVE -> ^( I_STATEMENT_SPARSE_SWITCH[$start, \"I_STATEMENT_SPARSE_SWITCH\"] ^( I_SPARSE_SWITCH_ELEMENTS[$start, \"I_SPARSE_SWITCH_ELEMENTS\"] ( fixed_32bit_literal label_ref )* ) ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1118:7: SPARSE_SWITCH_DIRECTIVE ( fixed_32bit_literal ARROW label_ref )* END_SPARSE_SWITCH_DIRECTIVE
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1105:3: ( SPARSE_SWITCH_DIRECTIVE ( fixed_32bit_literal ARROW label_ref )* END_SPARSE_SWITCH_DIRECTIVE -> ^( I_STATEMENT_SPARSE_SWITCH[$start, \"I_STATEMENT_SPARSE_SWITCH\"] ^( I_SPARSE_SWITCH_ELEMENTS[$start, \"I_SPARSE_SWITCH_ELEMENTS\"] ( fixed_32bit_literal label_ref )* ) ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1105:7: SPARSE_SWITCH_DIRECTIVE ( fixed_32bit_literal ARROW label_ref )* END_SPARSE_SWITCH_DIRECTIVE
 			{
-			SPARSE_SWITCH_DIRECTIVE471=(Token)match(input,SPARSE_SWITCH_DIRECTIVE,FOLLOW_SPARSE_SWITCH_DIRECTIVE_in_insn_sparse_switch_directive5729);  
-			stream_SPARSE_SWITCH_DIRECTIVE.add(SPARSE_SWITCH_DIRECTIVE471);
+			SPARSE_SWITCH_DIRECTIVE479=(Token)match(input,SPARSE_SWITCH_DIRECTIVE,FOLLOW_SPARSE_SWITCH_DIRECTIVE_in_insn_sparse_switch_directive5685);
+			stream_SPARSE_SWITCH_DIRECTIVE.add(SPARSE_SWITCH_DIRECTIVE479);
 
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1119:5: ( fixed_32bit_literal ARROW label_ref )*
-			loop47:
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1106:5: ( fixed_32bit_literal ARROW label_ref )*
+			loop52:
 			while (true) {
-				int alt47=2;
-				int LA47_0 = input.LA(1);
-				if ( ((LA47_0 >= BOOL_LITERAL && LA47_0 <= BYTE_LITERAL)||LA47_0==CHAR_LITERAL||(LA47_0 >= FLOAT_LITERAL && LA47_0 <= FLOAT_LITERAL_OR_ID)||LA47_0==LONG_LITERAL||LA47_0==NEGATIVE_INTEGER_LITERAL||LA47_0==POSITIVE_INTEGER_LITERAL||LA47_0==SHORT_LITERAL) ) {
-					alt47=1;
+				int alt52=2;
+				int LA52_0 = input.LA(1);
+				if ( ((LA52_0 >= BOOL_LITERAL && LA52_0 <= BYTE_LITERAL)||LA52_0==CHAR_LITERAL||(LA52_0 >= FLOAT_LITERAL && LA52_0 <= FLOAT_LITERAL_OR_ID)||LA52_0==LONG_LITERAL||LA52_0==NEGATIVE_INTEGER_LITERAL||LA52_0==POSITIVE_INTEGER_LITERAL||LA52_0==SHORT_LITERAL) ) {
+					alt52=1;
 				}
 
-				switch (alt47) {
+				switch (alt52) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1119:6: fixed_32bit_literal ARROW label_ref
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1106:6: fixed_32bit_literal ARROW label_ref
 					{
-					pushFollow(FOLLOW_fixed_32bit_literal_in_insn_sparse_switch_directive5736);
-					fixed_32bit_literal472=fixed_32bit_literal();
+					pushFollow(FOLLOW_fixed_32bit_literal_in_insn_sparse_switch_directive5692);
+					fixed_32bit_literal480=fixed_32bit_literal();
 					state._fsp--;
 
-					stream_fixed_32bit_literal.add(fixed_32bit_literal472.getTree());
-					ARROW473=(Token)match(input,ARROW,FOLLOW_ARROW_in_insn_sparse_switch_directive5738);  
-					stream_ARROW.add(ARROW473);
+					stream_fixed_32bit_literal.add(fixed_32bit_literal480.getTree());
+					ARROW481=(Token)match(input,ARROW,FOLLOW_ARROW_in_insn_sparse_switch_directive5694);
+					stream_ARROW.add(ARROW481);
 
-					pushFollow(FOLLOW_label_ref_in_insn_sparse_switch_directive5740);
-					label_ref474=label_ref();
+					pushFollow(FOLLOW_label_ref_in_insn_sparse_switch_directive5696);
+					label_ref482=label_ref();
 					state._fsp--;
 
-					stream_label_ref.add(label_ref474.getTree());
+					stream_label_ref.add(label_ref482.getTree());
 					}
 					break;
 
 				default :
-					break loop47;
+					break loop52;
 				}
 			}
 
-			END_SPARSE_SWITCH_DIRECTIVE475=(Token)match(input,END_SPARSE_SWITCH_DIRECTIVE,FOLLOW_END_SPARSE_SWITCH_DIRECTIVE_in_insn_sparse_switch_directive5748);  
-			stream_END_SPARSE_SWITCH_DIRECTIVE.add(END_SPARSE_SWITCH_DIRECTIVE475);
+			END_SPARSE_SWITCH_DIRECTIVE483=(Token)match(input,END_SPARSE_SWITCH_DIRECTIVE,FOLLOW_END_SPARSE_SWITCH_DIRECTIVE_in_insn_sparse_switch_directive5704);
+			stream_END_SPARSE_SWITCH_DIRECTIVE.add(END_SPARSE_SWITCH_DIRECTIVE483);
 
 			// AST REWRITE
 			// elements: label_ref, fixed_32bit_literal
-			// token labels: 
+			// token labels:
 			// rule labels: retval
-			// token list labels: 
-			// rule list labels: 
-			// wildcard labels: 
+			// token list labels:
+			// rule list labels:
+			// wildcard labels:
 			retval.tree = root_0;
 			RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
 			root_0 = (CommonTree)adaptor.nil();
-			// 1121:5: -> ^( I_STATEMENT_SPARSE_SWITCH[$start, \"I_STATEMENT_SPARSE_SWITCH\"] ^( I_SPARSE_SWITCH_ELEMENTS[$start, \"I_SPARSE_SWITCH_ELEMENTS\"] ( fixed_32bit_literal label_ref )* ) )
+			// 1108:5: -> ^( I_STATEMENT_SPARSE_SWITCH[$start, \"I_STATEMENT_SPARSE_SWITCH\"] ^( I_SPARSE_SWITCH_ELEMENTS[$start, \"I_SPARSE_SWITCH_ELEMENTS\"] ( fixed_32bit_literal label_ref )* ) )
 			{
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1121:8: ^( I_STATEMENT_SPARSE_SWITCH[$start, \"I_STATEMENT_SPARSE_SWITCH\"] ^( I_SPARSE_SWITCH_ELEMENTS[$start, \"I_SPARSE_SWITCH_ELEMENTS\"] ( fixed_32bit_literal label_ref )* ) )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1108:8: ^( I_STATEMENT_SPARSE_SWITCH[$start, \"I_STATEMENT_SPARSE_SWITCH\"] ^( I_SPARSE_SWITCH_ELEMENTS[$start, \"I_SPARSE_SWITCH_ELEMENTS\"] ( fixed_32bit_literal label_ref )* ) )
 				{
 				CommonTree root_1 = (CommonTree)adaptor.nil();
 				root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_STATEMENT_SPARSE_SWITCH, (retval.start), "I_STATEMENT_SPARSE_SWITCH"), root_1);
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1122:8: ^( I_SPARSE_SWITCH_ELEMENTS[$start, \"I_SPARSE_SWITCH_ELEMENTS\"] ( fixed_32bit_literal label_ref )* )
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1109:8: ^( I_SPARSE_SWITCH_ELEMENTS[$start, \"I_SPARSE_SWITCH_ELEMENTS\"] ( fixed_32bit_literal label_ref )* )
 				{
 				CommonTree root_2 = (CommonTree)adaptor.nil();
 				root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(I_SPARSE_SWITCH_ELEMENTS, (retval.start), "I_SPARSE_SWITCH_ELEMENTS"), root_2);
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliParser.g:1122:71: ( fixed_32bit_literal label_ref )*
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliParser.g:1109:71: ( fixed_32bit_literal label_ref )*
 				while ( stream_label_ref.hasNext()||stream_fixed_32bit_literal.hasNext() ) {
 					adaptor.addChild(root_2, stream_fixed_32bit_literal.nextTree());
 					adaptor.addChild(root_2, stream_label_ref.nextTree());
@@ -16967,23 +14288,237 @@
 	// Delegated rules
 
 
-	protected DFA33 dfa33 = new DFA33(this);
-	static final String DFA33_eotS =
+	protected DFA28 dfa28 = new DFA28(this);
+	protected DFA36 dfa36 = new DFA36(this);
+	protected DFA38 dfa38 = new DFA38(this);
+	static final String DFA28_eotS =
+		"\55\uffff";
+	static final String DFA28_eofS =
+		"\55\uffff";
+	static final String DFA28_minS =
+		"\1\4\12\23\1\u00b8\35\23\2\uffff\1\u00b4\1\23";
+	static final String DFA28_maxS =
+		"\1\u00c5\12\u00b0\1\u00b8\35\u00b0\2\uffff\1\u00b8\1\u00b0";
+	static final String DFA28_acceptS =
+		"\51\uffff\1\1\1\2\2\uffff";
+	static final String DFA28_specialS =
+		"\55\uffff}>";
+	static final String[] DFA28_transitionS = {
+			"\1\2\1\uffff\1\16\3\uffff\1\10\14\uffff\1\7\17\uffff\1\6\2\uffff\1\17"+
+			"\1\20\1\21\1\uffff\1\22\1\uffff\1\23\2\uffff\1\24\1\25\1\26\1\27\3\uffff"+
+			"\1\30\1\uffff\1\31\1\32\1\33\1\34\1\uffff\1\35\1\36\1\uffff\1\37\3\uffff"+
+			"\1\40\1\41\1\uffff\1\42\1\43\1\44\1\45\1\46\5\uffff\1\47\125\uffff\1"+
+			"\50\1\uffff\1\5\1\11\6\uffff\1\13\1\uffff\1\4\1\14\1\uffff\1\12\3\uffff"+
+			"\1\1\5\uffff\1\3\1\15",
+			"\1\51\u009c\uffff\1\52",
+			"\1\51\u009c\uffff\1\52",
+			"\1\51\u009c\uffff\1\52",
+			"\1\51\u009c\uffff\1\52",
+			"\1\51\u009c\uffff\1\52",
+			"\1\51\u009c\uffff\1\52",
+			"\1\51\u009c\uffff\1\52",
+			"\1\51\u009c\uffff\1\52",
+			"\1\51\u009c\uffff\1\52",
+			"\1\51\u009c\uffff\1\52",
+			"\1\53",
+			"\1\51\u009c\uffff\1\52",
+			"\1\51\u009c\uffff\1\52",
+			"\1\51\u009c\uffff\1\52",
+			"\1\51\u009c\uffff\1\52",
+			"\1\51\u009c\uffff\1\52",
+			"\1\51\u009c\uffff\1\52",
+			"\1\51\u009c\uffff\1\52",
+			"\1\51\u009c\uffff\1\52",
+			"\1\51\u009c\uffff\1\52",
+			"\1\51\u009c\uffff\1\52",
+			"\1\51\u009c\uffff\1\52",
+			"\1\51\u009c\uffff\1\52",
+			"\1\51\u009c\uffff\1\52",
+			"\1\51\u009c\uffff\1\52",
+			"\1\51\u009c\uffff\1\52",
+			"\1\51\u009c\uffff\1\52",
+			"\1\51\u009c\uffff\1\52",
+			"\1\51\u009c\uffff\1\52",
+			"\1\51\u009c\uffff\1\52",
+			"\1\51\u009c\uffff\1\52",
+			"\1\51\u009c\uffff\1\52",
+			"\1\51\u009c\uffff\1\52",
+			"\1\51\u009c\uffff\1\52",
+			"\1\51\u009c\uffff\1\52",
+			"\1\51\u009c\uffff\1\52",
+			"\1\51\u009c\uffff\1\52",
+			"\1\51\u009c\uffff\1\52",
+			"\1\51\u009c\uffff\1\52",
+			"\1\51\u009c\uffff\1\52",
+			"",
+			"",
+			"\1\54\3\uffff\1\53",
+			"\1\51\u009c\uffff\1\52"
+	};
+
+	static final short[] DFA28_eot = DFA.unpackEncodedString(DFA28_eotS);
+	static final short[] DFA28_eof = DFA.unpackEncodedString(DFA28_eofS);
+	static final char[] DFA28_min = DFA.unpackEncodedStringToUnsignedChars(DFA28_minS);
+	static final char[] DFA28_max = DFA.unpackEncodedStringToUnsignedChars(DFA28_maxS);
+	static final short[] DFA28_accept = DFA.unpackEncodedString(DFA28_acceptS);
+	static final short[] DFA28_special = DFA.unpackEncodedString(DFA28_specialS);
+	static final short[][] DFA28_transition;
+
+	static {
+		int numStates = DFA28_transitionS.length;
+		DFA28_transition = new short[numStates][];
+		for (int i=0; i<numStates; i++) {
+			DFA28_transition[i] = DFA.unpackEncodedString(DFA28_transitionS[i]);
+		}
+	}
+
+	protected class DFA28 extends DFA {
+
+		public DFA28(BaseRecognizer recognizer) {
+			this.recognizer = recognizer;
+			this.decisionNumber = 28;
+			this.eot = DFA28_eot;
+			this.eof = DFA28_eof;
+			this.min = DFA28_min;
+			this.max = DFA28_max;
+			this.accept = DFA28_accept;
+			this.special = DFA28_special;
+			this.transition = DFA28_transition;
+		}
+		@Override
+		public String getDescription() {
+			return "690:7: ( member_name COLON nonvoid_type_descriptor -> ^( I_ENCODED_FIELD ( reference_type_descriptor )? member_name nonvoid_type_descriptor ) | member_name method_prototype -> ^( I_ENCODED_METHOD ( reference_type_descriptor )? member_name method_prototype ) )";
+		}
+	}
+
+	static final String DFA36_eotS =
+		"\61\uffff";
+	static final String DFA36_eofS =
+		"\61\uffff";
+	static final String DFA36_minS =
+		"\1\4\1\5\1\11\12\23\1\u00b8\35\23\1\uffff\1\4\2\uffff\1\u00b4\1\23";
+	static final String DFA36_maxS =
+		"\1\u00c5\1\u00c0\1\11\12\u00b0\1\u00b8\35\u00b0\1\uffff\1\u00c5\2\uffff"+
+		"\1\u00b8\1\u00b0";
+	static final String DFA36_acceptS =
+		"\53\uffff\1\1\1\uffff\1\2\1\3\2\uffff";
+	static final String DFA36_specialS =
+		"\61\uffff}>";
+	static final String[] DFA36_transitionS = {
+			"\1\4\1\uffff\1\20\1\uffff\1\2\1\uffff\1\12\4\uffff\1\1\7\uffff\1\11\17"+
+			"\uffff\1\10\2\uffff\1\21\1\22\1\23\1\uffff\1\24\1\uffff\1\25\2\uffff"+
+			"\1\26\1\27\1\30\1\31\3\uffff\1\32\1\uffff\1\33\1\34\1\35\1\36\1\uffff"+
+			"\1\37\1\40\1\uffff\1\41\3\uffff\1\42\1\43\1\uffff\1\44\1\45\1\46\1\47"+
+			"\1\50\5\uffff\1\51\125\uffff\1\52\1\uffff\1\7\1\13\6\uffff\1\15\1\uffff"+
+			"\1\6\1\16\1\uffff\1\14\3\uffff\1\3\5\uffff\1\5\1\17",
+			"\1\53\1\uffff\1\53\1\uffff\1\54\2\uffff\2\53\5\uffff\1\53\7\uffff\2"+
+			"\53\5\uffff\1\53\7\uffff\54\53\121\uffff\3\53\7\uffff\2\53\6\uffff\1"+
+			"\53\1\uffff\2\53\2\uffff\2\53",
+			"\1\54",
+			"\1\55\u009c\uffff\1\56",
+			"\1\55\u009c\uffff\1\56",
+			"\1\55\u009c\uffff\1\56",
+			"\1\55\u009c\uffff\1\56",
+			"\1\55\u009c\uffff\1\56",
+			"\1\55\u009c\uffff\1\56",
+			"\1\55\u009c\uffff\1\56",
+			"\1\55\u009c\uffff\1\56",
+			"\1\55\u009c\uffff\1\56",
+			"\1\55\u009c\uffff\1\56",
+			"\1\57",
+			"\1\55\u009c\uffff\1\56",
+			"\1\55\u009c\uffff\1\56",
+			"\1\55\u009c\uffff\1\56",
+			"\1\55\u009c\uffff\1\56",
+			"\1\55\u009c\uffff\1\56",
+			"\1\55\u009c\uffff\1\56",
+			"\1\55\u009c\uffff\1\56",
+			"\1\55\u009c\uffff\1\56",
+			"\1\55\u009c\uffff\1\56",
+			"\1\55\u009c\uffff\1\56",
+			"\1\55\u009c\uffff\1\56",
+			"\1\55\u009c\uffff\1\56",
+			"\1\55\u009c\uffff\1\56",
+			"\1\55\u009c\uffff\1\56",
+			"\1\55\u009c\uffff\1\56",
+			"\1\55\u009c\uffff\1\56",
+			"\1\55\u009c\uffff\1\56",
+			"\1\55\u009c\uffff\1\56",
+			"\1\55\u009c\uffff\1\56",
+			"\1\55\u009c\uffff\1\56",
+			"\1\55\u009c\uffff\1\56",
+			"\1\55\u009c\uffff\1\56",
+			"\1\55\u009c\uffff\1\56",
+			"\1\55\u009c\uffff\1\56",
+			"\1\55\u009c\uffff\1\56",
+			"\1\55\u009c\uffff\1\56",
+			"\1\55\u009c\uffff\1\56",
+			"\1\55\u009c\uffff\1\56",
+			"\1\55\u009c\uffff\1\56",
+			"",
+			"\1\4\1\uffff\1\20\3\uffff\1\12\14\uffff\1\11\17\uffff\1\10\2\uffff\1"+
+			"\21\1\22\1\23\1\uffff\1\24\1\uffff\1\25\2\uffff\1\26\1\27\1\30\1\31\3"+
+			"\uffff\1\32\1\uffff\1\33\1\34\1\35\1\36\1\uffff\1\37\1\40\1\uffff\1\41"+
+			"\3\uffff\1\42\1\43\1\uffff\1\44\1\45\1\46\1\47\1\50\5\uffff\1\51\125"+
+			"\uffff\1\52\1\uffff\1\7\1\13\6\uffff\1\15\1\uffff\1\6\1\16\1\uffff\1"+
+			"\14\3\uffff\1\3\5\uffff\1\5\1\17",
+			"",
+			"",
+			"\1\60\3\uffff\1\57",
+			"\1\55\u009c\uffff\1\56"
+	};
+
+	static final short[] DFA36_eot = DFA.unpackEncodedString(DFA36_eotS);
+	static final short[] DFA36_eof = DFA.unpackEncodedString(DFA36_eofS);
+	static final char[] DFA36_min = DFA.unpackEncodedStringToUnsignedChars(DFA36_minS);
+	static final char[] DFA36_max = DFA.unpackEncodedStringToUnsignedChars(DFA36_maxS);
+	static final short[] DFA36_accept = DFA.unpackEncodedString(DFA36_acceptS);
+	static final short[] DFA36_special = DFA.unpackEncodedString(DFA36_specialS);
+	static final short[][] DFA36_transition;
+
+	static {
+		int numStates = DFA36_transitionS.length;
+		DFA36_transition = new short[numStates][];
+		for (int i=0; i<numStates; i++) {
+			DFA36_transition[i] = DFA.unpackEncodedString(DFA36_transitionS[i]);
+		}
+	}
+
+	protected class DFA36 extends DFA {
+
+		public DFA36(BaseRecognizer recognizer) {
+			this.recognizer = recognizer;
+			this.decisionNumber = 36;
+			this.eot = DFA36_eot;
+			this.eof = DFA36_eof;
+			this.min = DFA36_min;
+			this.max = DFA36_max;
+			this.accept = DFA36_accept;
+			this.special = DFA36_special;
+			this.transition = DFA36_transition;
+		}
+		@Override
+		public String getDescription() {
+			return "718:1: verification_error_reference : ( CLASS_DESCRIPTOR | field_reference | method_reference );";
+		}
+	}
+
+	static final String DFA38_eotS =
 		"\101\uffff";
-	static final String DFA33_eofS =
+	static final String DFA38_eofS =
 		"\101\uffff";
-	static final String DFA33_minS =
+	static final String DFA38_minS =
 		"\1\5\76\uffff\1\0\1\uffff";
-	static final String DFA33_maxS =
-		"\1\u00cf\76\uffff\1\0\1\uffff";
-	static final String DFA33_acceptS =
+	static final String DFA38_maxS =
+		"\1\u00c0\76\uffff\1\0\1\uffff";
+	static final String DFA38_acceptS =
 		"\1\uffff\1\2\76\uffff\1\1";
-	static final String DFA33_specialS =
+	static final String DFA38_specialS =
 		"\77\uffff\1\0\1\uffff}>";
-	static final String[] DFA33_transitionS = {
-			"\1\77\1\uffff\1\1\17\uffff\2\1\5\uffff\1\1\10\uffff\2\1\1\uffff\1\1\3"+
-			"\uffff\1\1\13\uffff\54\1\122\uffff\3\1\7\uffff\2\1\4\uffff\1\1\1\uffff"+
-			"\2\1\2\uffff\2\1",
+	static final String[] DFA38_transitionS = {
+			"\1\77\1\uffff\1\1\4\uffff\2\1\5\uffff\1\1\7\uffff\2\1\1\uffff\1\1\3\uffff"+
+			"\1\1\7\uffff\54\1\121\uffff\3\1\7\uffff\2\1\6\uffff\1\1\1\uffff\2\1\2"+
+			"\uffff\2\1",
 			"",
 			"",
 			"",
@@ -17050,548 +14585,556 @@
 			""
 	};
 
-	static final short[] DFA33_eot = DFA.unpackEncodedString(DFA33_eotS);
-	static final short[] DFA33_eof = DFA.unpackEncodedString(DFA33_eofS);
-	static final char[] DFA33_min = DFA.unpackEncodedStringToUnsignedChars(DFA33_minS);
-	static final char[] DFA33_max = DFA.unpackEncodedStringToUnsignedChars(DFA33_maxS);
-	static final short[] DFA33_accept = DFA.unpackEncodedString(DFA33_acceptS);
-	static final short[] DFA33_special = DFA.unpackEncodedString(DFA33_specialS);
-	static final short[][] DFA33_transition;
+	static final short[] DFA38_eot = DFA.unpackEncodedString(DFA38_eotS);
+	static final short[] DFA38_eof = DFA.unpackEncodedString(DFA38_eofS);
+	static final char[] DFA38_min = DFA.unpackEncodedStringToUnsignedChars(DFA38_minS);
+	static final char[] DFA38_max = DFA.unpackEncodedStringToUnsignedChars(DFA38_maxS);
+	static final short[] DFA38_accept = DFA.unpackEncodedString(DFA38_acceptS);
+	static final short[] DFA38_special = DFA.unpackEncodedString(DFA38_specialS);
+	static final short[][] DFA38_transition;
 
 	static {
-		int numStates = DFA33_transitionS.length;
-		DFA33_transition = new short[numStates][];
+		int numStates = DFA38_transitionS.length;
+		DFA38_transition = new short[numStates][];
 		for (int i=0; i<numStates; i++) {
-			DFA33_transition[i] = DFA.unpackEncodedString(DFA33_transitionS[i]);
+			DFA38_transition[i] = DFA.unpackEncodedString(DFA38_transitionS[i]);
 		}
 	}
 
-	protected class DFA33 extends DFA {
+	protected class DFA38 extends DFA {
 
-		public DFA33(BaseRecognizer recognizer) {
+		public DFA38(BaseRecognizer recognizer) {
 			this.recognizer = recognizer;
-			this.decisionNumber = 33;
-			this.eot = DFA33_eot;
-			this.eof = DFA33_eof;
-			this.min = DFA33_min;
-			this.max = DFA33_max;
-			this.accept = DFA33_accept;
-			this.special = DFA33_special;
-			this.transition = DFA33_transition;
+			this.decisionNumber = 38;
+			this.eot = DFA38_eot;
+			this.eof = DFA38_eof;
+			this.min = DFA38_min;
+			this.max = DFA38_max;
+			this.accept = DFA38_accept;
+			this.special = DFA38_special;
+			this.transition = DFA38_transition;
 		}
 		@Override
 		public String getDescription() {
-			return "()* loopback of 749:5: ({...}? annotation )*";
+			return "()* loopback of 736:5: ({...}? annotation )*";
 		}
 		@Override
 		public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
 			TokenStream input = (TokenStream)_input;
 			int _s = s;
 			switch ( s ) {
-					case 0 : 
-						int LA33_63 = input.LA(1);
-						 
-						int index33_63 = input.index();
+					case 0 :
+						int LA38_63 = input.LA(1);
+						
+						int index38_63 = input.index();
 						input.rewind();
 						s = -1;
 						if ( ((input.LA(1) == ANNOTATION_DIRECTIVE)) ) {s = 64;}
 						else if ( (true) ) {s = 1;}
-						 
-						input.seek(index33_63);
+						
+						input.seek(index38_63);
 						if ( s>=0 ) return s;
 						break;
 			}
 			NoViableAltException nvae =
-				new NoViableAltException(getDescription(), 33, _s, input);
+				new NoViableAltException(getDescription(), 38, _s, input);
 			error(nvae);
 			throw nvae;
 		}
 	}
 
-	public static final BitSet FOLLOW_class_spec_in_smali_file1145 = new BitSet(new long[]{0x0102000008000020L,0x0000000000000000L,0x2000000000000000L,0x0000000000044000L});
-	public static final BitSet FOLLOW_super_spec_in_smali_file1156 = new BitSet(new long[]{0x0102000008000020L,0x0000000000000000L,0x2000000000000000L,0x0000000000044000L});
-	public static final BitSet FOLLOW_implements_spec_in_smali_file1164 = new BitSet(new long[]{0x0102000008000020L,0x0000000000000000L,0x2000000000000000L,0x0000000000044000L});
-	public static final BitSet FOLLOW_source_spec_in_smali_file1173 = new BitSet(new long[]{0x0102000008000020L,0x0000000000000000L,0x2000000000000000L,0x0000000000044000L});
-	public static final BitSet FOLLOW_method_in_smali_file1181 = new BitSet(new long[]{0x0102000008000020L,0x0000000000000000L,0x2000000000000000L,0x0000000000044000L});
-	public static final BitSet FOLLOW_field_in_smali_file1187 = new BitSet(new long[]{0x0102000008000020L,0x0000000000000000L,0x2000000000000000L,0x0000000000044000L});
-	public static final BitSet FOLLOW_annotation_in_smali_file1193 = new BitSet(new long[]{0x0102000008000020L,0x0000000000000000L,0x2000000000000000L,0x0000000000044000L});
-	public static final BitSet FOLLOW_EOF_in_smali_file1204 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_CLASS_DIRECTIVE_in_class_spec1291 = new BitSet(new long[]{0x0000000004000010L});
-	public static final BitSet FOLLOW_access_list_in_class_spec1293 = new BitSet(new long[]{0x0000000004000000L});
-	public static final BitSet FOLLOW_CLASS_DESCRIPTOR_in_class_spec1295 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_SUPER_DIRECTIVE_in_super_spec1313 = new BitSet(new long[]{0x0000000004000000L});
-	public static final BitSet FOLLOW_CLASS_DESCRIPTOR_in_super_spec1315 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_IMPLEMENTS_DIRECTIVE_in_implements_spec1334 = new BitSet(new long[]{0x0000000004000000L});
-	public static final BitSet FOLLOW_CLASS_DESCRIPTOR_in_implements_spec1336 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_SOURCE_DIRECTIVE_in_source_spec1355 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
-	public static final BitSet FOLLOW_STRING_LITERAL_in_source_spec1357 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ACCESS_SPEC_in_access_list1376 = new BitSet(new long[]{0x0000000000000012L});
-	public static final BitSet FOLLOW_FIELD_DIRECTIVE_in_field1407 = new BitSet(new long[]{0x5C10000800200050L,0x00000020FB16F479L,0xD000000000000000L,0x00000000001822E0L});
-	public static final BitSet FOLLOW_access_list_in_field1409 = new BitSet(new long[]{0x5C10000800200050L,0x00000020FB16F479L,0xD000000000000000L,0x00000000001822E0L});
-	public static final BitSet FOLLOW_member_name_in_field1411 = new BitSet(new long[]{0x0000000040000000L});
-	public static final BitSet FOLLOW_COLON_in_field1413 = new BitSet(new long[]{0x0000000004000100L,0x0000000000000000L,0x0000000000000000L,0x0000000000000080L});
-	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_field1415 = new BitSet(new long[]{0x0000804000000022L});
-	public static final BitSet FOLLOW_EQUAL_in_field1418 = new BitSet(new long[]{0x0018200C06600100L,0x0000000000000000L,0xC800000000000000L,0x00000000001310C1L});
-	public static final BitSet FOLLOW_literal_in_field1420 = new BitSet(new long[]{0x0000004000000022L});
-	public static final BitSet FOLLOW_annotation_in_field1433 = new BitSet(new long[]{0x0000004000000022L});
-	public static final BitSet FOLLOW_END_FIELD_DIRECTIVE_in_field1447 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_METHOD_DIRECTIVE_in_method1558 = new BitSet(new long[]{0x5C10000800200050L,0x00000020FB16F479L,0xD000000000000000L,0x00000000001822E0L});
-	public static final BitSet FOLLOW_access_list_in_method1560 = new BitSet(new long[]{0x5C10000800200050L,0x00000020FB16F479L,0xD000000000000000L,0x00000000001822E0L});
-	public static final BitSet FOLLOW_member_name_in_method1562 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000002L});
-	public static final BitSet FOLLOW_method_prototype_in_method1564 = new BitSet(new long[]{0xFC004180418000A0L,0x0000003FFFFFFFFFL,0x0700000000000000L,0x000000000000CD0CL});
-	public static final BitSet FOLLOW_statements_and_directives_in_method1566 = new BitSet(new long[]{0x0000010000000000L});
-	public static final BitSet FOLLOW_END_METHOD_DIRECTIVE_in_method1572 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ordered_method_item_in_statements_and_directives1617 = new BitSet(new long[]{0xFC004080418000A2L,0x0000003FFFFFFFFFL,0x0700000000000000L,0x000000000000CD0CL});
-	public static final BitSet FOLLOW_registers_directive_in_statements_and_directives1625 = new BitSet(new long[]{0xFC004080418000A2L,0x0000003FFFFFFFFFL,0x0700000000000000L,0x000000000000CD0CL});
-	public static final BitSet FOLLOW_catch_directive_in_statements_and_directives1633 = new BitSet(new long[]{0xFC004080418000A2L,0x0000003FFFFFFFFFL,0x0700000000000000L,0x000000000000CD0CL});
-	public static final BitSet FOLLOW_catchall_directive_in_statements_and_directives1641 = new BitSet(new long[]{0xFC004080418000A2L,0x0000003FFFFFFFFFL,0x0700000000000000L,0x000000000000CD0CL});
-	public static final BitSet FOLLOW_parameter_directive_in_statements_and_directives1649 = new BitSet(new long[]{0xFC004080418000A2L,0x0000003FFFFFFFFFL,0x0700000000000000L,0x000000000000CD0CL});
-	public static final BitSet FOLLOW_annotation_in_statements_and_directives1657 = new BitSet(new long[]{0xFC004080418000A2L,0x0000003FFFFFFFFFL,0x0700000000000000L,0x000000000000CD0CL});
-	public static final BitSet FOLLOW_label_in_ordered_method_item1742 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_instruction_in_ordered_method_item1748 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_debug_directive_in_ordered_method_item1754 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_REGISTERS_DIRECTIVE_in_registers_directive1774 = new BitSet(new long[]{0x0000000002400000L,0x0000000000000000L,0x4800000000000000L,0x0000000000001040L});
-	public static final BitSet FOLLOW_integral_literal_in_registers_directive1778 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_LOCALS_DIRECTIVE_in_registers_directive1798 = new BitSet(new long[]{0x0000000002400000L,0x0000000000000000L,0x4800000000000000L,0x0000000000001040L});
-	public static final BitSet FOLLOW_integral_literal_in_registers_directive1802 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_SIMPLE_NAME_in_simple_name1836 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ACCESS_SPEC_in_simple_name1842 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_VERIFICATION_ERROR_TYPE_in_simple_name1853 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_POSITIVE_INTEGER_LITERAL_in_simple_name1864 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_NEGATIVE_INTEGER_LITERAL_in_simple_name1875 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_FLOAT_LITERAL_OR_ID_in_simple_name1886 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_DOUBLE_LITERAL_OR_ID_in_simple_name1897 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_BOOL_LITERAL_in_simple_name1908 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_NULL_LITERAL_in_simple_name1919 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_REGISTER_in_simple_name1930 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_PARAM_LIST_OR_ID_in_simple_name1941 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_PRIMITIVE_TYPE_in_simple_name1952 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_VOID_TYPE_in_simple_name1963 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ANNOTATION_VISIBILITY_in_simple_name1974 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT10t_in_simple_name1985 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT10x_in_simple_name1996 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT10x_ODEX_in_simple_name2007 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT11x_in_simple_name2018 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT12x_OR_ID_in_simple_name2029 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21c_FIELD_in_simple_name2040 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21c_FIELD_ODEX_in_simple_name2051 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21c_STRING_in_simple_name2062 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21c_TYPE_in_simple_name2073 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21t_in_simple_name2084 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22c_FIELD_in_simple_name2095 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22c_FIELD_ODEX_in_simple_name2106 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22c_TYPE_in_simple_name2117 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22cs_FIELD_in_simple_name2128 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22s_OR_ID_in_simple_name2139 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22t_in_simple_name2150 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT23x_in_simple_name2161 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT31i_OR_ID_in_simple_name2172 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT31t_in_simple_name2183 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT35c_METHOD_in_simple_name2194 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT35c_METHOD_ODEX_in_simple_name2205 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT35c_TYPE_in_simple_name2216 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT35mi_METHOD_in_simple_name2227 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT35ms_METHOD_in_simple_name2238 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT51l_in_simple_name2249 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_simple_name_in_member_name2264 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_MEMBER_NAME_in_member_name2270 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_OPEN_PAREN_in_method_prototype2285 = new BitSet(new long[]{0x0000000024000100L,0x0000000000000000L,0x0000000000000000L,0x00000000000000B0L});
-	public static final BitSet FOLLOW_param_list_in_method_prototype2287 = new BitSet(new long[]{0x0000000020000000L});
-	public static final BitSet FOLLOW_CLOSE_PAREN_in_method_prototype2289 = new BitSet(new long[]{0x0000000004000100L,0x0000000000000000L,0x0000000000000000L,0x0000000000100080L});
-	public static final BitSet FOLLOW_type_descriptor_in_method_prototype2291 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_PARAM_LIST_in_param_list2321 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_PARAM_LIST_OR_ID_in_param_list2331 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_param_list2341 = new BitSet(new long[]{0x0000000004000102L,0x0000000000000000L,0x0000000000000000L,0x0000000000000080L});
-	public static final BitSet FOLLOW_POSITIVE_INTEGER_LITERAL_in_integer_literal2418 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_NEGATIVE_INTEGER_LITERAL_in_integer_literal2429 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_FLOAT_LITERAL_OR_ID_in_float_literal2444 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_FLOAT_LITERAL_in_float_literal2455 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_DOUBLE_LITERAL_OR_ID_in_double_literal2465 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_DOUBLE_LITERAL_in_double_literal2476 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_LONG_LITERAL_in_literal2486 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_integer_literal_in_literal2492 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_SHORT_LITERAL_in_literal2498 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_BYTE_LITERAL_in_literal2504 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_float_literal_in_literal2510 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_double_literal_in_literal2516 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_CHAR_LITERAL_in_literal2522 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_STRING_LITERAL_in_literal2528 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_BOOL_LITERAL_in_literal2534 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_NULL_LITERAL_in_literal2540 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_array_literal_in_literal2546 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_subannotation_in_literal2552 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_type_field_method_literal_in_literal2558 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_enum_literal_in_literal2564 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_integer_literal_in_parsed_integer_literal2577 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_LONG_LITERAL_in_integral_literal2589 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_integer_literal_in_integral_literal2595 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_SHORT_LITERAL_in_integral_literal2601 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_CHAR_LITERAL_in_integral_literal2607 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_BYTE_LITERAL_in_integral_literal2613 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_LONG_LITERAL_in_fixed_32bit_literal2623 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_integer_literal_in_fixed_32bit_literal2629 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_SHORT_LITERAL_in_fixed_32bit_literal2635 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_BYTE_LITERAL_in_fixed_32bit_literal2641 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_float_literal_in_fixed_32bit_literal2647 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_CHAR_LITERAL_in_fixed_32bit_literal2653 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_BOOL_LITERAL_in_fixed_32bit_literal2659 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_integer_literal_in_fixed_literal2669 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_LONG_LITERAL_in_fixed_literal2675 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_SHORT_LITERAL_in_fixed_literal2681 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_BYTE_LITERAL_in_fixed_literal2687 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_float_literal_in_fixed_literal2693 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_double_literal_in_fixed_literal2699 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_CHAR_LITERAL_in_fixed_literal2705 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_BOOL_LITERAL_in_fixed_literal2711 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_OPEN_BRACE_in_array_literal2721 = new BitSet(new long[]{0x0018200C16600100L,0x0000000000000000L,0xC800000000000000L,0x00000000001310C1L});
-	public static final BitSet FOLLOW_literal_in_array_literal2724 = new BitSet(new long[]{0x0000000090000000L});
-	public static final BitSet FOLLOW_COMMA_in_array_literal2727 = new BitSet(new long[]{0x0018200C06600100L,0x0000000000000000L,0xC800000000000000L,0x00000000001310C1L});
-	public static final BitSet FOLLOW_literal_in_array_literal2729 = new BitSet(new long[]{0x0000000090000000L});
-	public static final BitSet FOLLOW_CLOSE_BRACE_in_array_literal2737 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_simple_name_in_annotation_element2761 = new BitSet(new long[]{0x0000800000000000L});
-	public static final BitSet FOLLOW_EQUAL_in_annotation_element2763 = new BitSet(new long[]{0x0018200C06600100L,0x0000000000000000L,0xC800000000000000L,0x00000000001310C1L});
-	public static final BitSet FOLLOW_literal_in_annotation_element2765 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ANNOTATION_DIRECTIVE_in_annotation2790 = new BitSet(new long[]{0x0000000000000040L});
-	public static final BitSet FOLLOW_ANNOTATION_VISIBILITY_in_annotation2792 = new BitSet(new long[]{0x0000000004000000L});
-	public static final BitSet FOLLOW_CLASS_DESCRIPTOR_in_annotation2794 = new BitSet(new long[]{0x5C10001800200050L,0x00000020FB16F479L,0xC000000000000000L,0x00000000001822E0L});
-	public static final BitSet FOLLOW_annotation_element_in_annotation2800 = new BitSet(new long[]{0x5C10001800200050L,0x00000020FB16F479L,0xC000000000000000L,0x00000000001822E0L});
-	public static final BitSet FOLLOW_END_ANNOTATION_DIRECTIVE_in_annotation2803 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_SUBANNOTATION_DIRECTIVE_in_subannotation2836 = new BitSet(new long[]{0x0000000004000000L});
-	public static final BitSet FOLLOW_CLASS_DESCRIPTOR_in_subannotation2838 = new BitSet(new long[]{0x5C10100800200050L,0x00000020FB16F479L,0xC000000000000000L,0x00000000001822E0L});
-	public static final BitSet FOLLOW_annotation_element_in_subannotation2840 = new BitSet(new long[]{0x5C10100800200050L,0x00000020FB16F479L,0xC000000000000000L,0x00000000001822E0L});
-	public static final BitSet FOLLOW_END_SUBANNOTATION_DIRECTIVE_in_subannotation2843 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ENUM_DIRECTIVE_in_enum_literal2869 = new BitSet(new long[]{0x0000000004000100L});
-	public static final BitSet FOLLOW_reference_type_descriptor_in_enum_literal2871 = new BitSet(new long[]{0x0000000000000200L});
-	public static final BitSet FOLLOW_ARROW_in_enum_literal2873 = new BitSet(new long[]{0x5C10000800200050L,0x00000020FB16F479L,0xC000000000000000L,0x00000000001822E0L});
-	public static final BitSet FOLLOW_simple_name_in_enum_literal2875 = new BitSet(new long[]{0x0000000040000000L});
-	public static final BitSet FOLLOW_COLON_in_enum_literal2877 = new BitSet(new long[]{0x0000000004000100L});
-	public static final BitSet FOLLOW_reference_type_descriptor_in_enum_literal2879 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_reference_type_descriptor_in_type_field_method_literal2903 = new BitSet(new long[]{0x0000000000000202L});
-	public static final BitSet FOLLOW_ARROW_in_type_field_method_literal2911 = new BitSet(new long[]{0x5C10000800200050L,0x00000020FB16F479L,0xD000000000000000L,0x00000000001822E0L});
-	public static final BitSet FOLLOW_member_name_in_type_field_method_literal2921 = new BitSet(new long[]{0x0000000040000000L});
-	public static final BitSet FOLLOW_COLON_in_type_field_method_literal2923 = new BitSet(new long[]{0x0000000004000100L,0x0000000000000000L,0x0000000000000000L,0x0000000000000080L});
-	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_type_field_method_literal2925 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_member_name_in_type_field_method_literal2947 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000002L});
-	public static final BitSet FOLLOW_method_prototype_in_type_field_method_literal2949 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_PRIMITIVE_TYPE_in_type_field_method_literal2991 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_VOID_TYPE_in_type_field_method_literal2997 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_reference_type_descriptor_in_fully_qualified_method3007 = new BitSet(new long[]{0x0000000000000200L});
-	public static final BitSet FOLLOW_ARROW_in_fully_qualified_method3009 = new BitSet(new long[]{0x5C10000800200050L,0x00000020FB16F479L,0xD000000000000000L,0x00000000001822E0L});
-	public static final BitSet FOLLOW_member_name_in_fully_qualified_method3011 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000002L});
-	public static final BitSet FOLLOW_method_prototype_in_fully_qualified_method3013 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_reference_type_descriptor_in_fully_qualified_field3033 = new BitSet(new long[]{0x0000000000000200L});
-	public static final BitSet FOLLOW_ARROW_in_fully_qualified_field3035 = new BitSet(new long[]{0x5C10000800200050L,0x00000020FB16F479L,0xD000000000000000L,0x00000000001822E0L});
-	public static final BitSet FOLLOW_member_name_in_fully_qualified_field3037 = new BitSet(new long[]{0x0000000040000000L});
-	public static final BitSet FOLLOW_COLON_in_fully_qualified_field3039 = new BitSet(new long[]{0x0000000004000100L,0x0000000000000000L,0x0000000000000000L,0x0000000000000080L});
-	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_fully_qualified_field3041 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_COLON_in_label3061 = new BitSet(new long[]{0x5C10000800200050L,0x00000020FB16F479L,0xC000000000000000L,0x00000000001822E0L});
-	public static final BitSet FOLLOW_simple_name_in_label3063 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_COLON_in_label_ref3082 = new BitSet(new long[]{0x5C10000800200050L,0x00000020FB16F479L,0xC000000000000000L,0x00000000001822E0L});
-	public static final BitSet FOLLOW_simple_name_in_label_ref3084 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_REGISTER_in_register_list3098 = new BitSet(new long[]{0x0000000080000002L});
-	public static final BitSet FOLLOW_COMMA_in_register_list3101 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_register_list3103 = new BitSet(new long[]{0x0000000080000002L});
-	public static final BitSet FOLLOW_REGISTER_in_register_range3138 = new BitSet(new long[]{0x0000000200000002L});
-	public static final BitSet FOLLOW_DOTDOT_in_register_range3141 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_register_range3145 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_CLASS_DESCRIPTOR_in_verification_error_reference3174 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_fully_qualified_field_in_verification_error_reference3178 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_fully_qualified_method_in_verification_error_reference3182 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_CATCH_DIRECTIVE_in_catch_directive3192 = new BitSet(new long[]{0x0000000004000100L,0x0000000000000000L,0x0000000000000000L,0x0000000000000080L});
-	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_catch_directive3194 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000001L});
-	public static final BitSet FOLLOW_OPEN_BRACE_in_catch_directive3196 = new BitSet(new long[]{0x0000000040000000L});
-	public static final BitSet FOLLOW_label_ref_in_catch_directive3200 = new BitSet(new long[]{0x0000000200000000L});
-	public static final BitSet FOLLOW_DOTDOT_in_catch_directive3202 = new BitSet(new long[]{0x0000000040000000L});
-	public static final BitSet FOLLOW_label_ref_in_catch_directive3206 = new BitSet(new long[]{0x0000000010000000L});
-	public static final BitSet FOLLOW_CLOSE_BRACE_in_catch_directive3208 = new BitSet(new long[]{0x0000000040000000L});
-	public static final BitSet FOLLOW_label_ref_in_catch_directive3212 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_CATCHALL_DIRECTIVE_in_catchall_directive3244 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000001L});
-	public static final BitSet FOLLOW_OPEN_BRACE_in_catchall_directive3246 = new BitSet(new long[]{0x0000000040000000L});
-	public static final BitSet FOLLOW_label_ref_in_catchall_directive3250 = new BitSet(new long[]{0x0000000200000000L});
-	public static final BitSet FOLLOW_DOTDOT_in_catchall_directive3252 = new BitSet(new long[]{0x0000000040000000L});
-	public static final BitSet FOLLOW_label_ref_in_catchall_directive3256 = new BitSet(new long[]{0x0000000010000000L});
-	public static final BitSet FOLLOW_CLOSE_BRACE_in_catchall_directive3258 = new BitSet(new long[]{0x0000000040000000L});
-	public static final BitSet FOLLOW_label_ref_in_catchall_directive3262 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_PARAMETER_DIRECTIVE_in_parameter_directive3301 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_parameter_directive3303 = new BitSet(new long[]{0x0000040080000022L});
-	public static final BitSet FOLLOW_COMMA_in_parameter_directive3306 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
-	public static final BitSet FOLLOW_STRING_LITERAL_in_parameter_directive3308 = new BitSet(new long[]{0x0000040000000022L});
-	public static final BitSet FOLLOW_annotation_in_parameter_directive3319 = new BitSet(new long[]{0x0000040000000022L});
-	public static final BitSet FOLLOW_END_PARAMETER_DIRECTIVE_in_parameter_directive3332 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_line_directive_in_debug_directive3405 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_local_directive_in_debug_directive3411 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_end_local_directive_in_debug_directive3417 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_restart_local_directive_in_debug_directive3423 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_prologue_directive_in_debug_directive3429 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_epilogue_directive_in_debug_directive3435 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_source_directive_in_debug_directive3441 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_LINE_DIRECTIVE_in_line_directive3451 = new BitSet(new long[]{0x0000000002400000L,0x0000000000000000L,0x4800000000000000L,0x0000000000001040L});
-	public static final BitSet FOLLOW_integral_literal_in_line_directive3453 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_LOCAL_DIRECTIVE_in_local_directive3476 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_local_directive3478 = new BitSet(new long[]{0x0000000080000002L});
-	public static final BitSet FOLLOW_COMMA_in_local_directive3481 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x8000000000000000L,0x0000000000010000L});
-	public static final BitSet FOLLOW_NULL_LITERAL_in_local_directive3484 = new BitSet(new long[]{0x0000000040000000L});
-	public static final BitSet FOLLOW_STRING_LITERAL_in_local_directive3490 = new BitSet(new long[]{0x0000000040000000L});
-	public static final BitSet FOLLOW_COLON_in_local_directive3493 = new BitSet(new long[]{0x0000000004000100L,0x0000000000000000L,0x0000000000000000L,0x0000000000100080L});
-	public static final BitSet FOLLOW_VOID_TYPE_in_local_directive3496 = new BitSet(new long[]{0x0000000080000002L});
-	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_local_directive3500 = new BitSet(new long[]{0x0000000080000002L});
-	public static final BitSet FOLLOW_COMMA_in_local_directive3534 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
-	public static final BitSet FOLLOW_STRING_LITERAL_in_local_directive3538 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_END_LOCAL_DIRECTIVE_in_end_local_directive3580 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_end_local_directive3582 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_RESTART_LOCAL_DIRECTIVE_in_restart_local_directive3605 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_restart_local_directive3607 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_PROLOGUE_DIRECTIVE_in_prologue_directive3630 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_EPILOGUE_DIRECTIVE_in_epilogue_directive3651 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_SOURCE_DIRECTIVE_in_source_directive3672 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
-	public static final BitSet FOLLOW_STRING_LITERAL_in_source_directive3674 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT12x_in_instruction_format12x3699 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT12x_OR_ID_in_instruction_format12x3705 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22s_in_instruction_format22s3720 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22s_OR_ID_in_instruction_format22s3726 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT31i_in_instruction_format31i3741 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT31i_OR_ID_in_instruction_format31i3747 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format10t_in_instruction3764 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format10x_in_instruction3770 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format10x_odex_in_instruction3776 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format11n_in_instruction3782 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format11x_in_instruction3788 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format12x_in_instruction3794 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format20bc_in_instruction3800 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format20t_in_instruction3806 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format21c_field_in_instruction3812 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format21c_field_odex_in_instruction3818 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format21c_string_in_instruction3824 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format21c_type_in_instruction3830 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format21ih_in_instruction3836 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format21lh_in_instruction3842 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format21s_in_instruction3848 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format21t_in_instruction3854 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format22b_in_instruction3860 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format22c_field_in_instruction3866 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format22c_field_odex_in_instruction3872 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format22c_type_in_instruction3878 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format22cs_field_in_instruction3884 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format22s_in_instruction3890 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format22t_in_instruction3896 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format22x_in_instruction3902 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format23x_in_instruction3908 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format30t_in_instruction3914 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format31c_in_instruction3920 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format31i_in_instruction3926 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format31t_in_instruction3932 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format32x_in_instruction3938 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format35c_method_in_instruction3944 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format35c_type_in_instruction3950 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format35c_method_odex_in_instruction3956 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format35mi_method_in_instruction3962 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format35ms_method_in_instruction3968 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format3rc_method_in_instruction3974 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format3rc_method_odex_in_instruction3980 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format3rc_type_in_instruction3986 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format3rmi_method_in_instruction3992 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format3rms_method_in_instruction3998 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format51l_in_instruction4004 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_array_data_directive_in_instruction4010 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_packed_switch_directive_in_instruction4016 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_sparse_switch_directive_in_instruction4022 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT10t_in_insn_format10t4042 = new BitSet(new long[]{0x0000000040000000L});
-	public static final BitSet FOLLOW_label_ref_in_insn_format10t4044 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT10x_in_insn_format10x4074 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT10x_ODEX_in_insn_format10x_odex4102 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT11n_in_insn_format11n4123 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format11n4125 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_COMMA_in_insn_format11n4127 = new BitSet(new long[]{0x0000000002400000L,0x0000000000000000L,0x4800000000000000L,0x0000000000001040L});
-	public static final BitSet FOLLOW_integral_literal_in_insn_format11n4129 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT11x_in_insn_format11x4161 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format11x4163 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_instruction_format12x_in_insn_format12x4193 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format12x4195 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_COMMA_in_insn_format12x4197 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format12x4199 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT20bc_in_insn_format20bc4231 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000080000L});
-	public static final BitSet FOLLOW_VERIFICATION_ERROR_TYPE_in_insn_format20bc4233 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_COMMA_in_insn_format20bc4235 = new BitSet(new long[]{0x0000000004000100L});
-	public static final BitSet FOLLOW_verification_error_reference_in_insn_format20bc4237 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT20t_in_insn_format20t4274 = new BitSet(new long[]{0x0000000040000000L});
-	public static final BitSet FOLLOW_label_ref_in_insn_format20t4276 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21c_FIELD_in_insn_format21c_field4306 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format21c_field4308 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_COMMA_in_insn_format21c_field4310 = new BitSet(new long[]{0x0000000004000100L});
-	public static final BitSet FOLLOW_fully_qualified_field_in_insn_format21c_field4312 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21c_FIELD_ODEX_in_insn_format21c_field_odex4344 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format21c_field_odex4346 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_COMMA_in_insn_format21c_field_odex4348 = new BitSet(new long[]{0x0000000004000100L});
-	public static final BitSet FOLLOW_fully_qualified_field_in_insn_format21c_field_odex4350 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21c_STRING_in_insn_format21c_string4388 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format21c_string4390 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_COMMA_in_insn_format21c_string4392 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
-	public static final BitSet FOLLOW_STRING_LITERAL_in_insn_format21c_string4394 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21c_TYPE_in_insn_format21c_type4426 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format21c_type4428 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_COMMA_in_insn_format21c_type4430 = new BitSet(new long[]{0x0000000004000100L,0x0000000000000000L,0x0000000000000000L,0x0000000000000080L});
-	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_insn_format21c_type4432 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21ih_in_insn_format21ih4464 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format21ih4466 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_COMMA_in_insn_format21ih4468 = new BitSet(new long[]{0x0018000002600000L,0x0000000000000000L,0x4800000000000000L,0x0000000000001040L});
-	public static final BitSet FOLLOW_fixed_32bit_literal_in_insn_format21ih4470 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21lh_in_insn_format21lh4502 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format21lh4504 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_COMMA_in_insn_format21lh4506 = new BitSet(new long[]{0x0018000002600000L,0x0000000000000000L,0x4800000000000000L,0x0000000000001040L});
-	public static final BitSet FOLLOW_fixed_32bit_literal_in_insn_format21lh4508 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21s_in_insn_format21s4540 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format21s4542 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_COMMA_in_insn_format21s4544 = new BitSet(new long[]{0x0000000002400000L,0x0000000000000000L,0x4800000000000000L,0x0000000000001040L});
-	public static final BitSet FOLLOW_integral_literal_in_insn_format21s4546 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21t_in_insn_format21t4578 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format21t4580 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_COMMA_in_insn_format21t4582 = new BitSet(new long[]{0x0000000040000000L});
-	public static final BitSet FOLLOW_label_ref_in_insn_format21t4584 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22b_in_insn_format22b4616 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format22b4618 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_COMMA_in_insn_format22b4620 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format22b4622 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_COMMA_in_insn_format22b4624 = new BitSet(new long[]{0x0000000002400000L,0x0000000000000000L,0x4800000000000000L,0x0000000000001040L});
-	public static final BitSet FOLLOW_integral_literal_in_insn_format22b4626 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22c_FIELD_in_insn_format22c_field4660 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format22c_field4662 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_COMMA_in_insn_format22c_field4664 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format22c_field4666 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_COMMA_in_insn_format22c_field4668 = new BitSet(new long[]{0x0000000004000100L});
-	public static final BitSet FOLLOW_fully_qualified_field_in_insn_format22c_field4670 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22c_FIELD_ODEX_in_insn_format22c_field_odex4704 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format22c_field_odex4706 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_COMMA_in_insn_format22c_field_odex4708 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format22c_field_odex4710 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_COMMA_in_insn_format22c_field_odex4712 = new BitSet(new long[]{0x0000000004000100L});
-	public static final BitSet FOLLOW_fully_qualified_field_in_insn_format22c_field_odex4714 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22c_TYPE_in_insn_format22c_type4754 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format22c_type4756 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_COMMA_in_insn_format22c_type4758 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format22c_type4760 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_COMMA_in_insn_format22c_type4762 = new BitSet(new long[]{0x0000000004000100L,0x0000000000000000L,0x0000000000000000L,0x0000000000000080L});
-	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_insn_format22c_type4764 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22cs_FIELD_in_insn_format22cs_field4798 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format22cs_field4800 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_COMMA_in_insn_format22cs_field4802 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format22cs_field4804 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_COMMA_in_insn_format22cs_field4806 = new BitSet(new long[]{0x0004000000000000L});
-	public static final BitSet FOLLOW_FIELD_OFFSET_in_insn_format22cs_field4808 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_instruction_format22s_in_insn_format22s4829 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format22s4831 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_COMMA_in_insn_format22s4833 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format22s4835 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_COMMA_in_insn_format22s4837 = new BitSet(new long[]{0x0000000002400000L,0x0000000000000000L,0x4800000000000000L,0x0000000000001040L});
-	public static final BitSet FOLLOW_integral_literal_in_insn_format22s4839 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22t_in_insn_format22t4873 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format22t4875 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_COMMA_in_insn_format22t4877 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format22t4879 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_COMMA_in_insn_format22t4881 = new BitSet(new long[]{0x0000000040000000L});
-	public static final BitSet FOLLOW_label_ref_in_insn_format22t4883 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22x_in_insn_format22x4917 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format22x4919 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_COMMA_in_insn_format22x4921 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format22x4923 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT23x_in_insn_format23x4955 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format23x4957 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_COMMA_in_insn_format23x4959 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format23x4961 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_COMMA_in_insn_format23x4963 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format23x4965 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT30t_in_insn_format30t4999 = new BitSet(new long[]{0x0000000040000000L});
-	public static final BitSet FOLLOW_label_ref_in_insn_format30t5001 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT31c_in_insn_format31c5031 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format31c5033 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_COMMA_in_insn_format31c5035 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
-	public static final BitSet FOLLOW_STRING_LITERAL_in_insn_format31c5037 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_instruction_format31i_in_insn_format31i5068 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format31i5070 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_COMMA_in_insn_format31i5072 = new BitSet(new long[]{0x0018000002600000L,0x0000000000000000L,0x4800000000000000L,0x0000000000001040L});
-	public static final BitSet FOLLOW_fixed_32bit_literal_in_insn_format31i5074 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT31t_in_insn_format31t5106 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format31t5108 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_COMMA_in_insn_format31t5110 = new BitSet(new long[]{0x0000000040000000L});
-	public static final BitSet FOLLOW_label_ref_in_insn_format31t5112 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT32x_in_insn_format32x5144 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format32x5146 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_COMMA_in_insn_format32x5148 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format32x5150 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT35c_METHOD_in_insn_format35c_method5182 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000001L});
-	public static final BitSet FOLLOW_OPEN_BRACE_in_insn_format35c_method5184 = new BitSet(new long[]{0x0000000010000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_register_list_in_insn_format35c_method5186 = new BitSet(new long[]{0x0000000010000000L});
-	public static final BitSet FOLLOW_CLOSE_BRACE_in_insn_format35c_method5188 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_COMMA_in_insn_format35c_method5190 = new BitSet(new long[]{0x0000000004000100L});
-	public static final BitSet FOLLOW_fully_qualified_method_in_insn_format35c_method5192 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT35c_TYPE_in_insn_format35c_type5224 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000001L});
-	public static final BitSet FOLLOW_OPEN_BRACE_in_insn_format35c_type5226 = new BitSet(new long[]{0x0000000010000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_register_list_in_insn_format35c_type5228 = new BitSet(new long[]{0x0000000010000000L});
-	public static final BitSet FOLLOW_CLOSE_BRACE_in_insn_format35c_type5230 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_COMMA_in_insn_format35c_type5232 = new BitSet(new long[]{0x0000000004000100L,0x0000000000000000L,0x0000000000000000L,0x0000000000000080L});
-	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_insn_format35c_type5234 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT35c_METHOD_ODEX_in_insn_format35c_method_odex5266 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000001L});
-	public static final BitSet FOLLOW_OPEN_BRACE_in_insn_format35c_method_odex5268 = new BitSet(new long[]{0x0000000010000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_register_list_in_insn_format35c_method_odex5270 = new BitSet(new long[]{0x0000000010000000L});
-	public static final BitSet FOLLOW_CLOSE_BRACE_in_insn_format35c_method_odex5272 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_COMMA_in_insn_format35c_method_odex5274 = new BitSet(new long[]{0x0000000004000100L});
-	public static final BitSet FOLLOW_fully_qualified_method_in_insn_format35c_method_odex5276 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT35mi_METHOD_in_insn_format35mi_method5297 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000001L});
-	public static final BitSet FOLLOW_OPEN_BRACE_in_insn_format35mi_method5299 = new BitSet(new long[]{0x0000000010000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_register_list_in_insn_format35mi_method5301 = new BitSet(new long[]{0x0000000010000000L});
-	public static final BitSet FOLLOW_CLOSE_BRACE_in_insn_format35mi_method5303 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_COMMA_in_insn_format35mi_method5305 = new BitSet(new long[]{0x0200000000000000L});
-	public static final BitSet FOLLOW_INLINE_INDEX_in_insn_format35mi_method5307 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT35ms_METHOD_in_insn_format35ms_method5328 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000001L});
-	public static final BitSet FOLLOW_OPEN_BRACE_in_insn_format35ms_method5330 = new BitSet(new long[]{0x0000000010000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_register_list_in_insn_format35ms_method5332 = new BitSet(new long[]{0x0000000010000000L});
-	public static final BitSet FOLLOW_CLOSE_BRACE_in_insn_format35ms_method5334 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_COMMA_in_insn_format35ms_method5336 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000200000L});
-	public static final BitSet FOLLOW_VTABLE_INDEX_in_insn_format35ms_method5338 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT3rc_METHOD_in_insn_format3rc_method5359 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000001L});
-	public static final BitSet FOLLOW_OPEN_BRACE_in_insn_format3rc_method5361 = new BitSet(new long[]{0x0000000010000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_register_range_in_insn_format3rc_method5363 = new BitSet(new long[]{0x0000000010000000L});
-	public static final BitSet FOLLOW_CLOSE_BRACE_in_insn_format3rc_method5365 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_COMMA_in_insn_format3rc_method5367 = new BitSet(new long[]{0x0000000004000100L});
-	public static final BitSet FOLLOW_fully_qualified_method_in_insn_format3rc_method5369 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT3rc_METHOD_ODEX_in_insn_format3rc_method_odex5401 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000001L});
-	public static final BitSet FOLLOW_OPEN_BRACE_in_insn_format3rc_method_odex5403 = new BitSet(new long[]{0x0000000010000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_register_list_in_insn_format3rc_method_odex5405 = new BitSet(new long[]{0x0000000010000000L});
-	public static final BitSet FOLLOW_CLOSE_BRACE_in_insn_format3rc_method_odex5407 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_COMMA_in_insn_format3rc_method_odex5409 = new BitSet(new long[]{0x0000000004000100L});
-	public static final BitSet FOLLOW_fully_qualified_method_in_insn_format3rc_method_odex5411 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT3rc_TYPE_in_insn_format3rc_type5432 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000001L});
-	public static final BitSet FOLLOW_OPEN_BRACE_in_insn_format3rc_type5434 = new BitSet(new long[]{0x0000000010000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_register_range_in_insn_format3rc_type5436 = new BitSet(new long[]{0x0000000010000000L});
-	public static final BitSet FOLLOW_CLOSE_BRACE_in_insn_format3rc_type5438 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_COMMA_in_insn_format3rc_type5440 = new BitSet(new long[]{0x0000000004000100L,0x0000000000000000L,0x0000000000000000L,0x0000000000000080L});
-	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_insn_format3rc_type5442 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT3rmi_METHOD_in_insn_format3rmi_method5474 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000001L});
-	public static final BitSet FOLLOW_OPEN_BRACE_in_insn_format3rmi_method5476 = new BitSet(new long[]{0x0000000010000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_register_range_in_insn_format3rmi_method5478 = new BitSet(new long[]{0x0000000010000000L});
-	public static final BitSet FOLLOW_CLOSE_BRACE_in_insn_format3rmi_method5480 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_COMMA_in_insn_format3rmi_method5482 = new BitSet(new long[]{0x0200000000000000L});
-	public static final BitSet FOLLOW_INLINE_INDEX_in_insn_format3rmi_method5484 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT3rms_METHOD_in_insn_format3rms_method5505 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000001L});
-	public static final BitSet FOLLOW_OPEN_BRACE_in_insn_format3rms_method5507 = new BitSet(new long[]{0x0000000010000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_register_range_in_insn_format3rms_method5509 = new BitSet(new long[]{0x0000000010000000L});
-	public static final BitSet FOLLOW_CLOSE_BRACE_in_insn_format3rms_method5511 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_COMMA_in_insn_format3rms_method5513 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000200000L});
-	public static final BitSet FOLLOW_VTABLE_INDEX_in_insn_format3rms_method5515 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT51l_in_insn_format51l5536 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format51l5538 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_COMMA_in_insn_format51l5540 = new BitSet(new long[]{0x0018000C02600000L,0x0000000000000000L,0x4800000000000000L,0x0000000000001040L});
-	public static final BitSet FOLLOW_fixed_literal_in_insn_format51l5542 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ARRAY_DATA_DIRECTIVE_in_insn_array_data_directive5569 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x4000000000000000L,0x0000000000000040L});
-	public static final BitSet FOLLOW_parsed_integer_literal_in_insn_array_data_directive5575 = new BitSet(new long[]{0x0018002C02600000L,0x0000000000000000L,0x4800000000000000L,0x0000000000001040L});
-	public static final BitSet FOLLOW_fixed_literal_in_insn_array_data_directive5587 = new BitSet(new long[]{0x0018002C02600000L,0x0000000000000000L,0x4800000000000000L,0x0000000000001040L});
-	public static final BitSet FOLLOW_END_ARRAY_DATA_DIRECTIVE_in_insn_array_data_directive5590 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_PACKED_SWITCH_DIRECTIVE_in_insn_packed_switch_directive5636 = new BitSet(new long[]{0x0018000002600000L,0x0000000000000000L,0x4800000000000000L,0x0000000000001040L});
-	public static final BitSet FOLLOW_fixed_32bit_literal_in_insn_packed_switch_directive5642 = new BitSet(new long[]{0x0000020040000000L});
-	public static final BitSet FOLLOW_label_ref_in_insn_packed_switch_directive5648 = new BitSet(new long[]{0x0000020040000000L});
-	public static final BitSet FOLLOW_END_PACKED_SWITCH_DIRECTIVE_in_insn_packed_switch_directive5655 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_SPARSE_SWITCH_DIRECTIVE_in_insn_sparse_switch_directive5729 = new BitSet(new long[]{0x0018080002600000L,0x0000000000000000L,0x4800000000000000L,0x0000000000001040L});
-	public static final BitSet FOLLOW_fixed_32bit_literal_in_insn_sparse_switch_directive5736 = new BitSet(new long[]{0x0000000000000200L});
-	public static final BitSet FOLLOW_ARROW_in_insn_sparse_switch_directive5738 = new BitSet(new long[]{0x0000000040000000L});
-	public static final BitSet FOLLOW_label_ref_in_insn_sparse_switch_directive5740 = new BitSet(new long[]{0x0018080002600000L,0x0000000000000000L,0x4800000000000000L,0x0000000000001040L});
-	public static final BitSet FOLLOW_END_SPARSE_SWITCH_DIRECTIVE_in_insn_sparse_switch_directive5748 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_class_spec_in_smali_file1070 = new BitSet(new long[]{0x0000011000010020L,0x0000000000000000L,0x8000100000000000L,0x0000000000000008L});
+	public static final BitSet FOLLOW_super_spec_in_smali_file1081 = new BitSet(new long[]{0x0000011000010020L,0x0000000000000000L,0x8000100000000000L,0x0000000000000008L});
+	public static final BitSet FOLLOW_implements_spec_in_smali_file1089 = new BitSet(new long[]{0x0000011000010020L,0x0000000000000000L,0x8000100000000000L,0x0000000000000008L});
+	public static final BitSet FOLLOW_source_spec_in_smali_file1098 = new BitSet(new long[]{0x0000011000010020L,0x0000000000000000L,0x8000100000000000L,0x0000000000000008L});
+	public static final BitSet FOLLOW_method_in_smali_file1106 = new BitSet(new long[]{0x0000011000010020L,0x0000000000000000L,0x8000100000000000L,0x0000000000000008L});
+	public static final BitSet FOLLOW_field_in_smali_file1112 = new BitSet(new long[]{0x0000011000010020L,0x0000000000000000L,0x8000100000000000L,0x0000000000000008L});
+	public static final BitSet FOLLOW_annotation_in_smali_file1118 = new BitSet(new long[]{0x0000011000010020L,0x0000000000000000L,0x8000100000000000L,0x0000000000000008L});
+	public static final BitSet FOLLOW_EOF_in_smali_file1129 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_CLASS_DIRECTIVE_in_class_spec1216 = new BitSet(new long[]{0x0000000000008010L});
+	public static final BitSet FOLLOW_access_list_in_class_spec1218 = new BitSet(new long[]{0x0000000000008000L});
+	public static final BitSet FOLLOW_CLASS_DESCRIPTOR_in_class_spec1220 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_SUPER_DIRECTIVE_in_super_spec1238 = new BitSet(new long[]{0x0000000000008000L});
+	public static final BitSet FOLLOW_CLASS_DESCRIPTOR_in_super_spec1240 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_IMPLEMENTS_DIRECTIVE_in_implements_spec1259 = new BitSet(new long[]{0x0000000000008000L});
+	public static final BitSet FOLLOW_CLASS_DESCRIPTOR_in_implements_spec1261 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_SOURCE_DIRECTIVE_in_source_spec1280 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000002L});
+	public static final BitSet FOLLOW_STRING_LITERAL_in_source_spec1282 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_ACCESS_SPEC_in_access_list1301 = new BitSet(new long[]{0x0000000000000012L});
+	public static final BitSet FOLLOW_FIELD_DIRECTIVE_in_field1332 = new BitSet(new long[]{0xF4795C8000800450L,0x000000000020FB16L,0x45A0680000000000L,0x0000000000000030L});
+	public static final BitSet FOLLOW_access_list_in_field1334 = new BitSet(new long[]{0xF4795C8000800450L,0x000000000020FB16L,0x45A0680000000000L,0x0000000000000030L});
+	public static final BitSet FOLLOW_member_name_in_field1336 = new BitSet(new long[]{0x0000000000080000L});
+	public static final BitSet FOLLOW_COLON_in_field1338 = new BitSet(new long[]{0x0000000000008100L,0x0000000000000000L,0x0100000000000000L});
+	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_field1340 = new BitSet(new long[]{0x0000000804000022L});
+	public static final BitSet FOLLOW_EQUAL_in_field1343 = new BitSet(new long[]{0xF4795CC200C0CD50L,0x000000000020FB16L,0x65A0EC0000000000L,0x0000000000000036L});
+	public static final BitSet FOLLOW_literal_in_field1345 = new BitSet(new long[]{0x0000000004000022L});
+	public static final BitSet FOLLOW_annotation_in_field1358 = new BitSet(new long[]{0x0000000004000022L});
+	public static final BitSet FOLLOW_END_FIELD_DIRECTIVE_in_field1372 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_METHOD_DIRECTIVE_in_method1483 = new BitSet(new long[]{0xF4795C8000800450L,0x000000000020FB16L,0x45A0680000000000L,0x0000000000000030L});
+	public static final BitSet FOLLOW_access_list_in_method1485 = new BitSet(new long[]{0xF4795C8000800450L,0x000000000020FB16L,0x45A0680000000000L,0x0000000000000030L});
+	public static final BitSet FOLLOW_member_name_in_method1487 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0001000000000000L});
+	public static final BitSet FOLLOW_method_prototype_in_method1489 = new BitSet(new long[]{0xFFFFFC04180830A0L,0x00000000003FFFFFL,0x9A06038000000000L,0x0000000000000001L});
+	public static final BitSet FOLLOW_statements_and_directives_in_method1491 = new BitSet(new long[]{0x0000000010000000L});
+	public static final BitSet FOLLOW_END_METHOD_DIRECTIVE_in_method1497 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_ordered_method_item_in_statements_and_directives1542 = new BitSet(new long[]{0xFFFFFC04080830A2L,0x00000000003FFFFFL,0x9A06038000000000L,0x0000000000000001L});
+	public static final BitSet FOLLOW_registers_directive_in_statements_and_directives1550 = new BitSet(new long[]{0xFFFFFC04080830A2L,0x00000000003FFFFFL,0x9A06038000000000L,0x0000000000000001L});
+	public static final BitSet FOLLOW_catch_directive_in_statements_and_directives1558 = new BitSet(new long[]{0xFFFFFC04080830A2L,0x00000000003FFFFFL,0x9A06038000000000L,0x0000000000000001L});
+	public static final BitSet FOLLOW_catchall_directive_in_statements_and_directives1566 = new BitSet(new long[]{0xFFFFFC04080830A2L,0x00000000003FFFFFL,0x9A06038000000000L,0x0000000000000001L});
+	public static final BitSet FOLLOW_parameter_directive_in_statements_and_directives1574 = new BitSet(new long[]{0xFFFFFC04080830A2L,0x00000000003FFFFFL,0x9A06038000000000L,0x0000000000000001L});
+	public static final BitSet FOLLOW_annotation_in_statements_and_directives1582 = new BitSet(new long[]{0xFFFFFC04080830A2L,0x00000000003FFFFFL,0x9A06038000000000L,0x0000000000000001L});
+	public static final BitSet FOLLOW_label_in_ordered_method_item1667 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_instruction_in_ordered_method_item1673 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_debug_directive_in_ordered_method_item1679 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_REGISTERS_DIRECTIVE_in_registers_directive1699 = new BitSet(new long[]{0x0000000000004800L,0x0000000000000000L,0x2080240000000000L});
+	public static final BitSet FOLLOW_integral_literal_in_registers_directive1703 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_LOCALS_DIRECTIVE_in_registers_directive1723 = new BitSet(new long[]{0x0000000000004800L,0x0000000000000000L,0x2080240000000000L});
+	public static final BitSet FOLLOW_integral_literal_in_registers_directive1727 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_PARAM_LIST_OR_ID_START_in_param_list_or_id1759 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0100000000000000L});
+	public static final BitSet FOLLOW_PRIMITIVE_TYPE_in_param_list_or_id1761 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0110000000000000L});
+	public static final BitSet FOLLOW_PARAM_LIST_OR_ID_END_in_param_list_or_id1764 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_SIMPLE_NAME_in_simple_name1776 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_ACCESS_SPEC_in_simple_name1782 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_VERIFICATION_ERROR_TYPE_in_simple_name1793 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_POSITIVE_INTEGER_LITERAL_in_simple_name1804 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_NEGATIVE_INTEGER_LITERAL_in_simple_name1815 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_FLOAT_LITERAL_OR_ID_in_simple_name1826 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_DOUBLE_LITERAL_OR_ID_in_simple_name1837 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_BOOL_LITERAL_in_simple_name1848 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_NULL_LITERAL_in_simple_name1859 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_REGISTER_in_simple_name1870 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_param_list_or_id_in_simple_name1881 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_PRIMITIVE_TYPE_in_simple_name1891 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_VOID_TYPE_in_simple_name1902 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_ANNOTATION_VISIBILITY_in_simple_name1913 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT10t_in_simple_name1924 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT10x_in_simple_name1935 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT10x_ODEX_in_simple_name1946 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT11x_in_simple_name1957 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT12x_OR_ID_in_simple_name1968 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21c_FIELD_in_simple_name1979 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21c_FIELD_ODEX_in_simple_name1990 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21c_STRING_in_simple_name2001 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21c_TYPE_in_simple_name2012 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21t_in_simple_name2023 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22c_FIELD_in_simple_name2034 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22c_FIELD_ODEX_in_simple_name2045 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22c_TYPE_in_simple_name2056 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22cs_FIELD_in_simple_name2067 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22s_OR_ID_in_simple_name2078 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22t_in_simple_name2089 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT23x_in_simple_name2100 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT31i_OR_ID_in_simple_name2111 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT31t_in_simple_name2122 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT35c_METHOD_in_simple_name2133 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT35c_METHOD_ODEX_in_simple_name2144 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT35c_TYPE_in_simple_name2155 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT35mi_METHOD_in_simple_name2166 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT35ms_METHOD_in_simple_name2177 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT51l_in_simple_name2188 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_simple_name_in_member_name2203 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_MEMBER_NAME_in_member_name2209 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_OPEN_PAREN_in_method_prototype2224 = new BitSet(new long[]{0x0000000000048100L,0x0000000000000000L,0x0160000000000000L});
+	public static final BitSet FOLLOW_param_list_in_method_prototype2226 = new BitSet(new long[]{0x0000000000040000L});
+	public static final BitSet FOLLOW_CLOSE_PAREN_in_method_prototype2228 = new BitSet(new long[]{0x0000000000008100L,0x0000000000000000L,0x0100000000000000L,0x0000000000000020L});
+	public static final BitSet FOLLOW_type_descriptor_in_method_prototype2230 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_PARAM_LIST_START_in_param_list2260 = new BitSet(new long[]{0x0000000000008100L,0x0000000000000000L,0x0108000000000000L});
+	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_param_list2262 = new BitSet(new long[]{0x0000000000008100L,0x0000000000000000L,0x0108000000000000L});
+	public static final BitSet FOLLOW_PARAM_LIST_END_in_param_list2265 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_PARAM_LIST_OR_ID_START_in_param_list2276 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0110000000000000L});
+	public static final BitSet FOLLOW_PRIMITIVE_TYPE_in_param_list2278 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0110000000000000L});
+	public static final BitSet FOLLOW_PARAM_LIST_OR_ID_END_in_param_list2281 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_param_list2292 = new BitSet(new long[]{0x0000000000008102L,0x0000000000000000L,0x0100000000000000L});
+	public static final BitSet FOLLOW_POSITIVE_INTEGER_LITERAL_in_integer_literal2369 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_NEGATIVE_INTEGER_LITERAL_in_integer_literal2380 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_FLOAT_LITERAL_OR_ID_in_float_literal2395 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_FLOAT_LITERAL_in_float_literal2406 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_DOUBLE_LITERAL_OR_ID_in_double_literal2416 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_DOUBLE_LITERAL_in_double_literal2427 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_LONG_LITERAL_in_literal2437 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_integer_literal_in_literal2443 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_SHORT_LITERAL_in_literal2449 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_BYTE_LITERAL_in_literal2455 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_float_literal_in_literal2461 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_double_literal_in_literal2467 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_CHAR_LITERAL_in_literal2473 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_STRING_LITERAL_in_literal2479 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_BOOL_LITERAL_in_literal2485 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_NULL_LITERAL_in_literal2491 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_array_literal_in_literal2497 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_subannotation_in_literal2503 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_type_field_method_literal_in_literal2509 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_enum_literal_in_literal2515 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_integer_literal_in_parsed_integer_literal2528 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_LONG_LITERAL_in_integral_literal2540 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_integer_literal_in_integral_literal2546 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_SHORT_LITERAL_in_integral_literal2552 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_CHAR_LITERAL_in_integral_literal2558 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_BYTE_LITERAL_in_integral_literal2564 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_LONG_LITERAL_in_fixed_32bit_literal2574 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_integer_literal_in_fixed_32bit_literal2580 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_SHORT_LITERAL_in_fixed_32bit_literal2586 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_BYTE_LITERAL_in_fixed_32bit_literal2592 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_float_literal_in_fixed_32bit_literal2598 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_CHAR_LITERAL_in_fixed_32bit_literal2604 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_BOOL_LITERAL_in_fixed_32bit_literal2610 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_integer_literal_in_fixed_literal2620 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_LONG_LITERAL_in_fixed_literal2626 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_SHORT_LITERAL_in_fixed_literal2632 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_BYTE_LITERAL_in_fixed_literal2638 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_float_literal_in_fixed_literal2644 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_double_literal_in_fixed_literal2650 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_CHAR_LITERAL_in_fixed_literal2656 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_BOOL_LITERAL_in_fixed_literal2662 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_OPEN_BRACE_in_array_literal2672 = new BitSet(new long[]{0xF4795CC200C2CD50L,0x000000000020FB16L,0x65A0EC0000000000L,0x0000000000000036L});
+	public static final BitSet FOLLOW_literal_in_array_literal2675 = new BitSet(new long[]{0x0000000000120000L});
+	public static final BitSet FOLLOW_COMMA_in_array_literal2678 = new BitSet(new long[]{0xF4795CC200C0CD50L,0x000000000020FB16L,0x65A0EC0000000000L,0x0000000000000036L});
+	public static final BitSet FOLLOW_literal_in_array_literal2680 = new BitSet(new long[]{0x0000000000120000L});
+	public static final BitSet FOLLOW_CLOSE_BRACE_in_array_literal2688 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_simple_name_in_annotation_element2712 = new BitSet(new long[]{0x0000000800000000L});
+	public static final BitSet FOLLOW_EQUAL_in_annotation_element2714 = new BitSet(new long[]{0xF4795CC200C0CD50L,0x000000000020FB16L,0x65A0EC0000000000L,0x0000000000000036L});
+	public static final BitSet FOLLOW_literal_in_annotation_element2716 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_ANNOTATION_DIRECTIVE_in_annotation2741 = new BitSet(new long[]{0x0000000000000040L});
+	public static final BitSet FOLLOW_ANNOTATION_VISIBILITY_in_annotation2743 = new BitSet(new long[]{0x0000000000008000L});
+	public static final BitSet FOLLOW_CLASS_DESCRIPTOR_in_annotation2745 = new BitSet(new long[]{0xF4795C8001800450L,0x000000000020FB16L,0x45A0600000000000L,0x0000000000000030L});
+	public static final BitSet FOLLOW_annotation_element_in_annotation2751 = new BitSet(new long[]{0xF4795C8001800450L,0x000000000020FB16L,0x45A0600000000000L,0x0000000000000030L});
+	public static final BitSet FOLLOW_END_ANNOTATION_DIRECTIVE_in_annotation2754 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_SUBANNOTATION_DIRECTIVE_in_subannotation2787 = new BitSet(new long[]{0x0000000000008000L});
+	public static final BitSet FOLLOW_CLASS_DESCRIPTOR_in_subannotation2789 = new BitSet(new long[]{0xF4795C8100800450L,0x000000000020FB16L,0x45A0600000000000L,0x0000000000000030L});
+	public static final BitSet FOLLOW_annotation_element_in_subannotation2791 = new BitSet(new long[]{0xF4795C8100800450L,0x000000000020FB16L,0x45A0600000000000L,0x0000000000000030L});
+	public static final BitSet FOLLOW_END_SUBANNOTATION_DIRECTIVE_in_subannotation2794 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_ENUM_DIRECTIVE_in_enum_literal2820 = new BitSet(new long[]{0x0000000000008100L});
+	public static final BitSet FOLLOW_reference_type_descriptor_in_enum_literal2822 = new BitSet(new long[]{0x0000000000000200L});
+	public static final BitSet FOLLOW_ARROW_in_enum_literal2824 = new BitSet(new long[]{0xF4795C8000800450L,0x000000000020FB16L,0x45A0600000000000L,0x0000000000000030L});
+	public static final BitSet FOLLOW_simple_name_in_enum_literal2826 = new BitSet(new long[]{0x0000000000080000L});
+	public static final BitSet FOLLOW_COLON_in_enum_literal2828 = new BitSet(new long[]{0x0000000000008100L});
+	public static final BitSet FOLLOW_reference_type_descriptor_in_enum_literal2830 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_reference_type_descriptor_in_type_field_method_literal2854 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_reference_type_descriptor_in_type_field_method_literal2863 = new BitSet(new long[]{0x0000000000000200L});
+	public static final BitSet FOLLOW_ARROW_in_type_field_method_literal2865 = new BitSet(new long[]{0xF4795C8000800450L,0x000000000020FB16L,0x45A0680000000000L,0x0000000000000030L});
+	public static final BitSet FOLLOW_member_name_in_type_field_method_literal2877 = new BitSet(new long[]{0x0000000000080000L});
+	public static final BitSet FOLLOW_COLON_in_type_field_method_literal2879 = new BitSet(new long[]{0x0000000000008100L,0x0000000000000000L,0x0100000000000000L});
+	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_type_field_method_literal2881 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_member_name_in_type_field_method_literal2904 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0001000000000000L});
+	public static final BitSet FOLLOW_method_prototype_in_type_field_method_literal2906 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_PRIMITIVE_TYPE_in_type_field_method_literal2939 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_VOID_TYPE_in_type_field_method_literal2945 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_reference_type_descriptor_in_method_reference2956 = new BitSet(new long[]{0x0000000000000200L});
+	public static final BitSet FOLLOW_ARROW_in_method_reference2958 = new BitSet(new long[]{0xF4795C8000800450L,0x000000000020FB16L,0x45A0680000000000L,0x0000000000000030L});
+	public static final BitSet FOLLOW_member_name_in_method_reference2962 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0001000000000000L});
+	public static final BitSet FOLLOW_method_prototype_in_method_reference2964 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_reference_type_descriptor_in_field_reference2986 = new BitSet(new long[]{0x0000000000000200L});
+	public static final BitSet FOLLOW_ARROW_in_field_reference2988 = new BitSet(new long[]{0xF4795C8000800450L,0x000000000020FB16L,0x45A0680000000000L,0x0000000000000030L});
+	public static final BitSet FOLLOW_member_name_in_field_reference2992 = new BitSet(new long[]{0x0000000000080000L});
+	public static final BitSet FOLLOW_COLON_in_field_reference2994 = new BitSet(new long[]{0x0000000000008100L,0x0000000000000000L,0x0100000000000000L});
+	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_field_reference2996 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_COLON_in_label3017 = new BitSet(new long[]{0xF4795C8000800450L,0x000000000020FB16L,0x45A0600000000000L,0x0000000000000030L});
+	public static final BitSet FOLLOW_simple_name_in_label3019 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_COLON_in_label_ref3038 = new BitSet(new long[]{0xF4795C8000800450L,0x000000000020FB16L,0x45A0600000000000L,0x0000000000000030L});
+	public static final BitSet FOLLOW_simple_name_in_label_ref3040 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_REGISTER_in_register_list3054 = new BitSet(new long[]{0x0000000000100002L});
+	public static final BitSet FOLLOW_COMMA_in_register_list3057 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_register_list3059 = new BitSet(new long[]{0x0000000000100002L});
+	public static final BitSet FOLLOW_REGISTER_in_register_range3094 = new BitSet(new long[]{0x0000000000200002L});
+	public static final BitSet FOLLOW_DOTDOT_in_register_range3097 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_register_range3101 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_CLASS_DESCRIPTOR_in_verification_error_reference3130 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_field_reference_in_verification_error_reference3134 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_method_reference_in_verification_error_reference3138 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_CATCH_DIRECTIVE_in_catch_directive3148 = new BitSet(new long[]{0x0000000000008100L,0x0000000000000000L,0x0100000000000000L});
+	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_catch_directive3150 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000800000000000L});
+	public static final BitSet FOLLOW_OPEN_BRACE_in_catch_directive3152 = new BitSet(new long[]{0x0000000000080000L});
+	public static final BitSet FOLLOW_label_ref_in_catch_directive3156 = new BitSet(new long[]{0x0000000000200000L});
+	public static final BitSet FOLLOW_DOTDOT_in_catch_directive3158 = new BitSet(new long[]{0x0000000000080000L});
+	public static final BitSet FOLLOW_label_ref_in_catch_directive3162 = new BitSet(new long[]{0x0000000000020000L});
+	public static final BitSet FOLLOW_CLOSE_BRACE_in_catch_directive3164 = new BitSet(new long[]{0x0000000000080000L});
+	public static final BitSet FOLLOW_label_ref_in_catch_directive3168 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_CATCHALL_DIRECTIVE_in_catchall_directive3200 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000800000000000L});
+	public static final BitSet FOLLOW_OPEN_BRACE_in_catchall_directive3202 = new BitSet(new long[]{0x0000000000080000L});
+	public static final BitSet FOLLOW_label_ref_in_catchall_directive3206 = new BitSet(new long[]{0x0000000000200000L});
+	public static final BitSet FOLLOW_DOTDOT_in_catchall_directive3208 = new BitSet(new long[]{0x0000000000080000L});
+	public static final BitSet FOLLOW_label_ref_in_catchall_directive3212 = new BitSet(new long[]{0x0000000000020000L});
+	public static final BitSet FOLLOW_CLOSE_BRACE_in_catchall_directive3214 = new BitSet(new long[]{0x0000000000080000L});
+	public static final BitSet FOLLOW_label_ref_in_catchall_directive3218 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_PARAMETER_DIRECTIVE_in_parameter_directive3257 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_parameter_directive3259 = new BitSet(new long[]{0x0000000040100022L});
+	public static final BitSet FOLLOW_COMMA_in_parameter_directive3262 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000002L});
+	public static final BitSet FOLLOW_STRING_LITERAL_in_parameter_directive3264 = new BitSet(new long[]{0x0000000040000022L});
+	public static final BitSet FOLLOW_annotation_in_parameter_directive3275 = new BitSet(new long[]{0x0000000040000022L});
+	public static final BitSet FOLLOW_END_PARAMETER_DIRECTIVE_in_parameter_directive3288 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_line_directive_in_debug_directive3361 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_local_directive_in_debug_directive3367 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_end_local_directive_in_debug_directive3373 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_restart_local_directive_in_debug_directive3379 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_prologue_directive_in_debug_directive3385 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_epilogue_directive_in_debug_directive3391 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_source_directive_in_debug_directive3397 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_LINE_DIRECTIVE_in_line_directive3407 = new BitSet(new long[]{0x0000000000004800L,0x0000000000000000L,0x2080240000000000L});
+	public static final BitSet FOLLOW_integral_literal_in_line_directive3409 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_LOCAL_DIRECTIVE_in_local_directive3432 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_local_directive3434 = new BitSet(new long[]{0x0000000000100002L});
+	public static final BitSet FOLLOW_COMMA_in_local_directive3437 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000400000000000L,0x0000000000000002L});
+	public static final BitSet FOLLOW_NULL_LITERAL_in_local_directive3440 = new BitSet(new long[]{0x0000000000080000L});
+	public static final BitSet FOLLOW_STRING_LITERAL_in_local_directive3446 = new BitSet(new long[]{0x0000000000080000L});
+	public static final BitSet FOLLOW_COLON_in_local_directive3449 = new BitSet(new long[]{0x0000000000008100L,0x0000000000000000L,0x0100000000000000L,0x0000000000000020L});
+	public static final BitSet FOLLOW_VOID_TYPE_in_local_directive3452 = new BitSet(new long[]{0x0000000000100002L});
+	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_local_directive3456 = new BitSet(new long[]{0x0000000000100002L});
+	public static final BitSet FOLLOW_COMMA_in_local_directive3490 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000002L});
+	public static final BitSet FOLLOW_STRING_LITERAL_in_local_directive3494 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_END_LOCAL_DIRECTIVE_in_end_local_directive3536 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_end_local_directive3538 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_RESTART_LOCAL_DIRECTIVE_in_restart_local_directive3561 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_restart_local_directive3563 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_PROLOGUE_DIRECTIVE_in_prologue_directive3586 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_EPILOGUE_DIRECTIVE_in_epilogue_directive3607 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_SOURCE_DIRECTIVE_in_source_directive3628 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000000L,0x0000000000000002L});
+	public static final BitSet FOLLOW_STRING_LITERAL_in_source_directive3630 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT12x_in_instruction_format12x3655 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT12x_OR_ID_in_instruction_format12x3661 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22s_in_instruction_format22s3676 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22s_OR_ID_in_instruction_format22s3682 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT31i_in_instruction_format31i3697 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT31i_OR_ID_in_instruction_format31i3703 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format10t_in_instruction3720 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format10x_in_instruction3726 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format10x_odex_in_instruction3732 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format11n_in_instruction3738 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format11x_in_instruction3744 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format12x_in_instruction3750 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format20bc_in_instruction3756 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format20t_in_instruction3762 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format21c_field_in_instruction3768 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format21c_field_odex_in_instruction3774 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format21c_string_in_instruction3780 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format21c_type_in_instruction3786 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format21ih_in_instruction3792 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format21lh_in_instruction3798 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format21s_in_instruction3804 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format21t_in_instruction3810 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format22b_in_instruction3816 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format22c_field_in_instruction3822 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format22c_field_odex_in_instruction3828 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format22c_type_in_instruction3834 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format22cs_field_in_instruction3840 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format22s_in_instruction3846 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format22t_in_instruction3852 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format22x_in_instruction3858 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format23x_in_instruction3864 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format30t_in_instruction3870 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format31c_in_instruction3876 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format31i_in_instruction3882 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format31t_in_instruction3888 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format32x_in_instruction3894 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format35c_method_in_instruction3900 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format35c_type_in_instruction3906 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format35c_method_odex_in_instruction3912 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format35mi_method_in_instruction3918 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format35ms_method_in_instruction3924 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format3rc_method_in_instruction3930 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format3rc_method_odex_in_instruction3936 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format3rc_type_in_instruction3942 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format3rmi_method_in_instruction3948 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format3rms_method_in_instruction3954 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format51l_in_instruction3960 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_array_data_directive_in_instruction3966 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_packed_switch_directive_in_instruction3972 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_sparse_switch_directive_in_instruction3978 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT10t_in_insn_format10t3998 = new BitSet(new long[]{0x0000000000080000L});
+	public static final BitSet FOLLOW_label_ref_in_insn_format10t4000 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT10x_in_insn_format10x4030 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT10x_ODEX_in_insn_format10x_odex4058 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT11n_in_insn_format11n4079 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format11n4081 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_insn_format11n4083 = new BitSet(new long[]{0x0000000000004800L,0x0000000000000000L,0x2080240000000000L});
+	public static final BitSet FOLLOW_integral_literal_in_insn_format11n4085 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT11x_in_insn_format11x4117 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format11x4119 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_instruction_format12x_in_insn_format12x4149 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format12x4151 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_insn_format12x4153 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format12x4155 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT20bc_in_insn_format20bc4187 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000010L});
+	public static final BitSet FOLLOW_VERIFICATION_ERROR_TYPE_in_insn_format20bc4189 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_insn_format20bc4191 = new BitSet(new long[]{0xF4795C8000808550L,0x000000000020FB16L,0x45A0680000000000L,0x0000000000000030L});
+	public static final BitSet FOLLOW_verification_error_reference_in_insn_format20bc4193 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT20t_in_insn_format20t4230 = new BitSet(new long[]{0x0000000000080000L});
+	public static final BitSet FOLLOW_label_ref_in_insn_format20t4232 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21c_FIELD_in_insn_format21c_field4262 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format21c_field4264 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_insn_format21c_field4266 = new BitSet(new long[]{0xF4795C8000808550L,0x000000000020FB16L,0x45A0680000000000L,0x0000000000000030L});
+	public static final BitSet FOLLOW_field_reference_in_insn_format21c_field4268 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21c_FIELD_ODEX_in_insn_format21c_field_odex4300 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format21c_field_odex4302 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_insn_format21c_field_odex4304 = new BitSet(new long[]{0xF4795C8000808550L,0x000000000020FB16L,0x45A0680000000000L,0x0000000000000030L});
+	public static final BitSet FOLLOW_field_reference_in_insn_format21c_field_odex4306 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21c_STRING_in_insn_format21c_string4344 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format21c_string4346 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_insn_format21c_string4348 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000002L});
+	public static final BitSet FOLLOW_STRING_LITERAL_in_insn_format21c_string4350 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21c_TYPE_in_insn_format21c_type4382 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format21c_type4384 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_insn_format21c_type4386 = new BitSet(new long[]{0x0000000000008100L,0x0000000000000000L,0x0100000000000000L});
+	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_insn_format21c_type4388 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21ih_in_insn_format21ih4420 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format21ih4422 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_insn_format21ih4424 = new BitSet(new long[]{0x000000C000004C00L,0x0000000000000000L,0x2080240000000000L});
+	public static final BitSet FOLLOW_fixed_32bit_literal_in_insn_format21ih4426 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21lh_in_insn_format21lh4458 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format21lh4460 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_insn_format21lh4462 = new BitSet(new long[]{0x000000C000004C00L,0x0000000000000000L,0x2080240000000000L});
+	public static final BitSet FOLLOW_fixed_32bit_literal_in_insn_format21lh4464 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21s_in_insn_format21s4496 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format21s4498 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_insn_format21s4500 = new BitSet(new long[]{0x0000000000004800L,0x0000000000000000L,0x2080240000000000L});
+	public static final BitSet FOLLOW_integral_literal_in_insn_format21s4502 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21t_in_insn_format21t4534 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format21t4536 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_insn_format21t4538 = new BitSet(new long[]{0x0000000000080000L});
+	public static final BitSet FOLLOW_label_ref_in_insn_format21t4540 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22b_in_insn_format22b4572 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format22b4574 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_insn_format22b4576 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format22b4578 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_insn_format22b4580 = new BitSet(new long[]{0x0000000000004800L,0x0000000000000000L,0x2080240000000000L});
+	public static final BitSet FOLLOW_integral_literal_in_insn_format22b4582 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22c_FIELD_in_insn_format22c_field4616 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format22c_field4618 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_insn_format22c_field4620 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format22c_field4622 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_insn_format22c_field4624 = new BitSet(new long[]{0xF4795C8000808550L,0x000000000020FB16L,0x45A0680000000000L,0x0000000000000030L});
+	public static final BitSet FOLLOW_field_reference_in_insn_format22c_field4626 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22c_FIELD_ODEX_in_insn_format22c_field_odex4660 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format22c_field_odex4662 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_insn_format22c_field_odex4664 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format22c_field_odex4666 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_insn_format22c_field_odex4668 = new BitSet(new long[]{0xF4795C8000808550L,0x000000000020FB16L,0x45A0680000000000L,0x0000000000000030L});
+	public static final BitSet FOLLOW_field_reference_in_insn_format22c_field_odex4670 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22c_TYPE_in_insn_format22c_type4710 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format22c_type4712 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_insn_format22c_type4714 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format22c_type4716 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_insn_format22c_type4718 = new BitSet(new long[]{0x0000000000008100L,0x0000000000000000L,0x0100000000000000L});
+	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_insn_format22c_type4720 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22cs_FIELD_in_insn_format22cs_field4754 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format22cs_field4756 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_insn_format22cs_field4758 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format22cs_field4760 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_insn_format22cs_field4762 = new BitSet(new long[]{0x0000002000000000L});
+	public static final BitSet FOLLOW_FIELD_OFFSET_in_insn_format22cs_field4764 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_instruction_format22s_in_insn_format22s4785 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format22s4787 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_insn_format22s4789 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format22s4791 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_insn_format22s4793 = new BitSet(new long[]{0x0000000000004800L,0x0000000000000000L,0x2080240000000000L});
+	public static final BitSet FOLLOW_integral_literal_in_insn_format22s4795 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22t_in_insn_format22t4829 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format22t4831 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_insn_format22t4833 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format22t4835 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_insn_format22t4837 = new BitSet(new long[]{0x0000000000080000L});
+	public static final BitSet FOLLOW_label_ref_in_insn_format22t4839 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22x_in_insn_format22x4873 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format22x4875 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_insn_format22x4877 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format22x4879 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT23x_in_insn_format23x4911 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format23x4913 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_insn_format23x4915 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format23x4917 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_insn_format23x4919 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format23x4921 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT30t_in_insn_format30t4955 = new BitSet(new long[]{0x0000000000080000L});
+	public static final BitSet FOLLOW_label_ref_in_insn_format30t4957 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT31c_in_insn_format31c4987 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format31c4989 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_insn_format31c4991 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000002L});
+	public static final BitSet FOLLOW_STRING_LITERAL_in_insn_format31c4993 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_instruction_format31i_in_insn_format31i5024 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format31i5026 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_insn_format31i5028 = new BitSet(new long[]{0x000000C000004C00L,0x0000000000000000L,0x2080240000000000L});
+	public static final BitSet FOLLOW_fixed_32bit_literal_in_insn_format31i5030 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT31t_in_insn_format31t5062 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format31t5064 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_insn_format31t5066 = new BitSet(new long[]{0x0000000000080000L});
+	public static final BitSet FOLLOW_label_ref_in_insn_format31t5068 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT32x_in_insn_format32x5100 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format32x5102 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_insn_format32x5104 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format32x5106 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT35c_METHOD_in_insn_format35c_method5138 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000800000000000L});
+	public static final BitSet FOLLOW_OPEN_BRACE_in_insn_format35c_method5140 = new BitSet(new long[]{0x0000000000020000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_register_list_in_insn_format35c_method5142 = new BitSet(new long[]{0x0000000000020000L});
+	public static final BitSet FOLLOW_CLOSE_BRACE_in_insn_format35c_method5144 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_insn_format35c_method5146 = new BitSet(new long[]{0xF4795C8000808550L,0x000000000020FB16L,0x45A0680000000000L,0x0000000000000030L});
+	public static final BitSet FOLLOW_method_reference_in_insn_format35c_method5148 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT35c_TYPE_in_insn_format35c_type5180 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000800000000000L});
+	public static final BitSet FOLLOW_OPEN_BRACE_in_insn_format35c_type5182 = new BitSet(new long[]{0x0000000000020000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_register_list_in_insn_format35c_type5184 = new BitSet(new long[]{0x0000000000020000L});
+	public static final BitSet FOLLOW_CLOSE_BRACE_in_insn_format35c_type5186 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_insn_format35c_type5188 = new BitSet(new long[]{0x0000000000008100L,0x0000000000000000L,0x0100000000000000L});
+	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_insn_format35c_type5190 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT35c_METHOD_ODEX_in_insn_format35c_method_odex5222 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000800000000000L});
+	public static final BitSet FOLLOW_OPEN_BRACE_in_insn_format35c_method_odex5224 = new BitSet(new long[]{0x0000000000020000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_register_list_in_insn_format35c_method_odex5226 = new BitSet(new long[]{0x0000000000020000L});
+	public static final BitSet FOLLOW_CLOSE_BRACE_in_insn_format35c_method_odex5228 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_insn_format35c_method_odex5230 = new BitSet(new long[]{0xF4795C8000808550L,0x000000000020FB16L,0x45A0680000000000L,0x0000000000000030L});
+	public static final BitSet FOLLOW_method_reference_in_insn_format35c_method_odex5232 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT35mi_METHOD_in_insn_format35mi_method5253 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000800000000000L});
+	public static final BitSet FOLLOW_OPEN_BRACE_in_insn_format35mi_method5255 = new BitSet(new long[]{0x0000000000020000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_register_list_in_insn_format35mi_method5257 = new BitSet(new long[]{0x0000000000020000L});
+	public static final BitSet FOLLOW_CLOSE_BRACE_in_insn_format35mi_method5259 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_insn_format35mi_method5261 = new BitSet(new long[]{0x0000020000000000L});
+	public static final BitSet FOLLOW_INLINE_INDEX_in_insn_format35mi_method5263 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT35ms_METHOD_in_insn_format35ms_method5284 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000800000000000L});
+	public static final BitSet FOLLOW_OPEN_BRACE_in_insn_format35ms_method5286 = new BitSet(new long[]{0x0000000000020000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_register_list_in_insn_format35ms_method5288 = new BitSet(new long[]{0x0000000000020000L});
+	public static final BitSet FOLLOW_CLOSE_BRACE_in_insn_format35ms_method5290 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_insn_format35ms_method5292 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000040L});
+	public static final BitSet FOLLOW_VTABLE_INDEX_in_insn_format35ms_method5294 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT3rc_METHOD_in_insn_format3rc_method5315 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000800000000000L});
+	public static final BitSet FOLLOW_OPEN_BRACE_in_insn_format3rc_method5317 = new BitSet(new long[]{0x0000000000020000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_register_range_in_insn_format3rc_method5319 = new BitSet(new long[]{0x0000000000020000L});
+	public static final BitSet FOLLOW_CLOSE_BRACE_in_insn_format3rc_method5321 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_insn_format3rc_method5323 = new BitSet(new long[]{0xF4795C8000808550L,0x000000000020FB16L,0x45A0680000000000L,0x0000000000000030L});
+	public static final BitSet FOLLOW_method_reference_in_insn_format3rc_method5325 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT3rc_METHOD_ODEX_in_insn_format3rc_method_odex5357 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000800000000000L});
+	public static final BitSet FOLLOW_OPEN_BRACE_in_insn_format3rc_method_odex5359 = new BitSet(new long[]{0x0000000000020000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_register_list_in_insn_format3rc_method_odex5361 = new BitSet(new long[]{0x0000000000020000L});
+	public static final BitSet FOLLOW_CLOSE_BRACE_in_insn_format3rc_method_odex5363 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_insn_format3rc_method_odex5365 = new BitSet(new long[]{0xF4795C8000808550L,0x000000000020FB16L,0x45A0680000000000L,0x0000000000000030L});
+	public static final BitSet FOLLOW_method_reference_in_insn_format3rc_method_odex5367 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT3rc_TYPE_in_insn_format3rc_type5388 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000800000000000L});
+	public static final BitSet FOLLOW_OPEN_BRACE_in_insn_format3rc_type5390 = new BitSet(new long[]{0x0000000000020000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_register_range_in_insn_format3rc_type5392 = new BitSet(new long[]{0x0000000000020000L});
+	public static final BitSet FOLLOW_CLOSE_BRACE_in_insn_format3rc_type5394 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_insn_format3rc_type5396 = new BitSet(new long[]{0x0000000000008100L,0x0000000000000000L,0x0100000000000000L});
+	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_insn_format3rc_type5398 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT3rmi_METHOD_in_insn_format3rmi_method5430 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000800000000000L});
+	public static final BitSet FOLLOW_OPEN_BRACE_in_insn_format3rmi_method5432 = new BitSet(new long[]{0x0000000000020000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_register_range_in_insn_format3rmi_method5434 = new BitSet(new long[]{0x0000000000020000L});
+	public static final BitSet FOLLOW_CLOSE_BRACE_in_insn_format3rmi_method5436 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_insn_format3rmi_method5438 = new BitSet(new long[]{0x0000020000000000L});
+	public static final BitSet FOLLOW_INLINE_INDEX_in_insn_format3rmi_method5440 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT3rms_METHOD_in_insn_format3rms_method5461 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000800000000000L});
+	public static final BitSet FOLLOW_OPEN_BRACE_in_insn_format3rms_method5463 = new BitSet(new long[]{0x0000000000020000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_register_range_in_insn_format3rms_method5465 = new BitSet(new long[]{0x0000000000020000L});
+	public static final BitSet FOLLOW_CLOSE_BRACE_in_insn_format3rms_method5467 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_insn_format3rms_method5469 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000040L});
+	public static final BitSet FOLLOW_VTABLE_INDEX_in_insn_format3rms_method5471 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT51l_in_insn_format51l5492 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format51l5494 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_insn_format51l5496 = new BitSet(new long[]{0x000000C000C04C00L,0x0000000000000000L,0x2080240000000000L});
+	public static final BitSet FOLLOW_fixed_literal_in_insn_format51l5498 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_ARRAY_DATA_DIRECTIVE_in_insn_array_data_directive5525 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0080200000000000L});
+	public static final BitSet FOLLOW_parsed_integer_literal_in_insn_array_data_directive5531 = new BitSet(new long[]{0x000000C002C04C00L,0x0000000000000000L,0x2080240000000000L});
+	public static final BitSet FOLLOW_fixed_literal_in_insn_array_data_directive5543 = new BitSet(new long[]{0x000000C002C04C00L,0x0000000000000000L,0x2080240000000000L});
+	public static final BitSet FOLLOW_END_ARRAY_DATA_DIRECTIVE_in_insn_array_data_directive5546 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_PACKED_SWITCH_DIRECTIVE_in_insn_packed_switch_directive5592 = new BitSet(new long[]{0x000000C000004C00L,0x0000000000000000L,0x2080240000000000L});
+	public static final BitSet FOLLOW_fixed_32bit_literal_in_insn_packed_switch_directive5598 = new BitSet(new long[]{0x0000000020080000L});
+	public static final BitSet FOLLOW_label_ref_in_insn_packed_switch_directive5604 = new BitSet(new long[]{0x0000000020080000L});
+	public static final BitSet FOLLOW_END_PACKED_SWITCH_DIRECTIVE_in_insn_packed_switch_directive5611 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_SPARSE_SWITCH_DIRECTIVE_in_insn_sparse_switch_directive5685 = new BitSet(new long[]{0x000000C080004C00L,0x0000000000000000L,0x2080240000000000L});
+	public static final BitSet FOLLOW_fixed_32bit_literal_in_insn_sparse_switch_directive5692 = new BitSet(new long[]{0x0000000000000200L});
+	public static final BitSet FOLLOW_ARROW_in_insn_sparse_switch_directive5694 = new BitSet(new long[]{0x0000000000080000L});
+	public static final BitSet FOLLOW_label_ref_in_insn_sparse_switch_directive5696 = new BitSet(new long[]{0x000000C080004C00L,0x0000000000000000L,0x2080240000000000L});
+	public static final BitSet FOLLOW_END_SPARSE_SWITCH_DIRECTIVE_in_insn_sparse_switch_directive5704 = new BitSet(new long[]{0x0000000000000002L});
 }
diff --git a/smali/src/main/java/org/jf/smali/smaliTreeWalker.java b/smali/src/main/java/org/jf/smali/smaliTreeWalker.java
index c3915c3..16af849 100644
--- a/smali/src/main/java/org/jf/smali/smaliTreeWalker.java
+++ b/smali/src/main/java/org/jf/smali/smaliTreeWalker.java
@@ -1,4 +1,4 @@
-// $ANTLR 3.5 /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g 2014-02-12 17:39:17
+// $ANTLR 3.5 /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g 2015-02-19 13:37:39
 
 package org.jf.smali;
 
@@ -48,65 +48,61 @@
 @SuppressWarnings("all")
 public class smaliTreeWalker extends TreeParser {
 	public static final String[] tokenNames = new String[] {
-		"<invalid>", "<EOR>", "<DOWN>", "<UP>", "ACCESS_SPEC", "ANNOTATION_DIRECTIVE", 
-		"ANNOTATION_VISIBILITY", "ARRAY_DATA_DIRECTIVE", "ARRAY_DESCRIPTOR", "ARROW", 
-		"BASE_ARRAY_DESCRIPTOR", "BASE_CHAR_LITERAL", "BASE_CLASS_DESCRIPTOR", 
-		"BASE_FLOAT", "BASE_FLOAT_OR_ID", "BASE_INTEGER", "BASE_PRIMITIVE_TYPE", 
-		"BASE_SIMPLE_NAME", "BASE_STRING_LITERAL", "BASE_TYPE", "BINARY_EXPONENT", 
-		"BOOL_LITERAL", "BYTE_LITERAL", "CATCHALL_DIRECTIVE", "CATCH_DIRECTIVE", 
-		"CHAR_LITERAL", "CLASS_DESCRIPTOR", "CLASS_DIRECTIVE", "CLOSE_BRACE", 
-		"CLOSE_PAREN", "COLON", "COMMA", "DECIMAL_EXPONENT", "DOTDOT", "DOUBLE_LITERAL", 
-		"DOUBLE_LITERAL_OR_ID", "END_ANNOTATION_DIRECTIVE", "END_ARRAY_DATA_DIRECTIVE", 
-		"END_FIELD_DIRECTIVE", "END_LOCAL_DIRECTIVE", "END_METHOD_DIRECTIVE", 
-		"END_PACKED_SWITCH_DIRECTIVE", "END_PARAMETER_DIRECTIVE", "END_SPARSE_SWITCH_DIRECTIVE", 
-		"END_SUBANNOTATION_DIRECTIVE", "ENUM_DIRECTIVE", "EPILOGUE_DIRECTIVE", 
-		"EQUAL", "ESCAPE_SEQUENCE", "FIELD_DIRECTIVE", "FIELD_OFFSET", "FLOAT_LITERAL", 
-		"FLOAT_LITERAL_OR_ID", "HEX_DIGIT", "HEX_DIGITS", "HEX_PREFIX", "IMPLEMENTS_DIRECTIVE", 
-		"INLINE_INDEX", "INSTRUCTION_FORMAT10t", "INSTRUCTION_FORMAT10x", "INSTRUCTION_FORMAT10x_ODEX", 
-		"INSTRUCTION_FORMAT11n", "INSTRUCTION_FORMAT11x", "INSTRUCTION_FORMAT12x", 
-		"INSTRUCTION_FORMAT12x_OR_ID", "INSTRUCTION_FORMAT20bc", "INSTRUCTION_FORMAT20t", 
-		"INSTRUCTION_FORMAT21c_FIELD", "INSTRUCTION_FORMAT21c_FIELD_ODEX", "INSTRUCTION_FORMAT21c_STRING", 
-		"INSTRUCTION_FORMAT21c_TYPE", "INSTRUCTION_FORMAT21ih", "INSTRUCTION_FORMAT21lh", 
-		"INSTRUCTION_FORMAT21s", "INSTRUCTION_FORMAT21t", "INSTRUCTION_FORMAT22b", 
-		"INSTRUCTION_FORMAT22c_FIELD", "INSTRUCTION_FORMAT22c_FIELD_ODEX", "INSTRUCTION_FORMAT22c_TYPE", 
-		"INSTRUCTION_FORMAT22cs_FIELD", "INSTRUCTION_FORMAT22s", "INSTRUCTION_FORMAT22s_OR_ID", 
-		"INSTRUCTION_FORMAT22t", "INSTRUCTION_FORMAT22x", "INSTRUCTION_FORMAT23x", 
-		"INSTRUCTION_FORMAT30t", "INSTRUCTION_FORMAT31c", "INSTRUCTION_FORMAT31i", 
-		"INSTRUCTION_FORMAT31i_OR_ID", "INSTRUCTION_FORMAT31t", "INSTRUCTION_FORMAT32x", 
-		"INSTRUCTION_FORMAT35c_METHOD", "INSTRUCTION_FORMAT35c_METHOD_ODEX", "INSTRUCTION_FORMAT35c_TYPE", 
-		"INSTRUCTION_FORMAT35mi_METHOD", "INSTRUCTION_FORMAT35ms_METHOD", "INSTRUCTION_FORMAT3rc_METHOD", 
-		"INSTRUCTION_FORMAT3rc_METHOD_ODEX", "INSTRUCTION_FORMAT3rc_TYPE", "INSTRUCTION_FORMAT3rmi_METHOD", 
-		"INSTRUCTION_FORMAT3rms_METHOD", "INSTRUCTION_FORMAT51l", "INTEGER_LITERAL", 
-		"INVALID_TOKEN", "I_ACCESS_LIST", "I_ANNOTATION", "I_ANNOTATIONS", "I_ANNOTATION_ELEMENT", 
-		"I_ARRAY_ELEMENTS", "I_ARRAY_ELEMENT_SIZE", "I_CATCH", "I_CATCHALL", "I_CATCHES", 
-		"I_CLASS_DEF", "I_ENCODED_ARRAY", "I_ENCODED_ENUM", "I_ENCODED_FIELD", 
-		"I_ENCODED_METHOD", "I_END_LOCAL", "I_EPILOGUE", "I_FIELD", "I_FIELDS", 
-		"I_FIELD_INITIAL_VALUE", "I_FIELD_TYPE", "I_IMPLEMENTS", "I_LABEL", "I_LINE", 
-		"I_LOCAL", "I_LOCALS", "I_METHOD", "I_METHODS", "I_METHOD_PROTOTYPE", 
-		"I_METHOD_RETURN_TYPE", "I_ORDERED_METHOD_ITEMS", "I_PACKED_SWITCH_ELEMENTS", 
-		"I_PACKED_SWITCH_START_KEY", "I_PARAMETER", "I_PARAMETERS", "I_PARAMETER_NOT_SPECIFIED", 
-		"I_PROLOGUE", "I_REGISTERS", "I_REGISTER_LIST", "I_REGISTER_RANGE", "I_RESTART_LOCAL", 
-		"I_SOURCE", "I_SPARSE_SWITCH_ELEMENTS", "I_STATEMENT_ARRAY_DATA", "I_STATEMENT_FORMAT10t", 
-		"I_STATEMENT_FORMAT10x", "I_STATEMENT_FORMAT11n", "I_STATEMENT_FORMAT11x", 
-		"I_STATEMENT_FORMAT12x", "I_STATEMENT_FORMAT20bc", "I_STATEMENT_FORMAT20t", 
-		"I_STATEMENT_FORMAT21c_FIELD", "I_STATEMENT_FORMAT21c_STRING", "I_STATEMENT_FORMAT21c_TYPE", 
-		"I_STATEMENT_FORMAT21ih", "I_STATEMENT_FORMAT21lh", "I_STATEMENT_FORMAT21s", 
-		"I_STATEMENT_FORMAT21t", "I_STATEMENT_FORMAT22b", "I_STATEMENT_FORMAT22c_FIELD", 
-		"I_STATEMENT_FORMAT22c_TYPE", "I_STATEMENT_FORMAT22s", "I_STATEMENT_FORMAT22t", 
-		"I_STATEMENT_FORMAT22x", "I_STATEMENT_FORMAT23x", "I_STATEMENT_FORMAT30t", 
-		"I_STATEMENT_FORMAT31c", "I_STATEMENT_FORMAT31i", "I_STATEMENT_FORMAT31t", 
-		"I_STATEMENT_FORMAT32x", "I_STATEMENT_FORMAT35c_METHOD", "I_STATEMENT_FORMAT35c_TYPE", 
-		"I_STATEMENT_FORMAT3rc_METHOD", "I_STATEMENT_FORMAT3rc_TYPE", "I_STATEMENT_FORMAT51l", 
-		"I_STATEMENT_PACKED_SWITCH", "I_STATEMENT_SPARSE_SWITCH", "I_SUBANNOTATION", 
-		"I_SUPER", "LABEL", "LINE_COMMENT", "LINE_DIRECTIVE", "LOCALS_DIRECTIVE", 
-		"LOCAL_DIRECTIVE", "LONG_LITERAL", "MEMBER_NAME", "METHOD_DIRECTIVE", 
-		"NEGATIVE_INTEGER_LITERAL", "NULL_LITERAL", "OPEN_BRACE", "OPEN_PAREN", 
-		"PACKED_SWITCH_DIRECTIVE", "PARAMETER_DIRECTIVE", "PARAM_LIST", "PARAM_LIST_OR_ID", 
-		"POSITIVE_INTEGER_LITERAL", "PRIMITIVE_TYPE", "PROLOGUE_DIRECTIVE", "REGISTER", 
-		"REGISTERS_DIRECTIVE", "RESTART_LOCAL_DIRECTIVE", "SHORT_LITERAL", "SIMPLE_NAME", 
-		"SOURCE_DIRECTIVE", "SPARSE_SWITCH_DIRECTIVE", "STRING_LITERAL", "SUBANNOTATION_DIRECTIVE", 
-		"SUPER_DIRECTIVE", "VERIFICATION_ERROR_TYPE", "VOID_TYPE", "VTABLE_INDEX", 
-		"WHITE_SPACE"
+		"<invalid>", "<EOR>", "<DOWN>", "<UP>", "ACCESS_SPEC", "ANNOTATION_DIRECTIVE",
+		"ANNOTATION_VISIBILITY", "ARRAY_DATA_DIRECTIVE", "ARRAY_DESCRIPTOR", "ARROW",
+		"BOOL_LITERAL", "BYTE_LITERAL", "CATCHALL_DIRECTIVE", "CATCH_DIRECTIVE",
+		"CHAR_LITERAL", "CLASS_DESCRIPTOR", "CLASS_DIRECTIVE", "CLOSE_BRACE",
+		"CLOSE_PAREN", "COLON", "COMMA", "DOTDOT", "DOUBLE_LITERAL", "DOUBLE_LITERAL_OR_ID",
+		"END_ANNOTATION_DIRECTIVE", "END_ARRAY_DATA_DIRECTIVE", "END_FIELD_DIRECTIVE",
+		"END_LOCAL_DIRECTIVE", "END_METHOD_DIRECTIVE", "END_PACKED_SWITCH_DIRECTIVE",
+		"END_PARAMETER_DIRECTIVE", "END_SPARSE_SWITCH_DIRECTIVE", "END_SUBANNOTATION_DIRECTIVE",
+		"ENUM_DIRECTIVE", "EPILOGUE_DIRECTIVE", "EQUAL", "FIELD_DIRECTIVE", "FIELD_OFFSET",
+		"FLOAT_LITERAL", "FLOAT_LITERAL_OR_ID", "IMPLEMENTS_DIRECTIVE", "INLINE_INDEX",
+		"INSTRUCTION_FORMAT10t", "INSTRUCTION_FORMAT10x", "INSTRUCTION_FORMAT10x_ODEX",
+		"INSTRUCTION_FORMAT11n", "INSTRUCTION_FORMAT11x", "INSTRUCTION_FORMAT12x",
+		"INSTRUCTION_FORMAT12x_OR_ID", "INSTRUCTION_FORMAT20bc", "INSTRUCTION_FORMAT20t",
+		"INSTRUCTION_FORMAT21c_FIELD", "INSTRUCTION_FORMAT21c_FIELD_ODEX", "INSTRUCTION_FORMAT21c_STRING",
+		"INSTRUCTION_FORMAT21c_TYPE", "INSTRUCTION_FORMAT21ih", "INSTRUCTION_FORMAT21lh",
+		"INSTRUCTION_FORMAT21s", "INSTRUCTION_FORMAT21t", "INSTRUCTION_FORMAT22b",
+		"INSTRUCTION_FORMAT22c_FIELD", "INSTRUCTION_FORMAT22c_FIELD_ODEX", "INSTRUCTION_FORMAT22c_TYPE",
+		"INSTRUCTION_FORMAT22cs_FIELD", "INSTRUCTION_FORMAT22s", "INSTRUCTION_FORMAT22s_OR_ID",
+		"INSTRUCTION_FORMAT22t", "INSTRUCTION_FORMAT22x", "INSTRUCTION_FORMAT23x",
+		"INSTRUCTION_FORMAT30t", "INSTRUCTION_FORMAT31c", "INSTRUCTION_FORMAT31i",
+		"INSTRUCTION_FORMAT31i_OR_ID", "INSTRUCTION_FORMAT31t", "INSTRUCTION_FORMAT32x",
+		"INSTRUCTION_FORMAT35c_METHOD", "INSTRUCTION_FORMAT35c_METHOD_ODEX", "INSTRUCTION_FORMAT35c_TYPE",
+		"INSTRUCTION_FORMAT35mi_METHOD", "INSTRUCTION_FORMAT35ms_METHOD", "INSTRUCTION_FORMAT3rc_METHOD",
+		"INSTRUCTION_FORMAT3rc_METHOD_ODEX", "INSTRUCTION_FORMAT3rc_TYPE", "INSTRUCTION_FORMAT3rmi_METHOD",
+		"INSTRUCTION_FORMAT3rms_METHOD", "INSTRUCTION_FORMAT51l", "INTEGER_LITERAL",
+		"INVALID_TOKEN", "I_ACCESS_LIST", "I_ANNOTATION", "I_ANNOTATIONS", "I_ANNOTATION_ELEMENT",
+		"I_ARRAY_ELEMENTS", "I_ARRAY_ELEMENT_SIZE", "I_CATCH", "I_CATCHALL", "I_CATCHES",
+		"I_CLASS_DEF", "I_ENCODED_ARRAY", "I_ENCODED_ENUM", "I_ENCODED_FIELD",
+		"I_ENCODED_METHOD", "I_END_LOCAL", "I_EPILOGUE", "I_FIELD", "I_FIELDS",
+		"I_FIELD_INITIAL_VALUE", "I_FIELD_TYPE", "I_IMPLEMENTS", "I_LABEL", "I_LINE",
+		"I_LOCAL", "I_LOCALS", "I_METHOD", "I_METHODS", "I_METHOD_PROTOTYPE",
+		"I_METHOD_RETURN_TYPE", "I_ORDERED_METHOD_ITEMS", "I_PACKED_SWITCH_ELEMENTS",
+		"I_PACKED_SWITCH_START_KEY", "I_PARAMETER", "I_PARAMETERS", "I_PARAMETER_NOT_SPECIFIED",
+		"I_PROLOGUE", "I_REGISTERS", "I_REGISTER_LIST", "I_REGISTER_RANGE", "I_RESTART_LOCAL",
+		"I_SOURCE", "I_SPARSE_SWITCH_ELEMENTS", "I_STATEMENT_ARRAY_DATA", "I_STATEMENT_FORMAT10t",
+		"I_STATEMENT_FORMAT10x", "I_STATEMENT_FORMAT11n", "I_STATEMENT_FORMAT11x",
+		"I_STATEMENT_FORMAT12x", "I_STATEMENT_FORMAT20bc", "I_STATEMENT_FORMAT20t",
+		"I_STATEMENT_FORMAT21c_FIELD", "I_STATEMENT_FORMAT21c_STRING", "I_STATEMENT_FORMAT21c_TYPE",
+		"I_STATEMENT_FORMAT21ih", "I_STATEMENT_FORMAT21lh", "I_STATEMENT_FORMAT21s",
+		"I_STATEMENT_FORMAT21t", "I_STATEMENT_FORMAT22b", "I_STATEMENT_FORMAT22c_FIELD",
+		"I_STATEMENT_FORMAT22c_TYPE", "I_STATEMENT_FORMAT22s", "I_STATEMENT_FORMAT22t",
+		"I_STATEMENT_FORMAT22x", "I_STATEMENT_FORMAT23x", "I_STATEMENT_FORMAT30t",
+		"I_STATEMENT_FORMAT31c", "I_STATEMENT_FORMAT31i", "I_STATEMENT_FORMAT31t",
+		"I_STATEMENT_FORMAT32x", "I_STATEMENT_FORMAT35c_METHOD", "I_STATEMENT_FORMAT35c_TYPE",
+		"I_STATEMENT_FORMAT3rc_METHOD", "I_STATEMENT_FORMAT3rc_TYPE", "I_STATEMENT_FORMAT51l",
+		"I_STATEMENT_PACKED_SWITCH", "I_STATEMENT_SPARSE_SWITCH", "I_SUBANNOTATION",
+		"I_SUPER", "LINE_COMMENT", "LINE_DIRECTIVE", "LOCALS_DIRECTIVE", "LOCAL_DIRECTIVE",
+		"LONG_LITERAL", "MEMBER_NAME", "METHOD_DIRECTIVE", "NEGATIVE_INTEGER_LITERAL",
+		"NULL_LITERAL", "OPEN_BRACE", "OPEN_PAREN", "PACKED_SWITCH_DIRECTIVE",
+		"PARAMETER_DIRECTIVE", "PARAM_LIST_END", "PARAM_LIST_OR_ID_END", "PARAM_LIST_OR_ID_START",
+		"PARAM_LIST_START", "POSITIVE_INTEGER_LITERAL", "PRIMITIVE_TYPE", "PROLOGUE_DIRECTIVE",
+		"REGISTER", "REGISTERS_DIRECTIVE", "RESTART_LOCAL_DIRECTIVE", "SHORT_LITERAL",
+		"SIMPLE_NAME", "SOURCE_DIRECTIVE", "SPARSE_SWITCH_DIRECTIVE", "STRING_LITERAL",
+		"SUBANNOTATION_DIRECTIVE", "SUPER_DIRECTIVE", "VERIFICATION_ERROR_TYPE",
+		"VOID_TYPE", "VTABLE_INDEX", "WHITE_SPACE"
 	};
 	public static final int EOF=-1;
 	public static final int ACCESS_SPEC=4;
@@ -115,211 +111,196 @@
 	public static final int ARRAY_DATA_DIRECTIVE=7;
 	public static final int ARRAY_DESCRIPTOR=8;
 	public static final int ARROW=9;
-	public static final int BASE_ARRAY_DESCRIPTOR=10;
-	public static final int BASE_CHAR_LITERAL=11;
-	public static final int BASE_CLASS_DESCRIPTOR=12;
-	public static final int BASE_FLOAT=13;
-	public static final int BASE_FLOAT_OR_ID=14;
-	public static final int BASE_INTEGER=15;
-	public static final int BASE_PRIMITIVE_TYPE=16;
-	public static final int BASE_SIMPLE_NAME=17;
-	public static final int BASE_STRING_LITERAL=18;
-	public static final int BASE_TYPE=19;
-	public static final int BINARY_EXPONENT=20;
-	public static final int BOOL_LITERAL=21;
-	public static final int BYTE_LITERAL=22;
-	public static final int CATCHALL_DIRECTIVE=23;
-	public static final int CATCH_DIRECTIVE=24;
-	public static final int CHAR_LITERAL=25;
-	public static final int CLASS_DESCRIPTOR=26;
-	public static final int CLASS_DIRECTIVE=27;
-	public static final int CLOSE_BRACE=28;
-	public static final int CLOSE_PAREN=29;
-	public static final int COLON=30;
-	public static final int COMMA=31;
-	public static final int DECIMAL_EXPONENT=32;
-	public static final int DOTDOT=33;
-	public static final int DOUBLE_LITERAL=34;
-	public static final int DOUBLE_LITERAL_OR_ID=35;
-	public static final int END_ANNOTATION_DIRECTIVE=36;
-	public static final int END_ARRAY_DATA_DIRECTIVE=37;
-	public static final int END_FIELD_DIRECTIVE=38;
-	public static final int END_LOCAL_DIRECTIVE=39;
-	public static final int END_METHOD_DIRECTIVE=40;
-	public static final int END_PACKED_SWITCH_DIRECTIVE=41;
-	public static final int END_PARAMETER_DIRECTIVE=42;
-	public static final int END_SPARSE_SWITCH_DIRECTIVE=43;
-	public static final int END_SUBANNOTATION_DIRECTIVE=44;
-	public static final int ENUM_DIRECTIVE=45;
-	public static final int EPILOGUE_DIRECTIVE=46;
-	public static final int EQUAL=47;
-	public static final int ESCAPE_SEQUENCE=48;
-	public static final int FIELD_DIRECTIVE=49;
-	public static final int FIELD_OFFSET=50;
-	public static final int FLOAT_LITERAL=51;
-	public static final int FLOAT_LITERAL_OR_ID=52;
-	public static final int HEX_DIGIT=53;
-	public static final int HEX_DIGITS=54;
-	public static final int HEX_PREFIX=55;
-	public static final int IMPLEMENTS_DIRECTIVE=56;
-	public static final int INLINE_INDEX=57;
-	public static final int INSTRUCTION_FORMAT10t=58;
-	public static final int INSTRUCTION_FORMAT10x=59;
-	public static final int INSTRUCTION_FORMAT10x_ODEX=60;
-	public static final int INSTRUCTION_FORMAT11n=61;
-	public static final int INSTRUCTION_FORMAT11x=62;
-	public static final int INSTRUCTION_FORMAT12x=63;
-	public static final int INSTRUCTION_FORMAT12x_OR_ID=64;
-	public static final int INSTRUCTION_FORMAT20bc=65;
-	public static final int INSTRUCTION_FORMAT20t=66;
-	public static final int INSTRUCTION_FORMAT21c_FIELD=67;
-	public static final int INSTRUCTION_FORMAT21c_FIELD_ODEX=68;
-	public static final int INSTRUCTION_FORMAT21c_STRING=69;
-	public static final int INSTRUCTION_FORMAT21c_TYPE=70;
-	public static final int INSTRUCTION_FORMAT21ih=71;
-	public static final int INSTRUCTION_FORMAT21lh=72;
-	public static final int INSTRUCTION_FORMAT21s=73;
-	public static final int INSTRUCTION_FORMAT21t=74;
-	public static final int INSTRUCTION_FORMAT22b=75;
-	public static final int INSTRUCTION_FORMAT22c_FIELD=76;
-	public static final int INSTRUCTION_FORMAT22c_FIELD_ODEX=77;
-	public static final int INSTRUCTION_FORMAT22c_TYPE=78;
-	public static final int INSTRUCTION_FORMAT22cs_FIELD=79;
-	public static final int INSTRUCTION_FORMAT22s=80;
-	public static final int INSTRUCTION_FORMAT22s_OR_ID=81;
-	public static final int INSTRUCTION_FORMAT22t=82;
-	public static final int INSTRUCTION_FORMAT22x=83;
-	public static final int INSTRUCTION_FORMAT23x=84;
-	public static final int INSTRUCTION_FORMAT30t=85;
-	public static final int INSTRUCTION_FORMAT31c=86;
-	public static final int INSTRUCTION_FORMAT31i=87;
-	public static final int INSTRUCTION_FORMAT31i_OR_ID=88;
-	public static final int INSTRUCTION_FORMAT31t=89;
-	public static final int INSTRUCTION_FORMAT32x=90;
-	public static final int INSTRUCTION_FORMAT35c_METHOD=91;
-	public static final int INSTRUCTION_FORMAT35c_METHOD_ODEX=92;
-	public static final int INSTRUCTION_FORMAT35c_TYPE=93;
-	public static final int INSTRUCTION_FORMAT35mi_METHOD=94;
-	public static final int INSTRUCTION_FORMAT35ms_METHOD=95;
-	public static final int INSTRUCTION_FORMAT3rc_METHOD=96;
-	public static final int INSTRUCTION_FORMAT3rc_METHOD_ODEX=97;
-	public static final int INSTRUCTION_FORMAT3rc_TYPE=98;
-	public static final int INSTRUCTION_FORMAT3rmi_METHOD=99;
-	public static final int INSTRUCTION_FORMAT3rms_METHOD=100;
-	public static final int INSTRUCTION_FORMAT51l=101;
-	public static final int INTEGER_LITERAL=102;
-	public static final int INVALID_TOKEN=103;
-	public static final int I_ACCESS_LIST=104;
-	public static final int I_ANNOTATION=105;
-	public static final int I_ANNOTATIONS=106;
-	public static final int I_ANNOTATION_ELEMENT=107;
-	public static final int I_ARRAY_ELEMENTS=108;
-	public static final int I_ARRAY_ELEMENT_SIZE=109;
-	public static final int I_CATCH=110;
-	public static final int I_CATCHALL=111;
-	public static final int I_CATCHES=112;
-	public static final int I_CLASS_DEF=113;
-	public static final int I_ENCODED_ARRAY=114;
-	public static final int I_ENCODED_ENUM=115;
-	public static final int I_ENCODED_FIELD=116;
-	public static final int I_ENCODED_METHOD=117;
-	public static final int I_END_LOCAL=118;
-	public static final int I_EPILOGUE=119;
-	public static final int I_FIELD=120;
-	public static final int I_FIELDS=121;
-	public static final int I_FIELD_INITIAL_VALUE=122;
-	public static final int I_FIELD_TYPE=123;
-	public static final int I_IMPLEMENTS=124;
-	public static final int I_LABEL=125;
-	public static final int I_LINE=126;
-	public static final int I_LOCAL=127;
-	public static final int I_LOCALS=128;
-	public static final int I_METHOD=129;
-	public static final int I_METHODS=130;
-	public static final int I_METHOD_PROTOTYPE=131;
-	public static final int I_METHOD_RETURN_TYPE=132;
-	public static final int I_ORDERED_METHOD_ITEMS=133;
-	public static final int I_PACKED_SWITCH_ELEMENTS=134;
-	public static final int I_PACKED_SWITCH_START_KEY=135;
-	public static final int I_PARAMETER=136;
-	public static final int I_PARAMETERS=137;
-	public static final int I_PARAMETER_NOT_SPECIFIED=138;
-	public static final int I_PROLOGUE=139;
-	public static final int I_REGISTERS=140;
-	public static final int I_REGISTER_LIST=141;
-	public static final int I_REGISTER_RANGE=142;
-	public static final int I_RESTART_LOCAL=143;
-	public static final int I_SOURCE=144;
-	public static final int I_SPARSE_SWITCH_ELEMENTS=145;
-	public static final int I_STATEMENT_ARRAY_DATA=146;
-	public static final int I_STATEMENT_FORMAT10t=147;
-	public static final int I_STATEMENT_FORMAT10x=148;
-	public static final int I_STATEMENT_FORMAT11n=149;
-	public static final int I_STATEMENT_FORMAT11x=150;
-	public static final int I_STATEMENT_FORMAT12x=151;
-	public static final int I_STATEMENT_FORMAT20bc=152;
-	public static final int I_STATEMENT_FORMAT20t=153;
-	public static final int I_STATEMENT_FORMAT21c_FIELD=154;
-	public static final int I_STATEMENT_FORMAT21c_STRING=155;
-	public static final int I_STATEMENT_FORMAT21c_TYPE=156;
-	public static final int I_STATEMENT_FORMAT21ih=157;
-	public static final int I_STATEMENT_FORMAT21lh=158;
-	public static final int I_STATEMENT_FORMAT21s=159;
-	public static final int I_STATEMENT_FORMAT21t=160;
-	public static final int I_STATEMENT_FORMAT22b=161;
-	public static final int I_STATEMENT_FORMAT22c_FIELD=162;
-	public static final int I_STATEMENT_FORMAT22c_TYPE=163;
-	public static final int I_STATEMENT_FORMAT22s=164;
-	public static final int I_STATEMENT_FORMAT22t=165;
-	public static final int I_STATEMENT_FORMAT22x=166;
-	public static final int I_STATEMENT_FORMAT23x=167;
-	public static final int I_STATEMENT_FORMAT30t=168;
-	public static final int I_STATEMENT_FORMAT31c=169;
-	public static final int I_STATEMENT_FORMAT31i=170;
-	public static final int I_STATEMENT_FORMAT31t=171;
-	public static final int I_STATEMENT_FORMAT32x=172;
-	public static final int I_STATEMENT_FORMAT35c_METHOD=173;
-	public static final int I_STATEMENT_FORMAT35c_TYPE=174;
-	public static final int I_STATEMENT_FORMAT3rc_METHOD=175;
-	public static final int I_STATEMENT_FORMAT3rc_TYPE=176;
-	public static final int I_STATEMENT_FORMAT51l=177;
-	public static final int I_STATEMENT_PACKED_SWITCH=178;
-	public static final int I_STATEMENT_SPARSE_SWITCH=179;
-	public static final int I_SUBANNOTATION=180;
-	public static final int I_SUPER=181;
-	public static final int LABEL=182;
-	public static final int LINE_COMMENT=183;
-	public static final int LINE_DIRECTIVE=184;
-	public static final int LOCALS_DIRECTIVE=185;
-	public static final int LOCAL_DIRECTIVE=186;
-	public static final int LONG_LITERAL=187;
-	public static final int MEMBER_NAME=188;
-	public static final int METHOD_DIRECTIVE=189;
-	public static final int NEGATIVE_INTEGER_LITERAL=190;
-	public static final int NULL_LITERAL=191;
-	public static final int OPEN_BRACE=192;
-	public static final int OPEN_PAREN=193;
-	public static final int PACKED_SWITCH_DIRECTIVE=194;
-	public static final int PARAMETER_DIRECTIVE=195;
-	public static final int PARAM_LIST=196;
-	public static final int PARAM_LIST_OR_ID=197;
-	public static final int POSITIVE_INTEGER_LITERAL=198;
-	public static final int PRIMITIVE_TYPE=199;
-	public static final int PROLOGUE_DIRECTIVE=200;
-	public static final int REGISTER=201;
-	public static final int REGISTERS_DIRECTIVE=202;
-	public static final int RESTART_LOCAL_DIRECTIVE=203;
-	public static final int SHORT_LITERAL=204;
-	public static final int SIMPLE_NAME=205;
-	public static final int SOURCE_DIRECTIVE=206;
-	public static final int SPARSE_SWITCH_DIRECTIVE=207;
-	public static final int STRING_LITERAL=208;
-	public static final int SUBANNOTATION_DIRECTIVE=209;
-	public static final int SUPER_DIRECTIVE=210;
-	public static final int VERIFICATION_ERROR_TYPE=211;
-	public static final int VOID_TYPE=212;
-	public static final int VTABLE_INDEX=213;
-	public static final int WHITE_SPACE=214;
+	public static final int BOOL_LITERAL=10;
+	public static final int BYTE_LITERAL=11;
+	public static final int CATCHALL_DIRECTIVE=12;
+	public static final int CATCH_DIRECTIVE=13;
+	public static final int CHAR_LITERAL=14;
+	public static final int CLASS_DESCRIPTOR=15;
+	public static final int CLASS_DIRECTIVE=16;
+	public static final int CLOSE_BRACE=17;
+	public static final int CLOSE_PAREN=18;
+	public static final int COLON=19;
+	public static final int COMMA=20;
+	public static final int DOTDOT=21;
+	public static final int DOUBLE_LITERAL=22;
+	public static final int DOUBLE_LITERAL_OR_ID=23;
+	public static final int END_ANNOTATION_DIRECTIVE=24;
+	public static final int END_ARRAY_DATA_DIRECTIVE=25;
+	public static final int END_FIELD_DIRECTIVE=26;
+	public static final int END_LOCAL_DIRECTIVE=27;
+	public static final int END_METHOD_DIRECTIVE=28;
+	public static final int END_PACKED_SWITCH_DIRECTIVE=29;
+	public static final int END_PARAMETER_DIRECTIVE=30;
+	public static final int END_SPARSE_SWITCH_DIRECTIVE=31;
+	public static final int END_SUBANNOTATION_DIRECTIVE=32;
+	public static final int ENUM_DIRECTIVE=33;
+	public static final int EPILOGUE_DIRECTIVE=34;
+	public static final int EQUAL=35;
+	public static final int FIELD_DIRECTIVE=36;
+	public static final int FIELD_OFFSET=37;
+	public static final int FLOAT_LITERAL=38;
+	public static final int FLOAT_LITERAL_OR_ID=39;
+	public static final int IMPLEMENTS_DIRECTIVE=40;
+	public static final int INLINE_INDEX=41;
+	public static final int INSTRUCTION_FORMAT10t=42;
+	public static final int INSTRUCTION_FORMAT10x=43;
+	public static final int INSTRUCTION_FORMAT10x_ODEX=44;
+	public static final int INSTRUCTION_FORMAT11n=45;
+	public static final int INSTRUCTION_FORMAT11x=46;
+	public static final int INSTRUCTION_FORMAT12x=47;
+	public static final int INSTRUCTION_FORMAT12x_OR_ID=48;
+	public static final int INSTRUCTION_FORMAT20bc=49;
+	public static final int INSTRUCTION_FORMAT20t=50;
+	public static final int INSTRUCTION_FORMAT21c_FIELD=51;
+	public static final int INSTRUCTION_FORMAT21c_FIELD_ODEX=52;
+	public static final int INSTRUCTION_FORMAT21c_STRING=53;
+	public static final int INSTRUCTION_FORMAT21c_TYPE=54;
+	public static final int INSTRUCTION_FORMAT21ih=55;
+	public static final int INSTRUCTION_FORMAT21lh=56;
+	public static final int INSTRUCTION_FORMAT21s=57;
+	public static final int INSTRUCTION_FORMAT21t=58;
+	public static final int INSTRUCTION_FORMAT22b=59;
+	public static final int INSTRUCTION_FORMAT22c_FIELD=60;
+	public static final int INSTRUCTION_FORMAT22c_FIELD_ODEX=61;
+	public static final int INSTRUCTION_FORMAT22c_TYPE=62;
+	public static final int INSTRUCTION_FORMAT22cs_FIELD=63;
+	public static final int INSTRUCTION_FORMAT22s=64;
+	public static final int INSTRUCTION_FORMAT22s_OR_ID=65;
+	public static final int INSTRUCTION_FORMAT22t=66;
+	public static final int INSTRUCTION_FORMAT22x=67;
+	public static final int INSTRUCTION_FORMAT23x=68;
+	public static final int INSTRUCTION_FORMAT30t=69;
+	public static final int INSTRUCTION_FORMAT31c=70;
+	public static final int INSTRUCTION_FORMAT31i=71;
+	public static final int INSTRUCTION_FORMAT31i_OR_ID=72;
+	public static final int INSTRUCTION_FORMAT31t=73;
+	public static final int INSTRUCTION_FORMAT32x=74;
+	public static final int INSTRUCTION_FORMAT35c_METHOD=75;
+	public static final int INSTRUCTION_FORMAT35c_METHOD_ODEX=76;
+	public static final int INSTRUCTION_FORMAT35c_TYPE=77;
+	public static final int INSTRUCTION_FORMAT35mi_METHOD=78;
+	public static final int INSTRUCTION_FORMAT35ms_METHOD=79;
+	public static final int INSTRUCTION_FORMAT3rc_METHOD=80;
+	public static final int INSTRUCTION_FORMAT3rc_METHOD_ODEX=81;
+	public static final int INSTRUCTION_FORMAT3rc_TYPE=82;
+	public static final int INSTRUCTION_FORMAT3rmi_METHOD=83;
+	public static final int INSTRUCTION_FORMAT3rms_METHOD=84;
+	public static final int INSTRUCTION_FORMAT51l=85;
+	public static final int INTEGER_LITERAL=86;
+	public static final int INVALID_TOKEN=87;
+	public static final int I_ACCESS_LIST=88;
+	public static final int I_ANNOTATION=89;
+	public static final int I_ANNOTATIONS=90;
+	public static final int I_ANNOTATION_ELEMENT=91;
+	public static final int I_ARRAY_ELEMENTS=92;
+	public static final int I_ARRAY_ELEMENT_SIZE=93;
+	public static final int I_CATCH=94;
+	public static final int I_CATCHALL=95;
+	public static final int I_CATCHES=96;
+	public static final int I_CLASS_DEF=97;
+	public static final int I_ENCODED_ARRAY=98;
+	public static final int I_ENCODED_ENUM=99;
+	public static final int I_ENCODED_FIELD=100;
+	public static final int I_ENCODED_METHOD=101;
+	public static final int I_END_LOCAL=102;
+	public static final int I_EPILOGUE=103;
+	public static final int I_FIELD=104;
+	public static final int I_FIELDS=105;
+	public static final int I_FIELD_INITIAL_VALUE=106;
+	public static final int I_FIELD_TYPE=107;
+	public static final int I_IMPLEMENTS=108;
+	public static final int I_LABEL=109;
+	public static final int I_LINE=110;
+	public static final int I_LOCAL=111;
+	public static final int I_LOCALS=112;
+	public static final int I_METHOD=113;
+	public static final int I_METHODS=114;
+	public static final int I_METHOD_PROTOTYPE=115;
+	public static final int I_METHOD_RETURN_TYPE=116;
+	public static final int I_ORDERED_METHOD_ITEMS=117;
+	public static final int I_PACKED_SWITCH_ELEMENTS=118;
+	public static final int I_PACKED_SWITCH_START_KEY=119;
+	public static final int I_PARAMETER=120;
+	public static final int I_PARAMETERS=121;
+	public static final int I_PARAMETER_NOT_SPECIFIED=122;
+	public static final int I_PROLOGUE=123;
+	public static final int I_REGISTERS=124;
+	public static final int I_REGISTER_LIST=125;
+	public static final int I_REGISTER_RANGE=126;
+	public static final int I_RESTART_LOCAL=127;
+	public static final int I_SOURCE=128;
+	public static final int I_SPARSE_SWITCH_ELEMENTS=129;
+	public static final int I_STATEMENT_ARRAY_DATA=130;
+	public static final int I_STATEMENT_FORMAT10t=131;
+	public static final int I_STATEMENT_FORMAT10x=132;
+	public static final int I_STATEMENT_FORMAT11n=133;
+	public static final int I_STATEMENT_FORMAT11x=134;
+	public static final int I_STATEMENT_FORMAT12x=135;
+	public static final int I_STATEMENT_FORMAT20bc=136;
+	public static final int I_STATEMENT_FORMAT20t=137;
+	public static final int I_STATEMENT_FORMAT21c_FIELD=138;
+	public static final int I_STATEMENT_FORMAT21c_STRING=139;
+	public static final int I_STATEMENT_FORMAT21c_TYPE=140;
+	public static final int I_STATEMENT_FORMAT21ih=141;
+	public static final int I_STATEMENT_FORMAT21lh=142;
+	public static final int I_STATEMENT_FORMAT21s=143;
+	public static final int I_STATEMENT_FORMAT21t=144;
+	public static final int I_STATEMENT_FORMAT22b=145;
+	public static final int I_STATEMENT_FORMAT22c_FIELD=146;
+	public static final int I_STATEMENT_FORMAT22c_TYPE=147;
+	public static final int I_STATEMENT_FORMAT22s=148;
+	public static final int I_STATEMENT_FORMAT22t=149;
+	public static final int I_STATEMENT_FORMAT22x=150;
+	public static final int I_STATEMENT_FORMAT23x=151;
+	public static final int I_STATEMENT_FORMAT30t=152;
+	public static final int I_STATEMENT_FORMAT31c=153;
+	public static final int I_STATEMENT_FORMAT31i=154;
+	public static final int I_STATEMENT_FORMAT31t=155;
+	public static final int I_STATEMENT_FORMAT32x=156;
+	public static final int I_STATEMENT_FORMAT35c_METHOD=157;
+	public static final int I_STATEMENT_FORMAT35c_TYPE=158;
+	public static final int I_STATEMENT_FORMAT3rc_METHOD=159;
+	public static final int I_STATEMENT_FORMAT3rc_TYPE=160;
+	public static final int I_STATEMENT_FORMAT51l=161;
+	public static final int I_STATEMENT_PACKED_SWITCH=162;
+	public static final int I_STATEMENT_SPARSE_SWITCH=163;
+	public static final int I_SUBANNOTATION=164;
+	public static final int I_SUPER=165;
+	public static final int LINE_COMMENT=166;
+	public static final int LINE_DIRECTIVE=167;
+	public static final int LOCALS_DIRECTIVE=168;
+	public static final int LOCAL_DIRECTIVE=169;
+	public static final int LONG_LITERAL=170;
+	public static final int MEMBER_NAME=171;
+	public static final int METHOD_DIRECTIVE=172;
+	public static final int NEGATIVE_INTEGER_LITERAL=173;
+	public static final int NULL_LITERAL=174;
+	public static final int OPEN_BRACE=175;
+	public static final int OPEN_PAREN=176;
+	public static final int PACKED_SWITCH_DIRECTIVE=177;
+	public static final int PARAMETER_DIRECTIVE=178;
+	public static final int PARAM_LIST_END=179;
+	public static final int PARAM_LIST_OR_ID_END=180;
+	public static final int PARAM_LIST_OR_ID_START=181;
+	public static final int PARAM_LIST_START=182;
+	public static final int POSITIVE_INTEGER_LITERAL=183;
+	public static final int PRIMITIVE_TYPE=184;
+	public static final int PROLOGUE_DIRECTIVE=185;
+	public static final int REGISTER=186;
+	public static final int REGISTERS_DIRECTIVE=187;
+	public static final int RESTART_LOCAL_DIRECTIVE=188;
+	public static final int SHORT_LITERAL=189;
+	public static final int SIMPLE_NAME=190;
+	public static final int SOURCE_DIRECTIVE=191;
+	public static final int SPARSE_SWITCH_DIRECTIVE=192;
+	public static final int STRING_LITERAL=193;
+	public static final int SUBANNOTATION_DIRECTIVE=194;
+	public static final int SUPER_DIRECTIVE=195;
+	public static final int VERIFICATION_ERROR_TYPE=196;
+	public static final int VOID_TYPE=197;
+	public static final int VTABLE_INDEX=198;
+	public static final int WHITE_SPACE=199;
 
 	// delegates
 	public TreeParser[] getDelegates() {
@@ -337,7 +318,7 @@
 	}
 
 	@Override public String[] getTokenNames() { return smaliTreeWalker.tokenNames; }
-	@Override public String getGrammarFileName() { return "/usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g"; }
+	@Override public String getGrammarFileName() { return "/mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g"; }
 
 
 	  public String classType;
@@ -361,8 +342,8 @@
 
 	  private byte parseRegister_nibble(String register)
 	      throws SemanticException {
-	    int totalMethodRegisters = ((method_scope)method_stack.peek()).totalMethodRegisters;
-	    int methodParameterRegisters = ((method_scope)method_stack.peek()).methodParameterRegisters;
+	    int totalMethodRegisters = method_stack.peek().totalMethodRegisters;
+	    int methodParameterRegisters = method_stack.peek().methodParameterRegisters;
 
 	    //register should be in the format "v12"
 	    int val = Byte.parseByte(register.substring(1));
@@ -424,7 +405,7 @@
 
 
 	// $ANTLR start "smali_file"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:159:1: smali_file returns [ClassDef classDef] : ^( I_CLASS_DEF header methods fields annotations ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:159:1: smali_file returns [ClassDef classDef] : ^( I_CLASS_DEF header methods fields annotations ) ;
 	public final ClassDef smali_file() throws RecognitionException {
 		ClassDef classDef = null;
 
@@ -435,11 +416,11 @@
 		List<BuilderMethod> methods4 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:160:3: ( ^( I_CLASS_DEF header methods fields annotations ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:160:5: ^( I_CLASS_DEF header methods fields annotations )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:160:3: ( ^( I_CLASS_DEF header methods fields annotations ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:160:5: ^( I_CLASS_DEF header methods fields annotations )
 			{
-			match(input,I_CLASS_DEF,FOLLOW_I_CLASS_DEF_in_smali_file52); 
-			match(input, Token.DOWN, null); 
+			match(input,I_CLASS_DEF,FOLLOW_I_CLASS_DEF_in_smali_file52);
+			match(input, Token.DOWN, null);
 			pushFollow(FOLLOW_header_in_smali_file54);
 			header1=header();
 			state._fsp--;
@@ -456,12 +437,12 @@
 			annotations2=annotations();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 
 			    classDef = dexBuilder.internClassDef((header1!=null?((smaliTreeWalker.header_return)header1).classType:null), (header1!=null?((smaliTreeWalker.header_return)header1).accessFlags:0), (header1!=null?((smaliTreeWalker.header_return)header1).superType:null),
 			            (header1!=null?((smaliTreeWalker.header_return)header1).implementsList:null), (header1!=null?((smaliTreeWalker.header_return)header1).sourceSpec:null), annotations2, fields3, methods4);
-			  
+			
 			}
 
 		}
@@ -471,7 +452,7 @@
 			      ex.printStackTrace(System.err);
 			    }
 			    reportError(new SemanticException(input, ex));
-			  
+			
 		}
 
 		finally {
@@ -492,7 +473,7 @@
 
 
 	// $ANTLR start "header"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:173:1: header returns [String classType, int accessFlags, String superType, List<String> implementsList, String sourceSpec] : class_spec ( super_spec )? implements_list source_spec ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:173:1: header returns [String classType, int accessFlags, String superType, List<String> implementsList, String sourceSpec] : class_spec ( super_spec )? implements_list source_spec ;
 	public final smaliTreeWalker.header_return header() throws RecognitionException {
 		smaliTreeWalker.header_return retval = new smaliTreeWalker.header_return();
 		retval.start = input.LT(1);
@@ -503,14 +484,14 @@
 		String source_spec8 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:174:3: ( class_spec ( super_spec )? implements_list source_spec )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:174:3: class_spec ( super_spec )? implements_list source_spec
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:174:3: ( class_spec ( super_spec )? implements_list source_spec )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:174:3: class_spec ( super_spec )? implements_list source_spec
 			{
 			pushFollow(FOLLOW_class_spec_in_header85);
 			class_spec5=class_spec();
 			state._fsp--;
 
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:174:14: ( super_spec )?
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:174:14: ( super_spec )?
 			int alt1=2;
 			int LA1_0 = input.LA(1);
 			if ( (LA1_0==I_SUPER) ) {
@@ -518,7 +499,7 @@
 			}
 			switch (alt1) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:174:14: super_spec
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:174:14: super_spec
 					{
 					pushFollow(FOLLOW_super_spec_in_header87);
 					super_spec6=super_spec();
@@ -544,7 +525,7 @@
 			    retval.superType = super_spec6;
 			    retval.implementsList = implements_list7;
 			    retval.sourceSpec = source_spec8;
-			  
+			
 			}
 
 		}
@@ -567,7 +548,7 @@
 
 
 	// $ANTLR start "class_spec"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:185:1: class_spec returns [String type, int accessFlags] : CLASS_DESCRIPTOR access_list ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:185:1: class_spec returns [String type, int accessFlags] : CLASS_DESCRIPTOR access_list ;
 	public final smaliTreeWalker.class_spec_return class_spec() throws RecognitionException {
 		smaliTreeWalker.class_spec_return retval = new smaliTreeWalker.class_spec_return();
 		retval.start = input.LT(1);
@@ -576,10 +557,10 @@
 		int access_list10 =0;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:186:3: ( CLASS_DESCRIPTOR access_list )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:186:5: CLASS_DESCRIPTOR access_list
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:186:3: ( CLASS_DESCRIPTOR access_list )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:186:5: CLASS_DESCRIPTOR access_list
 			{
-			CLASS_DESCRIPTOR9=(CommonTree)match(input,CLASS_DESCRIPTOR,FOLLOW_CLASS_DESCRIPTOR_in_class_spec110); 
+			CLASS_DESCRIPTOR9=(CommonTree)match(input,CLASS_DESCRIPTOR,FOLLOW_CLASS_DESCRIPTOR_in_class_spec110);
 			pushFollow(FOLLOW_access_list_in_class_spec112);
 			access_list10=access_list();
 			state._fsp--;
@@ -587,7 +568,7 @@
 
 			    retval.type = (CLASS_DESCRIPTOR9!=null?CLASS_DESCRIPTOR9.getText():null);
 			    retval.accessFlags = access_list10;
-			  
+			
 			}
 
 		}
@@ -605,7 +586,7 @@
 
 
 	// $ANTLR start "super_spec"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:192:1: super_spec returns [String type] : ^( I_SUPER CLASS_DESCRIPTOR ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:192:1: super_spec returns [String type] : ^( I_SUPER CLASS_DESCRIPTOR ) ;
 	public final String super_spec() throws RecognitionException {
 		String type = null;
 
@@ -613,17 +594,17 @@
 		CommonTree CLASS_DESCRIPTOR11=null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:193:3: ( ^( I_SUPER CLASS_DESCRIPTOR ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:193:5: ^( I_SUPER CLASS_DESCRIPTOR )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:193:3: ( ^( I_SUPER CLASS_DESCRIPTOR ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:193:5: ^( I_SUPER CLASS_DESCRIPTOR )
 			{
-			match(input,I_SUPER,FOLLOW_I_SUPER_in_super_spec130); 
-			match(input, Token.DOWN, null); 
-			CLASS_DESCRIPTOR11=(CommonTree)match(input,CLASS_DESCRIPTOR,FOLLOW_CLASS_DESCRIPTOR_in_super_spec132); 
-			match(input, Token.UP, null); 
+			match(input,I_SUPER,FOLLOW_I_SUPER_in_super_spec130);
+			match(input, Token.DOWN, null);
+			CLASS_DESCRIPTOR11=(CommonTree)match(input,CLASS_DESCRIPTOR,FOLLOW_CLASS_DESCRIPTOR_in_super_spec132);
+			match(input, Token.UP, null);
 
 
 			    type = (CLASS_DESCRIPTOR11!=null?CLASS_DESCRIPTOR11.getText():null);
-			  
+			
 			}
 
 		}
@@ -641,7 +622,7 @@
 
 
 	// $ANTLR start "implements_spec"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:199:1: implements_spec returns [String type] : ^( I_IMPLEMENTS CLASS_DESCRIPTOR ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:199:1: implements_spec returns [String type] : ^( I_IMPLEMENTS CLASS_DESCRIPTOR ) ;
 	public final String implements_spec() throws RecognitionException {
 		String type = null;
 
@@ -649,17 +630,17 @@
 		CommonTree CLASS_DESCRIPTOR12=null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:200:3: ( ^( I_IMPLEMENTS CLASS_DESCRIPTOR ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:200:5: ^( I_IMPLEMENTS CLASS_DESCRIPTOR )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:200:3: ( ^( I_IMPLEMENTS CLASS_DESCRIPTOR ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:200:5: ^( I_IMPLEMENTS CLASS_DESCRIPTOR )
 			{
-			match(input,I_IMPLEMENTS,FOLLOW_I_IMPLEMENTS_in_implements_spec152); 
-			match(input, Token.DOWN, null); 
-			CLASS_DESCRIPTOR12=(CommonTree)match(input,CLASS_DESCRIPTOR,FOLLOW_CLASS_DESCRIPTOR_in_implements_spec154); 
-			match(input, Token.UP, null); 
+			match(input,I_IMPLEMENTS,FOLLOW_I_IMPLEMENTS_in_implements_spec152);
+			match(input, Token.DOWN, null);
+			CLASS_DESCRIPTOR12=(CommonTree)match(input,CLASS_DESCRIPTOR,FOLLOW_CLASS_DESCRIPTOR_in_implements_spec154);
+			match(input, Token.UP, null);
 
 
 			    type = (CLASS_DESCRIPTOR12!=null?CLASS_DESCRIPTOR12.getText():null);
-			  
+			
 			}
 
 		}
@@ -677,20 +658,20 @@
 
 
 	// $ANTLR start "implements_list"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:205:1: implements_list returns [List<String> implementsList] : ( implements_spec )* ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:205:1: implements_list returns [List<String> implementsList] : ( implements_spec )* ;
 	public final List<String> implements_list() throws RecognitionException {
 		List<String> implementsList = null;
 
 
 		String implements_spec13 =null;
 
-		 List<String> typeList; 
+		 List<String> typeList;
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:207:3: ( ( implements_spec )* )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:207:5: ( implements_spec )*
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:207:3: ( ( implements_spec )* )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:207:5: ( implements_spec )*
 			{
 			typeList = Lists.newArrayList();
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:208:5: ( implements_spec )*
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:208:5: ( implements_spec )*
 			loop2:
 			while (true) {
 				int alt2=2;
@@ -701,7 +682,7 @@
 
 				switch (alt2) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:208:6: implements_spec
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:208:6: implements_spec
 					{
 					pushFollow(FOLLOW_implements_spec_in_implements_list184);
 					implements_spec13=implements_spec();
@@ -722,7 +703,7 @@
 			    } else {
 			      implementsList = null;
 			    }
-			  
+			
 			}
 
 		}
@@ -740,7 +721,7 @@
 
 
 	// $ANTLR start "source_spec"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:217:1: source_spec returns [String source] : ( ^( I_SOURCE string_literal ) |);
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:217:1: source_spec returns [String source] : ( ^( I_SOURCE string_literal ) |);
 	public final String source_spec() throws RecognitionException {
 		String source = null;
 
@@ -748,7 +729,7 @@
 		String string_literal14 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:218:3: ( ^( I_SOURCE string_literal ) |)
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:218:3: ( ^( I_SOURCE string_literal ) |)
 			int alt3=2;
 			int LA3_0 = input.LA(1);
 			if ( (LA3_0==I_SOURCE) ) {
@@ -766,22 +747,22 @@
 
 			switch (alt3) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:218:5: ^( I_SOURCE string_literal )
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:218:5: ^( I_SOURCE string_literal )
 					{
 					source = null;
-					match(input,I_SOURCE,FOLLOW_I_SOURCE_in_source_spec213); 
-					match(input, Token.DOWN, null); 
+					match(input,I_SOURCE,FOLLOW_I_SOURCE_in_source_spec213);
+					match(input, Token.DOWN, null);
 					pushFollow(FOLLOW_string_literal_in_source_spec215);
 					string_literal14=string_literal();
 					state._fsp--;
 
 					source = string_literal14;
-					match(input, Token.UP, null); 
+					match(input, Token.UP, null);
 
 					}
 					break;
 				case 2 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:220:16: 
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:220:16:
 					{
 					}
 					break;
@@ -802,7 +783,7 @@
 
 
 	// $ANTLR start "access_list"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:222:1: access_list returns [int value] : ^( I_ACCESS_LIST ( ACCESS_SPEC )* ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:222:1: access_list returns [int value] : ^( I_ACCESS_LIST ( ACCESS_SPEC )* ) ;
 	public final int access_list() throws RecognitionException {
 		int value = 0;
 
@@ -811,15 +792,15 @@
 
 
 		    value = 0;
-		  
+		
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:227:3: ( ^( I_ACCESS_LIST ( ACCESS_SPEC )* ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:227:5: ^( I_ACCESS_LIST ( ACCESS_SPEC )* )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:227:3: ( ^( I_ACCESS_LIST ( ACCESS_SPEC )* ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:227:5: ^( I_ACCESS_LIST ( ACCESS_SPEC )* )
 			{
-			match(input,I_ACCESS_LIST,FOLLOW_I_ACCESS_LIST_in_access_list248); 
+			match(input,I_ACCESS_LIST,FOLLOW_I_ACCESS_LIST_in_access_list248);
 			if ( input.LA(1)==Token.DOWN ) {
-				match(input, Token.DOWN, null); 
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:228:7: ( ACCESS_SPEC )*
+				match(input, Token.DOWN, null);
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:228:7: ( ACCESS_SPEC )*
 				loop4:
 				while (true) {
 					int alt4=2;
@@ -830,12 +811,12 @@
 
 					switch (alt4) {
 					case 1 :
-						// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:229:9: ACCESS_SPEC
+						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:229:9: ACCESS_SPEC
 						{
-						ACCESS_SPEC15=(CommonTree)match(input,ACCESS_SPEC,FOLLOW_ACCESS_SPEC_in_access_list266); 
+						ACCESS_SPEC15=(CommonTree)match(input,ACCESS_SPEC,FOLLOW_ACCESS_SPEC_in_access_list266);
 
 						          value |= AccessFlags.getAccessFlag(ACCESS_SPEC15.getText()).getValue();
-						        
+						
 						}
 						break;
 
@@ -844,7 +825,7 @@
 					}
 				}
 
-				match(input, Token.UP, null); 
+				match(input, Token.UP, null);
 			}
 
 			}
@@ -864,7 +845,7 @@
 
 
 	// $ANTLR start "fields"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:236:1: fields returns [List<BuilderField> fields] : ^( I_FIELDS ( field )* ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:236:1: fields returns [List<BuilderField> fields] : ^( I_FIELDS ( field )* ) ;
 	public final List<BuilderField> fields() throws RecognitionException {
 		List<BuilderField> fields = null;
 
@@ -873,13 +854,13 @@
 
 		fields = Lists.newArrayList();
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:238:3: ( ^( I_FIELDS ( field )* ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:238:5: ^( I_FIELDS ( field )* )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:238:3: ( ^( I_FIELDS ( field )* ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:238:5: ^( I_FIELDS ( field )* )
 			{
-			match(input,I_FIELDS,FOLLOW_I_FIELDS_in_fields308); 
+			match(input,I_FIELDS,FOLLOW_I_FIELDS_in_fields308);
 			if ( input.LA(1)==Token.DOWN ) {
-				match(input, Token.DOWN, null); 
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:239:7: ( field )*
+				match(input, Token.DOWN, null);
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:239:7: ( field )*
 				loop5:
 				while (true) {
 					int alt5=2;
@@ -890,7 +871,7 @@
 
 					switch (alt5) {
 					case 1 :
-						// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:239:8: field
+						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:239:8: field
 						{
 						pushFollow(FOLLOW_field_in_fields317);
 						field16=field();
@@ -898,7 +879,7 @@
 
 
 						        fields.add(field16);
-						      
+						
 						}
 						break;
 
@@ -907,7 +888,7 @@
 					}
 				}
 
-				match(input, Token.UP, null); 
+				match(input, Token.UP, null);
 			}
 
 			}
@@ -927,7 +908,7 @@
 
 
 	// $ANTLR start "methods"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:244:1: methods returns [List<BuilderMethod> methods] : ^( I_METHODS ( method )* ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:244:1: methods returns [List<BuilderMethod> methods] : ^( I_METHODS ( method )* ) ;
 	public final List<BuilderMethod> methods() throws RecognitionException {
 		List<BuilderMethod> methods = null;
 
@@ -936,13 +917,13 @@
 
 		methods = Lists.newArrayList();
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:246:3: ( ^( I_METHODS ( method )* ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:246:5: ^( I_METHODS ( method )* )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:246:3: ( ^( I_METHODS ( method )* ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:246:5: ^( I_METHODS ( method )* )
 			{
-			match(input,I_METHODS,FOLLOW_I_METHODS_in_methods349); 
+			match(input,I_METHODS,FOLLOW_I_METHODS_in_methods349);
 			if ( input.LA(1)==Token.DOWN ) {
-				match(input, Token.DOWN, null); 
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:247:7: ( method )*
+				match(input, Token.DOWN, null);
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:247:7: ( method )*
 				loop6:
 				while (true) {
 					int alt6=2;
@@ -953,7 +934,7 @@
 
 					switch (alt6) {
 					case 1 :
-						// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:247:8: method
+						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:247:8: method
 						{
 						pushFollow(FOLLOW_method_in_methods358);
 						method17=method();
@@ -961,7 +942,7 @@
 
 
 						        methods.add(method17);
-						      
+						
 						}
 						break;
 
@@ -970,7 +951,7 @@
 					}
 				}
 
-				match(input, Token.UP, null); 
+				match(input, Token.UP, null);
 			}
 
 			}
@@ -990,7 +971,7 @@
 
 
 	// $ANTLR start "field"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:252:1: field returns [BuilderField field] : ^( I_FIELD SIMPLE_NAME access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) field_initial_value ( annotations )? ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:252:1: field returns [BuilderField field] : ^( I_FIELD SIMPLE_NAME access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) field_initial_value ( annotations )? ) ;
 	public final BuilderField field() throws RecognitionException {
 		BuilderField field = null;
 
@@ -1002,29 +983,29 @@
 		Set<Annotation> annotations22 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:253:3: ( ^( I_FIELD SIMPLE_NAME access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) field_initial_value ( annotations )? ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:253:4: ^( I_FIELD SIMPLE_NAME access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) field_initial_value ( annotations )? )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:253:3: ( ^( I_FIELD SIMPLE_NAME access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) field_initial_value ( annotations )? ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:253:4: ^( I_FIELD SIMPLE_NAME access_list ^( I_FIELD_TYPE nonvoid_type_descriptor ) field_initial_value ( annotations )? )
 			{
-			match(input,I_FIELD,FOLLOW_I_FIELD_in_field383); 
-			match(input, Token.DOWN, null); 
-			SIMPLE_NAME20=(CommonTree)match(input,SIMPLE_NAME,FOLLOW_SIMPLE_NAME_in_field385); 
+			match(input,I_FIELD,FOLLOW_I_FIELD_in_field383);
+			match(input, Token.DOWN, null);
+			SIMPLE_NAME20=(CommonTree)match(input,SIMPLE_NAME,FOLLOW_SIMPLE_NAME_in_field385);
 			pushFollow(FOLLOW_access_list_in_field387);
 			access_list18=access_list();
 			state._fsp--;
 
-			match(input,I_FIELD_TYPE,FOLLOW_I_FIELD_TYPE_in_field390); 
-			match(input, Token.DOWN, null); 
+			match(input,I_FIELD_TYPE,FOLLOW_I_FIELD_TYPE_in_field390);
+			match(input, Token.DOWN, null);
 			pushFollow(FOLLOW_nonvoid_type_descriptor_in_field392);
 			nonvoid_type_descriptor21=nonvoid_type_descriptor();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 			pushFollow(FOLLOW_field_initial_value_in_field395);
 			field_initial_value19=field_initial_value();
 			state._fsp--;
 
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:253:98: ( annotations )?
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:253:98: ( annotations )?
 			int alt7=2;
 			int LA7_0 = input.LA(1);
 			if ( (LA7_0==I_ANNOTATIONS) ) {
@@ -1032,7 +1013,7 @@
 			}
 			switch (alt7) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:253:98: annotations
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:253:98: annotations
 					{
 					pushFollow(FOLLOW_annotations_in_field397);
 					annotations22=annotations();
@@ -1043,7 +1024,7 @@
 
 			}
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 
 			    int accessFlags = access_list18;
@@ -1055,7 +1036,7 @@
 
 			    field = dexBuilder.internField(classType, (SIMPLE_NAME20!=null?SIMPLE_NAME20.getText():null), (nonvoid_type_descriptor21!=null?((smaliTreeWalker.nonvoid_type_descriptor_return)nonvoid_type_descriptor21).type:null), access_list18,
 			            field_initial_value19, annotations22);
-			  
+			
 			}
 
 		}
@@ -1073,7 +1054,7 @@
 
 
 	// $ANTLR start "field_initial_value"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:267:1: field_initial_value returns [EncodedValue encodedValue] : ( ^( I_FIELD_INITIAL_VALUE literal ) |);
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:267:1: field_initial_value returns [EncodedValue encodedValue] : ( ^( I_FIELD_INITIAL_VALUE literal ) |);
 	public final EncodedValue field_initial_value() throws RecognitionException {
 		EncodedValue encodedValue = null;
 
@@ -1081,7 +1062,7 @@
 		EncodedValue literal23 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:268:3: ( ^( I_FIELD_INITIAL_VALUE literal ) |)
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:268:3: ( ^( I_FIELD_INITIAL_VALUE literal ) |)
 			int alt8=2;
 			int LA8_0 = input.LA(1);
 			if ( (LA8_0==I_FIELD_INITIAL_VALUE) ) {
@@ -1099,21 +1080,21 @@
 
 			switch (alt8) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:268:5: ^( I_FIELD_INITIAL_VALUE literal )
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:268:5: ^( I_FIELD_INITIAL_VALUE literal )
 					{
-					match(input,I_FIELD_INITIAL_VALUE,FOLLOW_I_FIELD_INITIAL_VALUE_in_field_initial_value418); 
-					match(input, Token.DOWN, null); 
+					match(input,I_FIELD_INITIAL_VALUE,FOLLOW_I_FIELD_INITIAL_VALUE_in_field_initial_value418);
+					match(input, Token.DOWN, null);
 					pushFollow(FOLLOW_literal_in_field_initial_value420);
 					literal23=literal();
 					state._fsp--;
 
-					match(input, Token.UP, null); 
+					match(input, Token.UP, null);
 
 					encodedValue = literal23;
 					}
 					break;
 				case 2 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:269:16: 
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:269:16:
 					{
 					}
 					break;
@@ -1134,7 +1115,7 @@
 
 
 	// $ANTLR start "literal"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:271:1: literal returns [EncodedValue encodedValue] : ( integer_literal | long_literal | short_literal | byte_literal | float_literal | double_literal | char_literal | string_literal | bool_literal | NULL_LITERAL | type_descriptor | array_literal | subannotation | field_literal | method_literal | enum_literal );
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:271:1: literal returns [EncodedValue encodedValue] : ( integer_literal | long_literal | short_literal | byte_literal | float_literal | double_literal | char_literal | string_literal | bool_literal | NULL_LITERAL | type_descriptor | array_literal | subannotation | field_literal | method_literal | enum_literal );
 	public final EncodedValue literal() throws RecognitionException {
 		EncodedValue encodedValue = null;
 
@@ -1156,7 +1137,7 @@
 		FieldReference enum_literal38 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:272:3: ( integer_literal | long_literal | short_literal | byte_literal | float_literal | double_literal | char_literal | string_literal | bool_literal | NULL_LITERAL | type_descriptor | array_literal | subannotation | field_literal | method_literal | enum_literal )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:272:3: ( integer_literal | long_literal | short_literal | byte_literal | float_literal | double_literal | char_literal | string_literal | bool_literal | NULL_LITERAL | type_descriptor | array_literal | subannotation | field_literal | method_literal | enum_literal )
 			int alt9=16;
 			switch ( input.LA(1) ) {
 			case INTEGER_LITERAL:
@@ -1249,160 +1230,160 @@
 			}
 			switch (alt9) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:272:5: integer_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:272:5: integer_literal
 					{
 					pushFollow(FOLLOW_integer_literal_in_literal442);
 					integer_literal24=integer_literal();
 					state._fsp--;
 
-					 encodedValue = new ImmutableIntEncodedValue(integer_literal24); 
+					 encodedValue = new ImmutableIntEncodedValue(integer_literal24);
 					}
 					break;
 				case 2 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:273:5: long_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:273:5: long_literal
 					{
 					pushFollow(FOLLOW_long_literal_in_literal450);
 					long_literal25=long_literal();
 					state._fsp--;
 
-					 encodedValue = new ImmutableLongEncodedValue(long_literal25); 
+					 encodedValue = new ImmutableLongEncodedValue(long_literal25);
 					}
 					break;
 				case 3 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:274:5: short_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:274:5: short_literal
 					{
 					pushFollow(FOLLOW_short_literal_in_literal458);
 					short_literal26=short_literal();
 					state._fsp--;
 
-					 encodedValue = new ImmutableShortEncodedValue(short_literal26); 
+					 encodedValue = new ImmutableShortEncodedValue(short_literal26);
 					}
 					break;
 				case 4 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:275:5: byte_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:275:5: byte_literal
 					{
 					pushFollow(FOLLOW_byte_literal_in_literal466);
 					byte_literal27=byte_literal();
 					state._fsp--;
 
-					 encodedValue = new ImmutableByteEncodedValue(byte_literal27); 
+					 encodedValue = new ImmutableByteEncodedValue(byte_literal27);
 					}
 					break;
 				case 5 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:276:5: float_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:276:5: float_literal
 					{
 					pushFollow(FOLLOW_float_literal_in_literal474);
 					float_literal28=float_literal();
 					state._fsp--;
 
-					 encodedValue = new ImmutableFloatEncodedValue(float_literal28); 
+					 encodedValue = new ImmutableFloatEncodedValue(float_literal28);
 					}
 					break;
 				case 6 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:277:5: double_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:277:5: double_literal
 					{
 					pushFollow(FOLLOW_double_literal_in_literal482);
 					double_literal29=double_literal();
 					state._fsp--;
 
-					 encodedValue = new ImmutableDoubleEncodedValue(double_literal29); 
+					 encodedValue = new ImmutableDoubleEncodedValue(double_literal29);
 					}
 					break;
 				case 7 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:278:5: char_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:278:5: char_literal
 					{
 					pushFollow(FOLLOW_char_literal_in_literal490);
 					char_literal30=char_literal();
 					state._fsp--;
 
-					 encodedValue = new ImmutableCharEncodedValue(char_literal30); 
+					 encodedValue = new ImmutableCharEncodedValue(char_literal30);
 					}
 					break;
 				case 8 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:279:5: string_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:279:5: string_literal
 					{
 					pushFollow(FOLLOW_string_literal_in_literal498);
 					string_literal31=string_literal();
 					state._fsp--;
 
-					 encodedValue = new ImmutableStringEncodedValue(string_literal31); 
+					 encodedValue = new ImmutableStringEncodedValue(string_literal31);
 					}
 					break;
 				case 9 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:280:5: bool_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:280:5: bool_literal
 					{
 					pushFollow(FOLLOW_bool_literal_in_literal506);
 					bool_literal32=bool_literal();
 					state._fsp--;
 
-					 encodedValue = ImmutableBooleanEncodedValue.forBoolean(bool_literal32); 
+					 encodedValue = ImmutableBooleanEncodedValue.forBoolean(bool_literal32);
 					}
 					break;
 				case 10 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:281:5: NULL_LITERAL
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:281:5: NULL_LITERAL
 					{
-					match(input,NULL_LITERAL,FOLLOW_NULL_LITERAL_in_literal514); 
-					 encodedValue = ImmutableNullEncodedValue.INSTANCE; 
+					match(input,NULL_LITERAL,FOLLOW_NULL_LITERAL_in_literal514);
+					 encodedValue = ImmutableNullEncodedValue.INSTANCE;
 					}
 					break;
 				case 11 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:282:5: type_descriptor
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:282:5: type_descriptor
 					{
 					pushFollow(FOLLOW_type_descriptor_in_literal522);
 					type_descriptor33=type_descriptor();
 					state._fsp--;
 
-					 encodedValue = new ImmutableTypeEncodedValue(type_descriptor33); 
+					 encodedValue = new ImmutableTypeEncodedValue(type_descriptor33);
 					}
 					break;
 				case 12 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:283:5: array_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:283:5: array_literal
 					{
 					pushFollow(FOLLOW_array_literal_in_literal530);
 					array_literal34=array_literal();
 					state._fsp--;
 
-					 encodedValue = new ImmutableArrayEncodedValue(array_literal34); 
+					 encodedValue = new ImmutableArrayEncodedValue(array_literal34);
 					}
 					break;
 				case 13 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:284:5: subannotation
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:284:5: subannotation
 					{
 					pushFollow(FOLLOW_subannotation_in_literal538);
 					subannotation35=subannotation();
 					state._fsp--;
 
-					 encodedValue = new ImmutableAnnotationEncodedValue((subannotation35!=null?((smaliTreeWalker.subannotation_return)subannotation35).annotationType:null), (subannotation35!=null?((smaliTreeWalker.subannotation_return)subannotation35).elements:null)); 
+					 encodedValue = new ImmutableAnnotationEncodedValue((subannotation35!=null?((smaliTreeWalker.subannotation_return)subannotation35).annotationType:null), (subannotation35!=null?((smaliTreeWalker.subannotation_return)subannotation35).elements:null));
 					}
 					break;
 				case 14 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:285:5: field_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:285:5: field_literal
 					{
 					pushFollow(FOLLOW_field_literal_in_literal546);
 					field_literal36=field_literal();
 					state._fsp--;
 
-					 encodedValue = new ImmutableFieldEncodedValue(field_literal36); 
+					 encodedValue = new ImmutableFieldEncodedValue(field_literal36);
 					}
 					break;
 				case 15 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:286:5: method_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:286:5: method_literal
 					{
 					pushFollow(FOLLOW_method_literal_in_literal554);
 					method_literal37=method_literal();
 					state._fsp--;
 
-					 encodedValue = new ImmutableMethodEncodedValue(method_literal37); 
+					 encodedValue = new ImmutableMethodEncodedValue(method_literal37);
 					}
 					break;
 				case 16 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:287:5: enum_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:287:5: enum_literal
 					{
 					pushFollow(FOLLOW_enum_literal_in_literal562);
 					enum_literal38=enum_literal();
 					state._fsp--;
 
-					 encodedValue = new ImmutableEnumEncodedValue(enum_literal38); 
+					 encodedValue = new ImmutableEnumEncodedValue(enum_literal38);
 					}
 					break;
 
@@ -1422,7 +1403,7 @@
 
 
 	// $ANTLR start "fixed_64bit_literal_number"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:290:1: fixed_64bit_literal_number returns [Number value] : ( integer_literal | long_literal | short_literal | byte_literal | float_literal | double_literal | char_literal | bool_literal );
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:290:1: fixed_64bit_literal_number returns [Number value] : ( integer_literal | long_literal | short_literal | byte_literal | float_literal | double_literal | char_literal | bool_literal );
 	public final Number fixed_64bit_literal_number() throws RecognitionException {
 		Number value = null;
 
@@ -1437,7 +1418,7 @@
 		boolean bool_literal46 =false;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:291:3: ( integer_literal | long_literal | short_literal | byte_literal | float_literal | double_literal | char_literal | bool_literal )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:291:3: ( integer_literal | long_literal | short_literal | byte_literal | float_literal | double_literal | char_literal | bool_literal )
 			int alt10=8;
 			switch ( input.LA(1) ) {
 			case INTEGER_LITERAL:
@@ -1487,83 +1468,83 @@
 			}
 			switch (alt10) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:291:5: integer_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:291:5: integer_literal
 					{
 					pushFollow(FOLLOW_integer_literal_in_fixed_64bit_literal_number578);
 					integer_literal39=integer_literal();
 					state._fsp--;
 
-					 value = integer_literal39; 
+					 value = integer_literal39;
 					}
 					break;
 				case 2 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:292:5: long_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:292:5: long_literal
 					{
 					pushFollow(FOLLOW_long_literal_in_fixed_64bit_literal_number586);
 					long_literal40=long_literal();
 					state._fsp--;
 
-					 value = long_literal40; 
+					 value = long_literal40;
 					}
 					break;
 				case 3 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:293:5: short_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:293:5: short_literal
 					{
 					pushFollow(FOLLOW_short_literal_in_fixed_64bit_literal_number594);
 					short_literal41=short_literal();
 					state._fsp--;
 
-					 value = short_literal41; 
+					 value = short_literal41;
 					}
 					break;
 				case 4 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:294:5: byte_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:294:5: byte_literal
 					{
 					pushFollow(FOLLOW_byte_literal_in_fixed_64bit_literal_number602);
 					byte_literal42=byte_literal();
 					state._fsp--;
 
-					 value = byte_literal42; 
+					 value = byte_literal42;
 					}
 					break;
 				case 5 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:295:5: float_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:295:5: float_literal
 					{
 					pushFollow(FOLLOW_float_literal_in_fixed_64bit_literal_number610);
 					float_literal43=float_literal();
 					state._fsp--;
 
-					 value = Float.floatToRawIntBits(float_literal43); 
+					 value = Float.floatToRawIntBits(float_literal43);
 					}
 					break;
 				case 6 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:296:5: double_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:296:5: double_literal
 					{
 					pushFollow(FOLLOW_double_literal_in_fixed_64bit_literal_number618);
 					double_literal44=double_literal();
 					state._fsp--;
 
-					 value = Double.doubleToRawLongBits(double_literal44); 
+					 value = Double.doubleToRawLongBits(double_literal44);
 					}
 					break;
 				case 7 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:297:5: char_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:297:5: char_literal
 					{
 					pushFollow(FOLLOW_char_literal_in_fixed_64bit_literal_number626);
 					char_literal45=char_literal();
 					state._fsp--;
 
-					 value = (int)char_literal45; 
+					 value = (int)char_literal45;
 					}
 					break;
 				case 8 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:298:5: bool_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:298:5: bool_literal
 					{
 					pushFollow(FOLLOW_bool_literal_in_fixed_64bit_literal_number634);
 					bool_literal46=bool_literal();
 					state._fsp--;
 
-					 value = bool_literal46?1:0; 
+					 value = bool_literal46?1:0;
 					}
 					break;
 
@@ -1583,7 +1564,7 @@
 
 
 	// $ANTLR start "fixed_64bit_literal"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:300:1: fixed_64bit_literal returns [long value] : ( integer_literal | long_literal | short_literal | byte_literal | float_literal | double_literal | char_literal | bool_literal );
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:300:1: fixed_64bit_literal returns [long value] : ( integer_literal | long_literal | short_literal | byte_literal | float_literal | double_literal | char_literal | bool_literal );
 	public final long fixed_64bit_literal() throws RecognitionException {
 		long value = 0;
 
@@ -1598,7 +1579,7 @@
 		boolean bool_literal54 =false;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:301:3: ( integer_literal | long_literal | short_literal | byte_literal | float_literal | double_literal | char_literal | bool_literal )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:301:3: ( integer_literal | long_literal | short_literal | byte_literal | float_literal | double_literal | char_literal | bool_literal )
 			int alt11=8;
 			switch ( input.LA(1) ) {
 			case INTEGER_LITERAL:
@@ -1648,83 +1629,83 @@
 			}
 			switch (alt11) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:301:5: integer_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:301:5: integer_literal
 					{
 					pushFollow(FOLLOW_integer_literal_in_fixed_64bit_literal649);
 					integer_literal47=integer_literal();
 					state._fsp--;
 
-					 value = integer_literal47; 
+					 value = integer_literal47;
 					}
 					break;
 				case 2 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:302:5: long_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:302:5: long_literal
 					{
 					pushFollow(FOLLOW_long_literal_in_fixed_64bit_literal657);
 					long_literal48=long_literal();
 					state._fsp--;
 
-					 value = long_literal48; 
+					 value = long_literal48;
 					}
 					break;
 				case 3 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:303:5: short_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:303:5: short_literal
 					{
 					pushFollow(FOLLOW_short_literal_in_fixed_64bit_literal665);
 					short_literal49=short_literal();
 					state._fsp--;
 
-					 value = short_literal49; 
+					 value = short_literal49;
 					}
 					break;
 				case 4 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:304:5: byte_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:304:5: byte_literal
 					{
 					pushFollow(FOLLOW_byte_literal_in_fixed_64bit_literal673);
 					byte_literal50=byte_literal();
 					state._fsp--;
 
-					 value = byte_literal50; 
+					 value = byte_literal50;
 					}
 					break;
 				case 5 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:305:5: float_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:305:5: float_literal
 					{
 					pushFollow(FOLLOW_float_literal_in_fixed_64bit_literal681);
 					float_literal51=float_literal();
 					state._fsp--;
 
-					 value = Float.floatToRawIntBits(float_literal51); 
+					 value = Float.floatToRawIntBits(float_literal51);
 					}
 					break;
 				case 6 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:306:5: double_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:306:5: double_literal
 					{
 					pushFollow(FOLLOW_double_literal_in_fixed_64bit_literal689);
 					double_literal52=double_literal();
 					state._fsp--;
 
-					 value = Double.doubleToRawLongBits(double_literal52); 
+					 value = Double.doubleToRawLongBits(double_literal52);
 					}
 					break;
 				case 7 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:307:5: char_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:307:5: char_literal
 					{
 					pushFollow(FOLLOW_char_literal_in_fixed_64bit_literal697);
 					char_literal53=char_literal();
 					state._fsp--;
 
-					 value = char_literal53; 
+					 value = char_literal53;
 					}
 					break;
 				case 8 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:308:5: bool_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:308:5: bool_literal
 					{
 					pushFollow(FOLLOW_bool_literal_in_fixed_64bit_literal705);
 					bool_literal54=bool_literal();
 					state._fsp--;
 
-					 value = bool_literal54?1:0; 
+					 value = bool_literal54?1:0;
 					}
 					break;
 
@@ -1744,7 +1725,7 @@
 
 
 	// $ANTLR start "fixed_32bit_literal"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:312:1: fixed_32bit_literal returns [int value] : ( integer_literal | long_literal | short_literal | byte_literal | float_literal | char_literal | bool_literal );
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:312:1: fixed_32bit_literal returns [int value] : ( integer_literal | long_literal | short_literal | byte_literal | float_literal | char_literal | bool_literal );
 	public final int fixed_32bit_literal() throws RecognitionException {
 		int value = 0;
 
@@ -1758,7 +1739,7 @@
 		boolean bool_literal61 =false;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:313:3: ( integer_literal | long_literal | short_literal | byte_literal | float_literal | char_literal | bool_literal )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:313:3: ( integer_literal | long_literal | short_literal | byte_literal | float_literal | char_literal | bool_literal )
 			int alt12=7;
 			switch ( input.LA(1) ) {
 			case INTEGER_LITERAL:
@@ -1803,73 +1784,73 @@
 			}
 			switch (alt12) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:313:5: integer_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:313:5: integer_literal
 					{
 					pushFollow(FOLLOW_integer_literal_in_fixed_32bit_literal722);
 					integer_literal55=integer_literal();
 					state._fsp--;
 
-					 value = integer_literal55; 
+					 value = integer_literal55;
 					}
 					break;
 				case 2 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:314:5: long_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:314:5: long_literal
 					{
 					pushFollow(FOLLOW_long_literal_in_fixed_32bit_literal730);
 					long_literal56=long_literal();
 					state._fsp--;
 
-					 LiteralTools.checkInt(long_literal56); value = (int)long_literal56; 
+					 LiteralTools.checkInt(long_literal56); value = (int)long_literal56;
 					}
 					break;
 				case 3 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:315:5: short_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:315:5: short_literal
 					{
 					pushFollow(FOLLOW_short_literal_in_fixed_32bit_literal738);
 					short_literal57=short_literal();
 					state._fsp--;
 
-					 value = short_literal57; 
+					 value = short_literal57;
 					}
 					break;
 				case 4 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:316:5: byte_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:316:5: byte_literal
 					{
 					pushFollow(FOLLOW_byte_literal_in_fixed_32bit_literal746);
 					byte_literal58=byte_literal();
 					state._fsp--;
 
-					 value = byte_literal58; 
+					 value = byte_literal58;
 					}
 					break;
 				case 5 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:317:5: float_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:317:5: float_literal
 					{
 					pushFollow(FOLLOW_float_literal_in_fixed_32bit_literal754);
 					float_literal59=float_literal();
 					state._fsp--;
 
-					 value = Float.floatToRawIntBits(float_literal59); 
+					 value = Float.floatToRawIntBits(float_literal59);
 					}
 					break;
 				case 6 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:318:5: char_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:318:5: char_literal
 					{
 					pushFollow(FOLLOW_char_literal_in_fixed_32bit_literal762);
 					char_literal60=char_literal();
 					state._fsp--;
 
-					 value = char_literal60; 
+					 value = char_literal60;
 					}
 					break;
 				case 7 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:319:5: bool_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:319:5: bool_literal
 					{
 					pushFollow(FOLLOW_bool_literal_in_fixed_32bit_literal770);
 					bool_literal61=bool_literal();
 					state._fsp--;
 
-					 value = bool_literal61?1:0; 
+					 value = bool_literal61?1:0;
 					}
 					break;
 
@@ -1889,7 +1870,7 @@
 
 
 	// $ANTLR start "array_elements"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:321:1: array_elements returns [List<Number> elements] : ^( I_ARRAY_ELEMENTS ( fixed_64bit_literal_number )* ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:321:1: array_elements returns [List<Number> elements] : ^( I_ARRAY_ELEMENTS ( fixed_64bit_literal_number )* ) ;
 	public final List<Number> array_elements() throws RecognitionException {
 		List<Number> elements = null;
 
@@ -1897,14 +1878,14 @@
 		Number fixed_64bit_literal_number62 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:322:3: ( ^( I_ARRAY_ELEMENTS ( fixed_64bit_literal_number )* ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:322:5: ^( I_ARRAY_ELEMENTS ( fixed_64bit_literal_number )* )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:322:3: ( ^( I_ARRAY_ELEMENTS ( fixed_64bit_literal_number )* ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:322:5: ^( I_ARRAY_ELEMENTS ( fixed_64bit_literal_number )* )
 			{
 			elements = Lists.newArrayList();
-			match(input,I_ARRAY_ELEMENTS,FOLLOW_I_ARRAY_ELEMENTS_in_array_elements792); 
+			match(input,I_ARRAY_ELEMENTS,FOLLOW_I_ARRAY_ELEMENTS_in_array_elements792);
 			if ( input.LA(1)==Token.DOWN ) {
-				match(input, Token.DOWN, null); 
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:324:7: ( fixed_64bit_literal_number )*
+				match(input, Token.DOWN, null);
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:324:7: ( fixed_64bit_literal_number )*
 				loop13:
 				while (true) {
 					int alt13=2;
@@ -1915,7 +1896,7 @@
 
 					switch (alt13) {
 					case 1 :
-						// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:324:8: fixed_64bit_literal_number
+						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:324:8: fixed_64bit_literal_number
 						{
 						pushFollow(FOLLOW_fixed_64bit_literal_number_in_array_elements801);
 						fixed_64bit_literal_number62=fixed_64bit_literal_number();
@@ -1923,7 +1904,7 @@
 
 
 						        elements.add(fixed_64bit_literal_number62);
-						      
+						
 						}
 						break;
 
@@ -1932,7 +1913,7 @@
 					}
 				}
 
-				match(input, Token.UP, null); 
+				match(input, Token.UP, null);
 			}
 
 			}
@@ -1952,7 +1933,7 @@
 
 
 	// $ANTLR start "packed_switch_elements"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:329:1: packed_switch_elements returns [List<Label> elements] : ^( I_PACKED_SWITCH_ELEMENTS ( label_ref )* ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:329:1: packed_switch_elements returns [List<Label> elements] : ^( I_PACKED_SWITCH_ELEMENTS ( label_ref )* ) ;
 	public final List<Label> packed_switch_elements() throws RecognitionException {
 		List<Label> elements = null;
 
@@ -1961,13 +1942,13 @@
 
 		elements = Lists.newArrayList();
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:331:3: ( ^( I_PACKED_SWITCH_ELEMENTS ( label_ref )* ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:332:5: ^( I_PACKED_SWITCH_ELEMENTS ( label_ref )* )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:331:3: ( ^( I_PACKED_SWITCH_ELEMENTS ( label_ref )* ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:332:5: ^( I_PACKED_SWITCH_ELEMENTS ( label_ref )* )
 			{
-			match(input,I_PACKED_SWITCH_ELEMENTS,FOLLOW_I_PACKED_SWITCH_ELEMENTS_in_packed_switch_elements837); 
+			match(input,I_PACKED_SWITCH_ELEMENTS,FOLLOW_I_PACKED_SWITCH_ELEMENTS_in_packed_switch_elements837);
 			if ( input.LA(1)==Token.DOWN ) {
-				match(input, Token.DOWN, null); 
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:333:7: ( label_ref )*
+				match(input, Token.DOWN, null);
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:333:7: ( label_ref )*
 				loop14:
 				while (true) {
 					int alt14=2;
@@ -1978,13 +1959,13 @@
 
 					switch (alt14) {
 					case 1 :
-						// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:333:8: label_ref
+						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:333:8: label_ref
 						{
 						pushFollow(FOLLOW_label_ref_in_packed_switch_elements846);
 						label_ref63=label_ref();
 						state._fsp--;
 
-						 elements.add(label_ref63); 
+						 elements.add(label_ref63);
 						}
 						break;
 
@@ -1993,7 +1974,7 @@
 					}
 				}
 
-				match(input, Token.UP, null); 
+				match(input, Token.UP, null);
 			}
 
 			}
@@ -2013,7 +1994,7 @@
 
 
 	// $ANTLR start "sparse_switch_elements"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:336:1: sparse_switch_elements returns [List<SwitchLabelElement> elements] : ^( I_SPARSE_SWITCH_ELEMENTS ( fixed_32bit_literal label_ref )* ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:336:1: sparse_switch_elements returns [List<SwitchLabelElement> elements] : ^( I_SPARSE_SWITCH_ELEMENTS ( fixed_32bit_literal label_ref )* ) ;
 	public final List<SwitchLabelElement> sparse_switch_elements() throws RecognitionException {
 		List<SwitchLabelElement> elements = null;
 
@@ -2023,13 +2004,13 @@
 
 		elements = Lists.newArrayList();
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:338:3: ( ^( I_SPARSE_SWITCH_ELEMENTS ( fixed_32bit_literal label_ref )* ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:339:5: ^( I_SPARSE_SWITCH_ELEMENTS ( fixed_32bit_literal label_ref )* )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:338:3: ( ^( I_SPARSE_SWITCH_ELEMENTS ( fixed_32bit_literal label_ref )* ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:339:5: ^( I_SPARSE_SWITCH_ELEMENTS ( fixed_32bit_literal label_ref )* )
 			{
-			match(input,I_SPARSE_SWITCH_ELEMENTS,FOLLOW_I_SPARSE_SWITCH_ELEMENTS_in_sparse_switch_elements881); 
+			match(input,I_SPARSE_SWITCH_ELEMENTS,FOLLOW_I_SPARSE_SWITCH_ELEMENTS_in_sparse_switch_elements881);
 			if ( input.LA(1)==Token.DOWN ) {
-				match(input, Token.DOWN, null); 
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:340:8: ( fixed_32bit_literal label_ref )*
+				match(input, Token.DOWN, null);
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:340:8: ( fixed_32bit_literal label_ref )*
 				loop15:
 				while (true) {
 					int alt15=2;
@@ -2040,7 +2021,7 @@
 
 					switch (alt15) {
 					case 1 :
-						// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:340:9: fixed_32bit_literal label_ref
+						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:340:9: fixed_32bit_literal label_ref
 						{
 						pushFollow(FOLLOW_fixed_32bit_literal_in_sparse_switch_elements891);
 						fixed_32bit_literal64=fixed_32bit_literal();
@@ -2052,7 +2033,7 @@
 
 
 						         elements.add(new SwitchLabelElement(fixed_32bit_literal64, label_ref65));
-						       
+						
 						}
 						break;
 
@@ -2061,7 +2042,7 @@
 					}
 				}
 
-				match(input, Token.UP, null); 
+				match(input, Token.UP, null);
 			}
 
 			}
@@ -2089,7 +2070,7 @@
 
 
 	// $ANTLR start "method"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:346:1: method returns [BuilderMethod ret] : ^( I_METHOD method_name_and_prototype access_list ( ( registers_directive ) |) ordered_method_items catches parameters[$method_name_and_prototype.parameters] annotations ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:346:1: method returns [BuilderMethod ret] : ^( I_METHOD method_name_and_prototype access_list ( ( registers_directive ) |) ordered_method_items catches parameters[$method_name_and_prototype.parameters] annotations ) ;
 	public final BuilderMethod method() throws RecognitionException {
 		method_stack.push(new method_scope());
 		BuilderMethod ret = null;
@@ -2107,13 +2088,13 @@
 		    method_stack.peek().methodParameterRegisters = 0;
 		    int accessFlags = 0;
 		    method_stack.peek().isStatic = false;
-		  
+		
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:361:3: ( ^( I_METHOD method_name_and_prototype access_list ( ( registers_directive ) |) ordered_method_items catches parameters[$method_name_and_prototype.parameters] annotations ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:362:5: ^( I_METHOD method_name_and_prototype access_list ( ( registers_directive ) |) ordered_method_items catches parameters[$method_name_and_prototype.parameters] annotations )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:361:3: ( ^( I_METHOD method_name_and_prototype access_list ( ( registers_directive ) |) ordered_method_items catches parameters[$method_name_and_prototype.parameters] annotations ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:362:5: ^( I_METHOD method_name_and_prototype access_list ( ( registers_directive ) |) ordered_method_items catches parameters[$method_name_and_prototype.parameters] annotations )
 			{
-			I_METHOD70=(CommonTree)match(input,I_METHOD,FOLLOW_I_METHOD_in_method945); 
-			match(input, Token.DOWN, null); 
+			I_METHOD70=(CommonTree)match(input,I_METHOD,FOLLOW_I_METHOD_in_method945);
+			match(input, Token.DOWN, null);
 			pushFollow(FOLLOW_method_name_and_prototype_in_method953);
 			method_name_and_prototype67=method_name_and_prototype();
 			state._fsp--;
@@ -2127,8 +2108,8 @@
 			        method_stack.peek().isStatic = AccessFlags.STATIC.isSet(accessFlags);
 			        method_stack.peek().methodParameterRegisters =
 			                MethodUtil.getParameterRegisterCount((method_name_and_prototype67!=null?((smaliTreeWalker.method_name_and_prototype_return)method_name_and_prototype67).parameters:null), method_stack.peek().isStatic);
-			      
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:371:7: ( ( registers_directive ) |)
+			
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:371:7: ( ( registers_directive ) |)
 			int alt16=2;
 			int LA16_0 = input.LA(1);
 			if ( (LA16_0==I_LOCALS||LA16_0==I_REGISTERS) ) {
@@ -2146,10 +2127,10 @@
 
 			switch (alt16) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:372:9: ( registers_directive )
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:372:9: ( registers_directive )
 					{
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:372:9: ( registers_directive )
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:372:10: registers_directive
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:372:9: ( registers_directive )
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:372:10: registers_directive
 					{
 					pushFollow(FOLLOW_registers_directive_in_method988);
 					registers_directive68=registers_directive();
@@ -2164,17 +2145,17 @@
 
 					          method_stack.peek().methodBuilder = new MethodImplementationBuilder(method_stack.peek().totalMethodRegisters);
 
-					        
+					
 					}
 
 					}
 					break;
 				case 2 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:385:9: 
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:385:9:
 					{
 
 					          method_stack.peek().methodBuilder = new MethodImplementationBuilder(0);
-					        
+					
 					}
 					break;
 
@@ -2196,7 +2177,7 @@
 			annotations71=annotations();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 
 			    MethodImplementation methodImplementation = null;
@@ -2269,7 +2250,7 @@
 			            accessFlags,
 			            annotations71,
 			            methodImplementation);
-			  
+			
 			}
 
 		}
@@ -2293,38 +2274,38 @@
 
 
 	// $ANTLR start "method_prototype"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:467:1: method_prototype returns [List<String> parameters, String returnType] : ^( I_METHOD_PROTOTYPE ^( I_METHOD_RETURN_TYPE type_descriptor ) field_type_list ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:467:1: method_prototype returns [List<String> parameters, String returnType] : ^( I_METHOD_PROTOTYPE ^( I_METHOD_RETURN_TYPE type_descriptor ) method_type_list ) ;
 	public final smaliTreeWalker.method_prototype_return method_prototype() throws RecognitionException {
 		smaliTreeWalker.method_prototype_return retval = new smaliTreeWalker.method_prototype_return();
 		retval.start = input.LT(1);
 
 		String type_descriptor72 =null;
-		List<String> field_type_list73 =null;
+		List<String> method_type_list73 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:468:3: ( ^( I_METHOD_PROTOTYPE ^( I_METHOD_RETURN_TYPE type_descriptor ) field_type_list ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:468:5: ^( I_METHOD_PROTOTYPE ^( I_METHOD_RETURN_TYPE type_descriptor ) field_type_list )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:468:3: ( ^( I_METHOD_PROTOTYPE ^( I_METHOD_RETURN_TYPE type_descriptor ) method_type_list ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:468:5: ^( I_METHOD_PROTOTYPE ^( I_METHOD_RETURN_TYPE type_descriptor ) method_type_list )
 			{
-			match(input,I_METHOD_PROTOTYPE,FOLLOW_I_METHOD_PROTOTYPE_in_method_prototype1094); 
-			match(input, Token.DOWN, null); 
-			match(input,I_METHOD_RETURN_TYPE,FOLLOW_I_METHOD_RETURN_TYPE_in_method_prototype1097); 
-			match(input, Token.DOWN, null); 
+			match(input,I_METHOD_PROTOTYPE,FOLLOW_I_METHOD_PROTOTYPE_in_method_prototype1094);
+			match(input, Token.DOWN, null);
+			match(input,I_METHOD_RETURN_TYPE,FOLLOW_I_METHOD_RETURN_TYPE_in_method_prototype1097);
+			match(input, Token.DOWN, null);
 			pushFollow(FOLLOW_type_descriptor_in_method_prototype1099);
 			type_descriptor72=type_descriptor();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
-			pushFollow(FOLLOW_field_type_list_in_method_prototype1102);
-			field_type_list73=field_type_list();
+			pushFollow(FOLLOW_method_type_list_in_method_prototype1102);
+			method_type_list73=method_type_list();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 
 			    retval.returnType = type_descriptor72;
-			    retval.parameters = field_type_list73;
-			  
+			    retval.parameters = method_type_list73;
+			
 			}
 
 		}
@@ -2348,7 +2329,7 @@
 
 
 	// $ANTLR start "method_name_and_prototype"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:474:1: method_name_and_prototype returns [String name, List<SmaliMethodParameter> parameters, String returnType] : SIMPLE_NAME method_prototype ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:474:1: method_name_and_prototype returns [String name, List<SmaliMethodParameter> parameters, String returnType] : SIMPLE_NAME method_prototype ;
 	public final smaliTreeWalker.method_name_and_prototype_return method_name_and_prototype() throws RecognitionException {
 		smaliTreeWalker.method_name_and_prototype_return retval = new smaliTreeWalker.method_name_and_prototype_return();
 		retval.start = input.LT(1);
@@ -2357,10 +2338,10 @@
 		TreeRuleReturnScope method_prototype75 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:475:3: ( SIMPLE_NAME method_prototype )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:475:5: SIMPLE_NAME method_prototype
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:475:3: ( SIMPLE_NAME method_prototype )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:475:5: SIMPLE_NAME method_prototype
 			{
-			SIMPLE_NAME74=(CommonTree)match(input,SIMPLE_NAME,FOLLOW_SIMPLE_NAME_in_method_name_and_prototype1120); 
+			SIMPLE_NAME74=(CommonTree)match(input,SIMPLE_NAME,FOLLOW_SIMPLE_NAME_in_method_name_and_prototype1120);
 			pushFollow(FOLLOW_method_prototype_in_method_name_and_prototype1122);
 			method_prototype75=method_prototype();
 			state._fsp--;
@@ -2378,7 +2359,7 @@
 			        }
 			    }
 			    retval.returnType = (method_prototype75!=null?((smaliTreeWalker.method_prototype_return)method_prototype75).returnType:null);
-			  
+			
 			}
 
 		}
@@ -2395,9 +2376,9 @@
 
 
 
-	// $ANTLR start "field_type_list"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:491:1: field_type_list returns [List<String> types] : ( nonvoid_type_descriptor )* ;
-	public final List<String> field_type_list() throws RecognitionException {
+	// $ANTLR start "method_type_list"
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:491:1: method_type_list returns [List<String> types] : ( nonvoid_type_descriptor )* ;
+	public final List<String> method_type_list() throws RecognitionException {
 		List<String> types = null;
 
 
@@ -2405,12 +2386,12 @@
 
 
 		    types = Lists.newArrayList();
-		  
+		
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:496:3: ( ( nonvoid_type_descriptor )* )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:496:5: ( nonvoid_type_descriptor )*
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:496:3: ( ( nonvoid_type_descriptor )* )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:496:5: ( nonvoid_type_descriptor )*
 			{
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:496:5: ( nonvoid_type_descriptor )*
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:496:5: ( nonvoid_type_descriptor )*
 			loop17:
 			while (true) {
 				int alt17=2;
@@ -2421,15 +2402,15 @@
 
 				switch (alt17) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:497:7: nonvoid_type_descriptor
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:497:7: nonvoid_type_descriptor
 					{
-					pushFollow(FOLLOW_nonvoid_type_descriptor_in_field_type_list1156);
+					pushFollow(FOLLOW_nonvoid_type_descriptor_in_method_type_list1156);
 					nonvoid_type_descriptor76=nonvoid_type_descriptor();
 					state._fsp--;
 
 
 					        types.add((nonvoid_type_descriptor76!=null?((smaliTreeWalker.nonvoid_type_descriptor_return)nonvoid_type_descriptor76).type:null));
-					      
+					
 					}
 					break;
 
@@ -2450,13 +2431,13 @@
 		}
 		return types;
 	}
-	// $ANTLR end "field_type_list"
+	// $ANTLR end "method_type_list"
 
 
 
-	// $ANTLR start "fully_qualified_method"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:504:1: fully_qualified_method returns [ImmutableMethodReference methodReference] : reference_type_descriptor SIMPLE_NAME method_prototype ;
-	public final ImmutableMethodReference fully_qualified_method() throws RecognitionException {
+	// $ANTLR start "method_reference"
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:504:1: method_reference returns [ImmutableMethodReference methodReference] : ( reference_type_descriptor )? SIMPLE_NAME method_prototype ;
+	public final ImmutableMethodReference method_reference() throws RecognitionException {
 		ImmutableMethodReference methodReference = null;
 
 
@@ -2465,22 +2446,43 @@
 		TreeRuleReturnScope method_prototype79 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:505:3: ( reference_type_descriptor SIMPLE_NAME method_prototype )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:505:5: reference_type_descriptor SIMPLE_NAME method_prototype
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:505:3: ( ( reference_type_descriptor )? SIMPLE_NAME method_prototype )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:505:5: ( reference_type_descriptor )? SIMPLE_NAME method_prototype
 			{
-			pushFollow(FOLLOW_reference_type_descriptor_in_fully_qualified_method1185);
-			reference_type_descriptor77=reference_type_descriptor();
-			state._fsp--;
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:505:5: ( reference_type_descriptor )?
+			int alt18=2;
+			int LA18_0 = input.LA(1);
+			if ( (LA18_0==ARRAY_DESCRIPTOR||LA18_0==CLASS_DESCRIPTOR) ) {
+				alt18=1;
+			}
+			switch (alt18) {
+				case 1 :
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:505:5: reference_type_descriptor
+					{
+					pushFollow(FOLLOW_reference_type_descriptor_in_method_reference1185);
+					reference_type_descriptor77=reference_type_descriptor();
+					state._fsp--;
 
-			SIMPLE_NAME78=(CommonTree)match(input,SIMPLE_NAME,FOLLOW_SIMPLE_NAME_in_fully_qualified_method1187); 
-			pushFollow(FOLLOW_method_prototype_in_fully_qualified_method1189);
+					}
+					break;
+
+			}
+
+			SIMPLE_NAME78=(CommonTree)match(input,SIMPLE_NAME,FOLLOW_SIMPLE_NAME_in_method_reference1188);
+			pushFollow(FOLLOW_method_prototype_in_method_reference1190);
 			method_prototype79=method_prototype();
 			state._fsp--;
 
 
-			    methodReference = new ImmutableMethodReference((reference_type_descriptor77!=null?((smaliTreeWalker.reference_type_descriptor_return)reference_type_descriptor77).type:null), (SIMPLE_NAME78!=null?SIMPLE_NAME78.getText():null),
+			    String type;
+			    if ((reference_type_descriptor77!=null?((smaliTreeWalker.reference_type_descriptor_return)reference_type_descriptor77).type:null) == null) {
+			        type = classType;
+			    } else {
+			        type = (reference_type_descriptor77!=null?((smaliTreeWalker.reference_type_descriptor_return)reference_type_descriptor77).type:null);
+			    }
+			    methodReference = new ImmutableMethodReference(type, (SIMPLE_NAME78!=null?SIMPLE_NAME78.getText():null),
 			             (method_prototype79!=null?((smaliTreeWalker.method_prototype_return)method_prototype79).parameters:null), (method_prototype79!=null?((smaliTreeWalker.method_prototype_return)method_prototype79).returnType:null));
-			  
+			
 			}
 
 		}
@@ -2493,13 +2495,13 @@
 		}
 		return methodReference;
 	}
-	// $ANTLR end "fully_qualified_method"
+	// $ANTLR end "method_reference"
 
 
 
-	// $ANTLR start "fully_qualified_field"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:511:1: fully_qualified_field returns [ImmutableFieldReference fieldReference] : reference_type_descriptor SIMPLE_NAME nonvoid_type_descriptor ;
-	public final ImmutableFieldReference fully_qualified_field() throws RecognitionException {
+	// $ANTLR start "field_reference"
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:517:1: field_reference returns [ImmutableFieldReference fieldReference] : ( reference_type_descriptor )? SIMPLE_NAME nonvoid_type_descriptor ;
+	public final ImmutableFieldReference field_reference() throws RecognitionException {
 		ImmutableFieldReference fieldReference = null;
 
 
@@ -2508,22 +2510,43 @@
 		TreeRuleReturnScope nonvoid_type_descriptor82 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:512:3: ( reference_type_descriptor SIMPLE_NAME nonvoid_type_descriptor )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:512:5: reference_type_descriptor SIMPLE_NAME nonvoid_type_descriptor
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:518:3: ( ( reference_type_descriptor )? SIMPLE_NAME nonvoid_type_descriptor )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:518:5: ( reference_type_descriptor )? SIMPLE_NAME nonvoid_type_descriptor
 			{
-			pushFollow(FOLLOW_reference_type_descriptor_in_fully_qualified_field1206);
-			reference_type_descriptor80=reference_type_descriptor();
-			state._fsp--;
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:518:5: ( reference_type_descriptor )?
+			int alt19=2;
+			int LA19_0 = input.LA(1);
+			if ( (LA19_0==ARRAY_DESCRIPTOR||LA19_0==CLASS_DESCRIPTOR) ) {
+				alt19=1;
+			}
+			switch (alt19) {
+				case 1 :
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:518:5: reference_type_descriptor
+					{
+					pushFollow(FOLLOW_reference_type_descriptor_in_field_reference1207);
+					reference_type_descriptor80=reference_type_descriptor();
+					state._fsp--;
 
-			SIMPLE_NAME81=(CommonTree)match(input,SIMPLE_NAME,FOLLOW_SIMPLE_NAME_in_fully_qualified_field1208); 
-			pushFollow(FOLLOW_nonvoid_type_descriptor_in_fully_qualified_field1210);
+					}
+					break;
+
+			}
+
+			SIMPLE_NAME81=(CommonTree)match(input,SIMPLE_NAME,FOLLOW_SIMPLE_NAME_in_field_reference1210);
+			pushFollow(FOLLOW_nonvoid_type_descriptor_in_field_reference1212);
 			nonvoid_type_descriptor82=nonvoid_type_descriptor();
 			state._fsp--;
 
 
-			    fieldReference = new ImmutableFieldReference((reference_type_descriptor80!=null?((smaliTreeWalker.reference_type_descriptor_return)reference_type_descriptor80).type:null), (SIMPLE_NAME81!=null?SIMPLE_NAME81.getText():null),
+			    String type;
+			    if ((reference_type_descriptor80!=null?((smaliTreeWalker.reference_type_descriptor_return)reference_type_descriptor80).type:null) == null) {
+			        type = classType;
+			    } else {
+			        type = (reference_type_descriptor80!=null?((smaliTreeWalker.reference_type_descriptor_return)reference_type_descriptor80).type:null);
+			    }
+			    fieldReference = new ImmutableFieldReference(type, (SIMPLE_NAME81!=null?SIMPLE_NAME81.getText():null),
 			            (nonvoid_type_descriptor82!=null?((smaliTreeWalker.nonvoid_type_descriptor_return)nonvoid_type_descriptor82).type:null));
-			  
+			
 			}
 
 		}
@@ -2536,7 +2559,7 @@
 		}
 		return fieldReference;
 	}
-	// $ANTLR end "fully_qualified_field"
+	// $ANTLR end "field_reference"
 
 
 	public static class registers_directive_return extends TreeRuleReturnScope {
@@ -2546,7 +2569,7 @@
 
 
 	// $ANTLR start "registers_directive"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:518:1: registers_directive returns [boolean isLocalsDirective, int registers] : ^( ( I_REGISTERS | I_LOCALS ) short_integral_literal ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:530:1: registers_directive returns [boolean isLocalsDirective, int registers] : ^( ( I_REGISTERS | I_LOCALS ) short_integral_literal ) ;
 	public final smaliTreeWalker.registers_directive_return registers_directive() throws RecognitionException {
 		smaliTreeWalker.registers_directive_return retval = new smaliTreeWalker.registers_directive_return();
 		retval.start = input.LT(1);
@@ -2554,51 +2577,51 @@
 		short short_integral_literal83 =0;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:519:3: ( ^( ( I_REGISTERS | I_LOCALS ) short_integral_literal ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:519:5: ^( ( I_REGISTERS | I_LOCALS ) short_integral_literal )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:531:3: ( ^( ( I_REGISTERS | I_LOCALS ) short_integral_literal ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:531:5: ^( ( I_REGISTERS | I_LOCALS ) short_integral_literal )
 			{
 			retval.registers = 0;
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:520:7: ( I_REGISTERS | I_LOCALS )
-			int alt18=2;
-			int LA18_0 = input.LA(1);
-			if ( (LA18_0==I_REGISTERS) ) {
-				alt18=1;
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:532:7: ( I_REGISTERS | I_LOCALS )
+			int alt20=2;
+			int LA20_0 = input.LA(1);
+			if ( (LA20_0==I_REGISTERS) ) {
+				alt20=1;
 			}
-			else if ( (LA18_0==I_LOCALS) ) {
-				alt18=2;
+			else if ( (LA20_0==I_LOCALS) ) {
+				alt20=2;
 			}
 
 			else {
 				NoViableAltException nvae =
-					new NoViableAltException("", 18, 0, input);
+					new NoViableAltException("", 20, 0, input);
 				throw nvae;
 			}
 
-			switch (alt18) {
+			switch (alt20) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:520:9: I_REGISTERS
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:532:9: I_REGISTERS
 					{
-					match(input,I_REGISTERS,FOLLOW_I_REGISTERS_in_registers_directive1236); 
+					match(input,I_REGISTERS,FOLLOW_I_REGISTERS_in_registers_directive1238);
 					retval.isLocalsDirective = false;
 					}
 					break;
 				case 2 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:521:9: I_LOCALS
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:533:9: I_LOCALS
 					{
-					match(input,I_LOCALS,FOLLOW_I_LOCALS_in_registers_directive1248); 
+					match(input,I_LOCALS,FOLLOW_I_LOCALS_in_registers_directive1250);
 					retval.isLocalsDirective = true;
 					}
 					break;
 
 			}
 
-			match(input, Token.DOWN, null); 
-			pushFollow(FOLLOW_short_integral_literal_in_registers_directive1266);
+			match(input, Token.DOWN, null);
+			pushFollow(FOLLOW_short_integral_literal_in_registers_directive1268);
 			short_integral_literal83=short_integral_literal();
 			state._fsp--;
 
 			retval.registers = short_integral_literal83;
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 			}
 
@@ -2617,22 +2640,22 @@
 
 
 	// $ANTLR start "label_def"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:526:1: label_def : ^( I_LABEL SIMPLE_NAME ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:538:1: label_def : ^( I_LABEL SIMPLE_NAME ) ;
 	public final void label_def() throws RecognitionException {
 		CommonTree SIMPLE_NAME84=null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:527:3: ( ^( I_LABEL SIMPLE_NAME ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:527:5: ^( I_LABEL SIMPLE_NAME )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:539:3: ( ^( I_LABEL SIMPLE_NAME ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:539:5: ^( I_LABEL SIMPLE_NAME )
 			{
-			match(input,I_LABEL,FOLLOW_I_LABEL_in_label_def1286); 
-			match(input, Token.DOWN, null); 
-			SIMPLE_NAME84=(CommonTree)match(input,SIMPLE_NAME,FOLLOW_SIMPLE_NAME_in_label_def1288); 
-			match(input, Token.UP, null); 
+			match(input,I_LABEL,FOLLOW_I_LABEL_in_label_def1288);
+			match(input, Token.DOWN, null);
+			SIMPLE_NAME84=(CommonTree)match(input,SIMPLE_NAME,FOLLOW_SIMPLE_NAME_in_label_def1290);
+			match(input, Token.UP, null);
 
 
 			    method_stack.peek().methodBuilder.addLabel((SIMPLE_NAME84!=null?SIMPLE_NAME84.getText():null));
-			  
+			
 			}
 
 		}
@@ -2649,33 +2672,33 @@
 
 
 	// $ANTLR start "catches"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:532:1: catches returns [List<BuilderTryBlock> tryBlocks] : ^( I_CATCHES ( catch_directive )* ( catchall_directive )* ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:544:1: catches returns [List<BuilderTryBlock> tryBlocks] : ^( I_CATCHES ( catch_directive )* ( catchall_directive )* ) ;
 	public final List<BuilderTryBlock> catches() throws RecognitionException {
 		List<BuilderTryBlock> tryBlocks = null;
 
 
 		tryBlocks = Lists.newArrayList();
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:534:3: ( ^( I_CATCHES ( catch_directive )* ( catchall_directive )* ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:534:5: ^( I_CATCHES ( catch_directive )* ( catchall_directive )* )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:546:3: ( ^( I_CATCHES ( catch_directive )* ( catchall_directive )* ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:546:5: ^( I_CATCHES ( catch_directive )* ( catchall_directive )* )
 			{
-			match(input,I_CATCHES,FOLLOW_I_CATCHES_in_catches1314); 
+			match(input,I_CATCHES,FOLLOW_I_CATCHES_in_catches1316);
 			if ( input.LA(1)==Token.DOWN ) {
-				match(input, Token.DOWN, null); 
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:534:17: ( catch_directive )*
-				loop19:
+				match(input, Token.DOWN, null);
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:546:17: ( catch_directive )*
+				loop21:
 				while (true) {
-					int alt19=2;
-					int LA19_0 = input.LA(1);
-					if ( (LA19_0==I_CATCH) ) {
-						alt19=1;
+					int alt21=2;
+					int LA21_0 = input.LA(1);
+					if ( (LA21_0==I_CATCH) ) {
+						alt21=1;
 					}
 
-					switch (alt19) {
+					switch (alt21) {
 					case 1 :
-						// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:534:17: catch_directive
+						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:546:17: catch_directive
 						{
-						pushFollow(FOLLOW_catch_directive_in_catches1316);
+						pushFollow(FOLLOW_catch_directive_in_catches1318);
 						catch_directive();
 						state._fsp--;
 
@@ -2683,24 +2706,24 @@
 						break;
 
 					default :
-						break loop19;
+						break loop21;
 					}
 				}
 
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:534:34: ( catchall_directive )*
-				loop20:
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:546:34: ( catchall_directive )*
+				loop22:
 				while (true) {
-					int alt20=2;
-					int LA20_0 = input.LA(1);
-					if ( (LA20_0==I_CATCHALL) ) {
-						alt20=1;
+					int alt22=2;
+					int LA22_0 = input.LA(1);
+					if ( (LA22_0==I_CATCHALL) ) {
+						alt22=1;
 					}
 
-					switch (alt20) {
+					switch (alt22) {
 					case 1 :
-						// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:534:34: catchall_directive
+						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:546:34: catchall_directive
 						{
-						pushFollow(FOLLOW_catchall_directive_in_catches1319);
+						pushFollow(FOLLOW_catchall_directive_in_catches1321);
 						catchall_directive();
 						state._fsp--;
 
@@ -2708,11 +2731,11 @@
 						break;
 
 					default :
-						break loop20;
+						break loop22;
 					}
 				}
 
-				match(input, Token.UP, null); 
+				match(input, Token.UP, null);
 			}
 
 			}
@@ -2732,7 +2755,7 @@
 
 
 	// $ANTLR start "catch_directive"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:536:1: catch_directive : ^( I_CATCH nonvoid_type_descriptor from= label_ref to= label_ref using= label_ref ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:548:1: catch_directive : ^( I_CATCH nonvoid_type_descriptor from= label_ref to= label_ref using= label_ref ) ;
 	public final void catch_directive() throws RecognitionException {
 		Label from =null;
 		Label to =null;
@@ -2740,33 +2763,33 @@
 		TreeRuleReturnScope nonvoid_type_descriptor85 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:537:3: ( ^( I_CATCH nonvoid_type_descriptor from= label_ref to= label_ref using= label_ref ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:537:5: ^( I_CATCH nonvoid_type_descriptor from= label_ref to= label_ref using= label_ref )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:549:3: ( ^( I_CATCH nonvoid_type_descriptor from= label_ref to= label_ref using= label_ref ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:549:5: ^( I_CATCH nonvoid_type_descriptor from= label_ref to= label_ref using= label_ref )
 			{
-			match(input,I_CATCH,FOLLOW_I_CATCH_in_catch_directive1332); 
-			match(input, Token.DOWN, null); 
-			pushFollow(FOLLOW_nonvoid_type_descriptor_in_catch_directive1334);
+			match(input,I_CATCH,FOLLOW_I_CATCH_in_catch_directive1334);
+			match(input, Token.DOWN, null);
+			pushFollow(FOLLOW_nonvoid_type_descriptor_in_catch_directive1336);
 			nonvoid_type_descriptor85=nonvoid_type_descriptor();
 			state._fsp--;
 
-			pushFollow(FOLLOW_label_ref_in_catch_directive1338);
+			pushFollow(FOLLOW_label_ref_in_catch_directive1340);
 			from=label_ref();
 			state._fsp--;
 
-			pushFollow(FOLLOW_label_ref_in_catch_directive1342);
+			pushFollow(FOLLOW_label_ref_in_catch_directive1344);
 			to=label_ref();
 			state._fsp--;
 
-			pushFollow(FOLLOW_label_ref_in_catch_directive1346);
+			pushFollow(FOLLOW_label_ref_in_catch_directive1348);
 			using=label_ref();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 
 			    method_stack.peek().methodBuilder.addCatch(dexBuilder.internTypeReference((nonvoid_type_descriptor85!=null?((smaliTreeWalker.nonvoid_type_descriptor_return)nonvoid_type_descriptor85).type:null)),
 			        from, to, using);
-			  
+			
 			}
 
 		}
@@ -2783,35 +2806,35 @@
 
 
 	// $ANTLR start "catchall_directive"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:543:1: catchall_directive : ^( I_CATCHALL from= label_ref to= label_ref using= label_ref ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:555:1: catchall_directive : ^( I_CATCHALL from= label_ref to= label_ref using= label_ref ) ;
 	public final void catchall_directive() throws RecognitionException {
 		Label from =null;
 		Label to =null;
 		Label using =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:544:3: ( ^( I_CATCHALL from= label_ref to= label_ref using= label_ref ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:544:5: ^( I_CATCHALL from= label_ref to= label_ref using= label_ref )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:556:3: ( ^( I_CATCHALL from= label_ref to= label_ref using= label_ref ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:556:5: ^( I_CATCHALL from= label_ref to= label_ref using= label_ref )
 			{
-			match(input,I_CATCHALL,FOLLOW_I_CATCHALL_in_catchall_directive1362); 
-			match(input, Token.DOWN, null); 
-			pushFollow(FOLLOW_label_ref_in_catchall_directive1366);
+			match(input,I_CATCHALL,FOLLOW_I_CATCHALL_in_catchall_directive1364);
+			match(input, Token.DOWN, null);
+			pushFollow(FOLLOW_label_ref_in_catchall_directive1368);
 			from=label_ref();
 			state._fsp--;
 
-			pushFollow(FOLLOW_label_ref_in_catchall_directive1370);
+			pushFollow(FOLLOW_label_ref_in_catchall_directive1372);
 			to=label_ref();
 			state._fsp--;
 
-			pushFollow(FOLLOW_label_ref_in_catchall_directive1374);
+			pushFollow(FOLLOW_label_ref_in_catchall_directive1376);
 			using=label_ref();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 
 			    method_stack.peek().methodBuilder.addCatch(from, to, using);
-			  
+			
 			}
 
 		}
@@ -2828,29 +2851,29 @@
 
 
 	// $ANTLR start "parameters"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:549:1: parameters[List<SmaliMethodParameter> parameters] : ^( I_PARAMETERS ( parameter[parameters] )* ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:561:1: parameters[List<SmaliMethodParameter> parameters] : ^( I_PARAMETERS ( parameter[parameters] )* ) ;
 	public final void parameters(List<SmaliMethodParameter> parameters) throws RecognitionException {
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:550:3: ( ^( I_PARAMETERS ( parameter[parameters] )* ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:550:5: ^( I_PARAMETERS ( parameter[parameters] )* )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:562:3: ( ^( I_PARAMETERS ( parameter[parameters] )* ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:562:5: ^( I_PARAMETERS ( parameter[parameters] )* )
 			{
-			match(input,I_PARAMETERS,FOLLOW_I_PARAMETERS_in_parameters1391); 
+			match(input,I_PARAMETERS,FOLLOW_I_PARAMETERS_in_parameters1393);
 			if ( input.LA(1)==Token.DOWN ) {
-				match(input, Token.DOWN, null); 
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:550:20: ( parameter[parameters] )*
-				loop21:
+				match(input, Token.DOWN, null);
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:562:20: ( parameter[parameters] )*
+				loop23:
 				while (true) {
-					int alt21=2;
-					int LA21_0 = input.LA(1);
-					if ( (LA21_0==I_PARAMETER) ) {
-						alt21=1;
+					int alt23=2;
+					int LA23_0 = input.LA(1);
+					if ( (LA23_0==I_PARAMETER) ) {
+						alt23=1;
 					}
 
-					switch (alt21) {
+					switch (alt23) {
 					case 1 :
-						// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:550:21: parameter[parameters]
+						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:562:21: parameter[parameters]
 						{
-						pushFollow(FOLLOW_parameter_in_parameters1394);
+						pushFollow(FOLLOW_parameter_in_parameters1396);
 						parameter(parameters);
 						state._fsp--;
 
@@ -2858,11 +2881,11 @@
 						break;
 
 					default :
-						break loop21;
+						break loop23;
 					}
 				}
 
-				match(input, Token.UP, null); 
+				match(input, Token.UP, null);
 			}
 
 			}
@@ -2881,7 +2904,7 @@
 
 
 	// $ANTLR start "parameter"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:552:1: parameter[List<SmaliMethodParameter> parameters] : ^( I_PARAMETER REGISTER ( string_literal )? annotations ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:564:1: parameter[List<SmaliMethodParameter> parameters] : ^( I_PARAMETER REGISTER ( string_literal )? annotations ) ;
 	public final void parameter(List<SmaliMethodParameter> parameters) throws RecognitionException {
 		CommonTree REGISTER86=null;
 		CommonTree I_PARAMETER87=null;
@@ -2889,23 +2912,23 @@
 		Set<Annotation> annotations89 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:553:3: ( ^( I_PARAMETER REGISTER ( string_literal )? annotations ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:553:5: ^( I_PARAMETER REGISTER ( string_literal )? annotations )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:565:3: ( ^( I_PARAMETER REGISTER ( string_literal )? annotations ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:565:5: ^( I_PARAMETER REGISTER ( string_literal )? annotations )
 			{
-			I_PARAMETER87=(CommonTree)match(input,I_PARAMETER,FOLLOW_I_PARAMETER_in_parameter1410); 
-			match(input, Token.DOWN, null); 
-			REGISTER86=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_parameter1412); 
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:553:28: ( string_literal )?
-			int alt22=2;
-			int LA22_0 = input.LA(1);
-			if ( (LA22_0==STRING_LITERAL) ) {
-				alt22=1;
+			I_PARAMETER87=(CommonTree)match(input,I_PARAMETER,FOLLOW_I_PARAMETER_in_parameter1412);
+			match(input, Token.DOWN, null);
+			REGISTER86=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_parameter1414);
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:565:28: ( string_literal )?
+			int alt24=2;
+			int LA24_0 = input.LA(1);
+			if ( (LA24_0==STRING_LITERAL) ) {
+				alt24=1;
 			}
-			switch (alt22) {
+			switch (alt24) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:553:28: string_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:565:28: string_literal
 					{
-					pushFollow(FOLLOW_string_literal_in_parameter1414);
+					pushFollow(FOLLOW_string_literal_in_parameter1416);
 					string_literal88=string_literal();
 					state._fsp--;
 
@@ -2914,11 +2937,11 @@
 
 			}
 
-			pushFollow(FOLLOW_annotations_in_parameter1417);
+			pushFollow(FOLLOW_annotations_in_parameter1419);
 			annotations89=annotations();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 
 			        final int registerNumber = parseRegister_short((REGISTER86!=null?REGISTER86.getText():null));
@@ -2950,7 +2973,7 @@
 			        if (annotations89 != null && annotations89.size() > 0) {
 			            methodParameter.annotations = annotations89;
 			        }
-			    
+			
 			}
 
 		}
@@ -2967,111 +2990,111 @@
 
 
 	// $ANTLR start "debug_directive"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:586:1: debug_directive : ( line | local | end_local | restart_local | prologue | epilogue | source );
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:598:1: debug_directive : ( line | local | end_local | restart_local | prologue | epilogue | source );
 	public final void debug_directive() throws RecognitionException {
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:587:3: ( line | local | end_local | restart_local | prologue | epilogue | source )
-			int alt23=7;
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:599:3: ( line | local | end_local | restart_local | prologue | epilogue | source )
+			int alt25=7;
 			switch ( input.LA(1) ) {
 			case I_LINE:
 				{
-				alt23=1;
+				alt25=1;
 				}
 				break;
 			case I_LOCAL:
 				{
-				alt23=2;
+				alt25=2;
 				}
 				break;
 			case I_END_LOCAL:
 				{
-				alt23=3;
+				alt25=3;
 				}
 				break;
 			case I_RESTART_LOCAL:
 				{
-				alt23=4;
+				alt25=4;
 				}
 				break;
 			case I_PROLOGUE:
 				{
-				alt23=5;
+				alt25=5;
 				}
 				break;
 			case I_EPILOGUE:
 				{
-				alt23=6;
+				alt25=6;
 				}
 				break;
 			case I_SOURCE:
 				{
-				alt23=7;
+				alt25=7;
 				}
 				break;
 			default:
 				NoViableAltException nvae =
-					new NoViableAltException("", 23, 0, input);
+					new NoViableAltException("", 25, 0, input);
 				throw nvae;
 			}
-			switch (alt23) {
+			switch (alt25) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:587:5: line
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:599:5: line
 					{
-					pushFollow(FOLLOW_line_in_debug_directive1434);
+					pushFollow(FOLLOW_line_in_debug_directive1436);
 					line();
 					state._fsp--;
 
 					}
 					break;
 				case 2 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:588:5: local
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:600:5: local
 					{
-					pushFollow(FOLLOW_local_in_debug_directive1440);
+					pushFollow(FOLLOW_local_in_debug_directive1442);
 					local();
 					state._fsp--;
 
 					}
 					break;
 				case 3 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:589:5: end_local
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:601:5: end_local
 					{
-					pushFollow(FOLLOW_end_local_in_debug_directive1446);
+					pushFollow(FOLLOW_end_local_in_debug_directive1448);
 					end_local();
 					state._fsp--;
 
 					}
 					break;
 				case 4 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:590:5: restart_local
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:602:5: restart_local
 					{
-					pushFollow(FOLLOW_restart_local_in_debug_directive1452);
+					pushFollow(FOLLOW_restart_local_in_debug_directive1454);
 					restart_local();
 					state._fsp--;
 
 					}
 					break;
 				case 5 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:591:5: prologue
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:603:5: prologue
 					{
-					pushFollow(FOLLOW_prologue_in_debug_directive1458);
+					pushFollow(FOLLOW_prologue_in_debug_directive1460);
 					prologue();
 					state._fsp--;
 
 					}
 					break;
 				case 6 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:592:5: epilogue
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:604:5: epilogue
 					{
-					pushFollow(FOLLOW_epilogue_in_debug_directive1464);
+					pushFollow(FOLLOW_epilogue_in_debug_directive1466);
 					epilogue();
 					state._fsp--;
 
 					}
 					break;
 				case 7 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:593:5: source
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:605:5: source
 					{
-					pushFollow(FOLLOW_source_in_debug_directive1470);
+					pushFollow(FOLLOW_source_in_debug_directive1472);
 					source();
 					state._fsp--;
 
@@ -3093,25 +3116,25 @@
 
 
 	// $ANTLR start "line"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:595:1: line : ^( I_LINE integral_literal ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:607:1: line : ^( I_LINE integral_literal ) ;
 	public final void line() throws RecognitionException {
 		int integral_literal90 =0;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:596:3: ( ^( I_LINE integral_literal ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:596:5: ^( I_LINE integral_literal )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:608:3: ( ^( I_LINE integral_literal ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:608:5: ^( I_LINE integral_literal )
 			{
-			match(input,I_LINE,FOLLOW_I_LINE_in_line1481); 
-			match(input, Token.DOWN, null); 
-			pushFollow(FOLLOW_integral_literal_in_line1483);
+			match(input,I_LINE,FOLLOW_I_LINE_in_line1483);
+			match(input, Token.DOWN, null);
+			pushFollow(FOLLOW_integral_literal_in_line1485);
 			integral_literal90=integral_literal();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 
 			        method_stack.peek().methodBuilder.addLineNumber(integral_literal90);
-			    
+			
 			}
 
 		}
@@ -3128,7 +3151,7 @@
 
 
 	// $ANTLR start "local"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:601:1: local : ^( I_LOCAL REGISTER ( ( NULL_LITERAL |name= string_literal ) ( nonvoid_type_descriptor )? (signature= string_literal )? )? ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:613:1: local : ^( I_LOCAL REGISTER ( ( NULL_LITERAL |name= string_literal ) ( nonvoid_type_descriptor )? (signature= string_literal )? )? ) ;
 	public final void local() throws RecognitionException {
 		CommonTree REGISTER91=null;
 		String name =null;
@@ -3136,49 +3159,49 @@
 		TreeRuleReturnScope nonvoid_type_descriptor92 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:602:3: ( ^( I_LOCAL REGISTER ( ( NULL_LITERAL |name= string_literal ) ( nonvoid_type_descriptor )? (signature= string_literal )? )? ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:602:5: ^( I_LOCAL REGISTER ( ( NULL_LITERAL |name= string_literal ) ( nonvoid_type_descriptor )? (signature= string_literal )? )? )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:614:3: ( ^( I_LOCAL REGISTER ( ( NULL_LITERAL |name= string_literal ) ( nonvoid_type_descriptor )? (signature= string_literal )? )? ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:614:5: ^( I_LOCAL REGISTER ( ( NULL_LITERAL |name= string_literal ) ( nonvoid_type_descriptor )? (signature= string_literal )? )? )
 			{
-			match(input,I_LOCAL,FOLLOW_I_LOCAL_in_local1501); 
-			match(input, Token.DOWN, null); 
-			REGISTER91=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_local1503); 
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:602:24: ( ( NULL_LITERAL |name= string_literal ) ( nonvoid_type_descriptor )? (signature= string_literal )? )?
-			int alt27=2;
-			int LA27_0 = input.LA(1);
-			if ( (LA27_0==NULL_LITERAL||LA27_0==STRING_LITERAL) ) {
-				alt27=1;
+			match(input,I_LOCAL,FOLLOW_I_LOCAL_in_local1503);
+			match(input, Token.DOWN, null);
+			REGISTER91=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_local1505);
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:614:24: ( ( NULL_LITERAL |name= string_literal ) ( nonvoid_type_descriptor )? (signature= string_literal )? )?
+			int alt29=2;
+			int LA29_0 = input.LA(1);
+			if ( (LA29_0==NULL_LITERAL||LA29_0==STRING_LITERAL) ) {
+				alt29=1;
 			}
-			switch (alt27) {
+			switch (alt29) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:602:25: ( NULL_LITERAL |name= string_literal ) ( nonvoid_type_descriptor )? (signature= string_literal )?
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:614:25: ( NULL_LITERAL |name= string_literal ) ( nonvoid_type_descriptor )? (signature= string_literal )?
 					{
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:602:25: ( NULL_LITERAL |name= string_literal )
-					int alt24=2;
-					int LA24_0 = input.LA(1);
-					if ( (LA24_0==NULL_LITERAL) ) {
-						alt24=1;
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:614:25: ( NULL_LITERAL |name= string_literal )
+					int alt26=2;
+					int LA26_0 = input.LA(1);
+					if ( (LA26_0==NULL_LITERAL) ) {
+						alt26=1;
 					}
-					else if ( (LA24_0==STRING_LITERAL) ) {
-						alt24=2;
+					else if ( (LA26_0==STRING_LITERAL) ) {
+						alt26=2;
 					}
 
 					else {
 						NoViableAltException nvae =
-							new NoViableAltException("", 24, 0, input);
+							new NoViableAltException("", 26, 0, input);
 						throw nvae;
 					}
 
-					switch (alt24) {
+					switch (alt26) {
 						case 1 :
-							// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:602:26: NULL_LITERAL
+							// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:614:26: NULL_LITERAL
 							{
-							match(input,NULL_LITERAL,FOLLOW_NULL_LITERAL_in_local1507); 
+							match(input,NULL_LITERAL,FOLLOW_NULL_LITERAL_in_local1509);
 							}
 							break;
 						case 2 :
-							// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:602:41: name= string_literal
+							// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:614:41: name= string_literal
 							{
-							pushFollow(FOLLOW_string_literal_in_local1513);
+							pushFollow(FOLLOW_string_literal_in_local1515);
 							name=string_literal();
 							state._fsp--;
 
@@ -3187,17 +3210,17 @@
 
 					}
 
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:602:62: ( nonvoid_type_descriptor )?
-					int alt25=2;
-					int LA25_0 = input.LA(1);
-					if ( (LA25_0==ARRAY_DESCRIPTOR||LA25_0==CLASS_DESCRIPTOR||LA25_0==PRIMITIVE_TYPE) ) {
-						alt25=1;
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:614:62: ( nonvoid_type_descriptor )?
+					int alt27=2;
+					int LA27_0 = input.LA(1);
+					if ( (LA27_0==ARRAY_DESCRIPTOR||LA27_0==CLASS_DESCRIPTOR||LA27_0==PRIMITIVE_TYPE) ) {
+						alt27=1;
 					}
-					switch (alt25) {
+					switch (alt27) {
 						case 1 :
-							// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:602:62: nonvoid_type_descriptor
+							// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:614:62: nonvoid_type_descriptor
 							{
-							pushFollow(FOLLOW_nonvoid_type_descriptor_in_local1516);
+							pushFollow(FOLLOW_nonvoid_type_descriptor_in_local1518);
 							nonvoid_type_descriptor92=nonvoid_type_descriptor();
 							state._fsp--;
 
@@ -3206,17 +3229,17 @@
 
 					}
 
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:602:96: (signature= string_literal )?
-					int alt26=2;
-					int LA26_0 = input.LA(1);
-					if ( (LA26_0==STRING_LITERAL) ) {
-						alt26=1;
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:614:96: (signature= string_literal )?
+					int alt28=2;
+					int LA28_0 = input.LA(1);
+					if ( (LA28_0==STRING_LITERAL) ) {
+						alt28=1;
 					}
-					switch (alt26) {
+					switch (alt28) {
 						case 1 :
-							// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:602:96: signature= string_literal
+							// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:614:96: signature= string_literal
 							{
-							pushFollow(FOLLOW_string_literal_in_local1521);
+							pushFollow(FOLLOW_string_literal_in_local1523);
 							signature=string_literal();
 							state._fsp--;
 
@@ -3230,7 +3253,7 @@
 
 			}
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 
 			      int registerNumber = parseRegister_short((REGISTER91!=null?REGISTER91.getText():null));
@@ -3238,7 +3261,7 @@
 			              dexBuilder.internNullableStringReference(name),
 			              dexBuilder.internNullableTypeReference((nonvoid_type_descriptor92!=null?((smaliTreeWalker.nonvoid_type_descriptor_return)nonvoid_type_descriptor92).type:null)),
 			              dexBuilder.internNullableStringReference(signature));
-			    
+			
 			}
 
 		}
@@ -3255,23 +3278,23 @@
 
 
 	// $ANTLR start "end_local"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:611:1: end_local : ^( I_END_LOCAL REGISTER ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:623:1: end_local : ^( I_END_LOCAL REGISTER ) ;
 	public final void end_local() throws RecognitionException {
 		CommonTree REGISTER93=null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:612:3: ( ^( I_END_LOCAL REGISTER ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:612:5: ^( I_END_LOCAL REGISTER )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:624:3: ( ^( I_END_LOCAL REGISTER ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:624:5: ^( I_END_LOCAL REGISTER )
 			{
-			match(input,I_END_LOCAL,FOLLOW_I_END_LOCAL_in_end_local1542); 
-			match(input, Token.DOWN, null); 
-			REGISTER93=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_end_local1544); 
-			match(input, Token.UP, null); 
+			match(input,I_END_LOCAL,FOLLOW_I_END_LOCAL_in_end_local1544);
+			match(input, Token.DOWN, null);
+			REGISTER93=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_end_local1546);
+			match(input, Token.UP, null);
 
 
 			      int registerNumber = parseRegister_short((REGISTER93!=null?REGISTER93.getText():null));
 			      method_stack.peek().methodBuilder.addEndLocal(registerNumber);
-			    
+			
 			}
 
 		}
@@ -3288,23 +3311,23 @@
 
 
 	// $ANTLR start "restart_local"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:618:1: restart_local : ^( I_RESTART_LOCAL REGISTER ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:630:1: restart_local : ^( I_RESTART_LOCAL REGISTER ) ;
 	public final void restart_local() throws RecognitionException {
 		CommonTree REGISTER94=null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:619:3: ( ^( I_RESTART_LOCAL REGISTER ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:619:5: ^( I_RESTART_LOCAL REGISTER )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:631:3: ( ^( I_RESTART_LOCAL REGISTER ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:631:5: ^( I_RESTART_LOCAL REGISTER )
 			{
-			match(input,I_RESTART_LOCAL,FOLLOW_I_RESTART_LOCAL_in_restart_local1562); 
-			match(input, Token.DOWN, null); 
-			REGISTER94=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_restart_local1564); 
-			match(input, Token.UP, null); 
+			match(input,I_RESTART_LOCAL,FOLLOW_I_RESTART_LOCAL_in_restart_local1564);
+			match(input, Token.DOWN, null);
+			REGISTER94=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_restart_local1566);
+			match(input, Token.UP, null);
 
 
 			      int registerNumber = parseRegister_short((REGISTER94!=null?REGISTER94.getText():null));
 			      method_stack.peek().methodBuilder.addRestartLocal(registerNumber);
-			    
+			
 			}
 
 		}
@@ -3321,16 +3344,16 @@
 
 
 	// $ANTLR start "prologue"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:625:1: prologue : I_PROLOGUE ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:637:1: prologue : I_PROLOGUE ;
 	public final void prologue() throws RecognitionException {
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:626:3: ( I_PROLOGUE )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:626:5: I_PROLOGUE
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:638:3: ( I_PROLOGUE )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:638:5: I_PROLOGUE
 			{
-			match(input,I_PROLOGUE,FOLLOW_I_PROLOGUE_in_prologue1581); 
+			match(input,I_PROLOGUE,FOLLOW_I_PROLOGUE_in_prologue1583);
 
 			      method_stack.peek().methodBuilder.addPrologue();
-			    
+			
 			}
 
 		}
@@ -3347,16 +3370,16 @@
 
 
 	// $ANTLR start "epilogue"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:631:1: epilogue : I_EPILOGUE ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:643:1: epilogue : I_EPILOGUE ;
 	public final void epilogue() throws RecognitionException {
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:632:3: ( I_EPILOGUE )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:632:5: I_EPILOGUE
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:644:3: ( I_EPILOGUE )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:644:5: I_EPILOGUE
 			{
-			match(input,I_EPILOGUE,FOLLOW_I_EPILOGUE_in_epilogue1597); 
+			match(input,I_EPILOGUE,FOLLOW_I_EPILOGUE_in_epilogue1599);
 
 			      method_stack.peek().methodBuilder.addEpilogue();
-			    
+			
 			}
 
 		}
@@ -3373,28 +3396,28 @@
 
 
 	// $ANTLR start "source"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:637:1: source : ^( I_SOURCE ( string_literal )? ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:649:1: source : ^( I_SOURCE ( string_literal )? ) ;
 	public final void source() throws RecognitionException {
 		String string_literal95 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:638:3: ( ^( I_SOURCE ( string_literal )? ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:638:5: ^( I_SOURCE ( string_literal )? )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:650:3: ( ^( I_SOURCE ( string_literal )? ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:650:5: ^( I_SOURCE ( string_literal )? )
 			{
-			match(input,I_SOURCE,FOLLOW_I_SOURCE_in_source1614); 
+			match(input,I_SOURCE,FOLLOW_I_SOURCE_in_source1616);
 			if ( input.LA(1)==Token.DOWN ) {
-				match(input, Token.DOWN, null); 
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:638:16: ( string_literal )?
-				int alt28=2;
-				int LA28_0 = input.LA(1);
-				if ( (LA28_0==STRING_LITERAL) ) {
-					alt28=1;
+				match(input, Token.DOWN, null);
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:650:16: ( string_literal )?
+				int alt30=2;
+				int LA30_0 = input.LA(1);
+				if ( (LA30_0==STRING_LITERAL) ) {
+					alt30=1;
 				}
-				switch (alt28) {
+				switch (alt30) {
 					case 1 :
-						// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:638:16: string_literal
+						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:650:16: string_literal
 						{
-						pushFollow(FOLLOW_string_literal_in_source1616);
+						pushFollow(FOLLOW_string_literal_in_source1618);
 						string_literal95=string_literal();
 						state._fsp--;
 
@@ -3403,12 +3426,12 @@
 
 				}
 
-				match(input, Token.UP, null); 
+				match(input, Token.UP, null);
 			}
 
 
 			      method_stack.peek().methodBuilder.addSetSourceFile(dexBuilder.internNullableStringReference(string_literal95));
-			    
+			
 			}
 
 		}
@@ -3425,23 +3448,23 @@
 
 
 	// $ANTLR start "ordered_method_items"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:643:1: ordered_method_items : ^( I_ORDERED_METHOD_ITEMS ( label_def | instruction | debug_directive )* ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:655:1: ordered_method_items : ^( I_ORDERED_METHOD_ITEMS ( label_def | instruction | debug_directive )* ) ;
 	public final void ordered_method_items() throws RecognitionException {
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:644:3: ( ^( I_ORDERED_METHOD_ITEMS ( label_def | instruction | debug_directive )* ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:644:5: ^( I_ORDERED_METHOD_ITEMS ( label_def | instruction | debug_directive )* )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:656:3: ( ^( I_ORDERED_METHOD_ITEMS ( label_def | instruction | debug_directive )* ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:656:5: ^( I_ORDERED_METHOD_ITEMS ( label_def | instruction | debug_directive )* )
 			{
-			match(input,I_ORDERED_METHOD_ITEMS,FOLLOW_I_ORDERED_METHOD_ITEMS_in_ordered_method_items1635); 
+			match(input,I_ORDERED_METHOD_ITEMS,FOLLOW_I_ORDERED_METHOD_ITEMS_in_ordered_method_items1637);
 			if ( input.LA(1)==Token.DOWN ) {
-				match(input, Token.DOWN, null); 
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:644:30: ( label_def | instruction | debug_directive )*
-				loop29:
+				match(input, Token.DOWN, null);
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:656:30: ( label_def | instruction | debug_directive )*
+				loop31:
 				while (true) {
-					int alt29=4;
+					int alt31=4;
 					switch ( input.LA(1) ) {
 					case I_LABEL:
 						{
-						alt29=1;
+						alt31=1;
 						}
 						break;
 					case I_STATEMENT_ARRAY_DATA:
@@ -3479,7 +3502,7 @@
 					case I_STATEMENT_PACKED_SWITCH:
 					case I_STATEMENT_SPARSE_SWITCH:
 						{
-						alt29=2;
+						alt31=2;
 						}
 						break;
 					case I_END_LOCAL:
@@ -3490,33 +3513,33 @@
 					case I_RESTART_LOCAL:
 					case I_SOURCE:
 						{
-						alt29=3;
+						alt31=3;
 						}
 						break;
 					}
-					switch (alt29) {
+					switch (alt31) {
 					case 1 :
-						// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:644:31: label_def
+						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:656:31: label_def
 						{
-						pushFollow(FOLLOW_label_def_in_ordered_method_items1638);
+						pushFollow(FOLLOW_label_def_in_ordered_method_items1640);
 						label_def();
 						state._fsp--;
 
 						}
 						break;
 					case 2 :
-						// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:644:43: instruction
+						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:656:43: instruction
 						{
-						pushFollow(FOLLOW_instruction_in_ordered_method_items1642);
+						pushFollow(FOLLOW_instruction_in_ordered_method_items1644);
 						instruction();
 						state._fsp--;
 
 						}
 						break;
 					case 3 :
-						// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:644:57: debug_directive
+						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:656:57: debug_directive
 						{
-						pushFollow(FOLLOW_debug_directive_in_ordered_method_items1646);
+						pushFollow(FOLLOW_debug_directive_in_ordered_method_items1648);
 						debug_directive();
 						state._fsp--;
 
@@ -3524,11 +3547,11 @@
 						break;
 
 					default :
-						break loop29;
+						break loop31;
 					}
 				}
 
-				match(input, Token.UP, null); 
+				match(input, Token.UP, null);
 			}
 
 			}
@@ -3547,7 +3570,7 @@
 
 
 	// $ANTLR start "label_ref"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:646:1: label_ref returns [Label label] : SIMPLE_NAME ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:658:1: label_ref returns [Label label] : SIMPLE_NAME ;
 	public final Label label_ref() throws RecognitionException {
 		Label label = null;
 
@@ -3555,11 +3578,11 @@
 		CommonTree SIMPLE_NAME96=null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:647:3: ( SIMPLE_NAME )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:647:5: SIMPLE_NAME
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:659:3: ( SIMPLE_NAME )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:659:5: SIMPLE_NAME
 			{
-			SIMPLE_NAME96=(CommonTree)match(input,SIMPLE_NAME,FOLLOW_SIMPLE_NAME_in_label_ref1662); 
-			 label = method_stack.peek().methodBuilder.getLabel((SIMPLE_NAME96!=null?SIMPLE_NAME96.getText():null)); 
+			SIMPLE_NAME96=(CommonTree)match(input,SIMPLE_NAME,FOLLOW_SIMPLE_NAME_in_label_ref1664);
+			 label = method_stack.peek().methodBuilder.getLabel((SIMPLE_NAME96!=null?SIMPLE_NAME96.getText():null));
 			}
 
 		}
@@ -3582,7 +3605,7 @@
 
 
 	// $ANTLR start "register_list"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:649:1: register_list returns [byte[] registers, byte registerCount] : ^( I_REGISTER_LIST ( REGISTER )* ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:661:1: register_list returns [byte[] registers, byte registerCount] : ^( I_REGISTER_LIST ( REGISTER )* ) ;
 	public final smaliTreeWalker.register_list_return register_list() throws RecognitionException {
 		smaliTreeWalker.register_list_return retval = new smaliTreeWalker.register_list_return();
 		retval.start = input.LT(1);
@@ -3593,44 +3616,44 @@
 
 		    retval.registers = new byte[5];
 		    retval.registerCount = 0;
-		  
+		
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:655:3: ( ^( I_REGISTER_LIST ( REGISTER )* ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:655:5: ^( I_REGISTER_LIST ( REGISTER )* )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:667:3: ( ^( I_REGISTER_LIST ( REGISTER )* ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:667:5: ^( I_REGISTER_LIST ( REGISTER )* )
 			{
-			I_REGISTER_LIST97=(CommonTree)match(input,I_REGISTER_LIST,FOLLOW_I_REGISTER_LIST_in_register_list1687); 
+			I_REGISTER_LIST97=(CommonTree)match(input,I_REGISTER_LIST,FOLLOW_I_REGISTER_LIST_in_register_list1689);
 			if ( input.LA(1)==Token.DOWN ) {
-				match(input, Token.DOWN, null); 
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:656:7: ( REGISTER )*
-				loop30:
+				match(input, Token.DOWN, null);
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:668:7: ( REGISTER )*
+				loop32:
 				while (true) {
-					int alt30=2;
-					int LA30_0 = input.LA(1);
-					if ( (LA30_0==REGISTER) ) {
-						alt30=1;
+					int alt32=2;
+					int LA32_0 = input.LA(1);
+					if ( (LA32_0==REGISTER) ) {
+						alt32=1;
 					}
 
-					switch (alt30) {
+					switch (alt32) {
 					case 1 :
-						// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:656:8: REGISTER
+						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:668:8: REGISTER
 						{
-						REGISTER98=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_register_list1696); 
+						REGISTER98=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_register_list1698);
 
 						        if (retval.registerCount == 5) {
 						          throw new SemanticException(input, I_REGISTER_LIST97, "A list of registers can only have a maximum of 5 " +
 						                  "registers. Use the <op>/range alternate opcode instead.");
 						        }
 						        retval.registers[retval.registerCount++] = parseRegister_nibble((REGISTER98!=null?REGISTER98.getText():null));
-						      
+						
 						}
 						break;
 
 					default :
-						break loop30;
+						break loop32;
 					}
 				}
 
-				match(input, Token.UP, null); 
+				match(input, Token.UP, null);
 			}
 
 			}
@@ -3655,7 +3678,7 @@
 
 
 	// $ANTLR start "register_range"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:665:1: register_range returns [int startRegister, int endRegister] : ^( I_REGISTER_RANGE (startReg= REGISTER (endReg= REGISTER )? )? ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:677:1: register_range returns [int startRegister, int endRegister] : ^( I_REGISTER_RANGE (startReg= REGISTER (endReg= REGISTER )? )? ) ;
 	public final smaliTreeWalker.register_range_return register_range() throws RecognitionException {
 		smaliTreeWalker.register_range_return retval = new smaliTreeWalker.register_range_return();
 		retval.start = input.LT(1);
@@ -3665,34 +3688,34 @@
 		CommonTree I_REGISTER_RANGE99=null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:666:3: ( ^( I_REGISTER_RANGE (startReg= REGISTER (endReg= REGISTER )? )? ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:666:5: ^( I_REGISTER_RANGE (startReg= REGISTER (endReg= REGISTER )? )? )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:678:3: ( ^( I_REGISTER_RANGE (startReg= REGISTER (endReg= REGISTER )? )? ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:678:5: ^( I_REGISTER_RANGE (startReg= REGISTER (endReg= REGISTER )? )? )
 			{
-			I_REGISTER_RANGE99=(CommonTree)match(input,I_REGISTER_RANGE,FOLLOW_I_REGISTER_RANGE_in_register_range1721); 
+			I_REGISTER_RANGE99=(CommonTree)match(input,I_REGISTER_RANGE,FOLLOW_I_REGISTER_RANGE_in_register_range1723);
 			if ( input.LA(1)==Token.DOWN ) {
-				match(input, Token.DOWN, null); 
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:666:24: (startReg= REGISTER (endReg= REGISTER )? )?
-				int alt32=2;
-				int LA32_0 = input.LA(1);
-				if ( (LA32_0==REGISTER) ) {
-					alt32=1;
+				match(input, Token.DOWN, null);
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:678:24: (startReg= REGISTER (endReg= REGISTER )? )?
+				int alt34=2;
+				int LA34_0 = input.LA(1);
+				if ( (LA34_0==REGISTER) ) {
+					alt34=1;
 				}
-				switch (alt32) {
+				switch (alt34) {
 					case 1 :
-						// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:666:25: startReg= REGISTER (endReg= REGISTER )?
+						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:678:25: startReg= REGISTER (endReg= REGISTER )?
 						{
-						startReg=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_register_range1726); 
-						// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:666:49: (endReg= REGISTER )?
-						int alt31=2;
-						int LA31_0 = input.LA(1);
-						if ( (LA31_0==REGISTER) ) {
-							alt31=1;
+						startReg=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_register_range1728);
+						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:678:49: (endReg= REGISTER )?
+						int alt33=2;
+						int LA33_0 = input.LA(1);
+						if ( (LA33_0==REGISTER) ) {
+							alt33=1;
 						}
-						switch (alt31) {
+						switch (alt33) {
 							case 1 :
-								// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:666:49: endReg= REGISTER
+								// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:678:49: endReg= REGISTER
 								{
-								endReg=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_register_range1730); 
+								endReg=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_register_range1732);
 								}
 								break;
 
@@ -3703,7 +3726,7 @@
 
 				}
 
-				match(input, Token.UP, null); 
+				match(input, Token.UP, null);
 			}
 
 
@@ -3723,7 +3746,7 @@
 			                    throw new SemanticException(input, I_REGISTER_RANGE99, "A register range must have the lower register listed first");
 			                }
 			            }
-			    
+			
 			}
 
 		}
@@ -3741,31 +3764,32 @@
 
 
 	// $ANTLR start "verification_error_reference"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:686:1: verification_error_reference returns [ImmutableReference reference] : ( CLASS_DESCRIPTOR | fully_qualified_field | fully_qualified_method );
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:698:1: verification_error_reference returns [ImmutableReference reference] : ( CLASS_DESCRIPTOR | field_reference | method_reference );
 	public final ImmutableReference verification_error_reference() throws RecognitionException {
 		ImmutableReference reference = null;
 
 
 		CommonTree CLASS_DESCRIPTOR100=null;
-		ImmutableFieldReference fully_qualified_field101 =null;
-		ImmutableMethodReference fully_qualified_method102 =null;
+		ImmutableFieldReference field_reference101 =null;
+		ImmutableMethodReference method_reference102 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:687:3: ( CLASS_DESCRIPTOR | fully_qualified_field | fully_qualified_method )
-			int alt33=3;
-			int LA33_0 = input.LA(1);
-			if ( (LA33_0==CLASS_DESCRIPTOR) ) {
-				int LA33_1 = input.LA(2);
-				if ( (LA33_1==UP) ) {
-					alt33=1;
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:699:3: ( CLASS_DESCRIPTOR | field_reference | method_reference )
+			int alt35=3;
+			switch ( input.LA(1) ) {
+			case CLASS_DESCRIPTOR:
+				{
+				int LA35_1 = input.LA(2);
+				if ( (LA35_1==UP) ) {
+					alt35=1;
 				}
-				else if ( (LA33_1==SIMPLE_NAME) ) {
-					int LA33_4 = input.LA(3);
-					if ( (LA33_4==ARRAY_DESCRIPTOR||LA33_4==CLASS_DESCRIPTOR||LA33_4==PRIMITIVE_TYPE) ) {
-						alt33=2;
+				else if ( (LA35_1==SIMPLE_NAME) ) {
+					int LA35_3 = input.LA(3);
+					if ( (LA35_3==ARRAY_DESCRIPTOR||LA35_3==CLASS_DESCRIPTOR||LA35_3==PRIMITIVE_TYPE) ) {
+						alt35=2;
 					}
-					else if ( (LA33_4==I_METHOD_PROTOTYPE) ) {
-						alt33=3;
+					else if ( (LA35_3==I_METHOD_PROTOTYPE) ) {
+						alt35=3;
 					}
 
 					else {
@@ -3775,7 +3799,7 @@
 								input.consume();
 							}
 							NoViableAltException nvae =
-								new NoViableAltException("", 33, 4, input);
+								new NoViableAltException("", 35, 3, input);
 							throw nvae;
 						} finally {
 							input.rewind(nvaeMark);
@@ -3789,23 +3813,25 @@
 					try {
 						input.consume();
 						NoViableAltException nvae =
-							new NoViableAltException("", 33, 1, input);
+							new NoViableAltException("", 35, 1, input);
 						throw nvae;
 					} finally {
 						input.rewind(nvaeMark);
 					}
 				}
 
-			}
-			else if ( (LA33_0==ARRAY_DESCRIPTOR) ) {
-				int LA33_2 = input.LA(2);
-				if ( (LA33_2==SIMPLE_NAME) ) {
-					int LA33_4 = input.LA(3);
-					if ( (LA33_4==ARRAY_DESCRIPTOR||LA33_4==CLASS_DESCRIPTOR||LA33_4==PRIMITIVE_TYPE) ) {
-						alt33=2;
+				}
+				break;
+			case ARRAY_DESCRIPTOR:
+				{
+				int LA35_2 = input.LA(2);
+				if ( (LA35_2==SIMPLE_NAME) ) {
+					int LA35_3 = input.LA(3);
+					if ( (LA35_3==ARRAY_DESCRIPTOR||LA35_3==CLASS_DESCRIPTOR||LA35_3==PRIMITIVE_TYPE) ) {
+						alt35=2;
 					}
-					else if ( (LA33_4==I_METHOD_PROTOTYPE) ) {
-						alt33=3;
+					else if ( (LA35_3==I_METHOD_PROTOTYPE) ) {
+						alt35=3;
 					}
 
 					else {
@@ -3815,7 +3841,7 @@
 								input.consume();
 							}
 							NoViableAltException nvae =
-								new NoViableAltException("", 33, 4, input);
+								new NoViableAltException("", 35, 3, input);
 							throw nvae;
 						} finally {
 							input.rewind(nvaeMark);
@@ -3829,53 +3855,76 @@
 					try {
 						input.consume();
 						NoViableAltException nvae =
-							new NoViableAltException("", 33, 2, input);
+							new NoViableAltException("", 35, 2, input);
 						throw nvae;
 					} finally {
 						input.rewind(nvaeMark);
 					}
 				}
 
-			}
+				}
+				break;
+			case SIMPLE_NAME:
+				{
+				int LA35_3 = input.LA(2);
+				if ( (LA35_3==ARRAY_DESCRIPTOR||LA35_3==CLASS_DESCRIPTOR||LA35_3==PRIMITIVE_TYPE) ) {
+					alt35=2;
+				}
+				else if ( (LA35_3==I_METHOD_PROTOTYPE) ) {
+					alt35=3;
+				}
 
-			else {
+				else {
+					int nvaeMark = input.mark();
+					try {
+						input.consume();
+						NoViableAltException nvae =
+							new NoViableAltException("", 35, 3, input);
+						throw nvae;
+					} finally {
+						input.rewind(nvaeMark);
+					}
+				}
+
+				}
+				break;
+			default:
 				NoViableAltException nvae =
-					new NoViableAltException("", 33, 0, input);
+					new NoViableAltException("", 35, 0, input);
 				throw nvae;
 			}
-
-			switch (alt33) {
+			switch (alt35) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:687:5: CLASS_DESCRIPTOR
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:699:5: CLASS_DESCRIPTOR
 					{
-					CLASS_DESCRIPTOR100=(CommonTree)match(input,CLASS_DESCRIPTOR,FOLLOW_CLASS_DESCRIPTOR_in_verification_error_reference1753); 
+					CLASS_DESCRIPTOR100=(CommonTree)match(input,CLASS_DESCRIPTOR,FOLLOW_CLASS_DESCRIPTOR_in_verification_error_reference1755);
 
 					    reference = new ImmutableTypeReference((CLASS_DESCRIPTOR100!=null?CLASS_DESCRIPTOR100.getText():null));
-					  
+					
 					}
 					break;
 				case 2 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:691:5: fully_qualified_field
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:703:5: field_reference
 					{
-					pushFollow(FOLLOW_fully_qualified_field_in_verification_error_reference1763);
-					fully_qualified_field101=fully_qualified_field();
+					pushFollow(FOLLOW_field_reference_in_verification_error_reference1765);
+					field_reference101=field_reference();
 					state._fsp--;
 
 
-					    reference = fully_qualified_field101;
-					  
+					    reference = field_reference101;
+					
 					}
 					break;
 				case 3 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:695:5: fully_qualified_method
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:707:5: method_reference
 					{
-					pushFollow(FOLLOW_fully_qualified_method_in_verification_error_reference1773);
-					fully_qualified_method102=fully_qualified_method();
+					pushFollow(FOLLOW_method_reference_in_verification_error_reference1775);
+					method_reference102=method_reference();
 					state._fsp--;
 
 
-					    reference = fully_qualified_method102;
-					  
+					    reference = method_reference102;
+					
 					}
 					break;
 
@@ -3895,7 +3944,7 @@
 
 
 	// $ANTLR start "verification_error_type"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:700:1: verification_error_type returns [int verificationError] : VERIFICATION_ERROR_TYPE ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:712:1: verification_error_type returns [int verificationError] : VERIFICATION_ERROR_TYPE ;
 	public final int verification_error_type() throws RecognitionException {
 		int verificationError = 0;
 
@@ -3903,13 +3952,13 @@
 		CommonTree VERIFICATION_ERROR_TYPE103=null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:701:3: ( VERIFICATION_ERROR_TYPE )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:701:5: VERIFICATION_ERROR_TYPE
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:713:3: ( VERIFICATION_ERROR_TYPE )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:713:5: VERIFICATION_ERROR_TYPE
 			{
-			VERIFICATION_ERROR_TYPE103=(CommonTree)match(input,VERIFICATION_ERROR_TYPE,FOLLOW_VERIFICATION_ERROR_TYPE_in_verification_error_type1790); 
+			VERIFICATION_ERROR_TYPE103=(CommonTree)match(input,VERIFICATION_ERROR_TYPE,FOLLOW_VERIFICATION_ERROR_TYPE_in_verification_error_type1792);
 
 			    verificationError = VerificationError.getVerificationError((VERIFICATION_ERROR_TYPE103!=null?VERIFICATION_ERROR_TYPE103.getText():null));
-			  
+			
 			}
 
 		}
@@ -3930,492 +3979,492 @@
 
 
 	// $ANTLR start "instruction"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:706:1: instruction : ( insn_format10t | insn_format10x | insn_format11n | insn_format11x | insn_format12x | insn_format20bc | insn_format20t | insn_format21c_field | insn_format21c_string | insn_format21c_type | insn_format21ih | insn_format21lh | insn_format21s | insn_format21t | insn_format22b | insn_format22c_field | insn_format22c_type | insn_format22s | insn_format22t | insn_format22x | insn_format23x | insn_format30t | insn_format31c | insn_format31i | insn_format31t | insn_format32x | insn_format35c_method | insn_format35c_type | insn_format3rc_method | insn_format3rc_type | insn_format51l_type | insn_array_data_directive | insn_packed_switch_directive | insn_sparse_switch_directive );
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:718:1: instruction : ( insn_format10t | insn_format10x | insn_format11n | insn_format11x | insn_format12x | insn_format20bc | insn_format20t | insn_format21c_field | insn_format21c_string | insn_format21c_type | insn_format21ih | insn_format21lh | insn_format21s | insn_format21t | insn_format22b | insn_format22c_field | insn_format22c_type | insn_format22s | insn_format22t | insn_format22x | insn_format23x | insn_format30t | insn_format31c | insn_format31i | insn_format31t | insn_format32x | insn_format35c_method | insn_format35c_type | insn_format3rc_method | insn_format3rc_type | insn_format51l_type | insn_array_data_directive | insn_packed_switch_directive | insn_sparse_switch_directive );
 	public final smaliTreeWalker.instruction_return instruction() throws RecognitionException {
 		smaliTreeWalker.instruction_return retval = new smaliTreeWalker.instruction_return();
 		retval.start = input.LT(1);
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:707:3: ( insn_format10t | insn_format10x | insn_format11n | insn_format11x | insn_format12x | insn_format20bc | insn_format20t | insn_format21c_field | insn_format21c_string | insn_format21c_type | insn_format21ih | insn_format21lh | insn_format21s | insn_format21t | insn_format22b | insn_format22c_field | insn_format22c_type | insn_format22s | insn_format22t | insn_format22x | insn_format23x | insn_format30t | insn_format31c | insn_format31i | insn_format31t | insn_format32x | insn_format35c_method | insn_format35c_type | insn_format3rc_method | insn_format3rc_type | insn_format51l_type | insn_array_data_directive | insn_packed_switch_directive | insn_sparse_switch_directive )
-			int alt34=34;
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:719:3: ( insn_format10t | insn_format10x | insn_format11n | insn_format11x | insn_format12x | insn_format20bc | insn_format20t | insn_format21c_field | insn_format21c_string | insn_format21c_type | insn_format21ih | insn_format21lh | insn_format21s | insn_format21t | insn_format22b | insn_format22c_field | insn_format22c_type | insn_format22s | insn_format22t | insn_format22x | insn_format23x | insn_format30t | insn_format31c | insn_format31i | insn_format31t | insn_format32x | insn_format35c_method | insn_format35c_type | insn_format3rc_method | insn_format3rc_type | insn_format51l_type | insn_array_data_directive | insn_packed_switch_directive | insn_sparse_switch_directive )
+			int alt36=34;
 			switch ( input.LA(1) ) {
 			case I_STATEMENT_FORMAT10t:
 				{
-				alt34=1;
+				alt36=1;
 				}
 				break;
 			case I_STATEMENT_FORMAT10x:
 				{
-				alt34=2;
+				alt36=2;
 				}
 				break;
 			case I_STATEMENT_FORMAT11n:
 				{
-				alt34=3;
+				alt36=3;
 				}
 				break;
 			case I_STATEMENT_FORMAT11x:
 				{
-				alt34=4;
+				alt36=4;
 				}
 				break;
 			case I_STATEMENT_FORMAT12x:
 				{
-				alt34=5;
+				alt36=5;
 				}
 				break;
 			case I_STATEMENT_FORMAT20bc:
 				{
-				alt34=6;
+				alt36=6;
 				}
 				break;
 			case I_STATEMENT_FORMAT20t:
 				{
-				alt34=7;
+				alt36=7;
 				}
 				break;
 			case I_STATEMENT_FORMAT21c_FIELD:
 				{
-				alt34=8;
+				alt36=8;
 				}
 				break;
 			case I_STATEMENT_FORMAT21c_STRING:
 				{
-				alt34=9;
+				alt36=9;
 				}
 				break;
 			case I_STATEMENT_FORMAT21c_TYPE:
 				{
-				alt34=10;
+				alt36=10;
 				}
 				break;
 			case I_STATEMENT_FORMAT21ih:
 				{
-				alt34=11;
+				alt36=11;
 				}
 				break;
 			case I_STATEMENT_FORMAT21lh:
 				{
-				alt34=12;
+				alt36=12;
 				}
 				break;
 			case I_STATEMENT_FORMAT21s:
 				{
-				alt34=13;
+				alt36=13;
 				}
 				break;
 			case I_STATEMENT_FORMAT21t:
 				{
-				alt34=14;
+				alt36=14;
 				}
 				break;
 			case I_STATEMENT_FORMAT22b:
 				{
-				alt34=15;
+				alt36=15;
 				}
 				break;
 			case I_STATEMENT_FORMAT22c_FIELD:
 				{
-				alt34=16;
+				alt36=16;
 				}
 				break;
 			case I_STATEMENT_FORMAT22c_TYPE:
 				{
-				alt34=17;
+				alt36=17;
 				}
 				break;
 			case I_STATEMENT_FORMAT22s:
 				{
-				alt34=18;
+				alt36=18;
 				}
 				break;
 			case I_STATEMENT_FORMAT22t:
 				{
-				alt34=19;
+				alt36=19;
 				}
 				break;
 			case I_STATEMENT_FORMAT22x:
 				{
-				alt34=20;
+				alt36=20;
 				}
 				break;
 			case I_STATEMENT_FORMAT23x:
 				{
-				alt34=21;
+				alt36=21;
 				}
 				break;
 			case I_STATEMENT_FORMAT30t:
 				{
-				alt34=22;
+				alt36=22;
 				}
 				break;
 			case I_STATEMENT_FORMAT31c:
 				{
-				alt34=23;
+				alt36=23;
 				}
 				break;
 			case I_STATEMENT_FORMAT31i:
 				{
-				alt34=24;
+				alt36=24;
 				}
 				break;
 			case I_STATEMENT_FORMAT31t:
 				{
-				alt34=25;
+				alt36=25;
 				}
 				break;
 			case I_STATEMENT_FORMAT32x:
 				{
-				alt34=26;
+				alt36=26;
 				}
 				break;
 			case I_STATEMENT_FORMAT35c_METHOD:
 				{
-				alt34=27;
+				alt36=27;
 				}
 				break;
 			case I_STATEMENT_FORMAT35c_TYPE:
 				{
-				alt34=28;
+				alt36=28;
 				}
 				break;
 			case I_STATEMENT_FORMAT3rc_METHOD:
 				{
-				alt34=29;
+				alt36=29;
 				}
 				break;
 			case I_STATEMENT_FORMAT3rc_TYPE:
 				{
-				alt34=30;
+				alt36=30;
 				}
 				break;
 			case I_STATEMENT_FORMAT51l:
 				{
-				alt34=31;
+				alt36=31;
 				}
 				break;
 			case I_STATEMENT_ARRAY_DATA:
 				{
-				alt34=32;
+				alt36=32;
 				}
 				break;
 			case I_STATEMENT_PACKED_SWITCH:
 				{
-				alt34=33;
+				alt36=33;
 				}
 				break;
 			case I_STATEMENT_SPARSE_SWITCH:
 				{
-				alt34=34;
+				alt36=34;
 				}
 				break;
 			default:
 				NoViableAltException nvae =
-					new NoViableAltException("", 34, 0, input);
+					new NoViableAltException("", 36, 0, input);
 				throw nvae;
 			}
-			switch (alt34) {
+			switch (alt36) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:707:5: insn_format10t
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:719:5: insn_format10t
 					{
-					pushFollow(FOLLOW_insn_format10t_in_instruction1804);
+					pushFollow(FOLLOW_insn_format10t_in_instruction1806);
 					insn_format10t();
 					state._fsp--;
 
 					}
 					break;
 				case 2 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:708:5: insn_format10x
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:720:5: insn_format10x
 					{
-					pushFollow(FOLLOW_insn_format10x_in_instruction1810);
+					pushFollow(FOLLOW_insn_format10x_in_instruction1812);
 					insn_format10x();
 					state._fsp--;
 
 					}
 					break;
 				case 3 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:709:5: insn_format11n
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:721:5: insn_format11n
 					{
-					pushFollow(FOLLOW_insn_format11n_in_instruction1816);
+					pushFollow(FOLLOW_insn_format11n_in_instruction1818);
 					insn_format11n();
 					state._fsp--;
 
 					}
 					break;
 				case 4 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:710:5: insn_format11x
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:722:5: insn_format11x
 					{
-					pushFollow(FOLLOW_insn_format11x_in_instruction1822);
+					pushFollow(FOLLOW_insn_format11x_in_instruction1824);
 					insn_format11x();
 					state._fsp--;
 
 					}
 					break;
 				case 5 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:711:5: insn_format12x
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:723:5: insn_format12x
 					{
-					pushFollow(FOLLOW_insn_format12x_in_instruction1828);
+					pushFollow(FOLLOW_insn_format12x_in_instruction1830);
 					insn_format12x();
 					state._fsp--;
 
 					}
 					break;
 				case 6 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:712:5: insn_format20bc
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:724:5: insn_format20bc
 					{
-					pushFollow(FOLLOW_insn_format20bc_in_instruction1834);
+					pushFollow(FOLLOW_insn_format20bc_in_instruction1836);
 					insn_format20bc();
 					state._fsp--;
 
 					}
 					break;
 				case 7 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:713:5: insn_format20t
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:725:5: insn_format20t
 					{
-					pushFollow(FOLLOW_insn_format20t_in_instruction1840);
+					pushFollow(FOLLOW_insn_format20t_in_instruction1842);
 					insn_format20t();
 					state._fsp--;
 
 					}
 					break;
 				case 8 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:714:5: insn_format21c_field
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:726:5: insn_format21c_field
 					{
-					pushFollow(FOLLOW_insn_format21c_field_in_instruction1846);
+					pushFollow(FOLLOW_insn_format21c_field_in_instruction1848);
 					insn_format21c_field();
 					state._fsp--;
 
 					}
 					break;
 				case 9 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:715:5: insn_format21c_string
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:727:5: insn_format21c_string
 					{
-					pushFollow(FOLLOW_insn_format21c_string_in_instruction1852);
+					pushFollow(FOLLOW_insn_format21c_string_in_instruction1854);
 					insn_format21c_string();
 					state._fsp--;
 
 					}
 					break;
 				case 10 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:716:5: insn_format21c_type
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:728:5: insn_format21c_type
 					{
-					pushFollow(FOLLOW_insn_format21c_type_in_instruction1858);
+					pushFollow(FOLLOW_insn_format21c_type_in_instruction1860);
 					insn_format21c_type();
 					state._fsp--;
 
 					}
 					break;
 				case 11 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:717:5: insn_format21ih
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:729:5: insn_format21ih
 					{
-					pushFollow(FOLLOW_insn_format21ih_in_instruction1864);
+					pushFollow(FOLLOW_insn_format21ih_in_instruction1866);
 					insn_format21ih();
 					state._fsp--;
 
 					}
 					break;
 				case 12 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:718:5: insn_format21lh
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:730:5: insn_format21lh
 					{
-					pushFollow(FOLLOW_insn_format21lh_in_instruction1870);
+					pushFollow(FOLLOW_insn_format21lh_in_instruction1872);
 					insn_format21lh();
 					state._fsp--;
 
 					}
 					break;
 				case 13 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:719:5: insn_format21s
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:731:5: insn_format21s
 					{
-					pushFollow(FOLLOW_insn_format21s_in_instruction1876);
+					pushFollow(FOLLOW_insn_format21s_in_instruction1878);
 					insn_format21s();
 					state._fsp--;
 
 					}
 					break;
 				case 14 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:720:5: insn_format21t
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:732:5: insn_format21t
 					{
-					pushFollow(FOLLOW_insn_format21t_in_instruction1882);
+					pushFollow(FOLLOW_insn_format21t_in_instruction1884);
 					insn_format21t();
 					state._fsp--;
 
 					}
 					break;
 				case 15 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:721:5: insn_format22b
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:733:5: insn_format22b
 					{
-					pushFollow(FOLLOW_insn_format22b_in_instruction1888);
+					pushFollow(FOLLOW_insn_format22b_in_instruction1890);
 					insn_format22b();
 					state._fsp--;
 
 					}
 					break;
 				case 16 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:722:5: insn_format22c_field
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:734:5: insn_format22c_field
 					{
-					pushFollow(FOLLOW_insn_format22c_field_in_instruction1894);
+					pushFollow(FOLLOW_insn_format22c_field_in_instruction1896);
 					insn_format22c_field();
 					state._fsp--;
 
 					}
 					break;
 				case 17 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:723:5: insn_format22c_type
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:735:5: insn_format22c_type
 					{
-					pushFollow(FOLLOW_insn_format22c_type_in_instruction1900);
+					pushFollow(FOLLOW_insn_format22c_type_in_instruction1902);
 					insn_format22c_type();
 					state._fsp--;
 
 					}
 					break;
 				case 18 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:724:5: insn_format22s
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:736:5: insn_format22s
 					{
-					pushFollow(FOLLOW_insn_format22s_in_instruction1906);
+					pushFollow(FOLLOW_insn_format22s_in_instruction1908);
 					insn_format22s();
 					state._fsp--;
 
 					}
 					break;
 				case 19 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:725:5: insn_format22t
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:737:5: insn_format22t
 					{
-					pushFollow(FOLLOW_insn_format22t_in_instruction1912);
+					pushFollow(FOLLOW_insn_format22t_in_instruction1914);
 					insn_format22t();
 					state._fsp--;
 
 					}
 					break;
 				case 20 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:726:5: insn_format22x
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:738:5: insn_format22x
 					{
-					pushFollow(FOLLOW_insn_format22x_in_instruction1918);
+					pushFollow(FOLLOW_insn_format22x_in_instruction1920);
 					insn_format22x();
 					state._fsp--;
 
 					}
 					break;
 				case 21 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:727:5: insn_format23x
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:739:5: insn_format23x
 					{
-					pushFollow(FOLLOW_insn_format23x_in_instruction1924);
+					pushFollow(FOLLOW_insn_format23x_in_instruction1926);
 					insn_format23x();
 					state._fsp--;
 
 					}
 					break;
 				case 22 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:728:5: insn_format30t
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:740:5: insn_format30t
 					{
-					pushFollow(FOLLOW_insn_format30t_in_instruction1930);
+					pushFollow(FOLLOW_insn_format30t_in_instruction1932);
 					insn_format30t();
 					state._fsp--;
 
 					}
 					break;
 				case 23 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:729:5: insn_format31c
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:741:5: insn_format31c
 					{
-					pushFollow(FOLLOW_insn_format31c_in_instruction1936);
+					pushFollow(FOLLOW_insn_format31c_in_instruction1938);
 					insn_format31c();
 					state._fsp--;
 
 					}
 					break;
 				case 24 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:730:5: insn_format31i
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:742:5: insn_format31i
 					{
-					pushFollow(FOLLOW_insn_format31i_in_instruction1942);
+					pushFollow(FOLLOW_insn_format31i_in_instruction1944);
 					insn_format31i();
 					state._fsp--;
 
 					}
 					break;
 				case 25 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:731:5: insn_format31t
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:743:5: insn_format31t
 					{
-					pushFollow(FOLLOW_insn_format31t_in_instruction1948);
+					pushFollow(FOLLOW_insn_format31t_in_instruction1950);
 					insn_format31t();
 					state._fsp--;
 
 					}
 					break;
 				case 26 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:732:5: insn_format32x
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:744:5: insn_format32x
 					{
-					pushFollow(FOLLOW_insn_format32x_in_instruction1954);
+					pushFollow(FOLLOW_insn_format32x_in_instruction1956);
 					insn_format32x();
 					state._fsp--;
 
 					}
 					break;
 				case 27 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:733:5: insn_format35c_method
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:745:5: insn_format35c_method
 					{
-					pushFollow(FOLLOW_insn_format35c_method_in_instruction1960);
+					pushFollow(FOLLOW_insn_format35c_method_in_instruction1962);
 					insn_format35c_method();
 					state._fsp--;
 
 					}
 					break;
 				case 28 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:734:5: insn_format35c_type
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:746:5: insn_format35c_type
 					{
-					pushFollow(FOLLOW_insn_format35c_type_in_instruction1966);
+					pushFollow(FOLLOW_insn_format35c_type_in_instruction1968);
 					insn_format35c_type();
 					state._fsp--;
 
 					}
 					break;
 				case 29 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:735:5: insn_format3rc_method
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:747:5: insn_format3rc_method
 					{
-					pushFollow(FOLLOW_insn_format3rc_method_in_instruction1972);
+					pushFollow(FOLLOW_insn_format3rc_method_in_instruction1974);
 					insn_format3rc_method();
 					state._fsp--;
 
 					}
 					break;
 				case 30 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:736:5: insn_format3rc_type
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:748:5: insn_format3rc_type
 					{
-					pushFollow(FOLLOW_insn_format3rc_type_in_instruction1978);
+					pushFollow(FOLLOW_insn_format3rc_type_in_instruction1980);
 					insn_format3rc_type();
 					state._fsp--;
 
 					}
 					break;
 				case 31 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:737:5: insn_format51l_type
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:749:5: insn_format51l_type
 					{
-					pushFollow(FOLLOW_insn_format51l_type_in_instruction1984);
+					pushFollow(FOLLOW_insn_format51l_type_in_instruction1986);
 					insn_format51l_type();
 					state._fsp--;
 
 					}
 					break;
 				case 32 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:738:5: insn_array_data_directive
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:750:5: insn_array_data_directive
 					{
-					pushFollow(FOLLOW_insn_array_data_directive_in_instruction1990);
+					pushFollow(FOLLOW_insn_array_data_directive_in_instruction1992);
 					insn_array_data_directive();
 					state._fsp--;
 
 					}
 					break;
 				case 33 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:739:5: insn_packed_switch_directive
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:751:5: insn_packed_switch_directive
 					{
-					pushFollow(FOLLOW_insn_packed_switch_directive_in_instruction1996);
+					pushFollow(FOLLOW_insn_packed_switch_directive_in_instruction1998);
 					insn_packed_switch_directive();
 					state._fsp--;
 
 					}
 					break;
 				case 34 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:740:5: insn_sparse_switch_directive
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:752:5: insn_sparse_switch_directive
 					{
-					pushFollow(FOLLOW_insn_sparse_switch_directive_in_instruction2002);
+					pushFollow(FOLLOW_insn_sparse_switch_directive_in_instruction2004);
 					insn_sparse_switch_directive();
 					state._fsp--;
 
@@ -4428,7 +4477,7 @@
 
 			    reportError(new SemanticException(input, ((CommonTree)retval.start), ex.getMessage()));
 			    recover(input, null);
-			  
+			
 		}
 
 		finally {
@@ -4441,28 +4490,28 @@
 
 
 	// $ANTLR start "insn_format10t"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:746:1: insn_format10t : ^( I_STATEMENT_FORMAT10t INSTRUCTION_FORMAT10t label_ref ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:758:1: insn_format10t : ^( I_STATEMENT_FORMAT10t INSTRUCTION_FORMAT10t label_ref ) ;
 	public final void insn_format10t() throws RecognitionException {
 		CommonTree INSTRUCTION_FORMAT10t104=null;
 		Label label_ref105 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:747:3: ( ^( I_STATEMENT_FORMAT10t INSTRUCTION_FORMAT10t label_ref ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:748:5: ^( I_STATEMENT_FORMAT10t INSTRUCTION_FORMAT10t label_ref )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:759:3: ( ^( I_STATEMENT_FORMAT10t INSTRUCTION_FORMAT10t label_ref ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:760:5: ^( I_STATEMENT_FORMAT10t INSTRUCTION_FORMAT10t label_ref )
 			{
-			match(input,I_STATEMENT_FORMAT10t,FOLLOW_I_STATEMENT_FORMAT10t_in_insn_format10t2026); 
-			match(input, Token.DOWN, null); 
-			INSTRUCTION_FORMAT10t104=(CommonTree)match(input,INSTRUCTION_FORMAT10t,FOLLOW_INSTRUCTION_FORMAT10t_in_insn_format10t2028); 
-			pushFollow(FOLLOW_label_ref_in_insn_format10t2030);
+			match(input,I_STATEMENT_FORMAT10t,FOLLOW_I_STATEMENT_FORMAT10t_in_insn_format10t2028);
+			match(input, Token.DOWN, null);
+			INSTRUCTION_FORMAT10t104=(CommonTree)match(input,INSTRUCTION_FORMAT10t,FOLLOW_INSTRUCTION_FORMAT10t_in_insn_format10t2030);
+			pushFollow(FOLLOW_label_ref_in_insn_format10t2032);
 			label_ref105=label_ref();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 
 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT10t104!=null?INSTRUCTION_FORMAT10t104.getText():null));
 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction10t(opcode, label_ref105));
-			    
+			
 			}
 
 		}
@@ -4479,23 +4528,23 @@
 
 
 	// $ANTLR start "insn_format10x"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:754:1: insn_format10x : ^( I_STATEMENT_FORMAT10x INSTRUCTION_FORMAT10x ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:766:1: insn_format10x : ^( I_STATEMENT_FORMAT10x INSTRUCTION_FORMAT10x ) ;
 	public final void insn_format10x() throws RecognitionException {
 		CommonTree INSTRUCTION_FORMAT10x106=null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:755:3: ( ^( I_STATEMENT_FORMAT10x INSTRUCTION_FORMAT10x ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:756:5: ^( I_STATEMENT_FORMAT10x INSTRUCTION_FORMAT10x )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:767:3: ( ^( I_STATEMENT_FORMAT10x INSTRUCTION_FORMAT10x ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:768:5: ^( I_STATEMENT_FORMAT10x INSTRUCTION_FORMAT10x )
 			{
-			match(input,I_STATEMENT_FORMAT10x,FOLLOW_I_STATEMENT_FORMAT10x_in_insn_format10x2053); 
-			match(input, Token.DOWN, null); 
-			INSTRUCTION_FORMAT10x106=(CommonTree)match(input,INSTRUCTION_FORMAT10x,FOLLOW_INSTRUCTION_FORMAT10x_in_insn_format10x2055); 
-			match(input, Token.UP, null); 
+			match(input,I_STATEMENT_FORMAT10x,FOLLOW_I_STATEMENT_FORMAT10x_in_insn_format10x2055);
+			match(input, Token.DOWN, null);
+			INSTRUCTION_FORMAT10x106=(CommonTree)match(input,INSTRUCTION_FORMAT10x,FOLLOW_INSTRUCTION_FORMAT10x_in_insn_format10x2057);
+			match(input, Token.UP, null);
 
 
 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT10x106!=null?INSTRUCTION_FORMAT10x106.getText():null));
 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction10x(opcode));
-			    
+			
 			}
 
 		}
@@ -4512,25 +4561,25 @@
 
 
 	// $ANTLR start "insn_format11n"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:762:1: insn_format11n : ^( I_STATEMENT_FORMAT11n INSTRUCTION_FORMAT11n REGISTER short_integral_literal ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:774:1: insn_format11n : ^( I_STATEMENT_FORMAT11n INSTRUCTION_FORMAT11n REGISTER short_integral_literal ) ;
 	public final void insn_format11n() throws RecognitionException {
 		CommonTree INSTRUCTION_FORMAT11n107=null;
 		CommonTree REGISTER108=null;
 		short short_integral_literal109 =0;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:763:3: ( ^( I_STATEMENT_FORMAT11n INSTRUCTION_FORMAT11n REGISTER short_integral_literal ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:764:5: ^( I_STATEMENT_FORMAT11n INSTRUCTION_FORMAT11n REGISTER short_integral_literal )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:775:3: ( ^( I_STATEMENT_FORMAT11n INSTRUCTION_FORMAT11n REGISTER short_integral_literal ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:776:5: ^( I_STATEMENT_FORMAT11n INSTRUCTION_FORMAT11n REGISTER short_integral_literal )
 			{
-			match(input,I_STATEMENT_FORMAT11n,FOLLOW_I_STATEMENT_FORMAT11n_in_insn_format11n2078); 
-			match(input, Token.DOWN, null); 
-			INSTRUCTION_FORMAT11n107=(CommonTree)match(input,INSTRUCTION_FORMAT11n,FOLLOW_INSTRUCTION_FORMAT11n_in_insn_format11n2080); 
-			REGISTER108=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format11n2082); 
-			pushFollow(FOLLOW_short_integral_literal_in_insn_format11n2084);
+			match(input,I_STATEMENT_FORMAT11n,FOLLOW_I_STATEMENT_FORMAT11n_in_insn_format11n2080);
+			match(input, Token.DOWN, null);
+			INSTRUCTION_FORMAT11n107=(CommonTree)match(input,INSTRUCTION_FORMAT11n,FOLLOW_INSTRUCTION_FORMAT11n_in_insn_format11n2082);
+			REGISTER108=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format11n2084);
+			pushFollow(FOLLOW_short_integral_literal_in_insn_format11n2086);
 			short_integral_literal109=short_integral_literal();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 
 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT11n107!=null?INSTRUCTION_FORMAT11n107.getText():null));
@@ -4540,7 +4589,7 @@
 			      LiteralTools.checkNibble(litB);
 
 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction11n(opcode, regA, litB));
-			    
+			
 			}
 
 		}
@@ -4557,27 +4606,27 @@
 
 
 	// $ANTLR start "insn_format11x"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:775:1: insn_format11x : ^( I_STATEMENT_FORMAT11x INSTRUCTION_FORMAT11x REGISTER ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:787:1: insn_format11x : ^( I_STATEMENT_FORMAT11x INSTRUCTION_FORMAT11x REGISTER ) ;
 	public final void insn_format11x() throws RecognitionException {
 		CommonTree INSTRUCTION_FORMAT11x110=null;
 		CommonTree REGISTER111=null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:776:3: ( ^( I_STATEMENT_FORMAT11x INSTRUCTION_FORMAT11x REGISTER ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:777:5: ^( I_STATEMENT_FORMAT11x INSTRUCTION_FORMAT11x REGISTER )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:788:3: ( ^( I_STATEMENT_FORMAT11x INSTRUCTION_FORMAT11x REGISTER ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:789:5: ^( I_STATEMENT_FORMAT11x INSTRUCTION_FORMAT11x REGISTER )
 			{
-			match(input,I_STATEMENT_FORMAT11x,FOLLOW_I_STATEMENT_FORMAT11x_in_insn_format11x2107); 
-			match(input, Token.DOWN, null); 
-			INSTRUCTION_FORMAT11x110=(CommonTree)match(input,INSTRUCTION_FORMAT11x,FOLLOW_INSTRUCTION_FORMAT11x_in_insn_format11x2109); 
-			REGISTER111=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format11x2111); 
-			match(input, Token.UP, null); 
+			match(input,I_STATEMENT_FORMAT11x,FOLLOW_I_STATEMENT_FORMAT11x_in_insn_format11x2109);
+			match(input, Token.DOWN, null);
+			INSTRUCTION_FORMAT11x110=(CommonTree)match(input,INSTRUCTION_FORMAT11x,FOLLOW_INSTRUCTION_FORMAT11x_in_insn_format11x2111);
+			REGISTER111=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format11x2113);
+			match(input, Token.UP, null);
 
 
 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT11x110!=null?INSTRUCTION_FORMAT11x110.getText():null));
 			      short regA = parseRegister_byte((REGISTER111!=null?REGISTER111.getText():null));
 
 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction11x(opcode, regA));
-			    
+			
 			}
 
 		}
@@ -4594,22 +4643,22 @@
 
 
 	// $ANTLR start "insn_format12x"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:785:1: insn_format12x : ^( I_STATEMENT_FORMAT12x INSTRUCTION_FORMAT12x registerA= REGISTER registerB= REGISTER ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:797:1: insn_format12x : ^( I_STATEMENT_FORMAT12x INSTRUCTION_FORMAT12x registerA= REGISTER registerB= REGISTER ) ;
 	public final void insn_format12x() throws RecognitionException {
 		CommonTree registerA=null;
 		CommonTree registerB=null;
 		CommonTree INSTRUCTION_FORMAT12x112=null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:786:3: ( ^( I_STATEMENT_FORMAT12x INSTRUCTION_FORMAT12x registerA= REGISTER registerB= REGISTER ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:787:5: ^( I_STATEMENT_FORMAT12x INSTRUCTION_FORMAT12x registerA= REGISTER registerB= REGISTER )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:798:3: ( ^( I_STATEMENT_FORMAT12x INSTRUCTION_FORMAT12x registerA= REGISTER registerB= REGISTER ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:799:5: ^( I_STATEMENT_FORMAT12x INSTRUCTION_FORMAT12x registerA= REGISTER registerB= REGISTER )
 			{
-			match(input,I_STATEMENT_FORMAT12x,FOLLOW_I_STATEMENT_FORMAT12x_in_insn_format12x2134); 
-			match(input, Token.DOWN, null); 
-			INSTRUCTION_FORMAT12x112=(CommonTree)match(input,INSTRUCTION_FORMAT12x,FOLLOW_INSTRUCTION_FORMAT12x_in_insn_format12x2136); 
-			registerA=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format12x2140); 
-			registerB=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format12x2144); 
-			match(input, Token.UP, null); 
+			match(input,I_STATEMENT_FORMAT12x,FOLLOW_I_STATEMENT_FORMAT12x_in_insn_format12x2136);
+			match(input, Token.DOWN, null);
+			INSTRUCTION_FORMAT12x112=(CommonTree)match(input,INSTRUCTION_FORMAT12x,FOLLOW_INSTRUCTION_FORMAT12x_in_insn_format12x2138);
+			registerA=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format12x2142);
+			registerB=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format12x2146);
+			match(input, Token.UP, null);
 
 
 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT12x112!=null?INSTRUCTION_FORMAT12x112.getText():null));
@@ -4617,7 +4666,7 @@
 			      byte regB = parseRegister_nibble((registerB!=null?registerB.getText():null));
 
 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction12x(opcode, regA, regB));
-			    
+			
 			}
 
 		}
@@ -4634,28 +4683,28 @@
 
 
 	// $ANTLR start "insn_format20bc"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:796:1: insn_format20bc : ^( I_STATEMENT_FORMAT20bc INSTRUCTION_FORMAT20bc verification_error_type verification_error_reference ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:808:1: insn_format20bc : ^( I_STATEMENT_FORMAT20bc INSTRUCTION_FORMAT20bc verification_error_type verification_error_reference ) ;
 	public final void insn_format20bc() throws RecognitionException {
 		CommonTree INSTRUCTION_FORMAT20bc113=null;
 		int verification_error_type114 =0;
 		ImmutableReference verification_error_reference115 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:797:3: ( ^( I_STATEMENT_FORMAT20bc INSTRUCTION_FORMAT20bc verification_error_type verification_error_reference ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:798:5: ^( I_STATEMENT_FORMAT20bc INSTRUCTION_FORMAT20bc verification_error_type verification_error_reference )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:809:3: ( ^( I_STATEMENT_FORMAT20bc INSTRUCTION_FORMAT20bc verification_error_type verification_error_reference ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:810:5: ^( I_STATEMENT_FORMAT20bc INSTRUCTION_FORMAT20bc verification_error_type verification_error_reference )
 			{
-			match(input,I_STATEMENT_FORMAT20bc,FOLLOW_I_STATEMENT_FORMAT20bc_in_insn_format20bc2167); 
-			match(input, Token.DOWN, null); 
-			INSTRUCTION_FORMAT20bc113=(CommonTree)match(input,INSTRUCTION_FORMAT20bc,FOLLOW_INSTRUCTION_FORMAT20bc_in_insn_format20bc2169); 
-			pushFollow(FOLLOW_verification_error_type_in_insn_format20bc2171);
+			match(input,I_STATEMENT_FORMAT20bc,FOLLOW_I_STATEMENT_FORMAT20bc_in_insn_format20bc2169);
+			match(input, Token.DOWN, null);
+			INSTRUCTION_FORMAT20bc113=(CommonTree)match(input,INSTRUCTION_FORMAT20bc,FOLLOW_INSTRUCTION_FORMAT20bc_in_insn_format20bc2171);
+			pushFollow(FOLLOW_verification_error_type_in_insn_format20bc2173);
 			verification_error_type114=verification_error_type();
 			state._fsp--;
 
-			pushFollow(FOLLOW_verification_error_reference_in_insn_format20bc2173);
+			pushFollow(FOLLOW_verification_error_reference_in_insn_format20bc2175);
 			verification_error_reference115=verification_error_reference();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 
 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT20bc113!=null?INSTRUCTION_FORMAT20bc113.getText():null));
@@ -4665,7 +4714,7 @@
 
 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction20bc(opcode, verificationError,
 			              dexBuilder.internReference(referencedItem)));
-			    
+			
 			}
 
 		}
@@ -4682,28 +4731,28 @@
 
 
 	// $ANTLR start "insn_format20t"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:809:1: insn_format20t : ^( I_STATEMENT_FORMAT20t INSTRUCTION_FORMAT20t label_ref ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:821:1: insn_format20t : ^( I_STATEMENT_FORMAT20t INSTRUCTION_FORMAT20t label_ref ) ;
 	public final void insn_format20t() throws RecognitionException {
 		CommonTree INSTRUCTION_FORMAT20t116=null;
 		Label label_ref117 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:810:3: ( ^( I_STATEMENT_FORMAT20t INSTRUCTION_FORMAT20t label_ref ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:811:5: ^( I_STATEMENT_FORMAT20t INSTRUCTION_FORMAT20t label_ref )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:822:3: ( ^( I_STATEMENT_FORMAT20t INSTRUCTION_FORMAT20t label_ref ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:823:5: ^( I_STATEMENT_FORMAT20t INSTRUCTION_FORMAT20t label_ref )
 			{
-			match(input,I_STATEMENT_FORMAT20t,FOLLOW_I_STATEMENT_FORMAT20t_in_insn_format20t2196); 
-			match(input, Token.DOWN, null); 
-			INSTRUCTION_FORMAT20t116=(CommonTree)match(input,INSTRUCTION_FORMAT20t,FOLLOW_INSTRUCTION_FORMAT20t_in_insn_format20t2198); 
-			pushFollow(FOLLOW_label_ref_in_insn_format20t2200);
+			match(input,I_STATEMENT_FORMAT20t,FOLLOW_I_STATEMENT_FORMAT20t_in_insn_format20t2198);
+			match(input, Token.DOWN, null);
+			INSTRUCTION_FORMAT20t116=(CommonTree)match(input,INSTRUCTION_FORMAT20t,FOLLOW_INSTRUCTION_FORMAT20t_in_insn_format20t2200);
+			pushFollow(FOLLOW_label_ref_in_insn_format20t2202);
 			label_ref117=label_ref();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 
 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT20t116!=null?INSTRUCTION_FORMAT20t116.getText():null));
 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction20t(opcode, label_ref117));
-			    
+			
 			}
 
 		}
@@ -4720,18 +4769,18 @@
 
 
 	// $ANTLR start "insn_format21c_field"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:817:1: insn_format21c_field : ^( I_STATEMENT_FORMAT21c_FIELD inst= ( INSTRUCTION_FORMAT21c_FIELD | INSTRUCTION_FORMAT21c_FIELD_ODEX ) REGISTER fully_qualified_field ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:829:1: insn_format21c_field : ^( I_STATEMENT_FORMAT21c_FIELD inst= ( INSTRUCTION_FORMAT21c_FIELD | INSTRUCTION_FORMAT21c_FIELD_ODEX ) REGISTER field_reference ) ;
 	public final void insn_format21c_field() throws RecognitionException {
 		CommonTree inst=null;
 		CommonTree REGISTER118=null;
-		ImmutableFieldReference fully_qualified_field119 =null;
+		ImmutableFieldReference field_reference119 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:818:3: ( ^( I_STATEMENT_FORMAT21c_FIELD inst= ( INSTRUCTION_FORMAT21c_FIELD | INSTRUCTION_FORMAT21c_FIELD_ODEX ) REGISTER fully_qualified_field ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:819:5: ^( I_STATEMENT_FORMAT21c_FIELD inst= ( INSTRUCTION_FORMAT21c_FIELD | INSTRUCTION_FORMAT21c_FIELD_ODEX ) REGISTER fully_qualified_field )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:830:3: ( ^( I_STATEMENT_FORMAT21c_FIELD inst= ( INSTRUCTION_FORMAT21c_FIELD | INSTRUCTION_FORMAT21c_FIELD_ODEX ) REGISTER field_reference ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:831:5: ^( I_STATEMENT_FORMAT21c_FIELD inst= ( INSTRUCTION_FORMAT21c_FIELD | INSTRUCTION_FORMAT21c_FIELD_ODEX ) REGISTER field_reference )
 			{
-			match(input,I_STATEMENT_FORMAT21c_FIELD,FOLLOW_I_STATEMENT_FORMAT21c_FIELD_in_insn_format21c_field2223); 
-			match(input, Token.DOWN, null); 
+			match(input,I_STATEMENT_FORMAT21c_FIELD,FOLLOW_I_STATEMENT_FORMAT21c_FIELD_in_insn_format21c_field2225);
+			match(input, Token.DOWN, null);
 			inst=(CommonTree)input.LT(1);
 			if ( (input.LA(1) >= INSTRUCTION_FORMAT21c_FIELD && input.LA(1) <= INSTRUCTION_FORMAT21c_FIELD_ODEX) ) {
 				input.consume();
@@ -4741,22 +4790,22 @@
 				MismatchedSetException mse = new MismatchedSetException(null,input);
 				throw mse;
 			}
-			REGISTER118=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21c_field2235); 
-			pushFollow(FOLLOW_fully_qualified_field_in_insn_format21c_field2237);
-			fully_qualified_field119=fully_qualified_field();
+			REGISTER118=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21c_field2237);
+			pushFollow(FOLLOW_field_reference_in_insn_format21c_field2239);
+			field_reference119=field_reference();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 
 			      Opcode opcode = opcodes.getOpcodeByName((inst!=null?inst.getText():null));
 			      short regA = parseRegister_byte((REGISTER118!=null?REGISTER118.getText():null));
 
-			      ImmutableFieldReference fieldReference = fully_qualified_field119;
+			      ImmutableFieldReference fieldReference = field_reference119;
 
 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction21c(opcode, regA,
 			              dexBuilder.internFieldReference(fieldReference)));
-			    
+			
 			}
 
 		}
@@ -4773,25 +4822,25 @@
 
 
 	// $ANTLR start "insn_format21c_string"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:830:1: insn_format21c_string : ^( I_STATEMENT_FORMAT21c_STRING INSTRUCTION_FORMAT21c_STRING REGISTER string_literal ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:842:1: insn_format21c_string : ^( I_STATEMENT_FORMAT21c_STRING INSTRUCTION_FORMAT21c_STRING REGISTER string_literal ) ;
 	public final void insn_format21c_string() throws RecognitionException {
 		CommonTree INSTRUCTION_FORMAT21c_STRING120=null;
 		CommonTree REGISTER121=null;
 		String string_literal122 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:831:3: ( ^( I_STATEMENT_FORMAT21c_STRING INSTRUCTION_FORMAT21c_STRING REGISTER string_literal ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:832:5: ^( I_STATEMENT_FORMAT21c_STRING INSTRUCTION_FORMAT21c_STRING REGISTER string_literal )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:843:3: ( ^( I_STATEMENT_FORMAT21c_STRING INSTRUCTION_FORMAT21c_STRING REGISTER string_literal ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:844:5: ^( I_STATEMENT_FORMAT21c_STRING INSTRUCTION_FORMAT21c_STRING REGISTER string_literal )
 			{
-			match(input,I_STATEMENT_FORMAT21c_STRING,FOLLOW_I_STATEMENT_FORMAT21c_STRING_in_insn_format21c_string2260); 
-			match(input, Token.DOWN, null); 
-			INSTRUCTION_FORMAT21c_STRING120=(CommonTree)match(input,INSTRUCTION_FORMAT21c_STRING,FOLLOW_INSTRUCTION_FORMAT21c_STRING_in_insn_format21c_string2262); 
-			REGISTER121=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21c_string2264); 
-			pushFollow(FOLLOW_string_literal_in_insn_format21c_string2266);
+			match(input,I_STATEMENT_FORMAT21c_STRING,FOLLOW_I_STATEMENT_FORMAT21c_STRING_in_insn_format21c_string2262);
+			match(input, Token.DOWN, null);
+			INSTRUCTION_FORMAT21c_STRING120=(CommonTree)match(input,INSTRUCTION_FORMAT21c_STRING,FOLLOW_INSTRUCTION_FORMAT21c_STRING_in_insn_format21c_string2264);
+			REGISTER121=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21c_string2266);
+			pushFollow(FOLLOW_string_literal_in_insn_format21c_string2268);
 			string_literal122=string_literal();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 
 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT21c_STRING120!=null?INSTRUCTION_FORMAT21c_STRING120.getText():null));
@@ -4799,7 +4848,7 @@
 
 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction21c(opcode, regA,
 			              dexBuilder.internStringReference(string_literal122)));
-			    
+			
 			}
 
 		}
@@ -4816,25 +4865,25 @@
 
 
 	// $ANTLR start "insn_format21c_type"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:841:1: insn_format21c_type : ^( I_STATEMENT_FORMAT21c_TYPE INSTRUCTION_FORMAT21c_TYPE REGISTER nonvoid_type_descriptor ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:853:1: insn_format21c_type : ^( I_STATEMENT_FORMAT21c_TYPE INSTRUCTION_FORMAT21c_TYPE REGISTER nonvoid_type_descriptor ) ;
 	public final void insn_format21c_type() throws RecognitionException {
 		CommonTree INSTRUCTION_FORMAT21c_TYPE123=null;
 		CommonTree REGISTER124=null;
 		TreeRuleReturnScope nonvoid_type_descriptor125 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:842:3: ( ^( I_STATEMENT_FORMAT21c_TYPE INSTRUCTION_FORMAT21c_TYPE REGISTER nonvoid_type_descriptor ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:843:5: ^( I_STATEMENT_FORMAT21c_TYPE INSTRUCTION_FORMAT21c_TYPE REGISTER nonvoid_type_descriptor )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:854:3: ( ^( I_STATEMENT_FORMAT21c_TYPE INSTRUCTION_FORMAT21c_TYPE REGISTER nonvoid_type_descriptor ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:855:5: ^( I_STATEMENT_FORMAT21c_TYPE INSTRUCTION_FORMAT21c_TYPE REGISTER nonvoid_type_descriptor )
 			{
-			match(input,I_STATEMENT_FORMAT21c_TYPE,FOLLOW_I_STATEMENT_FORMAT21c_TYPE_in_insn_format21c_type2289); 
-			match(input, Token.DOWN, null); 
-			INSTRUCTION_FORMAT21c_TYPE123=(CommonTree)match(input,INSTRUCTION_FORMAT21c_TYPE,FOLLOW_INSTRUCTION_FORMAT21c_TYPE_in_insn_format21c_type2291); 
-			REGISTER124=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21c_type2293); 
-			pushFollow(FOLLOW_nonvoid_type_descriptor_in_insn_format21c_type2295);
+			match(input,I_STATEMENT_FORMAT21c_TYPE,FOLLOW_I_STATEMENT_FORMAT21c_TYPE_in_insn_format21c_type2291);
+			match(input, Token.DOWN, null);
+			INSTRUCTION_FORMAT21c_TYPE123=(CommonTree)match(input,INSTRUCTION_FORMAT21c_TYPE,FOLLOW_INSTRUCTION_FORMAT21c_TYPE_in_insn_format21c_type2293);
+			REGISTER124=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21c_type2295);
+			pushFollow(FOLLOW_nonvoid_type_descriptor_in_insn_format21c_type2297);
 			nonvoid_type_descriptor125=nonvoid_type_descriptor();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 
 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT21c_TYPE123!=null?INSTRUCTION_FORMAT21c_TYPE123.getText():null));
@@ -4842,7 +4891,7 @@
 
 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction21c(opcode, regA,
 			              dexBuilder.internTypeReference((nonvoid_type_descriptor125!=null?((smaliTreeWalker.nonvoid_type_descriptor_return)nonvoid_type_descriptor125).type:null))));
-			    
+			
 			}
 
 		}
@@ -4859,25 +4908,25 @@
 
 
 	// $ANTLR start "insn_format21ih"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:852:1: insn_format21ih : ^( I_STATEMENT_FORMAT21ih INSTRUCTION_FORMAT21ih REGISTER fixed_32bit_literal ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:864:1: insn_format21ih : ^( I_STATEMENT_FORMAT21ih INSTRUCTION_FORMAT21ih REGISTER fixed_32bit_literal ) ;
 	public final void insn_format21ih() throws RecognitionException {
 		CommonTree INSTRUCTION_FORMAT21ih126=null;
 		CommonTree REGISTER127=null;
 		int fixed_32bit_literal128 =0;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:853:3: ( ^( I_STATEMENT_FORMAT21ih INSTRUCTION_FORMAT21ih REGISTER fixed_32bit_literal ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:854:5: ^( I_STATEMENT_FORMAT21ih INSTRUCTION_FORMAT21ih REGISTER fixed_32bit_literal )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:865:3: ( ^( I_STATEMENT_FORMAT21ih INSTRUCTION_FORMAT21ih REGISTER fixed_32bit_literal ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:866:5: ^( I_STATEMENT_FORMAT21ih INSTRUCTION_FORMAT21ih REGISTER fixed_32bit_literal )
 			{
-			match(input,I_STATEMENT_FORMAT21ih,FOLLOW_I_STATEMENT_FORMAT21ih_in_insn_format21ih2318); 
-			match(input, Token.DOWN, null); 
-			INSTRUCTION_FORMAT21ih126=(CommonTree)match(input,INSTRUCTION_FORMAT21ih,FOLLOW_INSTRUCTION_FORMAT21ih_in_insn_format21ih2320); 
-			REGISTER127=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21ih2322); 
-			pushFollow(FOLLOW_fixed_32bit_literal_in_insn_format21ih2324);
+			match(input,I_STATEMENT_FORMAT21ih,FOLLOW_I_STATEMENT_FORMAT21ih_in_insn_format21ih2320);
+			match(input, Token.DOWN, null);
+			INSTRUCTION_FORMAT21ih126=(CommonTree)match(input,INSTRUCTION_FORMAT21ih,FOLLOW_INSTRUCTION_FORMAT21ih_in_insn_format21ih2322);
+			REGISTER127=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21ih2324);
+			pushFollow(FOLLOW_fixed_32bit_literal_in_insn_format21ih2326);
 			fixed_32bit_literal128=fixed_32bit_literal();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 
 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT21ih126!=null?INSTRUCTION_FORMAT21ih126.getText():null));
@@ -4886,7 +4935,7 @@
 			      int litB = fixed_32bit_literal128;
 
 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction21ih(opcode, regA, litB));
-			    
+			
 			}
 
 		}
@@ -4903,25 +4952,25 @@
 
 
 	// $ANTLR start "insn_format21lh"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:864:1: insn_format21lh : ^( I_STATEMENT_FORMAT21lh INSTRUCTION_FORMAT21lh REGISTER fixed_64bit_literal ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:876:1: insn_format21lh : ^( I_STATEMENT_FORMAT21lh INSTRUCTION_FORMAT21lh REGISTER fixed_64bit_literal ) ;
 	public final void insn_format21lh() throws RecognitionException {
 		CommonTree INSTRUCTION_FORMAT21lh129=null;
 		CommonTree REGISTER130=null;
 		long fixed_64bit_literal131 =0;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:865:3: ( ^( I_STATEMENT_FORMAT21lh INSTRUCTION_FORMAT21lh REGISTER fixed_64bit_literal ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:866:5: ^( I_STATEMENT_FORMAT21lh INSTRUCTION_FORMAT21lh REGISTER fixed_64bit_literal )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:877:3: ( ^( I_STATEMENT_FORMAT21lh INSTRUCTION_FORMAT21lh REGISTER fixed_64bit_literal ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:878:5: ^( I_STATEMENT_FORMAT21lh INSTRUCTION_FORMAT21lh REGISTER fixed_64bit_literal )
 			{
-			match(input,I_STATEMENT_FORMAT21lh,FOLLOW_I_STATEMENT_FORMAT21lh_in_insn_format21lh2347); 
-			match(input, Token.DOWN, null); 
-			INSTRUCTION_FORMAT21lh129=(CommonTree)match(input,INSTRUCTION_FORMAT21lh,FOLLOW_INSTRUCTION_FORMAT21lh_in_insn_format21lh2349); 
-			REGISTER130=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21lh2351); 
-			pushFollow(FOLLOW_fixed_64bit_literal_in_insn_format21lh2353);
+			match(input,I_STATEMENT_FORMAT21lh,FOLLOW_I_STATEMENT_FORMAT21lh_in_insn_format21lh2349);
+			match(input, Token.DOWN, null);
+			INSTRUCTION_FORMAT21lh129=(CommonTree)match(input,INSTRUCTION_FORMAT21lh,FOLLOW_INSTRUCTION_FORMAT21lh_in_insn_format21lh2351);
+			REGISTER130=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21lh2353);
+			pushFollow(FOLLOW_fixed_64bit_literal_in_insn_format21lh2355);
 			fixed_64bit_literal131=fixed_64bit_literal();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 
 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT21lh129!=null?INSTRUCTION_FORMAT21lh129.getText():null));
@@ -4930,7 +4979,7 @@
 			      long litB = fixed_64bit_literal131;
 
 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction21lh(opcode, regA, litB));
-			    
+			
 			}
 
 		}
@@ -4947,25 +4996,25 @@
 
 
 	// $ANTLR start "insn_format21s"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:876:1: insn_format21s : ^( I_STATEMENT_FORMAT21s INSTRUCTION_FORMAT21s REGISTER short_integral_literal ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:888:1: insn_format21s : ^( I_STATEMENT_FORMAT21s INSTRUCTION_FORMAT21s REGISTER short_integral_literal ) ;
 	public final void insn_format21s() throws RecognitionException {
 		CommonTree INSTRUCTION_FORMAT21s132=null;
 		CommonTree REGISTER133=null;
 		short short_integral_literal134 =0;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:877:3: ( ^( I_STATEMENT_FORMAT21s INSTRUCTION_FORMAT21s REGISTER short_integral_literal ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:878:5: ^( I_STATEMENT_FORMAT21s INSTRUCTION_FORMAT21s REGISTER short_integral_literal )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:889:3: ( ^( I_STATEMENT_FORMAT21s INSTRUCTION_FORMAT21s REGISTER short_integral_literal ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:890:5: ^( I_STATEMENT_FORMAT21s INSTRUCTION_FORMAT21s REGISTER short_integral_literal )
 			{
-			match(input,I_STATEMENT_FORMAT21s,FOLLOW_I_STATEMENT_FORMAT21s_in_insn_format21s2376); 
-			match(input, Token.DOWN, null); 
-			INSTRUCTION_FORMAT21s132=(CommonTree)match(input,INSTRUCTION_FORMAT21s,FOLLOW_INSTRUCTION_FORMAT21s_in_insn_format21s2378); 
-			REGISTER133=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21s2380); 
-			pushFollow(FOLLOW_short_integral_literal_in_insn_format21s2382);
+			match(input,I_STATEMENT_FORMAT21s,FOLLOW_I_STATEMENT_FORMAT21s_in_insn_format21s2378);
+			match(input, Token.DOWN, null);
+			INSTRUCTION_FORMAT21s132=(CommonTree)match(input,INSTRUCTION_FORMAT21s,FOLLOW_INSTRUCTION_FORMAT21s_in_insn_format21s2380);
+			REGISTER133=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21s2382);
+			pushFollow(FOLLOW_short_integral_literal_in_insn_format21s2384);
 			short_integral_literal134=short_integral_literal();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 
 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT21s132!=null?INSTRUCTION_FORMAT21s132.getText():null));
@@ -4974,7 +5023,7 @@
 			      short litB = short_integral_literal134;
 
 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction21s(opcode, regA, litB));
-			    
+			
 			}
 
 		}
@@ -4991,32 +5040,32 @@
 
 
 	// $ANTLR start "insn_format21t"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:888:1: insn_format21t : ^( I_STATEMENT_FORMAT21t INSTRUCTION_FORMAT21t REGISTER label_ref ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:900:1: insn_format21t : ^( I_STATEMENT_FORMAT21t INSTRUCTION_FORMAT21t REGISTER label_ref ) ;
 	public final void insn_format21t() throws RecognitionException {
 		CommonTree INSTRUCTION_FORMAT21t135=null;
 		CommonTree REGISTER136=null;
 		Label label_ref137 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:889:3: ( ^( I_STATEMENT_FORMAT21t INSTRUCTION_FORMAT21t REGISTER label_ref ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:890:5: ^( I_STATEMENT_FORMAT21t INSTRUCTION_FORMAT21t REGISTER label_ref )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:901:3: ( ^( I_STATEMENT_FORMAT21t INSTRUCTION_FORMAT21t REGISTER label_ref ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:902:5: ^( I_STATEMENT_FORMAT21t INSTRUCTION_FORMAT21t REGISTER label_ref )
 			{
-			match(input,I_STATEMENT_FORMAT21t,FOLLOW_I_STATEMENT_FORMAT21t_in_insn_format21t2405); 
-			match(input, Token.DOWN, null); 
-			INSTRUCTION_FORMAT21t135=(CommonTree)match(input,INSTRUCTION_FORMAT21t,FOLLOW_INSTRUCTION_FORMAT21t_in_insn_format21t2407); 
-			REGISTER136=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21t2409); 
-			pushFollow(FOLLOW_label_ref_in_insn_format21t2411);
+			match(input,I_STATEMENT_FORMAT21t,FOLLOW_I_STATEMENT_FORMAT21t_in_insn_format21t2407);
+			match(input, Token.DOWN, null);
+			INSTRUCTION_FORMAT21t135=(CommonTree)match(input,INSTRUCTION_FORMAT21t,FOLLOW_INSTRUCTION_FORMAT21t_in_insn_format21t2409);
+			REGISTER136=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format21t2411);
+			pushFollow(FOLLOW_label_ref_in_insn_format21t2413);
 			label_ref137=label_ref();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 
 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT21t135!=null?INSTRUCTION_FORMAT21t135.getText():null));
 			      short regA = parseRegister_byte((REGISTER136!=null?REGISTER136.getText():null));
 
 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction21t(opcode, regA, label_ref137));
-			    
+			
 			}
 
 		}
@@ -5033,7 +5082,7 @@
 
 
 	// $ANTLR start "insn_format22b"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:898:1: insn_format22b : ^( I_STATEMENT_FORMAT22b INSTRUCTION_FORMAT22b registerA= REGISTER registerB= REGISTER short_integral_literal ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:910:1: insn_format22b : ^( I_STATEMENT_FORMAT22b INSTRUCTION_FORMAT22b registerA= REGISTER registerB= REGISTER short_integral_literal ) ;
 	public final void insn_format22b() throws RecognitionException {
 		CommonTree registerA=null;
 		CommonTree registerB=null;
@@ -5041,19 +5090,19 @@
 		short short_integral_literal139 =0;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:899:3: ( ^( I_STATEMENT_FORMAT22b INSTRUCTION_FORMAT22b registerA= REGISTER registerB= REGISTER short_integral_literal ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:900:5: ^( I_STATEMENT_FORMAT22b INSTRUCTION_FORMAT22b registerA= REGISTER registerB= REGISTER short_integral_literal )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:911:3: ( ^( I_STATEMENT_FORMAT22b INSTRUCTION_FORMAT22b registerA= REGISTER registerB= REGISTER short_integral_literal ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:912:5: ^( I_STATEMENT_FORMAT22b INSTRUCTION_FORMAT22b registerA= REGISTER registerB= REGISTER short_integral_literal )
 			{
-			match(input,I_STATEMENT_FORMAT22b,FOLLOW_I_STATEMENT_FORMAT22b_in_insn_format22b2434); 
-			match(input, Token.DOWN, null); 
-			INSTRUCTION_FORMAT22b138=(CommonTree)match(input,INSTRUCTION_FORMAT22b,FOLLOW_INSTRUCTION_FORMAT22b_in_insn_format22b2436); 
-			registerA=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22b2440); 
-			registerB=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22b2444); 
-			pushFollow(FOLLOW_short_integral_literal_in_insn_format22b2446);
+			match(input,I_STATEMENT_FORMAT22b,FOLLOW_I_STATEMENT_FORMAT22b_in_insn_format22b2436);
+			match(input, Token.DOWN, null);
+			INSTRUCTION_FORMAT22b138=(CommonTree)match(input,INSTRUCTION_FORMAT22b,FOLLOW_INSTRUCTION_FORMAT22b_in_insn_format22b2438);
+			registerA=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22b2442);
+			registerB=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22b2446);
+			pushFollow(FOLLOW_short_integral_literal_in_insn_format22b2448);
 			short_integral_literal139=short_integral_literal();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 
 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT22b138!=null?INSTRUCTION_FORMAT22b138.getText():null));
@@ -5064,7 +5113,7 @@
 			      LiteralTools.checkByte(litC);
 
 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction22b(opcode, regA, regB, litC));
-			    
+			
 			}
 
 		}
@@ -5081,19 +5130,19 @@
 
 
 	// $ANTLR start "insn_format22c_field"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:912:1: insn_format22c_field : ^( I_STATEMENT_FORMAT22c_FIELD inst= ( INSTRUCTION_FORMAT22c_FIELD | INSTRUCTION_FORMAT22c_FIELD_ODEX ) registerA= REGISTER registerB= REGISTER fully_qualified_field ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:924:1: insn_format22c_field : ^( I_STATEMENT_FORMAT22c_FIELD inst= ( INSTRUCTION_FORMAT22c_FIELD | INSTRUCTION_FORMAT22c_FIELD_ODEX ) registerA= REGISTER registerB= REGISTER field_reference ) ;
 	public final void insn_format22c_field() throws RecognitionException {
 		CommonTree inst=null;
 		CommonTree registerA=null;
 		CommonTree registerB=null;
-		ImmutableFieldReference fully_qualified_field140 =null;
+		ImmutableFieldReference field_reference140 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:913:3: ( ^( I_STATEMENT_FORMAT22c_FIELD inst= ( INSTRUCTION_FORMAT22c_FIELD | INSTRUCTION_FORMAT22c_FIELD_ODEX ) registerA= REGISTER registerB= REGISTER fully_qualified_field ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:914:5: ^( I_STATEMENT_FORMAT22c_FIELD inst= ( INSTRUCTION_FORMAT22c_FIELD | INSTRUCTION_FORMAT22c_FIELD_ODEX ) registerA= REGISTER registerB= REGISTER fully_qualified_field )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:925:3: ( ^( I_STATEMENT_FORMAT22c_FIELD inst= ( INSTRUCTION_FORMAT22c_FIELD | INSTRUCTION_FORMAT22c_FIELD_ODEX ) registerA= REGISTER registerB= REGISTER field_reference ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:926:5: ^( I_STATEMENT_FORMAT22c_FIELD inst= ( INSTRUCTION_FORMAT22c_FIELD | INSTRUCTION_FORMAT22c_FIELD_ODEX ) registerA= REGISTER registerB= REGISTER field_reference )
 			{
-			match(input,I_STATEMENT_FORMAT22c_FIELD,FOLLOW_I_STATEMENT_FORMAT22c_FIELD_in_insn_format22c_field2469); 
-			match(input, Token.DOWN, null); 
+			match(input,I_STATEMENT_FORMAT22c_FIELD,FOLLOW_I_STATEMENT_FORMAT22c_FIELD_in_insn_format22c_field2471);
+			match(input, Token.DOWN, null);
 			inst=(CommonTree)input.LT(1);
 			if ( (input.LA(1) >= INSTRUCTION_FORMAT22c_FIELD && input.LA(1) <= INSTRUCTION_FORMAT22c_FIELD_ODEX) ) {
 				input.consume();
@@ -5103,24 +5152,24 @@
 				MismatchedSetException mse = new MismatchedSetException(null,input);
 				throw mse;
 			}
-			registerA=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22c_field2483); 
-			registerB=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22c_field2487); 
-			pushFollow(FOLLOW_fully_qualified_field_in_insn_format22c_field2489);
-			fully_qualified_field140=fully_qualified_field();
+			registerA=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22c_field2485);
+			registerB=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22c_field2489);
+			pushFollow(FOLLOW_field_reference_in_insn_format22c_field2491);
+			field_reference140=field_reference();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 
 			      Opcode opcode = opcodes.getOpcodeByName((inst!=null?inst.getText():null));
 			      byte regA = parseRegister_nibble((registerA!=null?registerA.getText():null));
 			      byte regB = parseRegister_nibble((registerB!=null?registerB.getText():null));
 
-			      ImmutableFieldReference fieldReference = fully_qualified_field140;
+			      ImmutableFieldReference fieldReference = field_reference140;
 
 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction22c(opcode, regA, regB,
 			              dexBuilder.internFieldReference(fieldReference)));
-			    
+			
 			}
 
 		}
@@ -5137,7 +5186,7 @@
 
 
 	// $ANTLR start "insn_format22c_type"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:926:1: insn_format22c_type : ^( I_STATEMENT_FORMAT22c_TYPE INSTRUCTION_FORMAT22c_TYPE registerA= REGISTER registerB= REGISTER nonvoid_type_descriptor ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:938:1: insn_format22c_type : ^( I_STATEMENT_FORMAT22c_TYPE INSTRUCTION_FORMAT22c_TYPE registerA= REGISTER registerB= REGISTER nonvoid_type_descriptor ) ;
 	public final void insn_format22c_type() throws RecognitionException {
 		CommonTree registerA=null;
 		CommonTree registerB=null;
@@ -5145,19 +5194,19 @@
 		TreeRuleReturnScope nonvoid_type_descriptor142 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:927:3: ( ^( I_STATEMENT_FORMAT22c_TYPE INSTRUCTION_FORMAT22c_TYPE registerA= REGISTER registerB= REGISTER nonvoid_type_descriptor ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:928:5: ^( I_STATEMENT_FORMAT22c_TYPE INSTRUCTION_FORMAT22c_TYPE registerA= REGISTER registerB= REGISTER nonvoid_type_descriptor )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:939:3: ( ^( I_STATEMENT_FORMAT22c_TYPE INSTRUCTION_FORMAT22c_TYPE registerA= REGISTER registerB= REGISTER nonvoid_type_descriptor ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:940:5: ^( I_STATEMENT_FORMAT22c_TYPE INSTRUCTION_FORMAT22c_TYPE registerA= REGISTER registerB= REGISTER nonvoid_type_descriptor )
 			{
-			match(input,I_STATEMENT_FORMAT22c_TYPE,FOLLOW_I_STATEMENT_FORMAT22c_TYPE_in_insn_format22c_type2512); 
-			match(input, Token.DOWN, null); 
-			INSTRUCTION_FORMAT22c_TYPE141=(CommonTree)match(input,INSTRUCTION_FORMAT22c_TYPE,FOLLOW_INSTRUCTION_FORMAT22c_TYPE_in_insn_format22c_type2514); 
-			registerA=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22c_type2518); 
-			registerB=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22c_type2522); 
-			pushFollow(FOLLOW_nonvoid_type_descriptor_in_insn_format22c_type2524);
+			match(input,I_STATEMENT_FORMAT22c_TYPE,FOLLOW_I_STATEMENT_FORMAT22c_TYPE_in_insn_format22c_type2514);
+			match(input, Token.DOWN, null);
+			INSTRUCTION_FORMAT22c_TYPE141=(CommonTree)match(input,INSTRUCTION_FORMAT22c_TYPE,FOLLOW_INSTRUCTION_FORMAT22c_TYPE_in_insn_format22c_type2516);
+			registerA=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22c_type2520);
+			registerB=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22c_type2524);
+			pushFollow(FOLLOW_nonvoid_type_descriptor_in_insn_format22c_type2526);
 			nonvoid_type_descriptor142=nonvoid_type_descriptor();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 
 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT22c_TYPE141!=null?INSTRUCTION_FORMAT22c_TYPE141.getText():null));
@@ -5166,7 +5215,7 @@
 
 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction22c(opcode, regA, regB,
 			              dexBuilder.internTypeReference((nonvoid_type_descriptor142!=null?((smaliTreeWalker.nonvoid_type_descriptor_return)nonvoid_type_descriptor142).type:null))));
-			    
+			
 			}
 
 		}
@@ -5183,7 +5232,7 @@
 
 
 	// $ANTLR start "insn_format22s"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:938:1: insn_format22s : ^( I_STATEMENT_FORMAT22s INSTRUCTION_FORMAT22s registerA= REGISTER registerB= REGISTER short_integral_literal ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:950:1: insn_format22s : ^( I_STATEMENT_FORMAT22s INSTRUCTION_FORMAT22s registerA= REGISTER registerB= REGISTER short_integral_literal ) ;
 	public final void insn_format22s() throws RecognitionException {
 		CommonTree registerA=null;
 		CommonTree registerB=null;
@@ -5191,19 +5240,19 @@
 		short short_integral_literal144 =0;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:939:3: ( ^( I_STATEMENT_FORMAT22s INSTRUCTION_FORMAT22s registerA= REGISTER registerB= REGISTER short_integral_literal ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:940:5: ^( I_STATEMENT_FORMAT22s INSTRUCTION_FORMAT22s registerA= REGISTER registerB= REGISTER short_integral_literal )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:951:3: ( ^( I_STATEMENT_FORMAT22s INSTRUCTION_FORMAT22s registerA= REGISTER registerB= REGISTER short_integral_literal ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:952:5: ^( I_STATEMENT_FORMAT22s INSTRUCTION_FORMAT22s registerA= REGISTER registerB= REGISTER short_integral_literal )
 			{
-			match(input,I_STATEMENT_FORMAT22s,FOLLOW_I_STATEMENT_FORMAT22s_in_insn_format22s2547); 
-			match(input, Token.DOWN, null); 
-			INSTRUCTION_FORMAT22s143=(CommonTree)match(input,INSTRUCTION_FORMAT22s,FOLLOW_INSTRUCTION_FORMAT22s_in_insn_format22s2549); 
-			registerA=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22s2553); 
-			registerB=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22s2557); 
-			pushFollow(FOLLOW_short_integral_literal_in_insn_format22s2559);
+			match(input,I_STATEMENT_FORMAT22s,FOLLOW_I_STATEMENT_FORMAT22s_in_insn_format22s2549);
+			match(input, Token.DOWN, null);
+			INSTRUCTION_FORMAT22s143=(CommonTree)match(input,INSTRUCTION_FORMAT22s,FOLLOW_INSTRUCTION_FORMAT22s_in_insn_format22s2551);
+			registerA=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22s2555);
+			registerB=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22s2559);
+			pushFollow(FOLLOW_short_integral_literal_in_insn_format22s2561);
 			short_integral_literal144=short_integral_literal();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 
 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT22s143!=null?INSTRUCTION_FORMAT22s143.getText():null));
@@ -5213,7 +5262,7 @@
 			      short litC = short_integral_literal144;
 
 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction22s(opcode, regA, regB, litC));
-			    
+			
 			}
 
 		}
@@ -5230,7 +5279,7 @@
 
 
 	// $ANTLR start "insn_format22t"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:951:1: insn_format22t : ^( I_STATEMENT_FORMAT22t INSTRUCTION_FORMAT22t registerA= REGISTER registerB= REGISTER label_ref ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:963:1: insn_format22t : ^( I_STATEMENT_FORMAT22t INSTRUCTION_FORMAT22t registerA= REGISTER registerB= REGISTER label_ref ) ;
 	public final void insn_format22t() throws RecognitionException {
 		CommonTree registerA=null;
 		CommonTree registerB=null;
@@ -5238,19 +5287,19 @@
 		Label label_ref146 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:952:3: ( ^( I_STATEMENT_FORMAT22t INSTRUCTION_FORMAT22t registerA= REGISTER registerB= REGISTER label_ref ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:953:5: ^( I_STATEMENT_FORMAT22t INSTRUCTION_FORMAT22t registerA= REGISTER registerB= REGISTER label_ref )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:964:3: ( ^( I_STATEMENT_FORMAT22t INSTRUCTION_FORMAT22t registerA= REGISTER registerB= REGISTER label_ref ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:965:5: ^( I_STATEMENT_FORMAT22t INSTRUCTION_FORMAT22t registerA= REGISTER registerB= REGISTER label_ref )
 			{
-			match(input,I_STATEMENT_FORMAT22t,FOLLOW_I_STATEMENT_FORMAT22t_in_insn_format22t2582); 
-			match(input, Token.DOWN, null); 
-			INSTRUCTION_FORMAT22t145=(CommonTree)match(input,INSTRUCTION_FORMAT22t,FOLLOW_INSTRUCTION_FORMAT22t_in_insn_format22t2584); 
-			registerA=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22t2588); 
-			registerB=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22t2592); 
-			pushFollow(FOLLOW_label_ref_in_insn_format22t2594);
+			match(input,I_STATEMENT_FORMAT22t,FOLLOW_I_STATEMENT_FORMAT22t_in_insn_format22t2584);
+			match(input, Token.DOWN, null);
+			INSTRUCTION_FORMAT22t145=(CommonTree)match(input,INSTRUCTION_FORMAT22t,FOLLOW_INSTRUCTION_FORMAT22t_in_insn_format22t2586);
+			registerA=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22t2590);
+			registerB=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22t2594);
+			pushFollow(FOLLOW_label_ref_in_insn_format22t2596);
 			label_ref146=label_ref();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 
 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT22t145!=null?INSTRUCTION_FORMAT22t145.getText():null));
@@ -5258,7 +5307,7 @@
 			      byte regB = parseRegister_nibble((registerB!=null?registerB.getText():null));
 
 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction22t(opcode, regA, regB, label_ref146));
-			    
+			
 			}
 
 		}
@@ -5275,22 +5324,22 @@
 
 
 	// $ANTLR start "insn_format22x"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:962:1: insn_format22x : ^( I_STATEMENT_FORMAT22x INSTRUCTION_FORMAT22x registerA= REGISTER registerB= REGISTER ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:974:1: insn_format22x : ^( I_STATEMENT_FORMAT22x INSTRUCTION_FORMAT22x registerA= REGISTER registerB= REGISTER ) ;
 	public final void insn_format22x() throws RecognitionException {
 		CommonTree registerA=null;
 		CommonTree registerB=null;
 		CommonTree INSTRUCTION_FORMAT22x147=null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:963:3: ( ^( I_STATEMENT_FORMAT22x INSTRUCTION_FORMAT22x registerA= REGISTER registerB= REGISTER ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:964:5: ^( I_STATEMENT_FORMAT22x INSTRUCTION_FORMAT22x registerA= REGISTER registerB= REGISTER )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:975:3: ( ^( I_STATEMENT_FORMAT22x INSTRUCTION_FORMAT22x registerA= REGISTER registerB= REGISTER ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:976:5: ^( I_STATEMENT_FORMAT22x INSTRUCTION_FORMAT22x registerA= REGISTER registerB= REGISTER )
 			{
-			match(input,I_STATEMENT_FORMAT22x,FOLLOW_I_STATEMENT_FORMAT22x_in_insn_format22x2617); 
-			match(input, Token.DOWN, null); 
-			INSTRUCTION_FORMAT22x147=(CommonTree)match(input,INSTRUCTION_FORMAT22x,FOLLOW_INSTRUCTION_FORMAT22x_in_insn_format22x2619); 
-			registerA=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22x2623); 
-			registerB=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22x2627); 
-			match(input, Token.UP, null); 
+			match(input,I_STATEMENT_FORMAT22x,FOLLOW_I_STATEMENT_FORMAT22x_in_insn_format22x2619);
+			match(input, Token.DOWN, null);
+			INSTRUCTION_FORMAT22x147=(CommonTree)match(input,INSTRUCTION_FORMAT22x,FOLLOW_INSTRUCTION_FORMAT22x_in_insn_format22x2621);
+			registerA=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22x2625);
+			registerB=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format22x2629);
+			match(input, Token.UP, null);
 
 
 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT22x147!=null?INSTRUCTION_FORMAT22x147.getText():null));
@@ -5298,7 +5347,7 @@
 			      int regB = parseRegister_short((registerB!=null?registerB.getText():null));
 
 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction22x(opcode, regA, regB));
-			    
+			
 			}
 
 		}
@@ -5315,7 +5364,7 @@
 
 
 	// $ANTLR start "insn_format23x"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:973:1: insn_format23x : ^( I_STATEMENT_FORMAT23x INSTRUCTION_FORMAT23x registerA= REGISTER registerB= REGISTER registerC= REGISTER ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:985:1: insn_format23x : ^( I_STATEMENT_FORMAT23x INSTRUCTION_FORMAT23x registerA= REGISTER registerB= REGISTER registerC= REGISTER ) ;
 	public final void insn_format23x() throws RecognitionException {
 		CommonTree registerA=null;
 		CommonTree registerB=null;
@@ -5323,16 +5372,16 @@
 		CommonTree INSTRUCTION_FORMAT23x148=null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:974:3: ( ^( I_STATEMENT_FORMAT23x INSTRUCTION_FORMAT23x registerA= REGISTER registerB= REGISTER registerC= REGISTER ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:975:5: ^( I_STATEMENT_FORMAT23x INSTRUCTION_FORMAT23x registerA= REGISTER registerB= REGISTER registerC= REGISTER )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:986:3: ( ^( I_STATEMENT_FORMAT23x INSTRUCTION_FORMAT23x registerA= REGISTER registerB= REGISTER registerC= REGISTER ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:987:5: ^( I_STATEMENT_FORMAT23x INSTRUCTION_FORMAT23x registerA= REGISTER registerB= REGISTER registerC= REGISTER )
 			{
-			match(input,I_STATEMENT_FORMAT23x,FOLLOW_I_STATEMENT_FORMAT23x_in_insn_format23x2650); 
-			match(input, Token.DOWN, null); 
-			INSTRUCTION_FORMAT23x148=(CommonTree)match(input,INSTRUCTION_FORMAT23x,FOLLOW_INSTRUCTION_FORMAT23x_in_insn_format23x2652); 
-			registerA=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format23x2656); 
-			registerB=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format23x2660); 
-			registerC=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format23x2664); 
-			match(input, Token.UP, null); 
+			match(input,I_STATEMENT_FORMAT23x,FOLLOW_I_STATEMENT_FORMAT23x_in_insn_format23x2652);
+			match(input, Token.DOWN, null);
+			INSTRUCTION_FORMAT23x148=(CommonTree)match(input,INSTRUCTION_FORMAT23x,FOLLOW_INSTRUCTION_FORMAT23x_in_insn_format23x2654);
+			registerA=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format23x2658);
+			registerB=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format23x2662);
+			registerC=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format23x2666);
+			match(input, Token.UP, null);
 
 
 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT23x148!=null?INSTRUCTION_FORMAT23x148.getText():null));
@@ -5341,7 +5390,7 @@
 			      short regC = parseRegister_byte((registerC!=null?registerC.getText():null));
 
 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction23x(opcode, regA, regB, regC));
-			    
+			
 			}
 
 		}
@@ -5358,29 +5407,29 @@
 
 
 	// $ANTLR start "insn_format30t"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:985:1: insn_format30t : ^( I_STATEMENT_FORMAT30t INSTRUCTION_FORMAT30t label_ref ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:997:1: insn_format30t : ^( I_STATEMENT_FORMAT30t INSTRUCTION_FORMAT30t label_ref ) ;
 	public final void insn_format30t() throws RecognitionException {
 		CommonTree INSTRUCTION_FORMAT30t149=null;
 		Label label_ref150 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:986:3: ( ^( I_STATEMENT_FORMAT30t INSTRUCTION_FORMAT30t label_ref ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:987:5: ^( I_STATEMENT_FORMAT30t INSTRUCTION_FORMAT30t label_ref )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:998:3: ( ^( I_STATEMENT_FORMAT30t INSTRUCTION_FORMAT30t label_ref ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:999:5: ^( I_STATEMENT_FORMAT30t INSTRUCTION_FORMAT30t label_ref )
 			{
-			match(input,I_STATEMENT_FORMAT30t,FOLLOW_I_STATEMENT_FORMAT30t_in_insn_format30t2687); 
-			match(input, Token.DOWN, null); 
-			INSTRUCTION_FORMAT30t149=(CommonTree)match(input,INSTRUCTION_FORMAT30t,FOLLOW_INSTRUCTION_FORMAT30t_in_insn_format30t2689); 
-			pushFollow(FOLLOW_label_ref_in_insn_format30t2691);
+			match(input,I_STATEMENT_FORMAT30t,FOLLOW_I_STATEMENT_FORMAT30t_in_insn_format30t2689);
+			match(input, Token.DOWN, null);
+			INSTRUCTION_FORMAT30t149=(CommonTree)match(input,INSTRUCTION_FORMAT30t,FOLLOW_INSTRUCTION_FORMAT30t_in_insn_format30t2691);
+			pushFollow(FOLLOW_label_ref_in_insn_format30t2693);
 			label_ref150=label_ref();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 
 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT30t149!=null?INSTRUCTION_FORMAT30t149.getText():null));
 
 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction30t(opcode, label_ref150));
-			    
+			
 			}
 
 		}
@@ -5397,25 +5446,25 @@
 
 
 	// $ANTLR start "insn_format31c"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:994:1: insn_format31c : ^( I_STATEMENT_FORMAT31c INSTRUCTION_FORMAT31c REGISTER string_literal ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1006:1: insn_format31c : ^( I_STATEMENT_FORMAT31c INSTRUCTION_FORMAT31c REGISTER string_literal ) ;
 	public final void insn_format31c() throws RecognitionException {
 		CommonTree INSTRUCTION_FORMAT31c151=null;
 		CommonTree REGISTER152=null;
 		String string_literal153 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:995:3: ( ^( I_STATEMENT_FORMAT31c INSTRUCTION_FORMAT31c REGISTER string_literal ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:996:5: ^( I_STATEMENT_FORMAT31c INSTRUCTION_FORMAT31c REGISTER string_literal )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1007:3: ( ^( I_STATEMENT_FORMAT31c INSTRUCTION_FORMAT31c REGISTER string_literal ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1008:5: ^( I_STATEMENT_FORMAT31c INSTRUCTION_FORMAT31c REGISTER string_literal )
 			{
-			match(input,I_STATEMENT_FORMAT31c,FOLLOW_I_STATEMENT_FORMAT31c_in_insn_format31c2714); 
-			match(input, Token.DOWN, null); 
-			INSTRUCTION_FORMAT31c151=(CommonTree)match(input,INSTRUCTION_FORMAT31c,FOLLOW_INSTRUCTION_FORMAT31c_in_insn_format31c2716); 
-			REGISTER152=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format31c2718); 
-			pushFollow(FOLLOW_string_literal_in_insn_format31c2720);
+			match(input,I_STATEMENT_FORMAT31c,FOLLOW_I_STATEMENT_FORMAT31c_in_insn_format31c2716);
+			match(input, Token.DOWN, null);
+			INSTRUCTION_FORMAT31c151=(CommonTree)match(input,INSTRUCTION_FORMAT31c,FOLLOW_INSTRUCTION_FORMAT31c_in_insn_format31c2718);
+			REGISTER152=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format31c2720);
+			pushFollow(FOLLOW_string_literal_in_insn_format31c2722);
 			string_literal153=string_literal();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 
 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT31c151!=null?INSTRUCTION_FORMAT31c151.getText():null));
@@ -5423,7 +5472,7 @@
 
 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction31c(opcode, regA,
 			              dexBuilder.internStringReference(string_literal153)));
-			    
+			
 			}
 
 		}
@@ -5440,25 +5489,25 @@
 
 
 	// $ANTLR start "insn_format31i"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1005:1: insn_format31i : ^( I_STATEMENT_FORMAT31i INSTRUCTION_FORMAT31i REGISTER fixed_32bit_literal ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1017:1: insn_format31i : ^( I_STATEMENT_FORMAT31i INSTRUCTION_FORMAT31i REGISTER fixed_32bit_literal ) ;
 	public final void insn_format31i() throws RecognitionException {
 		CommonTree INSTRUCTION_FORMAT31i154=null;
 		CommonTree REGISTER155=null;
 		int fixed_32bit_literal156 =0;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1006:3: ( ^( I_STATEMENT_FORMAT31i INSTRUCTION_FORMAT31i REGISTER fixed_32bit_literal ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1007:5: ^( I_STATEMENT_FORMAT31i INSTRUCTION_FORMAT31i REGISTER fixed_32bit_literal )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1018:3: ( ^( I_STATEMENT_FORMAT31i INSTRUCTION_FORMAT31i REGISTER fixed_32bit_literal ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1019:5: ^( I_STATEMENT_FORMAT31i INSTRUCTION_FORMAT31i REGISTER fixed_32bit_literal )
 			{
-			match(input,I_STATEMENT_FORMAT31i,FOLLOW_I_STATEMENT_FORMAT31i_in_insn_format31i2743); 
-			match(input, Token.DOWN, null); 
-			INSTRUCTION_FORMAT31i154=(CommonTree)match(input,INSTRUCTION_FORMAT31i,FOLLOW_INSTRUCTION_FORMAT31i_in_insn_format31i2745); 
-			REGISTER155=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format31i2747); 
-			pushFollow(FOLLOW_fixed_32bit_literal_in_insn_format31i2749);
+			match(input,I_STATEMENT_FORMAT31i,FOLLOW_I_STATEMENT_FORMAT31i_in_insn_format31i2745);
+			match(input, Token.DOWN, null);
+			INSTRUCTION_FORMAT31i154=(CommonTree)match(input,INSTRUCTION_FORMAT31i,FOLLOW_INSTRUCTION_FORMAT31i_in_insn_format31i2747);
+			REGISTER155=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format31i2749);
+			pushFollow(FOLLOW_fixed_32bit_literal_in_insn_format31i2751);
 			fixed_32bit_literal156=fixed_32bit_literal();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 
 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT31i154!=null?INSTRUCTION_FORMAT31i154.getText():null));
@@ -5467,7 +5516,7 @@
 			      int litB = fixed_32bit_literal156;
 
 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction31i(opcode, regA, litB));
-			    
+			
 			}
 
 		}
@@ -5484,25 +5533,25 @@
 
 
 	// $ANTLR start "insn_format31t"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1017:1: insn_format31t : ^( I_STATEMENT_FORMAT31t INSTRUCTION_FORMAT31t REGISTER label_ref ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1029:1: insn_format31t : ^( I_STATEMENT_FORMAT31t INSTRUCTION_FORMAT31t REGISTER label_ref ) ;
 	public final void insn_format31t() throws RecognitionException {
 		CommonTree INSTRUCTION_FORMAT31t157=null;
 		CommonTree REGISTER158=null;
 		Label label_ref159 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1018:3: ( ^( I_STATEMENT_FORMAT31t INSTRUCTION_FORMAT31t REGISTER label_ref ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1019:5: ^( I_STATEMENT_FORMAT31t INSTRUCTION_FORMAT31t REGISTER label_ref )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1030:3: ( ^( I_STATEMENT_FORMAT31t INSTRUCTION_FORMAT31t REGISTER label_ref ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1031:5: ^( I_STATEMENT_FORMAT31t INSTRUCTION_FORMAT31t REGISTER label_ref )
 			{
-			match(input,I_STATEMENT_FORMAT31t,FOLLOW_I_STATEMENT_FORMAT31t_in_insn_format31t2772); 
-			match(input, Token.DOWN, null); 
-			INSTRUCTION_FORMAT31t157=(CommonTree)match(input,INSTRUCTION_FORMAT31t,FOLLOW_INSTRUCTION_FORMAT31t_in_insn_format31t2774); 
-			REGISTER158=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format31t2776); 
-			pushFollow(FOLLOW_label_ref_in_insn_format31t2778);
+			match(input,I_STATEMENT_FORMAT31t,FOLLOW_I_STATEMENT_FORMAT31t_in_insn_format31t2774);
+			match(input, Token.DOWN, null);
+			INSTRUCTION_FORMAT31t157=(CommonTree)match(input,INSTRUCTION_FORMAT31t,FOLLOW_INSTRUCTION_FORMAT31t_in_insn_format31t2776);
+			REGISTER158=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format31t2778);
+			pushFollow(FOLLOW_label_ref_in_insn_format31t2780);
 			label_ref159=label_ref();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 
 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT31t157!=null?INSTRUCTION_FORMAT31t157.getText():null));
@@ -5510,7 +5559,7 @@
 			      short regA = parseRegister_byte((REGISTER158!=null?REGISTER158.getText():null));
 
 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction31t(opcode, regA, label_ref159));
-			    
+			
 			}
 
 		}
@@ -5527,22 +5576,22 @@
 
 
 	// $ANTLR start "insn_format32x"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1028:1: insn_format32x : ^( I_STATEMENT_FORMAT32x INSTRUCTION_FORMAT32x registerA= REGISTER registerB= REGISTER ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1040:1: insn_format32x : ^( I_STATEMENT_FORMAT32x INSTRUCTION_FORMAT32x registerA= REGISTER registerB= REGISTER ) ;
 	public final void insn_format32x() throws RecognitionException {
 		CommonTree registerA=null;
 		CommonTree registerB=null;
 		CommonTree INSTRUCTION_FORMAT32x160=null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1029:3: ( ^( I_STATEMENT_FORMAT32x INSTRUCTION_FORMAT32x registerA= REGISTER registerB= REGISTER ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1030:5: ^( I_STATEMENT_FORMAT32x INSTRUCTION_FORMAT32x registerA= REGISTER registerB= REGISTER )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1041:3: ( ^( I_STATEMENT_FORMAT32x INSTRUCTION_FORMAT32x registerA= REGISTER registerB= REGISTER ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1042:5: ^( I_STATEMENT_FORMAT32x INSTRUCTION_FORMAT32x registerA= REGISTER registerB= REGISTER )
 			{
-			match(input,I_STATEMENT_FORMAT32x,FOLLOW_I_STATEMENT_FORMAT32x_in_insn_format32x2801); 
-			match(input, Token.DOWN, null); 
-			INSTRUCTION_FORMAT32x160=(CommonTree)match(input,INSTRUCTION_FORMAT32x,FOLLOW_INSTRUCTION_FORMAT32x_in_insn_format32x2803); 
-			registerA=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format32x2807); 
-			registerB=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format32x2811); 
-			match(input, Token.UP, null); 
+			match(input,I_STATEMENT_FORMAT32x,FOLLOW_I_STATEMENT_FORMAT32x_in_insn_format32x2803);
+			match(input, Token.DOWN, null);
+			INSTRUCTION_FORMAT32x160=(CommonTree)match(input,INSTRUCTION_FORMAT32x,FOLLOW_INSTRUCTION_FORMAT32x_in_insn_format32x2805);
+			registerA=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format32x2809);
+			registerB=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format32x2813);
+			match(input, Token.UP, null);
 
 
 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT32x160!=null?INSTRUCTION_FORMAT32x160.getText():null));
@@ -5550,7 +5599,7 @@
 			      int regB = parseRegister_short((registerB!=null?registerB.getText():null));
 
 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction32x(opcode, regA, regB));
-			    
+			
 			}
 
 		}
@@ -5567,28 +5616,28 @@
 
 
 	// $ANTLR start "insn_format35c_method"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1039:1: insn_format35c_method : ^( I_STATEMENT_FORMAT35c_METHOD INSTRUCTION_FORMAT35c_METHOD register_list fully_qualified_method ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1051:1: insn_format35c_method : ^( I_STATEMENT_FORMAT35c_METHOD INSTRUCTION_FORMAT35c_METHOD register_list method_reference ) ;
 	public final void insn_format35c_method() throws RecognitionException {
 		CommonTree INSTRUCTION_FORMAT35c_METHOD161=null;
 		TreeRuleReturnScope register_list162 =null;
-		ImmutableMethodReference fully_qualified_method163 =null;
+		ImmutableMethodReference method_reference163 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1040:3: ( ^( I_STATEMENT_FORMAT35c_METHOD INSTRUCTION_FORMAT35c_METHOD register_list fully_qualified_method ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1041:5: ^( I_STATEMENT_FORMAT35c_METHOD INSTRUCTION_FORMAT35c_METHOD register_list fully_qualified_method )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1052:3: ( ^( I_STATEMENT_FORMAT35c_METHOD INSTRUCTION_FORMAT35c_METHOD register_list method_reference ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1053:5: ^( I_STATEMENT_FORMAT35c_METHOD INSTRUCTION_FORMAT35c_METHOD register_list method_reference )
 			{
-			match(input,I_STATEMENT_FORMAT35c_METHOD,FOLLOW_I_STATEMENT_FORMAT35c_METHOD_in_insn_format35c_method2834); 
-			match(input, Token.DOWN, null); 
-			INSTRUCTION_FORMAT35c_METHOD161=(CommonTree)match(input,INSTRUCTION_FORMAT35c_METHOD,FOLLOW_INSTRUCTION_FORMAT35c_METHOD_in_insn_format35c_method2836); 
-			pushFollow(FOLLOW_register_list_in_insn_format35c_method2838);
+			match(input,I_STATEMENT_FORMAT35c_METHOD,FOLLOW_I_STATEMENT_FORMAT35c_METHOD_in_insn_format35c_method2836);
+			match(input, Token.DOWN, null);
+			INSTRUCTION_FORMAT35c_METHOD161=(CommonTree)match(input,INSTRUCTION_FORMAT35c_METHOD,FOLLOW_INSTRUCTION_FORMAT35c_METHOD_in_insn_format35c_method2838);
+			pushFollow(FOLLOW_register_list_in_insn_format35c_method2840);
 			register_list162=register_list();
 			state._fsp--;
 
-			pushFollow(FOLLOW_fully_qualified_method_in_insn_format35c_method2840);
-			fully_qualified_method163=fully_qualified_method();
+			pushFollow(FOLLOW_method_reference_in_insn_format35c_method2842);
+			method_reference163=method_reference();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 
 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT35c_METHOD161!=null?INSTRUCTION_FORMAT35c_METHOD161.getText():null));
@@ -5597,11 +5646,11 @@
 			      byte[] registers = (register_list162!=null?((smaliTreeWalker.register_list_return)register_list162).registers:null);
 			      byte registerCount = (register_list162!=null?((smaliTreeWalker.register_list_return)register_list162).registerCount:0);
 
-			      ImmutableMethodReference methodReference = fully_qualified_method163;
+			      ImmutableMethodReference methodReference = method_reference163;
 
 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction35c(opcode, registerCount, registers[0], registers[1],
 			              registers[2], registers[3], registers[4], dexBuilder.internMethodReference(methodReference)));
-			    
+			
 			}
 
 		}
@@ -5618,28 +5667,28 @@
 
 
 	// $ANTLR start "insn_format35c_type"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1055:1: insn_format35c_type : ^( I_STATEMENT_FORMAT35c_TYPE INSTRUCTION_FORMAT35c_TYPE register_list nonvoid_type_descriptor ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1067:1: insn_format35c_type : ^( I_STATEMENT_FORMAT35c_TYPE INSTRUCTION_FORMAT35c_TYPE register_list nonvoid_type_descriptor ) ;
 	public final void insn_format35c_type() throws RecognitionException {
 		CommonTree INSTRUCTION_FORMAT35c_TYPE164=null;
 		TreeRuleReturnScope register_list165 =null;
 		TreeRuleReturnScope nonvoid_type_descriptor166 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1056:3: ( ^( I_STATEMENT_FORMAT35c_TYPE INSTRUCTION_FORMAT35c_TYPE register_list nonvoid_type_descriptor ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1057:5: ^( I_STATEMENT_FORMAT35c_TYPE INSTRUCTION_FORMAT35c_TYPE register_list nonvoid_type_descriptor )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1068:3: ( ^( I_STATEMENT_FORMAT35c_TYPE INSTRUCTION_FORMAT35c_TYPE register_list nonvoid_type_descriptor ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1069:5: ^( I_STATEMENT_FORMAT35c_TYPE INSTRUCTION_FORMAT35c_TYPE register_list nonvoid_type_descriptor )
 			{
-			match(input,I_STATEMENT_FORMAT35c_TYPE,FOLLOW_I_STATEMENT_FORMAT35c_TYPE_in_insn_format35c_type2863); 
-			match(input, Token.DOWN, null); 
-			INSTRUCTION_FORMAT35c_TYPE164=(CommonTree)match(input,INSTRUCTION_FORMAT35c_TYPE,FOLLOW_INSTRUCTION_FORMAT35c_TYPE_in_insn_format35c_type2865); 
-			pushFollow(FOLLOW_register_list_in_insn_format35c_type2867);
+			match(input,I_STATEMENT_FORMAT35c_TYPE,FOLLOW_I_STATEMENT_FORMAT35c_TYPE_in_insn_format35c_type2865);
+			match(input, Token.DOWN, null);
+			INSTRUCTION_FORMAT35c_TYPE164=(CommonTree)match(input,INSTRUCTION_FORMAT35c_TYPE,FOLLOW_INSTRUCTION_FORMAT35c_TYPE_in_insn_format35c_type2867);
+			pushFollow(FOLLOW_register_list_in_insn_format35c_type2869);
 			register_list165=register_list();
 			state._fsp--;
 
-			pushFollow(FOLLOW_nonvoid_type_descriptor_in_insn_format35c_type2869);
+			pushFollow(FOLLOW_nonvoid_type_descriptor_in_insn_format35c_type2871);
 			nonvoid_type_descriptor166=nonvoid_type_descriptor();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 
 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT35c_TYPE164!=null?INSTRUCTION_FORMAT35c_TYPE164.getText():null));
@@ -5650,7 +5699,7 @@
 
 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction35c(opcode, registerCount, registers[0], registers[1],
 			              registers[2], registers[3], registers[4], dexBuilder.internTypeReference((nonvoid_type_descriptor166!=null?((smaliTreeWalker.nonvoid_type_descriptor_return)nonvoid_type_descriptor166).type:null))));
-			    
+			
 			}
 
 		}
@@ -5667,28 +5716,28 @@
 
 
 	// $ANTLR start "insn_format3rc_method"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1069:1: insn_format3rc_method : ^( I_STATEMENT_FORMAT3rc_METHOD INSTRUCTION_FORMAT3rc_METHOD register_range fully_qualified_method ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1081:1: insn_format3rc_method : ^( I_STATEMENT_FORMAT3rc_METHOD INSTRUCTION_FORMAT3rc_METHOD register_range method_reference ) ;
 	public final void insn_format3rc_method() throws RecognitionException {
 		CommonTree INSTRUCTION_FORMAT3rc_METHOD167=null;
 		TreeRuleReturnScope register_range168 =null;
-		ImmutableMethodReference fully_qualified_method169 =null;
+		ImmutableMethodReference method_reference169 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1070:3: ( ^( I_STATEMENT_FORMAT3rc_METHOD INSTRUCTION_FORMAT3rc_METHOD register_range fully_qualified_method ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1071:5: ^( I_STATEMENT_FORMAT3rc_METHOD INSTRUCTION_FORMAT3rc_METHOD register_range fully_qualified_method )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1082:3: ( ^( I_STATEMENT_FORMAT3rc_METHOD INSTRUCTION_FORMAT3rc_METHOD register_range method_reference ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1083:5: ^( I_STATEMENT_FORMAT3rc_METHOD INSTRUCTION_FORMAT3rc_METHOD register_range method_reference )
 			{
-			match(input,I_STATEMENT_FORMAT3rc_METHOD,FOLLOW_I_STATEMENT_FORMAT3rc_METHOD_in_insn_format3rc_method2892); 
-			match(input, Token.DOWN, null); 
-			INSTRUCTION_FORMAT3rc_METHOD167=(CommonTree)match(input,INSTRUCTION_FORMAT3rc_METHOD,FOLLOW_INSTRUCTION_FORMAT3rc_METHOD_in_insn_format3rc_method2894); 
-			pushFollow(FOLLOW_register_range_in_insn_format3rc_method2896);
+			match(input,I_STATEMENT_FORMAT3rc_METHOD,FOLLOW_I_STATEMENT_FORMAT3rc_METHOD_in_insn_format3rc_method2894);
+			match(input, Token.DOWN, null);
+			INSTRUCTION_FORMAT3rc_METHOD167=(CommonTree)match(input,INSTRUCTION_FORMAT3rc_METHOD,FOLLOW_INSTRUCTION_FORMAT3rc_METHOD_in_insn_format3rc_method2896);
+			pushFollow(FOLLOW_register_range_in_insn_format3rc_method2898);
 			register_range168=register_range();
 			state._fsp--;
 
-			pushFollow(FOLLOW_fully_qualified_method_in_insn_format3rc_method2898);
-			fully_qualified_method169=fully_qualified_method();
+			pushFollow(FOLLOW_method_reference_in_insn_format3rc_method2900);
+			method_reference169=method_reference();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 
 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT3rc_METHOD167!=null?INSTRUCTION_FORMAT3rc_METHOD167.getText():null));
@@ -5697,11 +5746,11 @@
 
 			      int registerCount = endRegister-startRegister+1;
 
-			      ImmutableMethodReference methodReference = fully_qualified_method169;
+			      ImmutableMethodReference methodReference = method_reference169;
 
 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction3rc(opcode, startRegister, registerCount,
 			              dexBuilder.internMethodReference(methodReference)));
-			    
+			
 			}
 
 		}
@@ -5718,28 +5767,28 @@
 
 
 	// $ANTLR start "insn_format3rc_type"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1085:1: insn_format3rc_type : ^( I_STATEMENT_FORMAT3rc_TYPE INSTRUCTION_FORMAT3rc_TYPE register_range nonvoid_type_descriptor ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1097:1: insn_format3rc_type : ^( I_STATEMENT_FORMAT3rc_TYPE INSTRUCTION_FORMAT3rc_TYPE register_range nonvoid_type_descriptor ) ;
 	public final void insn_format3rc_type() throws RecognitionException {
 		CommonTree INSTRUCTION_FORMAT3rc_TYPE170=null;
 		TreeRuleReturnScope register_range171 =null;
 		TreeRuleReturnScope nonvoid_type_descriptor172 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1086:3: ( ^( I_STATEMENT_FORMAT3rc_TYPE INSTRUCTION_FORMAT3rc_TYPE register_range nonvoid_type_descriptor ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1087:5: ^( I_STATEMENT_FORMAT3rc_TYPE INSTRUCTION_FORMAT3rc_TYPE register_range nonvoid_type_descriptor )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1098:3: ( ^( I_STATEMENT_FORMAT3rc_TYPE INSTRUCTION_FORMAT3rc_TYPE register_range nonvoid_type_descriptor ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1099:5: ^( I_STATEMENT_FORMAT3rc_TYPE INSTRUCTION_FORMAT3rc_TYPE register_range nonvoid_type_descriptor )
 			{
-			match(input,I_STATEMENT_FORMAT3rc_TYPE,FOLLOW_I_STATEMENT_FORMAT3rc_TYPE_in_insn_format3rc_type2921); 
-			match(input, Token.DOWN, null); 
-			INSTRUCTION_FORMAT3rc_TYPE170=(CommonTree)match(input,INSTRUCTION_FORMAT3rc_TYPE,FOLLOW_INSTRUCTION_FORMAT3rc_TYPE_in_insn_format3rc_type2923); 
-			pushFollow(FOLLOW_register_range_in_insn_format3rc_type2925);
+			match(input,I_STATEMENT_FORMAT3rc_TYPE,FOLLOW_I_STATEMENT_FORMAT3rc_TYPE_in_insn_format3rc_type2923);
+			match(input, Token.DOWN, null);
+			INSTRUCTION_FORMAT3rc_TYPE170=(CommonTree)match(input,INSTRUCTION_FORMAT3rc_TYPE,FOLLOW_INSTRUCTION_FORMAT3rc_TYPE_in_insn_format3rc_type2925);
+			pushFollow(FOLLOW_register_range_in_insn_format3rc_type2927);
 			register_range171=register_range();
 			state._fsp--;
 
-			pushFollow(FOLLOW_nonvoid_type_descriptor_in_insn_format3rc_type2927);
+			pushFollow(FOLLOW_nonvoid_type_descriptor_in_insn_format3rc_type2929);
 			nonvoid_type_descriptor172=nonvoid_type_descriptor();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 
 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT3rc_TYPE170!=null?INSTRUCTION_FORMAT3rc_TYPE170.getText():null));
@@ -5750,7 +5799,7 @@
 
 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction3rc(opcode, startRegister, registerCount,
 			              dexBuilder.internTypeReference((nonvoid_type_descriptor172!=null?((smaliTreeWalker.nonvoid_type_descriptor_return)nonvoid_type_descriptor172).type:null))));
-			    
+			
 			}
 
 		}
@@ -5767,25 +5816,25 @@
 
 
 	// $ANTLR start "insn_format51l_type"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1099:1: insn_format51l_type : ^( I_STATEMENT_FORMAT51l INSTRUCTION_FORMAT51l REGISTER fixed_64bit_literal ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1111:1: insn_format51l_type : ^( I_STATEMENT_FORMAT51l INSTRUCTION_FORMAT51l REGISTER fixed_64bit_literal ) ;
 	public final void insn_format51l_type() throws RecognitionException {
 		CommonTree INSTRUCTION_FORMAT51l173=null;
 		CommonTree REGISTER174=null;
 		long fixed_64bit_literal175 =0;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1100:3: ( ^( I_STATEMENT_FORMAT51l INSTRUCTION_FORMAT51l REGISTER fixed_64bit_literal ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1101:5: ^( I_STATEMENT_FORMAT51l INSTRUCTION_FORMAT51l REGISTER fixed_64bit_literal )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1112:3: ( ^( I_STATEMENT_FORMAT51l INSTRUCTION_FORMAT51l REGISTER fixed_64bit_literal ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1113:5: ^( I_STATEMENT_FORMAT51l INSTRUCTION_FORMAT51l REGISTER fixed_64bit_literal )
 			{
-			match(input,I_STATEMENT_FORMAT51l,FOLLOW_I_STATEMENT_FORMAT51l_in_insn_format51l_type2950); 
-			match(input, Token.DOWN, null); 
-			INSTRUCTION_FORMAT51l173=(CommonTree)match(input,INSTRUCTION_FORMAT51l,FOLLOW_INSTRUCTION_FORMAT51l_in_insn_format51l_type2952); 
-			REGISTER174=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format51l_type2954); 
-			pushFollow(FOLLOW_fixed_64bit_literal_in_insn_format51l_type2956);
+			match(input,I_STATEMENT_FORMAT51l,FOLLOW_I_STATEMENT_FORMAT51l_in_insn_format51l_type2952);
+			match(input, Token.DOWN, null);
+			INSTRUCTION_FORMAT51l173=(CommonTree)match(input,INSTRUCTION_FORMAT51l,FOLLOW_INSTRUCTION_FORMAT51l_in_insn_format51l_type2954);
+			REGISTER174=(CommonTree)match(input,REGISTER,FOLLOW_REGISTER_in_insn_format51l_type2956);
+			pushFollow(FOLLOW_fixed_64bit_literal_in_insn_format51l_type2958);
 			fixed_64bit_literal175=fixed_64bit_literal();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 
 			      Opcode opcode = opcodes.getOpcodeByName((INSTRUCTION_FORMAT51l173!=null?INSTRUCTION_FORMAT51l173.getText():null));
@@ -5794,7 +5843,7 @@
 			      long litB = fixed_64bit_literal175;
 
 			      method_stack.peek().methodBuilder.addInstruction(new BuilderInstruction51l(opcode, regA, litB));
-			    
+			
 			}
 
 		}
@@ -5811,37 +5860,37 @@
 
 
 	// $ANTLR start "insn_array_data_directive"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1111:1: insn_array_data_directive : ^( I_STATEMENT_ARRAY_DATA ^( I_ARRAY_ELEMENT_SIZE short_integral_literal ) array_elements ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1123:1: insn_array_data_directive : ^( I_STATEMENT_ARRAY_DATA ^( I_ARRAY_ELEMENT_SIZE short_integral_literal ) array_elements ) ;
 	public final void insn_array_data_directive() throws RecognitionException {
 		short short_integral_literal176 =0;
 		List<Number> array_elements177 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1112:3: ( ^( I_STATEMENT_ARRAY_DATA ^( I_ARRAY_ELEMENT_SIZE short_integral_literal ) array_elements ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1113:5: ^( I_STATEMENT_ARRAY_DATA ^( I_ARRAY_ELEMENT_SIZE short_integral_literal ) array_elements )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1124:3: ( ^( I_STATEMENT_ARRAY_DATA ^( I_ARRAY_ELEMENT_SIZE short_integral_literal ) array_elements ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1125:5: ^( I_STATEMENT_ARRAY_DATA ^( I_ARRAY_ELEMENT_SIZE short_integral_literal ) array_elements )
 			{
-			match(input,I_STATEMENT_ARRAY_DATA,FOLLOW_I_STATEMENT_ARRAY_DATA_in_insn_array_data_directive2979); 
-			match(input, Token.DOWN, null); 
-			match(input,I_ARRAY_ELEMENT_SIZE,FOLLOW_I_ARRAY_ELEMENT_SIZE_in_insn_array_data_directive2982); 
-			match(input, Token.DOWN, null); 
-			pushFollow(FOLLOW_short_integral_literal_in_insn_array_data_directive2984);
+			match(input,I_STATEMENT_ARRAY_DATA,FOLLOW_I_STATEMENT_ARRAY_DATA_in_insn_array_data_directive2981);
+			match(input, Token.DOWN, null);
+			match(input,I_ARRAY_ELEMENT_SIZE,FOLLOW_I_ARRAY_ELEMENT_SIZE_in_insn_array_data_directive2984);
+			match(input, Token.DOWN, null);
+			pushFollow(FOLLOW_short_integral_literal_in_insn_array_data_directive2986);
 			short_integral_literal176=short_integral_literal();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
-			pushFollow(FOLLOW_array_elements_in_insn_array_data_directive2987);
+			pushFollow(FOLLOW_array_elements_in_insn_array_data_directive2989);
 			array_elements177=array_elements();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 
 			      int elementWidth = short_integral_literal176;
 			      List<Number> elements = array_elements177;
 
 			      method_stack.peek().methodBuilder.addInstruction(new BuilderArrayPayload(elementWidth, array_elements177));
-			    
+			
 			}
 
 		}
@@ -5858,36 +5907,36 @@
 
 
 	// $ANTLR start "insn_packed_switch_directive"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1121:1: insn_packed_switch_directive : ^( I_STATEMENT_PACKED_SWITCH ^( I_PACKED_SWITCH_START_KEY fixed_32bit_literal ) packed_switch_elements ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1133:1: insn_packed_switch_directive : ^( I_STATEMENT_PACKED_SWITCH ^( I_PACKED_SWITCH_START_KEY fixed_32bit_literal ) packed_switch_elements ) ;
 	public final void insn_packed_switch_directive() throws RecognitionException {
 		int fixed_32bit_literal178 =0;
 		List<Label> packed_switch_elements179 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1122:3: ( ^( I_STATEMENT_PACKED_SWITCH ^( I_PACKED_SWITCH_START_KEY fixed_32bit_literal ) packed_switch_elements ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1123:5: ^( I_STATEMENT_PACKED_SWITCH ^( I_PACKED_SWITCH_START_KEY fixed_32bit_literal ) packed_switch_elements )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1134:3: ( ^( I_STATEMENT_PACKED_SWITCH ^( I_PACKED_SWITCH_START_KEY fixed_32bit_literal ) packed_switch_elements ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1135:5: ^( I_STATEMENT_PACKED_SWITCH ^( I_PACKED_SWITCH_START_KEY fixed_32bit_literal ) packed_switch_elements )
 			{
-			match(input,I_STATEMENT_PACKED_SWITCH,FOLLOW_I_STATEMENT_PACKED_SWITCH_in_insn_packed_switch_directive3009); 
-			match(input, Token.DOWN, null); 
-			match(input,I_PACKED_SWITCH_START_KEY,FOLLOW_I_PACKED_SWITCH_START_KEY_in_insn_packed_switch_directive3012); 
-			match(input, Token.DOWN, null); 
-			pushFollow(FOLLOW_fixed_32bit_literal_in_insn_packed_switch_directive3014);
+			match(input,I_STATEMENT_PACKED_SWITCH,FOLLOW_I_STATEMENT_PACKED_SWITCH_in_insn_packed_switch_directive3011);
+			match(input, Token.DOWN, null);
+			match(input,I_PACKED_SWITCH_START_KEY,FOLLOW_I_PACKED_SWITCH_START_KEY_in_insn_packed_switch_directive3014);
+			match(input, Token.DOWN, null);
+			pushFollow(FOLLOW_fixed_32bit_literal_in_insn_packed_switch_directive3016);
 			fixed_32bit_literal178=fixed_32bit_literal();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
-			pushFollow(FOLLOW_packed_switch_elements_in_insn_packed_switch_directive3017);
+			pushFollow(FOLLOW_packed_switch_elements_in_insn_packed_switch_directive3019);
 			packed_switch_elements179=packed_switch_elements();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 
 			        int startKey = fixed_32bit_literal178;
 			        method_stack.peek().methodBuilder.addInstruction(new BuilderPackedSwitchPayload(startKey,
 			            packed_switch_elements179));
-			      
+			
 			}
 
 		}
@@ -5904,25 +5953,25 @@
 
 
 	// $ANTLR start "insn_sparse_switch_directive"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1130:1: insn_sparse_switch_directive : ^( I_STATEMENT_SPARSE_SWITCH sparse_switch_elements ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1142:1: insn_sparse_switch_directive : ^( I_STATEMENT_SPARSE_SWITCH sparse_switch_elements ) ;
 	public final void insn_sparse_switch_directive() throws RecognitionException {
 		List<SwitchLabelElement> sparse_switch_elements180 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1131:3: ( ^( I_STATEMENT_SPARSE_SWITCH sparse_switch_elements ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1132:5: ^( I_STATEMENT_SPARSE_SWITCH sparse_switch_elements )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1143:3: ( ^( I_STATEMENT_SPARSE_SWITCH sparse_switch_elements ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1144:5: ^( I_STATEMENT_SPARSE_SWITCH sparse_switch_elements )
 			{
-			match(input,I_STATEMENT_SPARSE_SWITCH,FOLLOW_I_STATEMENT_SPARSE_SWITCH_in_insn_sparse_switch_directive3041); 
-			match(input, Token.DOWN, null); 
-			pushFollow(FOLLOW_sparse_switch_elements_in_insn_sparse_switch_directive3043);
+			match(input,I_STATEMENT_SPARSE_SWITCH,FOLLOW_I_STATEMENT_SPARSE_SWITCH_in_insn_sparse_switch_directive3043);
+			match(input, Token.DOWN, null);
+			pushFollow(FOLLOW_sparse_switch_elements_in_insn_sparse_switch_directive3045);
 			sparse_switch_elements180=sparse_switch_elements();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 
 			      method_stack.peek().methodBuilder.addInstruction(new BuilderSparseSwitchPayload(sparse_switch_elements180));
-			    
+			
 			}
 
 		}
@@ -5943,14 +5992,14 @@
 
 
 	// $ANTLR start "nonvoid_type_descriptor"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1137:1: nonvoid_type_descriptor returns [String type] : ( PRIMITIVE_TYPE | CLASS_DESCRIPTOR | ARRAY_DESCRIPTOR ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1149:1: nonvoid_type_descriptor returns [String type] : ( PRIMITIVE_TYPE | CLASS_DESCRIPTOR | ARRAY_DESCRIPTOR ) ;
 	public final smaliTreeWalker.nonvoid_type_descriptor_return nonvoid_type_descriptor() throws RecognitionException {
 		smaliTreeWalker.nonvoid_type_descriptor_return retval = new smaliTreeWalker.nonvoid_type_descriptor_return();
 		retval.start = input.LT(1);
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1138:3: ( ( PRIMITIVE_TYPE | CLASS_DESCRIPTOR | ARRAY_DESCRIPTOR ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1138:5: ( PRIMITIVE_TYPE | CLASS_DESCRIPTOR | ARRAY_DESCRIPTOR )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1150:3: ( ( PRIMITIVE_TYPE | CLASS_DESCRIPTOR | ARRAY_DESCRIPTOR ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1150:5: ( PRIMITIVE_TYPE | CLASS_DESCRIPTOR | ARRAY_DESCRIPTOR )
 			{
 			if ( input.LA(1)==ARRAY_DESCRIPTOR||input.LA(1)==CLASS_DESCRIPTOR||input.LA(1)==PRIMITIVE_TYPE ) {
 				input.consume();
@@ -5962,7 +6011,7 @@
 			}
 
 			    retval.type = ((CommonTree)retval.start).getText();
-			  
+			
 			}
 
 		}
@@ -5984,14 +6033,14 @@
 
 
 	// $ANTLR start "reference_type_descriptor"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1145:1: reference_type_descriptor returns [String type] : ( CLASS_DESCRIPTOR | ARRAY_DESCRIPTOR ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1157:1: reference_type_descriptor returns [String type] : ( CLASS_DESCRIPTOR | ARRAY_DESCRIPTOR ) ;
 	public final smaliTreeWalker.reference_type_descriptor_return reference_type_descriptor() throws RecognitionException {
 		smaliTreeWalker.reference_type_descriptor_return retval = new smaliTreeWalker.reference_type_descriptor_return();
 		retval.start = input.LT(1);
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1146:3: ( ( CLASS_DESCRIPTOR | ARRAY_DESCRIPTOR ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1146:5: ( CLASS_DESCRIPTOR | ARRAY_DESCRIPTOR )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1158:3: ( ( CLASS_DESCRIPTOR | ARRAY_DESCRIPTOR ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1158:5: ( CLASS_DESCRIPTOR | ARRAY_DESCRIPTOR )
 			{
 			if ( input.LA(1)==ARRAY_DESCRIPTOR||input.LA(1)==CLASS_DESCRIPTOR ) {
 				input.consume();
@@ -6003,7 +6052,7 @@
 			}
 
 			    retval.type = ((CommonTree)retval.start).getText();
-			  
+			
 			}
 
 		}
@@ -6021,7 +6070,7 @@
 
 
 	// $ANTLR start "type_descriptor"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1152:1: type_descriptor returns [String type] : ( VOID_TYPE | nonvoid_type_descriptor );
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1164:1: type_descriptor returns [String type] : ( VOID_TYPE | nonvoid_type_descriptor );
 	public final String type_descriptor() throws RecognitionException {
 		String type = null;
 
@@ -6029,34 +6078,34 @@
 		TreeRuleReturnScope nonvoid_type_descriptor181 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1153:3: ( VOID_TYPE | nonvoid_type_descriptor )
-			int alt35=2;
-			int LA35_0 = input.LA(1);
-			if ( (LA35_0==VOID_TYPE) ) {
-				alt35=1;
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1165:3: ( VOID_TYPE | nonvoid_type_descriptor )
+			int alt37=2;
+			int LA37_0 = input.LA(1);
+			if ( (LA37_0==VOID_TYPE) ) {
+				alt37=1;
 			}
-			else if ( (LA35_0==ARRAY_DESCRIPTOR||LA35_0==CLASS_DESCRIPTOR||LA35_0==PRIMITIVE_TYPE) ) {
-				alt35=2;
+			else if ( (LA37_0==ARRAY_DESCRIPTOR||LA37_0==CLASS_DESCRIPTOR||LA37_0==PRIMITIVE_TYPE) ) {
+				alt37=2;
 			}
 
 			else {
 				NoViableAltException nvae =
-					new NoViableAltException("", 35, 0, input);
+					new NoViableAltException("", 37, 0, input);
 				throw nvae;
 			}
 
-			switch (alt35) {
+			switch (alt37) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1153:5: VOID_TYPE
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1165:5: VOID_TYPE
 					{
-					match(input,VOID_TYPE,FOLLOW_VOID_TYPE_in_type_descriptor3122); 
+					match(input,VOID_TYPE,FOLLOW_VOID_TYPE_in_type_descriptor3124);
 					type = "V";
 					}
 					break;
 				case 2 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1154:5: nonvoid_type_descriptor
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1166:5: nonvoid_type_descriptor
 					{
-					pushFollow(FOLLOW_nonvoid_type_descriptor_in_type_descriptor3130);
+					pushFollow(FOLLOW_nonvoid_type_descriptor_in_type_descriptor3132);
 					nonvoid_type_descriptor181=nonvoid_type_descriptor();
 					state._fsp--;
 
@@ -6080,7 +6129,7 @@
 
 
 	// $ANTLR start "short_integral_literal"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1157:1: short_integral_literal returns [short value] : ( long_literal | integer_literal | short_literal | char_literal | byte_literal );
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1169:1: short_integral_literal returns [short value] : ( long_literal | integer_literal | short_literal | char_literal | byte_literal );
 	public final short short_integral_literal() throws RecognitionException {
 		short value = 0;
 
@@ -6092,70 +6141,70 @@
 		byte byte_literal186 =0;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1158:3: ( long_literal | integer_literal | short_literal | char_literal | byte_literal )
-			int alt36=5;
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1170:3: ( long_literal | integer_literal | short_literal | char_literal | byte_literal )
+			int alt38=5;
 			switch ( input.LA(1) ) {
 			case LONG_LITERAL:
 				{
-				alt36=1;
+				alt38=1;
 				}
 				break;
 			case INTEGER_LITERAL:
 				{
-				alt36=2;
+				alt38=2;
 				}
 				break;
 			case SHORT_LITERAL:
 				{
-				alt36=3;
+				alt38=3;
 				}
 				break;
 			case CHAR_LITERAL:
 				{
-				alt36=4;
+				alt38=4;
 				}
 				break;
 			case BYTE_LITERAL:
 				{
-				alt36=5;
+				alt38=5;
 				}
 				break;
 			default:
 				NoViableAltException nvae =
-					new NoViableAltException("", 36, 0, input);
+					new NoViableAltException("", 38, 0, input);
 				throw nvae;
 			}
-			switch (alt36) {
+			switch (alt38) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1158:5: long_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1170:5: long_literal
 					{
-					pushFollow(FOLLOW_long_literal_in_short_integral_literal3148);
+					pushFollow(FOLLOW_long_literal_in_short_integral_literal3150);
 					long_literal182=long_literal();
 					state._fsp--;
 
 
 					      LiteralTools.checkShort(long_literal182);
 					      value = (short)long_literal182;
-					    
+					
 					}
 					break;
 				case 2 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1163:5: integer_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1175:5: integer_literal
 					{
-					pushFollow(FOLLOW_integer_literal_in_short_integral_literal3160);
+					pushFollow(FOLLOW_integer_literal_in_short_integral_literal3162);
 					integer_literal183=integer_literal();
 					state._fsp--;
 
 
 					      LiteralTools.checkShort(integer_literal183);
 					      value = (short)integer_literal183;
-					    
+					
 					}
 					break;
 				case 3 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1168:5: short_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1180:5: short_literal
 					{
-					pushFollow(FOLLOW_short_literal_in_short_integral_literal3172);
+					pushFollow(FOLLOW_short_literal_in_short_integral_literal3174);
 					short_literal184=short_literal();
 					state._fsp--;
 
@@ -6163,9 +6212,9 @@
 					}
 					break;
 				case 4 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1169:5: char_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1181:5: char_literal
 					{
-					pushFollow(FOLLOW_char_literal_in_short_integral_literal3180);
+					pushFollow(FOLLOW_char_literal_in_short_integral_literal3182);
 					char_literal185=char_literal();
 					state._fsp--;
 
@@ -6173,9 +6222,9 @@
 					}
 					break;
 				case 5 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1170:5: byte_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1182:5: byte_literal
 					{
-					pushFollow(FOLLOW_byte_literal_in_short_integral_literal3188);
+					pushFollow(FOLLOW_byte_literal_in_short_integral_literal3190);
 					byte_literal186=byte_literal();
 					state._fsp--;
 
@@ -6199,7 +6248,7 @@
 
 
 	// $ANTLR start "integral_literal"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1172:1: integral_literal returns [int value] : ( long_literal | integer_literal | short_literal | byte_literal );
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1184:1: integral_literal returns [int value] : ( long_literal | integer_literal | short_literal | byte_literal );
 	public final int integral_literal() throws RecognitionException {
 		int value = 0;
 
@@ -6210,52 +6259,52 @@
 		byte byte_literal190 =0;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1173:3: ( long_literal | integer_literal | short_literal | byte_literal )
-			int alt37=4;
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1185:3: ( long_literal | integer_literal | short_literal | byte_literal )
+			int alt39=4;
 			switch ( input.LA(1) ) {
 			case LONG_LITERAL:
 				{
-				alt37=1;
+				alt39=1;
 				}
 				break;
 			case INTEGER_LITERAL:
 				{
-				alt37=2;
+				alt39=2;
 				}
 				break;
 			case SHORT_LITERAL:
 				{
-				alt37=3;
+				alt39=3;
 				}
 				break;
 			case BYTE_LITERAL:
 				{
-				alt37=4;
+				alt39=4;
 				}
 				break;
 			default:
 				NoViableAltException nvae =
-					new NoViableAltException("", 37, 0, input);
+					new NoViableAltException("", 39, 0, input);
 				throw nvae;
 			}
-			switch (alt37) {
+			switch (alt39) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1173:5: long_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1185:5: long_literal
 					{
-					pushFollow(FOLLOW_long_literal_in_integral_literal3203);
+					pushFollow(FOLLOW_long_literal_in_integral_literal3205);
 					long_literal187=long_literal();
 					state._fsp--;
 
 
 					      LiteralTools.checkInt(long_literal187);
 					      value = (int)long_literal187;
-					    
+					
 					}
 					break;
 				case 2 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1178:5: integer_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1190:5: integer_literal
 					{
-					pushFollow(FOLLOW_integer_literal_in_integral_literal3215);
+					pushFollow(FOLLOW_integer_literal_in_integral_literal3217);
 					integer_literal188=integer_literal();
 					state._fsp--;
 
@@ -6263,9 +6312,9 @@
 					}
 					break;
 				case 3 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1179:5: short_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1191:5: short_literal
 					{
-					pushFollow(FOLLOW_short_literal_in_integral_literal3223);
+					pushFollow(FOLLOW_short_literal_in_integral_literal3225);
 					short_literal189=short_literal();
 					state._fsp--;
 
@@ -6273,9 +6322,9 @@
 					}
 					break;
 				case 4 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1180:5: byte_literal
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1192:5: byte_literal
 					{
-					pushFollow(FOLLOW_byte_literal_in_integral_literal3231);
+					pushFollow(FOLLOW_byte_literal_in_integral_literal3233);
 					byte_literal190=byte_literal();
 					state._fsp--;
 
@@ -6299,7 +6348,7 @@
 
 
 	// $ANTLR start "integer_literal"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1183:1: integer_literal returns [int value] : INTEGER_LITERAL ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1195:1: integer_literal returns [int value] : INTEGER_LITERAL ;
 	public final int integer_literal() throws RecognitionException {
 		int value = 0;
 
@@ -6307,11 +6356,11 @@
 		CommonTree INTEGER_LITERAL191=null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1184:3: ( INTEGER_LITERAL )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1184:5: INTEGER_LITERAL
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1196:3: ( INTEGER_LITERAL )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1196:5: INTEGER_LITERAL
 			{
-			INTEGER_LITERAL191=(CommonTree)match(input,INTEGER_LITERAL,FOLLOW_INTEGER_LITERAL_in_integer_literal3247); 
-			 value = LiteralTools.parseInt((INTEGER_LITERAL191!=null?INTEGER_LITERAL191.getText():null)); 
+			INTEGER_LITERAL191=(CommonTree)match(input,INTEGER_LITERAL,FOLLOW_INTEGER_LITERAL_in_integer_literal3249);
+			 value = LiteralTools.parseInt((INTEGER_LITERAL191!=null?INTEGER_LITERAL191.getText():null));
 			}
 
 		}
@@ -6329,7 +6378,7 @@
 
 
 	// $ANTLR start "long_literal"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1186:1: long_literal returns [long value] : LONG_LITERAL ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1198:1: long_literal returns [long value] : LONG_LITERAL ;
 	public final long long_literal() throws RecognitionException {
 		long value = 0;
 
@@ -6337,11 +6386,11 @@
 		CommonTree LONG_LITERAL192=null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1187:3: ( LONG_LITERAL )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1187:5: LONG_LITERAL
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1199:3: ( LONG_LITERAL )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1199:5: LONG_LITERAL
 			{
-			LONG_LITERAL192=(CommonTree)match(input,LONG_LITERAL,FOLLOW_LONG_LITERAL_in_long_literal3262); 
-			 value = LiteralTools.parseLong((LONG_LITERAL192!=null?LONG_LITERAL192.getText():null)); 
+			LONG_LITERAL192=(CommonTree)match(input,LONG_LITERAL,FOLLOW_LONG_LITERAL_in_long_literal3264);
+			 value = LiteralTools.parseLong((LONG_LITERAL192!=null?LONG_LITERAL192.getText():null));
 			}
 
 		}
@@ -6359,7 +6408,7 @@
 
 
 	// $ANTLR start "short_literal"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1189:1: short_literal returns [short value] : SHORT_LITERAL ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1201:1: short_literal returns [short value] : SHORT_LITERAL ;
 	public final short short_literal() throws RecognitionException {
 		short value = 0;
 
@@ -6367,11 +6416,11 @@
 		CommonTree SHORT_LITERAL193=null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1190:3: ( SHORT_LITERAL )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1190:5: SHORT_LITERAL
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1202:3: ( SHORT_LITERAL )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1202:5: SHORT_LITERAL
 			{
-			SHORT_LITERAL193=(CommonTree)match(input,SHORT_LITERAL,FOLLOW_SHORT_LITERAL_in_short_literal3277); 
-			 value = LiteralTools.parseShort((SHORT_LITERAL193!=null?SHORT_LITERAL193.getText():null)); 
+			SHORT_LITERAL193=(CommonTree)match(input,SHORT_LITERAL,FOLLOW_SHORT_LITERAL_in_short_literal3279);
+			 value = LiteralTools.parseShort((SHORT_LITERAL193!=null?SHORT_LITERAL193.getText():null));
 			}
 
 		}
@@ -6389,7 +6438,7 @@
 
 
 	// $ANTLR start "byte_literal"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1192:1: byte_literal returns [byte value] : BYTE_LITERAL ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1204:1: byte_literal returns [byte value] : BYTE_LITERAL ;
 	public final byte byte_literal() throws RecognitionException {
 		byte value = 0;
 
@@ -6397,11 +6446,11 @@
 		CommonTree BYTE_LITERAL194=null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1193:3: ( BYTE_LITERAL )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1193:5: BYTE_LITERAL
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1205:3: ( BYTE_LITERAL )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1205:5: BYTE_LITERAL
 			{
-			BYTE_LITERAL194=(CommonTree)match(input,BYTE_LITERAL,FOLLOW_BYTE_LITERAL_in_byte_literal3292); 
-			 value = LiteralTools.parseByte((BYTE_LITERAL194!=null?BYTE_LITERAL194.getText():null)); 
+			BYTE_LITERAL194=(CommonTree)match(input,BYTE_LITERAL,FOLLOW_BYTE_LITERAL_in_byte_literal3294);
+			 value = LiteralTools.parseByte((BYTE_LITERAL194!=null?BYTE_LITERAL194.getText():null));
 			}
 
 		}
@@ -6419,7 +6468,7 @@
 
 
 	// $ANTLR start "float_literal"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1195:1: float_literal returns [float value] : FLOAT_LITERAL ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1207:1: float_literal returns [float value] : FLOAT_LITERAL ;
 	public final float float_literal() throws RecognitionException {
 		float value = 0.0f;
 
@@ -6427,11 +6476,11 @@
 		CommonTree FLOAT_LITERAL195=null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1196:3: ( FLOAT_LITERAL )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1196:5: FLOAT_LITERAL
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1208:3: ( FLOAT_LITERAL )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1208:5: FLOAT_LITERAL
 			{
-			FLOAT_LITERAL195=(CommonTree)match(input,FLOAT_LITERAL,FOLLOW_FLOAT_LITERAL_in_float_literal3307); 
-			 value = LiteralTools.parseFloat((FLOAT_LITERAL195!=null?FLOAT_LITERAL195.getText():null)); 
+			FLOAT_LITERAL195=(CommonTree)match(input,FLOAT_LITERAL,FOLLOW_FLOAT_LITERAL_in_float_literal3309);
+			 value = LiteralTools.parseFloat((FLOAT_LITERAL195!=null?FLOAT_LITERAL195.getText():null));
 			}
 
 		}
@@ -6449,7 +6498,7 @@
 
 
 	// $ANTLR start "double_literal"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1198:1: double_literal returns [double value] : DOUBLE_LITERAL ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1210:1: double_literal returns [double value] : DOUBLE_LITERAL ;
 	public final double double_literal() throws RecognitionException {
 		double value = 0.0;
 
@@ -6457,11 +6506,11 @@
 		CommonTree DOUBLE_LITERAL196=null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1199:3: ( DOUBLE_LITERAL )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1199:5: DOUBLE_LITERAL
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1211:3: ( DOUBLE_LITERAL )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1211:5: DOUBLE_LITERAL
 			{
-			DOUBLE_LITERAL196=(CommonTree)match(input,DOUBLE_LITERAL,FOLLOW_DOUBLE_LITERAL_in_double_literal3322); 
-			 value = LiteralTools.parseDouble((DOUBLE_LITERAL196!=null?DOUBLE_LITERAL196.getText():null)); 
+			DOUBLE_LITERAL196=(CommonTree)match(input,DOUBLE_LITERAL,FOLLOW_DOUBLE_LITERAL_in_double_literal3324);
+			 value = LiteralTools.parseDouble((DOUBLE_LITERAL196!=null?DOUBLE_LITERAL196.getText():null));
 			}
 
 		}
@@ -6479,7 +6528,7 @@
 
 
 	// $ANTLR start "char_literal"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1201:1: char_literal returns [char value] : CHAR_LITERAL ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1213:1: char_literal returns [char value] : CHAR_LITERAL ;
 	public final char char_literal() throws RecognitionException {
 		char value = 0;
 
@@ -6487,11 +6536,11 @@
 		CommonTree CHAR_LITERAL197=null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1202:3: ( CHAR_LITERAL )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1202:5: CHAR_LITERAL
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1214:3: ( CHAR_LITERAL )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1214:5: CHAR_LITERAL
 			{
-			CHAR_LITERAL197=(CommonTree)match(input,CHAR_LITERAL,FOLLOW_CHAR_LITERAL_in_char_literal3337); 
-			 value = (CHAR_LITERAL197!=null?CHAR_LITERAL197.getText():null).charAt(1); 
+			CHAR_LITERAL197=(CommonTree)match(input,CHAR_LITERAL,FOLLOW_CHAR_LITERAL_in_char_literal3339);
+			 value = (CHAR_LITERAL197!=null?CHAR_LITERAL197.getText():null).charAt(1);
 			}
 
 		}
@@ -6509,7 +6558,7 @@
 
 
 	// $ANTLR start "string_literal"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1204:1: string_literal returns [String value] : STRING_LITERAL ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1216:1: string_literal returns [String value] : STRING_LITERAL ;
 	public final String string_literal() throws RecognitionException {
 		String value = null;
 
@@ -6517,14 +6566,14 @@
 		CommonTree STRING_LITERAL198=null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1205:3: ( STRING_LITERAL )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1205:5: STRING_LITERAL
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1217:3: ( STRING_LITERAL )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1217:5: STRING_LITERAL
 			{
-			STRING_LITERAL198=(CommonTree)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_string_literal3352); 
+			STRING_LITERAL198=(CommonTree)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_string_literal3354);
 
 			      value = (STRING_LITERAL198!=null?STRING_LITERAL198.getText():null);
 			      value = value.substring(1,value.length()-1);
-			    
+			
 			}
 
 		}
@@ -6542,7 +6591,7 @@
 
 
 	// $ANTLR start "bool_literal"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1211:1: bool_literal returns [boolean value] : BOOL_LITERAL ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1223:1: bool_literal returns [boolean value] : BOOL_LITERAL ;
 	public final boolean bool_literal() throws RecognitionException {
 		boolean value = false;
 
@@ -6550,11 +6599,11 @@
 		CommonTree BOOL_LITERAL199=null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1212:3: ( BOOL_LITERAL )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1212:5: BOOL_LITERAL
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1224:3: ( BOOL_LITERAL )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1224:5: BOOL_LITERAL
 			{
-			BOOL_LITERAL199=(CommonTree)match(input,BOOL_LITERAL,FOLLOW_BOOL_LITERAL_in_bool_literal3371); 
-			 value = Boolean.parseBoolean((BOOL_LITERAL199!=null?BOOL_LITERAL199.getText():null)); 
+			BOOL_LITERAL199=(CommonTree)match(input,BOOL_LITERAL,FOLLOW_BOOL_LITERAL_in_bool_literal3373);
+			 value = Boolean.parseBoolean((BOOL_LITERAL199!=null?BOOL_LITERAL199.getText():null));
 			}
 
 		}
@@ -6572,7 +6621,7 @@
 
 
 	// $ANTLR start "array_literal"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1214:1: array_literal returns [List<EncodedValue> elements] : ^( I_ENCODED_ARRAY ( literal )* ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1226:1: array_literal returns [List<EncodedValue> elements] : ^( I_ENCODED_ARRAY ( literal )* ) ;
 	public final List<EncodedValue> array_literal() throws RecognitionException {
 		List<EncodedValue> elements = null;
 
@@ -6580,27 +6629,27 @@
 		EncodedValue literal200 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1215:3: ( ^( I_ENCODED_ARRAY ( literal )* ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1215:5: ^( I_ENCODED_ARRAY ( literal )* )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1227:3: ( ^( I_ENCODED_ARRAY ( literal )* ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1227:5: ^( I_ENCODED_ARRAY ( literal )* )
 			{
 			elements = Lists.newArrayList();
-			match(input,I_ENCODED_ARRAY,FOLLOW_I_ENCODED_ARRAY_in_array_literal3393); 
+			match(input,I_ENCODED_ARRAY,FOLLOW_I_ENCODED_ARRAY_in_array_literal3395);
 			if ( input.LA(1)==Token.DOWN ) {
-				match(input, Token.DOWN, null); 
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1216:23: ( literal )*
-				loop38:
+				match(input, Token.DOWN, null);
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1228:23: ( literal )*
+				loop40:
 				while (true) {
-					int alt38=2;
-					int LA38_0 = input.LA(1);
-					if ( (LA38_0==ARRAY_DESCRIPTOR||(LA38_0 >= BOOL_LITERAL && LA38_0 <= BYTE_LITERAL)||(LA38_0 >= CHAR_LITERAL && LA38_0 <= CLASS_DESCRIPTOR)||LA38_0==DOUBLE_LITERAL||LA38_0==FLOAT_LITERAL||LA38_0==INTEGER_LITERAL||(LA38_0 >= I_ENCODED_ARRAY && LA38_0 <= I_ENCODED_METHOD)||LA38_0==I_SUBANNOTATION||LA38_0==LONG_LITERAL||LA38_0==NULL_LITERAL||LA38_0==PRIMITIVE_TYPE||LA38_0==SHORT_LITERAL||LA38_0==STRING_LITERAL||LA38_0==VOID_TYPE) ) {
-						alt38=1;
+					int alt40=2;
+					int LA40_0 = input.LA(1);
+					if ( (LA40_0==ARRAY_DESCRIPTOR||(LA40_0 >= BOOL_LITERAL && LA40_0 <= BYTE_LITERAL)||(LA40_0 >= CHAR_LITERAL && LA40_0 <= CLASS_DESCRIPTOR)||LA40_0==DOUBLE_LITERAL||LA40_0==FLOAT_LITERAL||LA40_0==INTEGER_LITERAL||(LA40_0 >= I_ENCODED_ARRAY && LA40_0 <= I_ENCODED_METHOD)||LA40_0==I_SUBANNOTATION||LA40_0==LONG_LITERAL||LA40_0==NULL_LITERAL||LA40_0==PRIMITIVE_TYPE||LA40_0==SHORT_LITERAL||LA40_0==STRING_LITERAL||LA40_0==VOID_TYPE) ) {
+						alt40=1;
 					}
 
-					switch (alt38) {
+					switch (alt40) {
 					case 1 :
-						// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1216:24: literal
+						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1228:24: literal
 						{
-						pushFollow(FOLLOW_literal_in_array_literal3396);
+						pushFollow(FOLLOW_literal_in_array_literal3398);
 						literal200=literal();
 						state._fsp--;
 
@@ -6609,11 +6658,11 @@
 						break;
 
 					default :
-						break loop38;
+						break loop40;
 					}
 				}
 
-				match(input, Token.UP, null); 
+				match(input, Token.UP, null);
 			}
 
 			}
@@ -6633,7 +6682,7 @@
 
 
 	// $ANTLR start "annotations"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1218:1: annotations returns [Set<Annotation> annotations] : ^( I_ANNOTATIONS ( annotation )* ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1230:1: annotations returns [Set<Annotation> annotations] : ^( I_ANNOTATIONS ( annotation )* ) ;
 	public final Set<Annotation> annotations() throws RecognitionException {
 		Set<Annotation> annotations = null;
 
@@ -6641,27 +6690,27 @@
 		Annotation annotation201 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1219:3: ( ^( I_ANNOTATIONS ( annotation )* ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1219:5: ^( I_ANNOTATIONS ( annotation )* )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1231:3: ( ^( I_ANNOTATIONS ( annotation )* ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1231:5: ^( I_ANNOTATIONS ( annotation )* )
 			{
 			HashMap<String, Annotation> annotationMap = Maps.newHashMap();
-			match(input,I_ANNOTATIONS,FOLLOW_I_ANNOTATIONS_in_annotations3421); 
+			match(input,I_ANNOTATIONS,FOLLOW_I_ANNOTATIONS_in_annotations3423);
 			if ( input.LA(1)==Token.DOWN ) {
-				match(input, Token.DOWN, null); 
-				// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1220:21: ( annotation )*
-				loop39:
+				match(input, Token.DOWN, null);
+				// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1232:21: ( annotation )*
+				loop41:
 				while (true) {
-					int alt39=2;
-					int LA39_0 = input.LA(1);
-					if ( (LA39_0==I_ANNOTATION) ) {
-						alt39=1;
+					int alt41=2;
+					int LA41_0 = input.LA(1);
+					if ( (LA41_0==I_ANNOTATION) ) {
+						alt41=1;
 					}
 
-					switch (alt39) {
+					switch (alt41) {
 					case 1 :
-						// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1220:22: annotation
+						// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1232:22: annotation
 						{
-						pushFollow(FOLLOW_annotation_in_annotations3424);
+						pushFollow(FOLLOW_annotation_in_annotations3426);
 						annotation201=annotation();
 						state._fsp--;
 
@@ -6671,23 +6720,23 @@
 						        if (old != null) {
 						            throw new SemanticException(input, "Multiple annotations of type %s", anno.getType());
 						        }
-						    
+						
 						}
 						break;
 
 					default :
-						break loop39;
+						break loop41;
 					}
 				}
 
-				match(input, Token.UP, null); 
+				match(input, Token.UP, null);
 			}
 
 
 			      if (annotationMap.size() > 0) {
 			        annotations = ImmutableSet.copyOf(annotationMap.values());
 			      }
-			    
+			
 			}
 
 		}
@@ -6705,7 +6754,7 @@
 
 
 	// $ANTLR start "annotation"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1234:1: annotation returns [Annotation annotation] : ^( I_ANNOTATION ANNOTATION_VISIBILITY subannotation ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1246:1: annotation returns [Annotation annotation] : ^( I_ANNOTATION ANNOTATION_VISIBILITY subannotation ) ;
 	public final Annotation annotation() throws RecognitionException {
 		Annotation annotation = null;
 
@@ -6714,22 +6763,22 @@
 		TreeRuleReturnScope subannotation203 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1235:3: ( ^( I_ANNOTATION ANNOTATION_VISIBILITY subannotation ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1235:5: ^( I_ANNOTATION ANNOTATION_VISIBILITY subannotation )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1247:3: ( ^( I_ANNOTATION ANNOTATION_VISIBILITY subannotation ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1247:5: ^( I_ANNOTATION ANNOTATION_VISIBILITY subannotation )
 			{
-			match(input,I_ANNOTATION,FOLLOW_I_ANNOTATION_in_annotation3453); 
-			match(input, Token.DOWN, null); 
-			ANNOTATION_VISIBILITY202=(CommonTree)match(input,ANNOTATION_VISIBILITY,FOLLOW_ANNOTATION_VISIBILITY_in_annotation3455); 
-			pushFollow(FOLLOW_subannotation_in_annotation3457);
+			match(input,I_ANNOTATION,FOLLOW_I_ANNOTATION_in_annotation3455);
+			match(input, Token.DOWN, null);
+			ANNOTATION_VISIBILITY202=(CommonTree)match(input,ANNOTATION_VISIBILITY,FOLLOW_ANNOTATION_VISIBILITY_in_annotation3457);
+			pushFollow(FOLLOW_subannotation_in_annotation3459);
 			subannotation203=subannotation();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 
 			      int visibility = AnnotationVisibility.getVisibility((ANNOTATION_VISIBILITY202!=null?ANNOTATION_VISIBILITY202.getText():null));
 			      annotation = new ImmutableAnnotation(visibility, (subannotation203!=null?((smaliTreeWalker.subannotation_return)subannotation203).annotationType:null), (subannotation203!=null?((smaliTreeWalker.subannotation_return)subannotation203).elements:null));
-			    
+			
 			}
 
 		}
@@ -6747,7 +6796,7 @@
 
 
 	// $ANTLR start "annotation_element"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1241:1: annotation_element returns [AnnotationElement element] : ^( I_ANNOTATION_ELEMENT SIMPLE_NAME literal ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1253:1: annotation_element returns [AnnotationElement element] : ^( I_ANNOTATION_ELEMENT SIMPLE_NAME literal ) ;
 	public final AnnotationElement annotation_element() throws RecognitionException {
 		AnnotationElement element = null;
 
@@ -6756,21 +6805,21 @@
 		EncodedValue literal205 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1242:3: ( ^( I_ANNOTATION_ELEMENT SIMPLE_NAME literal ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1242:5: ^( I_ANNOTATION_ELEMENT SIMPLE_NAME literal )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1254:3: ( ^( I_ANNOTATION_ELEMENT SIMPLE_NAME literal ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1254:5: ^( I_ANNOTATION_ELEMENT SIMPLE_NAME literal )
 			{
-			match(input,I_ANNOTATION_ELEMENT,FOLLOW_I_ANNOTATION_ELEMENT_in_annotation_element3478); 
-			match(input, Token.DOWN, null); 
-			SIMPLE_NAME204=(CommonTree)match(input,SIMPLE_NAME,FOLLOW_SIMPLE_NAME_in_annotation_element3480); 
-			pushFollow(FOLLOW_literal_in_annotation_element3482);
+			match(input,I_ANNOTATION_ELEMENT,FOLLOW_I_ANNOTATION_ELEMENT_in_annotation_element3480);
+			match(input, Token.DOWN, null);
+			SIMPLE_NAME204=(CommonTree)match(input,SIMPLE_NAME,FOLLOW_SIMPLE_NAME_in_annotation_element3482);
+			pushFollow(FOLLOW_literal_in_annotation_element3484);
 			literal205=literal();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 
 			      element = new ImmutableAnnotationElement((SIMPLE_NAME204!=null?SIMPLE_NAME204.getText():null), literal205);
-			    
+			
 			}
 
 		}
@@ -6793,7 +6842,7 @@
 
 
 	// $ANTLR start "subannotation"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1247:1: subannotation returns [String annotationType, List<AnnotationElement> elements] : ^( I_SUBANNOTATION CLASS_DESCRIPTOR ( annotation_element )* ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1259:1: subannotation returns [String annotationType, List<AnnotationElement> elements] : ^( I_SUBANNOTATION CLASS_DESCRIPTOR ( annotation_element )* ) ;
 	public final smaliTreeWalker.subannotation_return subannotation() throws RecognitionException {
 		smaliTreeWalker.subannotation_return retval = new smaliTreeWalker.subannotation_return();
 		retval.start = input.LT(1);
@@ -6802,47 +6851,47 @@
 		AnnotationElement annotation_element206 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1248:3: ( ^( I_SUBANNOTATION CLASS_DESCRIPTOR ( annotation_element )* ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1248:5: ^( I_SUBANNOTATION CLASS_DESCRIPTOR ( annotation_element )* )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1260:3: ( ^( I_SUBANNOTATION CLASS_DESCRIPTOR ( annotation_element )* ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1260:5: ^( I_SUBANNOTATION CLASS_DESCRIPTOR ( annotation_element )* )
 			{
 			ArrayList<AnnotationElement> elements = Lists.newArrayList();
-			match(input,I_SUBANNOTATION,FOLLOW_I_SUBANNOTATION_in_subannotation3509); 
-			match(input, Token.DOWN, null); 
-			CLASS_DESCRIPTOR207=(CommonTree)match(input,CLASS_DESCRIPTOR,FOLLOW_CLASS_DESCRIPTOR_in_subannotation3519); 
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1251:9: ( annotation_element )*
-			loop40:
+			match(input,I_SUBANNOTATION,FOLLOW_I_SUBANNOTATION_in_subannotation3511);
+			match(input, Token.DOWN, null);
+			CLASS_DESCRIPTOR207=(CommonTree)match(input,CLASS_DESCRIPTOR,FOLLOW_CLASS_DESCRIPTOR_in_subannotation3521);
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1263:9: ( annotation_element )*
+			loop42:
 			while (true) {
-				int alt40=2;
-				int LA40_0 = input.LA(1);
-				if ( (LA40_0==I_ANNOTATION_ELEMENT) ) {
-					alt40=1;
+				int alt42=2;
+				int LA42_0 = input.LA(1);
+				if ( (LA42_0==I_ANNOTATION_ELEMENT) ) {
+					alt42=1;
 				}
 
-				switch (alt40) {
+				switch (alt42) {
 				case 1 :
-					// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1251:10: annotation_element
+					// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1263:10: annotation_element
 					{
-					pushFollow(FOLLOW_annotation_element_in_subannotation3530);
+					pushFollow(FOLLOW_annotation_element_in_subannotation3532);
 					annotation_element206=annotation_element();
 					state._fsp--;
 
 
 					           elements.add(annotation_element206);
-					        
+					
 					}
 					break;
 
 				default :
-					break loop40;
+					break loop42;
 				}
 			}
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 
 			      retval.annotationType = (CLASS_DESCRIPTOR207!=null?CLASS_DESCRIPTOR207.getText():null);
 			      retval.elements = elements;
-			    
+			
 			}
 
 		}
@@ -6860,28 +6909,28 @@
 
 
 	// $ANTLR start "field_literal"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1261:1: field_literal returns [FieldReference value] : ^( I_ENCODED_FIELD fully_qualified_field ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1273:1: field_literal returns [FieldReference value] : ^( I_ENCODED_FIELD field_reference ) ;
 	public final FieldReference field_literal() throws RecognitionException {
 		FieldReference value = null;
 
 
-		ImmutableFieldReference fully_qualified_field208 =null;
+		ImmutableFieldReference field_reference208 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1262:3: ( ^( I_ENCODED_FIELD fully_qualified_field ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1262:5: ^( I_ENCODED_FIELD fully_qualified_field )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1274:3: ( ^( I_ENCODED_FIELD field_reference ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1274:5: ^( I_ENCODED_FIELD field_reference )
 			{
-			match(input,I_ENCODED_FIELD,FOLLOW_I_ENCODED_FIELD_in_field_literal3569); 
-			match(input, Token.DOWN, null); 
-			pushFollow(FOLLOW_fully_qualified_field_in_field_literal3571);
-			fully_qualified_field208=fully_qualified_field();
+			match(input,I_ENCODED_FIELD,FOLLOW_I_ENCODED_FIELD_in_field_literal3571);
+			match(input, Token.DOWN, null);
+			pushFollow(FOLLOW_field_reference_in_field_literal3573);
+			field_reference208=field_reference();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 
-			      value = fully_qualified_field208;
-			    
+			      value = field_reference208;
+			
 			}
 
 		}
@@ -6899,28 +6948,28 @@
 
 
 	// $ANTLR start "method_literal"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1267:1: method_literal returns [MethodReference value] : ^( I_ENCODED_METHOD fully_qualified_method ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1279:1: method_literal returns [MethodReference value] : ^( I_ENCODED_METHOD method_reference ) ;
 	public final MethodReference method_literal() throws RecognitionException {
 		MethodReference value = null;
 
 
-		ImmutableMethodReference fully_qualified_method209 =null;
+		ImmutableMethodReference method_reference209 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1268:3: ( ^( I_ENCODED_METHOD fully_qualified_method ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1268:5: ^( I_ENCODED_METHOD fully_qualified_method )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1280:3: ( ^( I_ENCODED_METHOD method_reference ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1280:5: ^( I_ENCODED_METHOD method_reference )
 			{
-			match(input,I_ENCODED_METHOD,FOLLOW_I_ENCODED_METHOD_in_method_literal3592); 
-			match(input, Token.DOWN, null); 
-			pushFollow(FOLLOW_fully_qualified_method_in_method_literal3594);
-			fully_qualified_method209=fully_qualified_method();
+			match(input,I_ENCODED_METHOD,FOLLOW_I_ENCODED_METHOD_in_method_literal3594);
+			match(input, Token.DOWN, null);
+			pushFollow(FOLLOW_method_reference_in_method_literal3596);
+			method_reference209=method_reference();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 
-			      value = fully_qualified_method209;
-			    
+			      value = method_reference209;
+			
 			}
 
 		}
@@ -6938,28 +6987,28 @@
 
 
 	// $ANTLR start "enum_literal"
-	// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1273:1: enum_literal returns [FieldReference value] : ^( I_ENCODED_ENUM fully_qualified_field ) ;
+	// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1285:1: enum_literal returns [FieldReference value] : ^( I_ENCODED_ENUM field_reference ) ;
 	public final FieldReference enum_literal() throws RecognitionException {
 		FieldReference value = null;
 
 
-		ImmutableFieldReference fully_qualified_field210 =null;
+		ImmutableFieldReference field_reference210 =null;
 
 		try {
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1274:3: ( ^( I_ENCODED_ENUM fully_qualified_field ) )
-			// /usr/local/google/home/bgruv/android/aosp-master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1274:5: ^( I_ENCODED_ENUM fully_qualified_field )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1286:3: ( ^( I_ENCODED_ENUM field_reference ) )
+			// /mnt/ssd1/workspace/aosp_master/external/smali/smali/src/main/antlr3/smaliTreeWalker.g:1286:5: ^( I_ENCODED_ENUM field_reference )
 			{
-			match(input,I_ENCODED_ENUM,FOLLOW_I_ENCODED_ENUM_in_enum_literal3615); 
-			match(input, Token.DOWN, null); 
-			pushFollow(FOLLOW_fully_qualified_field_in_enum_literal3617);
-			fully_qualified_field210=fully_qualified_field();
+			match(input,I_ENCODED_ENUM,FOLLOW_I_ENCODED_ENUM_in_enum_literal3617);
+			match(input, Token.DOWN, null);
+			pushFollow(FOLLOW_field_reference_in_enum_literal3619);
+			field_reference210=field_reference();
 			state._fsp--;
 
-			match(input, Token.UP, null); 
+			match(input, Token.UP, null);
 
 
-			      value = fully_qualified_field210;
-			    
+			      value = field_reference210;
+			
 			}
 
 		}
@@ -6979,35 +7028,35 @@
 
 
 	public static final BitSet FOLLOW_I_CLASS_DEF_in_smali_file52 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_header_in_smali_file54 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000004L});
-	public static final BitSet FOLLOW_methods_in_smali_file56 = new BitSet(new long[]{0x0000000000000000L,0x0200000000000000L});
-	public static final BitSet FOLLOW_fields_in_smali_file58 = new BitSet(new long[]{0x0000000000000000L,0x0000040000000000L});
+	public static final BitSet FOLLOW_header_in_smali_file54 = new BitSet(new long[]{0x0000000000000000L,0x0004000000000000L});
+	public static final BitSet FOLLOW_methods_in_smali_file56 = new BitSet(new long[]{0x0000000000000000L,0x0000020000000000L});
+	public static final BitSet FOLLOW_fields_in_smali_file58 = new BitSet(new long[]{0x0000000000000000L,0x0000000004000000L});
 	public static final BitSet FOLLOW_annotations_in_smali_file60 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_class_spec_in_header85 = new BitSet(new long[]{0x0000000000000000L,0x1000000000000000L,0x0020000000010000L});
-	public static final BitSet FOLLOW_super_spec_in_header87 = new BitSet(new long[]{0x0000000000000000L,0x1000000000000000L,0x0000000000010000L});
-	public static final BitSet FOLLOW_implements_list_in_header90 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
+	public static final BitSet FOLLOW_class_spec_in_header85 = new BitSet(new long[]{0x0000000000000000L,0x0000100000000000L,0x0000002000000001L});
+	public static final BitSet FOLLOW_super_spec_in_header87 = new BitSet(new long[]{0x0000000000000000L,0x0000100000000000L,0x0000000000000001L});
+	public static final BitSet FOLLOW_implements_list_in_header90 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000001L});
 	public static final BitSet FOLLOW_source_spec_in_header92 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_CLASS_DESCRIPTOR_in_class_spec110 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
+	public static final BitSet FOLLOW_CLASS_DESCRIPTOR_in_class_spec110 = new BitSet(new long[]{0x0000000000000000L,0x0000000001000000L});
 	public static final BitSet FOLLOW_access_list_in_class_spec112 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_I_SUPER_in_super_spec130 = new BitSet(new long[]{0x0000000000000004L});
 	public static final BitSet FOLLOW_CLASS_DESCRIPTOR_in_super_spec132 = new BitSet(new long[]{0x0000000000000008L});
 	public static final BitSet FOLLOW_I_IMPLEMENTS_in_implements_spec152 = new BitSet(new long[]{0x0000000000000004L});
 	public static final BitSet FOLLOW_CLASS_DESCRIPTOR_in_implements_spec154 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_implements_spec_in_implements_list184 = new BitSet(new long[]{0x0000000000000002L,0x1000000000000000L});
+	public static final BitSet FOLLOW_implements_spec_in_implements_list184 = new BitSet(new long[]{0x0000000000000002L,0x0000100000000000L});
 	public static final BitSet FOLLOW_I_SOURCE_in_source_spec213 = new BitSet(new long[]{0x0000000000000004L});
 	public static final BitSet FOLLOW_string_literal_in_source_spec215 = new BitSet(new long[]{0x0000000000000008L});
 	public static final BitSet FOLLOW_I_ACCESS_LIST_in_access_list248 = new BitSet(new long[]{0x0000000000000004L});
 	public static final BitSet FOLLOW_ACCESS_SPEC_in_access_list266 = new BitSet(new long[]{0x0000000000000018L});
 	public static final BitSet FOLLOW_I_FIELDS_in_fields308 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_field_in_fields317 = new BitSet(new long[]{0x0000000000000008L,0x0100000000000000L});
+	public static final BitSet FOLLOW_field_in_fields317 = new BitSet(new long[]{0x0000000000000008L,0x0000010000000000L});
 	public static final BitSet FOLLOW_I_METHODS_in_methods349 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_method_in_methods358 = new BitSet(new long[]{0x0000000000000008L,0x0000000000000000L,0x0000000000000002L});
+	public static final BitSet FOLLOW_method_in_methods358 = new BitSet(new long[]{0x0000000000000008L,0x0002000000000000L});
 	public static final BitSet FOLLOW_I_FIELD_in_field383 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_SIMPLE_NAME_in_field385 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
-	public static final BitSet FOLLOW_access_list_in_field387 = new BitSet(new long[]{0x0000000000000000L,0x0800000000000000L});
+	public static final BitSet FOLLOW_SIMPLE_NAME_in_field385 = new BitSet(new long[]{0x0000000000000000L,0x0000000001000000L});
+	public static final BitSet FOLLOW_access_list_in_field387 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L});
 	public static final BitSet FOLLOW_I_FIELD_TYPE_in_field390 = new BitSet(new long[]{0x0000000000000004L});
 	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_field392 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_field_initial_value_in_field395 = new BitSet(new long[]{0x0000000000000008L,0x0000040000000000L});
+	public static final BitSet FOLLOW_field_initial_value_in_field395 = new BitSet(new long[]{0x0000000000000008L,0x0000000004000000L});
 	public static final BitSet FOLLOW_annotations_in_field397 = new BitSet(new long[]{0x0000000000000008L});
 	public static final BitSet FOLLOW_I_FIELD_INITIAL_VALUE_in_field_initial_value418 = new BitSet(new long[]{0x0000000000000004L});
 	public static final BitSet FOLLOW_literal_in_field_initial_value420 = new BitSet(new long[]{0x0000000000000008L});
@@ -7051,300 +7100,300 @@
 	public static final BitSet FOLLOW_char_literal_in_fixed_32bit_literal762 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_bool_literal_in_fixed_32bit_literal770 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_I_ARRAY_ELEMENTS_in_array_elements792 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_fixed_64bit_literal_number_in_array_elements801 = new BitSet(new long[]{0x0008000402600008L,0x0000004000000000L,0x0800000000000000L,0x0000000000001000L});
+	public static final BitSet FOLLOW_fixed_64bit_literal_number_in_array_elements801 = new BitSet(new long[]{0x0000004000404C08L,0x0000000000400000L,0x2000040000000000L});
 	public static final BitSet FOLLOW_I_PACKED_SWITCH_ELEMENTS_in_packed_switch_elements837 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_label_ref_in_packed_switch_elements846 = new BitSet(new long[]{0x0000000000000008L,0x0000000000000000L,0x0000000000000000L,0x0000000000002000L});
+	public static final BitSet FOLLOW_label_ref_in_packed_switch_elements846 = new BitSet(new long[]{0x0000000000000008L,0x0000000000000000L,0x4000000000000000L});
 	public static final BitSet FOLLOW_I_SPARSE_SWITCH_ELEMENTS_in_sparse_switch_elements881 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_fixed_32bit_literal_in_sparse_switch_elements891 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000002000L});
-	public static final BitSet FOLLOW_label_ref_in_sparse_switch_elements893 = new BitSet(new long[]{0x0008000002600008L,0x0000004000000000L,0x0800000000000000L,0x0000000000001000L});
+	public static final BitSet FOLLOW_fixed_32bit_literal_in_sparse_switch_elements891 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x4000000000000000L});
+	public static final BitSet FOLLOW_label_ref_in_sparse_switch_elements893 = new BitSet(new long[]{0x0000004000004C08L,0x0000000000400000L,0x2000040000000000L});
 	public static final BitSet FOLLOW_I_METHOD_in_method945 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_method_name_and_prototype_in_method953 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
-	public static final BitSet FOLLOW_access_list_in_method961 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000001021L});
-	public static final BitSet FOLLOW_registers_directive_in_method988 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000020L});
-	public static final BitSet FOLLOW_ordered_method_items_in_method1045 = new BitSet(new long[]{0x0000000000000000L,0x0001000000000000L});
-	public static final BitSet FOLLOW_catches_in_method1053 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_parameters_in_method1061 = new BitSet(new long[]{0x0000000000000000L,0x0000040000000000L});
+	public static final BitSet FOLLOW_method_name_and_prototype_in_method953 = new BitSet(new long[]{0x0000000000000000L,0x0000000001000000L});
+	public static final BitSet FOLLOW_access_list_in_method961 = new BitSet(new long[]{0x0000000000000000L,0x1021000000000000L});
+	public static final BitSet FOLLOW_registers_directive_in_method988 = new BitSet(new long[]{0x0000000000000000L,0x0020000000000000L});
+	public static final BitSet FOLLOW_ordered_method_items_in_method1045 = new BitSet(new long[]{0x0000000000000000L,0x0000000100000000L});
+	public static final BitSet FOLLOW_catches_in_method1053 = new BitSet(new long[]{0x0000000000000000L,0x0200000000000000L});
+	public static final BitSet FOLLOW_parameters_in_method1061 = new BitSet(new long[]{0x0000000000000000L,0x0000000004000000L});
 	public static final BitSet FOLLOW_annotations_in_method1070 = new BitSet(new long[]{0x0000000000000008L});
 	public static final BitSet FOLLOW_I_METHOD_PROTOTYPE_in_method_prototype1094 = new BitSet(new long[]{0x0000000000000004L});
 	public static final BitSet FOLLOW_I_METHOD_RETURN_TYPE_in_method_prototype1097 = new BitSet(new long[]{0x0000000000000004L});
 	public static final BitSet FOLLOW_type_descriptor_in_method_prototype1099 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_field_type_list_in_method_prototype1102 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_SIMPLE_NAME_in_method_name_and_prototype1120 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000008L});
+	public static final BitSet FOLLOW_method_type_list_in_method_prototype1102 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_SIMPLE_NAME_in_method_name_and_prototype1120 = new BitSet(new long[]{0x0000000000000000L,0x0008000000000000L});
 	public static final BitSet FOLLOW_method_prototype_in_method_name_and_prototype1122 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_field_type_list1156 = new BitSet(new long[]{0x0000000004000102L,0x0000000000000000L,0x0000000000000000L,0x0000000000000080L});
-	public static final BitSet FOLLOW_reference_type_descriptor_in_fully_qualified_method1185 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000002000L});
-	public static final BitSet FOLLOW_SIMPLE_NAME_in_fully_qualified_method1187 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000008L});
-	public static final BitSet FOLLOW_method_prototype_in_fully_qualified_method1189 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_reference_type_descriptor_in_fully_qualified_field1206 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000002000L});
-	public static final BitSet FOLLOW_SIMPLE_NAME_in_fully_qualified_field1208 = new BitSet(new long[]{0x0000000004000100L,0x0000000000000000L,0x0000000000000000L,0x0000000000000080L});
-	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_fully_qualified_field1210 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_I_REGISTERS_in_registers_directive1236 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_I_LOCALS_in_registers_directive1248 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_short_integral_literal_in_registers_directive1266 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_LABEL_in_label_def1286 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_SIMPLE_NAME_in_label_def1288 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_CATCHES_in_catches1314 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_catch_directive_in_catches1316 = new BitSet(new long[]{0x0000000000000008L,0x0000C00000000000L});
-	public static final BitSet FOLLOW_catchall_directive_in_catches1319 = new BitSet(new long[]{0x0000000000000008L,0x0000800000000000L});
-	public static final BitSet FOLLOW_I_CATCH_in_catch_directive1332 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_catch_directive1334 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000002000L});
-	public static final BitSet FOLLOW_label_ref_in_catch_directive1338 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000002000L});
-	public static final BitSet FOLLOW_label_ref_in_catch_directive1342 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000002000L});
-	public static final BitSet FOLLOW_label_ref_in_catch_directive1346 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_CATCHALL_in_catchall_directive1362 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_label_ref_in_catchall_directive1366 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000002000L});
-	public static final BitSet FOLLOW_label_ref_in_catchall_directive1370 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000002000L});
-	public static final BitSet FOLLOW_label_ref_in_catchall_directive1374 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_PARAMETERS_in_parameters1391 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_parameter_in_parameters1394 = new BitSet(new long[]{0x0000000000000008L,0x0000000000000000L,0x0000000000000100L});
-	public static final BitSet FOLLOW_I_PARAMETER_in_parameter1410 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_REGISTER_in_parameter1412 = new BitSet(new long[]{0x0000000000000000L,0x0000040000000000L,0x0000000000000000L,0x0000000000010000L});
-	public static final BitSet FOLLOW_string_literal_in_parameter1414 = new BitSet(new long[]{0x0000000000000000L,0x0000040000000000L});
-	public static final BitSet FOLLOW_annotations_in_parameter1417 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_line_in_debug_directive1434 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_local_in_debug_directive1440 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_end_local_in_debug_directive1446 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_restart_local_in_debug_directive1452 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_prologue_in_debug_directive1458 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_epilogue_in_debug_directive1464 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_source_in_debug_directive1470 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_I_LINE_in_line1481 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_integral_literal_in_line1483 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_LOCAL_in_local1501 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_REGISTER_in_local1503 = new BitSet(new long[]{0x0000000000000008L,0x0000000000000000L,0x8000000000000000L,0x0000000000010000L});
-	public static final BitSet FOLLOW_NULL_LITERAL_in_local1507 = new BitSet(new long[]{0x0000000004000108L,0x0000000000000000L,0x0000000000000000L,0x0000000000010080L});
-	public static final BitSet FOLLOW_string_literal_in_local1513 = new BitSet(new long[]{0x0000000004000108L,0x0000000000000000L,0x0000000000000000L,0x0000000000010080L});
-	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_local1516 = new BitSet(new long[]{0x0000000000000008L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
-	public static final BitSet FOLLOW_string_literal_in_local1521 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_END_LOCAL_in_end_local1542 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_REGISTER_in_end_local1544 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_RESTART_LOCAL_in_restart_local1562 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_REGISTER_in_restart_local1564 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_PROLOGUE_in_prologue1581 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_I_EPILOGUE_in_epilogue1597 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_I_SOURCE_in_source1614 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_string_literal_in_source1616 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_ORDERED_METHOD_ITEMS_in_ordered_method_items1635 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_label_def_in_ordered_method_items1638 = new BitSet(new long[]{0x0000000000000008L,0xE0C0000000000000L,0x000FFFFFFFFD8800L});
-	public static final BitSet FOLLOW_instruction_in_ordered_method_items1642 = new BitSet(new long[]{0x0000000000000008L,0xE0C0000000000000L,0x000FFFFFFFFD8800L});
-	public static final BitSet FOLLOW_debug_directive_in_ordered_method_items1646 = new BitSet(new long[]{0x0000000000000008L,0xE0C0000000000000L,0x000FFFFFFFFD8800L});
-	public static final BitSet FOLLOW_SIMPLE_NAME_in_label_ref1662 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_I_REGISTER_LIST_in_register_list1687 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_REGISTER_in_register_list1696 = new BitSet(new long[]{0x0000000000000008L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_I_REGISTER_RANGE_in_register_range1721 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_REGISTER_in_register_range1726 = new BitSet(new long[]{0x0000000000000008L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_register_range1730 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_CLASS_DESCRIPTOR_in_verification_error_reference1753 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_fully_qualified_field_in_verification_error_reference1763 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_fully_qualified_method_in_verification_error_reference1773 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_VERIFICATION_ERROR_TYPE_in_verification_error_type1790 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format10t_in_instruction1804 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format10x_in_instruction1810 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format11n_in_instruction1816 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format11x_in_instruction1822 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format12x_in_instruction1828 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format20bc_in_instruction1834 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format20t_in_instruction1840 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format21c_field_in_instruction1846 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format21c_string_in_instruction1852 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format21c_type_in_instruction1858 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format21ih_in_instruction1864 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format21lh_in_instruction1870 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format21s_in_instruction1876 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format21t_in_instruction1882 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format22b_in_instruction1888 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format22c_field_in_instruction1894 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format22c_type_in_instruction1900 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format22s_in_instruction1906 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format22t_in_instruction1912 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format22x_in_instruction1918 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format23x_in_instruction1924 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format30t_in_instruction1930 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format31c_in_instruction1936 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format31i_in_instruction1942 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format31t_in_instruction1948 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format32x_in_instruction1954 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format35c_method_in_instruction1960 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format35c_type_in_instruction1966 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format3rc_method_in_instruction1972 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format3rc_type_in_instruction1978 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_format51l_type_in_instruction1984 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_array_data_directive_in_instruction1990 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_packed_switch_directive_in_instruction1996 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_insn_sparse_switch_directive_in_instruction2002 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_I_STATEMENT_FORMAT10t_in_insn_format10t2026 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT10t_in_insn_format10t2028 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000002000L});
-	public static final BitSet FOLLOW_label_ref_in_insn_format10t2030 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_STATEMENT_FORMAT10x_in_insn_format10x2053 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT10x_in_insn_format10x2055 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_STATEMENT_FORMAT11n_in_insn_format11n2078 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT11n_in_insn_format11n2080 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format11n2082 = new BitSet(new long[]{0x0000000002400000L,0x0000004000000000L,0x0800000000000000L,0x0000000000001000L});
-	public static final BitSet FOLLOW_short_integral_literal_in_insn_format11n2084 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_STATEMENT_FORMAT11x_in_insn_format11x2107 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT11x_in_insn_format11x2109 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format11x2111 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_STATEMENT_FORMAT12x_in_insn_format12x2134 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT12x_in_insn_format12x2136 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format12x2140 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format12x2144 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_STATEMENT_FORMAT20bc_in_insn_format20bc2167 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT20bc_in_insn_format20bc2169 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000080000L});
-	public static final BitSet FOLLOW_verification_error_type_in_insn_format20bc2171 = new BitSet(new long[]{0x0000000004000100L});
-	public static final BitSet FOLLOW_verification_error_reference_in_insn_format20bc2173 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_STATEMENT_FORMAT20t_in_insn_format20t2196 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT20t_in_insn_format20t2198 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000002000L});
-	public static final BitSet FOLLOW_label_ref_in_insn_format20t2200 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_STATEMENT_FORMAT21c_FIELD_in_insn_format21c_field2223 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_set_in_insn_format21c_field2227 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format21c_field2235 = new BitSet(new long[]{0x0000000004000100L});
-	public static final BitSet FOLLOW_fully_qualified_field_in_insn_format21c_field2237 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_STATEMENT_FORMAT21c_STRING_in_insn_format21c_string2260 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21c_STRING_in_insn_format21c_string2262 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format21c_string2264 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
-	public static final BitSet FOLLOW_string_literal_in_insn_format21c_string2266 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_STATEMENT_FORMAT21c_TYPE_in_insn_format21c_type2289 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21c_TYPE_in_insn_format21c_type2291 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format21c_type2293 = new BitSet(new long[]{0x0000000004000100L,0x0000000000000000L,0x0000000000000000L,0x0000000000000080L});
-	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_insn_format21c_type2295 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_STATEMENT_FORMAT21ih_in_insn_format21ih2318 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21ih_in_insn_format21ih2320 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format21ih2322 = new BitSet(new long[]{0x0008000002600000L,0x0000004000000000L,0x0800000000000000L,0x0000000000001000L});
-	public static final BitSet FOLLOW_fixed_32bit_literal_in_insn_format21ih2324 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_STATEMENT_FORMAT21lh_in_insn_format21lh2347 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21lh_in_insn_format21lh2349 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format21lh2351 = new BitSet(new long[]{0x0008000402600000L,0x0000004000000000L,0x0800000000000000L,0x0000000000001000L});
-	public static final BitSet FOLLOW_fixed_64bit_literal_in_insn_format21lh2353 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_STATEMENT_FORMAT21s_in_insn_format21s2376 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21s_in_insn_format21s2378 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format21s2380 = new BitSet(new long[]{0x0000000002400000L,0x0000004000000000L,0x0800000000000000L,0x0000000000001000L});
-	public static final BitSet FOLLOW_short_integral_literal_in_insn_format21s2382 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_STATEMENT_FORMAT21t_in_insn_format21t2405 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21t_in_insn_format21t2407 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format21t2409 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000002000L});
-	public static final BitSet FOLLOW_label_ref_in_insn_format21t2411 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_STATEMENT_FORMAT22b_in_insn_format22b2434 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22b_in_insn_format22b2436 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format22b2440 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format22b2444 = new BitSet(new long[]{0x0000000002400000L,0x0000004000000000L,0x0800000000000000L,0x0000000000001000L});
-	public static final BitSet FOLLOW_short_integral_literal_in_insn_format22b2446 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_STATEMENT_FORMAT22c_FIELD_in_insn_format22c_field2469 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_set_in_insn_format22c_field2473 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format22c_field2483 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format22c_field2487 = new BitSet(new long[]{0x0000000004000100L});
-	public static final BitSet FOLLOW_fully_qualified_field_in_insn_format22c_field2489 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_STATEMENT_FORMAT22c_TYPE_in_insn_format22c_type2512 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22c_TYPE_in_insn_format22c_type2514 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format22c_type2518 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format22c_type2522 = new BitSet(new long[]{0x0000000004000100L,0x0000000000000000L,0x0000000000000000L,0x0000000000000080L});
-	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_insn_format22c_type2524 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_STATEMENT_FORMAT22s_in_insn_format22s2547 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22s_in_insn_format22s2549 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format22s2553 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format22s2557 = new BitSet(new long[]{0x0000000002400000L,0x0000004000000000L,0x0800000000000000L,0x0000000000001000L});
-	public static final BitSet FOLLOW_short_integral_literal_in_insn_format22s2559 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_STATEMENT_FORMAT22t_in_insn_format22t2582 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22t_in_insn_format22t2584 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format22t2588 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format22t2592 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000002000L});
-	public static final BitSet FOLLOW_label_ref_in_insn_format22t2594 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_STATEMENT_FORMAT22x_in_insn_format22x2617 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22x_in_insn_format22x2619 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format22x2623 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format22x2627 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_STATEMENT_FORMAT23x_in_insn_format23x2650 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT23x_in_insn_format23x2652 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format23x2656 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format23x2660 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format23x2664 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_STATEMENT_FORMAT30t_in_insn_format30t2687 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT30t_in_insn_format30t2689 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000002000L});
-	public static final BitSet FOLLOW_label_ref_in_insn_format30t2691 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_STATEMENT_FORMAT31c_in_insn_format31c2714 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT31c_in_insn_format31c2716 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format31c2718 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000010000L});
-	public static final BitSet FOLLOW_string_literal_in_insn_format31c2720 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_STATEMENT_FORMAT31i_in_insn_format31i2743 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT31i_in_insn_format31i2745 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format31i2747 = new BitSet(new long[]{0x0008000002600000L,0x0000004000000000L,0x0800000000000000L,0x0000000000001000L});
-	public static final BitSet FOLLOW_fixed_32bit_literal_in_insn_format31i2749 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_STATEMENT_FORMAT31t_in_insn_format31t2772 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT31t_in_insn_format31t2774 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format31t2776 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000002000L});
-	public static final BitSet FOLLOW_label_ref_in_insn_format31t2778 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_STATEMENT_FORMAT32x_in_insn_format32x2801 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT32x_in_insn_format32x2803 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format32x2807 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format32x2811 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_STATEMENT_FORMAT35c_METHOD_in_insn_format35c_method2834 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT35c_METHOD_in_insn_format35c_method2836 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L});
-	public static final BitSet FOLLOW_register_list_in_insn_format35c_method2838 = new BitSet(new long[]{0x0000000004000100L});
-	public static final BitSet FOLLOW_fully_qualified_method_in_insn_format35c_method2840 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_STATEMENT_FORMAT35c_TYPE_in_insn_format35c_type2863 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT35c_TYPE_in_insn_format35c_type2865 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L});
-	public static final BitSet FOLLOW_register_list_in_insn_format35c_type2867 = new BitSet(new long[]{0x0000000004000100L,0x0000000000000000L,0x0000000000000000L,0x0000000000000080L});
-	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_insn_format35c_type2869 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_STATEMENT_FORMAT3rc_METHOD_in_insn_format3rc_method2892 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT3rc_METHOD_in_insn_format3rc_method2894 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000004000L});
-	public static final BitSet FOLLOW_register_range_in_insn_format3rc_method2896 = new BitSet(new long[]{0x0000000004000100L});
-	public static final BitSet FOLLOW_fully_qualified_method_in_insn_format3rc_method2898 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_STATEMENT_FORMAT3rc_TYPE_in_insn_format3rc_type2921 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT3rc_TYPE_in_insn_format3rc_type2923 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000004000L});
-	public static final BitSet FOLLOW_register_range_in_insn_format3rc_type2925 = new BitSet(new long[]{0x0000000004000100L,0x0000000000000000L,0x0000000000000000L,0x0000000000000080L});
-	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_insn_format3rc_type2927 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_STATEMENT_FORMAT51l_in_insn_format51l_type2950 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_INSTRUCTION_FORMAT51l_in_insn_format51l_type2952 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_REGISTER_in_insn_format51l_type2954 = new BitSet(new long[]{0x0008000402600000L,0x0000004000000000L,0x0800000000000000L,0x0000000000001000L});
-	public static final BitSet FOLLOW_fixed_64bit_literal_in_insn_format51l_type2956 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_STATEMENT_ARRAY_DATA_in_insn_array_data_directive2979 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_I_ARRAY_ELEMENT_SIZE_in_insn_array_data_directive2982 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_short_integral_literal_in_insn_array_data_directive2984 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_array_elements_in_insn_array_data_directive2987 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_STATEMENT_PACKED_SWITCH_in_insn_packed_switch_directive3009 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_I_PACKED_SWITCH_START_KEY_in_insn_packed_switch_directive3012 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_fixed_32bit_literal_in_insn_packed_switch_directive3014 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_packed_switch_elements_in_insn_packed_switch_directive3017 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_STATEMENT_SPARSE_SWITCH_in_insn_sparse_switch_directive3041 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_sparse_switch_elements_in_insn_sparse_switch_directive3043 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_set_in_nonvoid_type_descriptor3064 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_set_in_reference_type_descriptor3096 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_VOID_TYPE_in_type_descriptor3122 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_type_descriptor3130 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_long_literal_in_short_integral_literal3148 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_integer_literal_in_short_integral_literal3160 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_short_literal_in_short_integral_literal3172 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_char_literal_in_short_integral_literal3180 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_byte_literal_in_short_integral_literal3188 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_long_literal_in_integral_literal3203 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_integer_literal_in_integral_literal3215 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_short_literal_in_integral_literal3223 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_byte_literal_in_integral_literal3231 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_INTEGER_LITERAL_in_integer_literal3247 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_LONG_LITERAL_in_long_literal3262 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_SHORT_LITERAL_in_short_literal3277 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_BYTE_LITERAL_in_byte_literal3292 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_FLOAT_LITERAL_in_float_literal3307 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_DOUBLE_LITERAL_in_double_literal3322 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_CHAR_LITERAL_in_char_literal3337 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_STRING_LITERAL_in_string_literal3352 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_BOOL_LITERAL_in_bool_literal3371 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_I_ENCODED_ARRAY_in_array_literal3393 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_literal_in_array_literal3396 = new BitSet(new long[]{0x0008000406600108L,0x003C004000000000L,0x8810000000000000L,0x0000000000111080L});
-	public static final BitSet FOLLOW_I_ANNOTATIONS_in_annotations3421 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_annotation_in_annotations3424 = new BitSet(new long[]{0x0000000000000008L,0x0000020000000000L});
-	public static final BitSet FOLLOW_I_ANNOTATION_in_annotation3453 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_ANNOTATION_VISIBILITY_in_annotation3455 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0010000000000000L});
-	public static final BitSet FOLLOW_subannotation_in_annotation3457 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_ANNOTATION_ELEMENT_in_annotation_element3478 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_SIMPLE_NAME_in_annotation_element3480 = new BitSet(new long[]{0x0008000406600100L,0x003C004000000000L,0x8810000000000000L,0x0000000000111080L});
-	public static final BitSet FOLLOW_literal_in_annotation_element3482 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_SUBANNOTATION_in_subannotation3509 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_CLASS_DESCRIPTOR_in_subannotation3519 = new BitSet(new long[]{0x0000000000000008L,0x0000080000000000L});
-	public static final BitSet FOLLOW_annotation_element_in_subannotation3530 = new BitSet(new long[]{0x0000000000000008L,0x0000080000000000L});
-	public static final BitSet FOLLOW_I_ENCODED_FIELD_in_field_literal3569 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_fully_qualified_field_in_field_literal3571 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_ENCODED_METHOD_in_method_literal3592 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_fully_qualified_method_in_method_literal3594 = new BitSet(new long[]{0x0000000000000008L});
-	public static final BitSet FOLLOW_I_ENCODED_ENUM_in_enum_literal3615 = new BitSet(new long[]{0x0000000000000004L});
-	public static final BitSet FOLLOW_fully_qualified_field_in_enum_literal3617 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_method_type_list1156 = new BitSet(new long[]{0x0000000000008102L,0x0000000000000000L,0x0100000000000000L});
+	public static final BitSet FOLLOW_reference_type_descriptor_in_method_reference1185 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x4000000000000000L});
+	public static final BitSet FOLLOW_SIMPLE_NAME_in_method_reference1188 = new BitSet(new long[]{0x0000000000000000L,0x0008000000000000L});
+	public static final BitSet FOLLOW_method_prototype_in_method_reference1190 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_reference_type_descriptor_in_field_reference1207 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x4000000000000000L});
+	public static final BitSet FOLLOW_SIMPLE_NAME_in_field_reference1210 = new BitSet(new long[]{0x0000000000008100L,0x0000000000000000L,0x0100000000000000L});
+	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_field_reference1212 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_I_REGISTERS_in_registers_directive1238 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_I_LOCALS_in_registers_directive1250 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_short_integral_literal_in_registers_directive1268 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_LABEL_in_label_def1288 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_SIMPLE_NAME_in_label_def1290 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_CATCHES_in_catches1316 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_catch_directive_in_catches1318 = new BitSet(new long[]{0x0000000000000008L,0x00000000C0000000L});
+	public static final BitSet FOLLOW_catchall_directive_in_catches1321 = new BitSet(new long[]{0x0000000000000008L,0x0000000080000000L});
+	public static final BitSet FOLLOW_I_CATCH_in_catch_directive1334 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_catch_directive1336 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x4000000000000000L});
+	public static final BitSet FOLLOW_label_ref_in_catch_directive1340 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x4000000000000000L});
+	public static final BitSet FOLLOW_label_ref_in_catch_directive1344 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x4000000000000000L});
+	public static final BitSet FOLLOW_label_ref_in_catch_directive1348 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_CATCHALL_in_catchall_directive1364 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_label_ref_in_catchall_directive1368 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x4000000000000000L});
+	public static final BitSet FOLLOW_label_ref_in_catchall_directive1372 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x4000000000000000L});
+	public static final BitSet FOLLOW_label_ref_in_catchall_directive1376 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_PARAMETERS_in_parameters1393 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_parameter_in_parameters1396 = new BitSet(new long[]{0x0000000000000008L,0x0100000000000000L});
+	public static final BitSet FOLLOW_I_PARAMETER_in_parameter1412 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_REGISTER_in_parameter1414 = new BitSet(new long[]{0x0000000000000000L,0x0000000004000000L,0x0000000000000000L,0x0000000000000002L});
+	public static final BitSet FOLLOW_string_literal_in_parameter1416 = new BitSet(new long[]{0x0000000000000000L,0x0000000004000000L});
+	public static final BitSet FOLLOW_annotations_in_parameter1419 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_line_in_debug_directive1436 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_local_in_debug_directive1442 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_end_local_in_debug_directive1448 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_restart_local_in_debug_directive1454 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_prologue_in_debug_directive1460 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_epilogue_in_debug_directive1466 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_source_in_debug_directive1472 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_I_LINE_in_line1483 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_integral_literal_in_line1485 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_LOCAL_in_local1503 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_REGISTER_in_local1505 = new BitSet(new long[]{0x0000000000000008L,0x0000000000000000L,0x0000400000000000L,0x0000000000000002L});
+	public static final BitSet FOLLOW_NULL_LITERAL_in_local1509 = new BitSet(new long[]{0x0000000000008108L,0x0000000000000000L,0x0100000000000000L,0x0000000000000002L});
+	public static final BitSet FOLLOW_string_literal_in_local1515 = new BitSet(new long[]{0x0000000000008108L,0x0000000000000000L,0x0100000000000000L,0x0000000000000002L});
+	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_local1518 = new BitSet(new long[]{0x0000000000000008L,0x0000000000000000L,0x0000000000000000L,0x0000000000000002L});
+	public static final BitSet FOLLOW_string_literal_in_local1523 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_END_LOCAL_in_end_local1544 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_REGISTER_in_end_local1546 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_RESTART_LOCAL_in_restart_local1564 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_REGISTER_in_restart_local1566 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_PROLOGUE_in_prologue1583 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_I_EPILOGUE_in_epilogue1599 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_I_SOURCE_in_source1616 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_string_literal_in_source1618 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_ORDERED_METHOD_ITEMS_in_ordered_method_items1637 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_label_def_in_ordered_method_items1640 = new BitSet(new long[]{0x0000000000000008L,0x8800E0C000000000L,0x0000000FFFFFFFFDL});
+	public static final BitSet FOLLOW_instruction_in_ordered_method_items1644 = new BitSet(new long[]{0x0000000000000008L,0x8800E0C000000000L,0x0000000FFFFFFFFDL});
+	public static final BitSet FOLLOW_debug_directive_in_ordered_method_items1648 = new BitSet(new long[]{0x0000000000000008L,0x8800E0C000000000L,0x0000000FFFFFFFFDL});
+	public static final BitSet FOLLOW_SIMPLE_NAME_in_label_ref1664 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_I_REGISTER_LIST_in_register_list1689 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_REGISTER_in_register_list1698 = new BitSet(new long[]{0x0000000000000008L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_I_REGISTER_RANGE_in_register_range1723 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_REGISTER_in_register_range1728 = new BitSet(new long[]{0x0000000000000008L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_register_range1732 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_CLASS_DESCRIPTOR_in_verification_error_reference1755 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_field_reference_in_verification_error_reference1765 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_method_reference_in_verification_error_reference1775 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_VERIFICATION_ERROR_TYPE_in_verification_error_type1792 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format10t_in_instruction1806 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format10x_in_instruction1812 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format11n_in_instruction1818 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format11x_in_instruction1824 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format12x_in_instruction1830 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format20bc_in_instruction1836 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format20t_in_instruction1842 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format21c_field_in_instruction1848 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format21c_string_in_instruction1854 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format21c_type_in_instruction1860 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format21ih_in_instruction1866 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format21lh_in_instruction1872 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format21s_in_instruction1878 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format21t_in_instruction1884 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format22b_in_instruction1890 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format22c_field_in_instruction1896 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format22c_type_in_instruction1902 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format22s_in_instruction1908 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format22t_in_instruction1914 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format22x_in_instruction1920 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format23x_in_instruction1926 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format30t_in_instruction1932 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format31c_in_instruction1938 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format31i_in_instruction1944 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format31t_in_instruction1950 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format32x_in_instruction1956 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format35c_method_in_instruction1962 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format35c_type_in_instruction1968 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format3rc_method_in_instruction1974 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format3rc_type_in_instruction1980 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_format51l_type_in_instruction1986 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_array_data_directive_in_instruction1992 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_packed_switch_directive_in_instruction1998 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_insn_sparse_switch_directive_in_instruction2004 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_I_STATEMENT_FORMAT10t_in_insn_format10t2028 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT10t_in_insn_format10t2030 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x4000000000000000L});
+	public static final BitSet FOLLOW_label_ref_in_insn_format10t2032 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_STATEMENT_FORMAT10x_in_insn_format10x2055 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT10x_in_insn_format10x2057 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_STATEMENT_FORMAT11n_in_insn_format11n2080 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT11n_in_insn_format11n2082 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format11n2084 = new BitSet(new long[]{0x0000000000004800L,0x0000000000400000L,0x2000040000000000L});
+	public static final BitSet FOLLOW_short_integral_literal_in_insn_format11n2086 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_STATEMENT_FORMAT11x_in_insn_format11x2109 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT11x_in_insn_format11x2111 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format11x2113 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_STATEMENT_FORMAT12x_in_insn_format12x2136 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT12x_in_insn_format12x2138 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format12x2142 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format12x2146 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_STATEMENT_FORMAT20bc_in_insn_format20bc2169 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT20bc_in_insn_format20bc2171 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000010L});
+	public static final BitSet FOLLOW_verification_error_type_in_insn_format20bc2173 = new BitSet(new long[]{0x0000000000008100L,0x0000000000000000L,0x4000000000000000L});
+	public static final BitSet FOLLOW_verification_error_reference_in_insn_format20bc2175 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_STATEMENT_FORMAT20t_in_insn_format20t2198 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT20t_in_insn_format20t2200 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x4000000000000000L});
+	public static final BitSet FOLLOW_label_ref_in_insn_format20t2202 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_STATEMENT_FORMAT21c_FIELD_in_insn_format21c_field2225 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_set_in_insn_format21c_field2229 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format21c_field2237 = new BitSet(new long[]{0x0000000000008100L,0x0000000000000000L,0x4000000000000000L});
+	public static final BitSet FOLLOW_field_reference_in_insn_format21c_field2239 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_STATEMENT_FORMAT21c_STRING_in_insn_format21c_string2262 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21c_STRING_in_insn_format21c_string2264 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format21c_string2266 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000002L});
+	public static final BitSet FOLLOW_string_literal_in_insn_format21c_string2268 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_STATEMENT_FORMAT21c_TYPE_in_insn_format21c_type2291 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21c_TYPE_in_insn_format21c_type2293 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format21c_type2295 = new BitSet(new long[]{0x0000000000008100L,0x0000000000000000L,0x0100000000000000L});
+	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_insn_format21c_type2297 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_STATEMENT_FORMAT21ih_in_insn_format21ih2320 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21ih_in_insn_format21ih2322 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format21ih2324 = new BitSet(new long[]{0x0000004000004C00L,0x0000000000400000L,0x2000040000000000L});
+	public static final BitSet FOLLOW_fixed_32bit_literal_in_insn_format21ih2326 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_STATEMENT_FORMAT21lh_in_insn_format21lh2349 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21lh_in_insn_format21lh2351 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format21lh2353 = new BitSet(new long[]{0x0000004000404C00L,0x0000000000400000L,0x2000040000000000L});
+	public static final BitSet FOLLOW_fixed_64bit_literal_in_insn_format21lh2355 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_STATEMENT_FORMAT21s_in_insn_format21s2378 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21s_in_insn_format21s2380 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format21s2382 = new BitSet(new long[]{0x0000000000004800L,0x0000000000400000L,0x2000040000000000L});
+	public static final BitSet FOLLOW_short_integral_literal_in_insn_format21s2384 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_STATEMENT_FORMAT21t_in_insn_format21t2407 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT21t_in_insn_format21t2409 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format21t2411 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x4000000000000000L});
+	public static final BitSet FOLLOW_label_ref_in_insn_format21t2413 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_STATEMENT_FORMAT22b_in_insn_format22b2436 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22b_in_insn_format22b2438 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format22b2442 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format22b2446 = new BitSet(new long[]{0x0000000000004800L,0x0000000000400000L,0x2000040000000000L});
+	public static final BitSet FOLLOW_short_integral_literal_in_insn_format22b2448 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_STATEMENT_FORMAT22c_FIELD_in_insn_format22c_field2471 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_set_in_insn_format22c_field2475 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format22c_field2485 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format22c_field2489 = new BitSet(new long[]{0x0000000000008100L,0x0000000000000000L,0x4000000000000000L});
+	public static final BitSet FOLLOW_field_reference_in_insn_format22c_field2491 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_STATEMENT_FORMAT22c_TYPE_in_insn_format22c_type2514 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22c_TYPE_in_insn_format22c_type2516 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format22c_type2520 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format22c_type2524 = new BitSet(new long[]{0x0000000000008100L,0x0000000000000000L,0x0100000000000000L});
+	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_insn_format22c_type2526 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_STATEMENT_FORMAT22s_in_insn_format22s2549 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22s_in_insn_format22s2551 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format22s2555 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format22s2559 = new BitSet(new long[]{0x0000000000004800L,0x0000000000400000L,0x2000040000000000L});
+	public static final BitSet FOLLOW_short_integral_literal_in_insn_format22s2561 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_STATEMENT_FORMAT22t_in_insn_format22t2584 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22t_in_insn_format22t2586 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format22t2590 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format22t2594 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x4000000000000000L});
+	public static final BitSet FOLLOW_label_ref_in_insn_format22t2596 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_STATEMENT_FORMAT22x_in_insn_format22x2619 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT22x_in_insn_format22x2621 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format22x2625 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format22x2629 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_STATEMENT_FORMAT23x_in_insn_format23x2652 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT23x_in_insn_format23x2654 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format23x2658 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format23x2662 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format23x2666 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_STATEMENT_FORMAT30t_in_insn_format30t2689 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT30t_in_insn_format30t2691 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x4000000000000000L});
+	public static final BitSet FOLLOW_label_ref_in_insn_format30t2693 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_STATEMENT_FORMAT31c_in_insn_format31c2716 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT31c_in_insn_format31c2718 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format31c2720 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000000L,0x0000000000000002L});
+	public static final BitSet FOLLOW_string_literal_in_insn_format31c2722 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_STATEMENT_FORMAT31i_in_insn_format31i2745 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT31i_in_insn_format31i2747 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format31i2749 = new BitSet(new long[]{0x0000004000004C00L,0x0000000000400000L,0x2000040000000000L});
+	public static final BitSet FOLLOW_fixed_32bit_literal_in_insn_format31i2751 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_STATEMENT_FORMAT31t_in_insn_format31t2774 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT31t_in_insn_format31t2776 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format31t2778 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x4000000000000000L});
+	public static final BitSet FOLLOW_label_ref_in_insn_format31t2780 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_STATEMENT_FORMAT32x_in_insn_format32x2803 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT32x_in_insn_format32x2805 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format32x2809 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format32x2813 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_STATEMENT_FORMAT35c_METHOD_in_insn_format35c_method2836 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT35c_METHOD_in_insn_format35c_method2838 = new BitSet(new long[]{0x0000000000000000L,0x2000000000000000L});
+	public static final BitSet FOLLOW_register_list_in_insn_format35c_method2840 = new BitSet(new long[]{0x0000000000008100L,0x0000000000000000L,0x4000000000000000L});
+	public static final BitSet FOLLOW_method_reference_in_insn_format35c_method2842 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_STATEMENT_FORMAT35c_TYPE_in_insn_format35c_type2865 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT35c_TYPE_in_insn_format35c_type2867 = new BitSet(new long[]{0x0000000000000000L,0x2000000000000000L});
+	public static final BitSet FOLLOW_register_list_in_insn_format35c_type2869 = new BitSet(new long[]{0x0000000000008100L,0x0000000000000000L,0x0100000000000000L});
+	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_insn_format35c_type2871 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_STATEMENT_FORMAT3rc_METHOD_in_insn_format3rc_method2894 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT3rc_METHOD_in_insn_format3rc_method2896 = new BitSet(new long[]{0x0000000000000000L,0x4000000000000000L});
+	public static final BitSet FOLLOW_register_range_in_insn_format3rc_method2898 = new BitSet(new long[]{0x0000000000008100L,0x0000000000000000L,0x4000000000000000L});
+	public static final BitSet FOLLOW_method_reference_in_insn_format3rc_method2900 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_STATEMENT_FORMAT3rc_TYPE_in_insn_format3rc_type2923 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT3rc_TYPE_in_insn_format3rc_type2925 = new BitSet(new long[]{0x0000000000000000L,0x4000000000000000L});
+	public static final BitSet FOLLOW_register_range_in_insn_format3rc_type2927 = new BitSet(new long[]{0x0000000000008100L,0x0000000000000000L,0x0100000000000000L});
+	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_insn_format3rc_type2929 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_STATEMENT_FORMAT51l_in_insn_format51l_type2952 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_INSTRUCTION_FORMAT51l_in_insn_format51l_type2954 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0400000000000000L});
+	public static final BitSet FOLLOW_REGISTER_in_insn_format51l_type2956 = new BitSet(new long[]{0x0000004000404C00L,0x0000000000400000L,0x2000040000000000L});
+	public static final BitSet FOLLOW_fixed_64bit_literal_in_insn_format51l_type2958 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_STATEMENT_ARRAY_DATA_in_insn_array_data_directive2981 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_I_ARRAY_ELEMENT_SIZE_in_insn_array_data_directive2984 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_short_integral_literal_in_insn_array_data_directive2986 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_array_elements_in_insn_array_data_directive2989 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_STATEMENT_PACKED_SWITCH_in_insn_packed_switch_directive3011 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_I_PACKED_SWITCH_START_KEY_in_insn_packed_switch_directive3014 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_fixed_32bit_literal_in_insn_packed_switch_directive3016 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_packed_switch_elements_in_insn_packed_switch_directive3019 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_STATEMENT_SPARSE_SWITCH_in_insn_sparse_switch_directive3043 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_sparse_switch_elements_in_insn_sparse_switch_directive3045 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_set_in_nonvoid_type_descriptor3066 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_set_in_reference_type_descriptor3098 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_VOID_TYPE_in_type_descriptor3124 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_nonvoid_type_descriptor_in_type_descriptor3132 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_long_literal_in_short_integral_literal3150 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_integer_literal_in_short_integral_literal3162 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_short_literal_in_short_integral_literal3174 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_char_literal_in_short_integral_literal3182 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_byte_literal_in_short_integral_literal3190 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_long_literal_in_integral_literal3205 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_integer_literal_in_integral_literal3217 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_short_literal_in_integral_literal3225 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_byte_literal_in_integral_literal3233 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_INTEGER_LITERAL_in_integer_literal3249 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_LONG_LITERAL_in_long_literal3264 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_SHORT_LITERAL_in_short_literal3279 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_BYTE_LITERAL_in_byte_literal3294 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_FLOAT_LITERAL_in_float_literal3309 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_DOUBLE_LITERAL_in_double_literal3324 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_CHAR_LITERAL_in_char_literal3339 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_STRING_LITERAL_in_string_literal3354 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_BOOL_LITERAL_in_bool_literal3373 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_I_ENCODED_ARRAY_in_array_literal3395 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_literal_in_array_literal3398 = new BitSet(new long[]{0x000000400040CD08L,0x0000003C00400000L,0x2100441000000000L,0x0000000000000022L});
+	public static final BitSet FOLLOW_I_ANNOTATIONS_in_annotations3423 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_annotation_in_annotations3426 = new BitSet(new long[]{0x0000000000000008L,0x0000000002000000L});
+	public static final BitSet FOLLOW_I_ANNOTATION_in_annotation3455 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_ANNOTATION_VISIBILITY_in_annotation3457 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000001000000000L});
+	public static final BitSet FOLLOW_subannotation_in_annotation3459 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_ANNOTATION_ELEMENT_in_annotation_element3480 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_SIMPLE_NAME_in_annotation_element3482 = new BitSet(new long[]{0x000000400040CD00L,0x0000003C00400000L,0x2100441000000000L,0x0000000000000022L});
+	public static final BitSet FOLLOW_literal_in_annotation_element3484 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_SUBANNOTATION_in_subannotation3511 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_CLASS_DESCRIPTOR_in_subannotation3521 = new BitSet(new long[]{0x0000000000000008L,0x0000000008000000L});
+	public static final BitSet FOLLOW_annotation_element_in_subannotation3532 = new BitSet(new long[]{0x0000000000000008L,0x0000000008000000L});
+	public static final BitSet FOLLOW_I_ENCODED_FIELD_in_field_literal3571 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_field_reference_in_field_literal3573 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_ENCODED_METHOD_in_method_literal3594 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_method_reference_in_method_literal3596 = new BitSet(new long[]{0x0000000000000008L});
+	public static final BitSet FOLLOW_I_ENCODED_ENUM_in_enum_literal3617 = new BitSet(new long[]{0x0000000000000004L});
+	public static final BitSet FOLLOW_field_reference_in_enum_literal3619 = new BitSet(new long[]{0x0000000000000008L});
 }
diff --git a/smali/src/main/jflex/smaliLexer.flex b/smali/src/main/jflex/smaliLexer.flex
index 1540bf8..df571e6 100644
--- a/smali/src/main/jflex/smaliLexer.flex
+++ b/smali/src/main/jflex/smaliLexer.flex
@@ -222,6 +222,8 @@
 Type = {PrimitiveType} | {ClassDescriptor} | {ArrayDescriptor}
 
 
+%state PARAM_LIST_OR_ID
+%state PARAM_LIST
 %state STRING
 %state CHAR
 
@@ -289,6 +291,20 @@
     ' { beginStringOrChar(CHAR); sb.append('\''); }
 }
 
+<PARAM_LIST_OR_ID> {
+    {PrimitiveType} { return newToken(PRIMITIVE_TYPE); }
+    [^] { yypushback(1); yybegin(YYINITIAL); return newToken(PARAM_LIST_OR_ID_END); }
+    <<EOF>> { yybegin(YYINITIAL); return newToken(PARAM_LIST_OR_ID_END); }
+}
+
+<PARAM_LIST> {
+    {PrimitiveType} { return newToken(PRIMITIVE_TYPE); }
+    {ClassDescriptor} { return newToken(CLASS_DESCRIPTOR); }
+    {ArrayDescriptor} { return newToken(ARRAY_DESCRIPTOR); }
+    [^] { yypushback(1); yybegin(YYINITIAL); return newToken(PARAM_LIST_END); }
+    <<EOF>> { yybegin(YYINITIAL); return newToken(PARAM_LIST_END); }
+}
+
 <STRING> {
     "\""  { sb.append('"'); return endStringOrChar(STRING_LITERAL); }
 
@@ -587,8 +603,19 @@
     V { return newToken(VOID_TYPE); }
     {ClassDescriptor} { return newToken(CLASS_DESCRIPTOR); }
     {ArrayDescriptor} { return newToken(ARRAY_DESCRIPTOR); }
-    {PrimitiveType} {PrimitiveType}+ { return newToken(PARAM_LIST_OR_ID); }
-    {Type} {Type}+ { return newToken(PARAM_LIST); }
+
+    {PrimitiveType} {PrimitiveType}+ {
+        yypushback(yylength());
+        yybegin(PARAM_LIST_OR_ID);
+        return newToken(PARAM_LIST_OR_ID_START);
+    }
+
+    {Type} {Type}+ {
+        yypushback(yylength());
+        yybegin(PARAM_LIST);
+        return newToken(PARAM_LIST_START);
+    }
+
     {SimpleName} { return newToken(SIMPLE_NAME); }
     "<" {SimpleName} ">" { return newToken(MEMBER_NAME); }
 }
diff --git a/smali/src/test/java/ImplicitReferenceTest.java b/smali/src/test/java/ImplicitReferenceTest.java
new file mode 100644
index 0000000..b080c8a
--- /dev/null
+++ b/smali/src/test/java/ImplicitReferenceTest.java
@@ -0,0 +1,242 @@
+/*
+ * Copyright 2014, Google Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * 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.
+ *     * Neither the name of Google Inc. 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.
+ */
+
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+import junit.framework.Assert;
+import org.antlr.runtime.RecognitionException;
+import org.jf.dexlib2.Opcode;
+import org.jf.dexlib2.ValueType;
+import org.jf.dexlib2.iface.ClassDef;
+import org.jf.dexlib2.iface.Field;
+import org.jf.dexlib2.iface.Method;
+import org.jf.dexlib2.iface.MethodImplementation;
+import org.jf.dexlib2.iface.instruction.Instruction;
+import org.jf.dexlib2.iface.instruction.formats.Instruction21c;
+import org.jf.dexlib2.iface.instruction.formats.Instruction35c;
+import org.jf.dexlib2.iface.reference.FieldReference;
+import org.jf.dexlib2.iface.reference.MethodReference;
+import org.jf.dexlib2.iface.value.FieldEncodedValue;
+import org.jf.dexlib2.iface.value.MethodEncodedValue;
+import org.jf.dexlib2.iface.value.TypeEncodedValue;
+import org.jf.smali.SmaliTestUtils;
+import org.junit.Test;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Tests for method/field references that use an implicit type
+ */
+public class ImplicitReferenceTest extends SmaliTestUtils {
+    @Test
+    public void testImplicitMethodReference() throws RecognitionException, IOException {
+        ClassDef classDef = SmaliTestUtils.compileSmali("" +
+                ".class public LHelloWorld;\n" +
+                ".super Ljava/lang/Object;\n" +
+                ".method public static main([Ljava/lang/String;)V\n" +
+                "    .registers 1\n" +
+                "    invoke-static {p0}, toString()V\n" +
+                "    invoke-static {p0}, V()V\n" +
+                "    invoke-static {p0}, I()V\n" +
+                "    return-void\n" +
+                ".end method");
+
+        Method mainMethod = null;
+        for (Method method: classDef.getMethods()) {
+            if (method.getName().equals("main")) {
+                mainMethod = method;
+            }
+        }
+        Assert.assertNotNull(mainMethod);
+
+        MethodImplementation methodImpl = mainMethod.getImplementation();
+        Assert.assertNotNull(methodImpl);
+
+        List<Instruction> instructions = Lists.newArrayList(methodImpl.getInstructions());
+
+        Instruction35c instruction = (Instruction35c)instructions.get(0);
+        Assert.assertNotNull(instruction);
+        Assert.assertEquals(Opcode.INVOKE_STATIC, instruction.getOpcode());
+        MethodReference method = (MethodReference)instruction.getReference();
+        Assert.assertEquals(classDef.getType(), method.getDefiningClass());
+        Assert.assertEquals("toString", method.getName());
+
+        instruction = (Instruction35c)instructions.get(1);
+        Assert.assertNotNull(instruction);
+        Assert.assertEquals(Opcode.INVOKE_STATIC, instruction.getOpcode());
+        method = (MethodReference)instruction.getReference();
+        Assert.assertEquals(classDef.getType(), method.getDefiningClass());
+        Assert.assertEquals("V", method.getName());
+
+        instruction = (Instruction35c)instructions.get(2);
+        Assert.assertNotNull(instruction);
+        Assert.assertEquals(Opcode.INVOKE_STATIC, instruction.getOpcode());
+        method = (MethodReference)instruction.getReference();
+        Assert.assertEquals(classDef.getType(), method.getDefiningClass());
+        Assert.assertEquals("I", method.getName());
+    }
+
+    @Test
+    public void testImplicitMethodLiteral() throws RecognitionException, IOException {
+        ClassDef classDef = SmaliTestUtils.compileSmali("" +
+                ".class public LHelloWorld;\n" +
+                ".super Ljava/lang/Object;\n" +
+                ".field public static field1:Ljava/lang/reflect/Method; = toString()V\n" +
+                ".field public static field2:Ljava/lang/reflect/Method; = V()V\n" +
+                ".field public static field3:Ljava/lang/reflect/Method; = I()V\n" +
+                ".field public static field4:Ljava/lang/Class; = I");
+
+        Map<String, Field> fields = Maps.newHashMap();
+        for (Field field: classDef.getFields()) {
+            fields.put(field.getName(), field);
+        }
+
+        Field field = fields.get("field1");
+        Assert.assertNotNull(field);
+        Assert.assertNotNull(field.getInitialValue());
+        Assert.assertEquals(ValueType.METHOD, field.getInitialValue().getValueType());
+        MethodEncodedValue methodEncodedValue = (MethodEncodedValue)field.getInitialValue();
+        Assert.assertEquals(classDef.getType(), methodEncodedValue.getValue().getDefiningClass());
+        Assert.assertEquals("toString", methodEncodedValue.getValue().getName());
+
+        field = fields.get("field2");
+        Assert.assertNotNull(field);
+        Assert.assertNotNull(field.getInitialValue());
+        Assert.assertEquals(ValueType.METHOD, field.getInitialValue().getValueType());
+        methodEncodedValue = (MethodEncodedValue)field.getInitialValue();
+        Assert.assertEquals(classDef.getType(), methodEncodedValue.getValue().getDefiningClass());
+        Assert.assertEquals("V", methodEncodedValue.getValue().getName());
+
+        field = fields.get("field3");
+        Assert.assertNotNull(field);
+        Assert.assertNotNull(field.getInitialValue());
+        Assert.assertEquals(ValueType.METHOD, field.getInitialValue().getValueType());
+        methodEncodedValue = (MethodEncodedValue)field.getInitialValue();
+        Assert.assertEquals(classDef.getType(), methodEncodedValue.getValue().getDefiningClass());
+        Assert.assertEquals("I", methodEncodedValue.getValue().getName());
+
+        field = fields.get("field4");
+        Assert.assertNotNull(field);
+        Assert.assertNotNull(field.getInitialValue());
+        Assert.assertEquals(ValueType.TYPE, field.getInitialValue().getValueType());
+        TypeEncodedValue typeEncodedValue = (TypeEncodedValue)field.getInitialValue();
+        Assert.assertEquals("I", typeEncodedValue.getValue());
+    }
+
+    @Test
+    public void testImplicitFieldReference() throws RecognitionException, IOException {
+        ClassDef classDef = SmaliTestUtils.compileSmali("" +
+                ".class public LHelloWorld;\n" +
+                ".super Ljava/lang/Object;\n" +
+                ".method public static main([Ljava/lang/String;)V\n" +
+                "    .registers 1\n" +
+                "    sget-object v0, someField:I\n" +
+                "    sget-object v0, V:I\n" +
+                "    sget-object v0, I:I\n" +
+                "    return-void\n" +
+                ".end method");
+
+        Method mainMethod = null;
+        for (Method method: classDef.getMethods()) {
+            if (method.getName().equals("main")) {
+                mainMethod = method;
+            }
+        }
+        Assert.assertNotNull(mainMethod);
+
+        MethodImplementation methodImpl = mainMethod.getImplementation();
+        Assert.assertNotNull(methodImpl);
+
+        List<Instruction> instructions = Lists.newArrayList(methodImpl.getInstructions());
+
+        Instruction21c instruction = (Instruction21c)instructions.get(0);
+        Assert.assertNotNull(instruction);
+        Assert.assertEquals(Opcode.SGET_OBJECT, instruction.getOpcode());
+        FieldReference field = (FieldReference)instruction.getReference();
+        Assert.assertEquals(classDef.getType(), field.getDefiningClass());
+        Assert.assertEquals("someField", field.getName());
+
+        instruction = (Instruction21c)instructions.get(1);
+        Assert.assertNotNull(instruction);
+        Assert.assertEquals(Opcode.SGET_OBJECT, instruction.getOpcode());
+        field = (FieldReference)instruction.getReference();
+        Assert.assertEquals(classDef.getType(), field.getDefiningClass());
+        Assert.assertEquals("V", field.getName());
+
+        instruction = (Instruction21c)instructions.get(2);
+        Assert.assertNotNull(instruction);
+        Assert.assertEquals(Opcode.SGET_OBJECT, instruction.getOpcode());
+        field = (FieldReference)instruction.getReference();
+        Assert.assertEquals(classDef.getType(), field.getDefiningClass());
+        Assert.assertEquals("I", field.getName());
+    }
+
+    @Test
+    public void testImplicitFieldLiteral() throws RecognitionException, IOException {
+        ClassDef classDef = SmaliTestUtils.compileSmali("" +
+                ".class public LHelloWorld;\n" +
+                ".super Ljava/lang/Object;\n" +
+                ".field public static field1:Ljava/lang/reflect/Field; = someField:I\n" +
+                ".field public static field2:Ljava/lang/reflect/Field; = V:I\n" +
+                ".field public static field3:Ljava/lang/reflect/Field; = I:I\n");
+
+        Map<String, Field> fields = Maps.newHashMap();
+        for (Field field: classDef.getFields()) {
+            fields.put(field.getName(), field);
+        }
+
+        Field field = fields.get("field1");
+        Assert.assertNotNull(field);
+        Assert.assertNotNull(field.getInitialValue());
+        Assert.assertEquals(ValueType.FIELD, field.getInitialValue().getValueType());
+        FieldEncodedValue fieldEncodedValue = (FieldEncodedValue)field.getInitialValue();
+        Assert.assertEquals(classDef.getType(), fieldEncodedValue.getValue().getDefiningClass());
+        Assert.assertEquals("someField", fieldEncodedValue.getValue().getName());
+
+        field = fields.get("field2");
+        Assert.assertNotNull(field);
+        Assert.assertNotNull(field.getInitialValue());
+        Assert.assertEquals(ValueType.FIELD, field.getInitialValue().getValueType());
+        fieldEncodedValue = (FieldEncodedValue)field.getInitialValue();
+        Assert.assertEquals(classDef.getType(), fieldEncodedValue.getValue().getDefiningClass());
+        Assert.assertEquals("V", fieldEncodedValue.getValue().getName());
+
+        field = fields.get("field3");
+        Assert.assertNotNull(field);
+        Assert.assertNotNull(field.getInitialValue());
+        Assert.assertEquals(ValueType.FIELD, field.getInitialValue().getValueType());
+        fieldEncodedValue = (FieldEncodedValue)field.getInitialValue();
+        Assert.assertEquals(classDef.getType(), fieldEncodedValue.getValue().getDefiningClass());
+        Assert.assertEquals("I", fieldEncodedValue.getValue().getName());
+    }
+}
diff --git a/smali/src/test/resources/LexerTest/RealSmaliFileTest.tokens b/smali/src/test/resources/LexerTest/RealSmaliFileTest.tokens
index a0f648a..ba40c2f 100644
--- a/smali/src/test/resources/LexerTest/RealSmaliFileTest.tokens
+++ b/smali/src/test/resources/LexerTest/RealSmaliFileTest.tokens
@@ -552,7 +552,13 @@
 ACCESS_SPEC("public")
 SIMPLE_NAME("setCallForwardingOption")
 OPEN_PAREN("(")
-PARAM_LIST("IILjava/lang/String;ILandroid/os/Message;")
+PARAM_LIST_START("")
+PRIMITIVE_TYPE("I")
+PRIMITIVE_TYPE("I")
+CLASS_DESCRIPTOR("Ljava/lang/String;")
+PRIMITIVE_TYPE("I")
+CLASS_DESCRIPTOR("Landroid/os/Message;")
+PARAM_LIST_END("")
 CLOSE_PAREN(")")
 VOID_TYPE("V")
 REGISTERS_DIRECTIVE(".registers")
@@ -697,7 +703,12 @@
 ARROW("->")
 SIMPLE_NAME("obtainMessage")
 OPEN_PAREN("(")
-PARAM_LIST("IIILjava/lang/Object;")
+PARAM_LIST_START("")
+PRIMITIVE_TYPE("I")
+PRIMITIVE_TYPE("I")
+PRIMITIVE_TYPE("I")
+CLASS_DESCRIPTOR("Ljava/lang/Object;")
+PARAM_LIST_END("")
 CLOSE_PAREN(")")
 CLASS_DESCRIPTOR("Landroid/os/Message;")
 INSTRUCTION_FORMAT11x("move-result-object")
@@ -749,7 +760,14 @@
 ARROW("->")
 SIMPLE_NAME("setCallForward")
 OPEN_PAREN("(")
-PARAM_LIST("IIILjava/lang/String;ILandroid/os/Message;")
+PARAM_LIST_START("")
+PRIMITIVE_TYPE("I")
+PRIMITIVE_TYPE("I")
+PRIMITIVE_TYPE("I")
+CLASS_DESCRIPTOR("Ljava/lang/String;")
+PRIMITIVE_TYPE("I")
+CLASS_DESCRIPTOR("Landroid/os/Message;")
+PARAM_LIST_END("")
 CLOSE_PAREN(")")
 VOID_TYPE("V")
 LINE_DIRECTIVE(".line")
diff --git a/smali/src/test/resources/LexerTest/TypeAndIdentifierTest.smali b/smali/src/test/resources/LexerTest/TypeAndIdentifierTest.smali
index f001d19..2120d33 100644
--- a/smali/src/test/resources/LexerTest/TypeAndIdentifierTest.smali
+++ b/smali/src/test/resources/LexerTest/TypeAndIdentifierTest.smali
@@ -47,4 +47,6 @@
 [java/lang/String;
 [;
 
-<linit>
\ No newline at end of file
+<linit>
+
+III
\ No newline at end of file
diff --git a/smali/src/test/resources/LexerTest/TypeAndIdentifierTest.tokens b/smali/src/test/resources/LexerTest/TypeAndIdentifierTest.tokens
index 2bd781a..d99d2c2 100644
--- a/smali/src/test/resources/LexerTest/TypeAndIdentifierTest.tokens
+++ b/smali/src/test/resources/LexerTest/TypeAndIdentifierTest.tokens
@@ -24,13 +24,52 @@
 ARRAY_DESCRIPTOR("[Ljava/lang/String;")
 ARRAY_DESCRIPTOR("[LI/I/I;")
 
-PARAM_LIST_OR_ID("IIIII")
-PARAM_LIST_OR_ID("ZBSCIJFD")
-PARAM_LIST("ILa;[La;[I")
-PARAM_LIST("Ljava/lang/String;Ljava/lang/String;")
-PARAM_LIST("[I[I[I")
-PARAM_LIST("[I[Z")
-PARAM_LIST("[I[Ljava/lang/String;")
+PARAM_LIST_OR_ID_START("")
+PRIMITIVE_TYPE("I")
+PRIMITIVE_TYPE("I")
+PRIMITIVE_TYPE("I")
+PRIMITIVE_TYPE("I")
+PRIMITIVE_TYPE("I")
+PARAM_LIST_OR_ID_END("")
+
+PARAM_LIST_OR_ID_START("")
+PRIMITIVE_TYPE("Z")
+PRIMITIVE_TYPE("B")
+PRIMITIVE_TYPE("S")
+PRIMITIVE_TYPE("C")
+PRIMITIVE_TYPE("I")
+PRIMITIVE_TYPE("J")
+PRIMITIVE_TYPE("F")
+PRIMITIVE_TYPE("D")
+PARAM_LIST_OR_ID_END("")
+
+PARAM_LIST_START("")
+PRIMITIVE_TYPE("I")
+CLASS_DESCRIPTOR("La;")
+ARRAY_DESCRIPTOR("[La;")
+ARRAY_DESCRIPTOR("[I")
+PARAM_LIST_END("")
+
+PARAM_LIST_START("")
+CLASS_DESCRIPTOR("Ljava/lang/String;")
+CLASS_DESCRIPTOR("Ljava/lang/String;")
+PARAM_LIST_END("")
+
+PARAM_LIST_START("")
+ARRAY_DESCRIPTOR("[I")
+ARRAY_DESCRIPTOR("[I")
+ARRAY_DESCRIPTOR("[I")
+PARAM_LIST_END("")
+
+PARAM_LIST_START("")
+ARRAY_DESCRIPTOR("[I")
+ARRAY_DESCRIPTOR("[Z")
+PARAM_LIST_END("")
+
+PARAM_LIST_START("")
+ARRAY_DESCRIPTOR("[I")
+ARRAY_DESCRIPTOR("[Ljava/lang/String;")
+PARAM_LIST_END("")
 
 MEMBER_NAME("<init>")
 MEMBER_NAME("<clinit>")
@@ -47,4 +86,10 @@
 INVALID_TOKEN("[") SIMPLE_NAME("java") INVALID_TOKEN("/") SIMPLE_NAME("lang") INVALID_TOKEN("/") SIMPLE_NAME("String") INVALID_TOKEN(";")
 INVALID_TOKEN("[") INVALID_TOKEN(";")
 
-MEMBER_NAME("<linit>")
\ No newline at end of file
+MEMBER_NAME("<linit>")
+
+PARAM_LIST_OR_ID_START("")
+PRIMITIVE_TYPE("I")
+PRIMITIVE_TYPE("I")
+PRIMITIVE_TYPE("I")
+PARAM_LIST_OR_ID_END("")
\ No newline at end of file
diff --git a/util/build.gradle b/util/build.gradle
index 82d2998..407ef71 100644
--- a/util/build.gradle
+++ b/util/build.gradle
@@ -36,15 +36,6 @@
     testCompile depends.junit
 }
 
-task sourcesJar(type: Jar) {
-    classifier = 'sources'
-    from sourceSets.main.allJava
-}
-
-artifacts {
-    archives sourcesJar
-}
-
 uploadArchives {
     repositories.mavenDeployer {
         pom.project {
diff --git a/util/src/main/java/ds/tree/DuplicateKeyException.java b/util/src/main/java/ds/tree/DuplicateKeyException.java
deleted file mode 100644
index 5f660b3..0000000
--- a/util/src/main/java/ds/tree/DuplicateKeyException.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
-The MIT License
-
-Copyright (c) 2008 Tahseen Ur Rehman
-
-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.
-*/
-
-package ds.tree;
-
-/**
- * excepion thrown if a duplicate key is inserted in a {@link RadixTree}
- *
- * @author Tahseen Ur Rehman
- * email: tahseen.ur.rehman {at.spam.me.not} gmail.com
- */
-public class DuplicateKeyException extends RuntimeException
-{
-        private static final long serialVersionUID = 3141795907493885706L;
-
-        public DuplicateKeyException(String msg)
-        {
-                super(msg);
-        }
-}
diff --git a/util/src/main/java/ds/tree/RadixTree.java b/util/src/main/java/ds/tree/RadixTree.java
deleted file mode 100644
index bf05e9d..0000000
--- a/util/src/main/java/ds/tree/RadixTree.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
-The MIT License
-
-Copyright (c) 2008 Tahseen Ur Rehman
-
-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.
-*/
-
-package ds.tree;
-
-import java.util.ArrayList;
-
-/**
- * This interface represent the operation of a radix tree. A radix tree,
- * Patricia trie/tree, or crit bit tree is a specialized set data structure
- * based on the trie that is used to store a set of strings. In contrast with a
- * regular trie, the edges of a Patricia trie are labelled with sequences of
- * characters rather than with single characters. These can be strings of
- * characters, bit strings such as integers or IP addresses, or generally
- * arbitrary sequences of objects in lexicographical order. Sometimes the names
- * radix tree and crit bit tree are only applied to trees storing integers and
- * Patricia trie is retained for more general inputs, but the structure works
- * the same way in all cases.
- *
- * @author Tahseen Ur Rehman
- * email: tahseen.ur.rehman {at.spam.me.not} gmail.com
- */
-public interface RadixTree<T> {
-    /**
-     * Insert a new string key and its value to the tree.
-     *
-     * @param key
-     *            The string key of the object
-     * @param value
-     *            The value that need to be stored corresponding to the given
-     *            key.
-     * @throws DuplicateKeyException
-     */
-    public void insert(String key, T value);
-
-    /**
-     * Delete a key and its associated value from the tree.
-     * @param key The key of the node that need to be deleted
-     * @return
-     */
-    public boolean delete(String key);
-
-    /**
-     * Find a value based on its corresponding key.
-     *
-     * @param key The key for which to search the tree.
-     * @return The value corresponding to the key. null if iot can not find the key
-     */
-    public T find(String key);
-
-    /**
-     * Find an existing entry and replace it's value. If no existing entry, do nothing
-     *
-     * @param key The key for which to search the tree.
-     * @param value The value to set for the entry
-     * @return true if an entry was found for the given key, false if not found
-     */
-    public boolean replace(String key, final T value);
-
-    /**
-     * Check if the tree contains any entry corresponding to the given key.
-     *
-     * @param key The key that needto be searched in the tree.
-     * @return retun true if the key is present in the tree otherwise false
-     */
-    public boolean contains(String key);
-
-    /**
-     * Search for all the keys that start with given prefix. limiting the results based on the supplied limit.
-     *
-     * @param prefix The prefix for which keys need to be search
-     * @param recordLimit The limit for the results
-     * @return The list of values those key start with the given prefix
-     */
-    public ArrayList<T> searchPrefix(String prefix, int recordLimit);
-
-    /**
-     * Return the size of the Radix tree
-     * @return the size of the tree
-     */
-    public long getSize();
-
-    /**
-     * Complete the a prefix to the point where ambiguity starts.
-     *
-     *  Example:
-     *  If a tree contain "blah1", "blah2"
-     *  complete("b") -> return "blah"
-     *
-     * @param prefix The prefix we want to complete
-     * @return The unambiguous completion of the string.
-     */
-    public String complete(String prefix);
-}
diff --git a/util/src/main/java/ds/tree/RadixTreeImpl.java b/util/src/main/java/ds/tree/RadixTreeImpl.java
deleted file mode 100644
index 58797d4..0000000
--- a/util/src/main/java/ds/tree/RadixTreeImpl.java
+++ /dev/null
@@ -1,462 +0,0 @@
-/*
-The MIT License
-
-Copyright (c) 2008 Tahseen Ur Rehman, Javid Jamae
-
-http://code.google.com/p/radixtree/
-
-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.
-*/
-
-package ds.tree;
-
-import java.util.ArrayList;
-import java.util.Formattable;
-import java.util.Formatter;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.Queue;
-
-/**
- * Implementation for Radix tree {@link RadixTree}
- *
- * @author Tahseen Ur Rehman (tahseen.ur.rehman {at.spam.me.not} gmail.com)
- * @author Javid Jamae
- * @author Dennis Heidsiek
- */
-public class RadixTreeImpl<T> implements RadixTree<T>, Formattable {
-
-    protected RadixTreeNode<T> root;
-
-    protected long size;
-
-    /**
-     * Create a Radix Tree with only the default node root.
-     */
-    public RadixTreeImpl() {
-        root = new RadixTreeNode<T>();
-        root.setKey("");
-        size = 0;
-    }
-
-    public T find(String key) {
-        Visitor<T,T> visitor = new VisitorImpl<T,T>() {
-
-            public void visit(String key, RadixTreeNode<T> parent,
-                    RadixTreeNode<T> node) {
-                if (node.isReal())
-                    result = node.getValue();
-            }
-        };
-
-        visit(key, visitor);
-
-        return visitor.getResult();
-    }
-
-    public boolean replace(String key, final T value) {
-        Visitor<T,T> visitor = new VisitorImpl<T,T>() {
-            public void visit(String key, RadixTreeNode<T> parent, RadixTreeNode<T> node) {
-                if (node.isReal()) {
-                    node.setValue(value);
-                    result = value;
-                } else {
-                    result = null;
-                }
-            }
-        };
-
-        visit(key, visitor);
-
-        return visitor.getResult() != null;
-    }
-
-    public boolean delete(String key) {
-        Visitor<T, Boolean> visitor = new VisitorImpl<T, Boolean>(Boolean.FALSE) {
-            public void visit(String key, RadixTreeNode<T> parent,
-                    RadixTreeNode<T> node) {
-                result = node.isReal();
-
-                // if it is a real node
-                if (result) {
-                    // If there no children of the node we need to
-                    // delete it from the its parent children list
-                    if (node.getChildern().size() == 0) {
-                        Iterator<RadixTreeNode<T>> it = parent.getChildern()
-                                .iterator();
-                        while (it.hasNext()) {
-                            if (it.next().getKey().equals(node.getKey())) {
-                                it.remove();
-                                break;
-                            }
-                        }
-
-                        // if parent is not real node and has only one child
-                        // then they need to be merged.
-                        if (parent.getChildern().size() == 1
-                                && parent.isReal() == false) {
-                            mergeNodes(parent, parent.getChildern().get(0));
-                        }
-                    } else if (node.getChildern().size() == 1) {
-                        // we need to merge the only child of this node with
-                        // itself
-                        mergeNodes(node, node.getChildern().get(0));
-                    } else { // we jus need to mark the node as non real.
-                        node.setReal(false);
-                    }
-                }
-            }
-
-            /**
-             * Merge a child into its parent node. Operation only valid if it is
-             * only child of the parent node and parent node is not a real node.
-             *
-             * @param parent
-             *            The parent Node
-             * @param child
-             *            The child Node
-             */
-            private void mergeNodes(RadixTreeNode<T> parent,
-                    RadixTreeNode<T> child) {
-                parent.setKey(parent.getKey() + child.getKey());
-                parent.setReal(child.isReal());
-                parent.setValue(child.getValue());
-                parent.setChildern(child.getChildern());
-            }
-
-        };
-
-        visit(key, visitor);
-
-        if(visitor.getResult()) {
-            size--;
-        }
-        return visitor.getResult().booleanValue();
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see ds.tree.RadixTree#insert(java.lang.String, java.lang.Object)
-     */
-    public void insert(String key, T value) throws DuplicateKeyException {
-        try {
-			insert(key, root, value);
-		} catch (DuplicateKeyException e) {
-			// re-throw the exception with 'key' in the message
-			throw new DuplicateKeyException("Duplicate key: '" + key + "'");
-		}
-        size++;
-    }
-
-    /**
-     * Recursively insert the key in the radix tree.
-     *
-     * @param key The key to be inserted
-     * @param node The current node
-     * @param value The value associated with the key
-     * @throws DuplicateKeyException If the key already exists in the database.
-     */
-    private void insert(String key, RadixTreeNode<T> node, T value)
-            throws DuplicateKeyException {
-
-        int numberOfMatchingCharacters = node.getNumberOfMatchingCharacters(key);
-
-        // we are either at the root node
-        // or we need to go down the tree
-        if (node.getKey().equals("") == true || numberOfMatchingCharacters == 0 || (numberOfMatchingCharacters < key.length() && numberOfMatchingCharacters >= node.getKey().length())) {
-            boolean flag = false;
-            String newText = key.substring(numberOfMatchingCharacters, key.length());
-            for (RadixTreeNode<T> child : node.getChildern()) {
-                if (child.getKey().startsWith(newText.charAt(0) + "")) {
-                    flag = true;
-                    insert(newText, child, value);
-                    break;
-                }
-            }
-
-            // just add the node as the child of the current node
-            if (flag == false) {
-                RadixTreeNode<T> n = new RadixTreeNode<T>();
-                n.setKey(newText);
-                n.setReal(true);
-                n.setValue(value);
-
-                node.getChildern().add(n);
-            }
-        }
-        // there is a exact match just make the current node as data node
-        else if (numberOfMatchingCharacters == key.length() && numberOfMatchingCharacters == node.getKey().length()) {
-            if (node.isReal() == true) {
-                throw new DuplicateKeyException("Duplicate key");
-            }
-
-            node.setReal(true);
-            node.setValue(value);
-        }
-        // This node need to be split as the key to be inserted
-        // is a prefix of the current node key
-        else if (numberOfMatchingCharacters > 0 && numberOfMatchingCharacters < node.getKey().length()) {
-            RadixTreeNode<T> n1 = new RadixTreeNode<T>();
-            n1.setKey(node.getKey().substring(numberOfMatchingCharacters, node.getKey().length()));
-            n1.setReal(node.isReal());
-            n1.setValue(node.getValue());
-            n1.setChildern(node.getChildern());
-
-            node.setKey(key.substring(0, numberOfMatchingCharacters));
-            node.setReal(false);
-            node.setChildern(new ArrayList<RadixTreeNode<T>>());
-            node.getChildern().add(n1);
-
-            if(numberOfMatchingCharacters < key.length()) {
-	            RadixTreeNode<T> n2 = new RadixTreeNode<T>();
-	            n2.setKey(key.substring(numberOfMatchingCharacters, key.length()));
-	            n2.setReal(true);
-	            n2.setValue(value);
-
-	            node.getChildern().add(n2);
-            } else {
-                node.setValue(value);
-                node.setReal(true);
-            }
-        }
-        // this key need to be added as the child of the current node
-        else {
-            RadixTreeNode<T> n = new RadixTreeNode<T>();
-            n.setKey(node.getKey().substring(numberOfMatchingCharacters, node.getKey().length()));
-            n.setChildern(node.getChildern());
-            n.setReal(node.isReal());
-            n.setValue(node.getValue());
-
-            node.setKey(key);
-            node.setReal(true);
-            node.setValue(value);
-
-            node.getChildern().add(n);
-        }
-    }
-
-    public ArrayList<T> searchPrefix(String key, int recordLimit) {
-        ArrayList<T> keys = new ArrayList<T>();
-
-        RadixTreeNode<T> node = searchPefix(key, root);
-
-        if (node != null) {
-            if (node.isReal()) {
-                keys.add(node.getValue());
-            }
-            getNodes(node, keys, recordLimit);
-        }
-
-        return keys;
-    }
-
-    private void getNodes(RadixTreeNode<T> parent, ArrayList<T> keys, int limit) {
-        Queue<RadixTreeNode<T>> queue = new LinkedList<RadixTreeNode<T>>();
-
-        queue.addAll(parent.getChildern());
-
-        while (!queue.isEmpty()) {
-            RadixTreeNode<T> node = queue.remove();
-            if (node.isReal() == true) {
-                keys.add(node.getValue());
-            }
-
-            if (keys.size() == limit) {
-                break;
-            }
-
-            queue.addAll(node.getChildern());
-        }
-    }
-
-    private RadixTreeNode<T> searchPefix(String key, RadixTreeNode<T> node) {
-        RadixTreeNode<T> result = null;
-
-        int numberOfMatchingCharacters = node.getNumberOfMatchingCharacters(key);
-
-        if (numberOfMatchingCharacters == key.length() && numberOfMatchingCharacters <= node.getKey().length()) {
-            result = node;
-        } else if (node.getKey().equals("") == true
-                || (numberOfMatchingCharacters < key.length() && numberOfMatchingCharacters >= node.getKey().length())) {
-            String newText = key.substring(numberOfMatchingCharacters, key.length());
-            for (RadixTreeNode<T> child : node.getChildern()) {
-                if (child.getKey().startsWith(newText.charAt(0) + "")) {
-                    result = searchPefix(newText, child);
-                    break;
-                }
-            }
-        }
-
-        return result;
-    }
-
-    public boolean contains(String key) {
-        Visitor<T, Boolean> visitor = new VisitorImpl<T,Boolean>(Boolean.FALSE) {
-            public void visit(String key, RadixTreeNode<T> parent,
-                    RadixTreeNode<T> node) {
-                result = node.isReal();
-            }
-        };
-
-        visit(key, visitor);
-
-        return visitor.getResult().booleanValue();
-    }
-
-    /**
-     * visit the node those key matches the given key
-     * @param key The key that need to be visited
-     * @param visitor The visitor object
-     */
-    public <R> void visit(String key, Visitor<T, R> visitor) {
-        if (root != null) {
-            visit(key, visitor, null, root);
-        }
-    }
-
-    /**
-     * recursively visit the tree based on the supplied "key". calls the Visitor
-     * for the node those key matches the given prefix
-     *
-     * @param prefix
-     *            The key o prefix to search in the tree
-     * @param visitor
-     *            The Visitor that will be called if a node with "key" as its
-     *            key is found
-     * @param node
-     *            The Node from where onward to search
-     */
-    private <R> void visit(String prefix, Visitor<T, R> visitor,
-            RadixTreeNode<T> parent, RadixTreeNode<T> node) {
-
-        int numberOfMatchingCharacters = node.getNumberOfMatchingCharacters(prefix);
-
-        // if the node key and prefix match, we found a match!
-        if (numberOfMatchingCharacters == prefix.length() && numberOfMatchingCharacters == node.getKey().length()) {
-            visitor.visit(prefix, parent, node);
-        } else if (node.getKey().equals("") == true // either we are at the
-                // root
-                || (numberOfMatchingCharacters < prefix.length() && numberOfMatchingCharacters >= node.getKey().length())) { // OR we need to
-            // traverse the childern
-            String newText = prefix.substring(numberOfMatchingCharacters, prefix.length());
-            for (RadixTreeNode<T> child : node.getChildern()) {
-                // recursively search the child nodes
-                if (child.getKey().startsWith(newText.charAt(0) + "")) {
-                    visit(newText, visitor, node, child);
-                    break;
-                }
-            }
-        }
-    }
-
-    public long getSize() {
-        return size;
-    }
-
-    /**
-     * Display the Trie on console.
-     *
-     * WARNING! Do not use this for a large Trie, it's for testing purpose only.
-     * @see formatTo
-     */
-    @Deprecated
-    public void display() {
-        formatNodeTo(new Formatter(System.out), 0, root);
-    }
-
-    @Deprecated
-    private void display(int level, RadixTreeNode<T> node) {
-        formatNodeTo(new Formatter(System.out), level, node);
-    }
-
-    /**
-     * WARNING! Do not use this for a large Trie, it's for testing purpose only.
-     */
-    private void formatNodeTo(Formatter f, int level, RadixTreeNode<T> node) {
-        for (int i = 0; i < level; i++) {
-            f.format(" ");
-        }
-        f.format("|");
-        for (int i = 0; i < level; i++) {
-            f.format("-");
-        }
-
-        if (node.isReal() == true)
-            f.format("%s[%s]*%n", node.getKey(),  node.getValue());
-        else
-            f.format("%s%n", node.getKey());
-
-        for (RadixTreeNode<T> child : node.getChildern()) {
-            formatNodeTo(f, level + 1, child);
-        }
-	}
-
-	/**
-	 * Writes a textual representation of this tree to the given formatter.
-	 *
-	 * Currently, all options are simply ignored.
-	 *
-     * WARNING! Do not use this for a large Trie, it's for testing purpose only.
-	 */
-	public void formatTo(Formatter formatter, int flags, int width, int precision) {
-		formatNodeTo(formatter, 0, root);
-	}
-
-    /**
-     * Complete the a prefix to the point where ambiguity starts.
-     *
-     *  Example:
-     *  If a tree contain "blah1", "blah2"
-     *  complete("b") -> return "blah"
-     *
-     * @param prefix The prefix we want to complete
-     * @return The unambiguous completion of the string.
-     */
-	public String complete(String prefix) {
-		return complete(prefix, root, "");
-	}
-
-	private String complete(String key, RadixTreeNode<T> node, String base) {
-        int i = 0;
-        int keylen = key.length();
-        int nodelen = node.getKey().length();
-
-        while (i < keylen && i < nodelen) {
-            if (key.charAt(i) != node.getKey().charAt(i)) {
-                break;
-            }
-            i++;
-        }
-
-        if (i == keylen && i <= nodelen) {
-            return base + node.getKey();
-        }
-        else if (nodelen == 0 || (i < keylen && i >= nodelen)) {
-            String beginning = key.substring(0, i);
-            String ending = key.substring(i, keylen);
-            for (RadixTreeNode<T> child : node.getChildern()) {
-                if (child.getKey().startsWith(ending.charAt(0) + "")) {
-                    return complete(ending, child, base + beginning);
-                }
-            }
-        }
-
-        return "";
-    }
-}
\ No newline at end of file
diff --git a/util/src/main/java/ds/tree/RadixTreeNode.java b/util/src/main/java/ds/tree/RadixTreeNode.java
deleted file mode 100644
index fabdd38..0000000
--- a/util/src/main/java/ds/tree/RadixTreeNode.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
-The MIT License
-
-Copyright (c) 2008 Tahseen Ur Rehman
-
-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.
-*/
-
-package ds.tree;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Represents a node of a Radix tree {@link RadixTreeImpl}
- *
- * @author Tahseen Ur Rehman
- * @email tahseen.ur.rehman {at.spam.me.not} gmail.com
- * @param <T>
- */
-class RadixTreeNode<T> {
-    private String key;
-
-    private List<RadixTreeNode<T>> childern;
-
-    private boolean real;
-
-    private T value;
-
-    /**
-     * intailize the fields with default values to avoid null reference checks
-     * all over the places
-     */
-    public RadixTreeNode() {
-        key = "";
-        childern = new ArrayList<RadixTreeNode<T>>();
-        real = false;
-    }
-
-    public T getValue() {
-        return value;
-    }
-
-    public void setValue(T data) {
-        this.value = data;
-    }
-
-    public String getKey() {
-        return key;
-    }
-
-    public void setKey(String value) {
-        this.key = value;
-    }
-
-    public boolean isReal() {
-        return real;
-    }
-
-    public void setReal(boolean datanode) {
-        this.real = datanode;
-    }
-
-    public List<RadixTreeNode<T>> getChildern() {
-        return childern;
-    }
-
-    public void setChildern(List<RadixTreeNode<T>> childern) {
-        this.childern = childern;
-    }
-
-    public int getNumberOfMatchingCharacters(String key) {
-        int numberOfMatchingCharacters = 0;
-        while (numberOfMatchingCharacters < key.length() && numberOfMatchingCharacters < this.getKey().length()) {
-            if (key.charAt(numberOfMatchingCharacters) != this.getKey().charAt(numberOfMatchingCharacters)) {
-                break;
-            }
-            numberOfMatchingCharacters++;
-        }
-        return numberOfMatchingCharacters;
-    }
-
-    @Override
-    public String toString() {
-        return key;
-    }
-}
diff --git a/util/src/main/java/ds/tree/Visitor.java b/util/src/main/java/ds/tree/Visitor.java
deleted file mode 100644
index 816e08b..0000000
--- a/util/src/main/java/ds/tree/Visitor.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
-The MIT License
-
-Copyright (c) 2008 Tahseen Ur Rehman, Javid Jamae
-
-http://code.google.com/p/radixtree/
-
-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.
-*/
-
-package ds.tree;
-
-/**
- * The visitor interface that is used by {@link RadixTreeImpl} for perfroming
- * task on a searched node.
- *
- * @author Tahseen Ur Rehman (tahseen.ur.rehman {at.spam.me.not} gmail.com)
- * @author Javid Jamae
- * @author Dennis Heidsiek
- * @param <T,R>
- */
-public interface Visitor<T, R> {
-    /**
-     * This method gets called by {@link RadixTreeImpl#visit(String, Visitor) visit}
-     * when it finds a node matching the key given to it.
-     *
-     * @param key The key that matched the node
-     * @param parent The parent of the node being visited
-     * @param node The node that is being visited
-     */
-    public void visit(String key, RadixTreeNode<T> parent, RadixTreeNode<T> node);
-
-    /**
-     * The visitor can store any type of result object, depending on the context of
-     * what it is being used for.
-     *
-     * @return The result captured by the visitor.
-     */
-    public R getResult();
-}
diff --git a/util/src/main/java/ds/tree/VisitorImpl.java b/util/src/main/java/ds/tree/VisitorImpl.java
deleted file mode 100644
index ff4e8d1..0000000
--- a/util/src/main/java/ds/tree/VisitorImpl.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package ds.tree;
-
-
-/**
- * A simple standard implementation for a {@link visitor}.
- *
- * @author Dennis Heidsiek
- * @param <T,R>
- */
-public abstract class VisitorImpl<T, R> implements Visitor<T, R> {
-
-    protected R result;
-
-    public VisitorImpl() {
-        this.result = null;
-    }
-
-    public VisitorImpl(R initialValue) {
-        this.result = initialValue;
-    }
-
-    public R getResult() {
-        return result;
-    }
-
-    abstract public void visit(String key, RadixTreeNode<T> parent, RadixTreeNode<T> node);
-}
\ No newline at end of file
diff --git a/util/src/main/java/org/jf/util/ClassFileNameHandler.java b/util/src/main/java/org/jf/util/ClassFileNameHandler.java
index aede10e..6703781 100644
--- a/util/src/main/java/org/jf/util/ClassFileNameHandler.java
+++ b/util/src/main/java/org/jf/util/ClassFileNameHandler.java
@@ -28,33 +28,62 @@
 
 package org.jf.util;
 
-import ds.tree.RadixTree;
-import ds.tree.RadixTreeImpl;
+import com.google.common.collect.ArrayListMultimap;
+import com.google.common.collect.Multimap;
 
 import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
 import java.io.*;
+import java.nio.ByteBuffer;
 import java.nio.CharBuffer;
+import java.nio.IntBuffer;
+import java.util.Collection;
 import java.util.regex.Pattern;
 
 /**
- * This class checks for case-insensitive file systems, and generates file names based on a given class name, that are
- * guaranteed to be unique. When "colliding" class names are found, it appends a numeric identifier to the end of the
- * class name to distinguish it from another class with a name that differes only by case. i.e. a.smali and a_2.smali
+ * This class handles the complexities of translating a class name into a file name. i.e. dealing with case insensitive
+ * file systems, windows reserved filenames, class names with extremely long package/class elements, etc.
+ *
+ * The types of transformations this class does include:
+ * - append a '#123' style numeric suffix if 2 physical representations collide
+ * - replace some number of characters in the middle with a '#' character name if an individual path element is too long
+ * - append a '#' if an individual path element would otherwise be considered a reserved filename
  */
 public class ClassFileNameHandler {
-    // we leave an extra 10 characters to allow for a numeric suffix to be added, if it's needed
-    private static final int MAX_FILENAME_LENGTH = 245;
+    private static final int MAX_FILENAME_LENGTH = 255;
+    // How many characters to reserve in the physical filename for numeric suffixes
+    // Dex files can currently only have 64k classes, so 5 digits plus 1 for an '#' should
+    // be sufficient to handle the case when every class has a conflicting name
+    private static final int NUMERIC_SUFFIX_RESERVE = 6;
 
-    private PackageNameEntry top;
+    private final int NO_VALUE = -1;
+    private final int CASE_INSENSITIVE = 0;
+    private final int CASE_SENSITIVE = 1;
+    private int forcedCaseSensitivity = NO_VALUE;
+
+    private DirectoryEntry top;
     private String fileExtension;
     private boolean modifyWindowsReservedFilenames;
 
     public ClassFileNameHandler(File path, String fileExtension) {
-        this.top = new PackageNameEntry(path);
+        this.top = new DirectoryEntry(path);
         this.fileExtension = fileExtension;
         this.modifyWindowsReservedFilenames = testForWindowsReservedFileNames(path);
     }
 
+    // for testing
+    public ClassFileNameHandler(File path, String fileExtension, boolean caseSensitive,
+                                boolean modifyWindowsReservedFilenames) {
+        this.top = new DirectoryEntry(path);
+        this.fileExtension = fileExtension;
+        this.forcedCaseSensitivity = caseSensitive?CASE_SENSITIVE:CASE_INSENSITIVE;
+        this.modifyWindowsReservedFilenames = modifyWindowsReservedFilenames;
+    }
+
+    private int getMaxFilenameLength() {
+        return MAX_FILENAME_LENGTH - NUMERIC_SUFFIX_RESERVE;
+    }
+
     public File getUniqueFilenameForClass(String className) {
         //class names should be passed in the normal dalvik style, with a leading L, a trailing ;, and using
         //'/' as a separator.
@@ -69,7 +98,6 @@
             }
         }
 
-        String packageElement;
         String[] packageElements = new String[packageElementCount];
         int elementIndex = 0;
         int elementStart = 1;
@@ -81,17 +109,7 @@
                     throw new RuntimeException("Not a valid dalvik class name");
                 }
 
-                packageElement = className.substring(elementStart, i);
-
-                if (modifyWindowsReservedFilenames && isReservedFileName(packageElement)) {
-                    packageElement += "#";
-                }
-
-                if (packageElement.length() > MAX_FILENAME_LENGTH) {
-                    packageElement = shortenPathComponent(packageElement, MAX_FILENAME_LENGTH);
-                }
-
-                packageElements[elementIndex++] = packageElement;
+                packageElements[elementIndex++] = className.substring(elementStart, i);
                 elementStart = ++i;
             }
         }
@@ -104,26 +122,111 @@
             throw new RuntimeException("Not a valid dalvik class name");
         }
 
-        packageElement = className.substring(elementStart, className.length()-1);
-        if (modifyWindowsReservedFilenames && isReservedFileName(packageElement)) {
-            packageElement += "#";
-        }
+        packageElements[elementIndex] = className.substring(elementStart, className.length()-1);
 
-        if ((packageElement.length() + fileExtension.length()) > MAX_FILENAME_LENGTH) {
-            packageElement = shortenPathComponent(packageElement, MAX_FILENAME_LENGTH - fileExtension.length());
-        }
-
-        packageElements[elementIndex] = packageElement;
-
-        return top.addUniqueChild(packageElements, 0);
+        return addUniqueChild(top, packageElements, 0);
     }
 
     @Nonnull
-    static String shortenPathComponent(@Nonnull String pathComponent, int maxLength) {
-        int toRemove = pathComponent.length() - maxLength + 1;
+    private File addUniqueChild(@Nonnull DirectoryEntry parent, @Nonnull String[] packageElements,
+                                int packageElementIndex) {
+        if (packageElementIndex == packageElements.length - 1) {
+            FileEntry fileEntry = new FileEntry(parent, packageElements[packageElementIndex] + fileExtension);
+            parent.addChild(fileEntry);
 
-        int firstIndex = (pathComponent.length()/2) - (toRemove/2);
-        return pathComponent.substring(0, firstIndex) + "#" + pathComponent.substring(firstIndex+toRemove);
+            String physicalName = fileEntry.getPhysicalName();
+
+            // the physical name should be set when adding it as a child to the parent
+            assert  physicalName != null;
+
+            return new File(parent.file, physicalName);
+        } else {
+            DirectoryEntry directoryEntry = new DirectoryEntry(parent, packageElements[packageElementIndex]);
+            directoryEntry = (DirectoryEntry)parent.addChild(directoryEntry);
+            return addUniqueChild(directoryEntry, packageElements, packageElementIndex+1);
+        }
+    }
+
+    private static int utf8Length(String str) {
+        int utf8Length = 0;
+        int i=0;
+        while (i<str.length()) {
+            int c = str.codePointAt(i);
+            utf8Length += utf8Length(c);
+            i += Character.charCount(c);
+        }
+        return utf8Length;
+    }
+
+    private static int utf8Length(int codePoint) {
+        if (codePoint < 0x80) {
+            return 1;
+        } else if (codePoint < 0x800) {
+            return 2;
+        } else if (codePoint < 0x10000) {
+            return 3;
+        } else {
+            return 4;
+        }
+    }
+
+    /**
+     * Shortens an individual file/directory name, removing the necessary number of code points
+     * from the middle of the string such that the utf-8 encoding of the string is at least
+     * bytesToRemove bytes shorter than the original.
+     *
+     * The removed codePoints in the middle of the string will be replaced with a # character.
+     */
+    @Nonnull
+    static String shortenPathComponent(@Nonnull String pathComponent, int bytesToRemove) {
+        // We replace the removed part with a #, so we need to remove 1 extra char
+        bytesToRemove++;
+
+        int[] codePoints;
+        try {
+            IntBuffer intBuffer = ByteBuffer.wrap(pathComponent.getBytes("UTF-32BE")).asIntBuffer();
+            codePoints = new int[intBuffer.limit()];
+            intBuffer.get(codePoints);
+        } catch (UnsupportedEncodingException ex) {
+            throw new RuntimeException(ex);
+        }
+
+        int midPoint = codePoints.length/2;
+
+        int firstEnd = midPoint; // exclusive
+        int secondStart = midPoint+1; // inclusive
+        int bytesRemoved = utf8Length(codePoints[midPoint]);
+
+        // if we have an even number of codepoints, start by removing both middle characters,
+        // unless just removing the first already removes enough bytes
+        if (((codePoints.length % 2) == 0) && bytesRemoved < bytesToRemove) {
+            bytesRemoved += utf8Length(codePoints[secondStart]);
+            secondStart++;
+        }
+
+        while ((bytesRemoved < bytesToRemove) &&
+                (firstEnd > 0 || secondStart < codePoints.length)) {
+            if (firstEnd > 0) {
+                firstEnd--;
+                bytesRemoved += utf8Length(codePoints[firstEnd]);
+            }
+
+            if (bytesRemoved < bytesToRemove && secondStart < codePoints.length) {
+                bytesRemoved += utf8Length(codePoints[secondStart]);
+                secondStart++;
+            }
+        }
+
+        StringBuilder sb = new StringBuilder();
+        for (int i=0; i<firstEnd; i++) {
+            sb.appendCodePoint(codePoints[i]);
+        }
+        sb.append('#');
+        for (int i=secondStart; i<codePoints.length; i++) {
+            sb.appendCodePoint(codePoints[i]);
+        }
+
+        return sb.toString();
     }
 
     private static boolean testForWindowsReservedFileNames(File path) {
@@ -149,166 +252,133 @@
         return false;
     }
 
-    private static Pattern reservedFileNameRegex = Pattern.compile("^CON|PRN|AUX|NUL|COM[1-9]|LPT[1-9]$",
+    private static Pattern reservedFileNameRegex = Pattern.compile("^(CON|PRN|AUX|NUL|COM[1-9]|LPT[1-9])(\\..*)?$",
             Pattern.CASE_INSENSITIVE);
     private static boolean isReservedFileName(String className) {
         return reservedFileNameRegex.matcher(className).matches();
     }
 
     private abstract class FileSystemEntry {
-        public final File file;
+        @Nullable public final DirectoryEntry parent;
+        @Nonnull public final String logicalName;
+        @Nullable protected String physicalName = null;
 
-        public FileSystemEntry(File file) {
-            this.file = file;
+        private FileSystemEntry(@Nullable DirectoryEntry parent, @Nonnull String logicalName) {
+            this.parent = parent;
+            this.logicalName = logicalName;
         }
 
-        public abstract File addUniqueChild(String[] pathElements, int pathElementsIndex);
+        @Nonnull public String getNormalizedName(boolean preserveCase) {
+            String elementName = logicalName;
+            if (!preserveCase && parent != null && !parent.isCaseSensitive()) {
+                elementName = elementName.toLowerCase();
+            }
 
-        public FileSystemEntry makeVirtual(File parent) {
-            return new VirtualGroupEntry(this, parent);
+            if (modifyWindowsReservedFilenames && isReservedFileName(elementName)) {
+                elementName = addSuffixBeforeExtension(elementName, "#");
+            }
+
+            int utf8Length = utf8Length(elementName);
+            if (utf8Length > getMaxFilenameLength()) {
+                elementName = shortenPathComponent(elementName, utf8Length - getMaxFilenameLength());
+            }
+            return elementName;
         }
+
+        @Nullable
+        public String getPhysicalName() {
+            return physicalName;
+        }
+
+        public void setSuffix(int suffix) {
+            if (suffix < 0 || suffix > 99999) {
+                throw new IllegalArgumentException("suffix must be in [0, 100000)");
+            }
+
+            if (this.physicalName != null) {
+                throw new IllegalStateException("The suffix can only be set once");
+            }
+            this.physicalName = makePhysicalName(suffix);
+        }
+
+        protected abstract String makePhysicalName(int suffix);
     }
 
-    private class PackageNameEntry extends FileSystemEntry {
-        //this contains the FileSystemEntries for all of this package's children
-        //the associated keys are all lowercase
-        private RadixTree<FileSystemEntry> children = new RadixTreeImpl<FileSystemEntry>();
+    private class DirectoryEntry extends FileSystemEntry {
+        @Nullable private File file = null;
+        private int caseSensitivity = forcedCaseSensitivity;
 
-        public PackageNameEntry(File parent, String name) {
-            super(new File(parent, name));
+        // maps a normalized (but not suffixed) entry name to 1 or more FileSystemEntries.
+        // Each FileSystemEntry asociated with a normalized entry name must have a distinct
+        // physical name
+        private final Multimap<String, FileSystemEntry> children = ArrayListMultimap.create();
+
+        public DirectoryEntry(@Nonnull File path) {
+            super(null, path.getName());
+            file = path;
+            physicalName = file.getName();
         }
 
-        public PackageNameEntry(File path) {
-            super(path);
+        public DirectoryEntry(@Nullable DirectoryEntry parent, @Nonnull String logicalName) {
+            super(parent, logicalName);
         }
 
-        @Override
-        public synchronized File addUniqueChild(String[] pathElements, int pathElementsIndex) {
-            String elementName;
-            String elementNameLower;
-
-            if (pathElementsIndex == pathElements.length - 1) {
-                elementName = pathElements[pathElementsIndex];
-                elementName += fileExtension;
-            } else {
-                elementName = pathElements[pathElementsIndex];
-            }
-            elementNameLower = elementName.toLowerCase();
-
-            FileSystemEntry existingEntry = children.find(elementNameLower);
-            if (existingEntry != null) {
-                FileSystemEntry virtualEntry = existingEntry;
-                //if there is already another entry with the same name but different case, we need to
-                //add a virtual group, and then add the existing entry and the new entry to that group
-                if (!(existingEntry instanceof VirtualGroupEntry)) {
-                    if (existingEntry.file.getName().equals(elementName)) {
-                        if (pathElementsIndex == pathElements.length - 1) {
-                            return existingEntry.file;
-                        } else {
-                            return existingEntry.addUniqueChild(pathElements, pathElementsIndex + 1);
-                        }
-                    } else {
-                        virtualEntry = existingEntry.makeVirtual(file);
-                        children.replace(elementNameLower, virtualEntry);
+        public synchronized FileSystemEntry addChild(FileSystemEntry entry) {
+            String normalizedChildName = entry.getNormalizedName(false);
+            Collection<FileSystemEntry> entries = children.get(normalizedChildName);
+            if (entry instanceof DirectoryEntry) {
+                for (FileSystemEntry childEntry: entries) {
+                    if (childEntry.logicalName.equals(entry.logicalName)) {
+                        return childEntry;
                     }
                 }
-
-                return virtualEntry.addUniqueChild(pathElements, pathElementsIndex);
             }
-
-            if (pathElementsIndex == pathElements.length - 1) {
-                ClassNameEntry classNameEntry = new ClassNameEntry(file, elementName);
-                children.insert(elementNameLower, classNameEntry);
-                return classNameEntry.file;
-            } else {
-                PackageNameEntry packageNameEntry = new PackageNameEntry(file, elementName);
-                children.insert(elementNameLower, packageNameEntry);
-                return packageNameEntry.addUniqueChild(pathElements, pathElementsIndex + 1);
-            }
-        }
-    }
-
-    /**
-     * A virtual group that groups together file system entries with the same name, differing only in case
-     */
-    private class VirtualGroupEntry extends FileSystemEntry {
-        //this contains the FileSystemEntries for all of the files/directories in this group
-        //the key is the unmodified name of the entry, before it is modified to be made unique (if needed).
-        private RadixTree<FileSystemEntry> groupEntries = new RadixTreeImpl<FileSystemEntry>();
-
-        //whether the containing directory is case sensitive or not.
-        //-1 = unset
-        //0 = false;
-        //1 = true;
-        private int isCaseSensitive = -1;
-
-        public VirtualGroupEntry(FileSystemEntry firstChild, File parent) {
-            super(parent);
-
-            //use the name of the first child in the group as-is
-            groupEntries.insert(firstChild.file.getName(), firstChild);
+            entry.setSuffix(entries.size());
+            entries.add(entry);
+            return entry;
         }
 
         @Override
-        public File addUniqueChild(String[] pathElements, int pathElementsIndex) {
-            String elementName = pathElements[pathElementsIndex];
-
-            if (pathElementsIndex == pathElements.length - 1) {
-                elementName = elementName + fileExtension;
+        protected String makePhysicalName(int suffix) {
+            if (suffix > 0) {
+                return getNormalizedName(true) + "." + Integer.toString(suffix);
             }
+            return getNormalizedName(true);
+        }
 
-            FileSystemEntry existingEntry = groupEntries.find(elementName);
-            if (existingEntry != null) {
-                if (pathElementsIndex == pathElements.length - 1) {
-                    return existingEntry.file;
-                } else {
-                    return existingEntry.addUniqueChild(pathElements, pathElementsIndex+1);
-                }
-            }
-
-            if (pathElementsIndex == pathElements.length - 1) {
-                String fileName;
-                if (!isCaseSensitive()) {
-                    fileName = pathElements[pathElementsIndex] + "." + (groupEntries.getSize()+1) + fileExtension;
-                } else {
-                    fileName = elementName;
-                }
-
-                ClassNameEntry classNameEntry = new ClassNameEntry(file, fileName);
-                groupEntries.insert(elementName, classNameEntry);
-                return classNameEntry.file;
-            } else {
-                String fileName;
-                if (!isCaseSensitive()) {
-                    fileName = pathElements[pathElementsIndex] + "." + (groupEntries.getSize()+1);
-                } else {
-                    fileName = elementName;
-                }
-
-                PackageNameEntry packageNameEntry = new PackageNameEntry(file, fileName);
-                groupEntries.insert(elementName, packageNameEntry);
-                return packageNameEntry.addUniqueChild(pathElements, pathElementsIndex + 1);
+        @Override
+        public void setSuffix(int suffix) {
+            super.setSuffix(suffix);
+            String physicalName = getPhysicalName();
+            if (parent != null && physicalName != null) {
+                file = new File(parent.file, physicalName);
             }
         }
 
-        private boolean isCaseSensitive() {
-            if (isCaseSensitive != -1) {
-                return isCaseSensitive == 1;
+        protected boolean isCaseSensitive() {
+            if (getPhysicalName() == null || file == null) {
+                throw new IllegalStateException("Must call setSuffix() first");
+            }
+
+            if (caseSensitivity != NO_VALUE) {
+                return caseSensitivity == CASE_SENSITIVE;
             }
 
             File path = file;
-
             if (path.exists() && path.isFile()) {
-                path = path.getParentFile();
+                if (!path.delete()) {
+                    throw new ExceptionWithContext("Can't delete %s to make it into a directory",
+                            path.getAbsolutePath());
+                }
             }
 
-            if ((!file.exists() && !file.mkdirs())) {
-                return false;
+            if (!path.exists() && !path.mkdirs()) {
+                throw new ExceptionWithContext("Couldn't create directory %s", path.getAbsolutePath());
             }
 
             try {
                 boolean result = testCaseSensitivity(path);
-                isCaseSensitive = result?1:0;
+                caseSensitivity = result?CASE_SENSITIVE:CASE_INSENSITIVE;
                 return result;
             } catch (IOException ex) {
                 return false;
@@ -368,22 +438,34 @@
                 try { f2.delete(); } catch (Exception ex) {}
             }
         }
+    }
+
+    private class FileEntry extends FileSystemEntry {
+        private FileEntry(@Nullable DirectoryEntry parent, @Nonnull String logicalName) {
+            super(parent, logicalName);
+        }
 
         @Override
-        public FileSystemEntry makeVirtual(File parent) {
-            return this;
+        protected String makePhysicalName(int suffix) {
+            if (suffix > 0) {
+                return addSuffixBeforeExtension(getNormalizedName(true), '.' + Integer.toString(suffix));
+            }
+            return getNormalizedName(true);
         }
     }
 
-    private class ClassNameEntry extends FileSystemEntry {
-        public ClassNameEntry(File parent, String name) {
-            super(new File(parent, name));
-        }
+    private static String addSuffixBeforeExtension(String pathElement, String suffix) {
+        int extensionStart = pathElement.lastIndexOf('.');
 
-        @Override
-        public File addUniqueChild(String[] pathElements, int pathElementsIndex) {
-            assert false;
-            return file;
+        StringBuilder newName = new StringBuilder(pathElement.length() + suffix.length() + 1);
+        if (extensionStart < 0) {
+            newName.append(pathElement);
+            newName.append(suffix);
+        } else {
+            newName.append(pathElement.subSequence(0, extensionStart));
+            newName.append(suffix);
+            newName.append(pathElement.subSequence(extensionStart, pathElement.length()));
         }
+        return newName.toString();
     }
 }
diff --git a/util/src/main/java/org/jf/util/ConsoleUtil.java b/util/src/main/java/org/jf/util/ConsoleUtil.java
index 4d1e030..21e5567 100644
--- a/util/src/main/java/org/jf/util/ConsoleUtil.java
+++ b/util/src/main/java/org/jf/util/ConsoleUtil.java
@@ -35,7 +35,7 @@
 public class ConsoleUtil {
     /**
      * Attempt to find the width of the console. If it can't get the width, return a default of 80
-     * @return
+     * @return The current console width
      */
     public static int getConsoleWidth() {
         if (System.getProperty("os.name").toLowerCase().contains("windows")) {
diff --git a/util/src/main/java/org/jf/util/TextUtils.java b/util/src/main/java/org/jf/util/TextUtils.java
new file mode 100644
index 0000000..a01e68e
--- /dev/null
+++ b/util/src/main/java/org/jf/util/TextUtils.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2014, Google Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * 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.
+ *     * Neither the name of Google Inc. 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.
+ */
+
+package org.jf.util;
+
+import javax.annotation.Nonnull;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+public class TextUtils {
+    private static String newline = System.getProperty("line.separator");
+
+    @Nonnull
+    public static String normalizeNewlines(@Nonnull String source) {
+        return normalizeNewlines(source, newline);
+    }
+
+    @Nonnull
+    public static String normalizeNewlines(@Nonnull String source, String newlineValue) {
+        return source.replace("\r", "").replace("\n", newlineValue);
+    }
+
+    @Nonnull
+    public static String normalizeWhitespace(@Nonnull String source) {
+        source = normalizeNewlines(source, "\n");
+
+        Pattern pattern = Pattern.compile("(\n[ \t]*)+");
+        Matcher matcher = pattern.matcher(source);
+        return matcher.replaceAll("\n");
+    }
+}
diff --git a/util/src/test/java/org/jf/util/ClassFileNameHandlerTest.java b/util/src/test/java/org/jf/util/ClassFileNameHandlerTest.java
index 7aa47ad..125fbd2 100644
--- a/util/src/test/java/org/jf/util/ClassFileNameHandlerTest.java
+++ b/util/src/test/java/org/jf/util/ClassFileNameHandlerTest.java
@@ -31,19 +31,215 @@
 
 package org.jf.util;
 
+import com.google.common.base.Strings;
+import com.google.common.io.Files;
 import junit.framework.Assert;
 import org.junit.Test;
 
+import java.io.File;
+import java.nio.charset.Charset;
+
 public class ClassFileNameHandlerTest {
+    private final Charset UTF8 = Charset.forName("UTF-8");
+
     @Test
-    public void testShortedPathComponent() {
+    public void test1ByteEncodings() {
         StringBuilder sb = new StringBuilder();
-        for (int i=0; i<300; i++) {
+        for (int i=0; i<100; i++) {
             sb.append((char)i);
         }
 
-        String result = ClassFileNameHandler.shortenPathComponent(sb.toString(), 255);
+        String result = ClassFileNameHandler.shortenPathComponent(sb.toString(), 5);
+        Assert.assertEquals(95, result.getBytes(UTF8).length);
+        Assert.assertEquals(95, result.length());
+    }
 
-        Assert.assertEquals(255, result.length());
+    @Test
+    public void test2ByteEncodings() {
+        StringBuilder sb = new StringBuilder();
+        for (int i=0x80; i<0x80+100; i++) {
+            sb.append((char)i);
+        }
+
+        // remove a total of 3 2-byte characters, and then add back in the 1-byte '#'
+        String result = ClassFileNameHandler.shortenPathComponent(sb.toString(), 4);
+        Assert.assertEquals(200, sb.toString().getBytes(UTF8).length);
+        Assert.assertEquals(195, result.getBytes(UTF8).length);
+        Assert.assertEquals(98, result.length());
+
+        // remove a total of 3 2-byte characters, and then add back in the 1-byte '#'
+        result = ClassFileNameHandler.shortenPathComponent(sb.toString(), 5);
+        Assert.assertEquals(200, sb.toString().getBytes(UTF8).length);
+        Assert.assertEquals(195, result.getBytes(UTF8).length);
+        Assert.assertEquals(98, result.length());
+    }
+
+    @Test
+    public void test3ByteEncodings() {
+        StringBuilder sb = new StringBuilder();
+        for (int i=0x800; i<0x800+100; i++) {
+            sb.append((char)i);
+        }
+
+        // remove a total of 3 3-byte characters, and then add back in the 1-byte '#'
+        String result = ClassFileNameHandler.shortenPathComponent(sb.toString(), 6);
+        Assert.assertEquals(300, sb.toString().getBytes(UTF8).length);
+        Assert.assertEquals(292, result.getBytes(UTF8).length);
+        Assert.assertEquals(98, result.length());
+
+        // remove a total of 3 3-byte characters, and then add back in the 1-byte '#'
+        result = ClassFileNameHandler.shortenPathComponent(sb.toString(), 7);
+        Assert.assertEquals(300, sb.toString().getBytes(UTF8).length);
+        Assert.assertEquals(292, result.getBytes(UTF8).length);
+        Assert.assertEquals(98, result.length());
+    }
+
+    @Test
+    public void test4ByteEncodings() {
+        StringBuilder sb = new StringBuilder();
+        for (int i=0x10000; i<0x10000+100; i++) {
+            sb.appendCodePoint(i);
+        }
+
+        // we remove 3 codepoints == 6 characters == 12 bytes, and then add back in the 1-byte '#'
+        String result = ClassFileNameHandler.shortenPathComponent(sb.toString(), 8);
+        Assert.assertEquals(400, sb.toString().getBytes(UTF8).length);
+        Assert.assertEquals(389, result.getBytes(UTF8).length);
+        Assert.assertEquals(195, result.length());
+
+        // we remove 2 codepoints == 4 characters == 8 bytes, and then add back in the 1-byte '#'
+        result = ClassFileNameHandler.shortenPathComponent(sb.toString(), 7);
+        Assert.assertEquals(400, sb.toString().getBytes(UTF8).length);
+        Assert.assertEquals(393, result.getBytes(UTF8).length);
+        Assert.assertEquals(197, result.length());
+    }
+
+    @Test
+    public void testMultipleLongNames() {
+        String filenameFragment = Strings.repeat("a", 512);
+
+        File tempDir = Files.createTempDir();
+        ClassFileNameHandler handler = new ClassFileNameHandler(tempDir, ".smali");
+
+        // put the differentiating character in the middle, where it will get stripped out by the filename shortening
+        // logic
+        File file1 = handler.getUniqueFilenameForClass("La/a/" + filenameFragment  + "1" + filenameFragment + ";");
+        checkFilename(tempDir, file1, "a", "a", Strings.repeat("a", 124) + "#" + Strings.repeat("a", 118) + ".smali");
+
+        File file2 = handler.getUniqueFilenameForClass("La/a/" + filenameFragment + "2" + filenameFragment + ";");
+        checkFilename(tempDir, file2, "a", "a", Strings.repeat("a", 124) + "#" + Strings.repeat("a", 118) + ".1.smali");
+
+        Assert.assertFalse(file1.getAbsolutePath().equals(file2.getAbsolutePath()));
+    }
+
+    @Test
+    public void testBasicFunctionality() {
+        File tempDir = Files.createTempDir();
+        ClassFileNameHandler handler = new ClassFileNameHandler(tempDir, ".smali");
+
+        File file = handler.getUniqueFilenameForClass("La/b/c/d;");
+        checkFilename(tempDir, file, "a", "b", "c", "d.smali");
+
+        file = handler.getUniqueFilenameForClass("La/b/c/e;");
+        checkFilename(tempDir, file, "a", "b", "c", "e.smali");
+
+        file = handler.getUniqueFilenameForClass("La/b/d/d;");
+        checkFilename(tempDir, file, "a", "b", "d", "d.smali");
+
+        file = handler.getUniqueFilenameForClass("La/b;");
+        checkFilename(tempDir, file, "a", "b.smali");
+
+        file = handler.getUniqueFilenameForClass("Lb;");
+        checkFilename(tempDir, file, "b.smali");
+    }
+
+    @Test
+    public void testCaseInsensitiveFilesystem() {
+        File tempDir = Files.createTempDir();
+        ClassFileNameHandler handler = new ClassFileNameHandler(tempDir, ".smali", false, false);
+
+        File file = handler.getUniqueFilenameForClass("La/b/c;");
+        checkFilename(tempDir, file, "a", "b", "c.smali");
+
+        file = handler.getUniqueFilenameForClass("La/b/C;");
+        checkFilename(tempDir, file, "a", "b", "C.1.smali");
+
+        file = handler.getUniqueFilenameForClass("La/B/c;");
+        checkFilename(tempDir, file, "a", "B.1", "c.smali");
+    }
+
+    @Test
+    public void testCaseSensitiveFilesystem() {
+        File tempDir = Files.createTempDir();
+        ClassFileNameHandler handler = new ClassFileNameHandler(tempDir, ".smali", true, false);
+
+        File file = handler.getUniqueFilenameForClass("La/b/c;");
+        checkFilename(tempDir, file, "a", "b", "c.smali");
+
+        file = handler.getUniqueFilenameForClass("La/b/C;");
+        checkFilename(tempDir, file, "a", "b", "C.smali");
+
+        file = handler.getUniqueFilenameForClass("La/B/c;");
+        checkFilename(tempDir, file, "a", "B", "c.smali");
+    }
+
+    @Test
+    public void testWindowsReservedFilenames() {
+        File tempDir = Files.createTempDir();
+        ClassFileNameHandler handler = new ClassFileNameHandler(tempDir, ".smali", false, true);
+
+        File file = handler.getUniqueFilenameForClass("La/con/c;");
+        checkFilename(tempDir, file, "a", "con#", "c.smali");
+
+        file = handler.getUniqueFilenameForClass("La/Con/c;");
+        checkFilename(tempDir, file, "a", "Con#.1", "c.smali");
+
+        file = handler.getUniqueFilenameForClass("La/b/PRN;");
+        checkFilename(tempDir, file, "a", "b", "PRN#.smali");
+
+        file = handler.getUniqueFilenameForClass("La/b/prN;");
+        checkFilename(tempDir, file, "a", "b", "prN#.1.smali");
+
+        file = handler.getUniqueFilenameForClass("La/b/com0;");
+        checkFilename(tempDir, file, "a", "b", "com0.smali");
+
+        for (String reservedName: new String[] {"con", "prn", "aux", "nul", "com1", "com9", "lpt1", "lpt9"}) {
+            file = handler.getUniqueFilenameForClass("L" + reservedName + ";");
+            checkFilename(tempDir, file, reservedName +"#.smali");
+        }
+    }
+
+    @Test
+    public void testIgnoringWindowsReservedFilenames() {
+        File tempDir = Files.createTempDir();
+        ClassFileNameHandler handler = new ClassFileNameHandler(tempDir, ".smali", true, false);
+
+        File file = handler.getUniqueFilenameForClass("La/con/c;");
+        checkFilename(tempDir, file, "a", "con", "c.smali");
+
+        file = handler.getUniqueFilenameForClass("La/Con/c;");
+        checkFilename(tempDir, file, "a", "Con", "c.smali");
+
+        file = handler.getUniqueFilenameForClass("La/b/PRN;");
+        checkFilename(tempDir, file, "a", "b", "PRN.smali");
+
+        file = handler.getUniqueFilenameForClass("La/b/prN;");
+        checkFilename(tempDir, file, "a", "b", "prN.smali");
+
+        file = handler.getUniqueFilenameForClass("La/b/com0;");
+        checkFilename(tempDir, file, "a", "b", "com0.smali");
+
+        for (String reservedName: new String[] {"con", "prn", "aux", "nul", "com1", "com9", "lpt1", "lpt9"}) {
+            file = handler.getUniqueFilenameForClass("L" + reservedName + ";");
+            checkFilename(tempDir, file, reservedName +".smali");
+        }
+    }
+
+    private void checkFilename(File base, File file, String... elements) {
+        for (int i=elements.length-1; i>=0; i--) {
+            Assert.assertEquals(elements[i], file.getName());
+            file = file.getParentFile();
+        }
+        Assert.assertEquals(base.getAbsolutePath(), file.getAbsolutePath());
     }
 }