Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Krüger <mkrueger@xamarin.com>2011-11-25 17:10:25 +0400
committerMike Krüger <mkrueger@xamarin.com>2011-11-25 17:10:25 +0400
commitb2ac6f0813ef0fcba9eded48a89b6fa320412ea0 (patch)
tree11e375591bdbeaef2b45e1aea612f382bf55f9a0 /main/contrib
parent0e8c4fd3e4c586bc1b5b36a662bff0392285abb4 (diff)
[NRefactory] Fixed enum context (fixing Bug 2109 - [Regression]
Incorrect autocompletion when declaring an enum). Merged with nrefactory/lastest mcs.
Diffstat (limited to 'main/contrib')
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs19
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngineBase.cs15
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Parser/CSharpParser.cs33
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Parser/TypeSystemConvertVisitor.cs3
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/anonymous.cs3
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/argument.cs3
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/assembly.cs3
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/assign.cs13
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/attribute.cs3
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/cfold.cs2
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/class.cs43
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/codegen.cs2
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/complete.cs1
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/constant.cs1
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/convert.cs4
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/cs-parser.cs8093
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/cs-tokenizer.cs4
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/decl.cs3
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/delegate.cs10
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/doc.cs1
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/driver.cs1
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/ecore.cs142
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/enum.cs1
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/eval.cs1
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/expression.cs54
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/field.cs1
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/flowanalysis.cs13
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/generic.cs141
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/lambda.cs1
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/linq.cs1
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/literal.cs1
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/membercache.cs78
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/method.cs65
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/namespace.cs10
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/nullable.cs1
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/parameter.cs6
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/pending.cs11
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/property.cs13
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/roottypes.cs1
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/statement.cs123
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/support.cs1
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/typemanager.cs38
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/typespec.cs22
-rw-r--r--main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/visit.cs5
44 files changed, 4657 insertions, 4333 deletions
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs
index 063b73256e..322b27f28d 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngine.cs
@@ -144,7 +144,7 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
yield return possibleName.ToString ();
}
}
-
+
IEnumerable<ICompletionData> MagicKeyCompletion (char completionChar, bool controlSpace)
{
switch (completionChar) {
@@ -410,6 +410,9 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
AddKeywords (dataList, linqKeywords);
return dataList.Result;
}
+ Console.WriteLine ("ct:"+currentType);
+ if (currentType != null && currentType.Kind == TypeKind.Enum)
+ return HandleEnumContext ();
var contextList = new CompletionDataWrapper (this);
var identifierStart = GetExpressionAtCursor ();
@@ -569,7 +572,19 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
}
return null;
}
-
+
+ IEnumerable<ICompletionData> HandleEnumContext ()
+ {
+ var cu = ParseStub ("aMember", false);
+ if (cu == null)
+ return null;
+ var member = cu.GetNodeAt<EnumMemberDeclaration> (location);
+ if (member != null && member.NameToken.EndLocation < location)
+ return DefaultControlSpaceItems ();
+ return null;
+ }
+
+
bool IsInLinqContext (int offset)
{
string token;
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngineBase.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngineBase.cs
index b9570aca58..ad68973b38 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngineBase.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngineBase.cs
@@ -230,7 +230,6 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
{
var bracketStack = GetBracketStack (memberText);
bool didAppendSemicolon = !appendSemicolon;
-
char lastBracket = '\0';
while (bracketStack.Count > 0) {
var t = bracketStack.Pop ();
@@ -313,7 +312,7 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
wrapper.Append ('}');
TextLocation memberLocation;
- if (currentMember != null) {
+ if (currentMember != null && currentType.Kind != TypeKind.Enum) {
memberLocation = currentMember.Region.Begin;
} else if (currentType != null) {
memberLocation = currentType.Region.Begin;
@@ -321,8 +320,14 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
memberLocation = new TextLocation (1, 1);
}
using (var stream = new System.IO.StringReader (wrapper.ToString ())) {
- var parser = new CSharpParser ();
- return parser.Parse (stream, wrapInClass ? memberLocation.Line - 2 : 0);
+ try {
+ var parser = new CSharpParser ();
+ return parser.Parse (stream, wrapInClass ? memberLocation.Line - 2 : 0);
+ } catch (Exception){
+ Console.WriteLine ("------");
+ Console.WriteLine (wrapper);
+ throw;
+ }
}
}
@@ -336,7 +341,7 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
protected Tuple<string, bool> GetMemberTextToCaret ()
{
int startOffset;
- if (currentMember != null) {
+ if (currentMember != null && currentType.Kind != TypeKind.Enum) {
startOffset = document.GetOffset (currentMember.Region.BeginLine, currentMember.Region.BeginColumn);
} else if (currentType != null) {
startOffset = document.GetOffset (currentType.Region.BeginLine, currentType.Region.BeginColumn);
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/CSharpParser.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/CSharpParser.cs
index cb6ca5a3d3..359605061f 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/CSharpParser.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/CSharpParser.cs
@@ -36,7 +36,6 @@ namespace ICSharpCode.NRefactory.CSharp
{
public class CSharpParser
{
-
class ConversionVisitor : StructuralVisitor
{
CompilationUnit unit = new CompilationUnit ();
@@ -622,11 +621,11 @@ namespace ICSharpCode.NRefactory.CSharp
EnumMemberDeclaration newField = new EnumMemberDeclaration ();
AddAttributeSection (newField, em);
newField.AddChild (Identifier.Create (em.Name, Convert (em.Location)), AstNode.Roles.Identifier);
-
if (em.Initializer != null) {
newField.AddChild (new CSharpTokenNode (Convert (em.Initializer.Location), 1), EnumMemberDeclaration.Roles.Assign);
newField.AddChild ((Expression)em.Initializer.Accept (this), EnumMemberDeclaration.InitializerRole);
}
+ Console.WriteLine (newField.StartLocation +"-" + newField.EndLocation);
typeStack.Peek ().AddChild (newField, TypeDeclaration.MemberRole);
}
@@ -1430,16 +1429,16 @@ namespace ICSharpCode.NRefactory.CSharp
if (location != null)
result.AddChild (new CSharpTokenNode (Convert (location [0]), 1), ForStatement.Roles.LPar);
- AddStatementOrList (result, forStatement.InitStatement, ForStatement.InitializerRole);
+ AddStatementOrList (result, forStatement.Initializer, ForStatement.InitializerRole);
if (location != null)
result.AddChild (new CSharpTokenNode (Convert (location [1]), 1), ForStatement.Roles.Semicolon);
- if (forStatement.Test != null)
- result.AddChild ((Expression)forStatement.Test.Accept (this), ForStatement.Roles.Condition);
+ if (forStatement.Condition != null)
+ result.AddChild ((Expression)forStatement.Condition.Accept (this), ForStatement.Roles.Condition);
if (location != null && location.Count >= 3)
result.AddChild (new CSharpTokenNode (Convert (location [2]), 1), ForStatement.Roles.Semicolon);
- AddStatementOrList (result, forStatement.Increment, ForStatement.IteratorRole);
+ AddStatementOrList (result, forStatement.Iterator, ForStatement.IteratorRole);
if (location != null && location.Count >= 4)
result.AddChild (new CSharpTokenNode (Convert (location [3]), 1), ForStatement.Roles.RPar);
@@ -1462,6 +1461,15 @@ namespace ICSharpCode.NRefactory.CSharp
return result;
}
+ public override object Visit (StatementErrorExpression statementErrorExpression)
+ {
+ var result = new ExpressionStatement ();
+ var expr = statementErrorExpression.Expression.Accept (this) as Expression;
+ if (expr != null)
+ result.AddChild ((Expression)expr, ExpressionStatement.Roles.Expression);
+ return result;
+ }
+
public override object Visit (InvalidStatementExpression statementExpression)
{
var result = new ExpressionStatement ();
@@ -2667,7 +2675,10 @@ namespace ICSharpCode.NRefactory.CSharp
initializer.AddChild (new CSharpTokenNode (Convert (arrayCreationExpression.Initializers.Location), 1), ArrayCreateExpression.Roles.LBrace);
var commaLocations = LocationsBag.GetLocations (arrayCreationExpression.Initializers.Elements);
for (int i = 0; i < arrayCreationExpression.Initializers.Count; i++) {
- initializer.AddChild ((Expression)arrayCreationExpression.Initializers[i].Accept (this), ArrayInitializerExpression.Roles.Expression);
+ var init = arrayCreationExpression.Initializers[i];
+ if (init == null)
+ continue;
+ initializer.AddChild ((Expression)init.Accept (this), ArrayInitializerExpression.Roles.Expression);
if (commaLocations != null && i < commaLocations.Count) {
initializer.AddChild (new CSharpTokenNode (Convert (commaLocations [i]), 1), IndexerExpression.Roles.Comma);
}
@@ -3452,7 +3463,13 @@ namespace ICSharpCode.NRefactory.CSharp
public CompilationUnit Parse (string program)
{
- return Parse (new StringReader (program));
+ try {
+ return Parse (new StringReader (program));
+ } catch (Exception) {
+ Console.WriteLine ("------");
+ Console.WriteLine (program);
+ return null;
+ }
}
public CompilationUnit Parse (Stream stream, int line = 0)
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/TypeSystemConvertVisitor.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/TypeSystemConvertVisitor.cs
index 8e03c367d2..0342c2a3cb 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/TypeSystemConvertVisitor.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/TypeSystemConvertVisitor.cs
@@ -910,7 +910,8 @@ namespace ICSharpCode.NRefactory.CSharp
}
return t;
}
- Debug.WriteLine("Unknown node used as type: " + type);
+ if (!type.IsNull)
+ Debug.WriteLine("Unknown node used as type: " + type);
return SharedTypes.UnknownType;
}
#endregion
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/anonymous.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/anonymous.cs
index 682540444f..8e35e72ad2 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/anonymous.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/anonymous.cs
@@ -6,7 +6,8 @@
// Marek Safar (marek.safar@gmail.com)
//
// Dual licensed under the terms of the MIT X11 or GNU GPL
-// Copyright 2003-2008 Novell, Inc.
+// Copyright 2003-2011 Novell, Inc.
+// Copyright 2011 Xamarin Inc
//
using System;
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/argument.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/argument.cs
index 2192b9c9e6..a6fa8bd843 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/argument.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/argument.cs
@@ -6,7 +6,8 @@
// Marek Safar (marek.safar@gmail.com)
//
// Dual licensed under the terms of the MIT X11 or GNU GPL
-// Copyright 2003-2008 Novell, Inc.
+// Copyright 2003-2011 Novell, Inc.
+// Copyright 2011 Xamarin Inc
//
using System;
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/assembly.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/assembly.cs
index afae0c57af..ef1ffb6694 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/assembly.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/assembly.cs
@@ -6,7 +6,8 @@
// Marek Safar (marek.safar@gmail.com)
//
// Copyright 2001, 2002, 2003 Ximian, Inc.
-// Copyright 2004 Novell, Inc.
+// Copyright 2004-2011 Novell, Inc.
+// Copyright 2011 Xamarin Inc
//
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/assign.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/assign.cs
index 2a82f240be..99416ce55d 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/assign.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/assign.cs
@@ -10,6 +10,7 @@
//
// Copyright 2001, 2002, 2003 Ximian, Inc.
// Copyright 2004-2008 Novell, Inc
+// Copyright 2011 Xamarin Inc
//
using System;
@@ -342,7 +343,7 @@ namespace Mono.CSharp {
type = target_type;
if (!(target is IAssignMethod)) {
- Error_ValueAssignment (ec, loc);
+ Error_ValueAssignment (ec, source);
return null;
}
@@ -484,6 +485,16 @@ namespace Mono.CSharp {
{
}
+ protected override Expression DoResolve (ResolveContext ec)
+ {
+ var expr = base.DoResolve (ec);
+ var vr = target as VariableReference;
+ if (vr != null && vr.VariableInfo != null)
+ vr.VariableInfo.IsEverAssigned = false;
+
+ return expr;
+ }
+
public void UpdateSource (Expression source)
{
base.source = source;
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/attribute.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/attribute.cs
index 71c3b06631..53a5db56d3 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/attribute.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/attribute.cs
@@ -8,6 +8,7 @@
//
// Copyright 2001-2003 Ximian, Inc (http://www.ximian.com)
// Copyright 2003-2008 Novell, Inc.
+// Copyright 2011 Xamarin Inc
//
using System;
@@ -963,7 +964,7 @@ namespace Mono.CSharp {
if (j == 0) {
if ((Type == predefined.IndexerName || Type == predefined.Conditional) && arg_expr is Constant) {
string v = ((Constant) arg_expr).GetValue () as string;
- if (!Tokenizer.IsValidIdentifier (v) || Tokenizer.IsKeyword (v)) {
+ if (!Tokenizer.IsValidIdentifier (v) || (Type == predefined.IndexerName && Tokenizer.IsKeyword (v))) {
context.Module.Compiler.Report.Error (633, arg_expr.Location,
"The argument to the `{0}' attribute must be a valid identifier", GetSignatureForError ());
return;
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/cfold.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/cfold.cs
index 1659dfe3a6..7580124cee 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/cfold.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/cfold.cs
@@ -6,7 +6,7 @@
// Marek Safar (marek.safar@seznam.cz)
//
// Copyright 2002, 2003 Ximian, Inc.
-// Copyright 2003-2008, Novell, Inc.
+// Copyright 2003-2011, Novell, Inc.
//
using System;
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/class.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/class.cs
index b506fcef14..e76fd155d1 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/class.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/class.cs
@@ -8,7 +8,7 @@
// Dual licensed under the terms of the MIT X11 or GNU GPL
//
// Copyright 2001, 2002, 2003 Ximian, Inc (http://www.ximian.com)
-// Copyright 2004-2008 Novell, Inc
+// Copyright 2004-2011 Novell, Inc
// Copyright 2011 Xamarin, Inc (http://www.xamarin.com)
//
@@ -1576,7 +1576,9 @@ namespace Mono.CSharp
GetSignatureForError (), iface_type.GetSignatureForError ());
return false;
}
+ }
+ if (iface_type.IsGenericOrParentIsGeneric) {
if (spec.Interfaces != null) {
foreach (var prev_iface in iface_exprs) {
if (prev_iface == iface_type)
@@ -2843,44 +2845,41 @@ namespace Mono.CSharp
public override bool IsUnmanagedType ()
{
- if (fields == null)
- return true;
-
if (has_unmanaged_check_done)
return is_unmanaged;
if (requires_delayed_unmanagedtype_check)
return true;
- requires_delayed_unmanagedtype_check = true;
+ if (Parent != null && Parent.IsGeneric) {
+ has_unmanaged_check_done = true;
+ return false;
+ }
- foreach (FieldBase f in fields) {
- if (f.IsStatic)
- continue;
+ if (fields != null) {
+ requires_delayed_unmanagedtype_check = true;
- // It can happen when recursive unmanaged types are defined
- // struct S { S* s; }
- TypeSpec mt = f.MemberType;
- if (mt == null) {
- return true;
- }
+ foreach (FieldBase f in fields) {
+ if (f.IsStatic)
+ continue;
- while (mt.IsPointer)
- mt = TypeManager.GetElementType (mt);
+ // It can happen when recursive unmanaged types are defined
+ // struct S { S* s; }
+ TypeSpec mt = f.MemberType;
+ if (mt == null) {
+ return true;
+ }
+
+ if (mt.IsUnmanaged)
+ continue;
- if (mt.IsGenericOrParentIsGeneric || mt.IsGenericParameter) {
has_unmanaged_check_done = true;
return false;
}
- if (TypeManager.IsUnmanagedType (mt))
- continue;
-
has_unmanaged_check_done = true;
- return false;
}
- has_unmanaged_check_done = true;
is_unmanaged = true;
return true;
}
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/codegen.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/codegen.cs
index e08a5aeb1a..142f940934 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/codegen.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/codegen.cs
@@ -7,6 +7,7 @@
//
// Copyright 2001, 2002, 2003 Ximian, Inc.
// Copyright 2004 Novell, Inc.
+// Copyright 2011 Xamarin Inc
//
using System;
@@ -975,7 +976,6 @@ namespace Mono.CSharp
instance.Emit (ec);
temp.Store (ec);
temp.AddressOf (ec, AddressOp.Load);
- temp.Release (ec);
}
return ReferenceContainer.MakeType (ec.Module, instance_type);
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/complete.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/complete.cs
index cab03dc3d4..08b420592a 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/complete.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/complete.cs
@@ -7,6 +7,7 @@
//
// Copyright 2001, 2002, 2003 Ximian, Inc.
// Copyright 2003-2009 Novell, Inc.
+// Copyright 2011 Xamarin Inc
//
// Completion* classes derive from ExpressionStatement as this allows
// them to pass through the parser in many conditions that require
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/constant.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/constant.cs
index 99c4654e74..3869f1e805 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/constant.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/constant.cs
@@ -7,6 +7,7 @@
//
// Copyright 2001-2003 Ximian, Inc.
// Copyright 2003-2008 Novell, Inc.
+// Copyright 2011 Xamarin Inc
//
using System;
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/convert.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/convert.cs
index d8745699dc..f1dfc2d8bd 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/convert.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/convert.cs
@@ -8,7 +8,7 @@
//
// Copyright 2001, 2002, 2003 Ximian, Inc.
// Copyright 2003-2008 Novell, Inc.
-// Copyright 2011 Xamarin, Inc (http://www.xamarin.com)
+// Copyright 2011 Xamarin Inc (http://www.xamarin.com)
//
using System;
@@ -818,7 +818,7 @@ namespace Mono.CSharp {
/// Finds "most encompassed type" according to the spec (13.4.2)
/// amongst the methods in the MethodGroupExpr
/// </summary>
- public static TypeSpec FindMostEncompassedType (IEnumerable<TypeSpec> types)
+ public static TypeSpec FindMostEncompassedType (IList<TypeSpec> types)
{
TypeSpec best = null;
EmptyExpression expr;
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/cs-parser.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/cs-parser.cs
index 4a27cae7f9..756ab9c7f5 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/cs-parser.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/cs-parser.cs
@@ -153,7 +153,6 @@ namespace Mono.CSharp
List<Location> attributeCommas = new List<Location> ();
List<Location> attributeArgumentCommas = new List<Location> ();
List<Location> parameterListCommas = new List<Location> ();
- List<Location> enumCommas = new List<Location> ();
object lastYYVal;
@@ -517,8 +516,7 @@ namespace Mono.CSharp
//t "$$56 :",
//t "$$57 :",
//t "$$58 :",
-//t "$$59 :",
-//t "enum_declaration : opt_attributes opt_modifiers ENUM $$56 type_declaration_name opt_enum_base $$57 OPEN_BRACE $$58 opt_enum_member_declarations $$59 CLOSE_BRACE opt_semicolon",
+//t "enum_declaration : opt_attributes opt_modifiers ENUM type_declaration_name opt_enum_base $$56 OPEN_BRACE $$57 opt_enum_member_declarations $$58 CLOSE_BRACE opt_semicolon",
//t "opt_enum_base :",
//t "opt_enum_base : COLON type",
//t "opt_enum_base : COLON error",
@@ -528,12 +526,12 @@ namespace Mono.CSharp
//t "enum_member_declarations : enum_member_declaration",
//t "enum_member_declarations : enum_member_declarations COMMA enum_member_declaration",
//t "enum_member_declaration : opt_attributes IDENTIFIER",
+//t "$$59 :",
+//t "enum_member_declaration : opt_attributes IDENTIFIER $$59 ASSIGN constant_expression",
//t "$$60 :",
-//t "enum_member_declaration : opt_attributes IDENTIFIER $$60 ASSIGN constant_expression",
//t "$$61 :",
//t "$$62 :",
-//t "$$63 :",
-//t "delegate_declaration : opt_attributes opt_modifiers DELEGATE member_type type_declaration_name OPEN_PARENS $$61 opt_formal_parameter_list CLOSE_PARENS $$62 opt_type_parameter_constraints_clauses $$63 SEMICOLON",
+//t "delegate_declaration : opt_attributes opt_modifiers DELEGATE member_type type_declaration_name OPEN_PARENS $$60 opt_formal_parameter_list CLOSE_PARENS $$61 opt_type_parameter_constraints_clauses $$62 SEMICOLON",
//t "opt_nullable :",
//t "opt_nullable : INTERR_NULLABLE",
//t "namespace_or_type_name : member_name",
@@ -546,8 +544,8 @@ namespace Mono.CSharp
//t "opt_type_argument_list : OP_GENERICS_LT error",
//t "type_arguments : type",
//t "type_arguments : type_arguments COMMA type",
-//t "$$64 :",
-//t "type_declaration_name : IDENTIFIER $$64 opt_type_parameter_list",
+//t "$$63 :",
+//t "type_declaration_name : IDENTIFIER $$63 opt_type_parameter_list",
//t "member_declaration_name : method_declaration_name",
//t "method_declaration_name : type_declaration_name",
//t "method_declaration_name : explicit_interface IDENTIFIER opt_type_parameter_list",
@@ -695,8 +693,8 @@ namespace Mono.CSharp
//t "array_creation_expression : NEW rank_specifier array_initializer",
//t "array_creation_expression : NEW new_expr_type OPEN_BRACKET CLOSE_BRACKET OPEN_BRACKET_EXPR error CLOSE_BRACKET",
//t "array_creation_expression : NEW new_expr_type error",
-//t "$$65 :",
-//t "new_expr_type : $$65 simple_type",
+//t "$$64 :",
+//t "new_expr_type : $$64 simple_type",
//t "anonymous_type_expression : NEW OPEN_BRACE anonymous_type_parameters_opt_comma CLOSE_BRACE",
//t "anonymous_type_parameters_opt_comma : anonymous_type_parameters_opt",
//t "anonymous_type_parameters_opt_comma : anonymous_type_parameters COMMA",
@@ -722,8 +720,8 @@ namespace Mono.CSharp
//t "array_initializer : OPEN_BRACE variable_initializer_list opt_comma CLOSE_BRACE",
//t "variable_initializer_list : variable_initializer",
//t "variable_initializer_list : variable_initializer_list COMMA variable_initializer",
-//t "$$66 :",
-//t "typeof_expression : TYPEOF $$66 open_parens_any typeof_type_expression CLOSE_PARENS",
+//t "$$65 :",
+//t "typeof_expression : TYPEOF $$65 open_parens_any typeof_type_expression CLOSE_PARENS",
//t "typeof_type_expression : type_and_void",
//t "typeof_type_expression : unbound_type_name",
//t "typeof_type_expression : error",
@@ -738,14 +736,14 @@ namespace Mono.CSharp
//t "checked_expression : CHECKED open_parens_any expression CLOSE_PARENS",
//t "unchecked_expression : UNCHECKED open_parens_any expression CLOSE_PARENS",
//t "pointer_member_access : primary_expression OP_PTR IDENTIFIER opt_type_argument_list",
+//t "$$66 :",
+//t "anonymous_method_expression : DELEGATE opt_anonymous_method_signature $$66 block",
//t "$$67 :",
-//t "anonymous_method_expression : DELEGATE opt_anonymous_method_signature $$67 block",
-//t "$$68 :",
-//t "anonymous_method_expression : ASYNC DELEGATE opt_anonymous_method_signature $$68 block",
+//t "anonymous_method_expression : ASYNC DELEGATE opt_anonymous_method_signature $$67 block",
//t "opt_anonymous_method_signature :",
//t "opt_anonymous_method_signature : anonymous_method_signature",
-//t "$$69 :",
-//t "anonymous_method_signature : OPEN_PARENS $$69 opt_formal_parameter_list CLOSE_PARENS",
+//t "$$68 :",
+//t "anonymous_method_signature : OPEN_PARENS $$68 opt_formal_parameter_list CLOSE_PARENS",
//t "default_value_expression : DEFAULT open_parens_any type CLOSE_PARENS",
//t "unary_expression : primary_expression",
//t "unary_expression : BANG prefixed_unary_expression",
@@ -814,20 +812,20 @@ namespace Mono.CSharp
//t "opt_lambda_parameter_list : lambda_parameter_list",
//t "lambda_expression_body : lambda_expression_body_simple",
//t "lambda_expression_body : block",
-//t "$$70 :",
-//t "lambda_expression_body_simple : $$70 expression_or_error",
+//t "$$69 :",
+//t "lambda_expression_body_simple : $$69 expression_or_error",
//t "expression_or_error : expression",
//t "expression_or_error : error",
+//t "$$70 :",
+//t "lambda_expression : IDENTIFIER ARROW $$70 lambda_expression_body",
//t "$$71 :",
-//t "lambda_expression : IDENTIFIER ARROW $$71 lambda_expression_body",
+//t "lambda_expression : ASYNC identifier_inside_body ARROW $$71 lambda_expression_body",
//t "$$72 :",
-//t "lambda_expression : ASYNC identifier_inside_body ARROW $$72 lambda_expression_body",
//t "$$73 :",
+//t "lambda_expression : OPEN_PARENS_LAMBDA $$72 opt_lambda_parameter_list CLOSE_PARENS ARROW $$73 lambda_expression_body",
//t "$$74 :",
-//t "lambda_expression : OPEN_PARENS_LAMBDA $$73 opt_lambda_parameter_list CLOSE_PARENS ARROW $$74 lambda_expression_body",
//t "$$75 :",
-//t "$$76 :",
-//t "lambda_expression : ASYNC OPEN_PARENS_LAMBDA $$75 opt_lambda_parameter_list CLOSE_PARENS ARROW $$76 lambda_expression_body",
+//t "lambda_expression : ASYNC OPEN_PARENS_LAMBDA $$74 opt_lambda_parameter_list CLOSE_PARENS ARROW $$75 lambda_expression_body",
//t "expression : assignment_expression",
//t "expression : non_assignment_expression",
//t "non_assignment_expression : conditional_expression",
@@ -839,11 +837,11 @@ namespace Mono.CSharp
//t "undocumented_expressions : MAKEREF open_parens_any expression CLOSE_PARENS",
//t "constant_expression : expression",
//t "boolean_expression : expression",
+//t "$$76 :",
//t "$$77 :",
//t "$$78 :",
//t "$$79 :",
-//t "$$80 :",
-//t "class_declaration : opt_attributes opt_modifiers opt_partial CLASS $$77 type_declaration_name $$78 opt_class_base opt_type_parameter_constraints_clauses $$79 OPEN_BRACE opt_class_member_declarations CLOSE_BRACE $$80 opt_semicolon",
+//t "class_declaration : opt_attributes opt_modifiers opt_partial CLASS $$76 type_declaration_name $$77 opt_class_base opt_type_parameter_constraints_clauses $$78 OPEN_BRACE opt_class_member_declarations CLOSE_BRACE $$79 opt_semicolon",
//t "opt_partial :",
//t "opt_partial : PARTIAL",
//t "opt_modifiers :",
@@ -883,12 +881,12 @@ namespace Mono.CSharp
//t "opt_type_parameter_variance : type_parameter_variance",
//t "type_parameter_variance : OUT",
//t "type_parameter_variance : IN",
-//t "$$81 :",
-//t "block : OPEN_BRACE $$81 opt_statement_list block_end",
+//t "$$80 :",
+//t "block : OPEN_BRACE $$80 opt_statement_list block_end",
//t "block_end : CLOSE_BRACE",
//t "block_end : COMPLETE_COMPLETION",
-//t "$$82 :",
-//t "block_prepared : OPEN_BRACE $$82 opt_statement_list CLOSE_BRACE",
+//t "$$81 :",
+//t "block_prepared : OPEN_BRACE $$81 opt_statement_list CLOSE_BRACE",
//t "opt_statement_list :",
//t "opt_statement_list : statement_list",
//t "statement_list : statement",
@@ -896,6 +894,7 @@ namespace Mono.CSharp
//t "statement : block_variable_declaration",
//t "statement : valid_declaration_statement",
//t "statement : labeled_statement",
+//t "statement : IDENTIFIER error",
//t "statement : error",
//t "interactive_statement_list : interactive_statement",
//t "interactive_statement_list : interactive_statement_list interactive_statement",
@@ -933,8 +932,8 @@ namespace Mono.CSharp
//t "embedded_statement : labeled_statement",
//t "embedded_statement : error",
//t "empty_statement : SEMICOLON",
-//t "$$83 :",
-//t "labeled_statement : identifier_inside_body COLON $$83 statement",
+//t "$$82 :",
+//t "labeled_statement : identifier_inside_body COLON $$82 statement",
//t "variable_type : variable_type_simple",
//t "variable_type : variable_type_simple rank_specifiers",
//t "variable_type_simple : primary_expression_or_type opt_nullable",
@@ -948,10 +947,10 @@ namespace Mono.CSharp
//t "pointer_star : STAR",
//t "identifier_inside_body : IDENTIFIER",
//t "identifier_inside_body : AWAIT",
+//t "$$83 :",
+//t "block_variable_declaration : variable_type identifier_inside_body $$83 opt_local_variable_initializer opt_variable_declarators SEMICOLON",
//t "$$84 :",
-//t "block_variable_declaration : variable_type identifier_inside_body $$84 opt_local_variable_initializer opt_variable_declarators SEMICOLON",
-//t "$$85 :",
-//t "block_variable_declaration : CONST variable_type identifier_inside_body $$85 const_variable_initializer opt_const_declarators SEMICOLON",
+//t "block_variable_declaration : CONST variable_type identifier_inside_body $$84 const_variable_initializer opt_const_declarators SEMICOLON",
//t "opt_local_variable_initializer :",
//t "opt_local_variable_initializer : ASSIGN block_variable_initializer",
//t "opt_local_variable_initializer : ASSIGN error",
@@ -985,15 +984,15 @@ namespace Mono.CSharp
//t "selection_statement : switch_statement",
//t "if_statement : IF open_parens_any boolean_expression CLOSE_PARENS embedded_statement",
//t "if_statement : IF open_parens_any boolean_expression CLOSE_PARENS embedded_statement ELSE embedded_statement",
-//t "$$86 :",
-//t "switch_statement : SWITCH open_parens_any expression CLOSE_PARENS OPEN_BRACE $$86 opt_switch_sections CLOSE_BRACE",
+//t "$$85 :",
+//t "switch_statement : SWITCH open_parens_any expression CLOSE_PARENS OPEN_BRACE $$85 opt_switch_sections CLOSE_BRACE",
//t "opt_switch_sections :",
//t "opt_switch_sections : switch_sections",
//t "switch_sections : switch_section",
//t "switch_sections : switch_sections switch_section",
//t "switch_sections : error",
-//t "$$87 :",
-//t "switch_section : switch_labels $$87 statement_list",
+//t "$$86 :",
+//t "switch_section : switch_labels $$86 statement_list",
//t "switch_labels : switch_label",
//t "switch_labels : switch_labels switch_label",
//t "switch_label : CASE constant_expression COLON",
@@ -1004,15 +1003,17 @@ namespace Mono.CSharp
//t "iteration_statement : foreach_statement",
//t "while_statement : WHILE open_parens_any boolean_expression CLOSE_PARENS embedded_statement",
//t "do_statement : DO embedded_statement WHILE open_parens_any boolean_expression CLOSE_PARENS SEMICOLON",
+//t "$$87 :",
+//t "for_statement : FOR open_parens_any $$87 for_statement_cont",
//t "$$88 :",
-//t "for_statement : FOR open_parens_any $$88 for_statement_cont",
-//t "for_statement_cont : opt_for_initializer SEMICOLON opt_for_condition SEMICOLON opt_for_iterator CLOSE_PARENS embedded_statement",
-//t "for_statement_cont : opt_for_initializer SEMICOLON error",
+//t "$$89 :",
+//t "$$90 :",
+//t "for_statement_cont : opt_for_initializer SEMICOLON $$88 opt_for_condition SEMICOLON $$89 opt_for_iterator CLOSE_PARENS $$90 embedded_statement",
//t "for_statement_cont : error",
//t "opt_for_initializer :",
//t "opt_for_initializer : for_initializer",
-//t "$$89 :",
-//t "for_initializer : variable_type identifier_inside_body $$89 opt_local_variable_initializer opt_variable_declarators",
+//t "$$91 :",
+//t "for_initializer : variable_type identifier_inside_body $$91 opt_local_variable_initializer opt_variable_declarators",
//t "for_initializer : statement_expression_list",
//t "opt_for_condition :",
//t "opt_for_condition : boolean_expression",
@@ -1022,8 +1023,8 @@ namespace Mono.CSharp
//t "statement_expression_list : statement_expression",
//t "statement_expression_list : statement_expression_list COMMA statement_expression",
//t "foreach_statement : FOREACH open_parens_any type IN expression CLOSE_PARENS",
-//t "$$90 :",
-//t "foreach_statement : FOREACH open_parens_any type identifier_inside_body IN expression CLOSE_PARENS $$90 embedded_statement",
+//t "$$92 :",
+//t "foreach_statement : FOREACH open_parens_any type identifier_inside_body IN expression CLOSE_PARENS $$92 embedded_statement",
//t "jump_statement : break_statement",
//t "jump_statement : continue_statement",
//t "jump_statement : goto_statement",
@@ -1050,20 +1051,20 @@ namespace Mono.CSharp
//t "opt_identifier :",
//t "opt_identifier : identifier_inside_body",
//t "catch_clause : CATCH block",
-//t "$$91 :",
-//t "catch_clause : CATCH open_parens_any type opt_identifier CLOSE_PARENS $$91 block_prepared",
+//t "$$93 :",
+//t "catch_clause : CATCH open_parens_any type opt_identifier CLOSE_PARENS $$93 block_prepared",
//t "catch_clause : CATCH open_parens_any error",
//t "checked_statement : CHECKED block",
//t "unchecked_statement : UNCHECKED block",
-//t "$$92 :",
-//t "unsafe_statement : UNSAFE $$92 block",
-//t "lock_statement : LOCK open_parens_any expression CLOSE_PARENS embedded_statement",
-//t "$$93 :",
//t "$$94 :",
-//t "fixed_statement : FIXED open_parens_any variable_type identifier_inside_body $$93 using_or_fixed_variable_initializer opt_using_or_fixed_variable_declarators CLOSE_PARENS $$94 embedded_statement",
+//t "unsafe_statement : UNSAFE $$94 block",
+//t "lock_statement : LOCK open_parens_any expression CLOSE_PARENS embedded_statement",
//t "$$95 :",
//t "$$96 :",
-//t "using_statement : USING open_parens_any variable_type identifier_inside_body $$95 using_initialization CLOSE_PARENS $$96 embedded_statement",
+//t "fixed_statement : FIXED open_parens_any variable_type identifier_inside_body $$95 using_or_fixed_variable_initializer opt_using_or_fixed_variable_declarators CLOSE_PARENS $$96 embedded_statement",
+//t "$$97 :",
+//t "$$98 :",
+//t "using_statement : USING open_parens_any variable_type identifier_inside_body $$97 using_initialization CLOSE_PARENS $$98 embedded_statement",
//t "using_statement : USING open_parens_any expression CLOSE_PARENS embedded_statement",
//t "using_initialization : using_or_fixed_variable_initializer opt_using_or_fixed_variable_declarators",
//t "using_initialization : error",
@@ -1077,18 +1078,18 @@ namespace Mono.CSharp
//t "first_from_clause : FROM_FIRST type identifier_inside_body IN expression",
//t "nested_from_clause : FROM identifier_inside_body IN expression",
//t "nested_from_clause : FROM type identifier_inside_body IN expression",
-//t "$$97 :",
-//t "from_clause : FROM identifier_inside_body IN $$97 expression",
-//t "$$98 :",
-//t "from_clause : FROM type identifier_inside_body IN $$98 expression",
+//t "$$99 :",
+//t "from_clause : FROM identifier_inside_body IN $$99 expression",
+//t "$$100 :",
+//t "from_clause : FROM type identifier_inside_body IN $$100 expression",
//t "query_body : opt_query_body_clauses select_or_group_clause opt_query_continuation",
//t "query_body : opt_query_body_clauses COMPLETE_COMPLETION",
//t "query_body : error",
-//t "$$99 :",
-//t "select_or_group_clause : SELECT $$99 expression",
-//t "$$100 :",
//t "$$101 :",
-//t "select_or_group_clause : GROUP $$100 expression $$101 BY expression",
+//t "select_or_group_clause : SELECT $$101 expression",
+//t "$$102 :",
+//t "$$103 :",
+//t "select_or_group_clause : GROUP $$102 expression $$103 BY expression",
//t "opt_query_body_clauses :",
//t "opt_query_body_clauses : query_body_clauses",
//t "query_body_clauses : query_body_clause",
@@ -1098,28 +1099,28 @@ namespace Mono.CSharp
//t "query_body_clause : where_clause",
//t "query_body_clause : join_clause",
//t "query_body_clause : orderby_clause",
-//t "$$102 :",
-//t "let_clause : LET identifier_inside_body ASSIGN $$102 expression",
-//t "$$103 :",
-//t "where_clause : WHERE $$103 expression",
//t "$$104 :",
+//t "let_clause : LET identifier_inside_body ASSIGN $$104 expression",
//t "$$105 :",
+//t "where_clause : WHERE $$105 expression",
//t "$$106 :",
-//t "join_clause : JOIN identifier_inside_body IN $$104 expression ON $$105 expression EQUALS $$106 expression opt_join_into",
//t "$$107 :",
//t "$$108 :",
+//t "join_clause : JOIN identifier_inside_body IN $$106 expression ON $$107 expression EQUALS $$108 expression opt_join_into",
//t "$$109 :",
-//t "join_clause : JOIN type identifier_inside_body IN $$107 expression ON $$108 expression EQUALS $$109 expression opt_join_into",
+//t "$$110 :",
+//t "$$111 :",
+//t "join_clause : JOIN type identifier_inside_body IN $$109 expression ON $$110 expression EQUALS $$111 expression opt_join_into",
//t "opt_join_into :",
//t "opt_join_into : INTO identifier_inside_body",
-//t "$$110 :",
-//t "orderby_clause : ORDERBY $$110 orderings",
+//t "$$112 :",
+//t "orderby_clause : ORDERBY $$112 orderings",
//t "orderings : order_by",
-//t "$$111 :",
-//t "orderings : order_by COMMA $$111 orderings_then_by",
+//t "$$113 :",
+//t "orderings : order_by COMMA $$113 orderings_then_by",
//t "orderings_then_by : then_by",
-//t "$$112 :",
-//t "orderings_then_by : orderings_then_by COMMA $$112 then_by",
+//t "$$114 :",
+//t "orderings_then_by : orderings_then_by COMMA $$114 then_by",
//t "order_by : expression",
//t "order_by : expression ASCENDING",
//t "order_by : expression DESCENDING",
@@ -1127,12 +1128,12 @@ namespace Mono.CSharp
//t "then_by : expression ASCENDING",
//t "then_by : expression DESCENDING",
//t "opt_query_continuation :",
-//t "$$113 :",
-//t "opt_query_continuation : INTO identifier_inside_body $$113 query_body",
+//t "$$115 :",
+//t "opt_query_continuation : INTO identifier_inside_body $$115 query_body",
//t "interactive_parsing : EVAL_STATEMENT_PARSER EOF",
//t "interactive_parsing : EVAL_USING_DECLARATIONS_UNIT_PARSER using_directives opt_COMPLETE_COMPLETION",
-//t "$$114 :",
-//t "interactive_parsing : EVAL_STATEMENT_PARSER $$114 interactive_statement_list opt_COMPLETE_COMPLETION",
+//t "$$116 :",
+//t "interactive_parsing : EVAL_STATEMENT_PARSER $$116 interactive_statement_list opt_COMPLETE_COMPLETION",
//t "interactive_parsing : EVAL_COMPILATION_UNIT_PARSER interactive_compilation_unit",
//t "interactive_compilation_unit : opt_extern_alias_directives opt_using_directives",
//t "interactive_compilation_unit : opt_extern_alias_directives opt_using_directives namespace_or_type_declarations",
@@ -1145,16 +1146,16 @@ namespace Mono.CSharp
//t "doc_cref : builtin_types opt_doc_method_sig",
//t "doc_cref : builtin_types DOT IDENTIFIER opt_doc_method_sig",
//t "doc_cref : doc_type_declaration_name DOT THIS",
-//t "$$115 :",
-//t "doc_cref : doc_type_declaration_name DOT THIS OPEN_BRACKET $$115 opt_doc_parameters CLOSE_BRACKET",
+//t "$$117 :",
+//t "doc_cref : doc_type_declaration_name DOT THIS OPEN_BRACKET $$117 opt_doc_parameters CLOSE_BRACKET",
//t "doc_cref : EXPLICIT OPERATOR type opt_doc_method_sig",
//t "doc_cref : IMPLICIT OPERATOR type opt_doc_method_sig",
//t "doc_cref : OPERATOR overloadable_operator opt_doc_method_sig",
//t "doc_type_declaration_name : type_declaration_name",
//t "doc_type_declaration_name : doc_type_declaration_name DOT type_declaration_name",
//t "opt_doc_method_sig :",
-//t "$$116 :",
-//t "opt_doc_method_sig : OPEN_PARENS $$116 opt_doc_parameters CLOSE_PARENS",
+//t "$$118 :",
+//t "opt_doc_method_sig : OPEN_PARENS $$118 opt_doc_parameters CLOSE_PARENS",
//t "opt_doc_parameters :",
//t "opt_doc_parameters : doc_parameters",
//t "doc_parameters : doc_parameter",
@@ -1399,20 +1400,20 @@ namespace Mono.CSharp
yyVal = yyV > yyTop ? null : yyVals[yyV]; // yyVal = yyDefault(yyV > yyTop ? null : yyVals[yyV]);
switch (yyN) {
case 1:
-#line 402 "cs-parser.jay"
+#line 401 "cs-parser.jay"
{
Lexer.check_incorrect_doc_comment ();
}
break;
case 2:
-#line 403 "cs-parser.jay"
+#line 402 "cs-parser.jay"
{ Lexer.CompleteOnEOF = false; }
break;
case 6:
case_6();
break;
case 7:
-#line 420 "cs-parser.jay"
+#line 419 "cs-parser.jay"
{
module.AddAttributes ((Attributes) yyVals[0+yyTop], current_namespace);
}
@@ -1424,7 +1425,7 @@ case 13:
case_13();
break;
case 14:
-#line 458 "cs-parser.jay"
+#line 457 "cs-parser.jay"
{
syntax_error (GetLocation (yyVals[-1+yyTop]), "`alias' expected"); /* TODO: better*/
}
@@ -1469,7 +1470,7 @@ case 41:
case_41();
break;
case 42:
-#line 647 "cs-parser.jay"
+#line 646 "cs-parser.jay"
{
current_namespace.DeclarationFound = true;
}
@@ -1499,18 +1500,18 @@ case 57:
case_57();
break;
case 58:
-#line 756 "cs-parser.jay"
+#line 755 "cs-parser.jay"
{ yyVal = "event"; savedCloseLocation = GetLocation (yyVals[0+yyTop]); }
break;
case 59:
-#line 757 "cs-parser.jay"
+#line 756 "cs-parser.jay"
{ yyVal = "return"; savedCloseLocation = GetLocation (yyVals[0+yyTop]); }
break;
case 60:
case_60();
break;
case 61:
-#line 774 "cs-parser.jay"
+#line 773 "cs-parser.jay"
{
yyVal = new List<Attribute> (4) { (Attribute) yyVals[0+yyTop] };
}
@@ -1519,7 +1520,7 @@ case 62:
case_62();
break;
case 63:
-#line 789 "cs-parser.jay"
+#line 788 "cs-parser.jay"
{
++lexer.parsing_block;
}
@@ -1528,14 +1529,14 @@ case 64:
case_64();
break;
case 66:
-#line 816 "cs-parser.jay"
+#line 815 "cs-parser.jay"
{ yyVal = null; }
break;
case 67:
case_67();
break;
case 68:
-#line 827 "cs-parser.jay"
+#line 826 "cs-parser.jay"
{ yyVal = null; }
break;
case 69:
@@ -1551,13 +1552,13 @@ case 72:
case_72();
break;
case 73:
-#line 871 "cs-parser.jay"
+#line 870 "cs-parser.jay"
{
yyVal = new Argument ((Expression) yyVals[0+yyTop]);
}
break;
case 75:
-#line 879 "cs-parser.jay"
+#line 878 "cs-parser.jay"
{
++lexer.parsing_block;
}
@@ -1569,29 +1570,29 @@ case 77:
case_77();
break;
case 78:
-#line 905 "cs-parser.jay"
+#line 904 "cs-parser.jay"
{ yyVal = null; }
break;
case 79:
-#line 909 "cs-parser.jay"
+#line 908 "cs-parser.jay"
{
yyVal = Argument.AType.Ref;
}
break;
case 80:
-#line 913 "cs-parser.jay"
+#line 912 "cs-parser.jay"
{
yyVal = Argument.AType.Out;
}
break;
case 83:
-#line 925 "cs-parser.jay"
+#line 924 "cs-parser.jay"
{
lexer.parsing_modifiers = true;
}
break;
case 84:
-#line 929 "cs-parser.jay"
+#line 928 "cs-parser.jay"
{
lexer.parsing_modifiers = true;
}
@@ -1600,7 +1601,7 @@ case 95:
case_95();
break;
case 96:
-#line 959 "cs-parser.jay"
+#line 958 "cs-parser.jay"
{
lexer.ConstraintsParsing = true;
}
@@ -1621,7 +1622,7 @@ case 101:
case_101();
break;
case 102:
-#line 1000 "cs-parser.jay"
+#line 999 "cs-parser.jay"
{
Error_SyntaxError (yyToken);
}
@@ -1633,13 +1634,13 @@ case 104:
case_104();
break;
case 107:
-#line 1041 "cs-parser.jay"
+#line 1040 "cs-parser.jay"
{
current_field.AddDeclarator ((FieldDeclarator) yyVals[0+yyTop]);
}
break;
case 108:
-#line 1045 "cs-parser.jay"
+#line 1044 "cs-parser.jay"
{
current_field.AddDeclarator ((FieldDeclarator) yyVals[0+yyTop]);
}
@@ -1648,7 +1649,7 @@ case 109:
case_109();
break;
case 110:
-#line 1061 "cs-parser.jay"
+#line 1060 "cs-parser.jay"
{
++lexer.parsing_block;
}
@@ -1672,7 +1673,7 @@ case 118:
case_118();
break;
case 119:
-#line 1140 "cs-parser.jay"
+#line 1139 "cs-parser.jay"
{
report.Error (1641, GetLocation (yyVals[-1+yyTop]), "A fixed size buffer field must have the array size specifier after the field name");
}
@@ -1684,13 +1685,13 @@ case 122:
case_122();
break;
case 125:
-#line 1170 "cs-parser.jay"
+#line 1169 "cs-parser.jay"
{
current_field.AddDeclarator ((FieldDeclarator) yyVals[0+yyTop]);
}
break;
case 126:
-#line 1174 "cs-parser.jay"
+#line 1173 "cs-parser.jay"
{
current_field.AddDeclarator ((FieldDeclarator) yyVals[0+yyTop]);
}
@@ -1699,7 +1700,7 @@ case 127:
case_127();
break;
case 128:
-#line 1187 "cs-parser.jay"
+#line 1186 "cs-parser.jay"
{
++lexer.parsing_block;
}
@@ -1708,13 +1709,13 @@ case 129:
case_129();
break;
case 132:
-#line 1206 "cs-parser.jay"
+#line 1205 "cs-parser.jay"
{
current_field.AddDeclarator ((FieldDeclarator) yyVals[0+yyTop]);
}
break;
case 133:
-#line 1210 "cs-parser.jay"
+#line 1209 "cs-parser.jay"
{
current_field.AddDeclarator ((FieldDeclarator) yyVals[0+yyTop]);
}
@@ -1723,7 +1724,7 @@ case 134:
case_134();
break;
case 135:
-#line 1226 "cs-parser.jay"
+#line 1225 "cs-parser.jay"
{
++lexer.parsing_block;
}
@@ -1744,13 +1745,13 @@ case 142:
case_142();
break;
case 143:
-#line 1297 "cs-parser.jay"
+#line 1296 "cs-parser.jay"
{
valid_param_mod = ParameterModifierType.All;
}
break;
case 144:
-#line 1301 "cs-parser.jay"
+#line 1300 "cs-parser.jay"
{
lexer.ConstraintsParsing = true;
}
@@ -1759,7 +1760,7 @@ case 145:
case_145();
break;
case 146:
-#line 1335 "cs-parser.jay"
+#line 1334 "cs-parser.jay"
{
lexer.parsing_generic_declaration = true;
}
@@ -1768,7 +1769,7 @@ case 147:
case_147();
break;
case 148:
-#line 1345 "cs-parser.jay"
+#line 1344 "cs-parser.jay"
{
lexer.ConstraintsParsing = true;
}
@@ -1780,11 +1781,11 @@ case 150:
case_150();
break;
case 152:
-#line 1403 "cs-parser.jay"
+#line 1402 "cs-parser.jay"
{ savedLocation = GetLocation (yyVals[0+yyTop]); yyVal = null; }
break;
case 153:
-#line 1407 "cs-parser.jay"
+#line 1406 "cs-parser.jay"
{ yyVal = ParametersCompiled.EmptyReadOnlyParameters; }
break;
case 155:
@@ -1809,13 +1810,13 @@ case 161:
case_161();
break;
case 162:
-#line 1479 "cs-parser.jay"
+#line 1478 "cs-parser.jay"
{
yyVal = new ParametersCompiled (new Parameter[] { (Parameter) yyVals[0+yyTop] } );
}
break;
case 163:
-#line 1483 "cs-parser.jay"
+#line 1482 "cs-parser.jay"
{
yyVal = new ParametersCompiled (new Parameter [] { new ArglistParameter (GetLocation (yyVals[0+yyTop])) }, true);
}
@@ -1839,7 +1840,7 @@ case 169:
case_169();
break;
case 170:
-#line 1558 "cs-parser.jay"
+#line 1557 "cs-parser.jay"
{
++lexer.parsing_block;
}
@@ -1848,11 +1849,11 @@ case 171:
case_171();
break;
case 172:
-#line 1599 "cs-parser.jay"
+#line 1598 "cs-parser.jay"
{ yyVal = Parameter.Modifier.NONE; }
break;
case 174:
-#line 1607 "cs-parser.jay"
+#line 1606 "cs-parser.jay"
{
yyVal = yyVals[0+yyTop];
}
@@ -1885,7 +1886,7 @@ case 183:
case_183();
break;
case 184:
-#line 1700 "cs-parser.jay"
+#line 1699 "cs-parser.jay"
{
Error_DuplicateParameterModifier (GetLocation (yyVals[-1+yyTop]), Parameter.Modifier.PARAMS);
}
@@ -1906,7 +1907,7 @@ case 189:
case_189();
break;
case 190:
-#line 1754 "cs-parser.jay"
+#line 1753 "cs-parser.jay"
{
valid_param_mod = ParameterModifierType.Params | ParameterModifierType.DefaultValue;
}
@@ -1915,7 +1916,7 @@ case 191:
case_191();
break;
case 192:
-#line 1783 "cs-parser.jay"
+#line 1782 "cs-parser.jay"
{
lexer.PropertyParsing = false;
}
@@ -1945,7 +1946,7 @@ case 205:
case_205();
break;
case 206:
-#line 1932 "cs-parser.jay"
+#line 1931 "cs-parser.jay"
{
lexer.ConstraintsParsing = true;
}
@@ -1963,55 +1964,55 @@ case 210:
case_210();
break;
case 211:
-#line 1969 "cs-parser.jay"
+#line 1968 "cs-parser.jay"
{
Error_SyntaxError (yyToken);
}
break;
case 214:
-#line 1981 "cs-parser.jay"
+#line 1980 "cs-parser.jay"
{
lexer.parsing_modifiers = true;
}
break;
case 215:
-#line 1985 "cs-parser.jay"
+#line 1984 "cs-parser.jay"
{
lexer.parsing_modifiers = true;
}
break;
case 216:
-#line 1992 "cs-parser.jay"
+#line 1991 "cs-parser.jay"
{
report.Error (525, GetLocation (yyVals[0+yyTop]), "Interfaces cannot contain fields or constants");
}
break;
case 217:
-#line 1996 "cs-parser.jay"
+#line 1995 "cs-parser.jay"
{
report.Error (525, GetLocation (yyVals[0+yyTop]), "Interfaces cannot contain fields or constants");
}
break;
case 222:
-#line 2004 "cs-parser.jay"
+#line 2003 "cs-parser.jay"
{
report.Error (567, GetLocation (yyVals[0+yyTop]), "Interfaces cannot contain operators");
}
break;
case 223:
-#line 2008 "cs-parser.jay"
+#line 2007 "cs-parser.jay"
{
report.Error (526, GetLocation (yyVals[0+yyTop]), "Interfaces cannot contain contructors");
}
break;
case 224:
-#line 2012 "cs-parser.jay"
+#line 2011 "cs-parser.jay"
{
report.Error (524, GetLocation (yyVals[0+yyTop]), "Interfaces cannot declare classes, structs, interfaces, delegates, or enumerations");
}
break;
case 225:
-#line 2018 "cs-parser.jay"
+#line 2017 "cs-parser.jay"
{
}
break;
@@ -2019,14 +2020,14 @@ case 226:
case_226();
break;
case 228:
-#line 2051 "cs-parser.jay"
+#line 2050 "cs-parser.jay"
{ savedLocation = GetLocation (yyVals[0+yyTop]); yyVal = null; }
break;
case 230:
case_230();
break;
case 231:
-#line 2067 "cs-parser.jay"
+#line 2066 "cs-parser.jay"
{
valid_param_mod = ParameterModifierType.DefaultValue;
}
@@ -2035,95 +2036,95 @@ case 232:
case_232();
break;
case 234:
-#line 2113 "cs-parser.jay"
+#line 2112 "cs-parser.jay"
{ yyVal = Operator.OpType.LogicalNot; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); }
break;
case 235:
-#line 2114 "cs-parser.jay"
+#line 2113 "cs-parser.jay"
{ yyVal = Operator.OpType.OnesComplement; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); }
break;
case 236:
-#line 2115 "cs-parser.jay"
+#line 2114 "cs-parser.jay"
{ yyVal = Operator.OpType.Increment; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); }
break;
case 237:
-#line 2116 "cs-parser.jay"
+#line 2115 "cs-parser.jay"
{ yyVal = Operator.OpType.Decrement; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); }
break;
case 238:
-#line 2117 "cs-parser.jay"
+#line 2116 "cs-parser.jay"
{ yyVal = Operator.OpType.True; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); }
break;
case 239:
-#line 2118 "cs-parser.jay"
+#line 2117 "cs-parser.jay"
{ yyVal = Operator.OpType.False; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); }
break;
case 240:
-#line 2120 "cs-parser.jay"
+#line 2119 "cs-parser.jay"
{ yyVal = Operator.OpType.Addition; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); }
break;
case 241:
-#line 2121 "cs-parser.jay"
+#line 2120 "cs-parser.jay"
{ yyVal = Operator.OpType.Subtraction; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); }
break;
case 242:
-#line 2123 "cs-parser.jay"
+#line 2122 "cs-parser.jay"
{ yyVal = Operator.OpType.Multiply; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); }
break;
case 243:
-#line 2124 "cs-parser.jay"
+#line 2123 "cs-parser.jay"
{ yyVal = Operator.OpType.Division; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); }
break;
case 244:
-#line 2125 "cs-parser.jay"
+#line 2124 "cs-parser.jay"
{ yyVal = Operator.OpType.Modulus; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); }
break;
case 245:
-#line 2126 "cs-parser.jay"
+#line 2125 "cs-parser.jay"
{ yyVal = Operator.OpType.BitwiseAnd; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); }
break;
case 246:
-#line 2127 "cs-parser.jay"
+#line 2126 "cs-parser.jay"
{ yyVal = Operator.OpType.BitwiseOr; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); }
break;
case 247:
-#line 2128 "cs-parser.jay"
+#line 2127 "cs-parser.jay"
{ yyVal = Operator.OpType.ExclusiveOr; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); }
break;
case 248:
-#line 2129 "cs-parser.jay"
+#line 2128 "cs-parser.jay"
{ yyVal = Operator.OpType.LeftShift; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); }
break;
case 249:
-#line 2130 "cs-parser.jay"
+#line 2129 "cs-parser.jay"
{ yyVal = Operator.OpType.RightShift; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); }
break;
case 250:
-#line 2131 "cs-parser.jay"
+#line 2130 "cs-parser.jay"
{ yyVal = Operator.OpType.Equality; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); }
break;
case 251:
-#line 2132 "cs-parser.jay"
+#line 2131 "cs-parser.jay"
{ yyVal = Operator.OpType.Inequality; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); }
break;
case 252:
-#line 2133 "cs-parser.jay"
+#line 2132 "cs-parser.jay"
{ yyVal = Operator.OpType.GreaterThan; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); }
break;
case 253:
-#line 2134 "cs-parser.jay"
+#line 2133 "cs-parser.jay"
{ yyVal = Operator.OpType.LessThan; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); }
break;
case 254:
-#line 2135 "cs-parser.jay"
+#line 2134 "cs-parser.jay"
{ yyVal = Operator.OpType.GreaterThanOrEqual; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); }
break;
case 255:
-#line 2136 "cs-parser.jay"
+#line 2135 "cs-parser.jay"
{ yyVal = Operator.OpType.LessThanOrEqual; savedOperatorLocation = GetLocation (yyVals[0+yyTop]); }
break;
case 256:
-#line 2143 "cs-parser.jay"
+#line 2142 "cs-parser.jay"
{
valid_param_mod = ParameterModifierType.DefaultValue;
}
@@ -2132,7 +2133,7 @@ case 257:
case_257();
break;
case 258:
-#line 2162 "cs-parser.jay"
+#line 2161 "cs-parser.jay"
{
valid_param_mod = ParameterModifierType.DefaultValue;
}
@@ -2159,11 +2160,11 @@ case 265:
case_265();
break;
case 267:
-#line 2265 "cs-parser.jay"
+#line 2264 "cs-parser.jay"
{ current_block = null; yyVal = null; }
break;
case 270:
-#line 2277 "cs-parser.jay"
+#line 2276 "cs-parser.jay"
{
++lexer.parsing_block;
}
@@ -2172,7 +2173,7 @@ case 271:
case_271();
break;
case 272:
-#line 2287 "cs-parser.jay"
+#line 2286 "cs-parser.jay"
{
++lexer.parsing_block;
}
@@ -2205,7 +2206,7 @@ case 281:
case_281();
break;
case 283:
-#line 2396 "cs-parser.jay"
+#line 2395 "cs-parser.jay"
{
++lexer.parsing_block;
}
@@ -2214,13 +2215,13 @@ case 284:
case_284();
break;
case 287:
-#line 2413 "cs-parser.jay"
+#line 2412 "cs-parser.jay"
{
current_event_field.AddDeclarator ((FieldDeclarator) yyVals[0+yyTop]);
}
break;
case 288:
-#line 2417 "cs-parser.jay"
+#line 2416 "cs-parser.jay"
{
current_event_field.AddDeclarator ((FieldDeclarator) yyVals[0+yyTop]);
}
@@ -2229,7 +2230,7 @@ case 289:
case_289();
break;
case 290:
-#line 2430 "cs-parser.jay"
+#line 2429 "cs-parser.jay"
{
++lexer.parsing_block;
}
@@ -2241,7 +2242,7 @@ case 292:
case_292();
break;
case 293:
-#line 2455 "cs-parser.jay"
+#line 2454 "cs-parser.jay"
{
yyVal = yyVals[0+yyTop];
}
@@ -2271,10 +2272,7 @@ case 303:
case_303();
break;
case 305:
-#line 2549 "cs-parser.jay"
- {
- enumCommas.Add (GetLocation (yyVals[0+yyTop]));
- }
+ case_305();
break;
case 306:
case_306();
@@ -2285,21 +2283,21 @@ case 307:
case 308:
case_308();
break;
-case 309:
- case_309();
+case 310:
+ case_310();
break;
case 311:
case_311();
break;
-case 312:
- case_312();
- break;
-case 315:
+case 314:
#line 2617 "cs-parser.jay"
{
- enumCommas.Add (GetLocation (yyVals[0+yyTop]));
+ lbag.AppendToMember (current_class, GetLocation (yyVals[0+yyTop]));
}
break;
+case 316:
+ case_316();
+ break;
case 317:
case_317();
break;
@@ -2310,37 +2308,37 @@ case 319:
case_319();
break;
case 320:
- case_320();
- break;
-case 321:
#line 2675 "cs-parser.jay"
{
valid_param_mod = ParameterModifierType.Ref | ParameterModifierType.Out | ParameterModifierType.Params | ParameterModifierType.DefaultValue;
}
break;
-case 322:
- case_322();
+case 321:
+ case_321();
break;
-case 323:
+case 322:
#line 2697 "cs-parser.jay"
{
lexer.ConstraintsParsing = false;
}
break;
-case 324:
- case_324();
+case 323:
+ case_323();
+ break;
+case 325:
+ case_325();
break;
-case 326:
- case_326();
+case 327:
+ case_327();
break;
-case 328:
- case_328();
+case 329:
+ case_329();
break;
case 330:
case_330();
break;
-case 331:
- case_331();
+case 332:
+ case_332();
break;
case 333:
case_333();
@@ -2352,19 +2350,19 @@ case 335:
case_335();
break;
case 336:
- case_336();
- break;
-case 337:
#line 2802 "cs-parser.jay"
{
lexer.parsing_generic_declaration = true;
}
break;
+case 337:
+ case_337();
+ break;
case 338:
case_338();
break;
-case 339:
- case_339();
+case 340:
+ case_340();
break;
case 341:
case_341();
@@ -2381,8 +2379,8 @@ case 344:
case 345:
case_345();
break;
-case 346:
- case_346();
+case 347:
+ case_347();
break;
case 348:
case_348();
@@ -2396,60 +2394,60 @@ case 350:
case 351:
case_351();
break;
-case 352:
- case_352();
- break;
-case 354:
+case 353:
#line 2923 "cs-parser.jay"
{
yyVal = new TypeExpression (compiler.BuiltinTypes.Void, GetLocation (yyVals[0+yyTop]));
}
break;
-case 355:
+case 354:
#line 2930 "cs-parser.jay"
{
lexer.parsing_generic_declaration = true;
}
break;
-case 357:
- case_357();
+case 356:
+ case_356();
break;
-case 359:
- case_359();
+case 358:
+ case_358();
break;
-case 361:
- case_361();
+case 360:
+ case_360();
break;
-case 363:
+case 362:
#line 2968 "cs-parser.jay"
{
yyVal = new ComposedCast ((FullNamedExpression) yyVals[-1+yyTop], (ComposedTypeSpecifier) yyVals[0+yyTop]);
}
break;
-case 364:
- case_364();
+case 363:
+ case_363();
break;
-case 365:
+case 364:
#line 2988 "cs-parser.jay"
{
yyVal = new ComposedCast (((MemberName) yyVals[-1+yyTop]).GetTypeExpression (), (ComposedTypeSpecifier) yyVals[0+yyTop]);
}
break;
-case 366:
- case_366();
+case 365:
+ case_365();
break;
-case 367:
+case 366:
#line 2997 "cs-parser.jay"
{
yyVal = new ComposedCast ((FullNamedExpression) yyVals[-1+yyTop], (ComposedTypeSpecifier) yyVals[0+yyTop]);
}
break;
-case 368:
+case 367:
#line 3001 "cs-parser.jay"
{
yyVal = new ComposedCast (new TypeExpression (compiler.BuiltinTypes.Void, GetLocation (yyVals[-1+yyTop])), (ComposedTypeSpecifier) yyVals[0+yyTop]);
}
break;
+case 368:
+ case_368();
+ break;
case 369:
case_369();
break;
@@ -2460,95 +2458,95 @@ case 371:
case_371();
break;
case 372:
- case_372();
- break;
-case 373:
#line 3040 "cs-parser.jay"
{ yyVal = new TypeExpression (compiler.BuiltinTypes.Object, GetLocation (yyVals[0+yyTop])); }
break;
-case 374:
+case 373:
#line 3041 "cs-parser.jay"
{ yyVal = new TypeExpression (compiler.BuiltinTypes.String, GetLocation (yyVals[0+yyTop])); }
break;
-case 375:
+case 374:
#line 3042 "cs-parser.jay"
{ yyVal = new TypeExpression (compiler.BuiltinTypes.Bool, GetLocation (yyVals[0+yyTop])); }
break;
-case 376:
+case 375:
#line 3043 "cs-parser.jay"
{ yyVal = new TypeExpression (compiler.BuiltinTypes.Decimal, GetLocation (yyVals[0+yyTop])); }
break;
-case 377:
+case 376:
#line 3044 "cs-parser.jay"
{ yyVal = new TypeExpression (compiler.BuiltinTypes.Float, GetLocation (yyVals[0+yyTop])); }
break;
-case 378:
+case 377:
#line 3045 "cs-parser.jay"
{ yyVal = new TypeExpression (compiler.BuiltinTypes.Double, GetLocation (yyVals[0+yyTop])); }
break;
-case 380:
+case 379:
#line 3050 "cs-parser.jay"
{ yyVal = new TypeExpression (compiler.BuiltinTypes.SByte, GetLocation (yyVals[0+yyTop])); }
break;
-case 381:
+case 380:
#line 3051 "cs-parser.jay"
{ yyVal = new TypeExpression (compiler.BuiltinTypes.Byte, GetLocation (yyVals[0+yyTop])); }
break;
-case 382:
+case 381:
#line 3052 "cs-parser.jay"
{ yyVal = new TypeExpression (compiler.BuiltinTypes.Short, GetLocation (yyVals[0+yyTop])); }
break;
-case 383:
+case 382:
#line 3053 "cs-parser.jay"
{ yyVal = new TypeExpression (compiler.BuiltinTypes.UShort, GetLocation (yyVals[0+yyTop])); }
break;
-case 384:
+case 383:
#line 3054 "cs-parser.jay"
{ yyVal = new TypeExpression (compiler.BuiltinTypes.Int, GetLocation (yyVals[0+yyTop])); }
break;
-case 385:
+case 384:
#line 3055 "cs-parser.jay"
{ yyVal = new TypeExpression (compiler.BuiltinTypes.UInt, GetLocation (yyVals[0+yyTop])); }
break;
-case 386:
+case 385:
#line 3056 "cs-parser.jay"
{ yyVal = new TypeExpression (compiler.BuiltinTypes.Long, GetLocation (yyVals[0+yyTop])); }
break;
-case 387:
+case 386:
#line 3057 "cs-parser.jay"
{ yyVal = new TypeExpression (compiler.BuiltinTypes.ULong, GetLocation (yyVals[0+yyTop])); }
break;
-case 388:
+case 387:
#line 3058 "cs-parser.jay"
{ yyVal = new TypeExpression (compiler.BuiltinTypes.Char, GetLocation (yyVals[0+yyTop])); }
break;
+case 408:
+ case_408();
+ break;
case 409:
case_409();
break;
-case 410:
- case_410();
- break;
-case 414:
+case 413:
#line 3105 "cs-parser.jay"
{ yyVal = new NullLiteral (GetLocation (yyVals[0+yyTop])); }
break;
-case 415:
+case 414:
#line 3109 "cs-parser.jay"
{ yyVal = new BoolLiteral (compiler.BuiltinTypes, true, GetLocation (yyVals[0+yyTop])); }
break;
-case 416:
+case 415:
#line 3110 "cs-parser.jay"
{ yyVal = new BoolLiteral (compiler.BuiltinTypes, false, GetLocation (yyVals[0+yyTop])); }
break;
-case 421:
- case_421();
+case 420:
+ case_420();
break;
-case 422:
+case 421:
#line 3143 "cs-parser.jay"
{
yyVal = new ParenthesizedExpression ((Expression) yyVals[-1+yyTop]);
}
break;
+case 422:
+ case_422();
+ break;
case 423:
case_423();
break;
@@ -2559,49 +2557,49 @@ case 425:
case_425();
break;
case 426:
- case_426();
- break;
-case 427:
#line 3178 "cs-parser.jay"
{
yyVal = new CompletionMemberAccess ((Expression) yyVals[-2+yyTop], null,GetLocation (yyVals[0+yyTop]));
}
break;
-case 428:
- case_428();
+case 427:
+ case_427();
break;
-case 429:
+case 428:
#line 3186 "cs-parser.jay"
{
yyVal = new CompletionMemberAccess ((Expression) yyVals[-2+yyTop], null, lexer.Location);
}
break;
+case 429:
+ case_429();
+ break;
case 430:
case_430();
break;
case 431:
- case_431();
- break;
-case 432:
#line 3202 "cs-parser.jay"
{ yyVal = null; }
break;
+case 433:
+ case_433();
+ break;
case 434:
case_434();
break;
case 435:
- case_435();
- break;
-case 436:
#line 3225 "cs-parser.jay"
{ yyVal = null; }
break;
-case 437:
+case 436:
#line 3229 "cs-parser.jay"
{
yyVal = yyVals[0+yyTop];
}
break;
+case 437:
+ case_437();
+ break;
case 438:
case_438();
break;
@@ -2612,27 +2610,27 @@ case 440:
case_440();
break;
case 441:
- case_441();
- break;
-case 442:
#line 3262 "cs-parser.jay"
{
yyVal = new CompletionElementInitializer (null, GetLocation (yyVals[0+yyTop]));
}
break;
+case 442:
+ case_442();
+ break;
case 443:
case_443();
break;
case 444:
case_444();
break;
-case 445:
- case_445();
- break;
-case 448:
+case 447:
#line 3290 "cs-parser.jay"
{ yyVal = null; }
break;
+case 449:
+ case_449();
+ break;
case 450:
case_450();
break;
@@ -2646,14 +2644,14 @@ case 453:
case_453();
break;
case 454:
- case_454();
- break;
-case 455:
#line 3342 "cs-parser.jay"
{
yyVal = new Argument ((Expression) yyVals[0+yyTop]);
}
break;
+case 458:
+ case_458();
+ break;
case 459:
case_459();
break;
@@ -2663,24 +2661,24 @@ case 460:
case 461:
case_461();
break;
-case 462:
- case_462();
+case 463:
+ case_463();
break;
case 464:
- case_464();
- break;
-case 465:
#line 3387 "cs-parser.jay"
{
yyVal = new ElementAccess ((Expression) yyVals[-3+yyTop], (Arguments) yyVals[-1+yyTop], GetLocation (yyVals[-2+yyTop]));
}
break;
-case 466:
+case 465:
#line 3391 "cs-parser.jay"
{
yyVal = new ElementAccess ((Expression) yyVals[-2+yyTop], null, GetLocation (yyVals[-1+yyTop]));
}
break;
+case 466:
+ case_466();
+ break;
case 467:
case_467();
break;
@@ -2694,38 +2692,38 @@ case 470:
case_470();
break;
case 471:
- case_471();
- break;
-case 472:
#line 3437 "cs-parser.jay"
{
yyVal = new Argument ((Expression) yyVals[0+yyTop]);
}
break;
-case 474:
+case 473:
#line 3445 "cs-parser.jay"
{
yyVal = new This (GetLocation (yyVals[0+yyTop]));
}
break;
+case 474:
+ case_474();
+ break;
case 475:
case_475();
break;
case 476:
- case_476();
- break;
-case 477:
#line 3465 "cs-parser.jay"
{
yyVal = new UnaryMutator (UnaryMutator.Mode.PostIncrement, (Expression) yyVals[-1+yyTop], GetLocation (yyVals[0+yyTop]));
}
break;
-case 478:
+case 477:
#line 3472 "cs-parser.jay"
{
yyVal = new UnaryMutator (UnaryMutator.Mode.PostDecrement, (Expression) yyVals[-1+yyTop], GetLocation (yyVals[0+yyTop]));
}
break;
+case 478:
+ case_478();
+ break;
case 479:
case_479();
break;
@@ -2745,24 +2743,24 @@ case 484:
case_484();
break;
case 485:
- case_485();
- break;
-case 486:
#line 3538 "cs-parser.jay"
{
++lexer.parsing_type;
}
break;
+case 486:
+ case_486();
+ break;
case 487:
case_487();
break;
-case 488:
- case_488();
- break;
-case 491:
+case 490:
#line 3565 "cs-parser.jay"
{ yyVal = null; }
break;
+case 492:
+ case_492();
+ break;
case 493:
case_493();
break;
@@ -2778,8 +2776,8 @@ case 496:
case 497:
case_497();
break;
-case 498:
- case_498();
+case 501:
+ case_501();
break;
case 502:
case_502();
@@ -2788,32 +2786,32 @@ case 503:
case_503();
break;
case 504:
- case_504();
- break;
-case 505:
#line 3643 "cs-parser.jay"
{
yyVal = 2;
}
break;
-case 506:
+case 505:
#line 3647 "cs-parser.jay"
{
yyVal = ((int) yyVals[-1+yyTop]) + 1;
}
break;
-case 507:
+case 506:
#line 3654 "cs-parser.jay"
{
yyVal = null;
}
break;
-case 508:
+case 507:
#line 3658 "cs-parser.jay"
{
yyVal = yyVals[0+yyTop];
}
break;
+case 508:
+ case_508();
+ break;
case 509:
case_509();
break;
@@ -2824,16 +2822,16 @@ case 511:
case_511();
break;
case 512:
- case_512();
- break;
-case 513:
#line 3702 "cs-parser.jay"
{
lexer.TypeOfParsing = true;
}
break;
-case 514:
- case_514();
+case 513:
+ case_513();
+ break;
+case 516:
+ case_516();
break;
case 517:
case_517();
@@ -2869,136 +2867,136 @@ case 527:
case_527();
break;
case 528:
- case_528();
- break;
-case 529:
#line 3822 "cs-parser.jay"
{
start_anonymous (false, (ParametersCompiled) yyVals[0+yyTop], false, GetLocation (yyVals[-1+yyTop]));
}
break;
-case 530:
- case_530();
+case 529:
+ case_529();
break;
-case 531:
+case 530:
#line 3835 "cs-parser.jay"
{
start_anonymous (false, (ParametersCompiled) yyVals[0+yyTop], true, GetLocation (yyVals[-2+yyTop]));
}
break;
-case 532:
- case_532();
+case 531:
+ case_531();
break;
-case 533:
+case 532:
#line 3852 "cs-parser.jay"
{
yyVal = ParametersCompiled.Undefined;
}
break;
-case 535:
+case 534:
#line 3860 "cs-parser.jay"
{
valid_param_mod = ParameterModifierType.Ref | ParameterModifierType.Out;
}
break;
+case 535:
+ case_535();
+ break;
case 536:
case_536();
break;
-case 537:
- case_537();
- break;
-case 539:
+case 538:
#line 3886 "cs-parser.jay"
{
yyVal = new Unary (Unary.Operator.LogicalNot, (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
break;
-case 540:
+case 539:
#line 3890 "cs-parser.jay"
{
yyVal = new Unary (Unary.Operator.OnesComplement, (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
break;
+case 540:
+ case_540();
+ break;
case 541:
case_541();
break;
-case 542:
- case_542();
- break;
-case 544:
+case 543:
#line 3918 "cs-parser.jay"
{
yyVal = new Unary (Unary.Operator.UnaryPlus, (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
break;
-case 545:
+case 544:
#line 3922 "cs-parser.jay"
{
yyVal = new Unary (Unary.Operator.UnaryNegation, (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
break;
-case 546:
+case 545:
#line 3926 "cs-parser.jay"
{
yyVal = new UnaryMutator (UnaryMutator.Mode.PreIncrement, (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
break;
-case 547:
+case 546:
#line 3930 "cs-parser.jay"
{
yyVal = new UnaryMutator (UnaryMutator.Mode.PreDecrement, (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
break;
-case 548:
+case 547:
#line 3934 "cs-parser.jay"
{
yyVal = new Indirection ((Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
break;
-case 549:
+case 548:
#line 3938 "cs-parser.jay"
{
yyVal = new Unary (Unary.Operator.AddressOf, (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
break;
+case 550:
+ case_550();
+ break;
case 551:
case_551();
break;
case 552:
case_552();
break;
-case 553:
- case_553();
+case 554:
+ case_554();
break;
case 555:
- case_555();
- break;
-case 556:
#line 3970 "cs-parser.jay"
{
yyVal = new Binary (Binary.Operator.Subtraction, (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
break;
-case 557:
- case_557();
+case 556:
+ case_556();
break;
-case 558:
+case 557:
#line 3979 "cs-parser.jay"
{
yyVal = new As ((Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
break;
-case 559:
+case 558:
#line 3983 "cs-parser.jay"
{
yyVal = new Is ((Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
break;
+case 560:
+ case_560();
+ break;
case 561:
case_561();
break;
-case 562:
- case_562();
+case 563:
+ case_563();
break;
case 564:
case_564();
@@ -3009,42 +3007,42 @@ case 565:
case 566:
case_566();
break;
-case 567:
- case_567();
+case 568:
+ case_568();
break;
case 569:
case_569();
break;
-case 570:
- case_570();
+case 571:
+ case_571();
break;
-case 572:
- case_572();
+case 573:
+ case_573();
break;
-case 574:
- case_574();
+case 575:
+ case_575();
break;
-case 576:
- case_576();
+case 577:
+ case_577();
break;
-case 578:
- case_578();
+case 579:
+ case_579();
break;
-case 580:
- case_580();
+case 581:
+ case_581();
break;
-case 582:
- case_582();
+case 583:
+ case_583();
break;
case 584:
- case_584();
- break;
-case 585:
#line 4107 "cs-parser.jay"
{
yyVal = new SimpleAssign ((Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
break;
+case 585:
+ case_585();
+ break;
case 586:
case_586();
break;
@@ -3088,23 +3086,23 @@ case 599:
case_599();
break;
case 600:
- case_600();
- break;
-case 601:
#line 4204 "cs-parser.jay"
{ yyVal = ParametersCompiled.EmptyReadOnlyParameters; }
break;
-case 602:
- case_602();
+case 601:
+ case_601();
break;
-case 605:
+case 604:
#line 4220 "cs-parser.jay"
{
start_block (lexer.Location);
}
break;
-case 606:
- case_606();
+case 605:
+ case_605();
+ break;
+case 607:
+ case_607();
break;
case 608:
case_608();
@@ -3119,59 +3117,59 @@ case 611:
case_611();
break;
case 612:
- case_612();
- break;
-case 613:
#line 4265 "cs-parser.jay"
{
valid_param_mod = ParameterModifierType.Ref | ParameterModifierType.Out;
}
break;
+case 613:
+ case_613();
+ break;
case 614:
case_614();
break;
case 615:
- case_615();
- break;
-case 616:
#line 4279 "cs-parser.jay"
{
valid_param_mod = ParameterModifierType.Ref | ParameterModifierType.Out;
}
break;
+case 616:
+ case_616();
+ break;
case 617:
case_617();
break;
-case 618:
- case_618();
- break;
-case 624:
+case 623:
#line 4304 "cs-parser.jay"
{
yyVal = new ArglistAccess (GetLocation (yyVals[0+yyTop]));
}
break;
+case 624:
+ case_624();
+ break;
case 625:
case_625();
break;
case 626:
case_626();
break;
-case 627:
- case_627();
- break;
-case 629:
+case 628:
#line 4333 "cs-parser.jay"
{
yyVal = new BooleanExpression ((Expression) yyVals[0+yyTop]);
}
break;
-case 630:
+case 629:
#line 4346 "cs-parser.jay"
{
lexer.ConstraintsParsing = true;
}
break;
+case 630:
+ case_630();
+ break;
case 631:
case_631();
break;
@@ -3182,25 +3180,25 @@ case 633:
case_633();
break;
case 634:
- case_634();
- break;
-case 635:
#line 4389 "cs-parser.jay"
{ yyVal = null; }
break;
-case 636:
+case 635:
#line 4391 "cs-parser.jay"
{ yyVal = yyVals[0+yyTop]; StoreModifierLocation (Modifiers.PARTIAL, GetLocation (yyVals[0+yyTop])); }
break;
-case 637:
- case_637();
+case 636:
+ case_636();
break;
-case 638:
+case 637:
#line 4404 "cs-parser.jay"
{
lexer.parsing_modifiers = false;
}
break;
+case 639:
+ case_639();
+ break;
case 640:
case_640();
break;
@@ -3246,18 +3244,18 @@ case 653:
case 654:
case_654();
break;
-case 655:
- case_655();
- break;
-case 657:
- case_657();
+case 656:
+ case_656();
break;
-case 659:
+case 658:
#line 4524 "cs-parser.jay"
{
yyVal = yyVals[0+yyTop];
}
break;
+case 659:
+ case_659();
+ break;
case 660:
case_660();
break;
@@ -3280,26 +3278,26 @@ case 666:
case_666();
break;
case 667:
- case_667();
- break;
-case 668:
#line 4615 "cs-parser.jay"
{
yyVal = new SpecialContraintExpr (SpecialConstraint.Class, GetLocation (yyVals[0+yyTop]));
}
break;
-case 669:
+case 668:
#line 4619 "cs-parser.jay"
{
yyVal = new SpecialContraintExpr (SpecialConstraint.Struct, GetLocation (yyVals[0+yyTop]));
}
break;
-case 670:
+case 669:
#line 4626 "cs-parser.jay"
{
yyVal = Variance.None;
}
break;
+case 670:
+ case_670();
+ break;
case 671:
case_671();
break;
@@ -3310,14 +3308,14 @@ case 673:
case_673();
break;
case 674:
- case_674();
- break;
-case 675:
#line 4671 "cs-parser.jay"
{
yyVal = yyVals[0+yyTop];
}
break;
+case 675:
+ case_675();
+ break;
case 676:
case_676();
break;
@@ -3327,32 +3325,32 @@ case 677:
case 678:
case_678();
break;
-case 679:
- case_679();
- break;
-case 684:
+case 683:
#line 4715 "cs-parser.jay"
{
current_block.AddStatement ((Statement) yyVals[0+yyTop]);
}
break;
-case 685:
+case 684:
#line 4719 "cs-parser.jay"
{
current_block.AddStatement ((Statement) yyVals[0+yyTop]);
}
break;
+case 686:
+ case_686();
+ break;
case 687:
case_687();
break;
case 690:
-#line 4743 "cs-parser.jay"
+#line 4753 "cs-parser.jay"
{
current_block.AddStatement ((Statement) yyVals[0+yyTop]);
}
break;
case 691:
-#line 4747 "cs-parser.jay"
+#line 4757 "cs-parser.jay"
{
current_block.AddStatement ((Statement) yyVals[0+yyTop]);
}
@@ -3385,13 +3383,13 @@ case 730:
case_730();
break;
case 731:
-#line 4891 "cs-parser.jay"
+#line 4901 "cs-parser.jay"
{
yyVal = new ComposedCast ((FullNamedExpression) yyVals[-1+yyTop], (ComposedTypeSpecifier) yyVals[0+yyTop]);
}
break;
case 732:
-#line 4895 "cs-parser.jay"
+#line 4905 "cs-parser.jay"
{
yyVal = new ComposedCast (new TypeExpression (compiler.BuiltinTypes.Void, GetLocation (yyVals[-1+yyTop])), (ComposedTypeSpecifier) yyVals[0+yyTop]);
}
@@ -3403,7 +3401,7 @@ case 735:
case_735();
break;
case 736:
-#line 4916 "cs-parser.jay"
+#line 4926 "cs-parser.jay"
{
yyVal = ComposedTypeSpecifier.CreatePointer (GetLocation (yyVals[0+yyTop]));
}
@@ -3442,7 +3440,7 @@ case 754:
case_754();
break;
case 755:
-#line 5041 "cs-parser.jay"
+#line 5051 "cs-parser.jay"
{
report.Error (145, lexer.Location, "A const field requires a value to be provided");
}
@@ -3463,15 +3461,15 @@ case 765:
case_765();
break;
case 766:
-#line 5091 "cs-parser.jay"
+#line 5101 "cs-parser.jay"
{ yyVal = yyVals[-1+yyTop]; }
break;
case 767:
-#line 5095 "cs-parser.jay"
+#line 5105 "cs-parser.jay"
{ yyVal = yyVals[-1+yyTop]; }
break;
case 768:
-#line 5096 "cs-parser.jay"
+#line 5106 "cs-parser.jay"
{ yyVal = yyVals[-1+yyTop]; }
break;
case 769:
@@ -3490,7 +3488,7 @@ case 775:
case_775();
break;
case 776:
-#line 5164 "cs-parser.jay"
+#line 5174 "cs-parser.jay"
{
start_block (GetLocation (yyVals[0+yyTop]));
}
@@ -3511,13 +3509,13 @@ case 782:
case_782();
break;
case 783:
-#line 5208 "cs-parser.jay"
+#line 5218 "cs-parser.jay"
{
current_block = current_block.CreateSwitchBlock (lexer.Location);
}
break;
case 784:
-#line 5212 "cs-parser.jay"
+#line 5222 "cs-parser.jay"
{
yyVal = new SwitchSection ((List<SwitchLabel>) yyVals[-2+yyTop], current_block);
}
@@ -3532,7 +3530,7 @@ case 787:
case_787();
break;
case 788:
-#line 5241 "cs-parser.jay"
+#line 5251 "cs-parser.jay"
{
yyVal = new SwitchLabel (null, GetLocation (yyVals[0+yyTop]));
}
@@ -3547,43 +3545,52 @@ case 795:
case_795();
break;
case 796:
-#line 5280 "cs-parser.jay"
+#line 5293 "cs-parser.jay"
{
yyVal = yyVals[0+yyTop];
}
break;
case 797:
- case_797();
+#line 5301 "cs-parser.jay"
+ {
+ ((For) yyVals[-2+yyTop]).Initializer = (Statement) yyVals[-1+yyTop];
+ }
break;
case 798:
- case_798();
+#line 5305 "cs-parser.jay"
+ {
+ ((For) yyVals[-5+yyTop]).Condition = (BooleanExpression) yyVals[-1+yyTop];
+ }
break;
case 799:
- case_799();
+#line 5309 "cs-parser.jay"
+ {
+ ((For) yyVals[-8+yyTop]).Iterator = (Statement) yyVals[-1+yyTop];
+ }
break;
case 800:
-#line 5318 "cs-parser.jay"
- { yyVal = new EmptyStatement (lexer.Location); }
+ case_800();
+ break;
+case 801:
+ case_801();
break;
case 802:
- case_802();
+#line 5329 "cs-parser.jay"
+ { yyVal = new EmptyStatement (lexer.Location); }
break;
-case 803:
- case_803();
+case 804:
+ case_804();
break;
case 805:
-#line 5339 "cs-parser.jay"
- { yyVal = null; }
+ case_805();
break;
case 807:
-#line 5344 "cs-parser.jay"
- { yyVal = new EmptyStatement (lexer.Location); }
- break;
-case 811:
- case_811();
+#line 5350 "cs-parser.jay"
+ { yyVal = null; }
break;
-case 812:
- case_812();
+case 809:
+#line 5355 "cs-parser.jay"
+ { yyVal = new EmptyStatement (lexer.Location); }
break;
case 813:
case_813();
@@ -3591,11 +3598,11 @@ case 813:
case 814:
case_814();
break;
-case 821:
- case_821();
+case 815:
+ case_815();
break;
-case 822:
- case_822();
+case 816:
+ case_816();
break;
case 823:
case_823();
@@ -3618,17 +3625,17 @@ case 828:
case 829:
case_829();
break;
-case 832:
-#line 5499 "cs-parser.jay"
- {
- yyVal = new TryCatch ((Block) yyVals[-1+yyTop], (List<Catch>) yyVals[0+yyTop], GetLocation (yyVals[-2+yyTop]), false);
- }
+case 830:
+ case_830();
break;
-case 833:
- case_833();
+case 831:
+ case_831();
break;
case 834:
- case_834();
+#line 5510 "cs-parser.jay"
+ {
+ yyVal = new TryCatch ((Block) yyVals[-1+yyTop], (List<Catch>) yyVals[0+yyTop], GetLocation (yyVals[-2+yyTop]), false);
+ }
break;
case 835:
case_835();
@@ -3639,50 +3646,50 @@ case 836:
case 837:
case_837();
break;
-case 840:
-#line 5552 "cs-parser.jay"
- {
- yyVal = new Catch ((Block) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
- }
+case 838:
+ case_838();
break;
-case 841:
- case_841();
+case 839:
+ case_839();
break;
case 842:
-#line 5571 "cs-parser.jay"
+#line 5563 "cs-parser.jay"
{
- yyVal = yyVals[-1+yyTop];
+ yyVal = new Catch ((Block) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
break;
case 843:
case_843();
break;
case 844:
-#line 5589 "cs-parser.jay"
+#line 5582 "cs-parser.jay"
{
- yyVal = new Checked ((Block) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
+ yyVal = yyVals[-1+yyTop];
}
break;
case 845:
-#line 5596 "cs-parser.jay"
- {
- yyVal = new Unchecked ((Block) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
- }
+ case_845();
break;
case 846:
- case_846();
+#line 5600 "cs-parser.jay"
+ {
+ yyVal = new Checked ((Block) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
+ }
break;
case 847:
-#line 5606 "cs-parser.jay"
+#line 5607 "cs-parser.jay"
{
- yyVal = new Unsafe ((Block) yyVals[0+yyTop], GetLocation (yyVals[-2+yyTop]));
+ yyVal = new Unchecked ((Block) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
break;
case 848:
case_848();
break;
case 849:
- case_849();
+#line 5617 "cs-parser.jay"
+ {
+ yyVal = new Unsafe ((Block) yyVals[0+yyTop], GetLocation (yyVals[-2+yyTop]));
+ }
break;
case 850:
case_850();
@@ -3702,20 +3709,20 @@ case 854:
case 855:
case_855();
break;
+case 856:
+ case_856();
+ break;
case 857:
case_857();
break;
-case 858:
-#line 5698 "cs-parser.jay"
- {
- Error_MissingInitializer (lexer.Location);
- }
- break;
case 859:
case_859();
break;
case 860:
- case_860();
+#line 5709 "cs-parser.jay"
+ {
+ Error_MissingInitializer (lexer.Location);
+ }
break;
case 861:
case_861();
@@ -3739,16 +3746,13 @@ case 867:
case_867();
break;
case 868:
-#line 5799 "cs-parser.jay"
- {
- current_block = new Linq.QueryBlock (current_block, lexer.Location);
- }
+ case_868();
break;
case 869:
case_869();
break;
case 870:
-#line 5814 "cs-parser.jay"
+#line 5810 "cs-parser.jay"
{
current_block = new Linq.QueryBlock (current_block, lexer.Location);
}
@@ -3757,22 +3761,25 @@ case 871:
case_871();
break;
case 872:
- case_872();
+#line 5825 "cs-parser.jay"
+ {
+ current_block = new Linq.QueryBlock (current_block, lexer.Location);
+ }
+ break;
+case 873:
+ case_873();
break;
case 874:
case_874();
break;
-case 875:
-#line 5859 "cs-parser.jay"
- {
- current_block = new Linq.QueryBlock (current_block, lexer.Location);
- }
- break;
case 876:
case_876();
break;
case 877:
- case_877();
+#line 5870 "cs-parser.jay"
+ {
+ current_block = new Linq.QueryBlock (current_block, lexer.Location);
+ }
break;
case 878:
case_878();
@@ -3780,20 +3787,17 @@ case 878:
case 879:
case_879();
break;
-case 883:
- case_883();
+case 880:
+ case_880();
break;
-case 889:
-#line 5918 "cs-parser.jay"
- {
- current_block = new Linq.QueryBlock (current_block, lexer.Location);
- }
+case 881:
+ case_881();
break;
-case 890:
- case_890();
+case 885:
+ case_885();
break;
case 891:
-#line 5937 "cs-parser.jay"
+#line 5929 "cs-parser.jay"
{
current_block = new Linq.QueryBlock (current_block, lexer.Location);
}
@@ -3802,7 +3806,10 @@ case 892:
case_892();
break;
case 893:
- case_893();
+#line 5948 "cs-parser.jay"
+ {
+ current_block = new Linq.QueryBlock (current_block, lexer.Location);
+ }
break;
case 894:
case_894();
@@ -3825,144 +3832,150 @@ case 899:
case 900:
case_900();
break;
+case 901:
+ case_901();
+ break;
case 902:
-#line 6081 "cs-parser.jay"
+ case_902();
+ break;
+case 904:
+#line 6092 "cs-parser.jay"
{
yyVal = yyVals[0+yyTop];
}
break;
-case 903:
-#line 6088 "cs-parser.jay"
+case 905:
+#line 6099 "cs-parser.jay"
{
current_block = new Linq.QueryBlock (current_block, lexer.Location);
}
break;
-case 904:
- case_904();
- break;
case 906:
case_906();
break;
-case 907:
- case_907();
+case 908:
+ case_908();
break;
case 909:
case_909();
break;
-case 910:
- case_910();
- break;
case 911:
-#line 6134 "cs-parser.jay"
- {
- yyVal = new Linq.OrderByAscending ((Linq.QueryBlock) current_block, (Expression)yyVals[0+yyTop]);
- }
+ case_911();
break;
case 912:
case_912();
break;
case 913:
- case_913();
- break;
-case 914:
-#line 6151 "cs-parser.jay"
+#line 6145 "cs-parser.jay"
{
- yyVal = new Linq.ThenByAscending ((Linq.QueryBlock) current_block, (Expression)yyVals[0+yyTop]);
+ yyVal = new Linq.OrderByAscending ((Linq.QueryBlock) current_block, (Expression)yyVals[0+yyTop]);
}
break;
+case 914:
+ case_914();
+ break;
case 915:
case_915();
break;
case 916:
- case_916();
+#line 6162 "cs-parser.jay"
+ {
+ yyVal = new Linq.ThenByAscending ((Linq.QueryBlock) current_block, (Expression)yyVals[0+yyTop]);
+ }
+ break;
+case 917:
+ case_917();
break;
case 918:
case_918();
break;
-case 919:
- case_919();
+case 920:
+ case_920();
+ break;
+case 921:
+ case_921();
break;
-case 922:
- case_922();
+case 924:
+ case_924();
break;
-case 923:
- case_923();
+case 925:
+ case_925();
break;
-case 931:
-#line 6275 "cs-parser.jay"
+case 933:
+#line 6286 "cs-parser.jay"
{
module.DocumentationBuilder.ParsedName = (MemberName) yyVals[0+yyTop];
}
break;
-case 932:
-#line 6282 "cs-parser.jay"
+case 934:
+#line 6293 "cs-parser.jay"
{
module.DocumentationBuilder.ParsedParameters = (List<DocumentationParameter>)yyVals[0+yyTop];
}
break;
-case 933:
- case_933();
+case 935:
+ case_935();
break;
-case 934:
- case_934();
+case 936:
+ case_936();
break;
-case 935:
-#line 6299 "cs-parser.jay"
+case 937:
+#line 6310 "cs-parser.jay"
{
yyVal = new MemberName ((MemberName) yyVals[-2+yyTop], new MemberName (MemberCache.IndexerNameAlias));
}
break;
-case 936:
-#line 6303 "cs-parser.jay"
+case 938:
+#line 6314 "cs-parser.jay"
{
valid_param_mod = ParameterModifierType.Ref | ParameterModifierType.Out;
}
break;
-case 937:
- case_937();
- break;
-case 938:
- case_938();
- break;
case 939:
case_939();
break;
case 940:
case_940();
break;
+case 941:
+ case_941();
+ break;
case 942:
-#line 6339 "cs-parser.jay"
+ case_942();
+ break;
+case 944:
+#line 6350 "cs-parser.jay"
{
yyVal = new MemberName (((MemberName) yyVals[-2+yyTop]), (MemberName) yyVals[0+yyTop]);
}
break;
-case 944:
-#line 6347 "cs-parser.jay"
+case 946:
+#line 6358 "cs-parser.jay"
{
valid_param_mod = ParameterModifierType.Ref | ParameterModifierType.Out;
}
break;
-case 945:
-#line 6351 "cs-parser.jay"
+case 947:
+#line 6362 "cs-parser.jay"
{
yyVal = yyVals[-1+yyTop];
}
break;
-case 946:
-#line 6358 "cs-parser.jay"
+case 948:
+#line 6369 "cs-parser.jay"
{
yyVal = new List<DocumentationParameter> (0);
}
break;
-case 948:
- case_948();
- break;
-case 949:
- case_949();
- break;
case 950:
case_950();
break;
+case 951:
+ case_951();
+ break;
+case 952:
+ case_952();
+ break;
#line default
}
yyTop -= yyLen[yyN];
@@ -3999,7 +4012,7 @@ case 950:
All more than 3 lines long rules are wrapped into a method
*/
void case_6()
-#line 410 "cs-parser.jay"
+#line 409 "cs-parser.jay"
{
if (yyVals[0+yyTop] != null) {
Attributes attrs = (Attributes) yyVals[0+yyTop];
@@ -4009,7 +4022,7 @@ void case_6()
}
void case_8()
-#line 422 "cs-parser.jay"
+#line 421 "cs-parser.jay"
{
if (yyToken == Token.EXTERN_ALIAS)
report.Error (439, lexer.Location, "An extern alias declaration must precede all other elements");
@@ -4018,7 +4031,7 @@ void case_8()
}
void case_13()
-#line 442 "cs-parser.jay"
+#line 441 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[-2+yyTop];
string s = lt.Value;
@@ -4034,21 +4047,21 @@ void case_13()
}
void case_17()
-#line 468 "cs-parser.jay"
+#line 467 "cs-parser.jay"
{
if (doc_support)
Lexer.doc_state = XmlCommentState.Allowed;
}
void case_18()
-#line 473 "cs-parser.jay"
+#line 472 "cs-parser.jay"
{
if (doc_support)
Lexer.doc_state = XmlCommentState.Allowed;
}
void case_19()
-#line 481 "cs-parser.jay"
+#line 480 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[-3+yyTop];
if (lang_version != LanguageVersion.ISO_1 && lt.Value == "global") {
@@ -4061,21 +4074,21 @@ void case_19()
}
void case_20()
-#line 492 "cs-parser.jay"
+#line 491 "cs-parser.jay"
{
Error_SyntaxError (yyToken);
yyVal = null;
}
void case_21()
-#line 500 "cs-parser.jay"
+#line 499 "cs-parser.jay"
{
current_namespace.AddUsing ((MemberName) yyVals[-1+yyTop], GetLocation (yyVals[-2+yyTop]));
ubag.AddUsing (GetLocation (yyVals[-2+yyTop]), (MemberName) yyVals[-1+yyTop], GetLocation (yyVals[0+yyTop]));
}
void case_22()
-#line 513 "cs-parser.jay"
+#line 512 "cs-parser.jay"
{
Attributes attrs = (Attributes) yyVals[-2+yyTop];
MemberName name = (MemberName) yyVals[0+yyTop];
@@ -4108,7 +4121,7 @@ void case_22()
}
void case_23()
-#line 544 "cs-parser.jay"
+#line 543 "cs-parser.jay"
{
if (doc_support)
Lexer.doc_state = XmlCommentState.Allowed;
@@ -4116,7 +4129,7 @@ void case_23()
}
void case_24()
-#line 550 "cs-parser.jay"
+#line 549 "cs-parser.jay"
{
current_namespace = current_namespace.Parent;
current_class = current_namespace.SlaveDeclSpace;
@@ -4129,14 +4142,14 @@ void case_24()
}
void case_25()
-#line 564 "cs-parser.jay"
+#line 563 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[0+yyTop];
yyVal = new MemberName (lt.Value, lt.Location);
}
void case_26()
-#line 569 "cs-parser.jay"
+#line 568 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[0+yyTop];
yyVal = new MemberName ((MemberName) yyVals[-2+yyTop], lt.Value, lt.Location) {
@@ -4145,14 +4158,14 @@ void case_26()
}
void case_27()
-#line 576 "cs-parser.jay"
+#line 575 "cs-parser.jay"
{
Error_SyntaxError (yyToken);
yyVal = new MemberName ("<invalid>", lexer.Location);
}
void case_32()
-#line 594 "cs-parser.jay"
+#line 593 "cs-parser.jay"
{
MemberName name = (MemberName) yyVals[0+yyTop];
@@ -4163,7 +4176,7 @@ void case_32()
}
void case_41()
-#line 626 "cs-parser.jay"
+#line 625 "cs-parser.jay"
{
if (yyVals[0+yyTop] != null) {
TypeContainer ds = (TypeContainer)yyVals[0+yyTop];
@@ -4184,7 +4197,7 @@ void case_41()
}
void case_50()
-#line 676 "cs-parser.jay"
+#line 675 "cs-parser.jay"
{
var sect = (List<Attribute>) yyVals[0+yyTop];
yyVal = new Attributes (sect);
@@ -4197,7 +4210,7 @@ void case_50()
}
void case_51()
-#line 687 "cs-parser.jay"
+#line 686 "cs-parser.jay"
{
Attributes attrs = yyVals[-1+yyTop] as Attributes;
var sect = (List<Attribute>) yyVals[0+yyTop];
@@ -4212,21 +4225,21 @@ void case_51()
}
void case_52()
-#line 703 "cs-parser.jay"
+#line 702 "cs-parser.jay"
{
lexer.parsing_attribute_section = true;
savedOpenLocation = GetLocation (yyVals[0+yyTop]);
}
void case_53()
-#line 708 "cs-parser.jay"
+#line 707 "cs-parser.jay"
{
lexer.parsing_attribute_section = false;
yyVal = yyVals[0+yyTop];
}
void case_54()
-#line 716 "cs-parser.jay"
+#line 715 "cs-parser.jay"
{
current_attr_target = (string) yyVals[-1+yyTop];
if (current_attr_target == "assembly" || current_attr_target == "module") {
@@ -4235,7 +4248,7 @@ void case_54()
}
void case_55()
-#line 723 "cs-parser.jay"
+#line 722 "cs-parser.jay"
{
/* when attribute target is invalid*/
if (current_attr_target == string.Empty)
@@ -4253,7 +4266,7 @@ void case_55()
}
void case_56()
-#line 739 "cs-parser.jay"
+#line 738 "cs-parser.jay"
{
yyVal = yyVals[-2+yyTop];
if (yyVals[-1+yyTop] != null) {
@@ -4264,7 +4277,7 @@ void case_56()
}
void case_57()
-#line 751 "cs-parser.jay"
+#line 750 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[0+yyTop];
yyVal = CheckAttributeTarget (lt.Value, lt.Location);
@@ -4272,7 +4285,7 @@ void case_57()
}
void case_60()
-#line 759 "cs-parser.jay"
+#line 758 "cs-parser.jay"
{
if (yyToken == Token.IDENTIFIER) {
Error_SyntaxError (yyToken);
@@ -4284,7 +4297,7 @@ void case_60()
}
void case_62()
-#line 776 "cs-parser.jay"
+#line 775 "cs-parser.jay"
{
var attrs = (List<Attribute>) yyVals[-2+yyTop];
attrs.Add ((Attribute) yyVals[0+yyTop]);
@@ -4294,7 +4307,7 @@ void case_62()
}
void case_64()
-#line 791 "cs-parser.jay"
+#line 790 "cs-parser.jay"
{
--lexer.parsing_block;
MemberName mname = (MemberName) yyVals[-2+yyTop];
@@ -4315,7 +4328,7 @@ void case_64()
}
void case_67()
-#line 818 "cs-parser.jay"
+#line 817 "cs-parser.jay"
{
savedAttrParenOpenLocation = GetLocation (yyVals[-2+yyTop]);
savedAttrParenCloseLocation = GetLocation (yyVals[0+yyTop]);
@@ -4323,7 +4336,7 @@ void case_67()
}
void case_69()
-#line 829 "cs-parser.jay"
+#line 828 "cs-parser.jay"
{
Arguments a = new Arguments (4);
a.Add ((Argument) yyVals[0+yyTop]);
@@ -4331,7 +4344,7 @@ void case_69()
}
void case_70()
-#line 835 "cs-parser.jay"
+#line 834 "cs-parser.jay"
{
Arguments a = new Arguments (4);
a.Add ((Argument) yyVals[0+yyTop]);
@@ -4339,7 +4352,7 @@ void case_70()
}
void case_71()
-#line 841 "cs-parser.jay"
+#line 840 "cs-parser.jay"
{
Arguments[] o = (Arguments[]) yyVals[-2+yyTop];
if (o [1] != null) {
@@ -4356,7 +4369,7 @@ void case_71()
}
void case_72()
-#line 856 "cs-parser.jay"
+#line 855 "cs-parser.jay"
{
Arguments[] o = (Arguments[]) yyVals[-2+yyTop];
if (o [1] == null) {
@@ -4368,7 +4381,7 @@ void case_72()
}
void case_76()
-#line 881 "cs-parser.jay"
+#line 880 "cs-parser.jay"
{
--lexer.parsing_block;
var lt = (Tokenizer.LocatedToken) yyVals[-3+yyTop];
@@ -4377,7 +4390,7 @@ void case_76()
}
void case_77()
-#line 891 "cs-parser.jay"
+#line 890 "cs-parser.jay"
{
if (lang_version <= LanguageVersion.V_3)
FeatureIsNotAvailable (GetLocation (yyVals[-3+yyTop]), "named argument");
@@ -4391,7 +4404,7 @@ void case_77()
}
void case_95()
-#line 944 "cs-parser.jay"
+#line 943 "cs-parser.jay"
{
report.Error (1519, lexer.Location, "Unexpected symbol `{0}' in class, struct, or interface member declaration",
GetSymbolName (yyToken));
@@ -4400,7 +4413,7 @@ void case_95()
}
void case_97()
-#line 961 "cs-parser.jay"
+#line 960 "cs-parser.jay"
{
MemberName name = MakeName ((MemberName) yyVals[0+yyTop]);
push_current_class (new Struct (current_namespace, current_class, name, (Modifiers) yyVals[-4+yyTop], (Attributes) yyVals[-5+yyTop]), yyVals[-3+yyTop]);
@@ -4408,7 +4421,7 @@ void case_97()
}
void case_98()
-#line 968 "cs-parser.jay"
+#line 967 "cs-parser.jay"
{
lexer.ConstraintsParsing = false;
@@ -4422,14 +4435,14 @@ void case_98()
}
void case_99()
-#line 980 "cs-parser.jay"
+#line 979 "cs-parser.jay"
{
if (doc_support)
Lexer.doc_state = XmlCommentState.Allowed;
}
void case_100()
-#line 985 "cs-parser.jay"
+#line 984 "cs-parser.jay"
{
lbag.AppendToMember (current_class, GetLocation (yyVals[-3+yyTop]), GetLocation (yyVals[-1+yyTop]));
--lexer.parsing_declaration;
@@ -4438,7 +4451,7 @@ void case_100()
}
void case_101()
-#line 992 "cs-parser.jay"
+#line 991 "cs-parser.jay"
{
if (yyVals[-1+yyTop] != null)
current_class.OptionalSemicolon = GetLocation (yyVals[-1+yyTop]);
@@ -4446,7 +4459,7 @@ void case_101()
}
void case_103()
-#line 1007 "cs-parser.jay"
+#line 1006 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[0+yyTop];
var mod = (Modifiers) yyVals[-3+yyTop];
@@ -4461,7 +4474,7 @@ void case_103()
}
void case_104()
-#line 1020 "cs-parser.jay"
+#line 1019 "cs-parser.jay"
{
if (doc_support) {
current_field.DocComment = Lexer.consume_doc_comment ();
@@ -4474,7 +4487,7 @@ void case_104()
}
void case_109()
-#line 1050 "cs-parser.jay"
+#line 1049 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[-1+yyTop];
yyVal = new FieldDeclarator (new SimpleMemberName (lt.Value, lt.Location), (ConstInitializer) yyVals[0+yyTop]);
@@ -4482,7 +4495,7 @@ void case_109()
}
void case_111()
-#line 1063 "cs-parser.jay"
+#line 1062 "cs-parser.jay"
{
--lexer.parsing_block;
yyVal = new ConstInitializer (current_field, (Expression) yyVals[0+yyTop], GetLocation (yyVals[-2+yyTop]));
@@ -4490,14 +4503,14 @@ void case_111()
}
void case_112()
-#line 1069 "cs-parser.jay"
+#line 1068 "cs-parser.jay"
{
report.Error (145, lexer.Location, "A const field requires a value to be provided");
yyVal = null;
}
void case_115()
-#line 1084 "cs-parser.jay"
+#line 1083 "cs-parser.jay"
{
lexer.parsing_generic_declaration = false;
@@ -4512,7 +4525,7 @@ void case_115()
}
void case_116()
-#line 1099 "cs-parser.jay"
+#line 1098 "cs-parser.jay"
{
if (doc_support) {
current_field.DocComment = Lexer.consume_doc_comment ();
@@ -4525,7 +4538,7 @@ void case_116()
}
void case_117()
-#line 1112 "cs-parser.jay"
+#line 1111 "cs-parser.jay"
{
if (lang_version < LanguageVersion.ISO_2)
FeatureIsNotAvailable (GetLocation (yyVals[-2+yyTop]), "fixed size buffers");
@@ -4538,7 +4551,7 @@ void case_117()
}
void case_118()
-#line 1123 "cs-parser.jay"
+#line 1122 "cs-parser.jay"
{
if (doc_support) {
current_field.DocComment = Lexer.consume_doc_comment ();
@@ -4552,7 +4565,7 @@ void case_118()
}
void case_121()
-#line 1146 "cs-parser.jay"
+#line 1145 "cs-parser.jay"
{
++lexer.parsing_block;
current_local_parameters = ParametersCompiled.EmptyReadOnlyParameters;
@@ -4560,7 +4573,7 @@ void case_121()
}
void case_122()
-#line 1152 "cs-parser.jay"
+#line 1151 "cs-parser.jay"
{
--lexer.parsing_block;
current_field.Initializer = (Expression) yyVals[0+yyTop];
@@ -4570,7 +4583,7 @@ void case_122()
}
void case_127()
-#line 1179 "cs-parser.jay"
+#line 1178 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[0+yyTop];
yyVal = new FieldDeclarator (new SimpleMemberName (lt.Value, lt.Location), null);
@@ -4578,7 +4591,7 @@ void case_127()
}
void case_129()
-#line 1189 "cs-parser.jay"
+#line 1188 "cs-parser.jay"
{
--lexer.parsing_block;
var lt = (Tokenizer.LocatedToken) yyVals[-3+yyTop];
@@ -4587,7 +4600,7 @@ void case_129()
}
void case_134()
-#line 1215 "cs-parser.jay"
+#line 1214 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[-1+yyTop];
yyVal = new FieldDeclarator (new SimpleMemberName (lt.Value, lt.Location), (ConstInitializer) yyVals[0+yyTop]);
@@ -4595,7 +4608,7 @@ void case_134()
}
void case_136()
-#line 1228 "cs-parser.jay"
+#line 1227 "cs-parser.jay"
{
--lexer.parsing_block;
yyVal = new ConstInitializer (current_field, (Expression) yyVals[-1+yyTop], GetLocation (yyVals[-3+yyTop]));
@@ -4603,14 +4616,14 @@ void case_136()
}
void case_137()
-#line 1234 "cs-parser.jay"
+#line 1233 "cs-parser.jay"
{
report.Error (443, lexer.Location, "Value or constant expected");
yyVal = null;
}
void case_140()
-#line 1244 "cs-parser.jay"
+#line 1243 "cs-parser.jay"
{
/* It has to be here for the parent to safely restore artificial block*/
Error_SyntaxError (yyToken);
@@ -4618,7 +4631,7 @@ void case_140()
}
void case_141()
-#line 1253 "cs-parser.jay"
+#line 1252 "cs-parser.jay"
{
if (doc_support)
Lexer.doc_state = XmlCommentState.NotAllowed;
@@ -4630,7 +4643,7 @@ void case_141()
}
void case_142()
-#line 1263 "cs-parser.jay"
+#line 1262 "cs-parser.jay"
{
Method method = (Method) yyVals[-2+yyTop];
method.Block = (ToplevelBlock) yyVals[0+yyTop];
@@ -4658,7 +4671,7 @@ void case_142()
}
void case_145()
-#line 1303 "cs-parser.jay"
+#line 1302 "cs-parser.jay"
{
lexer.ConstraintsParsing = false;
valid_param_mod = 0;
@@ -4687,14 +4700,14 @@ void case_145()
}
void case_147()
-#line 1338 "cs-parser.jay"
+#line 1337 "cs-parser.jay"
{
lexer.parsing_generic_declaration = false;
valid_param_mod = ParameterModifierType.All;
}
void case_149()
-#line 1347 "cs-parser.jay"
+#line 1346 "cs-parser.jay"
{
lexer.ConstraintsParsing = false;
valid_param_mod = 0;
@@ -4730,7 +4743,7 @@ void case_149()
}
void case_150()
-#line 1384 "cs-parser.jay"
+#line 1383 "cs-parser.jay"
{
MemberName name = (MemberName) yyVals[-3+yyTop];
report.Error (1585, name.Location,
@@ -4748,7 +4761,7 @@ void case_150()
}
void case_155()
-#line 1413 "cs-parser.jay"
+#line 1412 "cs-parser.jay"
{
var pars_list = (List<Parameter>) yyVals[0+yyTop];
yyVal = new ParametersCompiled (pars_list.ToArray ());
@@ -4756,7 +4769,7 @@ void case_155()
}
void case_156()
-#line 1419 "cs-parser.jay"
+#line 1418 "cs-parser.jay"
{
var pars_list = (List<Parameter>) yyVals[-2+yyTop];
pars_list.Add ((Parameter) yyVals[0+yyTop]);
@@ -4767,7 +4780,7 @@ void case_156()
}
void case_157()
-#line 1428 "cs-parser.jay"
+#line 1427 "cs-parser.jay"
{
var pars_list = (List<Parameter>) yyVals[-2+yyTop];
pars_list.Add (new ArglistParameter (GetLocation (yyVals[0+yyTop])));
@@ -4778,7 +4791,7 @@ void case_157()
}
void case_158()
-#line 1437 "cs-parser.jay"
+#line 1436 "cs-parser.jay"
{
if (yyVals[-2+yyTop] != null)
report.Error (231, ((Parameter) yyVals[-2+yyTop]).Location, "A params parameter must be the last parameter in a formal parameter list");
@@ -4788,7 +4801,7 @@ void case_158()
}
void case_159()
-#line 1445 "cs-parser.jay"
+#line 1444 "cs-parser.jay"
{
if (yyVals[-2+yyTop] != null)
report.Error (231, ((Parameter) yyVals[-2+yyTop]).Location, "A params parameter must be the last parameter in a formal parameter list");
@@ -4803,7 +4816,7 @@ void case_159()
}
void case_160()
-#line 1458 "cs-parser.jay"
+#line 1457 "cs-parser.jay"
{
report.Error (257, GetLocation (yyVals[-2+yyTop]), "An __arglist parameter must be the last parameter in a formal parameter list");
@@ -4812,7 +4825,7 @@ void case_160()
}
void case_161()
-#line 1465 "cs-parser.jay"
+#line 1464 "cs-parser.jay"
{
report.Error (257, GetLocation (yyVals[-2+yyTop]), "An __arglist parameter must be the last parameter in a formal parameter list");
@@ -4826,14 +4839,14 @@ void case_161()
}
void case_164()
-#line 1485 "cs-parser.jay"
+#line 1484 "cs-parser.jay"
{
Error_SyntaxError (yyToken);
yyVal = ParametersCompiled.EmptyReadOnlyParameters;
}
void case_165()
-#line 1493 "cs-parser.jay"
+#line 1492 "cs-parser.jay"
{
parameters_bucket.Clear ();
Parameter p = (Parameter) yyVals[0+yyTop];
@@ -4844,7 +4857,7 @@ void case_165()
}
void case_166()
-#line 1502 "cs-parser.jay"
+#line 1501 "cs-parser.jay"
{
var pars = (List<Parameter>) yyVals[-2+yyTop];
Parameter p = (Parameter) yyVals[0+yyTop];
@@ -4864,7 +4877,7 @@ void case_166()
}
void case_167()
-#line 1526 "cs-parser.jay"
+#line 1525 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[0+yyTop];
yyVal = new Parameter ((FullNamedExpression) yyVals[-1+yyTop], lt.Value, (Parameter.Modifier) yyVals[-2+yyTop], (Attributes) yyVals[-3+yyTop], lt.Location);
@@ -4872,7 +4885,7 @@ void case_167()
}
void case_168()
-#line 1535 "cs-parser.jay"
+#line 1534 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[-2+yyTop];
report.Error (1552, lt.Location, "Array type specifier, [], must appear before parameter name");
@@ -4881,7 +4894,7 @@ void case_168()
}
void case_169()
-#line 1545 "cs-parser.jay"
+#line 1544 "cs-parser.jay"
{
Error_SyntaxError (yyToken);
Location l = GetLocation (yyVals[0+yyTop]);
@@ -4890,7 +4903,7 @@ void case_169()
}
void case_171()
-#line 1560 "cs-parser.jay"
+#line 1559 "cs-parser.jay"
{
--lexer.parsing_block;
if (lang_version <= LanguageVersion.V_3) {
@@ -4929,7 +4942,7 @@ void case_171()
}
void case_175()
-#line 1609 "cs-parser.jay"
+#line 1608 "cs-parser.jay"
{
Parameter.Modifier p2 = (Parameter.Modifier)yyVals[0+yyTop];
Parameter.Modifier mod = (Parameter.Modifier)yyVals[-1+yyTop] | p2;
@@ -4952,7 +4965,7 @@ void case_175()
}
void case_176()
-#line 1633 "cs-parser.jay"
+#line 1632 "cs-parser.jay"
{
if ((valid_param_mod & ParameterModifierType.Ref) == 0)
Error_ParameterModifierNotValid ("ref", GetLocation (yyVals[0+yyTop]));
@@ -4961,7 +4974,7 @@ void case_176()
}
void case_177()
-#line 1640 "cs-parser.jay"
+#line 1639 "cs-parser.jay"
{
if ((valid_param_mod & ParameterModifierType.Out) == 0)
Error_ParameterModifierNotValid ("out", GetLocation (yyVals[0+yyTop]));
@@ -4970,7 +4983,7 @@ void case_177()
}
void case_178()
-#line 1647 "cs-parser.jay"
+#line 1646 "cs-parser.jay"
{
if ((valid_param_mod & ParameterModifierType.This) == 0)
Error_ParameterModifierNotValid ("this", GetLocation (yyVals[0+yyTop]));
@@ -4982,7 +4995,7 @@ void case_178()
}
void case_179()
-#line 1660 "cs-parser.jay"
+#line 1659 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[0+yyTop];
yyVal = new ParamsParameter ((FullNamedExpression) yyVals[-1+yyTop], lt.Value, (Attributes) yyVals[-3+yyTop], lt.Location);
@@ -4990,7 +5003,7 @@ void case_179()
}
void case_180()
-#line 1666 "cs-parser.jay"
+#line 1665 "cs-parser.jay"
{
report.Error (1751, GetLocation (yyVals[-4+yyTop]), "Cannot specify a default value for a parameter array");
@@ -5000,14 +5013,14 @@ void case_180()
}
void case_181()
-#line 1674 "cs-parser.jay"
+#line 1673 "cs-parser.jay"
{
Error_SyntaxError (yyToken);
yyVal = null;
}
void case_182()
-#line 1682 "cs-parser.jay"
+#line 1681 "cs-parser.jay"
{
if ((valid_param_mod & ParameterModifierType.Params) == 0)
report.Error (1670, (GetLocation (yyVals[0+yyTop])), "The `params' modifier is not allowed in current context");
@@ -5015,7 +5028,7 @@ void case_182()
}
void case_183()
-#line 1688 "cs-parser.jay"
+#line 1687 "cs-parser.jay"
{
Parameter.Modifier mod = (Parameter.Modifier)yyVals[0+yyTop];
if ((mod & Parameter.Modifier.This) != 0) {
@@ -5027,21 +5040,21 @@ void case_183()
}
void case_185()
-#line 1705 "cs-parser.jay"
+#line 1704 "cs-parser.jay"
{
if ((valid_param_mod & ParameterModifierType.Arglist) == 0)
report.Error (1669, GetLocation (yyVals[0+yyTop]), "__arglist is not valid in this context");
}
void case_186()
-#line 1716 "cs-parser.jay"
+#line 1715 "cs-parser.jay"
{
if (doc_support)
tmpComment = Lexer.consume_doc_comment ();
}
void case_187()
-#line 1721 "cs-parser.jay"
+#line 1720 "cs-parser.jay"
{
var type = (FullNamedExpression) yyVals[-3+yyTop];
current_property = new Property (current_class, type, (Modifiers) yyVals[-4+yyTop],
@@ -5057,7 +5070,7 @@ void case_187()
}
void case_188()
-#line 1735 "cs-parser.jay"
+#line 1734 "cs-parser.jay"
{
lexer.PropertyParsing = false;
@@ -5066,14 +5079,14 @@ void case_188()
}
void case_189()
-#line 1742 "cs-parser.jay"
+#line 1741 "cs-parser.jay"
{
lbag.AppendToMember (current_property, GetLocation (yyVals[0+yyTop]));
current_property = null;
}
void case_191()
-#line 1756 "cs-parser.jay"
+#line 1755 "cs-parser.jay"
{
valid_param_mod = 0;
var type = (FullNamedExpression) yyVals[-6+yyTop];
@@ -5100,7 +5113,7 @@ void case_191()
}
void case_193()
-#line 1785 "cs-parser.jay"
+#line 1784 "cs-parser.jay"
{
if (current_property.AccessorFirst != null && current_property.AccessorFirst.Block == null)
((Indexer) current_property).ParameterInfo.CheckParameters (current_property);
@@ -5113,7 +5126,7 @@ void case_193()
}
void case_198()
-#line 1804 "cs-parser.jay"
+#line 1803 "cs-parser.jay"
{
if (yyToken == Token.CLOSE_BRACE) {
report.Error (548, lexer.Location, "`{0}': property or indexer must have at least one accessor", current_property.GetSignatureForError ());
@@ -5126,7 +5139,7 @@ void case_198()
}
void case_199()
-#line 1818 "cs-parser.jay"
+#line 1817 "cs-parser.jay"
{
if (yyVals[-1+yyTop] != ModifierNone && lang_version == LanguageVersion.ISO_1) {
FeatureIsNotAvailable (GetLocation (yyVals[-1+yyTop]), "access modifiers on properties");
@@ -5149,7 +5162,7 @@ void case_199()
}
void case_200()
-#line 1839 "cs-parser.jay"
+#line 1838 "cs-parser.jay"
{
if (yyVals[0+yyTop] != null) {
current_property.Get.Block = (ToplevelBlock) yyVals[0+yyTop];
@@ -5172,7 +5185,7 @@ void case_200()
}
void case_201()
-#line 1863 "cs-parser.jay"
+#line 1862 "cs-parser.jay"
{
if (yyVals[-1+yyTop] != ModifierNone && lang_version == LanguageVersion.ISO_1) {
FeatureIsNotAvailable (GetLocation (yyVals[-1+yyTop]), "access modifiers on properties");
@@ -5200,7 +5213,7 @@ void case_201()
}
void case_202()
-#line 1889 "cs-parser.jay"
+#line 1888 "cs-parser.jay"
{
if (yyVals[0+yyTop] != null) {
current_property.Set.Block = (ToplevelBlock) yyVals[0+yyTop];
@@ -5223,21 +5236,21 @@ void case_202()
}
void case_204()
-#line 1914 "cs-parser.jay"
+#line 1913 "cs-parser.jay"
{
savedLocation = GetLocation (yyVals[0+yyTop]);
yyVal = null;
}
void case_205()
-#line 1919 "cs-parser.jay"
+#line 1918 "cs-parser.jay"
{
Error_SyntaxError (1043, yyToken, "Invalid accessor body");
yyVal = null;
}
void case_207()
-#line 1934 "cs-parser.jay"
+#line 1933 "cs-parser.jay"
{
MemberName name = MakeName ((MemberName) yyVals[0+yyTop]);
push_current_class (new Interface (current_namespace, current_class, name, (Modifiers) yyVals[-4+yyTop], (Attributes) yyVals[-5+yyTop]), yyVals[-3+yyTop]);
@@ -5245,7 +5258,7 @@ void case_207()
}
void case_208()
-#line 1941 "cs-parser.jay"
+#line 1940 "cs-parser.jay"
{
lexer.ConstraintsParsing = false;
@@ -5260,7 +5273,7 @@ void case_208()
}
void case_209()
-#line 1954 "cs-parser.jay"
+#line 1953 "cs-parser.jay"
{
--lexer.parsing_declaration;
if (doc_support)
@@ -5268,7 +5281,7 @@ void case_209()
}
void case_210()
-#line 1960 "cs-parser.jay"
+#line 1959 "cs-parser.jay"
{
if (yyVals[0+yyTop] != null)
current_class.OptionalSemicolon = GetLocation (yyVals[0+yyTop]);
@@ -5277,7 +5290,7 @@ void case_210()
}
void case_226()
-#line 2020 "cs-parser.jay"
+#line 2019 "cs-parser.jay"
{
OperatorDeclaration decl = (OperatorDeclaration) yyVals[-2+yyTop];
if (decl != null) {
@@ -5307,14 +5320,14 @@ void case_226()
}
void case_230()
-#line 2057 "cs-parser.jay"
+#line 2056 "cs-parser.jay"
{
report.Error (590, GetLocation (yyVals[0+yyTop]), "User-defined operators cannot return void");
yyVal = new TypeExpression (compiler.BuiltinTypes.Void, GetLocation (yyVals[0+yyTop]));
}
void case_232()
-#line 2069 "cs-parser.jay"
+#line 2068 "cs-parser.jay"
{
valid_param_mod = 0;
@@ -5356,7 +5369,7 @@ void case_232()
}
void case_257()
-#line 2145 "cs-parser.jay"
+#line 2144 "cs-parser.jay"
{
valid_param_mod = 0;
@@ -5373,7 +5386,7 @@ void case_257()
}
void case_259()
-#line 2164 "cs-parser.jay"
+#line 2163 "cs-parser.jay"
{
valid_param_mod = 0;
@@ -5390,7 +5403,7 @@ void case_259()
}
void case_260()
-#line 2179 "cs-parser.jay"
+#line 2178 "cs-parser.jay"
{
Error_SyntaxError (yyToken);
current_local_parameters = ParametersCompiled.EmptyReadOnlyParameters;
@@ -5398,7 +5411,7 @@ void case_260()
}
void case_261()
-#line 2185 "cs-parser.jay"
+#line 2184 "cs-parser.jay"
{
Error_SyntaxError (yyToken);
current_local_parameters = ParametersCompiled.EmptyReadOnlyParameters;
@@ -5406,7 +5419,7 @@ void case_261()
}
void case_262()
-#line 2195 "cs-parser.jay"
+#line 2194 "cs-parser.jay"
{
Constructor c = (Constructor) yyVals[-1+yyTop];
c.Block = (ToplevelBlock) yyVals[0+yyTop];
@@ -5422,7 +5435,7 @@ void case_262()
}
void case_263()
-#line 2214 "cs-parser.jay"
+#line 2213 "cs-parser.jay"
{
if (doc_support) {
tmpComment = Lexer.consume_doc_comment ();
@@ -5433,7 +5446,7 @@ void case_263()
}
void case_264()
-#line 2223 "cs-parser.jay"
+#line 2222 "cs-parser.jay"
{
valid_param_mod = 0;
current_local_parameters = (ParametersCompiled) yyVals[-1+yyTop];
@@ -5446,7 +5459,7 @@ void case_264()
}
void case_265()
-#line 2234 "cs-parser.jay"
+#line 2233 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[-6+yyTop];
var mods = (Modifiers) yyVals[-7+yyTop];
@@ -5476,7 +5489,7 @@ void case_265()
}
void case_271()
-#line 2279 "cs-parser.jay"
+#line 2278 "cs-parser.jay"
{
--lexer.parsing_block;
yyVal = new ConstructorBaseInitializer ((Arguments) yyVals[-1+yyTop], GetLocation (yyVals[-4+yyTop]));
@@ -5484,7 +5497,7 @@ void case_271()
}
void case_273()
-#line 2289 "cs-parser.jay"
+#line 2288 "cs-parser.jay"
{
--lexer.parsing_block;
yyVal = new ConstructorThisInitializer ((Arguments) yyVals[-1+yyTop], GetLocation (yyVals[-4+yyTop]));
@@ -5492,14 +5505,14 @@ void case_273()
}
void case_274()
-#line 2295 "cs-parser.jay"
+#line 2294 "cs-parser.jay"
{
Error_SyntaxError (yyToken);
yyVal = null;
}
void case_275()
-#line 2303 "cs-parser.jay"
+#line 2302 "cs-parser.jay"
{
if (doc_support) {
tmpComment = Lexer.consume_doc_comment ();
@@ -5510,7 +5523,7 @@ void case_275()
}
void case_276()
-#line 2312 "cs-parser.jay"
+#line 2311 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[-3+yyTop];
if (lt.Value != current_container.MemberName.Name){
@@ -5532,7 +5545,7 @@ void case_276()
}
void case_277()
-#line 2337 "cs-parser.jay"
+#line 2336 "cs-parser.jay"
{
current_event_field = new EventField (current_class, (FullNamedExpression) yyVals[-1+yyTop], (Modifiers) yyVals[-3+yyTop], (MemberName) yyVals[0+yyTop], (Attributes) yyVals[-4+yyTop]);
current_container.AddEvent (current_event_field);
@@ -5546,7 +5559,7 @@ void case_277()
}
void case_278()
-#line 2351 "cs-parser.jay"
+#line 2350 "cs-parser.jay"
{
if (doc_support) {
current_event_field.DocComment = Lexer.consume_doc_comment ();
@@ -5558,7 +5571,7 @@ void case_278()
}
void case_279()
-#line 2364 "cs-parser.jay"
+#line 2363 "cs-parser.jay"
{
current_event = new EventProperty (current_class, (FullNamedExpression) yyVals[-2+yyTop], (Modifiers) yyVals[-4+yyTop], (MemberName) yyVals[-1+yyTop], (Attributes) yyVals[-5+yyTop]);
current_container.AddEvent (current_event);
@@ -5568,7 +5581,7 @@ void case_279()
}
void case_280()
-#line 2372 "cs-parser.jay"
+#line 2371 "cs-parser.jay"
{
if (current_container.Kind == MemberKind.Interface)
report.Error (69, GetLocation (yyVals[-2+yyTop]), "Event in interface cannot have add or remove accessors");
@@ -5577,7 +5590,7 @@ void case_280()
}
void case_281()
-#line 2379 "cs-parser.jay"
+#line 2378 "cs-parser.jay"
{
if (doc_support) {
current_event.DocComment = Lexer.consume_doc_comment ();
@@ -5590,14 +5603,14 @@ void case_281()
}
void case_284()
-#line 2398 "cs-parser.jay"
+#line 2397 "cs-parser.jay"
{
--lexer.parsing_block;
current_event_field.Initializer = (Expression) yyVals[0+yyTop];
}
void case_289()
-#line 2422 "cs-parser.jay"
+#line 2421 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[0+yyTop];
yyVal = new FieldDeclarator (new SimpleMemberName (lt.Value, lt.Location), null);
@@ -5605,7 +5618,7 @@ void case_289()
}
void case_291()
-#line 2432 "cs-parser.jay"
+#line 2431 "cs-parser.jay"
{
--lexer.parsing_block;
var lt = (Tokenizer.LocatedToken) yyVals[-3+yyTop];
@@ -5614,7 +5627,7 @@ void case_291()
}
void case_292()
-#line 2441 "cs-parser.jay"
+#line 2440 "cs-parser.jay"
{
if (current_container.Kind == MemberKind.Interface) {
report.Error (68, lexer.Location, "`{0}': event in interface cannot have an initializer",
@@ -5628,28 +5641,28 @@ void case_292()
}
void case_296()
-#line 2462 "cs-parser.jay"
+#line 2461 "cs-parser.jay"
{
report.Error (65, lexer.Location, "`{0}': event property must have both add and remove accessors",
current_event.GetSignatureForError ());
}
void case_297()
-#line 2467 "cs-parser.jay"
+#line 2466 "cs-parser.jay"
{
report.Error (65, lexer.Location, "`{0}': event property must have both add and remove accessors",
current_event.GetSignatureForError ());
}
void case_298()
-#line 2472 "cs-parser.jay"
+#line 2471 "cs-parser.jay"
{
report.Error (1055, GetLocation (yyVals[0+yyTop]), "An add or remove accessor expected");
yyVal = null;
}
void case_299()
-#line 2480 "cs-parser.jay"
+#line 2479 "cs-parser.jay"
{
if (yyVals[-1+yyTop] != ModifierNone) {
report.Error (1609, GetLocation (yyVals[-1+yyTop]), "Modifiers cannot be placed on event accessor declarations");
@@ -5663,7 +5676,7 @@ void case_299()
}
void case_300()
-#line 2492 "cs-parser.jay"
+#line 2491 "cs-parser.jay"
{
lexer.EventParsing = true;
@@ -5678,7 +5691,7 @@ void case_300()
}
void case_301()
-#line 2508 "cs-parser.jay"
+#line 2507 "cs-parser.jay"
{
if (yyVals[-1+yyTop] != ModifierNone) {
report.Error (1609, GetLocation (yyVals[-1+yyTop]), "Modifiers cannot be placed on event accessor declarations");
@@ -5692,7 +5705,7 @@ void case_301()
}
void case_302()
-#line 2520 "cs-parser.jay"
+#line 2519 "cs-parser.jay"
{
lexer.EventParsing = true;
@@ -5707,35 +5720,39 @@ void case_302()
}
void case_303()
-#line 2536 "cs-parser.jay"
+#line 2535 "cs-parser.jay"
{
report.Error (73, lexer.Location, "An add or remove accessor must have a body");
yyVal = null;
}
-void case_306()
-#line 2552 "cs-parser.jay"
+void case_305()
+#line 2548 "cs-parser.jay"
{
if (doc_support)
enumTypeComment = Lexer.consume_doc_comment ();
}
-void case_307()
-#line 2557 "cs-parser.jay"
+void case_306()
+#line 2553 "cs-parser.jay"
{
if (doc_support)
Lexer.doc_state = XmlCommentState.Allowed;
- enumCommas.Add (GetLocation (yyVals[0+yyTop]));
MemberName name = (MemberName) yyVals[-3+yyTop];
if (name.IsGeneric) {
report.Error (1675, name.Location, "Enums cannot have type parameters");
}
- push_current_class (new Enum (current_namespace, current_class, (TypeExpression) yyVals[-2+yyTop], (Modifiers) yyVals[-6+yyTop], MakeName (name), (Attributes) yyVals[-7+yyTop]), null);
+ push_current_class (new Enum (current_namespace, current_class, (TypeExpression) yyVals[-2+yyTop], (Modifiers) yyVals[-5+yyTop], MakeName (name), (Attributes) yyVals[-6+yyTop]), null);
+ if (yyVals[-2+yyTop] != null) {
+ lbag.AddMember (current_class, GetModifierLocations (), GetLocation (yyVals[-4+yyTop]), savedLocation, GetLocation (yyVals[0+yyTop]));
+ } else {
+ lbag.AddMember (current_class, GetModifierLocations (), GetLocation (yyVals[-4+yyTop]), GetLocation (yyVals[0+yyTop]));
+ }
}
-void case_308()
+void case_307()
#line 2570 "cs-parser.jay"
{
/* here will be evaluated after CLOSE_BLACE is consumed.*/
@@ -5743,23 +5760,23 @@ void case_308()
Lexer.doc_state = XmlCommentState.Allowed;
}
-void case_309()
+void case_308()
#line 2576 "cs-parser.jay"
{
- enumCommas.Add (GetLocation (yyVals[-1+yyTop]));
- if (yyVals[0+yyTop] != null)
+ lbag.AppendToMember (current_class, GetLocation (yyVals[-1+yyTop]));
+ if (yyVals[0+yyTop] != null) {
current_class.OptionalSemicolon = GetLocation (yyVals[0+yyTop]);
+ lbag.AppendToMember (current_class, GetLocation (yyVals[0+yyTop]));
+ }
if (doc_support)
current_class.DocComment = enumTypeComment;
--lexer.parsing_declaration;
- lbag.AddMember (current_class, GetModifierLocations (), enumCommas);
- enumCommas.Clear ();
yyVal = pop_current_class ();
}
-void case_311()
+void case_310()
#line 2594 "cs-parser.jay"
{
var te = yyVals[0+yyTop] as TypeExpression;
@@ -5767,26 +5784,26 @@ void case_311()
Enum.Error_1008 (GetLocation (yyVals[0+yyTop]), report);
yyVal = null;
} else {
- enumCommas.Add (GetLocation (yyVals[-1+yyTop]));
+ savedLocation = GetLocation (yyVals[-1+yyTop]);
yyVal = yyVals[0+yyTop];
}
}
-void case_312()
+void case_311()
#line 2605 "cs-parser.jay"
{
Error_TypeExpected (GetLocation (yyVals[-1+yyTop]));
yyVal = null;
}
-void case_317()
+void case_316()
#line 2623 "cs-parser.jay"
{
- enumCommas.Add (GetLocation (yyVals[-1+yyTop]));
+ lbag.AppendToMember (current_class, GetLocation (yyVals[-1+yyTop]));
yyVal = yyVals[0+yyTop];
}
-void case_318()
+void case_317()
#line 2631 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[0+yyTop];
@@ -5801,7 +5818,7 @@ void case_318()
yyVal = em;
}
-void case_319()
+void case_318()
#line 2644 "cs-parser.jay"
{
++lexer.parsing_block;
@@ -5811,7 +5828,7 @@ void case_319()
}
}
-void case_320()
+void case_319()
#line 2652 "cs-parser.jay"
{
--lexer.parsing_block;
@@ -5827,7 +5844,7 @@ void case_320()
yyVal = em;
}
-void case_322()
+void case_321()
#line 2677 "cs-parser.jay"
{
valid_param_mod = 0;
@@ -5847,7 +5864,7 @@ void case_322()
lexer.ConstraintsParsing = true;
}
-void case_324()
+void case_323()
#line 2699 "cs-parser.jay"
{
if (doc_support) {
@@ -5863,7 +5880,7 @@ void case_324()
current_delegate = null;
}
-void case_326()
+void case_325()
#line 2717 "cs-parser.jay"
{
if (lang_version < LanguageVersion.ISO_2)
@@ -5872,7 +5889,7 @@ void case_326()
yyVal = ComposedTypeSpecifier.CreateNullable (GetLocation (yyVals[0+yyTop]));
}
-void case_328()
+void case_327()
#line 2728 "cs-parser.jay"
{
var lt1 = (Tokenizer.LocatedToken) yyVals[-2+yyTop];
@@ -5881,7 +5898,7 @@ void case_328()
yyVal = new MemberName (lt1.Value, lt2.Value, (TypeArguments) yyVals[0+yyTop], lt1.Location);
}
-void case_330()
+void case_329()
#line 2739 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[-1+yyTop];
@@ -5890,14 +5907,14 @@ void case_330()
};
}
-void case_331()
+void case_330()
#line 2749 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[-1+yyTop];
yyVal = new MemberName (lt.Value, (TypeArguments)yyVals[0+yyTop], lt.Location);
}
-void case_333()
+void case_332()
#line 2761 "cs-parser.jay"
{
if (lang_version < LanguageVersion.ISO_2)
@@ -5910,14 +5927,14 @@ void case_333()
yyVal = yyVals[-1+yyTop];;
}
-void case_334()
+void case_333()
#line 2772 "cs-parser.jay"
{
Error_TypeExpected (lexer.Location);
yyVal = new TypeArguments ();
}
-void case_335()
+void case_334()
#line 2780 "cs-parser.jay"
{
TypeArguments type_args = new TypeArguments ();
@@ -5926,7 +5943,7 @@ void case_335()
locationListStack.Push (new List<Location> ());
}
-void case_336()
+void case_335()
#line 2787 "cs-parser.jay"
{
TypeArguments type_args = (TypeArguments) yyVals[-2+yyTop];
@@ -5935,7 +5952,7 @@ void case_336()
locationListStack.Peek ().Add (GetLocation (yyVals[-1+yyTop]));
}
-void case_338()
+void case_337()
#line 2804 "cs-parser.jay"
{
lexer.parsing_generic_declaration = false;
@@ -5943,7 +5960,7 @@ void case_338()
yyVal = new MemberName (lt.Value, (TypeArguments)yyVals[0+yyTop], lt.Location);
}
-void case_339()
+void case_338()
#line 2813 "cs-parser.jay"
{
MemberName mn = (MemberName)yyVals[0+yyTop];
@@ -5952,7 +5969,7 @@ void case_339()
mn.GetSignatureForError ()));
}
-void case_341()
+void case_340()
#line 2824 "cs-parser.jay"
{
lexer.parsing_generic_declaration = false;
@@ -5960,21 +5977,21 @@ void case_341()
yyVal = new MemberName ((MemberName) yyVals[-2+yyTop], lt.Value, (TypeArguments) yyVals[0+yyTop], lt.Location);
}
-void case_342()
+void case_341()
#line 2833 "cs-parser.jay"
{
lexer.parsing_generic_declaration = false;
yyVal = new MemberName (TypeContainer.DefaultIndexerName, GetLocation (yyVals[0+yyTop]));
}
-void case_343()
+void case_342()
#line 2838 "cs-parser.jay"
{
lexer.parsing_generic_declaration = false;
yyVal = new MemberName ((MemberName) yyVals[-1+yyTop], TypeContainer.DefaultIndexerName, null, GetLocation (yyVals[0+yyTop]));
}
-void case_344()
+void case_343()
#line 2846 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[-2+yyTop];
@@ -5982,7 +5999,7 @@ void case_344()
lbag.AddLocation (yyVal, GetLocation (yyVals[0+yyTop]));
}
-void case_345()
+void case_344()
#line 2852 "cs-parser.jay"
{
var lt1 = (Tokenizer.LocatedToken) yyVals[-3+yyTop];
@@ -5992,7 +6009,7 @@ void case_345()
lbag.AddLocation (yyVal, GetLocation (yyVals[0+yyTop]));
}
-void case_346()
+void case_345()
#line 2860 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[-2+yyTop];
@@ -6000,7 +6017,7 @@ void case_346()
lbag.AddLocation (yyVal, GetLocation (yyVals[0+yyTop]));
}
-void case_348()
+void case_347()
#line 2870 "cs-parser.jay"
{
if (lang_version < LanguageVersion.ISO_2)
@@ -6010,7 +6027,7 @@ void case_348()
lbag.AppendTo (yyVal, GetLocation (yyVals[-2+yyTop]), GetLocation (yyVals[0+yyTop]));
}
-void case_349()
+void case_348()
#line 2881 "cs-parser.jay"
{
TypeArguments type_args = new TypeArguments ();
@@ -6018,7 +6035,7 @@ void case_349()
yyVal = type_args;
}
-void case_350()
+void case_349()
#line 2887 "cs-parser.jay"
{
TypeArguments type_args = (TypeArguments) yyVals[-2+yyTop];
@@ -6027,7 +6044,7 @@ void case_350()
lbag.AppendTo (type_args, GetLocation (yyVals[-1+yyTop]));
}
-void case_351()
+void case_350()
#line 2897 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken)yyVals[0+yyTop];
@@ -6037,7 +6054,7 @@ void case_351()
lbag.AddLocation (yyVal, savedLocation);
}
-void case_352()
+void case_351()
#line 2905 "cs-parser.jay"
{
if (GetTokenName (yyToken) == "type")
@@ -6048,28 +6065,28 @@ void case_352()
yyVal = new TypeParameterName ("", null, lexer.Location);
}
-void case_357()
+void case_356()
#line 2939 "cs-parser.jay"
{
Expression.Error_VoidInvalidInTheContext (GetLocation (yyVals[0+yyTop]), report);
yyVal = new TypeExpression (compiler.BuiltinTypes.Void, GetLocation (yyVals[0+yyTop]));
}
-void case_359()
+void case_358()
#line 2948 "cs-parser.jay"
{
Expression.Error_VoidInvalidInTheContext (GetLocation (yyVals[0+yyTop]), report);
yyVal = new TypeExpression (compiler.BuiltinTypes.Void, GetLocation (yyVals[0+yyTop]));
}
-void case_361()
+void case_360()
#line 2957 "cs-parser.jay"
{
report.Error (1536, GetLocation (yyVals[0+yyTop]), "Invalid parameter type `void'");
yyVal = new TypeExpression (compiler.BuiltinTypes.Void, GetLocation (yyVals[0+yyTop]));
}
-void case_364()
+void case_363()
#line 2973 "cs-parser.jay"
{
MemberName name = (MemberName) yyVals[-1+yyTop];
@@ -6084,14 +6101,14 @@ void case_364()
}
}
-void case_366()
+void case_365()
#line 2990 "cs-parser.jay"
{
if (yyVals[0+yyTop] != null)
yyVal = new ComposedCast ((FullNamedExpression) yyVals[-1+yyTop], (ComposedTypeSpecifier) yyVals[0+yyTop]);
}
-void case_369()
+void case_368()
#line 3006 "cs-parser.jay"
{
var types = new List<FullNamedExpression> (2);
@@ -6099,7 +6116,7 @@ void case_369()
yyVal = types;
}
-void case_370()
+void case_369()
#line 3012 "cs-parser.jay"
{
var types = (List<FullNamedExpression>) yyVals[-2+yyTop];
@@ -6108,7 +6125,7 @@ void case_370()
yyVal = types;
}
-void case_371()
+void case_370()
#line 3022 "cs-parser.jay"
{
if (yyVals[0+yyTop] is ComposedCast) {
@@ -6117,35 +6134,35 @@ void case_371()
yyVal = yyVals[0+yyTop];
}
-void case_372()
+void case_371()
#line 3029 "cs-parser.jay"
{
Error_TypeExpected (lexer.Location);
yyVal = null;
}
-void case_409()
+void case_408()
#line 3091 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[-1+yyTop];
yyVal = new SimpleName (lt.Value, (TypeArguments)yyVals[0+yyTop], lt.Location);
}
-void case_410()
+void case_409()
#line 3095 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[-1+yyTop];
yyVal = new CompletionSimpleName (MemberName.MakeName (lt.Value, null), lt.Location);
}
-void case_421()
+void case_420()
#line 3136 "cs-parser.jay"
{
yyVal = new ParenthesizedExpression ((Expression) yyVals[-1+yyTop]);
lbag.AddLocation (yyVal, GetLocation (yyVals[-2+yyTop]), GetLocation (yyVals[0+yyTop]));
}
-void case_423()
+void case_422()
#line 3148 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[-1+yyTop];
@@ -6154,7 +6171,7 @@ void case_423()
};
}
-void case_424()
+void case_423()
#line 3155 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[-1+yyTop];
@@ -6163,7 +6180,7 @@ void case_424()
};
}
-void case_425()
+void case_424()
#line 3162 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[-1+yyTop];
@@ -6172,7 +6189,7 @@ void case_425()
};
}
-void case_426()
+void case_425()
#line 3169 "cs-parser.jay"
{
var lt1 = (Tokenizer.LocatedToken) yyVals[-2+yyTop];
@@ -6182,28 +6199,28 @@ void case_426()
lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop]));
}
-void case_428()
+void case_427()
#line 3179 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[-1+yyTop];
yyVal = new CompletionMemberAccess ((Expression) yyVals[-3+yyTop], lt.Value, lt.Location);
}
-void case_430()
+void case_429()
#line 3187 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[-1+yyTop];
yyVal = new CompletionMemberAccess ((Expression) yyVals[-3+yyTop], lt.Value, lt.Location);
}
-void case_431()
+void case_430()
#line 3195 "cs-parser.jay"
{
yyVal = new Invocation ((Expression) yyVals[-3+yyTop], (Arguments) yyVals[-1+yyTop]);
lbag.AddLocation (yyVal, GetLocation (yyVals[-2+yyTop]), GetLocation (yyVals[0+yyTop]));
}
-void case_434()
+void case_433()
#line 3208 "cs-parser.jay"
{
if (yyVals[-1+yyTop] == null) {
@@ -6215,14 +6232,14 @@ void case_434()
}
}
-void case_435()
+void case_434()
#line 3218 "cs-parser.jay"
{
yyVal = new CollectionOrObjectInitializers ((List<Expression>) yyVals[-2+yyTop], GetLocation (yyVals[-3+yyTop]));
lbag.AddLocation (yyVal, GetLocation (yyVals[-3+yyTop]), GetLocation (yyVals[-1+yyTop]), GetLocation (yyVals[0+yyTop]));
}
-void case_438()
+void case_437()
#line 3234 "cs-parser.jay"
{
var a = new List<Expression> ();
@@ -6230,7 +6247,7 @@ void case_438()
yyVal = a;
}
-void case_439()
+void case_438()
#line 3240 "cs-parser.jay"
{
var a = (List<Expression>)yyVals[-2+yyTop];
@@ -6239,14 +6256,14 @@ void case_439()
yyVal = a;
}
-void case_440()
+void case_439()
#line 3246 "cs-parser.jay"
{
Error_SyntaxError (yyToken);
yyVal = yyVals[-1+yyTop];
}
-void case_441()
+void case_440()
#line 3254 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[-2+yyTop];
@@ -6254,7 +6271,7 @@ void case_441()
lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop]));
}
-void case_443()
+void case_442()
#line 3263 "cs-parser.jay"
{
CompletionSimpleName csn = yyVals[-1+yyTop] as CompletionSimpleName;
@@ -6264,7 +6281,7 @@ void case_443()
yyVal = new CompletionElementInitializer (csn.Prefix, csn.Location);
}
-void case_444()
+void case_443()
#line 3271 "cs-parser.jay"
{
if (yyVals[-1+yyTop] == null)
@@ -6273,14 +6290,14 @@ void case_444()
yyVal = new CollectionElementInitializer ((List<Expression>)yyVals[-1+yyTop], GetLocation (yyVals[-2+yyTop]));
}
-void case_445()
+void case_444()
#line 3278 "cs-parser.jay"
{
report.Error (1920, GetLocation (yyVals[-1+yyTop]), "An element initializer cannot be empty");
yyVal = null;
}
-void case_450()
+void case_449()
#line 3296 "cs-parser.jay"
{
Arguments list = new Arguments (4);
@@ -6288,7 +6305,7 @@ void case_450()
yyVal = list;
}
-void case_451()
+void case_450()
#line 3302 "cs-parser.jay"
{
Arguments list = (Arguments) yyVals[-2+yyTop];
@@ -6300,7 +6317,7 @@ void case_451()
yyVal = list;
}
-void case_452()
+void case_451()
#line 3312 "cs-parser.jay"
{
Arguments list = (Arguments) yyVals[-2+yyTop];
@@ -6317,56 +6334,56 @@ void case_452()
yyVal = list;
}
-void case_453()
+void case_452()
#line 3327 "cs-parser.jay"
{
report.Error (839, GetLocation (yyVals[0+yyTop]), "An argument is missing");
yyVal = yyVals[-1+yyTop];
}
-void case_454()
+void case_453()
#line 3332 "cs-parser.jay"
{
report.Error (839, GetLocation (yyVals[-1+yyTop]), "An argument is missing");
yyVal = null;
}
-void case_459()
+void case_458()
#line 3353 "cs-parser.jay"
{
yyVal = new Argument ((Expression) yyVals[0+yyTop], Argument.AType.Ref);
lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop]));
}
-void case_460()
+void case_459()
#line 3358 "cs-parser.jay"
{
yyVal = new Argument ((Expression) yyVals[0+yyTop], Argument.AType.Out);
lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop]));
}
-void case_461()
+void case_460()
#line 3363 "cs-parser.jay"
{
yyVal = new Argument (new Arglist ((Arguments) yyVals[-1+yyTop], GetLocation (yyVals[-3+yyTop])));
lbag.AddLocation (yyVal, GetLocation (yyVals[-2+yyTop]), GetLocation (yyVals[0+yyTop]));
}
-void case_462()
+void case_461()
#line 3368 "cs-parser.jay"
{
yyVal = new Argument (new Arglist (GetLocation (yyVals[-2+yyTop])));
lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop]), GetLocation (yyVals[0+yyTop]));
}
-void case_464()
+void case_463()
#line 3380 "cs-parser.jay"
{
yyVal = new ElementAccess ((Expression) yyVals[-3+yyTop], (Arguments) yyVals[-1+yyTop], GetLocation (yyVals[-2+yyTop]));
lbag.AddLocation (yyVal, GetLocation (yyVals[0+yyTop]));
}
-void case_467()
+void case_466()
#line 3396 "cs-parser.jay"
{
var list = new List<Expression> (4);
@@ -6374,7 +6391,7 @@ void case_467()
yyVal = list;
}
-void case_468()
+void case_467()
#line 3402 "cs-parser.jay"
{
var list = (List<Expression>) yyVals[-2+yyTop];
@@ -6383,14 +6400,14 @@ void case_468()
yyVal = list;
}
-void case_469()
+void case_468()
#line 3408 "cs-parser.jay"
{
Error_SyntaxError (yyToken);
yyVal = yyVals[-1+yyTop];
}
-void case_470()
+void case_469()
#line 3416 "cs-parser.jay"
{
Arguments args = new Arguments (4);
@@ -6398,7 +6415,7 @@ void case_470()
yyVal = args;
}
-void case_471()
+void case_470()
#line 3422 "cs-parser.jay"
{
Arguments args = (Arguments) yyVals[-2+yyTop];
@@ -6410,21 +6427,21 @@ void case_471()
yyVal = args;
}
-void case_475()
+void case_474()
#line 3450 "cs-parser.jay"
{
yyVal = new ElementAccess (new BaseThis (GetLocation (yyVals[-3+yyTop])), (Arguments) yyVals[-1+yyTop], GetLocation (yyVals[-2+yyTop]));
lbag.AddLocation (yyVal, GetLocation (yyVals[0+yyTop]));
}
-void case_476()
+void case_475()
#line 3455 "cs-parser.jay"
{
Error_SyntaxError (yyToken);
yyVal = new ElementAccess (null, null, GetLocation (yyVals[-1+yyTop]));
}
-void case_479()
+void case_478()
#line 3477 "cs-parser.jay"
{
if (yyVals[0+yyTop] != null) {
@@ -6439,7 +6456,7 @@ void case_479()
lbag.AddLocation (yyVal, GetLocation (yyVals[-3+yyTop]), GetLocation (yyVals[-1+yyTop]));
}
-void case_480()
+void case_479()
#line 3490 "cs-parser.jay"
{
if (lang_version <= LanguageVersion.ISO_2)
@@ -6448,7 +6465,7 @@ void case_480()
yyVal = new NewInitialize ((FullNamedExpression) yyVals[-1+yyTop], null, (CollectionOrObjectInitializers) yyVals[0+yyTop], GetLocation (yyVals[-2+yyTop]));
}
-void case_481()
+void case_480()
#line 3502 "cs-parser.jay"
{
yyVal = new ArrayCreation ((FullNamedExpression) yyVals[-5+yyTop], (List<Expression>) yyVals[-3+yyTop],
@@ -6458,7 +6475,7 @@ void case_481()
lbag.AddLocation (yyVal, GetLocation (yyVals[-4+yyTop]), GetLocation (yyVals[-2+yyTop]));
}
-void case_482()
+void case_481()
#line 3510 "cs-parser.jay"
{
if (yyVals[0+yyTop] == null)
@@ -6467,7 +6484,7 @@ void case_482()
yyVal = new ArrayCreation ((FullNamedExpression) yyVals[-2+yyTop], (ComposedTypeSpecifier) yyVals[-1+yyTop], (ArrayInitializer) yyVals[0+yyTop], GetLocation (yyVals[-3+yyTop]));
}
-void case_483()
+void case_482()
#line 3517 "cs-parser.jay"
{
if (lang_version <= LanguageVersion.ISO_2)
@@ -6476,28 +6493,28 @@ void case_483()
yyVal = new ImplicitlyTypedArrayCreation ((ComposedTypeSpecifier) yyVals[-1+yyTop], (ArrayInitializer) yyVals[0+yyTop], GetLocation (yyVals[-2+yyTop]));
}
-void case_484()
+void case_483()
#line 3524 "cs-parser.jay"
{
report.Error (178, GetLocation (yyVals[-1+yyTop]), "Invalid rank specifier, expecting `,' or `]'");
yyVal = new ArrayCreation ((FullNamedExpression) yyVals[-5+yyTop], null, GetLocation (yyVals[-6+yyTop]));
}
-void case_485()
+void case_484()
#line 3529 "cs-parser.jay"
{
Error_SyntaxError (1526, yyToken, "Unexpected symbol");
yyVal = new ArrayCreation ((FullNamedExpression) yyVals[-1+yyTop], null, GetLocation (yyVals[-2+yyTop]));
}
-void case_487()
+void case_486()
#line 3540 "cs-parser.jay"
{
--lexer.parsing_type;
yyVal = yyVals[0+yyTop];
}
-void case_488()
+void case_487()
#line 3548 "cs-parser.jay"
{
if (lang_version <= LanguageVersion.ISO_2)
@@ -6509,7 +6526,7 @@ void case_488()
lbag.AddLocation (yyVal, GetLocation (yyVals[-2+yyTop]), GetLocation (yyVals[0+yyTop]));
}
-void case_493()
+void case_492()
#line 3571 "cs-parser.jay"
{
var a = new List<AnonymousTypeParameter> (4);
@@ -6517,7 +6534,7 @@ void case_493()
yyVal = a;
}
-void case_494()
+void case_493()
#line 3577 "cs-parser.jay"
{
var a = (List<AnonymousTypeParameter>) yyVals[-2+yyTop];
@@ -6527,7 +6544,7 @@ void case_494()
yyVal = a;
}
-void case_495()
+void case_494()
#line 3588 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken)yyVals[-2+yyTop];
@@ -6535,7 +6552,7 @@ void case_495()
lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop]));
}
-void case_496()
+void case_495()
#line 3594 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken)yyVals[0+yyTop];
@@ -6543,14 +6560,14 @@ void case_496()
lt.Value, lt.Location);
}
-void case_497()
+void case_496()
#line 3600 "cs-parser.jay"
{
MemberAccess ma = (MemberAccess) yyVals[0+yyTop];
yyVal = new AnonymousTypeParameter (ma, ma.Name, ma.Location);
}
-void case_498()
+void case_497()
#line 3605 "cs-parser.jay"
{
report.Error (746, lexer.Location,
@@ -6558,28 +6575,28 @@ void case_498()
yyVal = null;
}
-void case_502()
+void case_501()
#line 3620 "cs-parser.jay"
{
((ComposedTypeSpecifier) yyVals[-1+yyTop]).Next = (ComposedTypeSpecifier) yyVals[0+yyTop];
yyVal = yyVals[-1+yyTop];
}
-void case_503()
+void case_502()
#line 3628 "cs-parser.jay"
{
yyVal = ComposedTypeSpecifier.CreateArrayDimension (1, GetLocation (yyVals[-1+yyTop]));
lbag.AddLocation (yyVal, GetLocation (yyVals[0+yyTop]));
}
-void case_504()
+void case_503()
#line 3633 "cs-parser.jay"
{
yyVal = ComposedTypeSpecifier.CreateArrayDimension ((int)yyVals[-1+yyTop], GetLocation (yyVals[-2+yyTop]));
lbag.AddLocation (yyVal, GetLocation (yyVals[0+yyTop]));
}
-void case_509()
+void case_508()
#line 3663 "cs-parser.jay"
{
var ai = new ArrayInitializer (0, GetLocation (yyVals[-1+yyTop]));
@@ -6588,7 +6605,7 @@ void case_509()
yyVal = ai;
}
-void case_510()
+void case_509()
#line 3670 "cs-parser.jay"
{
var ai = new ArrayInitializer ((List<Expression>) yyVals[-2+yyTop], GetLocation (yyVals[-3+yyTop]));
@@ -6601,7 +6618,7 @@ void case_510()
yyVal = ai;
}
-void case_511()
+void case_510()
#line 3684 "cs-parser.jay"
{
var list = new List<Expression> (4);
@@ -6609,7 +6626,7 @@ void case_511()
yyVal = list;
}
-void case_512()
+void case_511()
#line 3690 "cs-parser.jay"
{
var list = (List<Expression>) yyVals[-2+yyTop];
@@ -6618,7 +6635,7 @@ void case_512()
yyVal = list;
}
-void case_514()
+void case_513()
#line 3704 "cs-parser.jay"
{
lexer.TypeOfParsing = false;
@@ -6626,14 +6643,14 @@ void case_514()
lbag.AddLocation (yyVal, GetLocation (yyVals[-2+yyTop]), GetLocation (yyVals[0+yyTop]));
}
-void case_517()
+void case_516()
#line 3715 "cs-parser.jay"
{
Error_TypeExpected (lexer.Location);
yyVal = null;
}
-void case_518()
+void case_517()
#line 3723 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[-1+yyTop];
@@ -6641,7 +6658,7 @@ void case_518()
yyVal = new SimpleName (lt.Value, (int) yyVals[0+yyTop], lt.Location);
}
-void case_519()
+void case_518()
#line 3729 "cs-parser.jay"
{
var lt1 = (Tokenizer.LocatedToken) yyVals[-2+yyTop];
@@ -6651,7 +6668,7 @@ void case_519()
lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop]));
}
-void case_520()
+void case_519()
#line 3737 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[0+yyTop];
@@ -6661,7 +6678,7 @@ void case_520()
};
}
-void case_521()
+void case_520()
#line 3745 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[-1+yyTop];
@@ -6671,7 +6688,7 @@ void case_521()
};
}
-void case_522()
+void case_521()
#line 3753 "cs-parser.jay"
{
var te = ((MemberName) yyVals[-3+yyTop]).GetTypeExpression ();
@@ -6684,7 +6701,7 @@ void case_522()
};
}
-void case_523()
+void case_522()
#line 3767 "cs-parser.jay"
{
if (lang_version < LanguageVersion.ISO_2)
@@ -6693,7 +6710,7 @@ void case_523()
yyVal = yyVals[0+yyTop];
}
-void case_524()
+void case_523()
#line 3777 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[-1+yyTop];
@@ -6703,35 +6720,35 @@ void case_524()
yyVal = lt;
}
-void case_525()
+void case_524()
#line 3788 "cs-parser.jay"
{
yyVal = new SizeOf ((Expression) yyVals[-1+yyTop], GetLocation (yyVals[-3+yyTop]));
lbag.AddLocation (yyVal, GetLocation (yyVals[-2+yyTop]), GetLocation (yyVals[0+yyTop]));
}
-void case_526()
+void case_525()
#line 3796 "cs-parser.jay"
{
yyVal = new CheckedExpr ((Expression) yyVals[-1+yyTop], GetLocation (yyVals[-3+yyTop]));
lbag.AddLocation (yyVal, GetLocation (yyVals[-2+yyTop]), GetLocation (yyVals[0+yyTop]));
}
-void case_527()
+void case_526()
#line 3804 "cs-parser.jay"
{
yyVal = new UnCheckedExpr ((Expression) yyVals[-1+yyTop], GetLocation (yyVals[-3+yyTop]));
lbag.AddLocation (yyVal, GetLocation (yyVals[-2+yyTop]), GetLocation (yyVals[0+yyTop]));
}
-void case_528()
+void case_527()
#line 3812 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[-1+yyTop];
yyVal = new MemberAccess (new Indirection ((Expression) yyVals[-3+yyTop], GetLocation (yyVals[-2+yyTop])), lt.Value, (TypeArguments) yyVals[0+yyTop], lt.Location);
}
-void case_530()
+void case_529()
#line 3824 "cs-parser.jay"
{
yyVal = end_anonymous ((ParametersBlock) yyVals[0+yyTop]);
@@ -6742,7 +6759,7 @@ void case_530()
}
}
-void case_532()
+void case_531()
#line 3837 "cs-parser.jay"
{
yyVal = end_anonymous ((ParametersBlock) yyVals[0+yyTop]);
@@ -6754,7 +6771,7 @@ void case_532()
}
}
-void case_536()
+void case_535()
#line 3862 "cs-parser.jay"
{
valid_param_mod = 0;
@@ -6763,7 +6780,7 @@ void case_536()
savedCloseLocation = GetLocation (yyVals[-2+yyTop]);
}
-void case_537()
+void case_536()
#line 3872 "cs-parser.jay"
{
if (lang_version < LanguageVersion.ISO_2)
@@ -6773,14 +6790,14 @@ void case_537()
lbag.AddLocation (yyVal, GetLocation (yyVals[-2+yyTop]), GetLocation (yyVals[0+yyTop]));
}
-void case_541()
+void case_540()
#line 3892 "cs-parser.jay"
{
yyVal = new Cast ((FullNamedExpression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop], GetLocation (yyVals[-3+yyTop]));
lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop]));
}
-void case_542()
+void case_541()
#line 3897 "cs-parser.jay"
{
if (!async_block) {
@@ -6793,133 +6810,133 @@ void case_542()
yyVal = new Await ((Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
-void case_551()
+void case_550()
#line 3944 "cs-parser.jay"
{
yyVal = new Binary (Binary.Operator.Multiply,
(Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
-void case_552()
+void case_551()
#line 3949 "cs-parser.jay"
{
yyVal = new Binary (Binary.Operator.Division,
(Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
-void case_553()
+void case_552()
#line 3954 "cs-parser.jay"
{
yyVal = new Binary (Binary.Operator.Modulus,
(Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
-void case_555()
+void case_554()
#line 3963 "cs-parser.jay"
{
yyVal = new Binary (Binary.Operator.Addition,
(Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
-void case_557()
+void case_556()
#line 3972 "cs-parser.jay"
{
/* Shift/Reduce conflict*/
yyVal = new Binary (Binary.Operator.Subtraction, (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
-void case_561()
+void case_560()
#line 3989 "cs-parser.jay"
{
yyVal = new Binary (Binary.Operator.LeftShift,
(Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
-void case_562()
+void case_561()
#line 3994 "cs-parser.jay"
{
yyVal = new Binary (Binary.Operator.RightShift,
(Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
-void case_564()
+void case_563()
#line 4003 "cs-parser.jay"
{
yyVal = new Binary (Binary.Operator.LessThan,
(Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
-void case_565()
+void case_564()
#line 4008 "cs-parser.jay"
{
yyVal = new Binary (Binary.Operator.GreaterThan,
(Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
-void case_566()
+void case_565()
#line 4013 "cs-parser.jay"
{
yyVal = new Binary (Binary.Operator.LessThanOrEqual,
(Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
-void case_567()
+void case_566()
#line 4018 "cs-parser.jay"
{
yyVal = new Binary (Binary.Operator.GreaterThanOrEqual,
(Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
-void case_569()
+void case_568()
#line 4027 "cs-parser.jay"
{
yyVal = new Binary (Binary.Operator.Equality,
(Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
-void case_570()
+void case_569()
#line 4032 "cs-parser.jay"
{
yyVal = new Binary (Binary.Operator.Inequality,
(Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
-void case_572()
+void case_571()
#line 4041 "cs-parser.jay"
{
yyVal = new Binary (Binary.Operator.BitwiseAnd,
(Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
-void case_574()
+void case_573()
#line 4050 "cs-parser.jay"
{
yyVal = new Binary (Binary.Operator.ExclusiveOr,
(Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
-void case_576()
+void case_575()
#line 4059 "cs-parser.jay"
{
yyVal = new Binary (Binary.Operator.BitwiseOr,
(Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
-void case_578()
+void case_577()
#line 4068 "cs-parser.jay"
{
yyVal = new Binary (Binary.Operator.LogicalAnd,
(Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
-void case_580()
+void case_579()
#line 4077 "cs-parser.jay"
{
yyVal = new Binary (Binary.Operator.LogicalOr,
(Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
-void case_582()
+void case_581()
#line 4086 "cs-parser.jay"
{
if (lang_version < LanguageVersion.ISO_2)
@@ -6928,84 +6945,84 @@ void case_582()
yyVal = new Nullable.NullCoalescingOperator ((Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
-void case_584()
+void case_583()
#line 4097 "cs-parser.jay"
{
yyVal = new Conditional (new BooleanExpression ((Expression) yyVals[-4+yyTop]), (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop], GetLocation (yyVals[-3+yyTop]));
lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop]));
}
-void case_586()
+void case_585()
#line 4109 "cs-parser.jay"
{
yyVal = new CompoundAssign (
Binary.Operator.Multiply, (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
-void case_587()
+void case_586()
#line 4114 "cs-parser.jay"
{
yyVal = new CompoundAssign (
Binary.Operator.Division, (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
-void case_588()
+void case_587()
#line 4119 "cs-parser.jay"
{
yyVal = new CompoundAssign (
Binary.Operator.Modulus, (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
-void case_589()
+void case_588()
#line 4124 "cs-parser.jay"
{
yyVal = new CompoundAssign (
Binary.Operator.Addition, (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
-void case_590()
+void case_589()
#line 4129 "cs-parser.jay"
{
yyVal = new CompoundAssign (
Binary.Operator.Subtraction, (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
-void case_591()
+void case_590()
#line 4134 "cs-parser.jay"
{
yyVal = new CompoundAssign (
Binary.Operator.LeftShift, (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
-void case_592()
+void case_591()
#line 4139 "cs-parser.jay"
{
yyVal = new CompoundAssign (
Binary.Operator.RightShift, (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
-void case_593()
+void case_592()
#line 4144 "cs-parser.jay"
{
yyVal = new CompoundAssign (
Binary.Operator.BitwiseAnd, (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
-void case_594()
+void case_593()
#line 4149 "cs-parser.jay"
{
yyVal = new CompoundAssign (
Binary.Operator.BitwiseOr, (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
-void case_595()
+void case_594()
#line 4154 "cs-parser.jay"
{
yyVal = new CompoundAssign (
Binary.Operator.ExclusiveOr, (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
}
-void case_596()
+void case_595()
#line 4162 "cs-parser.jay"
{
var pars = new List<Parameter> (4);
@@ -7014,7 +7031,7 @@ void case_596()
yyVal = pars;
}
-void case_597()
+void case_596()
#line 4169 "cs-parser.jay"
{
var pars = (List<Parameter>) yyVals[-2+yyTop];
@@ -7029,7 +7046,7 @@ void case_597()
yyVal = pars;
}
-void case_598()
+void case_597()
#line 4185 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[0+yyTop];
@@ -7037,7 +7054,7 @@ void case_598()
yyVal = new Parameter ((FullNamedExpression) yyVals[-1+yyTop], lt.Value, (Parameter.Modifier) yyVals[-2+yyTop], null, lt.Location);
}
-void case_599()
+void case_598()
#line 4191 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[0+yyTop];
@@ -7045,14 +7062,14 @@ void case_599()
yyVal = new Parameter ((FullNamedExpression) yyVals[-1+yyTop], lt.Value, Parameter.Modifier.NONE, null, lt.Location);
}
-void case_600()
+void case_599()
#line 4197 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[0+yyTop];
yyVal = new ImplicitLambdaParameter (lt.Value, lt.Location);
}
-void case_602()
+void case_601()
#line 4205 "cs-parser.jay"
{
var pars_list = (List<Parameter>) yyVals[0+yyTop];
@@ -7060,7 +7077,7 @@ void case_602()
lbag.AddLocation (yyVal, parameterListCommas);
}
-void case_606()
+void case_605()
#line 4222 "cs-parser.jay"
{
Block b = end_block (lexer.Location);
@@ -7069,14 +7086,14 @@ void case_606()
yyVal = b;
}
-void case_608()
+void case_607()
#line 4233 "cs-parser.jay"
{
Error_SyntaxError (yyToken);
yyVal = EmptyExpression.Null;
}
-void case_609()
+void case_608()
#line 4241 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[-1+yyTop];
@@ -7084,14 +7101,14 @@ void case_609()
start_anonymous (true, new ParametersCompiled (p), false, lt.Location);
}
-void case_610()
+void case_609()
#line 4247 "cs-parser.jay"
{
yyVal = end_anonymous ((ParametersBlock) yyVals[0+yyTop]);
lbag.AddLocation (yyVal, GetLocation (yyVals[-2+yyTop]));
}
-void case_611()
+void case_610()
#line 4252 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[-1+yyTop];
@@ -7099,63 +7116,63 @@ void case_611()
start_anonymous (true, new ParametersCompiled (p), true, lt.Location);
}
-void case_612()
+void case_611()
#line 4258 "cs-parser.jay"
{
yyVal = end_anonymous ((ParametersBlock) yyVals[0+yyTop]);
lbag.AddLocation (yyVal, GetLocation (yyVals[-4+yyTop]), GetLocation (yyVals[-2+yyTop]));
}
-void case_614()
+void case_613()
#line 4267 "cs-parser.jay"
{
valid_param_mod = 0;
start_anonymous (true, (ParametersCompiled) yyVals[-2+yyTop], false, GetLocation (yyVals[-4+yyTop]));
}
-void case_615()
+void case_614()
#line 4272 "cs-parser.jay"
{
yyVal = end_anonymous ((ParametersBlock) yyVals[0+yyTop]);
lbag.AddLocation (yyVal, GetLocation (yyVals[-6+yyTop]), GetLocation (yyVals[-3+yyTop]), GetLocation (yyVals[-2+yyTop]));
}
-void case_617()
+void case_616()
#line 4281 "cs-parser.jay"
{
valid_param_mod = 0;
start_anonymous (true, (ParametersCompiled) yyVals[-2+yyTop], true, GetLocation (yyVals[-5+yyTop]));
}
-void case_618()
+void case_617()
#line 4286 "cs-parser.jay"
{
yyVal = end_anonymous ((ParametersBlock) yyVals[0+yyTop]);
lbag.AddLocation (yyVal, GetLocation (yyVals[-7+yyTop]), GetLocation (yyVals[-6+yyTop]), GetLocation (yyVals[-3+yyTop]), GetLocation (yyVals[-2+yyTop]));
}
-void case_625()
+void case_624()
#line 4309 "cs-parser.jay"
{
yyVal = new RefValueExpr ((Expression) yyVals[-3+yyTop], (FullNamedExpression) yyVals[-1+yyTop], GetLocation (yyVals[-5+yyTop]));
lbag.AddLocation (yyVal, GetLocation (yyVals[-4+yyTop]), GetLocation (yyVals[-2+yyTop]), GetLocation (yyVals[0+yyTop]));
}
-void case_626()
+void case_625()
#line 4314 "cs-parser.jay"
{
yyVal = new RefTypeExpr ((Expression) yyVals[-1+yyTop], GetLocation (yyVals[-3+yyTop]));
lbag.AddLocation (yyVal, GetLocation (yyVals[-2+yyTop]), GetLocation (yyVals[0+yyTop]));
}
-void case_627()
+void case_626()
#line 4319 "cs-parser.jay"
{
yyVal = new MakeRefExpr ((Expression) yyVals[-1+yyTop], GetLocation (yyVals[-3+yyTop]));
lbag.AddLocation (yyVal, GetLocation (yyVals[-2+yyTop]), GetLocation (yyVals[0+yyTop]));
}
-void case_631()
+void case_630()
#line 4348 "cs-parser.jay"
{
MemberName name = MakeName ((MemberName) yyVals[0+yyTop]);
@@ -7168,7 +7185,7 @@ void case_631()
lbag.AddMember (current_class, GetModifierLocations (), GetLocation (yyVals[-2+yyTop]));
}
-void case_632()
+void case_631()
#line 4360 "cs-parser.jay"
{
lexer.ConstraintsParsing = false;
@@ -7183,7 +7200,7 @@ void case_632()
lexer.parsing_modifiers = true;
}
-void case_633()
+void case_632()
#line 4373 "cs-parser.jay"
{
--lexer.parsing_declaration;
@@ -7191,7 +7208,7 @@ void case_633()
Lexer.doc_state = XmlCommentState.Allowed;
}
-void case_634()
+void case_633()
#line 4379 "cs-parser.jay"
{
lbag.AppendToMember (current_class, GetLocation (yyVals[-4+yyTop]), GetLocation (yyVals[-2+yyTop]));
@@ -7200,7 +7217,7 @@ void case_634()
yyVal = pop_current_class ();
}
-void case_637()
+void case_636()
#line 4396 "cs-parser.jay"
{
mod_locations = null;
@@ -7208,7 +7225,7 @@ void case_637()
lexer.parsing_modifiers = false;
}
-void case_640()
+void case_639()
#line 4410 "cs-parser.jay"
{
var m1 = (Modifiers) yyVals[-1+yyTop];
@@ -7226,7 +7243,7 @@ void case_640()
yyVal = m1 | m2;
}
-void case_641()
+void case_640()
#line 4429 "cs-parser.jay"
{
yyVal = Modifiers.NEW;
@@ -7236,91 +7253,91 @@ void case_641()
report.Error (1530, GetLocation (yyVals[0+yyTop]), "Keyword `new' is not allowed on namespace elements");
}
-void case_642()
+void case_641()
#line 4437 "cs-parser.jay"
{
yyVal = Modifiers.PUBLIC;
StoreModifierLocation (yyVal, GetLocation (yyVals[0+yyTop]));
}
-void case_643()
+void case_642()
#line 4442 "cs-parser.jay"
{
yyVal = Modifiers.PROTECTED;
StoreModifierLocation (yyVal, GetLocation (yyVals[0+yyTop]));
}
-void case_644()
+void case_643()
#line 4447 "cs-parser.jay"
{
yyVal = Modifiers.INTERNAL;
StoreModifierLocation (yyVal, GetLocation (yyVals[0+yyTop]));
}
-void case_645()
+void case_644()
#line 4452 "cs-parser.jay"
{
yyVal = Modifiers.PRIVATE;
StoreModifierLocation (yyVal, GetLocation (yyVals[0+yyTop]));
}
-void case_646()
+void case_645()
#line 4457 "cs-parser.jay"
{
yyVal = Modifiers.ABSTRACT;
StoreModifierLocation (yyVal, GetLocation (yyVals[0+yyTop]));
}
-void case_647()
+void case_646()
#line 4462 "cs-parser.jay"
{
yyVal = Modifiers.SEALED;
StoreModifierLocation (yyVal, GetLocation (yyVals[0+yyTop]));
}
-void case_648()
+void case_647()
#line 4467 "cs-parser.jay"
{
yyVal = Modifiers.STATIC;
StoreModifierLocation (yyVal, GetLocation (yyVals[0+yyTop]));
}
-void case_649()
+void case_648()
#line 4472 "cs-parser.jay"
{
yyVal = Modifiers.READONLY;
StoreModifierLocation (yyVal, GetLocation (yyVals[0+yyTop]));
}
-void case_650()
+void case_649()
#line 4477 "cs-parser.jay"
{
yyVal = Modifiers.VIRTUAL;
StoreModifierLocation (yyVal, GetLocation (yyVals[0+yyTop]));
}
-void case_651()
+void case_650()
#line 4482 "cs-parser.jay"
{
yyVal = Modifiers.OVERRIDE;
StoreModifierLocation (yyVal, GetLocation (yyVals[0+yyTop]));
}
-void case_652()
+void case_651()
#line 4487 "cs-parser.jay"
{
yyVal = Modifiers.EXTERN;
StoreModifierLocation (yyVal, GetLocation (yyVals[0+yyTop]));
}
-void case_653()
+void case_652()
#line 4492 "cs-parser.jay"
{
yyVal = Modifiers.VOLATILE;
StoreModifierLocation (yyVal, GetLocation (yyVals[0+yyTop]));
}
-void case_654()
+void case_653()
#line 4497 "cs-parser.jay"
{
yyVal = Modifiers.UNSAFE;
@@ -7329,28 +7346,28 @@ void case_654()
Error_UnsafeCodeNotAllowed (GetLocation (yyVals[0+yyTop]));
}
-void case_655()
+void case_654()
#line 4504 "cs-parser.jay"
{
yyVal = Modifiers.ASYNC;
StoreModifierLocation (yyVal, GetLocation (yyVals[0+yyTop]));
}
-void case_657()
+void case_656()
#line 4513 "cs-parser.jay"
{
lbag.AppendToMember (current_class, GetLocation (yyVals[-1+yyTop]));
current_container.AddBasesForPart (current_class, (List<FullNamedExpression>) yyVals[0+yyTop]);
}
-void case_660()
+void case_659()
#line 4526 "cs-parser.jay"
{
Error_SyntaxError (yyToken);
yyVal = null;
}
-void case_661()
+void case_660()
#line 4534 "cs-parser.jay"
{
var constraints = new List<Constraints> (1);
@@ -7358,7 +7375,7 @@ void case_661()
yyVal = constraints;
}
-void case_662()
+void case_661()
#line 4540 "cs-parser.jay"
{
var constraints = (List<Constraints>) yyVals[-1+yyTop];
@@ -7376,7 +7393,7 @@ void case_662()
yyVal = constraints;
}
-void case_663()
+void case_662()
#line 4559 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[-2+yyTop];
@@ -7384,7 +7401,7 @@ void case_663()
lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop]));
}
-void case_664()
+void case_663()
#line 4568 "cs-parser.jay"
{
var constraints = new List<FullNamedExpression> (1);
@@ -7392,7 +7409,7 @@ void case_664()
yyVal = constraints;
}
-void case_665()
+void case_664()
#line 4574 "cs-parser.jay"
{
var constraints = (List<FullNamedExpression>) yyVals[-2+yyTop];
@@ -7418,7 +7435,7 @@ void case_665()
yyVal = constraints;
}
-void case_666()
+void case_665()
#line 4601 "cs-parser.jay"
{
if (yyVals[0+yyTop] is ComposedCast)
@@ -7427,14 +7444,14 @@ void case_666()
yyVal = yyVals[0+yyTop];
}
-void case_667()
+void case_666()
#line 4608 "cs-parser.jay"
{
yyVal = new SpecialContraintExpr (SpecialConstraint.Constructor, GetLocation (yyVals[-2+yyTop]));
lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop]), GetLocation (yyVals[0+yyTop]));
}
-void case_671()
+void case_670()
#line 4628 "cs-parser.jay"
{
if (lang_version <= LanguageVersion.V_3)
@@ -7443,92 +7460,102 @@ void case_671()
yyVal = yyVals[0+yyTop];
}
-void case_672()
+void case_671()
#line 4638 "cs-parser.jay"
{
yyVal = Variance.Covariant;
savedLocation = GetLocation (yyVals[0+yyTop]);
}
-void case_673()
+void case_672()
#line 4643 "cs-parser.jay"
{
yyVal = Variance.Contravariant;
savedLocation = GetLocation (yyVals[0+yyTop]);
}
-void case_674()
+void case_673()
#line 4664 "cs-parser.jay"
{
++lexer.parsing_block;
start_block (GetLocation (yyVals[0+yyTop]));
}
-void case_676()
+void case_675()
#line 4676 "cs-parser.jay"
{
--lexer.parsing_block;
yyVal = end_block (GetLocation (yyVals[0+yyTop]));
}
-void case_677()
+void case_676()
#line 4681 "cs-parser.jay"
{
--lexer.parsing_block;
yyVal = end_block (lexer.Location);
}
-void case_678()
+void case_677()
#line 4690 "cs-parser.jay"
{
++lexer.parsing_block;
current_block.StartLocation = GetLocation (yyVals[0+yyTop]);
}
-void case_679()
+void case_678()
#line 4695 "cs-parser.jay"
{
--lexer.parsing_block;
yyVal = end_block (GetLocation (yyVals[0+yyTop]));
}
+void case_686()
+#line 4723 "cs-parser.jay"
+{
+ Error_SyntaxError (yyToken);
+ var lt =(Tokenizer.LocatedToken) yyVals[-1+yyTop];
+ var sn = new SimpleName (lt.Value, lt.Location);
+ current_block.AddStatement(new StatementErrorExpression (sn));
+ yyVal = null;
+ }
+
void case_687()
-#line 4722 "cs-parser.jay"
+#line 4732 "cs-parser.jay"
{
Error_SyntaxError (yyToken);
yyVal = null;
}
void case_720()
-#line 4786 "cs-parser.jay"
+#line 4796 "cs-parser.jay"
{
report.Error (1023, GetLocation (yyVals[0+yyTop]), "An embedded statement may not be a declaration or labeled statement");
yyVal = null;
}
void case_721()
-#line 4791 "cs-parser.jay"
+#line 4801 "cs-parser.jay"
{
report.Error (1023, GetLocation (yyVals[0+yyTop]), "An embedded statement may not be a declaration or labeled statement");
yyVal = null;
}
void case_722()
-#line 4796 "cs-parser.jay"
+#line 4806 "cs-parser.jay"
{
Error_SyntaxError (yyToken);
yyVal = new EmptyStatement (GetLocation (yyVals[0+yyTop]));
}
void case_723()
-#line 4804 "cs-parser.jay"
+#line 4814 "cs-parser.jay"
{
/* Uses lexer.Location because semicolon location is not kept in quick mode*/
yyVal = new EmptyStatement (lexer.Location);
}
void case_724()
-#line 4812 "cs-parser.jay"
+#line 4822 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[-1+yyTop];
LabeledStatement labeled = new LabeledStatement (lt.Value, current_block, lt.Location);
@@ -7538,7 +7565,7 @@ void case_724()
}
void case_727()
-#line 4825 "cs-parser.jay"
+#line 4835 "cs-parser.jay"
{
if (yyVals[-1+yyTop] is VarExpr)
yyVals[-1+yyTop] = new SimpleName ("var", ((VarExpr) yyVals[-1+yyTop]).Location);
@@ -7547,7 +7574,7 @@ void case_727()
}
void case_728()
-#line 4841 "cs-parser.jay"
+#line 4851 "cs-parser.jay"
{
/* Ok, the above "primary_expression" is there to get rid of*/
/* both reduce/reduce and shift/reduces in the grammar, it should*/
@@ -7579,7 +7606,7 @@ void case_728()
}
void case_729()
-#line 4871 "cs-parser.jay"
+#line 4881 "cs-parser.jay"
{
ATypeNameExpression expr = yyVals[-1+yyTop] as ATypeNameExpression;
@@ -7592,7 +7619,7 @@ void case_729()
}
void case_730()
-#line 4882 "cs-parser.jay"
+#line 4892 "cs-parser.jay"
{
if (yyVals[0+yyTop] == null)
yyVal = yyVals[-1+yyTop];
@@ -7601,21 +7628,21 @@ void case_730()
}
void case_733()
-#line 4897 "cs-parser.jay"
+#line 4907 "cs-parser.jay"
{
Expression.Error_VoidInvalidInTheContext (GetLocation (yyVals[0+yyTop]), report);
yyVal = new TypeExpression (compiler.BuiltinTypes.Void, GetLocation (yyVals[0+yyTop]));
}
void case_735()
-#line 4906 "cs-parser.jay"
+#line 4916 "cs-parser.jay"
{
((ComposedTypeSpecifier) yyVals[-1+yyTop]).Next = (ComposedTypeSpecifier) yyVals[0+yyTop];
yyVal = yyVals[-1+yyTop];
}
void case_738()
-#line 4922 "cs-parser.jay"
+#line 4932 "cs-parser.jay"
{
if (async_block) {
report.Error (4003, GetLocation (yyVals[0+yyTop]), "`await' cannot be used as an identifier within an async method or lambda expression");
@@ -7624,7 +7651,7 @@ void case_738()
}
void case_739()
-#line 4932 "cs-parser.jay"
+#line 4942 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[0+yyTop];
var li = new LocalVariable (current_block, lt.Value, lt.Location);
@@ -7633,7 +7660,7 @@ void case_739()
}
void case_740()
-#line 4939 "cs-parser.jay"
+#line 4949 "cs-parser.jay"
{
yyVal = current_variable;
current_variable = null;
@@ -7641,7 +7668,7 @@ void case_740()
}
void case_741()
-#line 4945 "cs-parser.jay"
+#line 4955 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[0+yyTop];
var li = new LocalVariable (current_block, lt.Value, LocalVariable.Flags.Constant, lt.Location);
@@ -7650,7 +7677,7 @@ void case_741()
}
void case_742()
-#line 4952 "cs-parser.jay"
+#line 4962 "cs-parser.jay"
{
if (current_variable.Initializer != null) {
lbag.AddLocation (current_variable, GetLocation (yyVals[-6+yyTop]), savedLocation, GetLocation (yyVals[0+yyTop]));
@@ -7662,14 +7689,14 @@ void case_742()
}
void case_744()
-#line 4966 "cs-parser.jay"
+#line 4976 "cs-parser.jay"
{
current_variable.Initializer = (Expression) yyVals[0+yyTop];
lbag.AppendTo (current_variable, GetLocation (yyVals[-1+yyTop]));
}
void case_745()
-#line 4971 "cs-parser.jay"
+#line 4981 "cs-parser.jay"
{
if (yyToken == Token.OPEN_BRACKET_EXPR) {
report.Error (650, lexer.Location,
@@ -7685,7 +7712,7 @@ void case_745()
}
void case_746()
-#line 4985 "cs-parser.jay"
+#line 4995 "cs-parser.jay"
{
if (yyToken == Token.OPEN_BRACKET_EXPR) {
report.Error (650, lexer.Location,
@@ -7696,7 +7723,7 @@ void case_746()
}
void case_750()
-#line 5003 "cs-parser.jay"
+#line 5013 "cs-parser.jay"
{
foreach (var d in current_variable.Declarators) {
if (d.Initializer == null)
@@ -7705,7 +7732,7 @@ void case_750()
}
void case_753()
-#line 5018 "cs-parser.jay"
+#line 5028 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[0+yyTop];
var li = new LocalVariable (current_variable.Variable, lt.Value, lt.Location);
@@ -7716,7 +7743,7 @@ void case_753()
}
void case_754()
-#line 5027 "cs-parser.jay"
+#line 5037 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[-2+yyTop];
var li = new LocalVariable (current_variable.Variable, lt.Value, lt.Location);
@@ -7727,14 +7754,14 @@ void case_754()
}
void case_756()
-#line 5043 "cs-parser.jay"
+#line 5053 "cs-parser.jay"
{
savedLocation = GetLocation (yyVals[-1+yyTop]);
current_variable.Initializer = (Expression) yyVals[0+yyTop];
}
void case_761()
-#line 5061 "cs-parser.jay"
+#line 5071 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[-2+yyTop];
var li = new LocalVariable (current_block, lt.Value, LocalVariable.Flags.Constant, lt.Location);
@@ -7745,28 +7772,28 @@ void case_761()
}
void case_763()
-#line 5074 "cs-parser.jay"
+#line 5084 "cs-parser.jay"
{
yyVal = new StackAlloc ((Expression) yyVals[-3+yyTop], (Expression) yyVals[-1+yyTop], GetLocation (yyVals[-4+yyTop]));
lbag.AddLocation (yyVal, GetLocation (yyVals[-2+yyTop]), GetLocation (yyVals[0+yyTop]));
}
void case_764()
-#line 5079 "cs-parser.jay"
+#line 5089 "cs-parser.jay"
{
report.Error (1575, GetLocation (yyVals[-1+yyTop]), "A stackalloc expression requires [] after type");
yyVal = new StackAlloc ((Expression) yyVals[0+yyTop], null, GetLocation (yyVals[-1+yyTop]));
}
void case_765()
-#line 5087 "cs-parser.jay"
+#line 5097 "cs-parser.jay"
{
yyVal = yyVals[-1+yyTop];
lbag.AddStatement (yyVal, GetLocation (yyVals[0+yyTop]));
}
void case_769()
-#line 5105 "cs-parser.jay"
+#line 5115 "cs-parser.jay"
{
ExpressionStatement s = yyVals[0+yyTop] as ExpressionStatement;
if (s == null) {
@@ -7778,7 +7805,7 @@ void case_769()
}
void case_770()
-#line 5118 "cs-parser.jay"
+#line 5128 "cs-parser.jay"
{
Expression expr = (Expression) yyVals[0+yyTop];
ExpressionStatement s;
@@ -7788,14 +7815,14 @@ void case_770()
}
void case_771()
-#line 5126 "cs-parser.jay"
+#line 5136 "cs-parser.jay"
{
Error_SyntaxError (yyToken);
yyVal = new EmptyStatement (GetLocation (yyVals[0+yyTop]));
}
void case_774()
-#line 5140 "cs-parser.jay"
+#line 5150 "cs-parser.jay"
{
if (yyVals[0+yyTop] is EmptyStatement)
Warning_EmptyStatement (GetLocation (yyVals[0+yyTop]));
@@ -7805,7 +7832,7 @@ void case_774()
}
void case_775()
-#line 5149 "cs-parser.jay"
+#line 5159 "cs-parser.jay"
{
yyVal = new If ((BooleanExpression) yyVals[-4+yyTop], (Statement) yyVals[-2+yyTop], (Statement) yyVals[0+yyTop], GetLocation (yyVals[-6+yyTop]));
lbag.AddStatement (yyVal, GetLocation (yyVals[-5+yyTop]), GetLocation (yyVals[-3+yyTop]), GetLocation (yyVals[-1+yyTop]));
@@ -7817,7 +7844,7 @@ void case_775()
}
void case_777()
-#line 5166 "cs-parser.jay"
+#line 5176 "cs-parser.jay"
{
yyVal = new Switch ((Expression) yyVals[-5+yyTop], (ExplicitBlock) current_block.Explicit, (List<SwitchSection>) yyVals[-1+yyTop], GetLocation (yyVals[-7+yyTop]));
end_block (GetLocation (yyVals[0+yyTop]));
@@ -7825,14 +7852,14 @@ void case_777()
}
void case_778()
-#line 5175 "cs-parser.jay"
+#line 5185 "cs-parser.jay"
{
report.Warning (1522, 1, current_block.StartLocation, "Empty switch block");
yyVal = new List<SwitchSection> ();
}
void case_780()
-#line 5184 "cs-parser.jay"
+#line 5194 "cs-parser.jay"
{
var sections = new List<SwitchSection> (4);
@@ -7841,7 +7868,7 @@ void case_780()
}
void case_781()
-#line 5191 "cs-parser.jay"
+#line 5201 "cs-parser.jay"
{
var sections = (List<SwitchSection>) yyVals[-1+yyTop];
@@ -7850,14 +7877,14 @@ void case_781()
}
void case_782()
-#line 5198 "cs-parser.jay"
+#line 5208 "cs-parser.jay"
{
Error_SyntaxError (yyToken);
yyVal = new List<SwitchSection> ();
}
void case_785()
-#line 5217 "cs-parser.jay"
+#line 5227 "cs-parser.jay"
{
var labels = new List<SwitchLabel> (2);
@@ -7866,7 +7893,7 @@ void case_785()
}
void case_786()
-#line 5224 "cs-parser.jay"
+#line 5234 "cs-parser.jay"
{
var labels = (List<SwitchLabel>) (yyVals[-1+yyTop]);
labels.Add ((SwitchLabel) yyVals[0+yyTop]);
@@ -7875,14 +7902,14 @@ void case_786()
}
void case_787()
-#line 5234 "cs-parser.jay"
+#line 5244 "cs-parser.jay"
{
yyVal = new SwitchLabel ((Expression) yyVals[-1+yyTop], GetLocation (yyVals[-2+yyTop]));
lbag.AddLocation (yyVal, GetLocation (yyVals[0+yyTop]));
}
void case_793()
-#line 5253 "cs-parser.jay"
+#line 5263 "cs-parser.jay"
{
if (yyVals[0+yyTop] is EmptyStatement && lexer.peek_token () == Token.OPEN_BRACE)
Warning_EmptyStatement (GetLocation (yyVals[0+yyTop]));
@@ -7892,54 +7919,44 @@ void case_793()
}
void case_794()
-#line 5265 "cs-parser.jay"
+#line 5275 "cs-parser.jay"
{
yyVal = new Do ((Statement) yyVals[-5+yyTop], (BooleanExpression) yyVals[-2+yyTop], GetLocation (yyVals[-6+yyTop]));
lbag.AddStatement (yyVal, GetLocation (yyVals[-4+yyTop]), GetLocation (yyVals[-3+yyTop]), GetLocation (yyVals[-1+yyTop]), GetLocation (yyVals[0+yyTop]));
}
void case_795()
-#line 5273 "cs-parser.jay"
+#line 5283 "cs-parser.jay"
{
start_block (GetLocation (yyVals[0+yyTop]));
current_block.IsCompilerGenerated = true;
+ For f = new For (GetLocation (yyVals[-1+yyTop]));
+ current_block.AddStatement (f);
+ yyVal = f;
}
-void case_797()
-#line 5289 "cs-parser.jay"
+void case_800()
+#line 5311 "cs-parser.jay"
{
if (yyVals[0+yyTop] is EmptyStatement && lexer.peek_token () == Token.OPEN_BRACE)
Warning_EmptyStatement (GetLocation (yyVals[0+yyTop]));
- For f = new For ((Statement) yyVals[-6+yyTop], (BooleanExpression) yyVals[-4+yyTop], (Statement) yyVals[-2+yyTop], (Statement) yyVals[0+yyTop], GetLocation (yyVals[-9+yyTop]));
- current_block.AddStatement (f);
-
- lbag.AddStatement (f, current_block.StartLocation, GetLocation (yyVals[-5+yyTop]), GetLocation (yyVals[-3+yyTop]), GetLocation (yyVals[-1+yyTop]));
-
- yyVal = end_block (GetLocation (yyVals[-5+yyTop]));
- }
-
-void case_798()
-#line 5301 "cs-parser.jay"
-{
- For f = new For ((Statement) yyVals[-2+yyTop], ErrorExpression.Create (0, lexer.Location, "Syntax error"), null, null, GetLocation (yyVals[-5+yyTop]));
- current_block.AddStatement (f);
-
- lbag.AddStatement (f, current_block.StartLocation, GetLocation (yyVals[-1+yyTop]));
+ For f = ((For) yyVals[-10+yyTop]);
+ f.Statement = (Statement) yyVals[0+yyTop];
+ lbag.AddStatement (f, current_block.StartLocation, GetLocation (yyVals[-8+yyTop]), GetLocation (yyVals[-5+yyTop]), GetLocation (yyVals[-2+yyTop]));
- Error_SyntaxError (yyToken);
- yyVal = end_block (GetLocation (yyVals[-1+yyTop]));
+ yyVal = end_block (GetLocation (yyVals[-8+yyTop]));
}
-void case_799()
-#line 5311 "cs-parser.jay"
+void case_801()
+#line 5322 "cs-parser.jay"
{
Error_SyntaxError (yyToken);
yyVal = end_block (current_block.StartLocation);
}
-void case_802()
-#line 5324 "cs-parser.jay"
+void case_804()
+#line 5335 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[0+yyTop];
var li = new LocalVariable (current_block, lt.Value, lt.Location);
@@ -7947,15 +7964,15 @@ void case_802()
current_variable = new BlockVariableDeclaration ((FullNamedExpression) yyVals[-1+yyTop], li);
}
-void case_803()
-#line 5331 "cs-parser.jay"
+void case_805()
+#line 5342 "cs-parser.jay"
{
yyVal = current_variable;
current_variable = null;
}
-void case_811()
-#line 5355 "cs-parser.jay"
+void case_813()
+#line 5366 "cs-parser.jay"
{
var sl = yyVals[-2+yyTop] as StatementList;
if (sl == null) {
@@ -7969,15 +7986,15 @@ void case_811()
yyVal = sl;
}
-void case_812()
-#line 5371 "cs-parser.jay"
+void case_814()
+#line 5382 "cs-parser.jay"
{
report.Error (230, GetLocation (yyVals[-5+yyTop]), "Type and identifier are both required in a foreach statement");
yyVal = null;
}
-void case_813()
-#line 5376 "cs-parser.jay"
+void case_815()
+#line 5387 "cs-parser.jay"
{
start_block (GetLocation (yyVals[-5+yyTop]));
current_block.IsCompilerGenerated = true;
@@ -7987,8 +8004,8 @@ void case_813()
yyVal = li;
}
-void case_814()
-#line 5385 "cs-parser.jay"
+void case_816()
+#line 5396 "cs-parser.jay"
{
if (yyVals[0+yyTop] is EmptyStatement && lexer.peek_token () == Token.OPEN_BRACE)
Warning_EmptyStatement (GetLocation (yyVals[0+yyTop]));
@@ -8000,58 +8017,58 @@ void case_814()
yyVal = end_block (GetLocation (yyVals[-2+yyTop]));
}
-void case_821()
-#line 5408 "cs-parser.jay"
+void case_823()
+#line 5419 "cs-parser.jay"
{
yyVal = new Break (GetLocation (yyVals[-1+yyTop]));
lbag.AddStatement (yyVal, GetLocation (yyVals[0+yyTop]));
}
-void case_822()
-#line 5416 "cs-parser.jay"
+void case_824()
+#line 5427 "cs-parser.jay"
{
yyVal = new Continue (GetLocation (yyVals[-1+yyTop]));
lbag.AddStatement (yyVal, GetLocation (yyVals[0+yyTop]));
}
-void case_823()
-#line 5424 "cs-parser.jay"
+void case_825()
+#line 5435 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[-1+yyTop];
yyVal = new Goto (lt.Value, GetLocation (yyVals[-2+yyTop]));
lbag.AddStatement (yyVal, GetLocation (yyVals[-1+yyTop]), GetLocation (yyVals[0+yyTop]));
}
-void case_824()
-#line 5430 "cs-parser.jay"
+void case_826()
+#line 5441 "cs-parser.jay"
{
yyVal = new GotoCase ((Expression) yyVals[-1+yyTop], GetLocation (yyVals[-3+yyTop]));
lbag.AddStatement (yyVal, GetLocation (yyVals[-2+yyTop]), GetLocation (yyVals[0+yyTop]));
}
-void case_825()
-#line 5435 "cs-parser.jay"
+void case_827()
+#line 5446 "cs-parser.jay"
{
yyVal = new GotoDefault (GetLocation (yyVals[-2+yyTop]));
lbag.AddStatement (yyVal, GetLocation (yyVals[-1+yyTop]), GetLocation (yyVals[0+yyTop]));
}
-void case_826()
-#line 5443 "cs-parser.jay"
+void case_828()
+#line 5454 "cs-parser.jay"
{
yyVal = new Return ((Expression) yyVals[-1+yyTop], GetLocation (yyVals[-2+yyTop]));
lbag.AddStatement (yyVal, GetLocation (yyVals[0+yyTop]));
}
-void case_827()
-#line 5451 "cs-parser.jay"
+void case_829()
+#line 5462 "cs-parser.jay"
{
yyVal = new Throw ((Expression) yyVals[-1+yyTop], GetLocation (yyVals[-2+yyTop]));
lbag.AddStatement (yyVal, GetLocation (yyVals[0+yyTop]));
}
-void case_828()
-#line 5459 "cs-parser.jay"
+void case_830()
+#line 5470 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[-3+yyTop];
string s = lt.Value;
@@ -8068,8 +8085,8 @@ void case_828()
lbag.AddStatement (yyVal, GetLocation (yyVals[-2+yyTop]), GetLocation (yyVals[0+yyTop]));
}
-void case_829()
-#line 5475 "cs-parser.jay"
+void case_831()
+#line 5486 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[-2+yyTop];
string s = lt.Value;
@@ -8084,29 +8101,29 @@ void case_829()
lbag.AddStatement (yyVal, GetLocation (yyVals[-1+yyTop]), GetLocation (yyVals[0+yyTop]));
}
-void case_833()
-#line 5501 "cs-parser.jay"
+void case_835()
+#line 5512 "cs-parser.jay"
{
yyVal = new TryFinally ((Statement) yyVals[-2+yyTop], (Block) yyVals[0+yyTop], GetLocation (yyVals[-3+yyTop]));
lbag.AddStatement (yyVal, GetLocation (yyVals[-1+yyTop]));
}
-void case_834()
-#line 5506 "cs-parser.jay"
+void case_836()
+#line 5517 "cs-parser.jay"
{
yyVal = new TryFinally (new TryCatch ((Block) yyVals[-3+yyTop], (List<Catch>) yyVals[-2+yyTop], GetLocation (yyVals[-4+yyTop]), true), (Block) yyVals[0+yyTop], GetLocation (yyVals[-4+yyTop]));
lbag.AddStatement (yyVal, GetLocation (yyVals[-1+yyTop]));
}
-void case_835()
-#line 5511 "cs-parser.jay"
+void case_837()
+#line 5522 "cs-parser.jay"
{
report.Error (1524, GetLocation (yyVals[-2+yyTop]), "Expected catch or finally");
yyVal = null;
}
-void case_836()
-#line 5519 "cs-parser.jay"
+void case_838()
+#line 5530 "cs-parser.jay"
{
var l = new List<Catch> (2);
@@ -8114,8 +8131,8 @@ void case_836()
yyVal = l;
}
-void case_837()
-#line 5526 "cs-parser.jay"
+void case_839()
+#line 5537 "cs-parser.jay"
{
var l = (List<Catch>) yyVals[-1+yyTop];
@@ -8132,8 +8149,8 @@ void case_837()
yyVal = l;
}
-void case_841()
-#line 5554 "cs-parser.jay"
+void case_843()
+#line 5565 "cs-parser.jay"
{
start_block (GetLocation (yyVals[-3+yyTop]));
var c = new Catch (current_block, GetLocation (yyVals[-4+yyTop]));
@@ -8149,8 +8166,8 @@ void case_841()
yyVal = c;
}
-void case_843()
-#line 5573 "cs-parser.jay"
+void case_845()
+#line 5584 "cs-parser.jay"
{
if (yyToken == Token.CLOSE_PARENS) {
report.Error (1015, lexer.Location,
@@ -8162,15 +8179,15 @@ void case_843()
yyVal = new Catch (null, GetLocation (yyVals[-2+yyTop]));
}
-void case_846()
-#line 5601 "cs-parser.jay"
+void case_848()
+#line 5612 "cs-parser.jay"
{
if (!settings.Unsafe)
Error_UnsafeCodeNotAllowed (GetLocation (yyVals[0+yyTop]));
}
-void case_848()
-#line 5611 "cs-parser.jay"
+void case_850()
+#line 5622 "cs-parser.jay"
{
if (yyVals[0+yyTop] is EmptyStatement && lexer.peek_token () == Token.OPEN_BRACE)
Warning_EmptyStatement (GetLocation (yyVals[0+yyTop]));
@@ -8179,8 +8196,8 @@ void case_848()
lbag.AddStatement (yyVal, GetLocation (yyVals[-3+yyTop]), GetLocation (yyVals[-1+yyTop]));
}
-void case_849()
-#line 5622 "cs-parser.jay"
+void case_851()
+#line 5633 "cs-parser.jay"
{
start_block (GetLocation (yyVals[-2+yyTop]));
@@ -8191,15 +8208,15 @@ void case_849()
current_variable = new Fixed.VariableDeclaration ((FullNamedExpression) yyVals[-1+yyTop], li);
}
-void case_850()
-#line 5632 "cs-parser.jay"
+void case_852()
+#line 5643 "cs-parser.jay"
{
yyVal = current_variable;
current_variable = null;
}
-void case_851()
-#line 5637 "cs-parser.jay"
+void case_853()
+#line 5648 "cs-parser.jay"
{
if (yyVals[0+yyTop] is EmptyStatement && lexer.peek_token () == Token.OPEN_BRACE)
Warning_EmptyStatement (GetLocation (yyVals[0+yyTop]));
@@ -8210,8 +8227,8 @@ void case_851()
yyVal = end_block (GetLocation (yyVals[-2+yyTop]));
}
-void case_852()
-#line 5650 "cs-parser.jay"
+void case_854()
+#line 5661 "cs-parser.jay"
{
start_block (GetLocation (yyVals[-2+yyTop]));
@@ -8222,15 +8239,15 @@ void case_852()
current_variable = new Using.VariableDeclaration ((FullNamedExpression) yyVals[-1+yyTop], li);
}
-void case_853()
-#line 5660 "cs-parser.jay"
+void case_855()
+#line 5671 "cs-parser.jay"
{
yyVal = current_variable;
current_variable = null;
}
-void case_854()
-#line 5665 "cs-parser.jay"
+void case_856()
+#line 5676 "cs-parser.jay"
{
if (yyVals[0+yyTop] is EmptyStatement && lexer.peek_token () == Token.OPEN_BRACE)
Warning_EmptyStatement (GetLocation (yyVals[0+yyTop]));
@@ -8241,8 +8258,8 @@ void case_854()
yyVal = end_block (GetLocation (yyVals[-2+yyTop]));
}
-void case_855()
-#line 5675 "cs-parser.jay"
+void case_857()
+#line 5686 "cs-parser.jay"
{
if (yyVals[0+yyTop] is EmptyStatement && lexer.peek_token () == Token.OPEN_BRACE)
Warning_EmptyStatement (GetLocation (yyVals[0+yyTop]));
@@ -8252,23 +8269,23 @@ void case_855()
yyVal = u;
}
-void case_857()
-#line 5688 "cs-parser.jay"
+void case_859()
+#line 5699 "cs-parser.jay"
{
/* It has to be here for the parent to safely restore artificial block*/
Error_SyntaxError (yyToken);
}
-void case_859()
-#line 5700 "cs-parser.jay"
+void case_861()
+#line 5711 "cs-parser.jay"
{
current_variable.Initializer = (Expression) yyVals[0+yyTop];
lbag.AppendTo (current_variable, GetLocation (yyVals[-1+yyTop]));
yyVal = current_variable;
}
-void case_860()
-#line 5712 "cs-parser.jay"
+void case_862()
+#line 5723 "cs-parser.jay"
{
lexer.query_parsing = false;
@@ -8281,8 +8298,8 @@ void case_860()
current_block = current_block.Parent;
}
-void case_861()
-#line 5724 "cs-parser.jay"
+void case_863()
+#line 5735 "cs-parser.jay"
{
Linq.AQueryClause from = yyVals[-1+yyTop] as Linq.AQueryClause;
@@ -8293,8 +8310,8 @@ void case_861()
current_block = current_block.Parent;
}
-void case_862()
-#line 5735 "cs-parser.jay"
+void case_864()
+#line 5746 "cs-parser.jay"
{
lexer.query_parsing = false;
yyVal = yyVals[-1+yyTop];
@@ -8303,16 +8320,16 @@ void case_862()
current_block = current_block.Parent;
}
-void case_863()
-#line 5742 "cs-parser.jay"
+void case_865()
+#line 5753 "cs-parser.jay"
{
yyVal = yyVals[-1+yyTop];
current_block.SetEndLocation (lexer.Location);
current_block = current_block.Parent;
}
-void case_864()
-#line 5751 "cs-parser.jay"
+void case_866()
+#line 5762 "cs-parser.jay"
{
current_block = new Linq.QueryBlock (current_block, lexer.Location);
@@ -8321,8 +8338,8 @@ void case_864()
yyVal = new Linq.QueryExpression (new Linq.QueryStartClause ((Linq.QueryBlock)current_block, (Expression)yyVals[0+yyTop], rv, GetLocation (yyVals[-3+yyTop])));
}
-void case_865()
-#line 5759 "cs-parser.jay"
+void case_867()
+#line 5770 "cs-parser.jay"
{
current_block = new Linq.QueryBlock (current_block, lexer.Location);
@@ -8335,8 +8352,8 @@ void case_865()
);
}
-void case_866()
-#line 5774 "cs-parser.jay"
+void case_868()
+#line 5785 "cs-parser.jay"
{
current_block = new Linq.QueryBlock (current_block, lexer.Location);
@@ -8345,8 +8362,8 @@ void case_866()
yyVal = new Linq.QueryExpression (new Linq.QueryStartClause ((Linq.QueryBlock)current_block, (Expression)yyVals[0+yyTop], rv, GetLocation (yyVals[-3+yyTop])));
}
-void case_867()
-#line 5782 "cs-parser.jay"
+void case_869()
+#line 5793 "cs-parser.jay"
{
current_block = new Linq.QueryBlock (current_block, lexer.Location);
@@ -8359,8 +8376,8 @@ void case_867()
);
}
-void case_869()
-#line 5801 "cs-parser.jay"
+void case_871()
+#line 5812 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[-3+yyTop];
var sn = new Linq.RangeVariable (lt.Value, lt.Location);
@@ -8372,8 +8389,8 @@ void case_869()
((Linq.QueryBlock)current_block).AddRangeVariable (sn);
}
-void case_871()
-#line 5816 "cs-parser.jay"
+void case_873()
+#line 5827 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[-3+yyTop];
var sn = new Linq.RangeVariable (lt.Value, lt.Location);
@@ -8388,8 +8405,8 @@ void case_871()
((Linq.QueryBlock)current_block).AddRangeVariable (sn);
}
-void case_872()
-#line 5833 "cs-parser.jay"
+void case_874()
+#line 5844 "cs-parser.jay"
{
Linq.AQueryClause head = (Linq.AQueryClause)yyVals[-1+yyTop];
@@ -8405,15 +8422,15 @@ void case_872()
yyVal = head;
}
-void case_874()
-#line 5849 "cs-parser.jay"
+void case_876()
+#line 5860 "cs-parser.jay"
{
Error_SyntaxError (yyToken);
yyVal = null;
}
-void case_876()
-#line 5861 "cs-parser.jay"
+void case_878()
+#line 5872 "cs-parser.jay"
{
yyVal = new Linq.Select ((Linq.QueryBlock)current_block, (Expression)yyVals[0+yyTop], GetLocation (yyVals[-2+yyTop]));
@@ -8421,8 +8438,8 @@ void case_876()
current_block = current_block.Parent;
}
-void case_877()
-#line 5868 "cs-parser.jay"
+void case_879()
+#line 5879 "cs-parser.jay"
{
if (linq_clause_blocks == null)
linq_clause_blocks = new Stack<Linq.QueryBlock> ();
@@ -8431,8 +8448,8 @@ void case_877()
linq_clause_blocks.Push ((Linq.QueryBlock)current_block);
}
-void case_878()
-#line 5876 "cs-parser.jay"
+void case_880()
+#line 5887 "cs-parser.jay"
{
current_block.SetEndLocation (lexer.Location);
current_block = current_block.Parent;
@@ -8440,8 +8457,8 @@ void case_878()
current_block = new Linq.QueryBlock (current_block, lexer.Location);
}
-void case_879()
-#line 5883 "cs-parser.jay"
+void case_881()
+#line 5894 "cs-parser.jay"
{
yyVal = new Linq.GroupBy ((Linq.QueryBlock)current_block, (Expression)yyVals[-3+yyTop], linq_clause_blocks.Pop (), (Expression)yyVals[0+yyTop], GetLocation (yyVals[-5+yyTop]));
lbag.AddLocation (yyVal, GetLocation (yyVals[-1+yyTop]));
@@ -8450,15 +8467,15 @@ void case_879()
current_block = current_block.Parent;
}
-void case_883()
-#line 5900 "cs-parser.jay"
+void case_885()
+#line 5911 "cs-parser.jay"
{
((Linq.AQueryClause)yyVals[-1+yyTop]).Tail.Next = (Linq.AQueryClause)yyVals[0+yyTop];
yyVal = yyVals[-1+yyTop];
}
-void case_890()
-#line 5920 "cs-parser.jay"
+void case_892()
+#line 5931 "cs-parser.jay"
{
var lt = (Tokenizer.LocatedToken) yyVals[-3+yyTop];
var sn = new Linq.RangeVariable (lt.Value, lt.Location);
@@ -8471,8 +8488,8 @@ void case_890()
((Linq.QueryBlock)current_block).AddRangeVariable (sn);
}
-void case_892()
-#line 5939 "cs-parser.jay"
+void case_894()
+#line 5950 "cs-parser.jay"
{
yyVal = new Linq.Where ((Linq.QueryBlock)current_block, (Expression)yyVals[0+yyTop], GetLocation (yyVals[-2+yyTop]));
@@ -8480,8 +8497,8 @@ void case_892()
current_block = current_block.Parent;
}
-void case_893()
-#line 5949 "cs-parser.jay"
+void case_895()
+#line 5960 "cs-parser.jay"
{
if (linq_clause_blocks == null)
linq_clause_blocks = new Stack<Linq.QueryBlock> ();
@@ -8490,8 +8507,8 @@ void case_893()
linq_clause_blocks.Push ((Linq.QueryBlock) current_block);
}
-void case_894()
-#line 5957 "cs-parser.jay"
+void case_896()
+#line 5968 "cs-parser.jay"
{
current_block.SetEndLocation (lexer.Location);
current_block = current_block.Parent;
@@ -8500,8 +8517,8 @@ void case_894()
linq_clause_blocks.Push ((Linq.QueryBlock) current_block);
}
-void case_895()
-#line 5965 "cs-parser.jay"
+void case_897()
+#line 5976 "cs-parser.jay"
{
current_block.AddStatement (new ContextualReturn ((Expression) yyVals[-1+yyTop]));
current_block.SetEndLocation (lexer.Location);
@@ -8510,8 +8527,8 @@ void case_895()
current_block = new Linq.QueryBlock (current_block, lexer.Location);
}
-void case_896()
-#line 5973 "cs-parser.jay"
+void case_898()
+#line 5984 "cs-parser.jay"
{
current_block.AddStatement (new ContextualReturn ((Expression) yyVals[-1+yyTop]));
current_block.SetEndLocation (lexer.Location);
@@ -8550,8 +8567,8 @@ void case_896()
((Linq.QueryBlock)current_block).AddRangeVariable (into);
}
-void case_897()
-#line 6011 "cs-parser.jay"
+void case_899()
+#line 6022 "cs-parser.jay"
{
if (linq_clause_blocks == null)
linq_clause_blocks = new Stack<Linq.QueryBlock> ();
@@ -8560,8 +8577,8 @@ void case_897()
linq_clause_blocks.Push ((Linq.QueryBlock) current_block);
}
-void case_898()
-#line 6019 "cs-parser.jay"
+void case_900()
+#line 6030 "cs-parser.jay"
{
current_block.SetEndLocation (lexer.Location);
current_block = current_block.Parent;
@@ -8570,8 +8587,8 @@ void case_898()
linq_clause_blocks.Push ((Linq.QueryBlock) current_block);
}
-void case_899()
-#line 6027 "cs-parser.jay"
+void case_901()
+#line 6038 "cs-parser.jay"
{
current_block.AddStatement (new ContextualReturn ((Expression) yyVals[-1+yyTop]));
current_block.SetEndLocation (lexer.Location);
@@ -8580,8 +8597,8 @@ void case_899()
current_block = new Linq.QueryBlock (current_block, lexer.Location);
}
-void case_900()
-#line 6035 "cs-parser.jay"
+void case_902()
+#line 6046 "cs-parser.jay"
{
current_block.AddStatement (new ContextualReturn ((Expression) yyVals[-1+yyTop]));
current_block.SetEndLocation (lexer.Location);
@@ -8622,8 +8639,8 @@ void case_900()
((Linq.QueryBlock)current_block).AddRangeVariable (into);
}
-void case_904()
-#line 6090 "cs-parser.jay"
+void case_906()
+#line 6101 "cs-parser.jay"
{
current_block.SetEndLocation (lexer.Location);
current_block = current_block.Parent;
@@ -8631,8 +8648,8 @@ void case_904()
yyVal = yyVals[0+yyTop];
}
-void case_906()
-#line 6101 "cs-parser.jay"
+void case_908()
+#line 6112 "cs-parser.jay"
{
current_block.SetEndLocation (lexer.Location);
current_block = current_block.Parent;
@@ -8640,15 +8657,15 @@ void case_906()
current_block = new Linq.QueryBlock (current_block, lexer.Location);
}
-void case_907()
-#line 6108 "cs-parser.jay"
+void case_909()
+#line 6119 "cs-parser.jay"
{
((Linq.AQueryClause)yyVals[-3+yyTop]).Next = (Linq.AQueryClause)yyVals[0+yyTop];
yyVal = yyVals[-3+yyTop];
}
-void case_909()
-#line 6117 "cs-parser.jay"
+void case_911()
+#line 6128 "cs-parser.jay"
{
current_block.SetEndLocation (lexer.Location);
current_block = current_block.Parent;
@@ -8656,43 +8673,43 @@ void case_909()
current_block = new Linq.QueryBlock ((Linq.QueryBlock) current_block, lexer.Location);
}
-void case_910()
-#line 6124 "cs-parser.jay"
+void case_912()
+#line 6135 "cs-parser.jay"
{
((Linq.AQueryClause)yyVals[-3+yyTop]).Tail.Next = (Linq.AQueryClause)yyVals[0+yyTop];
yyVal = yyVals[-3+yyTop];
}
-void case_912()
-#line 6136 "cs-parser.jay"
+void case_914()
+#line 6147 "cs-parser.jay"
{
yyVal = new Linq.OrderByAscending ((Linq.QueryBlock) current_block, (Expression)yyVals[-1+yyTop]);
lbag.AddLocation (yyVal, GetLocation (yyVals[0+yyTop]));
}
-void case_913()
-#line 6141 "cs-parser.jay"
+void case_915()
+#line 6152 "cs-parser.jay"
{
yyVal = new Linq.OrderByDescending ((Linq.QueryBlock) current_block, (Expression)yyVals[-1+yyTop]);
lbag.AddLocation (yyVal, GetLocation (yyVals[0+yyTop]));
}
-void case_915()
-#line 6153 "cs-parser.jay"
+void case_917()
+#line 6164 "cs-parser.jay"
{
yyVal = new Linq.ThenByAscending ((Linq.QueryBlock) current_block, (Expression)yyVals[-1+yyTop]);
lbag.AddLocation (yyVal, GetLocation (yyVals[0+yyTop]));
}
-void case_916()
-#line 6158 "cs-parser.jay"
+void case_918()
+#line 6169 "cs-parser.jay"
{
yyVal = new Linq.ThenByDescending ((Linq.QueryBlock) current_block, (Expression)yyVals[-1+yyTop]);
lbag.AddLocation (yyVal, GetLocation (yyVals[0+yyTop]));
}
-void case_918()
-#line 6168 "cs-parser.jay"
+void case_920()
+#line 6179 "cs-parser.jay"
{
/* query continuation block is not linked with query block but with block*/
/* before. This means each query can use same range variable names for*/
@@ -8709,8 +8726,8 @@ void case_918()
linq_clause_blocks.Push ((Linq.QueryBlock) current_block);
}
-void case_919()
-#line 6184 "cs-parser.jay"
+void case_921()
+#line 6195 "cs-parser.jay"
{
var current_block = linq_clause_blocks.Pop ();
var lt = (Tokenizer.LocatedToken) yyVals[-2+yyTop];
@@ -8720,8 +8737,8 @@ void case_919()
};
}
-void case_922()
-#line 6211 "cs-parser.jay"
+void case_924()
+#line 6222 "cs-parser.jay"
{
current_container = new Class (current_namespace, current_class, new MemberName ("<InteractiveExpressionClass>"), Modifiers.PUBLIC, null);
current_class = current_container;
@@ -8752,8 +8769,8 @@ void case_922()
start_block (lexer.Location);
}
-void case_923()
-#line 6241 "cs-parser.jay"
+void case_925()
+#line 6252 "cs-parser.jay"
{
--lexer.parsing_block;
Method method = (Method) oob_stack.Pop ();
@@ -8764,16 +8781,16 @@ void case_923()
current_local_parameters = null;
}
-void case_933()
-#line 6284 "cs-parser.jay"
+void case_935()
+#line 6295 "cs-parser.jay"
{
module.DocumentationBuilder.ParsedBuiltinType = (TypeExpression)yyVals[-1+yyTop];
module.DocumentationBuilder.ParsedParameters = (List<DocumentationParameter>)yyVals[0+yyTop];
yyVal = null;
}
-void case_934()
-#line 6290 "cs-parser.jay"
+void case_936()
+#line 6301 "cs-parser.jay"
{
module.DocumentationBuilder.ParsedBuiltinType = (TypeExpression)yyVals[-3+yyTop];
module.DocumentationBuilder.ParsedParameters = (List<DocumentationParameter>)yyVals[0+yyTop];
@@ -8781,15 +8798,15 @@ void case_934()
yyVal = new MemberName (lt.Value);
}
-void case_937()
-#line 6305 "cs-parser.jay"
+void case_939()
+#line 6316 "cs-parser.jay"
{
module.DocumentationBuilder.ParsedParameters = (List<DocumentationParameter>)yyVals[-1+yyTop];
yyVal = new MemberName ((MemberName) yyVals[-6+yyTop], new MemberName (MemberCache.IndexerNameAlias));
}
-void case_938()
-#line 6310 "cs-parser.jay"
+void case_940()
+#line 6321 "cs-parser.jay"
{
var p = (List<DocumentationParameter>)yyVals[0+yyTop] ?? new List<DocumentationParameter> (1);
p.Add (new DocumentationParameter ((FullNamedExpression) yyVals[-1+yyTop]));
@@ -8798,8 +8815,8 @@ void case_938()
yyVal = null;
}
-void case_939()
-#line 6318 "cs-parser.jay"
+void case_941()
+#line 6329 "cs-parser.jay"
{
var p = (List<DocumentationParameter>)yyVals[0+yyTop] ?? new List<DocumentationParameter> (1);
p.Add (new DocumentationParameter ((FullNamedExpression) yyVals[-1+yyTop]));
@@ -8808,8 +8825,8 @@ void case_939()
yyVal = null;
}
-void case_940()
-#line 6326 "cs-parser.jay"
+void case_942()
+#line 6337 "cs-parser.jay"
{
var p = (List<DocumentationParameter>)yyVals[0+yyTop] ?? new List<DocumentationParameter> (1);
module.DocumentationBuilder.ParsedParameters = p;
@@ -8817,24 +8834,24 @@ void case_940()
yyVal = null;
}
-void case_948()
-#line 6364 "cs-parser.jay"
+void case_950()
+#line 6375 "cs-parser.jay"
{
var parameters = new List<DocumentationParameter> ();
parameters.Add ((DocumentationParameter) yyVals[0+yyTop]);
yyVal = parameters;
}
-void case_949()
-#line 6370 "cs-parser.jay"
+void case_951()
+#line 6381 "cs-parser.jay"
{
var parameters = yyVals[-2+yyTop] as List<DocumentationParameter>;
parameters.Add ((DocumentationParameter) yyVals[0+yyTop]);
yyVal = parameters;
}
-void case_950()
-#line 6379 "cs-parser.jay"
+void case_952()
+#line 6390 "cs-parser.jay"
{
if (yyVals[-1+yyTop] != null)
yyVal = new DocumentationParameter ((Parameter.Modifier) yyVals[-1+yyTop], (FullNamedExpression) yyVals[0+yyTop]);
@@ -8874,71 +8891,72 @@ void case_950()
159, 162, 159, 159, 163, 62, 165, 58, 168, 169,
58, 164, 171, 164, 166, 166, 172, 172, 173, 174,
173, 175, 170, 167, 167, 167, 167, 167, 179, 176,
- 180, 177, 178, 178, 181, 183, 185, 186, 31, 182,
- 182, 182, 184, 184, 184, 187, 187, 188, 189, 188,
- 190, 191, 192, 32, 193, 193, 17, 17, 194, 194,
- 197, 196, 196, 196, 198, 198, 200, 65, 122, 102,
- 102, 127, 127, 201, 201, 201, 199, 199, 202, 202,
- 203, 203, 205, 205, 83, 73, 73, 87, 87, 117,
- 117, 147, 147, 206, 206, 206, 206, 206, 210, 210,
- 211, 211, 209, 209, 209, 209, 209, 209, 209, 212,
- 212, 212, 212, 212, 212, 212, 212, 212, 213, 213,
- 213, 213, 213, 213, 213, 213, 213, 213, 213, 213,
- 213, 213, 213, 213, 213, 213, 213, 213, 214, 214,
- 214, 215, 215, 215, 235, 235, 236, 236, 237, 237,
- 217, 217, 234, 234, 234, 234, 234, 234, 234, 234,
- 219, 238, 238, 239, 239, 240, 240, 242, 242, 242,
- 243, 243, 243, 243, 243, 244, 244, 160, 160, 248,
- 248, 248, 248, 248, 250, 250, 249, 249, 251, 251,
- 251, 251, 252, 220, 220, 220, 247, 247, 247, 253,
- 253, 254, 254, 221, 222, 222, 223, 224, 225, 225,
- 216, 216, 216, 216, 216, 259, 255, 226, 260, 260,
- 261, 261, 262, 262, 263, 263, 263, 263, 256, 256,
- 207, 207, 258, 258, 264, 264, 257, 257, 82, 82,
- 265, 265, 266, 227, 267, 267, 267, 268, 268, 268,
- 268, 268, 269, 195, 228, 229, 230, 231, 271, 232,
- 272, 232, 270, 270, 274, 273, 218, 275, 275, 275,
- 275, 275, 276, 276, 276, 276, 276, 276, 276, 277,
- 277, 277, 277, 278, 278, 278, 278, 278, 278, 279,
- 279, 279, 280, 280, 280, 280, 280, 281, 281, 281,
- 282, 282, 283, 283, 284, 284, 285, 285, 286, 286,
- 287, 287, 288, 288, 289, 289, 289, 289, 289, 289,
- 289, 289, 289, 289, 289, 290, 290, 291, 291, 291,
- 292, 292, 293, 293, 296, 294, 295, 295, 298, 297,
- 299, 297, 300, 301, 297, 302, 303, 297, 46, 46,
- 245, 245, 245, 245, 233, 233, 233, 81, 305, 306,
- 307, 308, 309, 28, 64, 64, 63, 63, 109, 109,
- 310, 310, 310, 310, 310, 310, 310, 310, 310, 310,
- 310, 310, 310, 310, 310, 67, 67, 69, 69, 69,
- 311, 311, 312, 313, 313, 314, 314, 314, 314, 204,
- 204, 315, 315, 317, 110, 318, 318, 319, 158, 316,
- 316, 320, 320, 321, 321, 321, 321, 325, 325, 326,
- 326, 326, 323, 323, 323, 323, 323, 323, 323, 323,
- 323, 323, 323, 323, 323, 327, 327, 327, 327, 327,
- 327, 327, 327, 327, 327, 327, 327, 327, 341, 341,
- 341, 341, 328, 342, 324, 343, 343, 344, 344, 344,
- 344, 344, 344, 208, 208, 345, 49, 49, 347, 322,
- 350, 322, 346, 346, 346, 346, 348, 348, 354, 354,
- 353, 353, 355, 355, 349, 349, 351, 351, 356, 356,
- 357, 352, 352, 352, 329, 329, 340, 340, 358, 359,
- 359, 330, 330, 360, 360, 363, 361, 362, 362, 364,
- 364, 364, 367, 365, 366, 366, 368, 368, 331, 331,
- 331, 331, 369, 370, 374, 371, 373, 373, 373, 375,
- 375, 379, 378, 378, 376, 376, 377, 377, 381, 380,
- 380, 372, 382, 372, 332, 332, 332, 332, 332, 332,
- 383, 384, 385, 385, 385, 386, 387, 388, 388, 389,
- 389, 333, 333, 333, 333, 390, 390, 392, 392, 391,
- 393, 391, 391, 334, 335, 394, 338, 336, 396, 397,
- 339, 399, 400, 337, 337, 398, 398, 395, 395, 304,
- 304, 304, 304, 401, 401, 403, 403, 405, 404, 406,
- 404, 402, 402, 402, 410, 408, 411, 412, 408, 407,
- 407, 413, 413, 414, 414, 414, 414, 414, 419, 415,
- 420, 416, 421, 422, 423, 417, 425, 426, 427, 417,
- 424, 424, 429, 418, 428, 432, 428, 431, 434, 431,
- 430, 430, 430, 433, 433, 433, 409, 435, 409, 3,
- 3, 436, 3, 3, 437, 437, 246, 246, 241, 241,
- 5, 438, 438, 438, 438, 442, 438, 438, 438, 438,
- 439, 439, 440, 443, 440, 441, 441, 444, 444, 445,
+ 180, 177, 178, 178, 182, 184, 185, 31, 181, 181,
+ 181, 183, 183, 183, 186, 186, 187, 188, 187, 189,
+ 190, 191, 32, 192, 192, 17, 17, 193, 193, 196,
+ 195, 195, 195, 197, 197, 199, 65, 122, 102, 102,
+ 127, 127, 200, 200, 200, 198, 198, 201, 201, 202,
+ 202, 204, 204, 83, 73, 73, 87, 87, 117, 117,
+ 147, 147, 205, 205, 205, 205, 205, 209, 209, 210,
+ 210, 208, 208, 208, 208, 208, 208, 208, 211, 211,
+ 211, 211, 211, 211, 211, 211, 211, 212, 212, 212,
+ 212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
+ 212, 212, 212, 212, 212, 212, 212, 213, 213, 213,
+ 214, 214, 214, 234, 234, 235, 235, 236, 236, 216,
+ 216, 233, 233, 233, 233, 233, 233, 233, 233, 218,
+ 237, 237, 238, 238, 239, 239, 241, 241, 241, 242,
+ 242, 242, 242, 242, 243, 243, 160, 160, 247, 247,
+ 247, 247, 247, 249, 249, 248, 248, 250, 250, 250,
+ 250, 251, 219, 219, 219, 246, 246, 246, 252, 252,
+ 253, 253, 220, 221, 221, 222, 223, 224, 224, 215,
+ 215, 215, 215, 215, 258, 254, 225, 259, 259, 260,
+ 260, 261, 261, 262, 262, 262, 262, 255, 255, 206,
+ 206, 257, 257, 263, 263, 256, 256, 82, 82, 264,
+ 264, 265, 226, 266, 266, 266, 267, 267, 267, 267,
+ 267, 268, 194, 227, 228, 229, 230, 270, 231, 271,
+ 231, 269, 269, 273, 272, 217, 274, 274, 274, 274,
+ 274, 275, 275, 275, 275, 275, 275, 275, 276, 276,
+ 276, 276, 277, 277, 277, 277, 277, 277, 278, 278,
+ 278, 279, 279, 279, 279, 279, 280, 280, 280, 281,
+ 281, 282, 282, 283, 283, 284, 284, 285, 285, 286,
+ 286, 287, 287, 288, 288, 288, 288, 288, 288, 288,
+ 288, 288, 288, 288, 289, 289, 290, 290, 290, 291,
+ 291, 292, 292, 295, 293, 294, 294, 297, 296, 298,
+ 296, 299, 300, 296, 301, 302, 296, 46, 46, 244,
+ 244, 244, 244, 232, 232, 232, 81, 304, 305, 306,
+ 307, 308, 28, 64, 64, 63, 63, 109, 109, 309,
+ 309, 309, 309, 309, 309, 309, 309, 309, 309, 309,
+ 309, 309, 309, 309, 67, 67, 69, 69, 69, 310,
+ 310, 311, 312, 312, 313, 313, 313, 313, 203, 203,
+ 314, 314, 316, 110, 317, 317, 318, 158, 315, 315,
+ 319, 319, 320, 320, 320, 320, 320, 324, 324, 325,
+ 325, 325, 322, 322, 322, 322, 322, 322, 322, 322,
+ 322, 322, 322, 322, 322, 326, 326, 326, 326, 326,
+ 326, 326, 326, 326, 326, 326, 326, 326, 340, 340,
+ 340, 340, 327, 341, 323, 342, 342, 343, 343, 343,
+ 343, 343, 343, 207, 207, 344, 49, 49, 346, 321,
+ 349, 321, 345, 345, 345, 345, 347, 347, 353, 353,
+ 352, 352, 354, 354, 348, 348, 350, 350, 355, 355,
+ 356, 351, 351, 351, 328, 328, 339, 339, 357, 358,
+ 358, 329, 329, 359, 359, 362, 360, 361, 361, 363,
+ 363, 363, 366, 364, 365, 365, 367, 367, 330, 330,
+ 330, 330, 368, 369, 373, 370, 376, 378, 379, 372,
+ 372, 374, 374, 381, 380, 380, 375, 375, 377, 377,
+ 383, 382, 382, 371, 384, 371, 331, 331, 331, 331,
+ 331, 331, 385, 386, 387, 387, 387, 388, 389, 390,
+ 390, 391, 391, 332, 332, 332, 332, 392, 392, 394,
+ 394, 393, 395, 393, 393, 333, 334, 396, 337, 335,
+ 398, 399, 338, 401, 402, 336, 336, 400, 400, 397,
+ 397, 303, 303, 303, 303, 403, 403, 405, 405, 407,
+ 406, 408, 406, 404, 404, 404, 412, 410, 413, 414,
+ 410, 409, 409, 415, 415, 416, 416, 416, 416, 416,
+ 421, 417, 422, 418, 423, 424, 425, 419, 427, 428,
+ 429, 419, 426, 426, 431, 420, 430, 434, 430, 433,
+ 436, 433, 432, 432, 432, 435, 435, 435, 411, 437,
+ 411, 3, 3, 438, 3, 3, 439, 439, 245, 245,
+ 240, 240, 5, 440, 440, 440, 440, 444, 440, 440,
+ 440, 440, 441, 441, 442, 445, 442, 443, 443, 446,
+ 446, 447,
};
static readonly short [] yyLen = { 2,
2, 0, 3, 1, 2, 4, 3, 1, 0, 1,
@@ -8971,45 +8989,45 @@ void case_950()
6, 0, 6, 1, 0, 8, 0, 9, 0, 0,
10, 0, 0, 3, 0, 1, 1, 2, 2, 0,
5, 0, 2, 2, 2, 1, 1, 1, 0, 5,
- 0, 5, 1, 1, 0, 0, 0, 0, 13, 0,
- 2, 2, 0, 1, 2, 1, 3, 2, 0, 5,
- 0, 0, 0, 13, 0, 1, 1, 3, 1, 4,
- 2, 0, 3, 2, 1, 3, 0, 3, 1, 1,
- 3, 1, 2, 3, 4, 4, 0, 3, 1, 3,
- 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 2, 2, 2, 2, 2, 2, 1, 3,
+ 0, 5, 1, 1, 0, 0, 0, 12, 0, 2,
+ 2, 0, 1, 2, 1, 3, 2, 0, 5, 0,
+ 0, 0, 13, 0, 1, 1, 3, 1, 4, 2,
+ 0, 3, 2, 1, 3, 0, 3, 1, 1, 3,
+ 1, 2, 3, 4, 4, 0, 3, 1, 3, 3,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 2, 2, 2, 2, 2, 2, 1, 3, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 2, 2,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 3, 3, 4, 4, 4, 3, 3, 4, 3, 4,
- 4, 0, 1, 3, 4, 0, 1, 1, 3, 2,
- 3, 1, 2, 3, 2, 1, 1, 0, 1, 1,
- 3, 3, 2, 2, 1, 1, 1, 1, 2, 2,
- 4, 3, 1, 4, 4, 3, 1, 3, 2, 1,
- 3, 1, 1, 1, 4, 3, 2, 2, 6, 3,
- 7, 4, 3, 7, 3, 0, 2, 4, 1, 2,
- 0, 1, 1, 3, 3, 1, 1, 1, 0, 1,
- 1, 2, 2, 3, 1, 2, 0, 1, 2, 4,
- 1, 3, 0, 5, 1, 1, 1, 2, 3, 3,
- 4, 4, 1, 2, 4, 4, 4, 4, 0, 4,
- 0, 5, 0, 1, 0, 4, 4, 1, 2, 2,
- 4, 2, 1, 2, 2, 2, 2, 2, 2, 1,
- 3, 3, 3, 1, 3, 3, 3, 3, 3, 1,
- 3, 3, 1, 3, 3, 3, 3, 1, 3, 3,
- 1, 3, 1, 3, 1, 3, 1, 3, 1, 3,
- 1, 3, 1, 5, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 1, 3, 3, 2, 1,
- 0, 1, 1, 1, 0, 2, 1, 1, 0, 4,
- 0, 5, 0, 0, 7, 0, 0, 8, 1, 1,
- 1, 1, 1, 1, 6, 4, 4, 1, 1, 0,
- 0, 0, 0, 15, 0, 1, 0, 1, 1, 2,
+ 1, 1, 1, 1, 1, 1, 1, 2, 2, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
+ 3, 4, 4, 4, 3, 3, 4, 3, 4, 4,
+ 0, 1, 3, 4, 0, 1, 1, 3, 2, 3,
+ 1, 2, 3, 2, 1, 1, 0, 1, 1, 3,
+ 3, 2, 2, 1, 1, 1, 1, 2, 2, 4,
+ 3, 1, 4, 4, 3, 1, 3, 2, 1, 3,
+ 1, 1, 1, 4, 3, 2, 2, 6, 3, 7,
+ 4, 3, 7, 3, 0, 2, 4, 1, 2, 0,
+ 1, 1, 3, 3, 1, 1, 1, 0, 1, 1,
+ 2, 2, 3, 1, 2, 0, 1, 2, 4, 1,
+ 3, 0, 5, 1, 1, 1, 2, 3, 3, 4,
+ 4, 1, 2, 4, 4, 4, 4, 0, 4, 0,
+ 5, 0, 1, 0, 4, 4, 1, 2, 2, 4,
+ 2, 1, 2, 2, 2, 2, 2, 2, 1, 3,
+ 3, 3, 1, 3, 3, 3, 3, 3, 1, 3,
+ 3, 1, 3, 3, 3, 3, 1, 3, 3, 1,
+ 3, 1, 3, 1, 3, 1, 3, 1, 3, 1,
+ 3, 1, 5, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 1, 3, 3, 2, 1, 0,
+ 1, 1, 1, 0, 2, 1, 1, 0, 4, 0,
+ 5, 0, 0, 7, 0, 0, 8, 1, 1, 1,
+ 1, 1, 1, 6, 4, 4, 1, 1, 0, 0,
+ 0, 0, 15, 0, 1, 0, 1, 1, 2, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 0, 2, 0, 1, 1,
- 1, 2, 4, 1, 3, 1, 3, 1, 1, 0,
- 1, 1, 1, 0, 4, 1, 1, 0, 4, 0,
- 1, 1, 2, 1, 1, 1, 1, 1, 2, 1,
+ 1, 1, 1, 1, 0, 2, 0, 1, 1, 1,
+ 2, 4, 1, 3, 1, 3, 1, 1, 0, 1,
+ 1, 1, 0, 4, 1, 1, 0, 4, 0, 1,
+ 1, 2, 1, 1, 1, 2, 1, 1, 2, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -9020,1286 +9038,1305 @@ void case_950()
4, 1, 5, 2, 2, 2, 2, 2, 1, 1,
1, 1, 1, 5, 7, 0, 8, 0, 1, 1,
2, 1, 0, 3, 1, 2, 3, 1, 1, 1,
- 1, 1, 5, 7, 0, 4, 7, 3, 1, 0,
- 1, 0, 5, 1, 0, 1, 0, 1, 1, 1,
- 3, 6, 0, 9, 1, 1, 1, 1, 1, 1,
- 2, 2, 3, 4, 3, 3, 3, 4, 3, 0,
- 1, 3, 4, 5, 3, 1, 2, 0, 1, 2,
- 0, 7, 3, 2, 2, 0, 3, 5, 0, 0,
- 10, 0, 0, 9, 5, 2, 1, 0, 2, 2,
- 2, 2, 2, 4, 5, 4, 5, 0, 5, 0,
- 6, 3, 2, 1, 0, 3, 0, 0, 6, 0,
- 1, 1, 2, 1, 1, 1, 1, 1, 0, 5,
- 0, 3, 0, 0, 0, 12, 0, 0, 0, 13,
- 0, 2, 0, 3, 1, 0, 4, 1, 0, 4,
- 1, 2, 2, 1, 2, 2, 0, 0, 4, 2,
- 3, 0, 4, 2, 2, 3, 0, 1, 1, 1,
- 2, 2, 2, 4, 3, 0, 7, 4, 4, 3,
- 1, 3, 0, 0, 4, 0, 1, 1, 3, 2,
+ 1, 1, 5, 7, 0, 4, 0, 0, 0, 10,
+ 1, 0, 1, 0, 5, 1, 0, 1, 0, 1,
+ 1, 1, 3, 6, 0, 9, 1, 1, 1, 1,
+ 1, 1, 2, 2, 3, 4, 3, 3, 3, 4,
+ 3, 0, 1, 3, 4, 5, 3, 1, 2, 0,
+ 1, 2, 0, 7, 3, 2, 2, 0, 3, 5,
+ 0, 0, 10, 0, 0, 9, 5, 2, 1, 0,
+ 2, 2, 2, 2, 2, 4, 5, 4, 5, 0,
+ 5, 0, 6, 3, 2, 1, 0, 3, 0, 0,
+ 6, 0, 1, 1, 2, 1, 1, 1, 1, 1,
+ 0, 5, 0, 3, 0, 0, 0, 12, 0, 0,
+ 0, 13, 0, 2, 0, 3, 1, 0, 4, 1,
+ 0, 4, 1, 2, 2, 1, 2, 2, 0, 0,
+ 4, 2, 3, 0, 4, 2, 2, 3, 0, 1,
+ 1, 1, 2, 2, 2, 4, 3, 0, 7, 4,
+ 4, 3, 1, 3, 0, 0, 4, 0, 1, 1,
+ 3, 2,
};
static readonly short [] yyDefRed = { 0,
8, 0, 0, 0, 0, 0, 0, 0, 2, 4,
- 0, 0, 11, 14, 0, 920, 0, 0, 924, 0,
- 0, 15, 17, 18, 375, 381, 388, 376, 378, 0,
- 377, 0, 384, 386, 373, 0, 380, 382, 374, 385,
- 387, 383, 337, 941, 0, 379, 931, 0, 10, 1,
+ 0, 0, 11, 14, 0, 922, 0, 0, 926, 0,
+ 0, 15, 17, 18, 374, 380, 387, 375, 377, 0,
+ 376, 0, 383, 385, 372, 0, 379, 381, 373, 384,
+ 386, 382, 336, 943, 0, 378, 933, 0, 10, 1,
0, 0, 0, 12, 0, 771, 0, 0, 0, 0,
- 0, 0, 0, 0, 416, 0, 0, 0, 0, 0,
- 0, 0, 414, 0, 0, 0, 474, 0, 415, 0,
- 513, 0, 846, 0, 0, 0, 624, 0, 0, 0,
- 0, 0, 0, 0, 674, 0, 723, 0, 0, 0,
- 0, 0, 0, 0, 0, 413, 0, 613, 0, 770,
- 0, 706, 0, 0, 0, 0, 390, 391, 0, 393,
- 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
- 404, 405, 406, 407, 408, 411, 412, 620, 543, 0,
+ 0, 0, 0, 0, 415, 0, 0, 0, 0, 0,
+ 0, 0, 413, 0, 0, 0, 473, 0, 414, 0,
+ 512, 0, 848, 0, 0, 0, 623, 0, 0, 0,
+ 0, 0, 0, 0, 673, 0, 723, 0, 0, 0,
+ 0, 0, 0, 0, 0, 412, 0, 612, 0, 770,
+ 0, 706, 0, 0, 0, 0, 389, 390, 0, 392,
+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 410, 411, 619, 542, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 621, 619, 622, 623, 690, 692, 0, 688, 691,
+ 0, 620, 618, 621, 622, 690, 692, 0, 688, 691,
707, 709, 710, 711, 712, 713, 714, 715, 716, 717,
718, 708, 0, 0, 0, 772, 773, 789, 790, 791,
- 792, 815, 816, 817, 818, 819, 820, 0, 0, 0,
- 20, 0, 0, 0, 327, 0, 329, 928, 16, 921,
+ 792, 817, 818, 819, 820, 821, 822, 0, 0, 0,
+ 20, 0, 0, 0, 326, 0, 328, 930, 16, 923,
0, 0, 239, 238, 235, 240, 241, 234, 253, 252,
245, 246, 242, 244, 243, 247, 236, 237, 248, 249,
- 255, 254, 250, 251, 0, 0, 944, 0, 933, 0,
- 932, 3, 52, 0, 0, 0, 42, 39, 41, 43,
- 44, 45, 46, 47, 50, 13, 0, 0, 0, 821,
- 417, 418, 844, 0, 0, 0, 0, 0, 0, 392,
- 0, 822, 0, 535, 529, 534, 722, 769, 693, 720,
+ 255, 254, 250, 251, 0, 0, 946, 0, 935, 0,
+ 934, 3, 52, 0, 0, 0, 42, 39, 41, 43,
+ 44, 45, 46, 47, 50, 13, 0, 0, 0, 823,
+ 416, 417, 846, 0, 0, 0, 0, 0, 0, 391,
+ 0, 824, 0, 534, 528, 533, 722, 769, 693, 720,
719, 721, 694, 695, 696, 697, 698, 699, 700, 701,
702, 703, 704, 705, 0, 0, 0, 795, 0, 0,
0, 738, 737, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 831, 0, 389, 0, 0, 0, 0,
- 0, 0, 845, 0, 0, 0, 736, 732, 0, 0,
- 0, 0, 0, 0, 0, 356, 0, 0, 0, 0,
- 0, 0, 0, 0, 616, 0, 542, 0, 0, 540,
- 544, 545, 539, 549, 548, 546, 547, 609, 524, 0,
- 410, 409, 0, 0, 0, 0, 0, 724, 0, 326,
- 0, 730, 731, 0, 477, 478, 0, 0, 0, 728,
+ 0, 0, 0, 833, 0, 388, 0, 0, 0, 0,
+ 0, 0, 847, 0, 0, 0, 736, 732, 0, 0,
+ 0, 0, 0, 0, 0, 355, 0, 0, 0, 0,
+ 0, 0, 0, 0, 615, 0, 541, 0, 0, 539,
+ 543, 544, 538, 548, 547, 545, 546, 608, 523, 0,
+ 409, 408, 0, 0, 0, 0, 0, 724, 0, 325,
+ 0, 730, 731, 0, 476, 477, 0, 0, 0, 728,
729, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 923, 689, 739, 727, 0,
- 767, 768, 874, 891, 0, 0, 0, 903, 862, 860,
- 884, 0, 0, 882, 885, 886, 887, 888, 863, 861,
- 0, 0, 0, 331, 0, 21, 0, 0, 0, 940,
- 0, 338, 0, 0, 0, 942, 0, 0, 40, 646,
- 652, 644, 0, 641, 651, 645, 643, 642, 649, 647,
- 648, 654, 650, 653, 655, 0, 0, 639, 51, 476,
- 0, 472, 473, 0, 0, 470, 0, 741, 0, 0,
- 0, 0, 765, 766, 0, 0, 0, 628, 0, 825,
- 823, 629, 0, 0, 498, 0, 0, 0, 489, 0,
- 493, 503, 505, 0, 485, 0, 0, 0, 0, 0,
- 480, 0, 483, 0, 487, 358, 826, 0, 0, 827,
- 835, 0, 0, 0, 836, 0, 0, 847, 0, 0,
- 735, 0, 368, 364, 365, 0, 0, 363, 366, 367,
- 0, 0, 0, 550, 0, 0, 531, 0, 611, 687,
- 0, 0, 682, 684, 685, 686, 421, 422, 0, 334,
- 335, 0, 177, 176, 178, 0, 0, 0, 0, 360,
- 0, 596, 0, 0, 829, 0, 0, 426, 0, 429,
- 0, 427, 0, 466, 0, 0, 0, 0, 0, 455,
- 458, 0, 0, 450, 457, 456, 0, 585, 586, 587,
- 588, 589, 590, 591, 592, 593, 595, 594, 551, 553,
- 552, 558, 559, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 582, 0,
- 0, 502, 0, 0, 0, 0, 0, 0, 0, 875,
- 877, 873, 0, 883, 0, 0, 328, 938, 939, 352,
- 0, 0, 349, 0, 0, 174, 0, 0, 948, 934,
- 936, 60, 58, 59, 0, 0, 53, 0, 0, 61,
- 63, 27, 25, 0, 0, 305, 636, 0, 640, 425,
- 0, 475, 0, 526, 0, 537, 164, 185, 0, 0,
- 154, 0, 0, 0, 165, 530, 0, 849, 799, 0,
- 810, 796, 0, 801, 0, 0, 0, 824, 0, 0,
- 0, 488, 0, 504, 506, 0, 0, 442, 0, 0,
- 438, 0, 0, 467, 0, 508, 482, 0, 140, 509,
- 138, 139, 511, 0, 525, 0, 840, 0, 833, 0,
- 837, 517, 0, 0, 0, 353, 0, 515, 0, 0,
- 527, 0, 852, 0, 866, 0, 864, 0, 0, 626,
- 627, 0, 0, 0, 676, 677, 675, 683, 604, 610,
- 603, 0, 0, 333, 599, 0, 0, 0, 541, 828,
- 725, 430, 424, 428, 423, 528, 465, 464, 463, 460,
- 459, 0, 454, 419, 420, 431, 0, 0, 746, 0,
- 0, 892, 868, 0, 893, 0, 889, 0, 904, 0,
- 0, 0, 0, 872, 19, 330, 673, 672, 0, 671,
- 0, 348, 950, 175, 945, 0, 0, 54, 0, 0,
- 0, 0, 0, 0, 355, 0, 630, 0, 0, 80,
- 79, 0, 471, 0, 0, 0, 0, 0, 536, 0,
- 0, 0, 0, 0, 802, 0, 0, 0, 0, 0,
- 848, 495, 494, 445, 0, 0, 929, 930, 434, 440,
- 0, 443, 0, 469, 0, 0, 0, 0, 0, 776,
- 843, 0, 834, 0, 523, 518, 0, 0, 514, 0,
- 855, 0, 793, 867, 865, 0, 532, 0, 612, 608,
- 607, 606, 336, 598, 597, 614, 462, 0, 452, 451,
- 584, 140, 0, 762, 744, 0, 0, 0, 751, 0,
- 870, 0, 897, 0, 912, 913, 906, 876, 878, 918,
- 351, 350, 949, 0, 0, 62, 56, 0, 64, 26,
- 23, 0, 0, 0, 211, 0, 102, 0, 77, 756,
- 113, 114, 0, 0, 0, 759, 183, 184, 0, 0,
- 0, 0, 157, 166, 158, 160, 0, 0, 0, 0,
- 798, 806, 0, 811, 812, 0, 0, 444, 446, 447,
- 441, 435, 439, 0, 500, 0, 468, 479, 433, 512,
- 510, 0, 839, 0, 0, 0, 519, 0, 857, 0,
- 0, 625, 617, 0, 461, 0, 0, 740, 752, 869,
- 0, 0, 0, 890, 0, 0, 0, 937, 0, 0,
- 0, 69, 70, 73, 74, 0, 321, 0, 306, 631,
- 207, 97, 0, 742, 760, 169, 0, 181, 0, 0,
- 0, 794, 859, 0, 0, 0, 0, 813, 775, 484,
- 481, 782, 0, 788, 0, 0, 780, 0, 785, 841,
- 522, 521, 856, 853, 0, 615, 0, 0, 871, 894,
- 0, 0, 0, 908, 0, 919, 0, 75, 67, 0,
- 0, 0, 312, 311, 0, 0, 0, 0, 0, 0,
- 170, 0, 161, 159, 850, 803, 0, 0, 808, 0,
- 0, 777, 781, 0, 786, 0, 0, 618, 0, 754,
- 0, 898, 915, 916, 909, 879, 55, 0, 71, 72,
- 0, 0, 307, 0, 0, 0, 0, 761, 168, 0,
- 180, 0, 0, 814, 787, 0, 678, 842, 854, 763,
- 0, 0, 0, 76, 0, 0, 322, 0, 372, 371,
- 0, 369, 660, 0, 632, 0, 661, 208, 98, 171,
- 851, 797, 0, 895, 0, 910, 0, 0, 0, 308,
- 0, 316, 0, 0, 0, 662, 0, 0, 0, 0,
- 899, 29, 24, 323, 0, 0, 0, 370, 0, 0,
- 0, 99, 679, 0, 0, 0, 0, 0, 317, 668,
- 0, 669, 666, 0, 664, 95, 0, 94, 0, 0,
- 83, 85, 86, 87, 88, 89, 90, 91, 92, 93,
- 141, 0, 0, 224, 216, 217, 218, 219, 220, 221,
- 222, 223, 0, 0, 214, 0, 0, 896, 0, 324,
- 0, 309, 0, 0, 0, 633, 84, 0, 267, 262,
- 266, 0, 209, 215, 0, 902, 900, 320, 667, 665,
- 0, 0, 0, 0, 0, 0, 0, 275, 0, 0,
- 225, 0, 0, 233, 0, 152, 142, 151, 0, 100,
- 0, 0, 261, 0, 0, 260, 0, 146, 0, 0,
- 342, 0, 340, 0, 0, 186, 0, 0, 0, 0,
- 0, 634, 210, 0, 103, 0, 339, 0, 0, 0,
- 0, 117, 0, 0, 0, 0, 0, 0, 143, 0,
- 0, 190, 0, 343, 0, 228, 227, 226, 0, 101,
- 0, 279, 0, 258, 119, 0, 256, 0, 0, 0,
- 121, 0, 344, 0, 0, 187, 0, 0, 0, 341,
- 231, 112, 110, 0, 0, 283, 0, 0, 0, 0,
- 0, 147, 0, 264, 0, 0, 0, 0, 125, 0,
- 0, 0, 0, 345, 346, 0, 0, 0, 0, 0,
- 107, 298, 0, 280, 0, 0, 292, 0, 0, 0,
- 287, 0, 137, 0, 0, 0, 0, 132, 0, 0,
- 276, 0, 122, 0, 116, 126, 144, 150, 198, 0,
- 188, 0, 0, 0, 0, 111, 0, 104, 108, 0,
- 0, 0, 294, 0, 295, 284, 0, 0, 278, 288,
- 259, 0, 0, 118, 133, 257, 0, 274, 0, 265,
- 269, 128, 0, 0, 0, 195, 197, 191, 232, 109,
- 299, 301, 281, 0, 0, 293, 290, 136, 134, 148,
- 0, 0, 0, 145, 199, 201, 189, 0, 0, 0,
- 292, 0, 270, 272, 129, 0, 0, 192, 303, 304,
- 300, 302, 291, 149, 0, 0, 205, 204, 203, 200,
- 202, 0, 0, 0, 193, 271, 273,
+ 0, 0, 0, 0, 0, 925, 689, 739, 727, 0,
+ 767, 768, 876, 893, 0, 0, 0, 905, 864, 862,
+ 886, 0, 0, 884, 887, 888, 889, 890, 865, 863,
+ 0, 0, 0, 330, 0, 21, 0, 0, 0, 942,
+ 0, 337, 0, 0, 0, 944, 0, 0, 40, 645,
+ 651, 643, 0, 640, 650, 644, 642, 641, 648, 646,
+ 647, 653, 649, 652, 654, 0, 0, 638, 51, 475,
+ 0, 471, 472, 0, 0, 469, 0, 741, 0, 0,
+ 0, 0, 765, 766, 0, 0, 0, 627, 0, 827,
+ 825, 628, 0, 0, 497, 0, 0, 0, 488, 0,
+ 492, 502, 504, 0, 484, 0, 0, 0, 0, 0,
+ 479, 0, 482, 0, 486, 357, 828, 0, 0, 829,
+ 837, 0, 0, 0, 838, 0, 0, 849, 0, 0,
+ 735, 0, 367, 363, 364, 0, 0, 362, 365, 366,
+ 0, 0, 0, 549, 0, 0, 530, 0, 610, 687,
+ 0, 0, 0, 681, 683, 684, 685, 420, 421, 0,
+ 333, 334, 0, 177, 176, 178, 0, 0, 0, 0,
+ 359, 0, 595, 0, 0, 831, 0, 0, 425, 0,
+ 428, 0, 426, 0, 465, 0, 0, 0, 0, 0,
+ 454, 457, 0, 0, 449, 456, 455, 0, 584, 585,
+ 586, 587, 588, 589, 590, 591, 592, 594, 593, 550,
+ 552, 551, 557, 558, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 581,
+ 0, 0, 501, 0, 0, 0, 0, 0, 0, 0,
+ 877, 879, 875, 0, 885, 0, 0, 327, 940, 941,
+ 351, 0, 0, 348, 0, 0, 174, 0, 0, 950,
+ 936, 938, 60, 58, 59, 0, 0, 53, 0, 0,
+ 61, 63, 27, 25, 0, 0, 0, 635, 0, 639,
+ 424, 0, 474, 0, 525, 0, 536, 164, 185, 0,
+ 0, 154, 0, 0, 0, 165, 529, 0, 851, 801,
+ 0, 812, 796, 0, 803, 0, 0, 0, 826, 0,
+ 0, 0, 487, 0, 503, 505, 0, 0, 441, 0,
+ 0, 437, 0, 0, 466, 0, 507, 481, 0, 140,
+ 508, 138, 139, 510, 0, 524, 0, 842, 0, 835,
+ 0, 839, 516, 0, 0, 0, 352, 0, 514, 0,
+ 0, 526, 0, 854, 0, 868, 0, 866, 0, 0,
+ 625, 626, 0, 0, 0, 686, 675, 676, 674, 682,
+ 603, 609, 602, 0, 0, 332, 598, 0, 0, 0,
+ 540, 830, 725, 429, 423, 427, 422, 527, 464, 463,
+ 462, 459, 458, 0, 453, 418, 419, 430, 0, 0,
+ 746, 0, 0, 894, 870, 0, 895, 0, 891, 0,
+ 906, 0, 0, 0, 0, 874, 19, 329, 672, 671,
+ 0, 670, 0, 347, 952, 175, 947, 0, 0, 54,
+ 0, 0, 0, 0, 0, 0, 354, 0, 629, 0,
+ 0, 80, 79, 0, 470, 0, 0, 0, 0, 0,
+ 535, 0, 0, 0, 0, 0, 804, 797, 0, 0,
+ 0, 0, 850, 494, 493, 444, 0, 0, 931, 932,
+ 433, 439, 0, 442, 0, 468, 0, 0, 0, 0,
+ 0, 776, 845, 0, 836, 0, 522, 517, 0, 0,
+ 513, 0, 857, 0, 793, 869, 867, 0, 531, 0,
+ 611, 607, 606, 605, 335, 597, 596, 613, 461, 0,
+ 451, 450, 583, 140, 0, 762, 744, 0, 0, 0,
+ 751, 0, 872, 0, 899, 0, 914, 915, 908, 878,
+ 880, 920, 350, 349, 951, 0, 0, 62, 56, 0,
+ 64, 26, 23, 0, 0, 305, 0, 211, 0, 102,
+ 0, 77, 756, 113, 114, 0, 0, 0, 759, 183,
+ 184, 0, 0, 0, 0, 157, 166, 158, 160, 0,
+ 0, 0, 0, 0, 813, 814, 0, 0, 443, 445,
+ 446, 440, 434, 438, 0, 499, 0, 467, 478, 432,
+ 511, 509, 0, 841, 0, 0, 0, 518, 0, 859,
+ 0, 0, 624, 616, 0, 460, 0, 0, 740, 752,
+ 871, 0, 0, 0, 892, 0, 0, 0, 939, 0,
+ 0, 0, 69, 70, 73, 74, 0, 320, 311, 310,
+ 0, 630, 207, 97, 0, 742, 760, 169, 0, 181,
+ 0, 0, 0, 794, 861, 0, 0, 0, 808, 0,
+ 815, 775, 483, 480, 782, 0, 788, 0, 0, 780,
+ 0, 785, 843, 521, 520, 858, 855, 0, 614, 0,
+ 0, 873, 896, 0, 0, 0, 910, 0, 921, 0,
+ 75, 67, 0, 0, 0, 306, 0, 0, 0, 0,
+ 0, 170, 0, 161, 159, 852, 805, 798, 0, 0,
+ 777, 781, 0, 786, 0, 0, 617, 0, 754, 0,
+ 900, 917, 918, 911, 881, 55, 0, 71, 72, 0,
+ 0, 0, 0, 0, 0, 0, 761, 168, 0, 180,
+ 0, 0, 816, 787, 0, 677, 844, 856, 763, 0,
+ 0, 0, 76, 0, 0, 321, 0, 307, 0, 315,
+ 371, 370, 0, 368, 659, 0, 631, 0, 660, 208,
+ 98, 171, 853, 0, 0, 810, 0, 897, 0, 912,
+ 0, 0, 0, 0, 0, 0, 0, 0, 661, 0,
+ 0, 799, 0, 0, 901, 29, 24, 322, 0, 0,
+ 316, 369, 0, 0, 0, 99, 0, 678, 0, 0,
+ 0, 0, 308, 667, 0, 668, 665, 0, 663, 95,
+ 0, 94, 0, 0, 83, 85, 86, 87, 88, 89,
+ 90, 91, 92, 93, 141, 0, 0, 224, 216, 217,
+ 218, 219, 220, 221, 222, 223, 0, 0, 214, 0,
+ 800, 0, 898, 0, 323, 319, 0, 0, 0, 632,
+ 84, 0, 267, 262, 266, 0, 209, 215, 0, 904,
+ 902, 666, 664, 0, 0, 0, 0, 0, 0, 0,
+ 275, 0, 0, 225, 0, 0, 233, 0, 152, 142,
+ 151, 0, 100, 0, 0, 261, 0, 0, 260, 0,
+ 146, 0, 0, 341, 0, 339, 0, 0, 186, 0,
+ 0, 0, 0, 0, 633, 210, 0, 103, 0, 338,
+ 0, 0, 0, 0, 117, 0, 0, 0, 0, 0,
+ 0, 143, 0, 0, 190, 0, 342, 0, 228, 227,
+ 226, 0, 101, 0, 279, 0, 258, 119, 0, 256,
+ 0, 0, 0, 121, 0, 343, 0, 0, 187, 0,
+ 0, 0, 340, 231, 112, 110, 0, 0, 283, 0,
+ 0, 0, 0, 0, 147, 0, 264, 0, 0, 0,
+ 0, 125, 0, 0, 0, 0, 344, 345, 0, 0,
+ 0, 0, 0, 107, 298, 0, 280, 0, 0, 292,
+ 0, 0, 0, 287, 0, 137, 0, 0, 0, 0,
+ 132, 0, 0, 276, 0, 122, 0, 116, 126, 144,
+ 150, 198, 0, 188, 0, 0, 0, 0, 111, 0,
+ 104, 108, 0, 0, 0, 294, 0, 295, 284, 0,
+ 0, 278, 288, 259, 0, 0, 118, 133, 257, 0,
+ 274, 0, 265, 269, 128, 0, 0, 0, 195, 197,
+ 191, 232, 109, 299, 301, 281, 0, 0, 293, 290,
+ 136, 134, 148, 0, 0, 0, 145, 199, 201, 189,
+ 0, 0, 0, 292, 0, 270, 272, 129, 0, 0,
+ 192, 303, 304, 300, 302, 291, 149, 0, 0, 205,
+ 204, 203, 200, 202, 0, 0, 0, 193, 271, 273,
};
protected static readonly short [] yyDgoto = { 7,
- 8, 50, 9, 51, 10, 11, 52, 234, 689, 432,
- 12, 13, 53, 22, 23, 24, 323, 194, 237, 674,
- 833, 1026, 1146, 1479, 830, 238, 239, 240, 241, 242,
- 243, 244, 245, 667, 447, 668, 669, 935, 670, 671,
- 939, 831, 1021, 1022, 1023, 268, 591, 1118, 111, 842,
- 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218,
- 1219, 1220, 466, 678, 1293, 948, 1125, 1088, 1155, 1178,
- 1236, 1304, 1150, 1354, 1331, 1379, 1380, 1381, 950, 1377,
- 951, 732, 1270, 1342, 1317, 1367, 515, 1360, 1336, 1396,
- 914, 1365, 1368, 1369, 1463, 1397, 1398, 1394, 1221, 1277,
- 1248, 1294, 690, 1344, 1443, 1314, 1400, 1472, 467, 269,
- 691, 692, 693, 694, 695, 654, 568, 1130, 655, 656,
- 848, 1296, 1321, 1411, 1372, 1445, 1297, 1347, 1468, 1492,
- 1412, 1413, 1490, 1476, 1477, 946, 1087, 1177, 1233, 1279,
- 1234, 1235, 1271, 1328, 1300, 1272, 326, 225, 1376, 1274,
- 1361, 1358, 1222, 1250, 1290, 1440, 1402, 1138, 1441, 592,
- 1485, 1486, 1289, 1357, 1333, 1389, 1384, 1355, 1421, 1426,
- 1387, 1390, 1391, 1471, 1427, 1385, 1386, 1481, 1469, 1470,
- 836, 1029, 1085, 1170, 1148, 1186, 1171, 1172, 1197, 1082,
- 1168, 1196, 534, 195, 113, 352, 197, 562, 442, 226,
- 1309, 652, 653, 819, 835, 327, 409, 533, 305, 1151,
- 1152, 46, 115, 306, 117, 118, 119, 120, 121, 122,
- 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
- 133, 134, 135, 136, 137, 254, 796, 988, 511, 719,
- 869, 720, 721, 981, 138, 200, 725, 593, 594, 595,
- 596, 790, 475, 476, 299, 986, 727, 410, 301, 498,
- 499, 500, 501, 504, 734, 312, 749, 750, 886, 265,
- 481, 762, 266, 480, 139, 140, 141, 142, 143, 144,
- 145, 146, 147, 148, 149, 150, 151, 152, 153, 571,
- 572, 573, 770, 771, 902, 772, 154, 559, 764, 353,
- 1004, 548, 1065, 155, 493, 944, 1086, 1175, 1275, 468,
- 1156, 1157, 1204, 1205, 820, 551, 338, 767, 1163, 552,
- 553, 270, 271, 272, 158, 159, 160, 273, 274, 275,
- 276, 277, 278, 279, 280, 281, 282, 283, 284, 172,
- 285, 577, 173, 174, 319, 801, 631, 917, 845, 685,
- 954, 915, 918, 1045, 919, 955, 956, 286, 175, 176,
- 177, 1055, 992, 1056, 1057, 1058, 1104, 1059, 178, 179,
- 180, 181, 702, 486, 703, 973, 1097, 704, 970, 705,
- 1099, 1100, 182, 183, 184, 185, 186, 187, 307, 524,
- 525, 994, 1106, 315, 969, 854, 1132, 1001, 892, 1107,
- 188, 420, 189, 421, 920, 1011, 422, 643, 814, 811,
- 812, 1016, 423, 424, 425, 426, 427, 428, 924, 633,
- 922, 1111, 1180, 1238, 1013, 1142, 1195, 809, 639, 810,
- 1073, 1015, 1074, 1143, 1017, 17, 19, 47, 48, 229,
- 657, 827, 443, 658, 659,
+ 8, 50, 9, 51, 10, 11, 52, 234, 690, 432,
+ 12, 13, 53, 22, 23, 24, 323, 194, 237, 675,
+ 835, 1027, 1145, 1482, 832, 238, 239, 240, 241, 242,
+ 243, 244, 245, 668, 447, 669, 670, 937, 671, 672,
+ 941, 833, 1022, 1023, 1024, 268, 592, 1117, 111, 844,
+ 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222,
+ 1223, 1224, 466, 679, 1296, 951, 1124, 1089, 1157, 1181,
+ 1240, 1307, 1152, 1357, 1334, 1382, 1383, 1384, 953, 1380,
+ 954, 733, 1273, 1345, 1320, 1370, 515, 1363, 1339, 1399,
+ 916, 1368, 1371, 1372, 1466, 1400, 1401, 1397, 1225, 1280,
+ 1252, 1297, 691, 1347, 1446, 1317, 1403, 1475, 467, 269,
+ 692, 693, 694, 695, 696, 655, 569, 1129, 656, 657,
+ 850, 1299, 1324, 1414, 1375, 1448, 1300, 1350, 1471, 1495,
+ 1415, 1416, 1493, 1479, 1480, 949, 1088, 1180, 1237, 1282,
+ 1238, 1239, 1274, 1331, 1303, 1275, 326, 225, 1379, 1277,
+ 1364, 1361, 1226, 1254, 1293, 1443, 1405, 1137, 1444, 593,
+ 1488, 1489, 1292, 1360, 1336, 1392, 1387, 1358, 1424, 1429,
+ 1390, 1393, 1394, 1474, 1430, 1388, 1389, 1484, 1472, 1473,
+ 946, 1031, 1148, 1122, 1174, 1149, 1150, 1189, 1085, 1172,
+ 1201, 534, 195, 113, 352, 197, 563, 442, 226, 1312,
+ 653, 654, 821, 837, 327, 409, 533, 305, 1153, 1154,
+ 46, 115, 306, 117, 118, 119, 120, 121, 122, 123,
+ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
+ 134, 135, 136, 137, 254, 798, 989, 511, 720, 871,
+ 721, 722, 982, 138, 200, 726, 594, 595, 596, 597,
+ 792, 475, 476, 299, 987, 728, 410, 301, 498, 499,
+ 500, 501, 504, 735, 312, 750, 751, 888, 265, 481,
+ 763, 266, 480, 139, 140, 141, 142, 143, 144, 145,
+ 146, 147, 148, 149, 150, 151, 152, 153, 572, 573,
+ 574, 772, 773, 904, 774, 154, 560, 765, 353, 1005,
+ 548, 1068, 155, 493, 947, 1087, 1178, 1278, 468, 1158,
+ 1159, 1208, 1209, 822, 552, 338, 769, 1167, 553, 554,
+ 270, 271, 272, 158, 159, 160, 273, 274, 275, 276,
+ 277, 278, 279, 280, 281, 282, 283, 284, 172, 285,
+ 578, 173, 174, 319, 803, 632, 919, 847, 686, 957,
+ 917, 920, 1047, 921, 958, 959, 286, 175, 176, 177,
+ 1058, 993, 1059, 1060, 1061, 1103, 1062, 178, 179, 180,
+ 181, 703, 486, 704, 1050, 974, 1164, 1132, 1197, 705,
+ 973, 706, 1166, 1099, 182, 183, 184, 185, 186, 187,
+ 307, 524, 525, 995, 1105, 315, 972, 856, 1131, 1002,
+ 894, 1106, 188, 420, 189, 421, 922, 1012, 422, 644,
+ 816, 813, 814, 1017, 423, 424, 425, 426, 427, 428,
+ 926, 634, 924, 1110, 1184, 1243, 1014, 1141, 1200, 811,
+ 640, 812, 1076, 1016, 1077, 1142, 1018, 17, 19, 47,
+ 48, 229, 658, 829, 443, 659, 660,
};
- protected static readonly short [] yySindex = { -203,
- 0, -188, -181, -197, -24, 1713, 0, -161, 0, 0,
- -24, -197, 0, 0, -79, 0, 6807, -24, 0, -185,
- -247, 0, 0, 0, 0, 0, 0, 0, 0, 116,
- 0, 341, 0, 0, 0,12170, 0, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 176, 0, 0,
- -161, 332, -24, 0, 366, 0, 106, 401, 270,11730,
- 409, 72, 420, 6964, 0, 72, 72, 72, -143, 72,
- 72, 296, 0,10833, 72, 72, 0,10833, 0, 448,
- 0, 270, 0, 72, 437, 72, 0,12159,12159, 533,
- 72, 72, -138,11513, 0,10833, 0,11513,11513,11513,
-11513,11513,11513,11513,11513, 0, 229, 0, 8061, 0,
- 41, 0, 505, 403, 504, 327, 0, 0, 531, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 806,
- 765, 50, 218, 518, 492, 556, 545, 560, 559, 459,
- 580, 0, 0, 0, 0, 0, 0, 3502, 0, 0,
+ protected static readonly short [] yySindex = { -107,
+ 0, -185, -95, -152, 9,12153, 0, 112, 0, 0,
+ 9, -152, 0, 0, -4, 0, 6830, 9, 0, -183,
+ -232, 0, 0, 0, 0, 0, 0, 0, 0, 133,
+ 0, 173, 0, 0, 0, 9106, 0, 0, 0, 0,
+ 0, 0, 0, 0, 664, 0, 0, 679, 0, 0,
+ 112, 236, 9, 0, 300, 0, 191, 353, 348,11653,
+ 361, 141, 345, 6987, 0, 141, 141, 141, 22, 141,
+ 141, 718, 0,10756, 141, 141, 0,10756, 0, 357,
+ 0, 348, 0, 141, 154, 141, 0, 1216, 1216, 403,
+ 141, 141, -177,11436, 0,10756, 0,11436,11436,11436,
+11436,11436,11436,11436,11436, 0, 164, 0, 8084, 0,
+ 21, 0, 325, -240, 535, 394, 0, 0, 412, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, -252, 604, -262, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, -175, 241, 332,
- 0, 347, 614, 633, 0, 599, 0, 0, 0, 0,
- 8061, 8061, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 857,
+ 635, 93, 591, 518, 700, 461, 419, 519, 478, 374,
+ 469, 0, 0, 0, 0, 0, 0, 3491, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 652, 611, 0, 647, 0, -266,
- 0, 0, 0, 332, 3223, 332, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 773, 651,10969, 0,
- 0, 0, 0,10833, 72, 72, 768, 329, 504, 0,
- -252, 0, 8061, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, -264, 515, -75, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, -202, 150, 236,
+ 0, 372, 570, 575, 0, 538, 0, 0, 0, 0,
+ 8084, 8084, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 714, 131,11730, 0, 8061,10833,
- 706, 0, 0, 709,10833,10833, 9281, -223, 53, 722,
- 8218,11513, 229, 0, 723, 0, 730, 8061,10833, 734,
- 484, 72, 0,10833, 448,10289, 0, 0, 437,10833,
- 437, 174, 411, 849, -252, 0, 604, 327, 853, -252,
-10833,10833,10833, 420, 0, 781, 0, 7121, -280, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 3908,
- 0, 0,12127, 174, 800, 809,10833, 0, 775, 0,
- 458, 0, 0, 490, 0, 0, 764, 8653,10017, 0,
- 0,11513,10833,10833,10833,10833,10833,10833,10833,10833,
-10833,10833,10833,11513,11513,11513, 8061, 8061,11513,11513,
-11513,11513,11513,11513,11513,11513,11513,11513,11513,11513,
-11513,11513,11513,11513,10833, 0, 0, 0, 0, 604,
- 0, 0, 0, 0,12159,12159, -252, 0, 0, 0,
- 0, -30, 636, 0, 0, 0, 0, 0, 0, 0,
- 332, 332, 779, 0, 803, 0, 775, 652, 652, 0,
- -186, 0, 541, 652, 856, 0, -179, 3223, 0, 0,
- 0, 0, -184, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 190,12735, 0, 0, 0,
- 775, 0, 0, 843, 578, 0, 859, 0, 862, -81,
- 448, 72, 0, 0, -252, 8201, -105, 0, 860, 0,
- 0, 0, 866, 867, 0, 297, 0, 872, 0, 869,
- 0, 0, 0, 602, 0, 8337, 609,10833, 722,10017,
- 0, 7592, 0, 437, 0, 0, 0, 876, 879, 0,
- 0, 270, 448, 272, 0, 1003, 880, 0, 882, -252,
- 0, 884, 0, 0, 0,10833, 947, 0, 0, 0,
-10833, 950, 883, 0, 886, 888, 0,12127, 0, 0,
- -303, 7121, 0, 0, 0, 0, 0, 0, 448, 0,
- 0, -253, 0, 0, 0, 437, 174, -252, 8513, 0,
- 887, 0, 890,11513, 0, 889, 7121, 0, 129, 0,
- 360, 0, 775, 0, 33,10833,10833, 892, 1008, 0,
- 0, -18, 897, 0, 0, 0, 765, 0, 0, 0,
+ 0, 0, 0, 0, 600, 547, 0, 578, 0, -261,
+ 0, 0, 0, 236,12756, 236, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 774, 639,10892, 0,
+ 0, 0, 0,10756, 141, 141, 811, 327, 535, 0,
+ -264, 0, 8084, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 765, 765, 50, 50, 218, 218, 218,
- 218, 518, 518, 492, 556, 545, 560, 559, 0, 891,
- -125, 0,10833, 980, -252, 981, -252, 895,10833, 0,
- 0, 0, 921, 0, 358, 775, 0, 0, 0, 0,
- 600, 165, 0, 8513, 541, 0, 907, 909, 0, 0,
- 0, 0, 0, 0, 174, 614, 0, 906, 910, 0,
- 0, 0, 0, 912, 8670, 0, 0, 363, 0, 0,
- 567, 0,10969, 0, 905, 0, 0, 0, 557, 916,
- 0, 915, 918, 919, 0, 0,10833, 0, 0, -252,
- 0, 0, 920, 0, 926,10833, 1000, 0, 6964, 6964,
- 8496, 0, 9281, 0, 0,10425, 145, 0, -279, -127,
- 0, 877, 878, 0, 66, 0, 0, 923, 0, 0,
- 0, 0, 0, 942, 0, 951, 0, 4226, 0, 448,
- 0, 0, 437, 462, 896, 0, -69, 0, 948, 953,
- 0, 6964, 0, 6964, 0,10833, 0,10833, 8061, 0,
- 0, 448, 952, 448, 0, 0, 0, 0, 0, 0,
- 0, 8810, 8061, 0, 0, -252,12127, 984, 0, 0,
+ 0, 0, 0, 0, 744, 155,11653, 0, 8084,10756,
+ 727, 0, 0, 730,10756,10756, 9147, 460, 38, 750,
+ 8241,11436, 164, 0, 638, 0, 735, 8084,10756, 752,
+ 493, 141, 0,10756, 357,10212, 0, 0, 154,10756,
+ 154, 244, 453, 860, -264, 0, 515, 394, 865, -264,
+10756,10756,10756, 345, 0, 777, 0, 7144, -274, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 3897,
+ 0, 0,12082, 244, 779, 793,10756, 0, 759, 0,
+ 123, 0, 0, 514, 0, 0, 747, 8676, 9940, 0,
+ 0,11436,10756,10756,10756,10756,10756,10756,10756,10756,
+10756,10756,10756,11436,11436,11436, 8084, 8084,11436,11436,
+11436,11436,11436,11436,11436,11436,11436,11436,11436,11436,
+11436,11436,11436,11436,10756, 0, 0, 0, 0, 515,
+ 0, 0, 0, 0, 1216, 1216, -264, 0, 0, 0,
+ 0, 138, 629, 0, 0, 0, 0, 0, 0, 0,
+ 236, 236, 762, 0, 766, 0, 759, 600, 600, 0,
+ -126, 0, 510, 600, 837, 0, -196,12756, 0, 0,
+ 0, 0, -169, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 109,12786, 0, 0, 0,
+ 759, 0, 0, 817, 550, 0, 829, 0, 851, 26,
+ 357, 141, 0, 0, -264, 8224, -170, 0, 848, 0,
+ 0, 0, 854, 859, 0, 245, 0, 867, 0, 866,
+ 0, 0, 0, 567, 0, 8360, 632,10756, 750, 9940,
+ 0, 7615, 0, 154, 0, 0, 0, 872, 873, 0,
+ 0, 348, 357, 368, 0, 1397, 874, 0, 875, -264,
+ 0, 877, 0, 0, 0,10756, 957, 0, 0, 0,
+10756, 959, 880, 0, 883, 884, 0,12082, 0, 0,
+ -200, -276, 7144, 0, 0, 0, 0, 0, 0, 357,
+ 0, 0, 289, 0, 0, 0, 154, 244, -264, 8536,
+ 0, 895, 0, 898,11436, 0, 896, 7144, 0, 16,
+ 0, 19, 0, 759, 0, -85,10756,10756, 900, 1017,
+ 0, 0, 48, 901, 0, 0, 0, 635, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 9881, 0, 0, 0, 0,10153,10833, 0, 7749,
- 949, 0, 0, 1034, 0, 1035, 0, 678, 0, 957,
-10833,10833, -252, 0, 0, 0, 0, 0, 914, 0,
- -186, 0, 0, 0, 0, 541, 541, 0, 779, 968,
- 970, 924, 972, 925, 0, 925, 0, 1088, 1089, 0,
- 0,10833, 0,10561, 973, 557, 8513, 8061, 0, 114,
- 1090, 1093, 979, 974, 0, 8967,10833, 982,10833, 1073,
- 0, 0, 0, 0, 40,10697, 0, 0, 0, 0,
- 7885, 0, 1101, 0, 604,10833, 991, 8496, 993, 0,
- 0, -252, 0, 30, 0, 0, 775, 896, 0, -252,
- 0, -99, 0, 0, 0, 992, 0, 1022, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 497, 0, 0,
- 0, 0, 8218, 0, 0, -252, 994, 949, 0,10833,
- 0,10833, 0,10833, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 997, 779, 0, 0,11105, 0, 0,
- 0, 998, 996, 925, 0, 925, 0, 925, 0, 0,
- 0, 0, -252, 1002, 973, 0, 0, 0, -176, -174,
- 1005, 1009, 0, 0, 0, 0, 1006, 8496, 949, -125,
- 0, 0, 1010, 0, 0, 1004, 6964, 0, 0, 0,
- 0, 0, 0, 1014, 0, 722, 0, 0, 0, 0,
- 0, -214, 0, 1026, 775, 896, 0, 896, 0, 949,
- 1027, 0, 0, 448, 0, 983, 1021, 0, 0, 0,
-10833, 1056,10833, 0,10833, 1023, 265, 0, 910, 302,
- 627, 0, 0, 0, 0, -197, 0, 4385, 0, 0,
- 0, 0, 1024, 0, 0, 0, 530, 0, 1031, 1151,
- 1152, 0, 0, 949, 1042, 949,10833, 0, 0, 0,
- 0, 0,10833, 0, 1051, -173, 0, -173, 0, 0,
- 0, 0, 0, 0, 448, 0,10833, 8044, 0, 0,
- 1076, 748, 1050, 0,10833, 0, 1059, 0, 0,11105,
- -24, -81, 0, 0, 1066, 1060, 1060, 1060,10561, 1069,
- 0,10833, 0, 0, 0, 0, 1054, 926, 0, 6964,
- 1065, 0, 0, 7121, 0, 1074, 6964, 0, 1075, 0,
-10833, 0, 0, 0, 0, 0, 0,10833, 0, 0,
- 332, 1072, 0, 4544, -148, -148, -148, 0, 0,10833,
- 0, 6964, 6964, 0, 0, 7121, 0, 0, 0, 0,
- 1099,10833,10833, 0, 332, 1081, 0, 332, 0, 0,
- 1078, 0, 0, 1036, 0, 1114, 0, 0, 0, 0,
- 0, 0, 7121, 0, 1112, 0, 1085, -148, 1044, 0,
- 1091, 0, 4544, 1092, 1105, 0, 1107, 1108, 1098,10833,
- 0, 0, 0, 0, 0, 1113, 332, 0,11809, -151,
- 332, 0, 0, 1120,10833, 1104, 1103, 1085, 0, 0,
- 1111, 0, 0, 1116, 0, 0,12735, 0, 1123, -151,
+ 0, 0, 0, 0, 635, 635, 93, 93, 591, 591,
+ 591, 591, 518, 518, 700, 461, 419, 519, 478, 0,
+ 902, -180, 0,10756, 982, -264, 984, -264, 899,10756,
+ 0, 0, 0, 923, 0, 494, 759, 0, 0, 0,
+ 0, 525, 298, 0, 8536, 510, 0, 910, 909, 0,
+ 0, 0, 0, 0, 0, 244, 570, 0, 911, 913,
+ 0, 0, 0, 0, 912, 8693, 870, 0, 383, 0,
+ 0, 465, 0,10892, 0, 903, 0, 0, 0, 586,
+ 919, 0, 920, 921, 930, 0, 0,10756, 0, 0,
+ -264, 0, 0, 929, 0, 932,10756, 1013, 0, 6987,
+ 6987, 8519, 0, 9147, 0, 0,10348, 459, 0, -242,
+ -104, 0, 879, 886, 0, 51, 0, 0, 938, 0,
+ 0, 0, 0, 0, 937, 0, 945, 0, 4215, 0,
+ 357, 0, 0, 154, 512, 892, 0, -72, 0, 946,
+ 944, 0, 6987, 0, 6987, 0,10756, 0,10756, 8084,
+ 0, 0, 357, 948, 357, 0, 0, 0, 0, 0,
+ 0, 0, 0, 8833, 8084, 0, 0, -264,12082, 978,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 331,12735, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1125, 332, 0, -151, -252, 0, 1120, 0,
-10833, 0, 1122,11809,11901, 0, 0, 467, 0, 0,
- 0,11975, 0, 0, 1127, 0, 0, 0, 0, 0,
- 8061, 8061, 269, 8218, 274, 437, 1159, 0, 174, 317,
- 0, 1183, 0, 0, 1085, 0, 0, 0, 1085, 0,
- 1082, 1083, 0, 8061, -172, 0, 8061, 0, 1084, 1128,
- 0, 174, 0, 1133, 9317, 0, 1136, 1097, -239, 550,
-12170, 0, 0, 1085, 0, 174, 0, 1139, 1100, 1137,
- 1135, 0, 1138, 1083, 1145, -81, 1140, 1144, 0, 1148,
- 1153, 0, 775, 0, 724, 0, 0, 0, 1154, 0,
- -97, 0, 1143, 0, 0, 1157, 0, 1158, 1162, 1168,
- 0, 1156, 0, -81, -81, 0, -81, 1171, 1172, 0,
- 0, 0, 0, 1174, -119, 0, 1178, -81, 1275, 1179,
- -81, 0, 467, 0, 8496, 1142, 1170, 1156, 0, 1182,
- 1185, -71, 1191, 0, 0, -81,10561, 1147, 1190, 1174,
- 0, 0,12735, 0, 332, 332, 0, 1149, 1193, 1178,
- 0, 1198, 0,10833, 1160, 1195, 1179, 0, 1200, -81,
- 0, -156, 0, 1194, 0, 0, 0, 0, 0,12735,
- 0, -71, -71, 1188, 1202, 0, -97, 0, 0, 184,
- 1208,12735, 0,12735, 0, 0, 8496, 1199, 0, 0,
- 0, 1209, 1157, 0, 0, 0, 1211, 0, -160, 0,
- 0, 0, -148, 791, 1216, 0, 0, 0, 0, 0,
- 0, 0, 0, 1270, 1323, 0, 0, 0, 0, 0,
- 1218, 1219, 8496, 0, 0, 0, 0, -71, 555, 555,
- 0, -148, 0, 0, 0, -66, -66, 0, 0, 0,
- 0, 0, 0, 0,10017,10017, 0, 0, 0, 0,
- 0, 1223, 1215, 1220, 0, 0, 0,
+ 0, 0, 0, 9804, 0, 0, 0, 0,10076,10756,
+ 0, 7772, 949, 0, 0, 1028, 0, 1030, 0, 558,
+ 0, 951,10756,10756, -264, 0, 0, 0, 0, 0,
+ 908, 0, -126, 0, 0, 0, 0, 510, 510, 0,
+ 762, 958, 956, 914, 962, 870, 0, 963, 0, 1075,
+ 1078, 0, 0,10756, 0,10484, 966, 586, 8536, 8084,
+ 0, 358, 1081, 1087, 972, 964, 0, 0,10756, 977,
+10756, 1070, 0, 0, 0, 0, 13,10620, 0, 0,
+ 0, 0, 7908, 0, 1096, 0, 515,10756, 989, 8519,
+ 993, 0, 0, -264, 0, -36, 0, 0, 759, 892,
+ 0, -264, 0, -171, 0, 0, 0, 985, 0, 1019,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 720,
+ 0, 0, 0, 0, 8241, 0, 0, -264, 995, 949,
+ 0,10756, 0,10756, 0,10756, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1002, 762, 0, 0,11028,
+ 0, 0, 0, 1005, 4374, 0, 870, 0, 870, 0,
+ 870, 0, 0, 0, 0, -264, 1001, 966, 0, 0,
+ 0, -166, -163, 1004, 1008, 0, 0, 0, 0, 1007,
+ 8519, 949, -180,10756, 0, 0, 1012, 6987, 0, 0,
+ 0, 0, 0, 0, 1015, 0, 750, 0, 0, 0,
+ 0, 0, -198, 0, 1014, 759, 892, 0, 892, 0,
+ 949, 1016, 0, 0, 357, 0, 967, 1006, 0, 0,
+ 0,10756, 1042,10756, 0,10756, 1041, 183, 0, 913,
+ 474, 723, 0, 0, 0, 0, -152, 0, 0, 0,
+ 1031, 0, 0, 0, 1018, 0, 0, 0, 455, 0,
+ 1020, 1139, 1141, 0, 0, 949, 1032, 949, 0, 1026,
+ 0, 0, 0, 0, 0,10756, 0, 1035, -193, 0,
+ -193, 0, 0, 0, 0, 0, 0, 357, 0,10756,
+ 8067, 0, 0, 1059, 789, 1033, 0,10756, 0, 1038,
+ 0, 0,11028, 9, 26, 0, 1034, 1034, 1034,10484,
+ 1040, 0,10756, 0, 0, 0, 0, 0, 6987, 1036,
+ 0, 0, 7144, 0, 1045, 6987, 0, 1046, 0,10756,
+ 0, 0, 0, 0, 0, 0,10756, 0, 0, 236,
+ 1043, 236, 4533, -6, -6, -6, 0, 0,10756, 0,
+ 6987,10756, 0, 0, 7144, 0, 0, 0, 0, 1057,
+10756,10756, 0, 236, 1051, 0, 1010, 0, 1049, 0,
+ 0, 0, 1050, 0, 0, 1021, 0, 1091, 0, 0,
+ 0, 0, 0, 1060, 932, 0, 7144, 0, 1083, 0,
+ 1061, -6, 0, 1065, 236, 4533, 1066, 1068, 0, 1069,
+ 1073, 0, 1074,10756, 0, 0, 0, 0, 1063, 1061,
+ 0, 0,11732, -86, 236, 0, 6987, 0, 1089,10756,
+ 1071,10756, 0, 0, 1077, 0, 0, 1079, 0, 0,
+12786, 0, 1084, -86, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 284,12786, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1086, 236, 0, -86,
+ 0, -264, 0, 1089, 0, 0, 1085,11732,11898, 0,
+ 0, 471, 0, 0, 0,11930, 0, 0, 1088, 0,
+ 0, 0, 0, 8084, 8084, 282, 8241, 302, 154, 1114,
+ 0, 244, 9740, 0, 1150, 0, 0, 1061, 0, 0,
+ 0, 1061, 0, 1044, 1052, 0, 8084, -162, 0, 8084,
+ 0, 1055, 1090, 0, 244, 0, 1092, 825, 0, 1099,
+ 1056, -224, 499, 9106, 0, 0, 1061, 0, 244, 0,
+ 1102, 1062, 1104, 1082, 0, 1105, 1052, 1106, 26, 1098,
+ 1111, 0, 1116, 1118, 0, 759, 0, 725, 0, 0,
+ 0, 1117, 0, -122, 0, 1112, 0, 0, 1123, 0,
+ 1125, 1122, 1129, 0, 1128, 0, 26, 26, 0, 26,
+ 1130, 1134, 0, 0, 0, 0, 1135, -57, 0, 1136,
+ 26, 1257, 1143, 26, 0, 471, 0, 8519, 1097, 1142,
+ 1128, 0, 1147, 1149, -31, 1152, 0, 0, 26,10484,
+ 1107, 1148, 1135, 0, 0,12786, 0, 236, 236, 0,
+ 1115, 1154, 1136, 0, 1151, 0,10756, 1119, 1164, 1143,
+ 0, 1170, 26, 0, -190, 0, 1163, 0, 0, 0,
+ 0, 0,12786, 0, -31, -31, 1178, 1177, 0, -122,
+ 0, 0, -149, 1183,12786, 0,12786, 0, 0, 8519,
+ 1171, 0, 0, 0, 1184, 1123, 0, 0, 0, 1185,
+ 0, 110, 0, 0, 0, -6, 783, 1187, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1241, 1296, 0, 0,
+ 0, 0, 0, 1189, 1190, 8519, 0, 0, 0, 0,
+ -31, 543, 543, 0, -6, 0, 0, 0, -92, -92,
+ 0, 0, 0, 0, 0, 0, 0, 9940, 9940, 0,
+ 0, 0, 0, 0, 1194, 1192, 1193, 0, 0, 0,
};
- protected static readonly short [] yyRindex = { 1688,
- 0, 0, 7278, 1688, 0, 0, 0, 1593, 0, 0,
- 3179, 3004, 0, 0, 0, 0, 0, 3179, 0, 0,
- 47, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ protected static readonly short [] yyRindex = { 1348,
+ 0, 0, 7301, 1348, 0, 0, 0, 1566, 0, 0,
+ 3157, 1058, 0, 0, 0, 0, 0, 3157, 0, 0,
+ 52, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1597, 0, 0, 1597, 0, 0,
- 1593, 1226, 3073, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1231, 0, 0, 0, 0, 0, 0, 0,
- 0, 8827, 0, 1240, 0, 0, 0, 1240, 0, 0,
- 0, 0, 0, 0, 213, 0, 0, 0, 0, 0,
- 0, 0, 0, 103, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 4765, 0, 0, 0,
- 0, 0, 0, 267, 4702, 3978, 0, 0, 4543, 0,
+ 0, 0, 0, 0, 1568, 0, 0, 1568, 0, 0,
+ 1566, 3200, 3071, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1202, 0, 0, 0, 0, 0, 0, 0,
+ 0, 8850, 0, 1195, 0, 0, 0, 1195, 0, 0,
+ 0, 0, 0, 0, -289, 0, 0, 0, 0, 0,
+ 0, 0, 0, 162, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 4754, 0, 0, 0,
+ 0, 0, 0, 193, 4691, 3967, 0, 0, 4532, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 4858,
- 4962, 5270, 5474, 5814, 6018, 6154, 6290, 6426, 6562, 6686,
- 1041, 0, 0, 0, 0, 0, 0, 47, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 4847,
+ 4951, 5259, 5463, 5803, 6007, 6143, 6279, 6415, 6551, 294,
+ -172, 0, 0, 0, 0, 0, 0, 52, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 56, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 827, 827, 3266,
- 0, 423, 1241, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1597, 127, 0, 0, 0, 0,
- 0, 0, 0, 3329, 440, 3376, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3589, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 839, 839, 3263,
+ 0, 671, 1196, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1568, 37, 0, 0, 0, 0,
+ 0, 0, 0, 3326, 537, 3369, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1250, 0, 0, 0,
- 0, 0, 3589, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 2115, 0,
- 2664, 346, 2245, 0, 0, 0, 2392, 2245, 0, 0,
- 0, 0, 0, 1231, 0, 0, 0, -51, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3578, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1247, 2517, 0, 0, 1240, 0, 3589, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, -2, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1205, 0, 0, 0,
+ 0, 0, 3578, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 2278, 0,
+ 2827, 340, 2408, 0, 0, 0, 2555, 2408, 0, 0,
+ 0, 0, 0, 1202, 0, 0, 0, 130, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359,
+ 0, 0, 1203, 2680, 0, 0, 1195, 0, 3578, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 151, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 102, 0, 0, 0, 0, 0, 0, 0,
- 3423, 2822, 0, 0, 0, 0, 1962, 1597, 1597, 0,
- -118, 0, 7609, 1597, 1622, 0, 0, 173, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 410,11662, 0, 0, 0,
- 3589, 0, 0, 0, 0, 0, 0, 0, 0,12007,
- 0, 0, 0, 0, 0, 1248, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 688, 830, 0, 0, 1255,
- 0, 0, 0, 0, 0, -43, 0, 0, 4066, 1253,
- 0, 0, 0, 231, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1539, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1247, 0, 0,
- 0, -37, 0, 0, 0, 0, 0, 0, 9124, 0,
- 0, 0, 0, 0, 0, 5, 674, 0, 0, 0,
- 1254, 0, 0, 0, 0, 0, 0, 0, 3589, 0,
- 3589, 0, 4225, 0, 0, 0, 0, 148, 0, 0,
- 0, 0, 13, 0, 0, 0, 5030, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1438,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 5134, 5202, 5338, 5406, 5542, 5610, 5678,
- 5746, 5882, 5950, 6086, 6222, 6358, 6494, 6618, 0, 0,
- 482, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 454, 0, 0, 1962, 0, 0, 0, 0,
- 1212, 0, 0, 0, 8984, 0, 0, 716, 0, 0,
- 0, 0, 0, 0, 744, 466, 0, 0, 1257, 0,
- 0, 0, 0, 1261, 0, 0, 0, 0, 0, 0,
-11241, 0, 0, 0, 664, 0, 0, 0, 9141, 0,
- 0, 727, 751, 759, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1256, 0, 0, 0, 0, 0,
- 0, 0, 1263, 0, 0, 0, 3655, 0, 0, -23,
- 0, 91, 3748, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1265, 0, 0, 0, 0, 0, 0,
- 0, 0, -5, 588, 0, 0, 0, 0, 0, 1262,
+ 0, 0, 156, 0, 0, 0, 0, 0, 0, 0,
+ 3412, 2985, 0, 0, 0, 0, 2125, 1568, 1568, 0,
+ 31, 0, 7632, 1568, 1574, 0, 0, 169, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 9124, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 421,11585, 0, 0, 0,
+ 3578, 0, 0, 0, 0, 0, 0, 0, 0,11974,
+ 0, 0, 0, 0, 0, 1200, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 620, 636, 0, 0, 1209,
+ 0, 0, 0, 0, 0, 145, 0, 0, 4055, 1206,
+ 0, 0, 0, -211, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1829, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1203, 0, 0,
+ 6670, 0, 152, 0, 0, 0, 0, 0, 0, 8990,
+ 0, 0, 0, 0, 0, 0, 127, 517, 0, 0,
+ 0, 1208, 0, 0, 0, 0, 0, 0, 0, 3578,
+ 0, 3578, 0, 4214, 0, 0, 0, 0, 180, 0,
+ 0, 0, 0, 181, 0, 0, 0, 5019, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 170, 0, 0, 0,
- 1259, 0, 0, 0, 0, 0, 0, 323, 0, 586,
+ 0, 0, 0, 0, 5123, 5191, 5327, 5395, 5531, 5599,
+ 5667, 5735, 5871, 5939, 6075, 6211, 6347, 6483, 6607, 0,
+ 0, 740, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 2784, 0, 0, 2125, 0, 0, 0,
+ 0, 1167, 0, 0, 0, 9007, 0, 0, 751, 0,
+ 0, 0, 0, 0, 0, 644, 675, 0, 0, 1211,
+ 0, 0, 0, 0, 1219, 0, 0, 0, 0, 0,
+ 0,11164, 0, 0, 0, 755, 0, 0, 0,12172,
+ 0, 0, 785, 790, 794, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1227, 0, 0, 0, 0,
+ 0, 0, 0, 1236, 0, 0, 0, 3644, 0, 0,
+ 153, 0, 55, 3737, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1238, 0, 0, 0, 0, 0,
+ 0, 0, 0, 194, 702, 0, 0, 0, 0, 0,
+ 1235, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 8990, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- -118, 0, 0, 0, 0, 9141, 7766, 0, 1266, 0,
- 642, 0, 0, 0, 0, 0, 0, 1221, 1222, 0,
- 0, 0, 0, 0, 1268,12203, 0, 0, 0,12083,
- 0, 0, 0, 772, 0, 1269, 0, 0, 0, 1833,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 3907, 0, 4384, 1273, 0, 0,
- 0, 1274, 0, 0, 0, 0, 275, 0, 0, 0,
- 0, 772, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 258, 0,
+ 0, 0, 1232, 0, 0, 0, 0, 0, 0, 251,
+ 0, 269, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 31, 0, 0, 0, 0,12172, 7789, 0,
+ 1240, 0, 668, 0, 0, 0, 0, 1244, 0, 1197,
+ 1199, 0, 0, 0, 0, 0, 1237,12226, 0, 0,
+ 0,12050, 0, 0, 0, 796, 0, 0, 0, 0,
+ 0, 1996, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 3896, 0, 4373, 1246,
+ 0, 0, 0, 1247, 0, 0, 0, 0, 335, 0,
+ 0, 0, 0, 796, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1271, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1242,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 787, 0, 0,
- 0, 0, 1281, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1278, 0, 0, 0, 0, 0,
- 795, 796, 0, 0, 0, 0, 0, 0, 1277, 482,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 807,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 4066, 0, 0, 0, 0,
- 0, 1282, 0, 0, 275, 0, 0, 834, 0, 1277,
- 0, 0, 0, 9124, 0, 595, 681, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 167, 0, 1257, 9318,
- 0, 0, 0, 0, 0,12299, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 694, 0, 758, 0,
- 0, 0, 0, 1283, 0, 1259, 1286, 0, 0, 0,
- 0, 0, 0, 0, 0, 1291, 0, 7435, 0, 0,
- 0, 0, 0, 0, 9124, 0, 0, 0, 0, 0,
- 0, 535, 658, 0, 0, 0, 0, 0, 0, 0,
-12342,12007, 0, 0, 0, -21, -21, -21, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1288, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1245, 0, 0,
+ 0, 0, 0, 823, 827, 0, 0, 0, 0, 0,
+ 0, 1250, 740, 1248, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 4055, 0, 0, 0,
+ 0, 0, 1255, 0, 0, 335, 0, 0, 842, 0,
+ 1250, 0, 0, 0, 8990, 0, 587, 688, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 167, 0, 1211,
+ 9184, 0, 0, 0, 0, 0,12268, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 693, 0,
+ 709, 0, 0, 0, 0, 1254, 0, 1232, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1259, 0,
+ 7458, 0, 0, 0, 0, 0, 0, 8990, 0, 0,
+ 0, 0, 0, 0, 386, 420, 0, 0, 0, 0,
+ 0, 0, 0,12344,11974, 0, 147, 147, 147, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-12428, 0, 0, 0, 1295, 1295, 1295, 0, 0, 0,
- 0, 0, 0, 0, 0, -159, 0, 0, 0, 0,
- 0, 0, 0, 0,12471, 0, 0, -226, 0, 0,
- 138, 0, 0, 0, 0, 566, 0, 0, 0, 0,
- 0, 0, 1297, 0, 0, 0, 3136, 1287, 0, 0,
- 1299, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 521, 0, 144, 0, 0, 9472,
- 9670, 0, 0, 675, 0, 0, 0, 2941, 0, 0,
- 0, 0, 0, 383, 0, 0, 1155, 0, 0, 9571,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0,12449,
+ 0, -87, 0, 1249, 1249, 1249, 0, 0, 0, 0,
+ 0, 1256, 0, 0, -209, 0, 0, 0, 0, 0,
+ 0, 0, 0,12492, 0, 0, 0, 0, 1262, 0,
+ 0, 0, 161, 0, 0, 0, 0, 569, 0, 0,
+ 0, 0, 0, 0, 1261, 0, 1263, 0, 0, 0,
+ 3114, 1260, 548, 0, 171, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1661,
+ 0, 0, 0, 9338, 9536, 0, 0, 0, 454, 0,
+ 0, 0, 0, 0, 0, 0, 0, 285, 0, 0,
+11756, 0, 0, 9437, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,11824, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 9630, 0, 9338,
+ 0, 0, 0, 454, 0, 0, 0, 0, 421, 0,
+ 0, 0, 0, 0, 0, 421, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1591, 424,
+ 0, 9672, 0, 0, 0, 4688, 0, 1661, 0, 0,
+ 0, 1661, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 593, 0, 1268, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1661, 0, 734, 0,
+ 624, 0, 0, 0, 0, 0, 0, 0,11974, 826,
+ 0, 0, 0, 0, 0, 1239, 0, 660, 0, 0,
+ 0, 0, 0, 0, 0, 831, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1264, 0,11974,11974, 0,12006,
+ 0, 0, 0, 0, 0, 0, 1265,12716, 0, 1266,
+11974,11300, 1267,11974, 0, 0, 0, 0, 0, 0,
+ 1270, 0, 0, 0,12686, 0, 0, 0,11974, 0,
+ 0, 0, 1271, 0, 0, 312, 0,12610,12648, 0,
+ 0, 0, 1275, 0, 0, 0, 0, 0, 0, 1276,
+ 0, 0,11974, 0, 573, 0, 835, 0, 0, 0,
+ 0, 0, 853, 0,12534,12572, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1324, 0, 1391, 0, 0, 0,
+ 836, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 577, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,11833, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 9764, 0, 9472, 0, 0, 675, 0,
- 0, 0, 0, 0, 410, 0, 0, 0, 0, 0,
- 0, 410, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 2663, 433, 0, 9806, 0,
- 0, 0, 4699, 0, 2941, 0, 0, 0, 2941, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 619, 0, 1305, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 2941, 0, 668, 0, 587, 0, 0,
- 0, 0, 0, 0, 0,12007, 797, 0, 0, 0,
- 0, 0, 1264, 0, 703, 0, 0, 0, 0, 0,
- 0, 0, 814, 0, 0, 0, 0, 0, 0, 0,
- 0, 1298, 0,12007,12007, 0,12051, 0, 0, 0,
- 0, 0, 0, 1301,12695, 0, 1302,12007,11377, 1303,
-12007, 0, 0, 0, 0, 0, 0, 1306, 0, 0,
- 0,12665, 0, 0, 0,12007, 0, 0, 0, 1307,
- 0, 0, 293, 0,12589,12627, 0, 0, 0, 1309,
- 0, 0, 0, 0, 0, 0, 1310, 0, 0,12007,
- 0, 574, 0, 819, 0, 0, 0, 0, 0, 805,
- 0,12513,12551, 0, 0, 0, 0, 0, 0, 0,
- 0, 1314, 0, 1375, 0, 0, 0, 820, 0, 0,
+12686,11472,12386, 0, 577, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1206, 1206, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 577, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0,12665,11549,12385,
- 0, 577, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1253, 1253, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0,
};
protected static readonly short [] yyGindex = { 0,
- 0, 1591, 0, 0, 0, 4, -8, -178, -50, 1621,
- 0, 1663, 1676, 693, 0, 0, 2, 0, 0, 0,
- 0, 0, 0,-1107, -682, -217, -418, 0, 0, 0,
- 0, 0, -191, 0, 0, 0, 752, 0, 861, 0,
- 0, 0, 0, 613, 616, -17, -230, 0, 65, 0,
- 453, 0, 481, -673, -651, -576, -570, -566, -539, -510,
- -487, 0,-1012, 0, 10, 0, 112, 0,-1090, 0,
- 0, 0, -82, 277, 0, 0, 0, 319,-1050, 0,
- -275, -299, 1025, 0, 0, 0, -875, 271, 0, 0,
- -498, 0, 0, 333, 0, 0, 305, 0, 0, 355,
- 0,-1152, -810, 0, 0, 0, 0, 0, 449, -13,
- 0, 0, 870, 873, 874, 1039, -506, 0, 0, -319,
- 893, 443, 0,-1008, 0, 0, 0, 0, 0, 0,
- 0, 0, 259, 0, 0, 0, 0, 0, 0, 0,
- 0, 516, 0, 0, 0, 0, -333, 472, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 552, 0, -501,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 307,
- 0, 0, 386, 0, 0, 394, 398, 315, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 603, 0, 0,
- 0, 0, -58, 0, -15, -142, 0, 0, 461, 0,
- 517, 0, 971, 0, 1267, -290, -278, -52, 804, 0,
- 618, 0, -42, 268, 0, 0, 100, 0, 0, 0,
+ 0, 1605, 0, 0, 0, -3, -15, -182, -42, 1611,
+ 0, 1654, 1663, 94, 0, 0, -11, 0, 0, 0,
+ 0, 0, 0, -822, -699, -223, -382, 0, 0, 0,
+ 0, 0, -194, 0, 0, 0, 733, 0, 843, 0,
+ 0, 0, 0, 590, 592, -17, -230, 0, 47, 0,
+ 437, 0, 464,-1118,-1099, -891, -662, -556, -504, -493,
+ -484, 0,-1139, 0, 1, 0, 131, 0,-1075, 0,
+ 0, 0, -74, 259, 0, 0, 0, 297,-1057, 0,
+ -272, -298, 1011, 0, 0, 0, -889, 246, 0, 0,
+ -496, 0, 0, 318, 0, 0, 291, 0, 0, 329,
+ 0, -552, -895, 0, 0, 0, 0, 0, 423, -13,
+ 0, 0, 841, 846, 850, 1022, -523, 0, 0, -322,
+ 858, 422, 0, -872, 0, 0, 0, 0, 0, 0,
+ 0, 0, 225, 0, 0, 0, 0, 0, 0, 0,
+ 0, 470, 0, 0, 0, 0, -331, 405, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 485, 0, -505,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 240,
+ 0, 0, 323, 0, 0, 331, 330, 248, 0, 0,
+ 0, 0, 0, 0, 0, 0, 549, 0, 0, 0,
+ 0, -61, 0, 241, -101, 0, 0, 395, 0, 452,
+ 0, 906, 0, 1204, -295, -279, -51, 788, 0, 561,
+ 0, -43, 315, 0, 0, 8, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, -269, 0, 1166, 0, 0, -540, 0, 0,
+ 0, 868, 0, -301, -137, 1009, 950, 0, 939, 0,
+ 1158, 1371, 1067, 0, 0, 765, 1670, 0, 0, 0,
+ 0, 1039, 0, 0, 0, 0, 0, -517, 1420, 0,
+ 0, 0, 0, 0, 1198, 492, 830, 583, 832, 1357,
+ 1358, 1356, 1359, 1361, 0, 1363, 0, 0, 0, 983,
+ 1217, -725, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, -297, 0, 0, 0, 0, -455, 0,
+ 610, 0, 521, 0, 603, 0, 0, 0, 669, -529,
+ 10, -313, 15, 0, 1617, 0, 61, 0, 65, 72,
+ 78, 87, 88, 102, 104, 105, 106, 108, 0, -672,
+ 0, -16, 0, 0, 805, 0, 731, 0, 0, 0,
+ 710, -173, 782, -858, 0, 822, -457, 0, 0, 0,
+ 0, 0, 0, 736, 0, 0, 737, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, -267, 0, 31, 0, 0, -140, 0,
- 0, 0, 927, 0, -300, -130, 1086, 1007, 0, 1011,
- 0, 1207, 1421, 1117, 0, 0, 811, 1729, 0, 0,
- 0, 0, 1109, 0, 0, 0, 0, 0, -732, 1477,
- 0, 0, 0, 0, 0, 1210, 397, 836, 740, 835,
- 1422, 1420, 1424, 1433, 1434, 0, 1419, 0, 0, 0,
- 1063, 1296, -721, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, -288, 0, 0, 0, 0, -444,
- 0, 680, 0, 601, 0, 683, 0, 0, 0, 743,
- -526, -14, -325, 12, 0, 1690, 0, 38, 0, 58,
- 70, 73, 93, 95, 99, 101, 107, 111, 119, 0,
- -669, 0, -25, 0, 0, 881, 0, 808, 0, 0,
- 0, 782, -585, 852, -870, 0, 894, -461, 0, 0,
- 0, 0, 0, 0, 821, 0, 0, 798, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 812,
- 0, 0, 0, 0, 0, 0, 0, 0, -34, 0,
- 1336, 0, 0, 0, 986, 0, 0, 0, 0, 0,
- 0, -165, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1439, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 643, 0, 0, 0, 0, 0, 0,
- 0, 0, 732, 0, 0, 0, 0, 0, 0, 18,
- 1058, 0, 0, 0, 1055,
+ 0, 665, 0, 0, 0, 0, 0, 0, 0, 0,
+ -35, 0, 1272, 0, 0, 0, 905, 0, 0, 0,
+ 0, 0, 0, -176, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1379, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 559, 0, 0, 0, 0,
+ 0, 0, 0, 0, 662, 0, 0, 0, 0, 0,
+ 0, -7, 1024, 0, 0, 0, 979,
};
protected static readonly short [] yyTable = { 110,
- 513, 235, 156, 112, 196, 325, 330, 18, 728, 190,
- 516, 431, 555, 733, 489, 44, 449, 259, 473, 570,
- 509, 193, 679, 430, 701, 768, 355, 406, 157, 497,
- 543, 532, 318, 569, 261, 1158, 1159, 1006, 1128, 860,
- 861, 1052, 899, 310, 469, 253, 927, 1009, 538, 434,
- 781, 879, 1, 1053, 161, 362, 304, 370, 445, 1183,
- 304, 363, 776, 371, 765, 231, 311, 14, 313, 650,
- 191, 672, 196, 196, 162, 16, 662, 1184, 339, 1036,
- 413, 1038, 891, 1311, 893, 1324, 163, 20, 867, 164,
- 1242, 557, 263, 196, 1053, 49, 287, 288, 289, 1438,
- 295, 296, 663, 1461, 1206, 308, 309, 1153, 784, 165,
- 292, 166, 314, 411, 316, 167, 320, 168, 438, 439,
- 773, 332, 333, 169, 290, 766, 347, 170, 870, 1307,
- 799, 632, 291, 294, 664, 171, 1382, 473, 334, 235,
- 110, 313, 1320, 156, 112, 369, 502, 823, 558, 868,
- 503, 43, 324, 329, 2, 997, 999, 336, 1352, 260,
- 2, 1338, 774, 414, 1462, 293, 412, 1302, 415, 157,
- 416, 1303, 6, 1009, 687, 48, 417, 418, 1325, 434,
- 479, 198, 233, 448, 1409, 196, 196, 48, 706, 1487,
- 1154, 48, 746, 260, 1245, 161, 1330, 260, 260, 260,
- 260, 260, 260, 260, 260, 722, 487, 1054, 784, 726,
- 1252, 434, 862, 449, 570, 162, 578, 233, 1439, 292,
- 3, 4, 5, 6, 292, 518, 555, 163, 569, 15,
- 164, 472, 192, 673, 656, 570, 477, 408, 665, 446,
- 469, 1037, 440, 1039, 259, 1312, 871, 196, 1054, 233,
- 165, 555, 166, 419, 259, 800, 167, 292, 168, 688,
- 361, 485, 784, 1061, 169, 1062, 531, 561, 170, 539,
- 535, 1122, 488, 196, 293, 540, 171, 492, 494, 293,
- 335, 968, 1066, 1353, 116, 196, 314, 233, 787, 369,
- 530, 519, 196, 292, 647, 874, 527, 233, 529, 48,
- 95, 528, 492, 927, 612, 613, 356, 1049, 505, 1488,
- 20, 387, 293, 474, 545, 546, 680, 656, 640, 641,
- 570, 874, 576, 554, 436, 478, 1416, 116, 680, 510,
- 681, 116, 635, 637, 196, 824, 1077, 196, 55, 304,
- 959, 746, 526, 1108, 437, 656, 927, 388, 887, 556,
- 472, 590, 1464, 794, 357, 598, 599, 600, 601, 602,
- 603, 604, 605, 606, 607, 608, 354, 361, 738, 448,
- 1420, 196, 196, 227, 361, 228, 361, 680, 361, 990,
- 235, 1484, 347, 1044, 449, 436, 260, 630, 1285, 537,
- 651, 681, 292, 657, 542, 974, 260, 1444, 642, 196,
- 196, 260, 788, 1446, 1447, 437, 683, 978, 853, 1454,
- 795, 1455, 354, 876, 1044, 358, 738, 196, 726, 506,
- 201, 507, 361, 251, 434, 116, 448, 389, 390, 6,
- 1134, 196, 474, 474, 645, 875, 783, 1139, 785, 876,
- 786, 449, 251, 570, 637, 497, 1451, 995, 666, 637,
- 881, 881, 473, 637, 961, 648, 649, 569, 927, 1478,
- 700, 660, 1161, 1162, 927, 347, 675, 696, 637, 1043,
- 676, 260, 252, 726, 247, 508, 657, 738, 248, 634,
- 636, 638, 233, 260, 260, 260, 359, 348, 260, 260,
- 724, 252, 590, 347, 731, 637, 413, 347, 1452, 347,
- 347, 347, 347, 816, 657, 1340, 483, 347, 737, 739,
- 747, 315, 697, 570, 637, 880, 880, 1225, 755, 624,
- 413, 624, 434, 757, 1283, 866, 957, 744, 249, 1286,
- 881, 677, 196, 1370, 1371, 349, 1373, 554, 821, 1226,
- 522, 453, 350, 453, 952, 769, 227, 1392, 230, 698,
- 1399, 707, 738, 196, 116, 637, 782, 740, 350, 484,
- 1225, 48, 554, 556, 349, 1415, 909, 972, 789, 789,
- 722, 348, 351, 1284, 474, 733, 624, 450, 1287, 414,
- 822, 733, 1226, 116, 415, 701, 416, 350, 556, 1437,
- 745, 872, 417, 418, 753, 880, 985, 359, 453, 359,
- 451, 359, 359, 414, 359, 116, 359, 637, 415, 768,
- 416, 391, 392, 452, 1227, 802, 417, 418, 454, 349,
- 1228, 808, 516, 455, 1229, 456, 457, 458, 459, 325,
- 733, 332, 775, 460, 837, 325, 95, 461, 196, 737,
- 251, 1291, 350, 332, 348, 202, 332, 332, 359, 462,
- 359, 1230, 463, 359, 464, 882, 351, 1227, 838, 196,
- 332, 911, 297, 1228, 298, 472, 911, 1229, 911, 429,
- 259, 911, 911, 260, 911, 911, 896, 711, 465, 492,
- 1231, 635, 1078, 360, 325, 839, 726, 349, 858, 252,
- 903, 535, 349, 731, 1230, 737, 911, 1137, 724, 804,
- 233, 806, 332, 1232, 636, 635, 1249, 1025, 332, 917,
- 350, 637, 317, 199, 332, 350, 637, 332, 332, 349,
- 637, 663, 196, 1231, 351, 980, 883, 433, 636, 351,
- 435, 332, 635, 815, 1292, 637, 989, 349, 894, 521,
- 895, 246, 350, 196, 647, 199, 1232, 474, 897, 663,
- 769, 911, 522, 116, 901, 636, 351, 196, 663, 360,
- 350, 196, 637, 332, 855, 960, 737, 360, 597, 523,
- 651, 1208, 1224, 350, 590, 361, 250, 1101, 555, 590,
- 911, 637, 731, 435, 262, 614, 615, 784, 317, 952,
- 264, 1208, 917, 928, 929, 332, 317, 917, 332, 917,
- 917, 917, 917, 917, 917, 917, 917, 917, 917, 45,
- 555, 888, 260, 196, 95, 1224, 1131, 1208, 360, 116,
- 114, 917, 317, 917, 949, 917, 488, 917, 917, 917,
- 666, 196, 196, 95, 884, 65, 65, 555, 492, 65,
- 904, 976, 1276, 942, 116, 943, 563, 317, 979, 1025,
- 679, 1076, 816, 564, 1160, 743, 474, 743, 987, 403,
- 731, 474, 563, 114, 846, 565, 1403, 114, 1005, 564,
- 797, 404, 840, 914, 251, 579, 364, 930, 914, 841,
- 914, 565, 917, 914, 914, 580, 914, 914, 318, 397,
- 398, 328, 328, 817, 318, 365, 366, 196, 1090, 393,
- 394, 319, 1010, 331, 1012, 818, 1014, 581, 914, 372,
- 1091, 1273, 328, 395, 396, 367, 95, 582, 1273, 196,
- 1024, 95, 359, 252, 905, 1326, 368, 449, 1456, 905,
- 1182, 905, 659, 400, 905, 905, 666, 905, 905, 399,
- 268, 659, 1145, 658, 401, 1084, 993, 682, 996, 268,
- 731, 683, 658, 1030, 998, 1031, 325, 1032, 402, 325,
- 277, 114, 277, 914, 1475, 1258, 764, 277, 764, 405,
- 764, 714, 298, 516, 414, 715, 116, 116, 723, 415,
- 1007, 416, 503, 1493, 1494, 337, 435, 417, 418, 337,
- 769, 332, 115, 1069, 115, 1071, 907, 1072, 1079, 115,
- 1080, 907, 474, 907, 328, 328, 907, 907, 436, 907,
- 907, 66, 196, 901, 905, 66, 437, 1033, 901, 116,
- 901, 116, 227, 901, 901, 441, 901, 901, 470, 1081,
- 332, 925, 926, 337, 337, 488, 332, 755, 337, 755,
- 332, 337, 332, 337, 334, 600, 332, 600, 337, 1109,
- 731, 769, 753, 482, 753, 496, 753, 1116, 332, 332,
- 332, 496, 1024, 167, 444, 167, 328, 167, 471, 347,
- 235, 488, 1121, 347, 488, 332, 347, 952, 347, 332,
- 332, 490, 337, 347, 491, 947, 907, 947, 512, 554,
- 114, 332, 328, 1141, 235, 361, 155, 1169, 155, 332,
- 1144, 1113, 1114, 901, 328, 517, 1203, 332, 196, 520,
- 332, 328, 488, 332, 332, 556, 332, 332, 57, 114,
- 162, 554, 162, 549, 1165, 1072, 434, 179, 163, 179,
- 163, 179, 618, 619, 620, 621, 1169, 350, 441, 1207,
- 1223, 114, 536, 858, 474, 858, 541, 556, 554, 1318,
- 384, 385, 386, 328, 1465, 1466, 328, 196, 68, 1207,
- 68, 1203, 1194, 1318, 185, 156, 185, 156, 637, 637,
- 120, 574, 120, 196, 556, 880, 880, 1239, 1281, 1282,
- 1348, 583, 1349, 1223, 575, 1207, 373, 282, 350, 282,
- 328, 328, 127, 289, 127, 289, 354, 497, 1126, 1127,
- 411, 1310, 411, 497, 1313, 520, 520, 374, 375, 376,
- 377, 378, 379, 380, 381, 382, 383, 681, 328, 328,
- 646, 411, 411, 488, 661, 5, 616, 617, 196, 196,
- 684, 622, 623, 686, 1278, 708, 196, 709, 710, 712,
- 756, 411, 713, 758, 116, 196, 196, 735, 196, 411,
- 736, 751, 411, 752, 1298, 754, 759, 760, 742, 761,
- 777, 778, 792, 793, 780, 798, 1298, 25, 196, 26,
- 797, 196, 27, 803, 805, 807, 813, 28, 825, 1298,
- 828, 29, 826, 829, 832, 844, 1327, 849, 850, 114,
- 31, 851, 852, 859, 877, 856, 583, 33, 1298, 857,
- 873, 1256, 34, 337, 1383, 198, 35, 340, 341, 342,
- 343, 344, 345, 346, 347, 878, 885, 880, 37, 889,
- 38, 1410, 916, 898, 39, 890, 906, 921, 923, 328,
- 927, 931, 40, 41, 1422, 1424, 42, 937, 941, 743,
- 938, 940, 43, 945, 947, 965, 953, 731, 966, 1278,
- 967, 328, 977, 975, 968, 114, 984, 506, 501, 488,
- 991, 1410, 1410, 1002, 1003, 292, 1018, 116, 1027, 1008,
- 1028, 116, 328, 1075, 116, 1048, 1432, 1034, 1040, 583,
- 114, 1042, 1041, 1050, 583, 1047, 583, 583, 583, 583,
- 583, 583, 583, 583, 583, 583, 583, 1060, 1064, 116,
- 116, 1068, 1070, 116, 1089, 1067, 1093, 1094, 583, 731,
- 583, 1092, 583, 1095, 583, 583, 583, 1410, 1102, 637,
- 322, 637, 1112, 1115, 637, 1133, 637, 637, 1117, 637,
- 116, 637, 1123, 637, 1124, 637, 637, 637, 1129, 1135,
- 1137, 637, 637, 1147, 1140, 731, 1164, 637, 1167, 637,
- 637, 1173, 1154, 1174, 637, 1480, 1480, 328, 637, 1181,
- 1182, 1185, 1489, 1489, 1187, 1193, 1189, 590, 590, 583,
- 637, 1190, 637, 1191, 1192, 1237, 637, 637, 328, 1240,
- 1198, 1243, 5, 1241, 637, 637, 48, 1301, 637, 1244,
- 1246, 637, 1253, 1259, 1280, 1288, 637, 48, 1316, 1305,
- 1306, 1315, 48, 1319, 1322, 1332, 48, 1334, 1337, 48,
- 1335, 337, 114, 114, 1323, 1339, 1343, 1325, 1345, 1346,
- 1341, 48, 48, 1356, 1351, 1359, 48, 48, 1362, 1366,
- 1393, 637, 48, 1363, 48, 48, 48, 48, 832, 1364,
- 544, 328, 48, 1374, 1375, 1405, 48, 1378, 48, 474,
- 474, 1388, 1395, 1407, 1448, 114, 1408, 114, 48, 1404,
- 1414, 48, 328, 48, 1417, 1418, 1428, 48, 1429, 1431,
- 1434, 1436, 637, 1449, 1442, 1453, 328, 1433, 1458, 1457,
- 328, 544, 1460, 1467, 1452, 1451, 1496, 48, 1473, 1474,
- 1495, 1497, 9, 609, 610, 611, 943, 533, 544, 544,
+ 18, 513, 190, 112, 729, 516, 44, 431, 193, 235,
+ 449, 680, 430, 325, 330, 734, 259, 489, 473, 509,
+ 406, 571, 532, 770, 556, 1007, 156, 497, 702, 543,
+ 570, 157, 1127, 318, 355, 881, 346, 862, 863, 901,
+ 231, 469, 310, 261, 358, 253, 778, 538, 783, 1160,
+ 1161, 929, 362, 413, 370, 766, 304, 1055, 784, 663,
+ 304, 1010, 363, 445, 371, 1441, 311, 260, 313, 1056,
+ 14, 1249, 191, 733, 1056, 801, 1229, 161, 339, 733,
+ 893, 162, 895, 582, 1000, 664, 673, 1256, 163, 1038,
+ 434, 767, 1040, 1314, 164, 1230, 1188, 558, 292, 334,
+ 1327, 260, 20, 165, 166, 260, 260, 260, 260, 260,
+ 260, 260, 260, 1454, 199, 294, 360, 665, 167, 1229,
+ 168, 169, 170, 707, 171, 869, 438, 439, 733, 651,
+ 633, 825, 361, 1355, 324, 329, 414, 473, 1230, 336,
+ 110, 415, 348, 416, 112, 317, 199, 235, 1, 417,
+ 418, 872, 768, 293, 559, 358, 43, 358, 784, 358,
+ 358, 16, 358, 1490, 358, 1455, 582, 156, 6, 1210,
+ 789, 582, 157, 582, 582, 582, 582, 582, 582, 582,
+ 582, 582, 582, 582, 1442, 292, 870, 1010, 479, 1121,
+ 349, 448, 292, 1328, 747, 582, 198, 582, 1385, 582,
+ 802, 582, 582, 582, 723, 2, 358, 449, 358, 971,
+ 727, 358, 784, 350, 487, 864, 571, 440, 161, 408,
+ 434, 666, 162, 1057, 1412, 570, 419, 351, 1057, 163,
+ 446, 472, 15, 518, 192, 164, 477, 469, 571, 556,
+ 293, 335, 233, 259, 165, 166, 1423, 293, 674, 1155,
+ 2, 1039, 434, 259, 1041, 1315, 582, 579, 1356, 167,
+ 196, 168, 169, 170, 556, 171, 539, 531, 876, 873,
+ 485, 535, 488, 1447, 95, 562, 540, 492, 494, 1069,
+ 312, 688, 233, 1491, 790, 1457, 356, 1458, 684, 290,
+ 292, 519, 346, 505, 260, 474, 527, 291, 529, 530,
+ 411, 528, 492, 1231, 260, 1052, 876, 478, 929, 260,
+ 929, 233, 613, 614, 545, 546, 3, 4, 5, 6,
+ 1080, 577, 1419, 571, 48, 962, 292, 981, 196, 196,
+ 48, 116, 1156, 826, 357, 648, 48, 233, 990, 304,
+ 636, 638, 1107, 20, 747, 889, 1231, 555, 1187, 196,
+ 472, 591, 557, 412, 387, 599, 600, 601, 602, 603,
+ 604, 605, 606, 607, 608, 609, 689, 1203, 49, 681,
+ 1467, 537, 998, 1464, 116, 346, 542, 1288, 116, 260,
+ 979, 996, 360, 991, 292, 676, 878, 631, 235, 677,
+ 388, 260, 260, 260, 233, 358, 260, 260, 652, 1487,
+ 855, 975, 655, 346, 506, 413, 507, 346, 251, 346,
+ 346, 346, 346, 55, 474, 474, 656, 346, 726, 796,
+ 877, 646, 929, 1343, 878, 6, 1133, 738, 929, 350,
+ 649, 650, 350, 1138, 1465, 667, 661, 201, 413, 293,
+ 636, 196, 196, 784, 497, 636, 786, 571, 48, 636,
+ 678, 1373, 1374, 473, 1376, 1305, 570, 252, 1163, 1306,
+ 508, 635, 637, 639, 636, 1395, 434, 697, 1402, 701,
+ 389, 390, 116, 726, 1045, 738, 797, 202, 785, 1064,
+ 787, 1065, 788, 1418, 1333, 655, 641, 642, 414, 360,
+ 725, 636, 591, 415, 732, 416, 360, 679, 360, 656,
+ 360, 417, 418, 196, 883, 883, 348, 1440, 738, 740,
+ 636, 251, 435, 655, 745, 882, 882, 571, 756, 680,
+ 436, 414, 447, 758, 1241, 960, 415, 656, 416, 196,
+ 483, 699, 1232, 708, 417, 418, 738, 1286, 314, 317,
+ 580, 196, 1449, 1450, 360, 818, 771, 955, 196, 580,
+ 581, 623, 448, 623, 349, 324, 474, 1289, 679, 247,
+ 252, 324, 555, 248, 434, 353, 643, 557, 911, 791,
+ 791, 723, 746, 435, 636, 1232, 754, 350, 429, 447,
+ 680, 436, 260, 484, 883, 874, 1287, 555, 48, 913,
+ 196, 351, 557, 196, 913, 882, 913, 986, 1481, 913,
+ 913, 116, 913, 913, 233, 770, 1290, 907, 623, 448,
+ 324, 353, 907, 249, 907, 777, 804, 907, 907, 516,
+ 907, 907, 810, 662, 913, 712, 636, 196, 196, 452,
+ 116, 452, 580, 737, 349, 349, 522, 580, 1233, 580,
+ 580, 580, 580, 580, 580, 580, 580, 580, 580, 580,
+ 1136, 662, 116, 741, 839, 196, 196, 350, 350, 1253,
+ 662, 580, 775, 580, 884, 580, 472, 580, 580, 580,
+ 259, 823, 351, 196, 702, 246, 1049, 838, 840, 913,
+ 492, 1233, 806, 580, 808, 898, 452, 196, 727, 860,
+ 1234, 331, 634, 535, 732, 635, 331, 907, 964, 725,
+ 905, 1235, 331, 331, 776, 841, 331, 331, 331, 1026,
+ 1236, 331, 331, 824, 95, 264, 634, 349, 251, 635,
+ 331, 260, 580, 95, 916, 331, 233, 885, 250, 916,
+ 474, 916, 1310, 1234, 916, 916, 262, 916, 916, 896,
+ 350, 897, 359, 634, 1235, 1323, 635, 857, 521, 899,
+ 360, 771, 433, 1236, 351, 737, 903, 331, 909, 916,
+ 737, 522, 349, 909, 1341, 909, 748, 252, 909, 909,
+ 842, 909, 909, 331, 403, 963, 591, 843, 523, 317,
+ 652, 591, 913, 1100, 732, 350, 404, 648, 196, 556,
+ 372, 955, 903, 45, 890, 930, 931, 903, 1046, 903,
+ 116, 348, 903, 903, 114, 903, 903, 400, 636, 360,
+ 196, 1212, 1228, 636, 916, 564, 348, 636, 819, 667,
+ 1130, 556, 565, 1091, 906, 435, 952, 1046, 488, 502,
+ 820, 1212, 636, 503, 566, 1092, 944, 95, 317, 868,
+ 474, 1079, 680, 977, 399, 474, 1279, 114, 909, 349,
+ 980, 114, 1026, 556, 1081, 1228, 1162, 1212, 405, 636,
+ 988, 932, 732, 598, 349, 95, 435, 116, 360, 817,
+ 1030, 1406, 350, 331, 1329, 328, 328, 402, 636, 331,
+ 615, 616, 903, 298, 886, 331, 351, 350, 599, 331,
+ 599, 564, 116, 848, 818, 196, 328, 317, 565, 393,
+ 394, 351, 331, 401, 1011, 251, 1013, 364, 1015, 95,
+ 566, 927, 928, 395, 396, 317, 196, 1276, 1186, 683,
+ 449, 317, 1025, 684, 1276, 667, 365, 366, 318, 1246,
+ 994, 582, 997, 1459, 331, 658, 715, 1144, 999, 268,
+ 716, 583, 435, 657, 658, 114, 367, 1032, 268, 1033,
+ 436, 1034, 657, 732, 252, 437, 492, 368, 764, 336,
+ 764, 441, 764, 336, 1008, 331, 115, 414, 115, 1478,
+ 227, 516, 415, 115, 416, 619, 620, 621, 622, 196,
+ 417, 418, 1496, 1497, 391, 392, 474, 495, 328, 328,
+ 331, 771, 331, 495, 1072, 444, 1074, 277, 1075, 277,
+ 196, 724, 1035, 496, 277, 503, 410, 336, 410, 496,
+ 361, 331, 331, 331, 331, 196, 331, 331, 57, 196,
+ 384, 385, 386, 1084, 116, 116, 346, 410, 410, 470,
+ 346, 331, 331, 346, 227, 346, 228, 66, 488, 331,
+ 346, 66, 331, 331, 65, 65, 331, 410, 65, 227,
+ 328, 230, 1108, 732, 771, 410, 471, 36, 410, 753,
+ 1115, 753, 167, 753, 167, 1025, 167, 116, 1120, 116,
+ 324, 196, 488, 324, 114, 488, 328, 235, 179, 1147,
+ 179, 955, 179, 482, 297, 450, 298, 334, 328, 196,
+ 196, 1006, 1140, 799, 1082, 328, 1083, 397, 398, 1143,
+ 336, 235, 490, 114, 336, 491, 331, 336, 451, 336,
+ 517, 488, 555, 743, 336, 743, 512, 557, 1207, 549,
+ 949, 452, 949, 1169, 1075, 114, 454, 520, 755, 474,
+ 755, 455, 1147, 456, 457, 458, 459, 328, 350, 441,
+ 328, 460, 1112, 1113, 555, 461, 1468, 1469, 336, 557,
+ 575, 1211, 1227, 536, 155, 196, 155, 462, 541, 162,
+ 463, 162, 464, 163, 584, 163, 1199, 860, 576, 860,
+ 434, 1211, 350, 1207, 328, 328, 555, 196, 68, 354,
+ 68, 557, 1244, 647, 488, 196, 465, 882, 882, 1284,
+ 1285, 682, 185, 1321, 185, 1227, 156, 1211, 156, 120,
+ 685, 120, 328, 328, 282, 662, 282, 1321, 127, 289,
+ 127, 289, 1313, 519, 519, 1316, 636, 636, 1125, 1126,
+ 617, 618, 687, 709, 1351, 710, 1352, 263, 623, 624,
+ 711, 287, 288, 289, 713, 295, 296, 373, 1281, 714,
+ 308, 309, 1309, 736, 737, 752, 753, 314, 755, 316,
+ 757, 320, 759, 760, 761, 762, 332, 333, 374, 375,
+ 376, 377, 378, 379, 380, 381, 382, 383, 779, 780,
+ 794, 782, 795, 114, 799, 805, 800, 807, 815, 809,
+ 369, 827, 828, 846, 834, 830, 831, 43, 1260, 1330,
+ 851, 337, 116, 852, 853, 340, 341, 342, 343, 344,
+ 345, 346, 347, 854, 858, 859, 861, 198, 875, 879,
+ 880, 882, 887, 328, 36, 1386, 892, 891, 36, 900,
+ 908, 923, 918, 925, 929, 933, 940, 939, 943, 36,
+ 948, 942, 1413, 950, 36, 328, 968, 945, 36, 956,
+ 114, 36, 969, 970, 971, 1425, 1427, 35, 976, 978,
+ 732, 985, 1281, 36, 36, 506, 1003, 328, 36, 36,
+ 992, 1004, 488, 196, 36, 114, 36, 36, 36, 36,
+ 1009, 1019, 1413, 1413, 36, 1028, 1036, 1042, 36, 1435,
+ 36, 1043, 1044, 1051, 1053, 1063, 1071, 1067, 1073, 1070,
+ 36, 1078, 36, 36, 1094, 36, 1095, 1086, 1090, 36,
+ 1093, 1098, 1101, 1096, 1168, 1111, 1114, 1116, 1123, 1128,
+ 1134, 1136, 732, 116, 1146, 1139, 196, 116, 1171, 36,
+ 116, 314, 1175, 1176, 369, 36, 36, 1173, 1413, 1156,
+ 1185, 1182, 1190, 196, 1194, 1195, 1186, 500, 1177, 1196,
+ 1193, 1198, 328, 1202, 1242, 116, 1245, 1247, 732, 116,
+ 1291, 1250, 1248, 1257, 1304, 1283, 1262, 1338, 1483, 1483,
+ 1319, 1308, 1322, 328, 510, 1492, 1492, 1325, 1335, 1309,
+ 591, 591, 1318, 1326, 1337, 1340, 1342, 526, 1344, 1328,
+ 25, 116, 26, 1346, 1349, 27, 1348, 1354, 196, 196,
+ 28, 1362, 1359, 1366, 29, 1365, 196, 114, 114, 337,
+ 1367, 1369, 1377, 31, 196, 196, 1378, 196, 1381, 1391,
+ 33, 116, 1396, 1301, 1407, 34, 1398, 1408, 1410, 35,
+ 1411, 1417, 1434, 1421, 1420, 1301, 328, 196, 544, 1432,
+ 196, 37, 1431, 38, 474, 474, 1436, 39, 1301, 1437,
+ 114, 1439, 114, 1445, 1451, 40, 41, 328, 1452, 42,
+ 1456, 1460, 321, 1461, 1470, 1455, 1463, 1301, 1454, 1476,
+ 1477, 1498, 328, 1499, 1500, 9, 328, 945, 532, 544,
+ 832, 32, 490, 937, 600, 802, 491, 447, 292, 601,
+ 30, 610, 611, 612, 669, 22, 544, 544, 544, 544,
544, 544, 544, 544, 544, 544, 544, 544, 544, 544,
- 544, 544, 544, 544, 501, 830, 32, 491, 601, 501,
- 501, 935, 492, 800, 448, 602, 30, 22, 637, 670,
- 490, 804, 30, 516, 747, 31, 332, 637, 206, 96,
- 31, 232, 501, 757, 805, 838, 748, 310, 749, 778,
- 328, 328, 501, 758, 750, 501, 501, 807, 779, 809,
- 501, 658, 658, 501, 680, 501, 314, 501, 501, 501,
- 501, 339, 236, 123, 54, 501, 105, 285, 130, 501,
- 21, 124, 106, 501, 286, 131, 1019, 35, 1255, 936,
- 1247, 501, 1119, 1450, 501, 1120, 501, 501, 1419, 834,
- 1406, 1435, 501, 1459, 501, 501, 501, 501, 501, 501,
- 501, 501, 501, 501, 501, 544, 328, 1401, 1295, 962,
- 501, 501, 963, 964, 1308, 501, 501, 847, 501, 501,
- 501, 501, 501, 501, 501, 1491, 501, 501, 958, 501,
- 501, 501, 501, 501, 501, 501, 501, 501, 501, 1254,
- 501, 501, 501, 501, 501, 501, 501, 501, 501, 501,
- 501, 501, 501, 501, 501, 501, 501, 501, 501, 501,
- 501, 501, 1329, 1251, 501, 1430, 501, 1483, 501, 1425,
- 114, 501, 1423, 779, 1482, 1350, 1299, 501, 585, 1199,
- 1188, 932, 748, 791, 832, 832, 1051, 983, 908, 843,
- 300, 865, 832, 832, 832, 832, 832, 910, 832, 832,
- 547, 832, 832, 832, 832, 832, 832, 832, 832, 625,
- 624, 863, 629, 832, 626, 832, 832, 832, 832, 832,
- 832, 328, 774, 832, 627, 1176, 628, 832, 832, 905,
- 832, 832, 832, 763, 1260, 1179, 1136, 407, 1035, 1110,
- 1046, 1063, 832, 1096, 832, 1105, 832, 832, 1098, 741,
- 832, 644, 832, 832, 832, 832, 832, 832, 832, 832,
- 832, 832, 832, 832, 1166, 832, 1103, 1000, 832, 832,
- 933, 1257, 832, 832, 934, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 832, 832, 832,
- 832, 832, 0, 114, 0, 832, 832, 114, 0, 832,
- 114, 0, 0, 0, 832, 832, 832, 832, 832, 0,
- 0, 0, 832, 0, 832, 0, 0, 328, 0, 0,
- 832, 832, 0, 0, 0, 114, 114, 0, 0, 114,
- 0, 0, 0, 0, 35, 0, 0, 0, 35, 0,
- 0, 0, 0, 0, 0, 832, 832, 832, 832, 35,
- 832, 332, 0, 0, 35, 0, 114, 832, 35, 0,
- 0, 35, 0, 0, 0, 0, 328, 25, 0, 26,
- 0, 0, 27, 35, 35, 0, 0, 28, 35, 35,
- 0, 29, 328, 0, 35, 30, 35, 35, 35, 35,
- 31, 0, 0, 0, 35, 32, 0, 33, 35, 0,
- 35, 0, 34, 0, 0, 0, 35, 36, 0, 0,
- 35, 0, 35, 35, 0, 35, 0, 0, 37, 35,
- 38, 0, 0, 0, 39, 0, 0, 0, 0, 0,
- 0, 0, 40, 41, 0, 0, 42, 328, 328, 35,
- 0, 0, 0, 0, 0, 328, 35, 0, 0, 0,
- 0, 0, 0, 0, 328, 328, 0, 328, 0, 0,
+ 544, 544, 806, 489, 35, 30, 515, 747, 35, 31,
+ 309, 331, 757, 31, 206, 657, 96, 748, 840, 35,
+ 758, 749, 778, 807, 35, 750, 779, 809, 35, 313,
+ 679, 35, 811, 322, 338, 657, 328, 328, 636, 123,
+ 105, 285, 130, 35, 35, 124, 106, 698, 35, 35,
+ 286, 131, 743, 636, 35, 232, 35, 35, 35, 35,
+ 28, 25, 236, 26, 35, 54, 27, 21, 35, 1020,
+ 35, 28, 1118, 938, 1119, 29, 1259, 1251, 1453, 1422,
+ 35, 1462, 35, 35, 31, 35, 836, 739, 1409, 35,
+ 1438, 33, 965, 500, 1404, 1298, 34, 966, 500, 500,
+ 35, 967, 328, 544, 1494, 961, 1311, 1258, 1332, 35,
+ 1255, 849, 37, 1486, 38, 1433, 35, 1426, 39, 1428,
+ 1485, 500, 1353, 1191, 1302, 867, 40, 41, 934, 749,
+ 42, 500, 328, 744, 500, 500, 1192, 912, 586, 500,
+ 984, 300, 500, 910, 500, 793, 500, 500, 500, 500,
+ 845, 1054, 865, 547, 500, 625, 627, 626, 500, 292,
+ 628, 907, 500, 629, 764, 114, 630, 1179, 1263, 1183,
+ 500, 1135, 781, 500, 407, 500, 500, 1048, 1097, 1037,
+ 1109, 500, 1066, 500, 500, 500, 500, 500, 500, 500,
+ 500, 500, 500, 500, 1102, 742, 1165, 1104, 1001, 500,
+ 500, 645, 1261, 1170, 500, 500, 935, 500, 500, 500,
+ 500, 500, 500, 500, 322, 500, 500, 0, 500, 500,
+ 500, 500, 500, 500, 500, 500, 500, 500, 834, 500,
+ 500, 500, 500, 500, 500, 500, 500, 500, 500, 500,
+ 500, 500, 500, 500, 500, 500, 500, 500, 500, 500,
+ 500, 353, 936, 500, 0, 500, 0, 500, 0, 0,
+ 500, 0, 0, 0, 0, 0, 500, 0, 0, 0,
+ 0, 0, 0, 0, 353, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 114, 353, 0, 0,
+ 114, 0, 353, 114, 0, 230, 0, 353, 0, 353,
+ 353, 353, 353, 0, 0, 0, 0, 353, 0, 0,
+ 328, 353, 0, 0, 0, 353, 28, 28, 114, 0,
+ 0, 28, 114, 353, 0, 28, 353, 28, 353, 0,
+ 28, 0, 28, 28, 0, 28, 0, 28, 0, 28,
+ 0, 28, 28, 28, 28, 0, 0, 28, 28, 0,
+ 0, 0, 353, 28, 114, 28, 28, 28, 0, 0,
+ 28, 28, 28, 328, 28, 0, 0, 28, 0, 28,
+ 28, 28, 28, 0, 0, 0, 28, 28, 28, 0,
+ 328, 28, 28, 28, 114, 0, 0, 0, 0, 0,
+ 28, 28, 0, 28, 28, 774, 28, 28, 28, 0,
+ 0, 0, 28, 0, 0, 0, 0, 0, 353, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 28, 0, 0, 0, 0, 0, 28, 28,
+ 0, 0, 0, 0, 0, 328, 328, 28, 0, 0,
+ 0, 0, 0, 328, 0, 0, 0, 0, 0, 0,
+ 0, 328, 328, 0, 328, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 544, 0, 0, 0, 0, 0, 0, 328, 774, 774,
- 328, 0, 0, 0, 0, 0, 774, 774, 774, 774,
- 774, 0, 774, 774, 0, 774, 774, 774, 774, 774,
- 774, 774, 0, 0, 734, 0, 0, 774, 0, 774,
- 774, 774, 774, 774, 774, 0, 0, 774, 0, 0,
- 43, 774, 774, 0, 774, 774, 774, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 774, 0, 774, 0,
- 774, 774, 0, 0, 774, 0, 774, 774, 774, 774,
- 774, 774, 774, 774, 774, 774, 774, 774, 0, 774,
- 0, 0, 774, 774, 0, 0, 774, 774, 0, 0,
+ 544, 0, 0, 0, 328, 0, 0, 328, 28, 0,
+ 0, 0, 0, 0, 834, 834, 0, 0, 0, 0,
+ 0, 0, 834, 834, 834, 834, 834, 0, 834, 834,
+ 0, 834, 834, 834, 834, 834, 834, 834, 834, 0,
+ 0, 0, 0, 834, 0, 834, 834, 834, 834, 834,
+ 834, 0, 0, 834, 331, 0, 0, 834, 834, 0,
+ 834, 834, 834, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 834, 0, 834, 0, 834, 834, 0, 0,
+ 834, 0, 834, 834, 834, 834, 834, 834, 834, 834,
+ 834, 834, 834, 834, 0, 834, 0, 0, 834, 834,
+ 0, 0, 834, 834, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 834, 834, 834,
+ 834, 834, 0, 0, 0, 834, 834, 0, 0, 834,
+ 0, 0, 0, 0, 834, 834, 834, 834, 834, 0,
+ 0, 0, 834, 0, 834, 0, 0, 0, 0, 0,
+ 834, 834, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 834, 834, 834, 834, 0,
+ 834, 774, 774, 0, 0, 0, 0, 834, 0, 774,
+ 774, 774, 774, 774, 0, 774, 774, 0, 774, 774,
+ 774, 774, 774, 774, 774, 0, 0, 734, 0, 0,
+ 774, 0, 774, 774, 774, 774, 774, 774, 0, 0,
+ 774, 0, 0, 0, 774, 774, 0, 774, 774, 774,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 774,
+ 0, 774, 0, 774, 774, 0, 0, 774, 0, 774,
+ 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
+ 774, 0, 774, 0, 0, 774, 774, 0, 0, 774,
+ 774, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 774, 774, 774, 774, 774, 0,
+ 0, 0, 774, 774, 0, 0, 774, 0, 0, 0,
0, 774, 774, 774, 774, 774, 0, 0, 0, 774,
- 774, 0, 0, 774, 0, 0, 0, 0, 774, 774,
- 774, 774, 774, 0, 0, 0, 774, 332, 774, 0,
- 0, 0, 332, 332, 774, 774, 0, 0, 0, 0,
+ 331, 774, 0, 0, 0, 331, 331, 774, 774, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 325, 332, 0, 0, 0, 774,
- 774, 774, 774, 0, 774, 332, 0, 0, 332, 332,
- 0, 774, 0, 332, 0, 0, 332, 0, 332, 0,
- 332, 332, 332, 332, 0, 0, 0, 0, 332, 0,
- 0, 0, 332, 0, 0, 0, 332, 0, 0, 0,
- 0, 0, 0, 0, 332, 0, 0, 332, 0, 332,
- 332, 0, 0, 0, 0, 332, 0, 332, 332, 332,
- 332, 332, 332, 332, 332, 332, 332, 332, 332, 0,
- 0, 0, 0, 332, 332, 0, 0, 0, 332, 332,
- 332, 332, 332, 332, 332, 332, 332, 332, 0, 332,
- 332, 0, 0, 332, 332, 332, 332, 332, 0, 0,
- 332, 332, 0, 0, 0, 332, 332, 332, 332, 332,
- 332, 332, 332, 0, 0, 0, 0, 0, 0, 0,
- 734, 0, 0, 0, 332, 734, 734, 332, 0, 332,
- 0, 332, 0, 0, 332, 0, 0, 0, 0, 0,
- 332, 362, 0, 0, 0, 0, 0, 0, 734, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 734, 0,
- 0, 734, 734, 0, 0, 0, 734, 0, 0, 734,
- 0, 734, 0, 734, 734, 734, 734, 0, 0, 0,
- 0, 734, 0, 0, 0, 734, 0, 0, 0, 734,
- 0, 0, 0, 0, 0, 0, 0, 734, 0, 0,
- 734, 0, 734, 734, 0, 0, 0, 0, 734, 0,
- 734, 734, 734, 734, 734, 734, 734, 734, 734, 734,
- 734, 0, 0, 0, 0, 0, 734, 734, 0, 0,
- 0, 734, 734, 734, 734, 734, 734, 0, 734, 734,
- 734, 0, 734, 734, 0, 0, 734, 734, 734, 734,
- 325, 0, 0, 734, 734, 325, 325, 0, 734, 734,
- 734, 734, 734, 734, 734, 734, 332, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 734, 325, 0,
- 734, 0, 734, 0, 734, 0, 0, 734, 325, 0,
- 0, 325, 325, 734, 0, 0, 325, 0, 0, 325,
- 0, 325, 0, 325, 325, 325, 325, 0, 0, 0,
- 0, 325, 0, 0, 0, 325, 0, 0, 0, 325,
- 0, 0, 0, 0, 0, 0, 0, 325, 0, 0,
- 325, 0, 325, 325, 0, 0, 0, 0, 325, 0,
- 325, 325, 325, 325, 325, 325, 325, 325, 325, 325,
- 325, 0, 0, 0, 0, 0, 325, 325, 0, 0,
- 0, 325, 325, 325, 325, 325, 325, 0, 325, 325,
- 325, 0, 325, 325, 0, 0, 325, 325, 325, 325,
- 0, 0, 0, 325, 325, 0, 0, 0, 325, 325,
- 325, 325, 325, 325, 325, 325, 0, 362, 0, 0,
- 0, 0, 362, 362, 0, 0, 0, 325, 0, 0,
- 325, 0, 325, 357, 325, 0, 0, 325, 0, 0,
- 0, 0, 0, 325, 0, 362, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 362, 0, 0, 362, 362,
- 0, 0, 0, 362, 0, 0, 362, 0, 362, 0,
- 362, 362, 362, 362, 0, 0, 0, 0, 362, 0,
- 0, 0, 362, 0, 0, 0, 362, 0, 0, 0,
- 0, 0, 0, 0, 362, 0, 0, 362, 0, 362,
- 362, 0, 0, 0, 0, 362, 0, 362, 362, 362,
- 362, 362, 362, 362, 362, 362, 362, 362, 0, 0,
- 0, 0, 0, 362, 362, 0, 0, 0, 362, 362,
- 0, 362, 362, 362, 0, 362, 362, 362, 0, 362,
- 362, 0, 332, 362, 362, 362, 362, 0, 332, 0,
- 362, 362, 0, 0, 0, 362, 362, 362, 362, 362,
- 362, 362, 362, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 362, 0, 0, 362, 0, 362,
- 332, 0, 0, 0, 332, 0, 0, 0, 0, 0,
- 362, 49, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 324, 331, 0,
+ 0, 0, 774, 774, 774, 774, 0, 774, 331, 0,
+ 0, 331, 331, 0, 774, 0, 331, 0, 0, 331,
+ 0, 331, 0, 331, 331, 331, 331, 0, 0, 0,
+ 0, 331, 0, 0, 0, 331, 0, 0, 0, 331,
+ 0, 0, 0, 0, 0, 0, 0, 331, 0, 0,
+ 331, 0, 331, 331, 0, 0, 0, 0, 331, 0,
+ 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
+ 331, 331, 0, 0, 0, 0, 331, 331, 0, 0,
+ 0, 331, 331, 331, 331, 331, 331, 331, 331, 331,
+ 331, 0, 331, 331, 0, 0, 331, 331, 331, 331,
+ 331, 0, 0, 331, 331, 0, 0, 0, 331, 331,
+ 331, 331, 331, 331, 331, 331, 0, 0, 0, 0,
+ 0, 0, 0, 734, 0, 0, 0, 331, 734, 734,
+ 331, 0, 331, 0, 331, 0, 0, 331, 0, 0,
+ 0, 0, 0, 331, 361, 0, 0, 0, 0, 0,
+ 0, 734, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 734, 0, 0, 734, 734, 0, 0, 0, 734,
+ 0, 0, 734, 0, 734, 0, 734, 734, 734, 734,
+ 0, 0, 0, 0, 734, 0, 0, 0, 734, 0,
+ 0, 0, 734, 0, 0, 0, 0, 0, 0, 0,
+ 734, 0, 0, 734, 0, 734, 734, 0, 0, 0,
+ 0, 734, 0, 734, 734, 734, 734, 734, 734, 734,
+ 734, 734, 734, 734, 0, 0, 0, 0, 0, 734,
+ 734, 0, 0, 0, 734, 734, 734, 734, 734, 734,
+ 0, 734, 734, 734, 0, 734, 734, 0, 0, 734,
+ 734, 734, 734, 324, 0, 0, 734, 734, 324, 324,
+ 0, 734, 734, 734, 734, 734, 734, 734, 734, 331,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 734, 324, 0, 734, 0, 734, 0, 734, 0, 0,
+ 734, 324, 0, 0, 324, 324, 734, 0, 0, 324,
+ 0, 0, 324, 0, 324, 0, 324, 324, 324, 324,
+ 0, 0, 0, 0, 324, 0, 0, 0, 324, 0,
+ 0, 0, 324, 0, 0, 0, 0, 0, 0, 0,
+ 324, 0, 0, 324, 0, 324, 324, 0, 0, 0,
+ 0, 324, 0, 324, 324, 324, 324, 324, 324, 324,
+ 324, 324, 324, 324, 0, 0, 0, 0, 0, 324,
+ 324, 0, 0, 0, 324, 324, 324, 324, 324, 324,
+ 0, 324, 324, 324, 0, 324, 324, 0, 0, 324,
+ 324, 324, 324, 0, 0, 0, 324, 324, 0, 0,
+ 0, 324, 324, 324, 324, 324, 324, 324, 324, 0,
+ 361, 0, 0, 0, 0, 361, 361, 0, 0, 0,
+ 324, 0, 0, 324, 0, 324, 356, 324, 0, 0,
+ 324, 0, 0, 0, 0, 0, 324, 0, 361, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 361, 0,
+ 0, 361, 361, 0, 0, 0, 361, 0, 0, 361,
+ 0, 361, 0, 361, 361, 361, 361, 0, 0, 0,
+ 0, 361, 0, 0, 0, 361, 0, 0, 0, 361,
+ 0, 0, 0, 0, 0, 0, 0, 361, 0, 0,
+ 361, 0, 361, 361, 0, 0, 0, 0, 361, 0,
+ 361, 361, 361, 361, 361, 361, 361, 361, 361, 361,
+ 361, 0, 0, 0, 0, 0, 361, 361, 0, 0,
+ 0, 361, 361, 0, 361, 361, 361, 0, 361, 361,
+ 361, 0, 361, 361, 0, 331, 361, 361, 361, 361,
+ 0, 331, 0, 361, 361, 0, 0, 0, 361, 361,
+ 361, 361, 361, 361, 361, 361, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 361, 0, 0,
+ 361, 0, 361, 331, 0, 0, 0, 331, 0, 0,
+ 0, 0, 0, 361, 49, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 332, 0, 0, 0, 0,
- 332, 0, 332, 332, 332, 332, 332, 332, 332, 332,
- 332, 332, 332, 332, 0, 0, 0, 0, 0, 332,
- 0, 0, 0, 332, 332, 332, 332, 332, 332, 332,
- 332, 332, 332, 0, 332, 332, 0, 0, 332, 332,
- 332, 332, 332, 0, 0, 332, 332, 0, 0, 0,
- 332, 332, 332, 332, 332, 332, 332, 332, 0, 357,
- 0, 0, 0, 354, 0, 357, 0, 0, 0, 332,
- 0, 0, 332, 0, 332, 0, 332, 0, 0, 332,
- 28, 0, 0, 0, 0, 332, 354, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 357, 0, 354,
- 0, 357, 0, 0, 354, 0, 0, 230, 0, 354,
- 0, 354, 354, 354, 354, 0, 0, 0, 0, 354,
- 0, 0, 0, 354, 0, 0, 0, 354, 0, 0,
- 0, 0, 0, 0, 0, 354, 0, 0, 354, 0,
- 354, 0, 357, 36, 0, 0, 0, 357, 0, 357,
- 357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
- 0, 0, 0, 0, 354, 0, 357, 0, 0, 0,
- 357, 357, 0, 357, 357, 357, 0, 357, 357, 357,
- 0, 357, 357, 0, 0, 357, 357, 357, 357, 0,
- 0, 0, 357, 357, 0, 0, 0, 357, 357, 357,
- 357, 357, 357, 357, 357, 0, 0, 0, 0, 0,
- 0, 0, 34, 0, 0, 0, 357, 0, 49, 357,
- 354, 357, 49, 0, 49, 0, 49, 0, 49, 0,
- 0, 49, 357, 49, 49, 0, 49, 0, 49, 0,
- 49, 0, 49, 49, 49, 49, 0, 0, 49, 49,
- 0, 0, 0, 0, 49, 49, 49, 49, 49, 0,
- 0, 49, 49, 49, 0, 49, 0, 49, 49, 49,
- 49, 49, 49, 49, 49, 28, 49, 49, 49, 49,
- 0, 0, 49, 49, 49, 0, 49, 0, 0, 0,
- 0, 49, 49, 0, 49, 49, 0, 49, 49, 49,
- 0, 0, 0, 49, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 33, 0,
- 0, 0, 0, 49, 0, 49, 49, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 28, 28, 49, 0,
- 0, 28, 0, 0, 0, 28, 0, 28, 0, 0,
- 28, 0, 28, 28, 0, 28, 0, 28, 0, 28,
- 0, 28, 28, 28, 28, 0, 0, 28, 28, 0,
- 0, 0, 0, 28, 0, 28, 28, 28, 0, 49,
- 28, 28, 28, 0, 28, 0, 0, 28, 0, 28,
- 28, 28, 28, 0, 0, 0, 28, 28, 28, 0,
- 36, 28, 28, 28, 36, 925, 0, 0, 0, 0,
- 28, 28, 0, 28, 28, 36, 28, 28, 28, 0,
- 36, 0, 28, 0, 36, 0, 0, 36, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 36,
- 36, 0, 28, 0, 36, 36, 0, 0, 28, 28,
- 36, 0, 36, 36, 36, 36, 0, 28, 0, 0,
- 36, 0, 0, 0, 36, 0, 36, 0, 48, 34,
- 0, 0, 0, 34, 0, 0, 36, 0, 36, 36,
- 0, 36, 0, 0, 34, 36, 0, 0, 0, 34,
- 0, 0, 0, 34, 0, 0, 34, 0, 28, 0,
- 0, 0, 0, 0, 0, 36, 0, 0, 34, 34,
- 0, 36, 36, 34, 34, 7, 0, 0, 0, 34,
- 0, 34, 34, 34, 34, 0, 0, 0, 0, 34,
- 0, 0, 28, 34, 0, 34, 28, 0, 0, 0,
- 0, 0, 0, 0, 0, 34, 0, 28, 34, 0,
- 34, 0, 28, 0, 34, 0, 28, 0, 0, 28,
- 0, 0, 926, 0, 0, 0, 0, 0, 0, 0,
- 0, 28, 28, 0, 34, 33, 28, 28, 0, 33,
- 34, 34, 28, 0, 28, 28, 28, 28, 0, 0,
- 33, 0, 28, 0, 0, 33, 28, 0, 28, 33,
- 0, 0, 33, 0, 0, 0, 0, 0, 28, 0,
- 0, 28, 0, 28, 33, 33, 0, 28, 0, 33,
- 33, 0, 0, 450, 0, 33, 0, 33, 33, 33,
- 33, 0, 0, 0, 0, 33, 0, 28, 0, 33,
- 0, 33, 0, 28, 28, 0, 451, 0, 0, 0,
- 0, 33, 0, 0, 33, 0, 33, 0, 0, 452,
- 33, 0, 925, 453, 454, 0, 48, 0, 0, 455,
- 0, 456, 457, 458, 459, 0, 0, 48, 0, 460,
- 33, 0, 48, 461, 0, 0, 48, 33, 0, 48,
- 0, 0, 0, 0, 0, 462, 0, 0, 463, 0,
- 464, 48, 48, 0, 0, 0, 48, 48, 0, 0,
- 0, 0, 48, 0, 48, 48, 48, 48, 0, 0,
- 0, 0, 48, 0, 465, 48, 48, 0, 48, 48,
- 0, 0, 0, 0, 0, 0, 0, 0, 48, 0,
- 48, 48, 0, 48, 0, 48, 0, 48, 0, 48,
- 0, 0, 48, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 48, 48, 0, 48, 0, 48,
- 48, 0, 7, 0, 0, 48, 49, 48, 48, 48,
- 48, 0, 0, 0, 0, 48, 0, 49, 0, 48,
- 0, 48, 49, 0, 0, 0, 49, 0, 0, 49,
- 0, 48, 0, 0, 48, 0, 48, 0, 0, 0,
- 48, 49, 49, 0, 0, 0, 49, 49, 0, 926,
- 0, 0, 49, 48, 49, 49, 49, 49, 0, 0,
- 48, 0, 49, 0, 48, 0, 49, 0, 49, 48,
- 0, 0, 0, 48, 0, 0, 48, 0, 49, 0,
- 0, 49, 0, 49, 0, 0, 0, 49, 48, 48,
- 0, 0, 0, 48, 48, 0, 0, 0, 0, 48,
- 0, 48, 48, 48, 48, 0, 0, 49, 0, 48,
- 0, 0, 0, 48, 0, 48, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 48, 0, 56, 48, 0,
- 48, 0, 0, 0, 48, 57, 25, 58, 26, 0,
- 0, 27, 59, 0, 60, 61, 28, 62, 63, 64,
- 29, 0, 0, 0, 48, 0, 65, 0, 66, 31,
- 67, 68, 69, 70, 0, 0, 33, 0, 0, 0,
- 71, 34, 0, 72, 73, 35, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 74, 0, 37, 0, 38,
- 75, 0, 0, 39, 0, 76, 77, 78, 79, 80,
- 81, 40, 41, 82, 83, 42, 84, 0, 85, 0,
- 0, 86, 87, 0, 332, 88, 89, 0, 0, 0,
- 332, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 90, 91, 92, 93, 94, 0, 0, 0, 95, 0,
- 0, 0, 96, 0, 0, 0, 0, 97, 98, 99,
- 100, 101, 0, 0, 0, 102, 332, 103, 0, 0,
- 0, 0, 0, 104, 105, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 332, 0, 0, 0, 0, 0, 332, 0, 106, 107,
- 108, 109, 0, 0, 0, 0, 0, 332, 0, 0,
- 198, 0, 332, 0, 332, 332, 332, 332, 332, 332,
- 332, 332, 332, 332, 332, 332, 0, 0, 0, 0,
- 0, 332, 332, 0, 0, 0, 332, 332, 332, 332,
- 332, 332, 332, 332, 332, 0, 332, 332, 0, 332,
- 332, 332, 332, 332, 332, 332, 332, 332, 332, 0,
- 332, 332, 332, 332, 332, 332, 332, 332, 332, 332,
- 332, 332, 332, 332, 332, 332, 332, 332, 332, 332,
- 332, 332, 0, 503, 0, 0, 332, 0, 332, 503,
- 0, 332, 0, 0, 0, 0, 0, 332, 0, 0,
- 0, 0, 332, 0, 0, 332, 0, 332, 332, 0,
- 0, 0, 332, 332, 0, 0, 332, 332, 332, 332,
- 332, 332, 332, 332, 332, 503, 332, 332, 332, 332,
- 332, 332, 332, 332, 332, 332, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 332, 332, 0, 0,
- 0, 0, 0, 0, 332, 0, 0, 332, 0, 0,
- 0, 0, 0, 332, 0, 0, 503, 0, 0, 0,
- 0, 503, 0, 503, 503, 503, 503, 503, 503, 503,
- 503, 503, 503, 503, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 503, 503, 503, 503, 503, 503,
- 503, 503, 503, 503, 0, 503, 503, 0, 503, 503,
- 503, 503, 503, 503, 503, 503, 503, 503, 0, 503,
- 503, 503, 503, 503, 503, 503, 503, 503, 503, 503,
- 503, 503, 503, 503, 503, 503, 503, 503, 503, 503,
- 503, 0, 499, 560, 0, 0, 0, 503, 499, 0,
- 0, 0, 25, 0, 26, 0, 503, 27, 0, 0,
- 0, 0, 28, 0, 0, 0, 29, 0, 0, 0,
- 0, 0, 0, 0, 0, 31, 0, 0, 0, 0,
- 0, 0, 33, 0, 499, 0, 0, 34, 0, 0,
- 0, 35, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 37, 0, 38, 0, 0, 0, 39,
- 0, 0, 0, 0, 0, 0, 0, 40, 41, 389,
- 0, 42, 0, 0, 321, 499, 0, 0, 0, 0,
- 499, 0, 499, 499, 499, 499, 499, 499, 499, 499,
- 499, 499, 499, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 499, 499, 389, 499, 499, 499, 499,
- 499, 499, 499, 0, 499, 499, 0, 499, 499, 499,
- 499, 499, 499, 499, 499, 499, 499, 0, 499, 499,
- 499, 499, 499, 499, 499, 499, 499, 499, 499, 499,
- 499, 499, 499, 499, 499, 499, 499, 499, 499, 499,
- 0, 507, 0, 0, 0, 354, 499, 507, 0, 499,
- 0, 0, 0, 0, 0, 499, 0, 0, 0, 0,
- 325, 0, 0, 0, 0, 0, 325, 0, 389, 389,
- 389, 389, 0, 389, 0, 389, 389, 0, 389, 389,
- 389, 389, 389, 507, 389, 389, 389, 389, 0, 389,
- 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
- 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
- 389, 0, 0, 0, 0, 325, 0, 389, 0, 0,
- 389, 0, 0, 0, 507, 0, 389, 0, 0, 507,
- 0, 507, 507, 507, 507, 507, 507, 507, 507, 507,
- 507, 507, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 507, 0, 507, 507, 507, 507, 507,
- 507, 507, 0, 507, 507, 0, 507, 507, 507, 507,
- 507, 507, 507, 507, 507, 507, 0, 507, 507, 507,
- 507, 507, 507, 507, 507, 507, 507, 507, 507, 507,
- 507, 507, 507, 507, 507, 507, 507, 507, 507, 0,
- 332, 881, 0, 0, 0, 507, 332, 0, 507, 0,
- 25, 0, 26, 0, 507, 27, 0, 0, 0, 0,
- 28, 0, 0, 0, 29, 0, 0, 0, 0, 0,
- 0, 0, 0, 31, 0, 0, 0, 0, 0, 0,
- 33, 0, 332, 0, 0, 34, 0, 0, 0, 35,
+ 0, 0, 0, 0, 0, 0, 0, 0, 331, 0,
+ 0, 0, 0, 331, 0, 331, 331, 331, 331, 331,
+ 331, 331, 331, 331, 331, 331, 331, 0, 0, 919,
+ 0, 0, 331, 0, 0, 0, 331, 331, 331, 331,
+ 331, 331, 331, 331, 331, 331, 0, 331, 331, 0,
+ 0, 331, 331, 331, 331, 331, 0, 0, 331, 331,
+ 34, 0, 0, 331, 331, 331, 331, 331, 331, 331,
+ 331, 0, 356, 0, 0, 0, 0, 0, 356, 0,
+ 0, 0, 331, 0, 0, 331, 0, 331, 0, 331,
+ 0, 0, 331, 0, 0, 0, 0, 0, 331, 0,
+ 0, 0, 0, 28, 0, 0, 0, 0, 0, 0,
+ 356, 0, 919, 0, 356, 0, 0, 919, 0, 919,
+ 919, 919, 919, 919, 919, 919, 919, 919, 919, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 919, 0, 919, 0, 919, 33, 919, 919, 919,
+ 0, 0, 0, 0, 0, 356, 0, 0, 0, 0,
+ 356, 0, 356, 356, 356, 356, 356, 356, 356, 356,
+ 356, 356, 356, 0, 0, 0, 0, 0, 0, 356,
+ 0, 0, 0, 356, 356, 0, 356, 356, 356, 5,
+ 356, 356, 356, 0, 356, 356, 0, 0, 356, 356,
+ 356, 356, 919, 0, 0, 356, 356, 0, 0, 0,
+ 356, 356, 356, 356, 356, 356, 356, 356, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 356,
+ 0, 49, 356, 0, 356, 49, 0, 49, 0, 49,
+ 0, 49, 0, 0, 49, 356, 49, 49, 0, 49,
+ 0, 49, 927, 49, 0, 49, 49, 49, 49, 0,
+ 0, 49, 49, 0, 0, 0, 0, 49, 49, 49,
+ 49, 49, 0, 0, 49, 49, 49, 0, 49, 0,
+ 49, 49, 49, 49, 49, 49, 49, 49, 0, 49,
+ 49, 49, 49, 0, 0, 49, 49, 49, 0, 49,
+ 0, 0, 0, 0, 49, 49, 0, 49, 49, 0,
+ 49, 49, 49, 0, 0, 48, 49, 34, 0, 0,
+ 0, 34, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 34, 0, 0, 0, 49, 34, 49, 49,
+ 0, 34, 0, 0, 34, 0, 0, 0, 0, 0,
+ 0, 49, 0, 0, 0, 0, 34, 34, 7, 0,
+ 28, 34, 34, 0, 28, 0, 0, 34, 0, 34,
+ 34, 34, 34, 0, 0, 28, 0, 34, 0, 0,
+ 28, 34, 0, 34, 28, 0, 0, 28, 0, 0,
+ 0, 0, 49, 34, 0, 0, 34, 0, 34, 28,
+ 28, 928, 34, 33, 28, 28, 0, 33, 0, 0,
+ 28, 0, 28, 28, 28, 28, 0, 0, 33, 0,
+ 28, 0, 34, 33, 28, 0, 28, 33, 34, 34,
+ 33, 0, 0, 0, 0, 0, 28, 0, 0, 28,
+ 0, 28, 33, 33, 0, 28, 5, 33, 33, 0,
+ 48, 0, 0, 33, 0, 33, 33, 33, 33, 0,
+ 0, 48, 0, 33, 0, 28, 48, 33, 0, 33,
+ 48, 28, 28, 48, 0, 0, 0, 0, 0, 33,
+ 0, 0, 33, 0, 33, 48, 48, 0, 33, 0,
+ 48, 48, 0, 0, 0, 0, 48, 0, 48, 48,
+ 48, 48, 0, 0, 0, 0, 48, 0, 33, 927,
+ 48, 0, 48, 48, 0, 33, 0, 0, 0, 0,
+ 0, 0, 48, 0, 48, 48, 0, 48, 0, 48,
+ 0, 48, 0, 48, 0, 0, 48, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 48, 48,
+ 0, 48, 0, 48, 48, 0, 0, 0, 0, 48,
+ 0, 48, 48, 48, 48, 0, 0, 0, 0, 48,
+ 0, 0, 48, 48, 0, 48, 48, 0, 0, 0,
+ 0, 0, 0, 0, 0, 48, 0, 48, 48, 0,
+ 48, 0, 48, 0, 48, 0, 48, 0, 0, 48,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 37, 0, 38, 0, 0, 0, 39, 0, 0,
- 0, 0, 0, 0, 0, 40, 41, 0, 0, 42,
- 0, 0, 321, 332, 0, 0, 0, 0, 332, 0,
- 332, 332, 332, 332, 332, 332, 332, 332, 332, 332,
- 332, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 332, 0, 332, 332, 332, 332, 332, 332,
- 332, 0, 332, 332, 0, 332, 332, 332, 332, 332,
- 332, 332, 332, 332, 332, 0, 332, 332, 332, 332,
- 332, 332, 332, 332, 332, 332, 332, 332, 332, 332,
- 332, 332, 332, 332, 332, 332, 332, 332, 0, 432,
- 1083, 0, 0, 354, 332, 432, 0, 332, 0, 25,
- 0, 26, 0, 332, 27, 0, 0, 0, 0, 28,
+ 0, 48, 48, 0, 48, 7, 48, 48, 0, 49,
+ 0, 0, 48, 0, 48, 48, 48, 48, 0, 0,
+ 49, 0, 48, 0, 0, 49, 48, 0, 48, 49,
+ 0, 0, 49, 0, 0, 0, 0, 0, 48, 0,
+ 0, 48, 0, 48, 49, 49, 0, 48, 928, 49,
+ 49, 0, 48, 0, 0, 49, 0, 49, 49, 49,
+ 49, 0, 0, 48, 0, 49, 0, 48, 48, 49,
+ 0, 49, 48, 0, 0, 48, 0, 0, 0, 0,
+ 0, 49, 0, 0, 49, 0, 49, 48, 48, 0,
+ 49, 0, 48, 48, 0, 0, 0, 0, 48, 0,
+ 48, 48, 48, 48, 0, 0, 0, 0, 48, 0,
+ 49, 0, 48, 0, 48, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 48, 0, 56, 48, 0, 48,
+ 0, 0, 0, 48, 57, 25, 58, 26, 0, 0,
+ 27, 59, 0, 60, 61, 28, 62, 63, 64, 29,
+ 0, 0, 0, 48, 0, 65, 0, 66, 31, 67,
+ 68, 69, 70, 0, 0, 33, 0, 0, 0, 71,
+ 34, 0, 72, 73, 35, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 74, 0, 37, 0, 38, 75,
+ 0, 0, 39, 0, 76, 77, 78, 79, 80, 81,
+ 40, 41, 82, 83, 42, 84, 0, 85, 0, 0,
+ 86, 87, 0, 331, 88, 89, 0, 0, 0, 331,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 90,
+ 91, 92, 93, 94, 0, 0, 0, 95, 0, 0,
+ 0, 96, 0, 0, 0, 0, 97, 98, 99, 100,
+ 101, 0, 0, 0, 102, 331, 103, 0, 0, 0,
+ 0, 0, 104, 105, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 331,
+ 0, 0, 0, 0, 0, 331, 0, 106, 107, 108,
+ 109, 0, 0, 0, 0, 0, 331, 0, 0, 198,
+ 0, 331, 0, 331, 331, 331, 331, 331, 331, 331,
+ 331, 331, 331, 331, 331, 0, 0, 0, 0, 0,
+ 331, 331, 0, 0, 0, 331, 331, 331, 331, 331,
+ 331, 331, 331, 331, 0, 331, 331, 0, 331, 331,
+ 331, 331, 331, 331, 331, 331, 331, 331, 0, 331,
+ 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
+ 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
+ 331, 0, 502, 0, 0, 331, 0, 331, 502, 0,
+ 331, 0, 0, 0, 0, 0, 331, 0, 0, 0,
+ 0, 331, 0, 0, 331, 0, 331, 331, 0, 0,
+ 0, 331, 331, 0, 0, 331, 331, 331, 331, 331,
+ 331, 331, 331, 331, 502, 331, 331, 331, 331, 331,
+ 331, 331, 331, 331, 331, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 331, 331, 0, 0, 0,
+ 0, 0, 0, 331, 0, 0, 331, 0, 0, 0,
+ 0, 0, 331, 0, 0, 502, 0, 0, 0, 0,
+ 502, 0, 502, 502, 502, 502, 502, 502, 502, 502,
+ 502, 502, 502, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 502, 502, 502, 502, 502, 502, 502,
+ 502, 502, 502, 0, 502, 502, 0, 502, 502, 502,
+ 502, 502, 502, 502, 502, 502, 502, 0, 502, 502,
+ 502, 502, 502, 502, 502, 502, 502, 502, 502, 502,
+ 502, 502, 502, 502, 502, 502, 502, 502, 502, 502,
+ 0, 498, 561, 0, 0, 0, 502, 498, 0, 0,
+ 0, 25, 0, 26, 0, 502, 27, 0, 0, 0,
+ 0, 28, 0, 0, 0, 29, 0, 0, 0, 0,
+ 0, 0, 0, 0, 31, 0, 0, 0, 0, 0,
+ 0, 33, 0, 498, 0, 0, 34, 0, 0, 0,
+ 35, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 37, 0, 38, 0, 0, 0, 39, 0,
+ 0, 0, 0, 0, 0, 0, 40, 41, 388, 0,
+ 42, 0, 0, 321, 498, 0, 0, 0, 0, 498,
+ 0, 498, 498, 498, 498, 498, 498, 498, 498, 498,
+ 498, 498, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 498, 498, 388, 498, 498, 498, 498, 498,
+ 498, 498, 0, 498, 498, 0, 498, 498, 498, 498,
+ 498, 498, 498, 498, 498, 498, 0, 498, 498, 498,
+ 498, 498, 498, 498, 498, 498, 498, 498, 498, 498,
+ 498, 498, 498, 498, 498, 498, 498, 498, 498, 0,
+ 506, 0, 0, 0, 354, 498, 506, 0, 498, 0,
+ 0, 0, 0, 0, 498, 0, 0, 0, 0, 324,
+ 0, 0, 0, 0, 0, 324, 0, 388, 388, 388,
+ 388, 0, 388, 0, 388, 388, 0, 388, 388, 388,
+ 388, 388, 506, 388, 388, 388, 388, 0, 388, 388,
+ 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
+ 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
+ 0, 0, 0, 0, 324, 0, 388, 0, 0, 388,
+ 0, 0, 0, 506, 0, 388, 0, 0, 506, 0,
+ 506, 506, 506, 506, 506, 506, 506, 506, 506, 506,
+ 506, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 506, 0, 506, 506, 506, 506, 506, 506,
+ 506, 0, 506, 506, 0, 506, 506, 506, 506, 506,
+ 506, 506, 506, 506, 506, 0, 506, 506, 506, 506,
+ 506, 506, 506, 506, 506, 506, 506, 506, 506, 506,
+ 506, 506, 506, 506, 506, 506, 506, 506, 0, 331,
+ 883, 0, 0, 0, 506, 331, 0, 506, 0, 25,
+ 0, 26, 0, 506, 27, 0, 0, 0, 0, 28,
0, 0, 0, 29, 0, 0, 0, 0, 0, 0,
0, 0, 31, 0, 0, 0, 0, 0, 0, 33,
- 0, 432, 0, 0, 34, 0, 0, 0, 35, 0,
+ 0, 331, 0, 0, 34, 0, 0, 0, 35, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
37, 0, 38, 0, 0, 0, 39, 0, 0, 0,
0, 0, 0, 0, 40, 41, 0, 0, 42, 0,
- 0, 321, 432, 0, 0, 0, 0, 432, 0, 432,
- 432, 432, 432, 432, 432, 432, 432, 432, 432, 432,
+ 0, 321, 331, 0, 0, 0, 0, 331, 0, 331,
+ 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 432, 0, 432, 432, 432, 432, 432, 432, 432,
- 0, 432, 432, 0, 432, 432, 432, 432, 432, 432,
- 432, 432, 432, 432, 0, 432, 432, 432, 432, 432,
- 432, 432, 432, 432, 432, 432, 432, 432, 432, 432,
- 432, 432, 432, 432, 432, 432, 432, 0, 392, 1149,
- 0, 0, 354, 432, 392, 0, 432, 0, 25, 0,
- 26, 0, 432, 27, 0, 0, 0, 0, 28, 0,
+ 0, 331, 0, 331, 331, 331, 331, 331, 331, 331,
+ 0, 331, 331, 0, 331, 331, 331, 331, 331, 331,
+ 331, 331, 331, 331, 0, 331, 331, 331, 331, 331,
+ 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
+ 331, 331, 331, 331, 331, 331, 331, 0, 431, 1029,
+ 0, 0, 354, 331, 431, 0, 331, 0, 25, 0,
+ 26, 0, 331, 27, 0, 0, 0, 0, 28, 0,
0, 0, 29, 0, 0, 0, 0, 0, 0, 0,
0, 31, 0, 0, 0, 0, 0, 0, 33, 0,
- 392, 0, 0, 34, 0, 0, 0, 35, 0, 0,
+ 431, 0, 0, 34, 0, 0, 0, 35, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 37,
0, 38, 0, 0, 0, 39, 0, 0, 0, 0,
0, 0, 0, 40, 41, 0, 0, 42, 0, 0,
- 321, 392, 0, 0, 0, 0, 392, 0, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392, 392, 0,
+ 321, 431, 0, 0, 0, 0, 431, 0, 431, 431,
+ 431, 431, 431, 431, 431, 431, 431, 431, 431, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 392, 0, 392, 392, 392, 392, 392, 392, 392, 0,
- 392, 0, 0, 392, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 0, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 0, 538, 0, 353,
- 0, 354, 392, 538, 0, 392, 0, 0, 0, 0,
- 0, 392, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 353, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 353, 0, 0, 0, 538,
- 353, 0, 0, 229, 0, 353, 0, 353, 353, 353,
- 353, 0, 0, 0, 0, 353, 0, 0, 0, 353,
- 332, 0, 0, 353, 0, 0, 332, 0, 0, 0,
- 737, 353, 0, 0, 353, 0, 353, 0, 0, 0,
- 538, 0, 0, 0, 0, 538, 0, 538, 538, 538,
- 538, 538, 538, 538, 538, 538, 538, 538, 0, 0,
- 353, 0, 332, 0, 0, 0, 0, 0, 0, 538,
- 0, 538, 0, 538, 0, 538, 538, 538, 737, 538,
- 538, 0, 538, 538, 538, 538, 538, 538, 538, 538,
- 538, 538, 0, 0, 0, 538, 538, 538, 538, 538,
- 538, 538, 538, 538, 538, 538, 538, 538, 538, 538,
- 538, 538, 538, 550, 538, 0, 353, 0, 0, 550,
- 0, 332, 0, 0, 0, 0, 0, 332, 0, 0,
- 538, 0, 0, 332, 332, 332, 332, 332, 332, 737,
- 332, 0, 332, 332, 0, 332, 332, 332, 332, 332,
- 332, 332, 332, 332, 332, 550, 332, 332, 332, 332,
- 332, 332, 332, 332, 332, 332, 332, 332, 332, 332,
- 332, 332, 332, 332, 332, 332, 332, 332, 0, 0,
- 0, 0, 332, 0, 332, 0, 0, 332, 0, 0,
- 0, 0, 0, 332, 0, 0, 550, 0, 0, 0,
- 0, 550, 0, 550, 550, 550, 550, 550, 550, 550,
- 550, 550, 550, 550, 0, 0, 0, 554, 0, 0,
- 0, 0, 0, 554, 0, 550, 0, 550, 0, 550,
- 0, 550, 550, 550, 0, 550, 550, 0, 0, 550,
- 550, 550, 550, 550, 550, 550, 550, 550, 0, 0,
- 0, 550, 550, 550, 550, 550, 550, 550, 550, 554,
+ 431, 0, 431, 431, 431, 431, 431, 431, 431, 0,
+ 431, 431, 0, 431, 431, 431, 431, 431, 431, 431,
+ 431, 431, 431, 0, 431, 431, 431, 431, 431, 431,
+ 431, 431, 431, 431, 431, 431, 431, 431, 431, 431,
+ 431, 431, 431, 431, 431, 431, 0, 391, 1151, 0,
+ 0, 354, 431, 391, 0, 431, 0, 25, 0, 26,
+ 0, 431, 27, 0, 0, 0, 0, 28, 0, 0,
+ 0, 29, 0, 0, 0, 0, 0, 0, 0, 0,
+ 31, 0, 0, 0, 0, 0, 0, 33, 0, 391,
+ 0, 0, 34, 0, 0, 0, 35, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 37, 0,
+ 38, 0, 0, 0, 39, 0, 0, 0, 0, 0,
+ 0, 0, 40, 41, 0, 0, 42, 0, 0, 321,
+ 391, 0, 0, 0, 0, 391, 0, 391, 391, 391,
+ 391, 391, 391, 391, 391, 391, 391, 391, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 391,
+ 0, 391, 391, 391, 391, 391, 391, 391, 0, 391,
+ 0, 0, 391, 391, 391, 391, 391, 391, 391, 391,
+ 391, 391, 0, 391, 391, 391, 391, 391, 391, 391,
+ 391, 391, 391, 391, 391, 391, 391, 391, 391, 391,
+ 391, 391, 391, 391, 391, 0, 537, 0, 352, 0,
+ 354, 391, 537, 0, 391, 0, 0, 0, 0, 0,
+ 391, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 352, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 352, 0, 0, 0, 537, 352,
+ 0, 0, 229, 0, 352, 0, 352, 352, 352, 352,
+ 0, 0, 0, 0, 352, 0, 0, 0, 352, 331,
+ 0, 0, 352, 0, 0, 331, 0, 0, 0, 737,
+ 352, 0, 0, 352, 0, 352, 0, 0, 0, 537,
+ 0, 0, 0, 0, 537, 0, 537, 537, 537, 537,
+ 537, 537, 537, 537, 537, 537, 537, 0, 0, 352,
+ 0, 331, 0, 0, 0, 0, 0, 0, 537, 0,
+ 537, 0, 537, 0, 537, 537, 537, 737, 537, 537,
+ 0, 537, 537, 537, 537, 537, 537, 537, 537, 537,
+ 537, 0, 0, 0, 537, 537, 537, 537, 537, 537,
+ 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
+ 537, 537, 549, 537, 0, 352, 0, 0, 549, 0,
+ 331, 0, 0, 0, 0, 0, 331, 0, 0, 537,
+ 0, 0, 331, 331, 331, 331, 331, 331, 737, 331,
+ 0, 331, 331, 0, 331, 331, 331, 331, 331, 331,
+ 331, 331, 331, 331, 549, 331, 331, 331, 331, 331,
+ 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
+ 331, 331, 331, 331, 331, 331, 331, 0, 0, 0,
+ 0, 331, 0, 331, 0, 0, 331, 0, 0, 0,
+ 0, 0, 331, 0, 0, 549, 0, 0, 0, 0,
+ 549, 0, 549, 549, 549, 549, 549, 549, 549, 549,
+ 549, 549, 549, 0, 0, 0, 553, 0, 0, 0,
+ 0, 0, 553, 0, 549, 0, 549, 0, 549, 0,
+ 549, 549, 549, 0, 549, 549, 0, 0, 549, 549,
+ 549, 549, 549, 549, 549, 549, 549, 0, 0, 0,
+ 549, 549, 549, 549, 549, 549, 549, 549, 553, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 549,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 550, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 557, 550, 0, 0, 0,
- 0, 557, 0, 0, 0, 0, 0, 0, 0, 0,
- 554, 0, 0, 0, 0, 554, 0, 554, 554, 554,
- 554, 554, 554, 554, 554, 554, 554, 554, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 557, 0, 554,
- 0, 554, 0, 554, 0, 554, 554, 554, 0, 554,
- 554, 0, 0, 554, 554, 554, 554, 0, 0, 0,
- 554, 554, 0, 0, 0, 554, 554, 554, 554, 554,
- 554, 554, 554, 0, 0, 0, 0, 0, 557, 0,
- 0, 0, 0, 557, 554, 557, 557, 557, 557, 557,
- 557, 557, 557, 557, 557, 557, 0, 0, 0, 555,
- 554, 0, 0, 0, 0, 555, 0, 557, 0, 557,
- 0, 557, 0, 557, 557, 557, 0, 557, 557, 0,
- 0, 557, 557, 557, 557, 0, 0, 0, 557, 557,
- 0, 0, 0, 557, 557, 557, 557, 557, 557, 557,
- 557, 555, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 557, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 556, 557, 0,
- 0, 0, 0, 556, 0, 0, 0, 0, 0, 0,
- 0, 0, 555, 0, 0, 0, 0, 555, 0, 555,
- 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 556,
- 0, 555, 0, 555, 0, 555, 0, 555, 555, 555,
- 0, 555, 555, 0, 0, 555, 555, 555, 555, 0,
- 0, 0, 555, 555, 0, 560, 0, 555, 555, 555,
- 555, 555, 555, 555, 555, 0, 0, 0, 0, 0,
- 556, 0, 0, 0, 0, 556, 555, 556, 556, 556,
- 556, 556, 556, 556, 556, 556, 556, 556, 0, 0,
- 0, 0, 555, 0, 0, 0, 0, 0, 0, 556,
- 0, 556, 0, 556, 0, 556, 556, 556, 0, 556,
- 556, 0, 0, 556, 556, 556, 556, 0, 0, 0,
- 556, 556, 0, 561, 0, 556, 556, 556, 556, 556,
- 556, 556, 556, 0, 0, 0, 0, 0, 560, 0,
- 0, 0, 0, 560, 556, 560, 560, 560, 560, 560,
- 560, 560, 560, 560, 560, 560, 0, 0, 0, 0,
- 556, 0, 0, 0, 0, 0, 0, 560, 0, 560,
- 0, 560, 0, 560, 560, 560, 0, 0, 0, 0,
- 0, 560, 560, 560, 560, 0, 0, 0, 560, 560,
- 0, 562, 0, 560, 560, 560, 560, 560, 560, 560,
- 560, 0, 0, 0, 0, 0, 561, 0, 0, 0,
- 0, 561, 560, 561, 561, 561, 561, 561, 561, 561,
- 561, 561, 561, 561, 0, 0, 0, 0, 560, 0,
- 0, 0, 0, 0, 0, 561, 0, 561, 0, 561,
- 0, 561, 561, 561, 0, 0, 0, 0, 0, 561,
- 561, 561, 561, 0, 0, 0, 561, 561, 0, 563,
- 0, 561, 561, 561, 561, 561, 561, 561, 561, 0,
- 0, 0, 0, 0, 562, 0, 0, 0, 0, 562,
- 561, 562, 562, 562, 562, 562, 562, 562, 562, 562,
- 562, 562, 0, 0, 0, 0, 561, 0, 0, 0,
- 0, 0, 0, 562, 0, 562, 0, 562, 0, 562,
- 562, 562, 0, 0, 0, 0, 0, 562, 562, 562,
- 562, 0, 0, 0, 562, 562, 0, 564, 0, 562,
- 562, 562, 562, 562, 562, 562, 562, 0, 0, 0,
- 0, 0, 563, 0, 0, 0, 0, 563, 562, 563,
- 563, 563, 563, 563, 563, 563, 563, 563, 563, 563,
- 0, 0, 0, 0, 562, 0, 0, 0, 0, 0,
- 0, 563, 0, 563, 0, 563, 0, 563, 563, 563,
- 0, 0, 0, 0, 0, 563, 563, 563, 563, 0,
- 0, 0, 563, 563, 0, 565, 0, 0, 0, 563,
- 563, 563, 563, 563, 563, 0, 0, 0, 0, 0,
- 564, 0, 0, 0, 0, 564, 563, 564, 564, 564,
- 564, 564, 564, 564, 564, 564, 564, 564, 0, 0,
- 0, 0, 563, 0, 0, 0, 0, 0, 0, 564,
- 0, 564, 0, 564, 0, 564, 564, 564, 0, 0,
- 0, 0, 0, 564, 564, 564, 564, 0, 0, 0,
- 564, 564, 0, 566, 0, 0, 0, 564, 564, 564,
- 564, 564, 564, 0, 0, 0, 0, 0, 565, 0,
- 0, 0, 0, 565, 564, 565, 565, 565, 565, 565,
- 565, 565, 565, 565, 565, 565, 0, 0, 0, 0,
- 564, 0, 0, 0, 0, 0, 0, 565, 0, 565,
- 0, 565, 0, 565, 565, 565, 0, 0, 0, 0,
- 0, 565, 565, 565, 565, 0, 0, 0, 565, 565,
- 0, 567, 0, 0, 0, 565, 565, 565, 565, 565,
- 565, 0, 0, 0, 0, 0, 566, 0, 0, 0,
- 0, 566, 565, 566, 566, 566, 566, 566, 566, 566,
- 566, 566, 566, 566, 0, 0, 0, 0, 565, 0,
- 0, 0, 0, 0, 0, 566, 0, 566, 0, 566,
- 0, 566, 566, 566, 0, 0, 0, 0, 0, 566,
- 566, 566, 566, 0, 0, 0, 566, 566, 0, 568,
- 0, 0, 0, 566, 566, 566, 566, 566, 566, 0,
- 0, 0, 0, 0, 567, 0, 0, 0, 0, 567,
- 566, 567, 567, 567, 567, 567, 567, 567, 567, 567,
- 567, 567, 0, 0, 0, 0, 566, 0, 0, 0,
- 0, 0, 0, 567, 0, 567, 0, 567, 0, 567,
- 567, 567, 0, 0, 0, 0, 0, 567, 567, 567,
- 567, 0, 0, 0, 567, 567, 0, 569, 0, 0,
- 0, 567, 567, 567, 567, 567, 567, 0, 0, 0,
- 0, 0, 568, 0, 0, 0, 0, 568, 567, 568,
- 568, 568, 568, 568, 568, 568, 568, 568, 568, 568,
- 0, 0, 0, 0, 567, 0, 0, 0, 0, 0,
- 0, 568, 0, 568, 0, 568, 0, 568, 568, 568,
- 0, 0, 0, 0, 0, 0, 0, 568, 568, 0,
- 0, 0, 568, 568, 0, 570, 0, 0, 0, 0,
- 0, 568, 568, 568, 568, 0, 0, 0, 0, 0,
- 569, 0, 0, 0, 0, 569, 568, 569, 569, 569,
- 569, 569, 569, 569, 569, 569, 569, 569, 0, 0,
- 0, 0, 568, 0, 0, 0, 0, 0, 0, 569,
- 0, 569, 0, 569, 0, 569, 569, 569, 0, 0,
- 0, 0, 0, 0, 0, 569, 569, 0, 0, 0,
- 569, 569, 0, 571, 0, 0, 0, 0, 0, 569,
- 569, 569, 569, 0, 0, 0, 0, 0, 570, 0,
- 0, 0, 0, 570, 569, 570, 570, 570, 570, 570,
- 570, 570, 570, 570, 570, 570, 0, 0, 0, 0,
- 569, 0, 0, 0, 0, 0, 0, 570, 0, 570,
- 0, 570, 0, 570, 570, 570, 0, 0, 0, 0,
- 0, 0, 0, 570, 570, 0, 0, 0, 570, 570,
- 0, 572, 0, 0, 0, 0, 0, 570, 570, 570,
- 570, 0, 0, 0, 0, 0, 571, 0, 0, 0,
- 0, 571, 570, 571, 571, 571, 571, 571, 571, 571,
- 571, 571, 571, 571, 0, 0, 0, 0, 570, 0,
- 0, 0, 0, 0, 0, 571, 0, 571, 0, 571,
- 0, 571, 571, 571, 0, 0, 0, 0, 0, 0,
- 0, 571, 571, 0, 0, 0, 571, 571, 0, 573,
- 0, 0, 0, 0, 0, 0, 0, 571, 571, 0,
- 0, 0, 0, 0, 572, 0, 0, 0, 0, 572,
- 571, 572, 572, 572, 572, 572, 572, 572, 572, 572,
- 572, 572, 0, 0, 0, 0, 571, 0, 0, 0,
- 0, 0, 0, 572, 0, 572, 0, 572, 0, 572,
- 572, 572, 0, 0, 0, 0, 0, 0, 0, 572,
- 572, 0, 0, 0, 572, 572, 0, 574, 0, 0,
- 0, 0, 0, 0, 0, 572, 572, 0, 0, 0,
- 0, 0, 573, 0, 0, 0, 0, 573, 572, 573,
- 573, 573, 573, 573, 573, 573, 573, 573, 573, 573,
- 0, 0, 0, 0, 572, 0, 0, 0, 0, 0,
- 0, 573, 0, 573, 0, 573, 0, 573, 573, 573,
- 0, 0, 0, 0, 0, 0, 0, 0, 573, 0,
- 0, 0, 573, 573, 0, 575, 0, 0, 0, 0,
- 0, 0, 0, 573, 573, 0, 0, 0, 0, 0,
- 574, 0, 0, 0, 0, 574, 573, 574, 574, 574,
- 574, 574, 574, 574, 574, 574, 574, 574, 0, 0,
- 0, 0, 573, 0, 0, 0, 0, 0, 0, 574,
- 0, 574, 0, 574, 0, 574, 574, 574, 0, 0,
- 0, 0, 0, 0, 0, 0, 574, 0, 0, 0,
- 574, 574, 0, 576, 0, 0, 0, 0, 0, 0,
- 0, 574, 574, 0, 0, 0, 0, 0, 575, 0,
- 0, 0, 0, 575, 574, 575, 575, 575, 575, 575,
- 575, 575, 575, 575, 575, 575, 0, 0, 0, 0,
- 574, 0, 0, 0, 0, 0, 0, 575, 0, 575,
- 0, 575, 0, 575, 575, 575, 0, 0, 0, 0,
- 0, 0, 0, 0, 575, 0, 0, 0, 0, 575,
- 0, 577, 0, 0, 0, 0, 0, 0, 0, 575,
- 575, 0, 0, 0, 0, 0, 576, 0, 0, 0,
- 0, 576, 575, 576, 576, 576, 576, 576, 576, 576,
- 576, 576, 576, 576, 0, 0, 0, 0, 575, 0,
- 0, 0, 0, 0, 0, 576, 0, 576, 0, 576,
- 0, 576, 576, 576, 0, 0, 0, 0, 0, 0,
- 0, 0, 576, 0, 0, 0, 0, 576, 0, 578,
- 0, 0, 0, 0, 0, 0, 0, 576, 576, 0,
- 0, 0, 0, 0, 577, 0, 0, 0, 0, 577,
- 576, 577, 577, 577, 577, 577, 577, 577, 577, 577,
- 577, 577, 0, 0, 0, 0, 576, 0, 0, 0,
- 0, 0, 0, 577, 0, 577, 0, 577, 0, 577,
- 577, 577, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 577, 0, 579, 0, 0,
- 0, 0, 0, 0, 0, 577, 577, 0, 0, 0,
- 0, 0, 578, 0, 0, 0, 0, 578, 577, 578,
- 578, 578, 578, 578, 578, 578, 578, 578, 578, 578,
- 0, 0, 0, 0, 577, 0, 0, 0, 0, 0,
- 0, 578, 0, 578, 0, 578, 0, 578, 578, 578,
- 0, 0, 0, 580, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 578, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 578, 578, 0, 0, 0, 0, 0,
- 579, 0, 0, 0, 0, 579, 578, 579, 579, 579,
- 579, 579, 579, 579, 579, 579, 579, 579, 0, 0,
- 0, 0, 578, 0, 0, 0, 0, 0, 0, 579,
- 0, 579, 0, 579, 0, 579, 579, 579, 0, 0,
- 0, 581, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 579, 0, 0, 0, 0, 580, 0, 0, 0,
- 0, 580, 579, 580, 580, 580, 580, 580, 580, 580,
- 580, 580, 580, 580, 579, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 580, 0, 580, 0, 580,
- 579, 580, 580, 580, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 580, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 580, 0,
- 0, 0, 0, 0, 581, 0, 0, 0, 0, 581,
- 580, 581, 581, 581, 581, 581, 581, 581, 581, 581,
- 581, 581, 0, 0, 0, 0, 580, 0, 0, 0,
- 0, 0, 0, 581, 0, 581, 0, 581, 0, 581,
- 581, 581, 56, 0, 0, 0, 0, 0, 0, 0,
- 57, 25, 58, 26, 0, 581, 27, 59, 0, 60,
+ 0, 0, 0, 0, 556, 549, 0, 0, 0, 0,
+ 556, 0, 0, 0, 0, 0, 0, 0, 0, 553,
+ 0, 0, 0, 0, 553, 0, 553, 553, 553, 553,
+ 553, 553, 553, 553, 553, 553, 553, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 556, 0, 553, 0,
+ 553, 0, 553, 0, 553, 553, 553, 0, 553, 553,
+ 0, 0, 553, 553, 553, 553, 0, 0, 0, 553,
+ 553, 0, 0, 0, 553, 553, 553, 553, 553, 553,
+ 553, 553, 0, 0, 0, 0, 0, 556, 0, 0,
+ 0, 0, 556, 553, 556, 556, 556, 556, 556, 556,
+ 556, 556, 556, 556, 556, 0, 0, 0, 554, 553,
+ 0, 0, 0, 0, 554, 0, 556, 0, 556, 0,
+ 556, 0, 556, 556, 556, 0, 556, 556, 0, 0,
+ 556, 556, 556, 556, 0, 0, 0, 556, 556, 0,
+ 0, 0, 556, 556, 556, 556, 556, 556, 556, 556,
+ 554, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 556, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 555, 556, 0, 0,
+ 0, 0, 555, 0, 0, 0, 0, 0, 0, 0,
+ 0, 554, 0, 0, 0, 0, 554, 0, 554, 554,
+ 554, 554, 554, 554, 554, 554, 554, 554, 554, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 555, 0,
+ 554, 0, 554, 0, 554, 0, 554, 554, 554, 0,
+ 554, 554, 0, 0, 554, 554, 554, 554, 0, 0,
+ 0, 554, 554, 0, 559, 0, 554, 554, 554, 554,
+ 554, 554, 554, 554, 0, 0, 0, 0, 0, 555,
+ 0, 0, 0, 0, 555, 554, 555, 555, 555, 555,
+ 555, 555, 555, 555, 555, 555, 555, 0, 0, 0,
+ 0, 554, 0, 0, 0, 0, 0, 0, 555, 0,
+ 555, 0, 555, 0, 555, 555, 555, 0, 555, 555,
+ 0, 0, 555, 555, 555, 555, 0, 0, 0, 555,
+ 555, 0, 560, 0, 555, 555, 555, 555, 555, 555,
+ 555, 555, 0, 0, 0, 0, 0, 559, 0, 0,
+ 0, 0, 559, 555, 559, 559, 559, 559, 559, 559,
+ 559, 559, 559, 559, 559, 0, 0, 0, 0, 555,
+ 0, 0, 0, 0, 0, 0, 559, 0, 559, 0,
+ 559, 0, 559, 559, 559, 0, 0, 0, 0, 0,
+ 559, 559, 559, 559, 0, 0, 0, 559, 559, 0,
+ 561, 0, 559, 559, 559, 559, 559, 559, 559, 559,
+ 0, 0, 0, 0, 0, 560, 0, 0, 0, 0,
+ 560, 559, 560, 560, 560, 560, 560, 560, 560, 560,
+ 560, 560, 560, 0, 0, 0, 0, 559, 0, 0,
+ 0, 0, 0, 0, 560, 0, 560, 0, 560, 0,
+ 560, 560, 560, 0, 0, 0, 0, 0, 560, 560,
+ 560, 560, 0, 0, 0, 560, 560, 0, 562, 0,
+ 560, 560, 560, 560, 560, 560, 560, 560, 0, 0,
+ 0, 0, 0, 561, 0, 0, 0, 0, 561, 560,
+ 561, 561, 561, 561, 561, 561, 561, 561, 561, 561,
+ 561, 0, 0, 0, 0, 560, 0, 0, 0, 0,
+ 0, 0, 561, 0, 561, 0, 561, 0, 561, 561,
+ 561, 0, 0, 0, 0, 0, 561, 561, 561, 561,
+ 0, 0, 0, 561, 561, 0, 563, 0, 561, 561,
+ 561, 561, 561, 561, 561, 561, 0, 0, 0, 0,
+ 0, 562, 0, 0, 0, 0, 562, 561, 562, 562,
+ 562, 562, 562, 562, 562, 562, 562, 562, 562, 0,
+ 0, 0, 0, 561, 0, 0, 0, 0, 0, 0,
+ 562, 0, 562, 0, 562, 0, 562, 562, 562, 0,
+ 0, 0, 0, 0, 562, 562, 562, 562, 0, 0,
+ 0, 562, 562, 0, 564, 0, 0, 0, 562, 562,
+ 562, 562, 562, 562, 0, 0, 0, 0, 0, 563,
+ 0, 0, 0, 0, 563, 562, 563, 563, 563, 563,
+ 563, 563, 563, 563, 563, 563, 563, 0, 0, 0,
+ 0, 562, 0, 0, 0, 0, 0, 0, 563, 0,
+ 563, 0, 563, 0, 563, 563, 563, 0, 0, 0,
+ 0, 0, 563, 563, 563, 563, 0, 0, 0, 563,
+ 563, 0, 565, 0, 0, 0, 563, 563, 563, 563,
+ 563, 563, 0, 0, 0, 0, 0, 564, 0, 0,
+ 0, 0, 564, 563, 564, 564, 564, 564, 564, 564,
+ 564, 564, 564, 564, 564, 0, 0, 0, 0, 563,
+ 0, 0, 0, 0, 0, 0, 564, 0, 564, 0,
+ 564, 0, 564, 564, 564, 0, 0, 0, 0, 0,
+ 564, 564, 564, 564, 0, 0, 0, 564, 564, 0,
+ 566, 0, 0, 0, 564, 564, 564, 564, 564, 564,
+ 0, 0, 0, 0, 0, 565, 0, 0, 0, 0,
+ 565, 564, 565, 565, 565, 565, 565, 565, 565, 565,
+ 565, 565, 565, 0, 0, 0, 0, 564, 0, 0,
+ 0, 0, 0, 0, 565, 0, 565, 0, 565, 0,
+ 565, 565, 565, 0, 0, 0, 0, 0, 565, 565,
+ 565, 565, 0, 0, 0, 565, 565, 0, 567, 0,
+ 0, 0, 565, 565, 565, 565, 565, 565, 0, 0,
+ 0, 0, 0, 566, 0, 0, 0, 0, 566, 565,
+ 566, 566, 566, 566, 566, 566, 566, 566, 566, 566,
+ 566, 0, 0, 0, 0, 565, 0, 0, 0, 0,
+ 0, 0, 566, 0, 566, 0, 566, 0, 566, 566,
+ 566, 0, 0, 0, 0, 0, 566, 566, 566, 566,
+ 0, 0, 0, 566, 566, 0, 568, 0, 0, 0,
+ 566, 566, 566, 566, 566, 566, 0, 0, 0, 0,
+ 0, 567, 0, 0, 0, 0, 567, 566, 567, 567,
+ 567, 567, 567, 567, 567, 567, 567, 567, 567, 0,
+ 0, 0, 0, 566, 0, 0, 0, 0, 0, 0,
+ 567, 0, 567, 0, 567, 0, 567, 567, 567, 0,
+ 0, 0, 0, 0, 0, 0, 567, 567, 0, 0,
+ 0, 567, 567, 0, 569, 0, 0, 0, 0, 0,
+ 567, 567, 567, 567, 0, 0, 0, 0, 0, 568,
+ 0, 0, 0, 0, 568, 567, 568, 568, 568, 568,
+ 568, 568, 568, 568, 568, 568, 568, 0, 0, 0,
+ 0, 567, 0, 0, 0, 0, 0, 0, 568, 0,
+ 568, 0, 568, 0, 568, 568, 568, 0, 0, 0,
+ 0, 0, 0, 0, 568, 568, 0, 0, 0, 568,
+ 568, 0, 570, 0, 0, 0, 0, 0, 568, 568,
+ 568, 568, 0, 0, 0, 0, 0, 569, 0, 0,
+ 0, 0, 569, 568, 569, 569, 569, 569, 569, 569,
+ 569, 569, 569, 569, 569, 0, 0, 0, 0, 568,
+ 0, 0, 0, 0, 0, 0, 569, 0, 569, 0,
+ 569, 0, 569, 569, 569, 0, 0, 0, 0, 0,
+ 0, 0, 569, 569, 0, 0, 0, 569, 569, 0,
+ 571, 0, 0, 0, 0, 0, 569, 569, 569, 569,
+ 0, 0, 0, 0, 0, 570, 0, 0, 0, 0,
+ 570, 569, 570, 570, 570, 570, 570, 570, 570, 570,
+ 570, 570, 570, 0, 0, 0, 0, 569, 0, 0,
+ 0, 0, 0, 0, 570, 0, 570, 0, 570, 0,
+ 570, 570, 570, 0, 0, 0, 0, 0, 0, 0,
+ 570, 570, 0, 0, 0, 570, 570, 0, 572, 0,
+ 0, 0, 0, 0, 0, 0, 570, 570, 0, 0,
+ 0, 0, 0, 571, 0, 0, 0, 0, 571, 570,
+ 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
+ 571, 0, 0, 0, 0, 570, 0, 0, 0, 0,
+ 0, 0, 571, 0, 571, 0, 571, 0, 571, 571,
+ 571, 0, 0, 0, 0, 0, 0, 0, 571, 571,
+ 0, 0, 0, 571, 571, 0, 573, 0, 0, 0,
+ 0, 0, 0, 0, 571, 571, 0, 0, 0, 0,
+ 0, 572, 0, 0, 0, 0, 572, 571, 572, 572,
+ 572, 572, 572, 572, 572, 572, 572, 572, 572, 0,
+ 0, 0, 0, 571, 0, 0, 0, 0, 0, 0,
+ 572, 0, 572, 0, 572, 0, 572, 572, 572, 0,
+ 0, 0, 0, 0, 0, 0, 0, 572, 0, 0,
+ 0, 572, 572, 0, 574, 0, 0, 0, 0, 0,
+ 0, 0, 572, 572, 0, 0, 0, 0, 0, 573,
+ 0, 0, 0, 0, 573, 572, 573, 573, 573, 573,
+ 573, 573, 573, 573, 573, 573, 573, 0, 0, 0,
+ 0, 572, 0, 0, 0, 0, 0, 0, 573, 0,
+ 573, 0, 573, 0, 573, 573, 573, 0, 0, 0,
+ 0, 0, 0, 0, 0, 573, 0, 0, 0, 573,
+ 573, 0, 575, 0, 0, 0, 0, 0, 0, 0,
+ 573, 573, 0, 0, 0, 0, 0, 574, 0, 0,
+ 0, 0, 574, 573, 574, 574, 574, 574, 574, 574,
+ 574, 574, 574, 574, 574, 0, 0, 0, 0, 573,
+ 0, 0, 0, 0, 0, 0, 574, 0, 574, 0,
+ 574, 0, 574, 574, 574, 0, 0, 0, 0, 0,
+ 0, 0, 0, 574, 0, 0, 0, 0, 574, 0,
+ 576, 0, 0, 0, 0, 0, 0, 0, 574, 574,
+ 0, 0, 0, 0, 0, 575, 0, 0, 0, 0,
+ 575, 574, 575, 575, 575, 575, 575, 575, 575, 575,
+ 575, 575, 575, 0, 0, 0, 0, 574, 0, 0,
+ 0, 0, 0, 0, 575, 0, 575, 0, 575, 0,
+ 575, 575, 575, 0, 0, 0, 0, 0, 0, 0,
+ 0, 575, 0, 0, 0, 0, 575, 0, 577, 0,
+ 0, 0, 0, 0, 0, 0, 575, 575, 0, 0,
+ 0, 0, 0, 576, 0, 0, 0, 0, 576, 575,
+ 576, 576, 576, 576, 576, 576, 576, 576, 576, 576,
+ 576, 0, 0, 0, 0, 575, 0, 0, 0, 0,
+ 0, 0, 576, 0, 576, 0, 576, 0, 576, 576,
+ 576, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 576, 0, 578, 0, 0, 0,
+ 0, 0, 0, 0, 576, 576, 0, 0, 0, 0,
+ 0, 577, 0, 0, 0, 0, 577, 576, 577, 577,
+ 577, 577, 577, 577, 577, 577, 577, 577, 577, 0,
+ 0, 0, 0, 576, 0, 0, 0, 0, 0, 0,
+ 577, 0, 577, 0, 577, 0, 577, 577, 577, 0,
+ 0, 0, 579, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 577, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 577, 577, 0, 0, 0, 0, 0, 578,
+ 0, 0, 0, 0, 578, 577, 578, 578, 578, 578,
+ 578, 578, 578, 578, 578, 578, 578, 0, 0, 0,
+ 0, 577, 0, 0, 0, 0, 0, 0, 578, 0,
+ 578, 0, 578, 0, 578, 578, 578, 0, 0, 0,
+ 0, 331, 0, 0, 0, 737, 0, 0, 0, 0,
+ 578, 0, 0, 0, 0, 579, 0, 0, 0, 0,
+ 579, 578, 579, 579, 579, 579, 579, 579, 579, 579,
+ 579, 579, 579, 578, 0, 0, 0, 331, 0, 0,
+ 0, 0, 0, 0, 579, 0, 579, 0, 579, 578,
+ 579, 579, 579, 737, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 579, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 579, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 579,
+ 0, 0, 0, 0, 0, 0, 331, 0, 0, 0,
+ 0, 0, 331, 0, 0, 579, 0, 0, 331, 0,
+ 331, 0, 331, 0, 737, 331, 0, 331, 331, 0,
+ 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
+ 0, 331, 331, 331, 331, 331, 331, 331, 331, 331,
+ 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
+ 331, 331, 331, 0, 0, 56, 0, 331, 0, 331,
+ 0, 0, 331, 57, 25, 58, 26, 0, 331, 27,
+ 59, 0, 60, 61, 28, 62, 63, 64, 29, 0,
+ 0, 0, 0, 0, 65, 0, 66, 31, 67, 68,
+ 69, 70, 0, 0, 33, 0, 0, 0, 71, 34,
+ 0, 72, 73, 35, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 74, 0, 37, 0, 38, 75, 0,
+ 0, 39, 0, 76, 77, 78, 79, 80, 81, 40,
+ 41, 82, 83, 42, 84, 0, 85, 0, 0, 86,
+ 87, 0, 0, 88, 89, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 90, 91,
+ 92, 93, 94, 0, 0, 0, 95, 0, 0, 0,
+ 96, 0, 0, 0, 0, 97, 98, 99, 100, 101,
+ 0, 0, 0, 102, 0, 103, 0, 0, 0, 0,
+ 0, 104, 105, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 267, 0, 0, 0, 106, 107, 108, 109,
+ 57, 25, 58, 26, 0, 0, 27, 59, 0, 60,
61, 28, 62, 63, 64, 29, 0, 0, 0, 0,
0, 65, 0, 66, 31, 67, 68, 69, 70, 0,
0, 33, 0, 0, 0, 71, 34, 0, 72, 73,
- 35, 0, 0, 0, 581, 0, 0, 0, 0, 0,
+ 35, 0, 0, 0, 0, 0, 0, 0, 0, 0,
74, 0, 37, 0, 38, 75, 0, 0, 39, 0,
76, 77, 78, 79, 80, 81, 40, 41, 82, 83,
42, 84, 0, 85, 0, 0, 86, 87, 0, 0,
@@ -10309,7 +10346,7 @@ void case_950()
0, 0, 97, 98, 99, 100, 101, 0, 0, 0,
102, 0, 103, 0, 0, 0, 0, 0, 104, 105,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 267,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 550,
0, 0, 0, 106, 107, 108, 109, 57, 25, 58,
26, 0, 0, 27, 59, 0, 60, 61, 28, 62,
63, 64, 29, 0, 0, 0, 0, 0, 65, 0,
@@ -10325,1038 +10362,1008 @@ void case_950()
98, 99, 100, 101, 0, 0, 0, 102, 0, 103,
0, 0, 0, 0, 0, 104, 105, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 550, 0, 0, 0,
- 106, 107, 108, 109, 57, 25, 58, 26, 0, 0,
- 27, 59, 0, 60, 61, 28, 62, 63, 64, 29,
- 0, 0, 0, 0, 0, 65, 0, 66, 31, 67,
- 68, 69, 70, 0, 0, 33, 0, 0, 0, 71,
- 34, 0, 72, 73, 35, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 74, 0, 37, 0, 38, 75,
- 0, 0, 39, 0, 76, 77, 78, 79, 80, 81,
- 40, 41, 82, 83, 42, 84, 0, 85, 0, 0,
- 86, 87, 0, 0, 88, 89, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 90,
- 91, 92, 93, 94, 0, 0, 0, 95, 0, 0,
- 0, 96, 0, 0, 0, 0, 97, 98, 99, 100,
- 101, 0, 0, 0, 102, 0, 103, 0, 0, 0,
- 0, 0, 104, 105, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 922, 0, 0, 0, 106, 107, 108,
- 109, 922, 922, 922, 922, 0, 0, 922, 922, 0,
- 922, 922, 922, 922, 922, 922, 922, 0, 0, 0,
- 0, 0, 922, 0, 922, 922, 922, 922, 922, 922,
- 0, 0, 922, 0, 0, 0, 922, 922, 0, 922,
- 922, 922, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 922, 0, 922, 0, 922, 922, 0, 0, 922,
- 0, 922, 922, 922, 922, 922, 922, 922, 922, 922,
- 922, 922, 922, 0, 922, 0, 0, 922, 922, 0,
- 0, 922, 922, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 922, 922, 922, 922,
- 922, 0, 0, 0, 922, 0, 0, 0, 922, 0,
- 0, 0, 0, 922, 922, 922, 922, 922, 0, 0,
- 0, 922, 0, 922, 0, 0, 0, 0, 0, 922,
- 922, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 783, 0, 0, 0, 922, 922, 922, 922, 783, 783,
- 783, 783, 0, 0, 783, 783, 0, 783, 783, 783,
- 783, 783, 783, 783, 0, 0, 0, 0, 0, 783,
- 0, 783, 783, 783, 783, 783, 783, 0, 0, 783,
- 0, 0, 0, 783, 783, 0, 783, 783, 783, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 783, 0,
- 783, 0, 783, 783, 0, 0, 783, 0, 783, 783,
- 783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
- 0, 783, 0, 0, 783, 783, 0, 0, 783, 783,
+ 0, 0, 0, 0, 0, 0, 924, 0, 0, 0,
+ 106, 551, 108, 109, 924, 924, 924, 924, 0, 0,
+ 924, 924, 0, 924, 924, 924, 924, 924, 924, 924,
+ 0, 0, 0, 0, 0, 924, 0, 924, 924, 924,
+ 924, 924, 924, 0, 0, 924, 0, 0, 0, 924,
+ 924, 0, 924, 924, 924, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 924, 0, 924, 0, 924, 924,
+ 0, 0, 924, 0, 924, 924, 924, 924, 924, 924,
+ 924, 924, 924, 924, 924, 924, 0, 924, 0, 0,
+ 924, 924, 0, 0, 924, 924, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 924,
+ 924, 924, 924, 924, 0, 0, 0, 924, 0, 0,
+ 0, 924, 0, 0, 0, 0, 924, 924, 924, 924,
+ 924, 0, 0, 0, 924, 0, 924, 0, 0, 0,
+ 0, 0, 924, 924, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 783, 0, 0, 0, 924, 924, 924,
+ 924, 783, 783, 783, 783, 0, 0, 783, 783, 0,
+ 783, 783, 783, 783, 783, 783, 783, 0, 0, 0,
+ 0, 0, 783, 0, 783, 783, 783, 783, 783, 783,
+ 0, 0, 783, 0, 0, 0, 783, 783, 0, 783,
+ 783, 783, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 783, 0, 783, 0, 783, 783, 0, 0, 783,
+ 0, 783, 783, 783, 783, 783, 783, 783, 783, 783,
+ 783, 783, 783, 0, 783, 0, 0, 783, 783, 0,
+ 0, 783, 783, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 783, 783, 783, 783,
+ 783, 0, 0, 0, 783, 0, 0, 0, 783, 0,
0, 0, 0, 783, 783, 783, 783, 783, 0, 0,
- 0, 783, 0, 0, 0, 783, 0, 0, 0, 0,
- 783, 783, 783, 783, 783, 0, 0, 0, 783, 0,
- 783, 0, 0, 0, 0, 0, 783, 783, 0, 0,
+ 0, 783, 0, 783, 0, 0, 0, 0, 0, 783,
+ 783, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 729, 0, 0,
- 0, 783, 783, 783, 783, 57, 25, 0, 26, 0,
- 0, 27, 255, 0, 0, 0, 28, 62, 63, 0,
+ 730, 0, 0, 0, 783, 783, 783, 783, 57, 25,
+ 0, 26, 0, 0, 27, 255, 0, 0, 0, 28,
+ 62, 63, 0, 29, 0, 0, 172, 0, 172, 65,
+ 0, 172, 31, 0, 0, 0, 172, 0, 0, 33,
+ 172, 0, 0, 0, 34, 0, 72, 73, 35, 172,
+ 0, 0, 0, 0, 0, 0, 172, 0, 0, 0,
+ 37, 172, 38, 75, 0, 172, 39, 0, 0, 77,
+ 0, 79, 0, 81, 40, 41, 256, 172, 42, 172,
+ 0, 0, 0, 172, 0, 87, 0, 0, 88, 89,
+ 0, 172, 172, 0, 0, 172, 0, 0, 172, 0,
+ 0, 0, 0, 90, 91, 92, 93, 302, 0, 0,
+ 0, 512, 731, 0, 0, 96, 0, 0, 0, 0,
+ 0, 98, 99, 100, 101, 0, 0, 0, 102, 0,
+ 103, 0, 0, 948, 0, 0, 104, 105, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 914, 0, 0,
+ 0, 106, 303, 108, 109, 57, 25, 0, 26, 0,
+ 0, 27, 255, 0, 0, 0, 28, 62, 63, 172,
29, 0, 0, 172, 0, 172, 65, 0, 172, 31,
0, 0, 0, 172, 0, 0, 33, 172, 0, 0,
0, 34, 0, 72, 73, 35, 172, 0, 0, 0,
0, 0, 0, 172, 0, 0, 0, 37, 172, 38,
- 75, 0, 172, 39, 0, 0, 77, 0, 79, 0,
+ 75, 915, 172, 39, 0, 0, 77, 0, 79, 0,
81, 40, 41, 256, 172, 42, 172, 0, 0, 0,
172, 0, 87, 0, 0, 88, 89, 0, 172, 172,
0, 0, 172, 0, 0, 172, 0, 0, 0, 0,
- 90, 91, 92, 93, 302, 0, 0, 0, 512, 730,
+ 90, 91, 92, 93, 302, 0, 0, 0, 512, 0,
0, 0, 96, 0, 0, 0, 0, 0, 98, 99,
- 100, 101, 0, 0, 0, 102, 0, 103, 0, 0,
- 946, 0, 0, 104, 105, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 912, 0, 0, 0, 106, 303,
- 108, 109, 57, 25, 0, 26, 0, 0, 27, 255,
- 0, 0, 0, 28, 62, 63, 172, 29, 0, 0,
- 172, 0, 172, 65, 0, 172, 31, 0, 0, 0,
- 172, 0, 0, 33, 172, 0, 0, 0, 34, 0,
- 72, 73, 35, 172, 0, 0, 0, 0, 0, 0,
- 172, 0, 0, 0, 37, 172, 38, 75, 913, 172,
- 39, 0, 0, 77, 0, 79, 0, 81, 40, 41,
- 256, 172, 42, 172, 0, 0, 0, 172, 0, 87,
- 0, 0, 88, 89, 0, 172, 172, 0, 0, 172,
- 0, 0, 172, 0, 0, 0, 0, 90, 91, 92,
- 93, 302, 0, 0, 0, 512, 0, 0, 0, 96,
- 0, 0, 0, 0, 0, 98, 99, 100, 101, 0,
- 0, 0, 102, 0, 103, 946, 0, 0, 0, 0,
- 104, 105, 0, 0, 0, 0, 0, 0, 57, 25,
- 0, 26, 0, 0, 27, 255, 0, 0, 0, 28,
- 62, 63, 0, 29, 0, 106, 303, 108, 109, 65,
- 0, 0, 31, 0, 0, 0, 0, 0, 0, 33,
- 0, 0, 0, 172, 34, 0, 72, 73, 35, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 37, 0, 38, 75, 0, 0, 39, 0, 0, 77,
- 0, 79, 0, 81, 40, 41, 256, 0, 42, 0,
- 0, 0, 0, 0, 0, 87, 0, 0, 88, 89,
+ 100, 101, 0, 0, 0, 102, 0, 103, 948, 0,
+ 0, 0, 0, 104, 105, 0, 0, 0, 0, 0,
+ 0, 57, 25, 0, 26, 0, 0, 27, 255, 0,
+ 0, 0, 28, 62, 63, 0, 29, 0, 106, 303,
+ 108, 109, 65, 0, 0, 31, 0, 0, 0, 0,
+ 0, 0, 33, 0, 0, 0, 172, 34, 0, 72,
+ 73, 35, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 37, 0, 38, 75, 0, 0, 39,
+ 0, 0, 77, 0, 79, 0, 81, 40, 41, 256,
+ 0, 42, 0, 0, 0, 0, 0, 0, 87, 0,
+ 0, 88, 89, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 90, 91, 92, 93,
+ 302, 0, 0, 0, 717, 983, 0, 0, 96, 0,
+ 0, 0, 0, 0, 98, 99, 100, 101, 0, 0,
+ 0, 102, 0, 103, 0, 0, 0, 0, 0, 104,
+ 105, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 90, 91, 92, 93, 302, 0, 0,
- 0, 716, 982, 0, 0, 96, 0, 0, 0, 0,
- 0, 98, 99, 100, 101, 0, 0, 0, 102, 0,
- 103, 0, 0, 0, 0, 0, 104, 105, 0, 0,
+ 0, 0, 730, 0, 106, 718, 108, 109, 0, 0,
+ 57, 25, 0, 26, 0, 719, 27, 255, 0, 0,
+ 0, 28, 62, 63, 0, 29, 0, 0, 25, 0,
+ 26, 65, 0, 27, 31, 0, 0, 0, 28, 0,
+ 0, 33, 29, 0, 0, 0, 34, 0, 72, 73,
+ 35, 31, 0, 0, 0, 0, 0, 0, 33, 0,
+ 0, 0, 37, 34, 38, 75, 915, 35, 39, 0,
+ 0, 77, 0, 79, 0, 81, 40, 41, 256, 37,
+ 42, 38, 0, 0, 0, 39, 0, 87, 0, 0,
+ 88, 89, 0, 40, 41, 0, 0, 42, 0, 0,
+ 321, 0, 0, 0, 0, 90, 91, 92, 93, 302,
+ 0, 0, 0, 512, 0, 0, 0, 96, 0, 0,
+ 0, 0, 0, 98, 99, 100, 101, 0, 0, 0,
+ 102, 0, 103, 0, 0, 0, 0, 0, 104, 105,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 729,
- 0, 106, 717, 108, 109, 0, 0, 57, 25, 0,
- 26, 0, 718, 27, 255, 0, 0, 0, 28, 62,
- 63, 0, 29, 0, 0, 25, 0, 26, 65, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 700,
+ 0, 0, 0, 106, 303, 108, 109, 57, 25, 0,
+ 26, 0, 0, 27, 255, 0, 0, 0, 28, 62,
+ 63, 354, 29, 0, 0, 25, 0, 26, 65, 0,
27, 31, 0, 0, 0, 28, 0, 0, 33, 29,
0, 0, 0, 34, 0, 72, 73, 35, 31, 0,
0, 0, 0, 0, 0, 33, 0, 0, 0, 37,
- 34, 38, 75, 913, 35, 39, 0, 0, 77, 0,
+ 34, 38, 75, 0, 35, 39, 0, 0, 77, 0,
79, 0, 81, 40, 41, 256, 37, 42, 38, 0,
- 0, 0, 39, 0, 87, 0, 0, 88, 89, 0,
- 40, 41, 0, 0, 42, 0, 0, 321, 0, 0,
+ 85, 0, 39, 0, 87, 0, 0, 88, 89, 0,
+ 40, 41, 0, 0, 42, 0, 0, 514, 0, 0,
0, 0, 90, 91, 92, 93, 302, 0, 0, 0,
- 512, 0, 0, 0, 96, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 96, 0, 0, 0, 0, 0,
98, 99, 100, 101, 0, 0, 0, 102, 0, 103,
0, 0, 0, 0, 0, 104, 105, 0, 0, 0,
+ 0, 0, 0, 57, 25, 0, 26, 0, 0, 27,
+ 255, 0, 0, 0, 28, 62, 63, 0, 29, 0,
+ 106, 303, 108, 109, 65, 0, 0, 31, 0, 0,
+ 0, 0, 0, 0, 33, 0, 0, 0, 354, 34,
+ 0, 72, 73, 35, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 37, 0, 38, 75, 0,
+ 0, 39, 0, 0, 77, 0, 79, 0, 81, 40,
+ 41, 256, 0, 42, 0, 0, 0, 0, 0, 0,
+ 87, 0, 0, 88, 89, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 90, 91,
+ 92, 93, 302, 0, 0, 0, 717, 0, 0, 0,
+ 96, 0, 0, 0, 0, 0, 98, 99, 100, 101,
+ 0, 0, 0, 102, 0, 103, 0, 0, 0, 0,
+ 0, 104, 105, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 699, 0, 0, 0,
- 106, 303, 108, 109, 57, 25, 0, 26, 0, 0,
- 27, 255, 0, 0, 0, 28, 62, 63, 354, 29,
- 0, 0, 25, 0, 26, 65, 0, 27, 31, 0,
- 0, 0, 28, 0, 0, 33, 29, 0, 0, 0,
- 34, 0, 72, 73, 35, 31, 0, 0, 0, 0,
- 0, 0, 33, 0, 0, 0, 37, 34, 38, 75,
- 0, 35, 39, 0, 0, 77, 0, 79, 0, 81,
- 40, 41, 256, 37, 42, 38, 0, 85, 0, 39,
- 0, 87, 0, 0, 88, 89, 0, 40, 41, 0,
- 0, 42, 0, 0, 514, 0, 0, 0, 0, 90,
- 91, 92, 93, 302, 0, 0, 0, 0, 0, 0,
- 0, 96, 0, 0, 0, 0, 0, 98, 99, 100,
- 101, 0, 0, 0, 102, 0, 103, 0, 0, 0,
- 0, 0, 104, 105, 0, 0, 0, 0, 0, 0,
- 57, 25, 0, 26, 0, 0, 27, 255, 0, 0,
- 0, 28, 62, 63, 0, 29, 0, 106, 303, 108,
- 109, 65, 0, 0, 31, 0, 0, 0, 0, 0,
- 0, 33, 0, 0, 0, 354, 34, 0, 72, 73,
- 35, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 37, 0, 38, 75, 0, 0, 39, 0,
- 0, 77, 0, 79, 0, 81, 40, 41, 256, 0,
- 42, 0, 0, 0, 0, 0, 0, 87, 0, 0,
- 88, 89, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 90, 91, 92, 93, 302,
- 0, 0, 0, 716, 0, 0, 0, 96, 0, 0,
- 0, 0, 0, 98, 99, 100, 101, 0, 0, 0,
- 102, 0, 103, 0, 0, 0, 0, 0, 104, 105,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 730, 0, 106, 718, 108, 109,
+ 0, 0, 57, 25, 0, 26, 0, 719, 27, 255,
+ 0, 0, 0, 28, 62, 63, 0, 29, 0, 0,
+ 25, 0, 26, 65, 0, 27, 31, 0, 0, 0,
+ 28, 0, 0, 33, 29, 0, 0, 0, 34, 0,
+ 72, 73, 35, 31, 0, 0, 0, 0, 0, 0,
+ 33, 0, 0, 0, 37, 34, 38, 75, 0, 35,
+ 39, 0, 0, 77, 0, 79, 0, 81, 40, 41,
+ 256, 37, 42, 38, 0, 0, 0, 39, 0, 87,
+ 0, 0, 88, 89, 0, 40, 41, 0, 0, 42,
+ 0, 0, 567, 0, 0, 0, 0, 90, 91, 92,
+ 93, 302, 0, 0, 0, 512, 0, 0, 0, 96,
+ 0, 0, 0, 0, 0, 98, 99, 100, 101, 0,
+ 0, 0, 102, 0, 103, 0, 0, 0, 0, 0,
+ 104, 105, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 729, 0, 106, 717, 108, 109, 0, 0, 57,
- 25, 0, 26, 0, 718, 27, 255, 0, 0, 0,
- 28, 62, 63, 0, 29, 0, 0, 25, 0, 26,
+ 0, 585, 0, 0, 0, 106, 303, 108, 109, 57,
+ 25, 0, 26, 0, 0, 27, 255, 0, 0, 0,
+ 28, 62, 63, 354, 29, 0, 0, 25, 0, 26,
65, 0, 27, 31, 0, 0, 0, 28, 0, 0,
33, 29, 0, 0, 0, 34, 0, 72, 73, 35,
31, 0, 0, 0, 0, 0, 0, 33, 0, 0,
0, 37, 34, 38, 75, 0, 35, 39, 0, 0,
77, 0, 79, 0, 81, 40, 41, 256, 37, 42,
38, 0, 0, 0, 39, 0, 87, 0, 0, 88,
- 89, 0, 40, 41, 0, 0, 42, 0, 0, 566,
- 0, 0, 0, 0, 90, 91, 92, 93, 302, 0,
- 0, 0, 512, 0, 0, 0, 96, 0, 0, 0,
+ 89, 0, 40, 41, 0, 0, 42, 0, 0, 744,
+ 0, 0, 0, 0, 90, 91, 92, 93, 94, 0,
+ 0, 0, 0, 0, 0, 0, 96, 0, 0, 0,
0, 0, 98, 99, 100, 101, 0, 0, 0, 102,
0, 103, 0, 0, 0, 0, 0, 104, 105, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 584, 0,
- 0, 0, 106, 303, 108, 109, 57, 25, 0, 26,
+ 0, 0, 0, 0, 0, 0, 0, 0, 902, 0,
+ 0, 0, 106, 107, 108, 109, 57, 25, 0, 26,
0, 0, 27, 255, 0, 0, 0, 28, 62, 63,
- 354, 29, 0, 0, 25, 0, 26, 65, 0, 27,
- 31, 0, 0, 0, 28, 0, 0, 33, 29, 0,
- 0, 0, 34, 0, 72, 73, 35, 31, 0, 0,
- 0, 0, 0, 0, 33, 0, 0, 0, 37, 34,
- 38, 75, 0, 35, 39, 0, 0, 77, 0, 79,
- 0, 81, 40, 41, 256, 37, 42, 38, 0, 0,
- 0, 39, 0, 87, 0, 0, 88, 89, 0, 40,
- 41, 0, 0, 42, 0, 0, 743, 0, 0, 0,
- 0, 90, 91, 92, 93, 94, 0, 0, 0, 0,
+ 354, 29, 0, 0, 485, 0, 485, 65, 0, 485,
+ 31, 0, 0, 0, 485, 0, 0, 33, 485, 0,
+ 0, 0, 34, 0, 72, 73, 35, 485, 0, 0,
+ 0, 0, 0, 0, 485, 0, 0, 0, 37, 485,
+ 38, 75, 0, 485, 39, 0, 0, 77, 0, 79,
+ 0, 81, 40, 41, 256, 485, 42, 485, 0, 0,
+ 0, 485, 0, 87, 0, 0, 88, 89, 0, 485,
+ 485, 0, 0, 485, 0, 0, 485, 0, 0, 0,
+ 0, 90, 91, 92, 93, 302, 0, 0, 0, 0,
0, 0, 0, 96, 0, 0, 0, 0, 0, 98,
99, 100, 101, 0, 0, 0, 102, 0, 103, 0,
0, 0, 0, 0, 104, 105, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 900, 0, 0, 0, 106,
- 107, 108, 109, 57, 25, 0, 26, 0, 0, 27,
- 255, 0, 0, 0, 28, 62, 63, 354, 29, 0,
- 0, 486, 0, 486, 65, 0, 486, 31, 0, 0,
- 0, 486, 0, 0, 33, 486, 0, 0, 0, 34,
- 0, 72, 73, 35, 486, 0, 0, 0, 0, 0,
- 0, 486, 0, 0, 0, 37, 486, 38, 75, 0,
- 486, 39, 0, 0, 77, 0, 79, 0, 81, 40,
- 41, 256, 486, 42, 486, 0, 0, 0, 486, 0,
- 87, 0, 0, 88, 89, 0, 486, 486, 0, 0,
- 486, 0, 0, 486, 0, 0, 0, 0, 90, 91,
- 92, 93, 302, 0, 0, 0, 0, 0, 0, 0,
- 96, 0, 0, 0, 0, 0, 98, 99, 100, 101,
- 0, 0, 0, 102, 0, 103, 0, 0, 0, 0,
- 0, 104, 105, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 971, 0, 0, 0, 106, 303, 108, 109,
+ 0, 0, 0, 0, 0, 604, 0, 0, 0, 106,
+ 303, 108, 109, 604, 604, 0, 604, 0, 0, 604,
+ 604, 0, 0, 0, 604, 604, 604, 485, 604, 0,
+ 0, 173, 0, 173, 604, 0, 173, 604, 0, 0,
+ 0, 173, 0, 0, 604, 173, 0, 0, 0, 604,
+ 0, 604, 604, 604, 173, 0, 0, 0, 0, 0,
+ 0, 173, 0, 0, 0, 604, 173, 604, 604, 0,
+ 173, 604, 0, 0, 604, 0, 604, 0, 604, 604,
+ 604, 604, 173, 604, 173, 0, 0, 0, 173, 0,
+ 604, 0, 0, 604, 604, 0, 173, 173, 0, 0,
+ 173, 0, 0, 173, 0, 0, 0, 0, 604, 604,
+ 604, 604, 604, 0, 0, 0, 0, 0, 0, 0,
+ 604, 0, 0, 0, 0, 0, 604, 604, 604, 604,
+ 0, 0, 0, 604, 0, 604, 0, 0, 0, 0,
+ 0, 604, 604, 0, 0, 0, 0, 0, 0, 0,
+ 203, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 495, 0, 0, 0, 604, 604, 604, 604,
57, 25, 0, 26, 0, 0, 27, 255, 0, 0,
- 0, 28, 62, 63, 486, 29, 0, 0, 173, 0,
- 173, 65, 0, 173, 31, 0, 0, 0, 173, 0,
- 0, 33, 173, 0, 0, 0, 34, 0, 72, 73,
- 35, 173, 0, 0, 0, 0, 0, 0, 173, 0,
- 0, 0, 37, 173, 38, 75, 0, 173, 39, 0,
- 0, 77, 0, 79, 0, 81, 40, 41, 256, 173,
- 42, 173, 0, 0, 0, 173, 0, 87, 0, 0,
- 88, 89, 0, 173, 173, 0, 0, 173, 0, 0,
- 173, 0, 0, 0, 0, 90, 91, 92, 93, 302,
+ 0, 28, 62, 63, 173, 29, 0, 0, 0, 0,
+ 0, 65, 204, 0, 31, 0, 0, 0, 0, 0,
+ 0, 33, 0, 0, 0, 331, 34, 0, 72, 73,
+ 35, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 37, 0, 38, 75, 0, 0, 39, 0,
+ 0, 77, 0, 79, 0, 81, 40, 41, 256, 0,
+ 42, 331, 205, 206, 207, 208, 0, 209, 210, 211,
+ 212, 213, 214, 215, 216, 0, 0, 217, 218, 219,
+ 220, 221, 222, 223, 224, 90, 91, 92, 257, 0,
0, 0, 0, 0, 0, 0, 0, 96, 0, 0,
- 0, 0, 0, 98, 99, 100, 101, 0, 0, 0,
- 102, 0, 103, 0, 0, 0, 0, 0, 104, 105,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 605,
- 0, 0, 0, 106, 303, 108, 109, 605, 605, 0,
- 605, 0, 0, 605, 605, 0, 0, 0, 605, 605,
- 605, 173, 605, 0, 0, 172, 0, 172, 605, 0,
- 172, 605, 0, 0, 0, 172, 0, 0, 605, 172,
- 0, 0, 0, 605, 0, 605, 605, 605, 172, 0,
- 0, 0, 0, 0, 0, 172, 0, 0, 0, 605,
- 172, 605, 605, 0, 172, 605, 0, 0, 605, 0,
- 605, 0, 605, 605, 605, 605, 172, 605, 172, 0,
- 0, 0, 172, 0, 605, 0, 0, 605, 605, 0,
- 172, 172, 0, 0, 172, 0, 0, 172, 0, 0,
- 0, 0, 605, 605, 605, 605, 605, 0, 0, 0,
- 0, 0, 0, 0, 605, 0, 0, 0, 0, 0,
- 605, 605, 605, 605, 0, 0, 0, 605, 0, 605,
- 0, 0, 0, 0, 0, 605, 605, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 495, 0, 0, 0,
- 605, 605, 605, 605, 57, 25, 0, 26, 0, 0,
- 27, 255, 0, 0, 0, 28, 62, 63, 172, 29,
- 0, 0, 0, 0, 0, 65, 0, 0, 31, 0,
- 0, 0, 0, 0, 0, 33, 0, 450, 0, 332,
- 34, 0, 72, 73, 35, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 37, 0, 38, 75,
- 451, 0, 39, 0, 0, 77, 0, 79, 0, 81,
- 40, 41, 256, 452, 42, 332, 0, 0, 454, 0,
- 0, 0, 0, 455, 0, 456, 457, 458, 459, 0,
- 0, 0, 0, 460, 0, 0, 0, 461, 0, 90,
- 91, 92, 257, 0, 0, 0, 0, 0, 0, 462,
- 0, 96, 463, 0, 464, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 465, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 332, 332,
- 332, 332, 737, 0, 0, 332, 332, 106, 496, 332,
- 332, 332, 332, 332, 332, 332, 332, 332, 0, 332,
- 332, 332, 332, 332, 332, 332, 332, 332, 332, 332,
- 332, 332, 332, 332, 332, 332, 332, 332, 332, 332,
- 332, 0, 48, 0, 1306, 0, 48, 332, 48, 0,
- 332, 48, 0, 48, 48, 0, 48, 0, 48, 0,
- 48, 0, 48, 48, 48, 48, 0, 0, 48, 48,
- 0, 0, 0, 0, 48, 0, 48, 48, 48, 0,
- 0, 48, 0, 48, 0, 48, 0, 0, 48, 0,
- 48, 48, 48, 48, 0, 0, 0, 48, 48, 48,
- 0, 0, 48, 48, 48, 0, 0, 0, 0, 0,
- 0, 48, 48, 0, 48, 48, 0, 48, 48, 48,
- 0, 0, 0, 48, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 331, 331, 331, 331, 737, 0,
+ 0, 331, 331, 106, 496, 331, 331, 331, 331, 331,
+ 331, 331, 331, 331, 0, 331, 331, 331, 331, 331,
+ 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
+ 331, 331, 331, 331, 331, 331, 331, 0, 48, 0,
+ 0, 0, 48, 331, 48, 0, 331, 48, 0, 48,
+ 48, 0, 48, 0, 48, 0, 48, 0, 48, 48,
+ 48, 48, 0, 0, 48, 48, 0, 0, 0, 0,
+ 48, 0, 48, 48, 48, 0, 0, 48, 0, 48,
+ 0, 48, 0, 0, 48, 0, 48, 48, 48, 48,
+ 0, 0, 0, 48, 48, 48, 0, 0, 48, 48,
+ 48, 0, 0, 0, 0, 0, 0, 48, 48, 0,
+ 48, 48, 0, 48, 48, 48, 0, 0, 0, 48,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 48, 0, 48, 0, 48, 0, 48, 0, 81,
- 48, 0, 48, 48, 0, 48, 0, 48, 48, 48,
- 0, 48, 48, 48, 48, 0, 0, 48, 48, 0,
- 0, 0, 0, 48, 0, 48, 48, 48, 0, 0,
- 48, 0, 48, 0, 48, 0, 0, 48, 0, 48,
- 48, 48, 48, 0, 0, 0, 48, 48, 48, 48,
- 0, 48, 48, 48, 0, 0, 0, 0, 0, 0,
- 48, 48, 0, 48, 48, 0, 48, 48, 48, 0,
- 0, 0, 48, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 48, 0, 48,
+ 0, 48, 0, 48, 0, 81, 48, 0, 48, 48,
+ 0, 48, 0, 48, 48, 48, 0, 48, 48, 48,
+ 48, 0, 0, 48, 48, 0, 0, 0, 0, 48,
+ 0, 48, 48, 48, 0, 0, 48, 0, 48, 0,
+ 48, 0, 0, 48, 0, 48, 48, 48, 48, 0,
+ 0, 0, 48, 48, 48, 48, 0, 48, 48, 48,
+ 0, 0, 0, 0, 0, 0, 48, 48, 0, 48,
+ 48, 0, 48, 48, 48, 0, 0, 0, 48, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 48, 0, 48, 0,
+ 48, 0, 48, 0, 82, 48, 0, 48, 48, 0,
+ 48, 0, 48, 48, 48, 0, 48, 48, 48, 48,
+ 0, 0, 48, 48, 0, 0, 0, 0, 48, 0,
+ 48, 48, 48, 0, 0, 48, 0, 48, 0, 48,
+ 0, 0, 48, 0, 48, 48, 48, 48, 0, 0,
+ 0, 48, 48, 48, 48, 0, 48, 48, 48, 0,
+ 0, 0, 0, 0, 0, 48, 48, 0, 48, 48,
+ 0, 48, 48, 48, 0, 0, 0, 48, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 48, 0, 48, 0, 48, 0, 48, 0, 82, 48,
- 0, 48, 48, 0, 48, 0, 48, 48, 48, 0,
+ 48, 0, 0, 0, 48, 0, 48, 48, 0, 48,
+ 0, 48, 48, 212, 48, 0, 48, 0, 48, 0,
48, 48, 48, 48, 0, 0, 48, 48, 0, 0,
0, 0, 48, 0, 48, 48, 48, 0, 0, 48,
- 0, 48, 0, 48, 0, 0, 48, 0, 48, 48,
- 48, 48, 0, 0, 0, 48, 48, 48, 48, 0,
- 48, 48, 48, 0, 0, 0, 0, 0, 0, 48,
- 48, 0, 48, 48, 0, 48, 48, 48, 0, 0,
- 0, 48, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 48, 0, 0, 0, 48, 0,
- 48, 48, 0, 48, 0, 48, 48, 212, 48, 0,
- 48, 0, 48, 0, 48, 48, 48, 48, 0, 0,
- 48, 48, 0, 0, 0, 0, 48, 0, 48, 48,
- 48, 0, 0, 48, 0, 48, 332, 48, 0, 0,
- 48, 0, 48, 48, 48, 48, 0, 0, 0, 48,
- 48, 48, 0, 0, 48, 48, 48, 48, 0, 332,
- 0, 0, 0, 48, 48, 0, 48, 48, 0, 48,
- 48, 48, 332, 0, 0, 48, 0, 332, 0, 0,
- 332, 0, 332, 0, 332, 332, 332, 332, 0, 0,
- 0, 0, 332, 0, 0, 48, 332, 0, 0, 0,
- 332, 213, 0, 0, 0, 0, 0, 0, 332, 0,
- 0, 332, 0, 332, 57, 25, 0, 26, 0, 0,
- 27, 255, 0, 0, 0, 28, 62, 63, 0, 29,
- 0, 0, 332, 0, 0, 65, 0, 332, 31, 0,
- 0, 0, 0, 0, 332, 33, 263, 0, 332, 0,
- 34, 48, 72, 73, 35, 0, 586, 0, 0, 0,
- 0, 332, 0, 587, 0, 0, 37, 0, 38, 75,
- 0, 0, 39, 0, 0, 77, 0, 79, 0, 81,
- 40, 41, 256, 0, 42, 0, 0, 0, 0, 0,
- 0, 588, 0, 332, 88, 89, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 90,
- 91, 92, 93, 94, 0, 0, 0, 0, 0, 0,
- 0, 96, 907, 0, 589, 0, 0, 98, 99, 100,
- 101, 0, 0, 0, 102, 0, 103, 0, 0, 0,
- 0, 0, 104, 105, 0, 0, 0, 0, 0, 0,
- 57, 25, 0, 26, 0, 0, 27, 255, 0, 0,
- 0, 28, 62, 63, 0, 29, 0, 106, 107, 108,
- 109, 65, 0, 0, 31, 0, 0, 0, 0, 0,
- 0, 33, 0, 0, 0, 0, 34, 0, 72, 73,
- 35, 0, 586, 0, 0, 0, 0, 0, 0, 587,
- 0, 0, 37, 0, 38, 75, 0, 0, 39, 0,
- 0, 77, 0, 79, 0, 81, 40, 41, 256, 0,
- 42, 0, 0, 0, 0, 0, 0, 588, 0, 0,
- 88, 89, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 90, 91, 92, 93, 94,
- 0, 0, 0, 0, 0, 0, 0, 96, 0, 0,
- 589, 0, 0, 98, 99, 100, 101, 0, 0, 0,
- 102, 0, 103, 0, 0, 0, 0, 0, 104, 105,
- 0, 0, 0, 0, 0, 0, 57, 25, 0, 26,
- 0, 0, 27, 255, 0, 0, 0, 28, 62, 63,
- 0, 29, 0, 106, 107, 108, 109, 65, 0, 0,
- 31, 0, 0, 0, 0, 0, 0, 33, 0, 0,
- 0, 0, 34, 0, 72, 73, 35, 0, 586, 0,
- 0, 0, 0, 0, 0, 587, 0, 0, 37, 0,
- 38, 75, 0, 0, 39, 0, 0, 77, 0, 79,
- 0, 81, 40, 41, 256, 0, 42, 0, 0, 0,
- 0, 0, 0, 588, 0, 0, 88, 89, 0, 0,
+ 0, 48, 331, 48, 0, 0, 48, 0, 48, 48,
+ 48, 48, 0, 0, 0, 48, 48, 48, 0, 0,
+ 48, 48, 48, 48, 0, 331, 0, 0, 0, 48,
+ 48, 0, 48, 48, 0, 48, 48, 48, 331, 0,
+ 0, 48, 0, 331, 0, 0, 331, 0, 331, 0,
+ 331, 331, 331, 331, 0, 0, 0, 0, 331, 0,
+ 0, 48, 331, 0, 0, 0, 331, 213, 0, 0,
+ 450, 0, 0, 0, 331, 0, 0, 331, 0, 331,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 90, 91, 92, 93, 94, 0, 0, 0, 0,
- 0, 0, 0, 96, 0, 0, 0, 0, 0, 98,
- 99, 100, 101, 0, 0, 0, 102, 0, 103, 0,
- 0, 0, 0, 0, 104, 105, 0, 0, 0, 0,
- 0, 0, 57, 25, 0, 26, 0, 0, 27, 255,
- 0, 0, 0, 28, 62, 63, 0, 29, 0, 106,
- 107, 108, 109, 65, 0, 0, 31, 0, 0, 0,
- 0, 0, 0, 33, 0, 0, 0, 0, 34, 0,
- 72, 73, 35, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 37, 0, 38, 75, 0, 0,
- 39, 0, 0, 77, 0, 79, 0, 81, 40, 41,
- 256, 0, 42, 0, 0, 85, 0, 0, 0, 87,
- 0, 0, 88, 89, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 90, 91, 92,
- 93, 302, 0, 0, 0, 0, 0, 0, 0, 96,
- 0, 0, 0, 0, 0, 98, 99, 100, 101, 0,
- 0, 0, 102, 0, 103, 0, 0, 0, 0, 0,
- 104, 105, 0, 0, 0, 0, 0, 0, 57, 25,
- 0, 26, 0, 0, 27, 255, 0, 0, 0, 28,
- 62, 63, 0, 29, 0, 106, 303, 108, 109, 65,
- 0, 0, 31, 0, 0, 0, 0, 0, 0, 33,
- 0, 0, 0, 0, 34, 0, 72, 73, 35, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 37, 0, 38, 75, 0, 0, 39, 0, 0, 77,
- 0, 79, 0, 81, 40, 41, 256, 0, 42, 0,
- 0, 0, 0, 0, 0, 87, 0, 0, 88, 89,
+ 0, 0, 0, 451, 0, 0, 0, 0, 331, 0,
+ 0, 0, 0, 331, 0, 0, 452, 0, 0, 0,
+ 331, 454, 263, 0, 331, 0, 455, 48, 456, 457,
+ 458, 459, 0, 0, 0, 0, 460, 331, 0, 0,
+ 461, 0, 0, 0, 1294, 0, 0, 57, 25, 0,
+ 26, 0, 462, 27, 255, 463, 0, 464, 28, 62,
+ 63, 0, 29, 0, 0, 0, 0, 0, 65, 331,
+ 0, 31, 0, 0, 0, 0, 0, 0, 33, 0,
+ 0, 465, 0, 34, 0, 72, 73, 35, 0, 587,
+ 0, 0, 0, 0, 0, 0, 588, 0, 0, 37,
+ 0, 38, 75, 0, 0, 39, 0, 0, 77, 0,
+ 79, 0, 81, 40, 41, 256, 0, 42, 0, 0,
+ 0, 0, 0, 0, 589, 0, 0, 88, 89, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1295, 0, 0,
+ 0, 0, 90, 91, 92, 93, 94, 0, 0, 0,
+ 0, 0, 0, 0, 96, 909, 0, 590, 0, 0,
+ 98, 99, 100, 101, 0, 0, 0, 102, 0, 103,
+ 0, 0, 0, 0, 0, 104, 105, 0, 0, 0,
+ 0, 0, 0, 57, 25, 0, 26, 0, 0, 27,
+ 255, 0, 0, 0, 28, 62, 63, 0, 29, 0,
+ 106, 107, 108, 109, 65, 0, 0, 31, 0, 0,
+ 0, 0, 0, 0, 33, 0, 0, 0, 0, 34,
+ 0, 72, 73, 35, 0, 587, 0, 0, 0, 0,
+ 0, 0, 588, 0, 0, 37, 0, 38, 75, 0,
+ 0, 39, 0, 0, 77, 0, 79, 0, 81, 40,
+ 41, 256, 0, 42, 0, 0, 0, 0, 0, 0,
+ 589, 0, 0, 88, 89, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 90, 91,
+ 92, 93, 94, 0, 0, 0, 0, 0, 0, 0,
+ 96, 0, 0, 590, 0, 0, 98, 99, 100, 101,
+ 0, 0, 0, 102, 0, 103, 0, 0, 0, 0,
+ 0, 104, 105, 0, 0, 0, 0, 0, 0, 57,
+ 25, 0, 26, 0, 0, 27, 255, 0, 0, 0,
+ 28, 62, 63, 0, 29, 0, 106, 107, 108, 109,
+ 65, 0, 0, 31, 0, 0, 0, 0, 0, 0,
+ 33, 0, 0, 0, 0, 34, 0, 72, 73, 35,
+ 0, 587, 0, 0, 0, 0, 0, 0, 588, 0,
+ 0, 37, 0, 38, 75, 0, 0, 39, 0, 0,
+ 77, 0, 79, 0, 81, 40, 41, 256, 0, 42,
+ 0, 0, 0, 0, 0, 0, 589, 0, 0, 88,
+ 89, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 90, 91, 92, 93, 94, 0,
+ 0, 0, 0, 0, 0, 0, 96, 0, 0, 0,
+ 0, 0, 98, 99, 100, 101, 0, 0, 0, 102,
+ 0, 103, 0, 0, 0, 0, 0, 104, 105, 0,
+ 0, 0, 0, 0, 0, 57, 25, 0, 26, 0,
+ 0, 27, 255, 0, 0, 0, 28, 62, 63, 0,
+ 29, 0, 106, 107, 108, 109, 65, 0, 0, 31,
+ 0, 0, 0, 0, 0, 0, 33, 0, 0, 0,
+ 0, 34, 0, 72, 73, 35, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 37, 0, 38,
+ 75, 0, 0, 39, 0, 0, 77, 0, 79, 0,
+ 81, 40, 41, 256, 0, 42, 0, 0, 85, 0,
+ 0, 0, 87, 0, 0, 88, 89, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 90, 91, 92, 93, 302, 0, 0,
- 0, 0, 864, 0, 0, 96, 0, 0, 0, 0,
- 0, 98, 99, 100, 101, 0, 0, 0, 102, 0,
- 103, 0, 0, 0, 0, 0, 104, 105, 0, 0,
- 0, 0, 0, 0, 57, 25, 0, 26, 0, 0,
- 27, 255, 0, 0, 0, 28, 62, 63, 0, 29,
- 0, 106, 303, 108, 109, 65, 0, 0, 31, 0,
- 0, 0, 0, 0, 0, 33, 0, 0, 0, 0,
- 34, 0, 72, 73, 35, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 37, 0, 38, 75,
- 0, 0, 39, 0, 0, 77, 0, 79, 0, 81,
- 40, 41, 256, 0, 42, 0, 0, 0, 0, 0,
- 0, 87, 0, 0, 88, 89, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 90,
- 91, 92, 93, 302, 0, 0, 0, 512, 0, 0,
- 0, 96, 0, 0, 0, 0, 0, 98, 99, 100,
- 101, 0, 0, 0, 102, 0, 103, 0, 0, 0,
- 0, 0, 104, 105, 0, 0, 0, 0, 0, 0,
- 57, 25, 0, 26, 0, 0, 27, 255, 0, 0,
- 0, 28, 62, 63, 0, 29, 0, 106, 303, 108,
- 109, 65, 0, 0, 31, 0, 0, 0, 0, 0,
- 0, 33, 0, 0, 0, 0, 34, 0, 72, 73,
- 35, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 37, 0, 38, 75, 0, 0, 39, 0,
- 0, 77, 0, 79, 0, 81, 40, 41, 256, 0,
- 42, 0, 0, 0, 0, 0, 0, 87, 0, 0,
- 88, 89, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 90, 91, 92, 93, 302,
- 0, 0, 0, 506, 0, 0, 0, 96, 0, 0,
- 0, 0, 0, 98, 99, 100, 101, 0, 0, 0,
- 102, 0, 103, 0, 0, 0, 0, 0, 104, 105,
- 0, 0, 0, 0, 0, 0, 57, 25, 0, 26,
- 0, 0, 27, 255, 0, 0, 0, 28, 62, 63,
- 0, 29, 0, 106, 303, 108, 109, 65, 0, 0,
- 31, 0, 0, 0, 0, 0, 0, 33, 0, 0,
- 0, 0, 34, 0, 72, 73, 35, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 37, 0,
- 38, 75, 0, 0, 39, 0, 0, 77, 0, 79,
- 0, 81, 40, 41, 256, 0, 42, 0, 0, 0,
- 0, 0, 0, 87, 0, 0, 88, 89, 0, 0,
+ 90, 91, 92, 93, 302, 0, 0, 0, 0, 0,
+ 0, 0, 96, 0, 0, 0, 0, 0, 98, 99,
+ 100, 101, 0, 0, 0, 102, 0, 103, 0, 0,
+ 0, 0, 0, 104, 105, 0, 0, 0, 0, 0,
+ 0, 57, 25, 0, 26, 0, 0, 27, 255, 0,
+ 0, 0, 28, 62, 63, 0, 29, 0, 106, 303,
+ 108, 109, 65, 0, 0, 31, 0, 0, 0, 0,
+ 0, 0, 33, 0, 0, 0, 0, 34, 0, 72,
+ 73, 35, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 37, 0, 38, 75, 0, 0, 39,
+ 0, 0, 77, 0, 79, 0, 81, 40, 41, 256,
+ 0, 42, 0, 0, 0, 0, 0, 0, 87, 0,
+ 0, 88, 89, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 90, 91, 92, 93,
+ 302, 0, 0, 0, 0, 866, 0, 0, 96, 0,
+ 0, 0, 0, 0, 98, 99, 100, 101, 0, 0,
+ 0, 102, 0, 103, 0, 0, 0, 0, 0, 104,
+ 105, 0, 0, 0, 0, 0, 0, 57, 25, 0,
+ 26, 0, 0, 27, 255, 0, 0, 0, 28, 62,
+ 63, 0, 29, 0, 106, 303, 108, 109, 65, 0,
+ 0, 31, 0, 0, 0, 0, 0, 0, 33, 0,
+ 0, 0, 0, 34, 0, 72, 73, 35, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 37,
+ 0, 38, 75, 0, 0, 39, 0, 0, 77, 0,
+ 79, 0, 81, 40, 41, 256, 0, 42, 0, 0,
+ 0, 0, 0, 0, 87, 0, 0, 88, 89, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 90, 91, 92, 93, 302, 0, 0, 0, 0,
- 0, 0, 0, 96, 0, 0, 0, 0, 0, 98,
- 99, 100, 101, 0, 0, 0, 102, 0, 103, 0,
- 0, 0, 0, 0, 104, 105, 0, 0, 0, 0,
- 0, 0, 57, 25, 0, 26, 0, 0, 27, 255,
- 0, 0, 0, 28, 62, 63, 0, 29, 0, 106,
- 303, 108, 109, 65, 0, 0, 31, 0, 0, 0,
- 0, 0, 0, 33, 0, 0, 0, 0, 34, 0,
- 72, 73, 35, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 37, 0, 38, 75, 0, 0,
- 39, 0, 0, 77, 0, 79, 0, 81, 40, 41,
- 256, 0, 42, 0, 0, 0, 0, 0, 0, 87,
- 0, 0, 88, 89, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 90, 91, 92,
- 93, 94, 0, 0, 0, 0, 0, 0, 0, 96,
- 0, 0, 0, 0, 0, 98, 99, 100, 101, 0,
- 0, 0, 102, 0, 103, 0, 0, 0, 0, 0,
- 104, 105, 0, 0, 0, 0, 0, 0, 57, 25,
- 0, 26, 0, 0, 27, 255, 0, 0, 0, 28,
- 62, 63, 0, 29, 0, 106, 107, 108, 109, 65,
- 0, 0, 31, 0, 0, 0, 0, 0, 0, 33,
- 0, 0, 0, 0, 34, 0, 72, 73, 35, 0,
+ 0, 0, 90, 91, 92, 93, 302, 0, 0, 0,
+ 512, 0, 0, 0, 96, 0, 0, 0, 0, 0,
+ 98, 99, 100, 101, 0, 0, 0, 102, 0, 103,
+ 0, 0, 0, 0, 0, 104, 105, 0, 0, 0,
+ 0, 0, 0, 57, 25, 0, 26, 0, 0, 27,
+ 255, 0, 0, 0, 28, 62, 63, 0, 29, 0,
+ 106, 303, 108, 109, 65, 0, 0, 31, 0, 0,
+ 0, 0, 0, 0, 33, 0, 0, 0, 0, 34,
+ 0, 72, 73, 35, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 37, 0, 38, 75, 0,
+ 0, 39, 0, 0, 77, 0, 79, 0, 81, 40,
+ 41, 256, 0, 42, 0, 0, 0, 0, 0, 0,
+ 87, 0, 0, 88, 89, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 90, 91,
+ 92, 93, 302, 0, 0, 0, 506, 0, 0, 0,
+ 96, 0, 0, 0, 0, 0, 98, 99, 100, 101,
+ 0, 0, 0, 102, 0, 103, 0, 0, 0, 0,
+ 0, 104, 105, 0, 0, 0, 0, 0, 0, 57,
+ 25, 0, 26, 0, 0, 27, 255, 0, 0, 0,
+ 28, 62, 63, 0, 29, 0, 106, 303, 108, 109,
+ 65, 0, 0, 31, 0, 0, 0, 0, 0, 0,
+ 33, 0, 0, 0, 0, 34, 0, 72, 73, 35,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 37, 0, 38, 75, 0, 0, 39, 0, 0, 77,
- 0, 79, 0, 81, 40, 41, 256, 0, 42, 0,
- 0, 0, 0, 0, 0, 87, 0, 0, 88, 89,
+ 0, 37, 0, 38, 75, 0, 0, 39, 0, 0,
+ 77, 0, 79, 0, 81, 40, 41, 256, 0, 42,
+ 0, 0, 0, 0, 0, 0, 87, 0, 0, 88,
+ 89, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 90, 91, 92, 93, 302, 0,
+ 0, 0, 0, 0, 0, 0, 96, 0, 0, 0,
+ 0, 0, 98, 99, 100, 101, 0, 0, 0, 102,
+ 0, 103, 0, 0, 0, 0, 0, 104, 105, 0,
+ 0, 0, 0, 0, 0, 57, 25, 0, 26, 0,
+ 0, 27, 255, 0, 0, 0, 28, 62, 63, 0,
+ 29, 0, 106, 303, 108, 109, 65, 0, 0, 31,
+ 0, 0, 0, 0, 0, 0, 33, 0, 0, 0,
+ 0, 34, 0, 72, 73, 35, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 37, 0, 38,
+ 75, 0, 0, 39, 0, 0, 77, 0, 79, 0,
+ 81, 40, 41, 256, 0, 42, 0, 0, 0, 0,
+ 0, 0, 87, 0, 0, 88, 89, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 90, 91, 92, 93, 94, 0, 0,
- 0, 0, 0, 0, 0, 96, 0, 0, 0, 0,
- 0, 98, 99, 100, 101, 0, 0, 0, 102, 0,
- 103, 0, 0, 0, 0, 0, 104, 105, 0, 0,
- 0, 0, 0, 0, 78, 78, 0, 78, 0, 0,
- 78, 78, 0, 0, 0, 78, 78, 78, 0, 78,
- 0, 106, 1020, 108, 109, 78, 0, 0, 78, 0,
- 0, 0, 0, 0, 0, 78, 0, 0, 0, 0,
- 78, 0, 78, 78, 78, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 78, 0, 78, 78,
- 0, 0, 78, 0, 0, 78, 0, 78, 0, 78,
- 78, 78, 78, 0, 78, 0, 0, 0, 0, 0,
- 0, 78, 0, 0, 78, 78, 0, 0, 0, 0,
+ 90, 91, 92, 93, 94, 0, 0, 0, 0, 0,
+ 0, 0, 96, 0, 0, 0, 0, 0, 98, 99,
+ 100, 101, 0, 0, 0, 102, 0, 103, 0, 0,
+ 0, 0, 0, 104, 105, 0, 0, 0, 0, 0,
+ 0, 57, 25, 0, 26, 0, 0, 27, 255, 0,
+ 0, 0, 28, 62, 63, 0, 29, 0, 106, 107,
+ 108, 109, 65, 0, 0, 31, 0, 0, 0, 0,
+ 0, 0, 33, 0, 0, 0, 0, 34, 0, 72,
+ 73, 35, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 37, 0, 38, 75, 0, 0, 39,
+ 0, 0, 77, 0, 79, 0, 81, 40, 41, 256,
+ 0, 42, 0, 0, 0, 0, 0, 0, 87, 0,
+ 0, 88, 89, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 90, 91, 92, 93,
+ 94, 0, 0, 0, 0, 0, 0, 0, 96, 0,
+ 0, 0, 0, 0, 98, 99, 100, 101, 0, 0,
+ 0, 102, 0, 103, 0, 0, 0, 0, 0, 104,
+ 105, 0, 0, 0, 0, 0, 0, 78, 78, 0,
+ 78, 0, 0, 78, 78, 0, 0, 0, 78, 78,
+ 78, 0, 78, 0, 106, 1021, 108, 109, 78, 0,
+ 0, 78, 0, 0, 0, 0, 0, 0, 78, 0,
+ 0, 0, 0, 78, 0, 78, 78, 78, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 78,
- 78, 78, 78, 78, 0, 0, 0, 0, 0, 0,
- 0, 78, 0, 0, 0, 0, 0, 78, 78, 78,
- 78, 0, 0, 0, 78, 0, 78, 0, 0, 0,
- 0, 0, 78, 78, 0, 0, 0, 0, 0, 0,
- 135, 135, 0, 135, 0, 0, 135, 135, 0, 0,
- 0, 135, 135, 135, 0, 135, 0, 78, 78, 78,
- 78, 135, 0, 0, 135, 0, 0, 0, 0, 0,
- 0, 135, 0, 0, 0, 0, 135, 0, 135, 135,
- 135, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 135, 0, 135, 135, 0, 0, 135, 0,
- 0, 135, 0, 135, 0, 135, 135, 135, 135, 0,
- 135, 0, 0, 0, 0, 0, 0, 135, 0, 0,
- 135, 135, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 135, 135, 135, 135, 135,
- 0, 0, 0, 0, 0, 0, 0, 135, 0, 0,
- 0, 0, 0, 135, 135, 135, 135, 0, 0, 0,
- 135, 0, 135, 0, 0, 0, 0, 0, 135, 135,
- 0, 0, 0, 0, 0, 0, 57, 25, 0, 26,
- 0, 0, 27, 255, 0, 0, 0, 28, 62, 63,
- 0, 29, 0, 135, 135, 135, 135, 65, 0, 0,
- 31, 0, 0, 0, 0, 0, 0, 33, 0, 28,
+ 0, 78, 78, 0, 0, 78, 0, 0, 78, 0,
+ 78, 0, 78, 78, 78, 78, 0, 78, 0, 0,
+ 0, 0, 0, 0, 78, 0, 0, 78, 78, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 78, 78, 78, 78, 78, 0, 0, 0,
+ 0, 0, 0, 0, 78, 0, 0, 0, 0, 0,
+ 78, 78, 78, 78, 0, 0, 0, 78, 0, 78,
+ 0, 0, 0, 0, 0, 78, 78, 0, 0, 0,
+ 0, 0, 0, 135, 135, 0, 135, 0, 0, 135,
+ 135, 0, 0, 0, 135, 135, 135, 0, 135, 0,
+ 78, 78, 78, 78, 135, 0, 0, 135, 0, 0,
+ 0, 0, 0, 0, 135, 0, 0, 0, 0, 135,
+ 0, 135, 135, 135, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 135, 0, 135, 135, 0,
+ 0, 135, 0, 0, 135, 0, 135, 0, 135, 135,
+ 135, 135, 0, 135, 0, 0, 0, 0, 0, 0,
+ 135, 0, 0, 135, 135, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 135, 135,
+ 135, 135, 135, 0, 0, 0, 0, 0, 0, 0,
+ 135, 0, 0, 0, 0, 0, 135, 135, 135, 135,
+ 0, 0, 0, 135, 0, 135, 0, 0, 0, 0,
+ 0, 135, 135, 0, 0, 0, 0, 0, 0, 57,
+ 25, 0, 26, 0, 0, 27, 255, 0, 0, 0,
+ 28, 62, 63, 0, 29, 0, 135, 135, 135, 135,
+ 65, 0, 0, 31, 0, 0, 0, 0, 0, 0,
+ 33, 0, 28, 0, 0, 34, 0, 72, 73, 35,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 37, 0, 38, 75, 28, 0, 39, 0, 0,
+ 77, 0, 79, 0, 81, 40, 41, 256, 28, 42,
+ 0, 0, 0, 28, 0, 0, 0, 0, 28, 0,
+ 28, 28, 28, 28, 0, 0, 28, 0, 28, 0,
+ 0, 0, 28, 0, 90, 91, 92, 257, 302, 0,
+ 0, 0, 0, 0, 28, 0, 96, 28, 0, 28,
+ 0, 0, 98, 99, 100, 101, 0, 0, 0, 102,
+ 0, 103, 0, 0, 0, 0, 0, 104, 105, 0,
+ 0, 0, 0, 28, 0, 0, 0, 0, 0, 28,
+ 28, 0, 0, 0, 0, 0, 0, 637, 0, 637,
+ 0, 637, 106, 258, 637, 109, 637, 637, 0, 637,
+ 0, 637, 0, 637, 0, 637, 637, 637, 0, 0,
+ 0, 637, 637, 0, 0, 0, 0, 637, 0, 637,
+ 637, 0, 0, 0, 637, 0, 0, 0, 637, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 637,
+ 637, 0, 637, 0, 0, 0, 637, 637, 0, 0,
+ 0, 0, 0, 0, 637, 637, 57, 25, 637, 26,
+ 0, 637, 27, 255, 0, 0, 637, 28, 62, 63,
+ 0, 29, 0, 0, 0, 0, 0, 65, 0, 0,
+ 31, 0, 0, 0, 0, 0, 0, 33, 637, 637,
0, 0, 34, 0, 72, 73, 35, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 37, 0,
- 38, 75, 28, 0, 39, 0, 0, 77, 0, 79,
- 0, 81, 40, 41, 256, 28, 42, 0, 0, 0,
- 28, 0, 0, 0, 0, 28, 0, 28, 28, 28,
- 28, 0, 0, 28, 0, 28, 0, 0, 0, 28,
- 0, 90, 91, 92, 257, 302, 0, 0, 0, 0,
- 0, 28, 0, 96, 28, 0, 28, 0, 0, 98,
- 99, 100, 101, 0, 0, 0, 102, 0, 103, 0,
- 0, 0, 0, 0, 104, 105, 0, 0, 0, 0,
- 28, 0, 0, 0, 0, 0, 28, 28, 0, 0,
- 0, 0, 0, 0, 638, 0, 638, 0, 638, 106,
- 258, 638, 109, 638, 638, 0, 638, 0, 638, 0,
- 638, 0, 638, 638, 638, 0, 0, 0, 638, 638,
- 0, 0, 0, 0, 638, 0, 638, 638, 0, 0,
- 0, 638, 0, 0, 0, 638, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 638, 638, 0, 638,
- 0, 0, 0, 638, 638, 0, 0, 0, 0, 0,
- 0, 638, 638, 57, 25, 638, 26, 0, 638, 27,
- 255, 0, 0, 638, 28, 62, 63, 0, 29, 0,
- 0, 0, 0, 0, 65, 0, 0, 31, 0, 0,
- 0, 0, 0, 0, 33, 638, 638, 0, 0, 34,
- 0, 72, 73, 35, 0, 0, 0, 0, 638, 0,
- 0, 0, 0, 0, 0, 37, 0, 38, 75, 0,
- 0, 39, 0, 0, 77, 0, 79, 0, 81, 40,
- 41, 256, 0, 42, 0, 0, 85, 0, 0, 0,
- 0, 0, 0, 25, 0, 26, 0, 0, 27, 638,
- 1200, 0, 0, 28, 0, 0, 0, 29, 90, 91,
- 92, 257, 0, 0, 0, 0, 31, 637, 0, 637,
- 96, 0, 637, 33, 637, 637, 0, 637, 34, 637,
- 1201, 637, 35, 637, 637, 637, 0, 0, 0, 637,
- 637, 0, 0, 0, 37, 637, 38, 637, 637, 0,
- 39, 1202, 637, 0, 0, 0, 637, 0, 40, 41,
- 0, 0, 42, 0, 0, 321, 106, 258, 637, 0,
- 637, 0, 0, 0, 637, 637, 0, 0, 0, 0,
- 0, 0, 637, 637, 0, 25, 637, 26, 0, 637,
- 27, 0, 0, 1261, 637, 28, 0, 675, 0, 29,
- 0, 676, 1262, 1263, 0, 0, 0, 1264, 31, 0,
- 0, 0, 0, 1265, 0, 33, 0, 0, 0, 0,
- 34, 0, 0, 0, 35, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 37, 0, 38, 0,
- 0, 0, 39, 0, 0, 0, 354, 0, 0, 0,
- 40, 41, 0, 0, 42, 0, 0, 1266, 0, 25,
- 0, 26, 1267, 0, 27, 0, 0, 1261, 0, 28,
- 637, 675, 0, 29, 0, 676, 1262, 1263, 0, 0,
- 0, 1264, 31, 0, 0, 0, 0, 1265, 0, 33,
- 0, 48, 0, 48, 34, 0, 48, 1268, 35, 0,
- 0, 48, 0, 0, 0, 48, 0, 0, 0, 0,
- 37, 0, 38, 0, 48, 0, 39, 0, 0, 0,
- 0, 48, 0, 0, 40, 41, 48, 0, 42, 0,
- 48, 1266, 48, 0, 48, 48, 1267, 48, 1269, 48,
- 48, 0, 48, 0, 48, 48, 0, 0, 48, 48,
- 0, 48, 0, 0, 0, 0, 48, 48, 48, 0,
- 48, 0, 0, 48, 0, 48, 0, 48, 0, 48,
- 48, 0, 48, 0, 48, 0, 48, 48, 48, 0,
- 0, 48, 0, 48, 0, 0, 48, 0, 48, 0,
- 48, 0, 48, 0, 0, 48, 0, 48, 153, 0,
- 48, 48, 48, 0, 48, 0, 48, 48, 48, 0,
- 48, 25, 1269, 26, 0, 48, 27, 0, 48, 0,
- 48, 28, 0, 0, 48, 29, 0, 48, 0, 0,
- 0, 0, 48, 48, 31, 0, 48, 0, 0, 48,
- 153, 33, 0, 25, 48, 26, 34, 0, 27, 0,
- 35, 0, 563, 28, 0, 0, 0, 29, 0, 564,
- 0, 0, 37, 0, 38, 0, 31, 0, 39, 0,
- 0, 565, 0, 33, 203, 0, 40, 41, 34, 0,
- 42, 0, 35, 566, 0, 0, 0, 182, 48, 182,
- 0, 0, 182, 0, 37, 0, 38, 182, 0, 0,
- 39, 182, 0, 0, 0, 0, 0, 0, 40, 41,
- 182, 0, 42, 0, 0, 321, 204, 182, 0, 0,
- 48, 0, 182, 0, 0, 0, 182, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 182, 0,
- 182, 292, 0, 0, 182, 0, 0, 0, 0, 0,
- 0, 0, 182, 182, 0, 0, 182, 0, 0, 182,
- 0, 0, 0, 0, 567, 0, 205, 206, 207, 208,
- 0, 209, 210, 211, 212, 213, 214, 215, 216, 35,
- 0, 217, 218, 219, 220, 221, 222, 223, 224, 0,
- 35, 0, 0, 0, 0, 35, 322, 0, 0, 35,
- 0, 0, 35, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 35, 35, 0, 0, 0, 35,
- 35, 0, 33, 0, 0, 35, 0, 35, 35, 35,
- 35, 0, 0, 33, 0, 35, 0, 0, 33, 35,
- 182, 35, 33, 0, 0, 33, 0, 0, 0, 0,
- 0, 35, 0, 35, 35, 0, 35, 33, 33, 0,
- 35, 0, 33, 33, 0, 28, 0, 28, 33, 0,
- 33, 33, 33, 33, 0, 0, 0, 0, 33, 0,
- 35, 0, 33, 0, 33, 0, 35, 35, 28, 0,
- 0, 0, 0, 0, 33, 0, 0, 33, 0, 33,
- 0, 28, 0, 33, 0, 0, 28, 0, 48, 0,
- 0, 28, 0, 28, 28, 28, 28, 0, 0, 48,
- 0, 28, 0, 33, 48, 28, 0, 0, 48, 33,
- 33, 48, 0, 0, 0, 0, 0, 28, 0, 0,
- 28, 0, 28, 48, 48, 0, 0, 0, 48, 48,
- 0, 48, 0, 0, 48, 0, 48, 48, 48, 48,
- 0, 0, 48, 0, 48, 0, 28, 48, 48, 0,
- 48, 48, 28, 28, 48, 0, 0, 0, 0, 0,
- 48, 0, 0, 48, 0, 48, 48, 48, 0, 48,
- 0, 48, 48, 48, 0, 0, 0, 48, 0, 48,
- 48, 48, 48, 0, 0, 0, 0, 48, 0, 48,
- 0, 48, 0, 48, 0, 37, 48, 0, 0, 0,
- 0, 0, 0, 48, 0, 0, 48, 0, 48, 48,
- 0, 48, 48, 0, 48, 0, 0, 0, 0, 48,
- 0, 48, 48, 48, 48, 0, 0, 0, 0, 48,
- 0, 0, 48, 48, 48, 0, 0, 0, 38, 0,
- 0, 0, 0, 0, 0, 48, 0, 48, 48, 48,
- 48, 0, 48, 0, 0, 0, 0, 48, 0, 48,
- 48, 48, 48, 0, 0, 0, 0, 48, 0, 0,
- 0, 48, 48, 0, 48, 0, 48, 48, 0, 0,
- 194, 0, 0, 48, 0, 48, 48, 48, 48, 48,
- 48, 0, 0, 0, 0, 48, 0, 48, 48, 48,
- 48, 0, 0, 48, 0, 48, 0, 0, 0, 48,
- 48, 0, 48, 0, 48, 48, 0, 0, 196, 0,
- 0, 48, 0, 48, 48, 48, 48, 0, 48, 0,
- 0, 0, 0, 48, 0, 48, 48, 48, 48, 0,
- 0, 0, 0, 48, 0, 0, 0, 48, 48, 0,
- 48, 0, 0, 0, 0, 48, 296, 48, 0, 48,
- 0, 48, 48, 0, 48, 0, 48, 0, 0, 0,
- 0, 48, 0, 48, 48, 48, 48, 0, 48, 0,
- 0, 48, 0, 0, 0, 48, 0, 0, 48, 0,
- 0, 48, 0, 0, 297, 450, 48, 48, 0, 0,
- 48, 48, 48, 48, 48, 48, 48, 0, 0, 48,
- 0, 48, 0, 0, 0, 48, 0, 0, 451, 0,
- 0, 0, 0, 0, 0, 0, 48, 48, 48, 48,
- 48, 452, 48, 0, 0, 0, 454, 0, 0, 0,
- 0, 455, 0, 456, 457, 458, 459, 0, 0, 0,
- 0, 460, 0, 0, 0, 461, 48, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 462, 0, 0,
- 463, 0, 464, 0, 0, 0, 0, 0, 0, 0,
+ 0, 637, 0, 0, 0, 0, 0, 0, 37, 0,
+ 38, 75, 0, 0, 39, 0, 0, 77, 0, 79,
+ 0, 81, 40, 41, 256, 0, 42, 0, 0, 85,
+ 0, 0, 0, 0, 0, 0, 25, 0, 26, 0,
+ 0, 27, 637, 1204, 0, 0, 28, 0, 0, 0,
+ 29, 90, 91, 92, 257, 0, 0, 0, 0, 31,
+ 636, 0, 636, 96, 0, 636, 33, 636, 636, 0,
+ 636, 34, 636, 1205, 636, 35, 636, 636, 636, 0,
+ 0, 0, 636, 636, 0, 0, 0, 37, 636, 38,
+ 636, 636, 0, 39, 1206, 636, 0, 0, 0, 636,
+ 0, 40, 41, 0, 0, 42, 0, 0, 321, 106,
+ 258, 636, 0, 636, 0, 0, 0, 636, 636, 0,
+ 0, 0, 0, 0, 0, 636, 636, 0, 636, 636,
+ 636, 0, 636, 636, 0, 636, 636, 636, 636, 0,
+ 636, 0, 636, 0, 636, 636, 636, 0, 0, 0,
+ 636, 636, 0, 0, 0, 0, 636, 0, 636, 636,
+ 0, 0, 0, 636, 0, 0, 0, 636, 0, 0,
+ 0, 0, 636, 0, 0, 0, 0, 0, 0, 636,
+ 0, 636, 0, 0, 0, 636, 636, 0, 0, 354,
+ 0, 0, 0, 636, 636, 0, 0, 636, 0, 0,
+ 636, 0, 25, 0, 26, 636, 0, 27, 0, 0,
+ 1264, 0, 28, 636, 676, 0, 29, 0, 677, 1265,
+ 1266, 0, 0, 0, 1267, 31, 0, 0, 0, 0,
+ 1268, 0, 33, 0, 25, 0, 26, 34, 0, 27,
+ 0, 35, 1264, 0, 28, 0, 676, 0, 29, 0,
+ 677, 1265, 1266, 37, 0, 38, 1267, 31, 0, 39,
+ 0, 0, 1268, 0, 33, 0, 0, 40, 41, 34,
+ 0, 42, 0, 35, 1269, 0, 0, 0, 48, 1270,
+ 48, 636, 0, 48, 0, 37, 0, 38, 48, 0,
+ 0, 39, 48, 0, 0, 0, 0, 0, 0, 40,
+ 41, 48, 0, 42, 0, 0, 1269, 0, 48, 0,
+ 48, 1270, 48, 48, 1271, 48, 0, 48, 0, 48,
+ 48, 48, 0, 0, 48, 0, 48, 0, 0, 48,
+ 0, 48, 0, 48, 0, 48, 0, 0, 48, 0,
+ 48, 0, 0, 48, 48, 48, 0, 48, 0, 48,
+ 48, 48, 0, 48, 48, 1272, 48, 0, 48, 48,
+ 0, 48, 0, 48, 48, 0, 0, 48, 48, 0,
+ 48, 0, 0, 0, 0, 48, 48, 48, 0, 48,
+ 0, 0, 48, 0, 48, 153, 25, 1272, 26, 48,
+ 0, 27, 0, 48, 0, 48, 28, 48, 0, 0,
+ 29, 0, 48, 0, 0, 48, 0, 48, 0, 31,
+ 0, 48, 0, 0, 48, 153, 33, 0, 0, 48,
+ 48, 34, 0, 48, 0, 35, 48, 564, 0, 0,
+ 0, 48, 0, 0, 565, 0, 0, 37, 0, 38,
+ 0, 0, 0, 39, 0, 0, 566, 0, 0, 0,
+ 0, 40, 41, 0, 0, 42, 0, 25, 567, 26,
+ 0, 0, 27, 48, 0, 0, 0, 28, 0, 0,
+ 0, 29, 0, 0, 0, 30, 172, 0, 172, 0,
+ 31, 172, 0, 0, 0, 32, 172, 33, 0, 0,
+ 172, 0, 34, 0, 0, 0, 35, 36, 0, 172,
+ 0, 0, 0, 0, 0, 0, 172, 48, 37, 0,
+ 38, 172, 0, 0, 39, 172, 0, 0, 0, 0,
+ 0, 0, 40, 41, 0, 0, 42, 172, 0, 172,
+ 182, 0, 182, 172, 0, 182, 0, 0, 0, 568,
+ 182, 172, 172, 0, 182, 172, 0, 0, 172, 0,
+ 0, 0, 0, 182, 0, 0, 0, 0, 0, 0,
+ 182, 0, 0, 0, 0, 182, 0, 0, 35, 182,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 35,
+ 0, 182, 0, 182, 35, 0, 0, 182, 35, 0,
+ 0, 35, 0, 0, 0, 182, 182, 0, 0, 182,
+ 0, 0, 182, 35, 35, 0, 0, 0, 35, 35,
+ 43, 0, 0, 0, 35, 0, 35, 35, 35, 35,
+ 0, 0, 0, 0, 35, 0, 0, 0, 35, 172,
+ 35, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 35, 0, 35, 35, 33, 35, 0, 0, 0, 35,
+ 0, 0, 0, 0, 0, 33, 0, 0, 0, 0,
+ 33, 0, 0, 0, 33, 0, 0, 33, 0, 35,
+ 0, 0, 0, 0, 0, 35, 35, 0, 0, 33,
+ 33, 0, 0, 182, 33, 33, 28, 0, 28, 0,
+ 33, 0, 33, 33, 33, 33, 0, 0, 0, 0,
+ 33, 0, 0, 0, 33, 0, 33, 0, 0, 28,
+ 0, 0, 0, 0, 0, 0, 33, 0, 0, 33,
+ 0, 33, 28, 0, 0, 33, 0, 28, 0, 0,
+ 0, 0, 28, 0, 28, 28, 28, 28, 0, 0,
+ 0, 0, 28, 0, 0, 33, 28, 0, 0, 48,
+ 0, 33, 33, 0, 0, 0, 0, 0, 28, 0,
+ 48, 28, 0, 28, 0, 48, 0, 0, 0, 48,
+ 0, 0, 48, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 48, 48, 0, 28, 0, 48,
+ 48, 0, 48, 28, 28, 48, 0, 48, 48, 48,
+ 48, 0, 0, 48, 0, 48, 0, 0, 48, 48,
+ 0, 48, 48, 0, 0, 48, 0, 0, 0, 0,
+ 0, 48, 0, 0, 48, 0, 48, 48, 48, 0,
+ 48, 0, 48, 48, 48, 0, 0, 0, 48, 0,
+ 48, 48, 48, 48, 0, 0, 0, 0, 48, 0,
+ 48, 0, 48, 0, 48, 0, 37, 48, 0, 0,
+ 0, 0, 0, 0, 48, 0, 0, 48, 0, 48,
+ 48, 0, 48, 48, 0, 48, 0, 0, 0, 0,
+ 48, 0, 48, 48, 48, 48, 0, 0, 0, 0,
+ 48, 0, 0, 48, 48, 48, 0, 0, 0, 38,
+ 0, 0, 0, 0, 0, 0, 48, 0, 48, 48,
+ 48, 48, 0, 48, 0, 0, 0, 0, 48, 0,
+ 48, 48, 48, 48, 0, 0, 0, 0, 48, 0,
+ 0, 0, 48, 48, 0, 48, 0, 48, 48, 0,
+ 0, 194, 0, 0, 48, 0, 48, 48, 48, 48,
+ 48, 48, 0, 0, 0, 0, 48, 0, 48, 48,
+ 48, 48, 0, 0, 48, 0, 48, 0, 0, 0,
+ 48, 48, 0, 48, 0, 48, 48, 0, 0, 196,
+ 0, 0, 48, 0, 48, 48, 48, 48, 0, 48,
+ 0, 0, 0, 0, 48, 0, 48, 48, 48, 48,
+ 0, 0, 0, 0, 48, 0, 0, 0, 48, 48,
+ 0, 48, 0, 0, 0, 0, 48, 296, 48, 0,
+ 48, 0, 48, 48, 0, 48, 0, 48, 0, 0,
+ 0, 0, 48, 0, 48, 48, 48, 48, 0, 48,
+ 0, 0, 48, 0, 0, 0, 48, 0, 0, 48,
+ 0, 0, 48, 0, 0, 297, 450, 48, 48, 0,
+ 0, 48, 48, 48, 48, 48, 48, 48, 0, 0,
+ 48, 0, 48, 0, 0, 0, 48, 0, 0, 451,
+ 0, 0, 0, 0, 0, 0, 450, 48, 48, 48,
+ 48, 48, 452, 48, 0, 0, 453, 454, 0, 0,
+ 0, 0, 455, 0, 456, 457, 458, 459, 0, 451,
+ 0, 0, 460, 0, 0, 0, 461, 48, 0, 0,
+ 0, 0, 452, 0, 0, 0, 0, 454, 462, 0,
+ 0, 463, 455, 464, 456, 457, 458, 459, 0, 0,
+ 0, 0, 460, 0, 0, 0, 461, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 465, 462, 0,
+ 0, 463, 0, 464, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 465,
+ 0, 0, 0, 0, 0, 0, 0, 465,
};
protected static readonly short [] yyCheck = { 17,
- 300, 52, 17, 17, 20, 88, 89, 4, 510, 18,
- 301, 190, 338, 512, 290, 6, 234, 60, 249, 353,
- 299, 20, 467, 189, 486, 552, 109, 158, 17, 297,
- 331, 320, 85, 353, 60, 1126, 1127, 913, 1089, 709,
- 710, 256, 764, 78, 236, 59, 0, 918, 327, 192,
- 577, 734, 256, 268, 17, 114, 74, 116, 325, 1167,
- 78, 114, 569, 116, 368, 48, 80, 256, 82, 256,
- 256, 256, 88, 89, 17, 257, 256, 1168, 96, 256,
- 256, 256, 752, 256, 754, 325, 17, 335, 368, 17,
- 1198, 372, 62, 109, 268, 257, 66, 67, 68, 256,
- 70, 71, 282, 264, 256, 75, 76, 256, 268, 17,
- 363, 17, 82, 376, 84, 17, 86, 17, 201, 202,
- 374, 91, 92, 17, 268, 429, 0, 17, 256, 1282,
- 256, 410, 276, 69, 314, 17, 256, 368, 277, 190,
- 158, 368, 1295, 158, 158, 115, 370, 654, 429, 429,
- 374, 418, 88, 89, 358, 888, 256, 93, 256, 60,
- 358, 1314, 416, 339, 325, 418, 429, 1275, 344, 158,
- 346, 1279, 0, 1044, 256, 294, 352, 353, 418, 322,
- 263, 429, 369, 234, 256, 201, 202, 306, 294, 256,
- 339, 418, 526, 94, 1207, 158, 1304, 98, 99, 100,
- 101, 102, 103, 104, 105, 506, 289, 422, 368, 509,
- 1223, 354, 711, 431, 548, 158, 359, 369, 375, 363,
- 424, 425, 426, 427, 363, 308, 552, 158, 548, 418,
- 158, 249, 418, 418, 256, 569, 254, 173, 418, 230,
- 432, 418, 225, 418, 287, 418, 374, 263, 422, 369,
- 158, 577, 158, 429, 297, 381, 158, 363, 158, 341,
- 256, 287, 422, 996, 158, 998, 319, 350, 158, 328,
- 323, 1082, 290, 289, 418, 328, 158, 295, 296, 418,
- 419, 381, 1004, 381, 17, 301, 256, 369, 256, 259,
- 316, 309, 308, 363, 437, 256, 314, 369, 316, 418,
- 367, 315, 320, 257, 387, 388, 266, 977, 256, 376,
- 335, 262, 418, 249, 332, 333, 368, 339, 349, 350,
- 654, 256, 357, 338, 368, 261, 1377, 60, 471, 299,
- 368, 64, 415, 416, 350, 655, 1019, 353, 418, 357,
- 847, 675, 312, 1065, 368, 367, 256, 298, 418, 338,
- 368, 369, 1443, 372, 314, 373, 374, 375, 376, 377,
- 378, 379, 380, 381, 382, 383, 372, 363, 266, 372,
- 1383, 387, 388, 371, 370, 373, 372, 429, 374, 878,
- 431, 1472, 256, 969, 372, 429, 287, 405, 1264, 325,
- 441, 429, 363, 256, 330, 857, 297, 1410, 429, 415,
- 416, 302, 370, 1412, 1413, 429, 374, 368, 697, 1422,
- 429, 1424, 418, 374, 1000, 375, 314, 433, 363, 367,
- 305, 369, 418, 371, 567, 158, 429, 378, 379, 257,
- 1100, 447, 368, 369, 433, 370, 579, 1107, 581, 374,
- 583, 429, 371, 777, 272, 713, 263, 418, 447, 277,
- 349, 350, 683, 281, 341, 438, 439, 777, 368, 1468,
- 486, 444, 1132, 1133, 374, 339, 277, 481, 296, 968,
- 281, 372, 420, 418, 369, 423, 339, 375, 373, 415,
- 416, 417, 369, 384, 385, 386, 256, 343, 389, 390,
- 508, 420, 510, 367, 512, 323, 256, 371, 315, 373,
- 374, 375, 376, 646, 367, 1316, 376, 381, 522, 523,
- 526, 368, 482, 847, 342, 349, 350, 1191, 536, 372,
- 256, 374, 665, 541, 256, 381, 846, 526, 423, 256,
- 429, 342, 548, 1344, 1345, 391, 1347, 552, 374, 1191,
- 269, 372, 414, 374, 844, 559, 371, 1358, 373, 485,
- 1361, 487, 522, 569, 287, 263, 428, 286, 414, 429,
- 1234, 418, 577, 552, 391, 1376, 797, 856, 586, 587,
- 871, 343, 428, 305, 510, 363, 429, 261, 305, 339,
- 416, 369, 1234, 316, 344, 1047, 346, 414, 577, 1400,
- 526, 722, 352, 353, 530, 429, 875, 367, 429, 369,
- 284, 371, 372, 339, 374, 338, 376, 315, 344, 1136,
- 346, 394, 395, 297, 1191, 633, 352, 353, 302, 391,
- 1191, 639, 913, 307, 1191, 309, 310, 311, 312, 363,
- 418, 357, 568, 317, 272, 369, 367, 321, 654, 294,
- 371, 325, 414, 369, 343, 305, 372, 373, 418, 333,
- 420, 1191, 336, 423, 338, 738, 428, 1234, 296, 675,
- 386, 339, 367, 1234, 369, 683, 344, 1234, 346, 429,
- 713, 349, 350, 574, 352, 353, 759, 381, 362, 697,
- 1191, 272, 381, 357, 418, 323, 986, 391, 706, 420,
- 773, 744, 391, 711, 1234, 421, 374, 367, 716, 635,
- 369, 637, 357, 1191, 272, 296, 376, 938, 363, 256,
- 414, 272, 386, 21, 369, 414, 277, 372, 373, 391,
- 281, 339, 738, 1234, 428, 866, 740, 381, 296, 428,
- 373, 386, 323, 376, 418, 296, 877, 391, 756, 256,
- 758, 376, 414, 759, 887, 53, 1234, 683, 762, 367,
- 764, 429, 269, 486, 772, 323, 428, 773, 376, 357,
- 414, 777, 323, 418, 700, 848, 421, 357, 372, 286,
- 821, 1190, 1191, 414, 792, 373, 376, 1053, 1104, 797,
- 798, 342, 800, 373, 376, 389, 390, 428, 386, 1089,
- 371, 1210, 339, 811, 812, 373, 386, 344, 376, 346,
- 347, 348, 349, 350, 351, 352, 353, 354, 355, 6,
- 1136, 747, 713, 829, 367, 1234, 1092, 1236, 357, 552,
- 17, 368, 386, 370, 842, 372, 844, 374, 375, 376,
- 829, 847, 848, 367, 373, 370, 371, 1163, 856, 374,
- 776, 859, 376, 834, 577, 836, 306, 386, 866, 1080,
- 1295, 1017, 995, 313, 1130, 374, 792, 376, 876, 401,
- 878, 797, 306, 60, 308, 325, 1365, 64, 372, 313,
- 374, 413, 306, 339, 371, 418, 373, 813, 344, 313,
- 346, 325, 429, 349, 350, 428, 352, 353, 368, 398,
- 399, 88, 89, 294, 374, 392, 393, 913, 369, 382,
- 383, 381, 920, 371, 922, 306, 924, 418, 374, 379,
- 381, 1245, 109, 396, 397, 412, 367, 428, 1252, 935,
- 938, 367, 418, 420, 339, 376, 423, 1145, 1427, 344,
- 376, 346, 367, 389, 349, 350, 935, 352, 353, 384,
- 367, 376, 1121, 367, 385, 1028, 882, 370, 884, 376,
- 968, 374, 376, 944, 890, 946, 369, 948, 400, 372,
- 374, 158, 376, 429, 1463, 1241, 372, 381, 374, 390,
- 376, 370, 369, 1264, 339, 374, 709, 710, 370, 344,
- 916, 346, 374, 1485, 1486, 367, 373, 352, 353, 371,
- 1004, 373, 374, 1011, 376, 1013, 339, 1015, 372, 381,
- 374, 344, 938, 346, 201, 202, 349, 350, 376, 352,
- 353, 370, 1028, 339, 429, 374, 418, 953, 344, 752,
- 346, 754, 371, 349, 350, 415, 352, 353, 256, 1026,
- 357, 354, 355, 415, 367, 1053, 363, 374, 371, 376,
- 373, 374, 369, 376, 277, 372, 373, 374, 381, 1067,
- 1068, 1065, 372, 340, 374, 368, 376, 1075, 371, 386,
- 373, 374, 1080, 370, 418, 372, 263, 374, 418, 367,
- 1121, 1089, 1081, 371, 1092, 373, 374, 1377, 376, 392,
- 393, 376, 415, 381, 376, 370, 429, 372, 367, 1104,
- 287, 418, 289, 1111, 1145, 373, 370, 1148, 372, 412,
- 1118, 354, 355, 429, 301, 376, 1189, 420, 1124, 376,
- 423, 308, 1130, 370, 371, 1104, 373, 374, 375, 316,
- 370, 1136, 372, 343, 1142, 1143, 1269, 370, 370, 372,
- 372, 374, 393, 394, 395, 396, 1187, 414, 415, 1190,
- 1191, 338, 294, 372, 1080, 374, 294, 1136, 1163, 1292,
- 386, 387, 388, 350, 364, 365, 353, 1173, 372, 1210,
- 374, 1244, 1180, 1306, 370, 370, 372, 372, 364, 365,
- 374, 372, 376, 1189, 1163, 349, 350, 1195, 1261, 1262,
- 1323, 418, 1325, 1234, 376, 1236, 381, 374, 414, 376,
- 387, 388, 374, 374, 376, 376, 418, 368, 1087, 1088,
- 371, 1284, 373, 374, 1287, 372, 373, 402, 403, 404,
- 405, 406, 407, 408, 409, 410, 411, 375, 415, 416,
- 418, 392, 393, 1241, 369, 0, 391, 392, 1244, 1245,
- 372, 397, 398, 372, 1248, 376, 1252, 372, 372, 368,
- 294, 412, 374, 294, 977, 1261, 1262, 372, 1264, 420,
- 372, 372, 423, 372, 1270, 372, 374, 372, 256, 372,
- 374, 372, 371, 256, 376, 375, 1282, 265, 1284, 267,
- 374, 1287, 270, 294, 294, 381, 356, 275, 372, 1295,
- 375, 279, 374, 374, 373, 381, 1300, 372, 374, 486,
- 288, 374, 374, 294, 372, 376, 256, 295, 1314, 374,
- 423, 1237, 300, 94, 1355, 429, 304, 98, 99, 100,
- 101, 102, 103, 104, 105, 374, 421, 367, 316, 372,
- 318, 1372, 374, 372, 322, 373, 343, 294, 294, 526,
- 374, 418, 330, 331, 1385, 1386, 334, 370, 367, 337,
- 371, 418, 418, 256, 256, 256, 374, 1365, 256, 1363,
- 372, 548, 280, 372, 381, 552, 256, 367, 0, 1377,
- 368, 1412, 1413, 372, 343, 363, 370, 1100, 371, 376,
- 375, 1104, 569, 351, 1107, 372, 1394, 376, 374, 339,
- 577, 376, 374, 370, 344, 376, 346, 347, 348, 349,
- 350, 351, 352, 353, 354, 355, 356, 372, 372, 1132,
- 1133, 381, 347, 1136, 381, 423, 256, 256, 368, 1427,
- 370, 381, 372, 372, 374, 375, 376, 1468, 368, 265,
- 418, 267, 347, 374, 270, 372, 272, 273, 370, 275,
- 1163, 277, 367, 279, 375, 281, 282, 283, 370, 375,
- 367, 287, 288, 372, 370, 1463, 348, 293, 368, 295,
- 296, 374, 339, 418, 300, 1469, 1470, 654, 304, 348,
- 376, 418, 1476, 1477, 374, 368, 375, 1485, 1486, 429,
- 316, 367, 318, 367, 367, 356, 322, 323, 675, 376,
- 368, 371, 257, 381, 330, 331, 261, 305, 334, 374,
- 368, 337, 368, 372, 368, 337, 342, 272, 371, 418,
- 418, 418, 277, 371, 369, 367, 281, 371, 371, 284,
- 376, 302, 709, 710, 418, 371, 373, 418, 371, 367,
- 381, 296, 297, 381, 371, 369, 301, 302, 371, 374,
- 256, 377, 307, 372, 309, 310, 311, 312, 0, 372,
- 331, 738, 317, 373, 373, 376, 321, 374, 323, 1485,
- 1486, 374, 374, 372, 367, 752, 372, 754, 333, 418,
- 370, 336, 759, 338, 418, 376, 418, 342, 376, 372,
- 376, 372, 418, 372, 381, 368, 773, 418, 370, 381,
- 777, 372, 372, 368, 315, 263, 372, 362, 371, 371,
- 368, 372, 0, 384, 385, 386, 0, 367, 389, 390,
- 391, 392, 393, 394, 395, 396, 397, 398, 399, 400,
- 401, 402, 403, 404, 256, 376, 376, 368, 372, 261,
- 262, 0, 368, 376, 372, 372, 370, 367, 315, 418,
- 368, 376, 368, 372, 376, 370, 373, 263, 418, 418,
- 368, 51, 284, 376, 376, 372, 376, 367, 372, 368,
- 847, 848, 294, 376, 372, 297, 298, 372, 368, 372,
- 302, 367, 376, 305, 368, 307, 368, 309, 310, 311,
- 312, 367, 52, 376, 12, 317, 376, 376, 376, 321,
- 5, 376, 376, 325, 376, 376, 935, 0, 1236, 829,
- 1210, 333, 1080, 1417, 336, 1080, 338, 339, 1380, 675,
- 1368, 1397, 344, 1433, 346, 347, 348, 349, 350, 351,
- 352, 353, 354, 355, 356, 506, 913, 1363, 1270, 850,
- 362, 363, 850, 850, 1282, 367, 368, 689, 370, 371,
- 372, 373, 374, 375, 376, 1477, 378, 379, 846, 381,
- 382, 383, 384, 385, 386, 387, 388, 389, 390, 1234,
- 392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
- 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
- 412, 413, 1301, 1222, 416, 1390, 418, 1471, 420, 1386,
- 977, 423, 1385, 574, 1470, 1325, 1270, 429, 368, 1187,
- 1173, 821, 526, 587, 256, 257, 986, 871, 792, 683,
- 72, 716, 264, 265, 266, 267, 268, 797, 270, 271,
- 334, 273, 274, 275, 276, 277, 278, 279, 280, 400,
- 399, 713, 404, 285, 401, 287, 288, 289, 290, 291,
- 292, 1028, 0, 295, 402, 1156, 403, 299, 300, 777,
- 302, 303, 304, 548, 1244, 1163, 1104, 158, 955, 1068,
- 970, 1000, 314, 1046, 316, 1058, 318, 319, 1047, 524,
- 322, 423, 324, 325, 326, 327, 328, 329, 330, 331,
- 332, 333, 334, 335, 1143, 337, 1056, 892, 340, 341,
- 826, 1239, 344, 345, 827, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 359, 360, 361,
- 362, 363, -1, 1100, -1, 367, 368, 1104, -1, 371,
- 1107, -1, -1, -1, 376, 377, 378, 379, 380, -1,
- -1, -1, 384, -1, 386, -1, -1, 1124, -1, -1,
- 392, 393, -1, -1, -1, 1132, 1133, -1, -1, 1136,
- -1, -1, -1, -1, 257, -1, -1, -1, 261, -1,
- -1, -1, -1, -1, -1, 417, 418, 419, 420, 272,
- 422, 0, -1, -1, 277, -1, 1163, 429, 281, -1,
- -1, 284, -1, -1, -1, -1, 1173, 265, -1, 267,
- -1, -1, 270, 296, 297, -1, -1, 275, 301, 302,
- -1, 279, 1189, -1, 307, 283, 309, 310, 311, 312,
- 288, -1, -1, -1, 317, 293, -1, 295, 321, -1,
- 323, -1, 300, -1, -1, -1, 304, 305, -1, -1,
- 333, -1, 335, 336, -1, 338, -1, -1, 316, 342,
- 318, -1, -1, -1, 322, -1, -1, -1, -1, -1,
- -1, -1, 330, 331, -1, -1, 334, 1244, 1245, 362,
- -1, -1, -1, -1, -1, 1252, 369, -1, -1, -1,
- -1, -1, -1, -1, 1261, 1262, -1, 1264, -1, -1,
+ 4, 300, 18, 17, 510, 301, 6, 190, 20, 52,
+ 234, 467, 189, 88, 89, 512, 60, 290, 249, 299,
+ 158, 353, 320, 553, 338, 915, 17, 297, 486, 331,
+ 353, 17, 1090, 85, 109, 735, 0, 710, 711, 765,
+ 48, 236, 78, 60, 256, 59, 570, 327, 578, 1125,
+ 1126, 0, 114, 256, 116, 256, 74, 256, 268, 256,
+ 78, 920, 114, 325, 116, 256, 80, 60, 82, 268,
+ 256, 1211, 256, 363, 268, 256, 1195, 17, 96, 369,
+ 753, 17, 755, 256, 256, 282, 256, 1227, 17, 256,
+ 192, 368, 256, 256, 17, 1195, 1172, 372, 363, 277,
+ 325, 94, 335, 17, 17, 98, 99, 100, 101, 102,
+ 103, 104, 105, 263, 21, 69, 357, 314, 17, 1238,
+ 17, 17, 17, 294, 17, 368, 201, 202, 418, 256,
+ 410, 655, 373, 256, 88, 89, 339, 368, 1238, 93,
+ 158, 344, 343, 346, 158, 386, 53, 190, 256, 352,
+ 353, 256, 429, 418, 429, 367, 418, 369, 368, 371,
+ 372, 257, 374, 256, 376, 315, 339, 158, 0, 256,
+ 256, 344, 158, 346, 347, 348, 349, 350, 351, 352,
+ 353, 354, 355, 356, 375, 363, 429, 1046, 263, 1085,
+ 391, 234, 363, 418, 526, 368, 429, 370, 256, 372,
+ 381, 374, 375, 376, 506, 358, 418, 431, 420, 381,
+ 509, 423, 422, 414, 289, 712, 548, 225, 158, 173,
+ 322, 418, 158, 422, 256, 548, 429, 428, 422, 158,
+ 230, 249, 418, 308, 418, 158, 254, 432, 570, 553,
+ 418, 419, 369, 287, 158, 158, 1386, 418, 418, 256,
+ 358, 418, 354, 297, 418, 418, 429, 359, 381, 158,
+ 20, 158, 158, 158, 578, 158, 328, 319, 256, 374,
+ 287, 323, 290, 1413, 367, 350, 328, 295, 296, 1005,
+ 368, 256, 369, 376, 370, 1425, 266, 1427, 374, 268,
+ 363, 309, 256, 256, 287, 249, 314, 276, 316, 316,
+ 376, 315, 320, 1195, 297, 978, 256, 261, 257, 302,
+ 256, 369, 387, 388, 332, 333, 424, 425, 426, 427,
+ 1020, 357, 1380, 655, 294, 849, 363, 868, 88, 89,
+ 418, 17, 339, 656, 314, 437, 306, 369, 879, 357,
+ 415, 416, 1068, 335, 676, 418, 1238, 338, 1171, 109,
+ 368, 369, 338, 429, 262, 373, 374, 375, 376, 377,
+ 378, 379, 380, 381, 382, 383, 341, 1190, 257, 471,
+ 1446, 325, 890, 264, 60, 339, 330, 1267, 64, 372,
+ 368, 418, 256, 880, 363, 277, 374, 405, 431, 281,
+ 298, 384, 385, 386, 369, 375, 389, 390, 441, 1475,
+ 698, 859, 256, 367, 367, 256, 369, 371, 371, 373,
+ 374, 375, 376, 418, 368, 369, 256, 381, 363, 372,
+ 370, 433, 368, 1319, 374, 257, 1099, 266, 374, 414,
+ 438, 439, 414, 1106, 325, 447, 444, 305, 256, 418,
+ 272, 201, 202, 428, 714, 277, 428, 779, 418, 281,
+ 342, 1347, 1348, 684, 1350, 1278, 779, 420, 1131, 1282,
+ 423, 415, 416, 417, 296, 1361, 568, 481, 1364, 486,
+ 378, 379, 158, 418, 971, 314, 429, 305, 580, 997,
+ 582, 999, 584, 1379, 1307, 339, 349, 350, 339, 363,
+ 508, 323, 510, 344, 512, 346, 370, 368, 372, 339,
+ 374, 352, 353, 263, 349, 350, 343, 1403, 522, 523,
+ 342, 371, 368, 367, 526, 349, 350, 849, 536, 368,
+ 368, 339, 372, 541, 1197, 848, 344, 367, 346, 289,
+ 376, 485, 1195, 487, 352, 353, 375, 256, 368, 386,
+ 418, 301, 1415, 1416, 418, 647, 560, 846, 308, 256,
+ 428, 372, 372, 374, 391, 363, 510, 256, 429, 369,
+ 420, 369, 553, 373, 666, 372, 429, 553, 799, 587,
+ 588, 873, 526, 429, 263, 1238, 530, 414, 429, 429,
+ 429, 429, 575, 429, 429, 723, 305, 578, 418, 339,
+ 350, 428, 578, 353, 344, 429, 346, 877, 1471, 349,
+ 350, 287, 352, 353, 369, 1135, 305, 339, 429, 429,
+ 418, 418, 344, 423, 346, 569, 634, 349, 350, 915,
+ 352, 353, 640, 339, 374, 381, 315, 387, 388, 372,
+ 316, 374, 339, 294, 391, 391, 269, 344, 1195, 346,
+ 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
+ 367, 367, 338, 286, 272, 415, 416, 414, 414, 376,
+ 376, 368, 374, 370, 739, 372, 684, 374, 375, 376,
+ 714, 374, 428, 433, 1132, 376, 974, 677, 296, 429,
+ 698, 1238, 636, 390, 638, 760, 429, 447, 987, 707,
+ 1195, 357, 272, 745, 712, 272, 357, 429, 341, 717,
+ 775, 1195, 363, 369, 416, 323, 372, 373, 369, 940,
+ 1195, 372, 373, 416, 367, 371, 296, 391, 371, 296,
+ 386, 714, 429, 367, 339, 386, 369, 741, 376, 344,
+ 684, 346, 1285, 1238, 349, 350, 376, 352, 353, 757,
+ 414, 759, 418, 323, 1238, 1298, 323, 701, 256, 763,
+ 357, 765, 381, 1238, 428, 421, 774, 418, 339, 374,
+ 421, 269, 391, 344, 1317, 346, 526, 420, 349, 350,
+ 306, 352, 353, 371, 401, 850, 794, 313, 286, 386,
+ 823, 799, 800, 1056, 802, 414, 413, 889, 548, 1103,
+ 379, 1090, 339, 6, 748, 813, 814, 344, 972, 346,
+ 486, 343, 349, 350, 17, 352, 353, 389, 272, 357,
+ 570, 1194, 1195, 277, 429, 306, 343, 281, 294, 831,
+ 1093, 1135, 313, 369, 778, 373, 844, 1001, 846, 370,
+ 306, 1214, 296, 374, 325, 381, 836, 367, 386, 381,
+ 794, 1018, 1298, 861, 384, 799, 376, 60, 429, 391,
+ 868, 64, 1083, 1167, 381, 1238, 1129, 1240, 390, 323,
+ 878, 815, 880, 372, 391, 367, 373, 553, 357, 376,
+ 945, 1368, 414, 357, 376, 88, 89, 400, 342, 363,
+ 389, 390, 429, 369, 373, 369, 428, 414, 372, 373,
+ 374, 306, 578, 308, 996, 655, 109, 386, 313, 382,
+ 383, 428, 386, 385, 922, 371, 924, 373, 926, 367,
+ 325, 354, 355, 396, 397, 368, 676, 1249, 376, 370,
+ 1144, 374, 940, 374, 1256, 937, 392, 393, 381, 1202,
+ 884, 418, 886, 1430, 418, 367, 370, 1120, 892, 367,
+ 374, 428, 373, 367, 376, 158, 412, 947, 376, 949,
+ 376, 951, 376, 971, 420, 418, 974, 423, 372, 367,
+ 374, 415, 376, 371, 918, 373, 374, 339, 376, 1466,
+ 371, 1267, 344, 381, 346, 393, 394, 395, 396, 739,
+ 352, 353, 1488, 1489, 394, 395, 940, 368, 201, 202,
+ 371, 1005, 373, 374, 1012, 418, 1014, 374, 1016, 376,
+ 760, 370, 956, 368, 381, 374, 371, 415, 373, 374,
+ 373, 392, 393, 370, 371, 775, 373, 374, 375, 779,
+ 386, 387, 388, 1027, 710, 711, 367, 392, 393, 256,
+ 371, 412, 373, 374, 371, 376, 373, 370, 1056, 420,
+ 381, 374, 423, 373, 370, 371, 376, 412, 374, 371,
+ 263, 373, 1070, 1071, 1068, 420, 418, 0, 423, 372,
+ 1078, 374, 370, 376, 372, 1083, 374, 753, 1084, 755,
+ 369, 831, 1090, 372, 287, 1093, 289, 1120, 370, 1122,
+ 372, 1380, 374, 340, 367, 261, 369, 277, 301, 849,
+ 850, 372, 1110, 374, 372, 308, 374, 398, 399, 1117,
+ 367, 1144, 376, 316, 371, 376, 373, 374, 284, 376,
+ 376, 1129, 1103, 374, 381, 376, 367, 1103, 1193, 343,
+ 370, 297, 372, 1141, 1142, 338, 302, 376, 374, 1083,
+ 376, 307, 1175, 309, 310, 311, 312, 350, 414, 415,
+ 353, 317, 354, 355, 1135, 321, 364, 365, 415, 1135,
+ 372, 1194, 1195, 294, 370, 915, 372, 333, 294, 370,
+ 336, 372, 338, 370, 418, 372, 1184, 372, 376, 374,
+ 1272, 1214, 414, 1248, 387, 388, 1167, 937, 372, 418,
+ 374, 1167, 1200, 418, 1202, 945, 362, 349, 350, 1264,
+ 1265, 375, 370, 1295, 372, 1238, 370, 1240, 372, 374,
+ 372, 376, 415, 416, 374, 369, 376, 1309, 374, 374,
+ 376, 376, 1287, 372, 373, 1290, 364, 365, 1088, 1089,
+ 391, 392, 372, 376, 1326, 372, 1328, 62, 397, 398,
+ 372, 66, 67, 68, 368, 70, 71, 381, 1252, 374,
+ 75, 76, 418, 372, 372, 372, 372, 82, 372, 84,
+ 294, 86, 294, 374, 372, 372, 91, 92, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 374, 372,
+ 371, 376, 256, 486, 374, 294, 375, 294, 356, 381,
+ 115, 372, 374, 381, 373, 375, 374, 418, 1242, 1303,
+ 372, 94, 978, 374, 374, 98, 99, 100, 101, 102,
+ 103, 104, 105, 374, 376, 374, 294, 429, 423, 372,
+ 374, 367, 421, 526, 257, 1358, 373, 372, 261, 372,
+ 343, 294, 374, 294, 374, 418, 371, 370, 367, 272,
+ 256, 418, 1375, 256, 277, 548, 256, 375, 281, 374,
+ 553, 284, 256, 372, 381, 1388, 1389, 0, 372, 280,
+ 1368, 256, 1366, 296, 297, 367, 372, 570, 301, 302,
+ 368, 343, 1380, 1123, 307, 578, 309, 310, 311, 312,
+ 376, 370, 1415, 1416, 317, 371, 376, 374, 321, 1397,
+ 323, 374, 376, 372, 370, 372, 381, 372, 347, 423,
+ 333, 351, 335, 336, 256, 338, 256, 367, 381, 342,
+ 381, 376, 368, 372, 348, 347, 374, 370, 375, 370,
+ 375, 367, 1430, 1099, 372, 370, 1176, 1103, 368, 362,
+ 1106, 256, 374, 374, 259, 368, 369, 418, 1471, 339,
+ 348, 372, 368, 1193, 367, 367, 376, 0, 418, 367,
+ 375, 368, 655, 381, 356, 1131, 376, 371, 1466, 1135,
+ 337, 368, 374, 368, 305, 368, 372, 376, 1472, 1473,
+ 371, 418, 371, 676, 299, 1479, 1480, 369, 367, 418,
+ 1488, 1489, 418, 418, 371, 371, 371, 312, 381, 418,
+ 265, 1167, 267, 373, 367, 270, 371, 371, 1248, 1249,
+ 275, 369, 381, 372, 279, 371, 1256, 710, 711, 302,
+ 372, 374, 373, 288, 1264, 1265, 373, 1267, 374, 374,
+ 295, 1197, 256, 1273, 418, 300, 374, 376, 372, 304,
+ 372, 370, 372, 376, 418, 1285, 739, 1287, 331, 376,
+ 1290, 316, 418, 318, 1488, 1489, 418, 322, 1298, 376,
+ 753, 372, 755, 381, 367, 330, 331, 760, 372, 334,
+ 368, 381, 337, 370, 368, 315, 372, 1317, 263, 371,
+ 371, 368, 775, 372, 372, 0, 779, 0, 367, 372,
+ 376, 376, 368, 0, 372, 376, 368, 372, 363, 372,
+ 370, 384, 385, 386, 418, 367, 389, 390, 391, 392,
+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 376, 368, 257, 368, 372, 376, 261, 370,
+ 367, 373, 376, 368, 418, 367, 418, 376, 372, 272,
+ 376, 372, 368, 376, 277, 372, 368, 372, 281, 368,
+ 368, 284, 372, 418, 367, 376, 849, 850, 315, 376,
+ 376, 376, 376, 296, 297, 376, 376, 482, 301, 302,
+ 376, 376, 256, 263, 307, 51, 309, 310, 311, 312,
+ 0, 265, 52, 267, 317, 12, 270, 5, 321, 937,
+ 323, 275, 1083, 831, 1083, 279, 1240, 1214, 1420, 1383,
+ 333, 1436, 335, 336, 288, 338, 676, 522, 1371, 342,
+ 1400, 295, 852, 256, 1366, 1273, 300, 852, 261, 262,
+ 304, 852, 915, 506, 1480, 848, 1285, 1238, 1304, 362,
+ 1226, 690, 316, 1474, 318, 1393, 369, 1388, 322, 1389,
+ 1473, 284, 1328, 1175, 1273, 717, 330, 331, 823, 526,
+ 334, 294, 945, 337, 297, 298, 1176, 799, 368, 302,
+ 873, 72, 305, 794, 307, 588, 309, 310, 311, 312,
+ 684, 987, 714, 334, 317, 399, 401, 400, 321, 363,
+ 402, 779, 325, 403, 548, 978, 404, 1158, 1248, 1167,
+ 333, 1103, 575, 336, 158, 338, 339, 973, 1048, 958,
+ 1071, 344, 1001, 346, 347, 348, 349, 350, 351, 352,
+ 353, 354, 355, 356, 1059, 524, 1132, 1061, 894, 362,
+ 363, 423, 1244, 1142, 367, 368, 828, 370, 371, 372,
+ 373, 374, 375, 376, 418, 378, 379, -1, 381, 382,
+ 383, 384, 385, 386, 387, 388, 389, 390, 0, 392,
+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 408, 409, 410, 411, 412,
+ 413, 261, 829, 416, -1, 418, -1, 420, -1, -1,
+ 423, -1, -1, -1, -1, -1, 429, -1, -1, -1,
+ -1, -1, -1, -1, 284, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 1099, 297, -1, -1,
+ 1103, -1, 302, 1106, -1, 305, -1, 307, -1, 309,
+ 310, 311, 312, -1, -1, -1, -1, 317, -1, -1,
+ 1123, 321, -1, -1, -1, 325, 256, 257, 1131, -1,
+ -1, 261, 1135, 333, -1, 265, 336, 267, 338, -1,
+ 270, -1, 272, 273, -1, 275, -1, 277, -1, 279,
+ -1, 281, 282, 283, 284, -1, -1, 287, 288, -1,
+ -1, -1, 362, 293, 1167, 295, 296, 297, -1, -1,
+ 300, 301, 302, 1176, 304, -1, -1, 307, -1, 309,
+ 310, 311, 312, -1, -1, -1, 316, 317, 318, -1,
+ 1193, 321, 322, 323, 1197, -1, -1, -1, -1, -1,
+ 330, 331, -1, 333, 334, 0, 336, 337, 338, -1,
+ -1, -1, 342, -1, -1, -1, -1, -1, 418, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 871, -1, -1, -1, -1, -1, -1, 1284, 256, 257,
- 1287, -1, -1, -1, -1, -1, 264, 265, 266, 267,
- 268, -1, 270, 271, -1, 273, 274, 275, 276, 277,
- 278, 279, -1, -1, 0, -1, -1, 285, -1, 287,
- 288, 289, 290, 291, 292, -1, -1, 295, -1, -1,
- 418, 299, 300, -1, 302, 303, 304, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 314, -1, 316, -1,
- 318, 319, -1, -1, 322, -1, 324, 325, 326, 327,
- 328, 329, 330, 331, 332, 333, 334, 335, -1, 337,
- -1, -1, 340, 341, -1, -1, 344, 345, -1, -1,
+ -1, -1, 362, -1, -1, -1, -1, -1, 368, 369,
+ -1, -1, -1, -1, -1, 1248, 1249, 377, -1, -1,
+ -1, -1, -1, 1256, -1, -1, -1, -1, -1, -1,
+ -1, 1264, 1265, -1, 1267, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 359, 360, 361, 362, 363, -1, -1, -1, 367,
- 368, -1, -1, 371, -1, -1, -1, -1, 376, 377,
- 378, 379, 380, -1, -1, -1, 384, 256, 386, -1,
- -1, -1, 261, 262, 392, 393, -1, -1, -1, -1,
+ 873, -1, -1, -1, 1287, -1, -1, 1290, 418, -1,
+ -1, -1, -1, -1, 256, 257, -1, -1, -1, -1,
+ -1, -1, 264, 265, 266, 267, 268, -1, 270, 271,
+ -1, 273, 274, 275, 276, 277, 278, 279, 280, -1,
+ -1, -1, -1, 285, -1, 287, 288, 289, 290, 291,
+ 292, -1, -1, 295, 0, -1, -1, 299, 300, -1,
+ 302, 303, 304, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 314, -1, 316, -1, 318, 319, -1, -1,
+ 322, -1, 324, 325, 326, 327, 328, 329, 330, 331,
+ 332, 333, 334, 335, -1, 337, -1, -1, 340, 341,
+ -1, -1, 344, 345, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 359, 360, 361,
+ 362, 363, -1, -1, -1, 367, 368, -1, -1, 371,
+ -1, -1, -1, -1, 376, 377, 378, 379, 380, -1,
+ -1, -1, 384, -1, 386, -1, -1, -1, -1, -1,
+ 392, 393, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 0, 284, -1, -1, -1, 417,
- 418, 419, 420, -1, 422, 294, -1, -1, 297, 298,
- -1, 429, -1, 302, -1, -1, 305, -1, 307, -1,
- 309, 310, 311, 312, -1, -1, -1, -1, 317, -1,
- -1, -1, 321, -1, -1, -1, 325, -1, -1, -1,
- -1, -1, -1, -1, 333, -1, -1, 336, -1, 338,
- 339, -1, -1, -1, -1, 344, -1, 346, 347, 348,
- 349, 350, 351, 352, 353, 354, 355, 356, 357, -1,
- -1, -1, -1, 362, 363, -1, -1, -1, 367, 368,
- 369, 370, 371, 372, 373, 374, 375, 376, -1, 378,
- 379, -1, -1, 382, 383, 384, 385, 386, -1, -1,
- 389, 390, -1, -1, -1, 394, 395, 396, 397, 398,
- 399, 400, 401, -1, -1, -1, -1, -1, -1, -1,
- 256, -1, -1, -1, 413, 261, 262, 416, -1, 418,
- -1, 420, -1, -1, 423, -1, -1, -1, -1, -1,
- 429, 0, -1, -1, -1, -1, -1, -1, 284, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 294, -1,
- -1, 297, 298, -1, -1, -1, 302, -1, -1, 305,
+ -1, -1, -1, -1, -1, 417, 418, 419, 420, -1,
+ 422, 256, 257, -1, -1, -1, -1, 429, -1, 264,
+ 265, 266, 267, 268, -1, 270, 271, -1, 273, 274,
+ 275, 276, 277, 278, 279, -1, -1, 0, -1, -1,
+ 285, -1, 287, 288, 289, 290, 291, 292, -1, -1,
+ 295, -1, -1, -1, 299, 300, -1, 302, 303, 304,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 314,
+ -1, 316, -1, 318, 319, -1, -1, 322, -1, 324,
+ 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
+ 335, -1, 337, -1, -1, 340, 341, -1, -1, 344,
+ 345, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 359, 360, 361, 362, 363, -1,
+ -1, -1, 367, 368, -1, -1, 371, -1, -1, -1,
+ -1, 376, 377, 378, 379, 380, -1, -1, -1, 384,
+ 256, 386, -1, -1, -1, 261, 262, 392, 393, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 0, 284, -1,
+ -1, -1, 417, 418, 419, 420, -1, 422, 294, -1,
+ -1, 297, 298, -1, 429, -1, 302, -1, -1, 305,
-1, 307, -1, 309, 310, 311, 312, -1, -1, -1,
-1, 317, -1, -1, -1, 321, -1, -1, -1, 325,
-1, -1, -1, -1, -1, -1, -1, 333, -1, -1,
336, -1, 338, 339, -1, -1, -1, -1, 344, -1,
346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
- 356, -1, -1, -1, -1, -1, 362, 363, -1, -1,
- -1, 367, 368, 369, 370, 371, 372, -1, 374, 375,
+ 356, 357, -1, -1, -1, -1, 362, 363, -1, -1,
+ -1, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, -1, 378, 379, -1, -1, 382, 383, 384, 385,
- 256, -1, -1, 389, 390, 261, 262, -1, 394, 395,
- 396, 397, 398, 399, 400, 401, 0, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 413, 284, -1,
- 416, -1, 418, -1, 420, -1, -1, 423, 294, -1,
- -1, 297, 298, 429, -1, -1, 302, -1, -1, 305,
+ 386, -1, -1, 389, 390, -1, -1, -1, 394, 395,
+ 396, 397, 398, 399, 400, 401, -1, -1, -1, -1,
+ -1, -1, -1, 256, -1, -1, -1, 413, 261, 262,
+ 416, -1, 418, -1, 420, -1, -1, 423, -1, -1,
+ -1, -1, -1, 429, 0, -1, -1, -1, -1, -1,
+ -1, 284, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 294, -1, -1, 297, 298, -1, -1, -1, 302,
+ -1, -1, 305, -1, 307, -1, 309, 310, 311, 312,
+ -1, -1, -1, -1, 317, -1, -1, -1, 321, -1,
+ -1, -1, 325, -1, -1, -1, -1, -1, -1, -1,
+ 333, -1, -1, 336, -1, 338, 339, -1, -1, -1,
+ -1, 344, -1, 346, 347, 348, 349, 350, 351, 352,
+ 353, 354, 355, 356, -1, -1, -1, -1, -1, 362,
+ 363, -1, -1, -1, 367, 368, 369, 370, 371, 372,
+ -1, 374, 375, 376, -1, 378, 379, -1, -1, 382,
+ 383, 384, 385, 256, -1, -1, 389, 390, 261, 262,
+ -1, 394, 395, 396, 397, 398, 399, 400, 401, 0,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 413, 284, -1, 416, -1, 418, -1, 420, -1, -1,
+ 423, 294, -1, -1, 297, 298, 429, -1, -1, 302,
+ -1, -1, 305, -1, 307, -1, 309, 310, 311, 312,
+ -1, -1, -1, -1, 317, -1, -1, -1, 321, -1,
+ -1, -1, 325, -1, -1, -1, -1, -1, -1, -1,
+ 333, -1, -1, 336, -1, 338, 339, -1, -1, -1,
+ -1, 344, -1, 346, 347, 348, 349, 350, 351, 352,
+ 353, 354, 355, 356, -1, -1, -1, -1, -1, 362,
+ 363, -1, -1, -1, 367, 368, 369, 370, 371, 372,
+ -1, 374, 375, 376, -1, 378, 379, -1, -1, 382,
+ 383, 384, 385, -1, -1, -1, 389, 390, -1, -1,
+ -1, 394, 395, 396, 397, 398, 399, 400, 401, -1,
+ 256, -1, -1, -1, -1, 261, 262, -1, -1, -1,
+ 413, -1, -1, 416, -1, 418, 0, 420, -1, -1,
+ 423, -1, -1, -1, -1, -1, 429, -1, 284, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 294, -1,
+ -1, 297, 298, -1, -1, -1, 302, -1, -1, 305,
-1, 307, -1, 309, 310, 311, 312, -1, -1, -1,
-1, 317, -1, -1, -1, 321, -1, -1, -1, 325,
-1, -1, -1, -1, -1, -1, -1, 333, -1, -1,
336, -1, 338, 339, -1, -1, -1, -1, 344, -1,
346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, -1, -1, -1, -1, -1, 362, 363, -1, -1,
- -1, 367, 368, 369, 370, 371, 372, -1, 374, 375,
- 376, -1, 378, 379, -1, -1, 382, 383, 384, 385,
- -1, -1, -1, 389, 390, -1, -1, -1, 394, 395,
- 396, 397, 398, 399, 400, 401, -1, 256, -1, -1,
- -1, -1, 261, 262, -1, -1, -1, 413, -1, -1,
- 416, -1, 418, 0, 420, -1, -1, 423, -1, -1,
- -1, -1, -1, 429, -1, 284, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 294, -1, -1, 297, 298,
- -1, -1, -1, 302, -1, -1, 305, -1, 307, -1,
- 309, 310, 311, 312, -1, -1, -1, -1, 317, -1,
- -1, -1, 321, -1, -1, -1, 325, -1, -1, -1,
- -1, -1, -1, -1, 333, -1, -1, 336, -1, 338,
- 339, -1, -1, -1, -1, 344, -1, 346, 347, 348,
- 349, 350, 351, 352, 353, 354, 355, 356, -1, -1,
- -1, -1, -1, 362, 363, -1, -1, -1, 367, 368,
- -1, 370, 371, 372, -1, 374, 375, 376, -1, 378,
- 379, -1, 256, 382, 383, 384, 385, -1, 262, -1,
- 389, 390, -1, -1, -1, 394, 395, 396, 397, 398,
- 399, 400, 401, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 413, -1, -1, 416, -1, 418,
- 294, -1, -1, -1, 298, -1, -1, -1, -1, -1,
- 429, 0, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 367, 368, -1, 370, 371, 372, -1, 374, 375,
+ 376, -1, 378, 379, -1, 256, 382, 383, 384, 385,
+ -1, 262, -1, 389, 390, -1, -1, -1, 394, 395,
+ 396, 397, 398, 399, 400, 401, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 413, -1, -1,
+ 416, -1, 418, 294, -1, -1, -1, 298, -1, -1,
+ -1, -1, -1, 429, 0, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 339, -1,
+ -1, -1, -1, 344, -1, 346, 347, 348, 349, 350,
+ 351, 352, 353, 354, 355, 356, 357, -1, -1, 256,
+ -1, -1, 363, -1, -1, -1, 367, 368, 369, 370,
+ 371, 372, 373, 374, 375, 376, -1, 378, 379, -1,
+ -1, 382, 383, 384, 385, 386, -1, -1, 389, 390,
+ 0, -1, -1, 394, 395, 396, 397, 398, 399, 400,
+ 401, -1, 256, -1, -1, -1, -1, -1, 262, -1,
+ -1, -1, 413, -1, -1, 416, -1, 418, -1, 420,
+ -1, -1, 423, -1, -1, -1, -1, -1, 429, -1,
+ -1, -1, -1, 0, -1, -1, -1, -1, -1, -1,
+ 294, -1, 339, -1, 298, -1, -1, 344, -1, 346,
+ 347, 348, 349, 350, 351, 352, 353, 354, 355, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 368, -1, 370, -1, 372, 0, 374, 375, 376,
-1, -1, -1, -1, -1, 339, -1, -1, -1, -1,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
- 354, 355, 356, 357, -1, -1, -1, -1, -1, 363,
- -1, -1, -1, 367, 368, 369, 370, 371, 372, 373,
+ 354, 355, 356, -1, -1, -1, -1, -1, -1, 363,
+ -1, -1, -1, 367, 368, -1, 370, 371, 372, 0,
374, 375, 376, -1, 378, 379, -1, -1, 382, 383,
- 384, 385, 386, -1, -1, 389, 390, -1, -1, -1,
- 394, 395, 396, 397, 398, 399, 400, 401, -1, 256,
- -1, -1, -1, 261, -1, 262, -1, -1, -1, 413,
- -1, -1, 416, -1, 418, -1, 420, -1, -1, 423,
- 0, -1, -1, -1, -1, 429, 284, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 294, -1, 297,
- -1, 298, -1, -1, 302, -1, -1, 305, -1, 307,
- -1, 309, 310, 311, 312, -1, -1, -1, -1, 317,
- -1, -1, -1, 321, -1, -1, -1, 325, -1, -1,
- -1, -1, -1, -1, -1, 333, -1, -1, 336, -1,
- 338, -1, 339, 0, -1, -1, -1, 344, -1, 346,
- 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
- -1, -1, -1, -1, 362, -1, 363, -1, -1, -1,
- 367, 368, -1, 370, 371, 372, -1, 374, 375, 376,
- -1, 378, 379, -1, -1, 382, 383, 384, 385, -1,
- -1, -1, 389, 390, -1, -1, -1, 394, 395, 396,
- 397, 398, 399, 400, 401, -1, -1, -1, -1, -1,
- -1, -1, 0, -1, -1, -1, 413, -1, 257, 416,
- 418, 418, 261, -1, 263, -1, 265, -1, 267, -1,
- -1, 270, 429, 272, 273, -1, 275, -1, 277, -1,
- 279, -1, 281, 282, 283, 284, -1, -1, 287, 288,
- -1, -1, -1, -1, 293, 294, 295, 296, 297, -1,
- -1, 300, 301, 302, -1, 304, -1, 306, 307, 308,
- 309, 310, 311, 312, 313, 0, 315, 316, 317, 318,
- -1, -1, 321, 322, 323, -1, 325, -1, -1, -1,
- -1, 330, 331, -1, 333, 334, -1, 336, 337, 338,
- -1, -1, -1, 342, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 0, -1,
- -1, -1, -1, 362, -1, 364, 365, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 256, 257, 377, -1,
- -1, 261, -1, -1, -1, 265, -1, 267, -1, -1,
- 270, -1, 272, 273, -1, 275, -1, 277, -1, 279,
- -1, 281, 282, 283, 284, -1, -1, 287, 288, -1,
- -1, -1, -1, 293, -1, 295, 296, 297, -1, 418,
- 300, 301, 302, -1, 304, -1, -1, 307, -1, 309,
- 310, 311, 312, -1, -1, -1, 316, 317, 318, -1,
- 257, 321, 322, 323, 261, 0, -1, -1, -1, -1,
- 330, 331, -1, 333, 334, 272, 336, 337, 338, -1,
- 277, -1, 342, -1, 281, -1, -1, 284, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 296,
- 297, -1, 362, -1, 301, 302, -1, -1, 368, 369,
- 307, -1, 309, 310, 311, 312, -1, 377, -1, -1,
- 317, -1, -1, -1, 321, -1, 323, -1, 0, 257,
- -1, -1, -1, 261, -1, -1, 333, -1, 335, 336,
- -1, 338, -1, -1, 272, 342, -1, -1, -1, 277,
- -1, -1, -1, 281, -1, -1, 284, -1, 418, -1,
- -1, -1, -1, -1, -1, 362, -1, -1, 296, 297,
- -1, 368, 369, 301, 302, 0, -1, -1, -1, 307,
+ 384, 385, 429, -1, -1, 389, 390, -1, -1, -1,
+ 394, 395, 396, 397, 398, 399, 400, 401, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 413,
+ -1, 257, 416, -1, 418, 261, -1, 263, -1, 265,
+ -1, 267, -1, -1, 270, 429, 272, 273, -1, 275,
+ -1, 277, 0, 279, -1, 281, 282, 283, 284, -1,
+ -1, 287, 288, -1, -1, -1, -1, 293, 294, 295,
+ 296, 297, -1, -1, 300, 301, 302, -1, 304, -1,
+ 306, 307, 308, 309, 310, 311, 312, 313, -1, 315,
+ 316, 317, 318, -1, -1, 321, 322, 323, -1, 325,
+ -1, -1, -1, -1, 330, 331, -1, 333, 334, -1,
+ 336, 337, 338, -1, -1, 0, 342, 257, -1, -1,
+ -1, 261, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 272, -1, -1, -1, 362, 277, 364, 365,
+ -1, 281, -1, -1, 284, -1, -1, -1, -1, -1,
+ -1, 377, -1, -1, -1, -1, 296, 297, 0, -1,
+ 257, 301, 302, -1, 261, -1, -1, 307, -1, 309,
+ 310, 311, 312, -1, -1, 272, -1, 317, -1, -1,
+ 277, 321, -1, 323, 281, -1, -1, 284, -1, -1,
+ -1, -1, 418, 333, -1, -1, 336, -1, 338, 296,
+ 297, 0, 342, 257, 301, 302, -1, 261, -1, -1,
+ 307, -1, 309, 310, 311, 312, -1, -1, 272, -1,
+ 317, -1, 362, 277, 321, -1, 323, 281, 368, 369,
+ 284, -1, -1, -1, -1, -1, 333, -1, -1, 336,
+ -1, 338, 296, 297, -1, 342, 257, 301, 302, -1,
+ 261, -1, -1, 307, -1, 309, 310, 311, 312, -1,
+ -1, 272, -1, 317, -1, 362, 277, 321, -1, 323,
+ 281, 368, 369, 284, -1, -1, -1, -1, -1, 333,
+ -1, -1, 336, -1, 338, 296, 297, -1, 342, -1,
+ 301, 302, -1, -1, -1, -1, 307, -1, 309, 310,
+ 311, 312, -1, -1, -1, -1, 317, -1, 362, 257,
+ 321, -1, 323, 261, -1, 369, -1, -1, -1, -1,
+ -1, -1, 333, -1, 272, 336, -1, 338, -1, 277,
+ -1, 342, -1, 281, -1, -1, 284, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 296, 297,
+ -1, 362, -1, 301, 302, -1, -1, -1, -1, 307,
-1, 309, 310, 311, 312, -1, -1, -1, -1, 317,
-1, -1, 257, 321, -1, 323, 261, -1, -1, -1,
-1, -1, -1, -1, -1, 333, -1, 272, 336, -1,
338, -1, 277, -1, 342, -1, 281, -1, -1, 284,
- -1, -1, 0, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 296, 297, -1, 362, 257, 301, 302, -1, 261,
- 368, 369, 307, -1, 309, 310, 311, 312, -1, -1,
+ -1, -1, 307, -1, 309, 310, 311, 312, -1, -1,
272, -1, 317, -1, -1, 277, 321, -1, 323, 281,
-1, -1, 284, -1, -1, -1, -1, -1, 333, -1,
- -1, 336, -1, 338, 296, 297, -1, 342, -1, 301,
- 302, -1, -1, 261, -1, 307, -1, 309, 310, 311,
- 312, -1, -1, -1, -1, 317, -1, 362, -1, 321,
- -1, 323, -1, 368, 369, -1, 284, -1, -1, -1,
- -1, 333, -1, -1, 336, -1, 338, -1, -1, 297,
- 342, -1, 257, 301, 302, -1, 261, -1, -1, 307,
- -1, 309, 310, 311, 312, -1, -1, 272, -1, 317,
- 362, -1, 277, 321, -1, -1, 281, 369, -1, 284,
- -1, -1, -1, -1, -1, 333, -1, -1, 336, -1,
- 338, 296, 297, -1, -1, -1, 301, 302, -1, -1,
- -1, -1, 307, -1, 309, 310, 311, 312, -1, -1,
- -1, -1, 317, -1, 362, 257, 321, -1, 323, 261,
- -1, -1, -1, -1, -1, -1, -1, -1, 333, -1,
- 272, 336, -1, 338, -1, 277, -1, 342, -1, 281,
- -1, -1, 284, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 296, 297, -1, 362, -1, 301,
- 302, -1, 257, -1, -1, 307, 261, 309, 310, 311,
- 312, -1, -1, -1, -1, 317, -1, 272, -1, 321,
- -1, 323, 277, -1, -1, -1, 281, -1, -1, 284,
- -1, 333, -1, -1, 336, -1, 338, -1, -1, -1,
- 342, 296, 297, -1, -1, -1, 301, 302, -1, 257,
- -1, -1, 307, 261, 309, 310, 311, 312, -1, -1,
- 362, -1, 317, -1, 272, -1, 321, -1, 323, 277,
- -1, -1, -1, 281, -1, -1, 284, -1, 333, -1,
- -1, 336, -1, 338, -1, -1, -1, 342, 296, 297,
- -1, -1, -1, 301, 302, -1, -1, -1, -1, 307,
- -1, 309, 310, 311, 312, -1, -1, 362, -1, 317,
- -1, -1, -1, 321, -1, 323, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 333, -1, 256, 336, -1,
- 338, -1, -1, -1, 342, 264, 265, 266, 267, -1,
- -1, 270, 271, -1, 273, 274, 275, 276, 277, 278,
- 279, -1, -1, -1, 362, -1, 285, -1, 287, 288,
- 289, 290, 291, 292, -1, -1, 295, -1, -1, -1,
- 299, 300, -1, 302, 303, 304, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 314, -1, 316, -1, 318,
- 319, -1, -1, 322, -1, 324, 325, 326, 327, 328,
- 329, 330, 331, 332, 333, 334, 335, -1, 337, -1,
- -1, 340, 341, -1, 256, 344, 345, -1, -1, -1,
- 262, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 359, 360, 361, 362, 363, -1, -1, -1, 367, -1,
- -1, -1, 371, -1, -1, -1, -1, 376, 377, 378,
- 379, 380, -1, -1, -1, 384, 298, 386, -1, -1,
- -1, -1, -1, 392, 393, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 256, -1, -1, -1, -1, -1, 262, -1, 417, 418,
- 419, 420, -1, -1, -1, -1, -1, 339, -1, -1,
- 429, -1, 344, -1, 346, 347, 348, 349, 350, 351,
- 352, 353, 354, 355, 356, 357, -1, -1, -1, -1,
- -1, 363, 298, -1, -1, -1, 368, 369, 370, 371,
- 372, 373, 374, 375, 376, -1, 378, 379, -1, 381,
- 382, 383, 384, 385, 386, 387, 388, 389, 390, -1,
- 392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
- 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
- 412, 413, -1, 256, -1, -1, 418, -1, 420, 262,
- -1, 423, -1, -1, -1, -1, -1, 429, -1, -1,
- -1, -1, 368, -1, -1, 371, -1, 373, 374, -1,
- -1, -1, 378, 379, -1, -1, 382, 383, 384, 385,
- 386, 387, 388, 389, 390, 298, 392, 393, 394, 395,
- 396, 397, 398, 399, 400, 401, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 412, 413, -1, -1,
- -1, -1, -1, -1, 420, -1, -1, 423, -1, -1,
- -1, -1, -1, 429, -1, -1, 339, -1, -1, -1,
+ -1, 336, -1, 338, 296, 297, -1, 342, 257, 301,
+ 302, -1, 261, -1, -1, 307, -1, 309, 310, 311,
+ 312, -1, -1, 272, -1, 317, -1, 362, 277, 321,
+ -1, 323, 281, -1, -1, 284, -1, -1, -1, -1,
+ -1, 333, -1, -1, 336, -1, 338, 296, 297, -1,
+ 342, -1, 301, 302, -1, -1, -1, -1, 307, -1,
+ 309, 310, 311, 312, -1, -1, -1, -1, 317, -1,
+ 362, -1, 321, -1, 323, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 333, -1, 256, 336, -1, 338,
+ -1, -1, -1, 342, 264, 265, 266, 267, -1, -1,
+ 270, 271, -1, 273, 274, 275, 276, 277, 278, 279,
+ -1, -1, -1, 362, -1, 285, -1, 287, 288, 289,
+ 290, 291, 292, -1, -1, 295, -1, -1, -1, 299,
+ 300, -1, 302, 303, 304, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 314, -1, 316, -1, 318, 319,
+ -1, -1, 322, -1, 324, 325, 326, 327, 328, 329,
+ 330, 331, 332, 333, 334, 335, -1, 337, -1, -1,
+ 340, 341, -1, 256, 344, 345, -1, -1, -1, 262,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 359,
+ 360, 361, 362, 363, -1, -1, -1, 367, -1, -1,
+ -1, 371, -1, -1, -1, -1, 376, 377, 378, 379,
+ 380, -1, -1, -1, 384, 298, 386, -1, -1, -1,
+ -1, -1, 392, 393, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 256,
+ -1, -1, -1, -1, -1, 262, -1, 417, 418, 419,
+ 420, -1, -1, -1, -1, -1, 339, -1, -1, 429,
-1, 344, -1, 346, 347, 348, 349, 350, 351, 352,
- 353, 354, 355, 356, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 367, 368, 369, 370, 371, 372,
+ 353, 354, 355, 356, 357, -1, -1, -1, -1, -1,
+ 363, 298, -1, -1, -1, 368, 369, 370, 371, 372,
373, 374, 375, 376, -1, 378, 379, -1, 381, 382,
383, 384, 385, 386, 387, 388, 389, 390, -1, 392,
393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, 412,
- 413, -1, 256, 256, -1, -1, -1, 420, 262, -1,
- -1, -1, 265, -1, 267, -1, 429, 270, -1, -1,
- -1, -1, 275, -1, -1, -1, 279, -1, -1, -1,
- -1, -1, -1, -1, -1, 288, -1, -1, -1, -1,
- -1, -1, 295, -1, 298, -1, -1, 300, -1, -1,
- -1, 304, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 316, -1, 318, -1, -1, -1, 322,
- -1, -1, -1, -1, -1, -1, -1, 330, 331, 262,
- -1, 334, -1, -1, 337, 339, -1, -1, -1, -1,
+ 413, -1, 256, -1, -1, 418, -1, 420, 262, -1,
+ 423, -1, -1, -1, -1, -1, 429, -1, -1, -1,
+ -1, 368, -1, -1, 371, -1, 373, 374, -1, -1,
+ -1, 378, 379, -1, -1, 382, 383, 384, 385, 386,
+ 387, 388, 389, 390, 298, 392, 393, 394, 395, 396,
+ 397, 398, 399, 400, 401, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 412, 413, -1, -1, -1,
+ -1, -1, -1, 420, -1, -1, 423, -1, -1, -1,
+ -1, -1, 429, -1, -1, 339, -1, -1, -1, -1,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 367, 368, 298, 370, 371, 372, 373,
+ -1, -1, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, -1, 378, 379, -1, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, -1, 392, 393,
394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
- -1, 256, -1, -1, -1, 418, 420, 262, -1, 423,
- -1, -1, -1, -1, -1, 429, -1, -1, -1, -1,
- 363, -1, -1, -1, -1, -1, 369, -1, 371, 372,
- 373, 374, -1, 376, -1, 378, 379, -1, 381, 382,
- 383, 384, 385, 298, 387, 388, 389, 390, -1, 392,
- 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 407, 408, 409, 410, 411, 412,
- 413, -1, -1, -1, -1, 418, -1, 420, -1, -1,
- 423, -1, -1, -1, 339, -1, 429, -1, -1, 344,
+ -1, 256, 256, -1, -1, -1, 420, 262, -1, -1,
+ -1, 265, -1, 267, -1, 429, 270, -1, -1, -1,
+ -1, 275, -1, -1, -1, 279, -1, -1, -1, -1,
+ -1, -1, -1, -1, 288, -1, -1, -1, -1, -1,
+ -1, 295, -1, 298, -1, -1, 300, -1, -1, -1,
+ 304, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 316, -1, 318, -1, -1, -1, 322, -1,
+ -1, -1, -1, -1, -1, -1, 330, 331, 262, -1,
+ 334, -1, -1, 337, 339, -1, -1, -1, -1, 344,
-1, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 368, -1, 370, 371, 372, 373, 374,
+ -1, -1, 367, 368, 298, 370, 371, 372, 373, 374,
375, 376, -1, 378, 379, -1, 381, 382, 383, 384,
385, 386, 387, 388, 389, 390, -1, 392, 393, 394,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, 413, -1,
- 256, 256, -1, -1, -1, 420, 262, -1, 423, -1,
- 265, -1, 267, -1, 429, 270, -1, -1, -1, -1,
- 275, -1, -1, -1, 279, -1, -1, -1, -1, -1,
- -1, -1, -1, 288, -1, -1, -1, -1, -1, -1,
- 295, -1, 298, -1, -1, 300, -1, -1, -1, 304,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 316, -1, 318, -1, -1, -1, 322, -1, -1,
- -1, -1, -1, -1, -1, 330, 331, -1, -1, 334,
- -1, -1, 337, 339, -1, -1, -1, -1, 344, -1,
+ 256, -1, -1, -1, 418, 420, 262, -1, 423, -1,
+ -1, -1, -1, -1, 429, -1, -1, -1, -1, 363,
+ -1, -1, -1, -1, -1, 369, -1, 371, 372, 373,
+ 374, -1, 376, -1, 378, 379, -1, 381, 382, 383,
+ 384, 385, 298, 387, 388, 389, 390, -1, 392, 393,
+ 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ -1, -1, -1, -1, 418, -1, 420, -1, -1, 423,
+ -1, -1, -1, 339, -1, 429, -1, -1, 344, -1,
346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 368, -1, 370, 371, 372, 373, 374, 375,
@@ -11364,7 +11371,7 @@ void case_950()
386, 387, 388, 389, 390, -1, 392, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, -1, 256,
- 256, -1, -1, 418, 420, 262, -1, 423, -1, 265,
+ 256, -1, -1, -1, 420, 262, -1, 423, -1, 265,
-1, 267, -1, 429, 270, -1, -1, -1, -1, 275,
-1, -1, -1, 279, -1, -1, -1, -1, -1, -1,
-1, -1, 288, -1, -1, -1, -1, -1, -1, 295,
@@ -11392,226 +11399,261 @@ void case_950()
348, 349, 350, 351, 352, 353, 354, 355, 356, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
368, -1, 370, 371, 372, 373, 374, 375, 376, -1,
- 378, -1, -1, 381, 382, 383, 384, 385, 386, 387,
+ 378, 379, -1, 381, 382, 383, 384, 385, 386, 387,
388, 389, 390, -1, 392, 393, 394, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
- 408, 409, 410, 411, 412, 413, -1, 256, -1, 261,
- -1, 418, 420, 262, -1, 423, -1, -1, -1, -1,
- -1, 429, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 284, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 297, -1, -1, -1, 298,
- 302, -1, -1, 305, -1, 307, -1, 309, 310, 311,
- 312, -1, -1, -1, -1, 317, -1, -1, -1, 321,
- 256, -1, -1, 325, -1, -1, 262, -1, -1, -1,
- 266, 333, -1, -1, 336, -1, 338, -1, -1, -1,
+ 408, 409, 410, 411, 412, 413, -1, 256, 256, -1,
+ -1, 418, 420, 262, -1, 423, -1, 265, -1, 267,
+ -1, 429, 270, -1, -1, -1, -1, 275, -1, -1,
+ -1, 279, -1, -1, -1, -1, -1, -1, -1, -1,
+ 288, -1, -1, -1, -1, -1, -1, 295, -1, 298,
+ -1, -1, 300, -1, -1, -1, 304, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 316, -1,
+ 318, -1, -1, -1, 322, -1, -1, -1, -1, -1,
+ -1, -1, 330, 331, -1, -1, 334, -1, -1, 337,
339, -1, -1, -1, -1, 344, -1, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, -1, -1,
- 362, -1, 298, -1, -1, -1, -1, -1, -1, 368,
- -1, 370, -1, 372, -1, 374, 375, 376, 314, 378,
- 379, -1, 381, 382, 383, 384, 385, 386, 387, 388,
- 389, 390, -1, -1, -1, 394, 395, 396, 397, 398,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 368,
+ -1, 370, 371, 372, 373, 374, 375, 376, -1, 378,
+ -1, -1, 381, 382, 383, 384, 385, 386, 387, 388,
+ 389, 390, -1, 392, 393, 394, 395, 396, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
- 409, 410, 411, 256, 413, -1, 418, -1, -1, 262,
- -1, 357, -1, -1, -1, -1, -1, 363, -1, -1,
- 429, -1, -1, 369, 370, 371, 372, 373, 374, 375,
- 376, -1, 378, 379, -1, 381, 382, 383, 384, 385,
- 386, 387, 388, 389, 390, 298, 392, 393, 394, 395,
- 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
- 406, 407, 408, 409, 410, 411, 412, 413, -1, -1,
- -1, -1, 418, -1, 420, -1, -1, 423, -1, -1,
- -1, -1, -1, 429, -1, -1, 339, -1, -1, -1,
- -1, 344, -1, 346, 347, 348, 349, 350, 351, 352,
- 353, 354, 355, 356, -1, -1, -1, 256, -1, -1,
- -1, -1, -1, 262, -1, 368, -1, 370, -1, 372,
- -1, 374, 375, 376, -1, 378, 379, -1, -1, 382,
- 383, 384, 385, 386, 387, 388, 389, 390, -1, -1,
- -1, 394, 395, 396, 397, 398, 399, 400, 401, 298,
+ 409, 410, 411, 412, 413, -1, 256, -1, 261, -1,
+ 418, 420, 262, -1, 423, -1, -1, -1, -1, -1,
+ 429, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 284, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 297, -1, -1, -1, 298, 302,
+ -1, -1, 305, -1, 307, -1, 309, 310, 311, 312,
+ -1, -1, -1, -1, 317, -1, -1, -1, 321, 256,
+ -1, -1, 325, -1, -1, 262, -1, -1, -1, 266,
+ 333, -1, -1, 336, -1, 338, -1, -1, -1, 339,
+ -1, -1, -1, -1, 344, -1, 346, 347, 348, 349,
+ 350, 351, 352, 353, 354, 355, 356, -1, -1, 362,
+ -1, 298, -1, -1, -1, -1, -1, -1, 368, -1,
+ 370, -1, 372, -1, 374, 375, 376, 314, 378, 379,
+ -1, 381, 382, 383, 384, 385, 386, 387, 388, 389,
+ 390, -1, -1, -1, 394, 395, 396, 397, 398, 399,
+ 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 256, 413, -1, 418, -1, -1, 262, -1,
+ 357, -1, -1, -1, -1, -1, 363, -1, -1, 429,
+ -1, -1, 369, 370, 371, 372, 373, 374, 375, 376,
+ -1, 378, 379, -1, 381, 382, 383, 384, 385, 386,
+ 387, 388, 389, 390, 298, 392, 393, 394, 395, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 408, 409, 410, 411, 412, 413, -1, -1, -1,
+ -1, 418, -1, 420, -1, -1, 423, -1, -1, -1,
+ -1, -1, 429, -1, -1, 339, -1, -1, -1, -1,
+ 344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
+ 354, 355, 356, -1, -1, -1, 256, -1, -1, -1,
+ -1, -1, 262, -1, 368, -1, 370, -1, 372, -1,
+ 374, 375, 376, -1, 378, 379, -1, -1, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, -1, -1, -1,
+ 394, 395, 396, 397, 398, 399, 400, 401, 298, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 413,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 413, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 256, 429, -1, -1, -1,
- -1, 262, -1, -1, -1, -1, -1, -1, -1, -1,
- 339, -1, -1, -1, -1, 344, -1, 346, 347, 348,
- 349, 350, 351, 352, 353, 354, 355, 356, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 298, -1, 368,
- -1, 370, -1, 372, -1, 374, 375, 376, -1, 378,
- 379, -1, -1, 382, 383, 384, 385, -1, -1, -1,
- 389, 390, -1, -1, -1, 394, 395, 396, 397, 398,
- 399, 400, 401, -1, -1, -1, -1, -1, 339, -1,
- -1, -1, -1, 344, 413, 346, 347, 348, 349, 350,
- 351, 352, 353, 354, 355, 356, -1, -1, -1, 256,
- 429, -1, -1, -1, -1, 262, -1, 368, -1, 370,
- -1, 372, -1, 374, 375, 376, -1, 378, 379, -1,
- -1, 382, 383, 384, 385, -1, -1, -1, 389, 390,
- -1, -1, -1, 394, 395, 396, 397, 398, 399, 400,
- 401, 298, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 413, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 256, 429, -1,
- -1, -1, -1, 262, -1, -1, -1, -1, -1, -1,
- -1, -1, 339, -1, -1, -1, -1, 344, -1, 346,
- 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 298,
- -1, 368, -1, 370, -1, 372, -1, 374, 375, 376,
- -1, 378, 379, -1, -1, 382, 383, 384, 385, -1,
- -1, -1, 389, 390, -1, 256, -1, 394, 395, 396,
- 397, 398, 399, 400, 401, -1, -1, -1, -1, -1,
- 339, -1, -1, -1, -1, 344, 413, 346, 347, 348,
- 349, 350, 351, 352, 353, 354, 355, 356, -1, -1,
- -1, -1, 429, -1, -1, -1, -1, -1, -1, 368,
- -1, 370, -1, 372, -1, 374, 375, 376, -1, 378,
- 379, -1, -1, 382, 383, 384, 385, -1, -1, -1,
- 389, 390, -1, 256, -1, 394, 395, 396, 397, 398,
- 399, 400, 401, -1, -1, -1, -1, -1, 339, -1,
- -1, -1, -1, 344, 413, 346, 347, 348, 349, 350,
- 351, 352, 353, 354, 355, 356, -1, -1, -1, -1,
- 429, -1, -1, -1, -1, -1, -1, 368, -1, 370,
- -1, 372, -1, 374, 375, 376, -1, -1, -1, -1,
- -1, 382, 383, 384, 385, -1, -1, -1, 389, 390,
- -1, 256, -1, 394, 395, 396, 397, 398, 399, 400,
- 401, -1, -1, -1, -1, -1, 339, -1, -1, -1,
- -1, 344, 413, 346, 347, 348, 349, 350, 351, 352,
- 353, 354, 355, 356, -1, -1, -1, -1, 429, -1,
- -1, -1, -1, -1, -1, 368, -1, 370, -1, 372,
- -1, 374, 375, 376, -1, -1, -1, -1, -1, 382,
- 383, 384, 385, -1, -1, -1, 389, 390, -1, 256,
- -1, 394, 395, 396, 397, 398, 399, 400, 401, -1,
- -1, -1, -1, -1, 339, -1, -1, -1, -1, 344,
- 413, 346, 347, 348, 349, 350, 351, 352, 353, 354,
- 355, 356, -1, -1, -1, -1, 429, -1, -1, -1,
- -1, -1, -1, 368, -1, 370, -1, 372, -1, 374,
- 375, 376, -1, -1, -1, -1, -1, 382, 383, 384,
- 385, -1, -1, -1, 389, 390, -1, 256, -1, 394,
- 395, 396, 397, 398, 399, 400, 401, -1, -1, -1,
- -1, -1, 339, -1, -1, -1, -1, 344, 413, 346,
- 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
- -1, -1, -1, -1, 429, -1, -1, -1, -1, -1,
- -1, 368, -1, 370, -1, 372, -1, 374, 375, 376,
- -1, -1, -1, -1, -1, 382, 383, 384, 385, -1,
- -1, -1, 389, 390, -1, 256, -1, -1, -1, 396,
- 397, 398, 399, 400, 401, -1, -1, -1, -1, -1,
- 339, -1, -1, -1, -1, 344, 413, 346, 347, 348,
- 349, 350, 351, 352, 353, 354, 355, 356, -1, -1,
- -1, -1, 429, -1, -1, -1, -1, -1, -1, 368,
- -1, 370, -1, 372, -1, 374, 375, 376, -1, -1,
- -1, -1, -1, 382, 383, 384, 385, -1, -1, -1,
- 389, 390, -1, 256, -1, -1, -1, 396, 397, 398,
- 399, 400, 401, -1, -1, -1, -1, -1, 339, -1,
- -1, -1, -1, 344, 413, 346, 347, 348, 349, 350,
- 351, 352, 353, 354, 355, 356, -1, -1, -1, -1,
- 429, -1, -1, -1, -1, -1, -1, 368, -1, 370,
- -1, 372, -1, 374, 375, 376, -1, -1, -1, -1,
- -1, 382, 383, 384, 385, -1, -1, -1, 389, 390,
- -1, 256, -1, -1, -1, 396, 397, 398, 399, 400,
- 401, -1, -1, -1, -1, -1, 339, -1, -1, -1,
- -1, 344, 413, 346, 347, 348, 349, 350, 351, 352,
- 353, 354, 355, 356, -1, -1, -1, -1, 429, -1,
- -1, -1, -1, -1, -1, 368, -1, 370, -1, 372,
- -1, 374, 375, 376, -1, -1, -1, -1, -1, 382,
- 383, 384, 385, -1, -1, -1, 389, 390, -1, 256,
- -1, -1, -1, 396, 397, 398, 399, 400, 401, -1,
- -1, -1, -1, -1, 339, -1, -1, -1, -1, 344,
- 413, 346, 347, 348, 349, 350, 351, 352, 353, 354,
- 355, 356, -1, -1, -1, -1, 429, -1, -1, -1,
- -1, -1, -1, 368, -1, 370, -1, 372, -1, 374,
- 375, 376, -1, -1, -1, -1, -1, 382, 383, 384,
- 385, -1, -1, -1, 389, 390, -1, 256, -1, -1,
- -1, 396, 397, 398, 399, 400, 401, -1, -1, -1,
- -1, -1, 339, -1, -1, -1, -1, 344, 413, 346,
- 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
- -1, -1, -1, -1, 429, -1, -1, -1, -1, -1,
- -1, 368, -1, 370, -1, 372, -1, 374, 375, 376,
- -1, -1, -1, -1, -1, -1, -1, 384, 385, -1,
- -1, -1, 389, 390, -1, 256, -1, -1, -1, -1,
- -1, 398, 399, 400, 401, -1, -1, -1, -1, -1,
- 339, -1, -1, -1, -1, 344, 413, 346, 347, 348,
- 349, 350, 351, 352, 353, 354, 355, 356, -1, -1,
- -1, -1, 429, -1, -1, -1, -1, -1, -1, 368,
- -1, 370, -1, 372, -1, 374, 375, 376, -1, -1,
- -1, -1, -1, -1, -1, 384, 385, -1, -1, -1,
- 389, 390, -1, 256, -1, -1, -1, -1, -1, 398,
- 399, 400, 401, -1, -1, -1, -1, -1, 339, -1,
- -1, -1, -1, 344, 413, 346, 347, 348, 349, 350,
- 351, 352, 353, 354, 355, 356, -1, -1, -1, -1,
- 429, -1, -1, -1, -1, -1, -1, 368, -1, 370,
- -1, 372, -1, 374, 375, 376, -1, -1, -1, -1,
- -1, -1, -1, 384, 385, -1, -1, -1, 389, 390,
- -1, 256, -1, -1, -1, -1, -1, 398, 399, 400,
- 401, -1, -1, -1, -1, -1, 339, -1, -1, -1,
- -1, 344, 413, 346, 347, 348, 349, 350, 351, 352,
- 353, 354, 355, 356, -1, -1, -1, -1, 429, -1,
- -1, -1, -1, -1, -1, 368, -1, 370, -1, 372,
- -1, 374, 375, 376, -1, -1, -1, -1, -1, -1,
- -1, 384, 385, -1, -1, -1, 389, 390, -1, 256,
- -1, -1, -1, -1, -1, -1, -1, 400, 401, -1,
- -1, -1, -1, -1, 339, -1, -1, -1, -1, 344,
- 413, 346, 347, 348, 349, 350, 351, 352, 353, 354,
- 355, 356, -1, -1, -1, -1, 429, -1, -1, -1,
- -1, -1, -1, 368, -1, 370, -1, 372, -1, 374,
- 375, 376, -1, -1, -1, -1, -1, -1, -1, 384,
- 385, -1, -1, -1, 389, 390, -1, 256, -1, -1,
- -1, -1, -1, -1, -1, 400, 401, -1, -1, -1,
- -1, -1, 339, -1, -1, -1, -1, 344, 413, 346,
- 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
- -1, -1, -1, -1, 429, -1, -1, -1, -1, -1,
- -1, 368, -1, 370, -1, 372, -1, 374, 375, 376,
- -1, -1, -1, -1, -1, -1, -1, -1, 385, -1,
- -1, -1, 389, 390, -1, 256, -1, -1, -1, -1,
- -1, -1, -1, 400, 401, -1, -1, -1, -1, -1,
- 339, -1, -1, -1, -1, 344, 413, 346, 347, 348,
- 349, 350, 351, 352, 353, 354, 355, 356, -1, -1,
- -1, -1, 429, -1, -1, -1, -1, -1, -1, 368,
- -1, 370, -1, 372, -1, 374, 375, 376, -1, -1,
- -1, -1, -1, -1, -1, -1, 385, -1, -1, -1,
- 389, 390, -1, 256, -1, -1, -1, -1, -1, -1,
- -1, 400, 401, -1, -1, -1, -1, -1, 339, -1,
- -1, -1, -1, 344, 413, 346, 347, 348, 349, 350,
- 351, 352, 353, 354, 355, 356, -1, -1, -1, -1,
- 429, -1, -1, -1, -1, -1, -1, 368, -1, 370,
- -1, 372, -1, 374, 375, 376, -1, -1, -1, -1,
- -1, -1, -1, -1, 385, -1, -1, -1, -1, 390,
- -1, 256, -1, -1, -1, -1, -1, -1, -1, 400,
- 401, -1, -1, -1, -1, -1, 339, -1, -1, -1,
- -1, 344, 413, 346, 347, 348, 349, 350, 351, 352,
- 353, 354, 355, 356, -1, -1, -1, -1, 429, -1,
- -1, -1, -1, -1, -1, 368, -1, 370, -1, 372,
- -1, 374, 375, 376, -1, -1, -1, -1, -1, -1,
- -1, -1, 385, -1, -1, -1, -1, 390, -1, 256,
- -1, -1, -1, -1, -1, -1, -1, 400, 401, -1,
- -1, -1, -1, -1, 339, -1, -1, -1, -1, 344,
- 413, 346, 347, 348, 349, 350, 351, 352, 353, 354,
- 355, 356, -1, -1, -1, -1, 429, -1, -1, -1,
- -1, -1, -1, 368, -1, 370, -1, 372, -1, 374,
- 375, 376, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 390, -1, 256, -1, -1,
- -1, -1, -1, -1, -1, 400, 401, -1, -1, -1,
- -1, -1, 339, -1, -1, -1, -1, 344, 413, 346,
- 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
- -1, -1, -1, -1, 429, -1, -1, -1, -1, -1,
- -1, 368, -1, 370, -1, 372, -1, 374, 375, 376,
- -1, -1, -1, 256, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 390, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 400, 401, -1, -1, -1, -1, -1,
- 339, -1, -1, -1, -1, 344, 413, 346, 347, 348,
- 349, 350, 351, 352, 353, 354, 355, 356, -1, -1,
- -1, -1, 429, -1, -1, -1, -1, -1, -1, 368,
- -1, 370, -1, 372, -1, 374, 375, 376, -1, -1,
- -1, 256, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 390, -1, -1, -1, -1, 339, -1, -1, -1,
- -1, 344, 401, 346, 347, 348, 349, 350, 351, 352,
- 353, 354, 355, 356, 413, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 368, -1, 370, -1, 372,
- 429, 374, 375, 376, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 390, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 401, -1,
- -1, -1, -1, -1, 339, -1, -1, -1, -1, 344,
- 413, 346, 347, 348, 349, 350, 351, 352, 353, 354,
- 355, 356, -1, -1, -1, -1, 429, -1, -1, -1,
- -1, -1, -1, 368, -1, 370, -1, 372, -1, 374,
- 375, 376, 256, -1, -1, -1, -1, -1, -1, -1,
- 264, 265, 266, 267, -1, 390, 270, 271, -1, 273,
+ -1, -1, -1, -1, 256, 429, -1, -1, -1, -1,
+ 262, -1, -1, -1, -1, -1, -1, -1, -1, 339,
+ -1, -1, -1, -1, 344, -1, 346, 347, 348, 349,
+ 350, 351, 352, 353, 354, 355, 356, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 298, -1, 368, -1,
+ 370, -1, 372, -1, 374, 375, 376, -1, 378, 379,
+ -1, -1, 382, 383, 384, 385, -1, -1, -1, 389,
+ 390, -1, -1, -1, 394, 395, 396, 397, 398, 399,
+ 400, 401, -1, -1, -1, -1, -1, 339, -1, -1,
+ -1, -1, 344, 413, 346, 347, 348, 349, 350, 351,
+ 352, 353, 354, 355, 356, -1, -1, -1, 256, 429,
+ -1, -1, -1, -1, 262, -1, 368, -1, 370, -1,
+ 372, -1, 374, 375, 376, -1, 378, 379, -1, -1,
+ 382, 383, 384, 385, -1, -1, -1, 389, 390, -1,
+ -1, -1, 394, 395, 396, 397, 398, 399, 400, 401,
+ 298, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 413, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 256, 429, -1, -1,
+ -1, -1, 262, -1, -1, -1, -1, -1, -1, -1,
+ -1, 339, -1, -1, -1, -1, 344, -1, 346, 347,
+ 348, 349, 350, 351, 352, 353, 354, 355, 356, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 298, -1,
+ 368, -1, 370, -1, 372, -1, 374, 375, 376, -1,
+ 378, 379, -1, -1, 382, 383, 384, 385, -1, -1,
+ -1, 389, 390, -1, 256, -1, 394, 395, 396, 397,
+ 398, 399, 400, 401, -1, -1, -1, -1, -1, 339,
+ -1, -1, -1, -1, 344, 413, 346, 347, 348, 349,
+ 350, 351, 352, 353, 354, 355, 356, -1, -1, -1,
+ -1, 429, -1, -1, -1, -1, -1, -1, 368, -1,
+ 370, -1, 372, -1, 374, 375, 376, -1, 378, 379,
+ -1, -1, 382, 383, 384, 385, -1, -1, -1, 389,
+ 390, -1, 256, -1, 394, 395, 396, 397, 398, 399,
+ 400, 401, -1, -1, -1, -1, -1, 339, -1, -1,
+ -1, -1, 344, 413, 346, 347, 348, 349, 350, 351,
+ 352, 353, 354, 355, 356, -1, -1, -1, -1, 429,
+ -1, -1, -1, -1, -1, -1, 368, -1, 370, -1,
+ 372, -1, 374, 375, 376, -1, -1, -1, -1, -1,
+ 382, 383, 384, 385, -1, -1, -1, 389, 390, -1,
+ 256, -1, 394, 395, 396, 397, 398, 399, 400, 401,
+ -1, -1, -1, -1, -1, 339, -1, -1, -1, -1,
+ 344, 413, 346, 347, 348, 349, 350, 351, 352, 353,
+ 354, 355, 356, -1, -1, -1, -1, 429, -1, -1,
+ -1, -1, -1, -1, 368, -1, 370, -1, 372, -1,
+ 374, 375, 376, -1, -1, -1, -1, -1, 382, 383,
+ 384, 385, -1, -1, -1, 389, 390, -1, 256, -1,
+ 394, 395, 396, 397, 398, 399, 400, 401, -1, -1,
+ -1, -1, -1, 339, -1, -1, -1, -1, 344, 413,
+ 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
+ 356, -1, -1, -1, -1, 429, -1, -1, -1, -1,
+ -1, -1, 368, -1, 370, -1, 372, -1, 374, 375,
+ 376, -1, -1, -1, -1, -1, 382, 383, 384, 385,
+ -1, -1, -1, 389, 390, -1, 256, -1, 394, 395,
+ 396, 397, 398, 399, 400, 401, -1, -1, -1, -1,
+ -1, 339, -1, -1, -1, -1, 344, 413, 346, 347,
+ 348, 349, 350, 351, 352, 353, 354, 355, 356, -1,
+ -1, -1, -1, 429, -1, -1, -1, -1, -1, -1,
+ 368, -1, 370, -1, 372, -1, 374, 375, 376, -1,
+ -1, -1, -1, -1, 382, 383, 384, 385, -1, -1,
+ -1, 389, 390, -1, 256, -1, -1, -1, 396, 397,
+ 398, 399, 400, 401, -1, -1, -1, -1, -1, 339,
+ -1, -1, -1, -1, 344, 413, 346, 347, 348, 349,
+ 350, 351, 352, 353, 354, 355, 356, -1, -1, -1,
+ -1, 429, -1, -1, -1, -1, -1, -1, 368, -1,
+ 370, -1, 372, -1, 374, 375, 376, -1, -1, -1,
+ -1, -1, 382, 383, 384, 385, -1, -1, -1, 389,
+ 390, -1, 256, -1, -1, -1, 396, 397, 398, 399,
+ 400, 401, -1, -1, -1, -1, -1, 339, -1, -1,
+ -1, -1, 344, 413, 346, 347, 348, 349, 350, 351,
+ 352, 353, 354, 355, 356, -1, -1, -1, -1, 429,
+ -1, -1, -1, -1, -1, -1, 368, -1, 370, -1,
+ 372, -1, 374, 375, 376, -1, -1, -1, -1, -1,
+ 382, 383, 384, 385, -1, -1, -1, 389, 390, -1,
+ 256, -1, -1, -1, 396, 397, 398, 399, 400, 401,
+ -1, -1, -1, -1, -1, 339, -1, -1, -1, -1,
+ 344, 413, 346, 347, 348, 349, 350, 351, 352, 353,
+ 354, 355, 356, -1, -1, -1, -1, 429, -1, -1,
+ -1, -1, -1, -1, 368, -1, 370, -1, 372, -1,
+ 374, 375, 376, -1, -1, -1, -1, -1, 382, 383,
+ 384, 385, -1, -1, -1, 389, 390, -1, 256, -1,
+ -1, -1, 396, 397, 398, 399, 400, 401, -1, -1,
+ -1, -1, -1, 339, -1, -1, -1, -1, 344, 413,
+ 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
+ 356, -1, -1, -1, -1, 429, -1, -1, -1, -1,
+ -1, -1, 368, -1, 370, -1, 372, -1, 374, 375,
+ 376, -1, -1, -1, -1, -1, 382, 383, 384, 385,
+ -1, -1, -1, 389, 390, -1, 256, -1, -1, -1,
+ 396, 397, 398, 399, 400, 401, -1, -1, -1, -1,
+ -1, 339, -1, -1, -1, -1, 344, 413, 346, 347,
+ 348, 349, 350, 351, 352, 353, 354, 355, 356, -1,
+ -1, -1, -1, 429, -1, -1, -1, -1, -1, -1,
+ 368, -1, 370, -1, 372, -1, 374, 375, 376, -1,
+ -1, -1, -1, -1, -1, -1, 384, 385, -1, -1,
+ -1, 389, 390, -1, 256, -1, -1, -1, -1, -1,
+ 398, 399, 400, 401, -1, -1, -1, -1, -1, 339,
+ -1, -1, -1, -1, 344, 413, 346, 347, 348, 349,
+ 350, 351, 352, 353, 354, 355, 356, -1, -1, -1,
+ -1, 429, -1, -1, -1, -1, -1, -1, 368, -1,
+ 370, -1, 372, -1, 374, 375, 376, -1, -1, -1,
+ -1, -1, -1, -1, 384, 385, -1, -1, -1, 389,
+ 390, -1, 256, -1, -1, -1, -1, -1, 398, 399,
+ 400, 401, -1, -1, -1, -1, -1, 339, -1, -1,
+ -1, -1, 344, 413, 346, 347, 348, 349, 350, 351,
+ 352, 353, 354, 355, 356, -1, -1, -1, -1, 429,
+ -1, -1, -1, -1, -1, -1, 368, -1, 370, -1,
+ 372, -1, 374, 375, 376, -1, -1, -1, -1, -1,
+ -1, -1, 384, 385, -1, -1, -1, 389, 390, -1,
+ 256, -1, -1, -1, -1, -1, 398, 399, 400, 401,
+ -1, -1, -1, -1, -1, 339, -1, -1, -1, -1,
+ 344, 413, 346, 347, 348, 349, 350, 351, 352, 353,
+ 354, 355, 356, -1, -1, -1, -1, 429, -1, -1,
+ -1, -1, -1, -1, 368, -1, 370, -1, 372, -1,
+ 374, 375, 376, -1, -1, -1, -1, -1, -1, -1,
+ 384, 385, -1, -1, -1, 389, 390, -1, 256, -1,
+ -1, -1, -1, -1, -1, -1, 400, 401, -1, -1,
+ -1, -1, -1, 339, -1, -1, -1, -1, 344, 413,
+ 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
+ 356, -1, -1, -1, -1, 429, -1, -1, -1, -1,
+ -1, -1, 368, -1, 370, -1, 372, -1, 374, 375,
+ 376, -1, -1, -1, -1, -1, -1, -1, 384, 385,
+ -1, -1, -1, 389, 390, -1, 256, -1, -1, -1,
+ -1, -1, -1, -1, 400, 401, -1, -1, -1, -1,
+ -1, 339, -1, -1, -1, -1, 344, 413, 346, 347,
+ 348, 349, 350, 351, 352, 353, 354, 355, 356, -1,
+ -1, -1, -1, 429, -1, -1, -1, -1, -1, -1,
+ 368, -1, 370, -1, 372, -1, 374, 375, 376, -1,
+ -1, -1, -1, -1, -1, -1, -1, 385, -1, -1,
+ -1, 389, 390, -1, 256, -1, -1, -1, -1, -1,
+ -1, -1, 400, 401, -1, -1, -1, -1, -1, 339,
+ -1, -1, -1, -1, 344, 413, 346, 347, 348, 349,
+ 350, 351, 352, 353, 354, 355, 356, -1, -1, -1,
+ -1, 429, -1, -1, -1, -1, -1, -1, 368, -1,
+ 370, -1, 372, -1, 374, 375, 376, -1, -1, -1,
+ -1, -1, -1, -1, -1, 385, -1, -1, -1, 389,
+ 390, -1, 256, -1, -1, -1, -1, -1, -1, -1,
+ 400, 401, -1, -1, -1, -1, -1, 339, -1, -1,
+ -1, -1, 344, 413, 346, 347, 348, 349, 350, 351,
+ 352, 353, 354, 355, 356, -1, -1, -1, -1, 429,
+ -1, -1, -1, -1, -1, -1, 368, -1, 370, -1,
+ 372, -1, 374, 375, 376, -1, -1, -1, -1, -1,
+ -1, -1, -1, 385, -1, -1, -1, -1, 390, -1,
+ 256, -1, -1, -1, -1, -1, -1, -1, 400, 401,
+ -1, -1, -1, -1, -1, 339, -1, -1, -1, -1,
+ 344, 413, 346, 347, 348, 349, 350, 351, 352, 353,
+ 354, 355, 356, -1, -1, -1, -1, 429, -1, -1,
+ -1, -1, -1, -1, 368, -1, 370, -1, 372, -1,
+ 374, 375, 376, -1, -1, -1, -1, -1, -1, -1,
+ -1, 385, -1, -1, -1, -1, 390, -1, 256, -1,
+ -1, -1, -1, -1, -1, -1, 400, 401, -1, -1,
+ -1, -1, -1, 339, -1, -1, -1, -1, 344, 413,
+ 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
+ 356, -1, -1, -1, -1, 429, -1, -1, -1, -1,
+ -1, -1, 368, -1, 370, -1, 372, -1, 374, 375,
+ 376, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 390, -1, 256, -1, -1, -1,
+ -1, -1, -1, -1, 400, 401, -1, -1, -1, -1,
+ -1, 339, -1, -1, -1, -1, 344, 413, 346, 347,
+ 348, 349, 350, 351, 352, 353, 354, 355, 356, -1,
+ -1, -1, -1, 429, -1, -1, -1, -1, -1, -1,
+ 368, -1, 370, -1, 372, -1, 374, 375, 376, -1,
+ -1, -1, 256, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 390, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 400, 401, -1, -1, -1, -1, -1, 339,
+ -1, -1, -1, -1, 344, 413, 346, 347, 348, 349,
+ 350, 351, 352, 353, 354, 355, 356, -1, -1, -1,
+ -1, 429, -1, -1, -1, -1, -1, -1, 368, -1,
+ 370, -1, 372, -1, 374, 375, 376, -1, -1, -1,
+ -1, 262, -1, -1, -1, 266, -1, -1, -1, -1,
+ 390, -1, -1, -1, -1, 339, -1, -1, -1, -1,
+ 344, 401, 346, 347, 348, 349, 350, 351, 352, 353,
+ 354, 355, 356, 413, -1, -1, -1, 298, -1, -1,
+ -1, -1, -1, -1, 368, -1, 370, -1, 372, 429,
+ 374, 375, 376, 314, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 390, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 401, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 413,
+ -1, -1, -1, -1, -1, -1, 357, -1, -1, -1,
+ -1, -1, 363, -1, -1, 429, -1, -1, 369, -1,
+ 371, -1, 373, -1, 375, 376, -1, 378, 379, -1,
+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
+ -1, 392, 393, 394, 395, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ 411, 412, 413, -1, -1, 256, -1, 418, -1, 420,
+ -1, -1, 423, 264, 265, 266, 267, -1, 429, 270,
+ 271, -1, 273, 274, 275, 276, 277, 278, 279, -1,
+ -1, -1, -1, -1, 285, -1, 287, 288, 289, 290,
+ 291, 292, -1, -1, 295, -1, -1, -1, 299, 300,
+ -1, 302, 303, 304, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 314, -1, 316, -1, 318, 319, -1,
+ -1, 322, -1, 324, 325, 326, 327, 328, 329, 330,
+ 331, 332, 333, 334, 335, -1, 337, -1, -1, 340,
+ 341, -1, -1, 344, 345, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 359, 360,
+ 361, 362, 363, -1, -1, -1, 367, -1, -1, -1,
+ 371, -1, -1, -1, -1, 376, 377, 378, 379, 380,
+ -1, -1, -1, 384, -1, 386, -1, -1, -1, -1,
+ -1, 392, 393, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 256, -1, -1, -1, 417, 418, 419, 420,
+ 264, 265, 266, 267, -1, -1, 270, 271, -1, 273,
274, 275, 276, 277, 278, 279, -1, -1, -1, -1,
-1, 285, -1, 287, 288, 289, 290, 291, 292, -1,
-1, 295, -1, -1, -1, 299, 300, -1, 302, 303,
- 304, -1, -1, -1, 429, -1, -1, -1, -1, -1,
+ 304, -1, -1, -1, -1, -1, -1, -1, -1, -1,
314, -1, 316, -1, 318, 319, -1, -1, 322, -1,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, 335, -1, 337, -1, -1, 340, 341, -1, -1,
@@ -11670,114 +11712,114 @@ void case_950()
393, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
256, -1, -1, -1, 417, 418, 419, 420, 264, 265,
- 266, 267, -1, -1, 270, 271, -1, 273, 274, 275,
- 276, 277, 278, 279, -1, -1, -1, -1, -1, 285,
- -1, 287, 288, 289, 290, 291, 292, -1, -1, 295,
- -1, -1, -1, 299, 300, -1, 302, 303, 304, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 314, -1,
- 316, -1, 318, 319, -1, -1, 322, -1, 324, 325,
- 326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
- -1, 337, -1, -1, 340, 341, -1, -1, 344, 345,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 267, -1, -1, 270, 271, -1, -1, -1, 275,
+ 276, 277, -1, 279, -1, -1, 265, -1, 267, 285,
+ -1, 270, 288, -1, -1, -1, 275, -1, -1, 295,
+ 279, -1, -1, -1, 300, -1, 302, 303, 304, 288,
+ -1, -1, -1, -1, -1, -1, 295, -1, -1, -1,
+ 316, 300, 318, 319, -1, 304, 322, -1, -1, 325,
+ -1, 327, -1, 329, 330, 331, 332, 316, 334, 318,
+ -1, -1, -1, 322, -1, 341, -1, -1, 344, 345,
+ -1, 330, 331, -1, -1, 334, -1, -1, 337, -1,
-1, -1, -1, 359, 360, 361, 362, 363, -1, -1,
- -1, 367, -1, -1, -1, 371, -1, -1, -1, -1,
- 376, 377, 378, 379, 380, -1, -1, -1, 384, -1,
- 386, -1, -1, -1, -1, -1, 392, 393, -1, -1,
+ -1, 367, 368, -1, -1, 371, -1, -1, -1, -1,
+ -1, 377, 378, 379, 380, -1, -1, -1, 384, -1,
+ 386, -1, -1, 372, -1, -1, 392, 393, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 256, -1, -1,
-1, 417, 418, 419, 420, 264, 265, -1, 267, -1,
- -1, 270, 271, -1, -1, -1, 275, 276, 277, -1,
+ -1, 270, 271, -1, -1, -1, 275, 276, 277, 418,
279, -1, -1, 265, -1, 267, 285, -1, 270, 288,
-1, -1, -1, 275, -1, -1, 295, 279, -1, -1,
-1, 300, -1, 302, 303, 304, 288, -1, -1, -1,
-1, -1, -1, 295, -1, -1, -1, 316, 300, 318,
- 319, -1, 304, 322, -1, -1, 325, -1, 327, -1,
+ 319, 320, 304, 322, -1, -1, 325, -1, 327, -1,
329, 330, 331, 332, 316, 334, 318, -1, -1, -1,
322, -1, 341, -1, -1, 344, 345, -1, 330, 331,
-1, -1, 334, -1, -1, 337, -1, -1, -1, -1,
- 359, 360, 361, 362, 363, -1, -1, -1, 367, 368,
+ 359, 360, 361, 362, 363, -1, -1, -1, 367, -1,
-1, -1, 371, -1, -1, -1, -1, -1, 377, 378,
- 379, 380, -1, -1, -1, 384, -1, 386, -1, -1,
- 372, -1, -1, 392, 393, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 256, -1, -1, -1, 417, 418,
- 419, 420, 264, 265, -1, 267, -1, -1, 270, 271,
- -1, -1, -1, 275, 276, 277, 418, 279, -1, -1,
- 265, -1, 267, 285, -1, 270, 288, -1, -1, -1,
- 275, -1, -1, 295, 279, -1, -1, -1, 300, -1,
- 302, 303, 304, 288, -1, -1, -1, -1, -1, -1,
- 295, -1, -1, -1, 316, 300, 318, 319, 320, 304,
- 322, -1, -1, 325, -1, 327, -1, 329, 330, 331,
- 332, 316, 334, 318, -1, -1, -1, 322, -1, 341,
- -1, -1, 344, 345, -1, 330, 331, -1, -1, 334,
- -1, -1, 337, -1, -1, -1, -1, 359, 360, 361,
- 362, 363, -1, -1, -1, 367, -1, -1, -1, 371,
- -1, -1, -1, -1, -1, 377, 378, 379, 380, -1,
- -1, -1, 384, -1, 386, 370, -1, -1, -1, -1,
- 392, 393, -1, -1, -1, -1, -1, -1, 264, 265,
- -1, 267, -1, -1, 270, 271, -1, -1, -1, 275,
- 276, 277, -1, 279, -1, 417, 418, 419, 420, 285,
- -1, -1, 288, -1, -1, -1, -1, -1, -1, 295,
- -1, -1, -1, 418, 300, -1, 302, 303, 304, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 316, -1, 318, 319, -1, -1, 322, -1, -1, 325,
- -1, 327, -1, 329, 330, 331, 332, -1, 334, -1,
- -1, -1, -1, -1, -1, 341, -1, -1, 344, 345,
+ 379, 380, -1, -1, -1, 384, -1, 386, 370, -1,
+ -1, -1, -1, 392, 393, -1, -1, -1, -1, -1,
+ -1, 264, 265, -1, 267, -1, -1, 270, 271, -1,
+ -1, -1, 275, 276, 277, -1, 279, -1, 417, 418,
+ 419, 420, 285, -1, -1, 288, -1, -1, -1, -1,
+ -1, -1, 295, -1, -1, -1, 418, 300, -1, 302,
+ 303, 304, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 316, -1, 318, 319, -1, -1, 322,
+ -1, -1, 325, -1, 327, -1, 329, 330, 331, 332,
+ -1, 334, -1, -1, -1, -1, -1, -1, 341, -1,
+ -1, 344, 345, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 359, 360, 361, 362,
+ 363, -1, -1, -1, 367, 368, -1, -1, 371, -1,
+ -1, -1, -1, -1, 377, 378, 379, 380, -1, -1,
+ -1, 384, -1, 386, -1, -1, -1, -1, -1, 392,
+ 393, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 359, 360, 361, 362, 363, -1, -1,
- -1, 367, 368, -1, -1, 371, -1, -1, -1, -1,
- -1, 377, 378, 379, 380, -1, -1, -1, 384, -1,
- 386, -1, -1, -1, -1, -1, 392, 393, -1, -1,
+ -1, -1, 256, -1, 417, 418, 419, 420, -1, -1,
+ 264, 265, -1, 267, -1, 428, 270, 271, -1, -1,
+ -1, 275, 276, 277, -1, 279, -1, -1, 265, -1,
+ 267, 285, -1, 270, 288, -1, -1, -1, 275, -1,
+ -1, 295, 279, -1, -1, -1, 300, -1, 302, 303,
+ 304, 288, -1, -1, -1, -1, -1, -1, 295, -1,
+ -1, -1, 316, 300, 318, 319, 320, 304, 322, -1,
+ -1, 325, -1, 327, -1, 329, 330, 331, 332, 316,
+ 334, 318, -1, -1, -1, 322, -1, 341, -1, -1,
+ 344, 345, -1, 330, 331, -1, -1, 334, -1, -1,
+ 337, -1, -1, -1, -1, 359, 360, 361, 362, 363,
+ -1, -1, -1, 367, -1, -1, -1, 371, -1, -1,
+ -1, -1, -1, 377, 378, 379, 380, -1, -1, -1,
+ 384, -1, 386, -1, -1, -1, -1, -1, 392, 393,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 256,
- -1, 417, 418, 419, 420, -1, -1, 264, 265, -1,
- 267, -1, 428, 270, 271, -1, -1, -1, 275, 276,
- 277, -1, 279, -1, -1, 265, -1, 267, 285, -1,
+ -1, -1, -1, 417, 418, 419, 420, 264, 265, -1,
+ 267, -1, -1, 270, 271, -1, -1, -1, 275, 276,
+ 277, 418, 279, -1, -1, 265, -1, 267, 285, -1,
270, 288, -1, -1, -1, 275, -1, -1, 295, 279,
-1, -1, -1, 300, -1, 302, 303, 304, 288, -1,
-1, -1, -1, -1, -1, 295, -1, -1, -1, 316,
- 300, 318, 319, 320, 304, 322, -1, -1, 325, -1,
+ 300, 318, 319, -1, 304, 322, -1, -1, 325, -1,
327, -1, 329, 330, 331, 332, 316, 334, 318, -1,
- -1, -1, 322, -1, 341, -1, -1, 344, 345, -1,
+ 337, -1, 322, -1, 341, -1, -1, 344, 345, -1,
330, 331, -1, -1, 334, -1, -1, 337, -1, -1,
-1, -1, 359, 360, 361, 362, 363, -1, -1, -1,
- 367, -1, -1, -1, 371, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 371, -1, -1, -1, -1, -1,
377, 378, 379, 380, -1, -1, -1, 384, -1, 386,
-1, -1, -1, -1, -1, 392, 393, -1, -1, -1,
+ -1, -1, -1, 264, 265, -1, 267, -1, -1, 270,
+ 271, -1, -1, -1, 275, 276, 277, -1, 279, -1,
+ 417, 418, 419, 420, 285, -1, -1, 288, -1, -1,
+ -1, -1, -1, -1, 295, -1, -1, -1, 418, 300,
+ -1, 302, 303, 304, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 316, -1, 318, 319, -1,
+ -1, 322, -1, -1, 325, -1, 327, -1, 329, 330,
+ 331, 332, -1, 334, -1, -1, -1, -1, -1, -1,
+ 341, -1, -1, 344, 345, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 359, 360,
+ 361, 362, 363, -1, -1, -1, 367, -1, -1, -1,
+ 371, -1, -1, -1, -1, -1, 377, 378, 379, 380,
+ -1, -1, -1, 384, -1, 386, -1, -1, -1, -1,
+ -1, 392, 393, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 256, -1, -1, -1,
- 417, 418, 419, 420, 264, 265, -1, 267, -1, -1,
- 270, 271, -1, -1, -1, 275, 276, 277, 418, 279,
- -1, -1, 265, -1, 267, 285, -1, 270, 288, -1,
- -1, -1, 275, -1, -1, 295, 279, -1, -1, -1,
- 300, -1, 302, 303, 304, 288, -1, -1, -1, -1,
- -1, -1, 295, -1, -1, -1, 316, 300, 318, 319,
- -1, 304, 322, -1, -1, 325, -1, 327, -1, 329,
- 330, 331, 332, 316, 334, 318, -1, 337, -1, 322,
- -1, 341, -1, -1, 344, 345, -1, 330, 331, -1,
- -1, 334, -1, -1, 337, -1, -1, -1, -1, 359,
- 360, 361, 362, 363, -1, -1, -1, -1, -1, -1,
- -1, 371, -1, -1, -1, -1, -1, 377, 378, 379,
- 380, -1, -1, -1, 384, -1, 386, -1, -1, -1,
- -1, -1, 392, 393, -1, -1, -1, -1, -1, -1,
- 264, 265, -1, 267, -1, -1, 270, 271, -1, -1,
- -1, 275, 276, 277, -1, 279, -1, 417, 418, 419,
- 420, 285, -1, -1, 288, -1, -1, -1, -1, -1,
- -1, 295, -1, -1, -1, 418, 300, -1, 302, 303,
- 304, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 316, -1, 318, 319, -1, -1, 322, -1,
- -1, 325, -1, 327, -1, 329, 330, 331, 332, -1,
- 334, -1, -1, -1, -1, -1, -1, 341, -1, -1,
- 344, 345, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 359, 360, 361, 362, 363,
- -1, -1, -1, 367, -1, -1, -1, 371, -1, -1,
- -1, -1, -1, 377, 378, 379, 380, -1, -1, -1,
- 384, -1, 386, -1, -1, -1, -1, -1, 392, 393,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 256, -1, 417, 418, 419, 420,
+ -1, -1, 264, 265, -1, 267, -1, 428, 270, 271,
+ -1, -1, -1, 275, 276, 277, -1, 279, -1, -1,
+ 265, -1, 267, 285, -1, 270, 288, -1, -1, -1,
+ 275, -1, -1, 295, 279, -1, -1, -1, 300, -1,
+ 302, 303, 304, 288, -1, -1, -1, -1, -1, -1,
+ 295, -1, -1, -1, 316, 300, 318, 319, -1, 304,
+ 322, -1, -1, 325, -1, 327, -1, 329, 330, 331,
+ 332, 316, 334, 318, -1, -1, -1, 322, -1, 341,
+ -1, -1, 344, 345, -1, 330, 331, -1, -1, 334,
+ -1, -1, 337, -1, -1, -1, -1, 359, 360, 361,
+ 362, 363, -1, -1, -1, 367, -1, -1, -1, 371,
+ -1, -1, -1, -1, -1, 377, 378, 379, 380, -1,
+ -1, -1, 384, -1, 386, -1, -1, -1, -1, -1,
+ 392, 393, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 256, -1, 417, 418, 419, 420, -1, -1, 264,
- 265, -1, 267, -1, 428, 270, 271, -1, -1, -1,
- 275, 276, 277, -1, 279, -1, -1, 265, -1, 267,
+ -1, 256, -1, -1, -1, 417, 418, 419, 420, 264,
+ 265, -1, 267, -1, -1, 270, 271, -1, -1, -1,
+ 275, 276, 277, 418, 279, -1, -1, 265, -1, 267,
285, -1, 270, 288, -1, -1, -1, 275, -1, -1,
295, 279, -1, -1, -1, 300, -1, 302, 303, 304,
288, -1, -1, -1, -1, -1, -1, 295, -1, -1,
@@ -11786,7 +11828,7 @@ void case_950()
318, -1, -1, -1, 322, -1, 341, -1, -1, 344,
345, -1, 330, 331, -1, -1, 334, -1, -1, 337,
-1, -1, -1, -1, 359, 360, 361, 362, 363, -1,
- -1, -1, 367, -1, -1, -1, 371, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 371, -1, -1, -1,
-1, -1, 377, 378, 379, 380, -1, -1, -1, 384,
-1, 386, -1, -1, -1, -1, -1, 392, 393, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -11821,398 +11863,385 @@ void case_950()
371, -1, -1, -1, -1, -1, 377, 378, 379, 380,
-1, -1, -1, 384, -1, 386, -1, -1, -1, -1,
-1, 392, 393, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 285, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 256, -1, -1, -1, 417, 418, 419, 420,
264, 265, -1, 267, -1, -1, 270, 271, -1, -1,
- -1, 275, 276, 277, 418, 279, -1, -1, 265, -1,
- 267, 285, -1, 270, 288, -1, -1, -1, 275, -1,
- -1, 295, 279, -1, -1, -1, 300, -1, 302, 303,
- 304, 288, -1, -1, -1, -1, -1, -1, 295, -1,
- -1, -1, 316, 300, 318, 319, -1, 304, 322, -1,
- -1, 325, -1, 327, -1, 329, 330, 331, 332, 316,
- 334, 318, -1, -1, -1, 322, -1, 341, -1, -1,
- 344, 345, -1, 330, 331, -1, -1, 334, -1, -1,
- 337, -1, -1, -1, -1, 359, 360, 361, 362, 363,
+ -1, 275, 276, 277, 418, 279, -1, -1, -1, -1,
+ -1, 285, 327, -1, 288, -1, -1, -1, -1, -1,
+ -1, 295, -1, -1, -1, 262, 300, -1, 302, 303,
+ 304, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 316, -1, 318, 319, -1, -1, 322, -1,
+ -1, 325, -1, 327, -1, 329, 330, 331, 332, -1,
+ 334, 298, 377, 378, 379, 380, -1, 382, 383, 384,
+ 385, 386, 387, 388, 389, -1, -1, 392, 393, 394,
+ 395, 396, 397, 398, 399, 359, 360, 361, 362, -1,
-1, -1, -1, -1, -1, -1, -1, 371, -1, -1,
- -1, -1, -1, 377, 378, 379, 380, -1, -1, -1,
- 384, -1, 386, -1, -1, -1, -1, -1, 392, 393,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 256,
- -1, -1, -1, 417, 418, 419, 420, 264, 265, -1,
- 267, -1, -1, 270, 271, -1, -1, -1, 275, 276,
- 277, 418, 279, -1, -1, 265, -1, 267, 285, -1,
- 270, 288, -1, -1, -1, 275, -1, -1, 295, 279,
- -1, -1, -1, 300, -1, 302, 303, 304, 288, -1,
- -1, -1, -1, -1, -1, 295, -1, -1, -1, 316,
- 300, 318, 319, -1, 304, 322, -1, -1, 325, -1,
- 327, -1, 329, 330, 331, 332, 316, 334, 318, -1,
- -1, -1, 322, -1, 341, -1, -1, 344, 345, -1,
- 330, 331, -1, -1, 334, -1, -1, 337, -1, -1,
- -1, -1, 359, 360, 361, 362, 363, -1, -1, -1,
- -1, -1, -1, -1, 371, -1, -1, -1, -1, -1,
- 377, 378, 379, 380, -1, -1, -1, 384, -1, 386,
- -1, -1, -1, -1, -1, 392, 393, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 256, -1, -1, -1,
- 417, 418, 419, 420, 264, 265, -1, 267, -1, -1,
- 270, 271, -1, -1, -1, 275, 276, 277, 418, 279,
- -1, -1, -1, -1, -1, 285, -1, -1, 288, -1,
- -1, -1, -1, -1, -1, 295, -1, 261, -1, 262,
- 300, -1, 302, 303, 304, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 316, -1, 318, 319,
- 284, -1, 322, -1, -1, 325, -1, 327, -1, 329,
- 330, 331, 332, 297, 334, 298, -1, -1, 302, -1,
- -1, -1, -1, 307, -1, 309, 310, 311, 312, -1,
- -1, -1, -1, 317, -1, -1, -1, 321, -1, 359,
- 360, 361, 362, -1, -1, -1, -1, -1, -1, 333,
- -1, 371, 336, -1, 338, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 362, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 371, 372,
- 373, 374, 375, -1, -1, 378, 379, 417, 418, 382,
- 383, 384, 385, 386, 387, 388, 389, 390, -1, 392,
- 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 407, 408, 409, 410, 411, 412,
- 413, -1, 261, -1, 418, -1, 265, 420, 267, -1,
- 423, 270, -1, 272, 273, -1, 275, -1, 277, -1,
- 279, -1, 281, 282, 283, 284, -1, -1, 287, 288,
- -1, -1, -1, -1, 293, -1, 295, 296, 297, -1,
- -1, 300, -1, 302, -1, 304, -1, -1, 307, -1,
- 309, 310, 311, 312, -1, -1, -1, 316, 317, 318,
- -1, -1, 321, 322, 323, -1, -1, -1, -1, -1,
- -1, 330, 331, -1, 333, 334, -1, 336, 337, 338,
- -1, -1, -1, 342, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 371, 372, 373, 374, 375, -1,
+ -1, 378, 379, 417, 418, 382, 383, 384, 385, 386,
+ 387, 388, 389, 390, -1, 392, 393, 394, 395, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 408, 409, 410, 411, 412, 413, -1, 261, -1,
+ -1, -1, 265, 420, 267, -1, 423, 270, -1, 272,
+ 273, -1, 275, -1, 277, -1, 279, -1, 281, 282,
+ 283, 284, -1, -1, 287, 288, -1, -1, -1, -1,
+ 293, -1, 295, 296, 297, -1, -1, 300, -1, 302,
+ -1, 304, -1, -1, 307, -1, 309, 310, 311, 312,
+ -1, -1, -1, 316, 317, 318, -1, -1, 321, 322,
+ 323, -1, -1, -1, -1, -1, -1, 330, 331, -1,
+ 333, 334, -1, 336, 337, 338, -1, -1, -1, 342,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 261, -1, 362, -1, 265, -1, 267, -1, 368,
- 270, -1, 272, 273, -1, 275, -1, 277, 377, 279,
- -1, 281, 282, 283, 284, -1, -1, 287, 288, -1,
- -1, -1, -1, 293, -1, 295, 296, 297, -1, -1,
- 300, -1, 302, -1, 304, -1, -1, 307, -1, 309,
- 310, 311, 312, -1, -1, -1, 316, 317, 318, 418,
- -1, 321, 322, 323, -1, -1, -1, -1, -1, -1,
- 330, 331, -1, 333, 334, -1, 336, 337, 338, -1,
- -1, -1, 342, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 261, -1, 362,
+ -1, 265, -1, 267, -1, 368, 270, -1, 272, 273,
+ -1, 275, -1, 277, 377, 279, -1, 281, 282, 283,
+ 284, -1, -1, 287, 288, -1, -1, -1, -1, 293,
+ -1, 295, 296, 297, -1, -1, 300, -1, 302, -1,
+ 304, -1, -1, 307, -1, 309, 310, 311, 312, -1,
+ -1, -1, 316, 317, 318, 418, -1, 321, 322, 323,
+ -1, -1, -1, -1, -1, -1, 330, 331, -1, 333,
+ 334, -1, 336, 337, 338, -1, -1, -1, 342, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 261, -1, 362, -1,
+ 265, -1, 267, -1, 368, 270, -1, 272, 273, -1,
+ 275, -1, 277, 377, 279, -1, 281, 282, 283, 284,
+ -1, -1, 287, 288, -1, -1, -1, -1, 293, -1,
+ 295, 296, 297, -1, -1, 300, -1, 302, -1, 304,
+ -1, -1, 307, -1, 309, 310, 311, 312, -1, -1,
+ -1, 316, 317, 318, 418, -1, 321, 322, 323, -1,
+ -1, -1, -1, -1, -1, 330, 331, -1, 333, 334,
+ -1, 336, 337, 338, -1, -1, -1, 342, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 261, -1, 362, -1, 265, -1, 267, -1, 368, 270,
- -1, 272, 273, -1, 275, -1, 277, 377, 279, -1,
+ 261, -1, -1, -1, 265, -1, 267, 362, -1, 270,
+ -1, 272, 273, 368, 275, -1, 277, -1, 279, -1,
281, 282, 283, 284, -1, -1, 287, 288, -1, -1,
-1, -1, 293, -1, 295, 296, 297, -1, -1, 300,
- -1, 302, -1, 304, -1, -1, 307, -1, 309, 310,
- 311, 312, -1, -1, -1, 316, 317, 318, 418, -1,
- 321, 322, 323, -1, -1, -1, -1, -1, -1, 330,
- 331, -1, 333, 334, -1, 336, 337, 338, -1, -1,
- -1, 342, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 261, -1, -1, -1, 265, -1,
- 267, 362, -1, 270, -1, 272, 273, 368, 275, -1,
- 277, -1, 279, -1, 281, 282, 283, 284, -1, -1,
- 287, 288, -1, -1, -1, -1, 293, -1, 295, 296,
- 297, -1, -1, 300, -1, 302, 261, 304, -1, -1,
- 307, -1, 309, 310, 311, 312, -1, -1, -1, 316,
- 317, 318, -1, -1, 321, 322, 323, 418, -1, 284,
- -1, -1, -1, 330, 331, -1, 333, 334, -1, 336,
- 337, 338, 297, -1, -1, 342, -1, 302, -1, -1,
- 305, -1, 307, -1, 309, 310, 311, 312, -1, -1,
- -1, -1, 317, -1, -1, 362, 321, -1, -1, -1,
- 325, 368, -1, -1, -1, -1, -1, -1, 333, -1,
- -1, 336, -1, 338, 264, 265, -1, 267, -1, -1,
- 270, 271, -1, -1, -1, 275, 276, 277, -1, 279,
- -1, -1, 357, -1, -1, 285, -1, 362, 288, -1,
- -1, -1, -1, -1, 369, 295, 371, -1, 373, -1,
- 300, 418, 302, 303, 304, -1, 306, -1, -1, -1,
- -1, 386, -1, 313, -1, -1, 316, -1, 318, 319,
- -1, -1, 322, -1, -1, 325, -1, 327, -1, 329,
- 330, 331, 332, -1, 334, -1, -1, -1, -1, -1,
- -1, 341, -1, 418, 344, 345, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 359,
- 360, 361, 362, 363, -1, -1, -1, -1, -1, -1,
- -1, 371, 372, -1, 374, -1, -1, 377, 378, 379,
- 380, -1, -1, -1, 384, -1, 386, -1, -1, -1,
- -1, -1, 392, 393, -1, -1, -1, -1, -1, -1,
- 264, 265, -1, 267, -1, -1, 270, 271, -1, -1,
- -1, 275, 276, 277, -1, 279, -1, 417, 418, 419,
- 420, 285, -1, -1, 288, -1, -1, -1, -1, -1,
- -1, 295, -1, -1, -1, -1, 300, -1, 302, 303,
- 304, -1, 306, -1, -1, -1, -1, -1, -1, 313,
- -1, -1, 316, -1, 318, 319, -1, -1, 322, -1,
- -1, 325, -1, 327, -1, 329, 330, 331, 332, -1,
- 334, -1, -1, -1, -1, -1, -1, 341, -1, -1,
- 344, 345, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 359, 360, 361, 362, 363,
- -1, -1, -1, -1, -1, -1, -1, 371, -1, -1,
- 374, -1, -1, 377, 378, 379, 380, -1, -1, -1,
- 384, -1, 386, -1, -1, -1, -1, -1, 392, 393,
- -1, -1, -1, -1, -1, -1, 264, 265, -1, 267,
- -1, -1, 270, 271, -1, -1, -1, 275, 276, 277,
- -1, 279, -1, 417, 418, 419, 420, 285, -1, -1,
- 288, -1, -1, -1, -1, -1, -1, 295, -1, -1,
- -1, -1, 300, -1, 302, 303, 304, -1, 306, -1,
- -1, -1, -1, -1, -1, 313, -1, -1, 316, -1,
- 318, 319, -1, -1, 322, -1, -1, 325, -1, 327,
- -1, 329, 330, 331, 332, -1, 334, -1, -1, -1,
- -1, -1, -1, 341, -1, -1, 344, 345, -1, -1,
+ -1, 302, 261, 304, -1, -1, 307, -1, 309, 310,
+ 311, 312, -1, -1, -1, 316, 317, 318, -1, -1,
+ 321, 322, 323, 418, -1, 284, -1, -1, -1, 330,
+ 331, -1, 333, 334, -1, 336, 337, 338, 297, -1,
+ -1, 342, -1, 302, -1, -1, 305, -1, 307, -1,
+ 309, 310, 311, 312, -1, -1, -1, -1, 317, -1,
+ -1, 362, 321, -1, -1, -1, 325, 368, -1, -1,
+ 261, -1, -1, -1, 333, -1, -1, 336, -1, 338,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 359, 360, 361, 362, 363, -1, -1, -1, -1,
- -1, -1, -1, 371, -1, -1, -1, -1, -1, 377,
- 378, 379, 380, -1, -1, -1, 384, -1, 386, -1,
- -1, -1, -1, -1, 392, 393, -1, -1, -1, -1,
- -1, -1, 264, 265, -1, 267, -1, -1, 270, 271,
- -1, -1, -1, 275, 276, 277, -1, 279, -1, 417,
- 418, 419, 420, 285, -1, -1, 288, -1, -1, -1,
- -1, -1, -1, 295, -1, -1, -1, -1, 300, -1,
- 302, 303, 304, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 316, -1, 318, 319, -1, -1,
- 322, -1, -1, 325, -1, 327, -1, 329, 330, 331,
- 332, -1, 334, -1, -1, 337, -1, -1, -1, 341,
- -1, -1, 344, 345, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 359, 360, 361,
- 362, 363, -1, -1, -1, -1, -1, -1, -1, 371,
- -1, -1, -1, -1, -1, 377, 378, 379, 380, -1,
- -1, -1, 384, -1, 386, -1, -1, -1, -1, -1,
- 392, 393, -1, -1, -1, -1, -1, -1, 264, 265,
- -1, 267, -1, -1, 270, 271, -1, -1, -1, 275,
- 276, 277, -1, 279, -1, 417, 418, 419, 420, 285,
- -1, -1, 288, -1, -1, -1, -1, -1, -1, 295,
- -1, -1, -1, -1, 300, -1, 302, 303, 304, -1,
+ -1, -1, -1, 284, -1, -1, -1, -1, 357, -1,
+ -1, -1, -1, 362, -1, -1, 297, -1, -1, -1,
+ 369, 302, 371, -1, 373, -1, 307, 418, 309, 310,
+ 311, 312, -1, -1, -1, -1, 317, 386, -1, -1,
+ 321, -1, -1, -1, 325, -1, -1, 264, 265, -1,
+ 267, -1, 333, 270, 271, 336, -1, 338, 275, 276,
+ 277, -1, 279, -1, -1, -1, -1, -1, 285, 418,
+ -1, 288, -1, -1, -1, -1, -1, -1, 295, -1,
+ -1, 362, -1, 300, -1, 302, 303, 304, -1, 306,
+ -1, -1, -1, -1, -1, -1, 313, -1, -1, 316,
+ -1, 318, 319, -1, -1, 322, -1, -1, 325, -1,
+ 327, -1, 329, 330, 331, 332, -1, 334, -1, -1,
+ -1, -1, -1, -1, 341, -1, -1, 344, 345, -1,
+ -1, -1, -1, -1, -1, -1, -1, 418, -1, -1,
+ -1, -1, 359, 360, 361, 362, 363, -1, -1, -1,
+ -1, -1, -1, -1, 371, 372, -1, 374, -1, -1,
+ 377, 378, 379, 380, -1, -1, -1, 384, -1, 386,
+ -1, -1, -1, -1, -1, 392, 393, -1, -1, -1,
+ -1, -1, -1, 264, 265, -1, 267, -1, -1, 270,
+ 271, -1, -1, -1, 275, 276, 277, -1, 279, -1,
+ 417, 418, 419, 420, 285, -1, -1, 288, -1, -1,
+ -1, -1, -1, -1, 295, -1, -1, -1, -1, 300,
+ -1, 302, 303, 304, -1, 306, -1, -1, -1, -1,
+ -1, -1, 313, -1, -1, 316, -1, 318, 319, -1,
+ -1, 322, -1, -1, 325, -1, 327, -1, 329, 330,
+ 331, 332, -1, 334, -1, -1, -1, -1, -1, -1,
+ 341, -1, -1, 344, 345, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 359, 360,
+ 361, 362, 363, -1, -1, -1, -1, -1, -1, -1,
+ 371, -1, -1, 374, -1, -1, 377, 378, 379, 380,
+ -1, -1, -1, 384, -1, 386, -1, -1, -1, -1,
+ -1, 392, 393, -1, -1, -1, -1, -1, -1, 264,
+ 265, -1, 267, -1, -1, 270, 271, -1, -1, -1,
+ 275, 276, 277, -1, 279, -1, 417, 418, 419, 420,
+ 285, -1, -1, 288, -1, -1, -1, -1, -1, -1,
+ 295, -1, -1, -1, -1, 300, -1, 302, 303, 304,
+ -1, 306, -1, -1, -1, -1, -1, -1, 313, -1,
+ -1, 316, -1, 318, 319, -1, -1, 322, -1, -1,
+ 325, -1, 327, -1, 329, 330, 331, 332, -1, 334,
+ -1, -1, -1, -1, -1, -1, 341, -1, -1, 344,
+ 345, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 359, 360, 361, 362, 363, -1,
+ -1, -1, -1, -1, -1, -1, 371, -1, -1, -1,
+ -1, -1, 377, 378, 379, 380, -1, -1, -1, 384,
+ -1, 386, -1, -1, -1, -1, -1, 392, 393, -1,
+ -1, -1, -1, -1, -1, 264, 265, -1, 267, -1,
+ -1, 270, 271, -1, -1, -1, 275, 276, 277, -1,
+ 279, -1, 417, 418, 419, 420, 285, -1, -1, 288,
+ -1, -1, -1, -1, -1, -1, 295, -1, -1, -1,
+ -1, 300, -1, 302, 303, 304, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 316, -1, 318,
+ 319, -1, -1, 322, -1, -1, 325, -1, 327, -1,
+ 329, 330, 331, 332, -1, 334, -1, -1, 337, -1,
+ -1, -1, 341, -1, -1, 344, 345, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 316, -1, 318, 319, -1, -1, 322, -1, -1, 325,
- -1, 327, -1, 329, 330, 331, 332, -1, 334, -1,
- -1, -1, -1, -1, -1, 341, -1, -1, 344, 345,
+ 359, 360, 361, 362, 363, -1, -1, -1, -1, -1,
+ -1, -1, 371, -1, -1, -1, -1, -1, 377, 378,
+ 379, 380, -1, -1, -1, 384, -1, 386, -1, -1,
+ -1, -1, -1, 392, 393, -1, -1, -1, -1, -1,
+ -1, 264, 265, -1, 267, -1, -1, 270, 271, -1,
+ -1, -1, 275, 276, 277, -1, 279, -1, 417, 418,
+ 419, 420, 285, -1, -1, 288, -1, -1, -1, -1,
+ -1, -1, 295, -1, -1, -1, -1, 300, -1, 302,
+ 303, 304, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 316, -1, 318, 319, -1, -1, 322,
+ -1, -1, 325, -1, 327, -1, 329, 330, 331, 332,
+ -1, 334, -1, -1, -1, -1, -1, -1, 341, -1,
+ -1, 344, 345, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 359, 360, 361, 362,
+ 363, -1, -1, -1, -1, 368, -1, -1, 371, -1,
+ -1, -1, -1, -1, 377, 378, 379, 380, -1, -1,
+ -1, 384, -1, 386, -1, -1, -1, -1, -1, 392,
+ 393, -1, -1, -1, -1, -1, -1, 264, 265, -1,
+ 267, -1, -1, 270, 271, -1, -1, -1, 275, 276,
+ 277, -1, 279, -1, 417, 418, 419, 420, 285, -1,
+ -1, 288, -1, -1, -1, -1, -1, -1, 295, -1,
+ -1, -1, -1, 300, -1, 302, 303, 304, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 316,
+ -1, 318, 319, -1, -1, 322, -1, -1, 325, -1,
+ 327, -1, 329, 330, 331, 332, -1, 334, -1, -1,
+ -1, -1, -1, -1, 341, -1, -1, 344, 345, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 359, 360, 361, 362, 363, -1, -1,
- -1, -1, 368, -1, -1, 371, -1, -1, -1, -1,
- -1, 377, 378, 379, 380, -1, -1, -1, 384, -1,
- 386, -1, -1, -1, -1, -1, 392, 393, -1, -1,
- -1, -1, -1, -1, 264, 265, -1, 267, -1, -1,
- 270, 271, -1, -1, -1, 275, 276, 277, -1, 279,
- -1, 417, 418, 419, 420, 285, -1, -1, 288, -1,
- -1, -1, -1, -1, -1, 295, -1, -1, -1, -1,
- 300, -1, 302, 303, 304, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 316, -1, 318, 319,
- -1, -1, 322, -1, -1, 325, -1, 327, -1, 329,
- 330, 331, 332, -1, 334, -1, -1, -1, -1, -1,
- -1, 341, -1, -1, 344, 345, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 359,
- 360, 361, 362, 363, -1, -1, -1, 367, -1, -1,
- -1, 371, -1, -1, -1, -1, -1, 377, 378, 379,
- 380, -1, -1, -1, 384, -1, 386, -1, -1, -1,
- -1, -1, 392, 393, -1, -1, -1, -1, -1, -1,
- 264, 265, -1, 267, -1, -1, 270, 271, -1, -1,
- -1, 275, 276, 277, -1, 279, -1, 417, 418, 419,
- 420, 285, -1, -1, 288, -1, -1, -1, -1, -1,
- -1, 295, -1, -1, -1, -1, 300, -1, 302, 303,
- 304, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 316, -1, 318, 319, -1, -1, 322, -1,
- -1, 325, -1, 327, -1, 329, 330, 331, 332, -1,
- 334, -1, -1, -1, -1, -1, -1, 341, -1, -1,
- 344, 345, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 359, 360, 361, 362, 363,
- -1, -1, -1, 367, -1, -1, -1, 371, -1, -1,
- -1, -1, -1, 377, 378, 379, 380, -1, -1, -1,
- 384, -1, 386, -1, -1, -1, -1, -1, 392, 393,
- -1, -1, -1, -1, -1, -1, 264, 265, -1, 267,
- -1, -1, 270, 271, -1, -1, -1, 275, 276, 277,
- -1, 279, -1, 417, 418, 419, 420, 285, -1, -1,
- 288, -1, -1, -1, -1, -1, -1, 295, -1, -1,
- -1, -1, 300, -1, 302, 303, 304, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 316, -1,
- 318, 319, -1, -1, 322, -1, -1, 325, -1, 327,
- -1, 329, 330, 331, 332, -1, 334, -1, -1, -1,
- -1, -1, -1, 341, -1, -1, 344, 345, -1, -1,
+ -1, -1, 359, 360, 361, 362, 363, -1, -1, -1,
+ 367, -1, -1, -1, 371, -1, -1, -1, -1, -1,
+ 377, 378, 379, 380, -1, -1, -1, 384, -1, 386,
+ -1, -1, -1, -1, -1, 392, 393, -1, -1, -1,
+ -1, -1, -1, 264, 265, -1, 267, -1, -1, 270,
+ 271, -1, -1, -1, 275, 276, 277, -1, 279, -1,
+ 417, 418, 419, 420, 285, -1, -1, 288, -1, -1,
+ -1, -1, -1, -1, 295, -1, -1, -1, -1, 300,
+ -1, 302, 303, 304, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 316, -1, 318, 319, -1,
+ -1, 322, -1, -1, 325, -1, 327, -1, 329, 330,
+ 331, 332, -1, 334, -1, -1, -1, -1, -1, -1,
+ 341, -1, -1, 344, 345, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 359, 360,
+ 361, 362, 363, -1, -1, -1, 367, -1, -1, -1,
+ 371, -1, -1, -1, -1, -1, 377, 378, 379, 380,
+ -1, -1, -1, 384, -1, 386, -1, -1, -1, -1,
+ -1, 392, 393, -1, -1, -1, -1, -1, -1, 264,
+ 265, -1, 267, -1, -1, 270, 271, -1, -1, -1,
+ 275, 276, 277, -1, 279, -1, 417, 418, 419, 420,
+ 285, -1, -1, 288, -1, -1, -1, -1, -1, -1,
+ 295, -1, -1, -1, -1, 300, -1, 302, 303, 304,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 359, 360, 361, 362, 363, -1, -1, -1, -1,
- -1, -1, -1, 371, -1, -1, -1, -1, -1, 377,
- 378, 379, 380, -1, -1, -1, 384, -1, 386, -1,
- -1, -1, -1, -1, 392, 393, -1, -1, -1, -1,
- -1, -1, 264, 265, -1, 267, -1, -1, 270, 271,
- -1, -1, -1, 275, 276, 277, -1, 279, -1, 417,
- 418, 419, 420, 285, -1, -1, 288, -1, -1, -1,
- -1, -1, -1, 295, -1, -1, -1, -1, 300, -1,
- 302, 303, 304, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 316, -1, 318, 319, -1, -1,
- 322, -1, -1, 325, -1, 327, -1, 329, 330, 331,
- 332, -1, 334, -1, -1, -1, -1, -1, -1, 341,
- -1, -1, 344, 345, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 359, 360, 361,
- 362, 363, -1, -1, -1, -1, -1, -1, -1, 371,
- -1, -1, -1, -1, -1, 377, 378, 379, 380, -1,
- -1, -1, 384, -1, 386, -1, -1, -1, -1, -1,
- 392, 393, -1, -1, -1, -1, -1, -1, 264, 265,
- -1, 267, -1, -1, 270, 271, -1, -1, -1, 275,
- 276, 277, -1, 279, -1, 417, 418, 419, 420, 285,
- -1, -1, 288, -1, -1, -1, -1, -1, -1, 295,
- -1, -1, -1, -1, 300, -1, 302, 303, 304, -1,
+ -1, 316, -1, 318, 319, -1, -1, 322, -1, -1,
+ 325, -1, 327, -1, 329, 330, 331, 332, -1, 334,
+ -1, -1, -1, -1, -1, -1, 341, -1, -1, 344,
+ 345, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 359, 360, 361, 362, 363, -1,
+ -1, -1, -1, -1, -1, -1, 371, -1, -1, -1,
+ -1, -1, 377, 378, 379, 380, -1, -1, -1, 384,
+ -1, 386, -1, -1, -1, -1, -1, 392, 393, -1,
+ -1, -1, -1, -1, -1, 264, 265, -1, 267, -1,
+ -1, 270, 271, -1, -1, -1, 275, 276, 277, -1,
+ 279, -1, 417, 418, 419, 420, 285, -1, -1, 288,
+ -1, -1, -1, -1, -1, -1, 295, -1, -1, -1,
+ -1, 300, -1, 302, 303, 304, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 316, -1, 318,
+ 319, -1, -1, 322, -1, -1, 325, -1, 327, -1,
+ 329, 330, 331, 332, -1, 334, -1, -1, -1, -1,
+ -1, -1, 341, -1, -1, 344, 345, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 316, -1, 318, 319, -1, -1, 322, -1, -1, 325,
- -1, 327, -1, 329, 330, 331, 332, -1, 334, -1,
- -1, -1, -1, -1, -1, 341, -1, -1, 344, 345,
+ 359, 360, 361, 362, 363, -1, -1, -1, -1, -1,
+ -1, -1, 371, -1, -1, -1, -1, -1, 377, 378,
+ 379, 380, -1, -1, -1, 384, -1, 386, -1, -1,
+ -1, -1, -1, 392, 393, -1, -1, -1, -1, -1,
+ -1, 264, 265, -1, 267, -1, -1, 270, 271, -1,
+ -1, -1, 275, 276, 277, -1, 279, -1, 417, 418,
+ 419, 420, 285, -1, -1, 288, -1, -1, -1, -1,
+ -1, -1, 295, -1, -1, -1, -1, 300, -1, 302,
+ 303, 304, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 316, -1, 318, 319, -1, -1, 322,
+ -1, -1, 325, -1, 327, -1, 329, 330, 331, 332,
+ -1, 334, -1, -1, -1, -1, -1, -1, 341, -1,
+ -1, 344, 345, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 359, 360, 361, 362,
+ 363, -1, -1, -1, -1, -1, -1, -1, 371, -1,
+ -1, -1, -1, -1, 377, 378, 379, 380, -1, -1,
+ -1, 384, -1, 386, -1, -1, -1, -1, -1, 392,
+ 393, -1, -1, -1, -1, -1, -1, 264, 265, -1,
+ 267, -1, -1, 270, 271, -1, -1, -1, 275, 276,
+ 277, -1, 279, -1, 417, 418, 419, 420, 285, -1,
+ -1, 288, -1, -1, -1, -1, -1, -1, 295, -1,
+ -1, -1, -1, 300, -1, 302, 303, 304, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 316,
+ -1, 318, 319, -1, -1, 322, -1, -1, 325, -1,
+ 327, -1, 329, 330, 331, 332, -1, 334, -1, -1,
+ -1, -1, -1, -1, 341, -1, -1, 344, 345, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 359, 360, 361, 362, 363, -1, -1,
- -1, -1, -1, -1, -1, 371, -1, -1, -1, -1,
- -1, 377, 378, 379, 380, -1, -1, -1, 384, -1,
- 386, -1, -1, -1, -1, -1, 392, 393, -1, -1,
- -1, -1, -1, -1, 264, 265, -1, 267, -1, -1,
- 270, 271, -1, -1, -1, 275, 276, 277, -1, 279,
- -1, 417, 418, 419, 420, 285, -1, -1, 288, -1,
- -1, -1, -1, -1, -1, 295, -1, -1, -1, -1,
- 300, -1, 302, 303, 304, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 316, -1, 318, 319,
- -1, -1, 322, -1, -1, 325, -1, 327, -1, 329,
- 330, 331, 332, -1, 334, -1, -1, -1, -1, -1,
- -1, 341, -1, -1, 344, 345, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 359,
- 360, 361, 362, 363, -1, -1, -1, -1, -1, -1,
- -1, 371, -1, -1, -1, -1, -1, 377, 378, 379,
- 380, -1, -1, -1, 384, -1, 386, -1, -1, -1,
- -1, -1, 392, 393, -1, -1, -1, -1, -1, -1,
- 264, 265, -1, 267, -1, -1, 270, 271, -1, -1,
- -1, 275, 276, 277, -1, 279, -1, 417, 418, 419,
- 420, 285, -1, -1, 288, -1, -1, -1, -1, -1,
- -1, 295, -1, -1, -1, -1, 300, -1, 302, 303,
- 304, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 316, -1, 318, 319, -1, -1, 322, -1,
- -1, 325, -1, 327, -1, 329, 330, 331, 332, -1,
- 334, -1, -1, -1, -1, -1, -1, 341, -1, -1,
- 344, 345, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 359, 360, 361, 362, 363,
- -1, -1, -1, -1, -1, -1, -1, 371, -1, -1,
- -1, -1, -1, 377, 378, 379, 380, -1, -1, -1,
- 384, -1, 386, -1, -1, -1, -1, -1, 392, 393,
- -1, -1, -1, -1, -1, -1, 264, 265, -1, 267,
- -1, -1, 270, 271, -1, -1, -1, 275, 276, 277,
- -1, 279, -1, 417, 418, 419, 420, 285, -1, -1,
- 288, -1, -1, -1, -1, -1, -1, 295, -1, 261,
- -1, -1, 300, -1, 302, 303, 304, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 316, -1,
- 318, 319, 284, -1, 322, -1, -1, 325, -1, 327,
- -1, 329, 330, 331, 332, 297, 334, -1, -1, -1,
- 302, -1, -1, -1, -1, 307, -1, 309, 310, 311,
- 312, -1, -1, 315, -1, 317, -1, -1, -1, 321,
- -1, 359, 360, 361, 362, 363, -1, -1, -1, -1,
- -1, 333, -1, 371, 336, -1, 338, -1, -1, 377,
- 378, 379, 380, -1, -1, -1, 384, -1, 386, -1,
- -1, -1, -1, -1, 392, 393, -1, -1, -1, -1,
- 362, -1, -1, -1, -1, -1, 368, 369, -1, -1,
- -1, -1, -1, -1, 263, -1, 265, -1, 267, 417,
- 418, 270, 420, 272, 273, -1, 275, -1, 277, -1,
- 279, -1, 281, 282, 283, -1, -1, -1, 287, 288,
- -1, -1, -1, -1, 293, -1, 295, 296, -1, -1,
- -1, 300, -1, -1, -1, 304, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 315, 316, -1, 318,
- -1, -1, -1, 322, 323, -1, -1, -1, -1, -1,
- -1, 330, 331, 264, 265, 334, 267, -1, 337, 270,
- 271, -1, -1, 342, 275, 276, 277, -1, 279, -1,
- -1, -1, -1, -1, 285, -1, -1, 288, -1, -1,
- -1, -1, -1, -1, 295, 364, 365, -1, -1, 300,
- -1, 302, 303, 304, -1, -1, -1, -1, 377, -1,
+ -1, -1, 359, 360, 361, 362, 363, -1, -1, -1,
+ -1, -1, -1, -1, 371, -1, -1, -1, -1, -1,
+ 377, 378, 379, 380, -1, -1, -1, 384, -1, 386,
+ -1, -1, -1, -1, -1, 392, 393, -1, -1, -1,
+ -1, -1, -1, 264, 265, -1, 267, -1, -1, 270,
+ 271, -1, -1, -1, 275, 276, 277, -1, 279, -1,
+ 417, 418, 419, 420, 285, -1, -1, 288, -1, -1,
+ -1, -1, -1, -1, 295, -1, -1, -1, -1, 300,
+ -1, 302, 303, 304, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 316, -1, 318, 319, -1,
-1, 322, -1, -1, 325, -1, 327, -1, 329, 330,
- 331, 332, -1, 334, -1, -1, 337, -1, -1, -1,
- -1, -1, -1, 265, -1, 267, -1, -1, 270, 418,
- 272, -1, -1, 275, -1, -1, -1, 279, 359, 360,
- 361, 362, -1, -1, -1, -1, 288, 265, -1, 267,
- 371, -1, 270, 295, 272, 273, -1, 275, 300, 277,
- 302, 279, 304, 281, 282, 283, -1, -1, -1, 287,
- 288, -1, -1, -1, 316, 293, 318, 295, 296, -1,
- 322, 323, 300, -1, -1, -1, 304, -1, 330, 331,
- -1, -1, 334, -1, -1, 337, 417, 418, 316, -1,
- 318, -1, -1, -1, 322, 323, -1, -1, -1, -1,
- -1, -1, 330, 331, -1, 265, 334, 267, -1, 337,
- 270, -1, -1, 273, 342, 275, -1, 277, -1, 279,
- -1, 281, 282, 283, -1, -1, -1, 287, 288, -1,
- -1, -1, -1, 293, -1, 295, -1, -1, -1, -1,
- 300, -1, -1, -1, 304, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 316, -1, 318, -1,
- -1, -1, 322, -1, -1, -1, 418, -1, -1, -1,
- 330, 331, -1, -1, 334, -1, -1, 337, -1, 265,
- -1, 267, 342, -1, 270, -1, -1, 273, -1, 275,
- 418, 277, -1, 279, -1, 281, 282, 283, -1, -1,
+ 331, 332, -1, 334, -1, -1, -1, -1, -1, -1,
+ 341, -1, -1, 344, 345, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 359, 360,
+ 361, 362, 363, -1, -1, -1, -1, -1, -1, -1,
+ 371, -1, -1, -1, -1, -1, 377, 378, 379, 380,
+ -1, -1, -1, 384, -1, 386, -1, -1, -1, -1,
+ -1, 392, 393, -1, -1, -1, -1, -1, -1, 264,
+ 265, -1, 267, -1, -1, 270, 271, -1, -1, -1,
+ 275, 276, 277, -1, 279, -1, 417, 418, 419, 420,
+ 285, -1, -1, 288, -1, -1, -1, -1, -1, -1,
+ 295, -1, 261, -1, -1, 300, -1, 302, 303, 304,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 316, -1, 318, 319, 284, -1, 322, -1, -1,
+ 325, -1, 327, -1, 329, 330, 331, 332, 297, 334,
+ -1, -1, -1, 302, -1, -1, -1, -1, 307, -1,
+ 309, 310, 311, 312, -1, -1, 315, -1, 317, -1,
+ -1, -1, 321, -1, 359, 360, 361, 362, 363, -1,
+ -1, -1, -1, -1, 333, -1, 371, 336, -1, 338,
+ -1, -1, 377, 378, 379, 380, -1, -1, -1, 384,
+ -1, 386, -1, -1, -1, -1, -1, 392, 393, -1,
+ -1, -1, -1, 362, -1, -1, -1, -1, -1, 368,
+ 369, -1, -1, -1, -1, -1, -1, 263, -1, 265,
+ -1, 267, 417, 418, 270, 420, 272, 273, -1, 275,
+ -1, 277, -1, 279, -1, 281, 282, 283, -1, -1,
-1, 287, 288, -1, -1, -1, -1, 293, -1, 295,
- -1, 265, -1, 267, 300, -1, 270, 377, 304, -1,
- -1, 275, -1, -1, -1, 279, -1, -1, -1, -1,
- 316, -1, 318, -1, 288, -1, 322, -1, -1, -1,
- -1, 295, -1, -1, 330, 331, 300, -1, 334, -1,
- 304, 337, 306, -1, 308, 265, 342, 267, 418, 313,
- 270, -1, 316, -1, 318, 275, -1, -1, 322, 279,
- -1, 325, -1, -1, -1, -1, 330, 331, 288, -1,
- 334, -1, -1, 337, -1, 295, -1, 265, -1, 267,
- 300, -1, 270, -1, 304, -1, 306, 275, 308, -1,
- -1, 279, -1, 313, -1, -1, 316, -1, 318, -1,
- 288, -1, 322, -1, -1, 325, -1, 295, 372, -1,
- 330, 331, 300, -1, 334, -1, 304, 337, 306, -1,
- 308, 265, 418, 267, -1, 313, 270, -1, 316, -1,
- 318, 275, -1, -1, 322, 279, -1, 325, -1, -1,
- -1, -1, 330, 331, 288, -1, 334, -1, -1, 337,
- 370, 295, -1, 265, 418, 267, 300, -1, 270, -1,
- 304, -1, 306, 275, -1, -1, -1, 279, -1, 313,
- -1, -1, 316, -1, 318, -1, 288, -1, 322, -1,
- -1, 325, -1, 295, 285, -1, 330, 331, 300, -1,
- 334, -1, 304, 337, -1, -1, -1, 265, 418, 267,
- -1, -1, 270, -1, 316, -1, 318, 275, -1, -1,
- 322, 279, -1, -1, -1, -1, -1, -1, 330, 331,
- 288, -1, 334, -1, -1, 337, 327, 295, -1, -1,
- 418, -1, 300, -1, -1, -1, 304, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 316, -1,
- 318, 363, -1, -1, 322, -1, -1, -1, -1, -1,
- -1, -1, 330, 331, -1, -1, 334, -1, -1, 337,
- -1, -1, -1, -1, 418, -1, 377, 378, 379, 380,
- -1, 382, 383, 384, 385, 386, 387, 388, 389, 261,
- -1, 392, 393, 394, 395, 396, 397, 398, 399, -1,
- 272, -1, -1, -1, -1, 277, 418, -1, -1, 281,
+ 296, -1, -1, -1, 300, -1, -1, -1, 304, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 315,
+ 316, -1, 318, -1, -1, -1, 322, 323, -1, -1,
+ -1, -1, -1, -1, 330, 331, 264, 265, 334, 267,
+ -1, 337, 270, 271, -1, -1, 342, 275, 276, 277,
+ -1, 279, -1, -1, -1, -1, -1, 285, -1, -1,
+ 288, -1, -1, -1, -1, -1, -1, 295, 364, 365,
+ -1, -1, 300, -1, 302, 303, 304, -1, -1, -1,
+ -1, 377, -1, -1, -1, -1, -1, -1, 316, -1,
+ 318, 319, -1, -1, 322, -1, -1, 325, -1, 327,
+ -1, 329, 330, 331, 332, -1, 334, -1, -1, 337,
+ -1, -1, -1, -1, -1, -1, 265, -1, 267, -1,
+ -1, 270, 418, 272, -1, -1, 275, -1, -1, -1,
+ 279, 359, 360, 361, 362, -1, -1, -1, -1, 288,
+ 265, -1, 267, 371, -1, 270, 295, 272, 273, -1,
+ 275, 300, 277, 302, 279, 304, 281, 282, 283, -1,
+ -1, -1, 287, 288, -1, -1, -1, 316, 293, 318,
+ 295, 296, -1, 322, 323, 300, -1, -1, -1, 304,
+ -1, 330, 331, -1, -1, 334, -1, -1, 337, 417,
+ 418, 316, -1, 318, -1, -1, -1, 322, 323, -1,
+ -1, -1, -1, -1, -1, 330, 331, -1, 265, 334,
+ 267, -1, 337, 270, -1, 272, 273, 342, 275, -1,
+ 277, -1, 279, -1, 281, 282, 283, -1, -1, -1,
+ 287, 288, -1, -1, -1, -1, 293, -1, 295, 296,
+ -1, -1, -1, 300, -1, -1, -1, 304, -1, -1,
+ -1, -1, 377, -1, -1, -1, -1, -1, -1, 316,
+ -1, 318, -1, -1, -1, 322, 323, -1, -1, 418,
+ -1, -1, -1, 330, 331, -1, -1, 334, -1, -1,
+ 337, -1, 265, -1, 267, 342, -1, 270, -1, -1,
+ 273, -1, 275, 418, 277, -1, 279, -1, 281, 282,
+ 283, -1, -1, -1, 287, 288, -1, -1, -1, -1,
+ 293, -1, 295, -1, 265, -1, 267, 300, -1, 270,
+ -1, 304, 273, -1, 275, -1, 277, -1, 279, -1,
+ 281, 282, 283, 316, -1, 318, 287, 288, -1, 322,
+ -1, -1, 293, -1, 295, -1, -1, 330, 331, 300,
+ -1, 334, -1, 304, 337, -1, -1, -1, 265, 342,
+ 267, 418, -1, 270, -1, 316, -1, 318, 275, -1,
+ -1, 322, 279, -1, -1, -1, -1, -1, -1, 330,
+ 331, 288, -1, 334, -1, -1, 337, -1, 295, -1,
+ 265, 342, 267, 300, 377, 270, -1, 304, -1, 306,
+ 275, 308, -1, -1, 279, -1, 313, -1, -1, 316,
+ -1, 318, -1, 288, -1, 322, -1, -1, 325, -1,
+ 295, -1, -1, 330, 331, 300, -1, 334, -1, 304,
+ 337, 306, -1, 308, 265, 418, 267, -1, 313, 270,
+ -1, 316, -1, 318, 275, -1, -1, 322, 279, -1,
+ 325, -1, -1, -1, -1, 330, 331, 288, -1, 334,
+ -1, -1, 337, -1, 295, 372, 265, 418, 267, 300,
+ -1, 270, -1, 304, -1, 306, 275, 308, -1, -1,
+ 279, -1, 313, -1, -1, 316, -1, 318, -1, 288,
+ -1, 322, -1, -1, 325, 370, 295, -1, -1, 330,
+ 331, 300, -1, 334, -1, 304, 337, 306, -1, -1,
+ -1, 418, -1, -1, 313, -1, -1, 316, -1, 318,
+ -1, -1, -1, 322, -1, -1, 325, -1, -1, -1,
+ -1, 330, 331, -1, -1, 334, -1, 265, 337, 267,
+ -1, -1, 270, 418, -1, -1, -1, 275, -1, -1,
+ -1, 279, -1, -1, -1, 283, 265, -1, 267, -1,
+ 288, 270, -1, -1, -1, 293, 275, 295, -1, -1,
+ 279, -1, 300, -1, -1, -1, 304, 305, -1, 288,
+ -1, -1, -1, -1, -1, -1, 295, 418, 316, -1,
+ 318, 300, -1, -1, 322, 304, -1, -1, -1, -1,
+ -1, -1, 330, 331, -1, -1, 334, 316, -1, 318,
+ 265, -1, 267, 322, -1, 270, -1, -1, -1, 418,
+ 275, 330, 331, -1, 279, 334, -1, -1, 337, -1,
+ -1, -1, -1, 288, -1, -1, -1, -1, -1, -1,
+ 295, -1, -1, -1, -1, 300, -1, -1, 261, 304,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 272,
+ -1, 316, -1, 318, 277, -1, -1, 322, 281, -1,
+ -1, 284, -1, -1, -1, 330, 331, -1, -1, 334,
+ -1, -1, 337, 296, 297, -1, -1, -1, 301, 302,
+ 418, -1, -1, -1, 307, -1, 309, 310, 311, 312,
+ -1, -1, -1, -1, 317, -1, -1, -1, 321, 418,
+ 323, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 333, -1, 335, 336, 261, 338, -1, -1, -1, 342,
+ -1, -1, -1, -1, -1, 272, -1, -1, -1, -1,
+ 277, -1, -1, -1, 281, -1, -1, 284, -1, 362,
+ -1, -1, -1, -1, -1, 368, 369, -1, -1, 296,
+ 297, -1, -1, 418, 301, 302, 261, -1, 263, -1,
+ 307, -1, 309, 310, 311, 312, -1, -1, -1, -1,
+ 317, -1, -1, -1, 321, -1, 323, -1, -1, 284,
+ -1, -1, -1, -1, -1, -1, 333, -1, -1, 336,
+ -1, 338, 297, -1, -1, 342, -1, 302, -1, -1,
+ -1, -1, 307, -1, 309, 310, 311, 312, -1, -1,
+ -1, -1, 317, -1, -1, 362, 321, -1, -1, 261,
+ -1, 368, 369, -1, -1, -1, -1, -1, 333, -1,
+ 272, 336, -1, 338, -1, 277, -1, -1, -1, 281,
-1, -1, 284, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 296, 297, -1, -1, -1, 301,
- 302, -1, 261, -1, -1, 307, -1, 309, 310, 311,
+ -1, -1, -1, -1, 296, 297, -1, 362, -1, 301,
+ 302, -1, 261, 368, 369, 307, -1, 309, 310, 311,
312, -1, -1, 272, -1, 317, -1, -1, 277, 321,
- 418, 323, 281, -1, -1, 284, -1, -1, -1, -1,
- -1, 333, -1, 335, 336, -1, 338, 296, 297, -1,
- 342, -1, 301, 302, -1, 261, -1, 263, 307, -1,
+ -1, 323, 281, -1, -1, 284, -1, -1, -1, -1,
+ -1, 333, -1, -1, 336, -1, 338, 296, 297, -1,
+ 342, -1, 301, 302, 261, -1, -1, -1, 307, -1,
309, 310, 311, 312, -1, -1, -1, -1, 317, -1,
- 362, -1, 321, -1, 323, -1, 368, 369, 284, -1,
+ 362, -1, 321, -1, 323, -1, 368, 284, -1, -1,
-1, -1, -1, -1, 333, -1, -1, 336, -1, 338,
- -1, 297, -1, 342, -1, -1, 302, -1, 261, -1,
- -1, 307, -1, 309, 310, 311, 312, -1, -1, 272,
- -1, 317, -1, 362, 277, 321, -1, -1, 281, 368,
- 369, 284, -1, -1, -1, -1, -1, 333, -1, -1,
- 336, -1, 338, 296, 297, -1, -1, -1, 301, 302,
- -1, 261, -1, -1, 307, -1, 309, 310, 311, 312,
- -1, -1, 272, -1, 317, -1, 362, 277, 321, -1,
- 323, 281, 368, 369, 284, -1, -1, -1, -1, -1,
- 333, -1, -1, 336, -1, 338, 296, 297, -1, 342,
- -1, 301, 302, 261, -1, -1, -1, 307, -1, 309,
- 310, 311, 312, -1, -1, -1, -1, 317, -1, 362,
- -1, 321, -1, 323, -1, 368, 284, -1, -1, -1,
- -1, -1, -1, 333, -1, -1, 336, -1, 338, 297,
- -1, 261, 342, -1, 302, -1, -1, -1, -1, 307,
- -1, 309, 310, 311, 312, -1, -1, -1, -1, 317,
- -1, -1, 362, 321, 284, -1, -1, -1, 368, -1,
- -1, -1, -1, -1, -1, 333, -1, 297, 336, 261,
- 338, -1, 302, -1, -1, -1, -1, 307, -1, 309,
- 310, 311, 312, -1, -1, -1, -1, 317, -1, -1,
- -1, 321, 284, -1, 362, -1, 364, 365, -1, -1,
- 368, -1, -1, 333, -1, 297, 336, 261, 338, 263,
- 302, -1, -1, -1, -1, 307, -1, 309, 310, 311,
- 312, -1, -1, 315, -1, 317, -1, -1, -1, 321,
- 284, -1, 362, -1, 364, 365, -1, -1, 368, -1,
- -1, 333, -1, 297, 336, 261, 338, -1, 302, -1,
- -1, -1, -1, 307, -1, 309, 310, 311, 312, -1,
- -1, -1, -1, 317, -1, -1, -1, 321, 284, -1,
- 362, -1, -1, -1, -1, 261, 368, 263, -1, 333,
- -1, 297, 336, -1, 338, -1, 302, -1, -1, -1,
- -1, 307, -1, 309, 310, 311, 312, -1, 284, -1,
- -1, 317, -1, -1, -1, 321, -1, -1, 362, -1,
- -1, 297, -1, -1, 368, 261, 302, 333, -1, -1,
- 336, 307, 338, 309, 310, 311, 312, -1, -1, 315,
- -1, 317, -1, -1, -1, 321, -1, -1, 284, -1,
- -1, -1, -1, -1, -1, -1, 362, 333, 364, 365,
- 336, 297, 338, -1, -1, -1, 302, -1, -1, -1,
- -1, 307, -1, 309, 310, 311, 312, -1, -1, -1,
- -1, 317, -1, -1, -1, 321, 362, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 333, -1, -1,
- 336, -1, 338, -1, -1, -1, -1, -1, -1, -1,
+ 297, -1, 261, 342, -1, 302, -1, -1, -1, -1,
+ 307, -1, 309, 310, 311, 312, -1, -1, -1, -1,
+ 317, -1, -1, 362, 321, 284, -1, -1, -1, 368,
+ -1, -1, -1, -1, -1, -1, 333, -1, 297, 336,
+ 261, 338, -1, 302, -1, -1, -1, -1, 307, -1,
+ 309, 310, 311, 312, -1, -1, -1, -1, 317, -1,
+ -1, -1, 321, 284, -1, 362, -1, 364, 365, -1,
+ -1, 368, -1, -1, 333, -1, 297, 336, 261, 338,
+ 263, 302, -1, -1, -1, -1, 307, -1, 309, 310,
+ 311, 312, -1, -1, 315, -1, 317, -1, -1, -1,
+ 321, 284, -1, 362, -1, 364, 365, -1, -1, 368,
+ -1, -1, 333, -1, 297, 336, 261, 338, -1, 302,
+ -1, -1, -1, -1, 307, -1, 309, 310, 311, 312,
+ -1, -1, -1, -1, 317, -1, -1, -1, 321, 284,
+ -1, 362, -1, -1, -1, -1, 261, 368, 263, -1,
+ 333, -1, 297, 336, -1, 338, -1, 302, -1, -1,
+ -1, -1, 307, -1, 309, 310, 311, 312, -1, 284,
+ -1, -1, 317, -1, -1, -1, 321, -1, -1, 362,
+ -1, -1, 297, -1, -1, 368, 261, 302, 333, -1,
+ -1, 336, 307, 338, 309, 310, 311, 312, -1, -1,
+ 315, -1, 317, -1, -1, -1, 321, -1, -1, 284,
+ -1, -1, -1, -1, -1, -1, 261, 362, 333, 364,
+ 365, 336, 297, 338, -1, -1, 301, 302, -1, -1,
+ -1, -1, 307, -1, 309, 310, 311, 312, -1, 284,
+ -1, -1, 317, -1, -1, -1, 321, 362, -1, -1,
+ -1, -1, 297, -1, -1, -1, -1, 302, 333, -1,
+ -1, 336, 307, 338, 309, 310, 311, 312, -1, -1,
+ -1, -1, 317, -1, -1, -1, 321, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 362, 333, -1,
+ -1, 336, -1, 338, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 362,
+ -1, -1, -1, -1, -1, -1, -1, 362,
};
-#line 6388 "cs-parser.jay"
+#line 6399 "cs-parser.jay"
// <summary>
// A class used to hold info about an operator declarator
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/cs-tokenizer.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/cs-tokenizer.cs
index 637df0da14..b6a6f3eb0e 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/cs-tokenizer.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/cs-tokenizer.cs
@@ -424,10 +424,6 @@ namespace Mono.CSharp
else
tab_size = 8;
- //
- // FIXME: This could be `Location.Push' but we have to
- // find out why the MS compiler allows this
- //
Mono.CSharp.Location.Push (file, file);
}
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/decl.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/decl.cs
index a0fb584059..69b5e04302 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/decl.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/decl.cs
@@ -8,6 +8,7 @@
//
// Copyright 2001 Ximian, Inc (http://www.ximian.com)
// Copyright 2004-2008 Novell, Inc
+// Copyright 2011 Xamarin Inc
//
//
@@ -1346,7 +1347,7 @@ namespace Mono.CSharp {
} else {
Report.Error (102, symbol.Location,
"The type `{0}' already contains a definition for `{1}'",
- GetSignatureForError (), symbol.MemberName.Name);
+ GetSignatureForError (), name);
}
return false;
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/delegate.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/delegate.cs
index cc381846ff..b7efb87219 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/delegate.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/delegate.cs
@@ -10,6 +10,7 @@
//
// Copyright 2001 Ximian, Inc (http://www.ximian.com)
// Copyright 2003-2009 Novell, Inc (http://www.novell.com)
+// Copyright 2011 Xamarin Inc
//
using System;
@@ -176,20 +177,21 @@ namespace Mono.CSharp {
TypeManager.CheckTypeVariance (ret_type, Variance.Covariant, this);
- InvokeBuilder = new Method (this, null, ReturnType, MethodModifiers, new MemberName (InvokeMethodName), p, null);
+ var resolved_rt = new TypeExpression (ret_type, Location);
+ InvokeBuilder = new Method (this, null, resolved_rt, MethodModifiers, new MemberName (InvokeMethodName), p, null);
InvokeBuilder.Define ();
//
// Don't emit async method for compiler generated delegates (e.g. dynamic site containers)
//
if (!IsCompilerGenerated) {
- DefineAsyncMethods (Parameters.CallingConvention);
+ DefineAsyncMethods (Parameters.CallingConvention, resolved_rt);
}
return true;
}
- void DefineAsyncMethods (CallingConventions cc)
+ void DefineAsyncMethods (CallingConventions cc, TypeExpression returnType)
{
var iasync_result = Module.PredefinedTypes.IAsyncResult;
var async_callback = Module.PredefinedTypes.AsyncCallback;
@@ -280,7 +282,7 @@ namespace Mono.CSharp {
//
// Create method, define parameters, register parameters with type system
//
- EndInvokeBuilder = new Method (this, null, ReturnType, MethodModifiers, new MemberName ("EndInvoke"), end_parameters, null);
+ EndInvokeBuilder = new Method (this, null, returnType, MethodModifiers, new MemberName ("EndInvoke"), end_parameters, null);
EndInvokeBuilder.Define ();
}
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/doc.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/doc.cs
index 769154d691..59f67f0dbe 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/doc.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/doc.cs
@@ -8,6 +8,7 @@
// Dual licensed under the terms of the MIT X11 or GNU GPL
//
// Copyright 2004 Novell, Inc.
+// Copyright 2011 Xamarin Inc
//
//
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/driver.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/driver.cs
index 27cae0d85c..e1566ce62b 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/driver.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/driver.cs
@@ -9,6 +9,7 @@
//
// Copyright 2001, 2002, 2003 Ximian, Inc (http://www.ximian.com)
// Copyright 2004, 2005, 2006, 2007, 2008 Novell, Inc
+// Copyright 2011 Xamarin Inc
//
using System;
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/ecore.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/ecore.cs
index 27762336ca..410dd4da0b 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/ecore.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/ecore.cs
@@ -316,9 +316,20 @@ namespace Mono.CSharp {
TypeManager.CSharpName (type), name);
}
- protected static void Error_ValueAssignment (ResolveContext ec, Location loc)
+ public void Error_ValueAssignment (ResolveContext rc, Expression rhs)
{
- ec.Report.Error (131, loc, "The left-hand side of an assignment must be a variable, a property or an indexer");
+ if (rhs == EmptyExpression.LValueMemberAccess || rhs == EmptyExpression.LValueMemberOutAccess) {
+ rc.Report.SymbolRelatedToPreviousError (type);
+ if (rc.CurrentInitializerVariable != null) {
+ rc.Report.Error (1918, loc, "Members of value type `{0}' cannot be assigned using a property `{1}' object initializer",
+ type.GetSignatureForError (), GetSignatureForError ());
+ } else {
+ rc.Report.Error (1612, loc, "Cannot modify a value type return value of `{0}'. Consider storing the value in a temporary variable",
+ GetSignatureForError ());
+ }
+ } else {
+ rc.Report.Error (131, loc, "The left-hand side of an assignment must be a variable, a property or an indexer");
+ }
}
protected void Error_VoidPointerOperation (ResolveContext rc)
@@ -391,7 +402,7 @@ namespace Mono.CSharp {
throw;
ec.Report.Error (584, loc, "Internal compiler error: {0}", ex.Message);
- return EmptyExpression.Null; // TODO: Add location
+ return ErrorExpression.Instance; // TODO: Add location
}
}
@@ -432,7 +443,7 @@ namespace Mono.CSharp {
if (out_access)
ec.Report.Error (1510, loc, "A ref or out argument must be an assignable variable");
else
- Error_ValueAssignment (ec, loc);
+ Error_ValueAssignment (ec, right_side);
}
return null;
}
@@ -629,15 +640,11 @@ namespace Mono.CSharp {
}
var r = new OverloadResolver (ctors, OverloadResolver.Restrictions.NoBaseMembers, loc);
- var ctor = r.ResolveMember<MethodSpec> (rc, ref args);
- if (ctor == null)
- return null;
-
- if ((ctor.Modifiers & Modifiers.PROTECTED) != 0 && !rc.HasSet (ResolveContext.Options.BaseInitializer)) {
- MemberExpr.CheckProtectedMemberAccess (rc, ctor, ctor.DeclaringType, loc);
+ if (!rc.HasSet (ResolveContext.Options.BaseInitializer)) {
+ r.InstanceQualifier = new ConstructorInstanceQualifier (type);
}
- return ctor;
+ return r.ResolveMember<MethodSpec> (rc, ref args);
}
[Flags]
@@ -884,18 +891,6 @@ namespace Mono.CSharp {
Report.Error (214, loc, "Pointers and fixed size buffers may only be used in an unsafe context");
}
- protected void Error_CannotModifyIntermediateExpressionValue (ResolveContext ec)
- {
- ec.Report.SymbolRelatedToPreviousError (type);
- if (ec.CurrentInitializerVariable != null) {
- ec.Report.Error (1918, loc, "Members of value type `{0}' cannot be assigned using a property `{1}' object initializer",
- TypeManager.CSharpName (type), GetSignatureForError ());
- } else {
- ec.Report.Error (1612, loc, "Cannot modify a value type return value of `{0}'. Consider storing the value in a temporary variable",
- GetSignatureForError ());
- }
- }
-
//
// Converts `source' to an int, uint, long or ulong.
//
@@ -2676,7 +2671,7 @@ namespace Mono.CSharp {
/// This class denotes an expression which evaluates to a member
/// of a struct or a class.
/// </summary>
- public abstract class MemberExpr : Expression
+ public abstract class MemberExpr : Expression, OverloadResolver.IInstanceQualifier
{
//
// An instance expression associated with this member, if it's a
@@ -2716,6 +2711,12 @@ namespace Mono.CSharp {
get;
}
+ TypeSpec OverloadResolver.IInstanceQualifier.InstanceType {
+ get {
+ return InstanceExpression.Type;
+ }
+ }
+
//
// Converts best base candidate for virtual method starting from QueriedBaseType
//
@@ -2780,32 +2781,41 @@ namespace Mono.CSharp {
return method;
}
- protected void CheckProtectedMemberAccess<T> (ResolveContext rc, T member) where T : MemberSpec
+ protected void CheckProtectedMemberAccess (ResolveContext rc, MemberSpec member)
{
if (InstanceExpression == null)
return;
if ((member.Modifiers & Modifiers.PROTECTED) != 0 && !(InstanceExpression is This)) {
- CheckProtectedMemberAccess (rc, member, InstanceExpression.Type, loc);
+ if (!CheckProtectedMemberAccess (rc, member, InstanceExpression.Type)) {
+ Error_ProtectedMemberAccess (rc, member, InstanceExpression.Type, loc);
+ }
}
}
- public static void CheckProtectedMemberAccess<T> (ResolveContext rc, T member, TypeSpec qualifier, Location loc) where T : MemberSpec
+ bool OverloadResolver.IInstanceQualifier.CheckProtectedMemberAccess (ResolveContext rc, MemberSpec member)
+ {
+ if (InstanceExpression == null)
+ return true;
+
+ return InstanceExpression is This || CheckProtectedMemberAccess (rc, member, InstanceExpression.Type);
+ }
+
+ public static bool CheckProtectedMemberAccess<T> (ResolveContext rc, T member, TypeSpec qualifier) where T : MemberSpec
{
var ct = rc.CurrentType;
if (ct == qualifier)
- return;
+ return true;
if ((member.Modifiers & Modifiers.INTERNAL) != 0 && member.DeclaringType.MemberDefinition.IsInternalAsPublic (ct.MemberDefinition.DeclaringAssembly))
- return;
+ return true;
qualifier = qualifier.GetDefinition ();
if (ct != qualifier && !IsSameOrBaseQualifier (ct, qualifier)) {
- rc.Report.SymbolRelatedToPreviousError (member);
- rc.Report.Error (1540, loc,
- "Cannot access protected member `{0}' via a qualifier of type `{1}'. The qualifier must be of type `{2}' or derived from it",
- member.GetSignatureForError (), qualifier.GetSignatureForError (), ct.GetSignatureForError ());
+ return false;
}
+
+ return true;
}
public override bool ContainsEmitWithAwait ()
@@ -2858,6 +2868,14 @@ namespace Mono.CSharp {
rc.Report.Error (205, loc, "Cannot call an abstract base member `{0}'", name);
}
+ public static void Error_ProtectedMemberAccess (ResolveContext rc, MemberSpec member, TypeSpec qualifier, Location loc)
+ {
+ rc.Report.SymbolRelatedToPreviousError (member);
+ rc.Report.Error (1540, loc,
+ "Cannot access protected member `{0}' via a qualifier of type `{1}'. The qualifier must be of type `{2}' or derived from it",
+ member.GetSignatureForError (), qualifier.GetSignatureForError (), rc.CurrentType.GetSignatureForError ());
+ }
+
//
// Implements identicial simple name and type-name
//
@@ -2919,6 +2937,7 @@ namespace Mono.CSharp {
"An object reference is required to access non-static member `{0}'",
GetSignatureForError ());
+ InstanceExpression = new CompilerGeneratedThis (type, loc).Resolve (rc);
return false;
}
@@ -2968,9 +2987,6 @@ namespace Mono.CSharp {
// Additional checks for l-value member access
//
if (rhs != null) {
- //
- // TODO: It should be recursive but that would break csc compatibility
- //
if (InstanceExpression is UnboxCast) {
rc.Report.Error (445, InstanceExpression.Location, "Cannot modify the result of an unboxing conversion");
}
@@ -3378,6 +3394,7 @@ namespace Mono.CSharp {
var r = new OverloadResolver (Methods, type_arguments, restr, loc);
if ((restr & OverloadResolver.Restrictions.NoBaseMembers) == 0) {
r.BaseMembersProvider = this;
+ r.InstanceQualifier = this;
}
if (cerrors != null)
@@ -3406,8 +3423,6 @@ namespace Mono.CSharp {
}
ResolveInstanceExpression (ec, null);
- if (InstanceExpression != null)
- CheckProtectedMemberAccess (ec, best_candidate);
}
var base_override = CandidateToBaseOverride (ec, best_candidate);
@@ -3473,6 +3488,22 @@ namespace Mono.CSharp {
#endregion
}
+ struct ConstructorInstanceQualifier : OverloadResolver.IInstanceQualifier
+ {
+ public ConstructorInstanceQualifier (TypeSpec type)
+ : this ()
+ {
+ InstanceType = type;
+ }
+
+ public TypeSpec InstanceType { get; private set; }
+
+ public bool CheckProtectedMemberAccess (ResolveContext rc, MemberSpec member)
+ {
+ return MemberExpr.CheckProtectedMemberAccess (rc, member, InstanceType);
+ }
+ }
+
public struct OverloadResolver
{
[Flags]
@@ -3501,6 +3532,12 @@ namespace Mono.CSharp {
bool TypeInferenceFailed (ResolveContext rc, MemberSpec best);
}
+ public interface IInstanceQualifier
+ {
+ TypeSpec InstanceType { get; }
+ bool CheckProtectedMemberAccess (ResolveContext rc, MemberSpec member);
+ }
+
sealed class NoBaseMembers : IBaseMembersProvider
{
public static readonly IBaseMembersProvider Instance = new NoBaseMembers ();
@@ -3540,6 +3577,7 @@ namespace Mono.CSharp {
TypeArguments type_arguments;
IBaseMembersProvider base_provider;
IErrorHandler custom_errors;
+ IInstanceQualifier instance_qualifier;
Restrictions restrictions;
MethodGroupExpr best_candidate_extension_group;
TypeSpec best_candidate_return_type;
@@ -3617,6 +3655,15 @@ namespace Mono.CSharp {
}
}
+ public IInstanceQualifier InstanceQualifier {
+ get {
+ return instance_qualifier;
+ }
+ set {
+ instance_qualifier = value;
+ }
+ }
+
bool IsProbingOnly {
get {
return (restrictions & Restrictions.ProbingOnly) != 0;
@@ -4446,6 +4493,11 @@ namespace Mono.CSharp {
if (rc.IsRuntimeBinder && !member.DeclaringType.IsAccessible (rc))
continue;
+
+ if ((member.Modifiers & (Modifiers.PROTECTED | Modifiers.STATIC)) == Modifiers.PROTECTED &&
+ instance_qualifier != null && !instance_qualifier.CheckProtectedMemberAccess (rc, member)) {
+ continue;
+ }
}
IParametersMember pm = member as IParametersMember;
@@ -4585,6 +4637,9 @@ namespace Mono.CSharp {
if (error_mode)
break;
+ if (lambda_conv_msgs != null && !lambda_conv_msgs.IsEmpty)
+ break;
+
lambda_conv_msgs = null;
error_mode = true;
}
@@ -4747,6 +4802,12 @@ namespace Mono.CSharp {
return;
}
+
+ if ((best_candidate.Modifiers & (Modifiers.PROTECTED | Modifiers.STATIC)) == Modifiers.PROTECTED &&
+ InstanceQualifier != null && !InstanceQualifier.CheckProtectedMemberAccess (rc, best_candidate)) {
+ MemberExpr.Error_ProtectedMemberAccess (rc, best_candidate, InstanceQualifier.InstanceType, loc);
+ }
+
//
// For candidates which match on parameters count report more details about incorrect arguments
//
@@ -5617,8 +5678,9 @@ namespace Mono.CSharp {
return CreateExpressionFactoryCall (ec, "Property", args);
}
- public Expression CreateSetterTypeOfExpression ()
+ public Expression CreateSetterTypeOfExpression (ResolveContext rc)
{
+ DoResolveLValue (rc, null);
return new TypeOfMethod (Setter, loc);
}
@@ -5838,7 +5900,7 @@ namespace Mono.CSharp {
// if the property/indexer returns a value type, and we try to set a field in it
if (right_side == EmptyExpression.LValueMemberAccess || right_side == EmptyExpression.LValueMemberOutAccess) {
- Error_CannotModifyIntermediateExpressionValue (ec);
+ Error_ValueAssignment (ec, right_side);
}
if (eclass == ExprClass.Unresolved) {
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/enum.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/enum.cs
index fef5af717b..d84a828337 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/enum.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/enum.cs
@@ -9,6 +9,7 @@
//
// Copyright 2001 Ximian, Inc (http://www.ximian.com)
// Copyright 2003-2003 Novell, Inc (http://www.novell.com)
+// Copyright 2011 Xamarin Inc
//
using System;
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/eval.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/eval.cs
index 0e3bd71468..c996bc5e2a 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/eval.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/eval.cs
@@ -9,6 +9,7 @@
//
// Copyright 2001, 2002, 2003 Ximian, Inc (http://www.ximian.com)
// Copyright 2004-2011 Novell, Inc
+// Copyright 2011 Xamarin Inc
//
using System;
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/expression.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/expression.cs
index 09f18194e0..92c02c0291 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/expression.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/expression.cs
@@ -5422,6 +5422,11 @@ namespace Mono.CSharp
return list.ArgumentTypes;
}
+ public override string GetSignatureForError ()
+ {
+ return mg.GetSignatureForError ();
+ }
+
//
// If a member is a method or event, or if it is a constant, field or property of either a delegate type
// or the type dynamic, then the member is invocable
@@ -5653,7 +5658,7 @@ namespace Mono.CSharp
// Check whether the type of type parameter can be constructed. BaseType can be a struct for method overrides
// where type parameter constraint is inflated to struct
//
- if ((tparam.SpecialConstraint & (SpecialConstraint.Struct | SpecialConstraint.Constructor)) == 0 && !tparam.BaseType.IsStruct) {
+ if ((tparam.SpecialConstraint & (SpecialConstraint.Struct | SpecialConstraint.Constructor)) == 0 && !TypeSpec.IsValueType (tparam)) {
ec.Report.Error (304, loc,
"Cannot create an instance of the variable type `{0}' because it does not have the new() constraint",
TypeManager.CSharpName (type));
@@ -6783,7 +6788,8 @@ namespace Mono.CSharp
array_element_type = best_type_inference.InferredTypeArguments[0];
best_type_inference = null;
- if (array_element_type == null || array_element_type == InternalType.MethodGroup || array_element_type == InternalType.AnonymousMethod ||
+ if (array_element_type == null ||
+ array_element_type == InternalType.NullLiteral || array_element_type == InternalType.MethodGroup || array_element_type == InternalType.AnonymousMethod ||
arguments.Count != rank.Dimension) {
ec.Report.Error (826, loc,
"The type of an implicitly typed array cannot be inferred from the initializer. Try specifying array type explicitly");
@@ -8420,7 +8426,7 @@ namespace Mono.CSharp
return res.Resolve (ec);
}
- public override Expression DoResolveLValue (ResolveContext ec, Expression right_side)
+ public override Expression DoResolveLValue (ResolveContext ec, Expression rhs)
{
Expr = Expr.Resolve (ec);
if (Expr == null)
@@ -8432,7 +8438,12 @@ namespace Mono.CSharp
if (res == null)
return null;
- return res.ResolveLValue (ec, right_side);
+ bool lvalue_instance = rhs != null && type.IsStruct && (Expr is Invocation || Expr is PropertyExpr);
+ if (lvalue_instance) {
+ Expr.Error_ValueAssignment (ec, EmptyExpression.LValueMemberAccess);
+ }
+
+ return res.ResolveLValue (ec, rhs);
}
public override void Emit (EmitContext ec)
@@ -8887,6 +8898,7 @@ namespace Mono.CSharp
} else {
var res = new OverloadResolver (indexers, OverloadResolver.Restrictions.None, loc);
res.BaseMembersProvider = this;
+ res.InstanceQualifier = this;
// TODO: Do I need 2 argument sets?
best_candidate = res.ResolveMember<IndexerSpec> (rc, ref arguments);
@@ -8919,7 +8931,6 @@ namespace Mono.CSharp
if (right_side != null)
ResolveInstanceExpression (rc, right_side);
- CheckProtectedMemberAccess (rc, best_candidate);
return this;
}
@@ -9642,12 +9653,21 @@ namespace Mono.CSharp
if (fe != null)
args.Add (new Argument (fe.CreateTypeOfExpression ()));
else
- args.Add (new Argument (((PropertyExpr)target).CreateSetterTypeOfExpression ()));
+ args.Add (new Argument (((PropertyExpr) target).CreateSetterTypeOfExpression (ec)));
+
+ string mname;
+ Expression arg_expr;
+ var cinit = source as CollectionOrObjectInitializers;
+ if (cinit == null) {
+ mname = "Bind";
+ arg_expr = source.CreateExpressionTree (ec);
+ } else {
+ mname = cinit.IsEmpty || cinit.Initializers[0] is ElementInitializer ? "MemberBind" : "ListBind";
+ arg_expr = cinit.CreateExpressionTree (ec, !cinit.IsEmpty);
+ }
- args.Add (new Argument (source.CreateExpressionTree (ec)));
- return CreateExpressionFactoryCall (ec,
- source is CollectionOrObjectInitializers ? "ListBind" : "Bind",
- args);
+ args.Add (new Argument (arg_expr));
+ return CreateExpressionFactoryCall (ec, mname, args);
}
protected override Expression DoResolve (ResolveContext ec)
@@ -9852,6 +9872,11 @@ namespace Mono.CSharp
public override Expression CreateExpressionTree (ResolveContext ec)
{
+ return CreateExpressionTree (ec, false);
+ }
+
+ public Expression CreateExpressionTree (ResolveContext ec, bool inferType)
+ {
var expr_initializers = new ArrayInitializer (initializers.Count, loc);
foreach (Expression e in initializers) {
Expression expr = e.CreateExpressionTree (ec);
@@ -9859,7 +9884,10 @@ namespace Mono.CSharp
expr_initializers.Add (expr);
}
- return new ImplicitlyTypedArrayCreation (expr_initializers, loc);
+ if (inferType)
+ return new ImplicitlyTypedArrayCreation (expr_initializers, loc);
+
+ return new ArrayCreation (new TypeExpression (ec.Module.PredefinedTypes.MemberBinding.Resolve (), loc), expr_initializers, loc);
}
protected override Expression DoResolve (ResolveContext ec)
@@ -10035,7 +10063,7 @@ namespace Mono.CSharp
Arguments args = new Arguments (2);
args.Add (new Argument (base.CreateExpressionTree (ec)));
if (!initializers.IsEmpty)
- args.Add (new Argument (initializers.CreateExpressionTree (ec)));
+ args.Add (new Argument (initializers.CreateExpressionTree (ec, initializers.IsCollectionInitializer)));
return CreateExpressionFactoryCall (ec,
initializers.IsCollectionInitializer ? "ListInit" : "MemberInit",
@@ -10278,7 +10306,7 @@ namespace Mono.CSharp
type = e.Type;
if (type.Kind == MemberKind.Void || type == InternalType.NullLiteral || type == InternalType.AnonymousMethod || type.IsPointer) {
- Error_InvalidInitializer (ec, e.GetSignatureForError ());
+ Error_InvalidInitializer (ec, type.GetSignatureForError ());
return null;
}
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/field.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/field.cs
index e507e64b80..e26f022fc0 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/field.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/field.cs
@@ -9,6 +9,7 @@
//
// Copyright 2001, 2002, 2003 Ximian, Inc (http://www.ximian.com)
// Copyright 2004-2008 Novell, Inc
+// Copyright 2011 Xamarin Inc
//
using System;
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/flowanalysis.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/flowanalysis.cs
index 3bde87c336..188d8f3a6f 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/flowanalysis.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/flowanalysis.cs
@@ -1348,11 +1348,6 @@ namespace Mono.CSharp
VariableInfo[] sub_info;
- bool is_ever_assigned;
- public bool IsEverAssigned {
- get { return is_ever_assigned; }
- }
-
protected VariableInfo (string name, TypeSpec type, int offset)
{
this.Name = name;
@@ -1449,6 +1444,8 @@ namespace Mono.CSharp
return true;
}
+ public bool IsEverAssigned { get; set; }
+
public bool IsStructFieldAssigned (ResolveContext ec, string name)
{
return !ec.DoFlowAnalysis || ec.CurrentBranching.IsStructFieldAssigned (this, name);
@@ -1483,7 +1480,7 @@ namespace Mono.CSharp
else
vector.SetRange (Offset, Length);
- is_ever_assigned = true;
+ IsEverAssigned = true;
}
public void SetStructFieldAssigned (MyBitVector vector, string field_name)
@@ -1503,12 +1500,12 @@ namespace Mono.CSharp
vector[Offset + field_idx] = true;
}
- is_ever_assigned = true;
+ IsEverAssigned = true;
//
// Each field must be assigned
//
- for (int i = Offset + 1; i <= TypeInfo.Length + Offset; i++) {
+ for (int i = Offset + 1; i <= TypeInfo.TotalLength + Offset; i++) {
if (!vector[i])
return;
}
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/generic.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/generic.cs
index d592349bee..d623ee0e97 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/generic.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/generic.cs
@@ -129,10 +129,15 @@ namespace Mono.CSharp {
if (TypeSpec.IsBaseClass (ba, bb, false) || TypeSpec.IsBaseClass (bb, ba, false))
return true;
+ Error_ConflictingConstraints (context, spec, ba, bb, loc);
+ return false;
+ }
+
+ public static void Error_ConflictingConstraints (IMemberContext context, TypeParameterSpec tp, TypeSpec ba, TypeSpec bb, Location loc)
+ {
context.Module.Compiler.Report.Error (455, loc,
"Type parameter `{0}' inherits conflicting constraints `{1}' and `{2}'",
- spec.Name, ba.GetSignatureForError (), bb.GetSignatureForError ());
- return false;
+ tp.Name, ba.GetSignatureForError (), bb.GetSignatureForError ());
}
public void CheckGenericConstraints (IMemberContext context, bool obsoleteCheck)
@@ -808,7 +813,17 @@ namespace Mono.CSharp {
// class A : B<int> { override void Foo<U> () {} }
// class B<T> { virtual void Foo<U> () where U : T {} }
//
- return HasSpecialStruct || TypeSpec.IsValueType (BaseType);
+ if (HasSpecialStruct)
+ return true;
+
+ if (targs != null) {
+ foreach (var ta in targs) {
+ if (TypeSpec.IsValueType (ta))
+ return true;
+ }
+ }
+
+ return false;
}
}
@@ -853,21 +868,6 @@ namespace Mono.CSharp {
#endregion
- public void ChangeTypeArgumentToBaseType (int index)
- {
- BaseType = targs [index];
- if (targs.Length == 1) {
- targs = null;
- } else {
- var copy = new TypeSpec[targs.Length - 1];
- if (index > 0)
- Array.Copy (targs, copy, index);
-
- Array.Copy (targs, index + 1, copy, index, targs.Length - index - 1);
- targs = copy;
- }
- }
-
public string DisplayDebugInfo ()
{
var s = GetSignatureForError ();
@@ -900,11 +900,18 @@ namespace Mono.CSharp {
var types = targs;
if (HasTypeConstraint) {
Array.Resize (ref types, types.Length + 1);
+
+ for (int i = 0; i < types.Length - 1; ++i) {
+ types[i] = types[i].BaseType;
+ }
+
types[types.Length - 1] = BaseType;
+ } else {
+ types = types.Select (l => l.BaseType).ToArray ();
}
if (types != null)
- return Convert.FindMostEncompassedType (types.Select (l => l.BaseType));
+ return Convert.FindMostEncompassedType (types);
return BaseType;
}
@@ -2256,35 +2263,25 @@ namespace Mono.CSharp {
// Check the interfaces constraints
//
if (tparam.Interfaces != null) {
- if (atype.IsNullableType) {
- if (mc == null)
- return false;
+ foreach (TypeSpec iface in tparam.Interfaces) {
+ var dep = iface.GetMissingDependencies ();
+ if (dep != null) {
+ if (mc == null)
+ return false;
- mc.Module.Compiler.Report.Error (313, loc,
- "The type `{0}' cannot be used as type parameter `{1}' in the generic type or method `{2}'. The nullable type `{0}' never satisfies interface constraint",
- atype.GetSignatureForError (), tparam.GetSignatureForError (), context.GetSignatureForError ());
- ok = false;
- } else {
- foreach (TypeSpec iface in tparam.Interfaces) {
- var dep = iface.GetMissingDependencies ();
- if (dep != null) {
- if (mc == null)
- return false;
+ ImportedTypeDefinition.Error_MissingDependency (mc, dep, loc);
+ ok = false;
- ImportedTypeDefinition.Error_MissingDependency (mc, dep, loc);
- ok = false;
+ // return immediately to avoid duplicate errors because we are scanning
+ // expanded interface list
+ return false;
+ }
- // return immediately to avoid duplicate errors because we are scanning
- // expanded interface list
+ if (!CheckConversion (mc, context, atype, tparam, iface, loc)) {
+ if (mc == null)
return false;
- }
- if (!CheckConversion (mc, context, atype, tparam, iface, loc)) {
- if (mc == null)
- return false;
-
- ok = false;
- }
+ ok = false;
}
}
}
@@ -2343,24 +2340,29 @@ namespace Mono.CSharp {
if (atype.IsGenericParameter) {
var tps = (TypeParameterSpec) atype;
- if (Convert.ImplicitTypeParameterConversion (null, tps, ttype) != null)
- return true;
+ if (tps.TypeArguments != null) {
+ foreach (var targ in tps.TypeArguments) {
+ if (TypeSpecComparer.Override.IsEqual (targ, ttype))
+ return true;
+ }
+ }
- //
- // LAMESPEC: Identity conversion with inflated type parameter
- // It's not clear from the spec what rule should apply to inherited
- // inflated type parameter. The specification allows only type parameter
- // conversion but that's clearly not enough
- //
- if (tps.HasTypeConstraint && tps.BaseType == ttype)
+ if (Convert.ImplicitTypeParameterConversion (null, tps, ttype) != null)
return true;
} else if (TypeSpec.IsValueType (atype)) {
- if (Convert.ImplicitBoxingConversion (null, atype, ttype) != null)
- return true;
+ if (atype.IsNullableType) {
+ //
+ // LAMESPEC: Only identity or base type ValueType or Object satisfy nullable type
+ //
+ if (TypeSpec.IsBaseClass (atype, ttype, false))
+ return true;
+ } else {
+ if (Convert.ImplicitBoxingConversion (null, atype, ttype) != null)
+ return true;
+ }
} else {
- var expr = new EmptyExpression (atype);
- if (Convert.ImplicitStandardConversionExists (expr, ttype))
+ if (Convert.ImplicitReferenceConversionExists (atype, ttype) || Convert.ImplicitBoxingConversion (null, atype, ttype) != null)
return true;
}
@@ -2379,9 +2381,21 @@ namespace Mono.CSharp {
"The type `{0}' cannot be used as type parameter `{1}' in the generic type or method `{2}'. There is no boxing or type parameter conversion from `{0}' to `{3}'",
atype.GetSignatureForError (), tparam.GetSignatureForError (), context.GetSignatureForError (), ttype.GetSignatureForError ());
} else if (TypeSpec.IsValueType (atype)) {
- mc.Module.Compiler.Report.Error (315, loc,
- "The type `{0}' cannot be used as type parameter `{1}' in the generic type or method `{2}'. There is no boxing conversion from `{0}' to `{3}'",
- atype.GetSignatureForError (), tparam.GetSignatureForError (), context.GetSignatureForError (), ttype.GetSignatureForError ());
+ if (atype.IsNullableType) {
+ if (ttype.IsInterface) {
+ mc.Module.Compiler.Report.Error (313, loc,
+ "The type `{0}' cannot be used as type parameter `{1}' in the generic type or method `{2}'. The nullable type `{0}' never satisfies interface constraint `{3}'",
+ atype.GetSignatureForError (), tparam.GetSignatureForError (), context.GetSignatureForError (), ttype.GetSignatureForError ());
+ } else {
+ mc.Module.Compiler.Report.Error (312, loc,
+ "The type `{0}' cannot be used as type parameter `{1}' in the generic type or method `{2}'. The nullable type `{0}' does not satisfy constraint `{3}'",
+ atype.GetSignatureForError (), tparam.GetSignatureForError (), context.GetSignatureForError (), ttype.GetSignatureForError ());
+ }
+ } else {
+ mc.Module.Compiler.Report.Error (315, loc,
+ "The type `{0}' cannot be used as type parameter `{1}' in the generic type or method `{2}'. There is no boxing conversion from `{0}' to `{3}'",
+ atype.GetSignatureForError (), tparam.GetSignatureForError (), context.GetSignatureForError (), ttype.GetSignatureForError ());
+ }
} else {
mc.Module.Compiler.Report.Error (311, loc,
"The type `{0}' cannot be used as type parameter `{1}' in the generic type or method `{2}'. There is no implicit reference conversion from `{0}' to `{3}'",
@@ -2710,8 +2724,13 @@ namespace Mono.CSharp {
var mi = Delegate.GetInvokeMethod (t_i);
TypeSpec rtype = mi.ReturnType;
- if (tic.IsReturnTypeNonDependent (ec, mi, rtype))
- score -= tic.OutputTypeInference (ec, arguments [i].Expr, t_i);
+ if (tic.IsReturnTypeNonDependent (ec, mi, rtype)) {
+ // It can be null for default arguments
+ if (arguments[i] == null)
+ continue;
+
+ score -= tic.OutputTypeInference (ec, arguments[i].Expr, t_i);
+ }
}
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/lambda.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/lambda.cs
index 16f96a33de..d7d8a5932d 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/lambda.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/lambda.cs
@@ -7,6 +7,7 @@
// Dual licensed under the terms of the MIT X11 or GNU GPL
//
// Copyright 2007-2008 Novell, Inc
+// Copyright 2011 Xamarin Inc
//
#if STATIC
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/linq.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/linq.cs
index 40398513c8..998f340a98 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/linq.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/linq.cs
@@ -6,6 +6,7 @@
// Dual licensed under the terms of the MIT X11 or GNU GPL
//
// Copyright 2007-2008 Novell, Inc
+// Copyright 2011 Xamarin Inc
//
using System;
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/literal.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/literal.cs
index 51502dddab..95be95d40b 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/literal.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/literal.cs
@@ -6,6 +6,7 @@
// Marek Safar (marek.safar@seznam.cz)
//
// Copyright 2001 Ximian, Inc.
+// Copyright 2011 Xamarin Inc
//
//
// Notice that during parsing we create objects of type Literal, but the
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/membercache.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/membercache.cs
index 61b51dd7ef..6a497cc514 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/membercache.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/membercache.cs
@@ -8,6 +8,7 @@
//
// Copyright 2001 Ximian, Inc (http://www.ximian.com)
// Copyright 2004-2010 Novell, Inc
+// Copyright 2011 Xamarin Inc
//
//
@@ -1177,10 +1178,14 @@ namespace Mono.CSharp {
if (name_entry.MemberDefinition.CLSAttributeValue == false)
continue;
- IParametersMember p_a = name_entry as IParametersMember;
- if (p_a != null && !name_entry.IsAccessor) {
- if (!is_imported_type) {
+ IParametersMember p_a = null;
+ if (!is_imported_type) {
+ p_a = name_entry as IParametersMember;
+ if (p_a != null && !name_entry.IsAccessor) {
var p_a_pd = p_a.Parameters;
+ //
+ // Check differing overloads in @container
+ //
for (int ii = i + 1; ii < entry.Value.Count; ++ii) {
var checked_entry = entry.Value[ii];
IParametersMember p_b = checked_entry as IParametersMember;
@@ -1195,24 +1200,7 @@ namespace Mono.CSharp {
var res = ParametersCompiled.IsSameClsSignature (p_a.Parameters, p_b.Parameters);
if (res != 0) {
- var last = GetLaterDefinedMember (checked_entry, name_entry);
- if (last == checked_entry.MemberDefinition) {
- report.SymbolRelatedToPreviousError (name_entry);
- } else {
- report.SymbolRelatedToPreviousError (checked_entry);
- }
-
- if ((res & 1) != 0) {
- report.Warning (3006, 1, last.Location,
- "Overloaded method `{0}' differing only in ref or out, or in array rank, is not CLS-compliant",
- name_entry.GetSignatureForError ());
- }
-
- if ((res & 2) != 0) {
- report.Warning (3007, 1, last.Location,
- "Overloaded method `{0}' differing only by unnamed array types is not CLS-compliant",
- name_entry.GetSignatureForError ());
- }
+ ReportOverloadedMethodClsDifference (name_entry, checked_entry, res, report);
}
}
}
@@ -1230,11 +1218,26 @@ namespace Mono.CSharp {
} else {
bool same_names_only = true;
foreach (var f in found) {
- if (f.Name == name_entry.Name)
- continue;
+ if (f.Name == name_entry.Name) {
+ if (p_a != null) {
+ IParametersMember p_b = f as IParametersMember;
+ if (p_b == null)
+ continue;
+
+ if (p_a.Parameters.Count != p_b.Parameters.Count)
+ continue;
+
+ if (f.IsAccessor)
+ continue;
+
+ var res = ParametersCompiled.IsSameClsSignature (p_a.Parameters, p_b.Parameters);
+ if (res != 0) {
+ ReportOverloadedMethodClsDifference (f, name_entry, res, report);
+ }
+ }
-// if (f.IsAccessor && name_entry.IsAccessor)
-// continue;
+ continue;
+ }
same_names_only = false;
if (!is_imported_type) {
@@ -1273,12 +1276,37 @@ namespace Mono.CSharp {
if (mc_b == null)
return mc_a;
+ if (a.DeclaringType.MemberDefinition != b.DeclaringType.MemberDefinition)
+ return mc_b;
+
if (mc_a.Location.File != mc_a.Location.File)
return mc_b;
return mc_b.Location.Row > mc_a.Location.Row ? mc_b : mc_a;
}
+ static void ReportOverloadedMethodClsDifference (MemberSpec a, MemberSpec b, int res, Report report)
+ {
+ var last = GetLaterDefinedMember (a, b);
+ if (last == a.MemberDefinition) {
+ report.SymbolRelatedToPreviousError (b);
+ } else {
+ report.SymbolRelatedToPreviousError (a);
+ }
+
+ if ((res & 1) != 0) {
+ report.Warning (3006, 1, last.Location,
+ "Overloaded method `{0}' differing only in ref or out, or in array rank, is not CLS-compliant",
+ last.GetSignatureForError ());
+ }
+
+ if ((res & 2) != 0) {
+ report.Warning (3007, 1, last.Location,
+ "Overloaded method `{0}' differing only by unnamed array types is not CLS-compliant",
+ last.GetSignatureForError ());
+ }
+ }
+
public bool CheckExistingMembersOverloads (MemberCore member, AParametersCollection parameters)
{
var name = GetLookupName (member);
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/method.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/method.cs
index 32ef917f69..b545ce9051 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/method.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/method.cs
@@ -9,6 +9,7 @@
//
// Copyright 2001, 2002, 2003 Ximian, Inc (http://www.ximian.com)
// Copyright 2004-2008 Novell, Inc
+// Copyright 2011 Xamarin Inc.
//
using System;
@@ -1102,7 +1103,7 @@ namespace Mono.CSharp {
base_tparam.InflateConstraints (inflator, local_tparam);
//
- // Check all type argument constraints for possible collision
+ // Check all type argument constraints for possible collision or unification
// introduced by inflating inherited constraints in this context
//
// Conflict example:
@@ -1111,31 +1112,67 @@ namespace Mono.CSharp {
// class B : A<int> { override void Foo<U> {} }
//
var local_tparam_targs = local_tparam.TypeArguments;
- if (local_tparam_targs != null) {
+ if (local_tparam_targs != null) {
for (int ii = 0; ii < local_tparam_targs.Length; ++ii) {
var ta = local_tparam_targs [ii];
if (!ta.IsClass && !ta.IsStruct)
continue;
- if (Constraints.CheckConflictingInheritedConstraint (local_tparam, ta, this, Location)) {
- local_tparam.ChangeTypeArgumentToBaseType (ii);
+ TypeSpec[] unique_tparams = null;
+ for (int iii = ii + 1; iii < local_tparam_targs.Length; ++iii) {
+ //
+ // Remove any identical or unified constraint types
+ //
+ var tparam_checked = local_tparam_targs[iii];
+ if (TypeSpecComparer.IsEqual (ta, tparam_checked) || TypeSpec.IsBaseClass (ta, tparam_checked, false)) {
+ unique_tparams = new TypeSpec[local_tparam_targs.Length - 1];
+ Array.Copy (local_tparam_targs, 0, unique_tparams, 0, iii);
+ Array.Copy (local_tparam_targs, iii + 1, unique_tparams, iii, local_tparam_targs.Length - iii - 1);
+ } else if (!TypeSpec.IsBaseClass (tparam_checked, ta, false)) {
+ Constraints.Error_ConflictingConstraints (this, local_tparam, ta, tparam_checked, Location);
+ }
}
+
+ if (unique_tparams != null) {
+ local_tparam_targs = unique_tparams;
+ local_tparam.TypeArguments = local_tparam_targs;
+ continue;
+ }
+
+ Constraints.CheckConflictingInheritedConstraint (local_tparam, ta, this, Location);
}
}
continue;
}
-
- if (MethodData != null && MethodData.implementing != null) {
- var base_tp = MethodData.implementing.Constraints[i];
- if (!tp.Type.HasSameConstraintsImplementation (base_tp)) {
- Report.SymbolRelatedToPreviousError (MethodData.implementing);
- Report.Error (425, Location,
- "The constraints for type parameter `{0}' of method `{1}' must match the constraints for type parameter `{2}' of interface method `{3}'. Consider using an explicit interface implementation instead",
- tp.GetSignatureForError (), GetSignatureForError (), base_tp.GetSignatureForError (), MethodData.implementing.GetSignatureForError ());
- }
+ }
+
+ if (base_tparams == null && MethodData != null && MethodData.implementing != null) {
+ CheckImplementingMethodConstraints (Parent, spec, MethodData.implementing);
+ }
+ }
+
+ public static bool CheckImplementingMethodConstraints (TypeContainer container, MethodSpec method, MethodSpec baseMethod)
+ {
+ var tparams = method.Constraints;
+ var base_tparams = baseMethod.Constraints;
+ for (int i = 0; i < tparams.Length; ++i) {
+ if (!tparams[i].HasSameConstraintsImplementation (base_tparams[i])) {
+ container.Compiler.Report.SymbolRelatedToPreviousError (method);
+ container.Compiler.Report.SymbolRelatedToPreviousError (baseMethod);
+
+ // Using container location because the interface can be implemented
+ // by base class
+ container.Compiler.Report.Error (425, container.Location,
+ "The constraints for type parameter `{0}' of method `{1}' must match the constraints for type parameter `{2}' of interface method `{3}'. Consider using an explicit interface implementation instead",
+ tparams[i].GetSignatureForError (), method.GetSignatureForError (),
+ base_tparams[i].GetSignatureForError (), baseMethod.GetSignatureForError ());
+
+ return false;
}
}
+
+ return true;
}
public override void Accept (StructuralVisitor visitor)
@@ -1209,7 +1246,7 @@ namespace Mono.CSharp {
PredefinedAttribute pa = Module.PredefinedAttributes.Extension;
if (!pa.IsDefined) {
Report.Error (1110, Location,
- "`{0}': Extension methods cannot be declared without a reference to System.Core.dll assembly. Add the assembly reference or remove `this' modifer from the first parameter",
+ "`{0}': Extension methods require `System.Runtime.CompilerServices.ExtensionAttribute' type to be available. Are you missing an assembly reference?",
GetSignatureForError ());
}
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/namespace.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/namespace.cs
index bd55dce6c2..3cdac0f082 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/namespace.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/namespace.cs
@@ -7,6 +7,7 @@
//
// Copyright 2001 Ximian, Inc.
// Copyright 2003-2008 Novell, Inc.
+// Copyright 2011 Xamarin Inc
//
using System;
using System.Collections.Generic;
@@ -987,10 +988,8 @@ namespace Mono.CSharp {
if (namespace_using_table != null)
return namespace_using_table;
- if (using_clauses == null) {
- namespace_using_table = empty_namespaces;
- return namespace_using_table;
- }
+ if (using_clauses == null)
+ return empty_namespaces;
var list = new List<Namespace> (using_clauses.Count);
@@ -1002,6 +1001,9 @@ namespace Mono.CSharp {
list.Add (using_ns);
}
+ if (Compiler.Settings.StatementMode)
+ return list.ToArray ();
+
namespace_using_table = list.ToArray ();
return namespace_using_table;
}
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/nullable.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/nullable.cs
index 28cf683e4c..b173304cb2 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/nullable.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/nullable.cs
@@ -9,6 +9,7 @@
//
// Copyright 2001, 2002, 2003 Ximian, Inc (http://www.ximian.com)
// Copyright 2004-2008 Novell, Inc
+// Copyright 2011 Xamarin Inc
//
using System;
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/parameter.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/parameter.cs
index d73a6e61ac..9fb4a57ffe 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/parameter.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/parameter.cs
@@ -8,6 +8,7 @@
//
// Copyright 2001-2003 Ximian, Inc (http://www.ximian.com)
// Copyright 2003-2008 Novell, Inc.
+// Copyright 2011 Xamarin Inc
//
//
using System;
@@ -955,10 +956,7 @@ namespace Mono.CSharp {
int count = parameters.Length;
for (int i = 0; i < count; i++){
- var p = parameters [i];
- if (p == null)
- continue;
- has_params |= (p.ModFlags & Parameter.Modifier.PARAMS) != 0;
+ has_params |= (parameters [i].ModFlags & Parameter.Modifier.PARAMS) != 0;
}
}
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/pending.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/pending.cs
index 0852b0f826..a9b066b436 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/pending.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/pending.cs
@@ -9,6 +9,7 @@
//
// Copyright 2001, 2002 Ximian, Inc (http://www.ximian.com)
// Copyright 2003-2008 Novell, Inc.
+// Copyright 2011 Xamarin Inc
//
using System;
@@ -598,6 +599,10 @@ namespace Mono.CSharp {
if (!TypeSpecComparer.Override.IsEqual (mi.ReturnType, base_method.ReturnType))
return false;
+
+ if (mi.IsGeneric && !Method.CheckImplementingMethodConstraints (container, base_method, mi)) {
+ return true;
+ }
}
if (base_method != null) {
@@ -686,7 +691,7 @@ namespace Mono.CSharp {
if (candidate.IsStatic) {
Report.Error (736, container.Location,
"`{0}' does not implement interface member `{1}' and the best implementing candidate `{2}' is static",
- container.GetSignatureForError (), mi.GetSignatureForError (), TypeManager.CSharpSignature (candidate));
+ container.GetSignatureForError (), mi.GetSignatureForError (), candidate.GetSignatureForError ());
} else if ((candidate.Modifiers & Modifiers.PUBLIC) == 0) {
Report.Error (737, container.Location,
"`{0}' does not implement interface member `{1}' and the best implementing candidate `{2}' in not public",
@@ -694,8 +699,8 @@ namespace Mono.CSharp {
} else {
Report.Error (738, container.Location,
"`{0}' does not implement interface member `{1}' and the best implementing candidate `{2}' return type `{3}' does not match interface member return type `{4}'",
- container.GetSignatureForError (), mi.GetSignatureForError (), TypeManager.CSharpSignature (candidate),
- TypeManager.CSharpName (candidate.ReturnType), TypeManager.CSharpName (mi.ReturnType));
+ container.GetSignatureForError (), mi.GetSignatureForError (), candidate.GetSignatureForError (),
+ candidate.ReturnType.GetSignatureForError (), mi.ReturnType.GetSignatureForError ());
}
} else {
Report.Error (535, container.Location, "`{0}' does not implement interface member `{1}'",
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/property.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/property.cs
index 204204e724..7c8f069b17 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/property.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/property.cs
@@ -9,6 +9,7 @@
//
// Copyright 2001, 2002, 2003 Ximian, Inc (http://www.ximian.com)
// Copyright 2004-2008 Novell, Inc
+// Copyright 2011 Xamarin Inc
//
using System;
@@ -781,6 +782,16 @@ namespace Mono.CSharp
if (!DefineAccessors ())
return false;
+ if (AccessorSecond == null) {
+ PropertyMethod pm;
+ if (AccessorFirst is GetMethod)
+ pm = new SetMethod (this, 0, ParametersCompiled.EmptyReadOnlyParameters, null, Location);
+ else
+ pm = new GetMethod (this, 0, null, Location);
+
+ Parent.AddMember (pm);
+ }
+
if (!CheckBase ())
return false;
@@ -876,7 +887,7 @@ namespace Mono.CSharp
abstract class EventFieldAccessor : AEventAccessor
{
protected EventFieldAccessor (EventField method, string prefix)
- : base (method, prefix, null, Location.Null)
+ : base (method, prefix, null, method.Location)
{
}
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/roottypes.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/roottypes.cs
index b9bd5edcb7..962937befc 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/roottypes.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/roottypes.cs
@@ -8,6 +8,7 @@
//
// Copyright 2001-2003 Ximian, Inc (http://www.ximian.com)
// Copyright 2003-2008 Novell, Inc.
+// Copyright 2011 Xamarin Inc
//
using System;
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/statement.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/statement.cs
index 2e8460f659..91918cebde 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/statement.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/statement.cs
@@ -476,47 +476,52 @@ namespace Mono.CSharp {
}
}
- public class For : Statement {
- public Expression Test { get; private set; }
- public Statement InitStatement { get; private set; }
- public Statement Increment { get; private set; }
- public Statement Statement { get; private set; }
+ public class For : Statement
+ {
bool infinite, empty;
- public For (Statement init_statement,
- Expression test,
- Statement increment,
- Statement statement,
- Location l)
- {
- InitStatement = init_statement;
- Test = test;
- Increment = increment;
- Statement = statement;
+ public For (Location l)
+ {
loc = l;
}
+ public Statement Initializer {
+ get; set;
+ }
+
+ public Expression Condition {
+ get; set;
+ }
+
+ public Statement Iterator {
+ get; set;
+ }
+
+ public Statement Statement {
+ get; set;
+ }
+
public override bool Resolve (BlockContext ec)
{
bool ok = true;
- if (InitStatement != null){
- if (!InitStatement.Resolve (ec))
+ if (Initializer != null) {
+ if (!Initializer.Resolve (ec))
ok = false;
}
- if (Test != null){
- Test = Test.Resolve (ec);
- if (Test == null)
+ if (Condition != null) {
+ Condition = Condition.Resolve (ec);
+ if (Condition == null)
ok = false;
- else if (Test is Constant){
- bool value = !((Constant) Test).IsDefaultValue;
+ else if (Condition is Constant) {
+ bool value = !((Constant) Condition).IsDefaultValue;
if (value == false){
if (!Statement.ResolveUnreachable (ec, true))
return false;
- if ((Increment != null) &&
- !Increment.ResolveUnreachable (ec, false))
+ if ((Iterator != null) &&
+ !Iterator.ResolveUnreachable (ec, false))
return false;
empty = true;
return true;
@@ -537,12 +542,12 @@ namespace Mono.CSharp {
ok = false;
ec.EndFlowBranching ();
- if (Increment != null){
+ if (Iterator != null){
if (ec.CurrentBranching.CurrentUsageVector.IsUnreachable) {
- if (!Increment.ResolveUnreachable (ec, !was_unreachable))
+ if (!Iterator.ResolveUnreachable (ec, !was_unreachable))
ok = false;
} else {
- if (!Increment.Resolve (ec))
+ if (!Iterator.Resolve (ec))
ok = false;
}
}
@@ -557,11 +562,11 @@ namespace Mono.CSharp {
protected override void DoEmit (EmitContext ec)
{
- if (InitStatement != null)
- InitStatement.Emit (ec);
+ if (Initializer != null)
+ Initializer.Emit (ec);
if (empty) {
- Test.EmitSideEffect (ec);
+ Condition.EmitSideEffect (ec);
return;
}
@@ -578,24 +583,24 @@ namespace Mono.CSharp {
Statement.Emit (ec);
ec.MarkLabel (ec.LoopBegin);
- Increment.Emit (ec);
+ Iterator.Emit (ec);
ec.MarkLabel (test);
//
// If test is null, there is no test, and we are just
// an infinite loop
//
- if (Test != null){
+ if (Condition != null){
//
// The Resolve code already catches the case for
// Test == Constant (false) so we know that
// this is true
//
- if (Test is Constant) {
- Test.EmitSideEffect (ec);
+ if (Condition is Constant) {
+ Condition.EmitSideEffect (ec);
ec.Emit (OpCodes.Br, loop);
} else {
- Test.EmitBranchable (ec, loop, true);
+ Condition.EmitBranchable (ec, loop, true);
}
} else
@@ -610,15 +615,15 @@ namespace Mono.CSharp {
{
For target = (For) t;
- if (InitStatement != null)
- target.InitStatement = InitStatement.Clone (clonectx);
- if (Test != null)
- target.Test = Test.Clone (clonectx);
- if (Increment != null)
- target.Increment = Increment.Clone (clonectx);
+ if (Initializer != null)
+ target.Initializer = Initializer.Clone (clonectx);
+ if (Condition != null)
+ target.Condition = Condition.Clone (clonectx);
+ if (Iterator != null)
+ target.Iterator = Iterator.Clone (clonectx);
target.Statement = Statement.Clone (clonectx);
}
-
+
public override object Accept (StructuralVisitor visitor)
{
return visitor.Visit (this);
@@ -1403,6 +1408,9 @@ namespace Mono.CSharp {
void CreateEvaluatorVariable (BlockContext bc, LocalVariable li)
{
+ if (bc.Report.Errors != 0)
+ return;
+
var container = bc.CurrentMemberDefinition.Parent;
Field f = new Field (container, new TypeExpression (li.Type, li.Location), Modifiers.PUBLIC | Modifiers.STATIC,
@@ -6153,4 +6161,35 @@ namespace Mono.CSharp {
return visitor.Visit (this);
}
}
+
+ public class StatementErrorExpression : Statement
+ {
+ readonly Expression expr;
+
+ public Expression Expression {
+ get {
+ return expr;
+ }
+ }
+
+ public StatementErrorExpression (Expression expr)
+ {
+ this.expr = expr;
+ }
+
+ protected override void DoEmit (EmitContext ec)
+ {
+ throw new NotImplementedException ();
+ }
+
+ protected override void CloneTo (CloneContext clonectx, Statement target)
+ {
+ throw new NotImplementedException ();
+ }
+
+ public override object Accept (StructuralVisitor visitor)
+ {
+ return visitor.Visit (this);
+ }
+ }
}
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/support.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/support.cs
index 4e4b3dbb21..d1025a2176 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/support.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/support.cs
@@ -8,6 +8,7 @@
//
// Copyright 2001 Ximian, Inc (http://www.ximian.com)
// Copyright 2003-2009 Novell, Inc
+// Copyright 2011 Xamarin Inc
//
using System;
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/typemanager.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/typemanager.cs
index 57de9b1a23..51bc5326bc 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/typemanager.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/typemanager.cs
@@ -8,7 +8,8 @@
// Dual licensed under the terms of the MIT X11 or GNU GPL
//
// Copyright 2001-2003 Ximian, Inc (http://www.ximian.com)
-// Copyright 2003-2008 Novell, Inc.
+// Copyright 2003-2011 Novell, Inc.
+// Copyright 2011 Xamarin Inc
//
using System;
@@ -208,6 +209,7 @@ namespace Mono.CSharp
public readonly PredefinedType MethodBase;
public readonly PredefinedType MethodInfo;
public readonly PredefinedType ConstructorInfo;
+ public readonly PredefinedType MemberBinding;
//
// C# 4.0
@@ -256,6 +258,7 @@ namespace Mono.CSharp
Expression = new PredefinedType (module, MemberKind.Class, "System.Linq.Expressions", "Expression");
ExpressionGeneric = new PredefinedType (module, MemberKind.Class, "System.Linq.Expressions", "Expression", 1);
+ MemberBinding = new PredefinedType (module, MemberKind.Class, "System.Linq.Expressions", "MemberBinding");
ParameterExpression = new PredefinedType (module, MemberKind.Class, "System.Linq.Expressions", "ParameterExpression");
FieldInfo = new PredefinedType (module, MemberKind.Class, "System.Reflection", "FieldInfo");
MethodBase = new PredefinedType (module, MemberKind.Class, "System.Reflection", "MethodBase");
@@ -841,31 +844,6 @@ namespace Mono.CSharp
{
return mb.GetSignatureForError ();
}
-
- //
- // Whether a type is unmanaged. This is used by the unsafe code (25.2)
- //
- public static bool IsUnmanagedType (TypeSpec t)
- {
- var ds = t.MemberDefinition as DeclSpace;
- if (ds != null)
- return ds.IsUnmanagedType ();
-
- if (t.Kind == MemberKind.Void)
- return true;
-
- // Someone did the work of checking if the ElementType of t is unmanaged. Let's not repeat it.
- if (t.IsPointer)
- return IsUnmanagedType (GetElementType (t));
-
- if (!TypeSpec.IsValueType (t))
- return false;
-
- if (t.IsNested && t.DeclaringType.IsGenericOrParentIsGeneric)
- return false;
-
- return true;
- }
public static bool IsFamilyAccessible (TypeSpec type, TypeSpec parent)
{
@@ -931,12 +909,12 @@ namespace Mono.CSharp
/// </summary>
public static bool VerifyUnmanaged (ModuleContainer rc, TypeSpec t, Location loc)
{
- while (t.IsPointer)
- t = GetElementType (t);
-
- if (IsUnmanagedType (t))
+ if (t.IsUnmanaged)
return true;
+ while (t.IsPointer)
+ t = ((ElementTypeSpec) t).Element;
+
rc.Compiler.Report.SymbolRelatedToPreviousError (t);
rc.Compiler.Report.Error (208, loc,
"Cannot take the address of, get the size of, or declare a pointer to a managed type `{0}'",
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/typespec.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/typespec.cs
index c88baa0b9c..ecb50acf98 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/typespec.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/typespec.cs
@@ -284,6 +284,28 @@ namespace Mono.CSharp
}
}
+ //
+ // Whether a type is unmanaged. This is used by the unsafe code
+ //
+ public bool IsUnmanaged {
+ get {
+ if (IsPointer)
+ return ((ElementTypeSpec) this).Element.IsUnmanaged;
+
+ var ds = MemberDefinition as DeclSpace;
+ if (ds != null)
+ return ds.IsUnmanagedType ();
+
+ if (Kind == MemberKind.Void)
+ return true;
+
+ if (IsNested && DeclaringType.IsGenericOrParentIsGeneric)
+ return false;
+
+ return IsValueType (this);
+ }
+ }
+
public MemberCache MemberCache {
get {
if (cache == null || (state & StateFlags.PendingMemberCacheMembers) != 0)
diff --git a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/visit.cs b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/visit.cs
index 92b3876557..c0579dd439 100644
--- a/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/visit.cs
+++ b/main/contrib/ICSharpCode.NRefactory.CSharp/Parser/mcs/visit.cs
@@ -646,5 +646,10 @@ namespace Mono.CSharp
{
return null;
}
+
+ public virtual object Visit (StatementErrorExpression statementErrorExpression)
+ {
+ return null;
+ }
}
} \ No newline at end of file