From 343f26f796fe5a8eea29cd785252bb60223c0c56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Ros?= <1165805+sebastienros@users.noreply.github.com> Date: Mon, 2 Nov 2026 14:43:43 -0800 Subject: [PATCH 01/17] Benchmark the expression language, from parsing to the layers above it MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Parsing alone, an uncached ExpressionEvaluator.GetValue, parsing then evaluating, and the property paths of ObjectWrapper, through the public API only so that the same file can compare two versions of Spring.Core. Signed-off-by: Sébastien Ros <1165805+sebastienros@users.noreply.github.com> --- .../Spring.Benchmark/ExpressionBenchmark.cs | 112 ++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 test/Spring/Spring.Benchmark/ExpressionBenchmark.cs diff --git a/test/Spring/Spring.Benchmark/ExpressionBenchmark.cs b/test/Spring/Spring.Benchmark/ExpressionBenchmark.cs new file mode 100644 index 000000000..bcf3a4b96 --- /dev/null +++ b/test/Spring/Spring.Benchmark/ExpressionBenchmark.cs @@ -0,0 +1,112 @@ +using System.Collections; +using BenchmarkDotNet.Attributes; +using Spring.Expressions; +using Spring.Objects; + +namespace Spring.Benchmark; + +/// +/// The expression language, from parsing alone to the layers above it. Only uses the public API, so that the same file +/// builds against any version of Spring.Core: see PARLOT_PORT.md for how to compare two of them. +/// +[MemoryDiagnoser] +public class ExpressionBenchmark +{ + private const string Small = "Name.Length + 1"; + + private const string Medium = + "(Age >= 18 and Name like 'A*') ? Address.City.ToUpper() + ', ' + Address.Zip : 'minor'"; + + private const string Large = + "Friends.?{Age > 20 and Address.City != 'Paris' or Name matches '^B.*$'}" + + ".!{Name + ' (' + Age + ')'}.Count" + + " + {1, 2, 3, 0x10, 5}.!{#this * 2 % 7}.Count" + + " + #{'a' : 1, 'b' : 2.5e0}.Count" + + " + (Friends.^{Age >= 30}.Name.Length ^ 2) - -Friends.${Age < 100}.Age" + + " + (T(System.Math).Max(Age, 10) / 2 between {1, 100} ? new System.Text.StringBuilder('abc').Length : 0)" + + " + (Address.Zip in {'75001', '75002'} and !(Name == null) xor Friends[0].Name is T(string) ? 1 : 2)" + + " + (#sum = {|a, b| $a + $b}; #sum(1, 2))"; + + private readonly Person root = new() + { + Name = "Alice", + Age = 34, + Address = new Address { City = "Lyon", Zip = "69001" }, + Friends = new ArrayList + { + new Person { Name = "Bob", Age = 41, Address = new Address { City = "Paris", Zip = "75001" } }, + new Person { Name = "Carol", Age = 19, Address = new Address { City = "Nice", Zip = "06000" } }, + new Person { Name = "Dan", Age = 28, Address = new Address { City = "Lille", Zip = "59000" } }, + }, + }; + + private readonly Dictionary variables = new(); + private ObjectWrapper wrapper; + private string expression; + private IExpression prepared; + + [Params("Small", "Medium", "Large")] + public string Size { get; set; } + + [GlobalSetup] + public void Setup() + { + expression = Size switch + { + "Small" => Small, + "Medium" => Medium, + _ => Large, + }; + + prepared = Expression.Parse(expression); + wrapper = new ObjectWrapper(root); + } + + /// Parsing alone. + [Benchmark] + public object Parse() => Expression.Parse(expression); + + /// parses its expression on each call, without a cache. + [Benchmark] + public object GetValueUncached() => ExpressionEvaluator.GetValue(root, expression, variables); + + /// What the documentation recommends: parse once, evaluate many times. + [Benchmark] + public object ParseThenGetValue100() + { + var parsed = Expression.Parse(expression); + object value = null; + for (var i = 0; i < 100; i++) + { + value = parsed.GetValue(root, variables); + } + + return value; + } + + /// The evaluation alone, which doesn't depend on the parser. + [Benchmark] + public object GetValuePrepared() => prepared.GetValue(root, variables); + + /// Takes the property parsing path of , which parses on each call. + [Benchmark] + public object WrapperSimpleProperty() => wrapper.GetPropertyValue("Name"); + + /// Takes the primary expression parsing path of . + [Benchmark] + public object WrapperPropertyPath() => wrapper.GetPropertyValue("Friends[1].Address.City"); +} + +public class Person +{ + public string Name { get; set; } + public int Age { get; set; } + public Address Address { get; set; } + public IList Friends { get; set; } +} + +public class Address +{ + public string City { get; set; } + public string Zip { get; set; } +} From eecad8a56224d21a25025e1ae163a985f5ad9565 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Ros?= <1165805+sebastienros@users.noreply.github.com> Date: Mon, 2 Nov 2026 15:00:05 -0800 Subject: [PATCH 02/17] Add a Parlot parser for the expression language next to the ANTLR one MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ExpressionGrammar builds the same nodes from a grammar that the Parlot source generator turns into code of this assembly, without a runtime dependency on Parlot. Nothing uses it yet: ParserDifferentialTests compares the two on the strings of the test suite, on generated expressions and on mutations of both. SyntaxErrorException becomes public, as the exception to catch once ANTLR's is gone. Signed-off-by: Sébastien Ros <1165805+sebastienros@users.noreply.github.com> --- Directory.Packages.props | 2 + .../Expressions/ExpressionGrammar.cs | 731 +++ .../Expressions/ExpressionGrammar.parlot.cs | 184 + .../Expressions/SyntaxErrorException.cs | 2 +- src/Spring/Spring.Core/Spring.Core.csproj | 8 + .../Expressions/DifferentialCorpus.json | 4206 +++++++++++++++++ .../Expressions/ParserDifferentialTests.cs | 311 ++ 7 files changed, 5443 insertions(+), 1 deletion(-) create mode 100644 src/Spring/Spring.Core/Expressions/ExpressionGrammar.cs create mode 100644 src/Spring/Spring.Core/Expressions/ExpressionGrammar.parlot.cs create mode 100644 test/Spring/Spring.Core.Tests/Expressions/DifferentialCorpus.json create mode 100644 test/Spring/Spring.Core.Tests/Expressions/ParserDifferentialTests.cs diff --git a/Directory.Packages.props b/Directory.Packages.props index 0c9c19a44..6ce37fed6 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -29,11 +29,13 @@ + + diff --git a/src/Spring/Spring.Core/Expressions/ExpressionGrammar.cs b/src/Spring/Spring.Core/Expressions/ExpressionGrammar.cs new file mode 100644 index 000000000..7eccf3cf0 --- /dev/null +++ b/src/Spring/Spring.Core/Expressions/ExpressionGrammar.cs @@ -0,0 +1,731 @@ +using System.Text; +using Spring.Context.Support; +using static Spring.Expressions.Parser.ExpressionParserTokenTypes; + +namespace Spring.Expressions; + +/// +/// Parses the expression language into a tree of nodes. +/// +/// +/// The grammar is in ExpressionGrammar.parlot.cs. That file is only read at build time by the Parlot source +/// generator, which emits into this assembly, so that there is no runtime dependency on a parsing +/// library. This file has its tokens, the tree it builds and its syntax errors. +/// +internal static partial class ExpressionGrammar +{ + internal enum Rule + { + Expression, + Primary, + Lambda + } + + private const string IdStart = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_"; + private const string IdPart = IdStart + "0123456789"; + private const string NumberStart = "0123456789."; + + private const char EndOfText = '￿'; + + private static partial bool TryParse(string input, Rule rule, out BaseNode value, out int failure); + + /// Parses a whole expression. + public static BaseNode ParseExpression(string input) => Parse(input, Rule.Expression); + + /// Parses the lambda expression at the start of the input, whatever follows it. + public static LambdaExpressionNode ParseLambda(string input) => (LambdaExpressionNode) Parse(input, Rule.Lambda); + + /// + /// Parses the primary expression at the start of the input and stops at the first token that can't continue it, which + /// has to be a token that can follow a primary expression. + /// + public static BaseNode ParsePrimary(string input) => Parse(input, Rule.Primary); + + /// Parses the property name at the start of the input, whatever follows it. + public static BaseNode ParseProperty(string input) + { + var start = SkipSpaces(input, 0); + var length = ScanId(input.AsSpan(start)); + if (length == 0) + { + throw CreateSyntaxError(input, start, "ID"); + } + + return Leaf(new PropertyOrFieldNode(), ID, input.Substring(start, length)); + } + + private static BaseNode Parse(string input, Rule rule) + { + if (TryParse(input, rule, out var node, out var failure)) + { + return node; + } + + // A prefix that is a whole expression is one that only the end of the input could have followed + var expected = rule == Rule.Lambda && SkipSpaces(input.AsSpan(), 0) == SkipSpaces(input.AsSpan(), failure) ? "LAMBDA" + : rule == Rule.Expression && failure > 0 && TryParse(input.Substring(0, failure), rule, out _, out _) ? "EOF" + : null; + + throw CreateSyntaxError(input, failure, expected); + } + + // Tokens + + private static bool IsIdStart(char c) => (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || c == '_'; + + private static bool IsDigit(char c) => c >= '0' && c <= '9'; + + private static bool IsIdPart(char c) => IsIdStart(c) || IsDigit(c); + + private static bool IsHexDigit(char c) => IsDigit(c) || (c >= 'a' && c <= 'f') || (c >= 'A' && c <= 'F'); + + private static bool IsWhiteSpace(char c) => c == ' ' || c == '\t' || c == '\n' || c == '\r'; + + private static char CharAt(ReadOnlySpan span, int index) => index < span.Length ? span[index] : EndOfText; + + private static int SkipSpaces(ReadOnlySpan span, int offset) + { + while (offset < span.Length && IsWhiteSpace(span[offset])) + { + offset++; + } + + return offset; + } + + private static int ScanLeftCurly(ReadOnlySpan span) => CharAt(span, 0) == '{' && CharAt(span, 1) != '|' ? 1 : 0; + + private static int ScanAssign(ReadOnlySpan span) => CharAt(span, 0) == '=' && CharAt(span, 1) != '=' ? 1 : 0; + + private static int ScanDollar(ReadOnlySpan span) => CharAt(span, 0) == '$' && CharAt(span, 1) != '{' ? 1 : 0; + + private static int ScanPower(ReadOnlySpan span) => CharAt(span, 0) == '^' && CharAt(span, 1) != '{' ? 1 : 0; + + private static int ScanDot(ReadOnlySpan span) => CharAt(span, 0) == '.' && !IsDigit(CharAt(span, 1)) ? 1 : 0; + + private static int ScanBang(ReadOnlySpan span) => CharAt(span, 0) == '!' && CharAt(span, 1) != '=' && CharAt(span, 1) != '{' ? 1 : 0; + + private static int ScanQuestion(ReadOnlySpan span) => CharAt(span, 0) == '?' && CharAt(span, 1) != '?' && CharAt(span, 1) != '{' ? 1 : 0; + + private static int ScanWord(ReadOnlySpan span) + { + if (!IsIdStart(CharAt(span, 0))) + { + return 0; + } + + var size = 1; + while (size < span.Length && IsIdPart(span[size])) + { + size++; + } + + return size; + } + + /// Returns the type of the keyword is, or ID. + private static int WordType(ReadOnlySpan word) + { + static bool Is(ReadOnlySpan word, string keyword) => word.SequenceEqual(keyword.AsSpan()); + + switch (word.Length) + { + case 2: + return Is(word, "or") ? OR : Is(word, "in") ? IN : Is(word, "is") ? IS : ID; + case 3: + return Is(word, "and") ? AND : Is(word, "xor") ? XOR : Is(word, "new") ? LITERAL_new : ID; + case 4: + return Is(word, "true") ? TRUE : Is(word, "like") ? LIKE : Is(word, "null") ? NULL_LITERAL : ID; + case 5: + return Is(word, "false") ? FALSE : ID; + case 7: + return Is(word, "between") ? BETWEEN : Is(word, "matches") ? MATCHES : ID; + default: + return ID; + } + } + + /// An identifier: neither a keyword nor the T( of a type. + private static int ScanId(ReadOnlySpan span) + { + var size = ScanWord(span); + if (size == 0 || WordType(span.Slice(0, size)) != ID || (size == 1 && CharAt(span, 0) == 'T' && CharAt(span, 1) == '(')) + { + return 0; + } + + return size; + } + + /// ID (DOT ID)*, with any white space between the tokens. + private static int ScanQualifiedId(ReadOnlySpan span) + { + var size = ScanId(span); + while (size > 0) + { + var dot = SkipSpaces(span, size); + if (CharAt(span, dot) != '.' || IsDigit(CharAt(span, dot + 1))) + { + break; + } + + var next = SkipSpaces(span, dot + 1); + var length = next < span.Length ? ScanId(span.Slice(next)) : 0; + if (length == 0) + { + break; + } + + size = next + length; + } + + return size; + } + + /// + /// A type or object name: an identifier, then any tokens but ')', ':' and a lone quote. It stops before anything that + /// isn't a token, which then fails in the parser that follows. + /// + private static int ScanName(ReadOnlySpan span) + { + var size = ScanId(span); + while (size > 0) + { + var next = SkipSpaces(span, size); + if (next == span.Length) + { + break; + } + + var length = NextToken(span.Slice(next), out var type); + if (length == 0 || type == RPAREN || type == COLON || type == QUOTE) + { + break; + } + + size = next + length; + } + + return size; + } + + private static int ScanString(ReadOnlySpan span) + { + if (CharAt(span, 0) != '\'') + { + return 0; + } + + for (var i = 1; i < span.Length; i++) + { + if (span[i] == '\'') + { + if (CharAt(span, i + 1) != '\'') + { + return i + 1; + } + + i++; + } + } + + return 0; + } + + private static int SkipDigits(ReadOnlySpan span, int offset) + { + while (offset < span.Length && IsDigit(span[offset])) + { + offset++; + } + + return offset; + } + + /// + /// The exponent and suffix of a real number. After a fraction 'e' has to start an exponent: there is no token then. + /// + private static int SkipRealEnd(ReadOnlySpan span, int offset, bool isFraction) + { + var c = CharAt(span, offset); + if (c == 'e' || c == 'E') + { + var digits = offset + 1; + while (CharAt(span, digits) == '+' || CharAt(span, digits) == '-') + { + digits++; + } + + if (IsDigit(CharAt(span, digits))) + { + offset = SkipDigits(span, digits); + c = CharAt(span, offset); + } + else if (isFraction) + { + return 0; + } + } + + return IsRealSuffix(c) ? offset + 1 : offset; + } + + private static bool IsRealSuffix(char c) => c == 'F' || c == 'f' || c == 'D' || c == 'd' || c == 'M' || c == 'm'; + + private static int SkipIntegerSuffix(ReadOnlySpan span, int offset) + { + var first = CharAt(span, offset); + var second = CharAt(span, offset + 1); + switch (first) + { + case 'U': + return second == 'L' ? offset + 2 : offset + 1; + case 'L': + return second == 'U' ? offset + 2 : offset + 1; + case 'u': + return second == 'l' || second == 'L' ? offset + 2 : offset + 1; + case 'l': + return second == 'u' || second == 'U' ? offset + 2 : offset + 1; + default: + return offset; + } + } + + /// A decimal integer, a hexadecimal integer or a real number. + private static int ScanNumber(ReadOnlySpan span) + { + if (CharAt(span, 0) == '.') + { + return IsDigit(CharAt(span, 1)) ? SkipRealEnd(span, SkipDigits(span, 1), isFraction: true) : 0; + } + + if (!IsDigit(CharAt(span, 0))) + { + return 0; + } + + if (CharAt(span, 0) == '0' && CharAt(span, 1) == 'x') + { + var hex = 2; + while (IsHexDigit(CharAt(span, hex))) + { + hex++; + } + + return hex == 2 ? 0 : SkipIntegerSuffix(span, hex); + } + + var size = SkipDigits(span, 1); + if (CharAt(span, size) == '.' && IsDigit(CharAt(span, size + 1))) + { + return SkipRealEnd(span, SkipDigits(span, size + 1), isFraction: true); + } + + var end = SkipRealEnd(span, size, isFraction: false); + return end != size ? end : SkipIntegerSuffix(span, size); + } + + private static int NumberType(ReadOnlySpan number) + { + if (number.Length > 1 && number[0] == '0' && number[1] == 'x') + { + return HEXADECIMAL_INTEGER_LITERAL; + } + + foreach (var c in number) + { + if (c == '.' || c == 'e' || c == 'E' || IsRealSuffix(c)) + { + return REAL_LITERAL; + } + } + + return INTEGER_LITERAL; + } + + /// + /// Reads the token at the start of , which isn't empty and doesn't start with white space, and + /// returns its length, or 0 when the text is not a token. + /// + private static int NextToken(ReadOnlySpan span, out int type) + { + var next = CharAt(span, 1); + switch (span[0]) + { + case '@': type = AT; return 1; + case '`': type = BACKTICK; return 1; + case '|': type = PIPE; return 1; + case '#': type = POUND; return 1; + case '(': type = LPAREN; return 1; + case ')': type = RPAREN; return 1; + case '[': type = LBRACKET; return 1; + case ']': type = RBRACKET; return 1; + case '}': type = RCURLY; return 1; + case ',': type = COMMA; return 1; + case ';': type = SEMI; return 1; + case ':': type = COLON; return 1; + case '+': type = PLUS; return 1; + case '-': type = MINUS; return 1; + case '/': type = DIV; return 1; + case '*': type = STAR; return 1; + case '%': type = MOD; return 1; + case '?': + type = next == '?' ? DEFAULT : next == '{' ? SELECT : QMARK; + return type == QMARK ? 1 : 2; + case '=': + type = next == '=' ? EQUAL : ASSIGN; + return type == ASSIGN ? 1 : 2; + case '!': + type = next == '=' ? NOT_EQUAL : next == '{' ? PROJECT : BANG; + return type == BANG ? 1 : 2; + case '<': + type = next == '=' ? LESS_THAN_OR_EQUAL : LESS_THAN; + return type == LESS_THAN ? 1 : 2; + case '>': + type = next == '=' ? GREATER_THAN_OR_EQUAL : GREATER_THAN; + return type == GREATER_THAN ? 1 : 2; + case '^': + type = next == '{' ? SELECT_FIRST : POWER; + return type == POWER ? 1 : 2; + case '$': + type = next == '{' ? SELECT_LAST : DOLLAR; + return type == DOLLAR ? 1 : 2; + case '{': + type = next == '|' ? LAMBDA : LCURLY; + return type == LCURLY ? 1 : 2; + case '\\': + type = next == '.' ? DOT_ESCAPED : BACKSLASH; + return type == BACKSLASH ? 1 : 2; + case '\'': + type = span.Length == 1 ? QUOTE : STRING_LITERAL; + return span.Length == 1 ? 1 : ScanString(span); + case 'T' when next == '(': + type = TYPE; + return 2; + } + + var size = ScanWord(span); + if (size > 0) + { + type = WordType(span.Slice(0, size)); + return size; + } + + size = ScanNumber(span); + if (size > 0) + { + type = NumberType(span.Slice(0, size)); + return size; + } + + // A dot followed by a digit starts a number, even if it is not a valid one + var isDot = span[0] == '.' && !IsDigit(next); + type = isDot ? DOT : 0; + return isDot ? 1 : 0; + } + + /// The text of the tokens of a name, without the white space between them and the quotes of its strings. + private static string TokensText(string text) + { + if (text.IndexOfAny(TokensTextChars) < 0) + { + return text; + } + + var builder = new StringBuilder(text.Length); + var offset = 0; + while ((offset = SkipSpaces(text.AsSpan(), offset)) < text.Length) + { + var length = NextToken(text.AsSpan(offset), out var type); + var token = text.Substring(offset, length); + builder.Append(type == STRING_LITERAL ? StringText(token) : token); + offset += length; + } + + return builder.ToString(); + } + + private static readonly char[] TokensTextChars = { ' ', '\t', '\n', '\r', '\'' }; + + private static string StringText(string token) + { + var text = token.Substring(1, token.Length - 2); + return text.IndexOf('\'') < 0 ? text : text.Replace("''", "'"); + } + + /// + /// Whether what follows a primary expression is acceptable: the rule that parses it alone doesn't read until the end + /// of the input, but it does look at the next token to choose between its alternatives. + /// + private static bool CanFollowPrimary(BaseNode node, string input, int offset) + { + var next = SkipSpaces(input.AsSpan(), offset); + if (next == input.Length) + { + return true; + } + + if (NextToken(input.AsSpan(next), out var type) == 0 || Contains(NodeStarts, type)) + { + // Not a token, or a node that failed: the primary expression stopped before it + return false; + } + + if (input[offset - 1] == '.') + { + return true; + } + + var last = node.getFirstChild(); + if (last.getNextSibling() == null) + { + return Contains(TokensAfterStartNode, type); + } + + while (last.getNextSibling() != null) + { + last = last.getNextSibling(); + } + + return !(last is PropertyOrFieldNode) || Contains(TokensAfterName, type); + } + + private static bool Contains(long tokens, int type) => type < 64 && (tokens & (1L << type)) != 0; + + // The tokens a node of a primary expression starts with, and those that can follow a name, and a primary expression + // without any further node, in the grammar + private const long NodeStarts = 16091095105536L; + private const long TokensAfterName = 1134924607015288578L; + private const long TokensAfterStartNode = 1134908515920183042L; + + // The tree + + private static BaseNode WithType(BaseNode node, int type, string text) + { + node.Type = type; + node.setText(text); + return node; + } + + private static BaseNode Leaf(BaseNode node, int type, string text) => WithType(node, type, text); + + private static BaseNode WithText(BaseNode node, string text) + { + node.setText(text); + return node; + } + + private static void SetChildren(SpringAST node, IReadOnlyList children) + { + if (children == null || children.Count == 0) + { + return; + } + + SpringAST previous = children[0]; + node.setFirstChild(previous); + for (var i = 1; i < children.Count; i++) + { + SpringAST child = children[i]; + previous.setNextSibling(child); + previous = child; + } + } + + private static BaseNode Node(BaseNode node, int type, string text, IReadOnlyList children) + { + SetChildren(node, children); + return WithType(node, type, text); + } + + private static BaseNode Operator(BaseNode node, int type, string text, BaseNode child) + { + node.setFirstChild(child); + return WithType(node, type, text); + } + + private static BaseNode Operator(BaseNode node, int type, string text, BaseNode first, BaseNode second) + { + first.setNextSibling(second); + return Operator(node, type, text, first); + } + + private static BaseNode NumberLiteral(string text) + { + var type = NumberType(text.AsSpan()); + BaseNode node = type == HEXADECIMAL_INTEGER_LITERAL ? new HexLiteralNode() : type == REAL_LITERAL ? new RealLiteralNode() : new IntLiteralNode(); + return Leaf(node, type, text); + } + + private static BaseNode Relational(BaseNode node, string text) => WithType(node, EXPR, text); + + /// Makes the first child of , before those it has. + private static BaseNode PrependChild(BaseNode node, BaseNode child) + { + child.setNextSibling(node.getFirstChild()); + node.setFirstChild(child); + return node; + } + + private static BaseNode AppendChild(BaseNode node, BaseNode child) + { + node.addChild(child); + return node; + } + + private static BaseNode Primary(BaseNode startNode) => Operator(new Expression(), EXPR, "expression", startNode); + + private static BaseNode MethodOrProperty(string name, IReadOnlyList arguments) => + arguments == null ? Leaf(new PropertyOrFieldNode(), ID, name) : Node(new MethodNode(), ID, name, arguments); + + private static BaseNode FunctionOrVariable(string name, IReadOnlyList arguments) => + arguments == null ? Leaf(new VariableNode(), ID, name) : Node(new FunctionNode(), ID, name, arguments); + + private static BaseNode LocalFunctionOrVariable(string name, IReadOnlyList arguments) => + arguments == null ? Leaf(new LocalVariableNode(), ID, name) : Node(new LocalFunctionNode(), ID, name, arguments); + + private static BaseNode MapEntry(BaseNode key, BaseNode value) => Operator(new MapEntryNode(), EXPR, "entry", key, value); + + private static BaseNode QuotableName(string name, int type) => Leaf(new QualifiedIdentifier(), type, name); + + private static BaseNode Reference(BaseNode first, BaseNode second) => + second == null ? Operator(new ReferenceNode(), EXPR, "ref", first) : Operator(new ReferenceNode(), EXPR, "ref", first, second); + + private static BaseNode NamedArgument(string name, BaseNode value) => Operator(new NamedArgumentNode(), ID, name, value); + + private static BaseNode ExpressionList(BaseNode first, IReadOnlyList others) + { + var previous = first; + foreach (var other in others) + { + previous.setNextSibling(other); + previous = other; + } + + return Operator(new ExpressionListNode(), EXPR, "expressionList", first); + } + + private static BaseNode ArrayConstructor(IReadOnlyList rank, BaseNode initializer) + { + var rankNode = new SpringAST(); + rankNode.Type = LBRACKET; + rankNode.setText("["); + SetChildren(rankNode, rank); + + var node = new ArrayConstructorNode(); + node.Type = EXPR; + node.setFirstChild(rankNode); + rankNode.setNextSibling(initializer); + return node; + } + + private static BaseNode Lambda(IReadOnlyList arguments, BaseNode body) + { + var node = new LambdaExpressionNode(); + WithType(node, EXPR, "lambda"); + + if (arguments.Count == 0) + { + node.setFirstChild(body); + return node; + } + + var args = new SpringAST(); + args.Type = EXPR; + args.setText("args"); + + SpringAST previous = null; + foreach (var name in arguments) + { + var argument = new SpringAST(); + argument.Type = ID; + argument.setText(name); + if (previous == null) + { + args.setFirstChild(argument); + } + else + { + previous.setNextSibling(argument); + } + + previous = argument; + } + + node.setFirstChild(args); + args.setNextSibling(body); + return node; + } + + // Syntax errors + + /// + /// The line is always 1 and a tab moves to the next multiple of 8, as in the parser this one replaced, which counted + /// the columns of the whole expression and never the lines. + /// + private static int ColumnOf(string input, int offset) + { + var column = 1; + for (var i = 0; i < offset; i++) + { + column = input[i] == '\t' ? ((column - 1) / 8 + 1) * 8 + 1 : column + 1; + } + + return column; + } + + private static SyntaxErrorException CreateSyntaxError(string input, int failure, string expected) + { + var offset = SkipSpaces(input.AsSpan(), failure); + if (offset >= input.Length) + { + return SyntaxError(input, input.Length, expected != null ? $"expecting \"{expected}\", found ''" : "unexpected end of expression"); + } + + var span = input.AsSpan(offset); + var length = NextToken(span, out var type); + if (length == 0) + { + return CreateLexicalError(input, offset); + } + + var text = type == STRING_LITERAL ? StringText(input.Substring(offset, length)) : input.Substring(offset, length); + return SyntaxError(input, offset, expected != null + ? $"expecting \"{expected}\", found '{text}'" + : $"unexpected token: [\"{text}\",<{type}>,line=1,col={ColumnOf(input, offset)}]"); + } + + /// The error for the text at , which is not a token. + private static SyntaxErrorException CreateLexicalError(string input, int offset) + { + if (input[offset] == '\'') + { + return SyntaxError(input, input.Length, "expecting ''', found ''"); + } + + // A number is only invalid at the char that follows its "0x", or the 'e' of the exponent of its fraction + var end = offset; + if (input[end] == '0' && end + 1 < input.Length && input[end + 1] == 'x') + { + end += 2; + } + else if (IsDigit(input[end]) || input[end] == '.') + { + while (end < input.Length && (IsDigit(input[end]) || input[end] == '.')) + { + end++; + } + + end++; + while (end < input.Length && (input[end] == '+' || input[end] == '-')) + { + end++; + } + } + + return SyntaxError(input, end, end < input.Length ? "unexpected char: '" + input[end] + "'" : "unexpected end of expression"); + } + + private static SyntaxErrorException SyntaxError(string input, int offset, string message) => + new SyntaxErrorException(message, 1, ColumnOf(input, offset), input); +} diff --git a/src/Spring/Spring.Core/Expressions/ExpressionGrammar.parlot.cs b/src/Spring/Spring.Core/Expressions/ExpressionGrammar.parlot.cs new file mode 100644 index 000000000..b8c665fd6 --- /dev/null +++ b/src/Spring/Spring.Core/Expressions/ExpressionGrammar.parlot.cs @@ -0,0 +1,184 @@ +using Parlot; +using Parlot.Fluent; +using Parlot.SourceGenerator; +using static Parlot.Fluent.Parsers; +using static Spring.Expressions.Parser.ExpressionParserTokenTypes; + +namespace Spring.Expressions; + +/// +/// The grammar of the expression language. This file is build-only: the Parlot source generator runs it at compile time +/// and emits and everything it needs into this assembly. +/// +/// +/// Tokens that are the start of a longer one, such as the '^' of "^{", are scanned so as not to match it, like a lexer +/// would. Without that an alternative that fails could be read again another way, which an LL(k) grammar never does. +/// +internal static partial class ExpressionGrammar +{ + [GenerateParser(nameof(TryParse))] + private static Parser Build(Rule rule) + { + var expression = Deferred(); + + var lparen = Terms.Char('('); + var rparen = Terms.Char(')'); + var lbracket = Terms.Char('['); + var rbracket = Terms.Char(']'); + var lcurly = Terms.Scan(ScanLeftCurly, "{"); + var rcurly = Terms.Char('}'); + var comma = Terms.Char(','); + var colon = Terms.Char(':'); + var semi = Terms.Char(';'); + var assign = Terms.Scan(ScanAssign, "="); + + var id = Terms.Scan(ScanId, IdStart); + var qualifiedId = Terms.Scan(ScanQualifiedId, IdStart).Then(static x => TokensText(x.ToString())); + var name = Terms.Scan(ScanName, IdStart).Then(static x => TokensText(x.ToString())); + var stringLiteral = Terms.Scan(ScanString, "'").Then(static x => StringText(x.ToString())); + + // A name followed by '(' is a call, it can't be read again as a name followed by an expression list + var arguments = lparen.SkipAnd(Separated(comma, expression, min: 0)).AndSkip(rparen); + var call = arguments.Or(Not(lparen).Then(static _ => (IReadOnlyList) null)); + + var expressions = Separated(comma, expression, min: 1); + + var methodOrProperty = id.And(call).Then(static x => MethodOrProperty(x.Item1.ToString(), x.Item2)); + var indexer = lbracket.SkipAnd(expressions).AndSkip(rbracket).Then(static x => Node(new IndexerNode(), LBRACKET, "[", x)); + var projection = Terms.Text("!{").SkipAnd(expression).AndSkip(rcurly).Then(static x => Operator(new ProjectionNode(), PROJECT, "!{", x)); + var selection = Terms.Text("?{").SkipAnd(expressions).AndSkip(rcurly).Then(static x => Node(new SelectionNode(), SELECT, "?{", x)); + var firstSelection = Terms.Text("^{").SkipAnd(expression).AndSkip(rcurly).Then(static x => Operator(new SelectionFirstNode(), SELECT_FIRST, "^{", x)); + var lastSelection = Terms.Text("${").SkipAnd(expression).AndSkip(rcurly).Then(static x => Operator(new SelectionLastNode(), SELECT_LAST, "${", x)); + + var functionOrVariable = id.And(call).Then(static x => FunctionOrVariable(x.Item1.ToString(), x.Item2)); + var mapEntry = expression.AndSkip(colon).And(expression).Then(static x => MapEntry(x.Item1, x.Item2)); + var mapInitializer = lcurly.SkipAnd(Separated(comma, mapEntry, min: 1)).AndSkip(rcurly).Then(static x => Node(new MapInitializerNode(), LCURLY, "{", x)); + var pound = Terms.Char('#').SkipAnd(functionOrVariable.Or(mapInitializer)); + + var dollar = Terms.Scan(ScanDollar, "$").SkipAnd(id).And(call).Then(static x => LocalFunctionOrVariable(x.Item1.ToString(), x.Item2)); + + var quotableName = stringLiteral.Then(static x => QuotableName(x, STRING_LITERAL)).Or(name.Then(static x => QuotableName(x, ID))); + var reference = lparen.SkipAnd(quotableName).And(colon.SkipAnd(quotableName).Optional()).AndSkip(rparen) + .Then(static x => Reference(x.Item1, x.Item2.TryGetValue(out var second) ? second : null)); + + // A named argument and the assignment that starts the same way can't both parse: its right side is an expression + var namedArgument = id.AndSkip(assign).And(expression).Then(static x => NamedArgument(x.Item1.ToString(), x.Item2)); + var constructorArguments = lparen.SkipAnd(Separated(comma, namedArgument.Or(expression), min: 0)).AndSkip(rparen); + var attribute = lbracket.SkipAnd(qualifiedId).And(constructorArguments.Optional()).AndSkip(rbracket) + .Then(static x => Node(new AttributeNode(), EXPR, x.Item1, x.Item2.TryGetValue(out var args) ? args : null)); + var at = Terms.Char('@').SkipAnd(reference.Or(attribute)); + + var listInitializer = lcurly.SkipAnd(expressions).AndSkip(rcurly).Then(static x => Node(new ListInitializerNode(), LCURLY, "{", x)); + var arrayRank = lbracket.SkipAnd(Separated(comma, expression, min: 0)).AndSkip(rbracket); + var constructor = Terms.Keyword("new", IdPart).SkipAnd(qualifiedId).And( + constructorArguments.Then(static x => Node(new ConstructorNode(), EXPR, null, x)) + .Or(arrayRank.And(listInitializer.Optional()).Then(static x => ArrayConstructor(x.Item1, x.Item2.TryGetValue(out var list) ? list : null)))) + .Then(static x => WithText(x.Item2, x.Item1)); + + var type = Terms.Text("T(").SkipAnd(name).AndSkip(rparen).Then(static x => Leaf(new TypeNode(), EXPR, x)); + + var lambda = Terms.Text("{|").SkipAnd(Separated(comma, id.Then(static x => x.ToString()), min: 0)).AndSkip(Terms.Char('|')) + .And(expression).AndSkip(rcurly).Then(static x => Lambda(x.Item1, x.Item2)); + + // '(' expression ')' is the expression, with the type of node it has + var parenthesized = lparen.SkipAnd(expression).And(ZeroOrMany(semi.SkipAnd(expression))).AndSkip(rparen) + .Then(static x => x.Item2.Count == 0 ? x.Item1 : ExpressionList(x.Item1, x.Item2)); + var expressionList = lparen.SkipAnd(expression).And(OneOrMany(semi.SkipAnd(expression))).AndSkip(rparen) + .Then(static x => ExpressionList(x.Item1, x.Item2)); + + var literal = OneOf( + Terms.Scan(ScanNumber, NumberStart).Then(static x => NumberLiteral(x.ToString())), + stringLiteral.Then(static x => Leaf(new StringLiteralNode(), STRING_LITERAL, x)), + Terms.Keyword("null", IdPart).Then(static _ => Leaf(new NullLiteralNode(), NULL_LITERAL, "null")), + Terms.Keyword("true", IdPart).Then(static _ => Leaf(new BooleanLiteralNode(), TRUE, "true")), + Terms.Keyword("false", IdPart).Then(static _ => Leaf(new BooleanLiteralNode(), FALSE, "false"))); + + var startNode = OneOf( + methodOrProperty, + parenthesized, + pound, + dollar, + at, + indexer, + literal, + type, + constructor, + projection, + selection, + firstSelection, + lastSelection, + lambda, + listInitializer); + + var node = OneOf( + methodOrProperty, + indexer, + projection, + selection, + firstSelection, + lastSelection, + expressionList); + + // The nodes of a primary expression are its children, the dots between them being optional + var primary = startNode.Then(static x => Primary(x)).Operators() + .Postfix( + (node, static (x, child) => AppendChild(x, child)), + (Terms.Scan(ScanDot, "."), static (x, _) => x)); + + var unary = primary + .Unary( + (Terms.Char('+'), static x => Operator(new OpUnaryPlus(), PLUS, "+", x)), + (Terms.Char('-'), static x => Operator(new OpUnaryMinus(), MINUS, "-", x)), + (Terms.Scan(ScanBang, "!").Then(static _ => '!'), static x => Operator(new OpNOT(), BANG, "!", x))); + + // Neither the power nor the relational operators chain, which an operator table can't express + var power = unary.And(Terms.Scan(ScanPower, "^").SkipAnd(unary).Optional()) + .Then(static x => x.Item2.TryGetValue(out var right) ? Operator(new OpPOWER(), POWER, "^", x.Item1, right) : x.Item1); + + var sum = power.Operators() + .LeftAssociative( + (Terms.Char('*'), static (a, b) => Operator(new OpMULTIPLY(), STAR, "*", a, b)), + (Terms.Char('/'), static (a, b) => Operator(new OpDIVIDE(), DIV, "/", a, b)), + (Terms.Char('%'), static (a, b) => Operator(new OpMODULUS(), MOD, "%", a, b))) + .LeftAssociative( + (Terms.Char('+'), static (a, b) => Operator(new OpADD(), PLUS, "+", a, b)), + (Terms.Char('-'), static (a, b) => Operator(new OpSUBTRACT(), MINUS, "-", a, b))); + + var relationalOperator = OneOf( + Terms.Text("==").Then(static _ => Relational(new OpEqual(), "==")), + Terms.Text("!=").Then(static _ => Relational(new OpNotEqual(), "!=")), + Terms.Text("<=").Then(static _ => Relational(new OpLessOrEqual(), "<=")), + Terms.Text("<").Then(static _ => Relational(new OpLess(), "<")), + Terms.Text(">=").Then(static _ => Relational(new OpGreaterOrEqual(), ">=")), + Terms.Text(">").Then(static _ => Relational(new OpGreater(), ">")), + Terms.Keyword("in", IdPart).Then(static _ => Relational(new OpIn(), "in")), + Terms.Keyword("is", IdPart).Then(static _ => Relational(new OpIs(), "is")), + Terms.Keyword("between", IdPart).Then(static _ => Relational(new OpBetween(), "between")), + Terms.Keyword("like", IdPart).Then(static _ => Relational(new OpLike(), "like")), + Terms.Keyword("matches", IdPart).Then(static _ => Relational(new OpMatches(), "matches"))); + + var relational = sum.And(relationalOperator.And(sum).Optional()) + .Then(static x => x.Item2.TryGetValue(out var rest) ? PrependChild(AppendChild(rest.Item1, rest.Item2), x.Item1) : x.Item1); + + var logical = relational.Operators() + .LeftAssociative((Terms.Keyword("and", IdPart), static (a, b) => Operator(new OpAND(), AND, "and", a, b))) + .LeftAssociative((Terms.Keyword("xor", IdPart), static (a, b) => Operator(new OpXOR(), XOR, "xor", a, b))) + .LeftAssociative((Terms.Keyword("or", IdPart), static (a, b) => Operator(new OpOR(), OR, "or", a, b))); + + // Neither do these, and the last operand of a conditional is any expression: not levels of the table either + var tail = OneOf( + assign.SkipAnd(logical).Then(static x => Operator(new AssignNode(), ASSIGN, "=", x)), + Terms.Text("??").SkipAnd(logical).Then(static x => Operator(new DefaultNode(), DEFAULT, "??", x)), + Terms.Scan(ScanQuestion, "?").SkipAnd(expression).AndSkip(colon).And(expression) + .Then(static x => Operator(new TernaryNode(), QMARK, "?", x.Item1, x.Item2))); + + expression.Parser = logical.And(tail.Optional()) + .Then(static x => x.Item2.TryGetValue(out var parent) ? PrependChild(parent, x.Item1) : x.Item1); + + Parser wholeExpression = expression.AndSkip(SkipWhiteSpace(Eof())); + Parser primaryAlone = primary.When(static (context, x) => CanFollowPrimary(x, context.Scanner.Cursor.Buffer, context.Scanner.Cursor.Offset)); + + return If(() => rule == Rule.Expression, wholeExpression, If(() => rule == Rule.Primary, primaryAlone, lambda)) + .WithWhiteSpaceSet(WhiteSpaceSet.SpaceTabCrLf); + } +} diff --git a/src/Spring/Spring.Core/Expressions/SyntaxErrorException.cs b/src/Spring/Spring.Core/Expressions/SyntaxErrorException.cs index 516cad047..146494c47 100644 --- a/src/Spring/Spring.Core/Expressions/SyntaxErrorException.cs +++ b/src/Spring/Spring.Core/Expressions/SyntaxErrorException.cs @@ -24,7 +24,7 @@ namespace Spring.Expressions; /// /// Erich Eichinger [Serializable] -internal class SyntaxErrorException : RecognitionException, ISerializable +public class SyntaxErrorException : RecognitionException, ISerializable { private readonly string _expression; diff --git a/src/Spring/Spring.Core/Spring.Core.csproj b/src/Spring/Spring.Core/Spring.Core.csproj index 4cae4ee4c..16854a7d3 100644 --- a/src/Spring/Spring.Core/Spring.Core.csproj +++ b/src/Spring/Spring.Core/Spring.Core.csproj @@ -19,6 +19,14 @@ + + + + + + + diff --git a/test/Spring/Spring.Core.Tests/Expressions/DifferentialCorpus.json b/test/Spring/Spring.Core.Tests/Expressions/DifferentialCorpus.json new file mode 100644 index 000000000..ec79124a0 --- /dev/null +++ b/test/Spring/Spring.Core.Tests/Expressions/DifferentialCorpus.json @@ -0,0 +1,4206 @@ +[ +"\t \n\r", +"\t ", +"\t", +"\t", +"\tSpring.Objects.Factory.Config.FinalFielder.Name, Spring.Core.Tests ", +"\n", +"\n\t ", +"\n\r", +"\n ", +"\nclient ", +"\ntest file '{0}', line {1}:\npath '{2}' does {3} match '{4}' (translated to {5})", +"\r\n", +" ", +" \n\r\t", +" ", +" ", +" \nfoo.name ", +" ", +" ", +" ", +" \t", +" 1234", +" ~/", +" Foo ", +" ~/", +" 12345 ", +" c ", +" 3", +" Foo ", +" Info ", +" a", +" a,b,, c ,d\n:e ", +" class name must end with Exception.", +" does not implement GetObjectData but has private fields.", +" for method 'Execute'; will call object 'replacer'.", +" for method 'GetGrub'; will return object 'foo'.", +" is a public field, should be exposed through property instead.", +" is a required constructor.", +" is internal, must be private.", +" is internal, must be protected.", +" is internal, must be public.", +" is not currently implemented", +" is not private, must be private.", +" is not protected, must be protected.", +" is not public, must be public.", +" is not serializable, missing [Serializable]?", +" is private, must be public or protected.", +" is private, must be public.", +" is protected internal, must be private.", +" is protected internal, must be protected.", +" is protected internal, must be public.", +" is protected, must be private.", +" is public, must be private.", +" is public, must be protected.", +" is the name of my computer", +" not runned", +" text \n", +"!", +"!!a", +"!(3 in {1, 2, 3, 4, 5})", +"!(5 is int)", +"!(6 between {1, 5})", +"!(false and false)", +"!(false and true)", +"!(false or false)", +"!(false or true)", +"!(true and false)", +"!(true and true)", +"!(true or false)", +"!(true or true)", +"!T(System.Text.RegularExpressions.RegexOptions).Compiled", +"!a", +"!false", +"!false and false", +"!false and true", +"!false or false", +"!false or true", +"!true", +"!true and false", +"!true and true", +"!true or false", +"!true or true", +"!{", +"!{a}", +"\"Hello World\"", +"#", +"# ", +"# ", +"# ", +"# a", +"#Date", +"#a", +"#a(1)", +"#a(b;c)", +"#bar.SpelExtension(1)", +"#bar.Which()", +"#baz.SpelExtension(1)", +"#date", +"#foo.Apply({|n| $n * 2})", +"#foo.Bumped()", +"#foo.Clash()", +"#foo.Doubled", +"#foo.Doubled()", +"#foo.InternalValue", +"#foo.NoSuchMethod()", +"#foo.NoSuchProp", +"#foo.SpelExtension()", +"#foo.SpelExtension(1)", +"#foo.ToString()", +"#foo.Tripled()", +"#foo.V()", +"#foo.spelextension(1)", +"#holder.Child.SpelExtension(1)", +"#hope.floats#", +"#max(5,25)", +"#newName = 'Ana Maria Seovic'", +"#now = DateTime.Now", +"#objects]", +"#result = 'invalid'", +"#result = 'valid'", +"#result = DOB.Month", +"#result = DOB.Year", +"#result = Name", +"#result = Nationality", +"#root", +"#root != null", +"#root == null", +"#root.GetString()", +"#root.Name ?? 'Pupin'", +"#root[#bars]", +"#root['']", +"#root[1.0]", +"#root[1]", +"#source = #target", +"#sqrt(64)", +"#target = #source", +"#tesla > #pupin", +"#tesla.Name", +"#this", +"#this * #{1:'one', 10:'ten'}", +"#this + {1, 2, 13, 15}", +"#this - #{1:'one', 10:'ten'}", +"#this+'test'", +"#{'abc' : 'Value 1', 'xyz' : DateTime.Today} is IDictionary", +"#{1:'one', 2:'two', 3:'three'} * #{1:'ivan', 5:'five'}", +"#{1:'one', 2:'two', 3:'three'} * 'something'", +"#{1:'one', 2:'two', 3:'three'} * {1, 2, 5, 7}", +"#{1:'one', 2:'two', 3:'three'} + #{1:'ivan', 5:'five'}", +"#{1:'one', 2:'two', 3:'three'} + {1, 5}", +"#{1:'one', 2:'two', 3:'three'} - #{1:'ivan', 5:'five'}", +"#{1:'one', 2:'two', 3:'three'} - 'something'", +"#{1:'one', 2:'two', 3:'three'} - {1, 2, 3, 5, 7}", +"#{a:1", +"#{a:1,b:2}", +"#{a}", +"#{|", +"#{}", +"$", +"$ {a}", +"$1,234", +"$1,234.00", +"$1,234.56", +"$1,235", +"$AppDir$", +"$AppDirUrl$", +"$CodeGen$", +"$Gac$", +"$OriginHost$", +"$Property", +"$TheAngelGang", +"$a", +"$a(1)", +"$a(b;c)", +"${", +"${Mmm}. Has there been any good telly since then... ${thinks}", +"${PROCESSOR_ARCHITECTURE}", +"${SomeName}", +"${age}", +"${age}name", +"${a}", +"${foo}", +"${fqn}", +"${greeting}", +"${hope.floats}", +"${maxResults}", +"${name}", +"${nickname}", +"${prop.override.section}", +"${ref}", +"${sigh}. Laura Palmer though... man, that sure was a tragedy. ${sigh}", +"${slurp}. Ah! That is one good cup of tea. That agent Cooper and his coffee... he sure was missing out on a good thing.", +"${test.name.1}", +"${var}name${age}", +"${{userprofile}}\\{0}.txt", +"${{{0}}}\\{1}.txt", +"%COMPUTERNAME% is the name of my computer", +"%[", +"%[maxResults]%", +"%[name]%", +"%{", +"&log", +"&mod", +"&prototypeFactory", +"&rod", +"&singletonFactory", +"&testFactory1", +"&testFactory2", +"'", +"' '", +"' '.ToCharArray()[0]", +"' : ", +"' : '{0} {1}']", +"' threw an exception : ", +"''", +"''date'", +"'0x7FFFFFFF'", +"'1' [System.Int32]", +"'12' is not a valid argument for 'foo'..", +"'123' + 1", +"'5.00' matches '^-?\\d+(\\.\\d{2})?$'", +"'5.0067' matches '^-?\\d+(\\.\\d{2})?$'", +"'@seovic.com' matches #this", +"'A' like '?'", +"'A' matches #this", +"'Abc' like '*'", +"'Abc' like '?'", +"'Abc' like '[A-Z]b?'", +"'Aleksandar' like 'Aleks*'", +"'Ana Maria Seovic' like '*Maria*'", +"'Marija Seovic' like '*Seovic'", +"'Object of type 'System.Int32' cannot be converted to type 'System.String'", +"'ObjectName' property was not serialized correctly.", +"'ObjectType' property was not serialized correctly.", +"'One' == Type", +"'PropertyName' node cannot be resolved for the specified context [System.Dynamic.ExpandoObject].", +"'Test' != 'test'", +"'Test' < 'test'", +"'Test' <= 'test'", +"'Test' == 'test'", +"'Test' > 'test'", +"'Test' >= 'test'", +"'Two' == Type", +"'a", +"'a'", +"'a''b'", +"'aleks' matches #this", +"'aleks@' matches #this", +"'aleks@seovic' matches #this", +"'aleks@seovic.com' matches #this", +"'date", +"'date'", +"'default' ?? 'xyz'", +"'efg' between {'abc', 'xyz'}", +"'escaped \t string \n'", +"'literal ''string'", +"'literal string'", +"'ljwdf87cwbh'", +"'new System.InvalidOperationException(\"invalid\")' []", +"'s InnerException was null.", +"'s Message was null.", +"'seovic.com' matches #this", +"'some non-empty string'", +"'test' != 'test'", +"'test' + #this", +"'test' + ' ' + 'string'", +"'test' + ' ' + 2", +"'test' + ' ' + DateTime.Today", +"'test' < 'test'", +"'test' <= 'test'", +"'test' == 'Test'", +"'test' == 'test'", +"'test' > 'test'", +"'test' >= 'test'", +"'xyz' == null", +"'xyz' > 123", +"'xyz' in #{'abc' : 'Value 1', 'xyz' : DateTime.Today}", +"'xyz' in new string[] {'abc', 'xyz'}", +"'xyz'.ToCharArray()[1]", +"'\u6f22\u5b57'", +"(\n #delegate = {|f,n| $f($n) };\n #d = #delegate;\n\n #result = { #delegate(#sqrt, 4), #d(#fact, 5), #delegate({|n| $n ^ 2 }, 5) }\n )", +"(#add = {|x, y| $x + $y}; #add(2, 2))", +"(#fact = {|n| $n <= 1 ? 1 : $n * #fact($n-1) }; #f = #fact; #f(5))", +"(#fact = {|n| $n <= 1 ? 1 : $n * #fact($n-1) }; #fact(#root))", +"(#fact = {|n| $n <= 1 ? 1 : $n * #fact($n-1) }; #fact(5))", +"(#max = {|x, y| $x > $y ? $x : $y }; #max(5,25))", +"(#noop ={|val| $val}; ?{#noop(ToString()=='100')} )", +"(#oldName = Name; Name = 'Nikola Tesla')", +"(#upper = {|txt| $txt.ToUpper() }; !{ #upper(Name) })", +"(#x=1;#x+1)", +"($1,234.00)", +"($1,234.56)", +"((\\d{1,2}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}))", +"((a))", +"()", +"(1,234)", +"(1,234.56)", +"(1,235)", +"(813) 555-4034", +"(Add(new Inventor('Aleksandar Seovic', date('1974-08-24'), 'Serbian')); Count)", +"(DOB = date('2004-08-14'); Name = 'Ana Maria Seovic')", +"(Nationality = 'Srbin'; #this).Name", +"(SerializationInfo info, StreamingContext context)", +"(ToString(); #noop ={|val| $val}; !{#noop(ToString()) } )", +"([1].PlaceOfBirth.City = 'Beograd'; [1].PlaceOfBirth.Country = 'Serbia'; [1].Name)", +"(a", +"(a)", +"(a;b)", +"(a;b)(c;d)", +"(a;b).c", +"(a=1)", +"(false ? 'trueExp' : 'falseExp')", +"(incorrectly) as a factory object dereference.", +"(string message)", +"(string message, Exception inner)", +"(true ? 'trueExp' : 'falseExp')", +"(using CultureInfo.InvariantCulture) was (wrongly) retrieved ", +"*", +"*&&%%^\ufffd", +"*.test", +"*quatul*", +"*tulate", +"+-a", +"+4 ^ .5", +"+false", +",", +",\n", +", ", +", Enumerable.Range(0, expectedResult))})", +", System", +",Spring.Core.Tests", +",val=", +"-", +"- - a", +"-$1,234", +"-$1,234.56", +"-$1,235", +"--", +"--Framework=Spring.NET", +"--Name=Aleks Seovic", +"--a", +"--dont-match--", +"--match--", +"--pattern--", +"-01234", +"-1", +"-1'23'4 RSD", +"-1'23'4,00", +"-1'23'4,00 \u0434\u0438\u043d.", +"-1'23'4,000", +"-1'23'4,56", +"-1'23'4,56 \u0434\u0438\u043d.", +"-1'23'4,560", +"-1'23'5 RSD", +"-1,234.00", +"-1,234.56", +"-1,234e+003", +"-1.234 RSD", +"-1.234 din", +"-1.234,00", +"-1.234,00 din", +"-1.234,00 \u0434\u0438\u043d.", +"-1.234,000", +"-1.234,56", +"-1.234,56 din", +"-1.234,56 \u0434\u0438\u043d.", +"-1.234,560", +"-1.234e+003", +"-1.235 RSD", +"-1.235 din", +"-1.235e+003", +"-10", +"-100", +"-1234", +"-1234,00", +"-1234,000", +"-1234.00", +"-1e0 + -1", +"-1e0 + 1", +"-2", +"-2 * -3", +"-2 ^ 4", +"-2 ^ 5", +"-3", +"-4", +"-5", +"-5 == -5", +"-5 == 2", +"-5 >= 2.0", +"-5.0 != -5", +"-5.0 < 2", +"-5.0 <= 2", +"-5.0 > 2", +"-6 % -5", +"-6 / -3", +"-9000.00", +"-Hi-", +"-a,b-", +"-a^b", +"-false", +".", +".*Test.*", +".*Test.*Exclude", +".*Test.*Include1", +".*Test.*Include2", +".+", +".+${event}.+", +"... and no-one's getting fat 'cept Mama Cas!", +"../", +"../../../../TestResource.txt", +"../../../index.html", +"../../Objects/Factory/TestResource.txt", +"../../TestResource.txt", +"../../index.html", +"../calculator/index.html", +"..\\..\\", +"..\\..\\..\\index.html", +"..\\..\\index.html", +"././ManAhShoahDoLoveThoseGrits", +"./Core.IO/TestResource.txt", +"./Resources/resource-imports.xml", +"./demo/index.html", +"./samples/artfair/index.html", +"./temp/spring-test.properties", +".5", +".NET", +".ToString()", +".\\", +".\\samples\\artfair\\index.html", +".antlr.", +".foo.name", +"/", +"/../", +"//configuration/spring/od:objects", +"//property", +"/:www.1.com", +"/Examples.test", +"/Spring.Core.IO/TestResource.txt", +"/dev/null", +"/dummy.txt", +"/framework:Spring.NET", +"/index.html", +"/name:Aleks Seovic", +"/samples/artfair/demo/index.html", +"/samples/artfair/dummy.txt", +"/samples/artfair/index.html", +"/samples/calculator/index.html", +"0", +"0 between {1, 5}", +"0.0.0.0", +"0.00D", +"0.00F", +"0.75D", +"00:00:10", +"01234", +"0x", +"0x1F", +"0x1Fu", +"0x20", +"0x7FFFFFFF", +"0x7FFFFFFFFFFFFFFF", +"0x80000000", +"0x8000000000000000", +"0xFF", +"0xg", +"1", +"1 ", +"1 + 1", +"1 , Foo , 3", +"1 - -3", +"1 - 3", +"1 .2", +"1 .a", +"1 2", +"1 and -1", +"1 and 3", +"1 between {1, 5}", +"1 jen instance", +"1 or -2", +"1 or 2", +"1 xor -1", +"1 xor 3", +"1'23'4 RSD", +"1'23'4,00", +"1'23'4,00 \u0434\u0438\u043d.", +"1'23'4,000", +"1'23'4,56", +"1'23'4,56 \u0434\u0438\u043d.", +"1'23'4,560", +"1'23'5 RSD", +"1+(2-3*8)/2.0/2", +"1+2-3*8/2/2", +"1+2-3*8/2^2/2", +"1+2-3*8^2/2/2", +"1,2", +"1,234", +"1,234.00", +"1,234.56", +"1,23456e+003", +"1,235", +"1,Foo,3", +"1.", +"1.00", +"1.0m + 1.0", +"1.1", +"1.2", +"1.2.3", +"1.234 RSD", +"1.234,00", +"1.234,00 \u0434\u0438\u043d.", +"1.234,000", +"1.234,00din", +"1.234,56", +"1.234,56 \u0434\u0438\u043d.", +"1.234,560", +"1.234,56din", +"1.23456e+003", +"1.234din", +"1.234e+003", +"1.235 RSD", +"1.235din", +"1.235e+003", +"1.5", +"1.5L", +"1.5f", +"1.797693E+308", +"1.a", +"10", +"100", +"100 < 1000.00 and 10000.00m > 1e2", +"100 < 1000.00m and 10000.00 > 1000", +"1000", +"1000 == 1e3 and 1e+4 != 1000", +"1000.00m", +"1000.00m * 1e3", +"1000.00m - 1e4", +"1000.00m / 1e3", +"1000000.00", +"1005.00m % 1e3", +"100ms", +"10s", +"11.222.333.444", +"111", +"12", +"123 != null", +"123 < null", +"123 <= null", +"123 == null", +"123 > null", +"123 >= null", +"1231", +"1234", +"1234 ", +"1234,00", +"1234,000", +"1234,56", +"1234.00", +"1234.56", +"12345", +"123a456", +"14-Aug-2004", +"14-\u0430\u0432\u0433-2004", +"14-\u0430\u0432\u0433.-2004", +"15", +"1507", +"1575843013", +"15a", +"1856-7-9", +"1883-1-1", +"1905158793", +"198", +"1991-10-10", +"1H", +"1L", +"1UL", +"1Ul", +"1d", +"1e", +"1e+5", +"1e0 + 1", +"1e5", +"1f", +"1h", +"1m", +"1st config val", +"1st didn't change", +"1{0}Foo{0}3", +"2", +"2 != 2.0", +"2 % 2", +"2 * -3", +"2 * 2", +"2 * 2 - 3 ?? 5", +"2 + 2", +"2 / 2", +"2 < -5.0", +"2 < 2.0", +"2 <= 2.0", +"2 == -5", +"2 == 2", +"2 > -5.0", +"2 > 2.0", +"2 ^ +3", +"2.0", +"2.0 != -5", +"2.0 * 3e0 * 4", +"2.0 + 3e0 + 4", +"2.0 - 3e0 - 4", +"2.0 <= -5", +"2.0 >= -5", +"2.0 >= 2", +"20", +"200", +"2000", +"2000/02/02", +"2004-08-14", +"2004/08/08", +"2008-05-15", +"2030", +"222", +"24", +"24-Aug-1974", +"24-\u0430\u0432\u0433-1974", +"24-\u0430\u0432\u0433.-1974", +"25%", +"25,0%", +"25,00%", +"25,000%", +"25,3%", +"25,34%", +"25,340%", +"25.00 %", +"25.00%", +"25.34 %", +"25.34%", +"255, 235", +"255, 235, 4567", +"26", +"26+1", +"27", +"2m", +"2nd changed", +"2nd config val", +"3", +"3 - 1", +"3 between {1, 5}", +"3 in {1, 2, 3, 4, 5}", +"3.402823E+38", +"30", +"30,30", +"30/10/07", +"32", +"33", +"333", +"34x", +"35", +"378282246310", +"378282246310005", +"4", +"4 ^ -2", +"444444444", +"48", +"5", +"5 between {1, 5}", +"5 is int", +"5 is null", +"5.00", +"5.25D", +"5.25F", +"5.25f", +"5ms", +"6", +"6 % -4", +"6 / -3", +"6 between {1, 5}", +"7", +"7cfc9607-e81a-48ac-a080-bda88193607b", +"8", +"8.0 % 5e0 % 2", +"8.0 / 4e0 / 2", +"8/14/2004", +"8/24/1974", +"81-7525-766-0", +"87", +"9", +"9 objects in reftypes, not ", +"90", +"90-70002-34-5", +"978-1-905158-79-9", +"978-81-7525-766-5", +"978-90-70002-34-3", +"9789070002-34-3", +"978907000234-3", +"9789070002343", +"978907000234x", +"9789g70002-34-3", +"98name", +"99", +":", +":Foo,:Bar", +":Hi", +":e", +":e ", +":key", +":key:newvalue", +";", +"; age=", +"; spouse={", +"; touchy=", +"", +"\n \n \n \n ", +"\n \n\t \n \n ", +"\n \n\t \n \n ", +"\n \n ", +"\n \n\n \n \n\t\t\t \n\t\t\t\t \n\t\t\t \n \n\t\t\t \n \n \n ", +"\n \n \n \n \n \n \n ", +"\n \n \n \n \n \n \n ", +"\n \n \n \n \n ", +"\n \n \n ", +"\n \n \n \n \n ", +"\n \n \n ", +"\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ", +"\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ", +"\n\n \n
\n \n \n \n \n\n", +"\n\n \n
\n \n \n \n \n \n", +"\n\n \n \n \n\n", +"\n\n \n \n \n \n", +"\n \n\t\n \n \n \n \n\n", +"\n \n \n\n", +"\n \n\t\n\t\n\t\n\t\n\t\n\n", +"\n\n\t\n", +"\n\n\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\n", +"\n\n\t\n", +"\n\n\t\n", +"\n\n\t\n\t\t\n\t\t\n\t\n", +"\n\n\t\n\t\t\n\t\t\n\t\n", +"\n\n\t\n\t\t\n\t\t\n\t\n", +"\n\n\t\n\t\t\n\t\t\n\t\n", +"\n\n\t\n\t\t\n\t\t\n\t\n", +"\n\n\t\n\t\t\n\t\t\n\t\n", +"\n\n\t\n \n \n \n \n", +"\n\n\t\n \n \n \n \n \n", +"\n\n\t\n \n", +"\n\n\t\n\t\ttrilby,fedora\n\t\n", +"\n\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tRick Evans\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n", +"\n\n\t\n\t\n", +"\n\n\t\n\t\t\n\t\n", +"\n\n\t\n\t\t\n\t\n \n \n \n \n \n \n \n \n \n", +"\n\n \n\t\n", +"\n\n\t\n \n \n", +"\n\n\t\n", +"\n \n\t\n\t\t\n\t\n\n", +"\n \n\t\n\t\n\n", +"\n \n\t\n\n", +"\n \n\t\n\n", +"\n \n\t\n\t\t\n\t\n\t\n\t\t\n\t\n\t\n\t\t \n\t\n\n", +"\n \n\t\n\t\t \n\t\n\n", +"\n\n\t\n", +"\n\n\t\n", +"\n\n\t\n", +"\n\n\t\n", +"\n\n\t\n", +"\n\n\t\n", +"\n\n\t\n", +"\n\n\t\n\t\n\t\n\t\n\t\n", +"\n\n\t\n", +"\n\n\t\n", +"\n\n\t\n", +"\n\n\t\n", +"\n\n\t\n", +"\n\n\t\n", +"\n\n\t\n", +"\n\n\t\n \n", +"\n\n\t\n", +"\n\n\t\n", +"\n\t\n", +"\n\t\n", +"\n\t\n", +"\n\t\n\t\n", +"\n\t\n", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"=", +"?{", +"?{ T(System.Convert).ToInt32(#this) % 2 == 0, 1, 3 }", +"?{ true }", +"?{ true, 0, 10 }", +"?{ true, 5 }", +"?{ true, 5, 10 }", +"?{a,b}", +"@", +"@ (a)", +"@ [a]", +"@('a b':'c d')", +"@('a')", +"@('a':b)", +"@('myContext':goran)", +"@(CiaoFoo)", +"@(a", +"@(a in:b)", +"@(a)", +"@(a.b:c.d)", +"@(a:", +"@(a:'b')", +"@(a:b", +"@(a:b)", +"@(anotherContext:theObject).Value", +"@(dummyRef)", +"@(goran)", +"@(in)", +"@(my.Context/bla\\:goran)", +"@(myContext:goran)", +"@(testObjectContainer_lazy)", +"@(theObject)", +"@({anotherContextName}:theObject)", +"@[", +"@[System.Serializable()]", +"@[System.Serializable]", +"@[WebMethod(Description = #desc)]", +"@[WebMethod(Description = 'My First Web Method')]", +"@[WebMethod(Description = 'My Second Web Method')]", +"@[WebMethod(false, CacheDuration = 60, Description = 'my web method', TransactionOption = TransactionOption.Required)]", +"@[WebMethod(true)]", +"@[WebMethod]", +"@[a", +"@[a(", +"@[a(1,x=2)]", +"@[a.b]", +"@eu.s4hc.com", +"A", +"A DefName", +"A PostContruct method with return value should run the init method.", +"A String", +"A newly initialised instance was not initially empty.", +"A null resource.", +"A temporary resource.", +"AClass", +"AFTER the AfterPropertiesSet() method has been invoked.", +"ALEKS", +"ALEKSANDAR", +"ALEKSANDAR SEOVIC", +"ALIAS", +"ALL", +"AModule", +"AS IS", +"ASP.Net", +"Absqua*", +"Absquatulate", +"Absquatulate()", +"Absquatulate(string)", +"Abstract Type erroneously registered with the Context.", +"Actions", +"Actual instance is correct", +"Actual types registered with the container:", +"Add", +"AddPeriodicElement", +"AddPeriodicElement()", +"AddPeriodicElement(string)", +"AddPeriodicElement(string, string)", +"Added 1 unique item, but the Count property wasn't sitting at 1.", +"Added 2 duplicate items, but the Count property wasn't sitting at 1.", +"Added 2 unique item (one null), but the Count property wasn't sitting at 2.", +"Added 3 (2 duplicated) items, but the Count property wasn't sitting at 2.", +"Added 3 unique items, but the Count property wasn't sitting at 3.", +"Added null to a set already containing null, but the Count property changed.", +"Added one generic value, but the collection of indexed values ain't sayin' that it's got a single element in it.", +"Added one indexed value, but the collection of indexed values ain't sayin' that it's got a single element in it.", +"Added one named argument but it doesn't seem to be reflected in the overall argument count.", +"Added one named argument but it doesn't seem to have been added to the named arguments collection.", +"Added one value, but the collection ain't sayin' that it's got a single element in it.", +"Added one value, but the collection is sayin' it's empty.", +"Added three indexed values(as a range), but the collection ain't sayin' that it's got 3 elements in it.", +"Added three indexed values(as a range), but the collection is sayin' it's empty.", +"Added three indexed values(as a range), but the collection of indexed values ain't sayin' that it's got 3 elements in it.", +"Adding nulls is not supported in this implementation.", +"Addition of elements to the list via index that is out of range is not supported anymore.", +"Administer", +"AfterPropertiesSet() was not invoked by IObjectFactory.ConfigureObject(instance).", +"Age", +"Age dependency injected via IObjectFactory.ConfigureObject(instance) failed (was 25).", +"Age dependency injected via IObjectFactory.ConfigureObject(instance) failed (was null).", +"Age is an integer", +"Age is not set correctly", +"Age property value not applied.", +"Age still has default", +"Aimee Mann", +"AlIaS", +"Albert", +"Aleks", +"Aleks Seovic", +"Aleksandar", +"Aleksandar Seovic", +"Alias was obviously not registered otherwise we would not have got a null object back.", +"All", +"All IDisposable singletons must have their Dispose() method called... one of them bailed, and as a result the rest were (apparently) not Dispose()d.", +"All The News That's Fit To Print", +"Already customDestroyed", +"Already destroyed", +"Already destroyed...", +"AlsoKnownAs[1", +"AlsoKnownAs[1]", +"AlsoKnownAs[1][0]", +"Alternating-current power transmission", +"American", +"AnAssembly", +"Ana", +"Ana Maria", +"Ana Maria Seovic", +"And yeah, I've never been a fan of the doughnut... ${blechh${shudder}}", +"Anderson", +"Andrew", +"AnotherContext", +"ApplicationData", +"Applicationimpl", +"Apply", +"Arg1", +"Arg1, Arg2", +"Arg2", +"Arg3", +"Argument 'requiredType' cannot be null.", +"Argument cannot be multidimensional.", +"Argument cannot be negative.", +"Argument cannot exceed Count.", +"Argument must be less than Count.", +"Argument must be less than array length.", +"Argument section must be large enough for collection.", +"ArgumentFromMock", +"ArgumentNullException was expected", +"Arguments", +"Arguments denote invalid range of elements.", +"Array", +"ArrayList[0]", +"Array[0]", +"Array[2]", +"Array[5]", +"Array[HungerHurtsButStarvingWorks]", +"Array[]", +"AssemblyName", +"AssignableMatch", +"At least one of the arguments passed to this MethodInvoker was incompatible with the signature of the invoked method.", +"Atari 2900", +"Attribute", +"Attribute set to default should check pattern and return false", +"Attribute set to default should check pattern and return true", +"AutowireTestConstructor", +"AutowireTestConstructorNormal", +"AutowireTestDictionary", +"AutowireTestDictionaryFail", +"AutowireTestField", +"AutowireTestFieldNormal", +"AutowireTestList", +"AutowireTestMethod", +"AutowireTestMethodNormal", +"AutowireTestProperty", +"AutowireTestPropertyNormal", +"AutowireTestPropertyPlaceHolder", +"AutowireTestQualifier", +"AutowireTestSet", +"AutowireUtils.GetTypeDifferenceWeight() was wrong, evidently.", +"AutowireUtils.SortConstructors() did not put the greedy public ctors first.", +"Aw!", +"A|B|C", +"A||C", +"B", +"BF", +"Baby", +"Bad format", +"BadBobbyBoJangles", +"BadSpanglish", +"Baia", +"Bailed when converting type '", +"Balzac", +"Bang!", +"Banjo", +"Bar", +"BaseDefinition", +"BaseStringProp", +"Baz", +"Ben", +"Beograd", +"Bigby", +"Bill", +"Binding boolean to date should throw an exception.", +"Binding custom Place to date type should throw an exception.", +"Binding date to custom Place type should throw an exception.", +"Bing", +"Bing!", +"Bingo", +"BingoBango", +"Blister", +"Blue", +"BoJangles", +"Bob", +"Boing", +"Bong", +"Boog", +"Bruno", +"Bumped", +"C", +"C:/temp", +"C:/test/myfile.txt", +"C:\\dummy.txt", +"C:\\temp", +"COMPUTERNAME", +"CallToDestroy", +"CallToInit", +"Calling Clear () did not remove all of the elements.", +"Can't contain a .", +"CanGetSetComplexIndexer", +"CanGetSetSimpleIndexer", +"CanGetSimpleText", +"Cannot calculate the type difference weight for argument types and arguments with differing lengths.", +"Cannot call AfterPropertiesSet twice on the one object.", +"Cannot convert property value of type [System.Double]", +"Cannot convert property value of type [System.Int32] to required type", +"Cannot convert property value of type [System.Single]", +"Cannot dynamically build object key...", +"Cannot read config section 'ELNOMBRE' - section not found.", +"Cannot specify arguments in the GetObject () method when referring to a factory object definition", +"Capacity", +"Carl", +"Cflow", +"Chank Pop", +"Child", +"Child Constructor", +"Child Constructor wasn't called first!", +"Child Destructor", +"Child Destructor wasn't called fourth!", +"Child Destructor wasn't called third!", +"Child context not registered.", +"Child context object not present (must be).", +"Child's DisplayName property not picked up from config file.", +"ChildFactoryMethodName", +"ChildFactoryObjectName", +"ChildObjectTypeName", +"ChildResourceDescription", +"Chris", +"Chungking Express", +"CiaoFoo", +"Circular dependency was set up; should have caught an ObjectCurrentlyInCreationException instance.", +"Clash", +"Class", +"Click", +"Code", +"Commentator", +"Company", +"ComplexIndexer", +"Component", +"ComponentImpl", +"ComponentScan.ComponentsAttributeLoad.*", +"ComponentScan.ComponentsUseDefaults.*", +"ComponentScan.ComponentsUseSpecifiedName.*", +"ComponentScan.NameGenerator.*", +"ComponentScan.NameGenerator.Prototype", +"ComponentScan.Qualifier.*", +"ComponentScan.ScanComponentsAndAddToContext.", +"ComponentScan.ScanComponentsAndAddToContext.*", +"Composition proxy target must implement at least one interface.", +"Compute()", +"ComputerName", +"Computers", +"ConfigFiles.AttributeConfigParser.xml", +"ConfigFiles.BaseAssemblyTestMultiple.xml", +"ConfigFiles.BaseAssemblyTestNegative.xml", +"ConfigFiles.BaseAssemblyTestSingle.xml", +"ConfigFiles.BaseAssemblyTestWithout.xml", +"ConfigFiles.ComponentScan1.xml", +"ConfigFiles.ComponentScan2.xml", +"ConfigFiles.ComponentScan3.xml", +"ConfigFiles.ComponentScan31.xml", +"ConfigFiles.ComponentScan4.xml", +"ConfigFiles.ComponentScan5.xml", +"ConfigFiles.ComponentScan6.xml", +"ConfigFiles.ComponentScanAttributeConfigFalse.xml", +"ConfigFiles.ComponentScanAttributeConfigTrue.xml", +"ConfigFiles.TypeScannerTestAssignableExclude.xml", +"ConfigFiles.TypeScannerTestAssignableInclude.xml", +"ConfigFiles.TypeScannerTestAttributeExclude.xml", +"ConfigFiles.TypeScannerTestAttributeInclude.xml", +"ConfigFiles.TypeScannerTestCustomExclude.xml", +"ConfigFiles.TypeScannerTestCustomInclude.xml", +"ConfigFiles.TypeScannerTestRegExExclude.xml", +"ConfigFiles.TypeScannerTestRegExInclude.xml", +"ConfigFiles.TypeScannerTestRegExInclude2.xml", +"ConfigSectionPlaceholderConfigurer", +"ConfigSections", +"Configuration", +"Configuration section not found ", +"ConfigurationClass", +"ConfigurationImpl", +"ConfigurationNameSpace", +"ConfigureObject() configures externally managed instances and may run once per ", +"Connection.String", +"Context", +"Context Does Not Equal", +"Controller", +"ControllerImpl", +"Conversion from a string instance must be supported.", +"Copied a set with a null value into an array, but the resulting array did not contain a a null.", +"Core.IO/TestResource.txt", +"Correct circular reference", +"Could not get setter property for ObjectFactory", +"Couldn't pull manually registered instance out of the factory using factory method instantiation.", +"Couldn't pull manually registered instance out of the factory.", +"Count", +"Create", +"CreateInstance", +"CreateInstance", +"CreateList", +"CreateNewsFeed", +"CreateObject", +"CreateObjectDefinition with no parent is returning null (it must never do so).", +"CreateTestObject", +"Creations", +"Critical", +"Croatia", +"Ctor () for '", +"Ctor (Serialization) for '", +"Ctor (string) for '", +"Ctor (string, Exception) for '", +"Cult", +"CurrentObjectFactory", +"Custom IResource not registered.", +"Custom attribute (erroneously) applied to member method.", +"Custom attribute not applied to member method.", +"D", +"DAMJAN Tomic", +"DOB", +"DOB = date('1974-08-24')", +"DOB.Year", +"DOB.Year == 1856", +"DOb.YEar", +"Dad has correct name", +"Dad has not correct age", +"Dad has not correct name", +"Damjan Tomic", +"Dan", +"Daniela", +"DaoConfiguration", +"Darn. Should be supplying a rubbish non-existant resource. ", +"Data", +"Data/Spring/Objects/Factory/Xml/abstract.xml", +"DataRecordCtor", +"DataRowCtor", +"DatabaseConfiguration", +"Date", +"DateOfGraduation", +"DateTime", +"DateTime.MaxValue", +"DateTime.MinValue", +"DateTime.Today", +"DateTime.Today != DateTime.Today", +"DateTime.Today != date('1974-08-24')", +"DateTime.Today % false", +"DateTime.Today * false", +"DateTime.Today + false", +"DateTime.Today - false", +"DateTime.Today / false", +"DateTime.Today < date('1974-08-24')", +"DateTime.Today <= date('1974-08-24')", +"DateTime.Today == DateTime.Today", +"DateTime.Today == date('1974-08-24')", +"DateTime.Today > date('1974-08-24')", +"DateTime.Today >= date('1974-08-24')", +"DateTime.Today ^ false", +"DateTime.Today between {DateTime.Now, DateTime.Now}", +"DateTime.Today between {DateTime.Today, DateTime.Now}", +"Datum.Doctor.Company", +"Dave not same instance", +"Deborahs.Banjo", +"Debug", +"Declared", +"DefName", +"Default", +"Default type is not the XmlApplicationContext type; it must be.", +"DefaultCtor", +"DefaultCulture property is nulled out (it must).", +"DefaultName", +"DefaultString", +"Dell", +"Dell string not found in ISet", +"Dependency 'age' was not resolved using a named ctor arg.", +"Dependency 'doctor.Company' was not resolved using autowiring.", +"Dependency 'lawyer.Company' was not resolved using another named ctor arg.", +"Dependency 'name' was not resolved an indexed ctor arg.", +"Dependency 'name' was not resolved using a named ctor arg.", +"Dependency not wired in when using 'ref' attribute shortcut.", +"Dependency was not resolved pulling manually registered instance out of the factory using factory method instantiation.", +"DependsOn not as expected", +"DerivedConfiguration", +"DerivedDefinition", +"DerivedSingleMethodTestClass.ShadowedStaticMethod", +"Des is Spring.NET", +"Describe", +"Destroy", +"DestroyChild", +"DestroyTester", +"DestructionPostProcessor", +"Dictionary Value incorrect", +"Dictionary value incorrect", +"Dictionary['key1']", +"Dictionary['notthere']", +"Did not find two configuration classes", +"Did not receive expected IOException!", +"Did not receive the expected Count for object ", +"Did not throw expected ArgumentException.", +"Diddly", +"Dies ist Spring.NET", +"DisposableClass.Dispose()", +"DoFoo", +"DoIt", +"DoSomething", +"Doctor", +"Doctor.Company", +"Doctor.Company.Length", +"Doubled", +"Dr. Sueem", +"Duration Class Set/Get field value: {0}", +"Duration Direct: {0}", +"Duration SpEL: {0}", +"Duration Struct Set/Get field value: {0}", +"Duration: {0}", +"ELNOMBRE", +"Elvis Orten", +"Emma and georgia think they have a different boyfriend.", +"Emmas doesn't equal new ref.", +"Emmas jenks has right name", +"EmptyString", +"English", +"Enumerator invalidated by modification to collection.", +"Enumerator is not on a collection element.", +"Environment variable not expanded.", +"EnvironmentVariableMode", +"Erich", +"Error", +"Error creating object with name", +"Error creating object with name 'foo' : Unsatisfied dependency ", +"Error is for field age", +"Error registering object with name 'to' defined in '' : Could not resolve placeholder 'PROCESSOR_ARCHITECTURE'.", +"Error unloading AppDomain used during testing : ", +"Eva", +"Evans", +"EvenSum", +"Event Not Raised", +"Event Raised", +"Event raised", +"Event raised from ", +"EventListener Attribute not found", +"ExactMatch", +"Exception", +"Exception actualType as TestObject class", +"Exception actualType as TestObject.class", +"Exception encountered", +"Exception has correct object name", +"Exception occured in testtask on iteration ", +"Exception requiredType must be IObjectFactory class", +"Exception requiredType must be ObjectFactory.class", +"Execute", +"Exists should return false", +"Expected '{0}' contained in source, but not found. Source was {1}", +"Expected 2 items not ", +"Expected 3 elements, not ", +"Expected 3 items not ", +"Expected ArgumentException not thrown.", +"Expected ArgumentOutOfRangeException not thrown.", +"Expected Exception of type ArgumentException not thrown!", +"Expected Exception of type {0}, but was {1}", +"Expected FileSystemResource", +"Expected Message '{0}', but got '{1}'", +"Expected empty string", +"Expected fifth element to be \"item3\" not ", +"Expected first element to be \"al1\" not ", +"Expected first element to be \"item1\" not ", +"Expected first element to be \"string1\" not ", +"Expected fourth element to be \"item2\" not ", +"Expected index of 1 not ", +"Expected kerry's age to be 35", +"Expected name to be set to 'tom'", +"Expected rod's age to be 31", +"Expected second element to be \"al2\" not ", +"Expected second element to be \"item1andahalf\" not ", +"Expected second element to be \"item2\" not ", +"Expected second element to be \"item3\" not ", +"Expected second element to be \"string2\" not ", +"Expected third element to be \"item1\" not ", +"Expected third element to be \"item2\" not ", +"Expected third element to be \"item3\" not ", +"Expression", +"ExpressionOne", +"ExpressionTwo", +"ExpressionsDictionary", +"ExpressionsList", +"Extension '{0}' registered for type '{1}' expects {2} argument(s) including the receiver, but was called with {3}.", +"ExtensionTestFoo", +"ExtensionTestFoo.Describe()", +"ExtensionTestFoo.SpelExtension(1)", +"Extra check that the type is really passed on to the parent factory", +"FOO", +"FOo", +"FRAMEWORK", +"Factory called AfterPropertiesSet twice", +"Factory called PostProcessAfterInit before AfterPropertiesSet", +"Factory called PostProcessAfterInit twice", +"Factory called PostProcessBeforeInit after AfterPropertiesSet", +"Factory called PostProcessBeforeInit twice", +"Factory didn't call AfterPropertiesSet () on MustBeInitialized object", +"Factory didn't call ObjectFactory before AfterPropertiesSet on lifecycle object", +"Factory didn't call PostProcessBeforeInit before AfterPropertiesSet on lifecycle object", +"Factory didn't initialize lifecycle object correctly", +"Factory loaded from config was null.", +"Factory singleton", +"Factory was not initialized even though it implemented IInitializingObject", +"FactoryObject is ObjectFactoryAware", +"Failed to instantiate an instance of a valid Type.", +"Failed to read / write the value of a property with 'private' access.", +"Failed to read / write the value of a property with 'protected' access.", +"Failed to read in any properties at all (props is null).", +"Failed to read the value of a property with 'private' access.", +"Failed to read the value of a property with 'protected' access.", +"Fallback mode is not respecting previously set values.", +"FastValidate", +"Fatal", +"FavoriteColor", +"FavoriteName", +"FavoriteName[0]", +"Fedora", +"Feng", +"FileMode", +"FileModeEnum", +"FileMode[0]", +"Fiona", +"Fiona Apple", +"First", +"First friend must be jen, not ", +"First name", +"First name is required dude!", +"FirstName", +"Fluorescent lights", +"Fname", +"Foo", +"Foo(#var1)", +"Foo,,Bar", +"FooType", +"FooType.FullName", +"FooType.One", +"FooType.One == Type", +"Found element out of order while iterating over SortedSet", +"FourStringsAndAParamsCollectionOverload", +"Fourth error message", +"Friends", +"Friends[2]", +"Friends[5]", +"Frylock", +"Full", +"FullTrust", +"Funk", +"Funny", +"G", +"G5", +"GOODBYE", +"GORAN", +"Gabriel", +"Gacy", +"Georgias jenks has right name.", +"GetAge", +"GetDescription", +"GetGrub", +"GetInstance", +"GetNameWithHonorific", +"GetObject", +"GetObjectData", +"GetObjectDefinitionNames() should only return object definition names from this factory", +"GetObjectDefinitionNames(false) should only return object definition names from this factory", +"GetObjectDefinitionNames(true) should return object definition names from this factory and parents", +"GetPrivateMethod()", +"GetProtectedMethod()", +"GetPublicMethod()", +"Getting 'some (?) weird object out of an empty StaticMessageSource", +"Getting writeonly property should throw NotReadablePropertyException", +"Gizajoab", +"GoatsCheeseAndSoda", +"Goob", +"Goran", +"Goran Milosavljevic", +"Got back same instance after set operation.", +"Grand Poobah", +"Grandchild", +"Grandchild context not registered.", +"Grandchild context object not present (must be).", +"Grandchild's DisplayName property not picked up from config file.", +"Greenness", +"Greeting", +"Griffin", +"Griffin's Foosball Arcade", +"GrowOlder", +"GrowOlderUntilMaximumAgeReached", +"GrowOlderUntilMaximumAgeReachedAndSetStatusName", +"Guid", +"Guid.NewGuid().ToByteArray().Length", +"H", +"HELLO", +"HKEY_CURRENT_USER", +"HKEY_CURRENT_USER\\Software", +"HKEY_CURRENT_USER\\Software\\Microsoft", +"HKEY_CURRENT_USER\\sdgsdfgsdfgxadas\\Xyz\\Abc", +"HKEY_ERROR\\sdgsdfgsdfgxadas", +"HandlePop", +"HappyPlace", +"Harry's John Denver Records", +"Haruki Murakami", +"Has one error", +"HasGenericIDictionaryProperty", +"HasGenericIEnumerableProperty", +"HasGenericIListProperty", +"Hats", +"He who ha-ha ho-ho", +"Height of image wrong", +"Hello", +"Hello\nWorld", +"Hello ${firstname} ${lastname}!", +"Hello FirstName LastName!", +"Hello Mr. Anderson", +"Hello Static World from SingleMethodTestClass", +"Hello World", +"Hello {0} {1}", +"Hello, default", +"Hello, message1", +"HelloFoo", +"Hello\\nWorld", +"Hershey", +"Hey, do you want to hear the most annoying sound in the world? ${foo}! ${foo}!", +"Hey, do you want to hear the most annoying sound in the world? Mehhh! Mehhh!", +"Hi", +"Hi ", +"Hi Lebowski", +"Hi Rick, Mark, Griffin, Si, Choy, Aleks", +"Hi ya'll", +"HiEverybody", +"HiVoker", +"Hicks & Co", +"HiroProtagonist", +"Hiya", +"Home", +"Honeys[0][0]", +"Hoop", +"Hrvatska", +"Hsu", +"Hugo", +"HungerHurtsButStarvingWorks", +"HungerHurtsButStarvingWorks...", +"I Love You Laura Palmer, I Really Do", +"I could really go a cup of tea right now... in fact I think I'll go get one.", +"I'mAJumpedUpPantryBoy", +"I've never been to Taco Bell (sighs).", +"IBM T41", +"IBM T41 not found in ISet", +"ICollaborator", +"IEEE", +"IListableObjectFactory required...", +"Idvor", +"IfINeedYouIllJustUseYourSimpleName", +"IgnoreResourceNotFound", +"IgnoreUnresolvablePlaceholders", +"IncompatibleParametersForFooHandler", +"Incorrect type resolved.", +"Index out of range", +"Individual array elements not correctly converted (check the whitespace?).", +"Individual array elements not correctly converted.", +"Induction motor", +"Info", +"Information", +"Inheritance Tax", +"Init", +"Init1", +"InitChild", +"InitDestroyAttributeObjectPostProcessor", +"Injection of autowired dependencies failed", +"Inner", +"InstanceCreateTestObject", +"Instantiation", +"Int32.FullName", +"Int32.IsSubclassOf(Int64)", +"Int32.MaxValue", +"IntArray", +"Integer", +"InterfaceMethodWithArguments", +"InterfaceVirtualMethodWithNoArguments", +"Interferes with other fixtures", +"InternalValue", +"Invalid root hive name [HKEY_ERROR].", +"InvalidBoolean", +"InvalidByte", +"InvalidChar", +"InvalidDateTime", +"InvalidDecimal", +"InvalidDouble", +"InvalidFloat", +"InvalidGuid", +"InvalidInt16", +"InvalidInt32", +"InvalidInt64", +"Invalidly set property must retain old value", +"InvariantCulture", +"Invention One", +"Invention Two", +"Inventions", +"Inventions[3, 2]", +"Inventions[3]", +"Inventor", +"InventorValidator", +"Investigate details of new type weight algorithm", +"Invoke", +"Iron Brew", +"IsJITOptimizerDisabled should be set to false for Release builds.", +"IsJITOptimizerDisabled should be set to true for Debug builds.", +"IsJITTrackingEnabled should be set to false for Release builds.", +"IsJITTrackingEnabled should be set to true for Debug builds.", +"IsMember(#queryName)\n ? #queryName + ' is a member of the ' + Name + ' Society'\n : #queryName + ' is not a member of ' + Name + ' Society'", +"IsMember('Nikola Tesla') and !IsMember('Mihajlo Pupin')", +"IsMember('Nikola Tesla') and IsMember('Mihajlo Pupin')", +"IsMember('Nikola Tesla') or IsMember('Albert Einstien')", +"IsNullOrEmpty", +"IsSatisfied", +"IsSingleton", +"IsToParent property must default to false if not ", +"Isaac Newton", +"Isso e Spring.NET", +"IssueId", +"Italian", +"Item", +"Item[1]", +"Ivan CIKIC", +"Ivan Cikic", +"JCN", +"James", +"JeepersCreepersWhereDidYaGetThosePeepers", +"Jen not same instance", +"Jenny", +"Jenny Lewis", +"Jimmy", +"Jin", +"JobTitle", +"Joe", +"John", +"John Pryor's 'Leaving On A Jet Plane' LP", +"Joyce", +"Juergen", +"Juergen Hoeller", +"KERNEL32", +"KEY", +"KEY1", +"KEY2", +"KeY", +"Kerry", +"Kerry1", +"Kerry2", +"Key", +"Key1", +"Key2", +"Key3", +"Kissing Leads To Brain Disease", +"LName", +"LastName", +"Lawyer.Company", +"LazyInit", +"LazyTestObject, Count = [{0}]", +"League of Extraordinary Gentlemen", +"Lebowski", +"License", +"Lika", +"Line 21 in XML document", +"Line 3 in XML document from violates the schema.", +"Line 4 in XML document from is not well formed.", +"LinkedList", +"List['0\"]", +"List[0]", +"List[5]", +"List[6]", +"List[7]", +"List[HungerHurtsButStarvingWorks]", +"List[]", +"List[bingo]", +"Lloyd's Soul", +"Location", +"Lock Contention Blocked Successful Dispose of ObjectFactory!", +"Lock Contention Blocked Successful Instantiation of Singleton Test Object!", +"LogLevel", +"Long distance telephony & telegraphy", +"LowTrust", +"MAXResults", +"MIHAJLO PUPIN", +"MM/dd/yyyy", +"MYXML", +"Man!", +"Map element 'jenny' should be equal to jenny object, not ", +"Marija", +"Marija,Ana,Nadja", +"Mark", +"Mark Pollack", +"MarkerMethod", +"MarkerVirtualMethod", +"Mary", +"Master Shake", +"Max", +"MaxValue", +"Meatwad", +"MediumTrust", +"Mehhh", +"Members", +"Members.!{PlaceOfBirth.City}", +"Members.(Add(new Inventor('Ana Maria Seovic', date('2004-08-14'), 'Serbian')); RemoveAt(1); Count)", +"Members.?{PlaceOfBirth.City == 'Smiljan'}", +"Members[0].GetAge(date('2005-01-01'))", +"Members[0].Inventions[6]", +"Members[0].Name", +"MessageSource should not be set twice", +"Method 'Compute' with the specified number and types of arguments does not exist.", +"Method '{0}' with the specified number and types of arguments does not exist.", +"Method can't be proxied.", +"Method returning exception: {0}", +"Method should be defined in the proxy class.", +"Method should be overrided in the proxy class.", +"Method should have '.' in the name", +"Method throwing exception: {0}", +"Method1", +"MethodReturningString", +"MethodSignatureIsCompatibleStatic", +"MethodWithArguments", +"MethodWithArrayArgument(new string[] { 'a', 'b', 'c' })", +"MethodWithArrayArgument(new string[] { 'a', null, 'c' })", +"MethodWithAttributes", +"MethodWithNullableArgument", +"MethodWithOutParameter", +"MethodWithParamArray('a', 'b', 'c')", +"MethodWithParamArray('a', null, 'c')", +"MethodWithParamArray(false, 'a', 'b', 'c')", +"MethodWithParamArray(false, 'a', null, 'c')", +"MethodWithParamArray(true, 'a', 'b', 'c')", +"MethodWithParamArray(true, 'a', null, 'c')", +"MethodWithParamArray({String.Join(", +"MethodWithRefParameter", +"MethodWithSimilarArguments", +"MethodWithSimilarArguments(1, #bars)", +"Methods array should be empty.", +"Methods array should have two elements.", +"Michael Pupin", +"Microsoft", +"Mihajlo Pupin", +"Miki Nakatani", +"Milosavljevic", +"Mmm", +"Mmm, Spouse property appears to have been autowired by name, even though there is no object in the factory with a name 'Spouse'.", +"Mmm, the ContainsNamedArgument() method eveidently IS case sensitive (which is wrong).", +"Mmm...", +"Mmm... I can't convert from a string to a Type.", +"Mmm... I can't convert to a Type at all.", +"Mmm... just what counts as ${a malformed{ expression?", +"Mmm... managed to convert to a Type from a Type of this test. Boing!", +"Mmm... managed to convert to a Type from a bad type. Boing!", +"Mmm... managed to get a non null instance back from an empty instance.", +"Mmm... managed to get a non null instance back from an instance that should have now't at the specified index.", +"Mmm... managed to get a non null instance back from an instance that should have now't with the specified Type.", +"Mmm... pulled a null ILog instance from a properly configured LogFactoryObject instance.", +"Mmm... the LogFactoryObject class ain't giving back ILog types (it must).", +"MockApplicationContext", +"MockApplicationContextName", +"MockApplicationContextParent", +"MockMessageSource", +"Modlin", +"ModuleResolve", +"Mr ", +"Mr Isaac Newton Phd PPQ MC DJ", +"Mr Squiggle", +"Mr.", +"Ms ", +"Must be empty if null was passed to the ctor.", +"Must be looking at the RETURN TYPE of the factory method, ", +"Must be marked as [Serializable].", +"Must be null until explicitly set.", +"Must contain 2 exceptions", +"Must get non-null valueholder back if no required type is specified.", +"Must get null valueholder back if no required type is specified but only ", +"Must have bailed with a ", +"Must have been the same since one was filled up with the values in the other.", +"Must have failed to parse element with no key.", +"Must have got same collection as was passed in.", +"Must never be null, but rather just empty.", +"Must never return null (IFactoryObject contract).", +"Must not have any ctor args as none were passed in.", +"Must not have any property values as none were passed in.", +"Must return null if no Type is registered under the supplied alias.", +"My Fingers Turn To Fists", +"My First Web Method", +"My Message", +"My Properties", +"My Second Web Method", +"MyBaseProperty", +"MyCache", +"MyConst", +"MyContextAwareObject", +"MyCulture", +"MyDefaultMessage", +"MyEvent", +"MyEventHandlerMethod", +"MyFirstEvent", +"MyItem", +"MyMessage", +"MyNewMessage", +"MyNonExistantMessage", +"MyNullMessage", +"MyOverridenDerivedPropertyText", +"MyProperty", +"MySecondEvent", +"MyVirtualBaseProperty", +"MyVirtualBasePropertyText", +"NAME", +"NAmE", +"NIKOLA TESLA", +"NaMe", +"Nadja", +"Nails", +"Name", +"Name != null and Name.Length == 0", +"Name = #newName", +"Name = 'Aleksandar Seovic'", +"Name == 'Nikola Tesla'", +"Name == null or Name.Length == 0", +"Name dependency injected via IConfigurableObjectFactory (instance) failed (was 'Factory singleton').", +"Name dependency injected via IObjectFactory.ConfigureObject(instance) failed (was null).", +"Name is not set correctly", +"Name property value not applied.", +"Name that consisted solely of the factory object prefix is being reported ", +"Name that did start with the factory object prefix is not being reported ", +"Name that didn't start with the factory object prefix is being reported ", +"Name.Length", +"Name1", +"Name1,Name2,Name3", +"Name2", +"Name3", +"NameProperty", +"NameValues", +"Named argument placeholder value was not replaced.", +"Named context is null even though a context has been registered under the lookup name.", +"Named context was not the same as the registered context (it must be).", +"NamedArguments", +"Names", +"NamespaceParserRegistryTests_TestSchema.xsd", +"Naomi Woolf", +"Nationality", +"Nationality = 'Serbian'", +"Need prepared PreparedObjects!", +"Need to add Spring.TypeLoadException", +"Negative values are prohibited.", +"Nested set did not work.", +"Nested setting of primitive property did not work.", +"News", +"NickNameProperty", +"Nickname", +"Nikola Tesla", +"Nikola Tesla is a member of the IEEE Society", +"No DebugAttributes found in debug build", +"No attribute set should default to true", +"No context registered under name 'bingo'. Use the 'RegisterContext' method or the 'spring/context' section from your configuration file.", +"No context registered. Use the 'RegisterContext' method or the 'spring/context' section from your configuration file.", +"No longer expected behavior per SPRNET-1582 being resolved.", +"No objects defined --> array != null", +"No objects defined after no arg constructor", +"No objects must be defined straight off the bat.", +"No string definitions", +"No unique object of type [Spring.Objects.ITestObject] is defined : Expected single object but found 4", +"No unique object of type [System.Boolean] is defined : Unsatisfied dependency of type [System.Boolean]: expected at least 1 matching object to wire the [b2] parameter on the constructor of object [foo]", +"NoGenericArgument", +"NoParameter", +"NoSuchMethod", +"NoSuchMethod()", +"NoSuchObjectDefinitionException 'cos the object doesn't ", +"NoSuchProp", +"NonExistingString", +"None", +"Noob", +"Noone", +"Normal Hashtable: {0}", +"Not allowed to merge when the 'MergeEnabled' property is set to 'false'", +"Not defaulting to non null empty string value (it must).", +"Not defaulting to the culture of the current thread.", +"Not defaulting to typeof(Delegate).", +"Not falling back to the culture of the current thread after ", +"Not referencing same Object twice", +"Not returning a shared instance (Singleton = true).", +"Not returning distinct instances (Prototype = true).", +"Not returning the DefaultCulture (it must if the DefaultCulture ", +"Not returning the same instance to singleton object.", +"Not returning the same instance.", +"Not same instance", +"Not the same referencer", +"Nothing", +"Now", +"Null name that (obviously) didn't start with the factory object prefix is being reported ", +"NullArgument", +"NullableArgumentMatch", +"NullableDate", +"NullableInt", +"Number format exception: contains a ,", +"Number of singletons incorrect", +"OK", +"Object did not receive context closed event via IApplicationContextListener", +"Object did not receive context closed event via direct wiring.", +"Object did not receive context refreshed event via IApplicationListener", +"Object did not receive context refreshed event via direct wiring", +"Object equals applies", +"Object from child context", +"Object from root context", +"Object has external reference", +"Object previously added to StaticMessageSource ", +"Object previously added to StaticMessageSource was not retrieved ", +"Object returned from StaticMessageSource was not the same one ", +"Object wrapper must pick up changes", +"Object wrapper returns cached nested property value", +"Object wrapper returns cached property value", +"Object wrapper returns wrong nested property value", +"Object wrapper returns wrong property value", +"ObjectNumber", +"ObjectProp", +"ObjectType property value must only be set to a non null value ", +"Objects don't equal", +"OctopusOil : ", +"OddNumberOfParametersForFooHandler", +"Off", +"Officers[#prez]", +"Officers['advisors']", +"Officers['advisors'].!{Name}", +"Officers['advisors'].${Nationality == 'Serbian'}", +"Officers['advisors'].?{Nationality == 'Serbian'}", +"Officers['advisors'].^{Nationality == 'Serbian'}", +"Officers['advisors'][0]", +"Officers['advisors'][0].Inventions[2]", +"Officers['advisors'][0].PlaceOfBirth.Country", +"Officers['advisors'][1]", +"Officers['president']", +"Officers['president'].Name", +"Officers['president'].PlaceOfBirth.City", +"Officers['vp'] = Members[0]", +"Officers[Society.Advisors][0]", +"Officers[Society.Advisors][0].Inventions[2]", +"Officers[Society.President]", +"Officers[Society.President].PlaceOfBirth.City", +"Oh Muzzy!", +"OhThisWeirdBatGuySoldEmToMe...", +"Ohhh", +"Okay, the LogFactoryObject ain't returning shared instances (it should).", +"Old Age Pensioner", +"Old Goriot", +"OnClick", +"OnE", +"OnE,tWo", +"OnPing", +"OnPinged", +"One", +"One of either the 'TargetType' or 'TargetObject' properties is required.", +"One of the TargetType or TargetObject properties must be set.", +"One,Two", +"OneGenericArgument", +"OneParameter", +"Order", +"Order of PostConstruct not followed.", +"Ordering must now be strict when providing array of arguments for ctors", +"OverrideConfigurer", +"Overriden Name", +"Overriding Type was not registered.", +"Ovo je Spring.NET", +"P", +"PATH", +"POB", +"PROCESSOR_ARCHITECTURE", +"Param11", +"Param13", +"Param21", +"ParamArrayMatch", +"ParamOverloadedMethod", +"ParamsArguments", +"ParamsParameters", +"Parent", +"Parent Constructor", +"Parent Constructor wasn't called second!", +"Parent Destructor", +"Parent Destructor wasn't called third!", +"Parent context not registered.", +"Parent context object not present (must be).", +"Parent's DisplayName property not picked up from config file.", +"Parent's child dependency not set as expected", +"ParentMessageSource property must *never* be null.", +"ParentName property not initialized correctly by ctor.", +"Parse", +"Parser for Namespace {0} could not be auto-registered.", +"PartialKey", +"PassNullableArgumentStatic", +"PassReferenceArgumentStatic", +"PathMatcher", +"Pedulismus", +"Performance", +"PeriodicTable", +"PeriodictabLE", +"PerspirationShop", +"Pets", +"Phd, PPQ, MC, DJ", +"Piao", +"Ping", +"Pinging", +"PlaceOfBirth", +"PlaceOfBirth.City", +"PlaceOfBirth.CountRY", +"PlaceOfBirth.Country", +"PlaceholderConfigurer", +"PlaceholderPrefix", +"PlaceholderSuffix", +"Placeofbirth.COUNtry", +"Placeofbirth.city", +"PlayingYouALikeTheFoolYouAre", +"Pollack, Pinch, & Pounce", +"Pollack, Pounce, & Pulverise", +"Polyphase alternating-current system", +"Pong", +"Populated", +"PostContructTestObject1", +"PostContructTestObject2", +"PostContructTestObject3", +"PostContructTestObject4", +"PostContructTestObject5", +"PostContructTestObject6", +"PreDestroyTestObject1", +"PreDestroyTestObject2", +"PreDestroyTestObject3", +"PreDestroyTestObject4", +"PreDestroyTestObject5", +"PreparedArguments is null even before Prepare() is called; must NEVER be null.", +"PreparedArguments should revert to the empty object[] when set to null; must NEVER be null.", +"PrivateIndexer", +"PrivateMethod", +"PrivateNestedType", +"PrivateProperty", +"PrivateReadonlyProperty", +"Problematic due to framework differences", +"ProductTemplate", +"Prop1", +"Properties", +"Property", +"Property 'Type' on Target Attribute not set!", +"Property is not being set to the NEWed property on the subclass.", +"Property placeholder value was not replaced with the resolved value.", +"Property setting is not case insensitive with regard to the property name (and for CLS compliance it should be).", +"Property value is not of type ManagedList. Type = [", +"Property value was overridden, but a rubbish objectName root was supplied.", +"Property values were not applied to the existing instance.", +"PropertyName", +"PropertyPlaceholderConfigurerSectionTest", +"PropertyPlaceholderConfigurerSectionTest,PropertyPlaceholderConfigurerSectionGroupTest/PropertyPlaceholderConfigurerSectionGroupTestSection", +"PropertyResourceConfigurerTests.xml", +"PropertyValue: name='Age'; value=[12].", +"PropertyValues must be init'd to a non-null collection if not explicitly supplied.", +"PropertyValues must be init'd to an empty collection if not explicitly supplied.", +"Protected", +"ProtectedIndexer", +"ProtectedMethod", +"ProtectedNestedType", +"ProtectedProperty", +"Prototype", +"Prototype appears to be instantiated before the test is even run.", +"Prototype created at ", +"Prototype instantiated after call to PreInstantiateSingletons(); must NOT be.", +"Prototype instantiated after object definition registration (must NOT be).", +"Prototype references !=", +"Prototype was not instantiated.", +"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\\Northwind.mdb;User ID=Admin;Password=;", +"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\\Northwind.mdb;User ID=Admin;Password=Ernie;", +"Proxied instance was not recognized as such.", +"PublicIndexer", +"PublicMethod", +"PublicProperty", +"PublishAllEvents", +"PublishAllEventsAndSubscribeToSome", +"Rab", +"Radio", +"RaskolnikovsDilemma, System.StPetersburg", +"ReadOnlyObjectNumber", +"ReadStreamMultipleTimes", +"ReadonlyShadowedValue", +"RealLawyer", +"Received '", +"ReflectionPermission", +"ReflectionUtils.GetMethod would appear to be case sensitive.", +"ReflectionUtils.IsTypeVisible.AssemblyTestName", +"RegExp", +"RegisterObjectDefinitions", +"Registered non-IEventRegistry object under the default message source name, but ", +"Registered non-IMessageSource object under the default message source name, but ", +"Registry key [HKEY_CURRENT_USER\\sdgsdfgsdfgxadas] does not exist.", +"RegistryVariableSourceTests", +"RemoveAt", +"Repository", +"RepositoryImpl", +"RequiredAttributeType", +"Resolve", +"Resource '{0}' in assembly '{1}' not found", +"Resource content is not as expected", +"Resource must not be null", +"Resource should exist but it does not", +"Resource should not be null", +"ResourceHandlerConfigurer did not register a protocol handler with the ResourceHandlerRegistry", +"ResourceIdentifier", +"ResourceLoader Does Not Equal", +"ResourceSetMessageSource with ResourceManagers of base names = [Spring.Resources.Spring.Context.Tests]", +"Resources.Images", +"Resources.SampleResources", +"RespectsPermissionsPrivateMethod", +"RespectsPermissionsPublicMethod", +"Result", +"Result should not exist when invalid expression is null.", +"Result should not exist when valid expression is null.", +"Rick", +"Rick Evans", +"Rick, Mark, Griffin, Federico, Choy, Aleks", +"Rick, Mark, Griffin, Si, Choy, Aleks", +"Rob", +"Rob Harrop", +"Rod", +"Rod Johnson", +"Rod object is a TestObject", +"Rod object is not of type IObjectFactory; GetObjectInstance(rod, typeof (IObjectFactory)) should throw ObjectNotOfRequiredTypeException", +"Rod object is not of type ObjectFactory; getObjectInstance(rod, ObjectFactory.class) should throw ObjectNotOfRequiredTypeException", +"Rod object1 is a TestObject", +"Rod object2 is a TestObject", +"Roderick", +"Roo", +"Root context is null even though a context has been registered.", +"Root context name is different even though the root context has been registered under the lookup name.", +"Root context was not the same as the first context registered (it must be).", +"RootA", +"RootB", +"Rotating magnetic field principle", +"Rubbish environment variable not preserved as-is.", +"SPELL", +"SPR-1313", +"SPRNET-105", +"SPRNET-1134", +"SPRNET-1208", +"SPRNET-1242 Support for collection merging with generic collections", +"SPRNET-1381", +"SPRNET-1470 Setting property of type IList using without the @element-type specified fails.", +"SPRNET-1507 - Test 1", +"SPRNET-1507 - Test 2", +"SPRNET-171", +"SPRNET-198", +"SPRNET-21", +"SPRNET-55", +"SPRNET-89", +"SPRNET-944", +"SafePropertyTests_TestObject.vb", +"Sales", +"Sall", +"Sally", +"Sally Greenwood", +"SampleBaseClass.MyConstant", +"SampleBaseClass.SomeProtectedReadOnlyVal", +"SampleBaseClass.SomeReadOnlyVal", +"SampleDerivedClass.", +"SampleDerivedClass.SomeConfigVal", +"SampleEnumField", +"SampleEnumProperty", +"SampleFlagsEnumField", +"SampleFlagsEnumProperty", +"SamsoniteSuitcase", +"ScriptName", +"SeaBass said that? Well, if that guy over there is SeaBass...", +"Second", +"Secondary X-Ray radiation", +"SectionNames", +"See SPRNET-246", +"Seem to be able to convert from non-supported Type.", +"Serbia", +"Serbian", +"Serialization roundtrip must never result in null.", +"Serialization roundtrip yielded the wrong TargetType.", +"Serialization roundtrip yielded the wrong Type of object.", +"Serialization roundtrip yielded the wrong Value.", +"Service", +"ServiceImpl", +"Set operation modified the original sets.", +"Set[1]", +"Set[23]", +"Set[HungerHurtsButStarvingWorks]", +"Set[]", +"Setting readonly property should throw NotWritablePropertyException", +"Should count 6 objects, not ", +"Should define this method.", +"Should have 0 attribute applied to the target method.", +"Should have 1 attribute applied to the target method.", +"Should have 2 factories, not {count}.", +"Should have ONE remaining child object after dispose", +"Should have ONE remaining parent objects after dispose", +"Should have exactly ONE child object", +"Should have exactly ONE parent object", +"Should have got two object names, one of which is autogenerated.", +"Should have had 1 attribute applied to the method's parameter.", +"Should have had 1 attribute applied to the method's return value.", +"Should have had 1 attribute applied to the target type.", +"Should have had 1 custom attribute applied to the generated proxy type.", +"Should have had 2 attribute applied to the method's parameter.", +"Should have had 2 attribute applied to the method's return value.", +"Should have had 2 attribute applied to the target type.", +"Should have had 2 attributes applied to the method's parameter.", +"Should have no further object lifecycle behavior after child destruction!", +"Should have no further object lifecycle behavior after parent destruction!", +"Should have no remaining child objects after dispose", +"Should have no remaining parent objects after dispose", +"Should have parsed 2 named ctor args.", +"Should have parsed the 'age' ctor arg.", +"Should have parsed the 'name' ctor arg.", +"Should have raised an ObjectDefinitionStoreException by this point.", +"Should have returned code as default message.", +"Should have thrown NoSuchMessagException", +"Should have thrown ObjectCreationException", +"Should have thrown ObjectCreationException for context", +"Should have thrown ObjectDefinitionStoreException", +"Should have thrown XmlObjectDefinitionStoreException", +"Should have thrown exception", +"Should match '*'", +"Should match '*quatul*'", +"Should match '*tulate'", +"Should match 'Absqua*'", +"Should match 'Absquatulate'", +"Should match 'Absquatulate()'", +"Should match 'AddPeriodicElement'", +"Should match 'AddPeriodicElement(string, string)'", +"Should never be null (should default to typeof(Delegate)) ", +"Should not be destroyed before PreparedObjects", +"Should not have attribute applied to the method's parameter.", +"Should not have attribute applied to the method's return value.", +"Should not have attribute applied to the target method.", +"Should not have attribute applied to the target type.", +"Should not have thrown FatalObjectException", +"Should not have thrown exception", +"Should not match 'Absquatulate(string)'", +"Should not match 'AddPeriodicElement()'", +"Should not match 'AddPeriodicElement(string)'", +"Should not return the parent object definitions", +"Should return child object definitions", +"Should return only child object definitions", +"Should return the parent object definitions", +"Should throw AmbiguousMatchException", +"Should throw ArgumentException", +"Should throw ArgumentNullException", +"Should throw NotSupportedException", +"Should throw an error", +"Should throw an exception", +"Should throw exception when setting an invalid value", +"Shouldn't permit factory get on normal object", +"Shouldn't succeed with type mismatch", +"Shouldn't throw exception on getting valid instance", +"Shouldn't throw exception on getting valid instance with matching class : ", +"Shouldn't throw exception on valid empty", +"Shouldn't throw exception other than PropertyAccessExceptions. Exception Message = ", +"Sibling", +"SimpleIndexer", +"SimpleProperty", +"SimpleScanTest.xml", +"Single", +"SingleMethodTestClass.ShadowedStaticMethod", +"Singleton", +"Singleton appears to be instantiated before PreInstantiateSingletons() is invoked.", +"Singleton appears to be instantiated before the test is even run.", +"Singleton from factory has correct name, not ", +"Singleton references ==", +"Singleton was instantiated by the container (it must NOT be 'cos LazyInit was set to TRUE).", +"Singleton was not instantiated by the container (it must be).", +"SingletonDefinitionWithFactory", +"SingletonObjectDefinition", +"Size", +"Smiljan", +"Snow", +"So sad... to be all alone in the world", +"Society", +"Society.ByteConst == 1", +"Software", +"Soltan Gris", +"SomeDate", +"SomeDictionary", +"SomeExcludeType", +"SomeGenericIDictionaryStringInt32", +"SomeGenericIEnumerableInt32", +"SomeGenericIListInt32", +"SomeGenericStringList", +"SomeIncludeConfiguration1", +"SomeIncludeType1", +"SomeIncludeType2", +"SomeKindOfWonderful", +"SomeList", +"SomeMap", +"SomeMethod", +"SomeMethodA", +"SomeMethodB", +"SomeName", +"SomeNameValueCollection", +"SomeOtherString", +"SomeProperty", +"SomeSet", +"SomeString", +"SomeString1", +"SomeString2", +"SomeString3", +"SomeValue", +"Sonar", +"SortOrder", +"SourDough", +"SourceDictionary", +"SourceList", +"SourceSet", +"Space", +"Spanglish", +"Specifically attribute set to false should set to false", +"Specifically attribute set to true should set to false", +"SpelExtension", +"SpelExtension(1)", +"Sponglish", +"Spous", +"Spouse", +"Spouse.Age", +"Spouse.Spouse", +"Spouse.Spouse.Age", +"Spring", +"Spring.Collections.LinkedList, Spring.Core", +"Spring.Collections.LinkkkedList", +"Spring.Context.Tests", +"Spring.Core Tests", +"Spring.Core.", +"Spring.Core.IO.TestResource.txt", +"Spring.Core.IO.UrlResource, Spring.Core", +"Spring.Core.IO.UrrrrlResource, Spring.Core", +"Spring.Core.Tests", +"Spring.Core.Tests/Spring.Core.IO/TestResource.txt", +"Spring.Data", +"Spring.Data is already loaded - this test checks if it gets loaded during xml parsing", +"Spring.Expressions.SyntaxErrorException", +"Spring.Expressions.TestObjectContainer, Spring.Core.Tests", +"Spring.NET", +"Spring.Objects.DerivedTestObject#", +"Spring.Objects.Factory.Attributes.MyRequiredAttribute, Spring.Core.Tests", +"Spring.Objects.Factory.Bar, Spring.Core.Tests", +"Spring.Objects.Factory.Config.FinalFielder.Name", +"Spring.Objects.Factory.Config.FinalFielder.Name, Spring.Core.Tests", +"Spring.Objects.Factory.Config.FinalFielder.Rubbish, Spring.Core.Tests", +"Spring.Objects.Factory.Config.PropertyObject.Age", +"Spring.Objects.Factory.Config.PropertyObject.Age, Spring.Core.Tests", +"Spring.Objects.Factory.Config.PropertyObject.StaticProperty.Age, Spring.Core.Tests", +"Spring.Objects.Factory.Config.PropertyObject.StaticProperty.Item, Spring.Core.Tests", +"Spring.Objects.Factory.Config.PropertyObject.StaticProperty.StaticProperty.Item, Spring.Core.Tests", +"Spring.Objects.Factory.Config.VariablePlaceholderConfigurer, Spring.Core", +"Spring.Objects.Factory.TestResource.txt", +"Spring.Objects.FooBarTestObject", +"Spring.Objects.TestGenericObject< ,>", +"Spring.Objects.TestGenericObject< int, string>", +"Spring.Objects.TestGenericObject, System, string>", +"Spring.Objects.TestGenericObject", +"Spring.Objects.TestGenericObject>", +"Spring.Objects.TestObject", +"Spring.Objects.TestObject#", +"Spring.Objects.TestObject, Spring.Core.FooTests", +"Spring.Objects.TestObject, Spring.Core.Tests", +"Spring.Proxy.IAnotherMarkerInterface.MarkerMethod", +"Spring.Proxy.IApplicationInterface.ApplicationMethod", +"Spring.Proxy.IFrameworkInterface.FrameworkMethod", +"Spring.Proxy.ISomeMarkerInterface.MarkerMethod", +"Spring.Proxy.ITargetObjectTest.InterfaceMethodWithArguments", +"Spring.Proxy.ITargetObjectTest.InterfaceVirtualMethodWithNoArguments", +"Spring.Resources", +"Spring.Resources.SampleResources", +"Spring.Resources.Tesla", +"Spring.Stereotype.ServiceAttribute, notvalid", +"Spring.TestResource.txt", +"Spring.TestResource.txt,", +"Spring.TestResource.txt, ", +"Spring.TestResource.txt, FooAssembly", +"Spring.TestResource.txt, Spring.Core.Tests", +"Spring.Util.IFoo.Spanglish", +"Spring.Util.ReflectionUtilsObject::Spanglish(System.String,System.Object[])", +"Spring/Context/Support/SPRNET-192.xml", +"Spring/Objects/Factory/Config/PPC-SPRNET-55.xml", +"Spring:bbaia\\sprnet", +"Spring\\bbaia", +"Spring\\bbaia:sprnet", +"Sqrt", +"Srbin", +"Static", +"StaticHandlePop", +"StaticMessageSource : ['code1_", +"StaticMethod1", +"Sternhammer", +"Steve", +"Stored a value at a specified index, and got it (or rather something) back when retrieving it with the wrong Type specified.", +"Stored a value at a specified index, but got null when retrieving it.", +"Stored a value of a specified Type at a specified index, but got null when retrieving it using the wrong index but the correct Type.", +"Stored a value of a specified Type under a name, but got null when retrieving it using the wrong name but the correct Type.", +"Stored a value of a specified Type, but got null when retrieving it using said Type.", +"Strategy1", +"Strategy2", +"Stream should be null", +"String", +"String.Empty", +"String.Empty name that (obviously) didn't start with the factory object prefix is being reported ", +"StringArray", +"StringArray length = 4", +"StringProp", +"StringUtils.StripFirstAndLastCharacter(\"B\") should return String.Empty.", +"StringUtils.StripFirstAndLastCharacter(\"BF\") should return String.Empty.", +"StringUtils.StripFirstAndLastCharacter(String.Empty) should return String.Empty.", +"StringUtils.StripFirstAndLastCharacter(null) should return String.Empty.", +"Stuff", +"Stuffed a null value into the set but didn't get it back when enumerating over the set.", +"Sue", +"Sum can only be calculated for a collection of numeric values.", +"SunnyDayPath", +"Supertypes", +"Supertypes2", +"Susan", +"Synced Hashtable: {0}", +"Syntax Error on line 1, column 6: expecting ''', found '' in expression", +"System.Boolean", +"System.Collections.Generic.List>", +"System.Collections.Generic.List<[string]>", +"System.Collections.Generic.Stack< Spring.Objects.TestGenericObject >, System", +"System.Collections.Generic.Stack< [Spring.Objects.TestGenericObject, Spring.Core.Tests] >, System", +"System.Collections.Generic.Stack, System", +"System.Collections.Generic.Stack`1[ [Spring.Objects.TestGenericObject`2[int, string], Spring.Core.Tests] ], System", +"System.ComponentModel.DateTimeConverter", +"System.DBNull.Value", +"System.Data.IDbConnection, System.Data", +"System.Data.OracleClient", +"System.Data.SqlClient", +"System.DateTime", +"System.Globalization.CultureInfo", +"System.Globalization.CultureInfo.CURRENtUiCultURE, Mscorlib", +"System.Int32", +"System.Int32&", +"System.Nullable<[System.Int32, mscorlib]>[,]", +"System.Nullable<[System.Int32, mscorlib]>[,], mscorlib", +"System.Nullable`1[[System.Int32, mscorlib]][,], mscorlib", +"System.Nullable`1[int][,]", +"System.String", +"System.Type.Delimiter", +"System.Type.emptytyPES, Mscorlib", +"Systemm.Date", +"Systemm.DateTime", +"T", +"T (a)", +"T(", +"T( a . b )", +"T('a')", +"T(DateTime)", +"T(Spring.Expressions.ExpressionEvaluator, Spring.Core)", +"T(System.Collections.Generic.Dictionary`2[System.String,System.Boolean],mscorlib)", +"T(System.Collections.Generic.Dictionary`2[string,bool],mscorlib)", +"T(System.DateTime)", +"T(System.DateTime) == DOB.GetType()", +"T(System.DateTime[,])", +"T(System.DateTime[,], mscorlib)", +"T(System.DateTime[])", +"T(System.DateTime[], mscorlib)", +"T(System.Int32).FullName", +"T(System.Int32).MaxValue", +"T(System.Nullable`1[[System.Int32, mscorlib]][,], mscorlib)", +"T(System.Nullable`1[[int]], mscorlib)", +"T(System.Text.RegularExpressions.RegexOptions).IgnoreCase and #ALL", +"T(System.Text.RegularExpressions.RegexOptions).IgnoreCase or T(System.Text.RegularExpressions.RegexOptions).Compiled", +"T(System.Text.RegularExpressions.RegexOptions).IgnoreCase xor T(System.Text.RegularExpressions.RegexOptions).Compiled", +"T(T(a))", +"T(a T(b)", +"T(a in b)", +"T(a'b'c)", +"T(a)", +"T(a):", +"T(a,b=1.2.3)", +"T(a:b)", +"T(a)", +"T(in)", +"T(int[])", +"T({0})", +"T({0}).ShadowedStaticMethod()", +"T({0}).StaticMethod()", +"TEMP", +"TEMP;TMP;USERNAME;OS;COMPUTERNAME", +"TODO: this works as expected when run using TD.NET & R# (in VS2k8), but fails with nant/NET 2.0 ?!?", +"TWO", +"TYPES", +"Target 'incompatibleProxy' is a transparent proxy that does not support methods of 'Spring.Objects.ITestObject'.", +"Target 'target' is null and target method 'Spring.Objects.ITestObject.GetDescription' is not static.", +"Target 'target' is null.", +"Target 'target' of type 'System.Object' does not support methods of 'Spring.Objects.ITestObject'.", +"TargetDictionaryType", +"TargetListType", +"TargetMethod", +"TargetObject", +"TargetProperty", +"TargetSetType", +"TargetType", +"Telephone repeater", +"Terese Raquin", +"Tesla coil transformer", +"Tesla, Nikola", +"Test concluded successfully.", +"Test fails -- waiting for verification re: if bug exists in Java impl", +"Test message", +"Test to reproduce SPRNET-408", +"Test to reproduce SPRNET-462", +"Test to reproduce SPRNET-464", +"Test to reproduce SPRNET-470", +"Test1", +"Test2", +"Test3", +"Test4", +"TestDriven.TestRunner.Server", +"TestObject", +"TestObjectFactoryDefinition", +"TestProperty", +"TestType", +"TestingThread", +"Text", +"That John Denver... he's full of ${bleep}.", +"That John Denver... he's full of .", +"The 'GenericArgumentValues' property was not initialised.", +"The 'IndexedArgumentValues' property was not initialised.", +"The 'LogName' property has not been set.", +"The 'NamedArgumentValues' property was not initialised.", +"The 'ObjectName' property was not serialized / deserialized correctly.", +"The 'ResourceDescription' property was not serialized / deserialized correctly.", +"The 'SourceDictionary' property cannot be null (Nothing in Visual Basic.NET).", +"The 'SourceList' property cannot be null (Nothing in Visual Basic.NET).", +"The 'SourceSet' property cannot be null (Nothing in Visual Basic.NET).", +"The 'TargetMethod' property is required.", +"The 'TargetObjectName' property must have a value.", +"The ControlFlowFactory ", +"The ControlFlowFactory factory class is returning a ", +"The CreateNewsFeed() method is not being replaced.", +"The CreateTestObject() method is not being replaced.", +"The Drink Of Champions", +"The IControlFlow implementation created by the ControlFlowFactory factory ", +"The IControlFlow implementation created by the ControlFlowFactory factory class ", +"The LogFactoryObject class must be configured to return shared instances (it currently ain't).", +"The ReflectionUtils.GetTypes method did not return a correct Type [] array. Yep, that's as helpful as it gets.", +"The ReflectionUtils.GetTypes method returned a Type [] that had some elements in it when given an empty array. Must return an empty Type [] array.", +"The ReflectionUtils.GetTypes method returned a Type [] that had some elements in it when given null. Must return an empty Type [] array.", +"The ReflectionUtils.GetTypes method returned null when given an empty array. Must return an empty Type [] array.", +"The ReflectionUtils.GetTypes method returned null when given null. Must return an empty Type [] array.", +"The Rockies! Brrr...", +"The TargetProperty property is required.", +"The Type passed to the TargetDictionaryType property cannot be abstract (MustInherit in VisualBasic.NET); it must be a concrete class that implements the 'System.Collections.IDictionary' interface.", +"The Type passed to the TargetDictionaryType property cannot be an interface; it must be a concrete class that implements the 'System.Collections.IDictionary' interface.", +"The Type passed to the TargetDictionaryType property must implement the 'System.Collections.IDictionary' interface.", +"The Type passed to the TargetListType property cannot be abstract (MustInherit in VisualBasic.NET); it must be a concrete class that implements the 'System.Collections.IList' interface.", +"The Type passed to the TargetListType property cannot be an interface; it must be a concrete class that implements the 'System.Collections.IList' interface.", +"The Type passed to the TargetListType property must implement the 'System.Collections.IList' interface.", +"The Type passed to the TargetSetType property cannot be abstract (MustInherit in VisualBasic.NET); it must be a concrete class that implements the 'Spring.Collections.ISet' interface.", +"The Type passed to the TargetSetType property cannot be an interface; it must be a concrete class that implements the 'Spring.Collections.ISet' interface.", +"The Type passed to the TargetSetType property must implement the 'Spring.Collections.ISet' interface.", +"The bare file name all by itself must have resolved to a file in the current ", +"The event handler did not get notified when the event was raised.", +"The event handler was not get notified exactly once when the event was raised exactly once.", +"The file name with file://~ must have resolved to a file ", +"The file name with file://~/.. must have resolved to a file ", +"The file name with ~/ must have resolved to a file ", +"The first named argument setter is sticking; must allow itslf to be overwritten.", +"The instance handler did not get notified when the instance event was raised (and was probably not wired up in the first place).", +"The instance handler did not get notified when the static event was raised (and was probably not wired up in the first place).", +"The instantiated instance was not an instance of the Type that was passed in.", +"The instantiated instance was not an instance of the type that was passed in.", +"The listener was (incorrectly) notified of an event that wasn't raised.", +"The listener was (incorrectly) notified of the raised event.", +"The listener was not notified of the raised event.", +"The listener was not notified of the raised event.", +"The listener was notified more than once for a single raising of the source event (registered to listen more than once?)", +"The named argument 'southpaw' could not be found on the 'GrowOlder' method of class [Spring.Objects.Support.MethodInvokerTests+Foo].", +"The named argument previously added could not be pulled from the ctor arg collection.", +"The original IResource Type associated with the 'beep' protocol ", +"The protected CreateNewsFeed() method is not being replaced.", +"The prototype instance handler did not get notified when the instance event was raised (and was probably not wired up in the first place).", +"The proxy generated by a (valid) call to BuildProxy() was null.", +"The quick brown fox jumped over the lazy dogs.", +"The retrieved value was not the exact same instance as was added.", +"The second named argument was not applied (it must be).", +"The single good property in the property values should have been set though...", +"The type alias was not registered by the TypeAliasesSectionHandler.", +"The value of the named argument passed in is not the same as the one that was pulled out.", +"The value stored at the specified index was not the exact same instance as was added.", +"TheAgony", +"TheFirstAlias", +"TheFirstAlias,TheSecondAlias", +"TheImported", +"TheMethod", +"TheName", +"TheSecondAlias", +"The_SeaBass_Diner", +"There are 17 steps to winding up a bird chronicle correctly", +"There were some arguments in a newly initialised instance.", +"They are object equal.", +"They object equal direct ref.", +"Third", +"Third error message", +"This Is", +"This Is Eva Green", +"This argument is incompatible with any of the Fable ctors.", +"This is Spring.NET", +"This is an empty expression ${}...", +"This test needs to feed off of a base resource that explicitly *doesn't* exist; but the resource seems to exist anyway.", +"ThisArg1", +"ThisArg2", +"ThisLastPropertyValue", +"ThisOptionalArg", +"ThisParamsArgs", +"ThreadId should be an integer", +"ThreeStringsOverload", +"ToString", +"ToString not as expected", +"ToString('d')", +"ToString('dummy', null)", +"ToString('m')", +"ToString('n')", +"ToString()", +"ToStringilyLingily()", +"Today", +"Tony", +"Touchy", +"Trace", +"TransactionOption", +"Transparent proxy IApplicationContextAwareAware object was not ignored (must be).", +"Transparent proxy IMessageSourceAware object was not ignored (must be).", +"Transparent proxy IResourceLoaderAware object was not ignored (must be).", +"TriggerDateTime", +"Tripled", +"Tristan", +"Trunk", +"Trusty SNES", +"Two", +"Two PostContruct methods defined, need to have two method calls.", +"TwoGenericArguments", +"TwoParameters", +"TwoStringsAndABoolOverload", +"Type", +"Type == 'One'", +"Type == 'Two'", +"Type == FooType.One", +"TypeAliasConfigurer did not register a type alias with the TypeRegistry", +"TypeAliases", +"TypeExclusionPredicates", +"TypeInclusionPredicates", +"TypeRegistry already contains an alias for the type being tested (it must not).", +"TypeRegistry.RegisterType(int, string)", +"TypeRegistry.RegisterType(null)", +"TypeRegistry.RegisterType(null, 'System.Object')", +"TypeRegistry.RegisterType(null, null)", +"TypeRegistry.RegisterType(null, null, null)", +"TypeSources", +"TypedFriends", +"URL [file:///C:/temp]", +"URL [http://www.springframework.net/index.html]", +"URL [http://www.springframework.net/samples/artfair/demo/index.html]", +"URL [http://www.springframework.net/samples/artfair/index.html]", +"URL [http://www.springframework.net/samples/calculator/index.html]", +"Udo", +"Umberto Eco", +"Unable to determine which exact method to call; found '2' matches.", +"Uncle", +"Uncle Elvis", +"Understands", +"Unit tests for Spring.Core assembly", +"UnsupportedObjectDefinitionImplementation_Resource", +"UseCodeAsDefaultMessage", +"Using inheritance proxying, so the proxied object must inherit from the base type.", +"V", +"Val1", +"Valid", +"Valid empty has defaults", +"ValidBoolean", +"ValidByte", +"ValidChar", +"ValidDateTime", +"ValidDateTimeUtcRoundtripFormatted", +"ValidDecimal", +"ValidDouble", +"ValidFloat", +"ValidGuid", +"ValidInt16", +"ValidInt32", +"ValidInt64", +"ValidString", +"Validation should fail when all inner validators return false.", +"Validation should fail when all inner validators return true.", +"Validation should fail when single inner validator returns true.", +"Validation should not succeed when multiple inner validators return true.", +"Validation should succeed when all inner validators return true.", +"Validation should succeed when condition validator is not evaluated.", +"Validation should succeed when group validator is not evaluated.", +"Validation should succeed when regex validator is not evaluated.", +"Validation should succeed when required validator is not evaluated.", +"Validation should succeed when single inner validator returns true.", +"Validators", +"Validly set property must stick", +"Value", +"Value cannot be less than Count.", +"Value1", +"Value2", +"Value: {0}", +"VariableSources", +"Variables", +"VbTestObject", +"VbTestObject.dll", +"Vera", +"Verbose", +"Visual Studio liebt Spring.NET", +"Visual Studio loves Spring.NET", +"Visual Studio voli Spring.NET", +"VisualBasic", +"VoidRetvalMethod", +"WARN", +"WalkingTall", +"Wallpaperer", +"Warn", +"Warning", +"Was destroyed", +"Was not satisified with a method that takes a base class as a parameter.", +"Was not satisified with a method that takes a parameter array ('params') as a parameter.", +"Was not satisified with a method that takes a whole buncha parameters.", +"Was not satisified with a method that takes no parameters by default.", +"Was satisified with a (bad) method that takes a whole buncha parameters.", +"Was satisified with a method that only matches on the final parameter.", +"Was satisified with null.", +"We have rejected age in exception", +"We should have {count} objects for class {typeof(TestObject).FullName}, not {defnames.Count}.", +"We should have {count} objects, not {defnames.Count}.", +"WebMethod", +"Weekend", +"Which", +"WickedSpanglish", +"Width of image wrong", +"Win", +"Wireless communication", +"Woppadoosa", +"WrapperObject", +"WriteonlyShadowedValue", +"Wrong (child context) object present in Parent context.", +"Wrong (parent context) object present in Child context.", +"Wrong (parent context) object present in Grandchild context.", +"Wrong Attribute applied to the class.", +"Wrong System.Type of Attribute applied to the generated proxy type.", +"Wrong System.Type of Attribute applied to the method's parameter.", +"Wrong System.Type of Attribute applied to the method's return value.", +"Wrong System.Type of Attribute applied to the target method.", +"Wrong System.Type of Attribute applied to the target type.", +"Wrong name", +"Wrong number of IObjectPostProcessors being reported by the ObjectPostProcessorCount property.", +"Wrong number of elements in the resulting array.", +"Wrong number of properties read in.", +"Wrong object value assigned to the 'rick' key.", +"Wrong object value assigned to the 'uncleelvis' key.", +"Wrong value assigned to value of dictionary.", +"Wrong value for overridden property (was not overridden", +"Wrong value for second property", +"Wulf", +"X", +"XmlApplicationContextTests-SPRNET1231.xml", +"XmlAssemblyTypeScanner.Test.Include1.DoNotIncludeAttribute, Spring.Core.Tests", +"XmlAssemblyTypeScanner.Test.Include1.IFunny, Spring.Core.Tests", +"XmlAssemblyTypeScanner.Test.Include1.NotValid, Spring.Core.Tests", +"XmlAssemblyTypeScanner.Test.Include1.TestFilter, Spring.Core.Tests", +"XmlAssemblyTypeScanner.Test.Include2.DoIncludeAttribute, Spring.Core.Tests", +"XmlAssemblyTypeScanner.Test.Include2.FunnyAbstract, Spring.Core.Tests", +"YEarS", +"Yakov Petrovich Golyadkin", +"Year", +"Year == 1856", +"You don't actually have a file called '{0}.txt' in your user directory do you?", +"Z", +"[", +"['boolValue']", +"['cityOfBirth']", +"['countryOfBirth']", +"['dateofgraduation']", +"['dob']", +"['inventions']", +"['name']", +"[0]", +"[1, 'test']", +"[1]", +"[:Hi]", +"[A-Z]", +"[A-Z]*", +"[A-Z][a-z]*", +"[A-Za-z]", +"[Assertion failed] - this expression must be true", +"[Hi]", +"[Spring.Util.ReflectionUtilsTests] does not derive from the [System.Attribute] class.", +"[]<>", +"[a,b]", +"[a-z]", +"[a-z]*\\s[a-z]*", +"[a]", +"[test,<,>>[]]]", +"\\", +"\\.", +"\\\\server\\share\\dummy.txt", +"\\\\server\\share\\index.html", +"\\\\server\\share\\samples\\artfair\\dummy.txt", +"\\bbaia:", +"\\bbaia:sprnet", +"\\foo.dat", +"\\index.html", +"\\s*", +"]", +"]%", +"].", +"^([\\w-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([\\w-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$", +"^Ping$", +"^{", +"^{a}", +"_", +"_CUSTOM", +"_SampleConfig.xml", +"_WhenConfigFileIsNotValid.xml", +"_WhenConfigFileIsValid.xml", +"_config1.xml", +"_privateField", +"_privateReadonlyField", +"_protectedField", +"_publicField", +"`", +"a", +"a\tb\t~", +"a\n b ~", +"a\nb\tc d", +"a \t b ~", +"a 'b'", +"a ^ {b}", +"a and b or c xor d", +"a b c", +"a between b", +"a in b", +"a is b", +"a like b", +"a matches b", +"a try for a stress", +"a ~", +"a!{b}?{c}^{d}${e}", +"a()", +"a(b,c)", +"a(b;c)", +"a)", +"a+-b", +"a,b", +"a- -b", +"a--b", +"a.", +"a..b", +"a.5", +"a.b(c)(d;e)", +"a.in", +"a.new", +"a.true", +"a789g70002343", +"a;b", +"a<=b", +"a,>aa", +"asdfasfadf", +"assembler", +"assembly://", +"assembly://Spring.Core.Tests,Spring.TestResource.txt", +"assembly://Spring.Core.Tests/Spring.Context.Attributes/ObjectDefinitions.xml", +"assembly://Spring.Core.Tests/Spring.Context.Attributes/ObjectDefinitionsTwo.xml", +"assembly://Spring.Core.Tests/Spring.Context.Support/contextA.xml", +"assembly://Spring.Core.Tests/Spring.Context.Support/contextB.xml", +"assembly://Spring.Core.Tests/Spring.Context.Support/contextC.xml", +"assembly://Spring.Core.Tests/Spring.Context.Support/innerObjectsWithPostProcessor.xml", +"assembly://Spring.Core.Tests/Spring.Context.Support/invalidType.xml", +"assembly://Spring.Core.Tests/Spring.Context.Support/invalidValueType.xml", +"assembly://Spring.Core.Tests/Spring.Context.Support/objects.xml", +"assembly://Spring.Core.Tests/Spring.Context.Support/simpleContext.xml", +"assembly://Spring.Core.Tests/Spring.Context/contextlifecycle.xml", +"assembly://Spring.Core.Tests/Spring.Core.IO/TestResource.txt", +"assembly://Spring.Core.Tests/Spring.Core.TypeResolution/aliasedObjects.xml", +"assembly://Spring.Core.Tests/Spring.Data.Spring.Objects.Factory.Config/non-existent.properties", +"assembly://Spring.Core.Tests/Spring.Data.Spring.Objects.Factory.Config/one.properties", +"assembly://Spring.Core.Tests/Spring.Data.Spring.Objects.Factory.Config/two.properties", +"assembly://Spring.Core.Tests/Spring.Objects.Factory.Attributes/ByQualifierAttributeObjects.xml", +"assembly://Spring.Core.Tests/Spring.Objects.Factory.Attributes/ByQualifierObjects.xml", +"assembly://Spring.Core.Tests/Spring.Objects.Factory.Attributes/ByTypeFailObjects.xml", +"assembly://Spring.Core.Tests/Spring.Objects.Factory.Attributes/ByTypeNormalObjects.xml", +"assembly://Spring.Core.Tests/Spring.Objects.Factory.Attributes/ByTypeNotRequiredObjects.xml", +"assembly://Spring.Core.Tests/Spring.Objects.Factory.Attributes/ByTypePrimaryObjects.xml", +"assembly://Spring.Core.Tests/Spring.Objects.Factory.Attributes/ByValueObjects.config", +"assembly://Spring.Core.Tests/Spring.Objects.Factory.Attributes/ByValueObjects.xml", +"assembly://Spring.Core.Tests/Spring.Objects.Factory.Attributes/CollectionObjects.xml", +"assembly://Spring.Core.Tests/Spring.Objects.Factory.Attributes/RequiredWithAllRequiredPropertiesProvided.xml", +"assembly://Spring.Core.Tests/Spring.Objects.Factory.Attributes/RequiredWithCustomAttribute.xml", +"assembly://Spring.Core.Tests/Spring.Objects.Factory.Attributes/RequiredWithOneRequiredPropertyOmitted.xml", +"assembly://Spring.Core.Tests/Spring.Objects.Factory.Attributes/RequiredWithThreeRequiredPropertiesOmitted.xml", +"assembly://Spring.Core.Tests/Spring.TestResource.txt", +"assembly://Spring.Core.Tests/Spring/TestResource.txt", +"assembly://Spring.Core.Tests/Xyz/InvalidResource.txt", +"assembly://Spring.Core/Spring.Objects.Factory.Xml/spring-objects-1.3.xsd", +"assembly://Spring.Core/Spring.Validation.Config/spring-validation-1.3.xsd", +"assembly://Xyz.Invalid.Assembly/Spring/TestResource.txt", +"assembly://foo", +"autowire.xml", +"average()", +"a|b", +"a|b|c", +"a||c", +"b", +"b2", +"ba", +"ba${foo}r", +"bad chair, bad chair", +"bad-external-resources.xml", +"bad-named-constructor-arg.xml", +"bar", +"bar1,bar2,bar3", +"bars", +"baseUri=", +"baz", +"bbaia", +"bbaia:sprnet", +"bbb", +"bd1", +"bd2", +"bday", +"beep", +"beep://Spring.Core.Tests/Spring/TestResource.txt", +"beep://foo.xml", +"bing", +"bingo", +"bla", +"blabla", +"blah", +"blechh${shudder", +"bleep", +"boPrototype", +"boSingleton", +"boba.licious", +"bogus", +"bogusParent", +"bojangles", +"bool", +"boolValue", +"bubblechamber", +"c", +"c:\\dummy.txt", +"c:\\index.html", +"c:\\samples\\artfair\\dummy.txt", +"capacity", +"carbon", +"ccValidator", +"ccc", +"char.MinValue", +"child", +"child-name", +"child.xml", +"childAppCtx", +"childContext", +"childWithList", +"childWithListInConstructor", +"childWithListOfRefs", +"childWithListOfRefsInConstructor", +"childWithMap", +"childWithMapInConstructor", +"childWithMapOfRefs", +"childWithMapOfRefsInConstructor", +"childWithNameValues", +"childWithPropsInConstructor", +"childWithSet", +"childWithSetInConstructor", +"childWithSetOfRefs", +"childWithSetOfRefsInConstructor", +"ciao", +"cityOfBirth", +"class would appear to have a faulty UnderToken(string) implementation : [{0}]", +"classArray", +"classnotfound.xml", +"code", +"code1", +"code1FromMock", +"code2", +"code3", +"code4", +"codes", +"codes=[code1,code2]; arguments=[(String)[argument1], (String)[argument2]]; ", +"codes=[code1,code2]; arguments=[null]; ", +"collection", +"collection validator test", +"collectionConversionGeneric.xml", +"collectionMerging.xml", +"collectionMergingGeneric.xml", +"collectionValidator", +"collections.xml", +"commentator", +"compare", +"compatibleProxy", +"computerName", +"computer_name", +"computers", +"concat", +"concurrent.xml", +"config [", +"configSections", +"configuration not found", +"configurer", +"configurer1", +"configurer2", +"connection.string", +"connectionNotFullySpecified", +"connectionStrings", +"connectionstring", +"constantValue", +"constructor-arg.xml", +"context", +"contextListenerObject", +"continued", +"continued = this is a long value element \\\r\nthat uses continuation \\\r\n xxx", +"convert(decimal)", +"copy", +"correct single defintion was not registered", +"correct values", +"correct_name", +"coucou", +"count", +"count()", +"countryOfBirth", +"creationTime\texecutionTime\tpoolSize\tclientSize\trepeat\telapsed", +"ctor-args.xml", +"ctorArgsAllNamed", +"ctorarg", +"ctorarg-value", +"culturE", +"culturalObject", +"cultureAware", +"cv1", +"cv2", +"d", +"da message", +"dataSource", +"date", +"date('08-24-1974', 'MM-dd-yyyy')", +"date('08/24/1974', 'MM/dd/yyyy')", +"date('1974-08-24 12:35:06Z', 'u')", +"date('1974-08-24')", +"date('1974-08-24') != date('1974-08-24')", +"date('1974-08-24') + #ts", +"date('1974-08-24') + '5.0:0'", +"date('1974-08-24') + 5", +"date('1974-08-24') - '5.0:0'", +"date('1974-08-24') - 5", +"date('1974-08-24') < DateTime.Today", +"date('1974-08-24') < date('1974-08-24')", +"date('1974-08-24') <= DateTime.Today", +"date('1974-08-24') <= date('1974-08-24')", +"date('1974-08-24') == DateTime.Today", +"date('1974-08-24') == date('1974-08-24')", +"date('1974-08-24') > DateTime.Today", +"date('1974-08-24') > date('1974-08-24')", +"date('1974-08-24') >= DateTime.Today", +"date('1974-08-24') >= date('1974-08-24')", +"date('1974-08-24').ToString('m')", +"date('1974/08/24')", +"date('1974/08/24').AddYears(31).Year", +"date('1974/08/24').Year", +"date('2004-08-14') - #ts", +"date('2004-08-14') - date('1974-08-24')", +"date('2004-08-14', 'yyyy-MM-dd')", +"dateofgraduation", +"david", +"days", +"dbConnection", +"dcb", +"dd-MMM-yyyy", +"de", +"de-AT", +"de-DE", +"deCLAReD", +"def", +"default", +"default-autowire.xml", +"default-destroy-methods.xml", +"default-initializers.xml", +"default-lazy-init.xml", +"defaultInstance", +"defaultMessage", +"defaultMessage=[defaultMessage]", +"defaultMessageFromMock", +"defaultPrototype", +"delimitedProps", +"demo/index.html", +"demo\\index.html", +"dependenciesmaterializethis.xml", +"dependingObject", +"derived", +"description", +"desktopDirectory", +"destinationAirportValidator", +"destroy", +"destroy-method1", +"destroy-method2", +"destroyTester", +"dickens", +"dictionaryKeyType", +"dictionaryValueType", +"din", +"dir#", +"directory of the currently executing domain.", +"disposeTester", +"distinct().sort()", +"distinct(6)", +"distinct(false).sort()", +"distinct(true).sort()", +"distinct(true, 4, 'xyz')", +"do not exist", +"dob", +"doctor", +"doctor [0]", +"does_not_exist", +"done", +"dork/muller.venken", +"double", +"dude!", +"dummy", +"dummy message", +"dummy.expression", +"dummy.txt", +"e", +"efg", +"ego", +"emailValidator", +"emma", +"emptyMap", +"emptyProps", +"emptySet", +"emptyValue", +"en", +"en-GB", +"en-US", +"entryKey", +"enums.xml", +"environmentVariableMode", +"error", +"error using IResource to read file contents", +"error using Stream to read file contents", +"error.required", +"errors", +"es-ES", +"escaped", +"escaped \t string \n", +"escaped=test\\ttest", +"event", +"event-wiring-prototypes.xml", +"event-wiring.xml", +"everyman", +"everythingAwareObject", +"everythingAwareObjectFactoryPostProcessor", +"everythingAwareObjectPostProcessor", +"ex = {0}", +"exampleObject", +"excludeLocalObject", +"exclusiveError", +"exclusiveErrors", +"exist in the associated factory.", +"existingErrors", +"exp", +"expected to retrieve BitMap. Instead Type = ", +"expected to retrieve object form resource set", +"expressed through constructor argument with index 1 of type [System.Boolean] : ", +"expressions.xml", +"external-resources.xml", +"externalFactoryMethodWithArgs", +"externalFactoryMethodWithoutArgs", +"fOo", +"fa", +"fact", +"factory", +"factory class is not returning distinct IControlFlow instances (its always ", +"factory-methods.xml", +"factoryObject", +"factoryObjectProperty", +"factoryReferencer", +"factorycircle.xml", +"failed compiling test class: ", +"failed obtaining GAC path", +"failed to get it out of the context. Object retrieved is of type [ ", +"false", +"false != false", +"false != true", +"false < true", +"false <= true", +"false == false", +"false == true", +"false > true", +"false >= true", +"false ? 'trueExp' : 'falseExp'", +"false and (false or false)", +"false and (false or true)", +"false and (true or false)", +"false and (true or true)", +"false and false", +"false and false or false", +"false and false or true", +"false and true", +"false and true or false", +"false and true or true", +"false or false", +"false or true", +"falseExp", +"family", +"father", +"fedora", +"feed", +"feng", +"fi", +"field-props-factory.xml", +"field.firstname", +"file [", +"file [\\\\server\\share\\index.html]", +"file [\\\\server\\share\\samples\\artfair\\demo\\index.html]", +"file [\\\\server\\share\\samples\\artfair\\index.html]", +"file [\\\\server\\share\\samples\\calculator\\index.html]", +"file [c:\\index.html]", +"file [c:\\samples\\artfair\\demo\\index.html]", +"file [c:\\samples\\artfair\\index.html]", +"file [c:\\samples\\calculator\\index.html]", +"file.txt", +"file://", +"file://./index.html", +"file:///", +"file://SomeNonExistentFile.xml", +"file://Spring/Objects/Factory/Config/FirstPropertyPlaceholderConfigurer.xml", +"file://Spring/Objects/Factory/Config/PPCTwoLocationsOneSectionTests.xml", +"file://Spring/Objects/Factory/Config/PPCTwoLocationsTwoSectionsTests.xml", +"file://Spring/Objects/Factory/Config/PPCWithTypesTests.xml", +"file://Spring/Objects/Factory/Config/PropertyPlaceholderConfigurerTests.xml", +"file://Spring/Objects/Factory/Config/SecondPropertyPlaceholderConfigurer.xml", +"file://Spring/Objects/Factory/Config/TypeAliases.xml", +"file://\\\\server\\share\\samples\\artfair\\", +"file://localhost/", +"file://~/", +"file://~/../", +"filteredInputText", +"fiona.apple", +"first", +"first generic to be a string", +"firstProvider", +"firstname", +"five", +"float", +"fo", +"foo", +"foo bar is a funny term", +"foo description", +"foo,fi,fi,fum", +"foo.name", +"foo.spouse.name", +"foo.txt", +"foo/bar/../../", +"fooAlias", +"foobar", +"foo~.txt", +"foo\u4567", +"force-init", +"fork", +"found multiple definitions", +"fr", +"fr-FR", +"framework", +"friends", +"full", +"fullPrototype", +"fum", +"g @s4hc.com", +"g&@s", +"g.m.m@web_ask.com", +"gROwOldeR", +"genericExpressionHolder", +"georgia", +"get_Font", +"golyadkin", +"goran", +"goran.milosavljevic@s4hc.com", +"goran@@", +"goran@eu s4hc.com", +"goran@eu.s4hc.com", +"goran@goran.com", +"goran@s", +"got unexpected object", +"gotcha", +"grabCtorArgFromMethodInvokingFactoryObject", +"grandchild", +"greatgrandchild", +"growolder", +"hahaha", +"hasInnerObjects", +"hats [0]", +"hello", +"hello world", +"helper did not get from pool", +"here are 17 steps to winding up a bird chronicle correctl", +"here we go...", +"hi", +"hohoho", +"holder", +"hope.floats", +"hsu", +"ht:1.1", +"http://.com", +"http://1.1", +"http://google-com.com", +"http://jira.springframework.org/browse/SPRNET-112", +"http://jira.springframework.org/browse/SPRNET-1155", +"http://jira.springframework.org/browse/SPRNET-1231", +"http://jira.springframework.org/browse/SPRNET-944", +"http://jira.springframework.org/browse/SPRNET-985", +"http://jira.springframework.org/browse/SPRNET-992", +"http://jira.springframework.org/browse/SPRNET-996", +"http://localhost/something.config", +"http://mynamespace.com", +"http://opensource.atlassian.com/projects/spring/browse/SPR-1011", +"http://opensource.atlassian.com/projects/spring/browse/SPR-1077", +"http://opensource.atlassian.com/projects/spring/browse/SPRNET-130", +"http://opensource.atlassian.com/projects/spring/browse/SPRNET-320", +"http://opensource.atlassian.com/projects/spring/browse/SPRNET-368", +"http://opensource.atlassian.com/projects/spring/browse/SPRNET-492", +"http://opensource2.atlassian.com/projects/spring/browse/SPRNET-112", +"http://puzzle.com", +"http://www.aaaabbbbccccddd.com", +"http://www.com", +"http://www.example.com/brief", +"http://www.google-com.123", +"http://www.google-com.123.com", +"http://www.springframework.net", +"http://www.springframework.net/", +"http://www.springframework.net/aop", +"http://www.springframework.net/context", +"http://www.springframework.net/database", +"http://www.springframework.net/db", +"http://www.springframework.net/documentation.html", +"http://www.springframework.net/license.html", +"http://www.springframework.net/nms", +"http://www.springframework.net/nvelocity", +"http://www.springframework.net/remoting", +"http://www.springframework.net/samples/artfair/download.html", +"http://www.springframework.net/tx", +"http://www.springframework.net/validation", +"http://www.springframework.net/wcf", +"http://www.springframework.net:76/", +"https://www.google-com.com", +"httpsss", +"hydrogen", +"i", +"id", +"ident", +"idle wrong", +"ieee.Officers['advisors'][0].Inventions[2] (direct)", +"ieee.Officers['advisors'][0].Inventions[2] (single-parse)", +"ignored", +"implementingType", +"import1.xml", +"in", +"in correct values of string array", +"in the current directory of the currently executing domain.", +"in the parent directory of the currently executing domain.", +"in.a", +"incompatibleProxy", +"index", +"index is out of range.", +"index.html", +"indexer on object not working.", +"info", +"information", +"inheritedTestObject", +"inheritedTestObjectPrototype", +"inheritedTestObjectSingleton", +"inheritedTestObjectWithoutClass", +"inheritsFromParentFactory", +"inheritsFromParentFactoryUsingCtor", +"init", +"init factory", +"init-and-ib", +"init-and-ib-no-init-in-local-object-def", +"init-method1", +"init-method2", +"init-method3", +"initializers.xml", +"inner1", +"inner2", +"inner3", +"innerFriendOfAFriend", +"innerObject", +"inputStream", +"inputText", +"instance", +"instanceCultureAware", +"instanceEventListener", +"instanceFactory", +"instanceFactoryMethodOverloads", +"instanceFactoryMethodWithoutArgs", +"instancePropertyCultureAware", +"instanceReadonlyRefValue", +"instanceReadonlyVTValue", +"instanceRefValue", +"instanceSink", +"instanceVTValue", +"int", +"intArray length = 1", +"intArray length = 4", +"invalid", +"invalid-factory.xml", +"invalid.xml", +"inventions", +"invoke-factory.xml", +"is", +"isbnValidator", +"issingleton", +"it", +"it-IT", +"item1", +"item1andahalf", +"item2", +"item3", +"ivan", +"jakey", +"jarv/malina.roper", +"jen", +"jenks", +"jenny", +"jumble", +"just a test", +"kathy", +"kerry", +"kerry1", +"kerry2", +"key", +"key-found", +"key1", +"key1 =\t\nkey2:\nkey3", +"key1 should have empty value", +"key1=value1\r\nkey2:value2\r\n\r\n# a comment line\r\n leadingspace : true", +"key2", +"key2 should have empty value", +"key3", +"key4", +"keyA", +"keyB", +"kiley", +"lastLocationOverrides", +"lastname", +"lawyer", +"lazy-and-bad", +"lazy-init-multithreaded.xml", +"lazyObject", +"leadingspace", +"leaf.xml", +"lewis", +"lifecycle", +"list", +"listElementType", +"listFactory", +"literal", +"literal 'string", +"literal string", +"literalMap", +"ljwdf87cwbh", +"locale.xml", +"locations", +"log", +"logName", +"logic", +"logicOne", +"logicTwo", +"loner", +"long", +"long.MaxValue.ToString()", +"long.Parse(ToString())", +"lowecasevalue", +"lowercasevalue", +"m", +"malformedKey", +"manager", +"map", +"mapFactory", +"mapWithEntryValueShortcut", +"mapWithKeyRefAttributeShortcuts", +"mapWithNonStringKeys", +"mapWithStringKeysSpecifiedAsElements", +"mapWithValueRefAttributeShortcuts", +"max", +"max()", +"maxResults", +"mcao-proto", +"mcao-single", +"mei", +"message", +"message not as expected", +"message3", +"messageSource", +"method1", +"method2", +"methodInfo", +"methodInfo and implementingType are unrelated", +"methodInvocation", +"middle.xml", +"min()", +"missing.xml", +"mixedMap", +"mixedMapWithList", +"mmm...", +"mock.resource", +"mod", +"mofp", +"monday,tuesday.wednesday:thursday'friday!saturday|sunday", +"mscorwks.dll", +"multiAliased", +"must have been overwritten; expecting an AssemblyResource 'cos ", +"must not be destroyed twice", +"must not be disposed twice", +"mustBeInitialized", +"my", +"my arguments", +"my message", +"my name is e1", +"my name is e2", +"my object", +"my parent message", +"my string value", +"my web method", +"my.Context/bla\\", +"myCollProc", +"myConnection", +"myContext", +"myCtx", +"myDefaultMessage", +"myField", +"myFloat", +"myMessageSource", +"myObject", +"myObjectDefinition", +"myOracleConnectionString", +"myOracleDataSource.connectionString", +"myOracleDataSource.providerName", +"myPage", +"myPrivateReadonlyField", +"myPropertyKey", +"myPropertyValue", +"myReadonlyField", +"mySqlDataSource.connectionString", +"mySqlDataSource.providerName", +"mySqlServerConnectionString", +"myString", +"myalias", +"myname", +"mystring", +"myvarname98", +"n", +"nAmE", +"nAme", +"na${age}me", +"na1", +"na98me", +"naME", +"name", +"name from section", +"name from sectiongroup/section", +"name property must be set", +"name${age}", +"name${var}", +"name${var}${", +"name-id-test-object-name", +"name-value", +"name0", +"name1", +"name2", +"name3", +"name4", +"name5", +"name6", +"name7", +"name=", +"nameS", +"namedfather", +"namemyvar${", +"ned", +"nested set did not work", +"never", +"new", +"new 1", +"new DateTime(2004, 8, 14).AddDays(10).AddYears(-30)", +"new Decimal('xyz')", +"new Decimal(1000)", +"new Foo('a', 'b', 'c')", +"new Foo('a', null, 'c')", +"new Foo(1, #bars)", +"new Foo(false, 'a', 'b', 'c')", +"new Foo(false, 'a', null, 'c')", +"new Inventor('Aleksandar Seovic', date('1974-08-24'), 'Serbian', Inventions = {'SPELL'})", +"new Inventor() (direct)", +"new Inventor() (dynamic reflection)", +"new Inventor() (standard reflection)", +"new Inventor(Name = 'Ana Maria Seovic', DOB = date('2004-08-14'), Nationality = 'American')", +"new Sample(O, T, H)", +"new System.DateTime(2004, 8, 14)", +"new System.InvalidOperationException('invalid')", +"new T(a)", +"new a", +"new a(x=1 ?2:3)", +"new a(x=1,y=2)", +"new a(x==1)", +"new a.", +"new a.T(b)", +"new a.b", +"new a.b(1,x=2)", +"new a.in()", +"new a[1,2]{1,2}", +"new a[1]", +"new a[](b)", +"new a[]{1}", +"new double[4, 5]", +"new int[Int32.Parse('11')]", +"new int[] {3, 4, 5, 6}", +"new long[5]", +"new string[] {'abc', 'xyz'} is T(string[])", +"newName", +"newline\n tab\t return\r", +"newline\\n tab\\t return\\r", +"newvalue", +"nickname", +"nickname-value", +"nl-NL", +"no name", +"no services of type '{0}' defined", +"no-objects.xml", +"no.parent.factory", +"noAppendConfigurer", +"noAppendDao", +"noMatchPrototype", +"non existent resourse found", +"non-existant definition", +"non-existing object definition name", +"nonGenericExpressionHolder", +"nonNull()", +"nonNull().sort()", +"noop", +"not", +"not == ", +"not a date", +"not a number", +"not gone", +"not used", +"notExist", +"notToBeProxied", +"notfullyspecified.xml", +"notsoreadonly", +"null", +"null != 'xyz'", +"null != null", +"null < 'xyz'", +"null < null", +"null <= 'xyz'", +"null <= null", +"null == 'xyz'", +"null == 123", +"null == null", +"null > 'xyz'", +"null > null", +"null >= 'xyz'", +"null >= null", +"null ?? #root.Name", +"null ?? 'default'", +"null ?? 2 * 2 - 3", +"null IControlFlow instance (it, obviously, must not)", +"null between {1, 5}", +"null in null", +"null is int", +"null is null", +"nullCode", +"num", +"obj2A", +"obj2C", +"objA", +"objB", +"objC", +"object", +"object types are not related", +"object1", +"object1-with-same-id-and-name", +"object2", +"object2-with-same-id-and-name", +"objectArray", +"objectNameGeneration.xml", +"objectType", +"objectWithBoolean", +"objectWithBooleanAndString", +"objectWithCtorArgRefShortcuts", +"objectWithCtorArgValueShortcuts", +"objectWithDoubleBoolean", +"objectWithIndexer", +"objectWithTypedFriends", +"objects", +"od", +"of foobar", +"of gaunt", +"offset", +"ola", +"oldName", +"one", +"onpiNg", +"order", +"order comparator instance should be first", +"orderBy(#compare)", +"orderBy('ToString()')", +"orderBy({|a,b| $a.ToString().CompareTo($b.ToString())})", +"original", +"orphanedKey1", +"other", +"otherTestObject", +"overide-name", +"override", +"overrideParentObject", +"owner", +"oxygen", +"p1", +"p2", +"pDavid", +"pInG", +"pJenny", +"pListFactory", +"pMapFactory", +"pMixedMap", +"pRod", +"pSetFactory", +"pageName", +"panko", +"parameter1", +"parent", +"parent == null", +"parent is not null", +"parent is null", +"parent.xml", +"parentContext", +"parentWithListInConstructor", +"parentWithMapInConstructor", +"parentWithPropsInConstructor", +"parentWithSetInConstructor", +"path", +"periodicTable", +"permissionSetName", +"personal", +"pets", +"pob", +"policyFile", +"post process ", +"president", +"prez", +"private field must not be accessible in medium trust: ", +"problematic between framework versions", +"processor", +"product1", +"product1Target", +"product2", +"product2Target", +"program.exe", +"programFiles", +"prop", +"prop.override.section", +"properties", +"properties.test", +"property has been set explicitly).", +"propertyplaceholder_100", +"propertyplaceholder_90", +"props", +"propsWithSameKey", +"prototype", +"prototype-override", +"prototypeEventListener", +"prototypeFactory", +"prototypeHasInnerObjects", +"prototypeInheritsFromParentFactoryPrototype", +"prototypeOverridesInheritedSingleton", +"prototypeReferencer", +"protoypeInheritsFromParentFactorySingleton", +"proxyInterfaces", +"pt-BR", +"pupin", +"queryName", +"ramp client size", +"ramp client size - 2", +"ramp load", +"ramp pools size", +"readOnlyDictionary", +"readOnlySet", +"real", +"ref", +"reftypes.xml", +"regex", +"relativeUri=", +"replacer", +"resolvable", +"resource", +"resource.xml", +"resource1", +"resourceManagers", +"result", +"reverse()", +"rick", +"rilo", +"rilo-kiley", +"rob", +"robert", +"rod", +"rod.age is 31", +"rod.name is Rod", +"rod1", +"rod10", +"rod11", +"rod12", +"rod13", +"rod1a", +"rod2", +"rod3", +"rod3a", +"rod4", +"rod5", +"rod6", +"rod7", +"rod8", +"rod9", +"roderick", +"roderick.age was inherited", +"roderick.name is Roderick", +"rods alias", +"roob", +"root cause", +"root context is currently in creation.", +"root.xml", +"rubbish", +"rubbish.Name", +"rubbishField", +"rubbishProperty", +"s", +"s_initState", +"same", +"samples/artfair/index.html", +"satisfiedalldependencycheck.xml", +"satisfiedobjectdependencycheck.xml", +"satisfiedsimpledependencycheck.xml", +"sball", +"secondProvider", +"server=myserver;database=Products;uid=user name;pwd=secure password", +"service", +"set", +"setElementType", +"setFactory", +"set_ObjectFactory", +"set_SharedState", +"setterString", +"short", +"shoud throw a security exception", +"should fail", +"should have selected ctor(int, Bar[])", +"should throw", +"should throw ArgumentException", +"should throw ObjectCreationException", +"should throw ObjectDefinitionStoreException", +"should throw ObjectNotOfRequiredTypeException", +"should've returned empty string", +"sigh", +"simple-constructor-arg.xml", +"simpleAirportValidator", +"singleton", +"singleton?", +"singletonFactory", +"singletonInheritsFromParentFactoryPrototype", +"singletonObject", +"slurp", +"some other string", +"some.bogus.Method.name", +"someConfigVal must not be null", +"someKey", +"someMap", +"someMessageSource", +"someName", +"someSet", +"someString", +"somekey", +"somename", +"something changed wrt VariablePlaceholder resolution", +"sort supports any ICollection containing elements of uniform type", +"sort()", +"sort(false)", +"sort(true)", +"source", +"southpaw", +"spAngLISh", +"spaced dir", +"spaced file.txt", +"spouse", +"spouse.age", +"spouse.name", +"spouse1", +"spouse2", +"spousesSpouse == initial point", +"spring", +"spring my resolvable", +"spring2/context", +"sprnet", +"sqrt", +"sr", +"sr-Cyrl-CS", +"sr-Cyrl-RS", +"sr-Latn-CS", +"sr-Latn-RS", +"sr-SP-Cyrl", +"sr-SP-Latn", +"ssap", +"staticEventListener", +"staticProperTY", +"staticReadonlyRefValue", +"staticReadonlyVTValue", +"staticRefValue", +"staticVTValue", +"staticYear", +"status", +"strategy", +"string", +"string1", +"string2", +"stringValue", +"strongly typed values are present in the ctor values list.", +"stuff.txt", +"stuv", +"subota, 14. avgust 2004.", +"subota, 24. avgust 1974.", +"sum()", +"svn://localhost/Spring/trunk/", +"system.web/securityPolicy", +"system.web/trust", +"t1", +"t2", +"t3", +"t4", +"tWo", +"target", +"targetFIELd", +"targetNamespace", +"targetObjectName", +"targetProperty", +"targetTYPE", +"targetType", +"targetobjecT", +"targetproperTY", +"tb", +"tb1", +"tb2", +"tb3", +"tee", +"temp.file", +"tesla", +"tesla.GetAge (direct)", +"tesla.GetAge (dynamic reflection)", +"tesla.GetAge (standard reflection)", +"tesla.Name (direct)", +"tesla.Name (dynamic reflection)", +"tesla.Name (standard reflection)", +"tesla.PlaceOfBirth (direct)", +"tesla.PlaceOfBirth (dynamic reflection)", +"tesla.PlaceOfBirth (single-parse)", +"tesla.PlaceOfBirth (standard reflection)", +"test", +"test\ttest", +"test ", +"test 2", +"test N/A anymore due to System.Reflection.Emit.DynamicMethod", +"test config section", +"test requires a registered context that implements IConfigurableApplicationContext!", +"test string", +"test.name.1", +"test.tmp", +"test.xml", +"test1", +"test2", +"test3", +"test4", +"test5", +"testChild", +"testFactory", +"testFactory1", +"testFactory2", +"testObject", +"testObject1", +"testObject2", +"testObject3", +"testObject4", +"testObject5", +"testObject6", +"testObjectContainer", +"testObjectDao", +"testObjectOnly", +"testObjectOnlyPrototype", +"testObjectOnlyPrototypeDISetterString", +"testParent", +"test_1", +"testres", +"testres://inline/", +"testtext", +"testtypename", +"that was previously added (it must be).", +"the resource", +"the same instance)", +"the whipping boy", +"theArg", +"theDefaultValue", +"theObject", +"theParentsAlias", +"theSpouse", +"theValue", +"theValue2", +"theValue3", +"thinks", +"this", +"this is Spring.NET", +"this is a long value element that uses continuation xxx", +"this is it", +"this is {0}", +"this test cannot co-exist with AutoRegistersAllWellknownNamespaceParsers b/c that test will have already loaded the Spring.Data ass'y", +"threadCreatorInsideConstructor", +"threadCreatorInsideDispose", +"three", +"to", +"to string", +"to1", +"to2", +"toBeProxied", +"tom", +"tony", +"touchy", +"transactionAttributes", +"transactionManager", +"trash", +"trilby", +"triple", +"true", +"true != true", +"true < false", +"true < true", +"true <= false", +"true <= true", +"true == false", +"true == true", +"true > false", +"true > true", +"true >= false", +"true >= true", +"true ? 'trueExp' : 'falseExp'", +"true and (false or false)", +"true and (false or true)", +"true and (true or false)", +"true and (true or true)", +"true and false", +"true and false or false", +"true and false or true", +"true and true", +"true and true or false", +"true and true or true", +"true or false", +"true or true", +"true xor false", +"true xor true", +"true.a", +"trueExp", +"ts", +"two", +"typeMismatch", +"typedfather", +"typename", +"u", +"uint", +"ulong", +"uncleelvis", +"unknown PermissionSet name '{0}'", +"unsatisfiedalldependencycheckmissingobjects.xml", +"unsatisfiedobjectdependencycheck.xml", +"unsatisfiedsimpledependencycheck.xml", +"unused", +"uppercasevalue", +"urlValidator", +"userprofile", +"ushort", +"using the explicit variant of the ctor.", +"utf-16", +"val", +"valUe", +"valid", +"valid name stuck", +"valid spouse stuck", +"validEmpty", +"validEmpty object is a TestObject", +"validEmptyWithDescription", +"validationSummary", +"validator", +"value", +"value 2", +"value-found", +"value1", +"value2", +"value3", +"value4", +"var1", +"verbose", +"verbose2", +"verbose3", +"vp", +"vpc", +"we registered it last under the 'beep' protocol.", +"web request; it must not register inner objects for factory-shutdown disposal.", +"wednesday", +"wee", +"wellformed-but-bad.xml", +"what is this\\g", +"whatever", +"when using same lookup code and CultureInfo.", +"when using same lookup code.", +"withTypesField", +"would appear to have a faulty Under(Type) implementation : [{0}]", +"would appear to have a faulty Under(Type,string) implementation : [{0}]", +"would appear to have a faulty UnderToken(string) implementation : [{0}]", +"writing to readonly field should throw ", +"wrong_name", +"wrongly entered sync block", +"ww.1.com", +"www.1.org", +"www.amazon.co.jp/C-\u306b\u3088\u308b\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0Windows-\u4e0a-Charles-Petzold/dp/4891002921", +"www.springframework.net", +"x", +"x1", +"xmlRegisteredObject", +"xyz", +"year", +"years", +"yyy", +"zero", +"{0,-10}", +"{0,-60} {1,12:#,###} {2,12:##0.000} {3,12:#,###}", +"{0,10}", +"{0:(###) ###-####}", +"{0:00000}", +"{0:e3}", +"{0}", +"{0}\t{1}\t{2}\t{3}\t{4}\t{5:0.000} ", +"{0} {1}", +"{0}, default", +"{0}, {1}", +"{0}, {1}, {2}", +"{0}, {1}, {2}, {3}", +"{0},{1},{2}", +"{0}.{1}", +"{0}/{1}", +"{0}/{1}/{2}", +"{0}/{1}/{2}/{3}", +"{0}: wrapping class [{1}]; IsWan={2}", +"{0}[{1}].{2}", +"{1, 2, 3, 4, 5} is IList", +"{1, 2, 3, 4}.EvenSum()", +"{1, 5, -2, 10}.average()", +"{1, 5, -3, 10}.max()", +"{1, 5, -3, 10}.min()", +"{1, 5, -3, 10}.sum()", +"{1, 5, -3}.count()", +"{1, 5, -4, 10}.average()", +"{1,2,3} + {3,4,5}", +"{1,2,3} + {3,4,5} + {'ivan', 'gox', 'damjao', 5}", +"{1,2}", +"{1.2, 5.5, -3.3}.sort()", +"{111, 'ivan', 23, 24} * {111, 11, 'ivan'}", +"{111, 11} - {14, 12, 11}", +"{111, 11} - {14, 12, 11} - {111}", +"{24, 25, 'aaa' + 'bb'} * {date('2007/2/5').day * 5, 24 - 1}", +"{True}", +"{a}", +"{|", +"{|a", +"{|a, b| 1}", +"{|a,b| $a.ToString().CompareTo($b.ToString())}", +"{|a,b|a}", +"{|a|", +"{|a|b", +"{|n| $n * 3}", +"{|n| $n <= 1 ? 1 : $n * #fact($n-1)}", +"{|n| $n}", +"{|n| Math.Sqrt($n)}", +"{|self ", +"{|self, arg| $self.InternalValue + $arg}", +"{|self, f| $f($self.InternalValue)}", +"{|self| #triple($self.InternalValue) + #offset}", +"{|self| $self.InternalValue * 2}", +"{|self| $self.Name}", +"{|self| 'base'}", +"{|self| 'derived'}", +"{|self| 'extension'}", +"{|self| 'fake'}", +"{|self| 1}", +"{|self| 2}", +"{|self| 999}", +"{|self| InternalValue + 1}", +"{|x|x}", +"{||1}", +"{}", +"|", +"}", +"~", +"~/", +"~/Default.aspx", +"\u041d\u0438\u043a\u043e\u043b\u0430 \u0422\u0435\u0441\u043b\u0430", +"\u041e\u0432\u043e \u0458\u0435 Spring.NET", +"\u0421\u043c\u0438\u0459\u0430\u043d", +"\u0421\u0440\u0431\u0438\u043d", +"\u0425\u0440\u0432\u0430\u0442\u0441\u043a\u0430", +"\u6f22\u5b57", +"\ufeff" +] \ No newline at end of file diff --git a/test/Spring/Spring.Core.Tests/Expressions/ParserDifferentialTests.cs b/test/Spring/Spring.Core.Tests/Expressions/ParserDifferentialTests.cs new file mode 100644 index 000000000..4e5d0ce31 --- /dev/null +++ b/test/Spring/Spring.Core.Tests/Expressions/ParserDifferentialTests.cs @@ -0,0 +1,311 @@ +using System.Reflection; +using System.Text; +using Newtonsoft.Json; +using NUnit.Framework; +using Spring.Expressions.Parser.antlr.collections; + +namespace Spring.Expressions; + +/// +/// Compares the Parlot parser with the ANTLR one it replaces, on the strings of the test suite, on generated expressions, +/// and on mutations of both. PARSER_DIFFERENTIAL_ITERATIONS sets the number of mutations and generated expressions, +/// PARSER_DIFFERENTIAL_REPORT a file to write the differences to. +/// +[TestFixture] +public class ParserDifferentialTests +{ + private static readonly string[] Vocabulary = + { + " ", " ", "\t", "\n", "\r\n", "a", "b", "foo", "Bar_1", "_x", "T", "T(", "(", ")", "[", "]", "{", "}", "{|", "|", ",", ";", ":", ".", "\\", "\\.", "`", "'", "''", "'s'", + "=", "==", "!=", "!", "<", "<=", ">", ">=", "+", "-", "*", "/", "%", "^", "?", "??", "?{", "!{", "^{", "${", "$", "#", "#{", "@", "@(", "@[", "~", "\"", "&", "é", "\f", "\0", + "and", "or", "xor", "in", "is", "between", "like", "matches", "null", "true", "false", "new", "new ", "And", "android", "input", + "0", "1", "12", "1.5", ".5", "1.", "1e5", "1e", "1e+", "1E-5", "1f", "1d", "1m", "1L", "1u", "1UL", "1lU", "1Ul", "0x", "0x1F", "0x1Fl", "0X1", "0xg", "00", + }; + + private sealed class Rule + { + public string Name; + public Func Antlr; + public Func Parlot; + } + + private static Func Method(Type type, string name) + { + var method = type.GetMethod(name, BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic, null, new[] { typeof(string) }, null); + return input => + { + try + { + return method.Invoke(null, new object[] { input }); + } + catch (TargetInvocationException e) + { + return e.InnerException; + } + }; + } + + private static string Print(object result) + { + if (result is SyntaxErrorException syntaxError) + { + return "SyntaxError"; + } + + if (result is Exception e) + { + return "!" + e.GetType().Name; + } + + var builder = new StringBuilder(); + Print((SpringAST) result, builder); + return builder.ToString(); + } + + private static void Print(SpringAST node, StringBuilder builder) + { + builder.Append('(').Append(node.GetType().Name).Append('|').Append(node.Type).Append('|').Append(node.getText()); + + // The tokens of a qualified name are only read through its text + if (node is not QualifiedIdentifier) + { + for (var child = (SpringAST) node.getFirstChild(); child != null; child = (SpringAST) child.getNextSibling()) + { + builder.Append(' '); + Print(child, builder); + } + } + + builder.Append(')'); + } + + private static string Generate(Random random, int depth) + { + string E() => Generate(random, depth - 1); + string Id() => new[] { "a", "b", "foo", "Name", "T", "x1", "_y", "input" }[random.Next(8)]; + string Sep(string separator, int min, Func item) + { + var count = min + random.Next(3); + return string.Join(separator, Enumerable.Range(0, count).Select(_ => item())); + } + + string S() => random.Next(4) == 0 ? " " : ""; + + if (depth <= 0) + { + return new[] { Id(), "1", "2.5", "'s'", "null", "true", "false", "0x1F", "#v", "$l", ".5", "1e5" }[random.Next(12)]; + } + + switch (random.Next(46)) + { + case 0: return E() + S() + "=" + S() + E(); + case 1: return E() + S() + "??" + S() + E(); + case 2: return E() + S() + "?" + S() + E() + S() + ":" + S() + E(); + case 3: return E() + " or " + E(); + case 4: return E() + " xor " + E(); + case 5: return E() + " and " + E(); + case 6: return E() + " " + new[] { "==", "!=", "<", "<=", ">", ">=", "in", "is", "between", "like", "matches" }[random.Next(11)] + " " + E(); + case 7: return E() + S() + "+" + S() + E(); + case 8: return E() + S() + "-" + S() + E(); + case 9: return E() + S() + new[] { "*", "/", "%" }[random.Next(3)] + S() + E(); + case 10: return E() + S() + "^" + S() + E(); + case 11: return new[] { "+", "-", "!" }[random.Next(3)] + S() + E(); + case 12: return Id(); + case 13: return Id() + "(" + Sep(",", 0, E) + ")"; + case 14: return E() + "." + Id(); + case 15: return E() + S() + Id(); + case 16: return E() + "." + Id() + "(" + Sep(",", 0, E) + ")"; + case 17: return E() + "[" + Sep(",", 1, E) + "]"; + case 18: return "[" + Sep(",", 1, E) + "]"; + case 19: return E() + "!{" + E() + "}"; + case 20: return E() + "?{" + Sep(",", 1, E) + "}"; + case 21: return E() + "^{" + E() + "}"; + case 22: return E() + "${" + E() + "}"; + case 23: return "!{" + E() + "}"; + case 24: return "?{" + Sep(",", 1, E) + "}"; + case 25: return "(" + E() + ")"; + case 26: return "(" + E() + ";" + Sep(";", 1, E) + ")"; + case 27: return E() + "(" + E() + ";" + Sep(";", 1, E) + ")"; + case 28: return "#" + S() + Id(); + case 29: return "#" + S() + Id() + "(" + Sep(",", 0, E) + ")"; + case 30: return "$" + S() + Id(); + case 31: return "$" + S() + Id() + "(" + Sep(",", 0, E) + ")"; + case 32: return "#{" + Sep(",", 1, () => E() + ":" + E()) + "}"; + case 33: return "{" + Sep(",", 1, E) + "}"; + case 34: return "{|" + Sep(",", 0, Id) + "|" + E() + "}"; + case 35: return "T(" + Id() + Sep(S(), 0, () => new[] { ".", Id(), ",", "[]", "<", ">", "=", "1.5", "'q'", "`1" }[random.Next(10)]) + ")"; + case 36: return "@(" + Id() + ")"; + case 37: return "@(" + (random.Next(2) == 0 ? "'" + Id() + "'" : Id() + ".x") + ":" + (random.Next(2) == 0 ? "'" + Id() + " " + Id() + "'" : Id()) + ")"; + case 38: return "@[" + Id() + "." + Id() + "]"; + case 39: return "@[" + Id() + "(" + Sep(",", 0, () => random.Next(2) == 0 ? Id() + "=" + E() : E()) + ")]"; + case 40: return "new " + Id() + "." + Id() + "(" + Sep(",", 0, () => random.Next(2) == 0 ? Id() + "=" + E() : E()) + ")"; + case 41: return "new " + Id() + "[" + Sep(",", 0, E) + "]"; + case 42: return "new " + Id() + "[" + Sep(",", 0, E) + "]{" + Sep(",", 1, E) + "}"; + case 43: return "'" + Id() + "''" + Id() + "'"; + case 44: return E() + S() + "."; + default: return E(); + } + } + + private static string Mutate(Random random, string input) + { + var builder = new StringBuilder(input); + var count = 1 + random.Next(3); + for (var i = 0; i < count; i++) + { + var position = random.Next(builder.Length + 1); + switch (random.Next(5)) + { + case 0: + builder.Insert(position, Vocabulary[random.Next(Vocabulary.Length)]); + break; + case 1: + if (position < builder.Length) + { + builder.Remove(position, Math.Min(1 + random.Next(3), builder.Length - position)); + } + + break; + case 2: + if (position < builder.Length) + { + builder.Remove(position, 1).Insert(position, Vocabulary[random.Next(Vocabulary.Length)]); + } + + break; + case 3: + builder.Length = position; + break; + default: + if (position + 1 < builder.Length) + { + (builder[position], builder[position + 1]) = (builder[position + 1], builder[position]); + } + + break; + } + } + + return builder.ToString(); + } + + private static void Report(StringBuilder report, Dictionary counts, string kind, string rule, string input, string antlr, string parlot, int samples = 40) + { + counts.TryGetValue(kind, out var count); + counts[kind] = count + 1; + if (count < samples) + { + report.Append(kind).Append(" [").Append(rule).Append("] ").AppendLine(JsonConvert.ToString(input)); + report.Append(" antlr: ").AppendLine(antlr); + report.Append(" parlot: ").AppendLine(parlot); + } + } + + [Test] + public void BothParsersAgree() + { + var assembly = typeof(Expression).Assembly; + var grammar = assembly.GetType("Spring.Expressions.ExpressionGrammar"); + var rules = new[] + { + new Rule { Name = "expression", Antlr = Method(typeof(Expression), "Parse"), Parlot = Method(grammar, "ParseExpression") }, + new Rule { Name = "primary", Antlr = Method(typeof(Expression), "ParsePrimary"), Parlot = Method(grammar, "ParsePrimary") }, + new Rule { Name = "property", Antlr = Method(typeof(Expression), "ParseProperty"), Parlot = Method(grammar, "ParseProperty") }, + new Rule { Name = "lambda", Antlr = Method(typeof(Expression), "ParseLambda"), Parlot = Method(grammar, "ParseLambda") }, + }; + + var root = TestContext.CurrentContext.TestDirectory; + while (!Directory.Exists(Path.Combine(root, "test"))) + { + root = Path.GetDirectoryName(root); + } + + var corpusFile = Path.Combine(root, "test", "Spring", "Spring.Core.Tests", "Expressions", "DifferentialCorpus.json"); + var corpus = JsonConvert.DeserializeObject(File.ReadAllText(corpusFile)); + + var iterations = int.TryParse(Environment.GetEnvironmentVariable("PARSER_DIFFERENTIAL_ITERATIONS"), out var value) ? value : 100_000; + var random = new Random(42); + var report = new StringBuilder(); + var counts = new Dictionary(); + var accepted = 0L; + var rejected = 0L; + + void Compare(string input) + { + // ANTLR takes exponential time in the depth of nested parentheses, and doesn't read blank text with these rules + if (string.IsNullOrWhiteSpace(input) || input.Count(c => c == '(') > 12 || input.Contains('\uFFFF')) + { + return; + } + + foreach (var rule in rules) + { + var antlr = rule.Antlr(input); + var parlot = rule.Parlot(input); + var antlrText = Print(antlr); + var parlotText = Print(parlot); + if (antlrText != parlotText) + { + Report(report, counts, antlrText == "SyntaxError" || parlotText == "SyntaxError" ? "ACCEPTANCE" : "TREE", rule.Name, input, antlr is Exception a ? antlrText + " " + a.Message : antlrText, parlot is Exception p ? parlotText + " " + p.Message : parlotText); + continue; + } + + if (antlr is SyntaxErrorException antlrError && parlot is SyntaxErrorException parlotError) + { + rejected++; + var shape = System.Text.RegularExpressions.Regex.Replace(antlrError.Message.Split(new[] { " in expression" }, StringSplitOptions.None)[0], "^Syntax Error on line .*?: ", ""); + shape = System.Text.RegularExpressions.Regex.Replace(shape, "(found|char:|token:).*$", "$1"); + var match = (antlrError.Column == parlotError.Column ? "samecol " : "diffcol ") + (antlrError.Message == parlotError.Message ? "samemsg " : "diffmsg "); + counts.TryGetValue(match + shape, out var c0); + counts[match + shape] = c0 + 1; + if (antlrError.Column != parlotError.Column || antlrError.Line != parlotError.Line) + { + Report(report, counts, "POSITION", rule.Name, input, antlrError.Message, parlotError.Message, 60); + } + else if (antlrError.Message != parlotError.Message) + { + Report(report, counts, "MESSAGE", rule.Name, input, antlrError.Message, parlotError.Message, 60); + } + } + else + { + accepted++; + } + } + } + + foreach (var input in corpus) + { + Compare(input); + } + + var seeds = corpus.Where(x => x.Length <= 200).ToArray(); + for (var i = 0; i < iterations; i++) + { + switch (i % 3) + { + case 0: + Compare(Mutate(random, seeds[random.Next(seeds.Length)])); + break; + case 1: + Compare(Generate(random, 1 + random.Next(4))); + break; + default: + Compare(Mutate(random, Generate(random, 1 + random.Next(4)))); + break; + } + } + + var summary = $"accepted {accepted}, rejected {rejected}, corpus {corpus.Length}: " + string.Join(", ", counts.OrderByDescending(x => x.Value).Select(x => x.Key + "=" + x.Value + Environment.NewLine)); + TestContext.Out.WriteLine(summary); + var reportFile = Environment.GetEnvironmentVariable("PARSER_DIFFERENTIAL_REPORT"); + if (reportFile != null) + { + File.WriteAllText(reportFile, summary + Environment.NewLine + report); + } + + counts.TryGetValue("ACCEPTANCE", out var acceptance); + counts.TryGetValue("TREE", out var tree); + Assert.AreEqual(0, acceptance + tree, summary + Environment.NewLine + report); + } +} From 795ace4e1b7698702f207c18ee627153ecc2505d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Ros?= <1165805+sebastienros@users.noreply.github.com> Date: Mon, 2 Nov 2026 15:04:46 -0800 Subject: [PATCH 03/17] Parse expressions with the Parlot parser MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ExpressionGrammarTests keeps what the differential tests showed: the trees and errors of the ANTLR parser on 216 expressions, from a file they wrote, and the cases where it failed, such as the exponential time it took on nested parentheses. The last run of the differential test compared 1,572,000 parses: 615,238 accepted with the same tree and 956,714 rejected by both, 81% of them with the same message and position, 91% with the same position. Signed-off-by: Sébastien Ros <1165805+sebastienros@users.noreply.github.com> --- .../Spring.Core/Expressions/Expression.cs | 56 +- .../Expressions/ExpressionGrammar.parlot.cs | 2 +- .../Expressions/DifferentialCorpus.json | 4206 ----------------- .../Expressions/ExpressionGrammarGolden.json | 1082 +++++ .../Expressions/ExpressionGrammarTests.cs | 116 + .../Expressions/ParserDifferentialTests.cs | 311 -- 6 files changed, 1203 insertions(+), 4570 deletions(-) delete mode 100644 test/Spring/Spring.Core.Tests/Expressions/DifferentialCorpus.json create mode 100644 test/Spring/Spring.Core.Tests/Expressions/ExpressionGrammarGolden.json create mode 100644 test/Spring/Spring.Core.Tests/Expressions/ExpressionGrammarTests.cs delete mode 100644 test/Spring/Spring.Core.Tests/Expressions/ParserDifferentialTests.cs diff --git a/src/Spring/Spring.Core/Expressions/Expression.cs b/src/Spring/Spring.Core/Expressions/Expression.cs index 1962261bd..93016d446 100644 --- a/src/Spring/Spring.Core/Expressions/Expression.cs +++ b/src/Spring/Spring.Core/Expressions/Expression.cs @@ -143,19 +143,7 @@ public static IExpression Parse(string expression) { if (StringUtils.HasText(expression)) { - ExpressionLexer lexer = new ExpressionLexer(new StringReader(expression)); - ExpressionParser parser = new SpringExpressionParser(lexer); - - try - { - parser.expr(); - } - catch (TokenStreamRecognitionException ex) - { - throw new SyntaxErrorException(ex.recog.Message, ex.recog.getLine(), ex.recog.getColumn(), expression); - } - - return (IExpression) parser.getAST(); + return ExpressionGrammar.ParseExpression(expression); } else { @@ -402,19 +390,7 @@ private static void AssertReceiverParameter(Type targetType, Delegate implementa private static LambdaExpressionNode ParseLambda(string lambdaExpression) { - ExpressionLexer lexer = new ExpressionLexer(new StringReader(lambdaExpression)); - ExpressionParser parser = new SpringExpressionParser(lexer); - - try - { - parser.lambda(); - } - catch (TokenStreamRecognitionException ex) - { - throw new SyntaxErrorException(ex.recog.Message, ex.recog.getLine(), ex.recog.getColumn(), lambdaExpression); - } - - return (LambdaExpressionNode) parser.getAST(); + return ExpressionGrammar.ParseLambda(lambdaExpression); } /// @@ -426,19 +402,7 @@ internal static IExpression ParsePrimary(string expression) { if (StringUtils.HasText(expression)) { - ExpressionLexer lexer = new ExpressionLexer(new StringReader(expression)); - ExpressionParser parser = new SpringExpressionParser(lexer); - - try - { - parser.primaryExpression(); - } - catch (TokenStreamRecognitionException ex) - { - throw new SyntaxErrorException(ex.recog.Message, ex.recog.getLine(), ex.recog.getColumn(), expression); - } - - return (IExpression) parser.getAST(); + return ExpressionGrammar.ParsePrimary(expression); } else { @@ -455,19 +419,7 @@ internal static IExpression ParseProperty(string expression) { if (StringUtils.HasText(expression)) { - ExpressionLexer lexer = new ExpressionLexer(new StringReader(expression)); - ExpressionParser parser = new SpringExpressionParser(lexer); - - try - { - parser.property(); - } - catch (TokenStreamRecognitionException ex) - { - throw new SyntaxErrorException(ex.recog.Message, ex.recog.getLine(), ex.recog.getColumn(), expression); - } - - return (IExpression) parser.getAST(); + return ExpressionGrammar.ParseProperty(expression); } else { diff --git a/src/Spring/Spring.Core/Expressions/ExpressionGrammar.parlot.cs b/src/Spring/Spring.Core/Expressions/ExpressionGrammar.parlot.cs index b8c665fd6..25c425c7f 100644 --- a/src/Spring/Spring.Core/Expressions/ExpressionGrammar.parlot.cs +++ b/src/Spring/Spring.Core/Expressions/ExpressionGrammar.parlot.cs @@ -16,7 +16,7 @@ namespace Spring.Expressions; /// internal static partial class ExpressionGrammar { - [GenerateParser(nameof(TryParse))] + [GenerateParser(nameof(TryParse), MaxRecursionDepth = 2000)] private static Parser Build(Rule rule) { var expression = Deferred(); diff --git a/test/Spring/Spring.Core.Tests/Expressions/DifferentialCorpus.json b/test/Spring/Spring.Core.Tests/Expressions/DifferentialCorpus.json deleted file mode 100644 index ec79124a0..000000000 --- a/test/Spring/Spring.Core.Tests/Expressions/DifferentialCorpus.json +++ /dev/null @@ -1,4206 +0,0 @@ -[ -"\t \n\r", -"\t ", -"\t", -"\t", -"\tSpring.Objects.Factory.Config.FinalFielder.Name, Spring.Core.Tests ", -"\n", -"\n\t ", -"\n\r", -"\n ", -"\nclient ", -"\ntest file '{0}', line {1}:\npath '{2}' does {3} match '{4}' (translated to {5})", -"\r\n", -" ", -" \n\r\t", -" ", -" ", -" \nfoo.name ", -" ", -" ", -" ", -" \t", -" 1234", -" ~/", -" Foo ", -" ~/", -" 12345 ", -" c ", -" 3", -" Foo ", -" Info ", -" a", -" a,b,, c ,d\n:e ", -" class name must end with Exception.", -" does not implement GetObjectData but has private fields.", -" for method 'Execute'; will call object 'replacer'.", -" for method 'GetGrub'; will return object 'foo'.", -" is a public field, should be exposed through property instead.", -" is a required constructor.", -" is internal, must be private.", -" is internal, must be protected.", -" is internal, must be public.", -" is not currently implemented", -" is not private, must be private.", -" is not protected, must be protected.", -" is not public, must be public.", -" is not serializable, missing [Serializable]?", -" is private, must be public or protected.", -" is private, must be public.", -" is protected internal, must be private.", -" is protected internal, must be protected.", -" is protected internal, must be public.", -" is protected, must be private.", -" is public, must be private.", -" is public, must be protected.", -" is the name of my computer", -" not runned", -" text \n", -"!", -"!!a", -"!(3 in {1, 2, 3, 4, 5})", -"!(5 is int)", -"!(6 between {1, 5})", -"!(false and false)", -"!(false and true)", -"!(false or false)", -"!(false or true)", -"!(true and false)", -"!(true and true)", -"!(true or false)", -"!(true or true)", -"!T(System.Text.RegularExpressions.RegexOptions).Compiled", -"!a", -"!false", -"!false and false", -"!false and true", -"!false or false", -"!false or true", -"!true", -"!true and false", -"!true and true", -"!true or false", -"!true or true", -"!{", -"!{a}", -"\"Hello World\"", -"#", -"# ", -"# ", -"# ", -"# a", -"#Date", -"#a", -"#a(1)", -"#a(b;c)", -"#bar.SpelExtension(1)", -"#bar.Which()", -"#baz.SpelExtension(1)", -"#date", -"#foo.Apply({|n| $n * 2})", -"#foo.Bumped()", -"#foo.Clash()", -"#foo.Doubled", -"#foo.Doubled()", -"#foo.InternalValue", -"#foo.NoSuchMethod()", -"#foo.NoSuchProp", -"#foo.SpelExtension()", -"#foo.SpelExtension(1)", -"#foo.ToString()", -"#foo.Tripled()", -"#foo.V()", -"#foo.spelextension(1)", -"#holder.Child.SpelExtension(1)", -"#hope.floats#", -"#max(5,25)", -"#newName = 'Ana Maria Seovic'", -"#now = DateTime.Now", -"#objects]", -"#result = 'invalid'", -"#result = 'valid'", -"#result = DOB.Month", -"#result = DOB.Year", -"#result = Name", -"#result = Nationality", -"#root", -"#root != null", -"#root == null", -"#root.GetString()", -"#root.Name ?? 'Pupin'", -"#root[#bars]", -"#root['']", -"#root[1.0]", -"#root[1]", -"#source = #target", -"#sqrt(64)", -"#target = #source", -"#tesla > #pupin", -"#tesla.Name", -"#this", -"#this * #{1:'one', 10:'ten'}", -"#this + {1, 2, 13, 15}", -"#this - #{1:'one', 10:'ten'}", -"#this+'test'", -"#{'abc' : 'Value 1', 'xyz' : DateTime.Today} is IDictionary", -"#{1:'one', 2:'two', 3:'three'} * #{1:'ivan', 5:'five'}", -"#{1:'one', 2:'two', 3:'three'} * 'something'", -"#{1:'one', 2:'two', 3:'three'} * {1, 2, 5, 7}", -"#{1:'one', 2:'two', 3:'three'} + #{1:'ivan', 5:'five'}", -"#{1:'one', 2:'two', 3:'three'} + {1, 5}", -"#{1:'one', 2:'two', 3:'three'} - #{1:'ivan', 5:'five'}", -"#{1:'one', 2:'two', 3:'three'} - 'something'", -"#{1:'one', 2:'two', 3:'three'} - {1, 2, 3, 5, 7}", -"#{a:1", -"#{a:1,b:2}", -"#{a}", -"#{|", -"#{}", -"$", -"$ {a}", -"$1,234", -"$1,234.00", -"$1,234.56", -"$1,235", -"$AppDir$", -"$AppDirUrl$", -"$CodeGen$", -"$Gac$", -"$OriginHost$", -"$Property", -"$TheAngelGang", -"$a", -"$a(1)", -"$a(b;c)", -"${", -"${Mmm}. Has there been any good telly since then... ${thinks}", -"${PROCESSOR_ARCHITECTURE}", -"${SomeName}", -"${age}", -"${age}name", -"${a}", -"${foo}", -"${fqn}", -"${greeting}", -"${hope.floats}", -"${maxResults}", -"${name}", -"${nickname}", -"${prop.override.section}", -"${ref}", -"${sigh}. Laura Palmer though... man, that sure was a tragedy. ${sigh}", -"${slurp}. Ah! That is one good cup of tea. That agent Cooper and his coffee... he sure was missing out on a good thing.", -"${test.name.1}", -"${var}name${age}", -"${{userprofile}}\\{0}.txt", -"${{{0}}}\\{1}.txt", -"%COMPUTERNAME% is the name of my computer", -"%[", -"%[maxResults]%", -"%[name]%", -"%{", -"&log", -"&mod", -"&prototypeFactory", -"&rod", -"&singletonFactory", -"&testFactory1", -"&testFactory2", -"'", -"' '", -"' '.ToCharArray()[0]", -"' : ", -"' : '{0} {1}']", -"' threw an exception : ", -"''", -"''date'", -"'0x7FFFFFFF'", -"'1' [System.Int32]", -"'12' is not a valid argument for 'foo'..", -"'123' + 1", -"'5.00' matches '^-?\\d+(\\.\\d{2})?$'", -"'5.0067' matches '^-?\\d+(\\.\\d{2})?$'", -"'@seovic.com' matches #this", -"'A' like '?'", -"'A' matches #this", -"'Abc' like '*'", -"'Abc' like '?'", -"'Abc' like '[A-Z]b?'", -"'Aleksandar' like 'Aleks*'", -"'Ana Maria Seovic' like '*Maria*'", -"'Marija Seovic' like '*Seovic'", -"'Object of type 'System.Int32' cannot be converted to type 'System.String'", -"'ObjectName' property was not serialized correctly.", -"'ObjectType' property was not serialized correctly.", -"'One' == Type", -"'PropertyName' node cannot be resolved for the specified context [System.Dynamic.ExpandoObject].", -"'Test' != 'test'", -"'Test' < 'test'", -"'Test' <= 'test'", -"'Test' == 'test'", -"'Test' > 'test'", -"'Test' >= 'test'", -"'Two' == Type", -"'a", -"'a'", -"'a''b'", -"'aleks' matches #this", -"'aleks@' matches #this", -"'aleks@seovic' matches #this", -"'aleks@seovic.com' matches #this", -"'date", -"'date'", -"'default' ?? 'xyz'", -"'efg' between {'abc', 'xyz'}", -"'escaped \t string \n'", -"'literal ''string'", -"'literal string'", -"'ljwdf87cwbh'", -"'new System.InvalidOperationException(\"invalid\")' []", -"'s InnerException was null.", -"'s Message was null.", -"'seovic.com' matches #this", -"'some non-empty string'", -"'test' != 'test'", -"'test' + #this", -"'test' + ' ' + 'string'", -"'test' + ' ' + 2", -"'test' + ' ' + DateTime.Today", -"'test' < 'test'", -"'test' <= 'test'", -"'test' == 'Test'", -"'test' == 'test'", -"'test' > 'test'", -"'test' >= 'test'", -"'xyz' == null", -"'xyz' > 123", -"'xyz' in #{'abc' : 'Value 1', 'xyz' : DateTime.Today}", -"'xyz' in new string[] {'abc', 'xyz'}", -"'xyz'.ToCharArray()[1]", -"'\u6f22\u5b57'", -"(\n #delegate = {|f,n| $f($n) };\n #d = #delegate;\n\n #result = { #delegate(#sqrt, 4), #d(#fact, 5), #delegate({|n| $n ^ 2 }, 5) }\n )", -"(#add = {|x, y| $x + $y}; #add(2, 2))", -"(#fact = {|n| $n <= 1 ? 1 : $n * #fact($n-1) }; #f = #fact; #f(5))", -"(#fact = {|n| $n <= 1 ? 1 : $n * #fact($n-1) }; #fact(#root))", -"(#fact = {|n| $n <= 1 ? 1 : $n * #fact($n-1) }; #fact(5))", -"(#max = {|x, y| $x > $y ? $x : $y }; #max(5,25))", -"(#noop ={|val| $val}; ?{#noop(ToString()=='100')} )", -"(#oldName = Name; Name = 'Nikola Tesla')", -"(#upper = {|txt| $txt.ToUpper() }; !{ #upper(Name) })", -"(#x=1;#x+1)", -"($1,234.00)", -"($1,234.56)", -"((\\d{1,2}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}))", -"((a))", -"()", -"(1,234)", -"(1,234.56)", -"(1,235)", -"(813) 555-4034", -"(Add(new Inventor('Aleksandar Seovic', date('1974-08-24'), 'Serbian')); Count)", -"(DOB = date('2004-08-14'); Name = 'Ana Maria Seovic')", -"(Nationality = 'Srbin'; #this).Name", -"(SerializationInfo info, StreamingContext context)", -"(ToString(); #noop ={|val| $val}; !{#noop(ToString()) } )", -"([1].PlaceOfBirth.City = 'Beograd'; [1].PlaceOfBirth.Country = 'Serbia'; [1].Name)", -"(a", -"(a)", -"(a;b)", -"(a;b)(c;d)", -"(a;b).c", -"(a=1)", -"(false ? 'trueExp' : 'falseExp')", -"(incorrectly) as a factory object dereference.", -"(string message)", -"(string message, Exception inner)", -"(true ? 'trueExp' : 'falseExp')", -"(using CultureInfo.InvariantCulture) was (wrongly) retrieved ", -"*", -"*&&%%^\ufffd", -"*.test", -"*quatul*", -"*tulate", -"+-a", -"+4 ^ .5", -"+false", -",", -",\n", -", ", -", Enumerable.Range(0, expectedResult))})", -", System", -",Spring.Core.Tests", -",val=", -"-", -"- - a", -"-$1,234", -"-$1,234.56", -"-$1,235", -"--", -"--Framework=Spring.NET", -"--Name=Aleks Seovic", -"--a", -"--dont-match--", -"--match--", -"--pattern--", -"-01234", -"-1", -"-1'23'4 RSD", -"-1'23'4,00", -"-1'23'4,00 \u0434\u0438\u043d.", -"-1'23'4,000", -"-1'23'4,56", -"-1'23'4,56 \u0434\u0438\u043d.", -"-1'23'4,560", -"-1'23'5 RSD", -"-1,234.00", -"-1,234.56", -"-1,234e+003", -"-1.234 RSD", -"-1.234 din", -"-1.234,00", -"-1.234,00 din", -"-1.234,00 \u0434\u0438\u043d.", -"-1.234,000", -"-1.234,56", -"-1.234,56 din", -"-1.234,56 \u0434\u0438\u043d.", -"-1.234,560", -"-1.234e+003", -"-1.235 RSD", -"-1.235 din", -"-1.235e+003", -"-10", -"-100", -"-1234", -"-1234,00", -"-1234,000", -"-1234.00", -"-1e0 + -1", -"-1e0 + 1", -"-2", -"-2 * -3", -"-2 ^ 4", -"-2 ^ 5", -"-3", -"-4", -"-5", -"-5 == -5", -"-5 == 2", -"-5 >= 2.0", -"-5.0 != -5", -"-5.0 < 2", -"-5.0 <= 2", -"-5.0 > 2", -"-6 % -5", -"-6 / -3", -"-9000.00", -"-Hi-", -"-a,b-", -"-a^b", -"-false", -".", -".*Test.*", -".*Test.*Exclude", -".*Test.*Include1", -".*Test.*Include2", -".+", -".+${event}.+", -"... and no-one's getting fat 'cept Mama Cas!", -"../", -"../../../../TestResource.txt", -"../../../index.html", -"../../Objects/Factory/TestResource.txt", -"../../TestResource.txt", -"../../index.html", -"../calculator/index.html", -"..\\..\\", -"..\\..\\..\\index.html", -"..\\..\\index.html", -"././ManAhShoahDoLoveThoseGrits", -"./Core.IO/TestResource.txt", -"./Resources/resource-imports.xml", -"./demo/index.html", -"./samples/artfair/index.html", -"./temp/spring-test.properties", -".5", -".NET", -".ToString()", -".\\", -".\\samples\\artfair\\index.html", -".antlr.", -".foo.name", -"/", -"/../", -"//configuration/spring/od:objects", -"//property", -"/:www.1.com", -"/Examples.test", -"/Spring.Core.IO/TestResource.txt", -"/dev/null", -"/dummy.txt", -"/framework:Spring.NET", -"/index.html", -"/name:Aleks Seovic", -"/samples/artfair/demo/index.html", -"/samples/artfair/dummy.txt", -"/samples/artfair/index.html", -"/samples/calculator/index.html", -"0", -"0 between {1, 5}", -"0.0.0.0", -"0.00D", -"0.00F", -"0.75D", -"00:00:10", -"01234", -"0x", -"0x1F", -"0x1Fu", -"0x20", -"0x7FFFFFFF", -"0x7FFFFFFFFFFFFFFF", -"0x80000000", -"0x8000000000000000", -"0xFF", -"0xg", -"1", -"1 ", -"1 + 1", -"1 , Foo , 3", -"1 - -3", -"1 - 3", -"1 .2", -"1 .a", -"1 2", -"1 and -1", -"1 and 3", -"1 between {1, 5}", -"1 jen instance", -"1 or -2", -"1 or 2", -"1 xor -1", -"1 xor 3", -"1'23'4 RSD", -"1'23'4,00", -"1'23'4,00 \u0434\u0438\u043d.", -"1'23'4,000", -"1'23'4,56", -"1'23'4,56 \u0434\u0438\u043d.", -"1'23'4,560", -"1'23'5 RSD", -"1+(2-3*8)/2.0/2", -"1+2-3*8/2/2", -"1+2-3*8/2^2/2", -"1+2-3*8^2/2/2", -"1,2", -"1,234", -"1,234.00", -"1,234.56", -"1,23456e+003", -"1,235", -"1,Foo,3", -"1.", -"1.00", -"1.0m + 1.0", -"1.1", -"1.2", -"1.2.3", -"1.234 RSD", -"1.234,00", -"1.234,00 \u0434\u0438\u043d.", -"1.234,000", -"1.234,00din", -"1.234,56", -"1.234,56 \u0434\u0438\u043d.", -"1.234,560", -"1.234,56din", -"1.23456e+003", -"1.234din", -"1.234e+003", -"1.235 RSD", -"1.235din", -"1.235e+003", -"1.5", -"1.5L", -"1.5f", -"1.797693E+308", -"1.a", -"10", -"100", -"100 < 1000.00 and 10000.00m > 1e2", -"100 < 1000.00m and 10000.00 > 1000", -"1000", -"1000 == 1e3 and 1e+4 != 1000", -"1000.00m", -"1000.00m * 1e3", -"1000.00m - 1e4", -"1000.00m / 1e3", -"1000000.00", -"1005.00m % 1e3", -"100ms", -"10s", -"11.222.333.444", -"111", -"12", -"123 != null", -"123 < null", -"123 <= null", -"123 == null", -"123 > null", -"123 >= null", -"1231", -"1234", -"1234 ", -"1234,00", -"1234,000", -"1234,56", -"1234.00", -"1234.56", -"12345", -"123a456", -"14-Aug-2004", -"14-\u0430\u0432\u0433-2004", -"14-\u0430\u0432\u0433.-2004", -"15", -"1507", -"1575843013", -"15a", -"1856-7-9", -"1883-1-1", -"1905158793", -"198", -"1991-10-10", -"1H", -"1L", -"1UL", -"1Ul", -"1d", -"1e", -"1e+5", -"1e0 + 1", -"1e5", -"1f", -"1h", -"1m", -"1st config val", -"1st didn't change", -"1{0}Foo{0}3", -"2", -"2 != 2.0", -"2 % 2", -"2 * -3", -"2 * 2", -"2 * 2 - 3 ?? 5", -"2 + 2", -"2 / 2", -"2 < -5.0", -"2 < 2.0", -"2 <= 2.0", -"2 == -5", -"2 == 2", -"2 > -5.0", -"2 > 2.0", -"2 ^ +3", -"2.0", -"2.0 != -5", -"2.0 * 3e0 * 4", -"2.0 + 3e0 + 4", -"2.0 - 3e0 - 4", -"2.0 <= -5", -"2.0 >= -5", -"2.0 >= 2", -"20", -"200", -"2000", -"2000/02/02", -"2004-08-14", -"2004/08/08", -"2008-05-15", -"2030", -"222", -"24", -"24-Aug-1974", -"24-\u0430\u0432\u0433-1974", -"24-\u0430\u0432\u0433.-1974", -"25%", -"25,0%", -"25,00%", -"25,000%", -"25,3%", -"25,34%", -"25,340%", -"25.00 %", -"25.00%", -"25.34 %", -"25.34%", -"255, 235", -"255, 235, 4567", -"26", -"26+1", -"27", -"2m", -"2nd changed", -"2nd config val", -"3", -"3 - 1", -"3 between {1, 5}", -"3 in {1, 2, 3, 4, 5}", -"3.402823E+38", -"30", -"30,30", -"30/10/07", -"32", -"33", -"333", -"34x", -"35", -"378282246310", -"378282246310005", -"4", -"4 ^ -2", -"444444444", -"48", -"5", -"5 between {1, 5}", -"5 is int", -"5 is null", -"5.00", -"5.25D", -"5.25F", -"5.25f", -"5ms", -"6", -"6 % -4", -"6 / -3", -"6 between {1, 5}", -"7", -"7cfc9607-e81a-48ac-a080-bda88193607b", -"8", -"8.0 % 5e0 % 2", -"8.0 / 4e0 / 2", -"8/14/2004", -"8/24/1974", -"81-7525-766-0", -"87", -"9", -"9 objects in reftypes, not ", -"90", -"90-70002-34-5", -"978-1-905158-79-9", -"978-81-7525-766-5", -"978-90-70002-34-3", -"9789070002-34-3", -"978907000234-3", -"9789070002343", -"978907000234x", -"9789g70002-34-3", -"98name", -"99", -":", -":Foo,:Bar", -":Hi", -":e", -":e ", -":key", -":key:newvalue", -";", -"; age=", -"; spouse={", -"; touchy=", -"", -"\n \n \n \n ", -"\n \n\t \n \n ", -"\n \n\t \n \n ", -"\n \n ", -"\n \n\n \n \n\t\t\t \n\t\t\t\t \n\t\t\t \n \n\t\t\t \n \n \n ", -"\n \n \n \n \n \n \n ", -"\n \n \n \n \n \n \n ", -"\n \n \n \n \n ", -"\n \n \n ", -"\n \n \n \n \n ", -"\n \n \n ", -"\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ", -"\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ", -"\n\n \n
\n \n \n \n \n\n", -"\n\n \n
\n \n \n \n \n \n", -"\n\n \n \n \n\n", -"\n\n \n \n \n \n", -"\n \n\t\n \n \n \n \n\n", -"\n \n \n\n", -"\n \n\t\n\t\n\t\n\t\n\t\n\n", -"\n\n\t\n", -"\n\n\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\n", -"\n\n\t\n", -"\n\n\t\n", -"\n\n\t\n\t\t\n\t\t\n\t\n", -"\n\n\t\n\t\t\n\t\t\n\t\n", -"\n\n\t\n\t\t\n\t\t\n\t\n", -"\n\n\t\n\t\t\n\t\t\n\t\n", -"\n\n\t\n\t\t\n\t\t\n\t\n", -"\n\n\t\n\t\t\n\t\t\n\t\n", -"\n\n\t\n \n \n \n \n", -"\n\n\t\n \n \n \n \n \n", -"\n\n\t\n \n", -"\n\n\t\n\t\ttrilby,fedora\n\t\n", -"\n\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tRick Evans\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n", -"\n\n\t\n\t\n", -"\n\n\t\n\t\t\n\t\n", -"\n\n\t\n\t\t\n\t\n \n \n \n \n \n \n \n \n \n", -"\n\n \n\t\n", -"\n\n\t\n \n \n", -"\n\n\t\n", -"\n \n\t\n\t\t\n\t\n\n", -"\n \n\t\n\t\n\n", -"\n \n\t\n\n", -"\n \n\t\n\n", -"\n \n\t\n\t\t\n\t\n\t\n\t\t\n\t\n\t\n\t\t \n\t\n\n", -"\n \n\t\n\t\t \n\t\n\n", -"\n\n\t\n", -"\n\n\t\n", -"\n\n\t\n", -"\n\n\t\n", -"\n\n\t\n", -"\n\n\t\n", -"\n\n\t\n", -"\n\n\t\n\t\n\t\n\t\n\t\n", -"\n\n\t\n", -"\n\n\t\n", -"\n\n\t\n", -"\n\n\t\n", -"\n\n\t\n", -"\n\n\t\n", -"\n\n\t\n", -"\n\n\t\n \n", -"\n\n\t\n", -"\n\n\t\n", -"\n\t\n", -"\n\t\n", -"\n\t\n", -"\n\t\n\t\n", -"\n\t\n", -"", -"", -"", -"", -"", -"", -"", -"", -"", -"", -"=", -"?{", -"?{ T(System.Convert).ToInt32(#this) % 2 == 0, 1, 3 }", -"?{ true }", -"?{ true, 0, 10 }", -"?{ true, 5 }", -"?{ true, 5, 10 }", -"?{a,b}", -"@", -"@ (a)", -"@ [a]", -"@('a b':'c d')", -"@('a')", -"@('a':b)", -"@('myContext':goran)", -"@(CiaoFoo)", -"@(a", -"@(a in:b)", -"@(a)", -"@(a.b:c.d)", -"@(a:", -"@(a:'b')", -"@(a:b", -"@(a:b)", -"@(anotherContext:theObject).Value", -"@(dummyRef)", -"@(goran)", -"@(in)", -"@(my.Context/bla\\:goran)", -"@(myContext:goran)", -"@(testObjectContainer_lazy)", -"@(theObject)", -"@({anotherContextName}:theObject)", -"@[", -"@[System.Serializable()]", -"@[System.Serializable]", -"@[WebMethod(Description = #desc)]", -"@[WebMethod(Description = 'My First Web Method')]", -"@[WebMethod(Description = 'My Second Web Method')]", -"@[WebMethod(false, CacheDuration = 60, Description = 'my web method', TransactionOption = TransactionOption.Required)]", -"@[WebMethod(true)]", -"@[WebMethod]", -"@[a", -"@[a(", -"@[a(1,x=2)]", -"@[a.b]", -"@eu.s4hc.com", -"A", -"A DefName", -"A PostContruct method with return value should run the init method.", -"A String", -"A newly initialised instance was not initially empty.", -"A null resource.", -"A temporary resource.", -"AClass", -"AFTER the AfterPropertiesSet() method has been invoked.", -"ALEKS", -"ALEKSANDAR", -"ALEKSANDAR SEOVIC", -"ALIAS", -"ALL", -"AModule", -"AS IS", -"ASP.Net", -"Absqua*", -"Absquatulate", -"Absquatulate()", -"Absquatulate(string)", -"Abstract Type erroneously registered with the Context.", -"Actions", -"Actual instance is correct", -"Actual types registered with the container:", -"Add", -"AddPeriodicElement", -"AddPeriodicElement()", -"AddPeriodicElement(string)", -"AddPeriodicElement(string, string)", -"Added 1 unique item, but the Count property wasn't sitting at 1.", -"Added 2 duplicate items, but the Count property wasn't sitting at 1.", -"Added 2 unique item (one null), but the Count property wasn't sitting at 2.", -"Added 3 (2 duplicated) items, but the Count property wasn't sitting at 2.", -"Added 3 unique items, but the Count property wasn't sitting at 3.", -"Added null to a set already containing null, but the Count property changed.", -"Added one generic value, but the collection of indexed values ain't sayin' that it's got a single element in it.", -"Added one indexed value, but the collection of indexed values ain't sayin' that it's got a single element in it.", -"Added one named argument but it doesn't seem to be reflected in the overall argument count.", -"Added one named argument but it doesn't seem to have been added to the named arguments collection.", -"Added one value, but the collection ain't sayin' that it's got a single element in it.", -"Added one value, but the collection is sayin' it's empty.", -"Added three indexed values(as a range), but the collection ain't sayin' that it's got 3 elements in it.", -"Added three indexed values(as a range), but the collection is sayin' it's empty.", -"Added three indexed values(as a range), but the collection of indexed values ain't sayin' that it's got 3 elements in it.", -"Adding nulls is not supported in this implementation.", -"Addition of elements to the list via index that is out of range is not supported anymore.", -"Administer", -"AfterPropertiesSet() was not invoked by IObjectFactory.ConfigureObject(instance).", -"Age", -"Age dependency injected via IObjectFactory.ConfigureObject(instance) failed (was 25).", -"Age dependency injected via IObjectFactory.ConfigureObject(instance) failed (was null).", -"Age is an integer", -"Age is not set correctly", -"Age property value not applied.", -"Age still has default", -"Aimee Mann", -"AlIaS", -"Albert", -"Aleks", -"Aleks Seovic", -"Aleksandar", -"Aleksandar Seovic", -"Alias was obviously not registered otherwise we would not have got a null object back.", -"All", -"All IDisposable singletons must have their Dispose() method called... one of them bailed, and as a result the rest were (apparently) not Dispose()d.", -"All The News That's Fit To Print", -"Already customDestroyed", -"Already destroyed", -"Already destroyed...", -"AlsoKnownAs[1", -"AlsoKnownAs[1]", -"AlsoKnownAs[1][0]", -"Alternating-current power transmission", -"American", -"AnAssembly", -"Ana", -"Ana Maria", -"Ana Maria Seovic", -"And yeah, I've never been a fan of the doughnut... ${blechh${shudder}}", -"Anderson", -"Andrew", -"AnotherContext", -"ApplicationData", -"Applicationimpl", -"Apply", -"Arg1", -"Arg1, Arg2", -"Arg2", -"Arg3", -"Argument 'requiredType' cannot be null.", -"Argument cannot be multidimensional.", -"Argument cannot be negative.", -"Argument cannot exceed Count.", -"Argument must be less than Count.", -"Argument must be less than array length.", -"Argument section must be large enough for collection.", -"ArgumentFromMock", -"ArgumentNullException was expected", -"Arguments", -"Arguments denote invalid range of elements.", -"Array", -"ArrayList[0]", -"Array[0]", -"Array[2]", -"Array[5]", -"Array[HungerHurtsButStarvingWorks]", -"Array[]", -"AssemblyName", -"AssignableMatch", -"At least one of the arguments passed to this MethodInvoker was incompatible with the signature of the invoked method.", -"Atari 2900", -"Attribute", -"Attribute set to default should check pattern and return false", -"Attribute set to default should check pattern and return true", -"AutowireTestConstructor", -"AutowireTestConstructorNormal", -"AutowireTestDictionary", -"AutowireTestDictionaryFail", -"AutowireTestField", -"AutowireTestFieldNormal", -"AutowireTestList", -"AutowireTestMethod", -"AutowireTestMethodNormal", -"AutowireTestProperty", -"AutowireTestPropertyNormal", -"AutowireTestPropertyPlaceHolder", -"AutowireTestQualifier", -"AutowireTestSet", -"AutowireUtils.GetTypeDifferenceWeight() was wrong, evidently.", -"AutowireUtils.SortConstructors() did not put the greedy public ctors first.", -"Aw!", -"A|B|C", -"A||C", -"B", -"BF", -"Baby", -"Bad format", -"BadBobbyBoJangles", -"BadSpanglish", -"Baia", -"Bailed when converting type '", -"Balzac", -"Bang!", -"Banjo", -"Bar", -"BaseDefinition", -"BaseStringProp", -"Baz", -"Ben", -"Beograd", -"Bigby", -"Bill", -"Binding boolean to date should throw an exception.", -"Binding custom Place to date type should throw an exception.", -"Binding date to custom Place type should throw an exception.", -"Bing", -"Bing!", -"Bingo", -"BingoBango", -"Blister", -"Blue", -"BoJangles", -"Bob", -"Boing", -"Bong", -"Boog", -"Bruno", -"Bumped", -"C", -"C:/temp", -"C:/test/myfile.txt", -"C:\\dummy.txt", -"C:\\temp", -"COMPUTERNAME", -"CallToDestroy", -"CallToInit", -"Calling Clear () did not remove all of the elements.", -"Can't contain a .", -"CanGetSetComplexIndexer", -"CanGetSetSimpleIndexer", -"CanGetSimpleText", -"Cannot calculate the type difference weight for argument types and arguments with differing lengths.", -"Cannot call AfterPropertiesSet twice on the one object.", -"Cannot convert property value of type [System.Double]", -"Cannot convert property value of type [System.Int32] to required type", -"Cannot convert property value of type [System.Single]", -"Cannot dynamically build object key...", -"Cannot read config section 'ELNOMBRE' - section not found.", -"Cannot specify arguments in the GetObject () method when referring to a factory object definition", -"Capacity", -"Carl", -"Cflow", -"Chank Pop", -"Child", -"Child Constructor", -"Child Constructor wasn't called first!", -"Child Destructor", -"Child Destructor wasn't called fourth!", -"Child Destructor wasn't called third!", -"Child context not registered.", -"Child context object not present (must be).", -"Child's DisplayName property not picked up from config file.", -"ChildFactoryMethodName", -"ChildFactoryObjectName", -"ChildObjectTypeName", -"ChildResourceDescription", -"Chris", -"Chungking Express", -"CiaoFoo", -"Circular dependency was set up; should have caught an ObjectCurrentlyInCreationException instance.", -"Clash", -"Class", -"Click", -"Code", -"Commentator", -"Company", -"ComplexIndexer", -"Component", -"ComponentImpl", -"ComponentScan.ComponentsAttributeLoad.*", -"ComponentScan.ComponentsUseDefaults.*", -"ComponentScan.ComponentsUseSpecifiedName.*", -"ComponentScan.NameGenerator.*", -"ComponentScan.NameGenerator.Prototype", -"ComponentScan.Qualifier.*", -"ComponentScan.ScanComponentsAndAddToContext.", -"ComponentScan.ScanComponentsAndAddToContext.*", -"Composition proxy target must implement at least one interface.", -"Compute()", -"ComputerName", -"Computers", -"ConfigFiles.AttributeConfigParser.xml", -"ConfigFiles.BaseAssemblyTestMultiple.xml", -"ConfigFiles.BaseAssemblyTestNegative.xml", -"ConfigFiles.BaseAssemblyTestSingle.xml", -"ConfigFiles.BaseAssemblyTestWithout.xml", -"ConfigFiles.ComponentScan1.xml", -"ConfigFiles.ComponentScan2.xml", -"ConfigFiles.ComponentScan3.xml", -"ConfigFiles.ComponentScan31.xml", -"ConfigFiles.ComponentScan4.xml", -"ConfigFiles.ComponentScan5.xml", -"ConfigFiles.ComponentScan6.xml", -"ConfigFiles.ComponentScanAttributeConfigFalse.xml", -"ConfigFiles.ComponentScanAttributeConfigTrue.xml", -"ConfigFiles.TypeScannerTestAssignableExclude.xml", -"ConfigFiles.TypeScannerTestAssignableInclude.xml", -"ConfigFiles.TypeScannerTestAttributeExclude.xml", -"ConfigFiles.TypeScannerTestAttributeInclude.xml", -"ConfigFiles.TypeScannerTestCustomExclude.xml", -"ConfigFiles.TypeScannerTestCustomInclude.xml", -"ConfigFiles.TypeScannerTestRegExExclude.xml", -"ConfigFiles.TypeScannerTestRegExInclude.xml", -"ConfigFiles.TypeScannerTestRegExInclude2.xml", -"ConfigSectionPlaceholderConfigurer", -"ConfigSections", -"Configuration", -"Configuration section not found ", -"ConfigurationClass", -"ConfigurationImpl", -"ConfigurationNameSpace", -"ConfigureObject() configures externally managed instances and may run once per ", -"Connection.String", -"Context", -"Context Does Not Equal", -"Controller", -"ControllerImpl", -"Conversion from a string instance must be supported.", -"Copied a set with a null value into an array, but the resulting array did not contain a a null.", -"Core.IO/TestResource.txt", -"Correct circular reference", -"Could not get setter property for ObjectFactory", -"Couldn't pull manually registered instance out of the factory using factory method instantiation.", -"Couldn't pull manually registered instance out of the factory.", -"Count", -"Create", -"CreateInstance", -"CreateInstance", -"CreateList", -"CreateNewsFeed", -"CreateObject", -"CreateObjectDefinition with no parent is returning null (it must never do so).", -"CreateTestObject", -"Creations", -"Critical", -"Croatia", -"Ctor () for '", -"Ctor (Serialization) for '", -"Ctor (string) for '", -"Ctor (string, Exception) for '", -"Cult", -"CurrentObjectFactory", -"Custom IResource not registered.", -"Custom attribute (erroneously) applied to member method.", -"Custom attribute not applied to member method.", -"D", -"DAMJAN Tomic", -"DOB", -"DOB = date('1974-08-24')", -"DOB.Year", -"DOB.Year == 1856", -"DOb.YEar", -"Dad has correct name", -"Dad has not correct age", -"Dad has not correct name", -"Damjan Tomic", -"Dan", -"Daniela", -"DaoConfiguration", -"Darn. Should be supplying a rubbish non-existant resource. ", -"Data", -"Data/Spring/Objects/Factory/Xml/abstract.xml", -"DataRecordCtor", -"DataRowCtor", -"DatabaseConfiguration", -"Date", -"DateOfGraduation", -"DateTime", -"DateTime.MaxValue", -"DateTime.MinValue", -"DateTime.Today", -"DateTime.Today != DateTime.Today", -"DateTime.Today != date('1974-08-24')", -"DateTime.Today % false", -"DateTime.Today * false", -"DateTime.Today + false", -"DateTime.Today - false", -"DateTime.Today / false", -"DateTime.Today < date('1974-08-24')", -"DateTime.Today <= date('1974-08-24')", -"DateTime.Today == DateTime.Today", -"DateTime.Today == date('1974-08-24')", -"DateTime.Today > date('1974-08-24')", -"DateTime.Today >= date('1974-08-24')", -"DateTime.Today ^ false", -"DateTime.Today between {DateTime.Now, DateTime.Now}", -"DateTime.Today between {DateTime.Today, DateTime.Now}", -"Datum.Doctor.Company", -"Dave not same instance", -"Deborahs.Banjo", -"Debug", -"Declared", -"DefName", -"Default", -"Default type is not the XmlApplicationContext type; it must be.", -"DefaultCtor", -"DefaultCulture property is nulled out (it must).", -"DefaultName", -"DefaultString", -"Dell", -"Dell string not found in ISet", -"Dependency 'age' was not resolved using a named ctor arg.", -"Dependency 'doctor.Company' was not resolved using autowiring.", -"Dependency 'lawyer.Company' was not resolved using another named ctor arg.", -"Dependency 'name' was not resolved an indexed ctor arg.", -"Dependency 'name' was not resolved using a named ctor arg.", -"Dependency not wired in when using 'ref' attribute shortcut.", -"Dependency was not resolved pulling manually registered instance out of the factory using factory method instantiation.", -"DependsOn not as expected", -"DerivedConfiguration", -"DerivedDefinition", -"DerivedSingleMethodTestClass.ShadowedStaticMethod", -"Des is Spring.NET", -"Describe", -"Destroy", -"DestroyChild", -"DestroyTester", -"DestructionPostProcessor", -"Dictionary Value incorrect", -"Dictionary value incorrect", -"Dictionary['key1']", -"Dictionary['notthere']", -"Did not find two configuration classes", -"Did not receive expected IOException!", -"Did not receive the expected Count for object ", -"Did not throw expected ArgumentException.", -"Diddly", -"Dies ist Spring.NET", -"DisposableClass.Dispose()", -"DoFoo", -"DoIt", -"DoSomething", -"Doctor", -"Doctor.Company", -"Doctor.Company.Length", -"Doubled", -"Dr. Sueem", -"Duration Class Set/Get field value: {0}", -"Duration Direct: {0}", -"Duration SpEL: {0}", -"Duration Struct Set/Get field value: {0}", -"Duration: {0}", -"ELNOMBRE", -"Elvis Orten", -"Emma and georgia think they have a different boyfriend.", -"Emmas doesn't equal new ref.", -"Emmas jenks has right name", -"EmptyString", -"English", -"Enumerator invalidated by modification to collection.", -"Enumerator is not on a collection element.", -"Environment variable not expanded.", -"EnvironmentVariableMode", -"Erich", -"Error", -"Error creating object with name", -"Error creating object with name 'foo' : Unsatisfied dependency ", -"Error is for field age", -"Error registering object with name 'to' defined in '' : Could not resolve placeholder 'PROCESSOR_ARCHITECTURE'.", -"Error unloading AppDomain used during testing : ", -"Eva", -"Evans", -"EvenSum", -"Event Not Raised", -"Event Raised", -"Event raised", -"Event raised from ", -"EventListener Attribute not found", -"ExactMatch", -"Exception", -"Exception actualType as TestObject class", -"Exception actualType as TestObject.class", -"Exception encountered", -"Exception has correct object name", -"Exception occured in testtask on iteration ", -"Exception requiredType must be IObjectFactory class", -"Exception requiredType must be ObjectFactory.class", -"Execute", -"Exists should return false", -"Expected '{0}' contained in source, but not found. Source was {1}", -"Expected 2 items not ", -"Expected 3 elements, not ", -"Expected 3 items not ", -"Expected ArgumentException not thrown.", -"Expected ArgumentOutOfRangeException not thrown.", -"Expected Exception of type ArgumentException not thrown!", -"Expected Exception of type {0}, but was {1}", -"Expected FileSystemResource", -"Expected Message '{0}', but got '{1}'", -"Expected empty string", -"Expected fifth element to be \"item3\" not ", -"Expected first element to be \"al1\" not ", -"Expected first element to be \"item1\" not ", -"Expected first element to be \"string1\" not ", -"Expected fourth element to be \"item2\" not ", -"Expected index of 1 not ", -"Expected kerry's age to be 35", -"Expected name to be set to 'tom'", -"Expected rod's age to be 31", -"Expected second element to be \"al2\" not ", -"Expected second element to be \"item1andahalf\" not ", -"Expected second element to be \"item2\" not ", -"Expected second element to be \"item3\" not ", -"Expected second element to be \"string2\" not ", -"Expected third element to be \"item1\" not ", -"Expected third element to be \"item2\" not ", -"Expected third element to be \"item3\" not ", -"Expression", -"ExpressionOne", -"ExpressionTwo", -"ExpressionsDictionary", -"ExpressionsList", -"Extension '{0}' registered for type '{1}' expects {2} argument(s) including the receiver, but was called with {3}.", -"ExtensionTestFoo", -"ExtensionTestFoo.Describe()", -"ExtensionTestFoo.SpelExtension(1)", -"Extra check that the type is really passed on to the parent factory", -"FOO", -"FOo", -"FRAMEWORK", -"Factory called AfterPropertiesSet twice", -"Factory called PostProcessAfterInit before AfterPropertiesSet", -"Factory called PostProcessAfterInit twice", -"Factory called PostProcessBeforeInit after AfterPropertiesSet", -"Factory called PostProcessBeforeInit twice", -"Factory didn't call AfterPropertiesSet () on MustBeInitialized object", -"Factory didn't call ObjectFactory before AfterPropertiesSet on lifecycle object", -"Factory didn't call PostProcessBeforeInit before AfterPropertiesSet on lifecycle object", -"Factory didn't initialize lifecycle object correctly", -"Factory loaded from config was null.", -"Factory singleton", -"Factory was not initialized even though it implemented IInitializingObject", -"FactoryObject is ObjectFactoryAware", -"Failed to instantiate an instance of a valid Type.", -"Failed to read / write the value of a property with 'private' access.", -"Failed to read / write the value of a property with 'protected' access.", -"Failed to read in any properties at all (props is null).", -"Failed to read the value of a property with 'private' access.", -"Failed to read the value of a property with 'protected' access.", -"Fallback mode is not respecting previously set values.", -"FastValidate", -"Fatal", -"FavoriteColor", -"FavoriteName", -"FavoriteName[0]", -"Fedora", -"Feng", -"FileMode", -"FileModeEnum", -"FileMode[0]", -"Fiona", -"Fiona Apple", -"First", -"First friend must be jen, not ", -"First name", -"First name is required dude!", -"FirstName", -"Fluorescent lights", -"Fname", -"Foo", -"Foo(#var1)", -"Foo,,Bar", -"FooType", -"FooType.FullName", -"FooType.One", -"FooType.One == Type", -"Found element out of order while iterating over SortedSet", -"FourStringsAndAParamsCollectionOverload", -"Fourth error message", -"Friends", -"Friends[2]", -"Friends[5]", -"Frylock", -"Full", -"FullTrust", -"Funk", -"Funny", -"G", -"G5", -"GOODBYE", -"GORAN", -"Gabriel", -"Gacy", -"Georgias jenks has right name.", -"GetAge", -"GetDescription", -"GetGrub", -"GetInstance", -"GetNameWithHonorific", -"GetObject", -"GetObjectData", -"GetObjectDefinitionNames() should only return object definition names from this factory", -"GetObjectDefinitionNames(false) should only return object definition names from this factory", -"GetObjectDefinitionNames(true) should return object definition names from this factory and parents", -"GetPrivateMethod()", -"GetProtectedMethod()", -"GetPublicMethod()", -"Getting 'some (?) weird object out of an empty StaticMessageSource", -"Getting writeonly property should throw NotReadablePropertyException", -"Gizajoab", -"GoatsCheeseAndSoda", -"Goob", -"Goran", -"Goran Milosavljevic", -"Got back same instance after set operation.", -"Grand Poobah", -"Grandchild", -"Grandchild context not registered.", -"Grandchild context object not present (must be).", -"Grandchild's DisplayName property not picked up from config file.", -"Greenness", -"Greeting", -"Griffin", -"Griffin's Foosball Arcade", -"GrowOlder", -"GrowOlderUntilMaximumAgeReached", -"GrowOlderUntilMaximumAgeReachedAndSetStatusName", -"Guid", -"Guid.NewGuid().ToByteArray().Length", -"H", -"HELLO", -"HKEY_CURRENT_USER", -"HKEY_CURRENT_USER\\Software", -"HKEY_CURRENT_USER\\Software\\Microsoft", -"HKEY_CURRENT_USER\\sdgsdfgsdfgxadas\\Xyz\\Abc", -"HKEY_ERROR\\sdgsdfgsdfgxadas", -"HandlePop", -"HappyPlace", -"Harry's John Denver Records", -"Haruki Murakami", -"Has one error", -"HasGenericIDictionaryProperty", -"HasGenericIEnumerableProperty", -"HasGenericIListProperty", -"Hats", -"He who ha-ha ho-ho", -"Height of image wrong", -"Hello", -"Hello\nWorld", -"Hello ${firstname} ${lastname}!", -"Hello FirstName LastName!", -"Hello Mr. Anderson", -"Hello Static World from SingleMethodTestClass", -"Hello World", -"Hello {0} {1}", -"Hello, default", -"Hello, message1", -"HelloFoo", -"Hello\\nWorld", -"Hershey", -"Hey, do you want to hear the most annoying sound in the world? ${foo}! ${foo}!", -"Hey, do you want to hear the most annoying sound in the world? Mehhh! Mehhh!", -"Hi", -"Hi ", -"Hi Lebowski", -"Hi Rick, Mark, Griffin, Si, Choy, Aleks", -"Hi ya'll", -"HiEverybody", -"HiVoker", -"Hicks & Co", -"HiroProtagonist", -"Hiya", -"Home", -"Honeys[0][0]", -"Hoop", -"Hrvatska", -"Hsu", -"Hugo", -"HungerHurtsButStarvingWorks", -"HungerHurtsButStarvingWorks...", -"I Love You Laura Palmer, I Really Do", -"I could really go a cup of tea right now... in fact I think I'll go get one.", -"I'mAJumpedUpPantryBoy", -"I've never been to Taco Bell (sighs).", -"IBM T41", -"IBM T41 not found in ISet", -"ICollaborator", -"IEEE", -"IListableObjectFactory required...", -"Idvor", -"IfINeedYouIllJustUseYourSimpleName", -"IgnoreResourceNotFound", -"IgnoreUnresolvablePlaceholders", -"IncompatibleParametersForFooHandler", -"Incorrect type resolved.", -"Index out of range", -"Individual array elements not correctly converted (check the whitespace?).", -"Individual array elements not correctly converted.", -"Induction motor", -"Info", -"Information", -"Inheritance Tax", -"Init", -"Init1", -"InitChild", -"InitDestroyAttributeObjectPostProcessor", -"Injection of autowired dependencies failed", -"Inner", -"InstanceCreateTestObject", -"Instantiation", -"Int32.FullName", -"Int32.IsSubclassOf(Int64)", -"Int32.MaxValue", -"IntArray", -"Integer", -"InterfaceMethodWithArguments", -"InterfaceVirtualMethodWithNoArguments", -"Interferes with other fixtures", -"InternalValue", -"Invalid root hive name [HKEY_ERROR].", -"InvalidBoolean", -"InvalidByte", -"InvalidChar", -"InvalidDateTime", -"InvalidDecimal", -"InvalidDouble", -"InvalidFloat", -"InvalidGuid", -"InvalidInt16", -"InvalidInt32", -"InvalidInt64", -"Invalidly set property must retain old value", -"InvariantCulture", -"Invention One", -"Invention Two", -"Inventions", -"Inventions[3, 2]", -"Inventions[3]", -"Inventor", -"InventorValidator", -"Investigate details of new type weight algorithm", -"Invoke", -"Iron Brew", -"IsJITOptimizerDisabled should be set to false for Release builds.", -"IsJITOptimizerDisabled should be set to true for Debug builds.", -"IsJITTrackingEnabled should be set to false for Release builds.", -"IsJITTrackingEnabled should be set to true for Debug builds.", -"IsMember(#queryName)\n ? #queryName + ' is a member of the ' + Name + ' Society'\n : #queryName + ' is not a member of ' + Name + ' Society'", -"IsMember('Nikola Tesla') and !IsMember('Mihajlo Pupin')", -"IsMember('Nikola Tesla') and IsMember('Mihajlo Pupin')", -"IsMember('Nikola Tesla') or IsMember('Albert Einstien')", -"IsNullOrEmpty", -"IsSatisfied", -"IsSingleton", -"IsToParent property must default to false if not ", -"Isaac Newton", -"Isso e Spring.NET", -"IssueId", -"Italian", -"Item", -"Item[1]", -"Ivan CIKIC", -"Ivan Cikic", -"JCN", -"James", -"JeepersCreepersWhereDidYaGetThosePeepers", -"Jen not same instance", -"Jenny", -"Jenny Lewis", -"Jimmy", -"Jin", -"JobTitle", -"Joe", -"John", -"John Pryor's 'Leaving On A Jet Plane' LP", -"Joyce", -"Juergen", -"Juergen Hoeller", -"KERNEL32", -"KEY", -"KEY1", -"KEY2", -"KeY", -"Kerry", -"Kerry1", -"Kerry2", -"Key", -"Key1", -"Key2", -"Key3", -"Kissing Leads To Brain Disease", -"LName", -"LastName", -"Lawyer.Company", -"LazyInit", -"LazyTestObject, Count = [{0}]", -"League of Extraordinary Gentlemen", -"Lebowski", -"License", -"Lika", -"Line 21 in XML document", -"Line 3 in XML document from violates the schema.", -"Line 4 in XML document from is not well formed.", -"LinkedList", -"List['0\"]", -"List[0]", -"List[5]", -"List[6]", -"List[7]", -"List[HungerHurtsButStarvingWorks]", -"List[]", -"List[bingo]", -"Lloyd's Soul", -"Location", -"Lock Contention Blocked Successful Dispose of ObjectFactory!", -"Lock Contention Blocked Successful Instantiation of Singleton Test Object!", -"LogLevel", -"Long distance telephony & telegraphy", -"LowTrust", -"MAXResults", -"MIHAJLO PUPIN", -"MM/dd/yyyy", -"MYXML", -"Man!", -"Map element 'jenny' should be equal to jenny object, not ", -"Marija", -"Marija,Ana,Nadja", -"Mark", -"Mark Pollack", -"MarkerMethod", -"MarkerVirtualMethod", -"Mary", -"Master Shake", -"Max", -"MaxValue", -"Meatwad", -"MediumTrust", -"Mehhh", -"Members", -"Members.!{PlaceOfBirth.City}", -"Members.(Add(new Inventor('Ana Maria Seovic', date('2004-08-14'), 'Serbian')); RemoveAt(1); Count)", -"Members.?{PlaceOfBirth.City == 'Smiljan'}", -"Members[0].GetAge(date('2005-01-01'))", -"Members[0].Inventions[6]", -"Members[0].Name", -"MessageSource should not be set twice", -"Method 'Compute' with the specified number and types of arguments does not exist.", -"Method '{0}' with the specified number and types of arguments does not exist.", -"Method can't be proxied.", -"Method returning exception: {0}", -"Method should be defined in the proxy class.", -"Method should be overrided in the proxy class.", -"Method should have '.' in the name", -"Method throwing exception: {0}", -"Method1", -"MethodReturningString", -"MethodSignatureIsCompatibleStatic", -"MethodWithArguments", -"MethodWithArrayArgument(new string[] { 'a', 'b', 'c' })", -"MethodWithArrayArgument(new string[] { 'a', null, 'c' })", -"MethodWithAttributes", -"MethodWithNullableArgument", -"MethodWithOutParameter", -"MethodWithParamArray('a', 'b', 'c')", -"MethodWithParamArray('a', null, 'c')", -"MethodWithParamArray(false, 'a', 'b', 'c')", -"MethodWithParamArray(false, 'a', null, 'c')", -"MethodWithParamArray(true, 'a', 'b', 'c')", -"MethodWithParamArray(true, 'a', null, 'c')", -"MethodWithParamArray({String.Join(", -"MethodWithRefParameter", -"MethodWithSimilarArguments", -"MethodWithSimilarArguments(1, #bars)", -"Methods array should be empty.", -"Methods array should have two elements.", -"Michael Pupin", -"Microsoft", -"Mihajlo Pupin", -"Miki Nakatani", -"Milosavljevic", -"Mmm", -"Mmm, Spouse property appears to have been autowired by name, even though there is no object in the factory with a name 'Spouse'.", -"Mmm, the ContainsNamedArgument() method eveidently IS case sensitive (which is wrong).", -"Mmm...", -"Mmm... I can't convert from a string to a Type.", -"Mmm... I can't convert to a Type at all.", -"Mmm... just what counts as ${a malformed{ expression?", -"Mmm... managed to convert to a Type from a Type of this test. Boing!", -"Mmm... managed to convert to a Type from a bad type. Boing!", -"Mmm... managed to get a non null instance back from an empty instance.", -"Mmm... managed to get a non null instance back from an instance that should have now't at the specified index.", -"Mmm... managed to get a non null instance back from an instance that should have now't with the specified Type.", -"Mmm... pulled a null ILog instance from a properly configured LogFactoryObject instance.", -"Mmm... the LogFactoryObject class ain't giving back ILog types (it must).", -"MockApplicationContext", -"MockApplicationContextName", -"MockApplicationContextParent", -"MockMessageSource", -"Modlin", -"ModuleResolve", -"Mr ", -"Mr Isaac Newton Phd PPQ MC DJ", -"Mr Squiggle", -"Mr.", -"Ms ", -"Must be empty if null was passed to the ctor.", -"Must be looking at the RETURN TYPE of the factory method, ", -"Must be marked as [Serializable].", -"Must be null until explicitly set.", -"Must contain 2 exceptions", -"Must get non-null valueholder back if no required type is specified.", -"Must get null valueholder back if no required type is specified but only ", -"Must have bailed with a ", -"Must have been the same since one was filled up with the values in the other.", -"Must have failed to parse element with no key.", -"Must have got same collection as was passed in.", -"Must never be null, but rather just empty.", -"Must never return null (IFactoryObject contract).", -"Must not have any ctor args as none were passed in.", -"Must not have any property values as none were passed in.", -"Must return null if no Type is registered under the supplied alias.", -"My Fingers Turn To Fists", -"My First Web Method", -"My Message", -"My Properties", -"My Second Web Method", -"MyBaseProperty", -"MyCache", -"MyConst", -"MyContextAwareObject", -"MyCulture", -"MyDefaultMessage", -"MyEvent", -"MyEventHandlerMethod", -"MyFirstEvent", -"MyItem", -"MyMessage", -"MyNewMessage", -"MyNonExistantMessage", -"MyNullMessage", -"MyOverridenDerivedPropertyText", -"MyProperty", -"MySecondEvent", -"MyVirtualBaseProperty", -"MyVirtualBasePropertyText", -"NAME", -"NAmE", -"NIKOLA TESLA", -"NaMe", -"Nadja", -"Nails", -"Name", -"Name != null and Name.Length == 0", -"Name = #newName", -"Name = 'Aleksandar Seovic'", -"Name == 'Nikola Tesla'", -"Name == null or Name.Length == 0", -"Name dependency injected via IConfigurableObjectFactory (instance) failed (was 'Factory singleton').", -"Name dependency injected via IObjectFactory.ConfigureObject(instance) failed (was null).", -"Name is not set correctly", -"Name property value not applied.", -"Name that consisted solely of the factory object prefix is being reported ", -"Name that did start with the factory object prefix is not being reported ", -"Name that didn't start with the factory object prefix is being reported ", -"Name.Length", -"Name1", -"Name1,Name2,Name3", -"Name2", -"Name3", -"NameProperty", -"NameValues", -"Named argument placeholder value was not replaced.", -"Named context is null even though a context has been registered under the lookup name.", -"Named context was not the same as the registered context (it must be).", -"NamedArguments", -"Names", -"NamespaceParserRegistryTests_TestSchema.xsd", -"Naomi Woolf", -"Nationality", -"Nationality = 'Serbian'", -"Need prepared PreparedObjects!", -"Need to add Spring.TypeLoadException", -"Negative values are prohibited.", -"Nested set did not work.", -"Nested setting of primitive property did not work.", -"News", -"NickNameProperty", -"Nickname", -"Nikola Tesla", -"Nikola Tesla is a member of the IEEE Society", -"No DebugAttributes found in debug build", -"No attribute set should default to true", -"No context registered under name 'bingo'. Use the 'RegisterContext' method or the 'spring/context' section from your configuration file.", -"No context registered. Use the 'RegisterContext' method or the 'spring/context' section from your configuration file.", -"No longer expected behavior per SPRNET-1582 being resolved.", -"No objects defined --> array != null", -"No objects defined after no arg constructor", -"No objects must be defined straight off the bat.", -"No string definitions", -"No unique object of type [Spring.Objects.ITestObject] is defined : Expected single object but found 4", -"No unique object of type [System.Boolean] is defined : Unsatisfied dependency of type [System.Boolean]: expected at least 1 matching object to wire the [b2] parameter on the constructor of object [foo]", -"NoGenericArgument", -"NoParameter", -"NoSuchMethod", -"NoSuchMethod()", -"NoSuchObjectDefinitionException 'cos the object doesn't ", -"NoSuchProp", -"NonExistingString", -"None", -"Noob", -"Noone", -"Normal Hashtable: {0}", -"Not allowed to merge when the 'MergeEnabled' property is set to 'false'", -"Not defaulting to non null empty string value (it must).", -"Not defaulting to the culture of the current thread.", -"Not defaulting to typeof(Delegate).", -"Not falling back to the culture of the current thread after ", -"Not referencing same Object twice", -"Not returning a shared instance (Singleton = true).", -"Not returning distinct instances (Prototype = true).", -"Not returning the DefaultCulture (it must if the DefaultCulture ", -"Not returning the same instance to singleton object.", -"Not returning the same instance.", -"Not same instance", -"Not the same referencer", -"Nothing", -"Now", -"Null name that (obviously) didn't start with the factory object prefix is being reported ", -"NullArgument", -"NullableArgumentMatch", -"NullableDate", -"NullableInt", -"Number format exception: contains a ,", -"Number of singletons incorrect", -"OK", -"Object did not receive context closed event via IApplicationContextListener", -"Object did not receive context closed event via direct wiring.", -"Object did not receive context refreshed event via IApplicationListener", -"Object did not receive context refreshed event via direct wiring", -"Object equals applies", -"Object from child context", -"Object from root context", -"Object has external reference", -"Object previously added to StaticMessageSource ", -"Object previously added to StaticMessageSource was not retrieved ", -"Object returned from StaticMessageSource was not the same one ", -"Object wrapper must pick up changes", -"Object wrapper returns cached nested property value", -"Object wrapper returns cached property value", -"Object wrapper returns wrong nested property value", -"Object wrapper returns wrong property value", -"ObjectNumber", -"ObjectProp", -"ObjectType property value must only be set to a non null value ", -"Objects don't equal", -"OctopusOil : ", -"OddNumberOfParametersForFooHandler", -"Off", -"Officers[#prez]", -"Officers['advisors']", -"Officers['advisors'].!{Name}", -"Officers['advisors'].${Nationality == 'Serbian'}", -"Officers['advisors'].?{Nationality == 'Serbian'}", -"Officers['advisors'].^{Nationality == 'Serbian'}", -"Officers['advisors'][0]", -"Officers['advisors'][0].Inventions[2]", -"Officers['advisors'][0].PlaceOfBirth.Country", -"Officers['advisors'][1]", -"Officers['president']", -"Officers['president'].Name", -"Officers['president'].PlaceOfBirth.City", -"Officers['vp'] = Members[0]", -"Officers[Society.Advisors][0]", -"Officers[Society.Advisors][0].Inventions[2]", -"Officers[Society.President]", -"Officers[Society.President].PlaceOfBirth.City", -"Oh Muzzy!", -"OhThisWeirdBatGuySoldEmToMe...", -"Ohhh", -"Okay, the LogFactoryObject ain't returning shared instances (it should).", -"Old Age Pensioner", -"Old Goriot", -"OnClick", -"OnE", -"OnE,tWo", -"OnPing", -"OnPinged", -"One", -"One of either the 'TargetType' or 'TargetObject' properties is required.", -"One of the TargetType or TargetObject properties must be set.", -"One,Two", -"OneGenericArgument", -"OneParameter", -"Order", -"Order of PostConstruct not followed.", -"Ordering must now be strict when providing array of arguments for ctors", -"OverrideConfigurer", -"Overriden Name", -"Overriding Type was not registered.", -"Ovo je Spring.NET", -"P", -"PATH", -"POB", -"PROCESSOR_ARCHITECTURE", -"Param11", -"Param13", -"Param21", -"ParamArrayMatch", -"ParamOverloadedMethod", -"ParamsArguments", -"ParamsParameters", -"Parent", -"Parent Constructor", -"Parent Constructor wasn't called second!", -"Parent Destructor", -"Parent Destructor wasn't called third!", -"Parent context not registered.", -"Parent context object not present (must be).", -"Parent's DisplayName property not picked up from config file.", -"Parent's child dependency not set as expected", -"ParentMessageSource property must *never* be null.", -"ParentName property not initialized correctly by ctor.", -"Parse", -"Parser for Namespace {0} could not be auto-registered.", -"PartialKey", -"PassNullableArgumentStatic", -"PassReferenceArgumentStatic", -"PathMatcher", -"Pedulismus", -"Performance", -"PeriodicTable", -"PeriodictabLE", -"PerspirationShop", -"Pets", -"Phd, PPQ, MC, DJ", -"Piao", -"Ping", -"Pinging", -"PlaceOfBirth", -"PlaceOfBirth.City", -"PlaceOfBirth.CountRY", -"PlaceOfBirth.Country", -"PlaceholderConfigurer", -"PlaceholderPrefix", -"PlaceholderSuffix", -"Placeofbirth.COUNtry", -"Placeofbirth.city", -"PlayingYouALikeTheFoolYouAre", -"Pollack, Pinch, & Pounce", -"Pollack, Pounce, & Pulverise", -"Polyphase alternating-current system", -"Pong", -"Populated", -"PostContructTestObject1", -"PostContructTestObject2", -"PostContructTestObject3", -"PostContructTestObject4", -"PostContructTestObject5", -"PostContructTestObject6", -"PreDestroyTestObject1", -"PreDestroyTestObject2", -"PreDestroyTestObject3", -"PreDestroyTestObject4", -"PreDestroyTestObject5", -"PreparedArguments is null even before Prepare() is called; must NEVER be null.", -"PreparedArguments should revert to the empty object[] when set to null; must NEVER be null.", -"PrivateIndexer", -"PrivateMethod", -"PrivateNestedType", -"PrivateProperty", -"PrivateReadonlyProperty", -"Problematic due to framework differences", -"ProductTemplate", -"Prop1", -"Properties", -"Property", -"Property 'Type' on Target Attribute not set!", -"Property is not being set to the NEWed property on the subclass.", -"Property placeholder value was not replaced with the resolved value.", -"Property setting is not case insensitive with regard to the property name (and for CLS compliance it should be).", -"Property value is not of type ManagedList. Type = [", -"Property value was overridden, but a rubbish objectName root was supplied.", -"Property values were not applied to the existing instance.", -"PropertyName", -"PropertyPlaceholderConfigurerSectionTest", -"PropertyPlaceholderConfigurerSectionTest,PropertyPlaceholderConfigurerSectionGroupTest/PropertyPlaceholderConfigurerSectionGroupTestSection", -"PropertyResourceConfigurerTests.xml", -"PropertyValue: name='Age'; value=[12].", -"PropertyValues must be init'd to a non-null collection if not explicitly supplied.", -"PropertyValues must be init'd to an empty collection if not explicitly supplied.", -"Protected", -"ProtectedIndexer", -"ProtectedMethod", -"ProtectedNestedType", -"ProtectedProperty", -"Prototype", -"Prototype appears to be instantiated before the test is even run.", -"Prototype created at ", -"Prototype instantiated after call to PreInstantiateSingletons(); must NOT be.", -"Prototype instantiated after object definition registration (must NOT be).", -"Prototype references !=", -"Prototype was not instantiated.", -"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\\Northwind.mdb;User ID=Admin;Password=;", -"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\\Northwind.mdb;User ID=Admin;Password=Ernie;", -"Proxied instance was not recognized as such.", -"PublicIndexer", -"PublicMethod", -"PublicProperty", -"PublishAllEvents", -"PublishAllEventsAndSubscribeToSome", -"Rab", -"Radio", -"RaskolnikovsDilemma, System.StPetersburg", -"ReadOnlyObjectNumber", -"ReadStreamMultipleTimes", -"ReadonlyShadowedValue", -"RealLawyer", -"Received '", -"ReflectionPermission", -"ReflectionUtils.GetMethod would appear to be case sensitive.", -"ReflectionUtils.IsTypeVisible.AssemblyTestName", -"RegExp", -"RegisterObjectDefinitions", -"Registered non-IEventRegistry object under the default message source name, but ", -"Registered non-IMessageSource object under the default message source name, but ", -"Registry key [HKEY_CURRENT_USER\\sdgsdfgsdfgxadas] does not exist.", -"RegistryVariableSourceTests", -"RemoveAt", -"Repository", -"RepositoryImpl", -"RequiredAttributeType", -"Resolve", -"Resource '{0}' in assembly '{1}' not found", -"Resource content is not as expected", -"Resource must not be null", -"Resource should exist but it does not", -"Resource should not be null", -"ResourceHandlerConfigurer did not register a protocol handler with the ResourceHandlerRegistry", -"ResourceIdentifier", -"ResourceLoader Does Not Equal", -"ResourceSetMessageSource with ResourceManagers of base names = [Spring.Resources.Spring.Context.Tests]", -"Resources.Images", -"Resources.SampleResources", -"RespectsPermissionsPrivateMethod", -"RespectsPermissionsPublicMethod", -"Result", -"Result should not exist when invalid expression is null.", -"Result should not exist when valid expression is null.", -"Rick", -"Rick Evans", -"Rick, Mark, Griffin, Federico, Choy, Aleks", -"Rick, Mark, Griffin, Si, Choy, Aleks", -"Rob", -"Rob Harrop", -"Rod", -"Rod Johnson", -"Rod object is a TestObject", -"Rod object is not of type IObjectFactory; GetObjectInstance(rod, typeof (IObjectFactory)) should throw ObjectNotOfRequiredTypeException", -"Rod object is not of type ObjectFactory; getObjectInstance(rod, ObjectFactory.class) should throw ObjectNotOfRequiredTypeException", -"Rod object1 is a TestObject", -"Rod object2 is a TestObject", -"Roderick", -"Roo", -"Root context is null even though a context has been registered.", -"Root context name is different even though the root context has been registered under the lookup name.", -"Root context was not the same as the first context registered (it must be).", -"RootA", -"RootB", -"Rotating magnetic field principle", -"Rubbish environment variable not preserved as-is.", -"SPELL", -"SPR-1313", -"SPRNET-105", -"SPRNET-1134", -"SPRNET-1208", -"SPRNET-1242 Support for collection merging with generic collections", -"SPRNET-1381", -"SPRNET-1470 Setting property of type IList using without the @element-type specified fails.", -"SPRNET-1507 - Test 1", -"SPRNET-1507 - Test 2", -"SPRNET-171", -"SPRNET-198", -"SPRNET-21", -"SPRNET-55", -"SPRNET-89", -"SPRNET-944", -"SafePropertyTests_TestObject.vb", -"Sales", -"Sall", -"Sally", -"Sally Greenwood", -"SampleBaseClass.MyConstant", -"SampleBaseClass.SomeProtectedReadOnlyVal", -"SampleBaseClass.SomeReadOnlyVal", -"SampleDerivedClass.", -"SampleDerivedClass.SomeConfigVal", -"SampleEnumField", -"SampleEnumProperty", -"SampleFlagsEnumField", -"SampleFlagsEnumProperty", -"SamsoniteSuitcase", -"ScriptName", -"SeaBass said that? Well, if that guy over there is SeaBass...", -"Second", -"Secondary X-Ray radiation", -"SectionNames", -"See SPRNET-246", -"Seem to be able to convert from non-supported Type.", -"Serbia", -"Serbian", -"Serialization roundtrip must never result in null.", -"Serialization roundtrip yielded the wrong TargetType.", -"Serialization roundtrip yielded the wrong Type of object.", -"Serialization roundtrip yielded the wrong Value.", -"Service", -"ServiceImpl", -"Set operation modified the original sets.", -"Set[1]", -"Set[23]", -"Set[HungerHurtsButStarvingWorks]", -"Set[]", -"Setting readonly property should throw NotWritablePropertyException", -"Should count 6 objects, not ", -"Should define this method.", -"Should have 0 attribute applied to the target method.", -"Should have 1 attribute applied to the target method.", -"Should have 2 factories, not {count}.", -"Should have ONE remaining child object after dispose", -"Should have ONE remaining parent objects after dispose", -"Should have exactly ONE child object", -"Should have exactly ONE parent object", -"Should have got two object names, one of which is autogenerated.", -"Should have had 1 attribute applied to the method's parameter.", -"Should have had 1 attribute applied to the method's return value.", -"Should have had 1 attribute applied to the target type.", -"Should have had 1 custom attribute applied to the generated proxy type.", -"Should have had 2 attribute applied to the method's parameter.", -"Should have had 2 attribute applied to the method's return value.", -"Should have had 2 attribute applied to the target type.", -"Should have had 2 attributes applied to the method's parameter.", -"Should have no further object lifecycle behavior after child destruction!", -"Should have no further object lifecycle behavior after parent destruction!", -"Should have no remaining child objects after dispose", -"Should have no remaining parent objects after dispose", -"Should have parsed 2 named ctor args.", -"Should have parsed the 'age' ctor arg.", -"Should have parsed the 'name' ctor arg.", -"Should have raised an ObjectDefinitionStoreException by this point.", -"Should have returned code as default message.", -"Should have thrown NoSuchMessagException", -"Should have thrown ObjectCreationException", -"Should have thrown ObjectCreationException for context", -"Should have thrown ObjectDefinitionStoreException", -"Should have thrown XmlObjectDefinitionStoreException", -"Should have thrown exception", -"Should match '*'", -"Should match '*quatul*'", -"Should match '*tulate'", -"Should match 'Absqua*'", -"Should match 'Absquatulate'", -"Should match 'Absquatulate()'", -"Should match 'AddPeriodicElement'", -"Should match 'AddPeriodicElement(string, string)'", -"Should never be null (should default to typeof(Delegate)) ", -"Should not be destroyed before PreparedObjects", -"Should not have attribute applied to the method's parameter.", -"Should not have attribute applied to the method's return value.", -"Should not have attribute applied to the target method.", -"Should not have attribute applied to the target type.", -"Should not have thrown FatalObjectException", -"Should not have thrown exception", -"Should not match 'Absquatulate(string)'", -"Should not match 'AddPeriodicElement()'", -"Should not match 'AddPeriodicElement(string)'", -"Should not return the parent object definitions", -"Should return child object definitions", -"Should return only child object definitions", -"Should return the parent object definitions", -"Should throw AmbiguousMatchException", -"Should throw ArgumentException", -"Should throw ArgumentNullException", -"Should throw NotSupportedException", -"Should throw an error", -"Should throw an exception", -"Should throw exception when setting an invalid value", -"Shouldn't permit factory get on normal object", -"Shouldn't succeed with type mismatch", -"Shouldn't throw exception on getting valid instance", -"Shouldn't throw exception on getting valid instance with matching class : ", -"Shouldn't throw exception on valid empty", -"Shouldn't throw exception other than PropertyAccessExceptions. Exception Message = ", -"Sibling", -"SimpleIndexer", -"SimpleProperty", -"SimpleScanTest.xml", -"Single", -"SingleMethodTestClass.ShadowedStaticMethod", -"Singleton", -"Singleton appears to be instantiated before PreInstantiateSingletons() is invoked.", -"Singleton appears to be instantiated before the test is even run.", -"Singleton from factory has correct name, not ", -"Singleton references ==", -"Singleton was instantiated by the container (it must NOT be 'cos LazyInit was set to TRUE).", -"Singleton was not instantiated by the container (it must be).", -"SingletonDefinitionWithFactory", -"SingletonObjectDefinition", -"Size", -"Smiljan", -"Snow", -"So sad... to be all alone in the world", -"Society", -"Society.ByteConst == 1", -"Software", -"Soltan Gris", -"SomeDate", -"SomeDictionary", -"SomeExcludeType", -"SomeGenericIDictionaryStringInt32", -"SomeGenericIEnumerableInt32", -"SomeGenericIListInt32", -"SomeGenericStringList", -"SomeIncludeConfiguration1", -"SomeIncludeType1", -"SomeIncludeType2", -"SomeKindOfWonderful", -"SomeList", -"SomeMap", -"SomeMethod", -"SomeMethodA", -"SomeMethodB", -"SomeName", -"SomeNameValueCollection", -"SomeOtherString", -"SomeProperty", -"SomeSet", -"SomeString", -"SomeString1", -"SomeString2", -"SomeString3", -"SomeValue", -"Sonar", -"SortOrder", -"SourDough", -"SourceDictionary", -"SourceList", -"SourceSet", -"Space", -"Spanglish", -"Specifically attribute set to false should set to false", -"Specifically attribute set to true should set to false", -"SpelExtension", -"SpelExtension(1)", -"Sponglish", -"Spous", -"Spouse", -"Spouse.Age", -"Spouse.Spouse", -"Spouse.Spouse.Age", -"Spring", -"Spring.Collections.LinkedList, Spring.Core", -"Spring.Collections.LinkkkedList", -"Spring.Context.Tests", -"Spring.Core Tests", -"Spring.Core.", -"Spring.Core.IO.TestResource.txt", -"Spring.Core.IO.UrlResource, Spring.Core", -"Spring.Core.IO.UrrrrlResource, Spring.Core", -"Spring.Core.Tests", -"Spring.Core.Tests/Spring.Core.IO/TestResource.txt", -"Spring.Data", -"Spring.Data is already loaded - this test checks if it gets loaded during xml parsing", -"Spring.Expressions.SyntaxErrorException", -"Spring.Expressions.TestObjectContainer, Spring.Core.Tests", -"Spring.NET", -"Spring.Objects.DerivedTestObject#", -"Spring.Objects.Factory.Attributes.MyRequiredAttribute, Spring.Core.Tests", -"Spring.Objects.Factory.Bar, Spring.Core.Tests", -"Spring.Objects.Factory.Config.FinalFielder.Name", -"Spring.Objects.Factory.Config.FinalFielder.Name, Spring.Core.Tests", -"Spring.Objects.Factory.Config.FinalFielder.Rubbish, Spring.Core.Tests", -"Spring.Objects.Factory.Config.PropertyObject.Age", -"Spring.Objects.Factory.Config.PropertyObject.Age, Spring.Core.Tests", -"Spring.Objects.Factory.Config.PropertyObject.StaticProperty.Age, Spring.Core.Tests", -"Spring.Objects.Factory.Config.PropertyObject.StaticProperty.Item, Spring.Core.Tests", -"Spring.Objects.Factory.Config.PropertyObject.StaticProperty.StaticProperty.Item, Spring.Core.Tests", -"Spring.Objects.Factory.Config.VariablePlaceholderConfigurer, Spring.Core", -"Spring.Objects.Factory.TestResource.txt", -"Spring.Objects.FooBarTestObject", -"Spring.Objects.TestGenericObject< ,>", -"Spring.Objects.TestGenericObject< int, string>", -"Spring.Objects.TestGenericObject, System, string>", -"Spring.Objects.TestGenericObject", -"Spring.Objects.TestGenericObject>", -"Spring.Objects.TestObject", -"Spring.Objects.TestObject#", -"Spring.Objects.TestObject, Spring.Core.FooTests", -"Spring.Objects.TestObject, Spring.Core.Tests", -"Spring.Proxy.IAnotherMarkerInterface.MarkerMethod", -"Spring.Proxy.IApplicationInterface.ApplicationMethod", -"Spring.Proxy.IFrameworkInterface.FrameworkMethod", -"Spring.Proxy.ISomeMarkerInterface.MarkerMethod", -"Spring.Proxy.ITargetObjectTest.InterfaceMethodWithArguments", -"Spring.Proxy.ITargetObjectTest.InterfaceVirtualMethodWithNoArguments", -"Spring.Resources", -"Spring.Resources.SampleResources", -"Spring.Resources.Tesla", -"Spring.Stereotype.ServiceAttribute, notvalid", -"Spring.TestResource.txt", -"Spring.TestResource.txt,", -"Spring.TestResource.txt, ", -"Spring.TestResource.txt, FooAssembly", -"Spring.TestResource.txt, Spring.Core.Tests", -"Spring.Util.IFoo.Spanglish", -"Spring.Util.ReflectionUtilsObject::Spanglish(System.String,System.Object[])", -"Spring/Context/Support/SPRNET-192.xml", -"Spring/Objects/Factory/Config/PPC-SPRNET-55.xml", -"Spring:bbaia\\sprnet", -"Spring\\bbaia", -"Spring\\bbaia:sprnet", -"Sqrt", -"Srbin", -"Static", -"StaticHandlePop", -"StaticMessageSource : ['code1_", -"StaticMethod1", -"Sternhammer", -"Steve", -"Stored a value at a specified index, and got it (or rather something) back when retrieving it with the wrong Type specified.", -"Stored a value at a specified index, but got null when retrieving it.", -"Stored a value of a specified Type at a specified index, but got null when retrieving it using the wrong index but the correct Type.", -"Stored a value of a specified Type under a name, but got null when retrieving it using the wrong name but the correct Type.", -"Stored a value of a specified Type, but got null when retrieving it using said Type.", -"Strategy1", -"Strategy2", -"Stream should be null", -"String", -"String.Empty", -"String.Empty name that (obviously) didn't start with the factory object prefix is being reported ", -"StringArray", -"StringArray length = 4", -"StringProp", -"StringUtils.StripFirstAndLastCharacter(\"B\") should return String.Empty.", -"StringUtils.StripFirstAndLastCharacter(\"BF\") should return String.Empty.", -"StringUtils.StripFirstAndLastCharacter(String.Empty) should return String.Empty.", -"StringUtils.StripFirstAndLastCharacter(null) should return String.Empty.", -"Stuff", -"Stuffed a null value into the set but didn't get it back when enumerating over the set.", -"Sue", -"Sum can only be calculated for a collection of numeric values.", -"SunnyDayPath", -"Supertypes", -"Supertypes2", -"Susan", -"Synced Hashtable: {0}", -"Syntax Error on line 1, column 6: expecting ''', found '' in expression", -"System.Boolean", -"System.Collections.Generic.List>", -"System.Collections.Generic.List<[string]>", -"System.Collections.Generic.Stack< Spring.Objects.TestGenericObject >, System", -"System.Collections.Generic.Stack< [Spring.Objects.TestGenericObject, Spring.Core.Tests] >, System", -"System.Collections.Generic.Stack, System", -"System.Collections.Generic.Stack`1[ [Spring.Objects.TestGenericObject`2[int, string], Spring.Core.Tests] ], System", -"System.ComponentModel.DateTimeConverter", -"System.DBNull.Value", -"System.Data.IDbConnection, System.Data", -"System.Data.OracleClient", -"System.Data.SqlClient", -"System.DateTime", -"System.Globalization.CultureInfo", -"System.Globalization.CultureInfo.CURRENtUiCultURE, Mscorlib", -"System.Int32", -"System.Int32&", -"System.Nullable<[System.Int32, mscorlib]>[,]", -"System.Nullable<[System.Int32, mscorlib]>[,], mscorlib", -"System.Nullable`1[[System.Int32, mscorlib]][,], mscorlib", -"System.Nullable`1[int][,]", -"System.String", -"System.Type.Delimiter", -"System.Type.emptytyPES, Mscorlib", -"Systemm.Date", -"Systemm.DateTime", -"T", -"T (a)", -"T(", -"T( a . b )", -"T('a')", -"T(DateTime)", -"T(Spring.Expressions.ExpressionEvaluator, Spring.Core)", -"T(System.Collections.Generic.Dictionary`2[System.String,System.Boolean],mscorlib)", -"T(System.Collections.Generic.Dictionary`2[string,bool],mscorlib)", -"T(System.DateTime)", -"T(System.DateTime) == DOB.GetType()", -"T(System.DateTime[,])", -"T(System.DateTime[,], mscorlib)", -"T(System.DateTime[])", -"T(System.DateTime[], mscorlib)", -"T(System.Int32).FullName", -"T(System.Int32).MaxValue", -"T(System.Nullable`1[[System.Int32, mscorlib]][,], mscorlib)", -"T(System.Nullable`1[[int]], mscorlib)", -"T(System.Text.RegularExpressions.RegexOptions).IgnoreCase and #ALL", -"T(System.Text.RegularExpressions.RegexOptions).IgnoreCase or T(System.Text.RegularExpressions.RegexOptions).Compiled", -"T(System.Text.RegularExpressions.RegexOptions).IgnoreCase xor T(System.Text.RegularExpressions.RegexOptions).Compiled", -"T(T(a))", -"T(a T(b)", -"T(a in b)", -"T(a'b'c)", -"T(a)", -"T(a):", -"T(a,b=1.2.3)", -"T(a:b)", -"T(a)", -"T(in)", -"T(int[])", -"T({0})", -"T({0}).ShadowedStaticMethod()", -"T({0}).StaticMethod()", -"TEMP", -"TEMP;TMP;USERNAME;OS;COMPUTERNAME", -"TODO: this works as expected when run using TD.NET & R# (in VS2k8), but fails with nant/NET 2.0 ?!?", -"TWO", -"TYPES", -"Target 'incompatibleProxy' is a transparent proxy that does not support methods of 'Spring.Objects.ITestObject'.", -"Target 'target' is null and target method 'Spring.Objects.ITestObject.GetDescription' is not static.", -"Target 'target' is null.", -"Target 'target' of type 'System.Object' does not support methods of 'Spring.Objects.ITestObject'.", -"TargetDictionaryType", -"TargetListType", -"TargetMethod", -"TargetObject", -"TargetProperty", -"TargetSetType", -"TargetType", -"Telephone repeater", -"Terese Raquin", -"Tesla coil transformer", -"Tesla, Nikola", -"Test concluded successfully.", -"Test fails -- waiting for verification re: if bug exists in Java impl", -"Test message", -"Test to reproduce SPRNET-408", -"Test to reproduce SPRNET-462", -"Test to reproduce SPRNET-464", -"Test to reproduce SPRNET-470", -"Test1", -"Test2", -"Test3", -"Test4", -"TestDriven.TestRunner.Server", -"TestObject", -"TestObjectFactoryDefinition", -"TestProperty", -"TestType", -"TestingThread", -"Text", -"That John Denver... he's full of ${bleep}.", -"That John Denver... he's full of .", -"The 'GenericArgumentValues' property was not initialised.", -"The 'IndexedArgumentValues' property was not initialised.", -"The 'LogName' property has not been set.", -"The 'NamedArgumentValues' property was not initialised.", -"The 'ObjectName' property was not serialized / deserialized correctly.", -"The 'ResourceDescription' property was not serialized / deserialized correctly.", -"The 'SourceDictionary' property cannot be null (Nothing in Visual Basic.NET).", -"The 'SourceList' property cannot be null (Nothing in Visual Basic.NET).", -"The 'SourceSet' property cannot be null (Nothing in Visual Basic.NET).", -"The 'TargetMethod' property is required.", -"The 'TargetObjectName' property must have a value.", -"The ControlFlowFactory ", -"The ControlFlowFactory factory class is returning a ", -"The CreateNewsFeed() method is not being replaced.", -"The CreateTestObject() method is not being replaced.", -"The Drink Of Champions", -"The IControlFlow implementation created by the ControlFlowFactory factory ", -"The IControlFlow implementation created by the ControlFlowFactory factory class ", -"The LogFactoryObject class must be configured to return shared instances (it currently ain't).", -"The ReflectionUtils.GetTypes method did not return a correct Type [] array. Yep, that's as helpful as it gets.", -"The ReflectionUtils.GetTypes method returned a Type [] that had some elements in it when given an empty array. Must return an empty Type [] array.", -"The ReflectionUtils.GetTypes method returned a Type [] that had some elements in it when given null. Must return an empty Type [] array.", -"The ReflectionUtils.GetTypes method returned null when given an empty array. Must return an empty Type [] array.", -"The ReflectionUtils.GetTypes method returned null when given null. Must return an empty Type [] array.", -"The Rockies! Brrr...", -"The TargetProperty property is required.", -"The Type passed to the TargetDictionaryType property cannot be abstract (MustInherit in VisualBasic.NET); it must be a concrete class that implements the 'System.Collections.IDictionary' interface.", -"The Type passed to the TargetDictionaryType property cannot be an interface; it must be a concrete class that implements the 'System.Collections.IDictionary' interface.", -"The Type passed to the TargetDictionaryType property must implement the 'System.Collections.IDictionary' interface.", -"The Type passed to the TargetListType property cannot be abstract (MustInherit in VisualBasic.NET); it must be a concrete class that implements the 'System.Collections.IList' interface.", -"The Type passed to the TargetListType property cannot be an interface; it must be a concrete class that implements the 'System.Collections.IList' interface.", -"The Type passed to the TargetListType property must implement the 'System.Collections.IList' interface.", -"The Type passed to the TargetSetType property cannot be abstract (MustInherit in VisualBasic.NET); it must be a concrete class that implements the 'Spring.Collections.ISet' interface.", -"The Type passed to the TargetSetType property cannot be an interface; it must be a concrete class that implements the 'Spring.Collections.ISet' interface.", -"The Type passed to the TargetSetType property must implement the 'Spring.Collections.ISet' interface.", -"The bare file name all by itself must have resolved to a file in the current ", -"The event handler did not get notified when the event was raised.", -"The event handler was not get notified exactly once when the event was raised exactly once.", -"The file name with file://~ must have resolved to a file ", -"The file name with file://~/.. must have resolved to a file ", -"The file name with ~/ must have resolved to a file ", -"The first named argument setter is sticking; must allow itslf to be overwritten.", -"The instance handler did not get notified when the instance event was raised (and was probably not wired up in the first place).", -"The instance handler did not get notified when the static event was raised (and was probably not wired up in the first place).", -"The instantiated instance was not an instance of the Type that was passed in.", -"The instantiated instance was not an instance of the type that was passed in.", -"The listener was (incorrectly) notified of an event that wasn't raised.", -"The listener was (incorrectly) notified of the raised event.", -"The listener was not notified of the raised event.", -"The listener was not notified of the raised event.", -"The listener was notified more than once for a single raising of the source event (registered to listen more than once?)", -"The named argument 'southpaw' could not be found on the 'GrowOlder' method of class [Spring.Objects.Support.MethodInvokerTests+Foo].", -"The named argument previously added could not be pulled from the ctor arg collection.", -"The original IResource Type associated with the 'beep' protocol ", -"The protected CreateNewsFeed() method is not being replaced.", -"The prototype instance handler did not get notified when the instance event was raised (and was probably not wired up in the first place).", -"The proxy generated by a (valid) call to BuildProxy() was null.", -"The quick brown fox jumped over the lazy dogs.", -"The retrieved value was not the exact same instance as was added.", -"The second named argument was not applied (it must be).", -"The single good property in the property values should have been set though...", -"The type alias was not registered by the TypeAliasesSectionHandler.", -"The value of the named argument passed in is not the same as the one that was pulled out.", -"The value stored at the specified index was not the exact same instance as was added.", -"TheAgony", -"TheFirstAlias", -"TheFirstAlias,TheSecondAlias", -"TheImported", -"TheMethod", -"TheName", -"TheSecondAlias", -"The_SeaBass_Diner", -"There are 17 steps to winding up a bird chronicle correctly", -"There were some arguments in a newly initialised instance.", -"They are object equal.", -"They object equal direct ref.", -"Third", -"Third error message", -"This Is", -"This Is Eva Green", -"This argument is incompatible with any of the Fable ctors.", -"This is Spring.NET", -"This is an empty expression ${}...", -"This test needs to feed off of a base resource that explicitly *doesn't* exist; but the resource seems to exist anyway.", -"ThisArg1", -"ThisArg2", -"ThisLastPropertyValue", -"ThisOptionalArg", -"ThisParamsArgs", -"ThreadId should be an integer", -"ThreeStringsOverload", -"ToString", -"ToString not as expected", -"ToString('d')", -"ToString('dummy', null)", -"ToString('m')", -"ToString('n')", -"ToString()", -"ToStringilyLingily()", -"Today", -"Tony", -"Touchy", -"Trace", -"TransactionOption", -"Transparent proxy IApplicationContextAwareAware object was not ignored (must be).", -"Transparent proxy IMessageSourceAware object was not ignored (must be).", -"Transparent proxy IResourceLoaderAware object was not ignored (must be).", -"TriggerDateTime", -"Tripled", -"Tristan", -"Trunk", -"Trusty SNES", -"Two", -"Two PostContruct methods defined, need to have two method calls.", -"TwoGenericArguments", -"TwoParameters", -"TwoStringsAndABoolOverload", -"Type", -"Type == 'One'", -"Type == 'Two'", -"Type == FooType.One", -"TypeAliasConfigurer did not register a type alias with the TypeRegistry", -"TypeAliases", -"TypeExclusionPredicates", -"TypeInclusionPredicates", -"TypeRegistry already contains an alias for the type being tested (it must not).", -"TypeRegistry.RegisterType(int, string)", -"TypeRegistry.RegisterType(null)", -"TypeRegistry.RegisterType(null, 'System.Object')", -"TypeRegistry.RegisterType(null, null)", -"TypeRegistry.RegisterType(null, null, null)", -"TypeSources", -"TypedFriends", -"URL [file:///C:/temp]", -"URL [http://www.springframework.net/index.html]", -"URL [http://www.springframework.net/samples/artfair/demo/index.html]", -"URL [http://www.springframework.net/samples/artfair/index.html]", -"URL [http://www.springframework.net/samples/calculator/index.html]", -"Udo", -"Umberto Eco", -"Unable to determine which exact method to call; found '2' matches.", -"Uncle", -"Uncle Elvis", -"Understands", -"Unit tests for Spring.Core assembly", -"UnsupportedObjectDefinitionImplementation_Resource", -"UseCodeAsDefaultMessage", -"Using inheritance proxying, so the proxied object must inherit from the base type.", -"V", -"Val1", -"Valid", -"Valid empty has defaults", -"ValidBoolean", -"ValidByte", -"ValidChar", -"ValidDateTime", -"ValidDateTimeUtcRoundtripFormatted", -"ValidDecimal", -"ValidDouble", -"ValidFloat", -"ValidGuid", -"ValidInt16", -"ValidInt32", -"ValidInt64", -"ValidString", -"Validation should fail when all inner validators return false.", -"Validation should fail when all inner validators return true.", -"Validation should fail when single inner validator returns true.", -"Validation should not succeed when multiple inner validators return true.", -"Validation should succeed when all inner validators return true.", -"Validation should succeed when condition validator is not evaluated.", -"Validation should succeed when group validator is not evaluated.", -"Validation should succeed when regex validator is not evaluated.", -"Validation should succeed when required validator is not evaluated.", -"Validation should succeed when single inner validator returns true.", -"Validators", -"Validly set property must stick", -"Value", -"Value cannot be less than Count.", -"Value1", -"Value2", -"Value: {0}", -"VariableSources", -"Variables", -"VbTestObject", -"VbTestObject.dll", -"Vera", -"Verbose", -"Visual Studio liebt Spring.NET", -"Visual Studio loves Spring.NET", -"Visual Studio voli Spring.NET", -"VisualBasic", -"VoidRetvalMethod", -"WARN", -"WalkingTall", -"Wallpaperer", -"Warn", -"Warning", -"Was destroyed", -"Was not satisified with a method that takes a base class as a parameter.", -"Was not satisified with a method that takes a parameter array ('params') as a parameter.", -"Was not satisified with a method that takes a whole buncha parameters.", -"Was not satisified with a method that takes no parameters by default.", -"Was satisified with a (bad) method that takes a whole buncha parameters.", -"Was satisified with a method that only matches on the final parameter.", -"Was satisified with null.", -"We have rejected age in exception", -"We should have {count} objects for class {typeof(TestObject).FullName}, not {defnames.Count}.", -"We should have {count} objects, not {defnames.Count}.", -"WebMethod", -"Weekend", -"Which", -"WickedSpanglish", -"Width of image wrong", -"Win", -"Wireless communication", -"Woppadoosa", -"WrapperObject", -"WriteonlyShadowedValue", -"Wrong (child context) object present in Parent context.", -"Wrong (parent context) object present in Child context.", -"Wrong (parent context) object present in Grandchild context.", -"Wrong Attribute applied to the class.", -"Wrong System.Type of Attribute applied to the generated proxy type.", -"Wrong System.Type of Attribute applied to the method's parameter.", -"Wrong System.Type of Attribute applied to the method's return value.", -"Wrong System.Type of Attribute applied to the target method.", -"Wrong System.Type of Attribute applied to the target type.", -"Wrong name", -"Wrong number of IObjectPostProcessors being reported by the ObjectPostProcessorCount property.", -"Wrong number of elements in the resulting array.", -"Wrong number of properties read in.", -"Wrong object value assigned to the 'rick' key.", -"Wrong object value assigned to the 'uncleelvis' key.", -"Wrong value assigned to value of dictionary.", -"Wrong value for overridden property (was not overridden", -"Wrong value for second property", -"Wulf", -"X", -"XmlApplicationContextTests-SPRNET1231.xml", -"XmlAssemblyTypeScanner.Test.Include1.DoNotIncludeAttribute, Spring.Core.Tests", -"XmlAssemblyTypeScanner.Test.Include1.IFunny, Spring.Core.Tests", -"XmlAssemblyTypeScanner.Test.Include1.NotValid, Spring.Core.Tests", -"XmlAssemblyTypeScanner.Test.Include1.TestFilter, Spring.Core.Tests", -"XmlAssemblyTypeScanner.Test.Include2.DoIncludeAttribute, Spring.Core.Tests", -"XmlAssemblyTypeScanner.Test.Include2.FunnyAbstract, Spring.Core.Tests", -"YEarS", -"Yakov Petrovich Golyadkin", -"Year", -"Year == 1856", -"You don't actually have a file called '{0}.txt' in your user directory do you?", -"Z", -"[", -"['boolValue']", -"['cityOfBirth']", -"['countryOfBirth']", -"['dateofgraduation']", -"['dob']", -"['inventions']", -"['name']", -"[0]", -"[1, 'test']", -"[1]", -"[:Hi]", -"[A-Z]", -"[A-Z]*", -"[A-Z][a-z]*", -"[A-Za-z]", -"[Assertion failed] - this expression must be true", -"[Hi]", -"[Spring.Util.ReflectionUtilsTests] does not derive from the [System.Attribute] class.", -"[]<>", -"[a,b]", -"[a-z]", -"[a-z]*\\s[a-z]*", -"[a]", -"[test,<,>>[]]]", -"\\", -"\\.", -"\\\\server\\share\\dummy.txt", -"\\\\server\\share\\index.html", -"\\\\server\\share\\samples\\artfair\\dummy.txt", -"\\bbaia:", -"\\bbaia:sprnet", -"\\foo.dat", -"\\index.html", -"\\s*", -"]", -"]%", -"].", -"^([\\w-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([\\w-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$", -"^Ping$", -"^{", -"^{a}", -"_", -"_CUSTOM", -"_SampleConfig.xml", -"_WhenConfigFileIsNotValid.xml", -"_WhenConfigFileIsValid.xml", -"_config1.xml", -"_privateField", -"_privateReadonlyField", -"_protectedField", -"_publicField", -"`", -"a", -"a\tb\t~", -"a\n b ~", -"a\nb\tc d", -"a \t b ~", -"a 'b'", -"a ^ {b}", -"a and b or c xor d", -"a b c", -"a between b", -"a in b", -"a is b", -"a like b", -"a matches b", -"a try for a stress", -"a ~", -"a!{b}?{c}^{d}${e}", -"a()", -"a(b,c)", -"a(b;c)", -"a)", -"a+-b", -"a,b", -"a- -b", -"a--b", -"a.", -"a..b", -"a.5", -"a.b(c)(d;e)", -"a.in", -"a.new", -"a.true", -"a789g70002343", -"a;b", -"a<=b", -"a,>aa", -"asdfasfadf", -"assembler", -"assembly://", -"assembly://Spring.Core.Tests,Spring.TestResource.txt", -"assembly://Spring.Core.Tests/Spring.Context.Attributes/ObjectDefinitions.xml", -"assembly://Spring.Core.Tests/Spring.Context.Attributes/ObjectDefinitionsTwo.xml", -"assembly://Spring.Core.Tests/Spring.Context.Support/contextA.xml", -"assembly://Spring.Core.Tests/Spring.Context.Support/contextB.xml", -"assembly://Spring.Core.Tests/Spring.Context.Support/contextC.xml", -"assembly://Spring.Core.Tests/Spring.Context.Support/innerObjectsWithPostProcessor.xml", -"assembly://Spring.Core.Tests/Spring.Context.Support/invalidType.xml", -"assembly://Spring.Core.Tests/Spring.Context.Support/invalidValueType.xml", -"assembly://Spring.Core.Tests/Spring.Context.Support/objects.xml", -"assembly://Spring.Core.Tests/Spring.Context.Support/simpleContext.xml", -"assembly://Spring.Core.Tests/Spring.Context/contextlifecycle.xml", -"assembly://Spring.Core.Tests/Spring.Core.IO/TestResource.txt", -"assembly://Spring.Core.Tests/Spring.Core.TypeResolution/aliasedObjects.xml", -"assembly://Spring.Core.Tests/Spring.Data.Spring.Objects.Factory.Config/non-existent.properties", -"assembly://Spring.Core.Tests/Spring.Data.Spring.Objects.Factory.Config/one.properties", -"assembly://Spring.Core.Tests/Spring.Data.Spring.Objects.Factory.Config/two.properties", -"assembly://Spring.Core.Tests/Spring.Objects.Factory.Attributes/ByQualifierAttributeObjects.xml", -"assembly://Spring.Core.Tests/Spring.Objects.Factory.Attributes/ByQualifierObjects.xml", -"assembly://Spring.Core.Tests/Spring.Objects.Factory.Attributes/ByTypeFailObjects.xml", -"assembly://Spring.Core.Tests/Spring.Objects.Factory.Attributes/ByTypeNormalObjects.xml", -"assembly://Spring.Core.Tests/Spring.Objects.Factory.Attributes/ByTypeNotRequiredObjects.xml", -"assembly://Spring.Core.Tests/Spring.Objects.Factory.Attributes/ByTypePrimaryObjects.xml", -"assembly://Spring.Core.Tests/Spring.Objects.Factory.Attributes/ByValueObjects.config", -"assembly://Spring.Core.Tests/Spring.Objects.Factory.Attributes/ByValueObjects.xml", -"assembly://Spring.Core.Tests/Spring.Objects.Factory.Attributes/CollectionObjects.xml", -"assembly://Spring.Core.Tests/Spring.Objects.Factory.Attributes/RequiredWithAllRequiredPropertiesProvided.xml", -"assembly://Spring.Core.Tests/Spring.Objects.Factory.Attributes/RequiredWithCustomAttribute.xml", -"assembly://Spring.Core.Tests/Spring.Objects.Factory.Attributes/RequiredWithOneRequiredPropertyOmitted.xml", -"assembly://Spring.Core.Tests/Spring.Objects.Factory.Attributes/RequiredWithThreeRequiredPropertiesOmitted.xml", -"assembly://Spring.Core.Tests/Spring.TestResource.txt", -"assembly://Spring.Core.Tests/Spring/TestResource.txt", -"assembly://Spring.Core.Tests/Xyz/InvalidResource.txt", -"assembly://Spring.Core/Spring.Objects.Factory.Xml/spring-objects-1.3.xsd", -"assembly://Spring.Core/Spring.Validation.Config/spring-validation-1.3.xsd", -"assembly://Xyz.Invalid.Assembly/Spring/TestResource.txt", -"assembly://foo", -"autowire.xml", -"average()", -"a|b", -"a|b|c", -"a||c", -"b", -"b2", -"ba", -"ba${foo}r", -"bad chair, bad chair", -"bad-external-resources.xml", -"bad-named-constructor-arg.xml", -"bar", -"bar1,bar2,bar3", -"bars", -"baseUri=", -"baz", -"bbaia", -"bbaia:sprnet", -"bbb", -"bd1", -"bd2", -"bday", -"beep", -"beep://Spring.Core.Tests/Spring/TestResource.txt", -"beep://foo.xml", -"bing", -"bingo", -"bla", -"blabla", -"blah", -"blechh${shudder", -"bleep", -"boPrototype", -"boSingleton", -"boba.licious", -"bogus", -"bogusParent", -"bojangles", -"bool", -"boolValue", -"bubblechamber", -"c", -"c:\\dummy.txt", -"c:\\index.html", -"c:\\samples\\artfair\\dummy.txt", -"capacity", -"carbon", -"ccValidator", -"ccc", -"char.MinValue", -"child", -"child-name", -"child.xml", -"childAppCtx", -"childContext", -"childWithList", -"childWithListInConstructor", -"childWithListOfRefs", -"childWithListOfRefsInConstructor", -"childWithMap", -"childWithMapInConstructor", -"childWithMapOfRefs", -"childWithMapOfRefsInConstructor", -"childWithNameValues", -"childWithPropsInConstructor", -"childWithSet", -"childWithSetInConstructor", -"childWithSetOfRefs", -"childWithSetOfRefsInConstructor", -"ciao", -"cityOfBirth", -"class would appear to have a faulty UnderToken(string) implementation : [{0}]", -"classArray", -"classnotfound.xml", -"code", -"code1", -"code1FromMock", -"code2", -"code3", -"code4", -"codes", -"codes=[code1,code2]; arguments=[(String)[argument1], (String)[argument2]]; ", -"codes=[code1,code2]; arguments=[null]; ", -"collection", -"collection validator test", -"collectionConversionGeneric.xml", -"collectionMerging.xml", -"collectionMergingGeneric.xml", -"collectionValidator", -"collections.xml", -"commentator", -"compare", -"compatibleProxy", -"computerName", -"computer_name", -"computers", -"concat", -"concurrent.xml", -"config [", -"configSections", -"configuration not found", -"configurer", -"configurer1", -"configurer2", -"connection.string", -"connectionNotFullySpecified", -"connectionStrings", -"connectionstring", -"constantValue", -"constructor-arg.xml", -"context", -"contextListenerObject", -"continued", -"continued = this is a long value element \\\r\nthat uses continuation \\\r\n xxx", -"convert(decimal)", -"copy", -"correct single defintion was not registered", -"correct values", -"correct_name", -"coucou", -"count", -"count()", -"countryOfBirth", -"creationTime\texecutionTime\tpoolSize\tclientSize\trepeat\telapsed", -"ctor-args.xml", -"ctorArgsAllNamed", -"ctorarg", -"ctorarg-value", -"culturE", -"culturalObject", -"cultureAware", -"cv1", -"cv2", -"d", -"da message", -"dataSource", -"date", -"date('08-24-1974', 'MM-dd-yyyy')", -"date('08/24/1974', 'MM/dd/yyyy')", -"date('1974-08-24 12:35:06Z', 'u')", -"date('1974-08-24')", -"date('1974-08-24') != date('1974-08-24')", -"date('1974-08-24') + #ts", -"date('1974-08-24') + '5.0:0'", -"date('1974-08-24') + 5", -"date('1974-08-24') - '5.0:0'", -"date('1974-08-24') - 5", -"date('1974-08-24') < DateTime.Today", -"date('1974-08-24') < date('1974-08-24')", -"date('1974-08-24') <= DateTime.Today", -"date('1974-08-24') <= date('1974-08-24')", -"date('1974-08-24') == DateTime.Today", -"date('1974-08-24') == date('1974-08-24')", -"date('1974-08-24') > DateTime.Today", -"date('1974-08-24') > date('1974-08-24')", -"date('1974-08-24') >= DateTime.Today", -"date('1974-08-24') >= date('1974-08-24')", -"date('1974-08-24').ToString('m')", -"date('1974/08/24')", -"date('1974/08/24').AddYears(31).Year", -"date('1974/08/24').Year", -"date('2004-08-14') - #ts", -"date('2004-08-14') - date('1974-08-24')", -"date('2004-08-14', 'yyyy-MM-dd')", -"dateofgraduation", -"david", -"days", -"dbConnection", -"dcb", -"dd-MMM-yyyy", -"de", -"de-AT", -"de-DE", -"deCLAReD", -"def", -"default", -"default-autowire.xml", -"default-destroy-methods.xml", -"default-initializers.xml", -"default-lazy-init.xml", -"defaultInstance", -"defaultMessage", -"defaultMessage=[defaultMessage]", -"defaultMessageFromMock", -"defaultPrototype", -"delimitedProps", -"demo/index.html", -"demo\\index.html", -"dependenciesmaterializethis.xml", -"dependingObject", -"derived", -"description", -"desktopDirectory", -"destinationAirportValidator", -"destroy", -"destroy-method1", -"destroy-method2", -"destroyTester", -"dickens", -"dictionaryKeyType", -"dictionaryValueType", -"din", -"dir#", -"directory of the currently executing domain.", -"disposeTester", -"distinct().sort()", -"distinct(6)", -"distinct(false).sort()", -"distinct(true).sort()", -"distinct(true, 4, 'xyz')", -"do not exist", -"dob", -"doctor", -"doctor [0]", -"does_not_exist", -"done", -"dork/muller.venken", -"double", -"dude!", -"dummy", -"dummy message", -"dummy.expression", -"dummy.txt", -"e", -"efg", -"ego", -"emailValidator", -"emma", -"emptyMap", -"emptyProps", -"emptySet", -"emptyValue", -"en", -"en-GB", -"en-US", -"entryKey", -"enums.xml", -"environmentVariableMode", -"error", -"error using IResource to read file contents", -"error using Stream to read file contents", -"error.required", -"errors", -"es-ES", -"escaped", -"escaped \t string \n", -"escaped=test\\ttest", -"event", -"event-wiring-prototypes.xml", -"event-wiring.xml", -"everyman", -"everythingAwareObject", -"everythingAwareObjectFactoryPostProcessor", -"everythingAwareObjectPostProcessor", -"ex = {0}", -"exampleObject", -"excludeLocalObject", -"exclusiveError", -"exclusiveErrors", -"exist in the associated factory.", -"existingErrors", -"exp", -"expected to retrieve BitMap. Instead Type = ", -"expected to retrieve object form resource set", -"expressed through constructor argument with index 1 of type [System.Boolean] : ", -"expressions.xml", -"external-resources.xml", -"externalFactoryMethodWithArgs", -"externalFactoryMethodWithoutArgs", -"fOo", -"fa", -"fact", -"factory", -"factory class is not returning distinct IControlFlow instances (its always ", -"factory-methods.xml", -"factoryObject", -"factoryObjectProperty", -"factoryReferencer", -"factorycircle.xml", -"failed compiling test class: ", -"failed obtaining GAC path", -"failed to get it out of the context. Object retrieved is of type [ ", -"false", -"false != false", -"false != true", -"false < true", -"false <= true", -"false == false", -"false == true", -"false > true", -"false >= true", -"false ? 'trueExp' : 'falseExp'", -"false and (false or false)", -"false and (false or true)", -"false and (true or false)", -"false and (true or true)", -"false and false", -"false and false or false", -"false and false or true", -"false and true", -"false and true or false", -"false and true or true", -"false or false", -"false or true", -"falseExp", -"family", -"father", -"fedora", -"feed", -"feng", -"fi", -"field-props-factory.xml", -"field.firstname", -"file [", -"file [\\\\server\\share\\index.html]", -"file [\\\\server\\share\\samples\\artfair\\demo\\index.html]", -"file [\\\\server\\share\\samples\\artfair\\index.html]", -"file [\\\\server\\share\\samples\\calculator\\index.html]", -"file [c:\\index.html]", -"file [c:\\samples\\artfair\\demo\\index.html]", -"file [c:\\samples\\artfair\\index.html]", -"file [c:\\samples\\calculator\\index.html]", -"file.txt", -"file://", -"file://./index.html", -"file:///", -"file://SomeNonExistentFile.xml", -"file://Spring/Objects/Factory/Config/FirstPropertyPlaceholderConfigurer.xml", -"file://Spring/Objects/Factory/Config/PPCTwoLocationsOneSectionTests.xml", -"file://Spring/Objects/Factory/Config/PPCTwoLocationsTwoSectionsTests.xml", -"file://Spring/Objects/Factory/Config/PPCWithTypesTests.xml", -"file://Spring/Objects/Factory/Config/PropertyPlaceholderConfigurerTests.xml", -"file://Spring/Objects/Factory/Config/SecondPropertyPlaceholderConfigurer.xml", -"file://Spring/Objects/Factory/Config/TypeAliases.xml", -"file://\\\\server\\share\\samples\\artfair\\", -"file://localhost/", -"file://~/", -"file://~/../", -"filteredInputText", -"fiona.apple", -"first", -"first generic to be a string", -"firstProvider", -"firstname", -"five", -"float", -"fo", -"foo", -"foo bar is a funny term", -"foo description", -"foo,fi,fi,fum", -"foo.name", -"foo.spouse.name", -"foo.txt", -"foo/bar/../../", -"fooAlias", -"foobar", -"foo~.txt", -"foo\u4567", -"force-init", -"fork", -"found multiple definitions", -"fr", -"fr-FR", -"framework", -"friends", -"full", -"fullPrototype", -"fum", -"g @s4hc.com", -"g&@s", -"g.m.m@web_ask.com", -"gROwOldeR", -"genericExpressionHolder", -"georgia", -"get_Font", -"golyadkin", -"goran", -"goran.milosavljevic@s4hc.com", -"goran@@", -"goran@eu s4hc.com", -"goran@eu.s4hc.com", -"goran@goran.com", -"goran@s", -"got unexpected object", -"gotcha", -"grabCtorArgFromMethodInvokingFactoryObject", -"grandchild", -"greatgrandchild", -"growolder", -"hahaha", -"hasInnerObjects", -"hats [0]", -"hello", -"hello world", -"helper did not get from pool", -"here are 17 steps to winding up a bird chronicle correctl", -"here we go...", -"hi", -"hohoho", -"holder", -"hope.floats", -"hsu", -"ht:1.1", -"http://.com", -"http://1.1", -"http://google-com.com", -"http://jira.springframework.org/browse/SPRNET-112", -"http://jira.springframework.org/browse/SPRNET-1155", -"http://jira.springframework.org/browse/SPRNET-1231", -"http://jira.springframework.org/browse/SPRNET-944", -"http://jira.springframework.org/browse/SPRNET-985", -"http://jira.springframework.org/browse/SPRNET-992", -"http://jira.springframework.org/browse/SPRNET-996", -"http://localhost/something.config", -"http://mynamespace.com", -"http://opensource.atlassian.com/projects/spring/browse/SPR-1011", -"http://opensource.atlassian.com/projects/spring/browse/SPR-1077", -"http://opensource.atlassian.com/projects/spring/browse/SPRNET-130", -"http://opensource.atlassian.com/projects/spring/browse/SPRNET-320", -"http://opensource.atlassian.com/projects/spring/browse/SPRNET-368", -"http://opensource.atlassian.com/projects/spring/browse/SPRNET-492", -"http://opensource2.atlassian.com/projects/spring/browse/SPRNET-112", -"http://puzzle.com", -"http://www.aaaabbbbccccddd.com", -"http://www.com", -"http://www.example.com/brief", -"http://www.google-com.123", -"http://www.google-com.123.com", -"http://www.springframework.net", -"http://www.springframework.net/", -"http://www.springframework.net/aop", -"http://www.springframework.net/context", -"http://www.springframework.net/database", -"http://www.springframework.net/db", -"http://www.springframework.net/documentation.html", -"http://www.springframework.net/license.html", -"http://www.springframework.net/nms", -"http://www.springframework.net/nvelocity", -"http://www.springframework.net/remoting", -"http://www.springframework.net/samples/artfair/download.html", -"http://www.springframework.net/tx", -"http://www.springframework.net/validation", -"http://www.springframework.net/wcf", -"http://www.springframework.net:76/", -"https://www.google-com.com", -"httpsss", -"hydrogen", -"i", -"id", -"ident", -"idle wrong", -"ieee.Officers['advisors'][0].Inventions[2] (direct)", -"ieee.Officers['advisors'][0].Inventions[2] (single-parse)", -"ignored", -"implementingType", -"import1.xml", -"in", -"in correct values of string array", -"in the current directory of the currently executing domain.", -"in the parent directory of the currently executing domain.", -"in.a", -"incompatibleProxy", -"index", -"index is out of range.", -"index.html", -"indexer on object not working.", -"info", -"information", -"inheritedTestObject", -"inheritedTestObjectPrototype", -"inheritedTestObjectSingleton", -"inheritedTestObjectWithoutClass", -"inheritsFromParentFactory", -"inheritsFromParentFactoryUsingCtor", -"init", -"init factory", -"init-and-ib", -"init-and-ib-no-init-in-local-object-def", -"init-method1", -"init-method2", -"init-method3", -"initializers.xml", -"inner1", -"inner2", -"inner3", -"innerFriendOfAFriend", -"innerObject", -"inputStream", -"inputText", -"instance", -"instanceCultureAware", -"instanceEventListener", -"instanceFactory", -"instanceFactoryMethodOverloads", -"instanceFactoryMethodWithoutArgs", -"instancePropertyCultureAware", -"instanceReadonlyRefValue", -"instanceReadonlyVTValue", -"instanceRefValue", -"instanceSink", -"instanceVTValue", -"int", -"intArray length = 1", -"intArray length = 4", -"invalid", -"invalid-factory.xml", -"invalid.xml", -"inventions", -"invoke-factory.xml", -"is", -"isbnValidator", -"issingleton", -"it", -"it-IT", -"item1", -"item1andahalf", -"item2", -"item3", -"ivan", -"jakey", -"jarv/malina.roper", -"jen", -"jenks", -"jenny", -"jumble", -"just a test", -"kathy", -"kerry", -"kerry1", -"kerry2", -"key", -"key-found", -"key1", -"key1 =\t\nkey2:\nkey3", -"key1 should have empty value", -"key1=value1\r\nkey2:value2\r\n\r\n# a comment line\r\n leadingspace : true", -"key2", -"key2 should have empty value", -"key3", -"key4", -"keyA", -"keyB", -"kiley", -"lastLocationOverrides", -"lastname", -"lawyer", -"lazy-and-bad", -"lazy-init-multithreaded.xml", -"lazyObject", -"leadingspace", -"leaf.xml", -"lewis", -"lifecycle", -"list", -"listElementType", -"listFactory", -"literal", -"literal 'string", -"literal string", -"literalMap", -"ljwdf87cwbh", -"locale.xml", -"locations", -"log", -"logName", -"logic", -"logicOne", -"logicTwo", -"loner", -"long", -"long.MaxValue.ToString()", -"long.Parse(ToString())", -"lowecasevalue", -"lowercasevalue", -"m", -"malformedKey", -"manager", -"map", -"mapFactory", -"mapWithEntryValueShortcut", -"mapWithKeyRefAttributeShortcuts", -"mapWithNonStringKeys", -"mapWithStringKeysSpecifiedAsElements", -"mapWithValueRefAttributeShortcuts", -"max", -"max()", -"maxResults", -"mcao-proto", -"mcao-single", -"mei", -"message", -"message not as expected", -"message3", -"messageSource", -"method1", -"method2", -"methodInfo", -"methodInfo and implementingType are unrelated", -"methodInvocation", -"middle.xml", -"min()", -"missing.xml", -"mixedMap", -"mixedMapWithList", -"mmm...", -"mock.resource", -"mod", -"mofp", -"monday,tuesday.wednesday:thursday'friday!saturday|sunday", -"mscorwks.dll", -"multiAliased", -"must have been overwritten; expecting an AssemblyResource 'cos ", -"must not be destroyed twice", -"must not be disposed twice", -"mustBeInitialized", -"my", -"my arguments", -"my message", -"my name is e1", -"my name is e2", -"my object", -"my parent message", -"my string value", -"my web method", -"my.Context/bla\\", -"myCollProc", -"myConnection", -"myContext", -"myCtx", -"myDefaultMessage", -"myField", -"myFloat", -"myMessageSource", -"myObject", -"myObjectDefinition", -"myOracleConnectionString", -"myOracleDataSource.connectionString", -"myOracleDataSource.providerName", -"myPage", -"myPrivateReadonlyField", -"myPropertyKey", -"myPropertyValue", -"myReadonlyField", -"mySqlDataSource.connectionString", -"mySqlDataSource.providerName", -"mySqlServerConnectionString", -"myString", -"myalias", -"myname", -"mystring", -"myvarname98", -"n", -"nAmE", -"nAme", -"na${age}me", -"na1", -"na98me", -"naME", -"name", -"name from section", -"name from sectiongroup/section", -"name property must be set", -"name${age}", -"name${var}", -"name${var}${", -"name-id-test-object-name", -"name-value", -"name0", -"name1", -"name2", -"name3", -"name4", -"name5", -"name6", -"name7", -"name=", -"nameS", -"namedfather", -"namemyvar${", -"ned", -"nested set did not work", -"never", -"new", -"new 1", -"new DateTime(2004, 8, 14).AddDays(10).AddYears(-30)", -"new Decimal('xyz')", -"new Decimal(1000)", -"new Foo('a', 'b', 'c')", -"new Foo('a', null, 'c')", -"new Foo(1, #bars)", -"new Foo(false, 'a', 'b', 'c')", -"new Foo(false, 'a', null, 'c')", -"new Inventor('Aleksandar Seovic', date('1974-08-24'), 'Serbian', Inventions = {'SPELL'})", -"new Inventor() (direct)", -"new Inventor() (dynamic reflection)", -"new Inventor() (standard reflection)", -"new Inventor(Name = 'Ana Maria Seovic', DOB = date('2004-08-14'), Nationality = 'American')", -"new Sample(O, T, H)", -"new System.DateTime(2004, 8, 14)", -"new System.InvalidOperationException('invalid')", -"new T(a)", -"new a", -"new a(x=1 ?2:3)", -"new a(x=1,y=2)", -"new a(x==1)", -"new a.", -"new a.T(b)", -"new a.b", -"new a.b(1,x=2)", -"new a.in()", -"new a[1,2]{1,2}", -"new a[1]", -"new a[](b)", -"new a[]{1}", -"new double[4, 5]", -"new int[Int32.Parse('11')]", -"new int[] {3, 4, 5, 6}", -"new long[5]", -"new string[] {'abc', 'xyz'} is T(string[])", -"newName", -"newline\n tab\t return\r", -"newline\\n tab\\t return\\r", -"newvalue", -"nickname", -"nickname-value", -"nl-NL", -"no name", -"no services of type '{0}' defined", -"no-objects.xml", -"no.parent.factory", -"noAppendConfigurer", -"noAppendDao", -"noMatchPrototype", -"non existent resourse found", -"non-existant definition", -"non-existing object definition name", -"nonGenericExpressionHolder", -"nonNull()", -"nonNull().sort()", -"noop", -"not", -"not == ", -"not a date", -"not a number", -"not gone", -"not used", -"notExist", -"notToBeProxied", -"notfullyspecified.xml", -"notsoreadonly", -"null", -"null != 'xyz'", -"null != null", -"null < 'xyz'", -"null < null", -"null <= 'xyz'", -"null <= null", -"null == 'xyz'", -"null == 123", -"null == null", -"null > 'xyz'", -"null > null", -"null >= 'xyz'", -"null >= null", -"null ?? #root.Name", -"null ?? 'default'", -"null ?? 2 * 2 - 3", -"null IControlFlow instance (it, obviously, must not)", -"null between {1, 5}", -"null in null", -"null is int", -"null is null", -"nullCode", -"num", -"obj2A", -"obj2C", -"objA", -"objB", -"objC", -"object", -"object types are not related", -"object1", -"object1-with-same-id-and-name", -"object2", -"object2-with-same-id-and-name", -"objectArray", -"objectNameGeneration.xml", -"objectType", -"objectWithBoolean", -"objectWithBooleanAndString", -"objectWithCtorArgRefShortcuts", -"objectWithCtorArgValueShortcuts", -"objectWithDoubleBoolean", -"objectWithIndexer", -"objectWithTypedFriends", -"objects", -"od", -"of foobar", -"of gaunt", -"offset", -"ola", -"oldName", -"one", -"onpiNg", -"order", -"order comparator instance should be first", -"orderBy(#compare)", -"orderBy('ToString()')", -"orderBy({|a,b| $a.ToString().CompareTo($b.ToString())})", -"original", -"orphanedKey1", -"other", -"otherTestObject", -"overide-name", -"override", -"overrideParentObject", -"owner", -"oxygen", -"p1", -"p2", -"pDavid", -"pInG", -"pJenny", -"pListFactory", -"pMapFactory", -"pMixedMap", -"pRod", -"pSetFactory", -"pageName", -"panko", -"parameter1", -"parent", -"parent == null", -"parent is not null", -"parent is null", -"parent.xml", -"parentContext", -"parentWithListInConstructor", -"parentWithMapInConstructor", -"parentWithPropsInConstructor", -"parentWithSetInConstructor", -"path", -"periodicTable", -"permissionSetName", -"personal", -"pets", -"pob", -"policyFile", -"post process ", -"president", -"prez", -"private field must not be accessible in medium trust: ", -"problematic between framework versions", -"processor", -"product1", -"product1Target", -"product2", -"product2Target", -"program.exe", -"programFiles", -"prop", -"prop.override.section", -"properties", -"properties.test", -"property has been set explicitly).", -"propertyplaceholder_100", -"propertyplaceholder_90", -"props", -"propsWithSameKey", -"prototype", -"prototype-override", -"prototypeEventListener", -"prototypeFactory", -"prototypeHasInnerObjects", -"prototypeInheritsFromParentFactoryPrototype", -"prototypeOverridesInheritedSingleton", -"prototypeReferencer", -"protoypeInheritsFromParentFactorySingleton", -"proxyInterfaces", -"pt-BR", -"pupin", -"queryName", -"ramp client size", -"ramp client size - 2", -"ramp load", -"ramp pools size", -"readOnlyDictionary", -"readOnlySet", -"real", -"ref", -"reftypes.xml", -"regex", -"relativeUri=", -"replacer", -"resolvable", -"resource", -"resource.xml", -"resource1", -"resourceManagers", -"result", -"reverse()", -"rick", -"rilo", -"rilo-kiley", -"rob", -"robert", -"rod", -"rod.age is 31", -"rod.name is Rod", -"rod1", -"rod10", -"rod11", -"rod12", -"rod13", -"rod1a", -"rod2", -"rod3", -"rod3a", -"rod4", -"rod5", -"rod6", -"rod7", -"rod8", -"rod9", -"roderick", -"roderick.age was inherited", -"roderick.name is Roderick", -"rods alias", -"roob", -"root cause", -"root context is currently in creation.", -"root.xml", -"rubbish", -"rubbish.Name", -"rubbishField", -"rubbishProperty", -"s", -"s_initState", -"same", -"samples/artfair/index.html", -"satisfiedalldependencycheck.xml", -"satisfiedobjectdependencycheck.xml", -"satisfiedsimpledependencycheck.xml", -"sball", -"secondProvider", -"server=myserver;database=Products;uid=user name;pwd=secure password", -"service", -"set", -"setElementType", -"setFactory", -"set_ObjectFactory", -"set_SharedState", -"setterString", -"short", -"shoud throw a security exception", -"should fail", -"should have selected ctor(int, Bar[])", -"should throw", -"should throw ArgumentException", -"should throw ObjectCreationException", -"should throw ObjectDefinitionStoreException", -"should throw ObjectNotOfRequiredTypeException", -"should've returned empty string", -"sigh", -"simple-constructor-arg.xml", -"simpleAirportValidator", -"singleton", -"singleton?", -"singletonFactory", -"singletonInheritsFromParentFactoryPrototype", -"singletonObject", -"slurp", -"some other string", -"some.bogus.Method.name", -"someConfigVal must not be null", -"someKey", -"someMap", -"someMessageSource", -"someName", -"someSet", -"someString", -"somekey", -"somename", -"something changed wrt VariablePlaceholder resolution", -"sort supports any ICollection containing elements of uniform type", -"sort()", -"sort(false)", -"sort(true)", -"source", -"southpaw", -"spAngLISh", -"spaced dir", -"spaced file.txt", -"spouse", -"spouse.age", -"spouse.name", -"spouse1", -"spouse2", -"spousesSpouse == initial point", -"spring", -"spring my resolvable", -"spring2/context", -"sprnet", -"sqrt", -"sr", -"sr-Cyrl-CS", -"sr-Cyrl-RS", -"sr-Latn-CS", -"sr-Latn-RS", -"sr-SP-Cyrl", -"sr-SP-Latn", -"ssap", -"staticEventListener", -"staticProperTY", -"staticReadonlyRefValue", -"staticReadonlyVTValue", -"staticRefValue", -"staticVTValue", -"staticYear", -"status", -"strategy", -"string", -"string1", -"string2", -"stringValue", -"strongly typed values are present in the ctor values list.", -"stuff.txt", -"stuv", -"subota, 14. avgust 2004.", -"subota, 24. avgust 1974.", -"sum()", -"svn://localhost/Spring/trunk/", -"system.web/securityPolicy", -"system.web/trust", -"t1", -"t2", -"t3", -"t4", -"tWo", -"target", -"targetFIELd", -"targetNamespace", -"targetObjectName", -"targetProperty", -"targetTYPE", -"targetType", -"targetobjecT", -"targetproperTY", -"tb", -"tb1", -"tb2", -"tb3", -"tee", -"temp.file", -"tesla", -"tesla.GetAge (direct)", -"tesla.GetAge (dynamic reflection)", -"tesla.GetAge (standard reflection)", -"tesla.Name (direct)", -"tesla.Name (dynamic reflection)", -"tesla.Name (standard reflection)", -"tesla.PlaceOfBirth (direct)", -"tesla.PlaceOfBirth (dynamic reflection)", -"tesla.PlaceOfBirth (single-parse)", -"tesla.PlaceOfBirth (standard reflection)", -"test", -"test\ttest", -"test ", -"test 2", -"test N/A anymore due to System.Reflection.Emit.DynamicMethod", -"test config section", -"test requires a registered context that implements IConfigurableApplicationContext!", -"test string", -"test.name.1", -"test.tmp", -"test.xml", -"test1", -"test2", -"test3", -"test4", -"test5", -"testChild", -"testFactory", -"testFactory1", -"testFactory2", -"testObject", -"testObject1", -"testObject2", -"testObject3", -"testObject4", -"testObject5", -"testObject6", -"testObjectContainer", -"testObjectDao", -"testObjectOnly", -"testObjectOnlyPrototype", -"testObjectOnlyPrototypeDISetterString", -"testParent", -"test_1", -"testres", -"testres://inline/", -"testtext", -"testtypename", -"that was previously added (it must be).", -"the resource", -"the same instance)", -"the whipping boy", -"theArg", -"theDefaultValue", -"theObject", -"theParentsAlias", -"theSpouse", -"theValue", -"theValue2", -"theValue3", -"thinks", -"this", -"this is Spring.NET", -"this is a long value element that uses continuation xxx", -"this is it", -"this is {0}", -"this test cannot co-exist with AutoRegistersAllWellknownNamespaceParsers b/c that test will have already loaded the Spring.Data ass'y", -"threadCreatorInsideConstructor", -"threadCreatorInsideDispose", -"three", -"to", -"to string", -"to1", -"to2", -"toBeProxied", -"tom", -"tony", -"touchy", -"transactionAttributes", -"transactionManager", -"trash", -"trilby", -"triple", -"true", -"true != true", -"true < false", -"true < true", -"true <= false", -"true <= true", -"true == false", -"true == true", -"true > false", -"true > true", -"true >= false", -"true >= true", -"true ? 'trueExp' : 'falseExp'", -"true and (false or false)", -"true and (false or true)", -"true and (true or false)", -"true and (true or true)", -"true and false", -"true and false or false", -"true and false or true", -"true and true", -"true and true or false", -"true and true or true", -"true or false", -"true or true", -"true xor false", -"true xor true", -"true.a", -"trueExp", -"ts", -"two", -"typeMismatch", -"typedfather", -"typename", -"u", -"uint", -"ulong", -"uncleelvis", -"unknown PermissionSet name '{0}'", -"unsatisfiedalldependencycheckmissingobjects.xml", -"unsatisfiedobjectdependencycheck.xml", -"unsatisfiedsimpledependencycheck.xml", -"unused", -"uppercasevalue", -"urlValidator", -"userprofile", -"ushort", -"using the explicit variant of the ctor.", -"utf-16", -"val", -"valUe", -"valid", -"valid name stuck", -"valid spouse stuck", -"validEmpty", -"validEmpty object is a TestObject", -"validEmptyWithDescription", -"validationSummary", -"validator", -"value", -"value 2", -"value-found", -"value1", -"value2", -"value3", -"value4", -"var1", -"verbose", -"verbose2", -"verbose3", -"vp", -"vpc", -"we registered it last under the 'beep' protocol.", -"web request; it must not register inner objects for factory-shutdown disposal.", -"wednesday", -"wee", -"wellformed-but-bad.xml", -"what is this\\g", -"whatever", -"when using same lookup code and CultureInfo.", -"when using same lookup code.", -"withTypesField", -"would appear to have a faulty Under(Type) implementation : [{0}]", -"would appear to have a faulty Under(Type,string) implementation : [{0}]", -"would appear to have a faulty UnderToken(string) implementation : [{0}]", -"writing to readonly field should throw ", -"wrong_name", -"wrongly entered sync block", -"ww.1.com", -"www.1.org", -"www.amazon.co.jp/C-\u306b\u3088\u308b\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0Windows-\u4e0a-Charles-Petzold/dp/4891002921", -"www.springframework.net", -"x", -"x1", -"xmlRegisteredObject", -"xyz", -"year", -"years", -"yyy", -"zero", -"{0,-10}", -"{0,-60} {1,12:#,###} {2,12:##0.000} {3,12:#,###}", -"{0,10}", -"{0:(###) ###-####}", -"{0:00000}", -"{0:e3}", -"{0}", -"{0}\t{1}\t{2}\t{3}\t{4}\t{5:0.000} ", -"{0} {1}", -"{0}, default", -"{0}, {1}", -"{0}, {1}, {2}", -"{0}, {1}, {2}, {3}", -"{0},{1},{2}", -"{0}.{1}", -"{0}/{1}", -"{0}/{1}/{2}", -"{0}/{1}/{2}/{3}", -"{0}: wrapping class [{1}]; IsWan={2}", -"{0}[{1}].{2}", -"{1, 2, 3, 4, 5} is IList", -"{1, 2, 3, 4}.EvenSum()", -"{1, 5, -2, 10}.average()", -"{1, 5, -3, 10}.max()", -"{1, 5, -3, 10}.min()", -"{1, 5, -3, 10}.sum()", -"{1, 5, -3}.count()", -"{1, 5, -4, 10}.average()", -"{1,2,3} + {3,4,5}", -"{1,2,3} + {3,4,5} + {'ivan', 'gox', 'damjao', 5}", -"{1,2}", -"{1.2, 5.5, -3.3}.sort()", -"{111, 'ivan', 23, 24} * {111, 11, 'ivan'}", -"{111, 11} - {14, 12, 11}", -"{111, 11} - {14, 12, 11} - {111}", -"{24, 25, 'aaa' + 'bb'} * {date('2007/2/5').day * 5, 24 - 1}", -"{True}", -"{a}", -"{|", -"{|a", -"{|a, b| 1}", -"{|a,b| $a.ToString().CompareTo($b.ToString())}", -"{|a,b|a}", -"{|a|", -"{|a|b", -"{|n| $n * 3}", -"{|n| $n <= 1 ? 1 : $n * #fact($n-1)}", -"{|n| $n}", -"{|n| Math.Sqrt($n)}", -"{|self ", -"{|self, arg| $self.InternalValue + $arg}", -"{|self, f| $f($self.InternalValue)}", -"{|self| #triple($self.InternalValue) + #offset}", -"{|self| $self.InternalValue * 2}", -"{|self| $self.Name}", -"{|self| 'base'}", -"{|self| 'derived'}", -"{|self| 'extension'}", -"{|self| 'fake'}", -"{|self| 1}", -"{|self| 2}", -"{|self| 999}", -"{|self| InternalValue + 1}", -"{|x|x}", -"{||1}", -"{}", -"|", -"}", -"~", -"~/", -"~/Default.aspx", -"\u041d\u0438\u043a\u043e\u043b\u0430 \u0422\u0435\u0441\u043b\u0430", -"\u041e\u0432\u043e \u0458\u0435 Spring.NET", -"\u0421\u043c\u0438\u0459\u0430\u043d", -"\u0421\u0440\u0431\u0438\u043d", -"\u0425\u0440\u0432\u0430\u0442\u0441\u043a\u0430", -"\u6f22\u5b57", -"\ufeff" -] \ No newline at end of file diff --git a/test/Spring/Spring.Core.Tests/Expressions/ExpressionGrammarGolden.json b/test/Spring/Spring.Core.Tests/Expressions/ExpressionGrammarGolden.json new file mode 100644 index 000000000..d3e0a4d71 --- /dev/null +++ b/test/Spring/Spring.Core.Tests/Expressions/ExpressionGrammarGolden.json @@ -0,0 +1,1082 @@ +[ + [ + "a b c", + "(Expression|4|expression (PropertyOrFieldNode|33|a) (PropertyOrFieldNode|33|b) (PropertyOrFieldNode|33|c))", + "(Expression|4|expression (PropertyOrFieldNode|33|a) (PropertyOrFieldNode|33|b) (PropertyOrFieldNode|33|c))" + ], + [ + "a..b", + "(Expression|4|expression (PropertyOrFieldNode|33|a) (PropertyOrFieldNode|33|b))", + "(Expression|4|expression (PropertyOrFieldNode|33|a) (PropertyOrFieldNode|33|b))" + ], + [ + "a.", + "(Expression|4|expression (PropertyOrFieldNode|33|a))", + "(Expression|4|expression (PropertyOrFieldNode|33|a))" + ], + [ + "1 .a", + "(Expression|4|expression (IntLiteralNode|51|1) (PropertyOrFieldNode|33|a))", + "(Expression|4|expression (IntLiteralNode|51|1) (PropertyOrFieldNode|33|a))" + ], + [ + "(a)", + "(Expression|4|expression (Expression|4|expression (PropertyOrFieldNode|33|a)))", + "(Expression|4|expression (Expression|4|expression (PropertyOrFieldNode|33|a)))" + ], + [ + "((a))", + "(Expression|4|expression (Expression|4|expression (Expression|4|expression (PropertyOrFieldNode|33|a))))", + "(Expression|4|expression (Expression|4|expression (Expression|4|expression (PropertyOrFieldNode|33|a))))" + ], + [ + "(a;b)", + "(Expression|4|expression (ExpressionListNode|4|expressionList (Expression|4|expression (PropertyOrFieldNode|33|a)) (Expression|4|expression (PropertyOrFieldNode|33|b))))", + "(Expression|4|expression (ExpressionListNode|4|expressionList (Expression|4|expression (PropertyOrFieldNode|33|a)) (Expression|4|expression (PropertyOrFieldNode|33|b))))" + ], + [ + "(a;b).c", + "(Expression|4|expression (ExpressionListNode|4|expressionList (Expression|4|expression (PropertyOrFieldNode|33|a)) (Expression|4|expression (PropertyOrFieldNode|33|b))) (PropertyOrFieldNode|33|c))", + "(Expression|4|expression (ExpressionListNode|4|expressionList (Expression|4|expression (PropertyOrFieldNode|33|a)) (Expression|4|expression (PropertyOrFieldNode|33|b))) (PropertyOrFieldNode|33|c))" + ], + [ + "a[0](b;c)", + "(Expression|4|expression (PropertyOrFieldNode|33|a) (IndexerNode|37|[ (Expression|4|expression (IntLiteralNode|51|0))) (ExpressionListNode|4|expressionList (Expression|4|expression (PropertyOrFieldNode|33|b)) (Expression|4|expression (PropertyOrFieldNode|33|c))))", + "(Expression|4|expression (PropertyOrFieldNode|33|a) (IndexerNode|37|[ (Expression|4|expression (IntLiteralNode|51|0))) (ExpressionListNode|4|expressionList (Expression|4|expression (PropertyOrFieldNode|33|b)) (Expression|4|expression (PropertyOrFieldNode|33|c))))" + ], + [ + "T(a)", + "(Expression|4|expression (TypeNode|4|a))", + "(Expression|4|expression (TypeNode|4|a))" + ], + [ + "T( a . b )", + "(Expression|4|expression (TypeNode|4|a.b))", + "(Expression|4|expression (TypeNode|4|a.b))" + ], + [ + "T(a'b'c)", + "(Expression|4|expression (TypeNode|4|abc))", + "(Expression|4|expression (TypeNode|4|abc))" + ], + [ + "T(a,b=1.2.3)", + "(Expression|4|expression (TypeNode|4|a,b=1.2.3))", + "(Expression|4|expression (TypeNode|4|a,b=1.2.3))" + ], + [ + "T(a)", + "(Expression|4|expression (TypeNode|4|a))", + "(Expression|4|expression (TypeNode|4|a))" + ], + [ + "T(int[])", + "(Expression|4|expression (TypeNode|4|int[]))", + "(Expression|4|expression (TypeNode|4|int[]))" + ], + [ + "@(a)", + "(Expression|4|expression (ReferenceNode|4|ref (QualifiedIdentifier|33|a)))", + "(Expression|4|expression (ReferenceNode|4|ref (QualifiedIdentifier|33|a)))" + ], + [ + "@(a:b)", + "(Expression|4|expression (ReferenceNode|4|ref (QualifiedIdentifier|33|a) (QualifiedIdentifier|33|b)))", + "(Expression|4|expression (ReferenceNode|4|ref (QualifiedIdentifier|33|a) (QualifiedIdentifier|33|b)))" + ], + [ + "@('a b':'c d')", + "(Expression|4|expression (ReferenceNode|4|ref (QualifiedIdentifier|46|a b) (QualifiedIdentifier|46|c d)))", + "(Expression|4|expression (ReferenceNode|4|ref (QualifiedIdentifier|46|a b) (QualifiedIdentifier|46|c d)))" + ], + [ + "@(a.b:c.d)", + "(Expression|4|expression (ReferenceNode|4|ref (QualifiedIdentifier|33|a.b) (QualifiedIdentifier|33|c.d)))", + "(Expression|4|expression (ReferenceNode|4|ref (QualifiedIdentifier|33|a.b) (QualifiedIdentifier|33|c.d)))" + ], + [ + "@[a.b]", + "(Expression|4|expression (AttributeNode|4|a.b))", + "(Expression|4|expression (AttributeNode|4|a.b))" + ], + [ + "@[a(1,x=2)]", + "(Expression|4|expression (AttributeNode|4|a (Expression|4|expression (IntLiteralNode|51|1)) (NamedArgumentNode|33|x (Expression|4|expression (IntLiteralNode|51|2)))))", + "(Expression|4|expression (AttributeNode|4|a (Expression|4|expression (IntLiteralNode|51|1)) (NamedArgumentNode|33|x (Expression|4|expression (IntLiteralNode|51|2)))))" + ], + [ + "new a.b(1,x=2)", + "(Expression|4|expression (ConstructorNode|4|a.b (Expression|4|expression (IntLiteralNode|51|1)) (NamedArgumentNode|33|x (Expression|4|expression (IntLiteralNode|51|2)))))", + "(Expression|4|expression (ConstructorNode|4|a.b (Expression|4|expression (IntLiteralNode|51|1)) (NamedArgumentNode|33|x (Expression|4|expression (IntLiteralNode|51|2)))))" + ], + [ + "new a[1]", + "(Expression|4|expression (ArrayConstructorNode|4|a (SpringAST|37|[ (Expression|4|expression (IntLiteralNode|51|1)))))", + "(Expression|4|expression (ArrayConstructorNode|4|a (SpringAST|37|[ (Expression|4|expression (IntLiteralNode|51|1)))))" + ], + [ + "new a[1,2]{1,2}", + "(Expression|4|expression (ArrayConstructorNode|4|a (SpringAST|37|[ (Expression|4|expression (IntLiteralNode|51|1)) (Expression|4|expression (IntLiteralNode|51|2))) (ListInitializerNode|50|{ (Expression|4|expression (IntLiteralNode|51|1)) (Expression|4|expression (IntLiteralNode|51|2)))))", + "(Expression|4|expression (ArrayConstructorNode|4|a (SpringAST|37|[ (Expression|4|expression (IntLiteralNode|51|1)) (Expression|4|expression (IntLiteralNode|51|2))) (ListInitializerNode|50|{ (Expression|4|expression (IntLiteralNode|51|1)) (Expression|4|expression (IntLiteralNode|51|2)))))" + ], + [ + "new a[]{1}", + "(Expression|4|expression (ArrayConstructorNode|4|a (SpringAST|37|[) (ListInitializerNode|50|{ (Expression|4|expression (IntLiteralNode|51|1)))))", + "(Expression|4|expression (ArrayConstructorNode|4|a (SpringAST|37|[) (ListInitializerNode|50|{ (Expression|4|expression (IntLiteralNode|51|1)))))" + ], + [ + "new a[](b)", + "ERROR 10 Syntax Error on line 1, column 10: unexpected token: [\")\",<19>,line=1,col=10]", + "ERROR 10 Syntax Error on line 1, column 10: unexpected token: [\")\",<19>,line=1,col=10]" + ], + [ + "#a", + "(Expression|4|expression (VariableNode|33|a))", + "(Expression|4|expression (VariableNode|33|a))" + ], + [ + "#a(1)", + "(Expression|4|expression (FunctionNode|33|a (Expression|4|expression (IntLiteralNode|51|1))))", + "(Expression|4|expression (FunctionNode|33|a (Expression|4|expression (IntLiteralNode|51|1))))" + ], + [ + "# a", + "(Expression|4|expression (VariableNode|33|a))", + "(Expression|4|expression (VariableNode|33|a))" + ], + [ + "$a", + "(Expression|4|expression (LocalVariableNode|33|a))", + "(Expression|4|expression (LocalVariableNode|33|a))" + ], + [ + "$a(1)", + "(Expression|4|expression (LocalFunctionNode|33|a (Expression|4|expression (IntLiteralNode|51|1))))", + "(Expression|4|expression (LocalFunctionNode|33|a (Expression|4|expression (IntLiteralNode|51|1))))" + ], + [ + "#{a:1,b:2}", + "(Expression|4|expression (MapInitializerNode|50|{ (MapEntryNode|4|entry (Expression|4|expression (PropertyOrFieldNode|33|a)) (Expression|4|expression (IntLiteralNode|51|1))) (MapEntryNode|4|entry (Expression|4|expression (PropertyOrFieldNode|33|b)) (Expression|4|expression (IntLiteralNode|51|2)))))", + "(Expression|4|expression (MapInitializerNode|50|{ (MapEntryNode|4|entry (Expression|4|expression (PropertyOrFieldNode|33|a)) (Expression|4|expression (IntLiteralNode|51|1))) (MapEntryNode|4|entry (Expression|4|expression (PropertyOrFieldNode|33|b)) (Expression|4|expression (IntLiteralNode|51|2)))))" + ], + [ + "{1,2}", + "(Expression|4|expression (ListInitializerNode|50|{ (Expression|4|expression (IntLiteralNode|51|1)) (Expression|4|expression (IntLiteralNode|51|2))))", + "(Expression|4|expression (ListInitializerNode|50|{ (Expression|4|expression (IntLiteralNode|51|1)) (Expression|4|expression (IntLiteralNode|51|2))))" + ], + [ + "{|a,b|a}", + "(Expression|4|expression (LambdaExpressionNode|4|lambda (SpringAST|4|args (SpringAST|33|a) (SpringAST|33|b)) (Expression|4|expression (PropertyOrFieldNode|33|a))))", + "(Expression|4|expression (LambdaExpressionNode|4|lambda (SpringAST|4|args (SpringAST|33|a) (SpringAST|33|b)) (Expression|4|expression (PropertyOrFieldNode|33|a))))" + ], + [ + "{|x|x}", + "(Expression|4|expression (LambdaExpressionNode|4|lambda (SpringAST|4|args (SpringAST|33|x)) (Expression|4|expression (PropertyOrFieldNode|33|x))))", + "(Expression|4|expression (LambdaExpressionNode|4|lambda (SpringAST|4|args (SpringAST|33|x)) (Expression|4|expression (PropertyOrFieldNode|33|x))))" + ], + [ + "{||1}", + "(Expression|4|expression (LambdaExpressionNode|4|lambda (Expression|4|expression (IntLiteralNode|51|1))))", + "(Expression|4|expression (LambdaExpressionNode|4|lambda (Expression|4|expression (IntLiteralNode|51|1))))" + ], + [ + "!{a}", + "(Expression|4|expression (ProjectionNode|39|!{ (Expression|4|expression (PropertyOrFieldNode|33|a))))", + "(Expression|4|expression (ProjectionNode|39|!{ (Expression|4|expression (PropertyOrFieldNode|33|a))))" + ], + [ + "?{a,b}", + "(Expression|4|expression (SelectionNode|41|?{ (Expression|4|expression (PropertyOrFieldNode|33|a)) (Expression|4|expression (PropertyOrFieldNode|33|b))))", + "(Expression|4|expression (SelectionNode|41|?{ (Expression|4|expression (PropertyOrFieldNode|33|a)) (Expression|4|expression (PropertyOrFieldNode|33|b))))" + ], + [ + "^{a}", + "(Expression|4|expression (SelectionFirstNode|42|^{ (Expression|4|expression (PropertyOrFieldNode|33|a))))", + "(Expression|4|expression (SelectionFirstNode|42|^{ (Expression|4|expression (PropertyOrFieldNode|33|a))))" + ], + [ + "${a}", + "(Expression|4|expression (SelectionLastNode|43|${ (Expression|4|expression (PropertyOrFieldNode|33|a))))", + "(Expression|4|expression (SelectionLastNode|43|${ (Expression|4|expression (PropertyOrFieldNode|33|a))))" + ], + [ + "a!{b}?{c}^{d}${e}", + "(Expression|4|expression (PropertyOrFieldNode|33|a) (ProjectionNode|39|!{ (Expression|4|expression (PropertyOrFieldNode|33|b))) (SelectionNode|41|?{ (Expression|4|expression (PropertyOrFieldNode|33|c))) (SelectionFirstNode|42|^{ (Expression|4|expression (PropertyOrFieldNode|33|d))) (SelectionLastNode|43|${ (Expression|4|expression (PropertyOrFieldNode|33|e))))", + "(Expression|4|expression (PropertyOrFieldNode|33|a) (ProjectionNode|39|!{ (Expression|4|expression (PropertyOrFieldNode|33|b))) (SelectionNode|41|?{ (Expression|4|expression (PropertyOrFieldNode|33|c))) (SelectionFirstNode|42|^{ (Expression|4|expression (PropertyOrFieldNode|33|d))) (SelectionLastNode|43|${ (Expression|4|expression (PropertyOrFieldNode|33|e))))" + ], + [ + "a^b", + "(OpPOWER|29|^ (Expression|4|expression (PropertyOrFieldNode|33|a)) (Expression|4|expression (PropertyOrFieldNode|33|b)))", + "(Expression|4|expression (PropertyOrFieldNode|33|a))" + ], + [ + "a^{b}", + "(Expression|4|expression (PropertyOrFieldNode|33|a) (SelectionFirstNode|42|^{ (Expression|4|expression (PropertyOrFieldNode|33|b))))", + "(Expression|4|expression (PropertyOrFieldNode|33|a) (SelectionFirstNode|42|^{ (Expression|4|expression (PropertyOrFieldNode|33|b))))" + ], + [ + "a ^ {b}", + "(OpPOWER|29|^ (Expression|4|expression (PropertyOrFieldNode|33|a)) (Expression|4|expression (ListInitializerNode|50|{ (Expression|4|expression (PropertyOrFieldNode|33|b)))))", + "(Expression|4|expression (PropertyOrFieldNode|33|a))" + ], + [ + "a^{b,c}", + "ERROR 5 Syntax Error on line 1, column 5: expecting \"RCURLY\", found ','", + "ERROR 5 Syntax Error on line 1, column 5: expecting \"RCURLY\", found ','" + ], + [ + "a^b^c", + "ERROR 4 Syntax Error on line 1, column 4: unexpected token: [\"^\",<29>,line=1,col=4]", + "(Expression|4|expression (PropertyOrFieldNode|33|a))" + ], + [ + "-a^b", + "(OpPOWER|29|^ (OpUnaryMinus|25|- (Expression|4|expression (PropertyOrFieldNode|33|a))) (Expression|4|expression (PropertyOrFieldNode|33|b)))", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"-\",<25>,line=1,col=1]" + ], + [ + "2^-3", + "(OpPOWER|29|^ (Expression|4|expression (IntLiteralNode|51|2)) (OpUnaryMinus|25|- (Expression|4|expression (IntLiteralNode|51|3))))", + "(Expression|4|expression (IntLiteralNode|51|2))" + ], + [ + "a==b", + "(OpEqual|4|== (Expression|4|expression (PropertyOrFieldNode|33|a)) (Expression|4|expression (PropertyOrFieldNode|33|b)))", + "(Expression|4|expression (PropertyOrFieldNode|33|a))" + ], + [ + "a==b==c", + "ERROR 5 Syntax Error on line 1, column 5: unexpected token: [\"==\",<54>,line=1,col=5]", + "(Expression|4|expression (PropertyOrFieldNode|33|a))" + ], + [ + "a<=b", + "(OpLessOrEqual|4|<= (Expression|4|expression (PropertyOrFieldNode|33|a)) (Expression|4|expression (PropertyOrFieldNode|33|b)))", + "(Expression|4|expression (PropertyOrFieldNode|33|a))" + ], + [ + "a,line=1,col=4]", + "(Expression|4|expression (PropertyOrFieldNode|33|a))" + ], + [ + "a in b", + "(OpIn|4|in (Expression|4|expression (PropertyOrFieldNode|33|a)) (Expression|4|expression (PropertyOrFieldNode|33|b)))", + "(Expression|4|expression (PropertyOrFieldNode|33|a))" + ], + [ + "a is b", + "(OpIs|4|is (Expression|4|expression (PropertyOrFieldNode|33|a)) (Expression|4|expression (PropertyOrFieldNode|33|b)))", + "(Expression|4|expression (PropertyOrFieldNode|33|a))" + ], + [ + "a between b", + "(OpBetween|4|between (Expression|4|expression (PropertyOrFieldNode|33|a)) (Expression|4|expression (PropertyOrFieldNode|33|b)))", + "(Expression|4|expression (PropertyOrFieldNode|33|a))" + ], + [ + "a like b", + "(OpLike|4|like (Expression|4|expression (PropertyOrFieldNode|33|a)) (Expression|4|expression (PropertyOrFieldNode|33|b)))", + "(Expression|4|expression (PropertyOrFieldNode|33|a))" + ], + [ + "a matches b", + "(OpMatches|4|matches (Expression|4|expression (PropertyOrFieldNode|33|a)) (Expression|4|expression (PropertyOrFieldNode|33|b)))", + "(Expression|4|expression (PropertyOrFieldNode|33|a))" + ], + [ + "a and b or c xor d", + "(OpOR|9|or (OpAND|8|and (Expression|4|expression (PropertyOrFieldNode|33|a)) (Expression|4|expression (PropertyOrFieldNode|33|b))) (OpXOR|10|xor (Expression|4|expression (PropertyOrFieldNode|33|c)) (Expression|4|expression (PropertyOrFieldNode|33|d))))", + "(Expression|4|expression (PropertyOrFieldNode|33|a))" + ], + [ + "a or b and c", + "(OpOR|9|or (Expression|4|expression (PropertyOrFieldNode|33|a)) (OpAND|8|and (Expression|4|expression (PropertyOrFieldNode|33|b)) (Expression|4|expression (PropertyOrFieldNode|33|c))))", + "(Expression|4|expression (PropertyOrFieldNode|33|a))" + ], + [ + "a=b", + "(AssignNode|20|= (Expression|4|expression (PropertyOrFieldNode|33|a)) (Expression|4|expression (PropertyOrFieldNode|33|b)))", + "(Expression|4|expression (PropertyOrFieldNode|33|a))" + ], + [ + "a=b=c", + "ERROR 4 Syntax Error on line 1, column 4: expecting \"EOF\", found '='", + "(Expression|4|expression (PropertyOrFieldNode|33|a))" + ], + [ + "a??b", + "(DefaultNode|21|?? (Expression|4|expression (PropertyOrFieldNode|33|a)) (Expression|4|expression (PropertyOrFieldNode|33|b)))", + "(Expression|4|expression (PropertyOrFieldNode|33|a))" + ], + [ + "a??b??c", + "ERROR 5 Syntax Error on line 1, column 5: expecting \"EOF\", found '??'", + "(Expression|4|expression (PropertyOrFieldNode|33|a))" + ], + [ + "a?b:c", + "(TernaryNode|22|? (Expression|4|expression (PropertyOrFieldNode|33|a)) (Expression|4|expression (PropertyOrFieldNode|33|b)) (Expression|4|expression (PropertyOrFieldNode|33|c)))", + "(Expression|4|expression (PropertyOrFieldNode|33|a))" + ], + [ + "a?b:c?d:e", + "(TernaryNode|22|? (Expression|4|expression (PropertyOrFieldNode|33|a)) (Expression|4|expression (PropertyOrFieldNode|33|b)) (TernaryNode|22|? (Expression|4|expression (PropertyOrFieldNode|33|c)) (Expression|4|expression (PropertyOrFieldNode|33|d)) (Expression|4|expression (PropertyOrFieldNode|33|e))))", + "(Expression|4|expression (PropertyOrFieldNode|33|a))" + ], + [ + "a?b:c=d", + "(TernaryNode|22|? (Expression|4|expression (PropertyOrFieldNode|33|a)) (Expression|4|expression (PropertyOrFieldNode|33|b)) (AssignNode|20|= (Expression|4|expression (PropertyOrFieldNode|33|c)) (Expression|4|expression (PropertyOrFieldNode|33|d))))", + "(Expression|4|expression (PropertyOrFieldNode|33|a))" + ], + [ + "a?b", + "ERROR 4 Syntax Error on line 1, column 4: expecting \"COLON\", found ''", + "(Expression|4|expression (PropertyOrFieldNode|33|a))" + ], + [ + "a+b*c", + "(OpADD|24|+ (Expression|4|expression (PropertyOrFieldNode|33|a)) (OpMULTIPLY|26|* (Expression|4|expression (PropertyOrFieldNode|33|b)) (Expression|4|expression (PropertyOrFieldNode|33|c))))", + "(Expression|4|expression (PropertyOrFieldNode|33|a))" + ], + [ + "a*b+c", + "(OpADD|24|+ (OpMULTIPLY|26|* (Expression|4|expression (PropertyOrFieldNode|33|a)) (Expression|4|expression (PropertyOrFieldNode|33|b))) (Expression|4|expression (PropertyOrFieldNode|33|c)))", + "(Expression|4|expression (PropertyOrFieldNode|33|a))" + ], + [ + "(a+b)*c", + "(OpMULTIPLY|26|* (Expression|4|expression (OpADD|24|+ (Expression|4|expression (PropertyOrFieldNode|33|a)) (Expression|4|expression (PropertyOrFieldNode|33|b)))) (Expression|4|expression (PropertyOrFieldNode|33|c)))", + "(Expression|4|expression (OpADD|24|+ (Expression|4|expression (PropertyOrFieldNode|33|a)) (Expression|4|expression (PropertyOrFieldNode|33|b))))" + ], + [ + "a-b-c", + "(OpSUBTRACT|25|- (OpSUBTRACT|25|- (Expression|4|expression (PropertyOrFieldNode|33|a)) (Expression|4|expression (PropertyOrFieldNode|33|b))) (Expression|4|expression (PropertyOrFieldNode|33|c)))", + "(Expression|4|expression (PropertyOrFieldNode|33|a))" + ], + [ + "a%b/c", + "(OpDIVIDE|27|/ (OpMODULUS|28|% (Expression|4|expression (PropertyOrFieldNode|33|a)) (Expression|4|expression (PropertyOrFieldNode|33|b))) (Expression|4|expression (PropertyOrFieldNode|33|c)))", + "(Expression|4|expression (PropertyOrFieldNode|33|a))" + ], + [ + "1", + "(Expression|4|expression (IntLiteralNode|51|1))", + "(Expression|4|expression (IntLiteralNode|51|1))" + ], + [ + "1.5", + "(Expression|4|expression (RealLiteralNode|53|1.5))", + "(Expression|4|expression (RealLiteralNode|53|1.5))" + ], + [ + "1e5", + "(Expression|4|expression (RealLiteralNode|53|1e5))", + "(Expression|4|expression (RealLiteralNode|53|1e5))" + ], + [ + "1e+5", + "(Expression|4|expression (RealLiteralNode|53|1e+5))", + "(Expression|4|expression (RealLiteralNode|53|1e+5))" + ], + [ + "1e", + "(Expression|4|expression (IntLiteralNode|51|1) (PropertyOrFieldNode|33|e))", + "(Expression|4|expression (IntLiteralNode|51|1) (PropertyOrFieldNode|33|e))" + ], + [ + "1.", + "(Expression|4|expression (IntLiteralNode|51|1))", + "(Expression|4|expression (IntLiteralNode|51|1))" + ], + [ + "1.a", + "(Expression|4|expression (IntLiteralNode|51|1) (PropertyOrFieldNode|33|a))", + "(Expression|4|expression (IntLiteralNode|51|1) (PropertyOrFieldNode|33|a))" + ], + [ + ".5", + "(Expression|4|expression (RealLiteralNode|53|.5))", + "(Expression|4|expression (RealLiteralNode|53|.5))" + ], + [ + "a.5", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"a\",<33>,line=1,col=1]", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"a\",<33>,line=1,col=1]" + ], + [ + "0x1F", + "(Expression|4|expression (HexLiteralNode|52|0x1F))", + "(Expression|4|expression (HexLiteralNode|52|0x1F))" + ], + [ + "0x", + "ERROR 3 Syntax Error on line 1, column 3: unexpected char: 0xFFFF", + "ERROR 3 Syntax Error on line 1, column 3: unexpected char: 0xFFFF" + ], + [ + "0xg", + "ERROR 3 Syntax Error on line 1, column 3: unexpected char: 'g'", + "ERROR 3 Syntax Error on line 1, column 3: unexpected char: 'g'" + ], + [ + "0x1Fu", + "(Expression|4|expression (HexLiteralNode|52|0x1Fu))", + "(Expression|4|expression (HexLiteralNode|52|0x1Fu))" + ], + [ + "0X1", + "(Expression|4|expression (IntLiteralNode|51|0) (PropertyOrFieldNode|33|X1))", + "(Expression|4|expression (IntLiteralNode|51|0) (PropertyOrFieldNode|33|X1))" + ], + [ + "1L", + "(Expression|4|expression (IntLiteralNode|51|1L))", + "(Expression|4|expression (IntLiteralNode|51|1L))" + ], + [ + "1UL", + "(Expression|4|expression (IntLiteralNode|51|1UL))", + "(Expression|4|expression (IntLiteralNode|51|1UL))" + ], + [ + "1Ul", + "(Expression|4|expression (IntLiteralNode|51|1U) (PropertyOrFieldNode|33|l))", + "(Expression|4|expression (IntLiteralNode|51|1U) (PropertyOrFieldNode|33|l))" + ], + [ + "1f", + "(Expression|4|expression (RealLiteralNode|53|1f))", + "(Expression|4|expression (RealLiteralNode|53|1f))" + ], + [ + "1d", + "(Expression|4|expression (RealLiteralNode|53|1d))", + "(Expression|4|expression (RealLiteralNode|53|1d))" + ], + [ + "1m", + "(Expression|4|expression (RealLiteralNode|53|1m))", + "(Expression|4|expression (RealLiteralNode|53|1m))" + ], + [ + "1.5f", + "(Expression|4|expression (RealLiteralNode|53|1.5f))", + "(Expression|4|expression (RealLiteralNode|53|1.5f))" + ], + [ + "1.5L", + "(Expression|4|expression (RealLiteralNode|53|1.5) (PropertyOrFieldNode|33|L))", + "(Expression|4|expression (RealLiteralNode|53|1.5) (PropertyOrFieldNode|33|L))" + ], + [ + "1.5e", + "ERROR 5 Syntax Error on line 1, column 5: unexpected char: 0xFFFF", + "ERROR 5 Syntax Error on line 1, column 5: unexpected char: 0xFFFF" + ], + [ + "1.5e+", + "ERROR 6 Syntax Error on line 1, column 6: unexpected char: 0xFFFF", + "ERROR 6 Syntax Error on line 1, column 6: unexpected char: 0xFFFF" + ], + [ + "1.5ex", + "ERROR 5 Syntax Error on line 1, column 5: unexpected char: 'x'", + "ERROR 5 Syntax Error on line 1, column 5: unexpected char: 'x'" + ], + [ + "'a'", + "(Expression|4|expression (StringLiteralNode|46|a))", + "(Expression|4|expression (StringLiteralNode|46|a))" + ], + [ + "''", + "(Expression|4|expression (StringLiteralNode|46|))", + "(Expression|4|expression (StringLiteralNode|46|))" + ], + [ + "'a''b'", + "(Expression|4|expression (StringLiteralNode|46|a'b))", + "(Expression|4|expression (StringLiteralNode|46|a'b))" + ], + [ + "'", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"'\",<45>,line=1,col=1]", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"'\",<45>,line=1,col=1]" + ], + [ + "'a", + "ERROR 3 Syntax Error on line 1, column 3: expecting ''', found ''", + "ERROR 3 Syntax Error on line 1, column 3: expecting ''', found ''" + ], + [ + "true", + "(Expression|4|expression (BooleanLiteralNode|7|true))", + "(Expression|4|expression (BooleanLiteralNode|7|true))" + ], + [ + "false", + "(Expression|4|expression (BooleanLiteralNode|6|false))", + "(Expression|4|expression (BooleanLiteralNode|6|false))" + ], + [ + "null", + "(Expression|4|expression (NullLiteralNode|16|null))", + "(Expression|4|expression (NullLiteralNode|16|null))" + ], + [ + "new", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"new\",<49>,line=1,col=1]", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"new\",<49>,line=1,col=1]" + ], + [ + "in", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"in\",<11>,line=1,col=1]", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"in\",<11>,line=1,col=1]" + ], + [ + "T", + "(Expression|4|expression (PropertyOrFieldNode|33|T))", + "(Expression|4|expression (PropertyOrFieldNode|33|T))" + ], + [ + "T (a)", + "(Expression|4|expression (MethodNode|33|T (Expression|4|expression (PropertyOrFieldNode|33|a))))", + "(Expression|4|expression (MethodNode|33|T (Expression|4|expression (PropertyOrFieldNode|33|a))))" + ], + [ + "T(", + "ERROR 3 Syntax Error on line 1, column 3: expecting \"ID\", found ''", + "ERROR 3 Syntax Error on line 1, column 3: expecting \"ID\", found ''" + ], + [ + "1 2", + "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\"2\",<51>,line=1,col=3]", + "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\"2\",<51>,line=1,col=3]" + ], + [ + "a 'b'", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"a\",<33>,line=1,col=1]", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"a\",<33>,line=1,col=1]" + ], + [ + "a ~", + "ERROR 3 Syntax Error on line 1, column 3: unexpected char: '~'", + "ERROR 3 Syntax Error on line 1, column 3: unexpected char: '~'" + ], + [ + "~", + "ERROR 1 Syntax Error on line 1, column 1: unexpected char: '~'", + "ERROR 1 Syntax Error on line 1, column 1: unexpected char: '~'" + ], + [ + "a \t b ~", + "ERROR 12 Syntax Error on line 1, column 12: unexpected char: '~'", + "ERROR 12 Syntax Error on line 1, column 12: unexpected char: '~'" + ], + [ + "a\n b ~", + "ERROR 6 Syntax Error on line 1, column 6: unexpected char: '~'", + "ERROR 6 Syntax Error on line 1, column 6: unexpected char: '~'" + ], + [ + "a\tb\t~", + "ERROR 17 Syntax Error on line 1, column 17: unexpected char: '~'", + "ERROR 17 Syntax Error on line 1, column 17: unexpected char: '~'" + ], + [ + "\\", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"\\\",<62>,line=1,col=1]", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"\\\",<62>,line=1,col=1]" + ], + [ + "\\.", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"\\.\",<63>,line=1,col=1]", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"\\.\",<63>,line=1,col=1]" + ], + [ + "`", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"`\",<61>,line=1,col=1]", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"`\",<61>,line=1,col=1]" + ], + [ + "a|b", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"a\",<33>,line=1,col=1]", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"a\",<33>,line=1,col=1]" + ], + [ + "a,b", + "ERROR 2 Syntax Error on line 1, column 2: expecting \"EOF\", found ','", + "(Expression|4|expression (PropertyOrFieldNode|33|a))" + ], + [ + "a;b", + "ERROR 2 Syntax Error on line 1, column 2: expecting \"EOF\", found ';'", + "(Expression|4|expression (PropertyOrFieldNode|33|a))" + ], + [ + ";", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\";\",<18>,line=1,col=1]", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\";\",<18>,line=1,col=1]" + ], + [ + ":", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\":\",<23>,line=1,col=1]", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\":\",<23>,line=1,col=1]" + ], + [ + "a)", + "ERROR 2 Syntax Error on line 1, column 2: expecting \"EOF\", found ')'", + "(Expression|4|expression (PropertyOrFieldNode|33|a))" + ], + [ + "(a", + "ERROR 3 Syntax Error on line 1, column 3: expecting \"RPAREN\", found ''", + "ERROR 3 Syntax Error on line 1, column 3: expecting \"RPAREN\", found ''" + ], + [ + "[a]", + "(Expression|4|expression (IndexerNode|37|[ (Expression|4|expression (PropertyOrFieldNode|33|a))))", + "(Expression|4|expression (IndexerNode|37|[ (Expression|4|expression (PropertyOrFieldNode|33|a))))" + ], + [ + "[a,b]", + "(Expression|4|expression (IndexerNode|37|[ (Expression|4|expression (PropertyOrFieldNode|33|a)) (Expression|4|expression (PropertyOrFieldNode|33|b))))", + "(Expression|4|expression (IndexerNode|37|[ (Expression|4|expression (PropertyOrFieldNode|33|a)) (Expression|4|expression (PropertyOrFieldNode|33|b))))" + ], + [ + "a[b,c]", + "(Expression|4|expression (PropertyOrFieldNode|33|a) (IndexerNode|37|[ (Expression|4|expression (PropertyOrFieldNode|33|b)) (Expression|4|expression (PropertyOrFieldNode|33|c))))", + "(Expression|4|expression (PropertyOrFieldNode|33|a) (IndexerNode|37|[ (Expression|4|expression (PropertyOrFieldNode|33|b)) (Expression|4|expression (PropertyOrFieldNode|33|c))))" + ], + [ + "a[]", + "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\"]\",<38>,line=1,col=3]", + "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\"]\",<38>,line=1,col=3]" + ], + [ + "a()", + "(Expression|4|expression (MethodNode|33|a))", + "(Expression|4|expression (MethodNode|33|a))" + ], + [ + "a(b,c)", + "(Expression|4|expression (MethodNode|33|a (Expression|4|expression (PropertyOrFieldNode|33|b)) (Expression|4|expression (PropertyOrFieldNode|33|c))))", + "(Expression|4|expression (MethodNode|33|a (Expression|4|expression (PropertyOrFieldNode|33|b)) (Expression|4|expression (PropertyOrFieldNode|33|c))))" + ], + [ + "a(b;c)", + "ERROR 4 Syntax Error on line 1, column 4: expecting \"RPAREN\", found ';'", + "ERROR 4 Syntax Error on line 1, column 4: expecting \"RPAREN\", found ';'" + ], + [ + "#a(b;c)", + "ERROR 5 Syntax Error on line 1, column 5: expecting \"RPAREN\", found ';'", + "ERROR 5 Syntax Error on line 1, column 5: expecting \"RPAREN\", found ';'" + ], + [ + "$a(b;c)", + "ERROR 5 Syntax Error on line 1, column 5: expecting \"RPAREN\", found ';'", + "ERROR 5 Syntax Error on line 1, column 5: expecting \"RPAREN\", found ';'" + ], + [ + "a.b(c)(d;e)", + "(Expression|4|expression (PropertyOrFieldNode|33|a) (MethodNode|33|b (Expression|4|expression (PropertyOrFieldNode|33|c))) (ExpressionListNode|4|expressionList (Expression|4|expression (PropertyOrFieldNode|33|d)) (Expression|4|expression (PropertyOrFieldNode|33|e))))", + "(Expression|4|expression (PropertyOrFieldNode|33|a) (MethodNode|33|b (Expression|4|expression (PropertyOrFieldNode|33|c))) (ExpressionListNode|4|expressionList (Expression|4|expression (PropertyOrFieldNode|33|d)) (Expression|4|expression (PropertyOrFieldNode|33|e))))" + ], + [ + "(a;b)(c;d)", + "(Expression|4|expression (ExpressionListNode|4|expressionList (Expression|4|expression (PropertyOrFieldNode|33|a)) (Expression|4|expression (PropertyOrFieldNode|33|b))) (ExpressionListNode|4|expressionList (Expression|4|expression (PropertyOrFieldNode|33|c)) (Expression|4|expression (PropertyOrFieldNode|33|d))))", + "(Expression|4|expression (ExpressionListNode|4|expressionList (Expression|4|expression (PropertyOrFieldNode|33|a)) (Expression|4|expression (PropertyOrFieldNode|33|b))) (ExpressionListNode|4|expressionList (Expression|4|expression (PropertyOrFieldNode|33|c)) (Expression|4|expression (PropertyOrFieldNode|33|d))))" + ], + [ + "{a}", + "(Expression|4|expression (ListInitializerNode|50|{ (Expression|4|expression (PropertyOrFieldNode|33|a))))", + "(Expression|4|expression (ListInitializerNode|50|{ (Expression|4|expression (PropertyOrFieldNode|33|a))))" + ], + [ + "{}", + "ERROR 2 Syntax Error on line 1, column 2: unexpected token: [\"}\",<40>,line=1,col=2]", + "ERROR 2 Syntax Error on line 1, column 2: unexpected token: [\"}\",<40>,line=1,col=2]" + ], + [ + "#{}", + "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\"}\",<40>,line=1,col=3]", + "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\"}\",<40>,line=1,col=3]" + ], + [ + "{|", + "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\"\",<1>,line=1,col=3]", + "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\"\",<1>,line=1,col=3]" + ], + [ + "{|a", + "ERROR 4 Syntax Error on line 1, column 4: expecting \"PIPE\", found ''", + "ERROR 4 Syntax Error on line 1, column 4: expecting \"PIPE\", found ''" + ], + [ + "{|a|", + "ERROR 5 Syntax Error on line 1, column 5: unexpected token: [\"\",<1>,line=1,col=5]", + "ERROR 5 Syntax Error on line 1, column 5: unexpected token: [\"\",<1>,line=1,col=5]" + ], + [ + "{|a|b", + "ERROR 6 Syntax Error on line 1, column 6: expecting \"RCURLY\", found ''", + "ERROR 6 Syntax Error on line 1, column 6: expecting \"RCURLY\", found ''" + ], + [ + "a=1", + "(AssignNode|20|= (Expression|4|expression (PropertyOrFieldNode|33|a)) (Expression|4|expression (IntLiteralNode|51|1)))", + "(Expression|4|expression (PropertyOrFieldNode|33|a))" + ], + [ + "(a=1)", + "(Expression|4|expression (AssignNode|20|= (Expression|4|expression (PropertyOrFieldNode|33|a)) (Expression|4|expression (IntLiteralNode|51|1))))", + "(Expression|4|expression (AssignNode|20|= (Expression|4|expression (PropertyOrFieldNode|33|a)) (Expression|4|expression (IntLiteralNode|51|1))))" + ], + [ + "(#x=1;#x+1)", + "(Expression|4|expression (ExpressionListNode|4|expressionList (AssignNode|20|= (Expression|4|expression (VariableNode|33|x)) (Expression|4|expression (IntLiteralNode|51|1))) (OpADD|24|+ (Expression|4|expression (VariableNode|33|x)) (Expression|4|expression (IntLiteralNode|51|1)))))", + "(Expression|4|expression (ExpressionListNode|4|expressionList (AssignNode|20|= (Expression|4|expression (VariableNode|33|x)) (Expression|4|expression (IntLiteralNode|51|1))) (OpADD|24|+ (Expression|4|expression (VariableNode|33|x)) (Expression|4|expression (IntLiteralNode|51|1)))))" + ], + [ + "new a(x=1,y=2)", + "(Expression|4|expression (ConstructorNode|4|a (NamedArgumentNode|33|x (Expression|4|expression (IntLiteralNode|51|1))) (NamedArgumentNode|33|y (Expression|4|expression (IntLiteralNode|51|2)))))", + "(Expression|4|expression (ConstructorNode|4|a (NamedArgumentNode|33|x (Expression|4|expression (IntLiteralNode|51|1))) (NamedArgumentNode|33|y (Expression|4|expression (IntLiteralNode|51|2)))))" + ], + [ + "new a(x=1 ?2:3)", + "(Expression|4|expression (ConstructorNode|4|a (NamedArgumentNode|33|x (TernaryNode|22|? (Expression|4|expression (IntLiteralNode|51|1)) (Expression|4|expression (IntLiteralNode|51|2)) (Expression|4|expression (IntLiteralNode|51|3))))))", + "(Expression|4|expression (ConstructorNode|4|a (NamedArgumentNode|33|x (TernaryNode|22|? (Expression|4|expression (IntLiteralNode|51|1)) (Expression|4|expression (IntLiteralNode|51|2)) (Expression|4|expression (IntLiteralNode|51|3))))))" + ], + [ + "new a(x==1)", + "(Expression|4|expression (ConstructorNode|4|a (OpEqual|4|== (Expression|4|expression (PropertyOrFieldNode|33|x)) (Expression|4|expression (IntLiteralNode|51|1)))))", + "(Expression|4|expression (ConstructorNode|4|a (OpEqual|4|== (Expression|4|expression (PropertyOrFieldNode|33|x)) (Expression|4|expression (IntLiteralNode|51|1)))))" + ], + [ + "@(a", + "ERROR 4 Syntax Error on line 1, column 4: expecting \"RPAREN\", found ''", + "ERROR 4 Syntax Error on line 1, column 4: expecting \"RPAREN\", found ''" + ], + [ + "@(a:", + "ERROR 5 Syntax Error on line 1, column 5: unexpected token: [\"\",<1>,line=1,col=5]", + "ERROR 5 Syntax Error on line 1, column 5: unexpected token: [\"\",<1>,line=1,col=5]" + ], + [ + "@(a:b", + "ERROR 6 Syntax Error on line 1, column 6: expecting \"RPAREN\", found ''", + "ERROR 6 Syntax Error on line 1, column 6: expecting \"RPAREN\", found ''" + ], + [ + "@[", + "ERROR 3 Syntax Error on line 1, column 3: expecting \"ID\", found ''", + "ERROR 3 Syntax Error on line 1, column 3: expecting \"ID\", found ''" + ], + [ + "@[a", + "ERROR 4 Syntax Error on line 1, column 4: unexpected token: [\"\",<1>,line=1,col=4]", + "ERROR 4 Syntax Error on line 1, column 4: unexpected token: [\"\",<1>,line=1,col=4]" + ], + [ + "@[a(", + "ERROR 5 Syntax Error on line 1, column 5: unexpected token: [\"\",<1>,line=1,col=5]", + "ERROR 5 Syntax Error on line 1, column 5: unexpected token: [\"\",<1>,line=1,col=5]" + ], + [ + "@", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"@\",<36>,line=1,col=1]", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"@\",<36>,line=1,col=1]" + ], + [ + "@ (a)", + "(Expression|4|expression (ReferenceNode|4|ref (QualifiedIdentifier|33|a)))", + "(Expression|4|expression (ReferenceNode|4|ref (QualifiedIdentifier|33|a)))" + ], + [ + "@ [a]", + "(Expression|4|expression (AttributeNode|4|a))", + "(Expression|4|expression (AttributeNode|4|a))" + ], + [ + "#", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"#\",<32>,line=1,col=1]", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"#\",<32>,line=1,col=1]" + ], + [ + "$", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"$\",<34>,line=1,col=1]", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"$\",<34>,line=1,col=1]" + ], + [ + "#{|", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"#\",<32>,line=1,col=1]", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"#\",<32>,line=1,col=1]" + ], + [ + "#{a}", + "ERROR 4 Syntax Error on line 1, column 4: expecting \"COLON\", found '}'", + "ERROR 4 Syntax Error on line 1, column 4: expecting \"COLON\", found '}'" + ], + [ + "#{a:1", + "ERROR 6 Syntax Error on line 1, column 6: expecting \"RCURLY\", found ''", + "ERROR 6 Syntax Error on line 1, column 6: expecting \"RCURLY\", found ''" + ], + [ + "${", + "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\"\",<1>,line=1,col=3]", + "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\"\",<1>,line=1,col=3]" + ], + [ + "$ {a}", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"$\",<34>,line=1,col=1]", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"$\",<34>,line=1,col=1]" + ], + [ + "^{", + "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\"\",<1>,line=1,col=3]", + "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\"\",<1>,line=1,col=3]" + ], + [ + "a?{b", + "ERROR 5 Syntax Error on line 1, column 5: expecting \"RCURLY\", found ''", + "ERROR 5 Syntax Error on line 1, column 5: expecting \"RCURLY\", found ''" + ], + [ + "a?", + "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\"\",<1>,line=1,col=3]", + "(Expression|4|expression (PropertyOrFieldNode|33|a))" + ], + [ + "!{", + "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\"\",<1>,line=1,col=3]", + "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\"\",<1>,line=1,col=3]" + ], + [ + "!", + "ERROR 2 Syntax Error on line 1, column 2: unexpected token: [\"\",<1>,line=1,col=2]", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"!\",<30>,line=1,col=1]" + ], + [ + "!a", + "(OpNOT|30|! (Expression|4|expression (PropertyOrFieldNode|33|a)))", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"!\",<30>,line=1,col=1]" + ], + [ + "!!a", + "(OpNOT|30|! (OpNOT|30|! (Expression|4|expression (PropertyOrFieldNode|33|a))))", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"!\",<30>,line=1,col=1]" + ], + [ + "--a", + "(OpUnaryMinus|25|- (OpUnaryMinus|25|- (Expression|4|expression (PropertyOrFieldNode|33|a))))", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"-\",<25>,line=1,col=1]" + ], + [ + "+-a", + "(OpUnaryPlus|24|+ (OpUnaryMinus|25|- (Expression|4|expression (PropertyOrFieldNode|33|a))))", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"+\",<24>,line=1,col=1]" + ], + [ + "- - a", + "(OpUnaryMinus|25|- (OpUnaryMinus|25|- (Expression|4|expression (PropertyOrFieldNode|33|a))))", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"-\",<25>,line=1,col=1]" + ], + [ + "a+-b", + "(OpADD|24|+ (Expression|4|expression (PropertyOrFieldNode|33|a)) (OpUnaryMinus|25|- (Expression|4|expression (PropertyOrFieldNode|33|b))))", + "(Expression|4|expression (PropertyOrFieldNode|33|a))" + ], + [ + "a- -b", + "(OpSUBTRACT|25|- (Expression|4|expression (PropertyOrFieldNode|33|a)) (OpUnaryMinus|25|- (Expression|4|expression (PropertyOrFieldNode|33|b))))", + "(Expression|4|expression (PropertyOrFieldNode|33|a))" + ], + [ + "a--b", + "(OpSUBTRACT|25|- (Expression|4|expression (PropertyOrFieldNode|33|a)) (OpUnaryMinus|25|- (Expression|4|expression (PropertyOrFieldNode|33|b))))", + "(Expression|4|expression (PropertyOrFieldNode|33|a))" + ], + [ + "new a", + "ERROR 6 Syntax Error on line 1, column 6: expecting \"LBRACKET\", found ''", + "ERROR 6 Syntax Error on line 1, column 6: expecting \"LBRACKET\", found ''" + ], + [ + "new a.", + "ERROR 7 Syntax Error on line 1, column 7: expecting \"ID\", found ''", + "ERROR 7 Syntax Error on line 1, column 7: expecting \"ID\", found ''" + ], + [ + "new a.b", + "ERROR 8 Syntax Error on line 1, column 8: expecting \"LBRACKET\", found ''", + "ERROR 8 Syntax Error on line 1, column 8: expecting \"LBRACKET\", found ''" + ], + [ + "new T(a)", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"new\",<49>,line=1,col=1]", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"new\",<49>,line=1,col=1]" + ], + [ + "new a.T(b)", + "ERROR 7 Syntax Error on line 1, column 7: expecting \"ID\", found 'T('", + "ERROR 7 Syntax Error on line 1, column 7: expecting \"ID\", found 'T('" + ], + [ + "new a.in()", + "ERROR 7 Syntax Error on line 1, column 7: expecting \"ID\", found 'in'", + "ERROR 7 Syntax Error on line 1, column 7: expecting \"ID\", found 'in'" + ], + [ + "new 1", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"new\",<49>,line=1,col=1]", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"new\",<49>,line=1,col=1]" + ], + [ + "a.in", + "ERROR 5 Syntax Error on line 1, column 5: unexpected token: [\"\",<1>,line=1,col=5]", + "(Expression|4|expression (PropertyOrFieldNode|33|a))" + ], + [ + "in.a", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"in\",<11>,line=1,col=1]", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"in\",<11>,line=1,col=1]" + ], + [ + "a.new", + "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\"new\",<49>,line=1,col=3]", + "(Expression|4|expression (PropertyOrFieldNode|33|a))" + ], + [ + "a.true", + "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\"true\",<7>,line=1,col=3]", + "(Expression|4|expression (PropertyOrFieldNode|33|a))" + ], + [ + "true.a", + "(Expression|4|expression (BooleanLiteralNode|7|true) (PropertyOrFieldNode|33|a))", + "(Expression|4|expression (BooleanLiteralNode|7|true) (PropertyOrFieldNode|33|a))" + ], + [ + "1 .2", + "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\".2\",<53>,line=1,col=3]", + "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\".2\",<53>,line=1,col=3]" + ], + [ + "1.2.3", + "ERROR 4 Syntax Error on line 1, column 4: unexpected token: [\".3\",<53>,line=1,col=4]", + "ERROR 4 Syntax Error on line 1, column 4: unexpected token: [\".3\",<53>,line=1,col=4]" + ], + [ + "T(a):", + "ERROR 5 Syntax Error on line 1, column 5: expecting \"EOF\", found ':'", + "(Expression|4|expression (TypeNode|4|a))" + ], + [ + "T(a:b)", + "ERROR 4 Syntax Error on line 1, column 4: expecting \"RPAREN\", found ':'", + "ERROR 4 Syntax Error on line 1, column 4: expecting \"RPAREN\", found ':'" + ], + [ + "T('a')", + "ERROR 3 Syntax Error on line 1, column 3: expecting \"ID\", found 'a'", + "ERROR 3 Syntax Error on line 1, column 3: expecting \"ID\", found 'a'" + ], + [ + "@('a')", + "(Expression|4|expression (ReferenceNode|4|ref (QualifiedIdentifier|46|a)))", + "(Expression|4|expression (ReferenceNode|4|ref (QualifiedIdentifier|46|a)))" + ], + [ + "@('a':b)", + "(Expression|4|expression (ReferenceNode|4|ref (QualifiedIdentifier|46|a) (QualifiedIdentifier|33|b)))", + "(Expression|4|expression (ReferenceNode|4|ref (QualifiedIdentifier|46|a) (QualifiedIdentifier|33|b)))" + ], + [ + "@(a:'b')", + "(Expression|4|expression (ReferenceNode|4|ref (QualifiedIdentifier|33|a) (QualifiedIdentifier|46|b)))", + "(Expression|4|expression (ReferenceNode|4|ref (QualifiedIdentifier|33|a) (QualifiedIdentifier|46|b)))" + ], + [ + "@(in)", + "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\"in\",<11>,line=1,col=3]", + "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\"in\",<11>,line=1,col=3]" + ], + [ + "@(a in:b)", + "(Expression|4|expression (ReferenceNode|4|ref (QualifiedIdentifier|33|ain) (QualifiedIdentifier|33|b)))", + "(Expression|4|expression (ReferenceNode|4|ref (QualifiedIdentifier|33|ain) (QualifiedIdentifier|33|b)))" + ], + [ + "T(a in b)", + "(Expression|4|expression (TypeNode|4|ainb))", + "(Expression|4|expression (TypeNode|4|ainb))" + ], + [ + "T(in)", + "ERROR 3 Syntax Error on line 1, column 3: expecting \"ID\", found 'in'", + "ERROR 3 Syntax Error on line 1, column 3: expecting \"ID\", found 'in'" + ], + [ + "T(T(a))", + "ERROR 3 Syntax Error on line 1, column 3: expecting \"ID\", found 'T('", + "ERROR 3 Syntax Error on line 1, column 3: expecting \"ID\", found 'T('" + ], + [ + "T(a T(b)", + "(Expression|4|expression (TypeNode|4|aT(b))", + "(Expression|4|expression (TypeNode|4|aT(b))" + ], + [ + "a b[", + "ERROR 5 Syntax Error on line 1, column 5: unexpected token: [\"\",<1>,line=1,col=5]", + "ERROR 5 Syntax Error on line 1, column 5: unexpected token: [\"\",<1>,line=1,col=5]" + ], + [ + "a(b", + "ERROR 4 Syntax Error on line 1, column 4: expecting \"RPAREN\", found ''", + "ERROR 4 Syntax Error on line 1, column 4: expecting \"RPAREN\", found ''" + ], + [ + "a +", + "ERROR 4 Syntax Error on line 1, column 4: unexpected token: [\"\",<1>,line=1,col=4]", + "(Expression|4|expression (PropertyOrFieldNode|33|a))" + ], + [ + "a ?{", + "ERROR 5 Syntax Error on line 1, column 5: unexpected token: [\"\",<1>,line=1,col=5]", + "ERROR 5 Syntax Error on line 1, column 5: unexpected token: [\"\",<1>,line=1,col=5]" + ], + [ + "android", + "(Expression|4|expression (PropertyOrFieldNode|33|android))", + "(Expression|4|expression (PropertyOrFieldNode|33|android))" + ], + [ + "input.x", + "(Expression|4|expression (PropertyOrFieldNode|33|input) (PropertyOrFieldNode|33|x))", + "(Expression|4|expression (PropertyOrFieldNode|33|input) (PropertyOrFieldNode|33|x))" + ], + [ + "and", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"and\",<8>,line=1,col=1]", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"and\",<8>,line=1,col=1]" + ], + [ + "Name.Length + 1", + "(OpADD|24|+ (Expression|4|expression (PropertyOrFieldNode|33|Name) (PropertyOrFieldNode|33|Length)) (Expression|4|expression (IntLiteralNode|51|1)))", + "(Expression|4|expression (PropertyOrFieldNode|33|Name) (PropertyOrFieldNode|33|Length))" + ], + [ + "foo.bar[0].baz(1, 'x').?{#this > 1}.!{Name}", + "(Expression|4|expression (PropertyOrFieldNode|33|foo) (PropertyOrFieldNode|33|bar) (IndexerNode|37|[ (Expression|4|expression (IntLiteralNode|51|0))) (MethodNode|33|baz (Expression|4|expression (IntLiteralNode|51|1)) (Expression|4|expression (StringLiteralNode|46|x))) (SelectionNode|41|?{ (OpGreater|4|> (Expression|4|expression (VariableNode|33|this)) (Expression|4|expression (IntLiteralNode|51|1)))) (ProjectionNode|39|!{ (Expression|4|expression (PropertyOrFieldNode|33|Name))))", + "(Expression|4|expression (PropertyOrFieldNode|33|foo) (PropertyOrFieldNode|33|bar) (IndexerNode|37|[ (Expression|4|expression (IntLiteralNode|51|0))) (MethodNode|33|baz (Expression|4|expression (IntLiteralNode|51|1)) (Expression|4|expression (StringLiteralNode|46|x))) (SelectionNode|41|?{ (OpGreater|4|> (Expression|4|expression (VariableNode|33|this)) (Expression|4|expression (IntLiteralNode|51|1)))) (ProjectionNode|39|!{ (Expression|4|expression (PropertyOrFieldNode|33|Name))))" + ], + [ + "T(System.Collections.Generic.List`1[[System.Int32, mscorlib]], mscorlib)", + "(Expression|4|expression (TypeNode|4|System.Collections.Generic.List`1[[System.Int32,mscorlib]],mscorlib))", + "(Expression|4|expression (TypeNode|4|System.Collections.Generic.List`1[[System.Int32,mscorlib]],mscorlib))" + ] +] \ No newline at end of file diff --git a/test/Spring/Spring.Core.Tests/Expressions/ExpressionGrammarTests.cs b/test/Spring/Spring.Core.Tests/Expressions/ExpressionGrammarTests.cs new file mode 100644 index 000000000..cd9bfdcde --- /dev/null +++ b/test/Spring/Spring.Core.Tests/Expressions/ExpressionGrammarTests.cs @@ -0,0 +1,116 @@ +using System.Text; +using Newtonsoft.Json; +using NUnit.Framework; + +namespace Spring.Expressions; + +[TestFixture] +public class ExpressionGrammarTests +{ + private static string Print(object node) + { + var builder = new StringBuilder(); + Print((SpringAST) node, builder); + return builder.ToString(); + } + + private static void Print(SpringAST node, StringBuilder builder) + { + builder.Append('(').Append(node.GetType().Name).Append('|').Append(node.Type).Append('|').Append(node.getText()); + for (var child = (SpringAST) node.getFirstChild(); child != null; child = (SpringAST) child.getNextSibling()) + { + builder.Append(' '); + Print(child, builder); + } + + builder.Append(')'); + } + + private static string Describe(Func parse) + { + try + { + return Print(parse()); + } + catch (SyntaxErrorException e) + { + return "ERROR " + e.Column + " " + e.Message.Split(new[] { " in expression" }, StringSplitOptions.None)[0]; + } + } + + /// + /// The trees and syntax errors of the ANTLR 2 parser that this grammar replaced, when it was removed. A difference was + /// accepted only in the position or text of an error, that the new parser reports at the token it could not read. + /// + [Test] + public void SameTreesAsTheFormerParser() + { + var root = TestContext.CurrentContext.TestDirectory; + while (!Directory.Exists(Path.Combine(root, "test"))) + { + root = Path.GetDirectoryName(root); + } + + var file = Path.Combine(root, "test", "Spring", "Spring.Core.Tests", "Expressions", "ExpressionGrammarGolden.json"); + var failures = new StringBuilder(); + foreach (var entry in JsonConvert.DeserializeObject(File.ReadAllText(file))) + { + var input = entry[0]; + var expression = Describe(() => Expression.Parse(input)); + if (expression != entry[1] && (!expression.StartsWith("ERROR") || !entry[1].StartsWith("ERROR"))) + { + failures.AppendLine($"{input}{Environment.NewLine} expected {entry[1]}{Environment.NewLine} actual {expression}"); + } + } + + Assert.That(failures.ToString(), Is.Empty); + } + + [TestCase("'date", 6, "expecting ''', found ''")] + [TestCase("a ~", 3, "unexpected char: '~'")] + [TestCase("0xg", 3, "unexpected char: 'g'")] + [TestCase("1.5e!", 5, "unexpected char: '!'")] + [TestCase("a, b", 2, "expecting \"EOF\", found ','")] + [TestCase("a\tb\t~", 17, "unexpected char: '~'")] + public void SyntaxErrorsReportTheOffendingText(string input, int column, string message) + { + var e = Assert.Throws(() => Expression.Parse(input)); + Assert.That(e.Line, Is.EqualTo(1)); + Assert.That(e.Column, Is.EqualTo(column)); + Assert.That(e.Message, Does.StartWith($"Syntax Error on line 1, column {column}: {message} in expression")); + Assert.That(e.Expression, Is.EqualTo(input)); + } + + [TestCase(" ")] + [TestCase("")] + [TestCase(null)] + public void BlankTextIsAnEmptyExpression(string input) + { + Assert.That(Expression.Parse(input), Is.TypeOf()); + } + + [Test] + public void DepthOfParenthesesDoesNotCostExponentialTime() + { + // The former parser read each parenthesis twice: this one took 3 s at depth 18 and doubled with each level + var input = new string('(', 50) + "1" + new string(')', 50); + Assert.That(Expression.Parse(input).GetValue(), Is.EqualTo(1)); + } + + [TestCase("(", ")")] + [TestCase("{", "}")] + [TestCase("a[", "]")] + [TestCase("f(", ")")] + [TestCase("-(", ")")] + public void DeepNestingIsASyntaxError(string open, string close) + { + var input = string.Concat(Enumerable.Repeat(open, 500_000)) + "1" + string.Concat(Enumerable.Repeat(close, 500_000)); + Assert.Throws(() => Expression.Parse(input)); + } + + [Test] + public void DeepNestingOfUnaryOperatorsIsASyntaxError() + { + Assert.Throws(() => Expression.Parse(new string('-', 500_000) + "1")); + } +} diff --git a/test/Spring/Spring.Core.Tests/Expressions/ParserDifferentialTests.cs b/test/Spring/Spring.Core.Tests/Expressions/ParserDifferentialTests.cs deleted file mode 100644 index 4e5d0ce31..000000000 --- a/test/Spring/Spring.Core.Tests/Expressions/ParserDifferentialTests.cs +++ /dev/null @@ -1,311 +0,0 @@ -using System.Reflection; -using System.Text; -using Newtonsoft.Json; -using NUnit.Framework; -using Spring.Expressions.Parser.antlr.collections; - -namespace Spring.Expressions; - -/// -/// Compares the Parlot parser with the ANTLR one it replaces, on the strings of the test suite, on generated expressions, -/// and on mutations of both. PARSER_DIFFERENTIAL_ITERATIONS sets the number of mutations and generated expressions, -/// PARSER_DIFFERENTIAL_REPORT a file to write the differences to. -/// -[TestFixture] -public class ParserDifferentialTests -{ - private static readonly string[] Vocabulary = - { - " ", " ", "\t", "\n", "\r\n", "a", "b", "foo", "Bar_1", "_x", "T", "T(", "(", ")", "[", "]", "{", "}", "{|", "|", ",", ";", ":", ".", "\\", "\\.", "`", "'", "''", "'s'", - "=", "==", "!=", "!", "<", "<=", ">", ">=", "+", "-", "*", "/", "%", "^", "?", "??", "?{", "!{", "^{", "${", "$", "#", "#{", "@", "@(", "@[", "~", "\"", "&", "é", "\f", "\0", - "and", "or", "xor", "in", "is", "between", "like", "matches", "null", "true", "false", "new", "new ", "And", "android", "input", - "0", "1", "12", "1.5", ".5", "1.", "1e5", "1e", "1e+", "1E-5", "1f", "1d", "1m", "1L", "1u", "1UL", "1lU", "1Ul", "0x", "0x1F", "0x1Fl", "0X1", "0xg", "00", - }; - - private sealed class Rule - { - public string Name; - public Func Antlr; - public Func Parlot; - } - - private static Func Method(Type type, string name) - { - var method = type.GetMethod(name, BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic, null, new[] { typeof(string) }, null); - return input => - { - try - { - return method.Invoke(null, new object[] { input }); - } - catch (TargetInvocationException e) - { - return e.InnerException; - } - }; - } - - private static string Print(object result) - { - if (result is SyntaxErrorException syntaxError) - { - return "SyntaxError"; - } - - if (result is Exception e) - { - return "!" + e.GetType().Name; - } - - var builder = new StringBuilder(); - Print((SpringAST) result, builder); - return builder.ToString(); - } - - private static void Print(SpringAST node, StringBuilder builder) - { - builder.Append('(').Append(node.GetType().Name).Append('|').Append(node.Type).Append('|').Append(node.getText()); - - // The tokens of a qualified name are only read through its text - if (node is not QualifiedIdentifier) - { - for (var child = (SpringAST) node.getFirstChild(); child != null; child = (SpringAST) child.getNextSibling()) - { - builder.Append(' '); - Print(child, builder); - } - } - - builder.Append(')'); - } - - private static string Generate(Random random, int depth) - { - string E() => Generate(random, depth - 1); - string Id() => new[] { "a", "b", "foo", "Name", "T", "x1", "_y", "input" }[random.Next(8)]; - string Sep(string separator, int min, Func item) - { - var count = min + random.Next(3); - return string.Join(separator, Enumerable.Range(0, count).Select(_ => item())); - } - - string S() => random.Next(4) == 0 ? " " : ""; - - if (depth <= 0) - { - return new[] { Id(), "1", "2.5", "'s'", "null", "true", "false", "0x1F", "#v", "$l", ".5", "1e5" }[random.Next(12)]; - } - - switch (random.Next(46)) - { - case 0: return E() + S() + "=" + S() + E(); - case 1: return E() + S() + "??" + S() + E(); - case 2: return E() + S() + "?" + S() + E() + S() + ":" + S() + E(); - case 3: return E() + " or " + E(); - case 4: return E() + " xor " + E(); - case 5: return E() + " and " + E(); - case 6: return E() + " " + new[] { "==", "!=", "<", "<=", ">", ">=", "in", "is", "between", "like", "matches" }[random.Next(11)] + " " + E(); - case 7: return E() + S() + "+" + S() + E(); - case 8: return E() + S() + "-" + S() + E(); - case 9: return E() + S() + new[] { "*", "/", "%" }[random.Next(3)] + S() + E(); - case 10: return E() + S() + "^" + S() + E(); - case 11: return new[] { "+", "-", "!" }[random.Next(3)] + S() + E(); - case 12: return Id(); - case 13: return Id() + "(" + Sep(",", 0, E) + ")"; - case 14: return E() + "." + Id(); - case 15: return E() + S() + Id(); - case 16: return E() + "." + Id() + "(" + Sep(",", 0, E) + ")"; - case 17: return E() + "[" + Sep(",", 1, E) + "]"; - case 18: return "[" + Sep(",", 1, E) + "]"; - case 19: return E() + "!{" + E() + "}"; - case 20: return E() + "?{" + Sep(",", 1, E) + "}"; - case 21: return E() + "^{" + E() + "}"; - case 22: return E() + "${" + E() + "}"; - case 23: return "!{" + E() + "}"; - case 24: return "?{" + Sep(",", 1, E) + "}"; - case 25: return "(" + E() + ")"; - case 26: return "(" + E() + ";" + Sep(";", 1, E) + ")"; - case 27: return E() + "(" + E() + ";" + Sep(";", 1, E) + ")"; - case 28: return "#" + S() + Id(); - case 29: return "#" + S() + Id() + "(" + Sep(",", 0, E) + ")"; - case 30: return "$" + S() + Id(); - case 31: return "$" + S() + Id() + "(" + Sep(",", 0, E) + ")"; - case 32: return "#{" + Sep(",", 1, () => E() + ":" + E()) + "}"; - case 33: return "{" + Sep(",", 1, E) + "}"; - case 34: return "{|" + Sep(",", 0, Id) + "|" + E() + "}"; - case 35: return "T(" + Id() + Sep(S(), 0, () => new[] { ".", Id(), ",", "[]", "<", ">", "=", "1.5", "'q'", "`1" }[random.Next(10)]) + ")"; - case 36: return "@(" + Id() + ")"; - case 37: return "@(" + (random.Next(2) == 0 ? "'" + Id() + "'" : Id() + ".x") + ":" + (random.Next(2) == 0 ? "'" + Id() + " " + Id() + "'" : Id()) + ")"; - case 38: return "@[" + Id() + "." + Id() + "]"; - case 39: return "@[" + Id() + "(" + Sep(",", 0, () => random.Next(2) == 0 ? Id() + "=" + E() : E()) + ")]"; - case 40: return "new " + Id() + "." + Id() + "(" + Sep(",", 0, () => random.Next(2) == 0 ? Id() + "=" + E() : E()) + ")"; - case 41: return "new " + Id() + "[" + Sep(",", 0, E) + "]"; - case 42: return "new " + Id() + "[" + Sep(",", 0, E) + "]{" + Sep(",", 1, E) + "}"; - case 43: return "'" + Id() + "''" + Id() + "'"; - case 44: return E() + S() + "."; - default: return E(); - } - } - - private static string Mutate(Random random, string input) - { - var builder = new StringBuilder(input); - var count = 1 + random.Next(3); - for (var i = 0; i < count; i++) - { - var position = random.Next(builder.Length + 1); - switch (random.Next(5)) - { - case 0: - builder.Insert(position, Vocabulary[random.Next(Vocabulary.Length)]); - break; - case 1: - if (position < builder.Length) - { - builder.Remove(position, Math.Min(1 + random.Next(3), builder.Length - position)); - } - - break; - case 2: - if (position < builder.Length) - { - builder.Remove(position, 1).Insert(position, Vocabulary[random.Next(Vocabulary.Length)]); - } - - break; - case 3: - builder.Length = position; - break; - default: - if (position + 1 < builder.Length) - { - (builder[position], builder[position + 1]) = (builder[position + 1], builder[position]); - } - - break; - } - } - - return builder.ToString(); - } - - private static void Report(StringBuilder report, Dictionary counts, string kind, string rule, string input, string antlr, string parlot, int samples = 40) - { - counts.TryGetValue(kind, out var count); - counts[kind] = count + 1; - if (count < samples) - { - report.Append(kind).Append(" [").Append(rule).Append("] ").AppendLine(JsonConvert.ToString(input)); - report.Append(" antlr: ").AppendLine(antlr); - report.Append(" parlot: ").AppendLine(parlot); - } - } - - [Test] - public void BothParsersAgree() - { - var assembly = typeof(Expression).Assembly; - var grammar = assembly.GetType("Spring.Expressions.ExpressionGrammar"); - var rules = new[] - { - new Rule { Name = "expression", Antlr = Method(typeof(Expression), "Parse"), Parlot = Method(grammar, "ParseExpression") }, - new Rule { Name = "primary", Antlr = Method(typeof(Expression), "ParsePrimary"), Parlot = Method(grammar, "ParsePrimary") }, - new Rule { Name = "property", Antlr = Method(typeof(Expression), "ParseProperty"), Parlot = Method(grammar, "ParseProperty") }, - new Rule { Name = "lambda", Antlr = Method(typeof(Expression), "ParseLambda"), Parlot = Method(grammar, "ParseLambda") }, - }; - - var root = TestContext.CurrentContext.TestDirectory; - while (!Directory.Exists(Path.Combine(root, "test"))) - { - root = Path.GetDirectoryName(root); - } - - var corpusFile = Path.Combine(root, "test", "Spring", "Spring.Core.Tests", "Expressions", "DifferentialCorpus.json"); - var corpus = JsonConvert.DeserializeObject(File.ReadAllText(corpusFile)); - - var iterations = int.TryParse(Environment.GetEnvironmentVariable("PARSER_DIFFERENTIAL_ITERATIONS"), out var value) ? value : 100_000; - var random = new Random(42); - var report = new StringBuilder(); - var counts = new Dictionary(); - var accepted = 0L; - var rejected = 0L; - - void Compare(string input) - { - // ANTLR takes exponential time in the depth of nested parentheses, and doesn't read blank text with these rules - if (string.IsNullOrWhiteSpace(input) || input.Count(c => c == '(') > 12 || input.Contains('\uFFFF')) - { - return; - } - - foreach (var rule in rules) - { - var antlr = rule.Antlr(input); - var parlot = rule.Parlot(input); - var antlrText = Print(antlr); - var parlotText = Print(parlot); - if (antlrText != parlotText) - { - Report(report, counts, antlrText == "SyntaxError" || parlotText == "SyntaxError" ? "ACCEPTANCE" : "TREE", rule.Name, input, antlr is Exception a ? antlrText + " " + a.Message : antlrText, parlot is Exception p ? parlotText + " " + p.Message : parlotText); - continue; - } - - if (antlr is SyntaxErrorException antlrError && parlot is SyntaxErrorException parlotError) - { - rejected++; - var shape = System.Text.RegularExpressions.Regex.Replace(antlrError.Message.Split(new[] { " in expression" }, StringSplitOptions.None)[0], "^Syntax Error on line .*?: ", ""); - shape = System.Text.RegularExpressions.Regex.Replace(shape, "(found|char:|token:).*$", "$1"); - var match = (antlrError.Column == parlotError.Column ? "samecol " : "diffcol ") + (antlrError.Message == parlotError.Message ? "samemsg " : "diffmsg "); - counts.TryGetValue(match + shape, out var c0); - counts[match + shape] = c0 + 1; - if (antlrError.Column != parlotError.Column || antlrError.Line != parlotError.Line) - { - Report(report, counts, "POSITION", rule.Name, input, antlrError.Message, parlotError.Message, 60); - } - else if (antlrError.Message != parlotError.Message) - { - Report(report, counts, "MESSAGE", rule.Name, input, antlrError.Message, parlotError.Message, 60); - } - } - else - { - accepted++; - } - } - } - - foreach (var input in corpus) - { - Compare(input); - } - - var seeds = corpus.Where(x => x.Length <= 200).ToArray(); - for (var i = 0; i < iterations; i++) - { - switch (i % 3) - { - case 0: - Compare(Mutate(random, seeds[random.Next(seeds.Length)])); - break; - case 1: - Compare(Generate(random, 1 + random.Next(4))); - break; - default: - Compare(Mutate(random, Generate(random, 1 + random.Next(4)))); - break; - } - } - - var summary = $"accepted {accepted}, rejected {rejected}, corpus {corpus.Length}: " + string.Join(", ", counts.OrderByDescending(x => x.Value).Select(x => x.Key + "=" + x.Value + Environment.NewLine)); - TestContext.Out.WriteLine(summary); - var reportFile = Environment.GetEnvironmentVariable("PARSER_DIFFERENTIAL_REPORT"); - if (reportFile != null) - { - File.WriteAllText(reportFile, summary + Environment.NewLine + report); - } - - counts.TryGetValue("ACCEPTANCE", out var acceptance); - counts.TryGetValue("TREE", out var tree); - Assert.AreEqual(0, acceptance + tree, summary + Environment.NewLine + report); - } -} From d3a4f0ee0eb685751f78ee818ef248c55fa80ef4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Ros?= <1165805+sebastienros@users.noreply.github.com> Date: Mon, 2 Nov 2026 15:07:44 -0800 Subject: [PATCH 04/17] Remove ANTLR MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Nodes keep the child and sibling links, method names and serialized form they had from antlr.BaseAST, now in SpringAST itself, and SyntaxErrorException derives from Exception. The generated parser, the embedded ANTLR 2 runtime, the tool and its build target go. Signed-off-by: Sébastien Ros <1165805+sebastienros@users.noreply.github.com> --- AGENTS.md | 4 +- BreakingChanges.txt | 14 + build-support/build/Build.cs | 13 - .../tools/antlr-2.7.6/antlr-2.7.6.exe | Bin 2851913 -> 0 bytes build-support/tools/antlr-2.7.6/antlr.jar | Bin 443432 -> 0 bytes build-support/tools/antlr-2.7.6/charset.dll | Bin 24576 -> 0 bytes .../tools/antlr-2.7.6/libiconv-2.dll | Bin 892928 -> 0 bytes .../Expressions/ArrayConstructorNode.cs | 7 +- .../Spring.Core/Expressions/AssignNode.cs | 5 +- .../Spring.Core/Expressions/Expression.cs | 80 +- .../Spring.Core/Expressions/Expression.g | 549 --- .../Expressions/ExpressionListNode.cs | 3 +- .../Expressions/LambdaExpressionNode.cs | 5 +- .../Expressions/MapInitializerNode.cs | 3 +- .../Expressions/NodeWithArguments.cs | 3 +- .../Expressions/Parser/ExpressionLexer.cs | 2402 ----------- .../Expressions/Parser/ExpressionParser.cs | 3694 ----------------- .../Parser/ExpressionParserTokenTypes.cs | 156 +- .../Parser/ExpressionParserTokenTypes.txt | 70 - .../Parser/antlr/ANTLRException.cs | 33 - .../Parser/antlr/ANTLRPanicException.cs | 33 - .../Expressions/Parser/antlr/ASTFactory.cs | 717 ---- .../Expressions/Parser/antlr/ASTNULLType.cs | 137 - .../Parser/antlr/ASTNodeCreator.cs | 50 - .../Expressions/Parser/antlr/ASTPair.cs | 64 - .../Expressions/Parser/antlr/ASTVisitor.cs | 25 - .../Expressions/Parser/antlr/BaseAST.cs | 626 --- .../Expressions/Parser/antlr/ByteBuffer.cs | 87 - .../Expressions/Parser/antlr/CharBuffer.cs | 88 - .../Expressions/Parser/antlr/CharQueue.cs | 124 - .../Expressions/Parser/antlr/CharScanner.cs | 822 ---- .../Parser/antlr/CharStreamException.cs | 29 - .../Parser/antlr/CharStreamIOException.cs | 31 - .../Expressions/Parser/antlr/CommonAST.cs | 120 - .../Parser/antlr/CommonASTWithHiddenTokens.cs | 99 - .../Parser/antlr/CommonHiddenStreamToken.cs | 81 - .../Expressions/Parser/antlr/CommonToken.cs | 102 - .../Parser/antlr/DefaultFileLineFormatter.cs | 45 - .../Parser/antlr/DumpASTVisitor.cs | 89 - .../Parser/antlr/FileLineFormatter.cs | 36 - .../Parser/antlr/IHiddenStreamToken.cs | 24 - .../Expressions/Parser/antlr/IToken.cs | 36 - .../Expressions/Parser/antlr/InputBuffer.cs | 169 - .../Expressions/Parser/antlr/LLkParser.cs | 108 - .../Parser/antlr/LexerSharedInputState.cs | 85 - .../Parser/antlr/MismatchedCharException.cs | 179 - .../Parser/antlr/MismatchedTokenException.cs | 219 - .../Parser/antlr/NoViableAltException.cs | 58 - .../antlr/NoViableAltForCharException.cs | 64 - .../Expressions/Parser/antlr/ParseTree.cs | 74 - .../Expressions/Parser/antlr/ParseTreeRule.cs | 91 - .../Parser/antlr/ParseTreeToken.cs | 40 - .../Expressions/Parser/antlr/Parser.cs | 524 --- .../Parser/antlr/ParserSharedInputState.cs | 39 - .../Parser/antlr/RecognitionException.cs | 78 - .../Parser/antlr/SemanticException.cs | 34 - .../Expressions/Parser/antlr/StringUtils.cs | 117 - .../Expressions/Parser/antlr/SupportClass.cs | 30 - .../Expressions/Parser/antlr/Token.cs | 102 - .../Expressions/Parser/antlr/TokenBuffer.cs | 141 - .../Expressions/Parser/antlr/TokenCreator.cs | 44 - .../Expressions/Parser/antlr/TokenQueue.cs | 124 - .../Expressions/Parser/antlr/TokenStream.cs | 20 - .../Parser/antlr/TokenStreamBasicFilter.cs | 57 - .../Parser/antlr/TokenStreamException.cs | 30 - .../antlr/TokenStreamHiddenTokenFilter.cs | 193 - .../Parser/antlr/TokenStreamIOException.cs | 35 - .../antlr/TokenStreamRecognitionException.cs | 36 - .../Parser/antlr/TokenStreamRetryException.cs | 26 - .../Parser/antlr/TokenStreamRewriteEngine.cs | 559 --- .../Parser/antlr/TokenStreamSelector.cs | 134 - .../Parser/antlr/TokenWithIndex.cs | 47 - .../Expressions/Parser/antlr/TreeParser.cs | 189 - .../antlr/TreeParserSharedInputState.cs | 32 - .../Parser/antlr/collections/AST.cs | 96 - .../Parser/antlr/collections/impl/ASTArray.cs | 37 - .../Parser/antlr/collections/impl/BitSet.cs | 554 --- .../Parser/antlr/debug/ANTLREventArgs.cs | 37 - .../antlr/debug/DebuggingCharScanner.cs | 358 -- .../antlr/debug/DebuggingInputBuffer.cs | 90 - .../Parser/antlr/debug/DebuggingParser.cs | 9 - .../Parser/antlr/debug/GuessingEventArgs.cs | 28 - .../antlr/debug/ICharScannerDebugSubject.cs | 12 - .../Parser/antlr/debug/IDebugSubject.cs | 20 - .../Parser/antlr/debug/IParserDebugSubject.cs | 11 - .../antlr/debug/InputBufferEventArgs.cs | 47 - .../antlr/debug/InputBufferEventSupport.cs | 131 - .../Parser/antlr/debug/InputBufferListener.cs | 9 - .../antlr/debug/InputBufferListenerBase.cs | 62 - .../Parser/antlr/debug/InputBufferReporter.cs | 33 - .../Parser/antlr/debug/LLkDebuggingParser.cs | 336 -- .../Parser/antlr/debug/Listener.cs | 7 - .../Parser/antlr/debug/MessageEventArgs.cs | 37 - .../Parser/antlr/debug/MessageListener.cs | 7 - .../Parser/antlr/debug/MessageListenerBase.cs | 44 - .../Parser/antlr/debug/NewLineEventArgs.cs | 28 - .../Parser/antlr/debug/NewLineListener.cs | 6 - .../antlr/debug/ParseTreeDebugParser.cs | 163 - .../Parser/antlr/debug/ParserController.cs | 11 - .../Parser/antlr/debug/ParserEventSupport.cs | 562 --- .../Parser/antlr/debug/ParserListener.cs | 5 - .../Parser/antlr/debug/ParserListenerBase.cs | 152 - .../antlr/debug/ParserMatchEventArgs.cs | 93 - .../Parser/antlr/debug/ParserMatchListener.cs | 9 - .../antlr/debug/ParserMatchListenerBase.cs | 62 - .../Parser/antlr/debug/ParserReporter.cs | 64 - .../antlr/debug/ParserTokenEventArgs.cs | 48 - .../Parser/antlr/debug/ParserTokenListener.cs | 7 - .../antlr/debug/ParserTokenListenerBase.cs | 44 - .../Parser/antlr/debug/ScannerEventSupport.cs | 554 --- .../antlr/debug/SemanticPredicateEventArgs.cs | 44 - .../antlr/debug/SemanticPredicateListener.cs | 6 - .../debug/SemanticPredicateListenerBase.cs | 35 - .../debug/SyntacticPredicateEventArgs.cs | 17 - .../antlr/debug/SyntacticPredicateListener.cs | 8 - .../debug/SyntacticPredicateListenerBase.cs | 53 - .../Parser/antlr/debug/TraceEventArgs.cs | 46 - .../Parser/antlr/debug/TraceListener.cs | 7 - .../Parser/antlr/debug/TraceListenerBase.cs | 44 - .../Expressions/Parser/antlr/debug/Tracer.cs | 32 - .../Expressions/QualifiedIdentifier.cs | 3 +- .../Spring.Core/Expressions/SpringAST.cs | 204 +- .../Expressions/SyntaxErrorException.cs | 21 +- .../Spring.Core/Expressions/TernaryNode.cs | 3 +- .../Spring.Core/Expressions/TypeNode.cs | 3 +- .../Spring.Core/Objects/ObjectWrapper.cs | 19 +- .../Spring.Core/Objects/PropertyValue.cs | 7 +- src/Spring/Spring.Core/README_ANTLR.txt | 20 - .../Expressions/ExpressionEvaluatorTests.cs | 10 +- .../StandardsComplianceTest.cs | 2 - 130 files changed, 283 insertions(+), 18258 deletions(-) delete mode 100644 build-support/tools/antlr-2.7.6/antlr-2.7.6.exe delete mode 100644 build-support/tools/antlr-2.7.6/antlr.jar delete mode 100644 build-support/tools/antlr-2.7.6/charset.dll delete mode 100644 build-support/tools/antlr-2.7.6/libiconv-2.dll delete mode 100644 src/Spring/Spring.Core/Expressions/Expression.g delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/ExpressionLexer.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/ExpressionParser.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/ExpressionParserTokenTypes.txt delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/ANTLRException.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/ANTLRPanicException.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/ASTFactory.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/ASTNULLType.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/ASTNodeCreator.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/ASTPair.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/ASTVisitor.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/BaseAST.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/ByteBuffer.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/CharBuffer.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/CharQueue.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/CharScanner.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/CharStreamException.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/CharStreamIOException.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/CommonAST.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/CommonASTWithHiddenTokens.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/CommonHiddenStreamToken.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/CommonToken.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/DefaultFileLineFormatter.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/DumpASTVisitor.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/FileLineFormatter.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/IHiddenStreamToken.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/IToken.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/InputBuffer.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/LLkParser.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/LexerSharedInputState.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/MismatchedCharException.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/MismatchedTokenException.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/NoViableAltException.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/NoViableAltForCharException.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/ParseTree.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/ParseTreeRule.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/ParseTreeToken.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/Parser.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/ParserSharedInputState.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/RecognitionException.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/SemanticException.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/StringUtils.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/SupportClass.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/Token.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/TokenBuffer.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/TokenCreator.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/TokenQueue.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/TokenStream.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/TokenStreamBasicFilter.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/TokenStreamException.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/TokenStreamHiddenTokenFilter.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/TokenStreamIOException.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/TokenStreamRecognitionException.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/TokenStreamRetryException.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/TokenStreamRewriteEngine.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/TokenStreamSelector.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/TokenWithIndex.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/TreeParser.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/TreeParserSharedInputState.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/collections/AST.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/collections/impl/ASTArray.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/collections/impl/BitSet.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ANTLREventArgs.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/debug/DebuggingCharScanner.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/debug/DebuggingInputBuffer.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/debug/DebuggingParser.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/debug/GuessingEventArgs.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ICharScannerDebugSubject.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/debug/IDebugSubject.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/debug/IParserDebugSubject.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/debug/InputBufferEventArgs.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/debug/InputBufferEventSupport.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/debug/InputBufferListener.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/debug/InputBufferListenerBase.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/debug/InputBufferReporter.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/debug/LLkDebuggingParser.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/debug/Listener.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/debug/MessageEventArgs.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/debug/MessageListener.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/debug/MessageListenerBase.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/debug/NewLineEventArgs.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/debug/NewLineListener.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParseTreeDebugParser.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserController.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserEventSupport.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserListener.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserListenerBase.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserMatchEventArgs.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserMatchListener.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserMatchListenerBase.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserReporter.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserTokenEventArgs.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserTokenListener.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserTokenListenerBase.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ScannerEventSupport.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/debug/SemanticPredicateEventArgs.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/debug/SemanticPredicateListener.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/debug/SemanticPredicateListenerBase.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/debug/SyntacticPredicateEventArgs.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/debug/SyntacticPredicateListener.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/debug/SyntacticPredicateListenerBase.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/debug/TraceEventArgs.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/debug/TraceListener.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/debug/TraceListenerBase.cs delete mode 100644 src/Spring/Spring.Core/Expressions/Parser/antlr/debug/Tracer.cs delete mode 100644 src/Spring/Spring.Core/README_ANTLR.txt diff --git a/AGENTS.md b/AGENTS.md index b5577e310..6fdb59bff 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -16,7 +16,6 @@ Build orchestration is Fallout (`build-support/build`), the maintained successor ./build.cmd Test # run the default test suite ./build.cmd Ci # Compile + Test + Pack — what CI runs ./build.cmd Clean -./build.cmd Antlr # regenerate the expression-language parser (Windows only) ``` Plain `dotnet` CLI works too — the solution is `Spring.Net.sln`: @@ -58,7 +57,7 @@ Key mechanics (defined in `src/Directory.Build.props` and `test/Directory.Build. - **Multi-targeting**: most libraries target `netstandard2.0;net472;net10.0`; web projects are net472-only. Projects reference the shared MSBuild variables `$(TargetFullFrameworkVersion)` (= net472) and `$(TargetModernFrameworkVersion)` (= net10.0) instead of literal TFMs. Framework differences are handled with conditional ``/`` blocks in csproj files, not scattered `#if` directives. Key them to what they mean (`'$(TargetFrameworkIdentifier)' == '.NETFramework'` or `NETFRAMEWORK`, never "not netstandard"). The one exception is the legacy-serialization obsoletion: `ObsoleteAttribute.DiagnosticId` only exists on modern .NET, so each serialization constructor and `GetObjectData` carries a `#if NET` guard around its `[Obsolete(Obsoletions...)]` (constants in `src/Spring/Obsoletions.cs`, linked into each library). - **Strong naming**: all assemblies signed with the committed `Spring.Net.snk`. - **Central package management**: versions live in `Directory.Packages.props`; csproj `PackageReference`s are versionless. -- **ANTLR expression parser**: the grammar is `src/Spring/Spring.Core/Expressions/Expression.g`. The generated lexer/parser under `Expressions/Parser/` and a vendored, hand-patched ANTLR 2.7.7 runtime under `Expressions/Parser/antlr/` are **committed — never hand-edit generated files**; regenerate with `./build.cmd Antlr` (see `src/Spring/Spring.Core/README_ANTLR.txt`). +- **Expression parser**: the grammar is `src/Spring/Spring.Core/Expressions/ExpressionGrammar.parlot.cs`, a build-only file that the `Parlot.SourceGenerator` analyzer turns into code of `Spring.Core`, with no runtime dependency on Parlot. It needs the Roslyn of the .NET 10 SDK. Its tokens, tree and syntax errors are in `ExpressionGrammar.cs`, and `ExpressionGrammarTests` holds the trees of the former ANTLR parser. `PARLOT_PORT.md` has the history. - **Versioning**: the git tag is the version authority (`v3.1.0` → 3.1.0); untagged builds fall back to the `ProjectVersion` placeholder in `build-support/build/Build.cs` plus a `dev-`/`preview-` suffix. Publishing runs from the tag workflow only. `DetermineVersion()` sets three distinct facets, applied to **both** `Compile` and `Pack` so packaged and `bin/` assemblies agree: `AssemblyVersion` is pinned to `major.minor.0.0` (the assemblies are strong-named, so this is their binding identity — keeping it stable across patches means consumers need no new binding redirect for a fix release), `FileVersion` carries the exact numeric version, and `InformationalVersion` is left to MSBuild so SourceLink can append `+`. Never set a bare `Version` property instead — it overrides the prefix/suffix composition and silently drops the preview suffix. - **Trusted publishing**: `.github/workflows/publish.yml` is the only workflow allowed to push to nuget.org. It needs `permissions: id-token: write` and `environment: nuget`; the `Publish` target exchanges that OIDC token for a short-lived API key in `build-support/build/Build.Publish.cs`. The nuget.org policy is keyed to the **workflow filename** `publish.yml` plus the `nuget` environment, so renaming, moving or splitting that workflow breaks publishing until the policy is updated. Do not reintroduce a `NUGET_API_KEY` secret — the `NuGetApiKey` parameter stays only as a manual override. - **Package READMEs and package validation**: every packable project under `src/Spring` has a `README.md` next to its csproj, which `src/Directory.Build.props` packs as the NuGet readme; a new package needs one (what it does, `dotnet add package`, target frameworks, a minimal snippet whose types, members and XML are checked against the code, and links). Pack also runs package validation (`EnablePackageValidation`) against the 3.1.0 packages (`PackageValidationBaselineVersion`) and between the target frameworks of one package; never suppress a difference between two TFMs of one package (Spring.Messaging turns validation off for that reason, see its csproj). Accepted baseline differences live in each project's `CompatibilitySuppressions.xml`; regenerate one with `dotnet pack -c Release -p:ApiCompatGenerateSuppressionFile=true -p:AssemblyVersion=..0.0` and review the diff. A direct `dotnet pack` needs that `-p:AssemblyVersion=..0.0` (what Fallout passes), because the default 1.0.0.0 is below the baseline and fails with CP0003; do not gate the baseline on AssemblyVersion, since Fallout's Restore passes no version and the baseline download would vanish. The baseline has a coverage gap: 3.1.0 shipped net462, which no 4.0 asset is compatible with, so Spring.Web, Spring.Web.Mvc5, Spring.Web.Conversation.NHibernate5 and Spring.Testing.NUnit get no baseline API comparison (PKV006), and for the other packages the 3.1.0 net462 asset is compared with the 4.0 netstandard2.0 build, so no net472 build is compared with 3.1.0. The gap closes when the baseline moves to 4.0.0 once 4.0.0 ships; then delete the 3.1.0 suppression files. @@ -73,7 +72,6 @@ Key mechanics (defined in `src/Directory.Build.props` and `test/Directory.Build. ## Legacy areas — do not modify - `doc/` — DocBook reference sources and their vendored toolchain (CI ignores `doc/**`); kept until the documentation moves to Markdown. -- `build-support/tools/antlr-2.7.6` — used by the `Antlr` target until the Parlot parser (#375) replaces ANTLR. ## Website diff --git a/BreakingChanges.txt b/BreakingChanges.txt index dc201a68d..d6fc9d928 100644 --- a/BreakingChanges.txt +++ b/BreakingChanges.txt @@ -142,6 +142,20 @@ Changes (3.0.x to 3.1) System.Memory and System.Runtime.CompilerServices.Unsafe (Visual Studio generates these automatically for projects with AutoGenerateBindingRedirects). +5. The expression language is parsed by a parser generated with Parlot at build time, without a + runtime dependency on it, instead of the ANTLR 2 runtime that Spring.Core embedded: + - The public types of the Spring.Expressions.Parser.antlr namespaces are gone. Spring.Expressions.SpringAST + has no base class any more, and getFirstChild, getNextSibling, addChild, setFirstChild and setNextSibling + use SpringAST instead of the AST interface. + - Syntax errors are still Spring.Expressions.SyntaxErrorException, which is now public and derives from + Exception: catch it instead of RecognitionException or TokenStreamRecognitionException. + - An error can report a later position than it did, at the token that could not be read, and its + message can be different. The expressions accepted and their trees are the same, and so is the serialized + form of a parsed expression. + - A nested expression too deep for the stack of the thread, or 2,000 levels of parentheses or prefix + operators, is a SyntaxErrorException instead of a stack overflow. + - On .NET Framework, Spring.Core depends on System.ValueTuple, on all targets on System.Memory explicitly. + Changes (2.0 to 3.0) ======================== diff --git a/build-support/build/Build.cs b/build-support/build/Build.cs index 79b294fca..376f88baf 100644 --- a/build-support/build/Build.cs +++ b/build-support/build/Build.cs @@ -159,19 +159,6 @@ void DetermineVersion() } }); - Target Antlr => _ => _ - .Executes(() => - { - var projectDir = Solution.GetProject("Spring.Core"); - var expressionsDir = Path.Combine(projectDir.Directory, "Expressions"); - var antlrExecutable = Path.Combine(Solution.Directory, "build-support/tools/antlr-2.7.6/antlr-2.7.6.exe"); - var process = StartProcess( - toolPath: antlrExecutable, - arguments: $"-o {expressionsDir}/Parser {expressionsDir}/Expression.g" - ); - process.WaitForExit(); - }); - Target Pack => _ => _ .After(Test) .DependsOn(Restore) diff --git a/build-support/tools/antlr-2.7.6/antlr-2.7.6.exe b/build-support/tools/antlr-2.7.6/antlr-2.7.6.exe deleted file mode 100644 index 038e7653ec16fabdef51be8a9bac5ccdb72017ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2851913 zcmce-XH-*N&@g&Z2mt~l5FkJx0YWb(7i^*XZ^ZpOt%B=U0lF1#8}x#hw++Hl({|%CGIwstOxTW3O4zYu zCmWxbg3rv_flu3k_uLSQ-@Y?B#YS0Kk?_A&2YCSi69fSYvG3@>JvSg-3;+v&JV*%y zb_5oX0Pyz#@aupeFckoZ>;BSz$N#+hj}QJ|euMsg{^$Sy0G|54=Kd1@#r1db|EB-9 zuD_iBmi{03t1sg}1^+)ocu*Aae@y<3?f*FRH=h3|aQ~*_uN>)rcng2M{xAM}f5-oq z9QA+6+5V5*f5H8iqyJpUvI1Ow5U#jg=dDhN;R*$Co z+$g}r7#QdLl*z(*FN)q^cyVidFF0wAm-UMekiNp)s{ZQOLzjKJEp@9zWX24FfN>}R zPMYC`5unSz^MA^Wl|xSyt%2D4N+fI*JK5A#8Ni$6zoWdJt7ziAi5rGi*RY58__-ZM zeS6~8)$Jm1le3I*(?eukADi1fSquHjV{biYXWzSj=h#ZU+mWc1>6Kn5p66xpkd#&O zRkb)9j-k)LGPd>GygBB@X(frz8Dh}4?N?5QxSij4v+vB#uFI3m%DMH69(|80ufP$N z1Evk3s*m4ZXe31cmlp>9XFC?EJKpp2&Qq_oU_?Gr)VP)mJZa1n{=S(Xjj;L*?*(w; zTcXwG+@IeHbbf4X?u_PZ1l6*!GpZ&0gO9Gh`(5;7fsONs6WQ^pL|&72^wo#E2O_<* z^?ZUl*FTZ3WSamR+pqDE%Iz`n0kKP~<`rW&(YGfX7kpUEzt3b<$9FgH61=Hl83IG<}?=<`BI#ou%T5kI%jPmTx) zV^p(xjlB0j+=vtxH-&J-^&}^LRlP!^KygVEW`Wd zWRU>6^S-{!3&a~{8~y52%*}xpDnGW&`P4Q}i#6Fag+yoS2Wl&N9`XoGOq`jATmwI5MDuZ5RyWn!d+xBnL} z?lUiIZQN^?S`q*t=I=!&$~Hu;F41(T%#`IPj9dKu@DiEok=~2r#UEn4M)~3Jom^ak zgb)7JAPdSk|HSxh6XP!6NVLMXkBEOq2EgA9@IgET;VMiuHoccpq(shf$!u%{$<;Sh*^P|vgv+Hpg@5msX@3%m4dg%U^rmSoh8rU(&RSs~T zjbee<{w)4zIMjn6=b800D+b*;ny zgFinhE3HMuaF81qCehs-8D{4m&J;zo+>vi)NP~~j3_|sq(d|N{B0+w_3adKjZ9sA2 z<}a|rTBCpIo!Krtui3+oz?964ms+~McJq0jT=yZ{#^DRv;H`k`tF(7@2!gMnonN7_ zkV-1nZn!d81$+NvD*$F~1K1PE)Rejk$8sDfgoGe)qL&jiI~d`?(E211Gz@@SnH_eNH` z(J=w44Aoh07c9kcL_~7VpFZe^3b~KSmgR->0_U2ms?<}EI+*eaC5^^tL#UUO!U+3~ zhpgmBiWlaGBTCi$^C}Q#iuG5gMhX&LZt2ICTtQJ*=TwV3!r36LYJZzPBHk5v-@8P1 zoJYiLVvR~B^l+9&V5E;^-L7#qozHONwILra_LDcp0_C*a=TikIJauBRZy8!s$0?VP zO8L3!d0aR9afUK~6EWYng|Do+HtcQ34xp;nBx+=UQ+00-sOR1eaYaX<*%n{n|2kp7 zL51X?!5O_{$c`^#2EebCvqOg?41|9o<(*98&Zf(KTB=}x_WD@zN7e;t#y{vm^1=sH z52CPg*o>Ai4ci~3zTf88<8cEd8R;u&ZgH3q@F48^LF8=f!lFGQ2%gBGdv)t4)NanT zc59`}pJ60e)*@9*8Wgqrt0 zZ{BN`*uIjxbE}v0P7;rN#LYYk zZq2ca799oInK4kufmVm9%SqnX!dHCZXD8;noB#QAzP0mN#JW!0x73eGf4DvGv}2g3 z(XY4fj=B9tIa+ii{Tl907dx7T|GmjoHO$$1O(>ChGaj>pce2Cpp4FQ{BQeOtqT18N z+_yOlOkF#7f^B`5)1XPv#&hyTeILlwy%QwO{mnP_uLay%aVkSQ-(s*^^jJP-ZtJ2S z1bMS6dNRJRacM7{#`3HpbUyd+S)R_O=6x>Juwz}5{m#sI4>)r72DYPJ9*32`aYK$% zA8(b%}Tn6x+z_QAZ5Vh-?eOXukmFKm}jtcf0m!Zy^A6f0sC6~zfk;wS?UJy*a z4}RY@+;Oj+eB;uIn{7o|c#3&L^-FCzMXG+gXRLGHm@>H;31_}3s3l4-Ce$#wtpI=a z8P@FL>xll?ZgW>6wBTLlTX0pxbPZ&0el`zj=86(A7GsGD+r!q}RlMgr=o*NzStU08u| zCcL+@k2F;VcsK@`JIsuDWL|OEJ3om?8E`**!%k&ADr?|iYqxzizf*f7F;i33OiBEoG6}MvRz1fJJDG0408!%dkMNN3&@hbS>OpG)L zZ3V``4b~OQ5LBHHD4hVfJu0I1paj8TsN$!EtX5r&oNfD#c#B>fAqCGdT-s{MGBaE< zT(TnmhslojRN9wZ#h{ZqY1MA2WXoQWcJ?2>|7JDQ9sDRbJEF9r#uk*J!mPM@7g5Ow zSI`EI2*ds$UVt0$f{$h4-&Br)yP|{LDf@Pc_EH_Kk-XKim|0%ncH}y_!Q#Hl?LSnn zNcKe)j4EhVosD&gr`W#5hZg)xq~`U$(XcwU+FK;()TBDGtVKaXMQIE+RFxK<-T zGS*q^bC8edSbem> zkh0q7r4L_s3?7Gk{TavqvfvLa5uU- z0})FKhYJ@3kLpGFgY#f{$Ims%-}87%ZwPz3NC6WA3jy6frh*`8;V+h<@38;e=q+Gru$1|lqOpKy|0`cM*FB-)f~eQ{;Y!PaT{|5 zZb@S$XMw$^gNl@z_rHc6qiKmF@D{qekQCSco0k?EH`AphYHTHrjLuI+F$wgK6gZp^ z+G9~5jNKxYqfxEQzV}gROqFJ17hj)zxzkoFs0DA{1T?IfahDrr3+rS2xuNR+GQl zNB!c7TMTK`9rSO6Co`sgLWf3iCUC5Y*L77wf?*xT$n!R}cOtBFMT`g#MS&GRtL&nm zD=9Ro+5BZh*;!uRv5SK>a@NENgF4~f(iSN! zT6)o|^y@%CLW;jNU2OnQL+k2HY%}Qq(ogr6TyiJNrc{PwSB$Lu7D*ll1GWvA|k76NsUs7 zndU#oE(#y`Wk0|~`JalC4JD*|#Z6WQfmMqqtsb1hxY%5Kt~e`4luh~c3dWGG6>+z% zPEROMw;@a+SGV(*TA@ygszte>h+}&n?Dju18fJ(-SUVghVHWPaPIA`QO^Q3X4Q=)3 zQ9x{o%q@D49AeVndF)dQg^EKApVP((FR9_>@iOB-{R)6qnxI8+mR-tnBy@+ zamHWA5!8v^$hE0F!~nN&snx2~@FP7cJvN|)PR4sBN$!eeJ=fRmeSvN)TBN9+8os;m zbqJ4P26NdLhw~1~;y=0d8jP)IATchxF}juS1Dlw`a3zFb@4xXaof_8D97ykmH6hl| zYxRW#+4XIq`!YMHec2E5<`dbk#=D#xcM;6e-ZXv;s99VV4 z`ji~6tLK=NJQvZUtuPu~alfM4Ytg3d8tOHQ#C}|yh7HUnYWFIsuy`i%nX;p=3taOS z_Xs}EX*T}f80do8PTsSukgmCA@1yw;-TiM^=a!3gz#D!=#x6-_t$sYFGnQO-Q%etx zl$4o}8_rqBKY2Ow*kzxEMa7Xne-O={YahgW(P6x&qzTdkg)w$FbwjD^yw_$e*9Pvh zrP?f+p1sSTb-W?ogs(c=A)>wefkoVsfA7w)e=I!zaeZsI{jNg)>~Y3wTWOxWI;!Q+ zA$u#yLB-8pW#^XD3v~WXl>64L2Z1`FncU^L19V zkk+%S5*=%6UKYxiv3JQOA|V{*B4?X%>NEl;v~lMadcc6%!Xo9~Dj_tk=tiiMrJkW- zc*eOskd$vzJhg8vntqOoJJOy;#rRz5)v4f1wX~Rr*3SBK5OG6mFc#p{1Y(7)#5H-c zlqZK4VDRwaSc-52K1ezbhpBel^jiQiZwP(n4(k!B5q42f-{!6g- z$1mmgZ6u|?0uE(7y_yJhdK-OhFn@oDQ^4v|bh6W3yOV=ij~^xGJwogby;45)_5D_R zcI?#ZKi{Um-8Gmnc$;c578Ob1^rEa$Ywyz;i4YZk17TItbp}h8rnoD5vj)LJ z%6_P?v{m|tWA+o+2NoiX-$-mE-1!4x?W?*f_K$L*sk@fnxI{wt2g~~e*9X`1um-TGd?}-Kv6h6Ur2YuN%E7^FEWp)HRD(0YOP)$!U4Hma2Rufh| z;=>Uddwh0>n52d)z_GrY0#_BTsW^S_vJ!`fomm>}rg5}?wJP;;ELb(EC(99nY?s3? z@l+`k;+W~hf%92frvX{mdj1}$%kFeOiZgq7&&DeQ3UCgh_&UJI-qA1vkId) zh`7=z(Kz<}ZZf;uiOI`w8Pf=3)KrtwF!XIWot0$;qpGx$r1Q3e!BbG%g25HC|pLbUTwxM@Kf)iL^4gL9C zzLggcSR>070)6%xb23f{VNZ+DacGx~rqor;#fI6sx=N7TSl5?G>qZ5Nn0mlsW0GMa zU@3EfO|2sTsFeOeBe~5OiM*`Ozm~aP$gC~XkvNFk@+b;azzGyDrX3V})+)##h(tg> zdk*oC5)T!a$r5`snvyUe0+%JLL5wRYgD8jgI$8MPfEqX*X${D9qS3Zc@tH$_eX{ff zfX4~s2OH?WBYoDC5vFs0@ytLL*d&D{6#>2-|745b1=6 zr-CpSkAxvPen62;Eu|1v5-+A0NBSB<70nDIC}>_;vOEiu6%WXu8O22`O0|(=8B4xI zcNn0Tm4PyF6dE8fCnFpi%cNo{N<=_Gqif0T@;IQZ3@to}*6@@z6~V$$IN>p{0sxJu zY5~w=fTLJg51&TnHc&wER705=vXCm4mg0lJ;y*HxayeKk)e8a(260NS`&u_iH24sf z26ubTnu>hg8c(9&*aISn z4T~si@jIwUQD3ZXBT$Gz%8?n#I8JbtE7eOmLnvBG7Thp*i+UlhR+5~Pa^k2|0~`|a zifSPCLOeB8a5*bUWXoA)bhfrk3a{5~^bN=-BVGi0`7&yQ#GViQHp!5(s%UO3!cxR7 z;$U!)wvKHeOukKLkVIu(&x*{pwMlEVeMRV!t9V?WBM-9DhWn2?R=H}+(9B6KT|0ki zN=9*-9ZksTR`{cJR#oWrjWoAnf*Zqtvhpx;uN*||ZH{#CknDme$Y~QM-hB3f~Gx$*qTet{^@R%okoU3u`! z!R=-ehUnams>k8;d+ufEh`8M6Ic^p{jFjMF+cH#$6HUD$?4aP~XFzbj#;7H;_)1+D z3txNm1UpaEXlI~mpqe0R@fNjKCK{+(irP8%RV;{UtF`Yb+T~n{EC+hW4lYy|Em*5_ zGXmJn!uyDL5JjTyP=FJmvn?cGSwnMiQ>MGPThb(<2ocx`>kueNo#3(>LWvBYY*$3n(o{S#yh^hf|^v>9%qjh(mCQyEZIn{b&&ww1emIWLLT}a7w?y`wRJ&Xx330mEKX~h2+wHkuWx!{Q=I3u8tZ=oESXn36r;Yly!3j%2EhLTOFj>XwYS z^|ch;y&-9Oc^WN+!rRQS#1>ic9Rt1cUbtT0g+9>5k`mZi&6Ln0`Q}OEmhTJpyS&na z_}TE~ZGBoZ4`&ozk)%oCUb_>Qr<@!zN&RHM-U0a^ePLh8lvt$UxT5LKCAL$9f zgCY!d=D9b={_#mjQ%PQLjA49SttuU5bFuaZ$hyZlr!OC9gZvMFWiXGS4TTrEtWt2oi1hU)n$X|w1V|A-U1{BchEV(;^Bs`qY}mw{W$PGnceKUAO^Lr5x#sH_=1j7CWz75d3^bAG|fH_i)y z;bKiNd2pcrU~*zxX6YqS;h8TC_Ld1%?wP9Lby_^vdERy02Qxdu!tv4 z<2UG6Guq$&*}uAi5{%n{EbpsND^DU+ZNh&GJYWK#Kdi6X=-8cWSFg>YhvfOC?ETHD zEh3Ips(MECPUNi+rpwZFYSbFrXn&GLRRYTR`KCBZhwn7>rUBq-vvU6o^T^q=^Ty*r zo_HaY!Zt`mQL3QX^}-b+ea8oJVWEVyzzt-xJ~G#p??5sP5q;r}wX{uUy-KD@Wye~< z5zm92+mW&FJVT$H^c*BBt6NAR%?wyw$bWL2bWNdWFAKX~rlfDp? z+tL0#q~LP68967+1&X~o2>0nQ6XcDZLH=Q53p1f??R^+ciF^TLGwr)%sW4z?jO(I$ z8<=x2Ot_C_jCJxsvMHJjVx$~bYZ(EWs`h~!jGaI035wtC)O24JwzK`_mJ zb8e;EuN{sa5}(kwF+mmeIl!9lps)EKB6XjN_h{s8s`Ex5S1=BZ5ZQ>Iw+#Ymg@P6> z$o!%$xQ2BhRH{8v{Mf>)m{h5mju_^6?JHL@nm{YEF2qhEH%re+#j@D?T7Q*978HsU zJ9q9pl22Gs7J&GngZbJrdfA69<%n*o4`(F?zGp_F$uWeW@~8>^hqE`VJdlaMf^z^| zXS>W_NB+p;ZH*ht1(bVe#8t-pzU#6cTD3~u^A+bU8_az{9Mgm3$@3NbJ?O3xm_HSM zV0hLkBL91wr+ff%>(tJ(uGr{*N7kyb3O(MWhCmQg2y3O}}lL_isyKNWRZUX_e= zKi^SqCw4#FJedWm(1F4JamhcYAd<{Wo6049K zbyj?B(pT{wwspYpsfmx(+tjm@jeq;c_?R+Q(Q_}6Oq@Q#L26wUgk|77VGB7ZT-1md zfsHeuHlzy^N6llySW}WPFDW)KT~a1}MA@|#El-+Ta!Vduy~?J~Vj~doI`lNf0=SIo zv8=x3e|+|5~_%S3xRf9oOHFoXJcBR66z*vrj{smkk*u| z#}Q>X%9JpLU@c^2O;E_&MZZ zY{A)Ni<~_0q7@>g8dgb!u`s(WO46;KQD0!d&}Vmsv5ap1{_eE6n9NNd&A=%yOkKTP zm7ZsWj^4L=-fh}fePl~TTtgo?!AMcvw^E=5gAE>()Y;m0?&#!4UF!5avw#Q`EBdEW z^E4>O1nkZ%7I%MtRuZ_Y-1zL#;nF93_%$jq3=Sef@K3&*<4E-oRZWE5T9o_9kPWDeXr44277(irc_lch_+ZG;mR6 zZ2345*z?r2ftC@3MDQb&S}1mekJItYp}@;*ilVsptyw^2up>!gl9usCUEVGp9CQh) zTd|L$*RN23Lp=MO1I?)&<>n8YsqOHyL8@L$Qs0_ni9;zIeI-=A;=N$qc}M|lw$+<` zLrvdo_U0&_ZOo+YGbX=Qw8r6_BCRyQOYr}WS+New$?NkyT#FaC-6ztavXJxy)bTs!`dGsd zd&2tdBX%Xs@74$5o}OmTdxTpL9o%3esv9~iI$>IllBccX3_0?L8a}YC2==>tC%4-b z)K<9betmem=tKav;72-#ZGY}iTeJy?>y)Blw<-mJmPCh-e;IP|f zZch}d`1B#X=GCc;1_x#Itw|TWe@4%IV6)pfGM%lsxCddyS8hDwR9UdCz1+zcucbaa zF$xOa&W-nd#!hCB9ts?-PoBBB#!FsR2vp?8j|}kUo((yZcp8C+*ZVtW+aK1sck@)y za3f7KOsUQc-EVXlXX9vNpgakQ4J1Ue`(-CCg2pfGn`=_-$u3$}*!)#%4@y-$p}@Pp zCcC?ERvq91SzywP>+lHVy!Rz(+ZAO`@;%*1$e|YR9-i@roNci%*^onZ$3ESnw2aZt zMmqSwHiBdFh2hb;B)x@DgAC%kC#0|9&{V$Ce2wIOv8dUns)oHSH z=ht>JfEmOjN9VkH%KmxfnX`mFF68J56#FoPX`;Q}oy!_!lGG{By?EL2obf|-Ze_pv z$7p(>U|sJlcN$yj_ESCH%!8^Ag84FH$GycueYY8Y$9gDGRo6n-+ZxpP9H!5qct=$Z zOLgJb@2+LZi^}e75}71rh03JuP4-{%NnmLM>Uk(<&QZ$FC&*9@Ul0 zn==^kU}W7ySb6T+A{MX9ILE8%9zGD=Qfp0q-X}^VGg(rFHWLhm*K3lI5NP z-uO@!92?r1NWr0|ZR#s=ohK$oWL70%ad;W#Hp78a5wYI8SgFbQRg8mva`A1m8^7o@ zh$Rh2iIr1oN$FKBu1M%AQ@RtGkdnaE7R%7ev$Wq|2QkzhN9>x{~89+#SQ; z@Ja~ps*g_;l#2USP|_}-dD?L&q#N197wUaLTZS1XiCM)XK1_^1D#HHAuNy-5&b++` zrEp^B@FDO`3`)jle6R6kwx(C=Y6&R&)lh7=`q|@RR<~8$ zHQj-?m4vh6>pMH#rU!V8!a zF0JnCjGt3UBRbt`&`7h#uaFEnYsTOjO^k32VtX`6g{HN`iu(U(-mYv3;R&|Ml2ViP znUaqeb5CjM;}>6fz9W!)H$*+-d1Lop2)nCDAT-*QdD|h#9eeA~kf~G;4;p-G;9om9 z#?1}k?w+hzOua9r7JIcCB#XO~qMEPW#}z~CRMTp3thUDrETMOxU-JeeL*+x^DHB!s zy~v!_f-;t5-LdsgZ$;efjtEL;M;hvjn))nI%B;nf}8s|3pNhd0F((Wf2cp0AA_~b8G+SDl0+Ks%GE}^*TOoYvR9klNy^GDd(qCO{|^nQGNaolT^ zPZTsVo1Wpe|JTmfn%7Q6Y>UY5pb;!!LBSE&|pf84sZ=@bM zn*==uM~m(x-9MYy7E{3TkOhLUT~{R=yb>KRTY3;Z<~_c2Fb-coT3(6#m8I+yhqQU} z?UhjNeDt#*&#Za*yB#|oQ2+i_x?c*gHFD5$Fq5>XyBe-J2Ws`o@9U#qP31=p$~#7( z{toK zlbAd0#i?C)!_jqtw;Or+og(IGWM3H_?c)5DBVu3H(1G@uK8jr#FH6s&ierDA%_%dN zFZ24;wCVJj%hS<)uhnWEGF^d&DHeH=%La57vL01H(wO^&qu*iy@kMvg6n;IriDa)} z`S8@}Oa6FN)RH-Ew20d_Yoq%SZ{KYBlJ*`Pe7zTocM<`x<84;Np#R|1J z)+7z$PUr0Cc&aRIjGYLRg$40yW7mtxwm^)-OV+JSR3>WbotmY5VhH)|h9US+;>RFh+vR7~DTvoJMawe1$^vpn0Cm#M z__nTUmdQzbGfhpPe^`6mPc2P7YrkVSw27P>Fc9BWLP?n5`H}6mKVH9TqEPJf2w~wt z!CP99*4Kkv6t{U86VXT>RZwJa`8M^0g+Fh4!C2|)k$JU%?=b=Kd>>neC?`2s-q4k* z^Ylx5EIil|WN~eqlqWy5t>e+kTYqkQ0d0>U_^Q;e*Lk~eQ;Qd4u^1^+(@(x-gs)C^ zm;zfwxwj#F{4f>?BG2CXlsQm9RO>O^y{YG5Rqtc7O6MN&DR0`|K?r?Q{PW7| z-1V4Z+id=4U?c5?0qMa|Z&32^p0r43Q@jz%hM+D3T)*0OKyUpVnKa3hGgJ^onPeIB zPG)$pcmBKX8YXZdjPYxWXW56>v0bFO_wYpl!#6QK%i;>D@I8l~e^xSx(G$g*Tp8tg zr8RNXKmuMdaGQe^Gr9R@K-N0iw=iu=7@q9{!itic5E3>d9Glj=>CKrnby2*-O22Sd zC{vlzn27Q?XYxd-&qGhNP|9rr`c3vFXJsy0^V+>YPAJr_u@R)ieNe0<=4}@EOy?s!x{U|p| z5?bQ?N@v}CKJ8i1CEoJLf-fWA{HhnV;~Gp})M}8c=JH|1EY$Ap82vq?`Hvl_Ec_Fj zp2`+X(ATA$9QFG2r_5d1u(=wU@M^dg<=i-35!_En*$8rB$qotqey4aNcjO}2>Rw)ca1rUI&%&_~vjiE$l&ch7|a9`jQaK z<&XjPrc(_0Tj4`j5yXAIC;ok{dLZ&>)v($gdA(oSK}>>vj0j<>Ji5_&^q#+0*k;WB zEg25$d*?p|IO8Zjp9XVOcrZ7&nXo#z_O%0Kq=-JApE*^;zT)ciDSvFl=ZR)E>ebEm zx`~d%C>nQKnG$`kY8Gxs@=#6NWhaZATtBkkd)u`lSA}m5T27DUYmc}cQgbTYp8-)C z=z!C?S!3UHaa)G_6PeOFV4MhUERfyiv%AB3ZcsC$_w+MaMc zO&Q91@z>7?tH=zh(3`@Io>jxK&KNogaKfI}5-$pC3(fo#svUDGNWo65D1pjRs&@v1 z#1yLy5R#LXkRNK*3yo7Z{jFg8`k`735>Z?dmVXkfrOq5xOyZEIGD%diA3}MuMC@qh zVUtE>tpT}>CY*TlWX@DMW?vAJRUBea`_wER+5MWribg8*J5o@L>W#SdQ0I$f3uIC2 z4?gv4h!Q2c+3UM@0fQo2ouAO4Lpbo^x)zjF>!asAX^>MgG}uAYm;+Y)Zku`v;$bL| z&m3_7xRa|_gO#{1b0!LUQJe|)3BJH*)E%H$on7*PQWzEJ0^!;N(o-%$At;jfv-+vW zAJs#OwnwlR{a1n)fct7EcNw2kt^B388rNvr{MGdks!agCR+IKG_~i4=b;ut^lynb6 z_N({#roR#&Zx~8V(|E8^grtC#%Zg3BPJpc`UhmoV^zio?INP70cFmd`r0iao!;PrH z5B?F~?6`zhdv(W@J$RtSW6))4k+e*mIAUfgR; zJP3=AVg&?_f*iYQnh)PQ)`I<5ie)w3BZR^=eF`Ca9R5x2c&>h+5l}(Ud8(LQ@ux-z zUUJ5krg=YE8h+~zcCcSuTYS{^oc-`*Cm%|_>;Sq@xgHPFZ)bsqcf}fXR)*HK7@Hg^ zF-f`l7}fc?vJX<}<|FDp)s9Q6t}3|HuGHTvcZ}X5jwudRI2BcriRJS?-L6N$H)txX z3kh@PuKqsX0ebWb}c_ zB#G*&ZNe#IQKy#+)AO}krKsI4>P>Zs)>A~y2}2>n8{*0ctP1jGdY2jEYox~84be%4 zPKNRCq@O4LULm~Y{n^i09{L%q(lSZFP$9%A{5UK1`e>6_`s2VK#9q`m-7?mXAI-^r ze*4ku?X}QDmLdA}1=_@wYgfQw+AOY$`>R1T2>NEiD>nHTUctT}-&F~14+|;H%0~)5 zq?%1~^S!1jvKP6g zAfv+b6%|@L#B`NcXbuS0)Cq}Z3x$v~i>zi?ET7ISsmFF>8rJQgOPW6%Sd#y20n$wp3U{(}Q+o82|opY$?+tHOZjG&#X#a>BVtIxSzRl%a1>UHIz<8uarv-p3AsG z?mh;FELNTb3BaU#9|?fcpWbuaVDd+Oiw{hIbIMc0iizq_}!e zo)u2avnf6ULR3UKa!*z6MtW#k2ALH`$X?~xk4Z*0dcpb|hYXQ!O~IyFsWOgdJljw- z3!FbJ3CVBg=rc-+y%ADG92D_bs6WH#I!cnTESDJi6nKTma%n3|5Ok~B`#e;+Mp)u( za7>1=Oy+W0lc^Cp6hwR^7w?nWF3zCo*CH}T6PECX-K>pO^T0{T-)qV#N#4KaA7nXL zijYak>U_AK@yLeq$$G(?aLQPbnN#d9AS@GLasc2BehIo6&N_gvtKcO60-PAh$$aHb z-C|b(NUbWqJDBOsu`_kR$DdM;>unpvXt zY+~>^Gw3R3~%T2;9@@4Kp6>XlKf2KYmb-}7cs-VhlFzqBySNfuo$$g>yS%H6M7 zb-p87k6>y*RI(Jx?4YY=JwE0%Ky^enc>_`cIOWr6p~rkfCw+kg!P9AVQRlv&cqr2Q z_^#ZoXnj%Zz6&6Xqo7dz_#Fkuyp_u=^sC7G(k=fNN7o+D^!NXFGc&_53}YK3_Yg&B zb06k@XKa{qt)(fIY#0%0x#SWtmm(CULbACwrBBkm)ZF@{s8lNTsrK9V_t*P8Ugver z>zvm)@8{#ZU+49Dy-PeW2T|!QLiD$+ZlDUe3?32w>&KSz-gO(UOwrA9E|*?uYsk<9_D_V0i-JTs_K!? znW-1Kwk&b>El?_rRF;!zbl~xkUw_=s25U!bsk9G`uC7S-#PiS)lcfL$pzc#pic!Qa ziEVV6!Scw+7TY*C=70GDb<-;&?reIAewtGmbOeYsGb@BXY$5YB@0QP?W3iq?bE7@bno zVGOEv!3Bhj75Fb&_o{mSX-x9#_u8{UJGP| z!}~dLGv?LUT~_uCP32q0DG}9T?E56(6yCA%v+HugRY3K6e2Jg_-}&=N6iS)1WRmqC z`>4I>097~tC#b}&5SFvUc!s3MwsiUNSE5{vu)lj?yF8`spkLvkwkz&j`%2&cB=$MMW)PHNd(kIfJ2B7H$ATQ=`GBVGw}2NYy>ic6fhXTr28mgr|h)nj1p zIQO8$@8xDj7t-jCps6F>(Inu|e+6#ahvkMBhNuhFo#yY+wt3n$dfY9jDRh3XL8q%!TDW; zmidLAT_4oMFd!7E4BWdi_MQZbF|cX}6o~VqMrF~;_dcFb9>q+tUE?v_#PYjA)2$D= zmEM?BbUqVU#X9xUcLkysl^M1>Dy?kj&fY!58Rzi49X1ZTKV2oNZrz>#SB|wU!BIkj zFm2^~qV+Ajip_@%U2kDlP0bx%cr6`C(9#G9Xe>h8;ju)3<4}VMSljXbR2^XAiyfli zGl_1k230iW9Yc-rj;qkDEYv#w{EL`=r7|1WZuw}Zb3v|VG>M20H^Yf>vu1QAJ);#b zq>;B7Vd%R_nYYQ%?Tc)I;4=NLe%W2=eMHp0s;G0iN|0tntbT!J`CV9fUQeX zx;%P|WIAG;*eHO6eZdgX=RtA`jh4#Z!!AHe3NYR^7>n+PT#J`F0jt?Bij9cCU~Lha z2&-ll?ZwVC5znX_xSH)j#9eIMJpwPN2z;ampt)xNz%&Zpx9#wt+&~D$n(Q5>mZu&H zMtpHYR{~rfvx)O2Y4B5xguJm|i8O2uQ@t%{E5dp%s4Yx^U?6F&Yex=4&c|sP4YAK> z0IXgDg~!&{{C5CSbz)H@lKkfk(9f%&SlG4jz^ksu^n}^Ziw~)Pr$hP-^*ky)ua&}Y z1R^}0%(YNHFm{ST7J18l*SH}z@|P=;Wud+U``Xyq<|9y~@4C;-@Mu1=es7sGu$c5* zEXS;p#BEC}TAetCfVylgam^0|5_^4sfG?!Do;6PHC_P7DqW7&*GJ#nZ3K2-4P2Q+| zoj9(E#~~5{5l|iiViRDuO+@k__B+htz{<85lK)li0N$2|eWxZ0B@e=IsH%$scE_)( z0D_y<>;U~+f{}to0V&gU$`m$yfH){?>$(}hPwHaOQYheDEY{qFS~dOvgY5??=h8g7 zG}PrD*WgL*;sj0(5-?cec59t!eSKVLo)<;pF;<9q+L*1LwC!`N=aDtsH{v4gu2i-W zxx@<=>FzrlpiAh&eY2Lq>eIx^aB?*{uyIC}tB-8x0?k_=dV!Q%RfnQ6*z-MCMw;JU z`muGimvq%KDjoy-u+7ji{uz07xe>TVXArBj`YVbKr7pmHNd&o&IOhO7b%Unple>qg z(oPm?xg(ENDwOGPT5aq{U%xv$DF3hGc_sY~Ih!K`1D7q$%Vd7O>VJ+ZK7=W|ZPG+w zdg^meGqxjpAu%=46RrTC%NVQ*!Vkj1AMo=o9(MX? z3x0p<+Kc;=t~i=to}EAVuJUC;?%Akl+U$imYgv6v_6>Xcu|4g39ki8ufPyI(Z^i87 z-kH1*f4QTtP__YbH*Jz7CNZw^$NW=e-3K!ZLcorX)=jE*??0L$2bNcK=nGC3z_rig zd@Z%Y?O%KBaA&Hu*hEg^Fel#6RryuP_;hycO1gAo`8oY6ExH;28mc*I%6bsLH3{y6 zS9O;om-1&34Fy9EwtTzjizN*1j~ddvTI%>|xvyR{lmDKtSnCRyyq3k#H}y`ekW!N0 z)%`$Nk}S^d_|7qIo8QQO#BteyIlwEF$axlUK2@9S+F7~n%+TXxDcUkQDx6*3Lr=-NsL?+>~XurHmy3y*FMiy>j6M!ccj0t7eGvxy1 z1L%q}r1N(u(m=!O23_0BUC+tgq}J&K{g=hO($OZ9+)n~qB&46#XYDlRObSRfVO`+J z{H*FGY_5&MDkl^8se-0y9BlfIsik@8`>rlSAXd5B9tej3FLl1->GL3|xhB5u8EkRX zo}yFy)+?_s_JINy}we3I<7%fAzTE~E8xBV@obp0=EJA3Y&yyuiFE!5=Hq z`L{XaR?CWFYTq8{O1FeZ7MV&`x{w|h*sEb}fpTW2NKdszSDy-_!EqoUJRw~*OcFAe zOvQz8?(MjnkvAW*whw;-fG7mWa+NX_Ef87=Z9)C4)FFCT!%UAEUzl;x2Bmv?B&CG=de~$ zXc88CAO2XKMmwy==pDnJEA0>67X)4xxZ&H~ux>l^BP6i)esJ?OYh=4fxf*H-Zc@y*ryAV#RV6Aued#jfyDu*%2!9?jo*jCSDCD(rnaIZVk=95CpN?yM%Z;39;4F z@Q}YaTdl2QYB8XkicfLj5oqStRuJtFbG6Rp=2t5BO>cnXCzCqNdR{8WN@80D&>Cbp| zI~GLSa&^^Z*4ZY+CK48g@J?R~>h7%!F>$vGV5EE0nHcQ}2|Nv*y1Y|j6UYsPB)@G0 z1?4yT(#qFz9j~Kog$AEtPN88(>|%Ot-fPKv>Rl_pBU>@7%6j|Y2;^bxdX^BcK*Wi} zY8<4dKpXPz!zBl@a{iWukv6L%TY2?Q)$Zd|JFh(LIg4_g_coyI>jGP@FbY^s#`cl# zoOcYvS={AcE1B(*eBU|8ewn|xmLJ7mSNnc`8c_Y!&|?&?7&<;|&L}MSaFgn4l)N$P zmkU$agfo_BR*MCKqBfsLVQMb;NHwt{)no?|iEw3YB^#==W?zAxNjc&AhLvJ~Olkxa zyXyDRJ&Iin4?t+ZYwbu$I~OpOCV;!3!8B4_!>CxcJJ3xmE=p2xw`PMD*g z$c}*J2QZh)T!BW#K&bS@v>-S?k4TXi@U^ep8%A+mN!e{myGMW_<$iF}0dcQSTdocQ zF?H8R=w>RGkje~aUR=o6ZmC_oK$9)n0lRL$o}=S!SNy{4X3+XRW{>*FUgzxhtMllP zpbE*BQ6+=y@Sm}vX+V`4ULO1(Z}`ggKp+GuPM#eL5}5sV9@i7tMH#VnfEE~~A#I~4 z<}JDhqESfY`$bhM*LDds^Y_Y&mtB3RJ7Dj1yuFlr56+FpXS!lX3pZ4*kDq(NG=ga^ zzc(OLw4nH9WDd5++d^}vMa-k-zE_f9m$po^z5ek<$6NDa^EZ*dY$tBSmzi!E4&Uo~ zfvFbzo%m?JeOr~|GsT8zG;TZA2()rM)0WLjyjJR#zCiwClMAn-=d5{jhSU{7z&d|5 zjwD<3onkq*KHE>hxuukxFYKdp#j@fVx}j!>C|kSP%I+>+XaFAa#_9*7~UV z*m@7s=DRRBH#o%ei34~u(7P>jdr7p`TL^UW^MEc%Zh32V(|d-=gmGCSF~UuY+jx4^ z7U`6v44m4V5v6cXlsR}n9R{sMPC#We1C9rEq17UEE^x2EiAb~c@Gxx8SbXJZVZrko zi!~bPFI4EBL39hWIs)>EiX$MN@AY#)&@PDR5Qo%A6arv!+vP|(09}Z&wtOMra3P8K z^QTM?v{6V();^;P<&>HM3Sptoqlo&zAp6%q04{H$U7|~LJR9gqGt$gkLV0q8Sc$Ar z4woaLK?SCHT6js&V<14lLt@H_7Jz=Emu!Sd?efv5JcvF(zyu57?4*KjcQLG?X`4ZD zz|(-9^Syfok=6&nKoz13r2N%v5?g9XbvZFM&Tax~S795s%?{Vv+dypr7(2&;AC4cK zfQq|_B&ajMK%u}|AX5qv;n>YVJMRiQ>&9OQh@mf3R0G(zY80qA8gYyO9ZaSXKudsW z>>yO!N&np*9%l7j-~7F8ZrJe@HA{Gq_U$#@Qedfvqw^N%lJp3RzHOL%aK;tW+==S7 ziZ9fi%&wN~{OUT;=$`OE=WbFRYqOt}8W?%1z?Cjub(u{R5J|?%^jOY@dYFWU` z!NB)urb4l|Uc-%<2=Cz6Q2+Ut(49Ck(rop8j(hXB}+>m*+a`Yzu) zB|<#(IZc>E1Pp$!G95%FC*ZuaYV#8gW@QWSwKfrE?sUy?e4g(mnasV zEdeY?jqz80WJX{gVdUSYd1TXlRbLpaeA&jyc?+$B85+z|M?YN;4Berjf%I42?0fu{ zytewh&fM1ui?QOaCDH?Apg`=uq)%l)r@8lg#zuFxukUXw`tU}IZ)x{vuxY+$@gyxk z#v1eD_>=F5Qp7C5QJj^ysC74IDZ>_b9-V2a5M5#I3bYlE`Kx0;u`5cAiPYzwJ-1>g73QF~Umiw7upY5GZ)-`=NQ4ul5y{dJb!q*0u?<|T8b zFn5Ex#veK|$Bq8uoN>l`TlYNGb$h3HB1-u#?Q|BpxRDfv7OCCNY~99jxLR@m{mE1M zB|pq63HSbHJ8}&^#gESLEif|;)!P3d=B(R4Ro^%AG`f6Lv3vFVgc%HeA5 zZUuu9iQFNVK(we0llvcN+&AIl1NRa7`K2`#0;ei{8Gnl@2+SsAi$RKotZb%wnD8Rm zX?NT8?MDFJJik4-#)Q#?T}ems5=czr?%}Myf+##9!p&}9!8=fKgy0_Ix-DqxPEzhF zh@^0%V(M%F4)E0&lEaBmLI1Or^l6u^lFCm0^~G8=WKYFH6lo_o+j8yCmh-k*gSN;P zR`S@uc;)!*3R7pX$t6{ThzAwTy74h~w^U1AGjN`;oI{D)*Fh@9#sP;&Xp2^a!*fmY ztX7OUbiN?-sQBB0oaesY-^>QmDU<>6;k3>ALTw!mWhFtj&=#GK9H{0!8{0i(SltY) zGQ&bKPqKF?u*j;3S%EqB=TB&a+&9auh=c<}8JZT33 z+sZ;}q6G3YcL2~F!g0nT)~zzllB{Uy^^beVmP;8?gqkeb*l|uiQIeH5`exq6*TQQu zS2@^71bklPq7^9Dh*N43VzZKXEj-osM8_go!tv?2Of>}9pkIvLdJ=!Gt<;l|RHf|a zD@z2KZoMAL3^ug%v{V4SC&bnLEZ&{}0ynP<++q64+o4XE>VZ@fM_@wUQPLc8uH4z3 z!ETb!iF|Vb3f3MGo-ONMH|{{?;ePKEov9vpFy+X$z)U z9#ytiFlU?Zneg9RdJO|wo{oPs4;Y1x@n7vvd)xuIEm2G}v?X$KwgXu2OG;6YH?ba$ zdrt(xYh^sY)u8HmOqTWN`aJBG&cQ>i;+eEobB5nZ>CRs;Xz_ zgNmlm5p7CgqDALqKj&%m>A^9eNr>~>8^V?(u3#fEgNw+pQb$Zx$k}fue#J2`2FDRk zr#oB*ORD5P|3>!hcKI0UU8HeD(>9SU^28Ke^?3r=ts;`f#ToS%sOsN4{D+7Z?N8_z zxSdo5Bd&Btglp)Po;w*u54+fDVGp~s%hr+ugDh9jso`zv2v|B%E;(c+Pvc)t3Ze>c zhs@MZ3he0QMyMgIZMTcXF(C<4|5Z-%+dcl;Opj_K-Avr)GKXGWRwE%@-`1G5f}5;% zq!vyi{dzO`T~{gUEW7<>m@co}VDZ>3ms;X(3{ z2Wh@su3vQoRwTrKJ7i)IZY>;ts1#}O+KcXBgCvjqyk>Uhg{WS1Y*ix|PGDOdD+1~l z2hzwm*8)K%emxIxG(vjHWf5Ghu?c`t`jqkjO!?t6SBcO^*~ZRfcvYjw7qUKlh{FVy zJl>h2%nFTscEG9^&|CE@R7L{>vkkd01nBj3XTRJ*D8<#><5vYX=p2_9ADQk3Vq1gV z;=L1GYMvHp3a_fG?Jzz6d1Ee%f8eLCZ-+Du8pZwb?l7{=)lO1tvnoq{NsVB4v6b7{ z*eTa)y^6lC4Ih+uV^2Gmc>0yxza)#ne94TS>P&Vez;6$`*%1_b4@}V^;}}|$b&fJbWD{F$SG{8 z>Ll@y*SXnR>%+N+y0FTzgmWFs26Ac# zTPr~(1rgs0M4AG*hYBNT>-VZ1@^QJJFn`uUE!`_t;w(TfyLZ!DlOB(jx9BIoUt@yG zH&!=R@jsDv6^GZ|V`N<2tCsCg|9oP!Mf=;=BTwgJOjWsswUPVk;qRMTg7aNqatEtC zIivu!TY%5YPM9m^w<}v1+Ndt7q5`=bSk~V(dOn>vR|sA(IXkv(!j7PS;UZxEG(dB) zPVd2iEt?A6CyXgqsbw!u)cqEJ|D*TLN5nyWEO;Te!CfD?xsB>{wpFOJv*4mXw5>R? z57k)4^sxNPx>FJm@X~07Y|$GRRe6?o_-;N)V8I0Q2yt4 zgrenv1})t%?$$zu@)Ga?algb(E#vf%n>!(bPO>%%DTJwEB#qX(q$wNs;*nMzxB~XT z45v_;XbxuOy}NSIh&A;<7yj0a$k<|;R8UE^f$L7mcgM8a5y4=mfMgY9@aDnTg4Y&z zeY;2L@SEj%VI-+rkwJKd0VNFp;H?IHlj3u3-(HE@1Rw|vjN zOZ)SBKA&X1f7e$|jxB)^4y2aZVu+z~rn^3#Jc#{oIjWN`;2qJjfnQ3z92;QQBldoO zDv+nAGln#^kx6?kTzY~w8+)bG0qQKyO2;n9?Cffk-*T?su&U2JDbR38FQj`)sB=dv z_{!|K;mzlMQ&#J}Jts)jAkGla^qpZ2C?)(0J$!mb8kyBO|LFd+xeKPXp!tV!q558l zVMq~J^-Bd4NLw~MeYud&1FkH116#Y7@kHQ^QHFtnzV+IA3(`(z!*B}Yvi<%5;Kw;Y zB|y&(zs+=$#SW}}VXFBXuw@HGlUHsE`xg4B82Gk)u~F7ufh?whLO|p&MVu3;#}Ewm zJF8X!2Z?_Jl@?5>oV~bASjoHGT#N!TN_?FsXP?o)Fyt=tLQW1)Oo0mzWFg&99lOW~ zfM<5iWgzq|(wP5{-?bn^M)CO-|ArOOGfVCX<4Nl;?&ZR>!JYTs$gEqwma81G9DLe0 zV_Wxl=ViM~C8D@jUqfn6+$WUz9_HQ#tOz4`jn-;OO#1l!-nqsuKe;fdAd@h3P%c*Y6xPEVlNcup96Dx9pV(vq+1s6DCy!Gl^Z%3PK?W=q@*$;H@d zCuuMM{Dg~0+uLC%gDSZcqPvi@jLaZWl<%pye5tucb4I}ycQ<(UrhMo#j;efR+I zwk%wa7UV1KKT^tg?U)ZI)U4|&*m*FN>GjYyuRPUI@%xT+e52oZbaa45P_q0%w-0oa z5M;;h_}kYq;*o+k`^tk`dZc0gk5Kk5Q2Sl_nin(1_ zJfEz>Roq%>MyjuG)A!NtR2cKo=jRe8ueyp%VnSl;@3=o4mxpb9PJsByH2f?mjASCm z`8S*X6h%yYp{va#Y`Yc6p{iag4Z7yIu-$UXA|P=@Ieiq8mK=VYli)13(D0MpCqD*R zkYAFS|8o+U-k47l7znBUD|nFT4jlK5R6OBT{Wf@_b9{1jX!&PBu+?60?(+i}YrLs& zId&B3a@p6xH!{TgmmQB&<|vErLh*CAo#@xHa{FN!SFfL_MU`HQ@+_!!tw5%HpRl!34hkJn>ZESE`ep90e7P7mYOMSt%pX4 zt_Aq42Z^Rm0W>P~S}#7z7l;)-AIKXm9Y(7RT`Yr`hOXAOO*HwWih){`{J62Rin&rt z17#-v;-ak2dAF-VJ+jVa^xdS_2fCik+}()I)7FGP?xH3uw^CDSkMEI=z%`hAjugfQ z)x?`dyM8pSZ(q!zl&H}=cRg~Z-d_mFlK3Hm;Z_|5l+g>vfPAMjjMXawonb8%w!{Nd zpfD9^ZLko5vgT69JIOdt5$|vgBU9CbmJm@Aq42m|yXa+(7n5$uH91_A-?X=WsF`z( zw%iW*m3=#bO^`XE3?q`xqdos6x;3IhFZYkp&MLVK^DzCwgsx!|Z+Tt<8#lGb;HsEU zJ3_gA?@ZQ+8o>qVHP44|oLO@b2{C(5+U zYaHSvoXD29fbfI{O}tBaTnAyC+@UJuo1%CHQ*_{){m143K_jJ}Z*QuJU+V{y1xWH& zjKW|MX<-f~|M1i*s{>a1o*WopDl7Mi*+~mc&@r4KjdvNkL=+$e33SV~6U=qN#gQH$ z>!g5J2Xwj+LzKDDb7Kd~Pl0Km@uj9Sff@a*w)LtoatH5hO8FU6J@D*+N)HzG1x3Ze zsuBhU35O8LSflF7C?m0MP?D_32zlQEN}%bQHG(D@kovoUp_sVJ=Gcx&wUf($gDwvY zHF>Lot@x~qq;yalP_t`hc2(D<00T?Qv~j$c$6n6dl7S1(u)(Y1n86WmzH2h0#Mh}Xe&u~(rveOilk=!rTw4IJeqUET`TaIr;UdA0rE z^T^r3-Wq{;+ez5_iy>+OL0{tCXSAxEjlgY}G)hxjQZg7E&ERj@sk!Q2t}k@LVRkOU z3K^dB@aU*Uf6v|V04wb#)r_-6&$+AvzjptY=}jw%f(!?js1>DVAQfc1{Cl0Z@MOHn z{^;(DuNu#g%v+OIJNX=hOw^Rc@TCCSK>QaBI#LE}s#%VA%BpoKBu`0=HrxP)&lN#{+fysxI=RMMDCmYvOF2rDux?lj|V(mrCmfFcTWHS*7n zQ|)a281Sbhi>`|I&m>FImgD8xJ?Wo2<&H!M9b~RXPM&O~PC0*I*v-24%-}EqaEXbymrUe}WGoNvb zzYQDF{xG0bb0$~q2@}%ZVi`&gYCE;gzZQg+xSc5mG!xTr$lG_u=M+0`^_+8y(=3Wl zn4B@F_FwxbFK>Fq%Q;OObiC3b3wgt9J|K}6Uy#nV=)$SwS z$eehpKu_}e`9Pdk_z52p)BLp0Z){=DnWrocD@fDubHK#e@!;)`jg)rK?t!(tRAi^z zBw>jP9&xEA8zEpxQ+xd9f{%b&NNdFBgeU`781}Cet7r=EDM~=bTEdee07!7_PI4_K zab+OjWUdWuFXuZ0>FDjv21WK$W)^X+K~+5)hKG-^X8)KO3@iAiK3p-zjUMYzkJ~w{ zNXo7p%Cq@#dVIE+_ zMDFaGs~H~>AF%Y!xA4Om_W)3;(WgP=2BF`U_$c5*^J-QQY0V9E`1U1#@WYBVGtgt| zKh%jnMY6_yFU8vAfi>270}bI*;M&Tykqwub?i+`6D6S7Xt~Go;vHTGKIdc89fMP<3 z1;6OsJij}6Ip3~j?ctazQPNR@~429ys& zoZUyBe>2We>+*RWA2G*nqQVs3hN#{A{WK)_itys^xVX5A>T=nY#PhzBQ(+a9n4uCg zHMgoF0j)bY+G*nKFV_m>YrYyilDluIerVDt+2_9u$o`Yb zA8MQ##{NTVv((g>$e7?A`2=4Zg`v29Skiww?@FR=ievgRKoHVf?vsUE8{lE{R*#Y* z=aIgOXGy+2=BpvjbA6ZE+xbJ``W=+D^WX`{X$=Ci%S_I9rr}^Hcuz2&F?8)!47Jg7 z7stIQ5pxjR8`D3mi=0l6#9avOAwW`fjzM+|KhpY_(h$>iEiW8?cM3;K#v)Y-Iq zpkhTex$mSJTkr9_e-f{P6H!$Aoy_bs~$ zK@AGNO@2&*xWqY76Q>r;kc}-j5B~);k~ab#MfV|FH@1|rl!g|Az$LjZ)2;I<>aXf= z%O~N9;e6n+F=TI3^>{Swcr%buPw(mRM?QA1;fqq$iw^EMk_tje@IX1gU12>jn?^D9 z%fbhHF+bk}=*oEs-IX&x^XDm1!}Z0^`_l5sd0r{%ePt>8>^1TVo9;`7`@r=k$fuDu z*?a47^MZ-|`+eV$xw71%U>gO!9;5s0o{MhOY%yoK9YlN0EUn5?D(Ix`mzQSC*_TjF zHsGe@(ij&3HQRt*q>n<^2O86-+CfY~>GSai&cNM(MzUIQOQTtin$+P1gAusi4dG+W z_MxxZNUR`8C)J%ivVD+IaWBWlf6g-C@L1qv(u8U+jMQzV5Na4yfo1!k(L0Mb4R23g z|EMIH9$9!eW-Bv?bDn(Mnsp}a32UpXO7&UBXPoAuVO9KTVnWx1rC_bK5L&G=dlRRD z4#G$TDW~!OGLPI8pvdpeb1;o1&Q_os#k&-W)KQWn9qP>5$8+KY{>f@c*+Dj2|C%hf z|6Km1OzofS|vIq00M3!H+DTEF(*)Jyhi(pmZ(2da{`?q7bTE!jd=tBBtDS}^efiG3Ysp* zQ6*yF9qNl)GWrr?Hu0jr(iy>>dTI774?C?hNJ&4gB)|9;ZQ?6*u3pMct7C+ykabL7_ zAu;Yp&s`@KdeH)q7)6wZeHMw?cYoigUe z@IM14X?sZbZ{I8>m|4U^ZvJ=v08Au&Gveb|w4vIDo9DMSy)A7|#0UY6XF`S*iNNV; zf?;jA8WH=O_(ngi&y5_21cUJ;lq*&bXSrS!1y@(Dlk+ulX@<$YdZ4BZqTO!Y`!GKU z@E8UMe#k>1dU&x|qLL*SE&zO{JPj?tvmxwP@m8bxWW#`yjdg*rcTAlv3HJob0R zWFst7yTs2WnveP-??0I9cy_3Nukto-^gqAvkjg!-YxWfB*}BrYHNK!5?@tdvzT`ga zXRCY+Gu2B|y|1FvF1XqU@|LDblvggi{Luq)wj6D!g9E5VgzD8{5UIwsP$U)^g4zEN zI1?RrF%~r+CZn#;Ce2aa3pK4IRE^5Q7+Q5bc8t2t{diH$%1jF_OvYx7BHRC>v;0-S z+DY!Aj)3eHYZ59*FT!ar6B@^zbJL0+fmL+yk8tnC& zVloZIbX{#)I(g`ZGp7H~$wT=^A?QmOmi)HOgQ>Z%O)XYeTwh;VY@9!~&0Ch2-8HxR z6`U0TdUd|&p~b@4z{OMdCiRCN|A7=0LxG)`*b21%EvwoG+b_6UYF|Yet?7JhvCm%F zsgjX#Q&0dc_`JrVzhgzkZLv>TSYw$zuj}hMSSKRzH_T2eDH!kd5R~VVsI)DY4AaC| zm|G?(`S`L5LMxhHk~<#O*b7&d`|{{F_M2UgvLuIazxv_AV>4hP!l=fEF2oR9e2_q` zgV>up$AoR!^2uFK83`>Va@Em3!v^{VgHK|+HY^iaNiiRzcv_wrb zsDB%0MN0Rb#F{lcra~rNaX=$z>xeoP(U=!#Tq?P1$1`b=o7NdkaGfmRM)tcyKmTqG!3EEKsa2G&s7eVhD-L27^YS~R=KQj+a zgk;vFJttN%tvYDPxei78lt%e&Q58UcZa(=|0O6+|gU_s;?^xS*lVmgZn@2>V zMw#;8tjZXP@w+%m9p&@bM#p#~gy!owWD2mta8iE%_Wn_Z`<_46z}({)wCe##5~RzL z{Q6cb&Zluq{!=E2+FyU_PW+DS;{JXnCoNWvDry_ga zh|QwqmSC6UmMykBGB^8T&dKvjn}qXpSqed>^!G%Wtj+zc$%v-c%I*cdy%9 zo>xNT0cCWdjQe^-?RAgdTS`pKQrrz2S%~p3U}Ql2IR2H*_LVwTs?C#i;sp@zIHu_6 zHQ+^H<%xidCZLApFJIs2pzvXyf%_`QJ~qnhO%>)57P!thp$_Y(&AYco)qHAkyAL^6 zJ_pWu)hDnM=U$d z$?ZiRs;Bj{7N>@Zk4*Hpl|Fl#y>6?2=B2r10bSKk>j`=?68=^n8Sf8#K0P$wub6JP zz-pFWPqUx1&VH*pj?>wppgGgV(zr#ZM~16GJv>Wb3;qeR3SsV%x5K(oX06dh=ysbZ z_`~wAD~p#dtQyw7QUe=59FVtnq0Bzm%2zwv-yX7X-ZxZp3Cn)Kf(A6Wro5WH+N2I+ zKt+UybJyF<@Jjiu85;7bG3vW2Fms35z`67|>@e^*&a6zEmEq@OQGcRn<*&GM?$IUGTDXv69DHIETB9yZxr3IJ3uP&Y3(mLA^^4R#w4iyBr3rtV68M+IK2U@16W41MwXU75w@a$ z=v+ClqAGMgdF{cxni@~CNCowfWd$hWY7-8??)MYj3BkH?w3o8!p{oWn5iqQPBd;h} zQi5QwG}+OB_p+bfxUT>-bz!JdGX&q34MU-kFDU@t1~xv+h{zrL|i*a7EIaYLp9Lpb8{Z-ht$c54L8 z{*H`XLa7V%-)u&yzgq19_#GM$zM9shPoqqAQZSQeo@qeFyL*W5kYr5<#yr_*F)F%2s85Q zW*KmL4*0rZd5__~*j$6-ak$j!nCD|)@ebu33dPFP8U%Omo8)eC~*=Cy_Me~#EjlzJe#s)4T)|2Oc3J$DndC4 zMx~&v?&xdFaROD0eP;sg-LgyYQckw~xd8ay>{1Uoq%r3l4kE-+ux@(x1w#GzK9n?)a{WGf&W5c9Rufm zuu?B@vk3ixAjr6L zRmzFiCpmQqc3xx9vra5TN{rb(v?{q+2n$yQ!FA z&mw2^jbUDy6&3Ay_+_<{Ed-sk6*m(6mCq7^ABK!b)P&IDq6<2`B&eGD9nsN|-EIgR z0e%d}ynMUFY1!JEeU{rY>2u&s@c~Pah!68`suBNCYdj^`d7hC@ltzhqK| zf1t=vFM>Ca!Z$)$!~TLH<3)nTPdzDofPe^|0$yzl(}M7sCvLMGw3K&M{HlOoMws=N zoRg_eTru`MVL}95JF#BCdTp`+3b)*c@F(d@8$Xd})gQ_k--BiA5#He? zutr|DUH|a@;9v_Fg|KvX68w_naX^f@@facav36)FDsS=pTxKsqFAJ}S-ILrM;qT(^ zZX9-EzB}ECOF?SUAlD<(E-6vl@G*0(7V+?rA4rl*>{PhPKr|(mN=e7;af^)poud5@ zm%Jxhm!SHER!^Zj@`@QQ0YkC!(1wr}wiy5(rxl<3 zRQk@Je#T%0!v@mZURCrJYBc&w5ZzI6->N{;gW)Mr5O-2XR1Yw7CG?7wJB(xi*O-do-CD60l!=-!%kDpY@ zPpkR)<;`6_v!2gt;%Bw;v!!*}?R-ubpWDMP>f?WXbGN#*pU)fOR|@$xw7re|%P_NX ze!Ym_bhmmdTWOl#I>T>&#P7AG@xXA|ISPY}_9m!Wr=fzWZ{shcpGGg^YIz7uw6Y`F0vFx2kK0GGCPe+N<;hMN zQ7L9*Lxx_xr9!z}?V1gRpnBkYv|TBkbD!&&JAN(VeMrq+$x`kzw?1%gvpGVq_E``$ z`u7bDYu*r`B^Y9-*akX|9e_9?)su}u4s@8Vf8D9^)@-Eb=I>5PaOV{fV{6$FSXpNK zPmFyAqg2EbRf=jvNAx{U){B}%txD2D*ZX!+m#9b7m$585E$SByiG(7syJW|>((>1~ zVzssAi9k(qEb8Zab0BD?TYe*vdU=p(Ee##wcDGxc$Zp~934>@+u!{yR?w=x7m zc8W_b%g3AZsFbK_ss614PCAB2wMp)ZaFg<$!ca|5Q$(e7=fwIFR|Y%K@lg{NaEQ7` zH3MhQ;~$!=>91O$7uzb37hDSve zJ3NxI9A;CVv4`fRbC~0pwaSzi@0*XxmUe5nye1uL`ARNzP1??FdfiaUo9DRE#Vc0@ ziZ}V^udCdVNRFqhH!Zpt$)}p(rMe=Tr5^0fKWG`9cEcuGua;MwElpK!$e4Ca$55o> zCY5^rZxC*K%_u0Pa`N732g=mMe%`*L0R+`qP*hil^o7@DVj>vQrlr*1TxnbS{xk|o zb&4_MkVMeP;AN!cOIb4NneqhHkpqZ*tSIZ#6f!ky+C_>Q*(^t?NCu~iE7cV)6I0}6 z2%?ncm&!czl51qgiXQI|ITRyoDlgU{$7V;5E0&iS+z`?5svlgYqyK-EX6Tql8G3c( zw71Wi2wRp(^trhvQih9ST=smEJV9e5e&6!{%PU>^{XcnY32Fb6w?4Olm&#*MHn)Nh zJpJEI3>QU0A_BmfXwOeAGW*(r~IkMMBaXn*hK>8H$z4i{C}p|JP5&KwUE8#Y0W98H6qDae%4sIhhin44W#k7ExkhKUY)`hH7H|Swf$|mD?65zZPuR_uwOxXVrjD^TTX0xk> z9jHmP6rC_qwAot3$CdI4JigJe6jLhsW;J}vdcI8)-%eUbYvnt(^GRKNxBuZy51-t} zr}Xm!hWH`>!y6$#Vw_JE@#)jzaL^q-_pRz9sWf^66-6E#GYZWc!bg8u(I zm(gV;)l$;$hlUKCeVPKZJ$d(FZVs005SZ>k>3@knHGwJC!MdgHZ|EZlzl0 z?ozz0PPNPpOX&;TR1J09XY>DCY|id~TTGVf$mCHGViJrwqb`#lEm!WXA(P*PEr9rr z3qE@(m`H!8cEUBkBL|`+AC<*9eIKMb9rNUNVa@B}qp)X^Eac55kG@PWpf5kgn>HW@ zr~8gmh!0CRDW9?jH2%Gf27WhWGIxaSrXLfge2jvTTpd?0AHR0dSpv2>0*qQkuAJxI zPw{|Yp?sU(qyD7&<#ISoYg+YmMFdbFF5b7O=7k`xsSnpR0uk9Hx}4?p;8`R{yYPSw zgVCC(gm5Ie!HshFQvfd|*L~K?+TIBlQeSQt-gm3+ZZo`ov5ZGNHRdsjjKcbS0Z`lo z0MF9Ysnd>3LL#Jed>JbB3Jnf)Xy2wkeGrLNITlwxJP+N6mPD+q|$B1g-_s%m8nSOjC1b;ws;`$+SYwZg65r1>yZIBQwYZh8b= z;;R#(vb6zG)n{`D@ddx}-)AT7|D)(!{F(ayIDXD948t%C!^SZ8d#*8anfv{g>)eWv zOH<Fqe?Ig$N6wD2j3`ccxSl-3wX8mrA-{&yTU4T$j!91{QrLD#EO~PWUWW2?kmC8Ey7<)(#-Q z7g`0-)Q)~C2b^WTpc$nR-E^F!WuuT%RcM2n369rhn;K#u=CO^(X6(WU)=UlidR{#e zy}<_O!5C7ETi2VSHXLBTevG(rHH2@lEqk_CWBs4PZ|hx?r^4B~(ogdLeE7I8`wv9; z3*qlYAq?5~wUD6kyF~5fnsqVRiA(`;P40>(u2-3;lLBKv| zx9@=Z+R;>#y;UgUsP`ioUe~gA+hT;^ozk(o_~CWY#O5twY@ZSs4(=SwdOa4sdg{zZ zX&m&X@$|)gu1Cgip@m`QWp;{nmZ$iomj3IqzhH@+$_{kT3|&_eqg@bGF?SvLG-$j_ zKocQ~8nB1+ZT7qW6fuRCwe(B}ASL-GQ+D4Myxr@lm{R%^J5BC;lIuaXd1tIjbH)`} zT$gD#CQ}ytB%AhXygo-~9sP*|Z+8uCIG0Xr){8F+VdsQ1ZWiQxD`5IW#gy+i_TI9r z3`smg96kU)BxsR2$C8E&q>kOHYtZ}{j3)O@ykI#D zdvSU6*>dv>P-+_-;z1s}wQ(+sK7~)3q+D~HK+n2eR&ZkIEBk(F4I}YXtT~(ntFi6@ zUQ=1~$)tWy57_b)bVPwD2<)_QBPp+B3JVa0-XGN&Ettu5R*4oxDxZoK^3q_f>`VHU z@X00mKSg0C+R$oRD8}V|PkTc{_?(rR;BEBh$1k26{CLe48+&zciXufi75K`$7QCz83t{Mk#GkqkgMu)CWbGUf~m9%cx1T{I^!UK7BR) zz(N%*#*)vdx??F~*vfaS>|$UgLPh$34u60+$d7 zmo>h-u18f*g{X%-*8LAD{z%Y10!r5kQ+GN~?bRgh?N!KtI>g=N#zNDy`DS8h`%L({ zZxjUw&mr=`ALZ=bX(#JS9j$RA=S*N*&NxLTyR!Y&-B}Y>g{O^{H+9~hO_#|Nxva2gzjH;aGqgt$qIa^B6`C_obQp$7`&0au zpk#TxcpVa=GyBk%n5b)sZ{g;|vfAVdFH5t;O zP}In~N4D|{ULW#A*$p~_LpsbNR>6qkkQKrWUl-f1us&B(@IBOha!;rBYg@X_5@G;| z%?kL$tD8H|WM*ENuQnA$eu5zxjA7|0G~C>O@1N4PS3Q965#6#MK$i$4Vf^KH6NN?1 zpx6>&>^TK;5$jhqF-k+;(i?AL0JhtI{|sceoebB=@3X#$tEzJjm`ZlHw{mr!X+L+_ z{X5dY13|Y;yda0EAHgcT>49X1;pIt0eo!H4)q(W{I^%_dA$M2AwiR=Lu)WFu%?w>P zrkh2H6X*uIP7|>e2MA(b{_eD6F9ye4n8m>p@Al^HnhhVakRHm@#9*WRB;66V3)$z1 zhYE>U|B#owrr@~LM&s*J%IdvjkBC^xR4;Qn)3@hI&?p=6a7OtD4rSuCxuCJA@l8k? z&a2tzfF#ouBlQV`TqSM1W_%ED4N6t9EP8_j<1AX*%qeAKli$5~ z_|TYWXUT{#Kqk!`ejsfFNc2V`HD79pE3`G>lT&ZBCIU*^;~ zC!F++$SZ&wG)NMfS$^p!?(39Ybr1!;egdxUGOma~mm9`JP1_$uwTVYY7hS1GwM^^4U0TBNmX_EoxrClLx+c2eCY;d*-ld>)_uSi@iBk1J}KgiYL6)p zEF$JQ^WOH^4vb>Yg(=aF%)sICs$$NB@M-4hHt>6|c_ zbtFii`ADf%x#8!zNvE5EH*+K*Wgj_;GIdaz^s_U3Kb1?*gU;1Ap5@(|{uS=CY!1z1 z;-OrQs+2ho^dE!^pJXgUWTzqa5rn*6NHqg8EkOBl5dN@TD=h+|&*dm`9UsehFkT5i4wqAIX{>(lK{Z5%HBm(>wn{u?{*y1uFF~&UaUFa%s0E>Yen>(_*?|_98!;CC< z6R0ylw-T?cDA7*HieEj=ON$WS%fQiTff#d>JO2Ss)OBg%f*oYd##5-@^6dy=u#9iOY>}gZ8e6kI@w#8e8rQ_|+84U5CEr zF#L-OiQ>Yd9)hx?QEZr>bBZkRHbgO5c2hB{0sbmGt}xQ0GOx2MkB zyOW5M(RvBPpcEJN9*pxxDfWgu8hA;8SksFc1YbYGmYo4r3*u4OJE|=T+Rz~a2^-?OvohU(wDY=7RJJ-d(KgV`-MpNEcW`g7i@cQDYtT!wEj9LeF2Y!T zsj<=~5H>3QW2%ZJ%4~=mL1RX6Hy)0<@3k0|sX{P=@M79gpI9)F!7LIFV=6VhmX2v0 z8*dFg(V>u3_CkAGFx4)^4&${|~39Nnj>VZ_#4f$KA|*P#t1yV7TEacNqW z1B2c{EHw!c%K&N}qG7x*!xauXCpPT$c(TkL7i_;J>pYjwNI|wK=eB*xlsLJ4)Uf8$ z!C8w)2StLIn>*m=dC63X&odk_ko;vengwmh1e4*(1R_owf{|C?t3o0n2s$lCExCX7N(a zrRR1atz22C-(h#`cHIc`YXmJ{e>q#4LCkNK;KheWbr>DgfV=519~vG2}a0q!yDzF@zL|C5|sm+9Z|-ufh$lv zQ=$48U&JIBOi&ImUbQYdftN4ghtX88mdpVgEwG55vvH`fwlezP<)jeNCL4B64`bO> z{cj!%x_thpQ#INCAw+7Lz^d3=KBAeq7h(1x51o`;lup7TaR;O-ykHfMu6u$&*k34G zx72(AdX;!$GWvnA0#s=^;*ahS)x^?TFV>dF$nSxv^JFXUL-S9cY+#9iuM-P8G~U5~ zG|0O|d3mL6COF^LNzS&XHL)XPQmL*vHXowWF)Z0hRg%B4{2S?V+NUK)c&sfy*` zYAhykPT$AR8~)2*p)S0R1%-5&LLBNkkhD5sh+^Y=uuM#k)z}N#%PFa_z-W-!Qc-6O z@<1SU`5ztDMMby2195?ul2G)hI`>o7<=#)j+o_X~pUDF@ib+`;hht==Hb!iUmd7>@ zxsGat57Zo$di}U|!N%yO-%e*V;gKJC!?v_NhPUS@02_VH0(begvIH*VRX10&4bZG3 z_Fz6z8LUxIJAD#fjqlHzpoPU6U)TVqX`}?2QX#~6Br(i6ui(4Cqs9@-IJrDcV=IA6 z{$h$Ien->DYla00U7kOEh9+QJs(Q-ZVp3tv_ffEmhS%uVMfAsZo zUWtSDZ$l+i(wga#qg}TRlq0Y35k|X&kXN|_X4M~o;_|uyIS=CKU7#)*k*0JRC<+ne~PN0K0~$ZzJp7hNs1ip_QxkkUgcuZQz;LtV8Kz7T1N&ZfI81l7{tctClKeoWNoET5&BU>y zs`!GfbK}+{w<>Y;H>jR&7Up`2-h>5mihB6T6D%_+k3uuGA+(~INnSYrR&Nc;#^Jf! zmX}GI_fqyJXRO5{(!yZ2H&ds1-_S8GTXe;Fmd}R-X$ys%iH-iB#l@WVgEV;r-N@zR7m6(40hQiX7a-Mu(ZVE_JWFSga_U~3TopI z4fgc&U1OBC^4E5+0j;B09W`{-(o(By7qPBvpEb2{;8%;EW{^MCA| zQQYpDNFrwVGAwN-+b**ZmH|t)N=Agk$bgsu>hli&uXCx7pc!|eGXlT1JE48IBg&wX z*TylplhBxCvK9;KcKok2hXZKhh&hiR_av<3C0VV1-<8)+9`I3(2*6V%{K&NrI;p!7C9 z1ixCbYlk03IpY4nwOzJ(`Ck>T#o|!GJr)Y2zuB zgjfgXd-WK4e&cP? zXgwHt>9f0BMcEJ1WSh~aS4x;`X!O~q^(vBx%Q_!_N)5?zmg?PlgFS#Mh|}sXo%S*%{F3AV>|Mz0dvK5Sx0^BMO=I|9&XL)86wnd^d!M^u zDTDEVHZ&Q-nHQeWG9P&BicHdI)3!Bb4Dy_w6@eZgN4S{xDoNa4yusQ$W>u}HSjC?O z{q+vfBO2a?!nnv3T@YHZ+}~9{p}UMDMczy%N<>|3-7~``v&3$|R3VVp&dMoB6WD9# zhUG%XF--RF-3tp{%ZS4aMd{Rr2-y*8`%~N7XV3$1{Drm=Q(G5RUNj+Xs-$`O^49Qa zo9ST}u8GUCa7le{`$6iF@xbu6~`q*BGlb#s-cZ;zokE)lN%-bLzswp^L0%6 z5yxnr=Bo<0>T^dfHKnI!A4CiI@fl%nIeK;AB$-lBZusTGyAmH*LH&TbE9d>r3@_su z?(75H2C#jJdiml`*0bYFEH(DT)4IZI`_4OW0VaM{I~lWTu`?`U3(h@moh6?uHsVu7 zQpxXb5k#%Z!pSpY=;eq8jKnP+s37)fy5{U%#!L#fNoTn=7-Z{9#8dEboY;4Bj#FW-QJzZ2L# zdRvc~TTuDFu>fyy{AokJZ1h9qcrQ1#S%^3zXS}o8ZEn*82p7LlW1h*ZtUHP`3xyp` zJ=K7l$k_-U*IHpSMiR%(RiLqb(3zLN>iEe$Gnm*CixF0@hHs;^J7U-J3cykKZjcXR z)IkhFkSRCb+BWzC#vI0tsUb*9L4i<-dCdu+*HDoi2T{U$;*lfiSPP+4>9dB9DjY?f3y(-oWBm)fFQ5j>s~K(1Td{fwa9&8DRS;L zr@=Nu3(a5Bf>#|t+ctfKvXFVtwNB}qo`R_cUFE7Ti1-%VRs6R3({uOF@lIR@%aU&| z0v!hft8CcTR~!pchkf4gjwX3jKnuQ4V@z?f`wP{@1!G`CaEo{LSKQ&dbUfyJ|ixvrp-Wl%i+!?5zqLtAhwsA^)`LM zC^!BfL&1yrhMM1IP|5VAsYe3ULT9CRi$KHq6FR>A?njf@hHK-D@SUEf_Rb7zm{>c#c5^cKncqflbCLlk!D58;@j{M|7J55%Jv_DbwjAbn4ICag7njKD z40nZCsq>~M$?THc62sz+)?Jtkbqx_WT9pQ2c~H)0)Kmeoe0F2Nq=Sx3AKCwOes!GK zJyK29i?8z5p?LQ4v;Uc?LYyLS6^FeAe%G?QlrSGg9NJlb6)SEW5-V3YMZ+@Mi&LNm zvaOA7&83FjHUAM49Lg{DB(mOfp>@l@i3AC_(KnZ-*3T^TOkAVB6o>r~gKdNP-5e~i zn`G<{v7!{%?besx9RtOO&zC}o-kA++BrU(;%uI++l1I#NC9eM+AyW+KyeGV6(5%jR^lwdM6=gQ<* zkysdxT8eYl}t5x0C^yp z1JSy1{k&ATVlL#+XSzf#OWk)r*~mwue^lWR#g9#Yxe=NVsX=s}*x8EHtQzL^Be6)Kn4F{FQxmukks$Z0Rsev^>@ypOtwxb!DoO zy?Ll#;9xq~by2Q>kd2+eMUMBIuoQW-aw6kV_HPlM&IkYMvd6J(=ZF~Q;i-bXCn=6T z7C01Qy5OIKMah~>7C}>5N{|QfHD!uDjgW)pWoIrv3l)8%*{?GgdVE5<-X86Q-H*^6 zXtWIFSw?hw^@(40KS*f#Bgye73KuIsF(Gh}tQiLKh;A!*xq)tVKg$Y?!QvEiVRM1l zH#b5J1CFc>;7gI<_k4=srwe1KMi8lxzsNiq8Df+zGjdvYDv4puxg5~~oCX|p>E79% zDfS$C5YVT`%?*CZ z<$N(T?-L^F1cBmu1o|}03yNK=uG#xMMtjk*+w7NNazvnT)Y-awT;I3y!=wKoQ+EHQ z5%%Dvhojl$JZbZ)$X$n}NA~x(ZbNop;Y(e`QmoN@S1kOR(GA*}(}yUFkJ58Du($_S zG^+y1OF#6NKW44??BQ^iF*;7CO9yV{?n>JPyYIZudb4EzIS1&O67JHGMI)Dd1V#`+y~EFK6HWCDC*lVp@==ObZ+Xs0gVrZpMSpO3Ozu7iqvfan_wv{p^_nIEF+cqXP82MssGe18PDlEl7nsR zK8de;jKk-x9`SLG>Ne@y;jAs6y)^4r7c!>Bg1 zHoN(Jgnw{dJ3N^xG9WK4LRch)&9h@c7kdOSJJT||AHKcpzAPX5?jLO1QRv3k8#c+! zq>vmDg5$D{Y-nGorK*buVtBCsbndw?>BDEs@R5j&$PJQ!iKnpz-fKCdnttr|0a{{D z0kLXJaq}q3)DTXIHru>&)Eg?$OWE_UvhI)ftLo|0@ah`lZ8G14QVXUsiIY>hVoFHt zYeUj=Mml4K{d-TW5bdz$+XXa~7$>gSehnXxWcCvp3Ow+*(AbS=gSTC8eR*Kqv02%` zL4(CF8FRM7i^$G^-x5B30635X>;1FW0RF8Mr9;Sh0@Ebm8Az|h$3X~Pc8}GF0xG+- z>)zRG-!>nXeMO1>K@WAAL}teae&YE1 zPvEj*&Rg-^bwa?^JMXEQW~hF>pZa{2nx$2U#P4V6_6d$(vO?W@cf%J?(7(qz5^;XT zXI*|qfO`sTfV+!C-cW`T+9H6amAp1b1ln|;71gIvKUwKe?nyCt$FfEb>0z5`*eY~bzXof;;A!%$0Q-| z-<%*jn=$)isN!&}Gw>}iz7yXm929%z+aqEkx=j$z)eygm&ghEj zJKbyT;KC0|K6m&aoQ!MbdN%Q9ehLr-xWu{Lh)h7no>K*^{fnRmj}!>gj!KFjf+Q+`-}b$26SaY$1sGxT z$N9!wRYWujTp197{Y(@Ki6G<{M(nEL-`zDXWEUih&XxxNWTaI_^aJo6E zo@_iGG5OEYc*5CXI6`goO#ZNa->?s#gxbV#(}e{TwjswH!fhUnnChqc-0>Y~@XqRY zYc(JCu$~cb>(S0PFqFz(It(f~Cwgvp5O_K6!d=J%&Tu$d39C$Yl)jpxa{#b zoM9&~NV^Fxpf5s9>}GIzw4J)ryp?gZT_N^+oB9>Rk1u}#HguZ`@dt)`$`Rr;ao@Ni z_{NQ4^&#Ru!4GkF&xYQa7FUkVX=pcXetTXEcKdvcNGD&M+nf1&NX>WRc1JJhrBEq~ zhlrx}Ib9LF`|%~%89N(7epdusw>g;)789vl!QCDX+bZ>5c;&vKaV=(QNnwyEBz@Z4vU&7+r>X(6|04!uSB(DmMR1LZ;AI^$ROVu$-N z_q-3;sCtEJkn@?lX_xk%14Ud6;>GxKh=w_r5%j$58A9A;XCSt5(dzHT#TH5;Y{Q#K zF!b49s3Pv)N~4{;rQ*2e8q?e6qk-#gGHT7KAid5oj+e)h)h;)@42=L*dgQ(j8ItoF zTVDW6M*)1wWO+SL^kLJN`xhiWkk2TF-9R0m1*=gRYE5>4WB_}=pO)XsoLU1>EP-C6B9*&ci;0e(8Dj$q~^ z6XrpRrX=DZ+Ck>f2gn$2PH^cgu7jQM<887?PyJBqZQ9x2P;%TFMwt201Sch}iRlx3 z%uOCnFE(zr_eV81vkF$q@tVy|=K^ZlBtVa(mah0imqQxa9F!*_>`kqH&ZqU%#;3h~ zw+V`F+$o?>gCY>6E&Em5^fjw}A46G5L~uE=uHgG8_rD@tVSh&B@trGz7(j7QC)ePj z4||HKlLZczqNpgIVMH9UMY$yy)z7xJFkRPBGUl|VC>$>C9@xVlq}Ld zVeuGHmBE=lJ^6uG@C3Am$^jB4B8`PuYmK^Vjw7QcZ3!5DM0#d~#Ry(s6ne}4Kz+q* zbi2DQENJjcB2}2d{|(5Xnaz|xL47|AQb8@=4Ns3N#VLw}t!QVXICxo!lE95cz+4eu zOQ5coJ)Z_yRzeyNCaFPr0oCQ=Npuo_UOP{P&W%SMKi%i^0~1W9Qf`EYs-gHAH#!;2 z0h?v5yCLR|bh_Z}w_;+P5oHU8eMjNgX3^w<+t@rQ4(kWG)@DT!q7r0f+I8n~fz>%} zSfF^DRr!QWbc#A`6RPy|!`Xe2W6*il z#M3q*ZjI_AGq9?HvLb+HVFD5*jEO2;dxTxdTs0>({y*El62hm} z7O)JC7sb6G2`Dfqg}~=d#@ZAi7v}$ z+wcjSU)gWqbIub+Or2CQ_38QH3)c3k;-~&vo0yy{q!y67`#MNlQq~^4-7F`4PESWy z5fmnD((^8;cHo?9WEsF}ZnV!Jxa9+dDb3g!k-vyNTDiQr`ThmD`Rd@tz1JWvqOh^L z&ZZp8sc4+dAg@kL0zNWqZPCKr54P!VUhxH&?At#Qd$uF$CQVG(+FzO$Xn5ez4RdN# zkvi`;g9LA);lD5bWPV-y{R9)plgn>)c8xmT{kotA5^q3n<_o{gC@6$-oD{(jx=6i!2Q!;}>&!6qiNQXDtV$mzRE z+STTPyg1<`$rObN_r0gOuB2#dPcQ;3U+hsHFn=ty+IJ>j<)zUb*fNvFEaM!(_f{+`tJ^mBHYw`pm;A<9w7$r%esMLt<2zl&iX=ND zRhMbraT+xfLvzm*6`|za3w*zSI)yTxBLJN-}MfL%h1MeR0@C>57 zc!wVbea`H_9S?7q?Jm=%{CX-5v1Tc!%W;S|t`=6A zZS1dlZMg*_^=lcpg>&&CZM8Wd3(cvzhubR{-S@ z{ate$hcxPk29s z{lxHO{|4_PAdcsXlTty+00{Ci82Op~GomM7sI5J2LEw1TaOZAQb zbqdBm+ozltwEEk9;*FL{4r&RktT)Y`4ZK}!)ri^# zlZ<6>RFBUsi>3RfeLnXt45WN!XIA7&-?tq+4PItlnci}=Eow=r``ou+7-8j9caJpt z@TF@&(QX}0mkTCTywyprCT3>DXsBCFRZy1ZE>M|slt}uRlkKm#;ElIDy|rm)8;a$R z+!$Ad2N%}}JYJ^G!1N`f)KcE=8<7vP(PfBrmIqSg`YZ^S$oG9@MH(sJ0p&O{5s z+r>ZOIEGImP@_f`m8`y~!oV4;E=NEf7t{a~y8nE}vOY@`u6?MsZYX;9JVZR$05MKV zx&HJFe18nqZZ}2GgT{{y7V$ri<-omz1cS8FdKyH6_C&hLxNK|?kllC0^%k z-_f2|1zy&A#OlZAz`rpD|0g<4gp9erly#NL&2s{(8O|k%X-3?rJ(a5a#vhUvi|uS* z6|~KDul?h0Z^E+DawfPpUlf9erVwW;c?OJy4e=C|9d~3NoAWbx>6&g$ zz^rIuPM%j@^OSu6IvHfNDGA{ItC(>6;Ih>uT5wF{ueparfrsda@yADoEEP&5A$fgJ zk*f{%{yt6OuX7xdpKuFPCH1OL2jP^y+aSC|tAGsQeyE zAje(vuV$D-tl>i4!L|I-KOS4?!)tQ@Uyj_}Zuevr_E!g{RGVh?*;jQKeg>3`>+{NT z%8j(qzpq-1ksv#V8QX+e{Vumg%L%-OU8!iUsRG}qIDj9p-w%8A*8O#N5cKu~FPI4_ zCLF?*u``4z8auqTjUZgGZif;2%UgKG7G;SvA-PJfM3w@H0-7+UGf#yK9?R(Mr(gnWA`u8@&Se3sVe< z$C>n`O4mIIF^P6;uwxW7(SZM3Gt>En!o~%=>ZqUXe1Q~|0OP-*yn)j5XZfw29n7|a z?0*DL8mGL82}Su{pY?^hr=#xC`i*F>9bG%ihYjH8!;v6c(XqM4|e+3a!D&|da<30kN*;aAze;`> zutb>BGKa>6i|0e;WIhUIfAFq9EqPguFfkV{>gLRmOil!J2}d z$s=4OX)0j|qxTZ;l3I*WfCKrYWMg2V*T5)WH1p@y7CTW3N78n1N3+a2ax`U|KS#`5 z-!hA7EIf(2Qjc&X;Z{UP)TRcKzG|j>|CUrLX;+L~Dq&-``#*8#$IgZBdx4W28MD@* z3(W^fidnlays=aGC7)tPx-ZX22R)hieP&68*1(4Nr_dcAoVYLU9{mu+dgwrzKK9%% z9&ix0&BGmASeRat37wOaMh;fObW$o2UyOYDoI4(TA@t_hb&#p72;R-qCa}W?|KwLZ zjz`bkq{}u8W|f&r9aJQpl1FA=1%THUSwhD*?zZ-P6T`doI-o|Pvw+gS{Cq?acO@-l z`or3*9hhdmG@!~v$J+K#hC*&2Z(ZtM10m0lWd=!pt_u}1t^3{Fam+3zE9ithluwVA z5noVxzxg6+?9!!&JP2?7pQ;k7KM}`~FDnH#W9y zeD};)r=V0Z@ZJ<1C%)kqiA^z&R(|#J^8+KWLpSaI_4$n+m}%h2Wv7eeF(b0+hf@15 z|LRpoT@Ks+af=N1G=jMBKn)x*soiJzsG+$+VS-;u8F}KmX6ws`NLLUHb!41B%r&gL z&tUHNvFwdBJEVuVi)QT2+OYZAo9U84r(J5LoT-hUIR;Qfx?r}0X_s8Txz2K9ilaN0 z$EQa2r%8O=X1>q1p~PNB_P2coZkY;M7~z#zr$q*i#a>Hk7qngT5#-u*mqTu0w+rU5 zK}R8L03BbY^Fi&uFZw08Z)gb&kLyT~2s+v_r@-S7>pJNIwTwqoG(B?rJVOzEq~g3U zP>+2xe%nCHd}|E<%CfayFupP|=tAa!(jHhDw(lm_!Igu)i!274m84i)gWH(0cO+$h z%reVKITE9}j0qx08TV{o(u7$%q%J)CV&P2WJDGnT{p1Af+sWfk%o`{auYCf4N#!~` z{)KeuZ)(_biAGeiY z%8(o#;Y|WT-Ces;0Qx!zp#yDC>obT#YU5UtpVlK|3e@9w(GLG4K=@~d-QAF$l z8a%nJ`Txv2Zu?nL%*ClLS$F39!^Yq-Ppmb5KK<|xHp<$t0qb;ULji;%Zbv^vavRKDn+Fc&PV$|qn$B)nZ|HUsrBeh zZ+%_-u=64?3c7C>Ob5;0AkRE4KIm%fltnF?@17`>@FxVwpH;ycUl44NI^a-njGDX^ z3SN*Sml>Vk;uVXV;uD&(&BAJMotK3#pHgeZY8p8(I)04UrGL!-6r3BP=M9hRUh5UJ zHaZ{D<2Vx4eG*V6gD}fgNX~lCMqy$Gyg9^1XiHnhar}y8lQS&$6eJYZ-ne-r8##P$ z*UsjV=;QH#eG6s#=%0I#Ig6`zhBwH1-EWu0^i}1g3&+|FEO#3j3%%u`(ooN|+s3GG zE^U0BC2BgWY`N7s%#&BWCrly&<;O-(LRI!*t!Ogm(I6sh)L|8TKiN^K&1RmD$p8c< z55Q>Rnn^XVsHrl{pl5^wmVv#y!$)WboXhbsTTs#b0%F4)j5v>c zwQXUa6t}4j5)K}tME$caJP|SG)nlgn6QwO5uiwGTuUA`9b&Lrvlp?;Gi)Wc!7}f&P zon!x{O?)qxzSdP%{@#CgjXQqHF21IiB|p#<_mC)0mKQI+W=ocL7gOYlW97xPq5k%V z-yB03@etcaBj9+&DgmXBn%tT-+M@3Ff1f*$KjKdzW@c z`=Rh%Ul23uyt{I)AfYYchcU)kzdLj{@vw#!cE?U4(!jdtZ_h*LMPp}W_M8iLy<+3W zT~;3RxVY!Q>z>DmvELv{$9mg&Vz_fYjQm}KKNAK)8?40kT~afK0cFv zN~1o$FII+Dw75z>A|~;mEmhE4=VA=SOGku(ougXYr#h%Lx+dTJIcMjTuzLmmJm-On zv4mU4BZ0m|M!H*^4;1><-avAh_331mOc_sA&r1D%sxJ%g#V-QkkPNx*`$i1hB?eu7 z_I0tIOPZKo_CIq@aFC(db^ zCG!$iUqikeeSA-VVA{48^(&YZ2UyVE$!;bDtP6JydDK^*nGt-ot5Yh@G8-?c995S&Ww z-wMELfc%ni#2B*0qRfh zX>kQrWT;ZBf9CMzb)>;RbLTYhoY^JFULMXyLb2j-=V=_&lB5>BY`i<(r?B$6G@sC# zTQ9#AnahPbGc$@jpxVcNt}+j|%;DZnMR$kYqLvw0TmFp< zml+b;k+UBLqF%&Ad#%3DgX!KE++?wq?wOap8x>R7_4C;jy9qts%GF^bE`I1rbT8&w z7k&;Ky___;CNs~<GrF)4~gizLWwHlu3NMbN^bpoXfvp^P;R;Reu1gsJ1TB z(0DUH(GvAS#=d;XC?kbuKKwBCXiP&8d#&`nwEr6-g%xaHVj8iD+vsFs4IiK-bcNKE zORa8V=m5`d3xTD4*H0QIkG*blEnMuRW>RhDAzDPJhV-6c`NqI;45$%=-6u=6uJRnA zyI_m|>dGukXeWfc-F7b4jmYL;|{qAsfR)LyN0`0`QH z*MkO98x9pC8_!0+L*`B1^>?J}o)jOw(<5&Quec~A3?Stph%chL-EZ5Ky)%Wr{2ewW zx(GoPLt_~%VWF?sj=E3}onBbCvn5logPOS%*n{xGU;Pojco8{5DEd`4Mpj!&2V8vQ zzrwu?q04RbwDcL{b48a)y=KjZHG+3MJ~Kc@c1ST2gPP9}KW4%aF7DPSxM#B(f4=sr zqlLf-8LgAMC$3%%JE$ABbt&sNsQ-5(CvyO!l*G+@P5O(g7F5xDM=$AF`yWN;9?$gq z{_!0#Hs*X9Hrt%Z`K)c`Fz2%z+njPPG@;1(I5ek1$+-w2$uZ|+QF5-7kvXPn^r>H2RpRyZJ6RN z50Ww{`M5r&<2|O=?F`#S0?`I=2q_l$%NaRD$G0ELRe^7V0G=YjL0sHz!N=AtyCe>m z&-6f&ifgykd*=yTk7nJDGj$(z|93{Y-cHsqDd96PMYI}__1WyQX6g{z+mQ@uNt*FZ zW7QB&5yXW=I%N!#1vri^$6(x!Bfc|3I5?c6t;&6rgKBpLdUO+S%OkjH5qU=4ifSSr&L++~XA?K`B$J{?VBy{0Ms(p#qszN`J}t1AFJS1;F3oRH=q>_la0 z{&QiRG8G}+5~wL@9=h=ku%Rz)?>?cK=r^RfJ;+PTl+-7MbPu)kH=k2_FeKh8??r-> zaLK}*N(_0%-AQG(ePOAceLZv%wT&B;8F3SbN9wN*i>u}1XsrsIbnH#!B+a?-Di zf609DyGHL9-B!y{Ivo!97d6}-vQEW4m}_(6NQ;J!rJH7v(YtnuYDC|l=|J48n>DU`6PrIZbIWVueA6wqOAv3eAJT8*f6tuVFL zl4@ulAB%LAa8CrXQy|CRpll*6Hq^iWwAq(W=2Zl4i`@jW;|I61Tt3jlPo`{*?;s!} zb@xoje2F4;HQ2Yv$@6k_)`+k}W*g}DQi4;yz{r-v!7C)dY)Eq}=e=^%Ede)G1Mb9P z#87hed4k+(HSQWL6FJl{PlCV7te5;qE{H)*bFgdge9&3UYatXeo~>oa?3)J(zG^_H zX8=)3O~I|SU-{;$x&nqiaH0=Ej;_0`5bfVI&E7UISQr)d(sa!DMd!G-)LEaVfdA39 z`-phoaR`H?`$!4O7)Nd{f406EVd{)HKz@@Mk17-A72|2;e(xxPqgFvJ$bJV&vyv#{upi@Cv)em8aSR4?MM&R%FM! z>~Qon&G1YY$1c*`4Fh;HiUoe<7!H!IE2SI{`Zq7=Lqci#Ralr=6QpO$B4@yngKmPv z@JjkDz@L)fC)rx=MSgyE0{YvQE=~qq5^F8b&5(NQ&#a|@G(9r50J_E5sdhUH>jrBR zQBFyex9?VZ4C_bc1y_5AAYXI$oPmDHHm(Lsnh~$gUdA7&Hw&(dhLnd54w}d?(ooW- zC4 z!edV;eiCM8W`@}NpS_E!=Vo@-27&Rs98z=(gEv)ewE=WeohQ1$OTh)MH_=P#v&I%P zRmfvR5dn6>zi2+J_cVWg>Rq{5K<>{#bSPNQi)RYx>_eyosjCaBYjT*+!-g&rTx0A@ zO^)mhOp$b+b#@1;9hC-8L%nQfGgfi3v4xy#3?_4m=nhW6W=aYcsP{Pl z+#d)?pc(f8b{UR(4v=P7pF%N>Q$`6g`l`_c<4B|oE9vhv?p+MJQq4>Z7JaV`gi7zB zt^7Ksy1-Jm*;0Qg#c&+s(gCax0P|6r=Cy%$au=kl9kCrHR;n*Gb2(1`-Hq5(f=^*$ zX>D}_BVONl`-&Mzz%rq7F3tH7^Xh;aojV-?KPq~Wz57Iuh}1tm<^}l>wj6t`fAOF2 z^5)~^?`~|pljBVJ#uxf$H01)>XKH}|ICR`qHN)^mD?{r?jyO-|mUP2hZNbsDK&U$Xp#_++4fUb*HN!C_fa#}?gww0fI1xwxLjn-w4;J1UeXKy zGC=+X=bDRu%Kq)W{QSp9R2pC<6>u*(iq!%~S;zSdi+0tdVCKQGygEJ7M%(G)pDbVU z`x%Uwrr}=@FJC$l3voaRQoDD*1RJVNUN`F~3$Q1)AyUZEZ15>NNz=UueSM@Yg7m($Jr zm#^eXlX>BX0iKL%XVv5jF!vf*fxM8pZ|_YZC$%8}h5zrKIr(k0jPP8~03eP{=9Zt& zhYF_VW7Yf#@fYPZ`iG7)?U1j&BLNirJ>BUkO+QNOZjkx9KbxWX--S!sxP@&7aWo}gviddq zz4Ef6$_hOU8rsMMR2-O?6a0uHh~5EtB^{0a;TsxHwiUhlmd}!e*m?c@xO}3=N4zB= zy^guG4XYtrgzHHUwU1QpSl4qdmQ2GH3;XR4j@C7WO^V|7}KzT z9bocx&{wMhxLAc)<)Fxa89wNqDPHyw9T|~s`EgY=6oTE+@4ZdA?-I+Gsu0o8{jFVV zcX}~hez%X|Lcep5V0Tk+ZDE<+ zp1fykrUAZ7yG>k)AbCjE5~R+8CsqJ&6t~11H{!$(jF!VvqLdaPi3($!K6eN=iDw%( zWHg^&lqsroBcFlRy=$-^iSD^^xpZ_6*SYsN64yk8TTiV5B+=N9n(oD(h~K>BUg4}3 zA4CDH?XRR=yzqC;l(Yh^|7=**BcL8p*%RVCN8*#>hk#?b6!|R$k-GR^1oEFgaC*YQ zsfRn_V-2%|juol6{IMD>AlvBDfxa)rmzLI1c?pZ}T1}{h+I_V}z+YEwoXfsgvrGf5 z7@GjG>w|a{ZX-!$1C4 zAbYfOE~_fBJ2594$-e%0*x1DE_=@Mh6q(dpt=NC?5`WOctqzqxkvP9FIBt zl4G4OIvJi$r$59SJQ_^XRhCd_Xo}Xalb0b6Dz>AZ-#jRRr*CxlVR$8!Fg)vE_#|YdgQgT|>n^!NXwl(B;#VZ^Aouq$-a^J9*j0&OE%P~csxy0-n9b|6 ztpW@V`|UI~PFatZ{=^f1{O#r1qg2Pj^u(H!$P~#jgay*izgn%1f5MVaRt2iGbvCJw zWPom=Oo}wU%2?j5hixfp?11NT?;7)#t2v$Lk$G}0QRLa?E&At&M?0XO2b8W4-FE%6 zIIb+JuFZ%T%@C7iu2+k{`{Pbt@Sb#<(~X2k5QtdH3UG^4a<8Pi zE{{Tax&c|zaVBv#KqWvLriUNL-jOw_gwWhUJAcu*XI&pOrNYqyQr&|{CZ|ku`0xGHC;Gd9iJHCmD)D{+4X>LIGHFl z6)!xD@lmUBe=}P3#o>S8GrS$#Zn;{oiT4PJk;87&))w6Z>#>~B_aJVDd8IneoDI?t z04a_{n?q1yVkaH?X3OWHnsW;#<0vg%rgCIFgkK|w1pe^4$sBE%PFg@BpP4&C*zFcx zRr{Mm7}Tq;4<3iJeZP0i2kBuO$eb647*FVddD$Q26ykh)((@eV5Y|N#FGe^Uj{j1? zcb}%QY{mkUZh<_sje*8{`8&agezy6$Ib#h$Uelg<}VOSVA0}AaZ4?WK&J{PPt zTFNaF9AWQY=_Zaz09JRc#L3S63Lsuw@1<O;6 z^3B)v2BvV{;A6AMXt+!H+|$)m>tV&X8~{CLedg@6b3Z-c{ZztSNeVZlgYax_=BgqF zJ9U=Y?EHYcbl8qi;EFR&RFaN+priy9?rnOPB{3gz*IdR-w4-On=fqTusmeEJ`3G;- z0dBJS_Yo=QpaG(c^Wi&eq*Vf9F)7GCcz3W7EE)-f>SVI4rwZOPeP=$sxTjRs`AETc z8U;Woy=Tu5=!bvE*(5RQExw>90hbDHD=h|VYncK=`^95Z?6cEDz>c>Hd8DCqSFuCsq#zGC0B1f)dkTn1JPA&p0xeXoT-4Zoqhk-kWmMEkx6JpJd(OfjwJ zD3j~vuto3N13Q7Y@32q}lnD^3*IN}QW#KHDjjU2jYMivHUk4A3f8PRuUJiuH`lcan z(zddXstg@Zr?$ram8<6jFy=WI4=-j{Yfdl?`Gapcb{960Y>edi)K#-a#Ym<8>{ore z21wi%iaqq$Bc$tiZ@56t+<)Nnb(Xy+9PC}O8hs@F+R8;*Q2B5{1IdH7M8w2xtwh;N zz}r?>_im*NuCE-m`ERkd7}6qd$_Gr@v>Gw(jf@0d zAYytdJBMWn#@ufwbFNfOm^B>%OK+5q#ueNK#i zbvNZ@&v2tLky?GUFyOytnnaXogNJTV0s_R&J0-VT2R<~=j$ooRju!{Cg>*^tw z7;bKE``X2RAzA*=v0%PRsjO-AOt)#6KdQSHBnvv~XRr;TG_pr7;iRxv*;8f1(@=9t z(D~*&&tU9dmimkNEWNE-b~5^_OyS>T9|*&gelUe@WRr(O$=1cmc9v7$T6vj#pv>p1 zjM1U|(Nf-~H96}v9W9Jr(%NhaT{h>HO{dTx(%ljzL2>(fz{4gAiAGfC8y-9Gn1sIc zZeWnUYi7*haX%Umk#$W~Y7G}q!4+)m3Az~vHtsuF6j5XLi+vJkcoCz5tGX`Pkv~^x z@Z+$}!<2o8Jn9HV^2L4rOepSPgV%c+nN-hQM^m8>o0Pmk7t7qDZwG7G(84>hB7f%@ zB^9^W>xI4oH!317@z-iRA5!5`fRnRzU|v2)5WJ56HpiJ;s}fC9;?XUWybk{h3U3fv z0h$HLzatw*Fea#O*NfStK%SbVFap1ucZNgVN+)N)juRUEzfomBe+JCRyH3q0I$D-? zIC?KOe_(F^aLE6v?lJ3}uUA3dqQo)2Xx!3&Kdb@m9>`ZUdjUDSKxf ztEy`LufXLNqdojq*7I{Isou6JHl=MI6Z=2BZ^?{1-;5|+VqYmq)2K>5x8ezeD}J^N zMHO0+{nL**Pe}A)h_ov>pCPT15-y#{q3&u5zr|x^L7=>9P7Wl3gp#|2tuV?)#ViBJ zewd=F4j$|K8DElaVgRWbU(h~7w344G=_{-cN6~5b3so=aMn_i^7UcZ2$pa*%A+D>8 zEuU}SPSz5j3D^}&CmF83mkhHLNak>sGA$Gzi4Acl+{qwwl#sZi4@Zqf6jiRA9(Kc& z7(WxzsXql%TPt4VJEv3k1*B)fp8}uFL9My8t!%v-)AlfBTEEl4-_?RY6oT&rIdhOS z9tgj;slGA z!8VfNs+DzPu(wGrEu?W#ELVY{zhzY-Y$Vf6{np=7tfOcBx_Cl^23V$5y9nE$;C0nX z)%kNnRR#=qJ-u6hBc14M^VH$Y8BOE6ra$dZ{e@+Q%?!vWShaG-(Pe~@W_h(i-)50! z#YYYg&vVA%VC=epMq=PJi|rWhS|!5AZ$9w~@(uvavyqhqgkHpAV<3(uKJ&~c&fb$* zyIHbXwo|~#R~)-ptsEu&g%(~p99z`8y0s<9FmpH*|&aBm?XQ#laybPlPEG zunoy2NNeY-aqrKH>&qG73cU?$4)A~JT=%e~rrVScD@{N(a4OAq~yf#{EN z&0`kbynam)F~yg1JTpzK!;6e}r**Bt^c|ADUWCUhwaafBBlz9rhp@ZLjZtXxrWIFz ze_Ja%nxV3uNhl^Tpc0Vwg(4F~zgi48*lzNO4vSzaEb7g!z#1)QWZR5H1sTSk^l{>+ zf=TVxyItbEQ@`Z1D@8+x6li)3!}j@0(utt*AqtqSKv{sTU+soOh5Zh=`C^SUkf%J7 zj)(~V{uqllkMie#E-iY_P;K!Q5@5^bk3 zvE4x6mH_nK74b~#2;^XK@w=9W(;~oG&z?f7`-A_v4by7Ci(F--dJg~eAQ7ShU#vIK z$Ip*HMzMgdkQ?r-{3fgal1`j!Zo*fjry(2FqN|+e?wRpJ*K(bpx|3xuV6hfh?peFRu@J#A_!Vn(p_f490yOeQQ}FBl z++aQtH2E4Q4@rbC>>m1R`ZL1NQAiql8Oq>Vm75vgP;Y| zL#@7whRg*`bROcn zsW?~-8kIs7OcND)&q*Bv-f>Fz>Pq2Ya}yS%x}a(VlUDfs=J(fKW%N}7!_N{)w{p}fxS6ld2KyMfj-C- zo$vTE#KtfAx#jd;Ov}|3OK1D~tB*AU%d+wPinV1o2|+2}n+=@Q4Qlro^brUjy{^WS0c`I(a|~z^^2IA!n26>)X7bMhCU1@` zL4$pggN^>WEhHFR(Nygg5F2pU?0XoTYy!U^OQ%VV&UxYU@aCc?hJ5H|8RRB8Lj95m$sO+iVPrB8> zvH52YIBFTs8vSsP@RHgb{KwnFJYgc8Xz15!j6TatGSjO2Q{P^ghhi@opB_Sk2-O0f zZuYQW4EEaDXsHNJ23xYO#Y-~BBRX#e%@1(!Z;ooz;)&TM1=K02m1YXadvJ7K$(|j? zT{o~`g|Eb0-MbqXO%l$jychLW7k99xJKLf0p^#~xoHy~e^p^GLE_46+v4gx(VZo-l zZZp$=l0Ydr}C2>p3eEiD&$u$*}(hiw5hZM;YV*CiRFeY*d4YWJ)-`o z>R2V&dG-x~zdjZzKT9VBXe!N~Q^D6ccS&$V_sMj&++bfG~H?mF)dQL*%&w*OdZ%Z#?ibQp*lB_;54z7iU6` zYR=G_hfuD#w#teIx3`S;dZITfff)1fILrIni}Q?Ce9zqufzgqbm(uli@fzSlW8Da2243ydw7OnnOF2j4SJ; zT6P^dE5*dGEW;>w1Ar&OfgoB2?DJud@=)EOb+orODD`-)wUc=BurnVi6n z!roI}QyITG=_)*#p2kF|r%khRJ09s@x)g>GXqhD1DV>z!g=6l zGDBB@|88INwYyZe?{S=Bk^Lt_!*e`X#GKIaDG-zWJbt%sU2;-Rl=Q8`q`ZGf6?E+o z3TKgavL}ORq#efKzXXalzWB_9TkyNWa~TyxGwWVwcEF%@bf#>RfS-@acO{4+22iE!FcJ-K@XAKUbD|#KraEGSp7* zXJY>&H-(s7w202h6n*Bfv5~fxCc*Xq(%EQ_>Bprc>3Mr=sh39dPIFtL;II% zHBKPz>L3Dxz1)mK zHY}hyg!_FH_oxoLQI8k#89c5|^#LU2icO@KwWQT2qT-VK&jD?Kf^JGBrS(h2*;~_U z>8|2HbwE*{l%t(C(TVJvR}=~32~osOnx#8Iaep1EBZj?*y~x7BD`A#zHM%k#Y1t!- zK8uf}PEQRp9Chd$oM)}Np$2rq>jholkWkP<&TcV3Xd-2>Hpt#7)tF!%e?f3qI`0>E zYD-Bdhe4Nf*F8e?zH$Uw_2mQ+24v%^Sph&@#Vxbk{k2lsgWq~MSO;f6#BA>z>OVf-9W^o=Y zV@7R12~e+CX02^_1mCu96qk>czf292bu1RU;Y>X3f4;EIvAU(mUeUhw^Hs>U4G+&R z8y6I7G_Y=auGM@@{ug*#!USvpIK$JovBqObQ__$lvvPX-l$M1W(N<2iS5E6O8-1zt zy>U)gN1tOVEGLaqoSM_(&wLV+pnp4loQjT8kCCU2%l}6HtNdF9Y74NV1PqGAkI#N5~y9CwPlVS?Y46>DbtR9doYyP^odt@59=T-`om5U!4@?xX1DGB zP{=aXfgpw3GQ)7g1Jf=Cx8N+UUV{L*7hX5+s@e^!M7SkP=_Tr_cK!(OeocO36#r4i z&}v%ef@(tR9*gO*m|yMZ?Dlo!OQ|_3FGxTdAn8Z-3dPFbpqYMR^-wZhk_dsCLdw@A zqqlYC55{@YR7C;_1(u_3rRVq7`kH?-_o~+qS+;$+j%Xy;>=qYZ9WK=Izn9YvH;!41 zEIU{WyZG#GGPv2T>{v_LHF@2(y*W5Fsk1597fduTz&#AI*E5Ue&y2QI)sWg($MH|; z9c-6#WxTL{zqc*x!)s$RBa-A~VpHpI%&H2-S3XV+wWJ-~Y$_4$hUFf(lqj@XFq|I~ z1k8H*ha`S!$8d8fZG}{MwOgFD?b*^ePs_g8lZDizbJGTY9Rh%T!K0!$6eZAk8jSqR z`QcnNmp8O5=lPzLg~r#-al3Oq0=|Biv)r;{HK?_bR^zQyx(c$1#v0I1Cj0obHN!1@hKxa-j1?eqON$VJS(|@>8-T2H360QY8hNs0K<;uKS&RNKmKesG6nMeRg}{ z{ot&%eO`<@y0tMFvgf1_G}1+0x$E^W3{j<5Gb`-^2#`C!!tp+2aFE=dO<}wXpyzHv z1sJ9l>%%zZrtVe3p#zBQ=fOPJ zjQ^z?kJcWn`;mMrUWX^&>Ld10n*ip?YX*g-fPCgYAjbvyc4pqodl1W~q-S0iY2LUu z)#ePJoAYW*L0cSYDC(8ws(y_Jp$dxz=-6|D5rb8l65+*^Q6dw zIw9=+$%6x_g+&FgM_&%c`%83<6Or)%}60V#m8oJ)`&dfRXlbEPc< zR*ryPhM4Xa8{e=e!~GJ!?pG^=$09Pa3NO5l6MczBN`qlWQIjd7)F1cunD}$e(uwQC zV$;}k{c!WEqi^0z?@}tYlZT}*ekxE^Jvg$0yi8WlPx2DeY_E3EDvA|mC36XU@``TA z6Js0|Mc2>lzB;ldk@FqQ3b3GAj92^KJqww_t?jK$=8Bul9%<|P`xBm7)>WZVhvdQe z^?6atWY<9}S)OY5p(88Vs+5s(S};=~IRQSW%D6!0U1+BzzbjfjA*5f9XlD{Ynvyat*|5+Hn2iUnaW8qtU<-u0cutq_T~nopE?03Bj7 zoFHW4`qf-cJxhhC9GVa3`a@2TlREEE3%nTMVf8MWPA;+LeJAwS7my`gsq(mCt6@;R z^P|Hs5m_0(4vKS_7JT$dLC=y6gPA6xPjx*x%QD5At9AFDP&w=g2FMf80>0;-f+$GO zP4xvYTDJF=QRT@;4m^E1yu556MX9Ko!h%!%m(`2CfC?&#L|f;_A=#E0h59)ADCpFH zhde;fVH!1PsUT{3Uru}qh?X7FcRpD{Dh(^;E93(RgUY136a3|I2^V;|Gfz1}3cL`qq;rms&9=qNlhxDzqjsXl%^60j){sf&Q4 zpIi=B#9$WJPFl_L=<@;!Wn7{=knTP&nhCx%ep0}B#4g8$W14(lELDg{2aKis`MEYomLQE0dP^_#10Sy0Whcw|WfgskhYV`j~8v9cgaC_B6EuF&B7Q(oY{P4 z=vFcj2<;2iWVGT#gM}$8SGFF>R_(Y={|7oH1WFnCMcE;PHZHT9{Q<|v1-?u?iz$7* z{XEb#A3=WoBTymkEG&bI^JSn&nofGUaUkE4P08$k9Xg?+U9=V`2eL-!+U8& z_2>UPuwf;6t$FVmZmORSESq!Ynuf{Lt{izkg*VlH-sc~NYU6JV&}%AF*imyuzg$Yh zQtMvX?}=ABythMU;B>gkK0LeiWYKR0JBSk|K%_WM0>^v zsB+nc_C9&pq3JvJqfB$Yo9mwJx=c3MKc)U)Z!{FhD}Ebn%o{pVb}g#HOKlJ~`L+3u z;LR0_NTWjYMV;(JJ*CDRiCt5Y~8n_XPaHr}vM#<1qyQ*gDU;S&TmWp!`rM zW9unENJEudf1EV9(4X*oOswwBdIX_hwG^;*YR)uGKlmv&WFv1mhQo4perYB#2R)oL z7(ZCIL_)Cu*_ze@hEDXPOGF(z+J7PRXw9#{m#n~bD^1*aw?Di0nNnwWZ!@L2DUF;) zkF(NK+Y68Kr1`HcZ?9Jg5^dE3=dpKBKR(kGwRE7*$5ruHNdwl|Q8Vi-0Ga!wlV4d> ziT`svF~94s7Okit+Vin#>$kkJ*(9mB7=-HMw@^Ayqfz(#1UEMXdzN#Vaa54CWAv4` zB3Dk6udo+$i?4#SHHnv+0OQ#U|CRuFf8jxUU-jg~(sJhQRQkkdJE&7vZTjO$s@Fv1 zxuU1;Du?X&l~nDK$a#`N3s^q6kXgl#sEly$kP;~DSo*l&`U=l&Y|~rVZ#v~Hv#uv& zi_ON%!6hx=&Tqcq#h_okP#gSQY`hf~cH9c<=VDQt_pAjp&DO1m(+d0VKZ= zCKtfkW3ol5wX^z}iU*({tT!;rZ8+{NmA3#T_xC?goXIrL+r}Vh`oY^uD$NjZ{hiSdP_LTZ61fxu{>K}8nuO|xhzB${?kFVPriz)X)EX<3}xJ*HcnlKx3w zmPR~lXx!?LxePkBbIIbqu##*R9~-4VeFpgLH*vZ@YW^|nowZFAKs@aHiCC5WoUd0P zyc+*1B9HScr;lb4#DyI6UP3vI*JVi$w-JbP265r4fYiAuz$9~qIu(e#Xg%dJLzShs35OTxyvR+)8p6-d?o#?z$9Le%Ls>ftqaSCtpe{E63 z8RqHZ9yx)paELW|#$HA3c++$a#zgf(n+i#~4m%u#T&T$+HL@74zs{Cy?F>EM(Z44H zB5)98?g5TJqFnfs3G61Nd?kMoC50VVKUnpEvTzXwX}n;^S$d_kP<@zB$ORKzOV}Xc zGC6Z-ph2{E+Uhn5;5-IUo_dceP&hW`{(3e#`w{4GO>IWTC3;xvnKw>k0#o4>VE0A< z=cx=H^j?28O=r?fSPljHL-p5BCQ_kO|8+9se*oNOJz_!D!d%tAYT6tu7>VB6CH-|C zSLuxaBEzNeisBtF-rdS$1pTtlK^vzniy>r;KX4i5&5ZaM9?g?E&(ux+x!#`P0~mB) zm&^8kXvH;Zj>whb$+$+)iXhTf5}DcOJ|0aUxQ&l+dIO?K^(`9mfTB@No)ex@?jP$)|=&B3D&vCY##!2w{TGA0I;+|guIHjkbESE6q5Fv)&=juJU+=75C+!n6;sYhWW|5QrCLQfG z@2;t_;&(^U1me|?w|4LC=I$0m?Hx*P8~*!t(^Ll%CNlisv)Aj(M1hA%lQ1=xW~}DC zZo0;qheXB=#Z&1JjGN=01W)nmo%j2DiK!MB!#W~U6=aee-6Z$oTQM!-#!lBu%``$U z5+=HGSA<9k_DyqygZzJsYEKFdY8gCM z*XrVji0{4>jCwXZD;V+yDR{1XS4~saw?%xnrq;E^e!MT(X+~f090-WN{xX9JnhVbM zsID3B%ln^m$iDKD;5>kmy{KmFy)0EZQpj$iJpP+qpT2eYb4FY``_ND%9)cq(((U`3 zT_D&Cj=TqeWo#4%oT=CUv%X++IkUJz8qn)7FWi5G%gE|9f1dCbtS7gA_Q%@ID3Uem zbP>-Z@7JV*N`uA=P+!og1=59<{QCK)NV6QD$JiWbG0b1sDKg4Vmx7dD7C%cwso zSt2QK<{Vz-$B^E%8}-CwKJpPQz7~@h=PiPXYX(oy))s@-tJJImv#`c3s*~3w)n0A$ zq`$fMuQA?& zqLOn_@*qy+U&qm#G5bdasrXZrGtZ8MnJ;-w=UxmHf&TKrPgNet$D|zfUbI4*#`yi7 zoYp`d3qq}5;zPcBiL^mk^3XC_oCUiAYgW9@D4LR56GUdpfPv%Y|*r2sU- z@cSXzOQ9;7V^J8>A;Y)+N(thPY~n6!P$SAA){rO&$f#X$bCAoFre_y$;4Q3WwwP0BmTdmU*7f&Pi?@{KAM(T&KBeyZSN1_Y zBua*^8OFZXI6G~k&i1b*&sB>r(t@m=uEi>} zJyRrc(9PZiP7QY8^%0s@gf~}TB<#PEQ8KQ<8qF@>s2en* zvop+fMVM-M=w%#pTPXW^_{I>h5#5$D^@jP0FWD@O^CjBY_8kPKn@IiGP{?Losdq3+ zvG;tLa|+5*6Qm+|z-4lasg^xk2wYj!f#A8+VwtH#(MldH=K0puvsqkVDNcQ!^r)RN zUH?S7Cfb1)mPkJ#P1ga@rOSL#s4iDj?-i7u* z$;)g+@SZi9sN5Y0r>W9NzHhdqh1x_pYSbm++MJKoj00O~KfPd; z%|va@rW6Z3-5wvb~u&EJp)UZ>1E1Q8kBaoPtrwLRk(&6iF&p4HO4K z-Xf$K;siu$hA1MS`-CC(5-(v0pWF~JCy9_6UEg#}61|`TI^#h;u1b(={(KW)0M3>P z8tSP)`%8~|Wgl|+jgb;jNl*|tj;}0gb86enn#V#sDOe#*8vM5z?=3AR@tNN@ z5|mhQ#{eC~UdZnNF@dHpqAknh1*Pk_O__@G74sNu6VnZYuBhVp=hoQ65;gmDtLBk> z+*z=l{@lOnWgSR3Ql)zD;49L-Y*bkbSp!8Y@E`W|NIo<5+YsW+Y_sjlV4F8C3$ozf z>A-Woxxwk?cVMsS5Fw%!td#7o8e_cQtgo6MD9tsVx!*<683PW%T}>l;EgN5OBVWUm#Y72*1?ulzUWP@i%d(rzYX3>3Ukx# zXO9Onp&BxWS%&2qO%-!S4jOY&^Gr~gv2~lT=Uw08w|=1#(_8?rznQ-Ga2&huRxZti zvws)Xn(E5N%lvrwN9DoZ0R^`|#PkWJ`K zsj-blROo98UMfa{{nQh_>%Tm*=6Gw9h43@+PL0W2nNuW};KeDwvBjYbv%53PAsF6k zuXof$cXByqzJLm`H{~xD{DFJr%sY3!aAq=jKXv$)=ra53R}9?1DiBv*b{nZ%$EDUL zY@(&0l=)csvUh048~NB*#*42%kLQG( zT>xgJC@6a&|D0<&P#H3BZM8kMGd#@s?gLYp7e4)8N=(515fWoASs=lNXJc1qqK5jr z)#tr1{X^Zc2RK)mJ<)-XN79+a>~DCginIbFmxx(F=-&#~4x5i`E+N#Mn|pfJCU>Kh zW_(Sx=;7}RAH8*BAjGINlo90N#dOqETXS2I*EHo}^TQiq_ftN^ zJ^X{i$ezJ@`kkC>-B4Hc|L4{NAoTOm8umCZFARIsNoz0qjQadGYrCMo zYK+-_;0aWbV_|=b>&)2mR$C6EZ>pky&x<$aN1(<_lVBwR*%89JHafj`PH{(+BTDN> z^m&a>n+$M>sEf~xq!!l7G2GDeuMVa)!sNsSaiGe=Aj)DzMzJv8ya*GKAM_cP$bS!hZs~-hG1QG3%~e70+iV zHtp6Gfem*HWjMY#u5-Ij+K>1O$vc)2^Pv{e2PB?ppa29h_|g-s-Xi zX@&d16wwZxn;MM4jujOSTZ#ewnNYLjhf?Hv6M3_wIX9!eRhDv*Hk1r;my%a`G!knx9s{Sdrl#7t zZgBZ2$L)gw)f_1Mdc^BBB~j}MO{1d3q)o4vW1l&apFDY)@RH;v6EeZ*2i z9l&2cU^mUD(!%Yl_Q3Sz3XB%eZU4aNsx9mq(LssXy4_i`g%(8 zC;74bY#JXwIhm{$mA&{OY@qcT?8XFDUm{xOg7WWes(l*1B}~WHZ(4?BtrIU6t4St> zfIX}oz+u$8Ccq0w4Of)8v8LgzR|4}X4`ALG>h(-Bjf#r4Wj0a@`E5 zkD##Kyb?HIU_i`X2t3ubp3O4a1Acqc!WeExbu(!U3snqRW-cjIb?x2|ajCXPb)xPZ zlsHzGsiE^`+}o?LqPhWFUwFjQ;_4`Pv$-pD_jVu+Gr$I%l6HHXCqOHjHXWBvSDY3Z zoY}obKiF-hMSSje?cUww3!BMC2ju`?Je(RDIR-1?swzdnzachR4Y|-1I#BDxA?kGt zAM6)8G-brNL6_}V*TQ=F7$9pS92@9{X8=78#(;3XiYYpvX`!@Rmnn z0Tvi2T{$4c0STHm?*AppFa-H)SF2UxTa;W(_BSpd z;ykUHkq?1x{Ng5aT#4=s*M5f?FP5q(7lxv2Q~ z*yk#KYQF}L>MCzgB5raQ*IA*qw*g;I6-a2l;xm*|)Dcs&)ywksIW;YT6l z5W6*lY@uJkpL{W@c*V1sOGFB!9n__v8|}i-JHI>~&D`^?wO$$uk-A%+;?IN)mU4vF$Q|Y$76f2JwCW=TR})Ay zJP>wRparv06eMOOVB#{e>NO-ijlFPBW|5lTUPu%v)q~1yt~Hy)tRyteNVO!a(tKwJ zOP?9Q93unT%xxNJXQWQtZjzGA|I6%;z2gY}--|; z|13KK3v6s^z9;NAAW!-H2=tA^!}pdRHNf*)5Emz{+zSq~g8!5Ut97Q=L1xmi;>1e1 zu|#9=Y2pYHQocw0^sRH>2I(D+hi4=J+smVJyQ5o?DF{V z?9?oDyub;PfLDh56}je}IA`|#c=BrFIzUKJ2L(zUO0d+6UuzXI>523Yz|c3yO1k=f z>uB2tcy%q1mbts5pa>W@LKxU(Ft_f1;y{nk_6&F~4@2<^1KWWgoWR;>gTdg}-bMq> zb5TbQp%}%Kf0z2(FD8+kP2X|CPPEZcg4=Y1=o6@JKj#SaaupjCFYM}6rrhpgA1^T9 zl@LFJWBBcBjB)#Ptc2}LH3>XUx)*Jy+%)7FCs9U>F{xwxI`o7#mEE3G#d%p9e}O@+YtEdIO(KxU`EULBSD7nz5P`cFOS<3(zy@u> zI+L`Ezy_C;2z1*hh2Kl!6jRV8QUUdx7)GlQJ#4@z-0>2a5zq_>-jrFodqNSaQKnp3 z#ms701mxv;Z@LAQ&Q?5m;Z39xQ$*?k9OK}5e`Ro)Q-}e?us_LV8)XR z;8K4J4=rR{F5pip*}skbK!Xj#1A*Zr0!PY&(+d+SW>raBAnRut6c#7YJ2R<%He~t^ zBL={6tzL5y&jNdm;e<8CUP#9lxXI>iWg8b^Ga$A5y>Y%N-|R?PB*TnLzaeCHAT)&p zBXb=29b0w)vafea5rT}y>BHD$GjeV6Q84k4L9uY&fKi^5Ep*~vEkTltZFT3i7*2DF z{Q5|hZheqfJflGtkO9G7hU7cv)nmzjn7$SjHyH-qgc`y}w;ZQo#@|XPelmlMoik8P zXOP=sf}Bn>Mze(IUv`)3>Swu8Ks=dIRHf|cXRbg$~elyVROTddO z$FteWZH!A$wkt5jY_rG1A&d_^-&Kd`6#8#eb+LxnlI;3UcGd5c+cg$5()CyXh(Ba>YyL(PfrC zRe9dXqv>3m*~fH)IX->!B<+1vBNA}e0p(tBQ~%;8ETmO<(RCFt*tNV><%M*=+V^l4 z*0JIb!r&F^{gXU{pc_N|7%E#i)%`pEk7e7p_5nenWE*js_25IIljo{;-#sncJGuzU zjurl%uCQW<=B^^N`2@m$_h|P_);A?Oy*r;gZUqtO3t=|uVP;&cZwfBM&0o3QzjD*W zzWe@@1>-?Ho&lB~&|PdjE>)?-m8{>l!s5Dr!Uw=k$k|-FNqa(DC+Pr3Q-P))L#WlBIG|FJ;(SLZs%- zj=U4`+Pj9B?7oGxv3tOdDVP1@f91Zu09@fH?VHazrV{;t$tGok78@WWR?A`uo||rA zS?prY*=MYt3~8H{X!cGBpku}z?5%Kn?17&iwsWfpg!rKdD_4*!pu;c!(OsJVY|z6* zSFh>p=#x<<@g>$LU79#9E`_e*?|YBBwm0|1e|0s}KQVUiry~=2E&avVJ%iUUY~+I@ zDiSxmyi@x@R^a(@x-yM z;(vk76*WM~`j5`yA3p`m4EAh1_iLj3W%CJaaQ*h#?JwBccaahH+e5>I)vvDTV)4yWpgXHKC1QS!d5P3BZ72q3w|fUSjYiTlpGJ}kjt3OZYrwwpfJ9W zZ|~}v|M=V@FSE=`ZLura!lo}TtDg-TZk1MDJN25F55P6lK8nI9Reen9$25&gXJ(va zgtg;p-Bs`9)l6XR5fN24zdWsrD2}&J^n35&he};hmvHj1cO}?ZdE3J*q^#}t-9@X$ zBXln;MXa63?PJ-)FOalb?Wc^Vyo;^#lp7pz%0xTtz34drn{=SL)!)Oe-w#wAZ&yl) zQu_;UH$ZU8ZCD^k{FS6*2fm~|h<~DZ6gf9g1ogA4naBoiI@Ts#wfmr{=Hy}5D4~GZ zU0u*xf<1p?3g1!`Z-*{aW9`iU$Ip>4w0oi@Qx)lrwgXy~I#=p;NF>KiW9{BObdYi$Cs~U1RB#}G8_F(3+SuRC2;isHDuB`Wk$JzoE%u6f7(O^%a57iR< zzZQru@cW1ukPT&gShdDMVra-!p_C4`99Np7;Il7n&jl&Ue@=-~3mjwQ5G~lxi2+0N zjk_}Nk}A+V*bj``F7lK+q5^@ta49E2P3N7kD2%7(!^d6PvfY|cb#NhT)N`)Z@qX(| z&{FUhUNkn^Pz(#Y8{b@ZO@TXE1c4icxOIvhSb%N)A`G#@lPrYPlqQ}ucnxGI!(s0k z6gIzG+<%{bvSJE#UH!kr?cWn`DmawD6J1JD9h}b=fuK?iop_Ik!XKtW)SktT-`*BD z9c4T%=KP5~Onr@%LCjKl)n@A#8M(Jr>Utc5`XkfRn+}>dogf%+eHM%P2e3i=V9+K* zHMy^KY&tJjDnZ>GKV$u1KWgtOkXaT6UCSCx!Gl-Wl zPCzDo)EX~&X_HB3Cp*|uFEE8w&Kr%*q4OoXR-O4@{VZMzCDqCSJ0E`iarkt{=#{NN z2)xco82Qujhc9?2^=`f9F0DyN+hgW?QY+ep&%d!9F|)^>c&<&&f*aQcuhmw8CN-R| zJRIv4vwzi8s9&mE^`eoYDFD`OH*U_RSCE*SVVkWNe9hIV62TJxqv0>?YImtK5;nJY zHFqL~Ze5F4D<_t%&RrylTZL>n{M7#Wt|_?!aJNyxv?m;T1X_*ZS1u1QXg7(0{H)%a z0||oalHP&Q2_2W>FW+G0lxt@#)WPRtVVj#e-~}V?-bgU1sTH!8vG_HQvdi$JiYs42 z&h7IkaOL7euwJ7|7b|T|44J%Mn}PpoEZMD0d+>1z__XN?7VvR$ta;EumOnX7wZ9g_ zpWdK^d7rhmF#DAc&lqho#I(1sOSY^WNyD4A#Sol+l73w zmfu&SlBthis#rI;*1I(J4xh@b|F-iJXDS4~o?JBc-!RO0IXSh!S73W=1OXG9Bh&zR zg$h#B&RXM_A(#zzx^cZx7aE!svNM_}@c)(#hBb5keA5;ha=w2%@9HRT z(9VSpOc;=lc4nZHd@3@r;KW}gU4V?-p9p4qJ9UOZPC;!4Dqs1EidGB^K}-bsbq-3UW-;nJ+Y5Ra|5=0~`D~T{K02qs$(sdO zeK)UPC0h&1c_gP5NFwxRdy_awOMw~w<;B=M3un7}^BXhC*zz|dDA+PVI->$+5vMJI z?`dm7trUtp`t1v>ku$X?g^6$}b>15o0=^QLuGayD2U zvlk@X2f>;c2)h@ms4K~8UaYs~R^cx(!C{m_1>gVTt41HL#2)Yg!B!k#Ev82t;AFOMNkX(<)2c`fr8u5RC(F4s=Y+$K@ z!M#rD^Tnbt8GM1t&!9gxSjK^?Z&r5$F>YR(PzZVhP(A-XbFD^zx!No#KtAc+mUs_t zw}eW0)cgCiv!yJXTN}Ypn4Rp?4i~NB@Wm-mwO=iHr#DFXDNtB~uL3OwKIK%pmY!wL zaqb&*NH>)(l|>7PHwEuA>rNvkw1kDAT@6rp$$7oa zCa6Tc#L+HqYZ&@U3C@IY@SH-$JC?@hzW@Qb0I4WS&OL^Imf4|E*&S=!SdZ@w?{YCz zfR4t6B?$dpa6;lpEBmL}bD6B~mP-9b!+b$anpc#VJ(qtQ{Jne(ZlmryqO!f?O zwy@6&7mH3oEk4TA!D`ZKp^B%0!+~6J&X%ogf$Moa(3tt$mn)4uc2G3pEZMCl!&k}a za?Ual$t-E6OX@` zjkkeoHqgY@AaQ7fYFFbNt4g5K_&X!6U7!_$AYd1O1Q>q~)mQ^S3196P zyFy(pLR_!bSs(4%$!}?70bLaCYI3omBEJp_y))FI=}xJI4kvH$i_C z+j-09T~W@xhaos+rr08NqJYDfOM^jCL0piP|yjqAJ>1GFgCK>pPMhv;|a$ z$RuO)AZ7^-JZ+FQ6^a)t)gWOF(8*?(5$Ph>(n|487FiY#)lK$`0N6=qcsoOOpn8=+ z2xw6eHB435Y3&!_uBhxh z0!BJJ?ZZ6_X^y4gGwNcgw6Gvg1C))*C; z$JU1$epW`bmW4B3U4wZXwVDAo_nA3-%w!JF7tJ)}AybGu7;XgpbqE4{IVzvPsGL^8-8kF91ZnAq-w;syXa_5yOU7P*>+JqT5q)UyBxB%!7l zl6(XVdF_}8I%#)DUkhKkza47Ut`(-}P1bS&^SM-zoh2CV3k*;{l&`WL17(C}1H!L2 zR3Oq>WTHrVAVT@yW&KhAyn{Em+QWu==pWycopiebwZg>k!y5kp8K5D%Fwi#7Nk}OC z=zmD3g41x@X)Z5I2>JHsX<5xXzi{*Vq=sXBsancGbC2D~x=3Z>Ve7^Sw_Wj>n*pGp zib6}1f5&AxI0tbexQWR(-HkS@k~4%_{Ie$y^T}=#v|xP#>#NYVZ*&GHuOGTIqZ@xM zKyxoxM>g8Zbsw&c-KpPUe@j^t>q2r!5TD9Q|uv zePQ!R)tD5#!I?c>PAO++4NI&`-|!3(h0@x`c=@0hg6UZ?^o4xZ7Ozm{^7}-_Y$k@-+P(&uhf-cc}{gJm1&x{Z3BN)7-6EmXHEN3dvhn&_A!G9u=HwZ zn)Bn&FP0PITiI>Ud9toS^C0<5kVBnxXK|Y8{pu#e`j5b6Rfo%d(vwBveO=J~hBCZg z4{1%ZxS-Q4c$rk6CpndVam*3;1ENk|E_<{Myd6*~*WUvRc#4$cZEc_DNFI9lX1h*2 zC=w~TUkvF4lf%g5!@J)Xq^gCWm^-Y%8yy{V8UVNMFC|3}gh~yA*XYWHGO0vZLOK1= z&Gl5lbkZj+=m+*dua5CKxk@Yt5!O|IgWm|8Kt9JGP1SgLEbb$nqezwS##blOHHa8#?FP7nclf)JOMbjZRs+Sq z!>$@W-Jp=8tPE7-fd(YM#;8SwVZ+@!Ao$PZ0=a?$3uMH2>~f=IVzf_VZ8jfOp)fMN zrCtOw8$xotzZGA}bG5)91Rb^M*zF<@ast+Ka2kzZO_;zw!|CrrVbgAgqON0q-crYc z1+D5djDV*n=yzfF`j$fUg-&~;!wg9Ljrs;CP|oBm5rq58ehyVqqtd%mwKBB;bB z`&_!rb6-Up<9-(dhm^RLy_1Q~AvR7XBia>@x03+Ju|4}DTQcnTaRHe*z#5r|*gsQZ z^#Y@p64V04{OHkl*xo6aAFS7h5>_3laawXGFWm;herNkQZ9`2-a%8-pR4 zR0S2zm&J%tL=nB~SY$YBE^K7kJG02l<1NBX}txiVo3MviTluz%!o!D+KwPLtm zhOY3f(Bi=i+5z>;1k6^KNX>M#pk`U8VkHo|ZTX;=e*>l+NUiYHMq2Pj6-R2CIq8he z_29dL2MO`8IQRLI!tBN|{6p?);qyL21aNhOJWnanJ)Kzyq8c)FjVttnC1}Z5Ri-Gh zRzn|#au$}45@4|prU5IQVg;yT(>c0SBEUW-hV{;Q=;82CM2Ozt__)4*v@YuQA-#6$ ziGB2q5yNpv);tlWYc%!LLTZO=_r)t;J6MAzfp^s-50w9jj%OkUmK+X`#-H+iI?#3J z&UcUb5BqJu{wdO(Gnn*9>lMhniF{mZsJ{Sdv@!}(wDVSmE-V)QV0f!wCJx)FP$JyU zc!Pn9j-~NXa+<@N37rKTEG-I_N>>cOZX1^!4#xU>4+j8kRMH9Hh9{E%hJ&lL@CqT- zu+%~_VF&7}shwpHG~q>v)g>?Uh?zlw7RWF8br61Gg1fMoY}jZev>NaAbGv*dS`wPn z4)pR+Txw*F)GIQdY0W;p^=B62mcuxP;X$}~$4n}_7Zd7JWY8`9 z`#w0Wv(9)0o{B-!?NBO-dQ%B_f2y(o=NbB9LabM~TR2-1z zh5wYtG%XSX3Fc!M>4xAELwhj7*{MJm@!|P`pU3BCe-eLJ+$MF8dD0iF9T&&rab~;^ zpC-J^Yu+AlE4vp%v*~|J?_>YsAPBGCqK$v9Zs5d zrOVbpyDJ~QxoiFsX%ul~)x?pEsb+a~ecUEIvvj`-_ z@)`+6um}^i6GxIPkt3d7;y|Y#%S`f~lw%K`RZx%cT+jb2Ec(kEFVTjyhaRaGDg=9ZlgW1zut zlagzaYhv)U{g7xZ+MHYm7J7&}i51QevA)jMpAg>9=>Ayu-PFnB214{+zdgE$J}V!- zHc4-fb8;TSR8Lu(xi{g*Zn!Fk%c!X_?hQ)d{_TODc2NYDn+>tlVr!4xcU#qosTU48 zSRcS^SuEMedjKPB`f|bzbc{J!?Xc7VfDO6qX76Wb6JeLN#Z7|@XF%$}OT2pJ0B_gG zFQX~igbV6=+?x?{vdFkTFTy~UhpZ>rwNZd7FKzd#~~ErCAJpxKQO z{-F|VyUfz!<*mFR?7(8fxW#RXmN67}DzxgB%R8{zFKmF4+v0vQN9#A}29O+J!wR!L zcH1N=EO*w2uHybeBSNqVSb3-E67O6cX`8Na^RVPUcES373(&qUs zTrc$wAe6OguUZfzm;GBG4&AfBJZB9^4a?nc`q%dnBmat5!B^?7!>6ZQ+F%Aw%V%B; z7mp7lEl6l@@5*%EU=Lc;o0*rTrMVh`jpIOy-?-5K&QdJZW z$+diXhJB(He*aP4AA?9D1={>Z%B9(%w%vt+h<#_TlwkurD5n>>e}6zJbN?Qg!Gxn3 z;Oo8fuN2VM5;n57z^WDa!M#p>A1*R=T&E^ZrtcXJw2gAil&NI08&Tv#SxNVsc+e;W zHosd|>hxpG4wGi#zeu!n(4<&e5oN?)V=DHCRZNUSwWHx*mUsIBo8$?z=!`7d14$wz zYS1G^`|bkK>Je71IVO7dpmK^K$HO{08t);?ezkiw5x^aktQg9E^hS~x{j>^8iQC6E zzT+dwho-Q5qe#Qu7nBzwV;vf3+VtGg1N)9Q8!4F)C9HN&zePXgkHwsI%m6;!9oLiu z+&PR15}-Dgl7_mnpJN%Vir~*nhNh5UM_BUsZrE{0j2jHzl6Yll4_Wsg^V#a02ZtF+ z5udqLds^@FEgrhWA&kvx1liZ*AJ2QL#~blx5@EK`!{NyPAZG>HOK52?qx{S7Uu&T&QUnE&`2b9N<+k0Zrl@P<0YGWiRcgC0*L=oFF6B}m>5%Vjm^ z4}&3f-ZZPd>C?Vt?Q{KBaTBg?rbRPY)o{MVmmJT9bLXBEpF`$W(3~H5%VqVpLZ_&a ziGu787U+=C=yIy3TaH+(5#*gao8$&3?lzj$*!Ve*9rHA%-aQa*WKr_-#$2WOaI8x4 zWvJvEfO`o~dfYLr8`uOqRzorG4ku$|esS5}%W*h)$2~^^kcbB(Pcw}M_byjs1Rl9^ zK$UCu%OB4E2ke>d{_wt)<(;Q->}7Gn4Kb-5?Zvn@QGIIVCTgsu*y|t`jeF(kYZu5x zoyeQ~lY2?!k>3MZlB)+>1@G46r_hc(ObCcvdW@BES`PehFyU?%(|XDUn`_n$%B{Ib z1u9*DYS6V*<=Q4yz}LRM=Phjs0kku0o+B#tYG=3q7xP)>6Gd zGd=(TjhWJ`C1{rjedli6c2oXt>_zhb;A`0I;C1wS1bjGmhpZ7KxU>VP=wcw}oGi>5 z!)*Y11^2?u+$n$*v$7>}LOi3LsG3_7&I^ZH@F92nRI>%xz2VJ7jeJb|-XG@lX1PC%xL8 z5dT5jm+1e>+OtPeUz~NfX;%HzpF266GIq6GS>0PngT&bSN~+i zDBN3vigZ2Zt>Orm)OBs?z!oYxrs#Qo36E2FCj3k>bh>vW2o*=U*8i)SV+ESk(Pwcb zMa*`MTgMH7aut81?KG7ucMa|k6>ro9CLpY3Nc#kRdGq8X14o&V4vpkGI;7!>o3tC_ zi#JvXO|6$b1oyn9)doP&<3p2g$j}pai|BRfz|iT97P)_B6_7mWsigbE52K&GttX3& zCtUEr+tb%8@OE{!)FLU6=C?@tvCx68s~noltqRuNFHV$HE83?-PDnib;!9=EIz80O zn1aanEXTNkfxob}5ON~ya0lO$MQXt)823{Q~^o|d^DtHPB!i)w+UkrI=-V~uXM zpfv`Q0LrmsW4yQi_9 zrFuAjBI|w)fJOW1?b=Lz&1{ud*5Z1%1GYg-PZa1}FeP40ZjE4mopmoPD;ksuQw86}{ zNG6Tc z0!+xLZy=PY9A*3+6lA{dmuo}b4Tk|K7?2dutbh$i>p)9i<=);E5ecS1-nZboE<)~J zYsU7YW4sBm;gSD2OblpgRc_QLY+^xo(j;Y{*_yc9%XP0xA4}Us6RmM!5Tz9C+9WNF zpnM088@ny~aZKgiEO0HO$9F_yVQJ>m^A$n`hR;Q;ygc6yJtSJlB0* zaIrTaFaB3yo{ODdy2!a=xlc6zzY5Q%x%lbXdmOIxL$GLCARcUzOPE|1kEKbS{Qn;K zTw}gkJ?DzdYtVDP4ZDpz&NUnVbuEUV5i1%O+Yw{KT;i}{PYeO^FL3yO6^6LhL%&*u z1f2}gkl4mPAK;P(HpMOE!J>ixP2wh(d{a(5DM%^cZ!_W``{rPxd(dRsAKETqgsAt9 z-+?puN`1QeyI#Bl9B%1tz6=X*sPKZMFj!+I^#+bVy3Te6B>JyN;70AV`u2DDU^O2Y|qWn~Tl zNn}$+Zpl5S4oE+F&rvLB9`Ygk#v0rJ3AFfY`YCX|Z}eA<**gTC2)NqeE^`Pla0hmf zy#{#Z@jR?pa}ZI1X}C{!*rf^r0OSD@@=>5{zqW>dJjfR9cFi#)7Org+r}R zK;a^>2@fZI3fK2Zfg(jOT)p4DP?+bEMGDH**7FLAdE%}_;Q`+K2(xf!E>K?--Z*_v zh9csro{Fb%V#E}16|~tgIar(Tfc?%*cJz)hjXGm z*FL^4d6P6UA+oy@J@U7NW3vh3V1W0qeB$3!nl&uczw&t8&d3r3I58k08a(Jxd#QR! zOlMaeq97w=JIcZlFeMVyhL$l!gkO30OhH@oxZ>3@N5u;>)S3Bemj;+((d8lqy44pj zLrvdwvdV0aXV=9lh~d4;tf!F;IoVZ@M*nNSo+s1O7m}{~QQ;bZeSFz)kFHWf?DCO! z#s|(1J-wA&!}wle`q?lzWG(8PH$n+*HaAL7xWLu}+`f!V?OinDAZ~k^*e9dh-lTu< zSSO@AuYaW9U+j)qR=}U>#nVRGFT7ugQ2yTHz|X`liO{1Q!x0%w{!QgHclye?PtR%) zorECD6)8(?+4dtIOaG?ET~TeQ7e2BPv02Y-JY!Iv4Wz0Tg#VC_p9mEp(Vo>H-;bTL zyuj%2Id6O2mrCx8SyfDRSW_&a{|aJ^7CUOG-$VF#V#bjQoFlUCW-dTvTq0F|2Z3~z z=JAmeNR0sMN*iLNoG6vSoL=yVhr2$c@?5ngbH9;B{_$Q`*@eD~$#Vro{!035oi)F7 zt2Dn4%{vH`kr_suCE8;3Gc6Dw*xz1sRs|uvx@_HI%^Sm_?IId=bL5TGHqU*UFvp0H{4`*hBHP}3m%&9JpPEJQ@9ZW z@bk8Eg}*F!$u5k2C$+rrdTHAm*sYtO+x*9Cdf*OE#i#>Jx-Y9nqg#%>iM!5=2?%3% zYrjP%DHR-n5jrkdk+s~c?XLZ*-8w+|Ed5U~V?RPFO<5(*Ivg#h& z#$41MYolLB!M^pQsdtL3xbu(ybqHw^!P!a%+!uyC9XWfVXu?UJyYSI3t9=VC$z58o z8y;rD?80)RcO})8$%FrEyO2lT_k`*vS)8e9Ed7!UH=EejR>UJ<9$*=W@}`gZbpoXp zVB}>>z8rb1$)vc^?>~Zfd9&J4vLB`educj{)_>PwkKzKwQY>@8nxi-^tdC+AvcrnJ zrS@DWP5N=o(dBiSM8IW(BZh%+kvr;j_R?kAKg&;U_3C_1^$-jiOHf~r{(XO-@M}(O zLOI4PRY7!@ZDZ!E5`(_1wbDNmv?x{|h6KagvOYY#bV4MpsohOPhZG5j+C;gC(D33t z(1uCYtm%Rv4Qk`m0yC3m#YY2t_W~G$7+X&= zC2zMK51C=SBswBHh=Hh|ZmPO+mu5|Q3L;l@9!@E^oPQq+(+ zZp96O&-?)mFV0dLJt~y{eN84@+16|Rz9h$Y$od8OD)*%w7}eLhdh(DHabL;VFs*BX;uAH!<#ZTZoq$rJa!Eg z<2E5hXl7x*r~`vg8CTAA-V`>$pRIFH836F?A-lGlAO~5H84!Mfd>@GqRD8TIA97N? zQVSR*7YMOVS}8kl(mDFwd*I={Iy>n8A}II;L|$%j2HV;xqsx$Ozxv7Tv#%shf@L&w z=QBod;4;zgI(W_Onhqb9enz6WHEC7u5oWH&X010T;oQH z>g}Syg)vuhKgz1H!^a-uwKCkiBb`LxLw4OaW~i?UDL-Rr_QQBX{2+YTZ`|xuSsG zBRhDh{!$)rclpV9?@Dqe4|NI5x4-t$+Z2x(>BWu6Q(;^bT(IALn)63R-tezqr)tljwfsW>xNy=^qC;kqU;#KoLq~iX{_8&@r0xM=*tT5R z5ZHLU>|3ZPUYjLlBPmJUhmF`rDFVMLg1$*%!#=F8 z%cNL93GzJUubC_3pHBDX7?FVFA;YXJXQ86M^kxajkAL&Of%HJiDfs)& z9%fywOJOIg-LQ$dp*_MVBh-w4+V(592jVON8*gu>*ZY@b-K)>UrG|3)VT}5^8ur|T zTY(-J^d*~9hyd$lE06bYfJThjz9|$s==|2neq61YU3}z(2+b0Rk|p&x@v%n#ydmY3 zAZ!2uz+a+o$9`B*^dfK=4^pdd& zzTnSFe%~CE>rSn^)E~7lEb-THGlUz`<$TINFq2;0ysYqhn@sDo$9JZ#S&M-ngGTHN zfz2n{w#`sE=?~t`hn&D{_sZ)TroJBRQ*~jlcHGg&fFD3+UPmI`Q06M%(0R90W2mY9 zy7pbdHQ)R3kwD&JoEgqwe-$PBW^!>%BiLv~(c|M-#g>sU@M^17X=7jkDgOp>utxqv z723oWgrqr03W#?xC{zAznrqPsm55*y;lIbB?=QllSgk$g>W zUo-Heaf-yHp;Vx4Vl>dNqd6lOC|S{~cXG+I3ygaU;aW#uE?^r?N=xR=B75V zQaf?(eG=es+0&B`4znxlci-sXXW+fT(oSysB~D@39!QlV@=>`Y7!<6{mPQ0^DT-ps3MQvj%vggKk0I1#lP__P7t#9eJXf4T%`@SiH zTsrsR+ut1uT8eaO#yPdx(P8w7&G^Tgh)n)Tuzbi}vX%5G~jse1EoLVkvf4uuTj={tIY= zfyPvvU8^jmZ02kh4;OT6Hk`DNOVh}Lr%&f!s!L$rh48JH1HcYfAA4MX`atd@Bm^LR z5_DLj9^oCSmFTZ5H*BdZT^E6DmO_qf00;C$_F^g(IUy?JPjc#+GzZK}Cs+=Oa}_4F z=eA*nglfx0l}MN(IrtIsC5At@9Z>?91<;gzZduFgY{0X1Q?~$Kr2xlIn^8p)SSVfR zDRLBr1c}pnfae{J@GIRyH6X6~&l#q`Z$^te^kyG33hS$xVsF(zdVDVpPef z`1K&hDRTX45B(e?t?m&JwQh3qd7+j{yptRrbsq_o+xy7Be6|j+{rMAqX(_cJBHbnP zV{dM&s6enL%IR5f)^~TWhZ0|2@c9&l1CLkz@Tf0~1;VdMO0*4L1Rv=QP;3AUB6-@i zhDT!;B`qqR`E69g^8=D-(*_t_H2m5su zN&i}jXhavjE2+%q+HHB9)<||F`>#}ZDKGOMwCpbLeWea;z@Q&#S8UIlTT@!2^?>+0 zxm7<=fmh62&V_%pUk^5p=8R948X)3>W;^Ry5yNRMcaaAU;{3j*d06K`DLHASqs=nM zP!~7a9VvDX<{`Nl$ga@#%;iHch{S!AW7BK{ed2ewYH@xCxL-puM@^%D&C?RNBpe5X zwhx$;|Ah~t85gG`RKUkp*BT5gn#mi%S4^lbYrAvy{^_j9mYYK<-(h{NpxNKcZWb5% zwq@=E<`*%C@1r9v8gw7_4WO%1xA)D4rR1IK3%6LqE3l&k7ipn5sA%cAK`k>oYSerh7fn*}2&7 zKoQ~5IqTp{V*^DAX0N5Ovj-C*XEwMMkJ z9xqB_lc+f-Ane->Xo)=!a3TPKc9zCNtV8thmvz4YOF_M4OE6LI@TC|;N%r@ay?afj z0z6C5u1c9sOV_^X;r=qoOww~Oh}^OE(Ld0zli~awz($9&m6WqcgcxNCPL8ef=!6H# zn`sVm;$6XCZE2pCgfxG92KL&p;wUd%XrJ@YL=2T|T=h|U7Wv)hok{Inx!HYGP0@e5 zpt9VqUVS%6^Tjbns8#RVdGJ|^i@nR(&%oE$+2wW@_NF2-`>V7mr-zWQZ#FzIaVXYu zs7w5GE@;CNDJMBQcIHV2>o>wpBU7kRp_di+YZnELRBY%+9jj=$7(j;T+M#BKmCh~t zHMiz@FY=wRa^qvs-mo07@Nr~Uh_BjoqaCjXjQ7CvXW&YDo5M@aUGi_;&%c-7zrUVN z9)O46?VB-EihJ+eDK$_E%?4Jlcei)DLw>b!z`gG7kW@X`Eff6ol60%9Q8M4yA@%=Ehf0*4>!|k)O8j1{m&$$}=y-kIElVV-&s2Epp5 zF2*`YumQPUS3zcnG^TY?dagL+!LEmXr5C?2+qGAjfT%fL;@Kzo{yMN$t6CC3>qU^j zReq59F&g-A^wTO?O7-LW;G67&FgrRk-TyANlmp=Wl0H@pePS%SWIrL^*RpAZ1umXQ zTZeLx*l@O+L&(mstyDZ)QpWFmrSVT%k|R#HdcwsQZFHd8Gs*@Zc|fj$;8fvKd^PUa zubUtO5wA||8V6E-P>bJsJz7YFP;H^dA$VGW2XetNL<+x>>_<*yc9*43GxAcvA&^WQO z-SFwMut`DYU@EpO!o5x=JGjmN8TID?>`Lf^oL6!DD4@+z$olXR#Y0_Mkb`OeiEfN2 zrbxUEDAk@PG!l-)tC|`JU(ubT%)X`bY`FhN(V2!r_5N}A%s#_l24i1l7<<+RW6K!Z z*!O+k%35fIkg<$i##V}AvWKF`l0ue7C|lY~H5E~z{a5n$e|N6);+*R|*Ylino#*@g z+_(L;Ewj=T&@7R}!=InUS;?L}o=MdY$-t>BGt6!T*$F1v)hpCg-dU0&2oiqhCNy6m ztoKS|6}sbg4e8AszTra+Q$YjhLVfFWfnDqT?? zM5)0O3;x0e$W<7XzqfSIlsD9D*noX3RWj*VR?L}P`OMms>`uP=`UxAcW6kuivDeEw zj0L(~SXCkJn9CxKXq!r{p}G8dt5vAkWQspR{wVwFYtI)kQHfIw6TOR9_|!y$Nr3%L z91c;XwewvRbJIL<^+K;32lV95gv~AVv1uW6EDp1f~I(Uc?$>jv*POG>O z`KjgViHpj;?}LSBV>!Jduxq?JdUF7Er!{Mv`WN-vj}+I|P{h|8tf=lYbr~2oLnm~Q z-F!x;OG(9%aECH+5s5P?HW@?idYrA{4vZ` z0HYVNR9Tsh-X^~cQ}iEglcogKCt_pQv`O_+qFMe>F<~sn5|82PxFn*7+!N0!pFaX%mVOe`t1-Z8e9W4No!PK%6Ue0_qy58O6W+4CCaRl^wc zB@ah~Ra7;D09C=!>m|IHXW8-kM+ZiEMEfUuh0w5yo>zWSo@1)e%3s5SMWZ0to|GyV zV(qJTbVC+IUnv(-EwOoHEVPy2d() z7rreQz|U@gsziI=>j^prSWh-(xsbmu$SGz!$y;9ls;;}03WTGnmp*Cc` zuevjF=Q6^j+E*1>2#A(f00)eU{s@1JjGmj2+Z*U$B6s)dlE+Z*jy)=epXZdr*fA1G z@J$B!1;gL}hlgze9_w05FqQy5rup&0HQWrdc3^u6GmEGvu&@b@B5!j*myXSZ2J%_Y zrf#_$hrv;;Vn$xD*$|A>^f$&KT_OP^_0BZn)>HT9Uq63Bo8Itc$!_9kW`;!htMkym z{m^N7D@H$%)$5pybdAY+5i;(h<(UqxCb5w$5`VkbodK=p98pTIiFAH~TX`pn5^Gy- z(4-rOhJzwCxzMstkV$mbGNiZHUNO+Y+%o8wd=X?_c-%Y_@+1s0UbLDmZ!1Kyw^lEF zH=<&qTZEFk`KBQWe@2(b04L2!GkOU2XyqOs1gD>D04LL|Y5b?b6k)VWrFAe^8)y5t zV+5QSO}5+?%lgd+j`PP#ft%kKt-;s^bD$-+Yo*~*ighRP4kCe;Gmaz!G6N{i>nA3N zeOJAy2?`>DsDWCOeaM^2SW@JdV@w^Ckf(`zbaczfauD%U?I(^YhB5K5FG>FmA1x@??GL_2 z?o@kz!zPS{G~dighOMiXqC&B6j^C$zHVtxs_t^%G$Q@7!HCnbWe0t&X<@m=Gwrf?g z2t%xiD_)dPZR)hf#^xy+reWtjN|Z~5@WpLd$iMCW zCSF6Ni_L@?I}W0*{zluUTn;LzR)W+H3}bqrHUhms23VhGkkTcOC~OW1D^-W@vG&&Y z=I1n<6`iAt+r8oNnr1^1@eOyL$PIZ(2At>Niymw_%%zcDC`Wmh+fLtEY>cayZ$N9K zrpP>k=T`*o2?5SoCoJNnkqz^F-trf_4qxJXYI6!YAAGtn8#HMqWzjS)g~O1p`*q+_ zfAkjgUjWmVnK|4y7Iuz=vNu8CT6Zw{|G=DcrL(djrGL8%zOSMD4;{Eu{hezIQDxqq zVEC&iao2Jf3Eto9-xkQwL~r`f7dLhZq5XrBjuah`6PCmcXo>%zAC88k%kgv83*A9U z{QmPxPb=~HC!E-l#Kw!?L=ptVKC$N++h6&mtv7P+4R6%2hI!&G?}|e8y7s!-mn?d#@+4G|wzp}%O*f#Or@Sd>_1&AO$gfj@8bT>|JhNi1Q22Mw?@2;= zp~Nfj1J-ki;YFyu9`Cd)G+wACnC@-13OzoWHQMV>V2r-o)Y*x5E-Eqo|d2N$L=;A`|wg+krm%3x&khI zCjTA0uH23ywkTbD^#)p4nQ!rSY+1ulCM@ypVvixi;(Ep_(M4KQG+-dWg5Y37v#?(S zPUl$BjL9V7!gl_GjE5Ap!To0({)_t13pl6EvQgY~0He_zob;3x6&PMlbG-07{iKAG zJ3a~apZ*y;J}((@_Gqd>K>V8p{TW5U`d@r2J zF*pssjZuL8h0RJ$yT`mAvS?RjMdrmABr@w-^CHtOb+J%!zy7f13Mraa|5DOqoc(*G zRM_(ifBog_?v)OWdXh9-$e>3Ihl5mi0pt&v=VN-t~6m=f??A-A!ND299{6;?LMM4aqbk8M&D$Mxi z6P^>LuOKUuJN#GUPzO$IA zM@;(snrHn~UjxgqpJQiuC$Zd5PH9`tmTy%$G)q=y~~` zoNqjz{q-<78=~db_YizjcV^zqA>>Y!5NCLt#9nHD2ke~t6E0JI37#8~0M5?VDDdzW zmM|+CyxSD3WoUY^Lf%;sOpog7c{$-2rDC7k>UUM3EdUNF?}iS^6lb34*@;Q=5$`$K z2ntNfaO2*CQX>w7_PtjW2M`J5H_dDCSQ4cBX1PEgm`VBoOnjfu7HWy=lqum3100yh zJB!ff-x$c>k5DO=Q+|;h{dnf%Jehc7df-jEwY>zp@@#P9w_h(D?k|)G(|6$_mngHKK`8+5XvBdNrj-Nem| z*u8M`qevHB!1KAsU9#48{YjS&m#1|Z&`1*G4@lXi?njx|So@o%GPvpZcx6ru==VJ- z^Z<*^1XWEU(2J}NG!FS&3JV`jEp`mwJ^6S(%-O!o0gQ}?Xnl9P0tvvZ@*8SFWKVzf zyi0P5gn5;<11QZW{2*hvy`-6DgGUxD70EEZb}#f#)s6FKsNz}qU|}KXj*5?!pdF!ovL7Ht=(zXR!aL#!G~sW4F?4k5+hH{owH2 z1sz~)SZb@cR2_~P|0tYr;i#&_bD4BbD@==#LdHA{wTdqQI(p1z{!^$az58sVLw4FZ zA5!l}_X3A)O5}UL@4FlGX;}BXH2LpxhkV1Gq|d$p*;Lt7EyUDj)kBDPTlgkXt^8 zdHtl?phVKLU&Ma|ah5X`&OgD5Ej|3s z6{k-ijAK1l{&?)V-6epfxhLNmH7SZ2%34HYTr>UTtzARASEt6Ks#K;S2Seu zfNT{-Jsz#oj&*YHOZQbvS&G&r6g``l&oj$?1=0mff?ka^8*}c!1xHhhV{q|8^_hAi zq8#jh_R8;cx@~RBK>uAcKUMHpB}9dI>HW_7eczg4U?#s=r`^kIZu84lKU*sCWY!Kq zmYmX8lVkR%KG_&-b`x^#TNi#Y>Uxh^P%oMYPJJpoEZo58xy2GjYWLot5QmW8%U-!d zs7FS`)(r}L$Rzcb{yU=h=QC--G>1>8EerkK4X{t$CSJ%slSiN2opd_Rf$Om0V3*E!j;Y&XY zx;Pxj{?a?Gyd$Q)=iw()8xbV%n&OE6^jl!VwWJ*0VRci-&|g_%WOu4&1@+-B2J78Y zswBx*i)CU>Tqj<4ZD5Q(FG%l9F|b-e|9)Aj+K|Wdu=V?kGy8istEo4yIELA+TW@QV zvNnC^aj|HEDnI{b7qrQ%)e7d5V7(+>7_=x_cb$UG93%iD@0YbOpAY8IaPFIQpy_PF z4XOK)Kum+*i&`uUeX9s$gY}_}dXPs%f2Q+l%;wBEyZ{$ue4d4f3mu)k6JP^buV-IP z@Sa$2_cR$t;?d}0EBQ^uQUNYRvaE^!{s|I97Z1?jGAt=JbtbE`z+?VSNxr+K95|9ZPyN3LREiPRSLzj z&l0nr{q7V}!k9{3(s|j?_ey^s0*;Y5xT-%ux=`RGeB&NEeLf_c57%?eCjMH3rMfmd z2D0N4f9!TIRvTn*z?jYss*Xa5P%aFuweY0{;GZq_*eIUs>hN<5Q6s(`BL1H_1!n|Yc;N=pN{Wi z%9gB78~95qSa`man4S}R0yRI++;LgcNR6WSJmm8vP7~*V`>G%CI0kWUes<}}Bdsg_ zGGo@o(a=(XLl5R(HDp|IR~az+@Mo!1I&7d#LB+z`0ByIAzO%627d&C}mJ*8Yg4%0U z+jEpXz_SH=t(DMQd^vC7w`~92p{L&MMRaC>j~eJQH_-bi+IYO*8oGP|oz=0Gb=Q(} z#6|jfMeGM5G+Cfj%}?gql?+ABG0GUDjyuLk%}I@haJkj!?yI~UlmStok~f|APR>a% z);Zs4+}4)-Hr>1?PwH zZb?V!Tnb7$6e}-c_8_HyWE#09Hq`PvBykYwJ%WkzJ+h>jF%C-Qzk-C>K{M|f1EAZK!$7%;sr%s8QqDu~kbS)THdUXnn)v%j5|kk@0|B$hx(6 zwC88Y4PP#FbB1b_J0PaCX+VEN5u1K1{oDkPTIAKpdpmYDwvc%bCOX6dMHxo9Th$$C z$t@hIcf_|Ij=IRh;8`uP5Slr}v@9H-$Cz>-CXJmPE?q<&)HwQj;t|T`94}p)6+$%L`HbLB?t-Wp9E5=E z_&ZOW!mCK2L5pLJf8gFUv!qY|0$;O8t7JJCZpw;B`z?J?+&8frGnR%AHTnWJpfJ3e zp?axi+xbvw_dlp9Dga9U&OOldVc~re$2}z%Nv}sgJ;PIcvdOShE8d)yt!uEq*VgyG zBYYnafQndyFnCT>CWpjR7h2FOy-xo5tlnhEjR zMk-vDdh3E5!Ob`W62%x~l|!Tga!v7md>T{IuhpD+RyuT_)%<#nIaBPf1oFY)<4O-|acfMoay;aY(hidc-Vr?TF_xq$| zhtHr(FWlpaX=@9Yz_`QQtnz>TptUE4Jm7=pCw47NDwQbE&NX4j>Z^a#A5vA(?~Z^s zv3%3-KmZ8T)aYP5UhJ|Y&G3-x%{RYnLF>%F=(BmPD`1y&n(&SvE$v)bNbz}ojt;e- zhPGb~EM3&TI)ltmcpXZtPvvoRmOeR154eg@!R#ADT7{M4PzB_Z4ldEyFBsfh`Catr z(r%c>`STO{RFh6&^H+e4#heMA zXtsmwRW%yM;G8VtUgwFVeX@~liK8_-+&%ZtlB;$NTB5i|X%#TPqR+L~u8ucB7pjym zyN5goICytjcC_5gv(k%o{Y#RLWqW(XqkQy=8PzSoi95|#dC*!7jp;1R&C~Fas(6<0 zMJzygZmm2j(Rau|tHg)*`K_)2zzhUTMJuSVFeWvj?xpJC3C8k(+1 z-SvQmE8Pb}&!iEQ-E9c2!StH5j&vxF&fD+TR-^GWbDkx?fGLB7i(`b(AHpe7v?$Pfo?>gOO zOKp06XN>tmq``>&D7+{_RYuR#n?v*sWi)-=RLWJPmfmH#Q}VD108T1_*1wt4q!tzL zryxZo4mL0xRNkI@3@g0}Q4Ed|5|bKS!!h|CVM_p_S~WJqnX1TrHw2K<*ntFH6ZY1V zAy0a@^F~8vUw0J4G)wo4oUpSAGKr@-NU3JESN?Bm*2(ltnS$Jv2)$UnoFt*fmqHb} z&t^#K>mFTkAiWD7megX&OflEitdX$3@odHANd=ahlF0xl=^(@kJyV@w-O?~=V>X>D z)gG8$l@{ivf5v#aQ$?^gyv&>aHhq9=eYQS3{?R?&8356?H>pSg`=-W z(;hMAi_U74@=aXtv-|o}{G?zZcgg8SpQDop^(pUM-)Wu<5TTJI=?}Z8l~ub9ap_$vcrcwdPYJ_4^2z2|7B+{ml1wch1p4qpMKiX+yDufI+XQBJGIA-@QJ%P#)30{^@p z^h%w8cPsH7O@EI2o6_?tNa$wIKCST-e6)cr`KqX-Dm_eh{Uy{no0n?@Cq!WxFSKIT zkBDtYyCK`(!+!o%rYgB)IG zZ|e{xm^LP76ECC*BW~x3gU2MoS4kyGQfkg`q2*uDJ7&knphEF)toe6xwgt+np|_yV zpfCBkgf^(hg#?R%sQIEwq0@&DU5d4D1+(fZDp$o!p_-6`@e0RQF;G}D*GzD=811X{ zKuB6rDR_QLh;j0?5T~*15~L84FZ?kt93QWB79@l|=?h6VgP)F;4zp1f!`@o06@b_r zS{q+5eVb{IH5B`%pE)%~2SQCQgOd|!iYevba^)280`nOxDC|JFXTj+ei}Bb`93k?0 zwK|_Z&jsa>4h+~Sob5#1wai|1SNO01>QSM7nd;X{qpEQyYrLpLRoLXi#!+kF^(%eGYPzIJ);EFIs-ufccM7?56r0gIapb^1}=!dLua~tpE z4XT6`=@v#d#|9pnfhArJ)2*1YCDg}A84_fZV0uL@{8s2;z6m_BBWRSYjDA?gd|g~^ zKQ?y!Oz>_?n?J|{Tc@D3{-JQRMesovW(x7a4v?+B_T5HyT2=xY212uIB7?(V4dE}e z9w{lm;K}(1nn1?7S=Z(su+}kq*kp?Xt>{XVYXhqAN%H1(empnFsw#i78-xt-Y~5Ef zN%kB&jZaO59&Z%n{m%KrKmvUk1FcVi_D08JZ``DPOq-_pw5c@;1SjMk{76m32>D z@~t$Y1!6Go9*4HUjJc|^@OCauuM7fz9{Mq=aa|cHRMO}-S~btE0qI8;^`{3!$`F*I z+rwa($g6e36m{5jEw)%BfhCHEhGsWOO>-lzX_6g1KAnSFGoTeB)&w-j0t|Rn$k|XF zwM|5!V}BsF9=ro@7GBB;M=u!jlHXu(VPBD{?hA1c7f33hESwuchA2V^q8xdAGW@y%xIu7-uH&H>*)3zIoyNB~hu?Q()Z)@SpZ7|7m4a2|N&R;HyZy&NoLb@G#Gn zh6SygcR}zLR{k)kA$PdosC2}3K8T=*l-S$H7OleVCrp9JqE(hW1{PP_w)A>E6)NJm z_qZbfFEw@*=ui#xY^fxMy7UAe5#IW!_`%_4#wGYAGpPyTNW63cqtfZA45iEy=U4v~ z*6IA;2Uq1xSfat@y^JK0c?kyEzefLwug2g%QMv%dSOXP=7eLF2M}zjj(;_uoy7k}# z5U-o?=+EO^Jf7YDq#C5iwU@{wbVnR^IB7)@ReKrT($4(2rW(0sE1RSEEnIIKUKbvm zYhP#fsoC-_Kh7+1(fRVN{BN{8F{f2}LLWm|i!Ue3cnasxfDcuf!mp53J}XKom#ATX zd-MZV`r)RD9H?-8b=SSz5_C>&svE9_HE4)l?Ut zQqcailug7-$G~}T#M2YnpsDC~i5hz9@Aa<`nMrp+#@n=_T z^DKcx0CBNDD%_@{C!e`!7zZ9FMK|<*X5>5T`Pe&) zF^vyDbBEe=tn`uupRd54$LRXj=Vc}Z7cGrmvw4gX)z?)rJN5fFc(k}u8B|LQW%zSY z0-#-cK$z?kK-I4Bg1MSs2ZX(qs>Apq=z*`ew|znEh1srqF8TTa&$~c(&BSS`W>Fc8 zJ9Kp~#wKW$43hTOB{!|ks_iwyfTx#D&%Ar}R|gtD)AxgZ|K11^c;rhic67d}1s1FD z7k|bxr3lxV3pUj45z}(gL;}Oqy+_J>*$q~BU=_5q==AmN8{Gno7KO zHZa;@>GkiCN_au=p)>`K+GQE>@{lh8MOTX|7IL6QZff$&eEwJf8|1_~wc$1$9TFX& z8(_UZxVzdGyDE(Ji}5520>3D4C2Tb)siI(sD17w%GKT%? z1SNQeHFEB#xFPX6&ALBHc|O!_wc61aPj02p%mY`hzr7)-Q|HEYGhkUc#w~|dRN5$# zVyLJit`fZEOX2F^FF{^LIKSeOBy30$8svhP27?1{mli2HCP`-IqLoxlL!s#Csm3Rt zHXdL{3nXh8Uijv!UfHmc%WCb3_WEH+$Rd&@Cp=)Y-l!D1vsOP(l!eqQe-zWbGgxoV zf$c!R9~YWM5{V<$x~{FdZP)o*zZbuyAHfRT2-LkEQbkXc`vHbN1}z>6F9_5aJ2^H9 z1}W*p`xbXV6UOH)-!}HCT1hy5VxVjf$S9l%A)4n;=f2dU78!WFG!B2$TR$5iVcO-< zw0kka_dG=gAMPHj`KGr@xEX(R#V3VuzhwB^KE}NAKFm8};mSMrpgzH$L1x30z!t#@ zK^&SpX;~zA$BEoEqOdhx;7}6trwf&f*DVNAa@??R%40hS=6kMmH9P8>{0u-3IBlRA zsf>vd6@^yE4K6lo89V8;!G4(~H)70P@;xPtF>dX%EAYv@umVXnMjIrj*!SK)Yita+ zn}s_98^;go!M4ZBx1MXT<0C%Jp6v5t)771jglgjo(Ugb+Y_2_MH4e)gp+?l?+F}o4 zRnSOcvzdcO(bVjX{^Q^g?s2|Zfl@v@hw2r>&e`eK)Be7B?_2KO5Esi|Fc=K!NLjkJN7IG_(x8ox!Pm_n@QlDwOJ9R0xy`yhwYI z<&J*5Y(!V-mRa#X=3_Dyki|D{(QZ-`d=S~$08lB!O)%yLQ39#%phHm z1f6b8`%muRSkzD6eDZN$(SbH;UgPPS^ZfsEFdV0iu;$l1(BO#u!LW{u=;y!J(>LBH zoAg+xIlS_GwD8_#!3zEu90GmgLGU8PcF%`D2(tpJbLR(jCIK?qyv^S);}x=azD8a2 z(uq9+EV`c}aUfFsm!dGm$>Fpcy`LTnENgP{npXut{Fd{GR2SbbkNG%!5t7OH>oVaI zqSl{C6U)ut32|p*Bc6RPtCSZF))ye8UGCLKZ7Lff0Jv>!0v=>u`(6b-*n9iVnCZN9 z?0BzXO~-?m(m~N-v>VeZXbu!BrrL#`o_Nh~+i{t9`lYPEp(mAL#_OCx##nv~5qH-* z1yJhsgdK_wW#|6sGGevQS@YxLUF9{WZt{*k^@6DRZF~1Y@NT|+o&`GB108hF^4=Up zPnVw2P79xBGjkWJ7K9}&C1c!HJl5n)qvo=e4EEh7$wFP5kFDGTKmR~ zXQ(BVZHRnl?~DN5NHo!QqxReuTsQbQp_YdgF?=ir6gjFQnPDbwz-|vh<@7E7hb#7} z|6$9PenU@|r7reZ-{^fxrFMwG1>v1#TmnCQ%qYOa*Fa_hCVehSJZm)#S;(zkSvcNZ zUloy>s!%q7x`3*Q;OB5qB-E%FDr`MC+oLgbVt^e4(&n?5spCwTRx6RgiErcWT zo0GJI1B&hI^Z0K*@iVccSPXpyzeRNwS5U5n=)+#!#v(atU66l>jx~fF0b%eM!9h4o zo?SU}*{L|`;*YJ%*9$8Vn71~qRT`1hgP)UOGN*!Vp#JP8n+4GtSKDIc!7(oE*%XC; z9XD@re67}5;R%+^bXZn=vuLv?;P-qY@|zSEEPguVCdWf}GOO-^ zh9aa=x7UQ?b+bXZu;J{-cg*ez_^DYqX5T?TZi3%hBd84@mp$$&9}9QmeHnQ({)4%j zYZOvpz+#}cVhdE1fRXl(?1BT9D;|Q2U4%mNke+$}qa!rLooU^WH9Y^cp(Dhr<>c5_ z7|iGvY`a&dI-XV!JT- z{Gt1d{4sAHsi^MUf(U0J+eFP!58}=5@3&yGpY|8qg z6fyz{+llS!CK(Z~TGhr#Bp@9!)R5oV1G`6)UQ=90Bh;7=H?sB|MrEI7C?h=q(S&A1 z{9Vg=rMAvz{WJp^fwJt3-il_BZ@-kv29ufl`i?-Gnpb+^)azCIflqYU-ttB%a%3ZG zBTAyUU(Ajvt1;(ADsa;E1hOkNXPwHOsGg^}QLe)gq54|kf0yi|Qc05*bnyyy<>kU2$;mB!L0{AbZds@XVcx;3|T!#H7#8d%kKf4HHgeSuE7(LPUm zq1wi)azaf)%|VW;HDYSKcBXSAH_QXy!bLk^b!{CB!bbSXr7oyijIDmpr%HYgiHbu0 zlc2umAy-%(1!4A@2K&$^b5S(brJwh{_1CZ}|3J>#3i!bbxB=Iz3tl>w7GZg4 zqRPS|CI+h5Fb=ej3Sr1pOP+b^kVu7%G2<4edUXNhki?2~m>@`}Xc_@;63T2kNs z-3XwlAN!Sb(9hYf&!{MHP^n99EydSRDXmUS|#ZZ~x|t4<;i8OAiaC*#ud{Q}7axwHc7h%!9ETCNWTQsSyX_DZa`02;5B!n3=Q#-W&X%2>xKs0h$g z3VYcOOUO;tPHjn!JI8a8wbf3R+rriCm29~pK{d(tT;BaczmfUPT9}4FPMWs+?Gjw> zsV0xj3q8VXc?M6mR}(|3N?oODZX{Rq{-XUy7flP zqN#iprMc_bpAL2A4CV$F+vm|Q7YlVu^mrBj+th20$UhN*UKar}9$NK>O#Ao55p^)= z!w~EE9@eNMk*|V~w>H?7;m4R6+%rRtOv+8y1pKFxiuZnM)-|LxLH00D={w|iVa&>yj0>dda=*qk*S(Y>_F zqUVT76$Y>4ImxwvodD|YfkdLUmdo6sOcK6~CA15A0}>y?`%jnmn^tr|!p+Ulce7h` zO3XseluKOY)nz@_KH={Y`5qDOL9pg5AB>DOXS1Z@YtmWO3$Q<5bhZJYQK#H^E6Jxd zM)z*=NM_`LGfk3Wz2L~tInvWE)f&kQK}f=Hv_qBUL_sATeoqys?)m(kw9nITT` zY`V1=UOwU7Ab1KCy8MCxoIoZ!bTf2K>lOK9qxXvZSU&w8cjn@6YIYYhO&s`u54IWw z_>*SPrKsU!f+Jh%+J6dN2IO^-hZAC@aJjE?mPzYokWYP(jvG9Wk#9R2;P5l00hAKF z2GN|JRE@?;g^U5EUUJVJKrrvrCkjG$FE*%M#{5hV7t9z&a_PdMXK#~-y?Ko9M`Z#G6CT{BDmIp`pIdg_l? zJg*{&BE654^Ya|~?eMQrW4%>+)H_pIJONLWx^Ro_?TRgm-_COP|BfMf9w){AG&&%0 zvI`gNIB0&zyoR~ioA}T_X88%Nf^nRvS&*u1?E#4HFsRN(+u&k;W`_4^mOSE@)&VU) z^(E!83>V{s6U=vIM>gFhCQ&7wS#pV|ZcR^{$ zfy2Q14ChThR3|O+dL0OSNV&7P49r{FaV~rJG0mS}TI3mi%Y+phXu=f{IoM>Mn; z!!Eh;5Lhn*s}HYs?G3lOL=3FHr9IuwM4@+n141zxeQr6`>{z9lPYq(5s_YVN%(^uu zMIKq~VMkA6vqo=QM~|P?EBwK(DHApG)0(T`F3bplx&p|BWba(QO4HB zukLPm-36ATGs&MW&w46A^SZ%q3c64Mmvl;K*q9I#R0w~`d`m4ajlT>lKqm#QSUuyl z=%rhcT)#bs=5G7fR=Id_9D9#D!n6dn&6;2WqA33GwJ}({_E|BdZ^>(qzEYK@Wy`B+_#oJFNnKj31u_x{A#ic>ZWM^T`dov; zLuVfp7k5n*@*7;3?cA`6dXSgHb#{%7|HG=jr;-RZJ_0V~QuFHQ;n}I3Ppl87Q1@q2 zIzxV6$CO(zNjuFdVHI$~BoVg%oIsY|5FLshUKDR`dH`9)cs%uc&nFPtyNAED4hIgH z5{``}n(z$SO7MuL^i{|?L+Nq^1@&^@%ZmI!zj=rjTTPl83chJGaVEh#x=fvw64Wuo*Lro`AbS9fU|Wbix}fqlDzNH~7W2N6vy_nk3{VNV3Ut#h0zBoyF%Smz-Oxv*zviTlqF>Wr-b#DJcrMOgDOl-pq!eqwRBRd)Zc!jwG{qLXULyKh zq$=C=vVBv-CDX{aF4dU_d;vjDsqBYwt8v4Gr>1w!F0if1g^EbyEPtGOf19_OL7b(q zD9YO@qIt^lrm&;F^Jl7SFE2alL;fZ33?+3=kVenc?>KqqI7XI2ZlT&YnX0ArdcFsHSxH3r&KpvMm}rBbo`wYI z;YyOE>ussS2O>ShAAtSNBY!uT#a-?R*D@dRQ9V;?#K!MSvg{zSb@fCh+K9qSKYo@7 zj>;}=@_GsrB@uOcCY*Wr#p0&Tz5%zBb&>!@Lh4DmGT0IvlS&wOWqX54VPH7fE8DJh@1&}s*Y z340)#$m7WAY~hKS5GgCKaLeME_7;m|H1X^XYH(GbWZL7S$0dev{_8g;p$hMUi22!h zzgLAi;)P>{l^pO}!4f-de?dMmyI0SmG#;n05>aXilocL>0$5|gb?CuDf(F(v?0V}gq&;mm+`MHQZ=Opj+n203n z1DQfz4LZl;XPD*i2;D^xKS434@!4lqA^J`^)D$xkay!)ok5^$U(uYjLsumz)E_tg* z{FNmek>gyNy6gso3$yk|lq{F9M}-V1o_QrFAtl$KZ73%O!<-|m$_qI!!j~O2#&53_ zzDXtCyaiU_qfk>^dbNrAb8El|_m>{LYV1QWGDOLJ{7r-(* z6gVRh3>B5f?9d#*Q;h?WPaFpHs4h>Md6qAGXQG8!kLRdP*uLxXehTq2C0+hD*q>#4v?Z3zCk zZ{22n%!1H`OufP{B0Gga$D?DOLroE^tlCjiDS02l5kW3Ck@X4&>K0L#rkrjr1MzWk z(|2oxPhd9A-*X@wRB+o22Y&b7Tvd!$b`aR3PV=UUiTnVjfEQ4|dv1wE_g;01IH*Y; zG<#(KGLewadR~L2gGH}H64qaXQ(of(2MuK;!<+ddy(u>_7{7Y(Q*rK~T1H}=Ls#~C! zcB`D@k#;p|^1ZHCp}sl5ro=WA{B+Rk$Dz#>6W}d6jGud))7d$Lw25K2_ zrILi3Jl_>YVO5$0H+H*CHLN6ub6ove%GqDhnpFE($e|$30(W+YwUUxGaQ;ry60+9p zKr*eMx_`ta>e9w*u*qMKw(W0NF35+K%_jC(AJ4vPp-B@yPFth+=l&*xA{rDP}$d&9)Uzf zzi!ZY);(%m{As@MG_Q#@lUPS>UNw!Pcw5F&<$|*c<@Z_QbwEc|LWfVh$66f0?iPJ} z-W#DUsi=$`&U0%SBnvnjas11bL$&H;1Khu{J?eTJBAjt3-v#V?`g5D@v=YtqJ9>E4s#L|SujNqBcS z9oV04lE~QWRyr7FIM6|HqgfJjJmN3YboPP@!u6Vh>}@{K>eroh9`2>&3S}7^n!Vx$ zXXV}3*X-u@uyK!TT)|kWU zM0%#iQ=%MVMpsdC2&5#cAY8P#$~Y{vx=aZ(U8=Is@rZIO=XWkxq;Jy$7Tc*+>vS46 z(WBt?!A=RiS+NU>YJgaM;BvOIh%l*M=Lk(B^5Ru;B2t|7e!L0`_r_cM!+0gyeIzeF zJgUx8hMcEFPIN(D_o6#274)7KmBBjH*$MB;2QG`TZWU8ninJf}CxF6%bH0}BqUmg{ z;vSn1qjy$BMxq?Xf=$&0j`CUyurn;TtaqqbuXG_e(%_0hc`6xM(1mx$IzOi+YVDfDfNz|4J55fNiT%26SD%!)m(u$j|LxUT`B6GzQXY(OG zR708JGRUFon3PLj9(M_-T)ZOm=tF(hCQSgbs>Q|#KAcn#7bvj2`2;YwUpwS0Zwc+) z++==Hk0X!KLUJJ~{;Na9HfXe3XlDAN{#Uu~k}0lj zA4a9jrs_sJK*+XLp5l(qi$H0>MQO?6W+#?8M)A; zq?+m*F}_NvF_wx^wf58YRv$vsY^JLb|D))M`99};&OP`2exBF!@pv7N zvZeC2)V>*`d@A(zG05?&eB4|Cq6-BaI?nsPJB>O$^Bpj(0DQ74!vB3=(J(a#voXxE zFVC1OD+z95Oa4AvMy9U3Dl;TWWzU{_VxZ+Md5on4O95d2{@PJNS8-C^({hfr#b5+gJoY}_`r=LP^#BVu4Puc^jjry^S-;6TpmKe9j ze%^xUIVr$#;L+08$xFWv57s8iB$3xaB4YD-`77vK<@7YWNI`|S8V!7@>F{mRR)1Y{ zn43CgC}(P_sF9J?H{dPyeHfa#7q40Gmg`O%F$I4B+dKlnXDm>NAlK}fqkH7=o?A=Q z_hy87M|I8spK!2*O@!mZ_tBC&+5h2mLsJYt734@|*ZBtWj{fgBt_HOJr|!|d8M%yS zEZ3wZ-4WN56t6EfpvIL(7I~u9h=!P_dLovb68KpmqQ2G+`RbBvd2lB08Bl4xUXCHp zLsOY%gxTZ|3!+XXEw@nZ@=%AJ9b37MmrchPOiC7BV=M{p>`2K6TRh_yg&>4o!2{1E zbv$>vG_oNwg=En~>MK>spl6#2OfzEOH{b*3`3n!e!UwwXWVm9Kw zCQ?lsPLz&1qTeO<=rze2UUnir6^2mK@lm45NtS4Lx+wXn0`oSEn(}94pdm>1i63$O z8u9TbK!tzw#gx=$O#vrSi@5?%G!OthrYa-MsfLc5<-1tQVhey03q1 z;c#x|Kda)|IMbN$sIy78&RW`St;~XUN|~iShdMBglq~giBVU&$TW6FozK-*BOjPzG^Hd-cZoqC?19g|6s;nJcI7BOw^TrE zy!7KS*_m#3q?*4>=;bSyO>h*vFu`yFgmN+^EFdrY%BKt;K^)ALFv7O{7w`vlojaeH zxy5UTC<52{)t}^~^}kP7aXh^q>giYKBHH{H?OC$O_?lIK{orlYMcz-4q1!I^Z!MO=66HO8Fa_&5>dljAGHBof zDa`MRMDwmhq7F)|+^3jwW!`6hbwVZz!>0yC8s-MkWutfJJiKvssy51sV}{ZgRf>1oQq$IO*`I;a3F2xt-&PX$yt;wL&C{`@mW zeJ^PBUN{h_w3l;HMe80vaw7`$8kDSqx2LIx4!@zya42T|52Qpf$M%?Oh0FSNPdgGs za@^jx=?+MZ^}te-af_D2zVrV^zHV2D`^Sq++F(y*w*HzYdu+{*eoH(XK+-(};kb1T zc1@-KdF%DnHXIY-2*38{nCHzSSa`xJFr#E9Og0t`|8~H0bZE8-$PcuebE$T94d@ao z(696ix@H23_DH1(RTS&Rdbbn@&HrWU$4NlAHb$47{=wtOgtNqEV$`J@zObwz}Wn1PkS+x;MbZB-i|Z>)ePo7 z2-L!;b_JFv()&J^+jY5kSH=bA`<&OYw2yk$-l*9UZB6yEF`A6Hf_RUZfdxKUSy+E0 z9&NT{U#Yh}`mHC&*2bbd$IQ?zql%wbGDWN7MLM{h$Nx?m<7LTxiI{Sw94) zovZd|#_3h-P7Jpze$8sXb6|{s+vd?Nc_sf8>&3 zPr9Pi6E-a&g=cmxk@_i{`?mmj`1(#km-?b8E5DT|X6j80@kv6N3F>u}#5^kL70=1J zOTOD-e!u({Z*Ih1q0F&(luUZ0KSfv%Xm_TcMU?{%;&aZc9$-7BOJP*Uo(H+o79JH6 z_EFJ$&J#N7^)5ILxOFJzZy`(E@tl1OT_dN^H)~( z>U{eH1Xmimi!f{{+?iiDgAJ|7UM@F#zzh**eOLQiDSHEA*#D<{)@{-7@T#F?d+YmV zj_R{5lQ$nFDRhI6q=LbKBS<`Lyy`pA4!c4$(Qi$afww3*H&M;e5OBJD821b$=C5ZR(}TE(U)lApCEBd zm9A;AlBw{)_Kp(28F?!6-@;~ti4WI=6{_@gQeEne1V_kbu`lcsx7o+_Z4)7=y5xj+ ztx%+84O8G9Z7b8%Lu2k8P}Sh=8{zs+*Z;|(OY3T}yYgmnHkWrw{GR05*nI^iM0#NL z8pnQez3xc%p;)iw)7o^0CN<&_!vXqhQ-7N8VXe&2f5QzF+_#gh4K@)djes>{~4TAi%3C;BJbvUfx37}7N=i$R|RCuKq!!(?xUKFk89L8+6qn#h4G+t zb@~}~MLcE3H)|^=5C>tWZz4Z|jeH3uaD$RNvbjA1(eSqc)C{qHHEFWV++UlCXUp=t zX0~D9IHD6k=kNM?9|_l3#diTxR~y3KT!&%MGA?}RDv8=*yj)$De5wP440A_f(E%BhR5epAO-BUCfW`A}`*tr7BhQxKPh6P;>U4ui2S7 zLv`o*(!*5EnaG)LuE60l8S1X(>+2S1U*IUNh6Fv_d5lfbg89*|6=P%WElMr^SIiY`72gD5@yg|Ux*xn&{cI_nPr5p&p9-y@XZ^~)oD8(j z|4soGDr`tTAjp_NduD!4d4`UjYq0gd*I&R=lveP=oO|Gd{Xl=36=(%}onsVqGQmQ# z=|TGEz_Xs}?T_fq=f$i)H+n@ho~z@|Fif)UzL-SRam7@_DBW?LwkoLBEP_?Nv?#*d zCVRr%)+O|BXyOBL1>HItLw+nQ+-L8%3x(lR@uLgOt7!1FQrf*V$`3sV`|D~J1{>=1 z(JMX!^1>=BTt5m5;_(je0he3Ofi{YjDV+idZEY<2fKjV-$c+HZNY$OJ9w&@mCWJKlAi1x;CZ-K>~rH3 z3gu?zPaMyE`$Ega?;gTT{)iO#uZb=8g!tB!y{KLb+^1*jB@xKHXq1xXaRh0}7Xp(x zF2r-q2A16~h%IoXdJG9>i>Oong)0qR$`M+8B{irH5j??Hcze#74La^t@HZmkiDD83 znx9iEx$t~mHAk|oYf#8uj)L1+>a$UElM&gMjWXdK)F}rMYSCr+Wosi`229m%6EpvOM!=P>H&nDT z1N+@Bw(_$=&VvCUBAlE(*WTE&q+cdz7FI0TZBISb(@{C5jh?X;CV5B_H@Yy`< z`ay;$_(I6@B1HZ+sK$H|={@h)Y)N!ECp5?O6k`Z_yDctmM}7)e4p2nkfPt&9m2{A8 zgHvqNhvu!O(4iaWV?GcOS#Ggyf^4}R{!YPmP<7-$kHtzQpgm{FTMHVd7BNSvQa~(j znI!%6o~br+!P35pUz~+yHq-*}W;wHL=o8uUQD1Lf9YsEc{eAD;N+suV1%gt#Z{5BH zM*vkU%R`EZP&<6_7yB{_M&7SlzCw0CTiNpxmB^BOyMF^!jKW0OmlyXxL0z=WbJ@43 z&|F`Z}pz@?bi4rYTa$Ij_+e^Jia zG0>)vfa92aRz#*C+k_eh6A+&nA*>_Fg3{}ibVWhGf}RY6d-B(RA;2Zp-jN9f`CM5< zTrVOc3?ZMy7;{6IB9stu)I&sG#1}Xi&4qq~cXzlkphvUv>4D%bS{!+l9t$xGW>hD` zxZI}eLjuX}1Ba$0_VnP{Jfdyi3=83{-u3M@jDN5~MmYsb$zY%cibP6LA_xed_zxR# z-X4+Hen#a%EfsV+N8lCwGt~@6J8rtNTqA1hJS}j!;T84EY3o7vftv=<$sJLIy%*?k zJ3?|;0m9TVu)#`<<|JC1M#juVQWggvUvU(`jSi3Cw&oBzw+*0Rp%y}g>NXJOCPh5ZrN=h>M#>+#Dx)858 zvI{8oWfaI+@X#<=2?(Sp$G%hKWED;h@@KfG!_T-ipU=kyN<7pVYG{CW7GsiRuRyw% z1-5|~HwM59RYCCMPX&0(Rh51xrqt-8aWu%XZCHyfyQ<)gXK=#JJ--HagH`~5qyzgn zQ3icd@jxU<|I#UN;B%dG1)8c3F|4P}5d0Q>0d$bk=q~vpHWKr5e-G{RI9(85CYW6< zFyBDfw`dla2NI#5Z#PDjOP0e<1alZ-Y>CLMHp~`#0Zp^G6wGeqpz@5Se+v475=bz9 zBufO*0&DpWHFC=uc#2zvx*V5I!e#WW-T1mtp?~{mq0M>KynqUkf8O59@{>(yM)Imi zne1%ebKosn|Dbf1bP8I`Ruw0#?+3@5WyzTxb+XuIxZw$Wi#D@hz8eBfof5Kd|0_Lu z%8q-z;fv{a-ePuc=vs)@WB&Po)`xFJjxMkg^OJMl6~=DEb?=yI0GDiqrWr*}CT^eZ zjOu|+Y;T%mwqm(<8fWFP0vwRO7=&loo(KxY3AM?f)?fA7eFh(Wac2<>zdb#yTx`ec z3cn~#yCiztvU{7YNMQ^0Sr~58#9_W8_h4=_4;i2uF8u|!GPX#Mo6 zi%6dlGrc^yP=TU8pex!vANJX%2oD1e+7aAc&=Tlij-Nj$zaGRYHQ-i)3P2ptHck>j zk4mSTQV%Y7<#hE1;jEd$=ex`UV>SUH{v;Fqu3ZQri6{L82G6b&jAwGue0Y;gRQQ_4 zqOZ_6bPP@Pm~jH7zdnv|4+*FJ2O3(sL>bV>c`C(D2D{IRdP~t9dBl)mPZFL_Z!$wQ z)B1QkyIwD_Q6}L(=$3{woSeadi{IBz$WUty$&Uj@3R&hHbM#1`e=8;xm+Z;C= z)RC<Zbb%|FCtH)Mr>fhw$Py#ZC_uE$0)O3=eKmwKvlF}&Shoci zd<=>vV`G$gYe2kP&?RWvFg-e+^r8bo_jLJVrpZ82ciYsgl%^TdivMH)t_34FT-qbT zX>n0DFjXN~kF<|tbFcq2KL^DELaHo?o%ToI32 zQzsa#?Z@FRn9z)t>v*HXRL*?Tqw_BGk6bh_F%3ds3dj@$UFrpOd_F851 za2Io-@9GZ#5jhd~zDGzeYFuI&^zrhJ&o%1pxQaX9qbSRSlb+Z0QW%M$RpzeuZ!bkh z?X=xJ5nyUffa(!;C+NC{F6YeeXsi&@lyst$?BtT=-p<ysvL3pT#Md1LOMvB-%A! ztGt+)qUM{Ija!hzdRcqp;)bNI5FmY3h@KSmvLQVDwJr@TQksrD^sEAj{?|0n^Y_o23 z{2DWn*|Fc)k}D~$g5071pa-FS6SY3j?X!&+Gp90Cai$8gwLzYIiXI5SJ)5wW5-FZ9 zM^GsBEn~q5b{}UClxFL9hzOQhH&6wLp-lWzwWCcTw!F#heoYaUK4d3dD>bIt+~6$> z-BV-gEoY0qfV6E4$n0~;l1Mg3_s zO^M^B11$~58{xm?g1SF8fu`EAg1H@h&2a!$An0Vidw`{aDa36|_#?_&%|=g=O7esu zJ&raHkwC^RWpm(Lhfj`s)ak%(LB^K_%k;g>sOM?!&1dCyjD#`;w|5W341MJ?9LdvC+8o1M$`aK!N`GUy{98I(dRi$0O%$Gc5L0+U+&{GE3LD zHm{bo&1v62<>}-P z5JTKJKY5_I&P}?~*V;V4%qQs$4JetLOz~=%SUp#t#s=|<&hlOaskS@YwWX3z^FW}S zxOlbbBd8v}{q+oM?Pm3>jmx7ZGG=I#COleF!|FOn1>j#RmK-+M>A4F6SLek}d$q)O z@^A~z{s7s!7Wn6&eKix3CUiXKc!K;jp|sMuFakI$|HM%aLFimH=mN|HNBgYAnV-fAzMsl$YHD*hQ%vz}cOX7Si$%JFJ&hG3(vp?U0Xo-|y zQYvtpSH}u0^y^7jvzE(~?#3$`*^(qW^R`L3|BrL@vVO}3{`yk;3|G*wO?3uD$H znJ2IIoo{iko-2Q1e=w)m7D4Xppc|f*t&fcWE0sBFGNwoN9@xVMmM; z=*`$#c+5{(z*fQse*Uy4fV+ihc9f_>$DKcWR!7r)(K69m?qjs-Tycrm^qd}&aFT;T z!#AwwLM`8U&JiR=o(b4myZV1+)Q`bdl@fF%_mN=2`WlL!QsT$StGi|F7G8R4%<$4n z=as-<#>Nn3eIPR-7i?I-e4=>0A8V*onwLhcBcxsm!EU&wjwh2kxeC8C^3)u{OWqjE zwD5)q{G4Fcwk6=k*8%haox0i+%6HN3zVOpy)d6J+7#s0`c zGb0Q!(>UvF&)_jLUgW8Blk7|o0ZApnwUuS|kG)O5aD>e^xcl_l4H}-vKeVKBNOBXD z?wgBC_Py4M3JK@wPs%=8E^zie>*HJ&c27ALs>}5T8LTbzWOjyxh2YPE>i^tl+v z2d6HLUoZlU5!=M2yt(;{-GNbG>`sLg;EC{$l18_-0 z8iv>)T&Y}V;(X|M(znod{!iCN`JCvQqP>s(^v-veAjms7GaGsoEU)f_k}RJHAMzg7)8`brqUn5KZm5LKcSo&-cmL9li==3Z%W5uD(Pi-=ahG;*#ul?Q)-nhHE>lUE{~P zMh#rD-m)ycigUSwgQ@OgAYT`ivr_gj_3neDufA0~9&jzB=@fNL>FBdCXq=teabrVh z+}lN`;ApQ*<@+j=h;)dp{S>hQYUru%_T5_Ta<&eejd=kJMOKYzz8NGlu6^H5u zqOax4hHGf)sqZP!Ob-p1+_v0+uZo6)B%3WnxOaT72t1rQz)LmO6F+i$QF+K?bum`4 zER-?aLbLgueH@C1#EUs9?Ctj0?kZGA?$EaZ^O;2aSJx3_rF@codUQQ#;yTJxLq`5G z%DlL7?ldS5^{|9cDD(C85b^*Tp%OL`g@PRfr+z476xWrp@;*4=+JC58F2mp!ssmMt z5=ZJX&!MaYH1O3|)WEfQ6&un#*A8|A!N>C(nK?#+W!XrlE}HV`KWIQio61>bcK6_r zfYN%v*;ToebCG_#*M;O^O{Xkt9Ym>5jWb?Do+qz1`$1PLKAl0>>r(j&UqgGLR6l0<;mWTjdC13yA& z9-Pn9z;C#aW*LFP*oz{;vrjJ2#|KI}xWs)>GU9V%P4;-oQgZxSe-R7paMBep!}po- zkj(`(l=t&mi|jii9ewK`1Z)d7KNP%9&E;>V`8p;Dp6hKQIaL#U=n|*n3Tp!KiM=A0 zT_me(pBl2qxGm5UXcW`~7K6%8C~Bf!)Il&hN!~E+t92So#OT>Mu>euEW-AStt*yg( z0&Ia7MpWxEdvNs7b(!a3R*p}h)6lAt`HAqJlqPMa6^OK)c9#P&u#X*VyDll}=lxAJ z2ROn+*koJuF&a)D<$htNpFAho2*oU2(J7L;ZH_>Oc0*4cej$r*uMw|Uz}sYFV-GDM zbp&-Pc>r;nZXy95R!eb^a{L2%2@#y-kz;cpV1`UJaL04A`jbnH86zd%QFNYls=wv) zoE!pn^+n@RE4H# zlxmTK(n~E&@Y2*?#K@ zU6-es0gJZuF4PDyb8>1Tz-Gex{OfDTBS`ohp7Es0_UZi7pa4NFdm0qY2mX9J8PM=h z(8o){gcsD9P?BelhnJ=-rhSA);8T2lLuS0rhlbL-qrDt<7#KC5x=v(DZMwn~3Ca0d zJ7!U9w=Et6C!SofG4s*KAk6mQ5_`EMQ;Yj03?K4_+RjVHaycaPvYfW^3g)6yc*e1W z8==T{``M$VMN3lC*)>l)72#-(-!!@f90P0caY36av;5aj!SK zgLRkt3u2>$BRA71`Aqfn_Vrs{vvvQmybZWMBiwcLapb6&Nin)=2v&cainu2d84w+Iu}g0u9}GJLwKO4v4T(7{Qp^W9W^oN8Lu z4~r&wEXdZP*(5Ijg79FmDK1fK-p?EGEaT^#thOOnEzaTj7oh*{7p}iJv}}lOS-3ec z#iJzPJU2IE_AaW?hNF_lFlY`-Lw=uvLb$F6Lq{o1;8p>-koml4IK0j#_4K1W`^NYG zE!p-7%b24^V)?}&rl~J5JYs6vVjXU}+$Bv5)B9l85`(m|^}WD{X$`6G_r252!UWa- zDh3z=$y9T`qLsgo4*^CwJU7QOd)`LcjQH}V-npSIUmJi)y_951QRr53V@PdJMZ7c0 z1J#>T1WexWU1o#ASvM$#1_09}U3E@MCV)Xk;5%tEW^W!BTACm;AO3HS74_smpUqO) zl*Iv5ou1kC6O+9w#Q+&G$!cDuPlZ!)k6O!VZz3i1u6V^jd5xpMMVHEQ z+)9tF_YbPzvd){Q27F{rl7ELS=m~|2oDQ~Al8j;Ft}}8MA0OH<5^b~}>=z!=oW|#T zcMgIce`K=K7Dt)M>_>mA*i0zrGC2#;UzJUVYcT3(rqHoW-5#JnbJ?v`tl zu)jX;qvT=dMS_L@xs9sZnSlh0F0KQ?chc>%LTL$-+i*}byt4qe*D}G>4#6+hlSA6@ zrG?Gf1*Am7IJmy0FZoJ{iH;J%V1m_mJ;@M+6F7^4ty2tsS5{c9a;fPlTtKC26O38C zwW@0`T$GQZt@K4+<2{;7Re-9Qoc23U(xfV*o}MeOIzR30;zg1$lCh=BhdK9`HD6%H zXw~h~#T>_ko>tv8QGOL_^}7xBeUuS74blF+EI|Gz;D5keBjb~rUwRMQ2p<4z5728N z>bs%?C6xw$p&y`g(^RRfx!apiapc{gf<)pwv|GABx|+S5z`b>i^pbeJCo+!}cUboW z$yP*3XGf@MtEDfrSTm4aX>Q`{_fldDYGWe}%?EG@-lA}03 zNbJ8<4bsEmq}>3~O+oiB76YS?mhgFQw3BTYWcWYx47oCqi?U#<3U(6-e)C=XsY%c> z@9K3z<0Jn1pE8`B(FC2$TlED)Z$BoG_6?EOfqG#r6|64!c_CmkL_0upegXAmtgDRok!+Mk3j>g&@VZ> zH^HKy&-tF%=<2NmMMIR@$8>spd&x`j-Wl|97mytHtF@-*a#xb`o3CC7(FsoQYinge z*jfn4ch{{x)RlCi@j6oZTza*dz5CvU_GpL}oJi z)$YIB3ZN%739C&uQ1=@O_hAY+-8Fj~!M7F>53mM~;Xt86z<2sN!)eC*gYT2HH6?EP z3!i?$S-K}D(KRw9$!~d3!OvP&MmE_@r)kMK+lpRcJ|+B-$7@}EfM*>6^KD$biMkVX zWh1~$ylO|YYF7`hZgY`AexqcGKmSJc=F{Mj+;AS%OqSB7C@dADzW4~m;5~H_)|8~FvqxRxhg;o+)H28KQi#{jPXP_ z(drbb@`~$ta#kY+c& z4R+dNk`LdkbNpaIurJUiaolsVQ)JI6tvlZOJV`VNUsxlu(`+)@o2E zRU@N7+BGpJ*VN`Rdr@v@rt+cb=w7Sr49tAqFWp2UUjgz0{VR`EGl88+MDMBai081K zV$W28u`yy(4bNJuA@J-p7rN4Ky4V*!Pz6hLNWfvH!{)`Q7&?-p>HAh_H}sL|ZBcfv zf8qxzIi~NLahehhWo)Jt{${YzVBhv=+HJIru@QCh!8OSZBIuOXdgw$*Q-KzBJoPi} zGmSeHyge11V-WzgiQy-~#wBwh^Sb4)fy|o2py+b5siVYgVecWm$FZR2z{5%nY@Fo9 zf;0e4glDEe0tLTiSHz{{-syX5Wxl;%zs*+Q=Y!j4#`R5&aAv-n#PKw1cnsYl zGi+KR?8rloGd_#3-#k$X7gKd+XUHadhxhuqUyj!zZ)Yp2W8a8YeqwiE`T+x0!Or8& z>-|^P2&M}bae8or-+shLtO@8)RKp%v!Po;?>}BdF$;NwNOwj=Q?`&+m{qMJ{Ov@(`j%U-Whpjsj7t zPG6j~T3JH8-Nzsy>M#RS5M;yUAimok3#+2~VT!x>V2>2JjalH#&PXzQ>$LGg`dl_O)ZO@*nxxp@N9yJN@_u;k9q?}ZMS-;QMxyIJSd$dz15xgeCJBkkAWLi%!cbJw@=@kY*;d9t*EK_ zYSJj+@E@KFnX*mMZdzuN&E0Hij$RO_^d9oBi4y|*{;jr0$-|}zn2U%}>6nmsEEy&p z;e1gA!#EVr0Fj2*T|xl&xH*vIbOS2|}qA$&lC>L{$w{}S*BMY8BJ zP*yhA40)ZFPR@5nw0B&KBU=`mqRf3dMP@s)-j0g?+b1TFi~n*97ZOgqT6O7o1AgX| znQwQ}*&oqfPD7;I2fpY<`K4{KSXP}*WdAi}Gus9j#-%ZrU8}e1l_PR??q>HA5wlMF z^*M;RISArHE!ezILFq_2PfuIFooF?JRESI4gbZx z14p^?+n?jR66NB$h#dSE{m%@~vT;QA`vXymulmZ}z{Poi2XlcFH461_|Ij@&v)k$^ z@GZJzy{^R(-NRUWXmVbJomERVasp7^Y$aMBy3&@gf@8USW`#V!_2Clo^u%1GA{BL+ z$)E{IMc(q91)r-qgeC`?BO=xyQZb@;xg0ksr(^MKIr6}wXnn0)5oBwEQ+&HXey4zg zUgXYbp>fa&@^uFyf?+Ygg&%ls>`#_Sol8Q`^A#3D=UtX(NY7W3%p9Ec1U_*0JU`r+$m19=_VpiW`p!|n2dok8n3&ppk820~o2E1bARPQls8}O+= z(M=H$o&RB?WwV`^>oKX^gJ?}eV|ld0^>C?O#q!g=IJZ1+Z0ZVnPEq$5rVgzf_sXV- z7qg8hDr=OqJ#O=7{!%lhJoWxzFQW4@Ew97KB(x+qRdM$IuzQ>7XXL~hEzjHY&q;!q zyocKKk(|mHilg{74mJtxSzb^0$#V)na3rX(kI4aXxzw==yp~%4`p2WJ5XvbgXSkO+ zSWIaQ3Bo6+GhfYwCTEG_CMIA_Z4WrCPG+|2<-5vbN5{-AThdbF$}bh3xiBVPT3g^c zhQRy@m4mZj({Dpqf%w#LYm=(Z-2SAiM3JVp)PPLMS+oUC6d0y0>!(gzzp7>t`sez^ zEDA{%Q{mNI77;h*c|b_C-A0Vr9mDe6oxp3UeSL=*f2zx61*T43Z#)-W#|x+>j3u-i zX=G*OA-Pf(eoisQwwYsPYDZWc1)a?i|L zQP76UZSLQO#dL^L7O6v;z;exypOxusFK@a@wacc%eNQPD*2gd|ZFwmmSZ>!X2&FqH z86CT&5?DSI8^b{9$RIWnA|-pv8L1C+GI$Sub8w}CMwK=bj9)cv*#lALYoTn7r5GVf z_^PJQ)s9gayS&;nHuHgD$Q@`-v8nNN9 zlr3l^N-W8IY^PsQ8L9k31b@vOrwMy_hRK#=!7@1#L3nIO@5DoA^=7)KChsoR(?BkA~EJQFsgM(S(-pdRZfT%C7?2 z**gc2Nw2J0FcbV7lxt+yv%6-!>h5`bcTWl&8JWlA+W<`9*Ou zaq`yC6pV1f6#ws#w+W$V1RXy9+%-tJ{)MUO@!Rv@F~$jj;*xO%xI;}Gk^|WjKBnp( z<+cr&?{rhGP8`Cwx{8Oo1r%yr4)k${SX6AvG0*4XntWc%Q4G&0XbnQ0!zN4WZ+z=I zYpy%Ncd@=G3Jvo42k?SjBIeBA0GARx1%i|u=A&KC+Czc5{@gXxZpMWTz zO^^Hc+yWgA>*Q9A6NKGYmIKdlkvfJpe}t-@xvrGWtejNVfimXZzs^(h+<4B^rKvu`=w1?Wc^8dir9=n&!?N!uz%@dS{m%k`mZg8u5djc~XyR&%hGS6w|+SvD= z3zpLeF3+!V*4g$F+u>hGvtEY&vOpsEt zn=NWA2&9N<37Mv$yV3Bq= zk&oja>pgJEu?Tl7=daMTQz`DpB?wrx-u2S1ip5LL>U3QzJaany5s!b5 zS^^$*-q`{JAjZY41|x!`*50QSfiljDBz%|(c~gR>+kXTUTc&ru*01TzE#SWyv35W> zsS~`TD~FH-I5R9TJ5AD zH~5O!3Si`*JR~0np~nNfUVsYjn9Y?c;@?j}F&=UF*YrJ?9ZDziM?seF&nSX9<3kXm zCl6mj-#kywz$UFmB1gz+&1?gIA6fsXd7h{F_wdd+ zTU<|XXSnEVmJCriDqzK;DO^ywQz6B;16&~tuyjiJzA`rSq4F3{-lLuzg=ZPZ;~C5L zkW`S=ar`|~zDm|di{fJgl;hK%l!YTfer3<$Nu=zm=T{)ULR`x6^=Y+eS~n0sqHi`N z_ELT4m?p)5K9M>BJr_T^vc8+tthseI%9loAWoFL%oD^{gUTb|Gkp=?i088@B9uY`o)PIR!hy+o1Gs$ zlD)aX@sFZ?oOT^T7Iw;YZ}$ep9kgAo5ud-aX?^SQlmP=jR<&dN`k%95Vbv2#l z0|5Yj;VC3d-_2%$ar1)-_PVa-`k%*tjtLc>vH9TF8n0QEY*70r0{kGVRPRhiZ1_pm zm;q;V)b55VE*%uGKXhDZF#*>3U!csRV*}G6zH!pIvNsDwcPVXcfx)c1C!edknP&h! zb{p1MI8h&lnC-)S_T2=HJrQ9SNqnL_9K}Aa6U#T`BqX1%-<0jN)^W*nCvT*ewkYAm z>9MM#&fxXS9@8^MrcNFD`|RfbGil zmsB^~Ps)J|B(!fWk%h#}Osao}HuK595ce&(~jH={1&K%vJNE^z1pM z{k-|TS+lJHdK#{CtmVP0kfTp0(|){E_Pp0|NV=B>C`H)fQLDx$E@nx#Yi4}l2}z!B zQ*gSLz$at&zBdhL&)v%UPBOJj?r=e-_n4Vs=Ot=*~I|!~;sSSzBrkqFKG5n{k>Y^q8+zzReOi z5%P4gcb_LXhZ}N!?VHc?BI_YmgTVT{k;MKb(^=A24x%JZUjpk`M0+d!F**pD zfHze@Qc|X5A#fU4HDYpEBvBUY2kQVJ9?NH<`mM40l>$gKSb z?B{sY}Iv1GPqE;UQeV*&G(j`sN{22utbsmAe1q=-lI({vJQRt6dBm zb00S5GIv5qZ00ieOYZl}%3Wx_QED4=zs;g3YAZxkl!{XBv95?xluPTAQhlV$CrN&L z{Qf!ry!U?W@z`VU^M0LkUa!{^s@*fZJAHRV5fQN46dpoVxg%mw0n^|13SXmHk3(B+ zhd3iox|HYZOUE58I(Y8kgV8-lpodPw8Op#4(h~Vd_Nad|vbrpg5yA?XQc4_R*3HP>+)1JXcd3-F z{;%n_ae!E2>GN%nob;iqO(aE(sxx6} z6b8DH=m?>!`3GC#p>4o3=&q^h2l}}X&*)U0DqpT$hE9pLOuk!mqt3(y-o6~MZ}|iS zj`?4-4#FR(7mYWev!lB|F9VO+`Sn(E^e3n zyrNwILWA?sEFFT_qCWL{Np6B7jM15*!;u1>PO}!^MKo%$-g^IXhR6Mbp>zJ@YdZJN ziLK(c2N}C|AdX6&Am`<6%w(EPG@SX|A5D=oFuH&w6P$O>-SP?-Zk1nJQ{VZdOEder zOL z^cTY3>g1xU+bpa-Xo`|NMQn>F#`--Rbc%uR&=&Do>T`Z=c@p5ExEzEGK)87fs16j7!Bwx7AJ@MR#+r>m&t;z%CrD=1`& zG?+3Kn>{rgch27s>Ez%E(3`Q<{eu? zG|sTs)eq}+xm>zlRQS#lk&X792JT6#kFx7cx|b>!0i}KusS0qaB>o}CtoBhFO-Io@ zeC9=_4A4X*)P;Sn_zVcf=@4C(%cCv!U=e5F04dFyHUJbe!p_^>hPyy?`RAL~VWfr9 zz2k-FY5Q_ki&2*`&2I~qJQVZM)jRDgo{VGnU`#n^eo z4^>s|Qmr%CBoWKxfbU@2PkBM7Xl6wUrT)L`aDCxwy9ZL? zp0u+DQ1NVD4BEZFQDzqMU;34rqG}jUHRW^uu=y#iqUG#S6ir4e=HeVo>Tn%sCz6$U za!(l;v*73l6Yc+ixp3kn#yLh=SMOiRit`qtdC&VR`2t1cUSC=}?AN13s}sMvN%}XG zOL;}5)K5`(0w%(X@zUORI!W#xLJ${GmCy{&taZGZ-);f6Gj@wh%}kb7yq+|&b!|o9 zPLzTD3;JpgH-GF0dv9m;B}W6xa)l%MNgggy#5LLgDDOH%u3ax|QQ7TC>@AMI(gVF? zeMO~7uM<-Dg-Oa%J# zFf|fbJYnvc2Nc%-3^Mp^b8jl5#Wd!KVi^cjV#_KF`P^^eo2RxE9v{e1g)a?(VzMX9 zt85Q>$(s@T4>70*@rNbY4x;dQ{JNz3_pjG;C7K^OWUSslOgGYX=DN$7J>0qGwlZZD zeGamFwn%SV*Vd6!#NvF(|6o0~Fj;WA$OvpFEtG$7$kPF`ICjQ%%>KPhitlAQS>F@E zst`Eyx{J`~XMMf#b*;z2kHGKvlSE;lYZmk$7Oshw;a;Z`%Pk%SgH(qqv)#OWYpOLZ zc%ual<@_!|K%b{6z{SWQQ{}9-pPp7}@uI1g{;@JjhbE@j{5y?$dKRaaLTpCACRkNo zY@@)w|Knm_a~`u^_O{Bp+{e27z6$)UsaAr@k?c13H^(ho`mT|PP?K$-Nhzi1rq>Vi zbJPf(%mdM@-AHw!aGSyw6<&+%++JGB7gUyFs%kvDQUjmi|o|e)s z!8G_7HB~ql8!98@-%^?wt#zZn&;*m@ow^`DzUzPeYYN(lO70F$OA|#c(#}=^hJeeb zpdTfaX@}E&A33XDm^$Il>lmy#*lrq2-KUC=-z#Tc>$wSiyEf4S&9``C`8ptbi6-3* z@rIS2OHI^9LRv9>I{N31<>$EGl{LPzN>!8^gZy0OMs_R?}|3V?4p^S zqqg*pmm;_z59Piq6-ds|&mn#Qx$=NvX~^8`pzA5(mt1(XD_L3(@PX^+q80Kok7z7K zME*fc@73f9iZDb97{lsojKI5kGV2>(O(Og1&1hb}|LN)0T9i(%+I1XoJF-xImo}D0 z6)$2xSUbFMB7pH;uV2bK_YSJSz0bi_Jj#v;Az=TnXDWCu^|Uu74dU|hl8Orb)YZD1 zzdQ9T-tL)nuXEbY59`&J+Gp=er}})d`4X2A7Xb^4)4tjH?TsBlD1Qq2Z!IpX7R9aQ z78D9N=I2;g6@RB>R2H|wljFnT#t+NO6>_Kt9`tTM8MmgS&NoZQflccy!Y6KZ(WEy- z>Sz8so;Z8Wsn3l*3QJR@db^o@jMxWq6@G3hHh-rlVUVn9`$O+0Uq)xAUR7AER&MaZ z?i7L7Txg#&T7wFBXJIV2$Ku4D>;ZPF=@?w@Ka^>vimm*c05xcE1ltS?C}-DxX#E{((4z39LmE!?A6>wKq5 z&diWfTzWPC>fR3w%@j}6d2Z>67^oTS!^uQWsRz-0)JQq0sKZ4S(f`eNgSWreaFb|j zxQg5iEU69AdH(nt|AAGJv7bN${YOTl@mJ6l_lYCFB;eps2F|qo10ZPc&uZ|Ad!}%; zLu*RE`4x+FtyyxTslQLNpSd~5lh1GN*vFOK0o|B%{PWMrC}HsyMV$823o4-n(in(@ z%NUZf_NhPl?-{Ekmr&a?fNp+sE8DamgO>|DxOzXiwxydK=_mWnS#{diQbtSSf619< z=rs!}1Y~*K&qnO2PD+-7z)U51n?DLW%YC!>F%GGJZ{Bu(>;6}{wOx{Qz1S6z`*6r?er?(;$x!CXU_4pJO}Mn+3~K3LH~_Y^ zP1Lj$x2Y-@T;oFR$wiU7Id4m}L) zksaPDVV@rtbYcFN`>l~>!5due;Z`|I3>GAQ#r`y!0@L*x>KYDP5rW5KfVq)&+3BI_ zMhVyijtC}3Bm>=V+Cz_vi0=WS-)ASA+o0yRGw|$Bj@A)v&}Myc$F5|(wO{;HprldB z1%KwGq+1Td&d0JS>=${>?B~&v3=e-tiX0xCm5OXb5f$-mZMqKMIdF8w!->L6`Cl8H zO=aYm#(G}ycAM8d3QD=rW|9VZUdUUNyN=#30G>dl>p*RjJxA*;-jp1(ohb;5;7_G@ z)xz0Gu(?-!pc2#tZlmuo=N+4U!tYJ&Qhtl%hdi6Yo&e~xcLp}5NTEN};+~l#cppwO zWMkySn}4wWP=Yr61rcT0l=p2t3vaD`^l$hRNLZycq#43SaJ*@=uzFY?a0lVa)5g$$fz@tW*lZh7&rybY+`+vY=VKIuiGt?WFGHjQk)9V;xX5D8ej z>XsL^k9%1cjWtE5uH`N5ipknVe)CWobL3YD9Hn@i#=>FLCFCuoPiy!p8J3l37-PDn zPwQ%k^;YgPpynGE>Kg+Ttq?MHzNJ#hUx^vyGeWu3hm+*t+&-4Tiy{JzL zQEa6+cP5(S0vMj2{hGgO>c@By&$yR!!$lcpk~5}wO>z4CnttqTfND=6*Um?>&$PD@ zB@~AClf`r+Ay;=)nl9otPW;$@M5lQdEliGxN72lsxkAAzy=FmXD^Nb|&qIaZOsqBe z1A}>L60dpNE`2BI&sn~a7Q+KcWCYS3qkw`x0?n%|3!U9{mUdU)X~w*AHG*SM_@vK< zYwtDsjZ|g!^QxL`(OIM4AdCueOgP-b&!4-`&S20;RRgXPy{01p3gwonu)?B4k}W#- zMH|xI0%y!KPlKYL<2764$Gjv>zR3Wm>~4e}^n<#qes*)T;HY4qA?Re-^CK?3X zN>a1cde-~ZR&*jcU7`g*0o0+~7eB{7J30d7&&*zU`t|k$#ow@nT$m;w7IN`Yy z*6QnRcw`$NE9@E&0=XCA#K$lwC5aR9Rk2|DvScw9_@7GXDT@Pgngab*%7YgxUuhCN zQZJ^Bj#o~NZGb^dQ*Doce;d(1%Eo5t$_7jpc$qHjkZb?yTxEeLP0rNcDEzxN0u^Ed zcTD9OQNsV=y642&nWEqIBBu~l1lRbbGwAI{IXAWa879O`*vOD4I`U6GIyWi+n`?u| z!&^cKRQ%Cmoc#Bkb2nTjDCR_qT!MI01_u0Sb3R{M?;P8dU1zu8g;W9beY%#t(dSrn zF~xhy>t(wb5@kgy7;4WnJQr)$bpl|QVh;14{hLVI9`T)L4Bad zC^qkwCD2t1_twMBV`3uNWw_XS1ni2bx=F-KGSHz8|l=WsOFf zk0v&1Bc+;Mp_4$qL-U~f1c8s~=7p>--k36NnjD{q)^5{Y`3Ab>ym0{)J_B-!MHK?J zDMn6j&1%mshWKg)U$+?rG$@kz@cb({xC)qVlA^7c#gCs8v{tfE=4zEo`SIO9cGv2a z;IC&Nra&*}z;|^zXnW#nEq+FiT0&zPDK@Xo8Nq|evH4^x={1=q`R_@NI;NHuxo|N; zr?H-c%L<6DZ_H;`k2cC#)aN5@DFqc!NL@j-vLD$mxI+FecTY)mg{8fw%_)>~%1$9! z?z`L0<5Gmq#OUM6gVI5_Z{@!G^>+p$rTzRdoqwKCdzsm<)8Jm!+uIMtiX8jLPs4LJ zcJ0LN^z@OdRL8n{+W6?KE=6C8Ni#%IaRZ-Qy8TEH+=H;;ZQDM2N_JIb5Q?)4@j^FM zswX#hLOESp8^+u5*)cSm1!_B*oE6>5oY?mWZvBT(6`l!wxYfP|i8QJg16XucXSA}- zRWS^OWqrVR^I)#mBsx8&-(u9st#r4uTT+PGB{b3rs=NVcSRULN_4r+?v+7IwZ6f{} z@N+_Y{~(T7h8f-zAZ%;-n}i`?uF&?t=O3P^-9Elcli37$YB_iGP;UKHh*sM$oDvNR z{4W|L@-x#|5O{L^5NM4`yeQB;^^#7aYp6qohCl0Mzr)G1c9aeWVi*m^k_WmKjXPqW zLoT1Ez|9KJ@=wans#Z<(N(`ulD;celw{-astsWqf`@7zaY?%_>+E&pXp}RCh(;+Wq zO0+<|9AB%($Y%h_5Q(n-_>pV>c=L=zu{tw2INCn2}H zV?MB^8w?frq@PWDKq{xrR*sz(9Rv4~jeC3UAL!(E-FVk#7J0DuaW9VkZJA0s7OIBW z1#Se`n5K1r3&2Xv#hjgYPcn9KoC6N1^+A!!aTb-eSGWbsT(t@=o#)|FQCq8DOvFZk zdcEsx$!E^|xBY=H$J%+}NG$P`-wR4VowgP{mOmkgkS+90K2M@72!6th}!p zalcX@JGs8A0XOkzf`jK)Xpo<SmTZnMq<4yt zHr%%6Hg}yqdUI!|SBTK@=Hd8qzu-6X1(wTBl$FB*@_1yU_x_+N9m6tay?C0OV!IUr z`2^Sqq_MpIMb~iHv2s4yTS(*&Zg)u$bnCZ|7xWIELe;$xTUp1tq+On~ zlcDN?Vx-_vW8llkHHhTc*?@cvD!UkNb*e%F!t2C@dC&~h$VWUZOL zx*uuVfud6YA>-oA!>XU#)vfH?%XqGGow;C-Bj|CliY6c2`vM!$F#WN52{{gwVwcFs zC~~?OUzjD;biDS3mnQVylHa5f&xK{*NsPqds3%eO9wF{sY6`!d9xW9)X{w74=g1Og zOB|yJ#j)VKU^<)*O4zF^i#9k*mL^`^83Q*8;B-CZ`MxG6IK8^$90l>Z2Ar>-nyJpR z6L}fhLS!NDY8q)@!GFNox^&Sj*ozGDpCE~@fNQ`m?Wef~_0CysoJ=n;-Xi8XUvlF- zN8GgS4L)cjk{{o$nbML-@(Fmz{!=a_aKQr5VG!$onxMx%-cr*g`2&;MTrrXP&w`gC zNHbRmTm!xaPOoaF_migxGF++23&3(s{ieNDS>{CD{_H{VNR1e!ipQ)8{YN#_EOX4{uiq$ZW!}u<+#$_M zMOIMCd0J#eIRcFPCf@NBk?KpWNn@#gln$@hvSZ?NA$Rbfe*&{!PiEzHiYZ@IA@E8C z3q_>HrE2O>vy4>V0h&*|uEFm9UMBnrIM{YWN%&IYMpHkjl59oX(G`}<%m_q)?xo~*eoz_xqMazSCQ|LzFe$&Mxc0CRE{BL`%| zRirs&h|sKx>QtC`RVH#siT4fvaXAe-EVb!OrjGO z#}%}^0f@6n#BE>@U_@)FG%C|Y*R=_-a-iFP>h}wPup%vb%9e>}; z!m%h;q#UXcr_Pv+oIz$0wC3iDM9s=hz|=oVWG8n&A7_6D0@sadH(6q6-iLRV0SFp3DQDjj!fp9c>V{gSrpatCzquZwq)a#%V+}+ zUp{Q?X+Ss2;kw+0sSVV9_Y9$>ym%B^3DI#-Zg>kHeKGOK7<5AN(GP1xBfDo?By`sI zG2U9OZ4sbe`W)xogJ;I<_TM_TW$r{$+1to;KD?2va-7 zt*Af|o?R^|slZPZR&cpFcyTaszRGirO#FtDUt4tYqo$u7;8GzI8L^!zl!=at&cNBp zD&?c81KdXa+@t@?Tb0-6$}P|~&L>YC8OZI27Rdt#MC1Ue0VaYSi{1DOPa^;Vr~^(} zGhEz&Z(So7*6hwqCrc^&uMf=nE-AeoD0r_d2e2ai2J$6*sYPW2P)n>*`9J_wBTPiTE-Y^oup!%8HiZ#itjQ#v7Wdu>=Lx`2 z@Sji$9iF_3`NRH)T*O5@>A{OVZLJ1;nD+L z9Q7J@_*g|QjOJmu!?cKnTr>tet@>-p#j#Ni@|S%y31~L1!8q4+bZw;Dw4&xqIgM;N z83BEP`keA%w?Xd;%d~x~Lfq)5I`+bj2b-`C2bqJGXI1;%N9p~ROfw0MvTzA+2;4gAv zuK;%e6l6h!Rz(ikjIlVyhyo}xD5rp~W|<6$RSL&qRqMF3cOL?oovApP7&N`W#$o4pX0lGEic2gE@96bF}%5 zczpHQ+%(74z3{^MMntR+tlU-f=?y2vhtRZ(Pf}XG4*9WZn`wPIPIeGSTM5e4GuL zSj}AJlcNZMLPW1|6_CSSXRh!R#h<&D=Qv@iS;hpg`t{*4V$g9Fof#4Ux1lp#oCqR1 zQ;7^$E@LWE2=p>$Dw&(lH4g&Ku1@LWoguG&e*H}~Cc z4Dv8)qHqC@m4G@z}0ley^<5O1I)2hKGR1(1=cgqX5J2H*HgxOfd$-8 zmGW2{DW)6j7iUL4!Li&p_l)Q2E&;;BD3$m9oZLy|^Ew*H(#ZbG)O5IZvvS^<=Ro=2 zZ{RW4ljN7p-^m^9J-0WK7W=u1iK=t~SvRyA1#4_fVFePTH;SjG^%cCAB~{`-9N zj?*zwto?*c?J#yVO?r?s$)G57%}%`hl%c!6$0)&T$0(zPYqs6ElonPpR2kCKIIZSj zwO{o7YHB+}vYvAx%bdNiH=!+4*lC`Xt$uL-x{XclW8`Mswb%^&5YONcbO>(zvg!EW zH-Z{tl=W+es9E2Z=_bk73$9;m{gpS#6SA-FG4O0WIB#6^^0L&x-|aTLNiT>83_9=p zsFwoTyIr~C{cI5U44_O?cQ3lSz^CtW?xdHsLmjnp=lCktx1Ei0{zcKgr5Y~S8LvxZ z7oE&2nUWoV&s45ztJ&9$?6??0CnJP@=AAReLP!=nE1X0FyV@*rOvuIt@L8@s`Ruj7 z1;^3Aie`K7ZX=Eq>(M`-HGzjVpDsM6z?F(indTLBcAZo49^P;C+7Gb0fLxg0V2XaP zrhlDHXkInw*)=}~#>d{k&3YQLR&%z+2(KNRJ=Pri)VeBwg0dYcBim$}kc+1w- zwxxWFN-z5|a$auu=*84MMp78P%i+P?KN4)!lZtTl36Ad$x2eh&Wr8u4Vnpki=8SA3 zQq|^@ww>+f(%mi)QybR09nQv|dyh+8d!vn@pH+zsd83l3*b^(~LobhdP(rSCDtQ>^lz>r+X+hyTQi{;r~j#-rEhwQz`|+ zDX`~f3-0*ia$@$u52wHDDwli}2Eeoj=&%gfhu49y33}?-|9VS8Am`eqGt!ZS&wv4- zQuej@LNg_9{7tZFvs(f+J&BJkzsPf)j!ohh0%$HO3qDE1WrY?>$up%x9z$TcTRwZP zSci^BHRJ84nz_Y9JNAX}Sf8Rd7v+CuZ?BywBr2!t&&c-U&TFckpREG`*8DveAH@Id8eSIaXD)*^2+=Xz!^?mC4lw05T zukrg{|FTlh1^lNA<%CfRRDC2Eoa-kmXULH{Y?2-)k`!_Jra~nmD@aEavs?7*>xc_l z#R0H(3BuOe2%byCw*=)BY%y=zn|+a~TE($sJ%K`r^&#aF%e20N9|6yv4z?o_pCMB# zMLMeA@fYaHuaeu}7b*RFDQQg-dfLvGuFBeQbjG5!`_oB5@*_Q z@5MD(KZd`tBJ-&8!;!168~?tu%C0w?e>2E%yDrjXMvu?4?$wZ~IfJciG4 z^gO$K<<$M@#e<4&l(~r0s;@P(v(EajE_N+L$L+k9cg2SB!RRK><7u69terEs4NC{W zDXoVLT#lfZ26YPL%*bY+^WRYKI%hU`Ud=E(g>?A>!0GQavtW=PKYw~z`yaC%zeDq{ zxccEYk0lLu7bh#PukC$-`}a6{Xw7Cl+f1hssKSnkaezDCdOduE<|e~_!@TY~q17FG z&}>FC18O5js&GkWN<%tKnT2b1jRqjCC=(<2DI8W;{?=(OoTA8VzSmP5%|L@pF1)@d zkol=3v>u)Z)PR|7Y2zY`sL;*DfDbbg)PTgiP)FrcX2%6zOJ9mKl!S%oYce{z+pQCZANGRVs)%gF7H zyBE~aQJP}D3(7w;Mbh%}Q7&@TI_CAsh~BRJ+~6Nzi~EyArSJzp1m16@M^_81s8~r9 z#MP6*17&7FCt7QSJ|2Qg0j{|hEiGjx8tG(Hh_A73OEewb)XhU2Zi~{T%(gmN^9<4K zd4FAbs$C~N7kwmaVTBLrXB^!`$Y?|t0u~rj}qh+#Gp41J_iUs>8XB1iq^Bgt~1-`rcejTjI zC(HhoJu)a^moRmhPcc@>x#t4=1c-V{HQ^MSE+enq_bb_`WW?_p3BS`2A*#p6+_Iy> zRjkd@bRj@60liX}KYjHZD`!`lHOcx|T=rDhOB%;oD%-d9{F#64QYr=mQppX6;l;=k zn+!SxRWEf}=Z|&mA(s!n_X@z$UGS?=PWzi6w>kuB)}Zb%Q-A7ycoP{lNqkSW2rP_X#{ zn;{H*nYVE<9bZ>XtpKN#IKd6r3G9$G6Im8kLdXDLw}!4s?Mm7aPf-|8+Yf zAgX}32Bm?kl3tyTp>jY8=@tqj`NCWM&CMcU%w2XMC}jDQgn~2i+{o_9{2TI#^vIXX5$xgG6epswd+>>z-CL$=UE z%_|4qN!qtmBpNpOlWJ?Ght~k9ufpMRG@2sN0dhI)-HxTKt>43c5C2;#k1w3Up8TCZ zj}n2=86w&HZ9qVIsP|zS`9cn2<^DJLH^bR^#L~ypsaFF`pRmuktv0MbnTome>a%(h zwLey>Iq(ehZzV8=UFC^B%s{-*12`5;2@vU;r83g0@Xrw})}5FF#x$N2;k2LGNKk(1 z8oQlCgHVB9a=TnJ+E~=DN4{o4rbrF?*1LzX@Y0HI>X3F+E=f$Ye;bU^@Ep${l_}hWKaU9*dzfh zUqW&O_urK4h2yRV&Z<;WfdpD+4SJDFpzAG;Tq3uUjd{s=T(~G=T56#&@+6BhfEfnZ zpu~Gw+~^aTif)7Q`&$=3!HaaNER@Y>zMz5g`R;MjMc?*sKc%Ft2MQs@i)kJBUj6+7!8$}%o&6Dhpu$18y6 z^1W-DqI^pa=jkrN_Xd1MXTaSq3mz1a^H@fhujpsjL(A!w>48LK_4pp;I^%&azb-ps zC8&DG;q%hVyW70l&eLVk_ku`Qg+$K9m$9W`bdO{7w*9!oa%zS%fpXchKmsW1dwPY2 zNAAuGC~>}+ao@R>AAwIq`gF$bfu5Ia1?~ofBS}`Rp~3iOPLLwS!4goaw0i3)Jia$y zx)^RCM_lq;OvDZI(_BFzTc~o@2_SJ@`>Q*5u%jSQ+Er3iWA{tmRNA6oxCj$0H&j5x zhkiyZD@Hl`c0!~jS$k~b|GdQ_hb4*)Ob+-fnRH3@1{lIGmkk0B`0qU~HC&)6x#lSc z0A(Q8fOAnHO};01Pn}~Q`+k${0@$HcXcA2)FFp38{?o{BE|lJOBtlfXwQsfM$0RAh z`lAgHk3D9!_i6+Ft@jq*QFktpEfD||#-&nNehPw;7{~}4aYMRq9D2%=WOBF$XCHD5 zqL9pk1f2D}2CTlhvfu8=@Tj96>9ALn5Gu!7VF^&yD6-3Gk4`6+=U8)w3`&*LTb1&A zT@t}5@CAu{4J%(;$R6ojdUh+BL<*Qbd&3sy;U|Dz2DX~+tG%{Vd?t%PKyhVG!S^p8 zsuZ9dBA~Z#*}OF(p@_?uKl*s^itTz0eo12$R%nHG&!m-S+3YS&laroV`Kog$9A>GI znE6?<9rqw#%(8Zy!IhJ4`25P`$&eZk?-EtPF*LYQ#4x3d_9-g(3f0Dfa)52o3>uOk#Pi*NIvS3Y$g< z1h}(#I?uq;%k$GSIX&XhgC(C3`CH`3A${`6)WcV#tXRVt@%wy(Ht@FpuF6St&dD0J zobPHrgD*gQ{+QDQ9+fv zRd$X_NDPlyhR2|_UD|#qb?xo>F;eNO)0cya=7q8oF?WcuP@{s4MrQ;X(~5i+bl8N{ zISU(?;vH54I}3o`?@Fj9)NTGP+lOTzT2op=A2%J z-%`1Z0bzeO?$UZGsCXC{&ONPw;>dhE2^ZSDbp)yGhXpAbtlU7y(7aC%{_`}1vw|@g!swT7iieo0SaGp8^HS(E+N~16?H5V@LN%fDLGC#@=nnu* zf5*D|{owF#Y{M%WrH|W`!)4#Nm|9Rs}z4ycE~ zJVga3Jr$SU`C?LikX(J@=gup8n_-lc-l{6Nf<-DAuTDo*hxA{KBx2Y+VCM)4m zUS9}Z;!7TmyavdF!nchE@83+kyEOI{y~(mv^@5Y!sjFg>h=F2A2JjSD{&g_=>u zb&e>^pihe>vC_$d05cxnL>A)G!iJ*AHDi(Z2z{*+m39<#@q8FbCC zYQoDx8Fy*A0s_p`snO&O-Gwb$KQ2Ojf#7zBfr^m(7!k(3e<@QNJ3H464GH2lq<*YX z-4)q8cP>Z#D3C1@8K#T(8n5SiD!2iPlOcDY;NaW!tMdY}<&+4DT@Z-g;z9rI+ee$Cf?kot zit)0)5_b#&v?}CUq}M8V51k(h!Rz~UjA-fO0!V{ADh`4ht_Ipr@TIsK6#Bt?IX`y2 z=@&PNqN)oC0PO>}9MP}*B)iJo6eAog^Iz4DI5*b%@`EM+s7zdl4l$K;dL+>2ZeIGL zC|v@!kQ<_%eE`8?S#3={5k^VMr-z>@hWnPfg`K|PZPwm~Ixk-X*rVo=^Rx)Hkn2&g zuD#M{U=BqI6YgMJSoNznztVEZc+L2X)r-m2!WFt&vHCW=OPIg1t<8)ISzMD~q0V;Rg_vc*c5n_{*ygKj90z;FYdcM#r88%-3 z07$d?;lExIAOK6|N}awOKl;KLKX4cL;*WNmZ-K|Wgx94kZn-ByrNMsicFC)26nwng znpNrl2A)VEb}t@X3|u94st`Z8Q}&(Ex{s|u(p6~_J%u>* z(o(@hbh7M2>lSWUltcAaFzcJleiecnuzNa+1)U=@;nt8*?VUTh5L4}o>GF+V|Eim! zTBo?NzWNKqqlm0!ohwF3UdjCQ50SHne3=C&CCt0+8b@Jk1zzMw6Zk`OpaERS|K=hg zhsbCfx4$y$FCJ=a%a=N$f2u~MhY)39t`TX#j57w$+T7s#o^dst?b0e2d`E%chm-DC ztg`24bmutwdMgXmPpvFsu+uihkP1o%%gZk%(k5H0n-I$V<%Sp=b@}n@(#M@oMsTn_i z|IQ7rk#XfzuY*_(O@Cb&7ulbnVv89r1N{yWW9BayS_Ki>kBVlAYY(Hvy>Z|O9ki~l zur5M~Rl+$KsYKy*qjib8<}oyUn6^VFkRXl`2HDzaMuDSTk#&tl;AlNvd>0b52m%cU zYt@2;&T!e@qFoVS;Ia(ZIf49(h1%~=@FQ>2O4o;Lx_g{gU+t3WX-PLR_0z~=lViRa zO8B$QK>yvBUJZ+{lus1ODEs)F7L&LvIe_toIPEI=r~X9^3oA z`k*31|Ltz4u%L;v6`~}qRMW^0a?{7G%59GUjV1R@Y9$TI$36RJl7G*QTUM%HIvX)Q znW|LHsNZZkShB(>RP*_|MbX<^|EzN0oSGHuf%D*={2_^T4hSVIv6jDEF)S%wRCfU@ zUJ84}Nlt-ewPY7k>y)!H=I4;aSYpSz_tC(gj0o4%BYs{|OVh0jG+~WL!50fdGs$uU zS9%FH@Z_-+$UG8+hT{l#X>0}|q3;ti?=3fY1j{wJgd}S1x%{>isrO?QV3UEYZ>O;` zQf`Lg-0+dbFF%lag(r|Zw!hZcp?-txL(=W5fSpWCQXX8k$ruVA3>PrhJ?+E1GOi-N z(YQ@oGsCyo17*uf+6N^LMG~*lYcmi&`;PDi$*fH9px|FCgexaGEQBhZ)dKxn2uJ*a zt52(W+w-;l@rT@&6iGfVq(S1$ep*MQt46o9U~NZ23W97N9T@zU)BQ}rbW*pJp%P_Q z@YECT+TylkY(UPX5mfzMWZ|*m;vj?XK}uN2H$#N1#@?&wqekknxkuNx2FzxZGr(2D z*VFM2`u+6gyp}udiX3{%3)CbNGGVZG)dTwv$b*v$olZZFfGzz7R-g+;*D=FNM11CH zbdHSiRB(s}pm3U?`~?W(#b_E956T9eIBsND30dC@`GFubqGGtgckfGZ`pa73GV9|N z5{-I2Kwyf*DntwM!e4^5Z|eN`E*bcA*0rFqfmt(*Zfo$)^Y=!ZEn&ZgpSyUeI8e?E z=LsCrhkm$ZX89%@!JeC@OH{W*bF;;K#S!mJhSOch$nKhg#-yDbXf4tUfb47y$(d_d=AJ!!xjOQ_AwjlMbO{+ zr0K>uSjSiZ{5@)IXUEOXZ*9|dZx}Jo&R>yw zUnm*9cUKRd|Ad3Hj8W=EV(z}bACM`y)qHtjSQKbZC_exkzOS~zFIg(7->+#_9I96g zHrWe1M*ueCIUWo10d`bMyMjOhV%dh(yJ3oTY)g7Osp+>|ID4mtQ*(PiAu)dFb++f0 zEUZW=T;yET%p#hng|j=JLE2rGQ3ppAZS{^Gm!NOMF?WphJ=i9Jdv-jQKk8H|Z0PZ` z%_GmycqY`&LAlHRyOb-S-ASTy_Dq!3ch2q2N9zAUlOYfCGPLMQj4VDRaiz_B8kkr!nh!r`j53S7 z-qGde1eCa#@Hbxh#o){xZ}lE&Qhqzoa`)227}ZGCSU=?ZuC6OE{cUHJ4OYxM=bxkl z0uXpfe-H~_JE=YamU$=$IJTWr(@&;v8(fhh9H`&Az(^X7ly9^g0qMtRb^Gj&CaZU% zUjO-I=AS{40%g}amzC($2*2eo1M>gqCjEifn>^_?Hh*R|-}ukv6EA5aP7?oe_4d0a z25MzEHJaxrwn)~+#&pcPRR^?SJ&1X!5)bp{e1?txY&|}#0+`>2(sy3?hxk}X#LrD8 z{jZA^p-;Sfzz_DEj&UoHu`)d_m|MOif5z9-rZbQNI?*_?z+#;T$iBL&8M(%?~-lup$aX?n=Zps1LWs536JfUM9u5Cq6lbNG7E_$vj>@t()2N`f$G{Sr+!+#XAGegS6~a>|n!Y`c}R@s0t~v&T5^@QE7sA9(S=d zATPK&5Ju_*@fbK`3voc!^@nnbZ~8~b%YksTKA&>yGPLmq5Gcn^mxzGNpYpM9&&Z>% z2v(UFicPIXAs{_5?u59NgZ2QYmxn48xx|d^&VO&E>r!FQ(I#`?bud#^Dy0W30^j0u z6tL;d06Vz&GHPNsMH&dU1b?oUfS}dV+5I4S>>B9K3I%qB4=SUgcb~IB-vhUOdSlbU z91>J6Pr5H00g`Qgg#z92zuxK#PCugV2L>g*(Bvqq=syR^hW)R+pr=-)_Li>Ly14Wt zn0+rYT;eqc`pWO7Dny?!VI#V5;Z5v+biMMp)DdX+4kZ z5&*RsVR~ZdgUx}HL5{T&>xZqDh<%7SBh9_TkiCbJx&18IH~{YuL$d2PMgR%Tg3~3%01^6sfG6`-40q;uFoh&CV%C;^HLa0Jv0$YL*d~qSgZ0~?>Cu&*3I6-^ z_}4>hDBXf)Zv$p;@#~FFgxz0Rcd<-%Hf&*m0drHl!@9J`L1<;3BW?M)=t9j^dxagh zPsZ0w=XBLIp9g`I!TXLxx0-R6KM!G7c+Y{Z-q%c@FHP2>(G%Q}Jo0viv}Vm8J~DEp zUg@t9Epios6;?`uK&t$8S4=oz213)ysgY3ilPiHIS1abArJEk~v=N7mc430^d{yrJ48Xiy^vBlbxX@y~0av`D$Z zE(-9gCCllC!Vo=eDHSrG_%{rWC^~smq>iZ92!8uqkE<-rO;uKpK*e2EwjAK8&~~Ms z`*YoBUNVm9O%>_=22sV2;+*xOVQR<8bS@*4aLBNKTpC4E0 zRnqj`Z#yxUpl;^>r2k|7DgA(x=bB9eSYp%lP7s>s@(YP!?N8DUTww!iS?5R94Sd2) zb|PE>hc`iYiI>C+zE@DgiSzYR5UgN~xk=7Q+)%c-<%c{uNHKM>>EOD>_^03;Wh=bDKN5 zYCd1q8cF`RgHEON=ILGPPs19ykdzheq+@p@ua{pAbszRRf2&6Y2xG;K$ooH9ZVlt% zr^9^R;nosYEVCWCY24nW%UF1$IVBz02bo@`gJH6EP8UM@kXo=uT=b70c!~U zV26x8w$A$vxuB#YTj0Cjqw_$k%~Po^mW)A;m7(FApXSK8@YH$9?u57SPmCh+QMn=h z3(n5V(lOUTn!|1UvkxE;A@2!w*{vbOo0(^)5nd7Rr1fiAi9IEBxf7%*s~WV{tay*J z$2r(~dco?GQl=a5=G;$TH%DRKdncFeWsWuwDCG)Rm32%nkiL6B{U6y^{Tu1+`y)U~ z=V`2Iz)tL`kuCh?=TnC@R&a~nOAMC|YVYDyag21n{-&_t;>|sKr1GPQweW@ys&ee^ z^auDtrMisXuG~F+|9gNzzZK|Yj1xwPwf){cm2XvOGD1eVnvd2KClUGlBi2-4hDWo{ z9It7$pmArQ+KNSdKe9c5Y<7|CvxSUpp6DFKm_@(s&Gf#$f4#N8xdeae%`K%*dT(7;M)j-8y~@e2PL zKkgw-Y`v~JN&V}}nc=DFEif563p{HHDC+|lA;plb=dVoLZ->+NF%~pd2MRJP#}c34_%>GZ`ME>x zsdMB)^!50WXAEO!B~_O5!a;1RGj>-h66AMW&AQL_Z)cb5zfEU3!&`q2~GXTl3Z}nFks7xO=`9sXoB$d4R-O)(xwmR!ZZ~QtoI~L)L18@Z8My zEAt3Yc~FG{0JLu_GaPb=^7j3Xo1zC|-qeTa;{}R391m<_URhn-Pxps}@v^=I+kc__*p7ttxZ`##u@m z{Gqv!NkYiKc9iVFBG1a$w1WkwvrfozejdDtDw0%imfdmTd0!K51gtp%zcUO8nKYn< zrnG|UvZ69A%$2;U(l)LNNiFp5vc8(0^kgtwTHb&Z94^#!IAEv#Hhm9Xnda1&elTx= zxgo(9Jd!LsF`ID3Ea=;xskf%IkR`zg=G7OaT~M=lh3D@DFAf##!U5jz30!x0o#sqZ za?HAxaa|-gCw;*euv3NBlf{D?|CuPs3~IRX127AC|L4WNIZY|-SIy0XAEUFhmM;MU zK4e-S+>s<_f8TEx0`JL>Jxn4+JgZtwWbmye*Rd-7-$#|V)L7x^R3-lt=%9BBqDIl{ zGd15gpn}*~UE>{Q?8Pjfr3lQc7EV+Wm^2d~d?QA{3bp(jYt`AtbqmqiEe?fQ@pELX z9_$e$<0=GfNR2W!JzaER1a5xbMNvB?#n(bnN3qy%7a6KZRn$;SHs@b8RRFcP_kj)7$q4y;E_@_^8>A z+K$cp;kNxV;jLEu%Nc0ZoIn0>qieVb;vbv}-HA334Ebfendi<-PDCDp*MfKnxnt;l zvT{5INP(j_mP2)hIMl}5K#!mRG87~elrlttmev@Pitp!Ab$m0`Y$nvy?(By8XAX|t zJTWYlpThJ@{^l~#MIo`A$X|*8F2l12plz&1T`$?C0U19gpDqd1fDIyCk7}E2%w~$&|9hAS@u!++a31#2vB_39E{=XSqdvOV#96Y~9YBDB9oE4&cva3$ z;3R!jNi8GrwIS7kL*HoS7Zm{MrYrT}{Z&VH)Z~mpI8q##5~}&c^UYjCdzrm9(z~)A z)+61!v{)Vbo{duLxo5E`X#`6HVwDNURAXOE$8*Yxf*kwq$8@m#`q`&4?eMZ4A*CPs zf^JouRohvYHejrHaO$NYdyg5+AliqQOjYiz6Al{7AX)U>?Nh%1#6Ed-y=f>(=vQvj zA~dRuX(3rG*l6kfY16NCi%q44e4R9m;~GU{fWu95I_Ar z`MXutCoH4!$uB@Z`%+|g6y&NF09_mP``qZprGocMZ3CY{lxT@ zi3wP5v{=MCCLh62xOw++6mYi{*Jv=ocAt~Tt{ro;5}xS#HwNqY(vw|lc2n&S%<&@V zrnJBe1|%KoA^>WU@?FP7XV_gMk;N$>F*(9IDhip$M+JF7M2@*#fXg5vx+_STYh*sa z0ijopcGX4e6-OOiJPRV}m^06H@oV{cQBiv8evfXv;< z0bgL$oKHorqH-L3-A1e7VJ-pbRnp)aD-`Bo{PLJy0R>cLWT=Fu6HU zC+74Q+l1?{x=uj@~SG>rEqBpC#6X0wmF-%BQr0IN)V52t7zR)lCm zmjp=AU9LsHe0;Qayy^h~1Yff(At~>_(RJ!wU(WR6otKGJ3o*oP-2TkxyPRI1qxmii zLz;#-)?Ty4!zW>qsa*EgiF=Fw<63se>@Ut%5cvweQV2!`b!+5;xUAFP&4o_B&9#2kW4Ak@{} z6OisGqx`TS5M!bch$p|lFi)Qw%Tw)MzlTFA7$)Z;cH3xXxjwXS~DvcuP z7|=k@Tc9YF28t7DLe~htg=uDm)^5Lm@N_r^Ec$w_h^IaLwnbzOs;hNP4H3c=8Jt;~ zOtv2d9#wj8!e_%ce-nBgC}Lq;k=Lq?-j4Sqx~-a?F#YV=Iax zAHzNCWD6mSXv+92XzdcX*oNr{*STE@{pQyq41oQX_WS{N;EsWT(29MJ=9&j(f8Rvm zpS*K6sW9|e%y1nXSuBgmK6vYf2q{C$wQeYxqrauAyhdXbpV0rHyAmQKF zS>%Z^3+Sq_z%D#OMIyg)U|Gnpoyd*W_hUF%HvP@7@?xkJJA!;`*xzm&?CTq{R(#oa zzuPgy7aM=k!<%E|pXo*T3-+|r(n)=Hss*odP7oZntGB+iXo!tT+hYP%I3s_iBTkI` z`{Wixvu{DY!WOvi4*Uw+N9|%qI5y^JP4fo%RhDjEF5Heab75_ec!el}21GcWE&>ssS@U2Z{yJ=h9-CWs4X7MZLy-_ij=U3BD{U*V3W)jhZYE__ly z+Fhjnpzt0mNL?JETE_q@x1p#ul*v~e7j%>KP}&+U&lzFxs5UgO$6D*$rIjbf`NeL3 z5Y3(3uGXfd{HYEB?c7HL4hwR}_-a_5kVdCOssYLZXbEyjp|2Rn%_=3!Dn}k#p zRbOpewGl!qo)le_Z8*2f_DS){#@=}Y348{j8%}86fIx{aqF+`-%o>GoV}kcNjnQeH z!=>F|yv#MFjGRSZ)tuHGK^^M(^H<+=F4=(WxW`d}&6(ofi$u_;r}ZD0p{34*%XO2~ zr%yuWIDE|;J9dZFIN5pySAG;7Zz>--=xaTsr3?Dh9$S!i5{6|jDxWLDgq0uIsey2* zZEXwI?}Y9XuHY=kB1D0vw+OQ^$V#~vIVK#_xwnaTagH@gk_JD=EG!5PxZ<@l4U@d^L~CQLp^iv<5<+mC6BJ)&caC1 z!+=JO_T~6RmPeRv`~@6KfATOT&uZlC&$;RVYMveISpcE{C7{dQfBL!O<$c|mcxX$2 zTINefr1VjWMkhB%y`-&BqwJlfQdusZDy_=Dz~$jWx1H)udyJGpt9HuLKDWjD?Ogdr zaC2+P(u#|G74dFH&9q~GBA9&B>3+}G9Y+vJbP4wzfE@@g@|aM~UY?05jTcQ{hy=Ae z-Dib;aJ^dQhUsLP5fh;%k9XV6>^cHJ4!y% z&_rWf?Di+l7*bB~DXqf+{8Ie(x`u$_6TT&dPej< z_FA#9FTyf+D)N<=ZF+ZZCTTnWLV6+)dI9?{0RYQDWvobK?f4Q=|E1{=HU&dEJ+BEt`)~Tx5$cbb^c4e@jo2sLemS!L8 zU$Oii)7p)4(YDda=WKhMI1oB+zpTh0(R#E(~-2vA5E!NS~S9KN>%Eq{bA3_|5yKNqt^xQ_W)i4}rdV>V0kwLifrv^yj#MFh6hpf3tSX-fTrUM+z={=s$bE^dN}_Z?o0`|Q);BH(1w_uL znfbABq9woxZS8u-rm_GXWo1UamQOPH8i8%pyR>n#5+3#q&i!E9>qk_a8y)@o%R4)- zjnD%*gMm1*K*Pn0e`=#okLIK9m>*?#8|$YEw2b>f)Rf^~+ep12iE#nN)8g7XV;14d z1ZCF6w>z0Mc6H-e1Cv>ZOT+%KvNF~HuH48q+&Mb}kc$kC$Wk?u*$Oh+P5SEosHKJ` zo_wxD+ke=*zcfe13SBS2oYxkN)HE(Jk4)V#!F1-ziN@Oj!-m(5y)4Q(EkiwM_&Sig zn<_$OND?pG9mTTP2UvPWo%S}2=a$;Yvr|>SOk}EC*HQab!Bq+|)SSuJv5*F3Fd-1t zAeWD_2KFXM4-aVq_2u}I0P95n5-?AUwFavAoNgM2b(~xT1rqVWKA@+7s`mww`_jV9 z%Q-5a_??`5-)&}^xQ?0+n)iL)(DtL>K67fmzdQ#71HVfn7sjqwK1fc>#~e=3I>Isp z6;B4x420*q*_TKX1_Cm)pU4CMQ!{D0pix(F)_CIq!R;zYMeu?e%AP((C~gaFt)`d6 z?HF&>NGKfy&&mYMNuN&x?mXH!pwHf#At8Br0Ncgy<1?)-Mz>(#Z`=UW>9T=UKb)tYv1ysF1dJ?UFUZHPJ!6rBIFBr7-X-SI6CFwUpt@nhZb zXA;W^onw?l<-_v-@ia)ZZw>XbhhT%ge>NtsQWCv)BGZ0p?Ta!v`Oq!znBDG~Zgs!` zB$FvSsf9#Bq|X8Zk)Khy|FJTf@qb}}bAr7S zux+De+nvTyq_GxXyScOkuhy7{7407XIZ+SCG*X%(iya__$g2D(#$JkgV-P<|3~rO% zsw$1@M6xpfS5=2JE_JCw8vAoysw~L-Oh#%HlI73c#Y*ciU^ia2(({1Wsu8~TL}nE` ziW}w4fwaU{-2s>^^y)5zaSnW#%`3^zeAWh?2TB_dD!~s z-Ixzy;9bcsu7t#hJQGlW0x8_FBEv*eCHllf95ec5=w@y-<*@}&Ubyw&x7!2l>zOOR zGlh_b?+~kj`5C44eB-iz2ISrgyIhglKU^YFg;{f&K-OO~ifXmT6PN?f&BEw)>({Kb z&H2j@d?IzS{MjI_V|f0XA4Big^<@tvu7wQW)Hc|X7~VIuu6%T(cdX!Q-*h{*;go?g zZGHOClUrBs4*UzE$%&i~WdQv0_q){o%mrR)ERemC$+hsrz<0k8-kC>XRyVBaO6Pk4 zp^kbcKS&e@>=%0v6Ft7l%i;8_Gs-rd(F!f`Al_uUoz+T)L;3v+k%QWidB~!Q&eLF& z1mG@6DncWJ_x8gxbO+}qqT|5;E<+DzTB!O&Hv0swf4B%hywHLr55VJ1RiL5W;ga=|J+R$Dt< zIdcw)+T|iWkA=WpcJ^XLRxYt}^JY5M4|Z17>cF>Ow(5%kO*>soxpr$eRhHas@1Y^5 zWpv?f4y9iBm*?8SCg~js4G+9X1mN-jsj8u2n0M~4qULOoX*eXuw`Cc|Lxh6vjAtDL zk0FjErgS9khSPp(?;#~i7;YFosdnmssDSZ{WJjd$kDzDqdeW8!}Zqcsv7EbZHi0?9KsciMDm7!N2pl}gd|#Be#^et zv;toZR3Yv{d~{0FEm|F)q3E|JFHCEdphP}0p*$N)S0MkXlPa(UEx6j;=AV70g&CF^ zUIfh)k0{Y!dKVb#R|{+-W)B-g9KBoh?0;&x!3ER4Xox;k%{o(Wr!JfcRy<-`RA7eS z70up;U6q_Lv#alr$pMOrRJj?265*|~P3L<)2-bG61~c$F*4>WH>P0GtJ99U~!%(-6 zc1W#wxLaTWsuTt`5t6bo&J-GZAwE$i+(EE8e8MJh?$lC*`m{|qw)J3k_v4#~wL2s{(|^3=;1%iJmyfTt=eQW89D++W zQPhL;D5sM@XZRq=O$P~Nh#m@v0C4TJB z+0$^HB6Q?{C#GUN^WS}NCgVV2+7EQ3%5z8b*99R<<^*E>TQD&zc;E6EgZN_@@z;pJr#{}-Ba zYHm1O2b>`Cb$120>~neTYv+nYy?%^pX<$Mvjc>5f%cBgvR^Y<=Le?JazoW*Emz>-h zz7D<5y#BK8oDVZ|moF5SwBpD}&Sp7(+N_^{n)D;^i0Ni|l>d^jNji|POqJNX6GR;l z2M50zG=v(mebNnNB>jHzX%G*KQ9cGbp9$|g<+zdk}`C@eRqe#ZfvX=;-DMrcv3`Y@U9>HH^ zEF(W|NRO3S_O%M7;;dVoZ(e|Y1f)~Ei;JF5W5}I1Os~OWW*DUUYyRu?EiBH7;ymY* z-JByMPKH=1N)niIg2K>T-78=|swD|E6_jo}<(ZXE3GdjWoG+eR4p|4?33FW8ReY4} zBU?k!r!1eT&tRHJma;O_gCpN2gpwI_jhjC)@41K*t_F*n^>3f4Y-pJeo337m+vN0j zWT1XnK+d)*oH)Y$@Y}p3Cv{x#^3x^G^hIUp%Hx>D)5t2jv@{=yGjVThI5|}ZjzQ8M ze%qM!?iBQnA|BfQ`zqXO^M8VM-H#?6H#Do3Z|T(~9G&xiT+6e6Q`wM8nmB{eS+=nb z<0yQjTlrTGB?o_)Qx!z%I>R5-zRfy*Wq@?WlAs&vg+EEBP$2Q9Oy7}Tg~k{8d9zjj z4C{vekdU+y@m&Nht(6dJ2qU~hBb(APq?)C@|GI=obpG4#AC!E zGf$msW<V9vn^LlOt*r#DfhyPam;5AidILR(;Q?IV6tamTZ z2)U&mWPK=XC&%B6bJ@02SuRs`^@F5gyO@|`Wj^zr1C{)&A;(|Wv!0~#k|e#~o<->0 zwR?4I;)j)~gDCa3Rw*~->_sHwQXUbJM947K2rUs@p}PgjI?#ln9SVcwsS&VNP99M< zej@Yoz^25%-05I^fxtN5RfKqo`p|Kfs!WmCn#67{X$!{)!P>L+EwP4%z)I`}A81vw*a z{e#>v;R%$}eYD>pY?&q*1OJfv6}3*`gCcoHi~bVK><{nKrxRE3OXp&@H4FvpOSka| z$u;SA{F{=!661V)yrs{6h)Hf_+-?mnNBSoBXuvQpf=N5N%kp)fJu!qu`<{l)yHE=4 zQP=*5TeJmBj^W;jl3w}5d4QX6S>C-J&MMisd(}BpsAyb|abPkXvibO`KsfSi-*+dh z9&lK_xzTr`d6bQ-V0gMp*}f>Y(fxdGNy_D_Fx-QDm@cDsU4u-ryG{~AjvC4s$SBK{ z%Pg77Az`h6XZfIvAz`DB5(8y6{^IP_c(1o9v1sDmhhtC#VzxdbskiAY&oSn>$56Y$ z^ExZH*>myI7u;yPoceRmq%Yuj)WlBd32w1mLjG<=2(Auy;Ygr(D3`iS&cWn)Q@0c$ z_G2$r#YH6LSIW-OtOK9#GnG+j9f(T>gsrysdVdGt!@fUjIS98X=3PuZpM=e{jVhKq z@&esDq5U7ZQ~Ao@7Aw$%C|_f25LRv-Zp_mTs_=gV&OLz+kUNxSwiBLMMRj{}Hg5+j zoGl4G`Mi>Aa(QuRz1Cfd6h~z;&gU*8Jc;{HN=iNLiqnV)Ss$t6wj{2k4f};>m-)^O zWTvf@(+qfVWkYE3&XFd0DKbrU4Xt0Co1=4P4n3?~Zm}-xFxoB@-k*zHZ}s>Rq(I0Y z_O3@y0BnwNM=zpt4S1-^Irw5Lqy>qDT?nl@BxS%Iv{|>M>!wO@DP?rF>QUn4ggZO6 z!qv`NGB+U!F@#3U9Q6RgUyz4+nO!1ThOw}Sm+0Y9cm|6w}q z&F-WmF)Ez_NzOL8-@vIdLTP9EP)qKIz>|J6r$<6=lzfsPxq`Qg(~`%!!hXd?tD*9v1qHChrOo_%x$4ZhJdo}Yh>#r2Or6-Et>FQ(qlnB@ERWA+msMIDH8 zxPl?4P~H%d*=ZQ{!a>_Y4@~hK;}{pY#b)CgC3O5W`w;6~l7!$l`VG4H_$P_if1_9a zgEX^for1eQ(IeVwC82bPK=mnuSNf6E5}F8D*3JJU@wSxY!!<#lG~@I~kQC6rP}zBE zi|N+aawSOOC#WdI8d#)<3ws6@Et9+N!xAsr0xmZrZAgJ;uv;A51R3=oa!ee!#536~ zq{V4T-95=p>&oiOakGH&@OS;^FGao$-D9F~V|yhM0T!uXWH*PA=7U@WxE_&p?|(zi z>%BMK<5weY-}G{^D^{_$;Qa%}dBB`6;E@QEo_xEa;PKfN>>$>thkyvjcSgHAB$zWN zx$yo7YIa0ByujZco_3lA&;61ek~^Iz<5V+q*lJ&1?5i6CZBQFgGad5)cKx%dXFcq3 za#9o<9rwaB)c-X;ZXcx(bnWUnIhghN(!F0Lma5Nn6niHuNFZQG!o~lE&5qhgLUoOg zMJ-^?Eooi5A#VZ7KGTW|!XYoQXCE|*Gn`T?G9(@`a~Mit5^YykV-`!TO-?HF`*X4m zvYR0ihUFGof7NNw>XuI09F222rgpZ~y#rn?*{nXTa}%Co!nJIIGAT-%IZ$~YD=SV} z_xNSF{)J;C=;T+(VG-g-D4qQi;*$etGZ$2?K(=pO`v7?Y;T2FWFGm|+VVLz;2p7trp*&&aB0&F0s`(_6Ff3q z(h7d(sT2N>B_Wl4el3v9Sb}rEr^$+H?FN6P#SKIIPP_#L!UtiYP<%ew+fPLU&9`)U z%)b}_D_^#Fh$Sa$MOw?r7F*w&>~yfJb%!}Srd*GJYq6*jLE8Wg7z^Esm_A}9`%UNA z%Ar21L}~k}hWH)P-^On4PY%hdi=Eu)>0|FxRSP8)Fa1j}ftGXK{lv5d|Nm^$FAWhg ze*vho4TSPxiHQ0lM^znFt`>7QFpk{OfV zf@Wkga6S^cBAHL+D_IdCHw^rTuIV^j{@&v~nCl>j8WzN=kKg5;VLIkI*aFO1=`K?L z(6J?wTOdhb_olN{!66U~dUU2FXnh76#(zj(=p%u)h)PWu*9XmxXr+zPZb35J7a)7^ zeGf{i#b)H=TA`ivwEuL)rb;`^a{?+|xXpJEy~d7Wd$6}JEYgd!X*`pJdoRQZpS(^Q zUv;5)8_JkLRK%s*Qd}!ivH65Wx0G42oV5HkDY6>f3Hs)=6(MZI_W&Pn5eqr!E?h|$ zAl_>UQk9Qj)Wl=+FIW74M8*WGzqr9ebB5g~wGQdgg;h#j<=><`bJJ6$cJU3IW8pdU z28m36d1btz@5}J~gCG&*^2#eoBmRhFJmZvHLwIS9B&2%7^vs-ja>ctw`QY-onZ0Zb z^V)xsSzx9N>Tk(a*{uvzhhs%Lwm)KhcUo?%!dpn4l z*ISj0Byk{fs(Qy4jF|7T`3z&!eFqce2SUm9jTe_tBGQ8U#k((9sR;8))>+Uu=#hDp zm_LDTLF3v2s}FOC*Z6W1XteKwqRr~w*qcGB>mpRmmq`>$F^)|5^MQpIh)%``eN?_Z zawziKW-?J>BrjBcDXDnM7}dN2KVm^d%{hpI{h>({%Q~ zZzoLVS`fd;z_ukcQYeiZcy@(^gOdxLa*=p@l9HG=e9ZUv#DsJLLqdbZEXGPAB|4Db zp6-6R>#E`XW#Sk>Cky>?@sPotYnk9Lb3-Cc`;6oWn9aQw+_3&nhuFl$soKZVVBZTu zZSoV*A?(O;)S>ckA&$Y0|2>f219aI)e`{8pUg-F$ZJBz zX|CDFh)-MKckAW(s1)Z~h%=t$I*EHH87 zJ3y956kS#L?+Zl+?d+B$3p^_Pe&X%QNVS#{q2=1$j%dNUugo^t20udaAzMED37W8_ z*eRvT&NM4&3z8kOJt$5acDOsI7R?F zb%?J4HThEHZmELj)_dc~B|~Sff|#Hwp}?BTZJAOgbTH;`hidk?q(w<9u?(`NL9-5? zafU>H!#(Ec6@AoytL8gTkx--Y>fE#c$p3s{xL1}AM1x~r8u8u%zszF2R4C_EBP>Q6 zTl3hvR;*(0@AzMKnPLrd00BamNPz^y2~9we&jIu-R&v3Fn>3CGksFa$lBMf-cBPnZ zjup3n)=`WfAk+(vELy4L>3nc=(peM`H)LP!gYUDedq65G-shhum@k!4bCw)(UUb0# zSZlI8i-b|Espn1|T)lo)d=uLkb1tpg3V*Ut7IVieVzgQs;Cj(H;!V9nLLJ&k)<71( z0!Xj=X1zz+zA3K&%*;Et42T90N4LS;d4ivqomTKY?Z~8B4S}y;vEj)Du>OU(+jYC%+700^( z^Hlf1PL@8F)?!;7-z>F%DiO|E+m~h)Q(Ve8QXp-u(5Go5-5S$vaTUfcuH;S>YVO(s=D0aXnL3+i*-FDZtxxlb6Bo;j!qc_Q<7LiC74*&YqFd)zX^xf7(k^eG{##ri zmF;)9lCh@I;SmFjK*utiRna{NvHEReAhxBB88KOwwZ=|u&E>tAbNY|*l+^O7wW5W3 zw9qOdt6(0ne2!xNad#J{IBqp|ukK`7=LEqOd*q;c&_sySF{1SS0~aI@&rN>SjWp`3 zc<%LP=YZyD6R!q?0OsRt5GM&g_GcLDVY<*0SbxPj|8o1p{VEZ0WLLDqkJBzN@V}J@ zuPMGk-3hY6diuE3h)+eaJX$o5z+*w?y^M*vJ;$eE@1-VQ&3%!%Y-0033Nd5dpcqvy z`*3BLV8suiK9j8cVL&Y;u7#n^qkggLS)DhLxifa^D2u5hOb$Zv4)PjlV!FtJPM3JT z-ZWu0NyD4fs4F@CG5d^|6ay3P1euK?+S%HdnF0zpOeD&Ec0FjKCxyrIajjTk(+w5% zo5fD;&}5{_&4?GT;JnoP@B&qsA=#zuVzJ*K8^we(wC)r;b5+D;E(t$jIZt7JgFUtF zynIw{vGc`ZSSbH)gw`Dkd}#s7ygHb^blIQ=uy#t86A^SKecDiRQ+)y$Rww@Iat0ZE zRCG#0Wt2r~c;UG{QE}C-y4*lob*brvGkT9rgi5+WLaFgcSzVJnyIgf$C;G-f!5W*! zcj2|PTANe#iM3ZD${?}PjKsu&rS585F}crIvX9yZr3M;`* zYu}X`c(TFQMkOv-y~J$^XMC2amwB%fwUZJiAi5N z&2-o7)?^>ix0UA>!UFI^Ci^5@CymG@H&!pK+N-Q=aY>0W;(hCGDIQLP2mb-_f$vA3 zuXG?kIO|8jM``I#Xq8yWCTWv!BhY8KB&A$t!i;aYzCt!L|iH0PEnE zZ%G`JD^RXrV^8O6nhO_g`9_})yDRQWU=hvEJ+}DUKs6%+&k2iSzq_#n)9-!pb5X&x z50_7o>CgA0lDRnlf5?_RT5m5 zu*#MlXN-w#<|$XL_Bq)m#pQagr6brmR6|IeZ34l#7HU6&e2sE8fjKCwxASd(PF$;W zEi&3wrkSk;_~HXfa_uV``ki#{D6}I!^^M1oF%>ryOP^+Hf)8e22MoD8d}7a`jn`Eb zTVi$yx8y=rH;};4>>Ig%e+ab$;b!EY@f7UpHBgoSkEp}?TAFLLHyMDn{m|Bkitm9k zL{)b>ftm4A!-mvReRAIDOMZqGTM)Hc317A-<|;|A?#8@ryNOSOTbDr7{J-4i*t!nrVq=4z5=6}W zOr)-+_r0I~qJI+$UWXi$qB-s#w7p~F@);OX7}#QuPda7e*8oCq z=O~LQlbN#=ci=~b;u5`Z)44spC^zfpknjavoEdckU@A=8UGta3H8$lBkjaDTq}!MmOv;w$O9}QI?j8)sSQlc?Cg!@cJ|hMDunu$K4$^-yMh>2_KCh#B z$73LTV#s>E)#@%nU^4Hpa6^lG-dQQj62KpfK3&$0%#atqj0iY_6(9>gF5wg4w(qgU z{Ek$(ojhcu$&~f0F_~=~;P!G48!xMF@G^dXE~I7u%F(LJFG`0B2A{2G0MJ=Scb#MZ zPPqT!eu#fhR(F>kdjI!(2u3Hg106bUH*C3^?honwbVB}aTgq`kuxMgGxOHy8waoGm^yu$j zY8g)*KQ68}#Y&4c7nxW*2Nu0~#Vf$|+n&B)_+1D7r`_{z6~6IFv6@u;>s-Z}>3@-j zC)!=qCQ-@1rT};7eJ!pZysqf>2gYV3;@X9|BY_+jGEVd;MgeR(r8{cXgCp8p!(0>2 zPUUW1%GHJ+v|G80^SNPajPzUOb}OG^u-~lgf{T{)X@{{e@zj>=&o_{t{ECf?lLXas zGn)qyU|Wy(PSnSWApz><^R+=M7b|mdX-?GAi=L4_XS{9*(@umLCx-RE1D1sz`tP|% zO0Gv&=y9tA7^>|Pb3Chk`|S4x`2y@mgoyw@r1TBen+UZ`H-Tm%?W2!}e@X=|RoBEv zLEb}H0I>iP@dHHtH)h;TOVk{aQ#JH_?+?(4i*nE(-eg^KTb-1Z@6spMLbj1=JiUWm zo5E8$GaZ48HD^IS?WRfZHF$nk=aXlNJ9~P*>At08&pQDTU?J+TSD4SF{}2L%u70v=XGS1)1r6E2uhI7^d;@;tUgZy{ zgbb~JrCCi=jzmO8k^M$}FULY%W{23W9=dxJ+Pn=8e?3SB7GJLymorJj$``D|LNA-a z)P^>L{F7rdLX>q=TiCkhLJp2QbgudVqPYVglNo%y{xR~;@62})BN>#WTaIfchdiYN z?Q91~F_RNC)U~KwxkKl^9#E|Ie1>| z;#y60TgMlbi#0wZQfBSwd3_&_@A9&}7#P;WPXWcn=o0|jg$vM62!}zn|`$3nAW( z+8Qy?D%8yvc(mH-gzZf$IPk$p|MIZF#mQoD2pOCk+9vi~J_VHS^SbA7#+dTMuwB~% zY4l3?y_K(Y)y^wc!J6#u@kI8)w@GN;G~l;x58P5O&e27N_N&r&c{;RJ$8;dBl`Kbg z=m50-K5YAn8|hoXiW8Gz%r~toO-CDIkhW&6{x)aNwo-o*u3Q-LoYvMLcMzspemWTb z{dD&N>7Z@~c(>T)Zs09@2x%NI7w>YAV`q_))1m}znDpfee7=Qf&3V4Mdz6esFcJSnChE#I7`6E|<{^x1Jy(0T=gcSa}-! zuJs2Fvn&LgZRQzXJUu6E4QwOenFG9uK&@P^8d8;sk_y|!gL#+uu`Ci187KO6Kw~ZX zX8hAA7HVA3rY~}kQ>9y?$ENmc6c|#1gqHVdFNh&08XcNckudg_gf}SSucYKw461AL zhCVQ7qF4FHQ45IGD_U=qi0r`qy7|8{^eTk+JdPBS3@8V)p=uv>sLAGc8Vnlj9kw?My_%Yx!FTpZlrW%z0ewl}l3yIE|s4UGS z+)Lr4!MNI-m+KVOC3IN0Qv_M#C|nKfy#vVYKq)pdY%HRqKB zNH@R&tqW5w3z$5(A5t1J>&@+@tu)J|`=bpFq>*N=QPX6y;)?Fi)iOXl+;!t|CJaVS z4~9!gf71)q2FCGlcna}>3+1A*0v*1jSPS$I$yR)+Kn;3|`!8~-^8YwG^Ju95?~l*E zn}xBD%rLerjje2DjGZAnWgGiip^+tJFk{I!M5)NWg-{47V{Mem(xOzT=@X@r_SMh# z_t*QJ`#!HfUgx~deVy06_xX5gXp)}hvZvd+em1@Hw=fFEr=QUXb`1(FD)VYqYi>OY zZU}6B`+Oo;>T!|f0Naby!`pk5EQR{7>%OX0yDNAjXKWQGXrX`3SICrQys?mc^a@J3q^eQSE3GLgE{giNcR^YQ3}U=Q&8XsK z?Yacsb8{)}L+_5cgKTEfpMpS)S(o4~MLtNB8CODBW-gvMY1W|!yt(Fa<13F z_}e*}xmRkJtnxF#aM+Z`rN7>-5Ihl!k~Pju>LMyBwBM)&-XCgtRiW{$NAW~X13zOe zMzL$B29>yl{AySUE*52~ zB@LN?K3Fv;R(r3EZ%W01HBg+1WY2vgM3jpuLX7u7*VR^*1S|nXoqTqNWHmi>Si$nK z{9A=LYV+}}J&Fobo^tq0HAD6PwSm6Aa_B#3_dp!)_WXz+MIsRz+8@b|<_|aQOhnfj zc9qHa6v8vdx`udPOLk~XUr70Ah=!+*yF9)Q-7{mD($jK++ltb_JC+{;Gii6zJFPHL zYA+gAtb~?2hYfr{03LQhZIMu3;^Ue67N`P_Y!EHXz)Dnt><4}$T;P^NwdDcidEZm< zz}6fYs6J8N5jZzN1rX@sH)$o+@-iC$k<0qke*kAYBZ2EGKy0S`Fkplkzx?P;%h5(b zS-GzX8kSad38)~cz5i!u+ML{8f@41ey_|fji25hnkFG)4{wR4eZk01ea%wYB;0$`;7MF3mq7&T#5$vqD z{|*CS_8DW$b_f4{&cu@<6=g-=>VM-FT-V+YT!U*b$pD!zF_gxX=t=!QRyp*2eo41( zx*(AM=$EnfM?Np9&F3%Tni&VIv!|Z zbzK3fSkV%MkukKR9|IVv+$>!fXE)svo;^c2X{VPd!+$=t)1$m#5RjFwN)hJOJb$N=D|4TDjU-Pg>rI zFpVX3!D-@2I^c5{1A-A5ED4UIRzt-&Z@^PWptlO2fUXOT?GT4pCjgxc=Q>d62~$Q9 z$kJ!;@3tb#gh(o=6N`Y4yC7&5e`zK`k*@Ea(R${7CC`J#M(bbikR%7*aj1`WTR}f^ zvk=e2)aQIk%rn>01KRJHKKV6}_63OanjLs9K=T74K=7_yh)|Ptus?cW%7|MOYH*8C zs0{dUXRy&oksj1_cB9PtqgLJzP@vN)77-Nbg-bUXkI(gIC*ETFa%R5nbYk1YNP=h_ z+M|!!Ol$ldjNi!k+-mOQ8k$V#b3hL=`B8;2lJX<^I?CO&jVdiJcjJ+`4n*AM_Yj>; zRx_qsFc7~^Z@$sF`ulHadH(q^R4k73XnE~j$~Jc9%T@Cep%W|BB^^>6K2uE?tEdO7DW42e{^wiYOk z{ZhKI6ll54sn+$`F$9iL{+Ot)jR{4c_8^h@%5-#Fq*k|%h1$FErL#i}>_4lQ#QV>!{q{R|r$nu*AwhYjUPr6sn)Y-}9X>=Ln2 z-tSk0KypxWI7V+1WGszc6r&5&OD%tj!2{wC*0aO{xkHQqZ!t@;9h6Ra znl8j#0i;mQVyrG=2A#;elrYxc?fBq?w=uggsu*|xd6zimANm!%2n=MSlVZ?j3@p_R zZHAuG5OMU;Bs3#n3ebN6CE^#DJw!1_P{%SzpfptEcerTwlOQe04Mjo?ZToE^P+yQZ zT{nKz7z7X?taF>#i^L{OS=b=gBgfU$=mC!*S0QLW6)+$ELC-~>v)VC%tVXX@(xYDebk2LP~ zz^J=K9*WP>YG8YHgg)C2!fmXlx+-2z)J^!`-7Wy1n;VJe`ACZU*Km&>hlQaWL;23; zH`)85+WDlbIvpd~)ktcwc6%s3wMRK6wHthrJ*wBVaba{BHf5F|dU;0i9e$1x7kaier6O;e+T|9tRcQsvN3W)Rv;Ni?y*Lm!;CiTCV=dIm z63{Jryf-4P)8bl@mN)7{^SuXjVtYB}Zb-&g-;h6@aDldMP{?Ev|1l42e-&J+P-}nY zy|g`Xje6+5udcLzHio7oy3WM-<7p*g@nd?W&LWL7+YdE&Vg@ZknL zaN}kk7+GU*JsfnQmZE-`odP9lq0C20rw}`6KndNYuRLiXUGL@mLK`2e(oVb%qU{6n zW+ezu{{b+Q3?l%{7zoWjRl#}eMt^ifkMEZtLxlcb!3&||9%;tG6dky}-*&=ButK%A zvwvi4TjUMY5iN--VTp%e8dFbBb-)U(kM@W&IylnS^^?#lMr{QKjS-_mG4wFc6C?_F z%2h{cT_B*nNRS%YGXBHh*W#;Es^V; zOdN}N+7y~eJYC>ws4?K=xnvqsac6S>%$h{le-ag6?Domodd*5amjG9&-k6%Fo%#gm zN|m*}SmhJN$8U)mflu&yEiLufWk_5n0>4K&lsvHY-)z>gsTo{rAs?rb>pM!Q*tHov z^S;2a{b4c=5o-i-!#(Fq5ReQNP4Vpl6I@OlBEHR`Gy6d3S|FfB_=GEjDuOjIH={04 z#U+97u818%Owl3C+fgH&?OnDs?R3UItt#a9m#iM+Rvs4fF&qN%1hpzwVp{;+xIwWz zzZ`{SnC{Qls~F>3l*3hLFvX`aXeAcnBsvmuo)ewZs>?`qPd#qG-$!}roUw2ROjKNs z`318Cw1bf0u~8#j*jFqGXJik;TnA%{sS0*)(Uj?+vPyp1BQ(3>ORoM!^x1H9>3<5P zQ$c7%)Lp91tzqG5?O5{-=sRfNmj%dd*bQiKlLyiKdJcxv9%Cp_1HV&kL|UV6HQYtY zr6wTY3P>yxDxMYGk?Fu^fUnN*G(w@1BfDjoQ!~3kYEngHVrWDDtUyRe__|b< zAmUIJr%;n9X|4d@eYGlp+?kDvV4#i>HB+E!vqw?RO`^=;;vS~GS%w+oGm^*pk&!w9 z896#^wWm~VGj7j`5~D+fOXJI~XZUq*=vFJI8ac}O+c8@38#|KKxINNzQUS~V^X|(g z8wIWuCaS9h)j$#=EgPzjF*{!ZoRgRKALs3?z(7t^cFVW<;Et>HPDRa~vP@rvL&P48 zSADjEKNuI1hgL0@N&NB6jO;z#?^6mv#h>&g=m#YvKL?TPuuD_~~0q){s9L6cI@6G@GCg^pG z5!)9`9R8?k#I_1X^b@)WO^{)|Y=hpt0ChOy>~rZl!1xx!@B&CF%o z(1evhi zmkc$uZ$xj^_{O34@*!((l03u5^#~L8lbioiy!C%adW&!Ft?oQUS2=m)yOU>4c0WNRQRu2Qyl%~uw!7DR_bKdT zD%*F0?NO7hVfMWF>tR4=BF&a9)vPNNWrFLf?TEs%U$Osn#s%Ptu1b)j_gX33$ERKd3J- zfmTlOZUZtx1Fw1tH4vR2vWp7S0RfWnu#kVCc>%q87q8~S8?8fqc9dJ8ppV3+2Dx^t zt*KiFbBlLh6}vzrZ*Ux(mPa%qk6^&Sb6?64kpj+ruX9G3o+oq-&Wl5V`IA;n_eI4{ z&)p0UX04K)bG91a(OO{dX<_GTuUM;=(|PAjhmEok%$bi5X;$pF`t+|+tCShR0wjjl z@ML)bYBX(qgMa4~a)DqZx9kM$?ILojG#j}!|Cx4*Qw%R0gC^yJH(8Cz7nD`ZJU z)PGf!Kv)9Rt^5?d2{ugVZ`QX`W^CPL8$y*rZe9m?=@r?{uqY+G!u z(ERpts7FKD^E3ZEHXRNgDfs8tCEoVj(cb2uT8ocHg=nu*+trT^t9 zBi8Od3VEaqaIgp#fSMfR9XoAy>%iwuI*h!6xPS*e?4G{2FNA=-5iJm`dW_`LOJhq9 zqucIQZNT>VixyH+_b1AM%8-f!e6*|>3Io~xBDVQ;O(vH9VqYnOvGfs5#JiZ zlD=R-T+Yd3;cbGnBWU@~AWU4z%0dY+UsG0ntQ`nE%z1N(c8-%&+hb5XtZS#-;dyR7 z`pQ{9A<@-;!7I3wJhb(@sw8&imCMwhPvqYiRO}xW$eT-B8av~#_$QBk#e6^R%fbyYugm`h^jx7Z9-JM$_lNM|rDPTRz*by&Vcr!fQwg^- zg_>ALl7hUwy6?MC>7wBfE18*yZo$uLdn%|Hj5y@Fbmy>|UM z5@p~2YPol94t@LQ?QlP6FjbBG6L#2frx{Z1>tSHf!#e{P9r-}z>Yvos(FW`?<@%ZF_qqBtz3OG3E(wmfk-DM<8)45$ z#t9?tx(fg!Ae7a}3(Z9v%qeE=aCI?xYknUf#VFHDKS+@#yywCMKWcxStkwwZaJCE2 zknOsqH)9*SyLQI-g9lro#_!uxp?eEazkxf9w{0iS*^+P4KMoe7QT%7T-87try^-cV z7d^cP!}D`+d#9-fho0M+@JPWnVC^-#9r+8Imzrv?cdFm;i<9?w_>E$DEjC3IMTe?e z7eM0FGa|fz#iDLdl0jRmCtv)mSD2F0ot?a)(k>eV+c1!dm7Lw><>-n_rG^5Mi*r=^~#`}WF;4tUM$k>PLX$IkL${ zE{{5qK*&En_x5El^z*0pfYwfyZsD;bGe+dV_YsoW+^pLdmb{a~QN^3)P3FFBYmmm< z!wA|`#Bmwpw!Mb8ANgZG;lZ|aGtJnwV^OknwQQ1eO`6Xdh;cWH581Uke zvYQB7*$t~;0O!S5n69(@5iQwoZh>r&q60|KoSa zsyR{O9fli64hLU8AtxKVv)pqlTbxS`mug4B=An&QV3>WlAnQyyT%nGZc|jJ@rKl## zyr6-4Cr8Vs$3?4#71s zB!em8PCi(@^_R_xKZH6qP*2L@mfX6??8SC?w3+4}ZMkaYp6+pvmG$~6*~S4ZZn?I* zRsSy#5DP7Ll=)eK#NQ;;`jrHi01v>to-BsSy6jWCasZjNt^x$VeI*fB(iQPF>5~LT zW!#$M#u#+;yKx{?VdUe%?;V#w=BI5gb8TgIEql-{ULs&;vy_7}4(tk0G}~7dd900n z(Kr-T`k{wxWB(>rfFj6Td0h72nd#WH^NMqt07a}jo@R-+K>k@#~oY&7-*E}Jfp<9cWUb0i=;u=yQ{9*Rb6p(AMkV2!0|`j zNWccl(qHGI|KW3}OC%yEsyglAlxyMe8jwo3k*s%%JUhH7UG1`V- z#&ckf9)D4UL)>!y1*4($xTC@HrhkuGi{U+<%g#PZ;{H@INbZbyn&(3V2jRj9s(7C4^Y+XBH(>%NGJmu4zz6BKUW->a^ZgQ$sacw)DK%8<;c|lY%neIoq6GuIh zK~W1&@7@VeX=Y@!8mH@D+e`I?ec2)QGL}v>W93B593(CUjJTNcO-{rv93%h>b`8%U z4w{#%B`zBy51MC$CQc2QUGoIeXlY$H*@IEbz&+__e-=YH*KS3q*AB$&9Z0ufN=J#g zb^j-87Q8#)D@hR%b@mF6cl3OzfE4&HYC}sySKBglBS3>nVhjx~bo|a-6lUH> z1c`2@p?H4QJX^B_CEN_L+iO*3Cs{lFTLK;ExTK`MrU$qQglYw)NOb_0!Z^Xe-%(9` zjZj;vopu>};#1O54A8N^#`Lqu;hxLZN~hztE!>$Ypj+grv@ndY+|R{S+ik9x3%M#s zW?y>bq0pmi6`?aw?;1fj%oD%3qZ)byVX_he2N+15IvDORCLKl+JTAVWE*9^8Tvb7h zn|2Cm^ehxuS^LsS|Jp+Z`DQB__wwOnO=1G%q@qoNdeSf;x^HE>&EQa-S;Mc**Eh#p(5C_}N`w;%=--XF^FA|^42F4n5(v+`}X22NC^v1V#3uzu`CCZ4PqjmeX=G?qDK zu_si~n6)a4J?&K6GsaqMS{@bqwsh?hb#;I>cETp2BknP5tkCsN?Q+jG{{AZCw88vL zweI&O?_(t#@H;X~G2?;3lALaL73<~aBes(#OsS4>0alT$e#9#q2~8Q^-aCh0j>qaJ z@(%)Z&TD#Nowsd#HZXT%qx0NI4PnEY9%!j0&<~lg7}OvW5kyBS?hT7MmHslW1ktV? z9`ewdZufEN5~O`;q5w8-z?(8hpCl+z)Y}y9_(Fj{?)E*Al4Cw%lXhXCtrk7zONP6) zB@K6KYFYj=vswthQ&IjC9|cy9{iHxRSsJ}XCIf{83dt|QN=PCO=JGWMJc#9fmtSJG z2AKZ~VyM^u7xbedL;w*UpO?`?+oI;iAZ%BWT{iOvRUea&RjZ#i(O^r$&&!mYH*_c~ z;|-rUjX$&MX(72&tV%jr$)f*|Vc%kv_&=jscA0z=APXRE6?9#Dkc`sl)~?Jf?!G&$ z{TfmR zE!dGPDWR<;Zoh#$Wp+k1(yFn+&JxVKvyTPtK|n+Zse@3k3|zGpQTKuHmATKz6Vo2= zG%k6FZco3UH{gfgp($3;A>T|To2gZwl}y|&aTiO{U3wetmKC2?WeXu95x;`3|E74` zYpp=a)!++u~ZPQvC|$ycW^ESZtyy=eO4jy%EH09W#i9^L|*K(`dzjSsC6O{wCg z@n14h^O{jN|M-bPsUV7y#Z-w}$~X!Ny#6d12MO@>=65#ZekRn}O=RH8B0@zjLU01^ z6C85pN!A1G<4Vf@CcB9-Ai+fFhz&th!^5!LSeL_JQR8u7%B9v5wLKAP{qD3Zzk`D& z??qD)gh$HQ4Uiorto^B@U4W#!z`h%s!7CUN!`M00UF44!ps@{#ij$dVRS}`PjV27D zR9v#a%{R-LgtU@0_zAiZH*KX(jFKkCNU;0wmenD#M#c>Iy`!x3RVpwwIbK4p=-eGl zRh->_-AoHao=eTgTT0!xY}0^Z$p!~zkmZv%mmFfX%}|22zoTYBEJ*-3X@aNutijF^ zm>~rgIb&3wwOK+)6G7SXxvx;;3FSe5t)a+2d*`#%D#&lGFuJOkJ{F47t$j*>Mw7+f zJFuMsi8>XUdCS!rp>+lqKDuqTjElku1!%d_l0wD9=rorDG6bNqCUGTFiDJafZrV?f z??R{&j69<`_Sgiw%j`XfkEqSi&wftvPf)90riL+J(^INHBy1#I&QT(ah2v`02=*@I7wv@Fijd-*RHA zP?S{)S4ZtAxOYpA5#gWf2*EC!avULtyI7`|93da99+@&=QM4*Z5cv;%^FP>a$J&~R z=v^$@``QN2Y>LcAON4QI{AJcC`1aoKh8uPK?eZlowokP`kvlApRD<2Q^+i+Y*~Eu4 z7dJsen^6NObCX36>MlN<1QUmm5K(sY8`@BxsXSFQ9Qx$E$H-&|-y5x~@O%!EAqmh` zi!DSV*Z*4${6wv;OzpD+%+xmQZ0SA&Ss!x-9{9WUz-~-IyGMR@Y6B`?GmUo z>wr9%eDnU_tRydAFUV=HE}8h}_g*I|BuHaM0Ft!$f)~L+nElGr8N=LjurY)Uz69)k zHMWs+vQDq3beJT{s1!j1Aorl;&eAL)v>CeHjKh{gWx_S_$jRLlv!i+k1bvY{M1f%FT>1(&@N3oI8@Pxq{qjDc`ubem8MdI7Pwj zMB%*E4YobMNa2LF%j{jXR$iT<{A)Y?udbc9y9D$%aSI4e2Qg}wnaF)|4M3qw_zbr6 zzCv~*&?6it5}jLpxq1t~21}vhFxSjZKhR((`h?qpQrK1Lc#}a+n9?CXL})zMK$Q--mw zmLr^L1??FC)l+X^*cvXq+}4+U4eeVTw{XknFAn_~l~T37Bx!Ui()i$gG9wz!0@hL; zyDYE+35IO-dRIF#TnpYc!TNsI0K$TkjU49$BhaLpO!VZXs@4&oDUTk1C(F3jPlj03upZ`8M-!oB^#4pA!SF9gM;MT_0wE zN;OjewGi$>PNgVZ|EVXhRvR-LDCT_~uSQfbl!=JzttaqEDdZN(=m%$CwOQ1EgDX1? z4tAqWmO~OxP{1^aayQX4BaJfyfsj*>1a(u00f3b$Kd_|$*qEs1)qgGl37e%(Avl!| ziZZLdV(-8oGToJB1QVk+7?T{mt@Ht~0B|a7Ro$lp8Cy63Q7sO27HmoaGuER1yDn&D zC|xxKCs=TvN_!V5F$k7_LZ*bkZ%+0^@H9*Pm9SxZJd`3XO9G*f=kwacF#ZEuProDb9Dk14_ z4QWBRq$y>);1ns2gkB&sxF{1!v34#+iWvtY&|{@}*z#ZbE}d@{e4 z!xToXyHB-cQ>?($gbcIN5Eyu!Dna&sY<9k(P2>?A`3C%e)=P0urYQ12zgZ@r0Vmp1 zTS`bMgEpT{ach-pQY6LSp1l1;UDG((@OleSi6rJOEi48eleZc4Q2ar0srzTo^-44K z0_NJ!U$BwqV(PM6E%_@o+JDzIGVoe@PaTpyGu%js?_&>K@$M({Oy~hcS|O}JLnbdH z2lYv+;tEwM(C-{S=47M~YEzCk{+!1;k#NfBKxr6qHH5XTiSm zZ`(xrLv?)Bc4@dnK{#F|xOSclRfeZbE#8BCgJ|*Ln|$aBqzIA^XwrGTVh@*caGYBX zAQy{Vf=@z1A)=oJR?GV#%dNJQTAyIFNS(8?!ri{ogy2@cPOvKfEOQU!9GJ6_320i0 z0OwxpF_939$&CZ@0?nftfKcX$4ubXe?b0k%k764e+%IRnCajJNu3FihLE?g9BG_|? z6kW6%D8QxiQl13p!Y?3~R4V%ywG4?CEk#RlvDE$Xbxh6C5FEszU3gU(-Lc` ztH+kSutj=n@8Fq%-nKSp&dC#s8a)o2osMl8nqR>?TuVhG6a?p=G^r2!9T(rSw1b+k=`7q(NG>~-^M*ocio{e zgUuHUmK^h^ro{kPb3He9^VW6;zQ-z|2Vb&GjWV)OdY%R^WF9nG+!SOvs+OArWaaiD zahj5G;sBpp$I$8=4n!}2P7f%rehYX|5iXqXVpDMT=WA{+vnB*`&q5_0pU892qYdd7 za5&a$$cJSagy&80QUV&J(p}esfh>Knl7XxH4zna2Sr!QnT~N{O#;_NOWg#&FKxx(l zKRZ}_c5idoa(=D0jO?7XPXCbyQL@_SAKBcca-i2AGC@DipNC#YsE!(qK<+1y56Ego zK0;nkrnOAoaGD-jpqyB9QID28pPrV$nNPYpgoaF}fs8p}{DW@oK?B>}*CjW>)g#kK#*8NdDC3n&1AZc60_rBF zmdSS)YD^c54l$f5%|lu@NGM}o<;_3C>%I$jANnnhMVyLk zF+T0wSf6AhZZWmgmpFHZ#rHf&vW*4ACEOLsVi%*0j5KxX${8>{KLp^1Ya^ziqA&9d z-r5pjt@3GVbfyuG$U#JH;FL;Y!(spm>V?IswCdJTxwSs?FPw8IOZ_4lQM7pc>N;@k zQ0CtL(@=9Pu?d~2I*9hvrIssrB=3ctzjSJ+Kt?|3KdqP6D`-?;vkg$NqynALx^R#v zmGBebyqHQmH;6lD=YpThJDOs-6YR9|_eW$`$JICW>lQstD!)Q1ei#ujt)si|8f5xY@nnrpj;y|UOuodlrGiVNZF4`w@s z0o#nA#{iGU!u!{6Uf7hsOKrV0MonOuXDoU5M=2E zCwDGe2SE}Zm~_YM3G$@*q=pajNHf@6Ah67BY>^7tvA0bh{NwD-#^h z^_Q3=65i1ySdXUp0Yz3vv`5$IK+nyDn(u$f>^0UH;WH_o<$rw z(Wp|gzE&+|car)l+gf>zOC^a+&u`?O))8rDuDWNJdGtJsP=hu&DyCQ?0TXmz81l5= zR~5&8u*Z%WFQo!F7-LA|Z9k(rK6INE#GrN+2ScN-dTROZib9Myd+jztT!UYpkCuG$ zW74`BP+jp%>isv>-ZQ)w;MIpJa#6)Hxtu=LHnN7wdyOI%LhPbQe#6NYSUPtvR^>R# z^_Z)`!`$-(pjib`7*1owzx-M#xOWY>D5vsJniX=188yIg#;(0)g7{e@*-u!iuUo8< zr^|*dH{AvlOKiY)|M_4i5@kp(LU)>XX8%D{TEhr=!h2Fx<$H;SVU#jstwGFw?nOK_4EF|X-B;p72DC3AMqn|Wpr~hn z{iTPD?54C78+ZlO=f}%qA73q8^T)qxd6QopJhV&wFE54&T$<90|IWFg0APE_1R>ir z)pR`#hB7WP-`6kXX@}DwP=W+JjLmk(!HM0G{he0Lm#3u zstXZ&q;vmkdADP6aa~>93;cy%?I8~$4MsY9p~;*5Ij?-Xa9upuVolj|N24Ho!IR9y zP(nI?L0-Jw-~78Zng3L>NaoNKp+FVi(X39oqQ@?06AOE6a{}2$;>l{XeqnD)$iSI- zG^y^;KlyYI6Bc?)zTfIWPa?Nr>C|C)IM_*NcOCuxwW0iD5$r3JB*v=ZQ`I zK4jeIRD2=wUGYSJV}p_#BkR>62WflH1NF~$U$y}6^=DyJK)* z-s?9WZ1c+aOfd&W3h&L8asy@nl>>fP0D5)oJ1tKPpr)8*F_N5&+PpzVQPh8EG3%T} zaJfYIk!)x-Yy?mEcBUMHnzr6gwS{Wfs)1^oGBKbW#5x40t0tvq>1aun*MA2@ScLtp z$<^yNA6B`BXM6ab=IS~|`UVC)Oaa+un0mVM;vLqQJy@HVhzl@%OMulejUi=ECtr#C z+p7HguqRqU8*~8g^Nv4;kgLu8YQu0Rq;hMTP3{G^q&0-AeM-|<9w}^D zh|$j+Z1A{N+Dsm$jC$6zIaM|yaJd_7b`{%i^c1VM{8TYdL&t7ET~GIA9o%vuQ>o0KNkXdxNJ~THLz*v3^{TqZvWlbot;yAA`>i4#j) zF*I6Y`dw$q1Til2uToa}ZAf1tUQyk}R0a77lz))_qO+U)@(7Z%*IQK))Ws&cc&+WY zEpDi!#;_@m)vkX2j5eyDBYD6O)RZ{5T6Yef$fO=v0KNYW`1UUQ)7?Zoy`B32E47(yhA8aj=zUCn6xvwMxhkRZug1uRM+8<;Mh z1Mb$+S}F|p`SBv|pJWN!*rAdJi{#Bg_Q}2JmcfZy_U~dVx}U}PNym>pvh%_Rs9sVB z5*`PxB@!%0lPGG>2|@jEtlY=ep>CcMQT>PK;EtIKQ2UN0|G~^SMN<X&x9qa0Oy6dhiH;c9wHuPrIY)Nl$GB z_LvESsc$d68G33~=Rt-f_FWtqvv0@d3VqVT#j|_?kX7id1AQ$tQ8MZWQ>rKu3DHl? z(zs5E0uu|n@B9CMoxyU3d>xOgqUiCV>92YQ!w2HWsuhLopmaWEg#MiY^@6P9>}*ym zLH7arty7W1nWr^&2fVUeUjYYGa(05gT?9}bYp2DejJln@{Bh$CesK3n{1ZWJ^O48M z_P}VhMpgK{4sb&4!I(0c12V7O$oh06`?p=~7wmBD4@EyFYiAewPrQ4@`ILm9-zW#U zEkI_dVQ93PrP)vnCE;b$CrIXZ1aKiy-G(NPaJ2|6l4H-iFOwp)5l%Oew%AMXvw*wT zBlB&38jA71i8oQTc)rZymHnM&Wd^$#>^Z4}G9(`RTvs2wYU zXKucRgI6i!?0Zb>ZNg{hYL=k?HCGdFb8xW>SQy$H0C;^D#%O$fFwYHcQm+tGwV4&f zXQQOV>c@`+^CUMH5h)ajThHk};V^YACdU57B4X3yfS_+o`$g{^VNy43@MlccWo$IlQh3Dc&uJ}@ z#YX07vp<#)aNH62=?|_Wm8HL*{&uf4>9cJ7JvMvlxAZ2X2%j1M+mCoX6X~h{YMU7{ zB}3f$)vG!QzZqLA1D}7f%a`_&Zknp_HjQbwKJM0_Q*V~)%EyCgR{3= zt@ocfD=6^?AOE8bvf<=yjn)*-SJ40SYp3IFZME0mcb}t(pb+b}uT3JL(EeZaSFg+> zkpshX(?aUgi>+jO!fSk}udSnF?jb^vO<>n<{?LCQ!QNYaxrUblt|s@^@eT z4~zp^(vh;I$c6^VIRuc7;`Ojc8Y~jmE^q&uO=@@_Y3;!gx|^ahTYY|{nOVo{hh%5} zH2qLmu*}sMCT~l}zDitnj`Bp7XoaDrCH+@gwBC8TPXi@MhGHuItw13;=VIAGjk66Y z$8TNZmP^&Wi`|+@wM!ybJ6iz(6uz?+M2zO8wN}XNK^$Ej9#?%BeD2+f2815q0o15z zx)N^yUfvBFe;ymCb=&AvXsrrjd4&ySCx!G!MH-&S+o%w=FU9RVMC^OL<39M;y0&$6 zG>=)jy8!U&LS2P`o;q*STx$_})=n^scV?tAY2{an4KRM$aqKDrj~fp{JnF-fbsaMf zRY8UoU7na&rApY&3N%G25?&Gu_Rjddt`fHN3QH^S9?Zxs+dbNRoXGWiN#E*?WfdBpqMnXx}6cY(t0Y$pz{|U{(dvxloVB>@6ce5fAWJBRVPQ=i`!K zonAt?r5)9tHY)(95RO)6ah!b#-Y#jUWJgPk<8>=DZO8A(0N=ResXqsV!!5L4k!gRy zUNxfM1irE{ag2GgQndddJfEQGa#By6qNYZuq+_SoKH#6?6H)yoK6`9;>T!%4bjR%M zJxYcItmSH~q;cvF?oscDI0myQ3PE_f7~mtddr-4F(fj)p23{KBjN|!PR-mvZxW}43 zuXehGolD=Ge=C)vz&cs`f$zSCeI@Cmx9vb@`h3A{D&~$ccm=vyq0ozM!XlGqfwpnvB9A8`an>B6D94cqH(+-KD~nLOk+?OXyZ~_%pqbrl{d7EIE3sv=^$q# zJm5BMw=!k}>~mJZ0oiFMWw1gbbafS-LYvWEeL1kr9#G4^F>^9S>%aiR)&T4K7%A!W zjY#7a^K~DbY!k;jP!}BJF5v-=V|?!}hW9lQio8PKe1V!kX^OaM5zkI`qePj8Zr-)a z;@bmG|bzB+8^54_XBTV4*rl?XJ+6V83gN!1#jd$d70m{mXfF1Eq8@CYK z_*RFp)sriTe@z|q@?{vSCZD*LW~^kC_`DFY=e*Ksit&2d9Az)B`ln{a&bjbC zApJ_yMvHY!9jsI>hZ9l?%YrpPsU3OsJ3Oi7!yH()1e2N+3{w<_gEKgg^h{T%Ga`NI zDL-eZ6!QtX0xhOvH)o-v&{C+u;z2U3LsrR*C%KyTaCx5{L~T6n4l_TAn81IWdFde3 z0XoIlnPLi!HBof{f4QFjt>=;y!BBa^Vg;etHGp4vXjqZYfaoUH*w0 zPe5|iS3RC~VZ3Iq5m9$23nh8p^E6w7lh+I7bs)WZGE{g`gQs3bCy3T@vw&j*Z zX2x_iD=ij`b24g|j~ev4w@AXr9V7&?_eiU6 zBZAm_Z{jUVi$+VA#HdXKEv>eqwA84owzSl!5uK>2PE`6+Cdv4CTIrp4A z&v|a1`~7}C)Sp{CQtWBC)R7sVeCQN|rUAI5DWr>wXoJd%N{YRZb<|e{Q|NjzXmDBq zyIw5mR@kkOsgNaY3S}!qD@YiVXcq;jf>u@@>8t##JdDf`Uzb;`6`~B28=7+MTEG@8 zd2Mo5xkz7qiq?LReOc@hXLl+_=>X#ofAo(Fh+}C(T`L{QP z@z_0QDg-z4WH(RB-jNjq=4qO70WT5ChZD3o%zMkdhaDksUhtzY*p8E$Lhc9UM_6Md znS18tI8BMp?CKXa6#JytW4-E`>g)E{typ)gwWAaZ+o56QJL!$z z(ot11ZZVR=q7AFjAgT#UjUuz+xZ(q99mS+0vc?kIFh?+w`XSt7dGTS2%$jBqD&|f- z$dydtVWhpK+#-xBMuOwJOT5satbCFS+7yi>`KND3kCtMn6U{f8C481RzY<9o>rtXm zA*l2g!R`14i&t=a9VT`GUZTaJ36Jb;708JLk8Cn|j19nMFgCg7doA^~NQ1Vu|wbPV)OEBlD>_B5SW zFFe8r?*?;Rb@V?=B#vUR8aVU_ZabwSbRhJlsO7NODLSB_F@j_TdQFV{cUdfQioPAY z`>=LZ(7%6^4v4BF7{^fAW{d!YelY$jAAb?QARP+&n`JUNGF1ez0Y|15d5*^4G?aN? z@C^9<#<=tUYn##Gjrl-1Y&ytw^#$eu=KnL`D&{2S|1+QjdW%4ji^8EmI)b2I z$R+EZLOBN^n$sY2ruddAwQjG9ss5LSpVmluvAw7EX9J`*GM^-UPDi{#IH!ZMCJ>#7 ziCt0Svo&) z8Y-TW2Q3HuqreZ?{VE4qSl7#dMp=ahcRhyV;U#?VL%3-OxZUqPJ{`e_9C`_X%xOu+ zA?G1WpuHgu6?Zco*BhVih1f!*4R9RY2!e+^#jU&k1}|CxRF0SC8G-qbd%{)+M19WJ zA~5|hhH^mwjs`ngpK{0V)Gs_d$4b}q!h`K^ZQ-#KCkr^=3SW1EzL(a3@N1306MI08 z{^M@g1kftlCg?c8(*?9`JH81i05#em**px!fqf1&Fbz!c24%5HgTOS*Na&fY7U$4o zx9=QiuoF6rR+<7yKplNL4+_l7IWuxZ#P#w`B~)-@-s`?)Xzk3qg*{g$^104kR!)tb z9pgR|sdw>wPTWo{l$>eFTseS=(j&O`qIh*l1wnd$|2xn+R*nh<+PQ!#d^hzC-HA$VK;x18Jhq)A1i0_pdo2=R|^Qy)vXa309q@}0-i2ON z95$*&J+K7&emr!&p+8|q7jq@SG))uy+AMyDHYN7(zVB?~4!hzLqZ#(h@3PV8VWzD} zoFIGS*^_+?k(~w$!q#^e-SHMpS!##>mGu|R27B!fULH7Y$L+Wv!G~QYbGRjb9Z=+V z>*u-%5UG^+A(L{2nQ}V+;anB}zhiYaL_y8~CdF*1)HkhtPu|W`(EnCP+UFDOpUJ*B zwlLhG&Jr!MMH1OZ;cKX&df8$76{&T_bs>11uls@*#0l48lLzgib5n!)!iuM%>9?%a z{uH4UZ{Akx;T4CB`%mpnJTqC-+0ol^`B*z%AFD(ce!tMv9oJb{4;ZBb&w1!%nOkxH zeOw{yr=g{4BFpHFSW}gMhq^ajpe579_F)xgFxJeK?Bhzl4zUUz2>z5%$E>9qis(f1 zJP<(U78gNx+43a;NA{^2Us-V9`{`kcW*Mny)PnJMg$8$bm8wj*bE}i}NtOoC>j)RGSLOj&( zZ1vUgQsol5H-TUyq3IDcdQ+#VXOG+X_)--#&bnfeo+wFr*4f0KZ(<4u)x&cqV5xpp zc^|2PxW`cffSK=a%$?abkFEn<>`FEt2*3{iz5#M79&OqF8-90|cc7hN3?{dmB5V=# z_5uQz<*|TxDa@6fKZLPP#L&a6iC7>FZ#Gkd>bs8`uNv2 zLI0SG=iJ`|++7^zSw?rGtzRVNbfv#g=NLbGNY!1xWc2||FKKvtt$`%=>_DHNTzY;z z&aOZvCf#&ksC~EJ)&N;b-k-C9?r|-63uII_$l+emH{^r_$uYwL4tNingVw>wTS$u4 zG2%)eWY62s@pDRNk&hf3e3JE6`Os(Lo~&52TK$-VB33*&P9>OIYwuT6+DhrILCqk- zQ)k|97Ti9Af)y+w*yU=I{TxKW^}KqwEhnE!Vy@-+iSvdybyBG8QC-QMPU*30YBqe5 z&zfJX37@Q4c}M-go?N?-o+Iu4T{hie7}Ed1Ki-ki77j;ZY(1t+uGxE@R)Uuis}Ew= zzd+%?U`iZ?G24{D*8xMAw|vGR4F5F=hRueZNQCj_o}JC`hUF&bBeXB5%Z%bUNF>Z1 zF0}u<2n7o6s)%Wt6VON^0Nw?4D2KK+tt-9Hg__b@{cm!!Uo9sMsFZ&J!=bkunV5>t zkUn%#P5aDj%+5$>2V5NKyCsk=7C|1>Ln|RzP7Sia?esqvWHP`FR$t7A`Untu^CR1)T%+tRgOGSKU#B zhv}78Xel7R5Cb$9v&yzxHKu7=<}-?_L^&rzUn0j*Sa%DiEVLUDeTp|Frs+oIuS4j-n-U~DRt+ZWwWBXcFSdPoH zcu~w~onc#dOEaY@Lb38Z&x=~uw)~qwDs>#+r%+hBe7r8CkKYXL# zas_5RM-M&Z2N?8?B_629>#kl#*wp{zs<5ZLM%hlm;IlAq{ zXlhWGW*~uhw0}r$ryIJwqsPUbcBSLO+h7Y&|8e}_AvwA?VQ5$CO(zJ7*&C_a&dyCK)kz1pL?V(B=Q+?ksF|9G8$ws?T& z>-sQXZ*|BX{J@yNNUx=8+Y_3gtp$+4C|SLeAeD)(<8v!~&H~xh-KSLBVpq|tceYz} zw*ayr-m?Dy;NIe^Ll?_{*w@Wya3gz~3~KE!NeZL&T`rZ?dOBQVo*b?mU^ibJ zlYL;y5|UuAYjyS?YnRo-p|xw2*82q?RbSJ9sd>=w1m@ z#SM3{Wlt~MMRd}ytGeC9!RE|JTmXa3zG`DAb^je^QnvA1n@G zmxy(Du!m((1<+Qs%Qi@?x6w|k)a!Jp?&57_%V%?~}Ly&;t@SjuGi8(_0h+t>T}4aCMirVwy}y>#iV5d&rjDI~@W= ze2k7v9C4e1@(tzkxwJ~%pK4s0X|pV@>O1t+79jPgNhFpEF5_Z|@tVYRW;8~t+;Qov zkMlpr0ff_*>EIdE!ytA52+-Ud6BBdzuM0dWSg}Mt2Q91w%Wov2m6|2IdOx%o+C=lZ z$G3R&?}OS848fGdG2t@m>dN#MosV%qO9>n_s^7N=msqJiwVFrWM@cW1vAKdGfu$EW zppK!2za)(0qk^`hbeUDng}G)K{y5E6r<>9xU|iZGPMd z#K|?tN3zFV_Y*}ST(E2($o5n%lC?o;eyw`uv4B9nFp!eYvwN$`-C4ROCnO!Q`&pLF zorDyWI}I(&WxD)Kg7-XZRi1OZXT30c%#-n^(0xK5AaYd{#(*S~$DuXQU&+XPgD}Zk zGs+3O5~yjMe}ZG2Owq5=v>5#7eYxT9yd56C2h>=`@9e288Y)N}NcvrTg<0(vcqX;Y z>%TZ%ffsMo1c68Rv|&RwoeKivYclrdLZdkg4j>EPggjvx|4Qf&D!9a(9 zz;$O~HOpxz;t``WuM~_`co`)1^nl0P$1SN60H*sikHeIv(cXfdfCPJ`!*Eb~($nZq7LfRT6NuH*f!hvQ>u0Q98#`WpkL+kr zxi0;?Xms8^o7!2`Ra05-2W;0zjRD_f+P|>|540mC{vYMR-)${v-5!4AN<>}+Efs+J zT@KpjnF^@z0s+lH!Is{D9dLn)g5e$vk$s`lqKTpnU_+Gbh2ynrts!MPj4&jB z&X;tG+ag@hfA37`3Jv;%v-8jTq{l_ciuA@`|{&Y_+)iIfCE8Df4>?Gjsm(@ zr1dY#r(U|R9)_|&iBQ1Zx&7*>4Q(`P9U;N_08q+k5+DlzN9QA@sF0f7$Ur2;BnyZ^ z{zc^1Ga?re6NrAcK5qnJ$PpLu1X=qKc})meU0=t& ziVv`YvVfg%KSwr;TF8S33_Tgm-+i#Bl;;=`P-?|<*t(b_oU49XvxT~+{sJt{D9Q1q5RG{KY;9$=3CunL4&7YQwWENCYLGzS*w{sQ*sFi!QWMu~wpfQA5FT^P7T8yY>G zfBJZ^Lf~oOFLv6^sJJ5g!#5-Kff^-}tZpVuUJ0=)I4ZMUcJVE+N&_P>P&h%drzja1 zx^<{Ih(j4Epstm?4#r69j6Ay6EGaMa)O#DCNz>NL69(Mg5bQJGHw?V(zK#i1tt|7x ze(|m{=_ZPKXPgmlOg><2(75-j%%+8b^Hp_CtVNdu2Nwi(B_0f~6DAo(M{|O@{j^?Q zHM$rG=@;5u+)|;7}$Y%!-vV&@1`lzQZoB)v+q( zIpT3XB|Jw$n%i@$k^Oah476Z!+Ap~tl*c3o8i44v27pOE{2qKQM>cnv40ltp()!&i z3V_h>Unk&AZPUL!18TMJ2{s4pV?pR!cJIpREv8di6M0_ze{Q&Jb9V-=0s1w8(v;0s zzGNE^P}#aCe;{%J6Hd(^)cTi3Ff7B9#5??&{&;2MOxu%fx=ym1R-eBBPzJUNtd*Eh zJ&psxun@2auaoExG!X&bkR6YNoXBA#H`H|_(oToYYqS*Ifgo2Bz8>Mn-47>!Pc@PD z9}%tB){o|?%?us*DjQSs&}cW3UF(4wOwl4CmfMS*sTtp|v}EsIm3+A0>$HBXM^EFO zmu}A3(JiZe_j3UZJ&G1)ekQ%_W72Va?|fPu&I1QVjmw^7yqj5ymaT}_%O&2qm%~&@ zL23<;tOJC+Bi7oaeJyLzVQV4ncRM7&u3B1Go-FloHmc53k4b)h^YgSwr^3M?e4d<}&tGd}R6j-9;78 z(m!L*p8%lg?DCy|LjIIHZ;t7@Z-Iy#8v70=IHx(s=@s0 z!^vaCma?{UVwR<1_n4mc&CnB-zhUdH#sZ+k@Ao8H!m#>H`h9jk!%uShSG_=1x>k(2 zJ^m#?XYqM|S0=TqNR7W%Y|~EIs*g=NCoGYww@SR1&H`B1Z!W!*+2=rOJDTr=VXDoC z0rHg8C*8gO{%kcIVpylY{HYDSr|c^@z59_4#HuwFWcO_2(M6h4E)>ru>mK_FUI)Q1 ziT3=Yn)F6`Wcd7i75*dVRf4?i-=~+^d}N$IG$kM}e8Hn-`Is}yHel=rn_-+qY5%bp zV_eXm|AV;LlMgTX>^t(M${;Bz8v`ME&J?1bE0gnKX>(2o#kOxU7>_PSx0Wm=#d)2X zR32J|P435eRjP1zrtxuh`oA?LF*FRKs(ZMdyiMVQ0KuEW<{j#?=zZG!1NnIV= z7Oyx9&lQDOoz9zFJf@kBK3(K3eLyYA#Bl?xn40Qdo)Jpq?xu+^>G?Fn>=KfS?XUw% z^aFZ}Z(&8zitLM8j#VB>#F+X`cv!io$?AseYYYV^Sf3r8a$?!uY*GXRW7!UmL!00H zbz+EG6lK|XcZhfR-y6^L{YCA;qAuBRQBU;PY%%-M1WZssY9kVg+(2ov`m1@Id3TqR zN722C6Z@Dtlz!2WhWCH>@`-k`mf}06y!NIqcffD>$-To`H)sVwhU?5W*?b)f`5{pE zyA3+T#9h6#pFX8H8{(bUgJJ=-(GGWV0S!PygzQaM%?qpZir}U^GWeN`6+uV!tdAnv z_3c#i9oS7lLlc&9v!3I63o_|{7iQa7m{0euS2(}vdP??ulV-)-oi~H}$O2D=++I zV7Dpjej>VRS5dldK!WD1eHc=44sJ3hBW3H&HFm_zJjSn4E1|!&jS^n>cFC4aes;G< zgL_|hJrY{wx7Ta>BIC%9M}$|KVi_kNH-vb>-7QsoFl=C3ah}xEqezL9DRqp^Z&1Mc=01?EYYni!xJ=#;8DadDeNn-O4HhdtTgE-G`6b%QbUMn@Vw;Je0tC?3=Hw=?OpZ;4I z=N8YQNwe6>bC<~>H-Hcr^fZ%3e{}qn&gYZ_%lYl2D9X+wK3&8zLRtGzGkmn#AVb?d zdB@pTBpH6HrU{HbD!1w@bLH#%uKUK!tihFS5gz?emI0FB|`hUhZK&0`W!|jh{uowkM&2!OswDP{TCogziH(N%@?#$Kr1HREWpthZ?(y>rYWGkm{=^2;Q`KdW zzD9sOVO(F?Guj~$@~zo)2w9m81N<1-V#N7#1-UA8z|@-d;MnT6d~#F{VfdKEZul3P z+Nrkf7&cm5f@o$X6fubdmvd7v@7yxn2?k2@Jst4(?vBrwsBkV-4FgKLP}Lvsp+4;s z+?#g!jO%UJTKLYZ!Yx*v!1x?7PO@- zVIxXE7{zGP1p@F3_gq>^NR7aua_7)$F~lKIv(M1Hi?;&(j0enBx8@96V~5xs3U(98 z=%74SwBxe8RY2h^w%(Qzp$;)BO_>G^*Em1YSEzcu>}s9qSjn(^e+R}rcx!0Dr9q4S zq%oz0jB+ru5OFTv9=(r|G1EL|_RTxE8TWi~66%*=#@puqL}%SzrE(IIx0nyXU5=2vm2HRXe}mBi{%H-0d^5*^$>~)+2bhOD-Gmy|1D5Kq-Y) znw0O*GWD?FrHv=N;fg^(|C0u;K;df(Q~$i9))cSXGy|c58oNTV3|=0M56hp+y#B`G6BfK0UMya{w|7k)~a(3j6I9iM{1-ejO+pyv~R?0Xk99 zXi{cs_2!P=QKKVWC_+uZRCE9&ME2Y?_$DA1XtOd(L7WNmp$%WwLWUUtV!bD>7lc2m z44(v`!#if)OeGrKfc?3i@A7D68WldCUfuM$pLB*v2zb*7D8&8ja4XU7I2~W;rZsfB z(TRpz_XfLXHRWd{lA7nIyYA&#%%ek9o$Sv5?9<=eGy-~`9&yRwQGhyV%+|vomzL3!e?b zBkFqcMGC~4CoS-2uw|x-fFkjKO;c$?WC`qkD&JQYDNtp<;5$%E58S)gSeKE9H|(zZ zR5Z-i+`;2PoZ^lzS!QpiRbfiQ9~C9}{bZrihT@T~n*O(nb^=T0nR^a56)UWEc2TVU zwQ1}3dDK!NDs!wQO5<>S`pe1DUTdO%u)494+&o%#}1M98&04dDZ-= zOhrL@Kh*#QfwJ^=rsdn^8)p3{4T|JTwc$$I!m__a>S?f4jaqn%I0+HoF1$!Aloi6w zOB09=M6o@H0wW6f%*c;&dEgii9o}av4AJkPOx_J1j$-0e7D$A4$xC_(2A{p<>nDU4%H7@5XSnOR#&gU&?(uBb|X3>(#P@12;Yy^#SX^E3aCt-C5uL3tg`M z9T>G#*spobb3$1wEO@<;>ksHFw7Aq7d2L{D^Q--<4^z;Sx4(`vJv&OEK!!V>vGG8{ z_Pm@`O6bJA_a+;EI%>c;*16#45i`V~=dzaiDnPn++x7KU_hnAKZe1}u?@jJpd2WSR z8hwBB*%mx`vS0RqvI--zSvJ`zy@#)OAcfO~8&+5~(i8ldL+?wT)A|`1;cy%M1^e>o z^|yyk7UV*hFK5xtV;uwBvJ1S1=^?KziSK@jAobTW-eyai4F6zrm5rq^rAe(UF$Rl} zdo9CzHHX7orKiITB{JPg8danBVeI>a{ za??DiPdWIEo?>(v2$@B_pU_8&&Uk$*Jbc#2!PoX=_S1>2f|if*Ak0=Qv=`UXHif2E zF^eRnqG_Kj|-dIF_vJJ?Sk4LsN`UawzjjExPv-k|xj+2K6Hi%^k&UY@{ijC-ELf zxa+)*Bm3_wy$_+(uw`sJ2zhl|%g&syT=TuXwE#|a7Ps9dL)pE;H<=$G+bk#TafS9Z zbwR#a8I0Qu+i2;YhY;cfVK9QLb~&q!qUmp**4upo(*p5w^tdG09f>>KD0Nr>w%x(9 z>np}=RNA_Lg;HUj3D`DEyUK0@WH%2ocIZY~T6Rim{29AJ0mht$dA&+YL#R!-O@*CX z_<;ZlKHbNDW&ddY(nX+Juy%Hg-I9{r5W+CRV7Qmqn1MYu z8bUdZ9;h+Z2ep7*@|j}bsHwnSCo2VL>cdAd$Kw-^(71ocXg5Z3pU%QFl6(2im;;+x zs&I3$CXJdd*49d)de=3X0}KtR&lwLuvn*9xVUa@0G)_e+B+-w!jWEJ5a3Mn7pAB(4 zN^?nDBwNaN15-$TF+#I|I*hYLPPkeMX*(1q8@d5pl0dKXbL;*CsdWDtLOpKJGUWp`tQDkZ_zXsV&Oi()6&uI+#NnPbUM`Ts@p9<$#PCu3`dtzf zM?bs1UIZ2AzH5dYqtc2O80H10=QZ@{VgouxUQAq*K7VG>8laqO#7VSJt_gpbh{$tQ zk0&mg>hwGZzIuqk7rc|Jqx56rUVW0w5x`lW+VL1F_SsC1-N8$< z58!_Z?u1G^cBC5N2cEw-A2T~ocg7>Do()U5$_~_bL6gNUh*rmVCD7sJTfJoZA3Q{{ zV2#)6h1B^E0F>acvvbykFH&zh6Q6QT-7Jv$V|x;$YlEH;pL)bsQtpkY}!_tb*8$v z!C$FmJ+sIUc!-B;!{DW?5`%oqdLs;b8@;UuEi*a_$TTa)`;VVV*@NzrgFhU~v_Ghl z+2b#BABb+jDDvzJ#*Ty7;5W8BiHsrG@jS1x^(2?4s2}}|8Dam*JdbkH(V$KuzhH^7 zJ74M}mPI{sAPejmgtR#7i5>Ep{x!+BfL*(`H70n*_X|?X63YCL&~$yk89H(jnALmA z6aq)K34_d8FA+eyb|G8sNRjIz=om+P3Xq93xs8xcf`{4!1n2*=U=i+q9ZtU}AZzS{ zOXSBX&hXpb1S5PU8#Ecp>eyzhrmO{j`7oK}xV!%(Nl1}2!lF}Q)po*yV1gTrM21C% z6PDVcv$4*339r0>)tbwx;mJC2ljQJ^BWcqrKL=kr$N~-Ej|=-GuX10cIo4mouo-!| zqqdT~AbS0h~7yZ%uDY=Ry zLVM>MQS$9v&myW*M^LZbJ3aW$9{y09izfl=z+YBip(^@fJ~$@8s=9wJx;>s#gIf|8z%34Cv zq3-y69CI?QzzUxfJnCG|2*+FGDBB8*7cJ}A44#%J`<1OQ&^PP5ZKj%+{#@r-Mm;jb zk*2&$FV4j{Ys9u3!;J}P>BXZ{xtf2P03+b43Ls9Le0jo?av!Uy>-k20@f zJsB4Rci+m0>MQ+9Q)uP3)}jEj$8K0DszC@f-+%(v8*w%NLBVg1bQ~+paqrflK`o->?< z;HTjl3c*DZa)@b*OR$GqaMCe4&Z(rgm0qg8jQ1F6DgZq&*HG47WSaeG z%0I$sZmNz^pRLk!kL+RT)%gn7 zO+S6ek(6!jqc~7zZixN192_sgE_fTDPX81}`+UG;lHnNr479YY4aDr790dG4SJ<-& zpu0QT=^5RMmn+z^ISBm6u@v>`Z=uf7ODs*0x3KbxI-q{@nu6bGab32fU7&EYvsb5Q z%jRxvFK+QBMt8S?LZSC*_fRr8W*+=@OyQX0S}qeAl$+UMAA6-xk89*methcH+$#V_ zaC`V&4DBT!_d}pZ{Ioc%c=-TU(!fbGfA=W?;C5N$pijI^ovb9;Y=8Go;G!`3Ze@#6 ztTO&Y+co62AAh%ta+&zcD+-hHHrw;-t|4VO+uxlKERql2`(chN++OIO6w6z)J-K$9 zsvaMt!w*dx%m%Hcyxa)0<%JW?hVr_NCev;~N7KYw#5B&MMraAaS`H(cKPO3Q+oro% zq9&7{r~V~Q(!eWi%UZbv+1Yv2$ZIVu5-KPD^201hi71il>TFdmA=@rCXV~tQDT;`O z|8X6~wB zpn8pkVZIfeF=oD24_4SUC4a?xeyF4>6WDjwHAg9N8?C8SM%I~Aq9l!#Qo(59V<0x| zD=4Cifj1;Q18J)$RCPRf7Oi-j$rkqx#wCTosgd`ONOFMekbV=uV>2dZXmI*exX;DK z)Ehnpg?<^S6E}buAe~XazX7H#0puE5V;Ugba*>VI9u#>{VG@gULNO*)X>ZAJ1!?H-O zUgvg+m)f;YRdW7ACWf8S!cw=iphC7|?_iNx9Ye)g+@*LGaqzowag-1ArGrZPVHZHx zG#R^1*MM)^J@KKe3x-TV3;}JTJyu;{uDIPB8F^M98`YXe)&HCbd@$dCXu8on~t)b|9Xl|D~rle4s%*3!S&j{`YB zyp@K@h?ydA!J)Mwd!-vQLTB-)+n<&}Yq66O^PCOX@HN>d*Y@eQC8z68AdlOdGl5GP zb|oHjpqGtnDs^=*d&)@ea%M;i=#jpZWpNVZ^;Y`Q^pb9cW;n1Qx(^Lfig72eKj$YQ zWuF3b0SYlPHJdrM0Xb1efh#zw`M{w?CExYZoUADtN})LJmutCF$bF@CC}In+)#n`t+rZnW1dT-m2!F?+
ol+ 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

-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

%P(a76!*^VPI$|Rf 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

C^1 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

xs#4wbln%jxqeHxl(q1U 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Ž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Ð}HPTvq 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

oI5mU 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 z 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�SaQM|egHx7P#(z$ zf@n7$EkV%Q!`hAhG@5mgwl$4LLt)9t-~)af zFWC&;nWHQI7+yB^#Hg8N=-&@fiF*|oo|rPL<^R*WDrcq5_ztgy20927P6E^YMy(p zV&i_RFOM?%A&p=K+EL_oXok$3d}}?2d>>QpoIlH0yE<60NGC&{=}KAhfsi^6RTDQD zl4oi0g*_?ofL7Z}bQ#JxlMAtj=Z{zzCyi%xu z+64p8z&|20@b<^&;6jn&IU<84wRXCLO&yYMLciqSLyTcou|!li&z_cRv{PU*ye5~f zp`)t7TwaA}S%z>I^%>{u?WSjup)bd^O83oEn(Qb%Uj#{*dF#J~E>L0})zqbvRB2R_ z3fJ50L$eztlUBAA2^nU!@?@tu8T!1KiWjXF_rmat7D~gGw&G}*Vr z>%x>yCetH8RWfYv5ei=BFN~)7S*6&Kz8|YVpH)bA{59;&=CtNHJBM^5j2i z$r+5#XJ{)yR&F#ysn0V&r1{dus$ zz^MYw63Q(Na{|FDE%kQLYg_eP*+m~RcMJA(4&|RE9O|@Z)A}++lx*?>8!Wk1%Yfzr z4Zuq_AAlo(?vv6JD|(ULMvp$jDB(Hz3jh>2P8N1+4X6$F)K5O04$U|yvbT189wm3r zh~zO|1INd3+VEv(E!<*s82E~D&D_+vVQg^EBQGMR2{#MOHjEYag_8k1|8Y?Ee2k@= zbqEbuzGOaVZB3730DXQ*Av-%WscFl-2Zj6Ep2GuJr{p zRjLJ)Y~oo%Ka0Sj;dD zL?;+JGiZ}JRcka(!+fP*b*qwjN3lyb3wC8~hz3%cRW!v)h>lewxu<;G{VqjHEdSY3 z%}YqF(`?!{%n~->`<4c5dqA!7sP0C$@_hZUO=37?BT&(|DzuiZO^$%%R8LxYn}|#& zH?Ee8i0@LVwf+ht;GZxZsh@#i!xn+T;2sMzP4x*sjpf(b>z^Y`8ZilzgX54l((21B zdb-TJnO8i`$CreGAVSBIv_q%Y`0T43Ss4}WQ3Q~2Kp|m^9VA0+$;v61B0~TrsICl? zx!#TC2aw}}zpWWqc+bnCCs1bs73K7Vw1vT2D~SgfnKcF_GVr`k?O8Muzc!cNnJ41I zO$)Bu5aA@d8WL%~xz1X_GM@z-M!FXbS;v@CLX{saO}4OCihFc$S(dffSodcCwn;U! z=qE-`n4>xw(S1kM0=J5NhH?CzossjPTUZg%vjVUyl4}wr>K?eh+LXD7xrwBAd9`jQ z%D3zh29D|iW6P4W|L(pMu6-&4At|1C>k|jg2qtYKew!W81dc~)!69maF4WL^_4X1km*G1D z&6Iuf>>i@FW~BZS=-B z>$nW>e|PzS8+%pOyD>=VcZ&yK=YXCp5EfEUMVhbW}OWeeKT>U7Nv%@yYP?>kP9?GbGUf$u;qn-ir&*EVu2zZYJqR6E^%r@6A%E5$%Jz4az?ib)$ply|tFl4feQx zweRFT?a~$i&<@3W5g{rv?YGGuB56IA=gN6SU<2*4JY?#A9tT4seO2=BF*X{Z_Q95gwdygKwXUW$D7e&wHsV*nevXr#f|=0c%X z{oXybeTNMt)&>kW5jLl(URYtOY+SYooK2)kxd8?XYlRos)p4)$M4-B%Y#Y=R$p(Iv z^P^y-F;k|#m3Jl>xag|6Qb?+qdg$(0fm#Qp+)=&B_5Y1sB;GiL@*MV;l~TjwB}=QR zIgP6l`Ev8$=xAF)l_Zli!ipv7sCeKjw@d@KZE#GB?X&<%AjdcdckSXOn~tv+x5OwVpRvm6Fu%8)+-t40@}C=Zgo> z)d4q4CP#Nvtx?EPHdA}_yRyh7YrrK0CuNA#tN1k&uKjB;x74mmN9G|U^iINsANB^a+|@t3sBj*4;oCnC{SwPc zV{F#6MwQoB)rDyDNkX83%80MFmW06-`hbRnYdb$WC{z%mJ_eVr!N9Q?_xz@MeN%m_ zO7>Kawe`_XQ!g5DF_v!xh}FDB?a-0@4f>O))AXW1(!9qP#MAK7X8 z$Lc=K6Fan;AL~#n7h~uZw@#DGK^i-o)GkTi$A#2msZ)f6sAd-j}9BoVAbO zsn9PKl%M=TU@}hEE;la@%>-D|)V>hOVasieI)`&$2Ph*jy{y()^j*h|Tk=7i;X@?U zT*RV^66+=2gwQ85Z8Y>_CNY1$EW0|`#^8~yD_i(FOQr-Y(B2US5H7D=_2Vqj^H0eb znTH^Fh0dtc;v!%&T4fIZ&eFdz+}D&`-tX7Zb_9wW!r zGvImkE7Ll>WU?y^=u&QEmvFnj9eIhP@N1yqZEI<&niPaq!=1SJ>GEXob`9?X5fj8K z4!Wj6y%t^ea7U{oD_NyC#K_=_EL`r-v-S66nDM;7pur~rus~+Hrw4_GL9FED!772z-7d(K*>+{VxkyO^`eWa zqRXb@emVqe{W7`-n_{sfACx2CB2fxr9WilJ6;5?GsOK(fM5%1L*1v1>&7ik$@Q5Ax z=sY>~g-U(9MPrT16-0!Tknyni(1*ONp<~c$wsQWoK zy{5@>Ft9voe~+(31{ySXU!NH-96;BOb`)(ss;%u)gnD4Y!$5^n%RQXi(X;TU$$1}t z7gBpQd@rM6*G~!Ujp4Sl-qJ@1m;!}*Iwl5_6Uc!sq!)R*2DIe_Dp}{s!uy27A=2!w zP}97Ard-mPC{2cw3T!KoN!`v#zmpxNjPg2)4D2EFGYWDVGGumLT~Rx)+pOb=td6u1 zfvS2boaZww)K}L6dZ4cp2ZFR0D?>S7khMWuaTSadO{yQ)O<1*`9Wg`TfR{q6-X3g* z(3b9R7--KKm8+^{sZ@+NF2UX{y;fZ`1G33$MfOxNEXD*%*~bV6q&a>p1hM;UsfI-@ za7sC~ zGg1pPFFNHQxBG09%`(pCXZ>$DHKWTAgDw*-l48kCRD0Q#5G%#S=m;QAGB<}&$F#0h zZsuA#%7&U$n&tNcEdNslD!4Bl33@SYH8=|FcC~Dq1}Tzp%ceFb=FGdWq<}0m&9jOl zezTt(rAUy;T(ZQ?^^ODQ?OQ|^t!2YZvBWIH`@+{dZPV80ZUT-`&_Q~3Qy9GI^jXwT zC#C?TqitqXN>tr5kCeZN)I-wacGL!57GI@hph|e4F6-Fn(A{Avt%}-|nn5=4Xi}xU zUYV#AeaK=K_rx}xXZ!2(3G!j)^5B$v)9#yW%lpe)c;1uUa>fDxH&GG4GV8rvv?dEZ z*#z~I_g?L(9}kdaSs^836CGrILo-9th;~&EUQsb38P1Ryw6&!V4%moeJsAV(s3QJt z7FEPSbx$h8fj&SU^fgu;8=Y9?xH|>ha52v==39tt?S!8z!t^W#S z`m0Ce(#G&Z91D~~q-u7;ec!$0vr`s*)K|2g*bHl0)<9E#VDb6qv|%tBdzv}?>^7v# z`~~f!EIdPoeL}N!D%nM&arBisRVkaxl0f@h7)gCuPERxJgHF)5gv`-swS(mo5=EP$ z7p*z8Wq={c>K69wo+X^yC_*1O6*VNv;Vu|H&T*u{9eKt50&88Et1A;;?kTy_(z@>l z>9Q%zKSM)s=Bo|Kaf#}I5i9RG_Mg8GFfJoEQnvf)kP?jl)zwOd4-3^9@oDL&0MzMy zsOI4Kjb%SK^|IXyCHEsTFb#1qh$sx5cr5IixklN4HxSz6LN$*#Q$oIUXCLQ_L$jkL z-*nsB33eNW8aJ_Aq?_|~uHP*{)80!LHa_M+{=ZJ(VNtgvF62>I{>M5${eYCsiD(Ir zy5n~jQ*{#^Z0DzU`27IBBa#YRiyWSWYpbgZRpbE5Hh}yi=E@bp&bWDv0KEjWH~KS{ zKjk}q$y~DBJs;qMQX5CM^yJ3|s>VVIU+iV@DOvjWlCE#Up1epsgbA|<#O*YfF@Jmd z<3r|cBM_@`#mj=4&KQFUWueEMQh=h%4lba_b|XP~eO9Jk$_3_?bj=v^OTtKWxyH|pUzku1N%SoFABL$14J|1%0GR18By8LF0XhJi+z*{a-e+|} z_jkU{qIEp7RTJ$uA+z_2zSZav(szld>fbw)dS-vGa26(j!wG#Z^GGV~ zKVhz$TtqjI_w<`|rR3H=Gqf}IrMuKNINoUdJt9c(J`KRm>g0k0e7emb_XTU;DE4a# zRRSi%pg8iOO_k)Cbkw-afQJa%7RLl`_!6Dm+>M-lRN&zzr?rGm@lDIs8)xDoL(>9& z0CDtDqNBlFui@jQ{Z>hbi1hmxEFGJlWGV;6x99)Ww*1S+`pfwa#5uMGS9$-w=9DRY zpNDP4Dicd_c9<^;{Srd3u_-b^oJjw{Fy@&z^~Q)Hy4;7#;^V*kwe7gB+7A=}v`tm( zW0dq{hzQUHc`3JVOgw(q)~vcQNlmkzb&Q!3>RfHC)~efi1w6X5EB*OJ7imf50m@{S zU9AKCV8-pF8ZGW|xb;f!AyG=OhTf3YFca|WSNY4yR#L+gMKmoFp3Ttp9X27G&Gj?F zlJ-{-1NDhDi9lh>f{e-sXaWZOBC1lN^EAs2xqMBx zr(*LF#S0ny;`W)PDSnDDPK7U0`*=&0EwXjj&kClJpACss5zVj2-4xrHq*t%j!F%u} zt@Tid@$+JY{zmH?nCO>w>awjWP>NzoHrad{G>Nz%EHp|+b>S~mA zf!u8ifoco;kF{BD-|X_L@?LM;ZM-N0qY=?632@sbec@a11}NG;it8$iM}dYV|7?_K zu=nuc>&8hYrRS_d+xDx9Qy(x>O0@ZG{3oDzbYigcdC+%96+T;opIgN3?>y(WA~KO$ ztSeRD#HA^|=qbNMUw<1PGa4N3On+srPRQGn{*9fxaltkppun)S>*VH0=UGLREnVyd z05r>Um&veou>t=>J$(H{zIO&OlNh9l-@yEy?iKKnhaC9L!(mXRN8!hmi74%1P1cH% zUXdI1@||1{BecPGw7dd*eC-Xl87f^{1F7{#>vbJt0Fs~U%RIuKfl95j%v9;5bdx9v zYvb+Fu-@yUcY?I#K|vPI`6?j~uzmU1)*5k1;vOU}TK@#ma=CeY@GJOX*s zfO?bD>nFzSG&5;W@U~)7(0ePm04dI{Im?>LCDVJEO&QCVLP`sg7_m_%JBuZnc#y7& zwkW+LZlDK6nRo=4Xp=_9_xqb@WY@Vpxtni^_7{$_p|~zO z@B$$fW9d~-Cdw5`(UX+l@AgU}JyJcP42}So{`^(%b=o1{Lg9EPHJekRbtvgTr7oUy z>QSI`=>+YwxqX9)qQHA@2lI!TrS%=8;(^{!m(KCoik}M~jQ~)+eqeU!W$J^?+*<2+ zv5Qzo6go|VSL{k8-r`7Nu<~&g@k`n6$^`R5<3mAUDKl!x)RjwbRV4_OI_Hl`EBVgl z#+b=pYZ9;_2jbxPSl8WuWJ&Z`o!1@4y^#Xnddcbqnqfnv;)h$?{*l0o0(B2o&!(#Z z)_`4QNntNe&Q4ZHh9d(e3PwK zzA;VWra$T}vLcU`T4Gc|X?CXz0=eCvc?h1pwaEJf{|g+;!@E+yEouU+Ep#PR1=)T) zCwLU1*xRehgH%+47{Grk+i-Dc05_u)b|(L|fdt*-yBFXQdhCsIHT^(1ON_j+nbIk+ z_6RE?1m}fQ`~t}>r2KajN$OMQLtI>LFn?%=korCO7xjcuc$|QB|2Z+uLDgM!t6Vl& zG-2aZB$e^qAhp^lfBDjxXto1NZzl~Htj;m)oji|vH=@kzBLv%%4(M;g)HAK6rT zBQ_(Eg!-vGDisc7?LVJ9#$&zFG*d|1p~Ql9!6KoLq$Vr!B%WMpADjN;BBF*Ux^!8PF1) z_S8H}Nw5d9^3;tK(Tw+|mwYl99bS|mrM}EiMNBJsJ?p%&$NL0Y;e6O7oa882inP)> zW$F|IRgRhzSe<}=~*h}-;R)mS^`dK@*?N%VMHTW>Y)GitL z+uy`8R)2_YbI{{Msph!ub@qT}h7UoceaxX-5~V{~(6j#s{ND07b~;`C{ubRO-&@#@ z&7ysY-`H6Alcz5A>zTHa!QxzfHaT=ISAWo34 z)@VWm8J=U#L9g$gJ~|QFWyAQvoZQja!wFz;Ai$2|TG9_%0d(rR=1pg#lB6@7w(Gzr zdyp2#&4xHJl{1p2aoDyCk)sNS#ciY6c{;Edryn@W1FwIV;*zLMOZPi3H!utR)1Kq+ zOxCSe$#z~OP-Oc{Qgdo;Cj-V#IT+l$*B?K2mRlx$d`g>u^@eTL13eP=y|k@~4M-v^ zYPKeXP~5^?fq_jf(WACEaf8#v*vcoHMY?WdhhXlgy53q0!*w8}iso2C(icMReR*XgdXgX&LmT#6qAiHwWp(CP3hJ|3@%lof_-*&(OqZ`qFMg>U{~&W5=yp)i zR$TM%yPF2LhnsX`M&bH1n&O3G)!bPJt59niz}PA@*am+>trXLT#6R72=*mF0e@J?cHD4TALko-5np+|$Z35Nz4f_M2kzk=d&hqec6(DJF^BTFED^g9zQqt_XQ(%g&D z573DwI?FHUJZ6fX^bEgs{x7k!W-Pkb%j40#Laayj8G=GjDKKL_wLNEQob2+iIGUu_ zq|jv~$kx4f^Aoa5X}~H|gW}xvy0;#pqS>30^TxNorD_%To~+z~Pw6o6$2Ng|Mh!L^ zoXa#|-DD(x;&qQpM%S1+)647O;$p8?{wa^L4!_d*p_&BE;rHM$jUVW0e)%4Issw9# z*_S$2nZe`-yUgGYwpa;u*L!*xGF5tLM&ZC2jL28WNE`ZefgUb#qvKCj7X8bcU^b2G zKph{zY`yl&4lY_c8 z9x`ogirqcElNs=&rH5kXsK>Z=fMRBj1`|U8gI9q8X5rAHtkTsi91&S?ab_2mN!n~y zmh!5F-xt#)iABlfblGC2R;{W5SwkA8>vf&EFC!1kh88Ck=ks!>{jOrx0mU(McQy(GblC7Gr!9 zmu;78_w7kt7#ts@2VG|1BFC0_Pm1v+yBZ8>|KC4@m(Yt?_Q2cCEs|Gcc=&5swidG&>0A$GRw@kkOy&ECB^C;S^C>5vXU}VH9L# zK)q_32+Z1vQ41ifpJl1VBRNzd`UGKE07G4&I!4RXS@x!c{V`(Jdq@~{`7=y9P$dX8 z`YQo~J!3=suBC6_=&{DvgJ;)gg3}tlXebi)CLTx+NMF5kcbl1B`Yb-H%p;yc9bVSU z;E_c@Ehf|mlwdvg=%`XY3)-Wr8tgnTEJPfc*2H!>`@6AbHeQa^#Zfkpz#>p|Flu~) zXDaUi3%te6IOB(+TH)RxJXp5j)V~ui!HqA;#ctpcRd8A}wL{{R--ajO^;Gt5bTVn- z2|8G58ROyUx9x7jaVPW^U47ybk{_gv4OHYu_8LOogJ|I0n^dUSc!+|6Zq6;bmv-gE z&lKX#;C>Pc)T3}NoO}v%`-oGno;wT^*7#-d|Lco`R$um$68M(o_wO5vkoI`n<{VM! zWcE#m$jB_Dd&>`|L3{?~od+6gToWC$G+O!~)M$1)wKdiiGIu^H0V^n~sq8@EJfQ*!#~RnCi) z?P{-r_}9P4^d~aM+fY!)`fHnT57 zC}P7pJ(*&!42k78&o-*r8TR{9@Qpp{(XoWi-K7I4zs|#3wyxu{{GXeyX5qDlZn{RD zUZw}<{VS`Z3~4!8@X^5I_a5K?_=&>Y0wywlU)Pm|pe9}ubrKIxxUcbuLS*ovVrPd>F>9f7e6U%4b!xm~E z-9FG6E^j`z{1X|qg9)=-aW2SARjjMpKV!t@tK@wfx5``Pp%kX=*pB0Ac9F*zDH|sY ziU}SWLNg!kotI~&nK9SWMi-v*qeJ4!?P*a8M1$u#uYcv?rZgdOS@Xzkt$n$kF1$9s z_Is?@G~J&6b~+wEid4ka&$SjTUxT1BN4N{Q^&eBKc#KN~D>Dy6O zGb(VzsjNQumWrxywncfp$jS0!D4Ui|_mv;7cLqwWw{bt-`C)5=BfO91Ve(4wos$_a zD%vDW?WK0Vo0zm%GU$K6*?KL(c|R3k`OWllsn5nyA~-S1vPK=WuhvUUOG2t)b|sf~p#J4WU0Iu?J1|K7Bvzey@9L)pzy61r=i z9WMiO3C~&bW2(b2azm68XY-7bZIJSM5*P~<=K^GQsFDwe#S|3lJB%{9f!+@Nk1723 z>14xP3i=j?;)g9AERnU;UU+lheW_CWpb0r;Zn)r?c?p-2M?E^`rww3UI~9h1QNO0O z{h&M|{+7MBo=c*M>qg_$(}Tpj-^fa8|2`bECnJM&{^aHR#2~rzKR>QFtBPeELBW~q z&<(gd?%FxG#P_d>iae8eqf5WKh~H=tzJJxTo4#|;Is)^EeM`W;cQo57ogT08z$9&# z-(SHcPP50F-ZY7cN`2U!{7rAKoJ!f0%zl;~cWcLSL9aLWdjISeBm1GN>=O<52>ygx zW!(ucnV-8t>hGpGm2`QI;<3$BQL#xgc=(Hs;Ax!@()AwVPQDIY`$To?A5;b%B4Fc3 z9K8spm7}|JD1_i7$=j*F2^XC-jFsCIF~tM)?SH}a;M%P@kZyT@aV7a2G+Jz|{VI>O z&vPAT`y4OcYf@@VT^*a${-Wzd`zgNm-s%7d*hfA%GhJz4^FCCOF~ksmP6*;x++#Yf zcbxw)oJ8C^)d=I_YS_-n|Jf6CVWB(1mZ)Cy3+X44R%xlf;9hdQtofZs;Q2@1a<%vh z@?i(6X3C?_9WvYGRH}6wMjq;NIgPhEv8RBzH26-3l%JpEW+KFQ_MQ;(DKDhp0?H4S zXV3EAtGe(K3Y&tCYIE=X#xnNhvW-)t zk%{`WEq9q2kfoLOf!zSusXcjt)W}{*8#)=*fsrt*qeo0TK*sH|P!6u1GEr$0%N^!w z)I1J+F_2|3#b;OKS(*pRDJ7L-I==@3hq*ZV!w~2o$-mYX=?SM{TlN{hi+7XbE-&rJ z&Ex#u9ni1u;pnF_CNEC;6$#t$gA1lz?{fy6m)%}U*}aAezVt4-c*%96H?f2uicWb7 z&4t0;+0ts{CU=26lVLtoPa}KW+G{EazOOTDFbUnXy;~?+NWESt8sFQL`VPwIB%aG* z_UJ8N`p*qC4T4sl0iFjt$c`vZiA-LT*Cdn4lp4C7tSi(h$^2i;(8i7@OL-!(Fp)~K zF)%1I*RY2~oNgb`&bUa7Z9Jl9%96N?rr(p>hM;ydLQHo|iAJB8hQGQkM#6 z8>iZT&#%!8i|Dj%Dwn^BkNvYTfl{h|XX>As0glOd3gCYvQ=}D;rTIkuhQWnk{LofE zYE)hfQck`o`}9NV)p@1QWwYb2xsr|GJf7CXs!A{Jvrdwq>(7366xFAb6zV6#t5F|> zpZKo5*=WqND@zNr65klpv*j5|rC2afs8JJB_9#kZpdu2ySo)o^oW8OFMP1X5UW|X+ zkqfm^x0Vx}k=u*aZ+^o++N0K*ND0kg_Pa)aQm3-wHFiZ#6do75ZKwBcdJyp61$unDiPo2{M*nH`&N~V0(?a_L`yzak?tjz1 zuZhAm)G6;cNnd0Y5jK)K4t?gk;_t;0(ASnOTJ;lmS3rWkV8AW5x{jE_`-s zdP|R_XSK!Qa=}N_n%|6uXMXUe->fCS)P9J?u_~(^SOY_9VupI$yCq@L4D1HC4oIi= z-it1+dfkNBZ)(#8ng7^IxkVLTUH- z%(i08tOQnD%KI%^K#e(^ecbc%`qG;eRmjM~}Dr&9`1LacxfWFC>?cPfoFehVUh}$e$^ze(IPVy+T71xQ3}6So7-(+HIlQ^ zthOKd>e168VE(nXhx#jwB z>vP|OOJjSl8IsF})(18h8K(Bd|`D$h4K<9?5LCA~G&krYA3HfYia=0Dd-uw-f z8XAu;q0+0i3>`FsMa!nOZ>&59P+vd&)#ngHoAGZBE)0c+)Nal(3n-2ZAYZ=UGE`L( zJWbtD`=KG>ahz;V`V2sr-#^k2r^Tn`)Vn7|sxdNAdX*70D|Uk$p5oguD2-@;@%sFp z{<=|b59a}HXZi@BN{dE%Cne z6@uJ$MXS~9UsgvM+DFk%n|&b0`Iri=P9@A+Ay@H4Bix**@WM#@sP%|kFe>bRp>4(S zuNyb3cRFR{zwn8Pp-wIM@I--wLKwDP_DM%4F+s!Eqxf#?Na_ZIk@=1~l9C~=a%^i@ z=+epXE;{esCfTc^+kL&Uz3W8L$cRZA^PL&e=CiAXad9i3qy1A^RNJeqdII3V0m|WN zror%vQ5=<#X{>YXUnyKr5a}#~>i0xFb|NRk&+8t$n~31sDEKsC%lnvwEt&8>(|7y2 zPsJ*!pxln)gdlZQCesw~0WRb7Q9_r`UX|@S?eqvML)o#x15bX%$|BwfGJF)xq(Ep! zjUh&8UPXveW6=KzYxH>3-yVMLt==hmKNRC#$+#BfhIXtcDVn;3Rp-xmpiq|wa9S|vkoz+?u6`L&uDWCbXm?u!w0E= zSj2fM7jr=f(Ii zK}t0vzGa?61?H<&)~#tV5Grx4HZch58Y!-#E@*A`cTZI)I>ol4B0jTcRL-a|p3sv` z_R&y0<#ZP~MMcz0r#cS?E-RdAOcc2vs2X7&%kx}@{^ZAe>D1zhu#o?qZ;hn0-2RrCx&Bk zC+!zEI|QZX?T&YSSh1Nqyf*mJ(=hQ92t7<%VH{$v-~MdZTl&|>d6W};l_JVo@4f>m zFX@wf4`b*y&cW{%&+RE$o5Tctm)rOtF)_&8c&pY214H5W>Qv|YAlr!(%hHoe)hX%g zJsBQ#iJeXHz3~??bkp44yO;Fv6oMT$o(-j7BSs-`Dg6PaxsVw@@x{l;km z-kS6}z4cexNbi{&U8;PPcqf%yD43cz-JaJcbxyx^I@%YEnNWJmMVX6v2SwVybzMlu z0*Tha1sBuQ)wV^dS7A{S8(EVXe3z8{UPsc# zb%@l*5gFOXGmkTzyyqIy8{@nLM9t(qap_qk!%{&PE=(hRwz2W3E}BpXQXCoxs7Us6 zXQ5)Yh*yV-qZ-3@sBmE94x>V@|9`(`%XVp_zci=Y`5uVASxLIXVMH6f)*&PlJf(fm zJsUk9K%`wtU>~BPVQ{VhvAJp!mWKeOQ9%w8Os`aCCD8;nIuck3kS4`QN&4gJbR<># z_NY0MVsK9Cfr!wnMIu7-DeX&0ViL*F07;k>*dPesb8yY!M;eSn+hPzB+7^X8u2ce% z$f$WqIv4r9NBeg8ZS?kc)xDHJHW-Qs*t?5^uOYe8U1fLxn9-!DfgmFnzX=2Yyx&#= z0C2Q)U1(R+RBd;s30YH4C-xd&DbFe-N0DyrBOC5_$2y80d1n6@BF5MWe(;Q~_ zf(ahzH4RYQbQnA8kN=QX%F^r?{b4lPp;ay}JfU%Xhf7u+_BuW2cB1C?x#L$-TsT3; zdJ1dddui10y!NcsL30w5?t8)~{duCmJJLckkxvt6IasHbrC`s-XEMS*Z#mzb>AKAgK<=EQpH7JtxoW-Ak1{^B`{*qpsl4I0Xv*HdcP=hJRJQcR zx}=}AcaAGQxaA|@m8)ZA_lgV4IylMS|_bxfdSDkd4;5$kwxJ$u-tq@9u>YT7k-IAl{vzcXzQT6^O0R1W=L^ajweM zLj(t-CwuwQjK${N)DlvN5{)#*EbTndItSFmQVNIc#box+{=Sk}?==A9aeIy5CSZ9% z#NPCim0oa7f>yc)1z}tt0J}BX#@)oP(mvTC*UI{XirqT4yj zoeu0E?8>eGXC@Ho+23W}Z9$9;C{3tu>RC#$IsgBN`trD@u60pDAOsSS85yhz5D*c_ z-bvQZE~RE*CV+rIFd#&OiU>#)TeRL12nZq?f*5f)Y88|cG}a>G&@#w1DW}(gic_81 zc-m^ct!+Kl+h1?rx3TX%|6rLluWx zNsnQQ21%?&;{XXOuty?BsmZYhu^1UUS#ZZ4ohx9H;^A`&diJa1@c$n1Y50Gk?YPG7 zNWx|1WQHLO61&DOgG2*usmz^r>Uz95LZeBC#37KBh{c9Z8kMQhIF3Ma`}Pvo^)+$x z;)C|%HDsK??5yj(8e=k#e(&o7qtQ_!q=?g zKm3=d!jLCACEuLg<%;U_uf?Q~{SYPATBn4^ke4<*51}LVnde`UX(ak)US6D62XBG% zv#i&ddm3M6;{T)WZXEjjk33VwqtfHZdpd~M+jX+7^_;(tfXQ>vws`dmkca&P_ zrge@R2@s*o3`b1h0KO;W&K9!I&; zLAv-UVVQ?6y>0ZP;}G!+C;G;bhZ4yWOffar|-6XKas}?_{%~)-6|UgY3=pA!cA%GMg{qm z?(APY844lS=Nr5as7wk)bmpYmI?)n=yD~mf5J!yNeYcGzcmF__bv#AParp)6o%KEI zJ+>>owuf;XcYo)0r-7^a<~Ty3mh=|nYt}VH@~20KA6ePwX%nSz25;JMJwG0+GfOo^Qy zl~(kgw5RWcEclRWIzo0x;Kxo#A(5Q4r$QTJSRnkc9J>;F3o(19gh$aOU;C9VqPpoc zvz?$9mYp^|@L^>7u?qHml<5~YJ-RLp`^f5r!H)HWmO{NngE9ZK$W<;Xzara}l zjtupFGIYV_pTp}aXu;L1Q^6GTipn;YoJoYjfOQ`z+cb{8ySP))FeYVC- zv&Ga4ou3W**0mjD9&62~qyOam`oHo!u^itXULo5`8!OF!B_;!;IDo4 ze$LJc9h)rCi z97>1FQLdcWJh^h93~UL|3ex30$i^fy0u zoRh?w87?ET1wxA&6SF#u{ZsqV7edQ;cbJYj);N?j9usi-V3ayfZSX(wd@Uh9>0G(= zIZvWr@Kw{KkTrAfdVh}A-yA2$a+fiXDh7W^c!jMR%lH0g<4|WIJhc1Uk;ek*@Pfod zt}XxJ8h^7IgEO^Ax#BMspEXmSuxFoh~M8ADTm?2_-tp#U0yVpaMW@(Wg)S$p?sj|4DoLxEq2<3 z7AXf#clTt}Opf$7<8CyWB5j`UiZdlT`0(_Xjdd5cF2CZxXfim?!}F2z8ryqb6K7ZT z_6)sxT{%T7yObk=?U^RZc&W%ogrZIUXYSl;Fzs``ca!0NFg4&OL-G0^6UwzZgIG5} ztMt5bigRs|@(0-q8WGPXMvA2wyC53G9R zb?`PjWXHF`ht`gzv(E(YXd68nH7_Q>68hnvkvVXPOpi{iA9O1?gkfBGtphZp{c zR;HEX!yf@6Bqhcuclu+Gf8Zufv=JXWKf5W4gRH&}2(9+W(z#;sLaXhrlqx{MOQo>E zL>#%tCdGMTakGM#Cl)W$JK^GCZ`RteY|paq>>i|8`qJM!y5eg7Bh^=pMN;^rhpA!@ zQS{L=ONr!s(ok8cth{OMm|8OBf3tC=Y$oPo=W^NGsX46Gw!1t|m1=VF{Vb;uku>)+ z$xvBs5)oD3!`P#7BaJ}8D}8?$92?y1dct|jmbGKc`2WuSuCdf4&JYT9=-K>{xgT_>)j;>kvn^P`SUX}<0E#(Me9$NPsfzTC^JH{oATqnn*ZV+eQ&QlA~Nq$hQE1T{#5Ds@PnsO zM4{}P+%+BD8(9Tw&tOL8P1ex1r8L)n`lU5n9;AoHl{h_URmDr0e#gW=&?_7MNkPd{ z-OU;q`=X_IyDCLGv{m(Z7j5-pA}+Vh1O0=Z@Tw{!MV=;X80R_bF=(;`snt~R~07s(JtlI1Lxl1 zcc#ku2v3E$xO+HLUd1Awc4qJU?xOE-S+}%2{@9ZG$Ez(jUaZSL{WA2p>Hwb`v~Emg z5`7r|0lj+cD2dD0u6A3D5=I(Tmg?34*;@|F$&Rv1nfDCeW(cI8`3;|*L}; z#ChjuXGh{*Y=mr6SywXNk-uGC`9xkbWmje<%N1 z^La&QslaBN5*pCPW!w~0LB2*UlM*YHci!TuEAh1!))#s6BF z>Uw&mI%lB4vNJ_U`vrIZAPL_ow{}xcD`|BhAdzu>tPTkIX`5lELbxfEh-dZ1n-MY; za{>_h@j%Fm-^Aji^c7t1#|QfxEDwresBQ#kCpX3F40{ZZ*MNQ;CbJ@o7zg6jLA0$O zSyHQ-e|qja-7W{k>HzPEsv>1tmPMf=vDFusO40=1+Kx1;3Di#tjyR4lE996%Tqdsg zZH|tD@TK6fRq+j{;rqLe#{UV5PU}@u?V$5L#V598-X6780v=EnIuA_ z?Bs0SXpI{}95S^JA+{k3`W@ZAgI-T7w8l-hQF~PkE&OtAUMRvr#ZAT5r>R4+-L-tr znN6!p!a(oI$P~01bQ&PKZh`60iHGqBHDK00LwY)fHSREP$`I)+)jpZa74(O#35$th ztKniRLMBOd_o04EAE=FO1RBXhNkn-t<~fs@4_x38*6IN!WNMKMC^Lv8);NHW>+B+X zWF8cS2f^ME<0KNoLnBZY>MFd^r5D4&;^!u;0;(qVM5p19Y%Cb;94O(D3A_iX6@Ta5G8z-pPtCT6s=Rj21NhvaCbzU z{+vQrCoAcr=@uye`{@%rMi|!^lc?Fqa_}FM{P(bMSHq(Q|2ygm_;M7#RP20iiAgs! zK;{Lv$upumIAKI!vah~wd68Ajc)8domeJpQbvb_<`k<}RQj&q?fgS8WP(-JKgWzg3 zHFx7t`vM9xK`TVo90xmkSLD4Sd*z9o;Ra@Bin@IH366QIyyV4Qr>j{_XwutR-S9f- z+@2NFJR-(!FaHm8awI3shHVv3OFs4u*lBQ$g%=)-QJPeQ)*ECIsA8>0BJ;y9rBxhs zbC0wL*4v$bD5HG=^BI14zHt%rnc$;wx9Ol$S1iK^-1>y`$8D44L0f_D7=U7NoIkiY z5eWjQ98|xMC|evW}qpUxH2s{=iX%9eIRx-iFUKYQxIy1X^H(Y?SFmK*P7<1RWiO_u^^}9 zqu{!pEo#BF!LE(l5hvkqB3aXmtE zEj0^-H!H#sysB(X0(zC&pg;qY$t^L@JlEv=b5eQuN?C~hWkqGE$N2v&7OqQQ=^lLg zlpOX)QddQ5-1t%?&2e-JEJBMLn=B8?w@gZvrSakqK$LtpnA{iz1_6W?NoL9FhpiCbI;scRuz3eDnu{xeMlVi+}`Bu z_c<$ftaI`nw+gpsO#8mtsKwB3%_3F)Gw%9JNy)PugeLCRfslvTK#aKyG>Fnn%4u^ zAlWFIWZoEDNsvIx&TXnITXLi91*ub*D(aBX^L5Y;ffgv&Mp88-_k6tn!qkts@i5F>~1uKrRM$7BUk#K#mSLyp~qG75o-%`+I7yTgmZLqbXpBw;b zQnul1k4KD_{vX{R;qDvax%#QqDJl?p)^FMHm1ASIS}+W_*z(H;-MuINr-nu!CzteX z$ke#-W&MXXQ0l{mv>mOnQIB&ZU;^5Jm_U~i*ckeY|GLT^PCc(B(hLcsw{4v@U!Rx~ zZcux=i~Usta9}wbkV2;bz!x_ZHz1Ux7a53CxH~hq!Oj_Zx&fAOTVhVJ%pEJ=@GTIa z!u?uI$tKb>SpXZiT^oYF&n?-IEt16A%e9DE$srLTw8XU91RPE4)CLrEu0dLH{M^zT z#FubJ!R8;DR=jVQQRJ-*C|{Zl2)5;0HybH`rh z{7!OoZC6jAIPKo)!Dg51B{i25l~H-rcH-+n>(anjRbj*F&zApr(aT3IT70Lsb;+g7 z@(ut?ZC8WXnpyBIW9P>wdNU=t^*!qmo0CUP&*rHGxOOVSU4UqJh$?i0{yysFe6YLi zc`-++e^l!l#{+J=9=V$J!I@7muNhUv2DQkcf%Wc=RGLD+a(vnPx5IuHaW;oVtX^#7 z0gJ3n1Y^R;yXKS%P{_tc)*$E;MXncQGcR6Yzt8yz-%A0yZW;)>&^wfmUQ z77|-3L(Rh@TN}q(c}?!d1I%Y+1Gq(gPN@wwb0O-f#Odob+pgY=t_U@6M=P?veLv-B zho}v#6fL_H^wQR@1cBL*@mVbjH;mE}aQ6lNP3JU0=f1BcKm6P*z5#yUz zPP9pawyH3-*n1{XIkhI#T$1!<&${lia zBvWk~(m2!tu-Atf+R#-XKub?Qk{PP6*Q&$-$-%+uXOAlSgBJ?~18tU>$3JC=yk;=s z#eP`XmA!*y^argk7as(OJDe$BG?~HwBYw$g&YI9ag_dtNCVY@x5YReRyAnCDio6^T zhngeDoB^O`<7;(t+L0e_7nJnX=Hb`MgK80nZu0}Z!W;IO!iJH&^+-SEEL&MM-Js&s zv@xGK#?}(sy|f>{#aCtIc+GI-g`h&zBC=b-6Jz2Y#)HtCHb1O=uw&{fMcdprhMlXa#gqZR;MK&Qm5E7B3p{dj zyqc4G7}c}{`@rMm^))328DGbGW;Q)7sO_n#73p~k#|?>z%I~yCD>#0-5r^s|Q_Vd< zgyGB|Yk-XoG!Yf>tJ+k9yKjstB_HX$eyP3>#BAwbH9We_K`fSNJB!8QZ5{fJL=nxm z7^K;`ql|O4*MZ**2R7Hhlyg@KdL5cU{8 z5Ux){7Y)a;)b~%Cu1w!{zvvk-C*e}bW2d^uD?f7zQ2S+L5x`rji4WS_ErDsc*UTih zlTgQ`t`9zxJ?^I^e6PbRB@(=FU4E7sSQMN=w90$SJD zZeb8{=b4pK6SmQ7=B!9?o*BIk6M?j8`2#Y(sv^jzq2{X2c-WVFrB&P8Ejx+DvH*37 zSUQ7q;$9QjP+6Uqysa|0M4yCNoX;~;Ql2$V2`dTZ@Ofs&Ld&|#Ntt40Kx2FM(wFMV zq#PHqvdup%%tw9cW>Vhk@$=Gv{CADnVX=jeNyid>cab{);9XU4o!1^oNiy+GsJWE9 z4>M5XA9)3+R~GeyWU`uA@3OHainuQ9U$i$H1B7vjUP;Nht4jn*7wgn2!V-HeX~R4E zx`Fn(MWN=5lJ^$EjGxvo+)_2qH+Ld>NP*jgV$rkQV!iHdrRhAgX`!IJ&h;Cv(LAA-Ty@w<6PSWrS7jT=12tn7u2u_RG6 z@J@#M(Oib>NQZwK&pC#N4&;_s@dm7iG*UVW#N=Kv$r#4zkevv6df-BP{a!p`56 zOLu|A0ITyVNdFwxR(5qPboi`faWE`tXwGB@v=LtkuJxJ`+r&1U4DT2R-$upU#b3O_^#`d&w|5C?ut@~|4hHgyg$BK z{ftFMyRYNMK8CM5JjF{1nhX8h6J9FpQ{eXmPH!MmQV789>Z;Ny;k6Dm7CV0aaw+la z-6omqh!!|9?CL9m1#@{V>ZtRY`QtK}5ucR8L`B43XWd+%iD`?J(o`iKJSXqBIXe*P z=a*xd=HcMGJ~pu-><5C9R>4_5fcepOzQ{`T9u9daJ>0jKBP)9dRlmk=>9Y{A=czTSJ> zB^W1skxC{|hR;3r=V=h4_~Ru>vex1Z;;4+PzEqpA_m}qni4#T(*pn8<3yqpd)R>#T4_Z5rPO58S# zk*Nj?8ZAv#K0I3y^%GJL-Y$UmXDe^1xV3SvekM29y0-(07lxbb#e)V*f%{fQtix&S zo;XRnzNZ9YDs~@+N6}-aOOUeJ+qc#Ra4bOsOB(&#M*#dK2r?Zm+=5k>Aerkj?w3H_ z%_Uu(ZIpnc2^}#&VsN!nzYJZSbSe{aA?ZntwL@ZbB|)@A=~>AhkaTq(oo%;p1O#@< zDDrnZSNO#u14&4-k|U@x)Y(rtLZM<8{D`${sG6u>lb!{?sCzf?k3sf;CW5-!>|kL? zZGlhQgFOXqw?JZmOh`r`7ZN+d1B)QKqI--4m^Gjd zL1H&XK|{j*4txq?W#%$qRwZ++xiWXJ!Z7P(b($gr4`NPocd45%m%qQ8oyyxtlGCF+ zedc-D&e(banZnY?x4_H0c5OHWJOW4VBkQ%{J~#x^B&LC8)KuJO*Fp&?T;IHdB+nb$ zr|PNANFU!uW+gL>RM9QIMn+abfUa`R>UId&vCh`#Hy^yY` z+4qX));XtnDI74eJ~n;)d};@IUE-Nq^xl&rMoYo2=?0#WlyphmV(Uw`KrK$aEdwg; zA_Ki;R`TcY1$BcZu?t))&7CA(*Tbks;dGlbLb*KkJk-OH&_3J2FP!l*Rn(&$#Y?>p zk>seCwi#kM!TeT_#)D*lccJr+ruVKAfcnpidqly?weUJ4vP~>BaTP z7sr<#C&@yqZFW8T0Q>7v=aKaBezJ$*0dH`3>+9<3(LjK8cL*%ldrvTYWzI>PKL8(4 z2=*@c?(2`k%>#@6^ACrDhfUc+!}jq)55oX_gaAEpBxQ&nIKsB^;h%zM3WLPvrPU+; z?qV*T&rh-X0`ErJX3Cy9?6>|^;0$(b0 zDgcKpuvP;`x>$FE?FU(DT2M6|aGnoB1==Mb_^Ahj8mC3;$|6;F09mBan}H4eh0DQ~ z$M@43px2ngxmNV;VOpfRB25`>Xm|QVcfDdIhyuCY3W#lh+E!=E{HzLu9q_3fkO6+*%*)B;4n7!P@TTpKioIvA6-n-Tc~Urm>TFjpDXQuT?o+X<~!dA;Sxfd)xnDRd^;KD z1H}#_#&$jelWidU;Ou^9HS8+A-yTb*CwrXh=JS_1dkaO{u&nW^%<0kefA`|TE{jJ* zJMoR%p)THi&Es6>pft4|U3PT=W<476cqe(Ek z@+qSwWEsH_&*!tiM*vNMutFA4Y-+s*uqE;N$W@ab3slvEZ$z(muxoo@Y&Z@^v&GehU_XxOB>4A^~d`SYzM^g@_b_BdJ0eK=|YQ{07zbnR)-L*=na;G zxdXsJqmWKLl8^J#B<|x_1#1c@RkxE?{|=l<2Q5`9f~%O2tPo$(*Q^F=$I*0m127O; z>)NJsuY-skOBXR<{CdF#SKj9edMDvp*_pB7nKY=mwf-emcDcF}18<8LrY`ZRAIH>} zi2B1TBqa&9ZnncG1O}jKQYfS9r^E_+Tz*sC0R{I`2Ml+hnA-#iOi<59NRKdw{ z{8b51>Oe4LpjVXLz8z}nfYU)myM|+cgk&0``FtiA^8i;kB%lQUX$K(7YRgHFh%xb; zkCt!WyK6N}v+__I(R?6;$LCWwO`#g6aiAuijQh#FwCt;mKdrNbMs&UqQq$Yr3C0go zU9&XnBsD_6q{YbRXL!txnjT9U;kY`0HvoJk&m8TD@R?z??#Br5O8Xte5L^(i0}5l4 z;DAU6*x_=(Z?<-J?;#Gsz();i$|mwR?dd$AfC+U%1sEs;;+Xk_iK#8SoGrk#qvb(O z{O}a3gy7S_9?mChOJ=LtoNx+NoWX4b_A4N36q5SkhS}i?XNS|yqME`6lnR20sS_{9 zXU(`k=fe>{#0mjk2EdTlzWWQEJ#j*%LI-w#5jW}GrEw@ZSMjmsN+ks z`V3I~_r7!iBEVL39f5?;cMPNw#0a!ggn*K6fQazBTtVajyqK+$4uyO^(G@m}C0$2n zGiQ4NLb_wv$X{G3P*)Xfn5P~3%qa=?!{_Qw-%WAZ;dy~K2y(0cKlLvU&096T>}SD~ zdF_oKaCZ@eVLMY>veno$B|L~Roh2TK8L2$o@xdn$X3YGx$8cl{FoM}b*|$eRY~>jI z8!>PLF^qC8MM2o_tRIQ-4~r3fhimJ44q_NLGRz06fn7uk$=}Qnyt%+EzjD+s*+Ls% zpe*-X5w><)p~DSoSX+094Wfb|&Nu|kHZO#B6a|1xt0zSPb`*#EKoL-&W+)15t zZeVjT)o9Erx44MTrr7EISXOe20SYiTpuZTVNpG=ZhyceZjX+$x+Xx75sbHQa2xBxj zSW%BGxdkf2PQh|8O==(9CkNTRgyCS>guFUe&w}@g9rZDS5|DP1dx|-QIArT3S{+uvDseoz zxD2XvhJn5V9YP@w5nyu+A;8h?1JVMrO0@=p(6PeJL&Utp`g5e+P!`v-lUiq7N)E(=wC6Z3!3aao6P9J)-cXHVPvQN z1ca^5pB^3KoPjs8T4GIbz+CNa2%SicATcZ!ymQd0ZgQdIeQpYb8X+&7^2ftYTM-80 z5(k7B$O3UGg!{(oDxrAQju5U3z#m||8z6=^>i^YHHxq24gNMgDv(j>Zqwj1(Gs= zkg=;1M!+I~C_-Y0vZrHw;d-8asL#+pWkQ&vJvA9-aKiN&p<}Hb58^Zd=+=o$#!fIV zV;FqA3*d|?B}_YJDUf<>+s|Cyy02Zd-^oeuTA1WG&Sc~(=sHJfY`FcL3Hzhk@5bKh zs&$+4S)TWo#0@NKu$-b)JQD`4U{?%$(3Hbfk_E_$Vd+44pl^G61cje64+E$kUEEom z&DyD%#dlCyz=@8*-z-QpsadhqFIg-gFBQ1j0_%hz{ZxedvS{N`OAhBX{4DV40U^vp zt(fXvLxmC$5ct{$+DGb6a6uCcBi&A5NaHw*5a1SuVWVfK0xoK5SPw%q&{HCcqz>Cj zU}=yCb4aD;090@%B$|aJ1sB&qNd$&KX`-4v_2uZJ`(_6x10`ATSbJ(L9KO`7 z2$+uK4bU3q*m&6lXv~s~Je)THD1fZss0XRsYV*Y~h+sLFZo(#rR0ftO5cM$poh4d) zy$QoSaVvF%ZJot%pi$neK#v_L=0rl~0R^WC5)evs7<#PYq@ZpvQ0z!&MUy?>bYobV zb%`b>o`?h|4g4}32!Z?Rpaj6tM8Le|&=i;@MaMXFKySFg0b~#Otc@BF(`v)1&UY)U zp3th3Z37Ij0?&gy+C>^X!qj~D2GOzYXKz9s+&r+~@{gwAMdzHDNg7JJ!i-(66ewCC zwi!k%iUw^b+J9a9)$h1I5Hg|U1~I+dN`17~%3)$`AfE_Gs^P%wum(0H3Y#qv5*rN^ z63|?ziLu|@pW_u$Symf3YcMQN%cEliq1Cgw1Od#~fdJ3W8(uzph^-RJb>f#gpK%83 zjXCEUokOU%eyiS^BVu_bKYy2hw<=SSZQ2ae&xz)2uNlv|5A65|zYFI@QluZmENZ<9 z@YO-GiWR3X$9@6%sS`m=j}rz2LkBcO-~ll`<@0}l-Q9(ZR4fZdO0puL1;oNoI1O{g#skpDUj%-@c2C5qdUA?~%rTO?3d5IjM1gPP+Oj^akSvbz~N<9AK zB19y0IL)HHb+^I>Vg=X(fKvwm7Y5ijfL4HEfXQ&~spC(r)aDF8$2gHG)KSN|bSi-# zPJn<-v(+)ac^yw`am?Y(IkoL&$Ea5m-U|cgw&T1M$}VIGfuLT@=gkN}H-M7C&`yYe zk*x%rPdFMtOB7%mfB~#FIOf<6-bE+upF^%bwUaB!8>-9t{fEkw{o{8g?l$KW*;Sie z9m($fzZK}zWXz}~Vxkk@9#q;&reV`R<>vCQZ3sW4Qx7)c*Av`wMFlTNc4d-%<01Cs zS+~XV#68_DU;RJ+PA&2jahbA>vr>~C zwL`K5R@$!4IZ5PAu~ZOBpNpWpJBN+PIbW$mT@%LYwk=Tsm`n(T`cP8ch(gi z;xEJQu05W%;r%ejiNXxW+HphEC3;wy!xgjUykZ+Mx+dIPj;#mBMsuyRPW}95X?xrH zi=taiHPSL=>5+mRy#^wsbNTjBOKCi_;e+r3424gZ2Q@>)%7J1EQS`INq*=l7!3e(D zFRm?E=XYmed7PiWwWO~Zdlb6!rJ!=+8Sbuc2IT%*W}uLp1d}fu{OCX}K$bGw0`m_!rc*LPj%8m^#0qPw^%oFhj1%@I6X1OaCDYpVm z#daSEfuq6>pFJa>Pc}dnD7a8^q*Wg)C)5mo&s4fLd_zw&K{(+&h$Jn3qw>LZQ;Jb( zd2sG*iL*z|3U6gV%O!6H0uv(qz~HFCKr$Q1$B1L)xF;b|q>rfrnDAp6l*lCx$A*K2 z4shR~8M#ss0~o+@R-OS#Sc+kzl4BYy9^zz_&5=HTcNsu+=>Ri;^?>bz8YVJtc0HY7 z2%y*(wH{?tgxG)KXB?>;%c`$U;vFbC*+N+M~=LKO|)I(22k~w{RL5-8eo%l&>3d?niZs>nJd-Th=l4( z2Zhv+H?5oOn%SP;`~oEmX4yrzQ)C#hm=XdZD7A;;veA@3z%5V)7BN2;h&^q8UAmBO zew842zNw8foukMD3Z)!-rBh#W7QK=b5 zgj3qX|1~*;Ks58LOs0o1Ibe&$kpE}9L(mqCKeyoHzvik`O$Mey&Kc~ zCk)AAOx&F_zt3f2vuM71ta{9$KaUGCZBtgu8%ROCE#Qs2xrK-uCPB~A0hj^YFhcrC zyCX(;P|`I)0JKsG0=RuNLA2XLM<8$$qR4=fgF^;X6_C9dpsK)g2{2uU*^P7rj|TLj z1xF7g&N+;U%sBqs89$<&-BPzKXf@0$nXCZbHz7SvYv3LbXcG|X`TqoC*lLPE z^ntw+dNxK=W(qraKp-!O{mgy-hl7lX^TPZwi~nQQ8LgLPFrSzd5kc(A{CLsag1cB| zJ{Xwd1bBhjRU?D1$30lfFKS=GH_x-F_-4*SQV7oEwIxZ6iGAk_iBkH2#H?~4&npU1 z^ZT%t*JBQU>~4J_e-00}+O9LmJBGreg<>XmjtnR2y(ZRneuxu>c7|JFpwL>@a^sa; z!y0J#Q#f~K)0x6r7`R4`7l6bEiYlWC0#`b{@1__8`SR*6uVcd6f)Dz~Ebn264RPQF zXe8g-jfP?3!MV0AkzOZ>xJ&M!Y1QNxHXJyx3gg4Q0aHfpi^hsaXUDc4#hLGSnF{je zIi9Uc;4Plva;hSwF#yrXt@I1bUtS4P;F{Ef?HnS7UfMXeH6C$I7ZnAdlInq|0ZF2) z7|xu$PEclDD4b(^Ql@%qjkA?Rb^zjOrqMPnfX#U0EwAo@x` zopmE;y(@tn4MOHwt$Tnm;r$<<)7UNL>0?J26Q5*FIKclCCkt*pP2YdBWMIr<+rOvh zN4J~jmx<_viY-S+KU;U1yrX9m0FOUg{ZTwd7VzMekZj(>7j zbSV=a9B^m0ml?mDEHA|PQTs>1Y9fd5p~r=YTL=a^6d$?G?F+FuUUdS@a#ylhM#XbQ zj__q(c+)$DA^|gHfk7~#DzjYQpYSq%Q?#|5_){02_Xh~e5DZ$<2Yo_V*he5mDL7!Y z1s#MkepsC-wL%BxKFSl}Oi5Yb`QQRn3&Bx?oM%l7A+weNxFnzj)c=eD+F1z6ySztA z=2e}IPQ^v56%~AQxDOy`>BoKok&!iWv49{34J-(U9zEIebnH2KP~JW0h7&IfIV!)F zd88=qeQDFW8vX)y<$SfW(ztcpa&{>iD*rv$EZ=se~Gx2OvNIc8rZVcuBNc^q-Nzbg1Fi72+*`FI*G z6_5kt7Gr+bwVd|}0YN{n^K+ioUH4rO*&IT(^aqv;;$3r^%Ob3^8JZ?R?B|av>NbMV zbeL~$ju#cpoe}9FENx|cp&_=r7<-PEcG@(ez=^wFwM6evj>S+`h}~Tt+r1_0%+E1y z6V1`27H)eK5TGCz0!11D28;f@ww$T^C7w@Ked@XWWuZAdWj|KN#2*C0zOb zvx{xPIrZ~D9$v`aRaLoSPNQcfxoLrUG`~EvW+}`Liv%(vEJW!ka3>eD_#bnuk2(IXzYO}OGrM`x)*4Ze#X|Dn!*H}#yKys|kb ze~33%GI(Zrq!oh9^U=JxT~7BBpA#SP&DR&N>-9Vtd8u5P=5bfC8Zkc0QD4V^vrvP% zf>jTUDSV2C+?eB^0=@7p9d%S56SYx!+F>4@fQud z#&oHb6$9T!xlPRb=Cbv?Ft?LgSn9p*yiLaMlHMw~6#`srx#l zaA__OJ>tnxh;59@5BQjGCVrUswb5^T-PH_!u&83Kd0yn*6y1&qc}9ZZAduaswHNxSJje z9JZngN?ww1Q9+k4PhP-&?>lC0(U&h$AntSj;J08b7X$7@zY>MP?QL=?+Rz-r0cW5+ zJxhRS&FZR(zrZ7Wmdt;w)G4(S3kCumr77#qPHej3c?H@6g^>$frK_INNa0LC+u0&- zgc;&C&ZU<^?DO030Jo#cp@x_6u@~reQ7Iop_iS8>R|w=*F1!U;7=l|l@CxX?veA|= zH$J?dHMmLA8*}!BY@3?Cm|b~X<|lYvpoLF*sf803DJFPS33$Muhre&;gS;;GWk<{r_zrgnb&#eYF-G43DCfZLV zPu=wls9h>;ajzv@y6tO*fhduB*1Q(ixJP{RL04Bt&yP$=uL|JlyG+-x@~YeUv?Ery zOeyywcs*sqfDh5;7N^C8gozOv@O5O-E+l`n`2I% z>SfPONlC%*2Fhd+t8nN^1Y3AYlr*)dd1Zo6QKEshNuh#>>Fs0DVWy)~wK$H4)o{bm z5}|1Oge782neUw&wpeg})*@Vzm6Z(dtdI~?1J%%8nrrmSy`f_aap~xUf2fa4wKB#X zn|QFYuutdIv=|~Sifd5?r_S+*0~d2lwX4LW*<)hgw$YEB!vCV%W2bAuklF=LGvLVa z>raI~H`U7Mu@1i3)_zsUGVmXDi~x=Nu-2M3Y(%9((Xn199ApO1Z(OWa=U-qpcrhnT z4z0o4vIG8tSD6OM4n=qXB#t)y0UW0fbnOXV2nOj|yahZUkdLQ&P|}t|xLJc7ydSK| z!9XL%q}^=W%~~9(xKyygB{93Q>CBvOMOnuBL5vxmXR1YN<^1*7)xg*Kn{d}n>>bh~I<0kF z^L-L-69`5_?al&$$HcN#pNq%du41~Lg1~A^?TE}n10b16{yKDXQbX|ixf6nI>de?A z@r1(K z17VO4xC&(~<^_hz!-hOS||8sEW{% zQVt=3g|Z;AJYWXm8HN)-SOeq+xT;i(qTo#@@UMYW5Fi8w`%rjO2r5I}EKn#R!O4Yo zSUqSj3*bk3gxwK`>t|H-2{Llw(jujrdO!&kAO;C&B(b0ch0R8%tz$-ypqY1ex89e7 zN>v~pHZA-i1(;1M2kw!X>=+qS;989oAn2#H&h^C8BpUzh+7OR`tCAA2I z2KNma-+#hgC#^JR(){xh{2ngEbuq%c-SkxHHs99J%T;++u)-Y@TS2?;iaRQv4LFCl z+PRT9ZrdF~sTB}p1bXe?vaf@;)f2&l=8V)Hn}%x~rDTR@;7otg^B(5(O0S|379Gh| z*U5D$Eu#K=^}i?z78jCm@Q#M!MDvQ^@xnrDL8tn20Xy0{Sw~K{Shjx-sM~s^c49N# zj>{#?zOc{h?M#a7fTa|ipOpRy>!rNZkN{$mG8``dIFN9RQcqI5A7$4p1c3bC-8ate zzAd)kRr4bAU|g+^t)<4N0uOK;-jvY-Dgz;bOOc~0&%hUg^uACq0RUj` zscPLuK+VO=l>b~>pB)n_6McLCqI0ME55a)dQgHMS@b$2t5n_FaY`Fmb(P`-(0s$xT z5|BT57fWu1{^{24V(1@COgx0QykuDMxa9So**=67q<~taFXlju7t(tHb!S&*_Reo@ z{XIs6qNY;kwfJ3tIovu`3+9xa(396JdM7T`3)&$V(6zA&Cl2f|$HGvs5It1jra%G~ zGMgWUsvKCHd1hp?+;8sMqG>bt|5>2{?5g_Z!J;lT^sn!$hQ7#-Guwvm5@d2oY z?_q^E;R&r`JWxsih4rj8Hc7y6=+Kku0e(FWNu8%sKn5Jg#4Vy$T03ipQjuaJK|kFa zLs=eRug1sRNYrGGnAp5BCpq*iH=qnRCrNYamrj_H@Oe0q>idfWPLSZjfz?pv5$MzE z^T1JH6@o*^w|41lESn_V)8v#^UknTjJcPDH z=+VW>p1pdsNsvbR(LrPfK-da1&=H!hcFL{fJFE2jlywP zFpj|w@AZ=Trv5@O{nw&yFz4gA18{060J{Q}v@nX|xGY3DC2H_)q|g6z2O!=B%cD=Z zEIaI04c>3F^bwb?X@cI55+w2iXNWP-&RajJkw_~X}zF~QAUg4f{@HlKL^JvGaTM0tTzN+isznX%o zbck5Pkp=wIRGj18mXv#*1zis>Y%N=oG(S&~A2@T;!4x>7!X75fy}9O{hm)Wt1y!R3 zJrtP-+yy+ssX!J;NN}zJYNq!AIfsaiK8i)qz|=^MG0RH2!ut18lcHRAIC5e`e8*mP zw4nU2!)LjRN(K@FXa17M41Y?OIv1K#c()Zrs2{dtwRt&`2g;jIJ8?FtkHWGaf{=nxK*pr{Z`f=Ub_5I+UR_*t_i z-3oCw{}1sx0o~zO1GtUBDv}2`LJ_!{*&tNFLMb^9+CnUywR5(uj6?@LjqT3VJO5&0&`WFpX<1y-zGIxRKQGTr|>sfbb$vn;IydWIyTOf4Y_~ra`gO*yQMma*@0;5za<9PUnwPZ z&2o3}-AX7%?n+_G1Ox-%ge9~wy1YHTZ%SA}Me$G+3FHzeCzcq#uvC2s;-(M3f_y`G zN8ZR4GrJ*_Df<&2C2!g_wT>Qni6N0Ka1Sf!R`-6GfjM~3Q-P}JSs{TrKzHCk0r3H) zQx77Df!qc{Ub%8$IeEmnL7&t1tZHtRDm&BkTXMI$Ey}!b;_i{Qduz{fFXT;Z9$lN0 z(6w@KVcS`uKEGVqR-)=gFAL@DN@+vU>zSRyAGa<3(p{Y&*alL6?_=2E;tGnZ9SDIT zC`;0yiMxIga&O>yXRJQ1>~Fk z=$jOUk3Sv#7;l>-*#j|6C@COth7r|icCX2ATkORi=*8Qlu5fg4vaMz4adVoNnt6I@ zTSoAgpSGm)@K`NCpOw9)_->o8Be#4gu*!qZH``kR~Xhh#;Uj0R<@% zK?D`${%u8Pt@+$)rD9y=h-Ob6|Yk1TIVX*E>pf={BiguaoY;%#L-($K|;m zyQSc;ii7)abWCk{s4`E^#TOh{_~F*+vGu3EUv^@VxN`9W77u9BWNz0h?uvPit6yc)P3JE2Wr42H*IsaV2aYm%cTB_OOB- zUgq8KCC29Lyr$m5;$0RdZ7o+kE|AX?>s)^%<%3hj%VbSow{r2i*|$_aQf4FXxg0q$ zZ)2W_cVw?{w8W|N;~aY`ggBsvR5-LSX?OJs&rb!~q|Y_|!jy#h`8IB|KWF15W^)f( zHIWZA;aAkW+~(UUrvkN|yd*f|#KemYQYI!k>t-HSu;Hmdhk@D7Rcy1lVWx#KSH?!S z9^ElzHJ|-ZHP%_A#LYah&RFLOULrEFWbP9um_r7-p zF=O-I^_{~z4H{OkOS!s-e(BX^NSnK{Tl&=hq(h}9?u;{bo~qgR#P^;*R<(H4(KWB^ z&1!LX>sHH_?osTP(107>=@)Jf%@y@&OsBOCo!{)JwD_9Cx$4x+%14G)f4$qJ9ZQE! zn%{f&s@?uBU56%A?c*>ObsbPW_I$8>)9D#~V=J$UPvo~D{500MwDmAk{O@xG&v09p zF20i13oSm$!{_p?PCv0*sqc73dd9wH1y0y_BU|RYx3~uXY+qtxIDShu=eFU6E-rBH z_^NNG!Bs!aKCbn|9iNU^9UqgSxx41Rk`31JVdArAbWNFmYj zukU%S>gEK0wjqViz806omC-!zjNkJ8xQ_3|SMTe)e)(iVVyESk5-zu&*tqmj=h2VL z$5bd5=#Xo}^OI{1`On{&SZx3Uy;1*Cj)^C#w`!k0Wka=-vtp~RF1>Nw$;=(vzj>?G z$^Ffv$L~*=k-fO}vB93bytDe` zxcCA?3O!lqoEAQC!@ck}%Lc}v!P+u1Bv;fp1kl^aoc+|0xl!4Vr{a(~f%htZ|%#P;Lk>U}n;z844ISb5bvkB+@yK*!E&V%`N?wE<;2arhBwpYn>;bd6gT@~wlw^$!+=gp ztHhrfH!@elI^8?gYiTc;80##Q9G#`l?B12WPO4Jvns0xD^L1+9clctmFCG}TW%VL^ z-MCW)IWiwR`EflRPnYcG^Fv;Iddk?YrL9+nOm={I(Y)JZA_2uo4OW@@>z4zA-l!fMliqx7_E_HyzA<-p z7G7BDteA;c1YAleKhAJZyxf@QIUhTh>`Q;b`G&LZwxs)&>W+11*i)x^)jTQP);&%f z(24!ekx?bor1ssci}yTEbf&MkB&OBtrI&Une&dMI`$*fybGok^``FoS!}pckRZlwi z(4}qbxVjHB7y2{SS-3;_o3YM3M|etb^Pe%E#4Wv&`PjyBtkvAv(;3Vb?qbeFPHQ82 zJ)TiyY<3oF*^KNa-^rVP@ch@SetbT-ng+&+##NX>eO?;Mx19CuWlHiT(?4H$!B44z zM)J5*kDZqTiCqJo=N9hjA6lnHf;}{#)6k47I-E;NxM4Q;E`IEcojoHvg}klBTB1%@ zrZ;!ys5&=x*VzHXYtAk;a&gAT&S25>JL?y9&MsH^{9|Y1M(^`(dk0VAEheAHuRZO& z7GYt(#4)2Yelcly^q3<{u7>L*Iei(&_8wC%zTLK@nD?xg7mj-Dy!sJWSW4sTt% z$?M0tQP6s2qtlu@zxZ|X8BFgx6Jr*|^mk6=&HaHYkFDzuzQ4F>BR*xvd8BOhf=*|F zEH@jTs2=NFH@5YOSSQchb!8#A^YL;BCm%xGl`kjS|2-YPXRS{2S4u|nrAVpqGptC; z{AGWCnP^R%>%qEw;q?&>`Le9YD`oi7IwfVc(^+F&;;xQ+gM%aKZTai8LSDuuf@qG>d+tFo*I1@hIeX_<^qj!%@ADwm9 z=Pzf<@@-N|Vr*$|G_T^?8C&rCk;d(;BM+w(seXCfm0XX;S1p-)RHs6Fd$rqr`P{^* zjqeouwXUZ^x_PzVvYomgH}6(l{*)|PHkf(jofti|Jd|u?U?c?K(sJh7$bG=?= ze%+Vq4+|UDSM)E?WOe0siPLM%_&C1s_`><3X2$$fFsf&gW#q19A?6U9sd^@gpxhn;R4LX$f?d_2q zC-ctVHlTtrsMtG2W0!rLd?|%$^hlZ9J-z?q5;U@=wY$V@0TJYsIfm{i# zSKZxucwFuZojNbdKDzMR_8g_I6f5~f(R7DX=7jAC5RQbL9zYiZ@Jj2*+XBT*qqq}+XCA~4QVBdVh zW=!ASWN5nES>7Bzpj+p4r{{mty;_#GQL$OSvDg2(sBO)$Do656%e$~b*}}zyxpG{_BINPt(iYt(*nO|?ml2xl_QNj-7LtXU#WgXG{CzGlMcd z&ENZS{y`n`?wwY%dsc6rmOZi!?HLR#9k}%Ba&Jj*O!=|fmfwxKwd+a6gzUpw^Q!Dc z-DaE~@I#fj-bJrQRms-7_qrV44&7G#&XMdnqjvuiSuw!YEV0+yPj=S6Gh|r)flKoZ z?CBky^K#)@>r3V;l%s#^l9z+M&9JFj%Kb)J58xP3wX2VegALFU=P|G6$7sv5KZ!Js2OM<&~nlZP+r z?%&sQQkACzp6<+8p!$yOb<0ObRZO})ApN9wH-|e^e{XKln32gh1{TZxUa^wDbr?Ia zc-voIO^&XcKcT?Bqcs-~o9H#VUAnQN$Lm?gADFt=zPrGcUyk@HcWm5awEbd6b52o* zGjZp$q6NnkyxeQx$iWBS9JXXY%$-Z29S;hwUz&GN#iTsZncrR-{-f@-ZKL+pjeoPp z=jJCnQnGEkx1-ZrrMG8$HOJLS8+M#uyTtcxV$}SoKkq-U^H=kzOvbn(Kh-xb)HVhj zd^v1nipmz1?$WQ@GkjKHQEbMq2TW-GmiHxF#;8uG5BN$OuKej5Juo*^IvlA}@Y`N1 zuWz~2X;N`}$ILkknfrgu9p#I!m#0wOilZmzT;@n$`AEwVCHiL?pT79TsToFH8n?nz zdF}WyCG-CpY?;}efpo*SM6c^!j|nFsEE7kb`t{1?yf+I)Zi znU=B9luWNhT^XKf`pe^gdY0=-%KcqY)CkEHjJh&3+wijg28uOS-@JQ4-aL7?P1Td* zZ%3!(Iuy=K^YM}A!-k)II`!z?Y$BF&x~{x+K-|c6lC3=$p5?{XhTa^1DBajUjX$10 zAAdI8%sf@b|M_f0j%n%YG3qA6pZr+w`Sa(~(~Uozerl%i$J3AhG5yG&qt5(T5q)Fo zlik%H8^*LuuT{KVD{ABuvrehu52t6E);)diL$@;@3fd-pR_>{J_jXjos?9Lv()G(T z4;bM(#`H{Cg2QS}@1B0<1cza`jHpNM@y9biUoeCJo=>~X!C_aY{?@Va!w=g(U*H3Y zXPO#4{z&?}|9ie*9+33omK?$7EaU$te?GIhj2Zluf6j7ySsMG6+iTL;eQs|_V^6ug zJ&i@@avA&5*uUG$!S{;rw<3S7KQ&%_ZT#YEn-^a@z4+Su#n)yH+q7)hJTA6!gXYbR zx(zzibvJo&V?f^?eR~cbG@?>$<>UbajDbT(^h_D{_kXr;+prBGOFOoW?fxQf7|jPK zB{%QeBPA(ibX~)Et=BMj%HW=Llao_=4IOG24M+9;8~(mweYgG4UMVe;2KFNR@3su1 zd*8u545J01q&~gs4IafejUIgmCI3CC|DXL&<=%Y<^kPi8`1=<}QlBVRsA}b&X@{Bq z1wydNyB=vq(&fBx(^;?QSd*h zOk~*KwN@X4t)J$5WnaiYUn(aj4NH0d8hYj!DTd!Jsz90H`7XOzO`*&XdWUTRIp+X1$ zpUlff^*{6CKhpg9cg&^m7h~>Oe{ip)q@>Dy|BZI{rVRG7LjUzKx(`h1JBV+G|DA>L z@0kA)Ys|0meQTvs|NOrjv$a+I=if26DwaCt7RfyrbH7nCX&t@x=oiPBUcUcgGx#sZ zznQ;vJOAraausnaNl!PAl6b_cq$gr3S%LVJ97Fs{GP9xqB~6i_lBGyU$+t*YiJe;! zB|W%h9R}8YkT`!1 z$%tRcXNZl1KQ)t%uBMVW#HZvP|0>Aq~s0~R#K1^y;)T5)7psj z;FP+pcM-ReeMm^j&q!EFan>fHqyu8SBs+hE*pysGTuO4VT0SMOB7P-(k${p#NKnaV zNJz<3#Kn*Af}Ql zh)+owZuymT<5ob)5pD&Ql+Vj*D4C0dm7GQ*N}}?y8ffahpax=7G8nNd*@HNgJV0DZ z+UI9|l*~XpO3or)CHV?4FC`6;kdmQDSjlQ6q9lYEj45?qSqd@>B`pz$lBI}C$#ul7 zBv&D3p~QuFl?+5oB});XlFt#plHZVklJZ;%29~nYSPj-Xbu}6w zE+tbDw~`BpM@b3Jpk5_j#8h$!@hOQQekCt+K_5^u5b?3kQb)K7v9bE8av2FSw^Yf+ z6`Y$5mU)FB%5SNl#Y{#vnH{wyU0r4uihnPxUk0GqvR^$RZ^@n zGgXp|_>}BGf=bd?VGkAtK>H% zsH9mn#=}fftKLTJO12}W5~DivVkW6o@ravIrb=Igx7Z6=h1eKDYUT&TuB1{8M#%P3 zGyRc>lGBKt%GAtnh(k$iO;%M&cf_q^5#mvD4e=_eQj57Oc?a<+IfeL@6sgVJl{74C7&Y^C3g{n*{04t$E(a;NlnD7WENsDx74cRh)2m^h)+rRI*dn27sSPE zQ~NAIOeLp~kdi;FK1w>cI1-piYM;r-)4uZOlnscTF{NfMB5oxG>M~O$EfG_Ri3F5v zL2QgEwevTKM@hAMtcH>|5q^;%s#YQqB@YohqfG7Gus&l}vH&ra{EP&YG;hGRlx#z6 zj54)zk%sIGCH)bvk~K(3$yLO`C{z2CX~fo*3_=XXl$zOzxRn^Mam*`8L_$giBL?G6 z?XwoKEBOO)D{0-B^-;1G2`Gtf!ulvlLTt<}bz7$pml9`F)4D%=Vw>CP>CTe+>pRz}Hj#M@40o*|}^3RKv~%kyeWB%m@T5>&Dk@wS(p!-%be zlo%>ZCDjo}N15q~gp@2o!b&b6!A`O&nk|QvR6`t{Wo7{4RuZtPlsvaGugj{6jMt+i z3Gpdej~HEK)dR$@OJ$ez5nEnf{1R$r{9XQ)aFq zUM2b1S79Zs5O-f$H3so0*@pO(+(rCKV%eXzezMQoNI=QQh@-#E+_ExCin50t17xNx zVk()6gp?da>;q-hW5lPV0!NBtkjx|@AtehD*I=3X5(y~Dz|my)%1kZ9r(`H%43U{l zh*!z~kf4$R9C3~mS=9>hE187YhRV!-#G~XFB&4JQ$Ej^Sg z$TddDj1#db8H~7;Y((5j9wI>{wK?8BBW35|NLa~MD>F)FzPB<;igKTDkCvJCh+oM} zB%kw1PcSuA@0q!@RF|w*P5>PS?vA-)bM-ZQq zXNd8h%p`Dcb1NBy1eL5u9Hy)aBc_sq+#@4O+8~~>vT8aKQt}z%8YeSj;S)U7V#^&g4m|XOfJqerjpl?h>|ggceP*|KT`;!v_2aVZH}eU$u;1e6r#d>K^I6p1Jqjf5}AtK0>MF-MMPKVnyM z4{<0d!g<%Fq!Hp)G8pkFS%sKNE+Bp-={fHPl)Qojl{7~}N`@lFTse!Sh)u~A#H%DX z=WkO$rxr%s|{E3)K%J4YpQ<9AMmCQr}N_HSYB|jq}B?Wmb4J+{?w#9O$ zYY@AV5HjkHT<0fuKaVhx} z@heHk<9}F5d&KUSeO4eICBGm+B~Bjgja9PhZN#PI1Y#;Fz!gDINq@w(TJ~9jm`Xmk zs+2@eWa}Tusyc{E$#}$6avljPNyl|WL`f{-UL!jXMEpwDAz>vK5&K$MRgkL>kCLW{ zUx{^v5>|2uv8|JR?puA76ylo2tHh1?l=zT|{td%YZwbu|>+ zAms`YQWD3tPejQK#I{jZeTLYTWaMhdp(GLUC>f74x}} z%s^~gWK|GxDESL_%8F}BLiix7vBLx@Ys4~Sn$39i=yN*W>&CA|>e zhjLr95Zgymwjv%Srx8=hL&UEn_bm3ik~qW&$j)sV1~Hb_LtV8r-D_L+v*lx#xmO0FReB~KAwOq7w1cG3Jbj4ZPmp~^TB zw~}^6$>yVI=FOi6nOmi9G zcDXGF;#1NS2`O2R*mlUOZxFYV+*~bsl{7|tN=6}mC2Ns@l0T8Kl8W=0g_5p_ZKoX1 zBE+ub7~)Wpc>#M+Nqxkpq!;2>G6M-K`3Q+9`5Li(D#w$F>qoniiiksr8*wWcftX5` zB0eQY5xDt`JX8Hogy z97h~SWSCRWP3Z=`8E<(nS5K=mJ$!*IwQ9=4hbn)i-eV&MeHG2^$anSq<%@ z_6xF4W5l7PKjKny5Q!-H*6Q<>>=P5<*icdi@hfSKM3nSL>=$L950Q|PpAqlZGSmEH z`Y73p1TV=<>?hp2FH32Im`WxfVI`*!{}oyFD-u#tW*b#X+944oCSqKbeRd-@CDzrw zUCGPa*%wM0Bc_smh+oP3NJz;p#27A*Uh8Lqh{`;(GS}n?U)#Y5l}tulN)97lC4V4( zB?&tjkCGvX@vYoe0C6d~X31DN=HC%hWx8;s>|BR>m9#-jB?}PS4cX_BmANUUEmw;^CBu+_lKDtb$)`w2$u~$u$#01DoO$Xa zexbdbk(6{oyh^4arjmn*U&#+hP)XK(tj_|ucgi5UW=pAugm205j7B0#wjuW0GII}c zD0yW+_gp32kdTrEi1DNBa|UrJ$#j4!B`pyD9a%LWaov@2&60akDjuZseJTAAuaY@P zNXZQ(tfW?u)lf1EF@BPrGaurJQc@nVE9s6nluSfiN;V;GC1(+jl1GSFNuI+Tt4f@R zUrA>qpyX{NsN`cLq~r<`R#M;ytD&R;;(j1kqYvUyG7s@8*@>7+ZX-b@g+61QBeHW% z#I9r@;#RT}F_m0Kd`fa0Wqp*iLIO%ABS9rQkg$>;5aVY#!cxZ=p^~16Tgha^qhuq} ze51Tq9znt?b00At%5CL2&MZEZRq;rHO;TDR_FrVxRK%g=7~)Zq?gaZwNo~ZhWHe%X zEIaQ&TuOen`Y5S*lB!>2)o{fBL`o2GJ(ZH}bL2NE-4Ms`QdU?QB_|P|l7^?)mXgIt zK*?hysHE9x?iWf%ArU335&I6g@<)*ZA4>^aeg2YTF8T$tcrK+I5>~Pdi75F72^vxS zpWR5uL17pLzhtISQu-i{bW(O$5-la`8OF@VMWps=iMW+~fq0aZ4zW*_bVNc*#v@@R zJCTTzpAaL1+kMLK zljA9Li4iL4fOwS5L%d2ZAf}RRml=|m3{7Q;nVecpzhB)}0OX|IQ8{$&(7;!7HezNf>>412Z%tTBjKOzAo&98C%D4C1c za>()AL0n3ze9N|!j6_T&$B=-MEZ-SMyW{dmcm)ZoOfSTqQ*M185vunMtmx>9Em77Z)Nhz&INALIiHlaNI=O<#GYSfK1V!C{zUvroZnMbKvvC1 z!b-kHyai>Z+z-sFkd&c_L&;ghR1$TIF)MK)VI>ohh>{bCSy*oCmD^PT42`X8L zgp}+=!b-kEB1*FJGo0gPxjqe$ppuzZrkKp^K};o2k+72T_t=(_CWv8|eFh*7C94sS zl52>oxU9;1pH)@T262~=nQ2Hw$q~fEZ-r8ijlYnPk{0}26;`qc@x3CezOXV%GVwE0 zu$0WyM~u=^CLjSNd#y|vnR$YQl@yII_l)Tb>l!nfzlM>BILgYZk%+yVlur?(yp*Si zO-aq4sZ#PL;!v^}aVt5Ac$M5i{7SMtWL1?^LVOkEc-}xf1LUjD-m@|lWoA7RQF70! zsw6W79x)yz%@I?H7x62ZhXj=zL_$h_Kq5+Pzp#dt<<_esb|qsFhmw_uTggep`n_lB zargrgR`Swg`c#pbs)$EPTg0bi0uolT+UnzweNG@QB|jl{Vsw zGl)aU?}$rD{1axOqyu6q8H4z3@|d587_o9&I}w|btB6BM`loD5Nkzn~#EpcMOh>{> zwjlO6x%HD)A0@XCBVJ}Q{6XCFhZllHU+VqU=-V zcgCZnDH2jL1W7I;SAGT(R+)>4-6=c2@(0JEl4eLq$q2-#CaX3gUM1&|fRYl=sH!2W zIw6soQsyJU+EPwg@~V`~f3jkAq*O!#N?Id9C4;Q05^^=hA|aJofrORpMIuVRK@6AN z`g6plq#DmjxRj(IUL~s$Q^`TZrzFR7W}ze&2`lN1xa!IA%tAa$K1Cu*9w0`2Syjr2 zGHgmbh+WBQ#G&LG;!;v9DvI~x%g!ATkCOR_SIGgyRB{{fDao2H%9v7C?!n@SUuEhe z0VTbVppvObNXafFtmGjQQBo;7icbuX^Xi7!lq^N;O1?oHN^+)W#gtS<+)COZUM24! zJ|%0AfRdv~NJ$jW+4vgCF()97#!}iNZY9eRTN9btkGPavLvB}+`{EH2RGBh7uj6Pc z`@DhpmCUs=&17c3l~M8s5>iq%6WeMotNI|`7E;zAu2xe1XJwR>Uz4yu&2M1o32BDOBF%8z)I zoJ0aj9wJ6pSyebEtD&R;;#V>di6~isxVp(cLByxz4iZ-Kl8q6*A**U2Mt3Pa5WkXX zh|420pCCac-ypUmnTg585v8Ot;#T5CJW5s}UM1%c>y;`|#=p(Da9YY=F_LA~ z2Z&9{O~kIGSYB3Mi3@Qlc^5I2_z}O7V@OEJLnN%EKt9H-q&8yfCCBVR>`EpgZYArG zfRaD~%1lqBY$=%;fw=n0%nIb@OER+uarcv%zmTAk z<^_=cGP4{B4Ulrrl7Uic^E_N=kd$|k;A8n5;}XO(SY~b^Zm*P*h3GRxN(vGjDrG0) zxhgwj#zalIom8H+NWccrvL zB1+~Uq4#9wEaEq%*j{ElW2Ll4BIBgYM}p&}oJSl}q~tEf`Ddz>_J}!6$~eUFz7*>j zHMdVnRy!k{E2S4=Um#^U;#nx=J1a9??yqM^L}khq=Zv&SR*gi=#Zp2@aEX-P5%)4F zaV6Nx%cXQd{41m^MM5j3e2x@pD@S+-v8|GsLM7SOYAH<+-v?4=A|9vgvjwrQk(o@d z(0Q#CrzPv9^hA6cq)bKTalEEJ7xw|;-Y7Gtk@Oj4=10V{NoMkuV&#=IM9j@HRBK#Y&1EVMEKDd!N|$5OJDVecr3N0QIVXXjo+T%X9QA&94)%*;X} zDs#fBDj_qs5&w4Cr%qWiJEV+9JcVV|S|s?X%!H6-1!U#{;@%}QIm>a6Q_=fmY_Y%zT2ll-xi( zO6(Qcx{`WGSV=NsKOsBMM?6Xbh^Zumgp@>8;`li!`xHeSN}3{GB}s@+$=gU+$sEM^ zTz1}pxRm^ec$B28%$Su_MEpt`B0(i1k%*EFi2an@`aLA9BySZ)cv@y+5xbJMh)c-; zB&1{t;`u`MIf$4_t|5LU1s#l8Ngc%grR?KDTuN3VJ|!oRpptt?SV^|3%=C=xTpe*J z8IFXMEJPwof`~07`}~5qm6VTVrb>DtVI_+Z*IC);98w@!o@wtRp>r}*DvtFzFQqHu zQ?eKdU67gci1C$_zYvF#O7ZMLB|VU!k~xU~qU>Wm`|J2x%00wXk|%+!Uy_+Rh+Byl z@hVw~_?28oLYHNqf{E-MB^{7ZSZ0mVK_$w)xSB*ge$R;{1wbCZ^=IKh+j!RB&1|DV!JJ?!iY;rnVNJ~(h~70Nk&3SW+Ap8W#|2f zTge^7R8qGVeUuDGtXDN~zx(?-$uKq`4kh0s9wo(VGeRXbkbsiWh;dhTUX3`E97Ehn zt|MM0*O~p$hyQf`=QrT-i0g$|*W!jT4)H4a67ef3RG%aKksM(U#HC~- z5>Rp#2`kCefR+D6_9=n5m9#`mB|Q1*=H@{P;$=dqa;%c`Y4G-B1+ys z?8Rm0X^2b7r--+t%!Co2l5{P(SMr=*>iX0|TxFyrBOWD_kdTsnh@am)ruKPkRh5%c zsTJQXFQq-=RWcq4Dmjes?}3ZX`Q41LvXtJ4-yvlk5>oO#VpNrx;;redqze*OGSkY$ z%Bp>cBTmZqh+9d{Hq1*&JmOQ*2?;0}i-eSHLLy2oBermg3Gpj=xdS7t zAv0dYR!hoR#Ph0@0v$P88cKN`2`gESIQVT>>d_n3iK-@2nj!vHQf46Dc2Z7SRh^|| z>daC1x|9Y;P|16U*+ph{Bd)Ge3ct?!bd%B(vGJ^a>X?@!zJ5}ELbCUg*HO`3nCSqS zX^PkeN$H0~221fHo*`1MTNx!4x-#YznHhnElx(sx!(`@;l~Gc)8#5X%GjAaQB^#~G z2${Ky1eLUUgZ(v9W)>sH7%5*Nw)dpu=+3;xNvVPO#!DH2geOYbfP^MV`3VV5mh!TP zK2xOBL5!(V`XHY7rOZTZoVik;gI$k=ROYzVXO678i@0;js^}z+Rh21^ICy_fYUhSX zSY_TsLi1(k>4Do! zWRsLRNJz;kD-)2JjLFPG$*YL{W0^@pMlF|XI0^}TA~RbN*ET6v5#M$x`MCetcS>o4 zxOPdIju^Y89JOSxlxIlzu#_6TkwJ2Vtr6ohnRy?vAC+w20`e;NDH1LvJLen4<3)a%iA7vxWM(j8Dmj7pxk^iY6uyht%F3#; zqgi<+$%v<%%uGg%@=|sqozy!HzC(N!Wac^Is3@iKTWqV6l>UgfvXnW9tBRBiZ&TG# z&Y~O=Rv8ZxaLB4n$b=5^*f@)LV`Zl3J5(tdin!xs#)sJAr38^sf|Q3=CQ(ZEF^pMB zb;PVDGjCcMB?l2tb(yLBE@Q4CWfWmQAOrDP0ZDp`y8m3)H)m1Lg4 zaoApVu7o@*A!pG7@u|#2B%tI75>XN}k>jU>>|7CXD`|~*mAsAklze~$m7GArN-|BN zPZzl@Hxl$nnTFWp3U5qbVtl9vT7U>xF%(zmHAG}8B4-a9wGMYQu5DXFW;8(DiZinN-xBJ zN6HMucUQ_b#JnfvJEUE0dG!8)MDEK>nYpaS11U|Ba74;bKApE?d%0O4h~f<@Qo)A)$^^ zh9I6kQnn)QzEZ-7ZJ?B5OPJS4DXkFi+fv3@@{W{^h+~|TYltyPO0K1>;S?#aA%PiE zh9d6wrL0H1v!t9u!n39PY4w>WrTj8vft1dOeUX%@h;50KeTaXflwT3wW+`QsGs2Ig zBqPDyQsyA8{ZbBFazIK1F+P)G=Q#=cF)1C8$mddKAmJ~he1?S1N_mKQ&r2!0l384k z(jGCsmNE_rU6%5(C0C?eM_kvWfRMK*?^z$S12F zAffzHUikniAf+P`C?;hp;wmBKAmS(~gduWgZeyasmmLk(uXK zrks=-YuT1f&OI4%RFs*ONVt-etCm!eQg|Kvy{eQBNHAW?Y$W28asqKwmy&fo`>U1| z7vgnENkM{jr38@BYf^r)q=l4H8#p%HQaT}_)>7so!H!Z+Azib`_4x_uq{Oz7H{mIjfk+70a5XXD6>M`P1Qh7W3OGzKZWy-2`h)>B?Bs4{4GVfqDrb>xNyh?f_ zK_#;gbDFHWi5SzR#O`EUO2#1m88UMM@y?Wz<5OnwzLd_E%$2eP@hQ22gq4)o#Tw3& zRo#)`0x4?{`$8#a5ZhuYKO=r6al0AM5}6r}*p^D!ftX5S_HfKA@gNZ;A0z%{vd?qG zwn9qFz1*9W3`asMWo8*-TP5Wr5>fICVtgPo750%)(i*X?mznnv`vxf+kxjN-1}MJ$Ot?JH&Hb z$_B)DLdtU_cv4EygRIXfDJh8Sv=l$GroKEM?m)a>$jmLo_)^NNLB@PWiiuoGkUtB5 zfcP)U%=cE+B`Kv3F=i!g5zl3rS&xL2JVyNA$c*bSRac}8K>|uPBgR#kxrI2C6g)y_ zB^?mgHCZ(USyW!mbPW>xR%T8h`?AQ)&sIiBq0iVm|C3cM5QmbDh^Zv{D665Q9%8>P z`z%GgN**FXCAE*S^&7Hk3gS_65(y~Dew;PDDXW?xUHQDT)Zc&gL&7Sv0$HY3?6{Tr zUiQgyg6C4y?~-DX@DDQ64RPI)V!ijP`ET;*U5I#Y%gk}a_)$uMlg#~RDIJl}BPq)f z*HbAMkYH3sgVlcVoJ^t5S)UjwZ4jGH$_ylwOUg;aokvQ}Q*5h}l%|%%OBsg*t4rC5 z1YAK!kdOcsEL^au(Sl#fumLDXS2_lCLb;E;D7$F|R{X`XIq0Qa(hy=cU|2!e2=# zah|HLrFam>H&WJHnLnh2kwE%P;+W5Sf&G<3N(&@VNQ#Ms?NW9ijuKMtAnsC93V%hP zGE&+gj&f2aAg=OK4j{gYQXV4qSSh71GM+do?T|>klqrajC}lU|swU+D5~?nx%-5`Z zZ7E$XaY>njI2uYhintm{`NOK}ETzRIj zM_ft z-c3@@S$#H3d5ZkP=c}eZ61{Ylsx2~;gxEil@&V!wNV$Mact`g64GF7E{c9XQNis74 z@qZ%wEI{6AEi>B@`!<>R4e>RVnWEpaVxP)PGsOR@%nU>vyJco6vLR7s_FI`fGV?PM zUqxmLe#dzB%1leds30>V5x>f;MB>ZH%wEK|Pxi?crs{x{7KrDdlqr@3rF@QpiPzcsSt-L2^PH5ei2s6=+lc#;l+rgiXDaE2 zc&^IKTqN|JlrxAgEaf-E_CG1bZjw>rMZ7m;W(VT=LCOQfbxTU&@9A@2iW><%l=8ME zPo;clNyf|utNr3?=N1yoBBj_5taC0Ytq@;9DPs_CVJTaYtB2(A6GAR2d5GAH$*SVF z=u=8cXCz!+%4AC%QubR?Tgq=p$R#EIHjg_kr1U|I4pJ5&;f_*HAy>D_S^R`tQewS7 z)z?K<)kXqIQidYo-cnXtGC<0CBsf}1%pLl?Bc&1IohoG{5`16EI>hgj@-K%yhYnge7I4(;m`+)IWk$pyp~mYEz8MtEIHTO^=lAret? z*2>(FRat&!%r~VZA+8^#Y(mVtQhrAwN*X+*&pnx$jF^w4oIq~-ZT))Un)kpMs zEM+)i`&G(ENU&fQab_#>3#(C7iuLYTS1~DL5wBg!M~J_;l*fosN=ntoY|ANS0urbu z|oj){>I=E5~X>DU*@lYf_FNp2kxCKq5*Ko{(uGGaZnClDUY{OlHnoRZ5;) zRn29l>r+;&t(0Ymy`7XZh+oM|zcJJHGSe6dDw&G-JIKs_B&@{vovMy9lZe>(l@DWh z@%S|q>6BX@KXVaR7n%7I33rq7I}+$FrQ9DJ2}x2qAda3=CLxhzDVLB?Un!NI(Rq** z6Y&j|@)hD8B_-dVtk`HN9T3-eDN7Ld1SvO=z!WK^{$jYO7UoBv0KWUNMOH|Rfzqtlyg>&q&#en0KVyMm*`Wiu+ETjBHEEK*X@i z%v{7(Qpyp;TSdw*h|M9TY$mp)4X2nv|lM)A5>ZDNT@&OUhe_ zy`GdER;GcJ`-rcxl+rwF>uM^c6%uhvnQ2L9DaR4V5Gh7h=007@Ye?XIDLy3ZlX3-# ztdLS7TRJ1SN=g^RzgEfu#Mmh1f|XH{K0B+iNoHO}B1&c=F7EPlGyeH3i%m%ILs|96 zs!~!ZhRjDYlY-bkmhur2`9#WHE3-pN@f>XTQz^p`|1K%V5#MepeQhW+GUa1^UXfA?@s^g- zAMuot@}ZTfCgm)$=v#R$aUXHlmKg`{CGxnWq#&*iQUaEErQAo{rj$6|w`5L`(iwSr zTyA|h;+rBf8<4I0%)O-yK*}DItKmazZ_3QqNcN*L6JzH{=qocV5L-VfQxJ!egNUi*HWF6S zxj31_a$D~po`JISbHqJZ%E%IAQlxA_OeH@cwxKeUqaP)UW-tk`T>H5&0K*^dO2M3>=so+GP@B3>m)h+oM}B>j1LEwKV|&y{`7 zBE~!^KO-I`CCV}$C3O+|d|A~Gd0I=Z>LjabiOd{8KC3M=-y-4VGLyL+omWU{i1?KZ zM8ZlIBd(RQ>I)>O#QGc^yBc8~#I{CO^+m#KrL43v>!e&jTuK^L;HXYY zW5{hK50J2uLb2(LdrImfzbNUA+*C3ZG0w~J+(3d|Z2s$yC|y`A`vAy zy)YVrk;#blhS*BzpV!I+c|Acsz^iAL#bwZvKW*~-=kC12T>gz1x`%ZRllxQ7w zQVt>$)D_Wn#8i^Ona+4eNg2d;Q}$Vbc$E~amd@Cqu6Al6ekI+JHA==J;ajrv=ZNRF zl-$)hx7?M|6bVd_dvF*MxhFH*5Z^GF`5)r_NoI=G;8-0hGtH661DSaX@kFF-MO;5i zxsC*t_q|4(^>%07O?rQ~bGR1)(V_iiOkk%*EBh%Huj z4kGS2DG{rWlElVbM=41`jCfgP{hLc}C07trNxmkmn3AqYSjj}hmLNMHL?TLlMM8-( zQ>iJPol?3ZW;H3ZkdTtoh*4c;vNYqGO-XCS^PhC@-hNo`s{C7i)Bd@tiZ=e1SUz}3 zOPpcs)Dq9X_opR+j}O$d57`X|2y0Kz4dB_@z;NuzooiiWSy=? zSk+;~rje>ftuzvAbV?&}#+zv*-teZ81Y=4XNis>X>l5^IFgNSyKN z`)Y*o@kY}$l3*mKkwn9rMx4ewX{4IrOC!~d)mjo9#-21%)wr5QVvV2DNSyI|8i_aZ z%u=&RNHFYaB+;mrMw~|1G*ZnNlt!u>?`lbO7+cavRi4RFTThHN&ZUt!z|{}k~YYt|K#s6JL8Pk|Eu~(;*Ak$B*Az$jU*Zi(umX8lt!u<`_f2t z<4Y~o9L6_kq^fZ*jl>$iq>(ryGwM@LhWHZd4DlzdH6)O*#gJe^han;UjJ&Kg8csN32p?%HG!so2rsDN@ zhMVFYV~WpbihrUhfgDqUMW%%2nG#-TN@S@i(ON^io;9X;TTJnFnBw1KO5lJk)>W{O zs~~NV`?`1vDd2RnzN_^A1hW%q9vshneO-9H!6SB`n1oXQC_C@_Xn2Png03sgEgjvR+$psYKztRYC5Nyog@1tlS?Mu z%tQ}K<`y#iT7mo1+#B#5lT0xgenCJp-T@ECcg&j49c1#%j4w$tA;S-f z<=hB{_DW_HnQSu?J}jAWWb({R!y0wbyRl0UD6RBs~+tp;Wu7e>cM6G*cq!rbIo4L_8Br@n)Ig%QeM6 z%ap(zQ-TXj300U9uCm2i=?+#}Xs^_g6G)jY{VR<`YVE3+L|bjKsxG^Z&+c<|$D*EH zcBa27>fLXOug4UBpDBSPejD8Vi53l}nG(t}B|O8F$b3_x%T;_H&pK1Q+fDHuHO1d& zi?tim*o|Gf8$M4U@Tjc9=Lu%nVpYwgYQI?(T5e~)-b0@!TyKk2RYX;{SrzG#%zQE@ z%uF<4WqdwXpK>w@!{SHKl4VGuE&Zc=Jwv3bmQ1Rd@s5;CBbm`=#^;gDdNLk6V~xHU z$rSkzsX9MC!`OWMlkGk+3FMj*oNY>|#FTKkDUm8uqALyYdDfZYZ862yW{Q8eDS>^a z1P_`LI%Z1vv?-B+e~KT|{@w6JlML~D#+l-sXo_!|E!MFZn8VxDl=#kDav8GUmj1E) z{t~+?CV?7Ttg4%+s`z%iPb?Fxw=*#b9Wo`{XG$ckURUamW*8FiL~OA}FJtspWAuPG z%g*$V9`H@E#j1LQskzY_Ue~V)TOV z#OD(mE4s)CON0<^AYf5mADWL_Xgqux?w3-qd6W9r*`pI}XcF?y)Ql<*EyB701U9xx>8=`qDS@Ch9&>Ps=jpJqzHV@fc~ zmIVGcCYPNb8DDAtx}u?cI}?-eW>X^VrbLgb_&uIpQ@q0)WfgvpFT)i71XBW2O$p94 zB{a{J@KRGED@=*5GQ{gSV2XFdlR9UwFV_@*p(%k{^FeS3el;~<(tT`7k=dw}p zIa{(6skG(m^U&}2th1|P;@x43RrMTIso#zFiDi6y?MzJk2Tcj|m=a9-b9~3F&TrB= z)9!4^M@XM7vCg59QuQU7#L@BjSXJlVz`HM7VpZWWc2!Iw6HSRuv&HHYpiisa$C4YY z&X>5ynvW#g(%(7YnQ8ZliMPxY-x5>&%S{Q?nG$TY#hOpOHN#8d^NEcW+GuBD65eS_ zRkW~*v@yDhU?|7V^sgcq zo?%L4o+;5XTddA|=sZ>a{)8T6x-I>kL!Kp4_3h~c5)#tm^RfB_k&PlZAT74U`gj}c zJ~8oaHO0T*l)#X`=st&n>9$y-FJi2M%iQx>i?oUCLE3GJjULLj`@|$%YD%Qq7Hh1t zf5KQ}<736DqAMj6Ad`4`JY!Yef+X3}UlsPWNYz7RTJ4NgwFN25aQFEHS!7GBkGIS2 z6BFN%wYp_9FA-0NDc*gi_>P+5KV^$G*4vDgX^a&K40EwT9oM@!XoGF^7YswziHJnlYgky2Y?eL_?1J~0U|FeOrLO0>xqYpf6GoaT*> z)!!%TX}2>m@%EVF8?Y|E_E^S0+?2q0Q-WExSfihr$L|`Mqlbzma}Jq&GZU_s%mrkM z%}ivKWG*FBYG$HaCF3WvNHYPCXNP32B(ucMSgZIk(jf9{q{ScKRV(udvc;CKcP!xX zcG{g|;yZ1MKj~@N=YS^=vc>A$PUnJvd#ryV%_75Y;!bNzY^-3G-6tlYVpGENO^KA7 z5?yMGHJ?e0RS=BNr@yn;v%=2A#M^9&Z>uT(4pRdAObK?|VvSzN=ndxRp%Zo{HhMUv zDZZ;#)l#aqgyM6yWG&KWOROs5k*asCm4@9_Un0p7w_G@r=Q>+reWJN`pMLRq7MS8) zYKpJP6o0EJfjy=KkJw_ZYbx_;wdZ5WTx9Ba_nfPc99v>D3?)9}-mw?SBwXRH+K-fp zoN+T(lP$46;S9S^Od>g^L}wb}_Y|4pEiuJcVT!-Xlt8^H!L_D@HkuM{wZ+;oFY8L1 z5MO)$D*TZhb|xm#q3h#2)-M6i2vfWvQ+$(5@#mNlm}N?Eo++VnQ^HlIMCxp@)^!8x z>N3_9i0-g6{i_Ii_L|~7Xo~NsDgJ@a>TU!BLv67}zmw71C&qWxl1Gp|w!}scrbtyA znTjjjRozH_rdty8xlV0~^$A6!&lO}6e(0{c8OfaFmfs?Iw#52`^X)z{i7YZDT4_kg zv(gmrdQ*IDruaKe2^=*gIG|bgITT7YB|OfQ$V5}3IfjHi1*UlCo8ntyioeE`z#3D6 zn@kC9HzmBsl*j>7qDKvhcutw(O?*!GC*m7vir;5SV4^9(TvI|tri2%n5?N-8b%w98 z&aofG&$0gVClal*GyM|vG@0VvX^QW#DgML_y3%N1v?;+Uri2Pi2`@1v(qKw-hf2`n zIc$nI>3Nw?(Bt!&;-76wV2LTgji!Wlm=Zo_O60UD(P0~PK3>mgQ@lP?d^1e(7nu@R zY)Y`klu&~y;q|6OT1<%^G{omQZHjmN3%V|!Z-y!U`KAPxm=dfuCA8j@aH}biW2Qt0 zY|{DoJ;O}#jxoiTWr}~MDS>iRg3C+^HJK9LX-ed{Dbd6ib!6@hVG( z-NN&;EwL)^6uT-WzImqj%S{Q?*>lgq$l9rH`90EPOKhxQtMu7Grr=t4 z)!WGE>)g_Vq}vkf6FO-3iAgx&ukk&MNhHY@YtF-G@w9CBvE&M*Pb42n$cc|0>l5|a zeflNj$+gAmQ%O~wQ5Ev$+nHFEuh9OaR7%y^ zKjrA;x~npfYLRP^8e3w0f@|zPF$rxqCA`}fYd*iR#=0RsR;((r-_FD&I%ISF=vY;c zP*q`6g*{{JOn+6_n`w$~sx4NZ7wA(uJwCc6?;wk8iS_Z%l&U^5X+LpSjVR#hRAd6u zX-lk6pv>+QlVF`Gp=MLU+f0e`Z@E#CysV z-;kH$J0HvVN1GCem=c_9N@#{D;UZhCRXoBByX_fT@+8tD@+{IP@)9!mMqPU(Qet zhcwv|>*I~sePZI9VTymADS;YOf=#A`wwe;&ZHqO-cbHGXE$%t@BAK(?a^Y;=%Gwf} zVWeC7TuY|Q&RCu2BY8h{_jv@#wa*GEQyA}K$$li=mRO(QsMdHND|1#M zyJ2T6`5sb#tGmzjNP{i0KB27Ec%PVri*2#`R8SQuiuZ|SA`9$HOrlF|p(x>TstW8X zOSU3uw`re%r?xddx|QiB(_&{V`5)3Hl5#808^uN+@5WYlp9q=EU&J$3pPP_kTl(i5 z@a?dxV&XqyO5mg^!C|ku$ND{;6XwLniuDPlN#%?5OuU(<_@o#~&C&v)1q|1nbnfj4x2 ze8DVJLOG^{XPOczG$mSMh~Klw6z?)qd>c&hx0w>yWlC_LDWQX=gpZgKNov=%`=e=w z@M|BYcqf?RD>TJF*Ob6QQ-VuP39T?Cyw;S+MpL5u4GDUBO!4-a;v4j)u07~aH6@T| zO0dzC&}LJ@J57lkw#7Po&%B-M%RYN88G|JMPS59H^rT(Ye?EsieWrK^?$A|)e2J#` zhnW&cwZ$6!8b;5yN4I1yGToNg=)tjeRZK!tZLz9WQkAeoR}l)&ursl$NU*01=)7a4=}*b?g;%9qa5 z$khG8-Fc?fM`Qt#S{cv8`h?5uJ~4^Z*kaA_F{)baDob8L`fQ0+MOR7HQET-3;$vA= z!%FzBXG?!o#M5e5#l(Bq6yFI`{K*~hU5!-*0;UABObN|2B|OKJNQEiUDnp{44pY2c zrudGV;ve*u&N&)LHYJ#0N@#*9;apQ9g{DNyR3aYFGFz-;@gt5!!7}&JnT1TRip$r# z8u57R?W&mgHrZnJSwdC914fm9yJY@C#`?ReNPhkM===;3sk9~5InZfW#Uyyjlu+VM z*~5q@Jkl0xKE2jh%iUuQ|26kITVkCfxpq}dqNRp-Jq@;4ov)@(m)*ybVkGOq_*ngY zyxzlhRZM(?{;qTO`jc$2`qa=Tp*r5jl5I%IneM-dr3b07GqKKr;dY;x1hZ|i`dl`j z-FPV8IhG0K*_oJxSJ+}zT}xGgU1iBlNU<%ks>o`ox|K|sow2HZjZ})|QjMe!G#QGb7oIbB3B{gyB@8k1qvHQft+h&SyhbjKuwpe3* zO6S#fXG^|y2fy`dORRIC$F7P=FnO0AcVB3fDPfN(k@2QPryAn-6qw>&V2W?4DgGK$ z0_#i(ZZjpc!<6toQz8d#vG!*I`_uJs{8(5r7pai*xgKeFB%bNtF@N-g-KSpyp3!gX z9tOMtQ+$(5@#mNlm~Be1)RfRtQ^IwoMAn%S-C{`4v(prBmnpvEruYZ$)|CbWDW(L| zO$m)RB|Oy@YvdcJ)h-7Xdv)0a7qyGYF5xEm- zw5};~nZbXGAD!5IBIE5$ zOrle4vDWn*RjEc**fU)+FOx|(Gu}Cpd6P`U%=k(r^DdceGvhCp%tvJM%uJw0GXEq~ zY-WP%CG#bjGCO0f^c#0_Zit+V)QMb(tQENoX%Pt`?Y8vqYBJOO1R#XNV6%?HbbJGPFt*f{vrF*W$%wA zw;?B<&@(gYJ!)6=uQcjQcvsgR^$#^AkYY+OWJ)N@l<-VbB1NV|%T%Hs&tg-&%T4jE zG{wKelt8B`!9%8mj++whGbJ))uk26M6HPY6>lto}cbX}_JX8F$O$p4k#X5oya0D9~ z<44ev=aDvBzCMCcZ?IIV4q0cylkTcv3wV1epYNHL{5hV9^$D$%KEEN8xh9^mMt=

@$<0WiE&Y9bo=H-* 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 GGo;pb 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�?2^vq|)zFFHM8-qks zvo5d|+s$CezOou&pWpAchwXB^o-MHeKC=exg8$b270)YIywfADM0_K8IdV`}-~8{(`#bsTio&3+^j(FVSS`X7Ij zBkF||gXyAa=nk3>%7L2xKwj@rh`Ybs?f8YOuxei5SYo9VXvz2rWsE@u`$7pj8r?>2 zSm$t9?%bg{)l4{HA>xoc0TW!XPSCkFCsmPmHRQZjNpz=7ZY(Vu4J>#Nz4>Em$H4fe z=kvdRo$n93!}eyrL;vvC&0)I;|IOpdec<_E_I7djJY8=0mvOZ*^JTx-zs&akMl7Y1yWf7xwA4*sUtV7B`n$yn z1qgN-s2T2dWN4!#@)lKD)plpgezmrrNY6PhZn@oj#i@GN@m0e4ivEr^`irpariQT& zOcY*+<_#p@VW!|lkZpqc1Evk=h_&H7fb>6P#DK*d!o*O2DkLTp_>mkNXC%ae+#PD= z{QTqsHBiC>5X8B9_Y5rCK*EP07bU2Da|z*PtRZfxG>_1w0?{I0-0RGFIZr||R(EWVz>C+CcgVGx; zgnz&5@8`=Em#4(LS^f3HC;SGd_5Qz>|M}&JDk?t1)IT|<*@M#I=}9KMxyChoyABR% zb^Bv}iwho?@0TXusui|Ee0D$q5u6>;Bbq4OgSE#8EHvL=nZ=ymNFJxs*a==BKlCSe zJzkGMb)e(<^$IPSe0#mA97d&~v-|Bmjfq{m>$C%)3b}J4M}oSf6mI?p+nY{TgRV5t zO{fLZA1X7^)Jhhm($vL0p5kfmj0#?9qMKlKJ^#AEL+PYYs}`Z12XI9><1z-LZJ(4(N%FPjngaw9dR2{y7C1;6>=RaEI||g^>BATHx@}1bLPh4 zF0V^gSw*chJ(+T@!W^3>xTNraH=@7xSS}A&&Go(&(JD=LvuoTyT7G6%Os`*?OUTR>F*Y`&yQN)+C~)A?7K^hUBMwWi#3u(FR1Al-96KQ4A?Qo`v@Y1ZM{=7*_C z^xpi$*~a(gr`jYnnXdM8^qor4!RY6=xaT$BuMyaX3s#$EA9ljOdc@OroF}uI_O$1Ii{_t#45F`N8f+2bDRS2;`PA zO~^B(SiT?z3`?}}hZ8~j2W#Na#atJxGP%7zmZ{!Zqb7sovrxHl$RcD$rO2{Q%x!4} z#*7Qa2UJnHFb?`df6I;wg7SC!6xWNs28%aKV(v*8QMh%c_F2jRkh}+BA&){rqVwKA zKbGrIZ>9*6aeEjy8vD(%AI|%HA{*ldJtyU~PcNFcgtb9dma~$>G28 z#&t(8_qZH^H;e0@j?M=IaM26*Aa<344r}~(ESh-6ww|Skae|iVO`PX@dtArL&OSnS;huxQ}hx>c;TtYBAWO2+MbqnOluE#b===<|T_g_}`VU>?OBt>XL zefXrhjV=;0l;Q4WmNTNV5T^xn8G}@qy2PrVHJcQy3arBoVmzrHGvl_u6eqv?g zv(?iplrag9n45Anb<`lYC12!$(v9Lav-z)dI2{ACe<*Yy%=oQdqtrVxq#OlGu7eu? zD+{cdOk1ZcnLapIocZh$*fXEQ6cj~3ijslQkph`&*tmYiBqJU3R}*l~xI0XaU*LbS zp%4CsLd2Q~he2+nKm+9@?o;Wh&AHZOV5v>OiaZ_O5jAp@X(W|yb9Xd~W#OKOC>#4a zs;l-qO2{=zZNiROXcD@DG)njiesvJ)-7QJBI4E66+ol0=*+GO>UsrURA9xt48yYI@ zlu)(%aadHS(Ufx!`#~Gsm`&^yf^X2&2n-!8^b6!_dMSj7C^ob>4 z&CVSuv~rZ&AanV`&dJV~ktZK=@a$@*-hJZ%yZNLGtiaN_x?h=~oC-=9yL_6cMa9pA z6n;3K4^4%2OtD))Ca(XdhvL%2epE<9Yii|%a? zPX_t>!NYALE|5(H@!oCLKh&8kgNI$lN1(~;;)y5GI8^jsX9)wS#y%OM>7Xd$LE|pi z_sW`~mnd}xt~lO03x%OCh(c@MX=Jz!)t&w0?G>GJ<4LTyi_PLwzq6vOK;ccThaGmf z5BzAto9)7dOir|Xq>&KUb)L_QG}yHBJjp6tXZT5o4nm+^B{>~ZhCa_R-PB*PS+ABq z=mHw{OFml@X-6zL#px8?Gv^#!*9ImVF1Cl@5rnK- z3%pZ2gkMP^5Dlk8R{G|ET6ggcvurNoV-V*5G!yx9Li6(kak zjv-I2N>>4K{%+~H2$jZhE_B>@DfVaTN9mN1yPal4{?kUK7~--2@>^DVfoNwu}p`H>U5$*(mb-;idBFKwGx`&7OMj; z5?h1rPB|6EHu!#p2V^IdB7Abm+hGvvUw|`!nnWvPjIu$$Ik_@Q`?vfu2O? zHw>aNbdMPL0EmtOhP$MAK($1;(^P%&sZLN*b(X&aVvsvBS!- zkZXsw9351a8G3fya3Xy$@!<#&%s=Sjf={zgxuS!Jm#h8#dhx@7zDN31rVk2q9Ddox z)sxq-n+<2oA^4-84D-UEWCOcyu#Q=IXE9!eIP9R~PU=QXLn!!mg@p0Vrw{$!ER)@V z9q*3@g(yU?6uKFKc6iFyjg;4p!cdXFu>;Fx9Y=tU;UEXg?(XW{)JZD`XN_v=yOaTx zn}MncBSFQPaG|p&aHVu7);Bn;ap2dLXVt6ks!*;x{8pf*+gzqy9k{T8 zl$t(0hNQmwCYKD(r^%Iq`_=7uO8@8fH|4L=@eh_`UYtXZgpW@d9zAsY%qW?d`of<1 z3a#OB8;20AIP^%Y)-8Ta6HA=!=4PMlIN6?I&>ckVQ7i-o z9`9B@9555dyH*1Y2cgoyy6o^foPCA>Ic)P;#iqy^&uk_$JU32{eDWK)Dr-DzQ09$F znAm!Yko>dWFJjAlRjLZBCFPPSx zFgM;EGnQe#31j-_#}~MGPyf*r>5S=p{7gS zZn3}RW)}N7Gp{&-#=Y#$DT%@ba^@vfGP(cif22{n225p(>G{=HSTSDz3t0eFVQEw_ zGQ^pXOUf7^a=ll9GqT7skP?ZvlE_!nbqy2u8gcPMiyR{)4j=)Amw3+`FxtEqLuVr# zu@IBYM2Z=cyufM5@LaCkN`&&_u9mTA8pO%G>%tREnyDEE^||;2C|*Fsjde5gMB!rn z|67wZ7LRSLCc0MAPoUF)nm4i`$Sf|;CY46`fYf+&&K0lQvtkc+M$r6WxSokM#<~IF zG86q4P9pg#TxRk$=ROj^oa>1C$_z{7!DZ+>H`9MDc4AjD7a!&}7GnYwR&p(qW0|EXk}Ht^z3@UGPF*tX~qV$xIqAE)nYLVRu8nn@EhubC!T zT+~$)Dz%Bn)aPUtjkrf4)8ap9+)b{JZ2E~K&C>q+Vuy-oF0dZKNbA;aJOJ{3U|WMQ zFx%IrecePk;4B)|D7&kh(3DO@-_!-t=sn#=d7Z8~*q9ufshS=a-`(*O^7DSfd6U>o zrbCKE$I6&FKNMP`X?m`;EFDd;slm-TQANqTf zb~|Xy9}joec!r#PoveIqBHC6CyM4cL(i~?xO@U3SY9qsrlmMMC1ffGQXi2e01s*AS z-1x}ILnqi8K_u8MAw+^SGKNUJmPqO>J2-lz$IodM(98rR&W4GX(Q!l~04cTMuz>=O z^S@*NlakmvN>6xxz`4*hZxqKnMG}~_DoE`2G5fHiO<|Lx&E784E{zWM8fqY1M*lyn z`}4nWH1>KJl=1Mp&D88Il9mC-k`sEoeJVH_6W06Y4-l`WbUkwZZg{;b0;q2peL zBFK(w2*f7{FW+79$xpmBJe80bR0o+1e+Wq~jZa#uP**6$nQV*6R*BdPl(F0)E33b$ zBXAndZds;E8$otXEAmK-XOwr?Ez0D0!2~An5LTBV^ZVVh*STOS+#V4a`2#Ki)^)4> zOB6a>B1PE+c!9cwqsW@!I#t`M5sgsvWTY09CkStZ*(w7!{dc4hy}SJtc_cW$Dy9jD z2Jj?|8@{5-QUvn?x)2`)2x1+b^F$g}L?C$9!y=Rk>=$@6;s$13)G|_WcP=|bG#^YI zC@GfUmK>kWik=W->ItrZ3eHr-PBF%Q{+IQh;b6U>)B8WRhoPW`7^rx|P_&it-l3ZD z^y_k~2d^f4v1Co214Q4%IZ57e4a@mW7hKTf1!>hPZPj%DyV7v3Xk^ z6*EP@xQovig~zch*}ls6tIp%RJROB$RQK@4=9t)2PEnn+amdig4;=vMDpmfP$i%{>}-@6 zz;qp%{hR*kGd);nUDX9rc@`|`;lj-_afAVt3qu4qO&?7nVk8i9?6orOwqcM3;z=xR z=$+WkZ&$c2o7*;UP{kbx2h^Q%ad$p(F&n7HefvN@iT%(yS|X9k7y504l?~Mc3Gu!` z3*e02EGf&yt`7J%vy7G%R*O1pd>E>^ymoh)6$(y>D2AI^k_7!6yrQ`QrY+hX!5FsC zwgnZls{&s1HF1f?!BZ5R+rVRY`T_ZE+dK0lDIb`B*R};*?>I{!aFdG0iFrb5oR}u$ zCoxONPhyggpK@~qplH==6+Oq%Gl0ZC6!On;nE}sno&j%QIfI$)Mml?ydZ9wMaHS&V zreBOeNpGtfxZ7?I`}sF4j`4T}l9+oumA0AFuUOF?_P@+uy)aJ|;f*^?eoOwe{{`<{ z;H?@9MF+0{!wV1r4F7}^M~grJ+(7WRxsE zMfG|AeYwVQ^mfBP@n1K6$cya;y>~(>@OY+ai^*aBZFTrOAcsJv@CuPweqo~gR?4R( ze%U=N4-eR6=AVfgZYzC4@@v1F-~7PZ0U}zj@Yo3LzYM6Rf7Bl@5-dSclI)lH{>Pr) zKAA6;{Itx?9JvE%lpi3To2=NK{SD|ClzX}h$8S^NZ@BY0t!()a9Gi%r4xhPI`kmRI zUoZBUg-DY0zRaID zo-}pJR;vjS&45B|o9&<@lA;%$RVLm^LJ8^kf__b1vlH|%jIxa)WQ9Rr(RP(!9? zj`_D6^N91D$8LMTI|okp7W*F?j3wQ3{S5V?@XowgLdBZlmLVOpTObDE|C{~7_hM;P z{;!9PQ4FiYbYIqNfS9INyTcC_IRA-qRDeS}P`UvUPqOwmR!0o_z&kJFZiosKpdp`s zTkPk5!Va?d`(b0-!c$nAPeunkp&l#nfEsL<3-B23o#1GD%V@y%`d`HP z(s0ASo8)DB6peqpUJw0UZts80uTg#rf@Ci4ARYVwYl3m$^=SS=N`tr4hM%D(NI^1a z>Bqqs!R&xU4hzj7I>))bQ+eN#{R-Aq7K}%-oL)cR#fkat+ITbfm+@N0WaMvC({GDq z;GiO4#=%J}`OR?Mf17{4UK>?fZLp2Gg0}atA>-Z#8{iA4OI9MrB>4c!C@=q_!a678 zRwvWNw?j95{?CuY4RS3y5_j|(aWEIUnG=o7MH|69seMysMSvZ}B+@ysoi)3>;@w~h zSBCy83oHeSL-6Nzi!)ewXrQ@6Ik!J--=iH^fOzu!sT<--v(<4_aPZE{0*f2s#HIQ1 zVSxfVsr{YBeO| zu|#p!X==dviY!!|l`_w`G?$RR0!ugC9W1ZTGmDuNmGj)5uRm=OBz(RDjeBIeDXTwY z@=iq^x4w?cprUCLuBw~e`yZ-%(oTe66eT{)e@o=LlYLKxKwW>CY(!@^2fz3)x4_qF zg6dFLH~_mk3vxkHmLuVNGEuFlHpC=RJ~!fg;O2%x=~huH$T)L}irL|_UPNKrDo|$d ziw$GPj4GkI;TWfW-6^VxLE{|ubKYDEOTY$;e2s5RbPktV4l#>dPuHlJ=r9#ov%ZJt zB#1BYpb`hR$ys^;w_f96*R@&4OE}E-&W$S_$xRB`A%j1sdB*uh%_5y|)V?|Yr+riW zp9Aw1me6$S|I&V0E^RNS8=SUY@HXT>R{b|~?E3odetmKCaF0Td(GA=zcz3$kf54U| zl}$B7!cDC_TBdAj7UA4wxipbK+3s8o&RTzwD~ z0nXTw0+}@<1=d(mu&J7p9|N|)X*Q%ateKDkH%2?8D^Q3P3`l{_*iWikk@=_q8S7DD zGsdH^I7T{YQ<~|V;Uufsa#G+1!%>h*c9VkV%_fD-SWOC;HJTLE*h~?Ki|3paY>Y-odr4^(%q0cRSWBW#k+EpsGq$3EW=thzZ;V`$hBQOD_zkggyQyg4 z4aTCPmCQv$$Qz6XoiP~=G;1^(urZt4$R4tgO@Nx|s1&u?Mgtt9CenN~Y6Sz*z%wSK zC|YDhIz+~dbl{93X>5*>kCI;>OVhf@v@#$W+sZ)e#-+15Mp9aH zih1E_na_(|t8r=2b<sr(qQ1x_(0wPD4S zG`KP9Aq+_)hL?68uCM4iH=YDX!7u4YG>p9AY0w$7OQjhZoeGdKITcnnIE}?I@=Tl3 zj4jyeQBKKNp8^ot-PThL6G+tD2L#>3Nsj)C<)-7DQ@#&_zvt@t(@)EP`KQI@An61s{kOfjGbo>dMjA}$uyo>) zKiDi#T$(P_%6_}Y2mA@aso7f32+w{!UoLREfEUGLBedVs+j(Rr_T%h!jeN|=pE|_# z>TZ=B2slK3T3tsxzu)dTuP#Fv$>ns(gQ`XA1iA@a{f7z=Ua&!?mwRy`mKiR;;EXgw ze_$}OU)gj0W5)dWRv~mjn4bGFXGHG1Za|is%(=0qwtP$loioWkT!%#7yL`k-Hg7?vyOlTwh2Is>aef2Q6Om zYn#&snHlv1g8=EHkR0=OSFTIUNzd0aip3?4mGD7WBH=m3whlbOO47s zWK?4;DXx@AJEoe59z!gv7-NZ%_;Y$OmX>uI-XoWshMW!+wSc~6)Z*v5jGyT-#tN+D zFn+4P_?hnFvECw7i=4NpYDL~zjFo-SSBxc=cNJqPl|02`XyqKmSXu=?p^y^MjnDls z;RnVz7w4pqdc>2u3p*n<=~x^O*=>y5+Z7nYt%|Gvz52&5c(Cn;cjf6{YXmRDU*w+czS1Z#_R52^?gc$@%yLZ(w8v0G(5EOTv!JWlW z5zttygKF!IlSXrO8j^XS!5LakaWkKtzGglvY6?gyT`5!nY^2)R!hTFhQ@pd^QRh@N z7jC14qD%lIS*Db@B=c`u+=>16p~o#uXtubs!+l86CT1}~cMF#NW6-go`Ff+Hi^OT@ zc-neLt;^EPvC1k)m75Bgp0a>Uc?^EnfF2Se{gaV~NW0Z}rc%L|yWMtob-*pyyTob~ zj>#;8nWmwS+#lo%TU^)+y>_@Zc5`$ZVPi^Q!lnRO*mRf?MRXh8VlWt zRj#fxC9k2GP3ShX@1ft&zGobV2Ac64sX`29pOA_ChMyR_vn#rw*9T7(aSe_^t?cbK zs-J(;Uzrz6he0S3>TneuaU9c5ZNdjJOKiWJKxTX!7`8y|OWc?NHfAZGWbCRw-_Ddn?M|++LEhiISzVi*itZRgaAW?B zG2pW!aW|32vP$NHsJMZAERpWG-|V4muW@tK4qLV1Zt5<0=Ua#J%;qQNds}z1i)`}- zLRq2{k_Eh|v4xCGG3`<*a~#di?a<)bju@FXP6wN&h`uT=*79_GSVB_k@zZoZC}e1Q zW(8YqE2~;bL$kSiP^r)=AF#a=LpLN1BROJhLxr|n&c%almc62Q~4vC2X}2yQiWW)+0+6q=AOouCfm(r5Jwc7 zk-J7N1b4H=JRN{W9_%DWgDrO!b0SQZ?`qRd6Uz*`kfsc!Xs<&!QX5ZoxhUE}Ra0ut zvVxavJS}%ye>Z)#d9dd3tUM!1?GprS++n>u*(mDjm`Vp!Foug8%+V0W)%vRQuQXYKeks7%g??#hp#7K-CG); zjvzqG0jGw}Hs-ko1NCfymEx1;S7<^Aa#UAxL?h9X{#^Xyt;vTq`v)8icNa)5<9|`e zjS93VpT^lUW*Ou{X5{E8$Rb70yU}Qx=4TvSxd}Z6kn{TK!~G3ykp#JfIob|1Fw8JX zb_5#RvlM*PkJB5DiJE#~LC3O{qSe_tTkS9ZjWYAYj{owKD|jTk`%!;RlAOStxVR+D zV2bK$S`J}HTRUd*eZ!UaTBMepN|NA6gn@Mtbu%N_k6S2ylxLaib6Uze2Pp%&_(&xZ zIva!Awp2De;xaD7yoYD}sPxa#>&;g@ok)iVANeTTdq$kV-yWedWNq9lEHvp(g@%3n z#QDpkoR4Cbg9ll1BF;Gd#D~Xvkp!(VKoYOU03~-G!xnsaqy?G&B<$i9jjuQv`qba} zQ8tCvFv=y)N_Yh>Cns4%zgWydMDvXw%8;mG-uH$5ivLS>5d~~YA$qZRkkzhRnk^e_ zp~Z06E(X3a7>OnhVv70<;KDGcz-_~v;x!I)gqZ7LwmWXrU7t9Dx2|eFxT@b#;(1La zT{X4kus(Hf15Vl(4*&4Z4ZFk+g#esSv`AiElP`|pa3SLeLH+S)tJ&P9e{ooJOkNs$ z4;}yY2BotoK5_{!{LKbQ!A^?c&ywY%7$QqsFh7kd^81hmfpCd=FL2Bcx)@fTF)XnW zvP`w&>>1zwlZW&EKzIh9=2ny@&5~`t~xNz%as2vVtB9^(B|;{J|&JEVxtiR&SOI zJ|2I0_3>))71OpjijwS@H~36(R!&yP@}{O45Wa1d)#XmPQBi z`-G0GUmAYGUeo4~i)KhZb0_aCzjWp&D427Qs^n6<<|eYerd(2c2QE0Rls&&VK!g4R z4JwTmX_voq@%rT`&>(k8w#+e!lc%PcLoAhl>K2u2GYU*6Rf~u9fvh917+eh14m?A- znIRr+=P={n-IcWXcNeL|zbo?tfgCwOpg)THBoJ@QU9oH3*()5cpho6m^TNKx*I|}D z48NihH_m(6pl5I@eQeGe1zZ|`gZkP3i@NGzHXM&=6+YNv%_5MueS?$5#f~H)@116m z=z+L@_WhTaiyz{?PZoi)aRB`8wz(sOVfZqQwDe_yeBI^48lq*K7L+Mf*~2rloN$oZ zmm=bZ^thZDW=PS)#l#lAFfsRw&7b$rZ&4Qh1Ea+Tt?a5PP!N!x2!ULzB47?jR)PRSHoo)<=8$~(IcA#~E7|1#t&7r^IvDUTqn3;)O z=`LDeAM5?L`Exvh@fbss^$vnf8Ur!!4TCf&n3w=H05Rif0J*78gU!r=ikPzll#q>< z61>BDh36A~TVTyTtk})C$z-oUK-h&>kO1HWlm$@wPo+9j4nQpJ|0s49qOSLjO}Z+- zgbi-`^`7fB;JO|CfyP}-Qvgx=0_Y=0kkilyf@yE)68E`-?)W-~1@}uqAJ_@l$po+S z;#q79?N{|yjn&@i80cuN7g@wghl)(&q(0y4fp`HyD#=Am=E*&FVqe}-5 zY8CKtew8DdW9#Cq9mL6XUKXMHqI628Vo)it zYLuj^wtyAAY_hZ~i|&N3%Gt=ol$=^E8){r>T_p8xY~qnEaIv=_jV15hXuC4pRn9}^ z3SH_ZU`k!Kv(RMeW<^^W73{AB8-n@%G!TO>y6uF5x`y$rHr$}%wiF6fGO=BTpdQod zL($Svt(hp!<3zyt$z1bvcVL7nlt_5wT&EJ4KjRFa#%@Fir*svCcXX{8hkCC9pMS$z zwg2V)HB5#4dPFhu|Aw!-zVEtfpy@{8)opUD;rR`5?V~diwWC*H6H#JYPjkSvuIBJ+eeG04-&ysm>uumY zz3`^{`_<(9`St#=TP&%%Yroq)+#goMdEd!(|7o=eCvTy`4Fr-&cqD--N(qKR{z&xG z)&AXm|CAnJ9-t^HoCKWC&LO{fNqo`lFb2Gw42U8%Dz24*PUS@e`in+K5m48?2A$_OH@H%_?+~%RMWQg? zbl$t)q@P7~CxL(~e9t#OI2Yd1sKUS5Ztt%b%P&pv6hf~yU)mc0!WH7Hb_AR-zkTs) zy}iag#9(F01+hd|rv&&1$^=W^FfMt zN`yB`A{uAr@7EhTJ~h?LN(@N=H$c(e(*gcpm=b_4&; z3|4hi4h=f)BhJK&xUebpFFtBaaNMR*ij$cfrQ_1)L?NoA13_gC(poBea@a1n>)8^e zzo`tIt8dDQGOK<~Z)Wg;6UQg6(i7`|uNqONL`fR|)niNeiFEkj$rNKW*COE3v4mzt zos$S%U*^=8`OuXy%<|DhQ1Q_^{>HBI<@o^HUEgR$XSadvl^$hfe}?F}>~g>l4TIUN z7{gKM`i)69V&lM@)yYokjaYIYvJr__39P52jMJeyY^#RAep^9dwymJjj)BD?=n+_? ziau<4N2IMsLR*DlHwqw>+TXvB|a zZSV(ynV;{s-%f_V*8Cix`7*y--rc)@-mGrv>=Sfwp>?&zKj*8y@6S$Vm@}yAH&hxw z1~u-W8ejVzhtmiw<}3PphI>Nv08PQ)@P?U&dycw&TmmIfwk&XTVDinKQIV|kNH@d% z!35A2?0Q^31ah?_0@@}9_yD5Rm3L4wl6k-Dj#=JwmiJ)NqU)lWSz*p|Ef z!If><0+H||rieT&wd!V5USS8M@X1Z5$|q@4Lzp572pcN1VWTC!Ni?1OvtNAqeX;+H zef($i?_VF5U-|?8lS^2eTPE~dxK?RIc5`7688u?ke2k*L4`Lb6ii>kRgX<%{Qyb;8 zQ5x~k&Cd_{a0QfP)nZ_pd}e z^m^ei=KGPHuy7mQH0(g9uIMzthDDu0>jL^STx9=D(y$S)J``Pu(jD{d%m04p6$KEG z$Sz>=v4#ntuH(E5ILud2<8hq8NyCEx6;Ii0u`1t$QGJ6weju0$o?~M`w1nm0VK7QvtUc>kSGa{eCE{m^v2TJj*I||C_D1FS_ z2i1uYVQ0C|CSh$MrkppAb8H@A3g3$7IT)vIxNZi>Dnm`qIYjb(+?&MX3Vk}o%S8`L z^#TcmXyZBVJhR$P;pB@dditezqvp0pm7&3vZKHl|PFC=fzG_+-Atz-)rPv8zgqI`I z4mgrkaS)|w#t>}ad+c{g-W!Kr{qoD(tvLBN-7ici&H%@>G~3VwGzQ}gUX*981S#X{ zj1Z+ufRat-sBwMU&9GbF@8}(Ox=qXd zF1LwF4bDU7MgNWirASfgZM9CObxLync421Bbr5DMpWL>M@=1w63F;`22x#Y;eMWxX z#kVna{@6gD;j%4+?!VMn1lQ7Tgwn*qGukuE_Bf=-kU7Z@F*qhth8)Wt zL$xyC5gHmFy4l8tfG^5Uu~4@Kndl*niUL2b!-6$sMMkaGt=Uaax$q!$j}V+&4bTFz z>pp%qd9m2|MG}!Imzu7oQrJw;m8U+%Qp>~^$_gu?AKx9}JyyZ3w!lfq*lE}47JZ)w zJr2}J`J{{}K^;i~%HSnzBZ7F4REXSI0r)5(ml-mxd(5IF5S^9#G>*ya z6_>4ByAvaSI%Lc=cZ$t&!HU^nn=ai+Lav9oM>lDY|c%( z7x>@REzYP=0}3f%TdW(A5_XDWyhzr^dY!(%NABO{X1Trb#r0fh=DIW|Vsn)i7(387u2^j=-efhW=?x2Q&TG#6)O3GgwcMXfUmlROmmu7$b**Tn#U># zwIqhGzhp?}WP0v|Nf%z@(`v8x9*R#$u?@aQiRo~EUmf=@3JW_;o-mUmBC@% z@W-Yx#R(m<;}PO}98^+LHC{_R>>g;I#Xt=QMYb}qKUjmJ;Gru!fM%}CHWAlYAE>(7 z>*{n4g25AAUQ9zSP~75h(q*d9@N>IP{XhSA7>f`o6!mvNmkS_Z6*PM zhECiCX-Fqd9@YT z32h1C#A*BO&wan+3q4rXk>eIcHjr5^g)kvKQSr({J3U5wwvM%mUT${EQZNOxRrGS} zoYskszF6RFr#jALJ+E(_&R(r>JW`Qn#|6R+d(F*U3=$b|%3_$D3^?|&X}Gz2th6YR z(H$^b)^qVnz3ar?+v!xepxFZ@cXs*q}$HiLb&^R$9*YgqTV0Ru{UITWM$$$mWh%|H`raPfYVGgT*#|B2|x#vH%Bjt9aIz{3IH%`ruJVBSxlsje6t}Hm_lAo z6pzEfFmjH+xz({2MrI=Fm_#O;mSd-<#fYtyZj$)Jfng+i$=ObXEh!H%4u?Sg4Hmx5BmKEyEog;T=`So(q4}ne z6sd?eR!ZEZ|DA}5-tVXj^|)vNgJVfQV7ScjgcVZuV@NXfm=wYKdTbz5K;2N^v9fqRi@(xp&^%yIJiT1%2^|I7n ziC(?8%3|RK;fz6>*(nxhO7CQQ>-?UXy@DvqsA7Vn&82m$?8d&B9JIzrDlXm!Iy!49_ixAL}@RS*5yvQ>w`R|$L{r5T(9#jd0h~G3$iL{H{^km|8I9#Y{ zUc2c|P+JJE-n_ySa@YUDL$>Nf;)bn6iK2S!<%!k53Dh!8Th-DwHJs3?J=zZEtr^KU z^u&q245bK|5NK;$C##6L)bDIJ^akQclSoqn@qYV&x@%@o_?bdj>KZG9@OjIxR6|OF zil@F=+|z$8cHQjn3+zVv3=59saQl08i-)v?=b`3R42~6{T_B`q=WAHe)jL@pGS3}d zEa!A=x<}E*-fW3ou|xmY>fUh2v!tFvQfQa*2EAA)!gCIm#DW-SHYfr zsQV#Ex1wEPI$lc;f1HF?`(L+sz$`-orDM#4M49j1$qJ?N$zgncINYG7P!5jjdp#T) z0B3tkDL6=R=0*E0W(f45n>t+eyvFvp!`ANR=Fi*Z?opXA`fb%B_>LN83DS%M@Vd9|h3 zev7OVy=`{$S6kHPp(-C480znb{$bxc>j^wlC>PqU{ja{if4)Xf;^QpGKLNda_v`Bo zrm8FuosoT9-v6Vz}0`hPK>6|4}t_&m%7hr%y(rkKI{t>hgQP#?l3k@7&x3ze2mzTr`$ajTk4+1;ntD`}N0bRQC9; z)s#`V!Qr(y8R82#BS}PgE0%=GGEKYI)GvOF)@;MRyQQVVa6DQQNmIQaMG~+KqiwYY z07#Y#W%Frnq(;Fgn1Kcibgv2{wa%x!k>+V6g%UQgnox1^x-%DESo~*oKgY5R@#_At z*l-0JXF0j=lJj9}8KjOPQi5xv6GU|i&~6gKp1yha;`f&y0-rgo11DH^cweqLGFGjC zI@Uj3jAVz7xSfY9Do@x9Tk(6Y<7ki8TOp}j$8)TOTQ*)go?uI-ok&BZq|*SR(e^NL zr;XUVagNy_iq(`~2XkRVMK?;Oq7yDzjH<5I7!+#G zyT?Z5hbb;*6*x@ju>f1`Kg*p9Kdc_?Y-LP!$nXpwxJu!>lTF{>>|d@p-*TaC9EMzU z#|)lqC@6$!y&8}WEJD#E&p)mrm=#TH2cT?0Xr1z5eOgxWO4^2RExH4+g2MQ&8BSik zm}9F2HNlqi`-lB!82%@em&32i?dE2VSaiPIZfU;9PxyvggZ*w!<>BTC1W&;hG@w-9t1~O8i9exrq zQk5&dL8y%s!q~*!^FTG|Op}4Unt&A%IlQA%BdN%myOSjwd1iW{;ey@?dACC)M!ARN zf)IMuz=I5;m8e$9?7+!ywIkgKy2D8o_6?aMx60vAIA+8tZT!2NA>-ebaRA6s*tb;V zHRggIcU|!OE8phu{(tW(N%BNTG>gDe$`X`s4!XL~HM$XSfi7iYnUdyY47px4&Y?JefeFu+Y9PZ+QWV#*_lGKLA6*|#0? z;adkbfi88J=Ps-`!WcGbpZr}o`gr%MKoii)!&rfu0yi`x`NcVYG9>vWV@eW8HzuLY z1An2$9S^THOEbcbQrz1DY$TTuQrJa>Y6P37nm3`K=~fF0P(~O~fR(qO0H|y}0bs^@ z0*IXP1R#+$l;xfP7X+WRoS^a0aH!?fa3ru|H-lP6W+Og?RwF)Sj7Gp@Y(`}*Fd3}R z>|5p1U{;C2*Pp$IG`D?x>>*XTyT1-e<=5Un?whrnsK5P_C85&>1T69K84iU7%2i-3u&pfUgn zbZG=~W+U1UEr%LUEGLFmj3-dj$b96N(17HZj0s5~-H0;$g?2PCZzF4lbdwrV5jv8$ zgca6Nr5r(*DCdnyFwkmE0%?Rf3B0^L39zz33DAs137DKo382VIY9o<=7l$HiRf2`k ztf>9etYUD*u0pkq3@iE+T2}NaV_FeZ#?rzMqtp5qR8+sq=YwCR@u;P0LeF87x){6KL`W^8h<8=f~#^&et~=H1tRcZ*sorA}oa^PS2g-S6{Bam7As^Hh>j4N3fM%g+UIBR?Bju3{-dKIE7E?JmcgSZl`=C;6b zKoLE()BmFg0^ON|OZ%AXT>+%CjXI=aC=Tf;OFkW`$8||>zzto}iI-bS=0b5@TxH=0 zKTFIfzy+qenS{2LsV{$#KRd?kFj5Zb#d{>8T`!hjf+WmtdItw^^>BZWTbnZJFo$yb zu-Q?PuRoIyGY@k}GoR>NVaQP@m+I1Sa2BtyKImw!(G#Sx$tgPr=~@l?6t2i~XvG`c zWuzcz$pNM*$vH?p;W-CwT!6XrLlLGanHVf##vumAo*gJ>9$5gFz?210%m;}~x>}^x zGqOht*~p&E^E8t`H(xe%{g>)UJFz;iI_RekOd8<4B;A{vhs5yB$xQpENQ1B5MI=%| zF>TN3)P?Zipn)(6{ zLqCy*dl4C_cD`G0w)DWbs|w+-_4o;b-h}5D9Hwtyp2)Iv72rvSePDS0SCkz633Vib za?DzdchOR3ks&?rzAEi?zfrX8CCdBgdN;aP&5*x0L%wc?JVqUGBz(Q;Z~daX(zVHN z+&5YawDfQCiaXd0{yX=w8T>VOwH17J_0Q+;?e0*en|ND%vvdas71++cLt|9SE@K*T z{=7$Kd4Flvy5n%t*|CBTmq^|M^SHl{=K{95Gp#vHt7Tltz2XvV3usVM3J$i~G#qUe z2D{f)7|dZ+80okH&hyHVlgg2k%8`+ZaNreTH~Xha_wwqwPb)W1GvUpLr{Z_V#^urb z3YVyMCVdd9gwd-C{Rb3K+TNLyxk86BJWgiLt(pgzd@oEPrLv-_y|&lV{Q#I}X`Zh? zZFj4~=R3dVayPg5ikFAp-}lQTq5TR!N<358Z+v%!NMni4sPW0fv+8BR?PE=MLZ#V$ zg3zrMmrW@nT#8}}Mv=oRn^F#|*|>59TFot^or49b4GbY3bh}vgd(tR&4tv`A8SNFuH~#ZIlgdM@Us6=9>Xj6natNSUEk!;x z@29jg#)~QFtv*Z@sqkPi@izZ8fh4Y0pRmlrY(LPW4aJf%3bgLrP4jr((OrMDDn8D} zRkFChn2`00rLyu?-Bfdfq91IR?n$kYZP>K{9=luJ;$;GNQ-*itssWK7smC>H7ZX9F z^+j4IMP%7;U6w@HHs+*mgk2xaMMwur7LM|GN98$(fjw^IjtuD}qkii|#*djt5INYK zjvNvj8dLaf#1Ti}$M1KmuUPxRt{*oM$blQx-pIb#Ctj&9POqchU^Dv~r*qVoakTBM zF~S=)t~}*{H?KiMcZr@IR_$sOf}nb(m^Q*vEvb8%+Z`tYD9c?)9D!{Q*j0rW;UC4EI#amCkDsoeAGv z)KE{ws&m=VI}t-FJJFELUM&2x=4Ex)qb zUUn~8w6YJ$qBVPzEQMD8Qk0fXy=`4Jb*p%)1+s67VkAmu1GbM_^Ik*4*1Tx4=0v)v zIUB>_1dN{prTN*If>`;Cr5bKB2lM66Ae}Ni9CgagY=2r8_4#T0QBr;ryD)<)Wf_BGEZ2{8(+pSb>&osb*YBD^UFBC+O`-9-#t_7X94vvY_MTYW;LB~mCqRs2&# zM9qN>0YCnnnqse!=hQ%HKIJ6xV^28)oYw6Gl7VaIF`F5L-x`9~tklwKI^{&O%_~g6 zqUo{)8JKD)4?1PrGIW|P%7C}p5ecYSyV>ZlJz#5)yVwjx={I{Sa%px!q+g#lZ6}b6 z8wfw$=MS{HVG6>Jp||(jlguKv3uodv=bCCo!kE}u)CI+6FU8HzzAc^#&KxIW+wd7M zCKk1uPd~R2YkFnf7Q=;JG;3#!*s7Sx51tCgk5^wE7Q4g$_H;39a26SGTxa;O_?A|*%YY**asaPVr^^yAuRdNazT%~q z^ue_*>ST9<*Ir&OeymrYJ|E}>8Jhu6=q^>_2L|p?y~Rz9&&Y+W^cXi*f9>%MBi;LU z|EZwRWm794gHeH3uj*&yiA3Ei)ENEnu%=CDvXyh{I1PDFLP1A9rn>;aV|cXBb!Prf zb|4EP?7rcgEquq8=$som;)Rq-x3inF)-$S|kYxtk+{d+Fr2$kLZ>Sfcw%_4&P-q;F zLGmmom*I`IbqZq$w7aHx7t7E6@(Yc$&)6-D3ccoYxw&!RHR6Naw_?CIn|D#^tkos% zG+IOvx5lc9jNx_eTpxVr#`Ui*hS9$&&Yb{{5)Dh8x~epTGnW)%N6wF4o}m`Keb4yn z$KCaIz2^ttp5MK{Gn;|ZFJ^G)2Jhu=(FDscdzq)+76UQwP#iqs)gp@G`fWd1rC zg3AV_$j(yOQ@{|q>5qmmcn00Njrtf5fycmIQu^4upPYK7EN^4l4c1b*cB)}QMuCIC z-vtyI$Zl$$+1}#?5bU6sr3N|t`1#t>A|%JYS<=XN=Iasy7Kz49aoGWOvs@Mc+l0KD z$pW~UFbkkeh6EctCOznzG9MCbmuk;bWS&fr@jOan=fh&2-Cml6XBR5JHt*gz=}{ek zrFp1yKgZ;U2T9kEzS46*9y!RP0W$43RUbHakY^Us-~Sy}nWAYFcIbDzhx@|{g=z-s zZVX#sYdmL~sC0m?|EH|^?r0yQG2y4)CiHOKseS6O!^-OI!y4Ioi~S+<{9%`1(8CQp zzcpiAVX-m-1I3KqzIe6XUN6K`N(%o|g8XB9W2lE=Ne@-P_pQ_wHv`i1a-nh!9#$cA zwnD*`?LA$uZ|YSCgy)+d?Mg&Ge>gxL=2m-{A2@b}Z|{`SE;(PVU}<)b_wgc`Xl9Nl z7=@M9nYYvFAlaD}W4lRvjMlO62=E%-jEbWdVt89>!>IZIPrJnjNMO&rZmJU4^IZXM z@ByB1)dx7pid{OeQ8w?8RAbKTRjUCy@=wv>32$$G=C3|#Ukl&^ExF1PF15}U5w36&EFb|;ha8Do%VR6r%Z z;@!}wUU_9q%c8u=7{ss`%P73K?n`{lqM_TSWQv)T$Fxn>2j!rW69^!%b8aR)f47wE z$c-}ISljjUXpoIzje?if<}YibDY~c43Ux$H9i>eP6MR}fBjQ60Ok}-0ARoK9qb@>9 z-2b7|!7pjI@R9of@PzTWg}){zH)i28yj!>H_uGfvvVY&r=70Zc#E*5#3a`=8-yiJz zb{{Mle*LREqc6Yh`kwlSb;)X@VgJ=l7!L1&6I=q4%lqq2m=P%Kp=W-YG5MC7@AT=C zNkI3^HhH*Djc&|Weczv*%;xu7s#fU#-2Z!b2>># z%@7;x&S(PfL7bYs_hIv3*p>Gc)XXMM0(o)RzBfDLVH}nL=7+f_NY+^Kkt(09HlUep zig@e42@(5_L$B;+40&Ljqo*4$$*yD4+w6v$TWs-GQ7lbpg^d_;a^Xtp4+o_6Z*brA zN2_2?VUScXIE^>Bhf`$S?)&%K{fb|#3<{BE_&B*Ighq1V^}^S97W30${e1W7;SOE! zCg;jc)cSw=4OJ@M;0P9H+kf@DExnHCJB3^3c*1@2$l-id>bR@Rh|JhDtR*s-lWuW;zcy?1)qi?C#d)BUtaO;M zb8a@z%i7vZuiF0(N7fwmhHM2p9hnZvgYJ;o>2Yj(&v;0#&;XU9FjD{}(Zp~v+d z@H;9dt@~X^do1=RG9dDre|~s_UpDq(WxqY>eXYG75_o=%GSrYX%E^;fQnG1$RK!Qi zpad?JR<=cn>m-op!X|RJGBbedJWV>ufQ9$x59(LPWw4JincAX@SN-lQm5XkRnn^4r z)G%zO5y>^ zodo0}$y}JTiEc-UQ~`K}dUH@AnUWK*hW;bF}(k0RI$di4IVpoc!-TBk|MFvihsx?u6@ z+v7o0Ihjyqkb|QpFTcan^P1bW8*MaTtTRnOvY9U!<;)i;a{wLD4iFa7jwjlE5HeT0 z@dS|x?Vhn}dB@57_-u+wMlf4?grLPyx`FsM&_Ab=gN1}&rHFW=VX%S_P>3nm8ffBC zc3k(9Vrj%Luh3da@sk3uqhvk)<@o`Nz-z3Lt0Vt+ zB$Kw$rW7giO5jYE7P; zSIw;}j-i50ok}bV8h?L3lso%BXnVDhp$Ocj95uA=` z5V`03SG(=QJ@$$I-1`DHftd(_&}lq7E!zgYtyYm?*WJ_RSa3%`Y$V&I3=_?607)KB z;2Z?c!3m*>K?MASk|^z1M1z=k7Kun6P94Mw9ye&l;t>sMgII2`qr}=|Sjtivu|<%# z#O^WoHrR;?L3eb~;Kjpk*KdMM$#e6|k}G_PSUGeCu~(ObY0~jz%C>%L5;iY`7upnM za!|qhV+zy>t9*T*OE3%nU*@ndMF~RP32nDw#(%xp;{XV2Qr;1uQ1;aLy_B=7GgDeS zZ}^ZTUWi#@MSJ3IxRrKj z7IYTz*!EN!<#wIj_`NAt?Gisss8DryQeo!=5m5x2SjOPaLoZ-rrLLn41v+M4e>LH5 z)@>MsSYH*I+Tx-CEqmZ4oT=U(Nm2xFVNdZ*tX!gRF0YqYHPJT_)e!s%Ds7@<}MI*zEhKr&0T@u6Ve-&Eie-#7mf6Wc92T&UJgRM00 zzm*Alu$;b#RaZtPq2^4_{L1vOUZ$U z372KaZf26*z}qDroU|*kXd~L0U9LHrNRbH>27@`!?%2R`TZG^yQ9_tQOmiuv!1d%w zQULg-r+T_=JaEMLrswOQO&AxZ1*|BVz`H5IN zBjj7;n)Y#zetTHwvbD2_9ZI(zsC=9%jtivvrhYS-<@XXzAJhSP`>#kG!3kzT3zf*DyU?z z1|_FcN1n5o_Zn!^_N^F7TT4y)UuNGCdx|X*O8O zB=EdFryF7IImlX3{Bcyod4MqrL0~$KI{VCWJ(M^XVTVMX>BwPKp*(gMD;+&Y>Yfs< zs~wz!qGApGFHh%CKIw>jV5CjP8JEbV$_ktclPXR-Q!08zauz2Pcr%|7(r88_d@-erRyuFY(MS!` zigjHJugBFN+;EB2FWSlOY32OKF1P9s6Zg`wO-1zkwuQEZnQ za1!wy!?ZHY2SWm-)(KdG2C6ZPE1PEttWVcUzBsPzN;96OMCfC+UV9dTq@r|HDq15f_6W$JT zKIbwxuotCXY7CuHmChHm?_ybeG*gI@JvYK)Msy6zICtSwrjv~6lYe31v0cH9a%c;m ze0TG6Gl*~lp;@%|X}Y+f*DG)r9S4=H4_G`PwGPB;~41KSEIFSo9vOW%LJU94gJ@4x=*UnGzV{*5l0zyEp_=D4`MxAWJVTY3;+ zhu7r9wv*?^Lr?@$Ruvou#+YuboC{$^ijv+Dm zmx-ROOqZ$~$i8QymPC#LN{4&7;v~og9S;oUh}7L_PaF>lU;_mSN$n`+z07Dr>`r)_ z-dty;9iR^L)d%dA$61Ip(jQ>={eY)`Cws(qa>|ESD+~b)}nu%+mCwlEtdpxC&yoAC0o7nMy^ZK()i#0)wf4KNwGl>FSK0`pptBKVMr9)?MPsER zL<*aH%;;+Zmr+-Z9f_+c>l7!PjhW%MxyGa7jtshbK_1=6%Krj*so7%_l=%3fzB&%0;+0o0+mtW1kUJia2JASe;uq2 zrD<_OE33u{WT?kCx*jJu4T_xL6f`-3&8Tt$r|5F5B9SsHpEKI5KxWigXDi0n6naLv zu8ry(!RD1Y0?a6B1f?o`48zN>pn#JJVr3s#*K07E3P+7)6*z(;^~GLdG(RXnZhiJm z*YOCW>-G=VSN*>qdb;uxF3Gh{H`qf&zhDg!WX2XED8&-wxI}i4e9Txu0++D?jU9;_ z>A!p!u{(Wv^&FS(kTiwOBYLcH*yHo7{Td2g_k15Njav}@do04MF$kocRE8BdkUw|F zzpg$ZlB4^pmsclq{1=1bHV)nEd-FXyKaZsmj9wMc9R*bZl_7UHN5sXE!bLj#H6afJ z8I#Lt#B}z0^A&j^H_z9fws^|w^PSg>#w}aVQzI$bPDuu$&V)89O;{z#HxVcdLvxqw z4dn*NJZpVn3HZU`H&%ml{=%NRAD~83>Hx8&6q(Qls0phyKx`VdW(xz<+~r~$xv`-` zwIvQhKcLdp_HHn~)Qd_;&aU%^Nx}Z2A1Vn?&mmp)^boz9SeL;GUJWVO<;s9wY>*30 zspoh_Z$t|-LJRksGvw)5!Mvr*od|Y3atP=1`JdC}e7U9rJo<059JR9 zwCnE-S;~QEp7rNHOaJhl3ue?a{_I%*zf7ew;#iJudZ-c6) zX=vtfj!n)?3=`kBoLDveE)Wz-ocN$7#FqKH(S^yP~3%a#wM;#nd zVIg5IGZj3762>|4-n!Tuyd8~B;>&ev<2)e|F1SC{z@DxF3g?5D^l8Fg4>^P4H>0hg9b$fqD*{c0#QaqpkmS?(&g~ke6@0AQ;N;&gsD(>hBU;B;q^)7ejer& z9A*m;a>#s+x&uDq>>CFxM(d|DYkhUHWuQ#z35=OcOyV1{d}@Rr1m+1!cX5p%`}uCS z`0;Uz-3k6z7y|{Naf*zbkv~v#o$lm>Gi3sJx?e%4cV(E>o~o`FVNO>2cX&uUm|c^m zP(}&aBw(wjDZ>YII6TBS=Y-o$mW$1HgXD@eigXw0Q{ql5Sro>kE%idfRBQ_Cyk6b_ zOgg1bMJd#3bNI(%{ZQ_}#TuCtbujh1VbY|(>xVs9)SfBy)I<7biPB0Nv0vzpZ|T6Y z&a8Qg``6V0**7H~Hl(abWOdQe>JrmU34^CVWEpPPRP-^xE40#ehb^sKjVYCM^%RTr zKekXOv4fom`TTl?YSj<8C0$~5fC|`bLn!h1sIp|qK+^rAH`{Oh9;@90#;IsxXSeIs zJpq-tKf~4lQz`+`Ys57|=gW1EQFK@~faz(u8>fb7-h)h&kX z*4SsM?`BRY8*xWKO!C9()8{%(5*33RQ57UlN{$=q&2Xij@Eb6TUH@^*fm#STVje-vTIzK6o^UQ)@G-C+bDq=<;S2{H5B?rRzH{Epst z#5;06{sOcH)18~nKHs3&B3*N!O!x|2RGDdn3?*6cs}Ah@cPo&R z_;4ljny>TK*!06)Xc>;`iwLYsEkB~pZXAhD5po+pSZZj1DzNT-xK|wnKi4I)1BRcx zf;ud~< zSm|~L(;(h$2&P|Lc18Nd?GC12-4o)GDEw;V7>164)%;uIKjE57Z^2te4 z`J@QVK^+aWQ>i_=2ilINzdGBUyxKfa0t<^4?JLJbVO1H&D!rr2_cP}aKI>_^d6;jI z2G-tNG!fAlWaSuT3_4|2{jb%hF?hogb3Dte$dnQ0o(CAyFl()DM3>lRHvh#CKx?rt zX$k?g44JxkpPu9@sC_r=xJrvzN1%Cd(m}aIX_>vQG=z!g+b>} zEtc_1Pp~piplW7GlcVe`!5(R72|iic|1?-yf;h(1668^~mSF!>V+%*F$=X7MCUXlB zn(Qq^7;A7LZnMQbQo^zEIGao6UmO$kyW7RG-}^*UI)#*d<1ocLk^#kMh1L!(j|ZF! zm-@N)rD~M0V1OsK>>TfNQ${hUAPed9)ZilpTz&Qu>4?`DJ>c3#(F5*942%xShff?{m2*K%1U9(}GW~)jYq>30D^13UQYhW1h+M}g$yt*X^P`Y*+8Yae za+aQ5dnHk#vT^v;B%WgP!}%)$#*jWGtK4{a)L=UXQUmN5NDZoEAZbrvk2P^vxdQ$u)E;3) zEpiufOMJr+@No$2c6A`EWJ@X!D*I3jn1cpHPvrC}0?|ph-BgM|&##bNwK(9?htJA4 zzN0#!bUG@mHbX@vuNXB@9?9AaLSeiH-OljV5Fr{h3!AO(K z&KeF}m|8`3nxz@JYnCRQf_jl(lLbS+PeJp7lo8_ z!ttUG%VRfdVZ)@GAv12Z!6Tci1O2X?F}3b_2)d<>7y;N_7zSS9^vqpD*O$N%c{tM6XF1TUIJNJ}P1m>(E)kjS4o*e3cXEWIM#$=pXVZKH1V2tKe#){e)N;F?(N zrp&7^!%~q25B8fCE+;opx9*@6zId%D#V;PH6u@{O>DaOnjE5KAt>zrOhl^&G_{MnF zi3bM?n3W;M)Q=}1$&x8NmM~Ogr)Bt&LW?f9^durNgdC~7X5UYaFV6l4|MTL*o8d|d zw_={o32&uT@Z&2o74YP2SanFm;M_8p(PPmGriv(Gue`zJ!vl%I7clqxhkp0+kL=n_ zpiJm>y4Q>X)+qI7vs~R{(=4~J5!fA7m-_e_PmZMj9HWJ%w1xyVKYJjsp^Ht;l-MpIK=Z+P3oV! zajk`UVpvb^7rVU(A-eFLr2ocFFQ^tbYq1lIr#xFi z4ZAMX?iPx6{|KqChSSl4t|yoX=}u^j|JZI46@iX6YTJbD?kV_W7^yR8Z2c6+0=)8y zN7knRLX;F^Hbi(rG7W@V1{8C65D&$wt0uNZQ;Qn;L@;Vh6T!&YJq>9H{OEtol#8B; z>Am7`%AE{MoE9!;zb^LuDT;@oP9dW6ei4;F@@?tB`6t?Rc=aGi2koYJi`|zi^O8}z z^{FFavf6!#7o8c<{TIA5Y_1YjdYQfJ6b2)x^q$C4>ZH!c30@q9XOE^J9X2_rve!#0 z{FgN%RQpUPLaon$gi4=;P-)n-?RbH3NkmQ|E8UkAx6`Ltxf{1qP4y2ArC^;qKbMbKw=e!mvr~XbRVpwjUR_CuBIS>gwV8UwHAOwq!_#Pm; zh;>6MBbIgJ0wTp8v64uU$1N#Re3G(RVj?F4g?DRfnUn$@7FtDnED2ga;)vzX{o>PT z6{GVz`0UlvoO0qS-=Pv~rd{|6E2ETX%SmL$?U61SswtC|Usku>8(4rG|Dt<$&^|50;p@U_su1_TO)7PP?@XW6ChyH$zyz!9^^wDe2 zgpI~UXoAx zHMfx?>-LZFvqM!}^){45+nm-mq|`kL?ZXR`vNP{@_xCe>_lbE^;|zfQ*3&EgXIomdF{26CV@e!DNSRe-id@DB6XXl zb$!V_r`UV4jwisk<*QCC59IYg>0y^%**#ybVd5og>^t|*$$smWv2o-)qd0QI+KeGl zV!Ym?GoQ?~CYq8f6$KLUH>iEaBf&us_TP6OdZ+%*_udhuw?K(*sOMBq_pK{*cVWS@ zaFcy}VzgS3wTjYqPd6)S!b{$Q%*GHnfucy7&&T&Z*l+3;uELMMsd`kni2afchQ(R5 z;Z3`1=q!-ONxQ6QdgZW?KV^`oQzMq5K*?j2XuDs0N41vPcQcElapd8X`kJ5)`OpyE zkN1!^A=HFm$!w2mDG=>4^(ihF$Fm{w56dm+G&hoj*T&`OW;HLxjPw9{#rWLL$|HUx zPN=lj4n~sI>yAnm=I*w^L~ab%eNv?kg1|W)?o=Zu($BJ=^>#X0CwE$7GYVqYMPB&g>vHpI z6f4J`(qB>a|J#3~Adlwt;olix8abyA06$eZQRm^;4vkhVzf4{f^$zmyfdBQx6j_+2 z^@PSAVRBRSg?~w2Z2^+mQe%%W`2{1mQAwyskFcgTVR9)&_RP*LfpEVgnMy{W#z4dU z8VCBk!6zi{g%nvlLq`d)Ipl}S<*8^u!)=ySJ2I-zAuOA+D=|8X&&Ux{d`6Cv;xlrj zRG;yawB*4tOHAR&G&O}ITai;Zsga)QpzsOGTQEyeCAuh^OdBF6|5Y+(2Oa$l7=?)~ zOy9Xh=y5WljDPtOA5J17J-!jh>8VYi&L1tYZVKW>2Ugz?^E)U%Kk#g&9yxCiz>zy% zI5u;h_}4>(7QM6OBWjHwN(ixeQQQa1$Ix9Lk^@0~bPfoS<9+=tSi<4YihQU8yr;@t z`_0{E)xCpDzUZCe{|e(l(Rp3(<`0XH@Qb1zei)$CW(Bl?effcG5>Zg!8UaylbNL(m zZ^2jJ-_i3{eSvRou|j*Y=jsK5CjO)mONI`zo-9-}hOTZvh8g!q`QRtUBhX2V7n*x? zeD`4q6Rglnqoax*1#(Rn_b^k<*ZcDijWc8r8b4gob-Ok`%-BdF5xdw=4syY~3MUGuFa}yNtMIc_keC>(;jr2_aCm{fXZap-NO=89-S@jme2E*D$+Uo z@%(wS+Bqr2@}JD;f-LB#uiNcnefLAHAa7f4CV5iz24)LHwzEA^@SDtBvdDwq2TeKB zXVT>bUf?=eQ_-@PTP!IIL zd*il=Vro~g-Ioi3q`88JP2nrpatZ;~UBQ-<;3+=PRhW4^s9}$}p9;?8R2bSnIZ-il zzxX+@Q`$XqF5A;6@iNu3k*{>LCS&uyu?p?H=uQ{A%`15438eNFC6t-<^-$B-u<;Xx z{>14MLN9okb{}YmMkVK}P4~|?NZVV;s0l(DzUdn{eyoz}RXrd9vtuBi#bNAQ=qfV0&+(7DQ{$ zdN8q|xK{g=gfT?~hj0RE%onPE%+kixJ2-^HNwhVMy5MkqSblHZlAJPoeP}!7db2}X z>Q^*^Y5f&5rQKIbq-SavTS;rQ`ZoWun>}s5)kVYr6eT(0qd3ByKdR!2gbc)pV1pmx z+@53?xyXE29s=|Wot+tRaEO8qA<*A6oF3-@{WV4zaGLOoatV#7w=7|Bt;yqOmU!bX z-u9k`;7CW;Cokdf|GjSZix0SZ_S7gGB>M&8?`35gWzYJup=X3@n35rhSzc)u}=gtC3Odt`*LEDMR{zU`c&9lAa1UOJXO4bxj9r$4vz zhKF>(YfBDm7sje3m4%o5_UArUcF>b{g}zUFvikhF+&>vU z&n^p|UBgjrgIFf55a7qOCV(H);yr$BCD&tILZA;QE+vSU9Ys-ejqso?wkE1m^(5E> z>z}!YG~J5MU}XMqUz_mG{uT;->2Gk|o7eRW=EjHxFS#|6;ZGK*yy&6}C96n&k4(k~ zPU%zo>O_tyg_2Gw!XTin=$?V(%CdOnq>*!vBuzS@cLhxs5_5DU17K>H!>V8y7ozRi*!=naE$FuSeMH#NjstqPDu z?HfQ=kV@?bLn5^wBBViM-eXl1zfr43NP@-)2(s_{okSD`P!*lo=I#ra;r%^|FYSWO zV?gEoF7_Y$%^V^2TjUfN_C8#`evtGwMKS;n>Rqpp$Ea4EJin~^cknzRa7^i3Ug%j7 zj_rP4vUJJDFJ28b(JWk46i`|0pSGKCsL!!R3akz2dnVFJ{HAC=|7irNsRecJdE~%4 z3Ms!%pOV2A>vm)3cXx{yYG_|7<41mJdRb8HFmjqsHvsxO1%FwpTGtF#m)HBy0ki8D z+gquIQ1Xed?{6ViuJ$!&>Bwbi8 zO7!GJzItIJAo3)YEw`3k>g~J+I+Bje63iC!!(q#Rdfnf{b-{3oQAzC+z>c1y2nCZ6 ziWxv(g<_h=*D)2fH)i6;ZdUQVd0}rZwS32wE2Fa9j zT;SCXqZT?j9s*^5zTeO9o`l9)vl?b*7e{LPa}ZOLn^G=!Bfi$*lboBR+NuykJ7m@o zRT!P$A2@}|QXeoSe2ox6Xh2;_NJ~PsU`{o1Z z9m5EFw^-q#(G4r%_w+#wF9`jXxTas?5UkNoR+1MaBz+-5jex~DfW~YYc%6Fn{I=q$aY$xDV)d04*!_LP%%)WiQ_{9 zr6&?u0P1#8A?aCB4b6I5Xsxrf$RZm4_U)JCT>Bz`-vp%CoCXM`c2!$S!)LjESV0p( zsMliuTc!UCmSg*G>Rd#Uxc-U$)BP6=!)Hr&aw8hpj+y;fBU43Bp#QkuEZ11w3PpZ) zSUty9XL3fsV`jeR1kL2kI*|PA)>tw!r&!*>thswP{w=<;qbVzQa^?Nb#r0(mWi~3& z)^a(9%`6n<{n2QGVpcN|_~+ME``vUfI@rrHvzg-P^?v!a`hVLs z-qi1@Ee|o~d2;|vhB#ww+q{p|C;Irr@*a_i4vg7-cOg-2chw6TxPIGg??ZjmVy8I1 zLqVN=g;G)Xi0QBXi`Z@x`ccOXh3{05q2xBMXPs(d4L$WaoxA53IX(mJaA@v?{q62) z`2gkF0febA1;BwCf7E&cY9{d)D)fPWl(UkQ-e1+Wl*MV$fj#K{eDe*NiD)5}#!)a% z9651^kjeuuoe!DB&|~l`-H9p%Ix$47nHue02ITLkViuGZUx9I83qGT>#TsbDdo{vi zXmxT*Gan;{8OB-JqNn(-d8nd48k1S{M}NnD?!5ehw{Lz!Eh9d*;|fHlQx$35?B!PV zUH+Qgyd0R>eL>}(zvAVDC?DUyumRdLQ?(Ps*o>#9|C%+`fj~T) zh>igA>9gHBq~!p!me4E$b=8#Gw=v!aiKRd@^}Vi>5}WD)$&zN2QmijZZkzl+*O-=Bl$qu1^{1_KysoF~XDkz^cl5ZG(;O3)UY2esil z^2;rljU(3pMM+XX=N?K)H2r&`tOH|G*uqZ*TOFZDQSrqjrD9+hlp47M81=@xO&ckY zVY|6sp!_yoQT?JIF}f@)dzAi_$z@Q~1#0}3Su`}Oo4<#9J6^(L{sEP3*<;1!Rk8OIU(lVvxxv9hODyjp zRgCPD}mczd2j%shl7L zoL%&u=ilE#PE^MEg_<|S9Fi&2)#G~dh<>f3_`u_(vYG-<0Nu&Tznd*dyx6S&7lhc~ z{Nh_<@%1xgT@02x3nijc+kCF^Mijk!rfhWiR4lM9efJ)IiU;-Ynbp!oCLTr{Q}ZzW z7ut^g3!YrIsZe;tdjw?fQO?Gi3Q+p#;r&rNsz`sd-F%inz$7_<52QJMcz7ctimZe! z7$c8%DaEPZn5nXZ0_RkGCI5|O5MxntwA1+amZJDg#P+<`wvn=&yU<_A*)wWO7`S%V zXta|eL^G%;?w32Tx*wv4ZgNF`Fe8oP?nHvT2njH3(tL?r*lg=*+*2rlr}vX$fSGML zdxLrVq;(_tsZhyE4)pY_gFcbFS5dM;fW=~~1r1XUICqf^Ci+UBGh9RPi1-DL%xfby zm}vzfb*9=As#$90fy!@TfX+2&Txx7)Ni6uD@eDZ>19ZVyu8g3C8{4?{F_)9)`_htc zSx6{n5qdgowr`m~fF$&mc}20@xrV9-Zdx%}AK_L5hbJf@E}Jupepco-IE605szC=C z9*tj(JwC$0@oR>4yK~9jDPROzqjM- z`?4x0>_+wjeKkSjKw!#^E-7xvaE}pq_FBqEfrSti35bKkm3XV z%)?|x7SLaAhwkzhE34+%zfM^-D-M^t^Tp$QrA;wxW3Vsko#4{B8|`b32QvgAjYA$d z%mAj(krpHMiegjB-dhvbLOMw=*^UOpsYIQx92mt6D;E_daq}762MYwXZ*g6OJ{@xJydm`}nMBwj30{0lfA&6`5byXeEOMLnGw8oYb{GskcjjR%~ z-By!o90ly49w!1=9TPLKJ7%hC_W>&SIOBjq)d)eWZtW(sFM075RYbXT8zt$gOVw_A z2krC5-;wLOLza)RPPLl)vn{AS{Bpf@yAPG*p5!vEwx2G)d-@FF#3$=~W3f4Yk`yz^q zOt&{g(G>yd;rLzG&|t+r{_+dHg<6-Oh>+ACLT`XW@h-fWN6pZjPy8#eDy|T{soBZuxejxHgncPF3%@4^J@` zCi&$asR+vl&fh(%T%v+7FIaZqW)5j0x6;ry6_+9K_K9jKr0=63)?zwe-*2Ati>a!7 ztH%wrmZ#?^FLhhyeguej1GCeK#ewgLtLCO@J-5ry@m#uwQ&0gvyRkSUmLHd+ zbD>fZv?Z(P)R?HHI$WkSNqV88DJl!4j?}n@;z5z)L}p~SYsOP=vGk$(2>0U)5$KDl zeIo$^EoFpusl(Ru1xH?6n zRM{++HB5Ane?_=fl>epXk?yBfG97CUnQnj_Yj+Fm)PPMH%vHE|46Fe@HL&(xrv~N_ zLUZ0nc9B6&0({x?hhNB=kjsI%pLhi7J+zG!CXHo2YvGIDv=H%|8eUig&TJrtq84*< zNTBKO^PkM&gQhnhHM4#e8y(3lFE{(YxN6=Kncq~W3uX?3cv(#xKnfod#z>pRT45!& zkv5n~%sT`-i6xpa)b8j4OR?`{G3C(!SlALti*LeG(?YE<6mFmmb|P~Q!AxX&6IPm! zDlihRpTb6QgdiB*{kK{7@J5qO#0t#O=f@k4^wc#HF;JVHUqE{1wcI_x7G~7uIdT=f zC1C#0OQ?kAx2!>J_RRNq3)KGD$sD~?Dyz}BlM;2P);lUkqGzMNF8!M;DwakaC)||T3+mt!c%8f#6RJYC=fV1CrO5*pi_4P-EC3MI-bM!v{8|%KykBb~ zqW5d=R(k_8_g9|f=MlzrT~QatRzstR0_p;Kj-p!~6n7zuuaP@y8gX`ZAG1-@nHS*b zjm=6I;}fKvU110hWWDn##d9ZjOu_om9UHZlW{YB6^0@AHWOvm^59$pPURBWxmcO#& zNvCf;7#O8z#t>P4w}#mAqas8{6GXYN00?#B%bt(7948?2Qkdgdm5XI|P&~0}95=E> zGgOs4azpEzv(^BX(9Hwj0!pdn_zrq`fL`08&^JnWbYi*$rKVEeWTdYzf!8k2o!HDm z2!%JEHAgshs926!Zar&(5n;!(D@Zpp4tgLF5ow<6&oL~cY3-Wcjt<|UwvaOx{u z8`=#^e2L0K4^Q}H86en|fUXro>#I*sE;~GVv4sKujY|}zT7qQOjY*tn@#!H=yI#JScfQ4x;+W=8 zQS?Xnqz*o;!>0|FAe_d4T0^T1l_1(q%0n3S9DGwfWX=0zPqz25Se*Kz6OG(a`E6%>?b8 zy32h)tfbWH6aCd<{fG)9BpSqSjQjvFDt)dV_&Wku?^GWisqLr7mfW)^IhJm$p@Da& zXk4(ch6JOd2E^`hBtkdZ$*m}n{f@uP`B)`ZJMQ9JQ4NDyJ#5hl> z$d}mo>sl3Nq8d%|RXKL7E_eKJiIzu;Ov@kdz#TJV3qKM(hnyEtbVobX$mQNS8U(1& zZeW%gLWz9la+7nm@)v1d;GucQ_vRteJWSh&97ZGnrVgX*fOW%rVnwOu$Iot9R{U3U zL*lF^r~zF|Ayu^HTvg>Kzy?so*kE&ODAe}S@LfwFOd;oWAv zM{_mq@U6{bbt)l%*j=H;6S`_kdB@*Wk@#p)nsZ-5B1r*fpa(Vmp7@BFo<)}#)JGLN z@+|S?=mZ^t>C9$e{KV#0^m*f2!p>vc*C6z~hzzBW28*LFiyxCULQ@}QfLt5};bh}M zYVxdw^H=~pbW%|mQh}0LKWcD&3~Y|Mb1fmfMlfawr{B?lrX86Ht+sClAGYnHZ)jAp zh)`(Nj) zSCv;)pQagB|2=6u+7J=Ns#wJvXLdgz{zW{Vgg_$z(+(@WL## zZeV&z^Ue_ANfkCf}r=jNTpKbF; zEWu?qh?Y0=&)X%GiUkp{CknPM zXeYU4JEly3-j3;{$Aqs*?ncC(N^NNfP7tnIJ2F^PaOe6V0u90k(B4;chih|!kD3Yn z9UDLDQAxp3kEn+&JEd9!UEQ)5Z?#UX1d5B_XiyuqK1aV+?A z#41K3j9dtG#=icJbRGO=>~V5Y^IOBpW>|E2=?U=GPMH7YmOY!lH(46`Yd51}kvMA^uN1@&W-KM47y^&*}u4~dw1TnI=>zg=c40(R|ZM4*Yu zHtHh(xjKA*?#P+11>Oh$JGbkd5!f{Q|D+-757e@Jjz7{Z*vW2Z5aR-K28V8YdnhdC1%{eF(WzQ`TIWzw;m&-YJf1 zvf}fjHMKNtFs$C6UsP0>kHQhJl^43HcU+lxSVg`~Lwu6;B0Keh@5O>1nf~1N&DAmi zkFM^LEyfnVQD%ZG7AhxrJ7l=IR3A$I=IWmah0t~9ynG3JAUEYZ%72vw)yq0VZW~^| z*X8bMaZe8|_1ru)_eMLs4qSnpTc?}n=gpd5ZuLMPxCZ5uo>B|$tuo>YB5ZjKEWk-R z%l+F{C@EF*YWp}}FaOJ>0OzY)giXB-BvfHcuJxu>I45ckQT}b4p#FC=a-hBG<23tb zxnI3)HcJI(m;XYG$K}HkUEAJF6th>*v_;w%$~RCp1nRl z|FDJ2B4K^Wu?2c$Ji=Ey398WLD@ul6EV^zL+6KK`;LScTxOR9AmNEiwqjYz)Mf% z#8(n@uUC*%)lc-d@V!b*E&J4(nNx^W{-tgjm`a|Fe7!7qiOu?9`H0%9CzPW}mg3;? zPi%nl&vc5rZB5&BUWA&i*;-XokWwExwjY5malKe`AL~FYPt5J_aGts@nHb&UCKyH- z;z6>5tuJ6TtYO}IVa@W|;hGGyCUAAB;m6NyNiXrMc7#A4vm>jMu}J3@k4mK`*>2s8TW$cOU1^g`{qUviBMi%HL+l$IA4Y}r8Z zstvY>h2+wC_L`j5cwLe+4@7>1qT@)8(RFfUj=GbR(lq|74x6Cg1ieFQLP$N8pCBSX z-tm82+B|I!|Nhv%8XINB-l7E==02S5M!V5=JO81hDRV1-n}1m#Ga&Zd`YX3Fc`e3wyxh%fyzi!N zUblCPLnaT+T!gl)zr=QCN8nYY)w5#`#-Ol;6Frofvm7MzN~=8K)*SQQECf-Vef)|| zylGV7bMw=CKoY03Q^g0l1? zhaxO<)%Y4i6|#3f`Bq1iD3w~`y)bFw_~|c&%9Oe2K&3Q^OCErqGQ3?ZkXk#+L{eXi z4i29l^U>(w7MqREOK-n+mC~E94NY&oHni2oYqQd?>Hm<7f_JDm4r;lvj*3D{leK+Iwn{AM> zS?$bG()*r7Rd)xIq~v+td(0|G+}PD>^}!Yi=m_UXexUvgMPYle9We$q^ES4A#&TO} z_r$lkYi3)&ZpB79I(o2!1=^75M)*kNX^M}^@Xz>!H0z8Wu1qns$m-g_Vd^g(FnG$A{(j#eKC$B_RDTSUlCgKHI;2#^0V^ANJMf*X0U-H6Pw1 zkZf0dUha3{-|l}P!fFZspg)us<{PDr)UGUIiOky7!)E)uxaT(8el$4$Nmo=8UO-|R zCQLTH0L7YIzyLl+aS@tqQq)Kexl_@sRpR3Z?iCbD5*O%>EbUdh4;WW^4_Mo$ zT4nwhsRHR!d(_(=Sqy;0s?ID|UvKCt8sbe?QRIhHKz@}rWRTlNf)=tL%@9Pxr(#sm zFeOGB4O1HEqhWRfku*alx4t76Pkk}heRw;oMzhn&L?$uU2&+wGyIBah(%ixG_81Of zhA|mLw^a1an0IFjV!2yLT>Ovo&4yA_?e;t@$o|aDuUopuZj%u zZ;t2i)1%)TY5+Q$zG(;sLl0P3%xe6AhQNUzaI?I--bDUCi@f4!GP|mV!`^XK{OtXf zYc*VP_tDG^9J)~k{=fd3M?UiAn;-$u`mW0jXl(xa+aCGIuREpQb@s|TR083tOYaS8 zaXY>7se9=L86s+TGo$lbe8gSkgHG_y&1=B`ekndXw>KZEp@B}(Ux)WziA4QaQ#_~DfN((c-}-R)sF{TE?qNT(|LC*z;Jtac%$F^TQKz-5G4e?klC z*G_1`5$Hs~Y7RwuNRHO@kd_G4qno*Oc#u4R&VLnZ&c_F$Mo(yun)7ih)SNe?hKJ-) z!$Vr5hDWzXjXg*LHGOq!e)i7jW!j=e4sU@JJ-ii48t)1QnQy6ZUK5Vd( zGurSPl-boo!Vby>-fX@skOsZj`VmOUVN|jB`5EOe=?k(fVQfw0$ZS@V9c4uzHyAY= z_Bz5oxqKfDEEemHws$0l6&)%dyFH!n78g{US=5S+?gPD9{(M3`w%yAd(K({9V`}th z_3||Tyx1@Annoi`|MK-2SuKqt(c|V{oW|JjeGdF*7&m^KyGpgfM7h}_fndJ<(Q0%@ zj^3G|{WLmC&Zq<&KBM1M6Y_>H@Qa+x?@TCFa@k`}t8BI5f*~>cfpYQRo4#KR(T95X zG^77R#SB2qyG9Bcs5$%jw)K?WH%oGKhGsAxe*@Ut4fR_G8P5p?%KNt(yi7C67^NRm z=||=OO)vuog~1TrQK!huFs9HX;>_rxU=RH`P$ zQ{QK%){l9}R#OXSPd~ie=#z_NB~#cd4}tW&R#3=JZ-PYgwsYsoLZmlZQ4Z6O!w4cd zsRb-@bDIFsu-oL)SrC}!um_Sv7NbqqB0ISW3QZeMFP?)#rx3-ybkY|mSGTzz4O3f? zMe_;`U}?AihR@^xRQ7Mzc)vHRuZw$=6xR+msadVSl9}89k;VFz5xL_q?bgxq1;dr~8(9**UbU7v}HgmJEY_Yz8546#goT#U(PpH4z{TV1L0LN%CGUL3Lhxc6VEhNgdw$SB{X?p#~@Qc)|0HlK|UEt z?OTac;dqape!)p%6jUB5S?dJV&|G=^ytG6zra!&~uZw*K(;Cj0* z#FJ_=Ngz-oZIa^c$r8w~xr)B@KdzJa-Ds2@QAv3*F`>RVV$9cjWNhyC^om4sR+^@? z+Z3xwt-pZeSZG!5S!*~l<1&KxNJguYUc79}7`IUQrw*tQb`cqp;TMt79%ud^pD_G< zf|Sdi_e9EBjbY=Nxe5Fb$H?V4CvX)ClF2RC_=(5CbJNnO`9C^ka&sxf4T4bh!%&x- z{l7(CX4`r6=cnl=O9EjuJFG_X2bUL2yLF6M(Y3Rxf?c`K(3zw zUmQ`X1BF{xJaI{FlJNgTPi9}2<2+P9$FYT=#|f@7oxXVvXV>P1K^_8nQtyA{^{suD ziH~ZwCRM?h0#!r~-MmuN5>MHsH6pC5iF#Oa2?>3x9_8%j`}rd(30}huiT@^* z)L0%pqOFgm(wNuiP3IGLd>nnHX&lvDzIu3oVXn={Sguv%+Z6jidnB3NI0sQ}sq&AF zAMLHGFM>)u=;XV8+&@V-G+TQD@C`7MkD90=*>+BTKLr^t4U!=Lq240gi|$Viv-^Ov z5}nK%4TvsK4knnPzN+nhW|{nVi5(f6AR+{)HV-!bGfVvZ3VIVB^h8WT3|+x7BH%x4 zfx|`v#KvNhrD)gP`71W=?~eotxRJN*OLs0_V))1XOdMI$AB}Ul$*@ z8*Z$wsWJh`tr`eGy9s&lR zCiE01$sE>Q=ESm&J4EE;p5cAk)ctlxVz|;zxDvyqn$^N0oRU`&Yr_>&&S`-5l}8Mi zHhb@^MC<$nQJpJ*F-X%Vj=IWKpW#tP3q&@ZDENXV5>uJs0e$X6#^S0f6rAZ%^mR&w z?)+;v<>mE$YrV`dSstbfaF#lYNPhd*=O6lKV=&s2nb2pONzFaYJwBtzgW|s{6_M|< zZaglN8Rrv+Cw+kOXzBOi(jIjPcASJ;n{x$fusOWJzK-|*S?ud&4#U2l^y_nMHTL!T zO;8FSnHo~{IvAHnz8lvX`EE*kCZ4#OgZ|t=seH2UuLFHr@pIv zMIxiSyD!U^v9KFP#`IqifJFt@jjH-h31X==&3I{F0Ob8`GTTY5(1TmivYFJNE}c_a zAKGnQcCd)d2p-sPwea=;+-khA7DU#>ap09~zyvjS*qP#>sWYor!$n#PO*!)2aJ0G( z^qN&Me3&OR_M6d@W54-Vf*(u7BG=IEU4ym<{LNpcCM!YOhELX2L?;8B(1ZCiY_jl1 zbw4k;JXy1~#hb?6?4(smpuPT)g1XLeE5fKn&|kS8_LA5-@ayJWK)s2$*oWl0H&&}o2oc6qvoyILzZOo ztIrX4qQ27tRi9zEGffooW2t-Nbn&`d7;9d3J4KJTBZiB_qu5Tcy4y*1={j$StjC_A zkt(9kSnMk#3T9oO<%drtXpUQAG9~A2q#j9U?pPM;U|LyN;CEvvt?Su|1Mr+2`O$!e z-_^x9au-7zw3wYnNZoML$WMluMt+L$QjB^ZT%$TGtz#BPif-8&^<{oaAuF!i8eUj} zP+?C3=5JN2=mZRo9YAKLq~^tr)N+T>C2KE*Sd8OGj{F+=DrCng>%#ldY9{#d9~4sS z6K|`j{W~sq|Av_wLDu{&5d>dp6+2=Ip_%bbIK|ZWiBC14wGAd>E7!0q&F$)nMp0QG zmSC;ciKP~6eEEa%&3-_=ZeB(RR*lqxbqp^Uo0b5Afe}|ga?zyl5w02Oft6kq?_gA9 z3l=RAptv_?5yys&e8SAGw05TY01$r6+o=ZPN6Q%NL{g9>zz?911X$3eZt&pFcduLO zH*NA#xF=KDV$GZF`~kVor^q%9BJt~+XelBEP%DTOXQ;-Tk*dNeM3iaCBpgj*k9Usn zB@HLg@+aHP{QeGBET8MuPtBmu3SqV7u^+d5D1(Kg8-=!DLR(oVoJNP9E}qe-RuP;a zq#Wh7lyQTv736dekluh5QT(}CD+)fB5%qNYGQK8Lv~^#ig|~N0I&#E#yWMR0@^tf; zC)lkg2sRwFK?4YnrVCjUOzcl8E+mwz?avCqqDb}OldbR;IL7i&!K|3~zIjsPh)^OA z&T6+itn=qkO!i0M%T~OEx>);BipsSgV{(b`&s)wO6GG~o#t97mhhnlu+f>H*gEl3Jk^I`v`+l&1FY zW0cl#SQX~@oEz^BMm)67RX3sC9K{!LC7tZ!aVoxc?UoYMl~_!%y>_cbh^^hk?#p8F z<(GJYVXMuwzEN z&h>Ng2;sU3{U6?X-X)3y%DnZW*o(10!2BRVDjtRUFA-)BGf^TiXcQr{36-ZENe|Bh6N5g!4Z{*J%q*M$VSd}G^$hT;`{mdBC3K0ZdfwdYf4!PN zvS;mnx%~~Q#W#3<_@7m^`+M~_dR;8{6}dhzclrE+zwWndoC^Ob4FZEt`~A!9^xPHs zD7v3+Zmz4@cwAlGd>T&`$LgVs*=k$#Mwd6|Q!buF#XNR{tLvM|)#Z!_-TYw$g3vse z>DwvygEoI%rOw~3QE%x1<<6{9WeJY9ndm`E(xF4i|zArw}bJt7@Xctr{l|;>TEI{pWa+e z{}L0rulwbS9>c})H@y3o^XCP%w#F;9Lo;%;9a;RN@a!cbFrtg-9SW+@&T#~njz5fU z&u^;f`1*WwI=;Y1#iuCo#e_nbIFO=qhnoa%*qST+(`d%^2N1)D<#xw{^ynW$2V~+i zeLCUQ>;C0+uWCJcuw_8-xdxw5E9_$aLNVdn<$U!A%A5frx05rqEdp=n@$T=zRw=+m z!QZ@jBG%md{Q+O$frc)4(E_%2)E<+sp#eQZzQ2Ed0Ue8j^R#2y3paf2{yzT8r?>7N z1-*))D#Z2yU0de+cORCE)xF!MWkJK2?PkBZ+pM~@Jv2H{m8)>92oOlSFMAWv;&*`S z>VX}UJ4=!&xM=DuU$zT;?GDXeHXzSy`Cmn~rxJuS@Tx-XQcddJFFwCM7JaTDraKf6 zxVjgk>F*I>4kq{b6(%~3s&^#@{juEcU*{{-f!ssl_y-r6{11>|@pZRZqt!MEKUX+E z{Zkh=^DtE&hl`v49)I%Ir=!RNR* zX0xNzyadlG3oxytv*iv&#~)vpJ6w8VHs$H1Ia+-pH68|2nf?hIu0}A^fW8clorq={ zni)Cxo7aMI-1+bFr6~Wi1hUq zu5PX@(9tWuw>!SGYX1%~$hPy#$1x1Y4_g4?}&iO3E?y%^&Cw@oFlTYh# z;Vwrx5JkT9lWpl&0=B4ev7-C3*`c%J-Rkvz0T$dMYH9Q3d*7x&m|6+1^d!vb8U6ry&6+$=b(d_2W<^Ji@@*WQp%ZVT~ zttt>+&dD`G)^LRvbzK=0$Fv2|CaAD?adkHNFd0v)^YIPnSb~H(YH7#fp;?mb!(4wb zn_PYxohymXv6JD5)M1rEIbJQO^r?plx?CN|!16Ohn|(!V#qrH_bT%P57Z>XE)8ujt z;aI>>J=$e=ws;0hT;AcOzenBQJ;H0|FKKWx>2pSr0=y-v#H}&JNtZDYQq6HRSL-q0 zK~eIw8q~NnPY9G=K2r9{qmOI(h5mHDzTZ4k+|6!B7fGJDrUw+=+0Arv`4I%hd`E(k zFeZ_!VI6np3O$r+vQha9DGk4-4{@b8E69J047CJ2S}J| z*ofV+=nm;a3D9_A>G~_--4S!gk_kVgf(*@}nizY}9E(pM>@ga1qK>5BM5Zk~RF{8@ z&Y?iv{B`YJ26R4L?m%Rume4J=+wIK8QcU1Gk5s75?Dg(RN$bQG1UR&sni4!t$CsC* z3)&jP4Jy}SEeu9#+TU~1S@(DuKEI+6_B)oDipjLvhc^# zY7NzYclQdKs$S4i61^|It5I~$(MEZ3PcIy}uQ*8qbODmt{sM;F!Pa&lAA+G26>ET1iLihUkl^uCi;B;OF9 zjt7^UHHp2Xe&~y4mrMXbGrTl{)I-SJ3^#Q1jSW}?Z+AJ(V=7e{d3g#?CoDakkRiuL zmEvfIcjoHC82~h2_htj4LZeKGZ*FTxc$rN|2@{E0vs7<|!5HavMqc&cq(>J-(`xYK zDn8PIsZ2c6#}`+ZAFs|QBNk!)`L+7z9~ajXDhs`Q_)*<_nvO?j)$C?8z0uI+CGqT) z5RX-TM`cSlI|YdMY;>p?;o^8jK?1&h2E7Bd*(OAZzwrN=$q<&+92N~&yw`Fy|Cw%W z5pmNcJ_@hO18FiS=CR#;|M8CRmBvr!?Dkq*4(4Q97V%aij=}a9qtAD>Fm$t_2WD45 zFnO52t{@CUL;{OYi+YSEnX6kKRlp3CrVE&)Ca0hts_P-PMffO`8AlO>)d>-~eghm{ zR2QR_sgq4 zFDnwMaiX+=O`nnO2@A8HfQlRO&)=)tOA>C+D%jD8C0>70TB+ut>Ov03S08F`s}eMk z7{eCN>EZ>}^nedrqwnttNg0t=x$O=+=l?I=Y zf;x9EFQwFN1%K_|jQ@R8jiw)~v62IVjTLpPc-djA_~jMm-GWD5O(!>y9{!*+;TeX+ zLnax)c{Hv{+v^$cRc}0H@OHSq!z<{+AI`7-6x&ob z&koEr%jfw@DG-SpWZ!_Y>qIk#hP``gVM{ySPGldwx^+kiM38b|?&Gr0q?XWOaoNb=xNQ7sUANH*-iMp5wQhPu{lNI%@ zsn+yh!ffS8D9w}INwLHWcoTRqMYs6R8c8IZ7hviKD32>1ouEiB>wcKF#4`e$8w729 z8rGLpMZMVF5~(Lp0E&l@u8qfHt!%|bac^y^9Wj()D)h!aU4SVbqVa)Nfug*;y*Pm} z;ltJRLa|yyr2LJ6)`Zo!wWxJ`{bT>MSrZ$NnMIiFITPs<)MR62(gFfoZTd5eK@^ic zo5KLHQBUN#I{7C&OV#KcCK^Vj+Jt5y5%XhlM82UZY&_?RshR^>!Yw+&zV%M~7@Yjl zVA~ga1#;%_9nQCVWj8WkQY2r~-x!D(qfRgw&6GoE%DBA7zV%Dl#@xXIUuobNxY*!ss zvCGh4+WpUXdUYre`^r3O_eXiUCNe;?N_~$=ZcSPwkL?0cAFqCYNI~rm7E6Tac7`{A=o57x%sQQzPi@&5z0zVPc2v|(4nq}D(mgE1=8g4sK8pz{Mibk zsmrclq*SBs?DvV(k1chSoe})3HgdxOAhoI@dzjOY6-O6LGio;Wxd9nyx5ThKqouoe zQe#bb8d8)bATxx&2x1oCLbfZ?j>v%ZxL~hI_9Ow45WU3_D;7zAeu8m+c8$;yjhNMD z{b>1%*|-B|Ia)n#U_^UD!AR}A-OXN>ykj$(R0Tv)Kuprn3g!lG7k6KE=z+NTq3B0^ zk$5tQ(k!c=p4yY%J3oi_TY!r{%}=-b^o0DucgELb%%IEwBMhg{`rHXDO&>w1e~wgC zk2#ilkGzNm=~o~FB=cm4x1vDM0PI&;H2GJZC;NB3ba5f2;zD*uWOyvfTcuO*SHu<^ z(vA+e0A_6nHT9q%vAPnIGZw3&2Y0~L?_<)>rXMtc84ELQyo;yvsZg@2=2GT3I$l1O4;!)5U5fw#G!zKijbG$2;ua!J;BnCTt*@Vh1oBPuH5 z!IsAXKORj-CzI3a^0qSM!hop|%kX_E0yPTPS+zm;bwJzubsZ}Wp^BuVj+&82`BWbUU5F@~W1MqB1Cj<$-{gwC_QeEnj_vxn6@sF7IHt4GmwK zACuLhGqAo=cHXiDdje{pn7nuPH~BpuNKp-r52C5kqc^bsIbtPX2l%vD!R%xP@)3x$ z_pMMthOhZ@Ro$U$l)4(4ZTjk`|C)+uCiR$VUfV6tlw+i3JcJv6y;t#a7xOhZwI|z& zmn&=T{xBWi+)kC6jB{(MC}bFllOE{t4QemBP~el>4LGyME z@gF8e*DDRtIJlAuV+Qp^MMo5-BZEEp9?>ra)3q|bxyyTsIPLx70)Y|0KZmJT-#TSQ zVS$VLm;JWFSMc~^4C7LhacC1NiZcY3Mcma!TMA>D`_u8CFnlpYHCOO?R_97bnA^Jp zyEMDJ6u;1F8Uasi%-AxT!e5SRAI`eUXf$6Jt#SYBbpey54(d;Uq(4QB)48uv5E}Xr z{}w7teabcM%vLPJL*OQKGAGEY1L~jQF&hRRGs1Y(XJ+WalCyHdlt_E96sHy^j$9nU ztAKnF62`GZTyMtwQu%)0PFz*<6^4u%uom7%apOtnUH5f)sVds{av3681c`kQP zYFH!+)o}@^Ah-0gm6WpwJAQMzYdi69HdjP83hjgQbil9Us z`WWnBTun!yh#;1Ppr5jZ$rBo0TC+ntyJ8LgnM>Fool@kRpo7$-*5gO*0xIoUMQ^g) zRKyhBLC#AM?<|BSrwbLwa3qX4_yJA_`nP$ey_;MVHtomvVX=$t$T6mY&YkkMS1{KJ zUp)}2y&o23US1fi8Jrka{W-b$R9&2Lz$9ay!agn`CllM%X;o&w;O`~!pJ2|~>_2#| zP1T<0o1XCNdy6HtnkDsR=hUMMlvqJ*7G3rbYf#G&DZ1V(Poyuf+LP)x&RHp-9@8YH z-Q$aPB=HOrhS1mbe&KjtAX?-eS`{A=&xDc~{+x~eoG)?U?F9lAmT-8o8)Ns6k_1!O zem|>-bZcc4)X@8|+RWh$xW1YpxcZMVA_G5AaG+Lvd~T8n=RhvTg$tEqo^0_-(N#K5 zHN7=4{Z{?AT5Pw^yGOyYDb(l>PGW-aZXZsGtbptB=M!>i>BJiS%n5!( z$#X7NQEUOytey1YsDVl#=W zDbgX9%urU3I5A=b-MC<+67oL>&&9(x+^kfT`0COt6KWaCt%op{*9d9&otaRcq4~-Dt z5d4h8XW*NI&KX$MQlX|P*~ig?vT3KrX)^Gl92z2dtrV;0);uFchi#aP`#%s-qu&Ps zW+gLtf~#3c=1&V_$+3c2g6d@YG|0z8g+*N1Rk@sK=@-hPa}s!iJl+UX_#NBfC7@cS6!J1 zd$92q*uTc54Rc{MJEr&v$`V!aMDU}`eiJKLZ}y6h7g|csL9XZ z0E#KI_5R4X4d{Q3MOzRKi$lec%9bHVvs_ACO2+? zq%Xf8DrChG8HXw-$(e(w^Y&eQJp4F2<4%|CssPF;P>T|MdK~U(cB)TO@_WI`&-a=; z-ghQ-SIC|c+x6IlGQ~ykon{Q5&PaHK5kTo&A{*IQ2K8l?0)DOitNf$~9xERYAT?2z zi1X=-Lomr61AIiTUY42_;zQM;gRBBtft6Wh{w1wr^p8@N2r-a_7XM-@S5Qo_`!8Y0 zvpME3>{$wT1})mJO%dhwMmz;ZVBB2qYXnd zGmFUh)z#TFbh><%?bVkH`dYN@-|7uXx&&svCQs$JW79MZLQ18hsF(vQ&IGyg|GGtGkm~yO^7Q7G z-FhL9u!KB38>8Tn37Qeh_Eqth4rDV#~4LADo+xinMt9@ zf%~PbkK^|(WfLfmN9Wg{MkizFo7MFcbp$R+_e3;~%}rp|Oc@DVdb8N;2fp^`S(=&i zcS<2gzoUPjyi$rV|C56{>zm^{6wTQi+)yA2g67TZK&DQrzv6p_iBT4%k)^0!O8p~h zclAm!h+tPK#b5<5*P3bfYVf`D`QR#+0zOn^5Advy+>&2P2hxkg4Y)474|G zI=-Djm$JzShlm2gu&Jh%M`&NOd4x+581neEQMy=OjFjvej{kiP#{}njsYs+azSVcM zTjW?hZXBLZ!Vp!FlCaYJgylKU|0myE>;FqVs#c^cJ0vn*tye#Ec#4rxBHtvtqGOGn zVZe&d#~*G`mZ+LeK7P8Xhy$LTkz13Qxp&5{P9%)f6agvZh8mg`gn*~?Xofg1G8Y*O zIT=i9L+!(Cb%CO%3tpITBDGfrjvbxM`Aa|u`4^nO%^FMB@F7Dh%1P!l23hi@Q;aW9 z&r#RutfJIfRWD{%!PTa+R{eZ0UrsDlD=92Ya$}TCbDtj0uE(c%=F}&g=x3o|VV2OJ z>cDVQjoIuNayUCMWEdu^FXQicBRCb13K3+9mKl|Cw_J`9@SJkD6rxN(eS6H=O%QEo zs#BxX?V_h8k)9t}h~av~&)oJEHF8{Vix|v|fBqSMd2ta1`{Ku-cRz<1h#RVjT(tP-5LF$~ze*$BZK_ zmlQn+CNRaFKzjH+d@I}0LbNuKgd%OZQ_MuSJ6PeNN54lA!-R6#^}wWX0v>Qx;@Uuxr)EVEHG<)4=GdzS&_ z2$2}6-fizjm@7?4<7PV|8Ay;fa}oET7d_6W@l+`iZ&8J9w}1hB^TOvdL|(u&u^&Nh zMcs2FG(@4KgA~%zWLNtUs`{Ip|pgLvQ{lC4=z zPL)BMHfR8*2&Gx9l0alNg3I1%KR{rD5P4sJ(a{BGbU79osvT zs|xR$Z65YEx}G+)gECcZ9>`4tH4Hgt&xin&wE@jd%O5Uj^hi7y#Ziz%W8kc$6leMt z)F{&Pk(ulzOfjkqwXx!y+*V!?x)jTE z`#cV^!7MU}cKcKlSAMs?M`kS6LWC-rp8DkB3; z>Br=NlnYuqg$h8fs>nS|1o4+01o6*qCO5Zi$qFL(v93kDB~y5)wxF{qn`-@QqW3AB zKjwFFBYUo@9pwO#B^$5qS5=>!aA$8NL){Ox^Vg#RAjapDl6e%s5oZ*^;A&j{ZFV8@hT^P!3}47pG{h?NnR(O}AJE!;*9INch#=>bjP-{DNd1$CmCmo{H~hv)B^}Y=9-x1g6^)@HN2$ zMa4L^Yum*OD%8~!hT*?%$GG-JED2#&__uC&J~^pAXbZDZvvpv~5o@SqRpufwN?&zw zfVM0x(Rw?o6d_v7!q~^v(nw@d5N3qa6PNWUx(`G{f}OxzEAc948W7Uwx{&UnMzWon zt3w(YpSLAP9z{yXl#)C;GI%*=OqF|3WReKsE(;Ff)>-ac!0rka%;d-FJhwakxAzLN zY-V^)tY+bm@~n`jrcIZMQL#v*s?}LZ$L$*&`|0!Q3q|0r@F@LO!KH;-&a#NBXRq@j zWZg1Ao~DQ)iB#uHsH*c-J@b<}JK~k$wRh=rUHMqVScI{15{vM#NYE~Ofj?-ru}UyM z8;3AGr+=$i8Y#8XGl)_Jp`&&XD&8wB8p0xIA%w*y5Y_gp%FFlb)+Z*N&gDV`8pK(P z0wM|@6R2-C9P~{h&p$e%%L%`eJuekh@tb|=WHOs-8Go4) zZ%k0uCW@fyA(~M45i!8Bshf}pv;Y-+!(I!L+B#UIIGT)lD9}m;zXcpr zwwOrDD2`yTLm4d>&Fw=u6Vos1<=E?e#BvBnMSFx|fnhglS$7A?8*Z!?>r`M1{F)|r zR_!VuS;ptYMf2`vq%xa?2S2Jqj#W6NviIgSh!TTiW3_lYEf@^XuRf}4ubGxTIM+<* zTwL3XV|90g*&~P2@(4JsMKC(B*_{O%lz%%!_;4-yRXg#;l1i>y*5x|pL|(nB!2@J% z%6$Vz0n-93HT?Y{`9)FiatDI_BQjo?e#*QtYYZpX@C zR679%KwaN`bgo4OM^jcOAKX9!G?fa>E5zI%x#wXiH`>0rMQSZ&F;Tjg+>!cKiKH`I z=(YZ$JI=rwYpn#fHXFO;lnbn0ZpIyrpBM_v{^2M@5}q%$2NWX7=!tXV5miX@i3Ot5D#+CE*4KzeP&jqY@qQBYd92DJ(yg%XNn|YH z38Bht*3eh0>Gk1{kZDerw}kG$m_PIDRrJ?^wNBz&l37C7LdX!jgeGN8PF4&SsR<#^ zq`MWyae&3xH_sxRExINrMJ{djr4AM^1+B_bLe-(fRwyKBI`u^x#8*q$!}&HD$RzAv zMfWpoX@4%a3l+blRziVYbSy%t+-I(lt7*Q*qD7}B>M5YT{Pj~B*-PSDf`i^o5_?o{ zyC*btEFgfJTrC9_K}KX&4%i&TMK6^i^mGllB7Y*9kLV^+M6ZA1 z{qJ=j zx{*K&l&5k~QcoiJ1(o$NT*PKMpp4n*Y*eAx&LygExtq#_n=%a+-O2T+LM__yB^8&k zPGWaAsFGM&YJ=%J{I3b9qfj>biruOf4z-5P$Yn_nqrgfY?-1wAyV9K9f9|5iF-&~E z=h+~W2uQIgmAj;38;Lltrvpk|u}9BtlA|!+EJ9ZiOaypt4S2*?JPVMuIv*p5@dmZ4 z{fE!vyuO+s2~{i6_9Eta7>Wx~r;N$^cE@&XHbuak{kcMdAsF{}4>!dTiLoNJ)G%N# zuqTpvDTz{>Ux}IcCG`4dS2w8Et-upUuY7N0ECUr2(8)fiR=T+}9tO3Feh!l=1Y(BI zP#@Q*5FkY+T)wmD2cy`(z1#wQjuG_W`9Y7eNSRdc=)tLCR(_%KX;eCHow|PrfV}*8 zGJ@@@<%Jzw{586S)q=;H^V-u4O`M!sjz~$`?Te#JTmcGY4y0K@bFSKfE|7OJ_5k5H z!!bKcNib=aDvuG+s9FShi`nnm6PSlxL_I3d7k;NNZyB*C8~B^u6BCHv5EH&gR3M)s zT{S3Mm>O#%gazvO-H(JgWj8~n@(vjg@faDClaWpn$Bei!5EN$2&4w&!;UenQ7F(v{ zp{JwYd4!&BW4e`FFe@vi*0!-G6DD6H{DaMxj{F!k9(Ipy5iz;4m4=ETJ`S68(itAT zi3bSUj#v;0M_S0@2DLr^gDR5Q=l{R&qngB*Yg(^4eq@UK{z7UCGuW>tQ+U=ec>EAKiHN=P<= zD|$LRh_vP_6bhipTJT08T{PTWqSLC77I|9<(n+$*bq zAr}j{qJvBaZS2yef;9$Nw2o$u!es&*z}4y1IU4Cs$*5B4NR|X*jA)Q3*=07RI3lSD zHI4{b1XUS1cXZAH_GXTH*G>Q3Se0EtPdvDQQb!#w7RV{Jdb31{Mu@ic=uAUqSuqQB z_Sq~-rY9=Tg|so=iA8u`@t3=n%WTL!TU=B>Y@cj~X+kX- z7U~&gl}KqbV#kC?o6CZh8eBDuqRU3?|3L%?Ic&v*G_4&Y8Avrt6T`E@Tv^)uKu*0z zE4cA=aw>0sEpDOg>-x4FaSTZ?#jAVTaU*dppED^^a}U2N-=io}0+udldk zI&J|v@@=`F{oFL-%P^X7M}9D}+Zp`*ZX+o>PJi~-bb>}7{OanD3N0nF8i@vncO~)` zQr|J6rS==9?TeZX@nMLja(&w}-%<0WJjLS zP_!Us89>=NTh1TXNDf@yc>CTKy*_ofTkn9~r} zDVW4YWV$VjqbVUP;u0%Mpc8X3Ysc=$J@@!ikEggK(j$&mHr6A~;%QJHRlT7*WA=47 zjVpi0!NTiAqnGsS1PSvQDSq%Bdvwf;vn*JuYGI^?Y+joqk=(ARBpGuqB#o)Ew#2#R zR}8HAp`rTF^G7s`x`u<=RCQ7p2&jlfz51Rdy<_oU1j&!Cnj4-Cbn$`XR`-O}_@FCd z15{8y`092_Nh8rHmE#-4o{}w3xy;N-_(4Eal85)xS)>QS8`Irv!$+2 z0e0^s*BTVmhNDkX!Z>TnWCVyWN=h#_=B+pf z@E;TDa29YQpymWEWL4-U+>Abi+>**-ySnU*HOk8Ee5FGx5s<2CsN7u5g5vuGv|{kb zg>lO07Amww#R?&6v)xOThqi~Jjax;kQ;0HP+EU5|-wlMY97G?q(DAzvi~C=6jm3jx z^k{A=zsWL{r_T+@>T+R?y1J(80Urr=!7-XO(ZiI zSnp8V<*P7b$irY~{&8xSf2LYHtnh;m6@n=#zCs?gig45q18Oh@PmKJoM*@M(q*zct zSuQZ*SxmKJ7YQXDq5%z>Sen=Z|3tC!JTeNS`M!dYbyuF+tdno`G zz35z+wcizQdQqHE&+&d253ei-tITF1^hfT_(7%3yj_)C%?)LNN7r8Z~$V4u?43qEz zG=0o-xXDb_Of1j+Qp`%K?X%B%_s+Vmc>@5R!Z<4wF#QcV&SmdMS(lxQC7e9y=(ON& zVD^oQ^@?tJ7+LR*;O$B09t6b(0py^$3aWunkcxR&KCU*O=c^Bp=Da>u#JQ3RETkxO z-?K}AMc%)L9MY!Nw(3!k4`l7?{IuQE>;8W8ZLJ>)kA<77s{1a~;bC>DV=IRo!wZh8 zVkl>?Xp0t1#Xt=2Da;ZLBYi56!cJeO|B+y4$wUr-ozwO?cQ|sf5n|I|3-kN0^Oq&5 z#G*=Jz)Ds8Z!{pvuj8ZUsSaL6x{r{)_?|Z{66qtQQ(f^~org}VF(0OK>!nqSbS>aq z8XPR9dLLis+j{{OV_xwzmCl81_?N<8F@(7XzC*wg5d)~wivLTfgg^#6^p+Jh4{^+T z>(7dhejX$`t#lM2Ibaw;Sks0)i)F*4FX72vct!o~v&Cy!kg$gsy#!o<6|vW3GauBoY2f;we_UKoDx?UbOLTSfiNdX^ zvK8G|g&eljaP1+ops0hB7@v$j#_6Lr6~7O#0>2gJ*J-gVl9(0qiDK))MGIyavZuDQ6B~>)m>bx{yE08$)2m)AtwkH^9t=pzEbmT9($Ea zgpX4}nP_%c&;KqgNfP?h*O9LjOP{$%J zOn4*=P#4#coKvD$XMQcaL4D0z^qE9cDIJ?)AFE@6+3bbN%QHEOt1L_?{aX~0oSjZ4 z?;CJQjU?RB@S#F5q5e5#!60DL@mw(aVkQV;Di#6IHnv7d8 zQ<|6mfJGit`Fydx)c8EU?aE5~JeUMOtX_9dWLZ+0?oNv2Rs=Yvj-+?Xm$~mJ=kHpI zJwjABnwCGEFI40`zYQ!KnV9%miE6}xtNPT}8zp?WJE!C4m8(+TV-JZS9cKo8o^U37w%$P7E5KkBmi#{y-6<1i$UB3wPN(c9~iKe$(H7@X|D;>%x zVH5~k+We8&uTgdIo!;N`uk-H~?cMq7{)sXVj*1RCcu`*;MFoTDhtsm`Dbdp)#Ip;M zsz?=UZ8=8pFPE;x*Vs@`7{F65HT|>)d54}HELu%(@eW;}iur7Odxk>2W2m0h`2_gD z+Z`>JmWPe;7}_@%q-kE7!S!_V2jUUcCu-Vs*t5Lzte-%ALyE5Hw6$W-JfiPzQQ#S_n(Bna zP2RXqhk1et6JTSnq|IEbRcH1NZSF@R0k4nfii?rT<+V>Gl`;2CYdQYz-Pl~WIB#F} z`L)R4Qc0rFhkppqn8?@IqOOEi>b7QhwLR+|1cJ4;O(E`%Dlhp z=M@yCE?y7|(ZdZ(6%u!}rj;YhIKBsY&e`v#EopNMuphSjY`P5mgrj6;KH67Y# zE|g+m^#u1J1Qj+ltD`9RNUgHRPE;z~438??t4xNXprBYRD$0hA5Q=qrKAO$c;(8Au zCHK$aAZHoNtFNO96dAgs%UXsh2(t}t@A+nqWHE<{bP3);yrF~GVdVI1Jgozt$g?0} zXs^W6qPv1#TLpEw-FlrPhH}zE;e8} zN3ADXpjS|XMyaYL)4s^opqLu$t{#Ya9|`Fnwz->|Yf$b4CJkACO?PxS*?hN>Qvy}} zo2%cEu&mCkHx{+GmOWFwm1m%-FR~G)t{1F1yRsyhtONl|2kS_fSN+JmPT+3$jDPr` zM<9sb(GfzSNzW>3i7roh#TD_-sDI6QH+AEimK5FD`d%{p%0nhIRk-y}p-CdQ3jB&1 z7^)Nj13r(`DWr9=g}WIYu;Cwvw@kp(U2NTrGJ3HUO6>!bt!yrH#0B}si+zZlC{#tF z+yqwn?DIQ1Fv+RrxO50ldlt(QC~BT7o)JR0uflkJA1UpFPwTr7sp`j{H=FZB zPU=JkZCRV2{2~huSk7S7LA_rT*rx1;5%>L4jaVSCb7vOkBQ!!n(wIEFydtxwPE^*L zHyEwOKgdu4hzUX|2-+e$NRl!=U+-7jqGZRDRx{)P0}@N<<&j6|u(6V?;(acBK8t}# zFIyPJNsX^*Lfo)i_2}`Kp+(*C`DXKFPG%zcMFSH?hwrZuCZ@v1Pw2ZLtf5S$)E!pW zSBN4uv;^}!CN^(=n5py|0q?~5C=Vb z*}AB_eKVT5Mi=j{ldh$JKAo@c(IbpG2Dy_Gq;mAn%LygSqW*jYqRKT8kNO%4)Kb;eM%Zp7k74dYG@2+3_+qkOaU8M|@ePg=atA&X=9w}))bOl($*j!S zZ*Eg5;Gh;aE{wSC#odgQ&{mS)AM}n|5nQoyM*Z=s*%W7N4Dxl^iTgHrU;2zT3SM2;@~& zp}Yhb-Rp@ee^-~6cs_xgM3={!b8INRJ~iK1Ef=R4$Xpy7e@3E-f^wOGnK%|xi47f8 z#P3y>G?YNHj#mM#7Vbjmb}&FE17y5W7Z^jV{8h7@Wj+P6Dh%JT*TNgB1hivY(1Tt1 z*2GdJ^KGq{-Y%O$zvgPi#r%tj(~vl}F!lQ?^{?1`s(|T}b}qZSDL%)raK*M|45Qpr zAV|ebaZ;AzuuH4=ze1l@jg1}QJItZeMMn0c;~G_fbO0TROq>_WLGTwRDqDP)ejP&h zfGRk;4Mj5$^B6SG1}~Bnp^*Bstnu@toHXuApuz1mVm)eE#6B3Kmr(3g(j601XJC^IIFJ+%<6>)ql-}9jhUe6Y z*_2N(Xpp)#m6e6AeKB7>ysp_5$nU+O1&5TOGI{I79%WjH2s08}WH6*EMs=QvX1NlvXiIN1Van}p+Zo79_K5i z4!6K)?AoA!t+$_uB2^+`l>Ci1Rl7Dh^2g{e0*{J=cUW>k90YgamHSo4vk*c0g{=nX zIZw!@^=$H5;2j3aoX4HrXG}ZlIOb7`>M~NZuXRIn{D)M%n<-~EJ9CF>AVH~mEF{zq zlD=Sg@=mKikv2E3kTLfO6|NkyH$Ge_)_eH}?5?`atC-3+KjJD;IrV7Nev5BSt&uzg zcWGm{QDdQg9M7ON&}P#5FmM0y6gBeCY!@n^TPv#yS6cQ`X*b(gMRUhWVNTo03Wxg+`Z>k?sBf=W%Bj|vrN!`d-%4SEw)14Y>;SktYVE8_abp4 z0kS^SEAVmeS53jFU$B4!t2o+|8YWbHePL@thFruP-@}V?cVV-(Q^w8aPu)I)SrqJ} z%GSZLE&nLEjYf1SYds2%9!hnpgprkx1T*#-0+zvj-f#AEZm)!A&OLUEd%7psMxA}~ zD~e+wlbAPR_G-C_SN==wHL?m7Qt}FcOlPC&Pvo~&vri+R11fGdfZsqnU+THI-j#un zFkjy-z_ssXVx`2D=I{JO)e`)AT<$?YnU7pXEay(Bmx~*Sc!U7Mp35QSbVg-gSfbQC zm?{(%{C@>@wK-4h$%VBfZlhU+Y>HY^GsB^hfxTv!5yAvm#nSrB8qyIAg)_CSXPofc=}BkK zDnnoC?3o8uFA%j*SV;BJH=sO|z*=~@{zeK#hNd`#q6N_2Dg@z;E|kv_6J9`iri3G! z-N`uJ0m#vFN3VC!S$qvrpCHcJ!b$?&S%NY1dO!zLjr8Kz@#j_wx+2(P6b`bZ@NbP& zUW0s!Uh9g2A_mL%vIg`!7IEB52H9r`(zw|SkSJ>~lfSOMul8e1|9t&7nhoIBxKh>! zlqbRFyx$N`oOjipvL>UbuUs@Li^>B3TJ1$~+3B0})d&oXzRZZZ@zNdbpgT%o=03ok zoQ84S8m8f+jF_uIvBS{_oER{JZ3`NJ%n}q#QDezK_7=TJuSHUvbX0}BpKP{F1&K>y z(`!>86H$7E(-Yl0a_vN)<#j3R#}V{n7Q-Ut%h9XcQWP8+E^<I6G$h>8PAr;(7N&|Czb3~R9$M?ioeg7w}0MP3DV=+O3-1J z1?TQeh!LNGA6Vkvf1yG*p=cHPrA^F~Ek%GnpKkn+M~~jGUnw~VF<48xb{G{0E}i!Z zL+1h3-}QIOaCm#b$WC~u1Cs=uYv9!%s+t^S-wDsmw0&<~9nT$-cQ?%Nb?TQEO5%mE zPD@5!q6Q@q-g<0cyfdsG>sB3at0d4_qA(Fgzje3tK2t!2Rgvun?~(v~Qv8Tn6)^zo zI5OXi7X_EqUJ*U$)6EFFlB1K&)oT~s5&B4g>g96!8L3>G|B_Qex3J;}`=CiLuobko z*vXa`DBPg`b-j6fKn-gKrjZrWcWP~Ww6Z>)oV4+gl^zp^?&{G&b&tZoaW*7cLZ^WS zCoeA%PPyu$uyVS6*t|WiE?!(gsXRQKEFM?i-oB$1#ALzQW3gAG_sa6JgFr4g_4^GW z%ibxPo~H7lX&A^JSwXLd0V)Kp(RI&AH(O0Tvb3pI6HVvwf0^&Xr2G+Gu_%PmE7r#q z^{h%>yKd44HTv4R)oO~Thiyh<(fi3<7M{iI>;C=)2h%>^R5U{-f{~1=#Z~g+>hP=4 z>D%-3Z-<5x-DKaJx$<*)h9QzUp%rAfL_&0_=QX>;35gll_U6$5R_kGjItGOk-+<95 zOEZeJ-}YOvo&6HAl1i}RM{t}Pi^R$y%%IyzQdY=4=2DM-pRKb7Da6g>E>vLfV2&HX z%)7!>bv3<2vCA3aaw5lm1|$-lFEH`IYyl?6?IR)rj6OEfPS4bLx99I*!Oi{x`X|BG zMN|-1Qur#MDobs30~NcwM$YTAGV2;C7o3=ion!Th%dhef!ch~cr`6KGAmb6j9@tZR9 z;Ys}l9afj6N_0FgmcEo@F{0Q}YoIonSyBG3F-j29Z?tEshB)C5KRIjU%!-nQkW0Q$TzJY%loe zS%a#W#~YqN&;03{rY+Fz)71gGsZr+H$(C+ZX_-|JSbsHOh&{SIPbw_k+&HzCYXA|w)JaFv{_DMfN;NeA!@4;74~OcAUMV|A zv+~_y3xBSMx~kLdR6`#76ocjqrJoOfJ%9;;$zerD>b*t5vC_`S6a$zx8jWsScoj5Q zm%239s8vNc?F8fiT0d~z=xXY#M(LyQ_xB26>#t_`FhRx#%G%geQM_ zjpL&v1#yQ5n~EnSX*4XiZ-ynX8WY&oCC83nMPESy$EBM(*?~o=($AXj=IOf5azh9> z3MX7O7QaOo7ezWDG*{R#t5plj*f>5wnV=^GxIrA5*XmJ4%MR8rIKTG)(qUabOhOZt z(N}CJN@qFyJ!6{rXj|P6q@lO>`|sHTTOg!v*AG8WK%4SvV~6IF5uZzaCC=0$`T}C~ z>3=52K87cPqU z(MKdjVJ!4kP}%YfXsc6dfo3H@oI)hqO-~0iCbmJaqRo_pVB6f4R11(UZ5d!*WBebEo*ba{?0 z$e=4_v&#!??*y^Y=8R}y%{CO(0KGjP1$cwCxpyRr{)X*N#Qc^r?dYX;6@0jwdw)wd z2t}9+*H+t1Ly03S`wlKmK;O?DSV^i@-G1deJcMyz$9>HM{1L9rkB)!4`ZU|d``v{h zkcaS-vdzY_So6s}To-KJv{O>VOT{;+gIoh$=jj&ZwR`~pVid+?F90Oi!a{H&S{AJu zONUe%j)vZ4s`7yP@b3|DMYwB?2nn^^?CI&Sg6)v)yNddO=NHg;egSdvHx3;;mRmdE z-4!EFUFEFy(EX*ju$0PuMPCjOu--%q8*ekq zQV{@KS)@_p>d9-drajdfQn<|tUlYigfj_wkr*WfEMCjoUye=lR5z<5wRXE)dZoq6E zrpTG0!Py_+CvhUC3(KvAqZsKJ(W5|wdXTp+5!3m;<;=wr={&SO+kHnSd~=FsV=Gq% z$zEfzW(p;!$9HtW9d_htMuuOQNH>c2RlTdT1$EA%md@E;BvleMwF_Sr5>Of!h^5Bi zS3^MtzYA-vn@`6FXaJLgbO!}zpHlP`r@LH#+u!eh2h}Vese31M1-~?#ILnAxWE;X5 z?4X+93E-Idd^)+c>eSqE&U7MNay58PGK}UcbQvR+5_h_sgFx~%+w0OAd!!^NwM$7c zCdQW6x+ylxqF51f4==-}&RPNVhJQWnch4S>X>OH@q17kr{lnYlo|p^RampJE{4UIu z*e?^+srJLb*FK+2s2tmU_0moUD zBTazU9#=BCPB%NuezkW@Klr_@E<8oA)*b9eW^PUt0g-Mt&{&exr;}9q;zn&l>jDe% z(z4kfcQp(aMHW67mI+I}#S)`4Hw9fRhX{wiZ97n3c0}BCCLHP)tZ{&K`aEy{n6sYp z2x2Q6WCHlc=Iz}JJ`@Kl6!G##B3>_9j}Pw6=d-gLm@Eh*m;pEJ3r{}3+xvSyEW3~C zVA1$~s=CT+L53W?mPbbX%}%R2&bavKI=x*W9RmXZ^ca>=M_=!bl?c-+L=UuuemtvImKy%s6I^(8ppu#X`~by1jI4o z!hrd?X4!KT#4rOsJ+z;mM5{_$uGHXk0fPEumUCQL`zH2!xJdQBZ?&RkX2sZBfzGp@ z0RUf{)$48xt2BQ*xLx)FhM)jbwexvjK5ooO_m5P=7vxx#4%5q_PkQ(7a3C`!0lZ6{ zpuwVjjI>tY**D}~t+r88A<9&cgrFF6v$0_YS&vxy#c;?MFA?p|5-9g8vyk-SsF0Cw z+iJ{JrGg2c?7#D!ZGI)e0Z$B)nI2)v)oEjF0~pQ%1}@3)$P~K8qjChYXO!5iW|=Iw z%8t5E^j}^8r;%i8kg|a^-mE*)-oc&!!6*SOYrsVoCuf(a<3zXUMFd#Gj8t{eP6fQ{6Wj`qca2ue zmE+W1Ac4PO;_!P(Tz6ai`yob7w1z3c*%J-x_Uz;WxL;R8Y}{T);?Pa-w50LN7D;p( zXo}Inc72m1mk>QF%SrDh0D!+z?IT_YWO6<4MeM)h&e%pS8VsH95C09wC-5Z?Df-&K zh71Bp^hf|9-Bl_?-{1dUK*NT5Ejym3+Dge#&C{Cn)V@Hh`P>m~T!@3q%M+CBm=^?_ zE@wg8AiKBmDc~$RJ94nS`@zfT(^y#q8KA)dL8j8G3ZE|8F*2(Xp0q>768njXQ}Fxw z8`#Kr#^Kn&&f}VQVU(a+^1L<%xQ z7g^r2Y9w(Ye8Orxjd`?c>UgSRwV2}u>J!Rvw>TE@qVn>W9MI0<5>C=pYe&k_f?DI5;?jh$3&$y+vB)Le`=asa>D)5FQC(0|E{J!VV}5xO#=$=bV-NrZb<=g zKLVZV1K)qIPL)f}-ae!nBHXaHqC|$w5Al4uv8!!5JcLUruco}OY!yy97gN)R%Vg@v zH8{JNho*AU7B?U&-ZP(w)#arPtUKOD@+Qm_;YK4mtYXPJcHIfQ!qM-d9t0$a01~)b z33GY*`DSS_8pngbMAcMex^e#4_CtWMOGvCW=qFw02{mq};Fmup>#1sh-QXh=g`@Sw zVIcsN4)oD0!d{JgDdjjRZFsyll#E*c1?%nm>QR#E?+&ksWGk};@i$2+@ahbo=#*lGrEP)(IX;X``J=6StXe7_q(k95tnpvRE&P zldtkGm3##syD?a{Gdk_QsjBiwu>1uF1pP)#9AmCJ~bnPap z`k0PxXR^4iT1$6hGwWRr5zXw%POukcI*cM7jTM2;1KJ3xl$#bCW5J9RZ7ayj zN4Bm8HFhGO?%=;`29}bhlCyJkK#|~uGgBb|gW#!!kLM@BN`?);xJ|WC(NN>6AKx}V zed8*bF`q3k+_`cIcu9GCmxn{QLx<9u4d8!>#QH2`lWH_QbO8kj_F6QDX;311t?KN~ z39`Pw|Cg%zFK4sQlM8AHcY1aM4h%3~-rBd5M7Zl_^lv1$uc1!N-&x z=p}Wbh>>50C-u}u5#dH7EP9-vZTI^n>y9OLX)@BzpNb7jpTkL0MY1NXK3vi==UqR3 z{ORnLQdXW}H`Xn!004^^lJ7XyiJ^=3%c{FUSExE{;yfa$mnXZHTOcO(1Z4sO$j2*G z_e5C`U&i~ed-=UzfB%uzpJWL1@`osICl(E{uBU%yBgsy8AW_h0dPeaR3RSE&}R?*OP1GXceisNS5;l&(sP;ysRrM*&pEnlBARQzMY@APj-&sqUj%}< zARI82AD*EM%Nac6L}fWD+|lfu?jC?W1q9tRFS5((?nnL_*@S(iAv_!r^Hcw7@`)8l z#&^R4%V*Gx{_Xh%>CZ1~u&nK(dC-kNyg`u@oXF;far3a_H@ZSr9p!eeN?6y7HYRr9 zE7*Kg(){w~dW6`Q`YjiizV;PdzJl8SyT|#`dW!`Q=+WcTdVhd=IlS&y6qNLTql*`L zX;SU9An*04=;6@J%|_DQI-rgjQev3iuoALH?Z59oN!N#;MshFfaPhX+<@R-VZ+&RK z{gPr@yEbm88xWrwp|v~U8ceZcwEPXYQeDxdH@#VM!4gO^k#j$4Cxd`hh5i3|@w%+_GV?5J=s|Pr7 zWDFfa(Gz`(ku}~|zdQWa(C}OK+#QI>a4cRj@CPXBx13*Cw@5}?nS#a4lBo07+9ad) z6;CoOXTvqftAu$5q6p5KC&)UoD71Xuk_?y_<^VV}Q0d`@B5LWCT?zk5ximxdK%axT z@}!EJ%1ueHM++feWqEFL6ND$flaq0H{q}o{)9VgQ^NWQbWCvnCIX%S{C_5DGeO*f; z!&Ppofo-rzd4^k_|0K5Qp-5nLTS)S6ooCdzzCC%S)6d%ElDd zEF7KuWsf01TK2mg_+Vj&u&_AEr(Oh!VV`?13;D;rJ2PieirgLAoXgx7RG6whGN|A( zQv<`ij5SXWV)>)DhvJaGxS60w^lBw?i^_=G>pOV&;aKo5QC7b3G=68bb7rAJ(Y|lp(aj$0?Hw~YII3a$}YQ97Wb2~t)wg8Bl|PO zr0|{$PPspUT?1#P=n-pWwy;0c}au?@JM>$ z@)ug5AK>k;9$#L`h5Bb<7qlV!Bq2X;ro#QDB_+y>N<(ZGxb`05eB$F;nF3}^*Y6@Z z$M01`c4aB$SN%JvFt3(Bdt zIJ=tqRS05Gb%dNvb-k`pCCL?QCgy$~f`;^0G&}`A#>>m{_4mt)50QL|tPlsztD}-f zF-FHk z3w-HmnVzr#@RPdu~ScNKJZPK^7E>MNzU_R?%b9tV5dkgrl^BL;b z;mjQ(L#|}l9Sx7zsNf@WK)QMR`eX!wti{mbB>Aq0Ze1H2Z#s(%C-v;1L*iPSs)DiS z_{AN5z~2u;kGSbdiAJXRws8Ua2yL$ZM&OV9-0jHW!PtrBIgu^!zu@`^lj8VQhI?7M z2~eQN#t8W(@U2KGlj`yDP}}E-Rw*6_cz{rIj=a(WZDfHu_+ryX4RsfTEC1PDf=WP4 z?c3oH4Cjm-<=~ft)4QAH9~Qj91EbJXABFJUdi=0|STa7q$}vs0*`pv4ji9m6T28^X z4Uy#c1{KErNzt>=$2l;ullg6ecwo4%7ZLW(OcTbM(nd_#hCUqr?K~K=DMk`G6W90&K4eEXYB_mvkG1SK5LsZ>A?ePa-Wtr^joWXeAl#_$NXS zLaEj$#dT|06|i~|WAbk{W*6=;xQv|al+_Ny1_$_oa(IMDr}()QJ-a4|--k6>_73aoTChA&87B7V66PgyJw_ zWVC*9cr?7V({%HdN*^dOBNpUwM`$%&vC>WJ#4>dW2VWQD2GXmMd3f6F?q7NTN&H2$ z`10r;!;OFU8)0FK2dz4u{jofqPrfQcksFxjU9pyYHGBZa(gI;n3h*6%0O)VlAS`i> zv;vOfK{#7GP zmXtL`P1`K2%HI2}G)fDv3bwV(HmrWo zo!DnEHaTw9RKd!TmFY-^psKGB-$&pay|Wy7hhHL{1`-d%+YCx&1Q8OQTlGYXtR6-4 z2SPDaA)do6(_Yxg<~9gn>}1S1yZhA>80S_`D-`}dtp4k5^_EHPv*zP`VAXj>z?`$^ z)OXS^qPj6%ttR zui_o?{vH*WLUZrmsO~n>P?0rSG8DVS78foneswkSg>2k4ykRm$;~=&{MEc-(&7O{- zMPO=ro)La;^l+S%ivLchl01ouZlm}eZiD&UM*ix_?gd>N8U~uX5e^i?@d#YRzO^XiLKWzAJ@Rbj`9i!pa3zgxywUM2E;TR)8(~d=q|~AAz%@g5B@5KA8f)UZ7ebV-l>{B> z>1(Xdn&C>bv3iR5jSX>a%rXZktHyEn*4yc=XE`-OZBSpl#Hdxwa)SqJs2YB`^7+{! z6(LJPJ-9|A(^v4gNue(+cRl;L$+B+&6fevuZKYzS8Z-*E1B~i`^tD;x3I>8)2#Nok z`ve2+o`37zZ-*<2#Oi}Wo8ab;=C{XdiiYj zX+F8RSS%s(6oy0Jco)<665gO3h`y*|qANc*+k(MiRi>33-6GuhAA}qGi;LNu9Z3y= zM==oN%~a04(9hYWMc9;e?b()7g=kVT1>e#&s+m%s&MW7nkpcDKK*7`H`D}jWQI9Ol zIw|4R=>GxYeiL*kNRqSU+VSJm)_}F5tn)ib)WQ4={;$h@x}E7K$R3n(Q%4Ncy8uK8 zvPBOy*EMUkl}8V9rmRuOMiOHsU@13U^!^({R+Ov`&pf%Wip|L@9 z0-ZE`%=D`%rUk-$2uZX?taQj0RfIDvt8-Ab=Z{03qPRk2t^G_OD88W_1Z#XQQ|NC| zE<-|xrGDBWPyq}V)8P5g1!6QP5k=xTWo=Xmu)2UcqH_0>%o_Q{f44}M8rw4!%`pP3 zKO<|&+MwF~c8sRX)5TO7!ox)v4o`QO0MzHxPZzf+qhDU0odb@5LeV+YvFyA(1&x!_ zrKlB{c(`pnA6IK}0gs(AxT=~A4xqkU^N?ZO=rF$hfj|XkHpCNV4u$b6!fN-A$duWE zdMiqWCt7?nnap{K9?i*eTs`bVPK5q;sw#7`3Tz16OD342Y`~5eKZrSbz4|4NI$5#N zn0WYXZ5McaqNi0TRV^vLv#yit!_!&}kIz1VQQ_olev4~4DUlWHu36!SFc$or&59O+ z_JR#npwNPm&!}rLL@4Od#A;Mk5`*A(JORkXiVhl4mbMlOYDqWDSFih^iST7O7HyFH zW*3Z_&=v2uuJ zuTVeV&~Awj7n&i325awZGovI*U0uON7sO5_BjmvI?-m!YHD`8vaAVt~7U zW7M~dh_)g3jUg z)79Z&zkc~YMTn~I;_jF^ubK4N4ugglfMgXoQvf7eemy&j>h05zbN?J7Y9pX>s12CM z&|hL9DNy`v_xiefM!Xn3pI4l?CJE9r>5^8pV}#(d60KxWxg}2lbzrz7&0MjRbPM1F z5HUNt*az4``yH>>Yk5y+Hu30uL@U4+)?SN!n@;_`4O-)MeSHg!GW*e1Eod++_cx8Y0=8}HMKyoMZa z%8uDT#)8k-V!60htO={=h-di!ruBL=*P=%dO(AsJ#{Xzg}MO^Im0`P^4*<}M- z`+tK(_v|eo} zOq#!n&(84Qlj}Q_u0}J4o*oEdCX10^9RO2I(6PieYs(Q?ms`HA@Q(ah;@1%^|6fk0 zGQ(+3uP702G%HoNx*mBHX;uHx>vW>3t`JUt@3#(uy8Jq&EXBn{bV-mVDreU;JCwV=stckHK9uFpgK!SZNrbCjG9Z}0~A${V{X%vz=L&^uTUPg`?O#yF~haH2*-&K%a>zwa(Z5V5Xq#*#KR_^TddKv#z8vKK@vr-rHDKw~a852wzy`OEvnQIa71{VmWShRqaKJ#iLkouO z#rpAawG}6Y0TeVe{sbJFhhHWo#1~2M%*Ttn`F!@tGZR_)5!&(K7~0v|NI(uc*hTwu ze%`+@++XQydS7X1QFayGj(cvCZRLgG5>WRhsgn7!h8I^E+$l=>(dB5#^*D% z1;BD-3$k4pG6W!9k}EOcF=({4MySb0p*;T$hx-hZAnpNfKx{xN*fu?zcD*D#Jwopy z4o{~W){;(cE&|Sc>fa0|H#bRHj1^5Aq(amW?3of{@7^k{oTzux<1D4; zX|fd2GB2|NCT-Mv!s)h^FX*rB43QfOSEKS;u3LYNk?Buz<(nScl_g|)!6|Mo7+Zs! zat){0KINBz<)ho?{~xI`mYF(b_@TI~{o+5f__{`1SmDbwR*#mNzX&Sf<=m{laTOk4 z1+3!P2Xfs;9W^%Oc?O0@*H*)Plozl%CzxN;p2q6AW$3WVW%P+%9tIu39R?rlqbTL3 zqR;~#IoHvW$;Cus9n>~p3}-~{wY)X}DV?6PmEv|4?yo_WrEMj$Rc302pwfB$ePtM5 z!x+8Zh>EcJb8LF$8;-Z@Xy5_KXl0CV&U8f3m(a^NSo;n6 z)I3t1XN*`>ssEM}=SgRPS z4^w1OH`Cy=d`orn$ezR{7GZY;j{v!8CHN8C-N0lrkIX-#{YCgJ3{hXzA!z`?ZsUtQ z3*JD=8`VQ#n8=1ZA}kX^47NkB-Elg^j!HLt#j604SzQz%7BI!}&F9%BfDepJ#glaE zYCfZ4{qC$w=P}H*8Z$NXg6a%aAm9I)4`>#i^oyw@ZSftW^PxYG^t5gJV3)j?D}>-b>$QOHu>148rTr| zY`9S9@eZv?s{!41;audf;&zFw#gv`OrJ-TRYa=tKLCRy^%v!iZnml`ZifGZ-*+!us z@?6%thu4jZ=2bP{+*#YXkmzcGjlWZNTiM-G`9eD#kS-}_NAr-e9;o}i%$_29%=1Bs zLQ)3NFJvaQm<;6$F0>>et9OuAL-(m3(`i(*9hB*cy!>gJ(90Qa`6MGHiAcSF+U&mF zZ>0D#t!YC`b7W(8&k|j=^Yq7>O-tlhm}rJ1AxbOZ_3)u+t9NKf?vhlqke^kQ#)>MK$e9++)W^^@i88rPk}{%9FN7a86T)muNTU+y=<`T0pT95xId z#{BkhPa61n^nsuiN@8M0LT!(M7TS#RFH%=$7GMS(7Dx3}4 zLv@M}p=unBX4ZNH?|S|G=G$J!axS+Rt>O5LYWS$1O86kIoyOQ%j7|~$MR>IuKJq`z zwq&r#70tUFDTlg8(00-ZM++b#a2$ztr=cU_frUgZe0j8VN3klkgpaT>|HOeDQZG1P z&g6xamU@J?2*g_cR}%KdGfr!ntHj8zICK%bsqQ|)OcZvjgKfXUKl2}Dy)C>6@;dp9 z%Px+j%*V2Mj1biVe&||)2!2!_y03e#T>pUT%-3DidsWX8FqPav7@o~H#BpNvVK%ZQ z2GGWcr_&}SiL*s1I4t=&LB{p0n{~yWj1e-r=YtxFqEmdWY|Rh!`Xlo?xh0F(U;6<+ z(sqm3yqnZlRNtpL`VqSKPUiE8%O^NN`p}lut|^NjP1q;Xmc106EWuq zI>)8YcKf^%EXx&|o0_)J$d_?48exfVC<)-Bm9bkXHc&8H6G~;3wH%~x{S20WRC_$U z{0=v`4Qn~l>4L`<+wWZoCyLc5R|AI}O4oCwBO?UH@atrb`+*mN_99y8+C?(lony0> z@t(8QGL{MfPe&L2O`L19v}h%^2E>PBY-C=lA~OZd?$D=sPNG|3DCqL#?b~MkAo3v( z```!5VPVUHpTQgAvR0Iu&@cfl0oxn%`(LC=(kRB>`OnMa5k(${E0 zLueEbl(PXE9X4I)9${~~S2x$upZRm_iVa}&y{sNX)k^eSw6mGpuMhY$G7Y@=`biQy zrNvDPBq}7kH!IT-t9e2V+cMsaBi)4m&wv1^)Y=9}s&?7DZ35PkN4FI8if{2zE?14|CmTs;8aEe(0X6 zxY8N5ba_=3<{>b32i391 zlLg=)pp-%TunEGl3wvz6$=Zb8#;g^s=NrvJQTR27--+%{XoGsUytxToja{0Xbl}Kl z7MprGC>drV0(QeN5yALdKEI$)WBG0UojiDZaTOG--4sbD0MKDbX-xOG1)yOoDn2L) z5Gw?JNg(73$x)6*OZ&)lc}GGE{P6qzHxIZ_F+-fr_Qi-SuwuTAZ2{cW-?!8)RViGX zqM}6uRoBHmZ+5WHe)G8fjl~nKdV&w}MRj-rCIonC(5z!;m!Abb$xTJCqw#y~CAh&o zH1yl%^+>kJf0pMtge?|N(=I8y*R5#RlDbIhE?c*Q1S$c0Tb7mPs(M=lEzjU9qTn%H z$U$fzUUAn-KW{z9m15pPNL-fPHM<4c>17GNTWkbC$&Z49A#U#F{Sz!$rggVlgNYym z2*H7QLbO!G+LXEJXA=>FqL40i%kto&BQJN{HBGhLP-JackU3c|#WiR9F(DffHcw!^& z`~ZGh`Dsvu9Bi%;Y}RKTpJTlQ?SlC25EEd46-18{wAg)n zdEq-#SJ7+@&s%-NF*sKtKF5Ku)2(q|qEgX4?{S2%!$L!Pj+puSJW8D@9yihi;fjf> zw#~p;W-Og9zVav9nwUp;?7kG?e2&0@^UAYlCf+#{glpO!IhKUFH@$MU5*m1+LjDUh zE-F`iKM$Q=qp1*ZZ)jt4djEU&^mVoRDHG7gc@p5Jq;Ai?xnz>^(0yea5X3im!-(#z z{*kL^OO~LugaoxeF)e+p-Wr+hs^`?&;`$VJvh6d&DqHydd=||WiB&ZMh4VA89buoG z_=`ZhFuc!+f{hhOwMW;G`}XYe?$aHwnO_FdHWlU9T)UxEBHZDC@Y%zmZoxxXz8=i` zP5-h%q{HJ6Q)avi~QXf5d9}A0ghKgrJ&tDfkVQq%k=5|NcU61|i)i1mkoqIA@qpZI?Swj%F0B1og&~h4;lMvwSkMta* zD!ZgbPp{TdF+TT+w665=yxAp4PtN;y6NyKaO)i_{1#ALN8FwVMu*RIa!Zh?L* zC({Voz%%#WZO^BfJTAZOoDV)vu8;4C0|pm@I4HO~cGTpRBb2-@IF4JFMT%5VKVslX zU?WGpqvXGstW2=g>N<5Mj^7@B7A~g@`)??b3+tttq7)*iy0CB~$28;)=>8lv&z{i@ ztuZ7J25_7TydXdT1R>BdeWd%06%lJPH|SpaldI)T$*o0YGA!mI?Kw>}imw;0Yje6X zjuLobFVJp`C+dzF2+*%UBGcZ$u~jI6+?hC>vo}n7KF_>aQCtXUyF2iLd^)>EZNEcW zKsNnBzqZHSlz)KG$8+=X__&* z*~8+qhhs^306N?a#AcsxFuN^qNn7aQryT|W?Xy99Aw*Hgg+tPNzZE{!zwUi=Az34E zZ9&6|6>7jsb|XKM-K-t@!3hcNs$R5!XttopFRA$v>v{Clb4udYGaL}%3b_Ei7vh6Ow=f!zsXVtmYP0w0S&)NwJ)f*wf z|I0NH$wItd*<4zBHq^*Z)AbgDE${sY&BM&7p6~w~48*&`(ghne5FPfRrdSl2^1s7X z61>mcNoq;gm`@uJpN~)iUnp@;ghrz$Ws1%Q%w*#;4|}m!e$ZWYeQ}g5PjZ2FHL&!Wg-p9>>g8 zba_&9Ycv<&nk@nr3~z74W#q4-f1;^uj4T(M?I*EWD`MUaU`{TO3w{^3I@XZ) z8lId3BZ_j=D^UFW?Hop9inhQCHS!@DLL2#zILLw3~Gv83g&c#4Fx zi;X6Y7*5vvhd11cuxXp9n6M^vEsVgu%w}p>jmR>rJ59^*h%al)>)#~Ot7~S`yP5oX z1qdDjJ^yvLoC+nc_xX6lF$b9)gj|@>nF2FuvtZx;2DXUVI5GE#7+7#@_SB_pJXMWk z!De&5{u`vXl>1Z&u;l11(G4Bdzn3$qNp~g<`BpxPdIGETlHfi^0FXE+;jQEH@JX7!i#A-Rq6fwjDT$tA&&7{!(f z3t=JIR1st$0$#)-JCI~`)um2DaA-{K+Fu=|+lYG4!)jYN^j|!t7OffQzx)o^-~wQh z_ZtdoxJYbHko3^G8AR*DbEK<_3SpwcV*5F@3J{BHkmwtkr42`pLmRwApK@1rhd{xL z-_PH68A?LYRY~^08lKL+qNNtvb6tZJ1&b-M!f^a5#D;tvNrvO?1M`R6V4};ulxqus z(pPGW$=a1KG8hw*cT*ZK02DxJ6CBw1w2=7;|B7M6jwf-jnBLqi4Ei!EW9fdm;)kWR z!1!`{yu3aG;4q#e+cS+7yS%fqLXoOSG0eBj?y%2V^1H_N^J*;E2fa#H>nDimR zG}sbZCsw71K7t4@FTBveHm(n7;`rUgAz;K2JNGfS zD(>ISDq~5O5);^%7Fz`+e2WiZP5;fN+O+)2$DU3bChq)Z= zqQ*2%MMd1j6^$JA=d(Y*QvV$@Kx6cw`1%w2`Wl_eTV=0J#iWd(u)m|y4%j4XGKak( z6nNJjFaQwH_3jJVuDQ#WwGV!<+d4Dh3K-uf%Gp@_lRXl~h#N?^?1Ba6&!-EM+IM)V zuyc&jZn3BDTmmmWoYYEJvrBHYft1TQv6+R6tZKM8Vfx59XjiBInZ)k5tP31AI{16? z{*KsldwWI}hStV>ipB8xr$-c-1Lc6sMJbOD3V zX^x{_Y(53+JFfKp_!SWvk;6uU)yNx>D74CYrlae-%S%#yymq?0m7y1vRdqA%pAbUh zh0<*c;-!wJ>!0yRr`47_^C8piN~ciu5c-YkCbTwN=-)rT_!?;a1-TZqW3M|v379bp zydgyK9YsaG{$g2B8dU)@=}ZxG_zi1zn>QL*X?RwsC1goh0#)^^3&XY2(PGF=PKu3@ z;gfGMx~!y*b&hj>2gNSGPD@ueU*7<4+2!-; z7m?4_p%Vw|8tS9!0x7*DXi>cZ(!;M^SoFkz6M>ie&R*q1hpj;D0R*zE$5Xj;qW5Lj zS19lN`qK09F-grlvZ6vDY4Bxod6)D64(oDwSv^z()V|$tl_dgs3;dU8$LX?ZKuzl0iv!J#I77b^l%R(!oWzQaye6QB& zr)%%($(ut|G`tdXd%j<9m#^GNgJ%|hqM3yN^cl!l^&!AH_igm#b) z=3!{6dnYG1()7e{trI(I1b2^EU8{~|{WEa-Ol>T)`Eh*5_HZ;K@SZgmn6KmrX;Ese z=B<6geW5WyyDEzVh5lNhs2CXybhSsr;bqp7jJ|c7?*t(F@eCUc$_w_Hl4~b{1a}Ha z21010>fBu;6AwvoYFJm8o^v5=vuL!c@3C`6<5jI}l_J_(g57a6>W`O|ry;e!iUv_N zdvPZNqPXSi)y3n-fMVQlC~{_=;=L|u4|Lg>PmWRUc0*m$uWtoY&E_y%ljN+IUQ&%2 zgtV**m246bLGVJFOw`*Azd4#|u63$>KR%J|0#)@PJFax^j!F{c6}k~BJo)Rf>dw*q z1r0)wF%v{N!Ca7|EaPsQul5nJiYl8>LWptTZG0!uX!s_>?Xucqvwl+i`(e*WBk^~z zDEi8x*w~BIi8fa{)V6b^6)O8sk3AaI3R$HOe@aK8Yv!8Cf&Lj?c;PF zyBZMh84a(|RRHprg3skrq^YR|4SI1;CB%Pa|3K1X#_4uzbcsfyZ!fpp6(FbyzIfug zcqX%*%>V=nOhvIGuR8D}(bpZ$-eGXMn7|~bFid^E#-9U-1CZ)(Pt@ExVm!v{ zZZlM<>eQ;W?%yO^6xE?Mh7{Eu+n$@*k}JPCvDHyj0aeNqTgC-M0_OBwddN@!&sIb@ z2dXnU)A4Q~Hu^}|7a-`&4svNy8n}^%S@{nEeRK^SC8-vbMXLbEA?w&{=Uwo-#CB#4 zSW_r-ny(0?wj!!ySX|oADL&41PpmL11$kpEOc^L4-x%6&Bv|gk(!3k0{@6{?UdNe$ zCV|&M7iG+-S?A&}fuYaj^x;Vh3ykD!sy@;a@*hBGfBzU4kCUdYp<{7I$!BnJM%}U+ zw1D)t%QXf7#vMT>%aL&+8C|`_JjBq4$tbb~d=4m@gUs??bl*RBA6wZLT^Oj4yr{84 z7)Vql8->YVMPu+xqIK@&sWU@jIqZq2j|(O8^sPYo?`Om?QaN5_y2XaSL`^O@e{El9 zOp1DBW!k=sQeLGcj3+SGahs2@`3SPDgDd=KnrUi(4kQQ1 zN&DKdGH(=MR9$LpM-A>6O@a@Ai4~#Q%UmCMK2J?>Ai!3)x74HX7IlaxC^1fxU9|1+ zPoeNZdL$63cW`8K|B!7K;%^um1}1tBrdHTe|MbGPa0#&xv?w-UElN ztwB(elikXmKN~E+V9Rk?>MKH{JT~aO@*6c~I3s#$iG(N3?k+^v>h*{uNhALl4lo9$!yqLQWNZMi-LRX(RFea!EF!<9yU;cQwf9 z=^_zmgU?iT&~6POhwC#09KtNI*Bs^@ay&LlVXBo{$CTpX>arrC>&%`QLYCl^dD`Gk z*wfdTQDyfeRmmil=poB%*+W@pu}}0dzEhVkz)hMj)85ySy>4wAcqjRBkpHaOhi)g$tx{mcr&jG0(_JsW zSN2I1tZ6JWXf3vM)~8h;@TyeOL|wOjMY zPKGnSy!#}FWkoAoukxrKAp{{x2y+vg8&GPX!#Fs z-vr3zbW9KeZ)$-qBUA%^w<~B@+VqPl&^MFEk5gtm&PBobK#yPIejk z4|n1YWcHjPYfG%|85{}CUI#q{H6>L}gy2QH@Q}TN`4zK%- zUoDFq|z8rSv38UBaJ>y{`=1k7(X7Z*(BhxJ6q6Xw$Y$2e!B42)2^ z5xM4URsZ-;^uQ*>+&oW0t5l*__gkR(?6J1TDHBJ*fwz+Cw0Mi1(qH^}jU34-EX~Or z0aeH^mfe{N((0JoayEGPGc9W~Uv9N_%*_!kuxGBMv&5Tz`i8zs#IxYg8q~c~p;5FY znR2WeT&?_+JF2V54WC5}0cIqEF zbwgr|T>N=;JOg1Qq1RG8vAl%6`Vr+;VnV>o=V;qvxN!84A35Qjqs%X`*r;ciUf-Q9 zQOJC2=gUI)^t5?9h?(u)QHjfZhYvaE1cgyQkyQzh(L756lcNDp+P~=2pvVpj} zcD7!DM}+D$a5m&mSBHoF`UMf09&{2phMNBI>%j-1fbs60%_8zHx_+ox2~0$y_9^0h zv4CDAyr~2BLNQ}72F^TZps#AmP_~`hZW~rJ9;dF6R0Rx8_p`IVUvLFy0n4QjN0&n! z65jCWDyMzIMFX48dkYY4L{>Gd6&(T5C#*NMOIC7mU{#u%tx(UZM)Yw3hEaga_X&=Q z4c0DOP@Y9ywlcFQ?61LsbwhO>b{60Z+R=oqA+*SjX6Pu%UjeYwIM~R;zt%DjSk4>>a0W z`vF0CL_oJ{NEw^S?cMwg403bd@-*c6yeVJ`LagoP)rkskRojwK-bw#VCp8Z-YbDhm@I;GCH3nw+B zZBZH0g>$F^>KTO`wV07!(?o7VDXTGT7C(}5ph(cq?e5q1g5WSdY#jyz6M8MRycDy5 zhgQ;~aiGAk5IBmz_`HHGt$|89l+j3P_z%*G)G$)9?XJKRyCxL)?e6RPk*E#!zHN`w z%e~XL=NH__U)DI_xo%&a=4e_qwfR&dG|{^6$z77UqWY)l9aVQv*Z1GI*p&4{WLMZx z_@hH_tfdk+PK=34;kzqed+&t!gWbW#D7cBC0Nl;Xsp3OeZCpQz$r%D$8J5bSbatVULn(@P|ecxfG!Nk8l6#UKmad z?!N#yvH4{EChO2rZ*MTmqWl9aA-A)IW8ZLd{*cO!?u&o&!%*mfuJCVrscEJ&BQql* zulpfETOmr)QL|phPQfV`2(E(!GpuTjGmOD>4Ti9#kvl}-YG@{UnXi5UWw1Kif?j2X_#Cy=o5kVAf!=6sWhs1KI@dd{T>y8z^j6#NcO0_! zx;~5Vh4Q*aml)LWrc0t%R;DZ*>W4v(V5#Cv%5wP&4*CJozIuFl-7nv^tH0p|19-sa zH0&B1X{O90I;d`m2dDuiJt813L>|pUY^!E`5cY@rrepdvf=uDqJt9N7#HfJva;HQ- zhrsym0V(XC(IsUT!yCEaxf9P*cfG*knB@;9r$*{L)yVpoQE3o?SHMAHHBQ6nr3M`3Z04?j>k^o7BEye~2fr{X(;N~7>N{26fIfw~L^v(R{> z;n^$sem^M!gEu|yP*t&NysAo7VK~U>v`Rp6Sr64dY90oSH-^T8jZNS?g?SqZ$N>ku z*WCqYHGe=gMVekP+o9?+VfM#W370M;3Vc^18m>E#4k}cp#5APP2PQ zsdSW-P#<;I)f1CwS*PyRsWw0g`o8yNhr-`*=vcc~O2Pr*Q-zWpg@zbJC~7#aN|J6{ zQZ_auLOG&~04Q7q8PNayhCN~9oG#_zgr`7w3G|yIDlRN3KJWAet2P@+v|{F# zJS6H!2`(Opk>9F7y#}*7FPblz)tUBMJtH7`3eF*1B;?FG#kciV5^A=TFdQJB145}b7)GbXOSa$RPHlIt`k`D?Ze89LgIXN-d`Mj zp4?7AB<*tIVH?VE#WEzpnC0UW>d`^94AI_%_xBsF+VShNRpnnVPXLQgxMPI)@ZX(iP&zb= zu52+%ldxUu^hd|Do7vUud}g=TpZ%6^KwlL`9C$k$cr zvFw9ijlGQm^rh8E{pwY4u^S8ZonYy3eU?EaoiM*zk54{J0MP4N* z)o2TQH~{b1c`rdU zB!Lkmq2By;P<#T735`-(cV2&%={eT?2a1%XKCj3Fa zEHBWnw35k;exbG0BifauUyYF#`N{Ai!Qa0_q>+-8&fj;}2br6(9b%!EsU4F4LKH?S z7+I)W2Gj)59Wc~SkEghVWr<=bWI<-~o!av($k_qVjo2o0HfuQOZ85~*DX8D?<`FAa zqJL`3!*9Es*+LFhJxML~Zk-K7VOI z3eIrEL?~iXZhp=qp;m+MPQcy>tL;oWABTwhE#s0n;F_g@RZm*VU?HE@ zf3M;M0=?CB9uL4yvrzauBT=d@0qPg4mqsxlcYX(H)%v@$cPfH%dGjo?h+CO5!km4A z1R5MTnFkaWA*4*N^qW9~R^!WJdqnDZ9nin^f%*wa1UbB1)DvlLueI5j^skP`i+DOw z=^gLh@_tl)Pt3?0ul$Fp-Q9#Ugd$zv`3W`$_xB$QiAFC)oT-MKC+PG^PGEEd@ zy`_d7As23Tgnwdk9o5wo_bs6=J^8PyKN@nm(`LCPT>~8vf-P&xSL@ zJJh?vd8=<6g_HcI6**cJVIYYY&xfQq%DT(45@gU;K;lohvm6rEpP!ByxsQ`1@pRxr zDU=u<#K9>g& z(38@^EC&M0<@C+GBK1M`1*IAdFHj`hyb*k%^vVGpIVfHYgHYyTdU^`NRbERGi}=PY zVP~rDjPvd2LC&z|uo-GgNd-F!FPp;@FRZ3`gGYBq54n+aD40{C`q1wnyuAAD*`?Xz zKk{4hG2P>zmaq2jU@kc;%pDYPHF8}N{4yf)lsh6fVD1*lbbYRT(LUs*kJNl7hAt;X zHYncsF?|$EL5*~e5SD@&kPA1lA2dc4n{O98dszw9sA_vVoRU>m6>7cx@S{s2*Q$_~ zlMPZ-5+H28OWRDAB1%OlrwI8U$v=L8jN2vsqZ$*9 z4*RQx$6p9J*!_<7uO3{ZQkTG-ll}hwH`%BvBr*qnE$?+{zq*$biS6Lca!}Ix91>$H z^(h@;Rs$JqkvYU(N)e93(gDJj^$=K62n%iWm|vgvYaWjI6*WBJN$W(!+qMfqH-`Fu zJ%U)uU!A6k(;G!ELvKS_-Hd5TZ{^tl)_S)U9+?ny7eJfkw~aJKw=$>SNhEn%y0umw zjLnp z^R|Cj9m5UUPzHxQJ;!N=cR}XA$AM`CPGfGW=+Gvz)}{{a@1%Pgd^&U@bVhSj5y&Ru zJDeslq@P6>2JKfEjk{k5lVA|>b*dtrjPDfX9Sr(#uaOXnr7|1+eb1eEhX60{?~t+5 zI|DcJo=Ip5nXc9l>;Q$?)HD1~Uxg&cpr`_?@piYpBtAmiN{^0_$o?jU;0#aB5Nv7| zI=kyLWK6tq1wXW(1YH(8FP1@TK$xlae~F9bf54hS$U3sbq>C5tHhyF4e>teTU!u1C z`=KFBIcAXlSJbMy6h*jjQ5Zxx4eptp&{)euBqG!uO8J!liUI^4WmQD$7GM@~7PQT0 zm>Jc^y&+Zzh~2#}jPo&;ckR2uWO6z4wSQqinR^_L8nMS@E@c^6CHZachZ(|xf#oOc zSH;zTy+-vPwg>?okRh@wSvq+#ND@+skEasB{v+>iN`-Bf%)9i`W*`qF%UJ^@)js&+ zbovRq&#S{DWall3J61plg8}ap<%SASkj0}rhVseh_mIh8BJlfE<&+uTv*ZIDrf+n#O zrxDOH7E8wrlx|?FomzJrVd-UtwjY3fDNwbbW|16L$rRU(#6h>ALvs_;toeX0tz<|> zrbx{hPC(I~&2OjYC?X(e4nj$;jLP2#w2547Zr|>=7_vKP1}*6)K9HC5(FUl*p1Uq` zc$3I20ia!)_$$b9FV>H!V&!ugxx?NxYQInHU27-e^VoJS{+tKkQawV7;{N5u1v`YF zLk$i4TeA)ogpYcjYd0=)wpt~me>(w&3{OLyyr2YixqJPw+Apb5P6IUta%5GzQTy;> zFhgXBcVzyC{19r$`Ul5w=aL;f(6A3Z4k6GU&{+T<4F{Or>2-_A$|A$m)Z;S7J23Iz z%x8bN1WXWP*3vNJgnz}Xm0eTsbfu;W*XRkb;{FvV)c6Pk+<}_Qhu6?>B7c(UxGO*n zj38V_NpS)>f6+ilw~VQTd`WNx`Cv}TW)NjIyCW$TEU=owdMsTPnVAdU1`&HHP{vf_ zdO(JXI=&DA7NWiJri~RSW=ENvl{ijn3^tpsXES+p3px1@utgObt~}kNgp2-#V!mXR z2qPee=9f><|G!7u&LDVE;V z8r?b}GOI_{Cwh|mx3kYa{HS}wqTNrTCUxx!N3QNJi9iB|4rSru8j@6CM_;Fxr|1YB zAsuNNbPR@w{gT2MBbRsW(NyAm!_JtXnuhNyR8qWhO9SV2%alN#!n_$(AF-kThSYl} z!YnV%gJ2O=&-p{b3Mn+)XvCYB;3Ik43nRPJ-hZ!$M5eJK?QI+hmBA5oiOHR+D zWURxR)RtQ$I(e)z^j%DeNZ4)P!!&aIO1mG_4p^H(sYS$EWm(~;OKPqE1hL!wnj@G_ zIwn~|Hgm=kSm-~%=HAG_yDhtS%<}J%`qgF+`QC_O;-%TjSKPu5Shb2l)5P+~!tkhV zYqsVFuyo|>kZU4SpjN#K2n*L}Kn><%$74bcE@#&b+6f?<>AT zGPgAOFr&KXX#n@%(d=p)(uRfUB>)Fh`%nLXrULzRx({__Y06cJ*!TKlrIHJ?ZnKFY zCGG|#*EZLtt)&x{Y;lC*t~wq?mMfg4Z$xFNcC4~rVT*gBF|AWiWJp0ZCdIIu~1(j@?pYSo` zZe-&tz(SSt-dm0hk9RB=n$PUvVt@GWs`nRaRX`|bX%iBq2yVt^m37^jTz(?js0$EC zp?nmyAzDBB&(>K~hcz@v0)`F7M4q~Rj2A#H_AW(jRejraqJ_{n^!V%9DUOMUA~|`Y zgIoh^K!rk#K+%KJdU!?i63LF_C!DWc_zlKx^&LuYes5713f-Gccm~y^mLFnksGUay z1-8vmT{stk8?+jno}Eu{_b*Q-H2!;Mz zi1c(bN}!Z&La^g%f_`x1xkEq9fjqx;7liv{YWxLng#%3f$g#la^JEL0qQXE2x91Uirsc*^cwY~<<46pC1C`zHcpPhsV7rvQ7vJL9^` z4s#3{E&+Mo`z3AZ4XG}o_7B-U;e2n^gRcm`d6p~s=Q9+y{YGFsKGNZmA+{D#FzKZn zkE}hqfOsG*AK;A65sI`iG#=GJtZB0~ddu;N?k}ip)f_mPOOc&2j`M3EFcrAr^y=nv z>dlsTIt?t39bCpO^#!QdQgC=O-*Vu7(j0IrgvW#RpV!;netA&dLzC@*FZl@S53m7$ zCq9AAZ>RiZ>|lxgy(M+dTEQ%r%4pq_Yew(Xb}c2&)j9GbD4RLBKAm1P#14w8QYgHM z-alK)19+SW4MS#>%iXB2q(jt&?3`T#fDOvQv}Y3?={gSUzy#(Vxh%&#alP+Q#kt{Z z2qn+M!bG!hMSZej{SPvUL;}G|ij=Kd^4-JBy4FI|b|_FRdi<^uKtO!;8ZSiY>KdK=Ij0g;Hh9_6SZr3S7n{a!RJHalXU&9G=>zB)kOHr%36=1p z$R(-rNte+;qFYWr5!u@8#{?T+6xycR+aeBO+4XR4bITFzqJi0uDsjC`yD5ge==K@N`IVCCakQk<{Y2lHFHQ4&AsPj!{Y>7M3|1tXImMA|I2& z#=Q~MrjQ7tp5$=@Xfl(nnN<2m+kxuu3J-w5`m*{OvVpKVpS5)bUopc+j{xJ z(hWETyz2iO=Dq_c23ZM+<6cLo=a`BUUcvJ0ZjON7~t;Y<1Q%*Is5c z?3I@aXL_GN_VJmU$rHJ(j475>xeN0d^M*BiyE(vg;YQw38Ck2nSmhBQtedOq%ayia zth%qnNR4`0O3yuFv*hi19iD{#QNskm2R2t z5P@Te()cZ6AM>C*DmzUJ8l&v9&_AC#S*m-$bz9QIW+;zUUBR?cm z#}~FXF&$ek?OI57%#8f1hWak>i%!4TTS4XTebi%Vh+!9rLV-6^IVhJe1+2Ud*ye&p|q|Gm@0S@_kLrO<%g9Ahb zE-XU7kE?HQ-*yp?xozIuWGA9LWye&{+^-B47JmPyNd>&_fq$-fiA ze7DuJpIJzMK?BC9&FGm*wyv2?oG4_MQ`l7qZ*do0Ii#`rf6p7KBB^2#jv9$sSGpw$ z2le4L&Qfp7fMP``ep~H&Yq4@^&Yf%wqC;b9ul4Fz9^m73mQnsD4Zca_qn{C7Cro{;LxJXJ3HYaYVe<183(qB^On9yvxb1P+FQVu8~)#mJJK4`^u z`0)+=jAlm7CtLlWA$Uum(6XiL?e=Tn5YzR;fRNyO6~quBOb}IdrL4LTdI&Uj(&Nwx zF{!5=W%SvY#<)4f@L)d#{tgs5ENKu?SR~4NOZ83>zA@5BE1YoytLpgf{G4omWt^hP zF;MMcw?zQ#wd&n%*AK`*-0sNYJ)nA$*doj?!sjXf>aA-#Fg;`&$qu>u6o^~x zM~8dTVJHAGcOWVMYT)2XZOV-v49*zt=GhhCiU8v-7nG&J|9j#kzI0JVnxmx=ozoq2 zYCy&xQ(00jdjER7!jV)$OWq*GSm@2N0F@Ii71W?#*cp)=Wtv#LFMO1|00r6p^*5|s z16*$`up3W`(Lmw~_XHNY(3Qm9Cd2F9mo;5&2rojd5CZtUb%z&(r;v18?T>&NfjJY6 zNd#Do&G4WTd$yI~4itO1N9+guk^yrap@w5_WK(Q|J5T&b{}147|<6^ zi35M|q7;ImsRP6k8!A-AO4pWd{!Eb$!WJ_|>k6PPrZ$K+!r!P|#lSGJy#=RP){|nw z4)^;XH%PN1>mj{7ShoGmsmc|6W!k(t1gFw-kOh>~9ZFw-N)FiuE@r-+f{x$(6cgp* z{mk52{mQ`{0T>VRlJ&=u@v8{bmjTYof+bqDuxX)uLVo2`=SbF>jRGgH2uiq4Jm(}F z789oHCpf3}GMB8d!{dgeh{sI;jjZh0W`N<756~@$;NpLM@SDi`AkTWdaw`r?2BmNr zT?u>3CCUK+1w;0g4+G&W{IgS3S%ii?#b6k}-;i~LvaMcDI zP-Kh7H0Fvw;)Eb{{q|}7{Y@%YyYZa29zLRuFKJ=KVCLCI>H^80$7}W7jhHXFTg?84^6qZD>izN zdf!9UEc;HUtme@mbdqHG6Xboq^i^&Lz7>;txU76T;b9ZX8xfY2HCkSNH|@L5g0oj6 zANJ)aHSuY#ao^!;qQYkT0=p2PhR@~fJ zj*Kx^)0m7#Wx-F~*iY$hR5>hX@;*2COi`cOLNu3h@^^&NgVyn?DI0B;?M0l4G z;e-~X)=T(+f<+#AW&hvua&`Y#p+Z{3gsnVX!7v%JAQdPJ5osMq-}MltR-*)5v>VYV z@f$NR7^vJv%OM|=&}hjJ8S*a;zo0+}Q4Im%X7!PSp;;wI0P0|>^xr}~!aZ=zcJO*p zwRYn~;+S~tkce2?z9UZ4@XG0(pxBQt=;ruSUYOaZhWdx}Jz2Dyf1e0pd|xth zB+FF6nxZT5M2GjttwA&NWl-)eL+GTxFWGZ&;WR1D{7fVyAEgM=NQMOlC^Unq%D>)k z0CjW1Y+AeX zJkJa*Aw9^d91Lg+YQ_5YLIHi)$!i!1R1yCQYnd7{EWd4HLz(e>DT=-tP`2~-gnD_O zo?QZ*mfJ)be<9aUB!>&qNQqdqHug~V zsq>^YnCXvWGAm~LtWp#Kf&<@(zQN-M4jO2X<*`G?H?1QLfD8~@CemSwB!>`)mr`tX z?Q-fS%yR^TQ1F*-xBcqGSC(u5FS$rT#YU@S*_vWy&UQfKt7&vHFJYtgHL2f-2oX(Gi!?Ld|Iw9ifpYTQb98QRfO# z-ygEH4zZdg+lsi>8L(HnR?YAwj=kX@p}AxGs`Kt|fa3jMU(L=Rx6)iC2+GVdIQO0C z;ox~o8xD^cElkqsm9}V?teq2z$^e=&BOt|J7ol-60@ABS9(Cs$#nU%CPTlEJ*$=3^ z(c`$Pn27}arvhJv9cO$|S;uaC_Qw?clI|jJmCuqB(cu)a^%y|XJZk0Dl(Wf$O#8;# z0mj5h;|uibyx%|k$XpGr;ob`V+ZSZ8J^|w@uW#z5U>|^{(k^KxtCTDM98DR>v2+|_ z%@3&JtI(4a$R(4P2&)l%o~m*-*b>UXu8B8|_(u_R$d1|zLiTJp>Uw!Azei6bB5LGG zg^-7RX>j1Y(Vo^OM^C%MkmRc>WTlpZkz3vZMY}+TX66#s@{95eBcx8m*4D6g>-e2f zfeE(>s63=_i;^0+#x`pFJ?U^Au&!*gjk!n<#=}FtCxM?pE_fYHq03tk_KIK_a7V<% zaehdy(yK5cb|gx}uF#U(NgN)pUlK0tNjk28*Eo7FQK4hUMXx zZ^fRK>3W6;GI9vqIyWnR9oB7Rh##m{o{<2VKDA-Y8B+0r+DX!pl5ML@kf`-{bdc2d z*4~$Fj3KT>{9##z?CiHhA_{@G7KT7sPLe*~GN^U5qKg&ViYw))d(^X=>aH|?FVF2} z{j!?E{B6pcXFCXJ3a1lkI380*_d%mHTEi&A8N4*#Y}Wg6PM^v&X~e}iA9_n(;|^zB*5&kgK9NSU#fW9YQyZX00Y^|i z<>VwE4(V_h0*C`g3Tecn4Fzt+F+C@(et-BOEJ6yFP=aC-aagm6bnCQfxc_(W;f6Q) zP>Y1NG`Z8O-oZkmtPSOL;R*`}6^(*TUAOhI={WX}2GPfzbc~GUm~rAu;pWEXRXuGV ztifvbdJ$De_2%wD0_RrRNDI{55|`8fb?f`-4y3Au(&vW`vyhpQ*L=+=h6OsyMd%en zUdklcbqtsxiU}{^YqQhNE#pub^&o3)uEf}QEEP;a$-v589;2h!XRirl56L5m%=M90Kr=MsOUs-#^|(bMu~advk)L(~=mDr8jX=1ojkr20;7^ceF( zMn(!J2s%DNAmuGU-cW07v-Bk8o2r%O5}BWChtGl-}JJEh;ERYBRP$$6MxdSS47s$eXPxHp)$7|bOX zS2I|^b+`e-CjlcSV~5yCJPWIOizG_qi3SdGtS52$#mR~2`SO|SSz_1XjZDKP_}tCzd=ii2x`z8`x(Jj zn9gpbQp_Lrs>8q$E@HO05r_CRix15)_T1m?QcgoI0jUQUXUFq1g5%&&h}v((cc6>) zC3XE!8eM-^r1h~?=XQPu>*WlPY$E}BOi;Oka&hfWlv!yyoXRt(!fqe*r-DPm2@$&a zCjU96;pV*-%Ooy6a7v%u7%2&J(I9P z3U271&b|UjvWzN{ye%I&`Gk=rKpth6+-WkB#wug`y8CgEqAEXD`6?5^lVJf|9y?GN z7XnXP=(x!9W97_pXd1wHoT2%e7pk^%J4Dl+vs-@)HBBr}Ro}E;H zsz;s$fwV?9)WTqmQ1np%#`QkUkQyJa1}#8ADx4T4BIlxYmuI)ox;$jRBSCtY!?;9Z zCDU|fZmPO^H|Ut^->OHEZM8l+Xj=1vo?_vM_Zy>$epe5C3=4elM2Bn?whTpguwwGZ z0D#FXb;(p6dG1|5c7ACtHJyA@qla+`IJnXf4krS<=!GtTk#a#CzflFxk$CV|9*+S6VVX$B{gVV04&|0nd0L_7(abN&5TbUN17Pn zQrV(tcw&3B9mr}dfVIm+6Ow*jf{f_}6-b~m3%88u4jYN7pyU~#B#ahjfOHhQkeR*2 zwhy)l<^6+GCh5xl79&2q0xcxIq_YW-Dj~K|p$RoW2fIrC42pn|J_Pe*2y8Z#$s<-XK{TsE6UqzdR_q!7-2JkJge2lg*uOv~cEz?eRih-FYZ2jo; z?fLn4WR%Ezo1*D2W5h9U&pxpR!lJ$Y*u%f`Jt(5CQ=~gQD!QHRR6bcyOoQtgcu-sg zhaPSQ*PgBp5Bv2Caz!vWPUJMiI>>*&a%6%o)n+%)+}SQbQjHeOb0Vd78Z7aa60J6W zKAV+e#pn`N1pejA@ay`KwBP=AcLgq}HQl%W>P8)F!W(Jl7BUK_ z6yt3@-$@ob2~KzWG4F%76V=3SxV;2)PO8;LNaiAu>TX;W?Yd*2zQr@s`vT@CGtuS4 z{&o2`&Wkj?Ra3rk$2ZJ({cs$U?2!v(7r^HgIP4|2lS7V~Vep2h4A9=*&?RgQp!Yw- zlWj0fJV?yKABQrRR`ev>V&epF36B#0#am?bJfb(h4)rpjPFIa!&-LgIO-C0e)2Uey zXUWlHddCtlhC0JRm6L^N*t~N;gt;7hE+ZglDeA)F$qW8v4W!upMq=mHfMd_UV9u_V z4|3hOLl9@XyPe}HIJHQhfYuMCQ>aQrQYJ3X^y?~qY$g0ZS5(%MaF83#QB^)>5Eaw8 z*ph>Y`0x_%TD&|RH8~4_Vclu~5kh%ebMg2ZVoo_S%DaUJIJoQCVUG~xmB^q=y+>2v zTSFET?5NLFR{90igWveXT5@N1O?inI(JUbB20nBb0Y%*#x?Q6U;vy+IW;07kX8nd> zig$-ep6K%I9Q%yG?exT?CQMKnffd+FG)7>=+DQ_mn3_`-y|9rpy>5!SPyBD_c++0)NqUwUfk#LBHi^&c+ zsEN__&Z!6p;SDr;lc?P|f z!lrqHAeeqNjuOUyU@q+eEcM0Rv5_%`{0+o3EQpq$o{D2#PacS45U+jR?>0INd2KY2 zDs|MNp~`Z|m4=fXYQ-(ktiFtjaDiu{zBCf_4{tM@|GEl`6~=5F5FN01BH<+*@d2gj z$bpwaC$mStO?)uLWvI#SC6#tf&<^@$W2LGwPAv7I)na^@O~6a|iq9Cs=-(6$?Yo(1SJ1oSM2wAwDJx zIH3_|?Bo3Y7X?G@n)y)9R2b z*yNO8#E@j~Db`Vk*FE~O^6Jn4ibXlS&-j*IMd@p1S0p$DDxbVKB%{xnei!eC>&FN{ zeTC|E?Xh$BUW5a*5pCTACmqH_0uLe}KQ_;wu4@RJp5yWg-MK{;<7koJzVJ5?=4Q~U z_8ajVy5r;ur2sg19Io${W!9;(5O*_Zlx`%S7Lu_b_KHWGce9f$7%)^;`?h+owhOaI zNovd(`fDwTdt73;x$y5`*jRFr`SK@}eb8xz16&RG1WT3PmqOj7aa?~|~w$|51&_D^A2 z?AXid%Q~iPN?m0FSIwv|_aTxX>u!Swe2v1aMXall;mbaSFHJWfF9Wft^IIb&O3xuZx_l;V(Gs=r2%&6EU{Qy__0257|*3#PR#5tobKq3s>r9J zs-Ehs%&tr&S#Ssp5SV|rykrJD$p7zx1%UvO7gqx?N-Ib(e@}vdfP*N>Lc{zA0ruZ8 zrT=4NjDLv#x3N4xL0UpwRgFnr;!%EjN=}xMX#r7|k#2T+u1SSunSKAnnMp>TL0W#n ztqKA*^Bi{sUyBaNgN1QiO2>0{hLxILiuIeu^OW+^>cRQm8T7x#p%PrADe{i)(yAtcn02VqsY`C znFfv}NknG^cxL#ym?DNFAAi4NrP#UWKIKee|7T^k{FIkx|IL>W^#8^P-v7pkr>VK4 ztCfTO|HFz~!i+-54~(!m5XiFmO=3JZ%^ecX6HpGS(er3m<0u~;X~K{YQZ+wDO$sJo z5aLNsW~(o&3pr}toJuxA83}*{_rTmbR^k~GRq=|0dy9{vgDJjz#HNn7#!?( zJG%M!QW@&02yLC=2?p}9$CA%uTG%Er#z8A>sTQ7tV55+~Q&G3kUs?RicXfYn(*$QS zMg)4230C$cFnls!B0O{wb88hZYvcW1<8(JDj*2s%r#3Gnc zwAD%k?zdiJ<@E<^eU})=vp3DR=4ouaL=jsSKb1vw1zmT@ZeHH#I2ISwUYjfh+xFIM z_b-HXzQXSCl4l%t>$E9f^8p7=zGHg>Gl);VIwfQjUXK6ps8zOL*>5o6m2s{Vg=T@a z5I$>T5}ep$TL-o7Tz4b{s8}R5Dn(W^v~!eFrw9hy#}LXa3<;S!V<2rN@63gjQ$$^K z*ayqBQ^Fr>q2R5^q;Z-+EatikhO?on$n>NU@xFkLdJdq&(}@oU1FECQN#E=R12( zSB}=2EG4QrItIfW&#QgW(qqSW$mmKHO^ zR5z*VJ2!;bqhy;8cop-EaMvMy@px%@kqg-mms~T_x1Er@XOg<(s>8dPiDzeGt|1k# zo7I?9G-f1`Tj-Zua1d-4sE-s@??gu7hx-M%uXBAe9so#^@Z5nd8bC!JiXQR~HZi^@ z4pdy=z*WFADRoY~>oHKC-GXkWab36d-Z{2XzLQG6On0bW;FeL8U6NeOIHRf^Q=up; zAF=)?p1$PodMv#Jv+VpM5}!-#tJyl$%(f6bDBo5qI=yDXSf~;f+Y0F2b_UvUyEw7f zN-M@_dAJ?Qo&=eXphW;~U*~1#s@Gm9KQj6(wCOYCl+wXCk@VYM8o7>Wl< zp}RJ^)XA~593iGHsU!k8QNT$ApvYsLqR@j&63qxgFif*eyswqqVp&Axu$;lCVR6p3 zQ;MBr?wa>;2bzM{5kjzXU}VLfmw zD0-=R7@r{rK7)}VhzH3>$I#~b(MK!pV(&X@*y;P`2H;0C(E5VcVjT*{d6+MmV0tkb z2FQ+*_kZn2U%lo59zF#9h=U#+{-d3Ov`rMU;2;hDEb+)p% z{O_GlP2K@t9Yb)=)W_B%naAoe>^hwyEPhNuZmZPL3E}rV9YBFZ9#f3ID1Jv;Ac?>H zrTq@P(P_<3-23?0+Nw7FGXX+z|%SS+(<3i$f*!RY8V zNHIyH(oP$}1{wLO9a=kYyRjW@3?=IwyP$Eq6yqg#?G8E=o6Uj^yPzZWspstL64#EUXU5zFidbMvU5(9U=v1%B(i?*4SzXNA&5XBakOt9fq z@iz4yw<}jK^3|)yvzgy;p>=%>-{N}iR8y-0jfZ+x(Pr+g?`z60%c$^lI$P{oP zk;HEJiN%VvLZ9f~z;-L}AD)d_QAg$tqr6iLsf`;Ya*7l@;KG^l3?hjj0pr(GhVvhs zmPl^|l-c-?kD|XP1jRm)^NaJSJj2Z@I>tQUU}wXj74ha!KXF4A&AlUUNhg$MriJ-S zqnE%ffqVTqq+g0?W9NNLU!lY3K-UTCNZL8GI~>zJ@_Xe2$pU)kz~xOMG(D&RnheFg3@OncTv3-Md zxN|>{9rj&z1G^8aRMO=c30srZ={l}d8O*}(D~*pUuNB^lMAQQyqHGfr?T*0?jKABa zldQpMH#vnC_|$y+t#uEKIH8!RNdE=p+h%DP)s* z?fX5}{FRJc!JGNBIahRL{DvLvGx8Z(J&xJ1qPHv8A_w;yF%%)pu`*sdJQJe&&(Su? zI;m$ym&>=L`UmuX^!|KOkGB4w-itx~-}L@}a{=YdJfEiUuD)>VCq}<54}9CyGB}#U`W$ zzB~+8q(mu}njFnE4dXnNI(oQvAz^m=lI^G?yUsL@u|zd4`3#QvsD?#z7VBm#tA(xI zD3?Vnr>QP`E4!)BVyu%KAItCY&ZCaiC}~S7{Y+Q$#W-mXD#6Srv&9%`2P#-Ov@8nN zM)u!BrOYY*av$u{7HokNKd3@75iHn3CzPm$G7&7!3KGGkl% zT?s4)?lULNf?=2Bcox9eS$0BG`PaoTPvDV{VvKU#8(k!|sW5XM+@zShf4@DD`y5OP6C~rrXzp&9!E~5N_OEY6oNg!8c>oscKsL`JPyQ8vhCnt1~Vt zlS^mqNZ(4Yj@t~l{kB!Z!|(VN9liU2TyoOgX5OLrCVxX_C?2?LG&XZh3tf<1IaVqcf0R!pB`JrQ{pt<^lIHtLI9hst4SQlSM zbN4R>FOi=SViMdb#Oty6%dz;|vG|Lz_|fx|>iWkuu4Rm_8Z)lxEA1#I=!7x3vbhuH z3LetVbrn_1`fPl(;DB;<3{?+$$)8(k+Nwf(>S<@Wh7yd|9DZI?bowcDRa!|U%STnt z>7=1?v~C&Rqh!t8uIU;SmhJR50;Q`b48(aH=tXX-n(3wqol*TSASSEl`=Crt6M{fqntE3TUkW8 zc;IH_S}S%ScL-wxCyZF*_-TZi%qc zQH9lb$7El0c^-{?=+1q58if6w!XC+<#{WyzWwAvkUiruv2}^y-#g|wx3mNtTF zm(6A@fuxX#nb&6Oa;}J^gn_q0RS1J>etwRG1_c5yZdOVTpWI0kwT0a5xT&9nc)I2J zsLV{3US@W=B1gGE%4x1p<9uIIxzTd5?~X)BnEbMa+I`71r!G|!ag+QT?qIaDX73mf|s0f*1<7Z zQqOp@uCl87akkoI(E=SO`&?2t#Foq{J=r*gmhs=TI#QSF+UlL5i7K^&_^DKIh8bO%)(2_om_(EQ zbtb=T4AQ33u4}4R)x7DexE%0QPac-l?$0a96wEQjXWu!^XRFM8eGHgZPah`Lbr5pkB<)-k(RIcSh^CqM`4Md&TpRYYGYr*2y{4(fENQlJ~6WLiQt~Z=sk4 zp$@cSUqaBw98me@;KE}`g%s3}O4eJ*&^2!uMCLCz9_vx-DN#>S6v-k< zwNJMWVccFSl9omTt(^0yHS8coW$I8e(; z5>t$8V9V$lZc>ts#ogU5sYTiwls29L)zi~akuhB!ZbnFFOVdzX)-^NHStJlqI<9d) zQ2|NeXL7>Tg%=52wybvdTKwwb9eblNA;g|=Zw8m@9)}u3AH5YK2NFC>5H4}3Ig6X+(yaNo*$w1iu$DU%!kHtUk;Ms` z_@)Z?TK2jGoVAeA=YPN9sS0<^#KkGgq#%@N5CuOSGxS%%H{sj^=`OD5R*0d5>~|z6 zvSmEzx_(k9ZAhAfq!Ir_;HV3Uy)-)F3mrB1xg+0)#9lWPX9JoRQ8``VOq~X)=C0(V z+EE~bndVdJS!r9OB6?z+(=m&sZ3$oBqF;Q0jLRW8 zpQ4D>YDAk`?rDAtgS@u;0O23YRuOyDk+VUqVm^VG-h&3`;`Z}7SX@Er{7G0`QD#?4 z$bS2@=kSV4B6-E)e2Ahf2&2XXv11sSfg6e8Oj45EaziWo{XQh<9{rfdc#7WoA?Yf{ zYk{i>T(-=a*OEVKm%d72j*sL=>0I)4vqWLQr-OrY6^j^Dj8fQ*CZmfiKS}+*4~S18e56R~P5k zY|t;mpHR#2Mw-Zmnr23t ziiVmM{dEStOg2WE4u+Zu{dEwAnsP>(#cfj<>nX?hsYb4XL@1(^%`fm1>@r1|48ceZ znTzVUW}>`K_FBl84d`?SIC}DDv2<@pRSR%La)EfcAhI-Z`XRE$w1j`s4*>00bN$X= z5OpQ|1ZAvnKAJdv{OX`)0j~S5tm$MEv%4!1XpIf%!H#tFu*;U-2V6|w&r^&wvKta7 zf^;D{ue1TBZ26O}bd+i|J9JL|rhU}k+mz|NY8p$K5~6KsG7h2{*RQmbivBKLGY)lm z{uLqxu{?4w3}Y$+xz%G0r& zIA#{Pv;D}^vD}%=nbMq@9+_E2EcI+D7A$jY>A%qV?wT4B?5-3h zXO_7pP_*jdpI%{~xFM+U!A67-bsjNFygD6nS96Uyke9Me%Wsy6e3qJlZUo`}Ehqs9 zTQ5%<`w1|qZULyCQ=Jw|2?69T!d)KT&p`Pi>mh) z8rn%61JO`k)fP<{Xi0TjRW|5C4G7e|6K()y?w5cxPCrUi%axI7zZzjSv=*s@!0R3k{tL>!_54kU)pzDK`;JohHCjb1d4U z0wRe?O`wX^za&E|P~CpOTZWgfncg2W>C98BhisYJatD1v<*D9*IZKzbKR3B^*ZB)` zSE+SKchcTdmvl@CsULc>j&Dz%e}J_U9|R$SHCHNHt3uf4E-P<7F# z*}Lnmc{{F(lEsmok(!K;t6pRElN?2M3mh-eCOFz^@E?qE%T`J06JnQ)b;+I-su zXsYnp2Z0_x_#LGYHUr`-P$sTC5TYNRaWTeZOz9ebwS($CH}vl&m{k70=O^B@QBCOI zKna6v=4A|3=0R3z(AvsW7*yFzWeT>{L+EIhW*mT{8I$n_F_cH%wEo@}i`NIw`3>p| zQXj&n2da1=!xL1!@3%ScA8W(mk~87zg+XEafG(7>G!gR+?K!-6EUN0LmT4b#oQG14 zA8U>3u8d6ClA71;xAP?QsQ?_agXbNW3>#U<7o?_4-8gI^pFF{L0Gm%iT1&aNCpp@I zSZD|JK9D$6_gy;LWaPpKh*U8F1;=G z(=y${d^_|Z!q^sI3Ycm{^=-ez7tYIkZx5(&*io~lKd5j-#=Yzt+T1|f8|GK!o)P~S zR@Z^YI&|My&>J&B(3um%ckt4kW;YnK5hP)%;FB++9PgYDVQ~Jmx0?K;M`SxjmmR{) zyK}`xo;_T2D2#X*%?N^Bs^fXN7D*7%^KTgnxw0`ol4fiX(aRt6qpdj2z+f!Vc@tP2 z-Qd;u!WL>EA&kx#36NS;^iqEQleyE=j2?kQ`=HDwr$0uneWS5yFlD zAWI2E4=&6@LaZg%W^5d(NmrPsLTyF}=1MD+CkG-0r%TWO`X`4)WXvz5Y{6+J2u_!s zw?J#whOpxTOi=?}V08c}%^CluAU!YfPc9P7l~9O@+H4YhN(O|7*%S%Zz=OCxnV$d>3K_|PYiP}w5O$ORUGe!k zYM>3w<|YX+00yxZ6Ci8F3gkv<#)sWxgs=k#Y)Q@AQv%!2o8igH`N)Tu2F;C6AJ|u=8;gFsbMx#AZqgqIsXAvfxsOYoi?lx_tZi{a^M_F zGdjezcJK=Uz$d6M4=b7dMnCYBMp+W&*_Z9>n$8KeqlYS9W17kQI0a zyU7eui@FIDXb(mTph;w+ki)e8*YiiAAMi)l60wd=aC-k4>9wz#QFlaTUD!ZG|B`Fx zFKZP}(geTk{HeS{nn*Adi%66M6v`To5t?%b9e@KWqNo@`X{1&r?P1{$*Fcp8R5~$% zZ92Xo!eZHZ-go)i<&m9_<+O^g3ZdX~gZ;eD7fhWAsztn~`g!7zZ_E#y`96`qa37k$ zUL>}_1)Z(FtTwoEd*>w47w z(lM;m(W_GI!=k@x1#KO8ZV>Yb2JJE`F~IMIUiC~^naYk|u}>$yVcuJ#-rJ!kUZWsB zNvjwC?Kgn3^At>4gY`}HVJ?#Rb&q1ebNm+xFV)~ngO}7^eP~zoz*!yy7LzIipM<&T zG3o|`M3Cl(w`$=0z4BAgnYbYjB~(AX2}v%d=m8=t!Y)S1z8@=|5Zckc3oFrVRMZ`E z64G7_!ke~S*drObvRM&E2N2Z@ht|T>CMm&gM15VG$0<28A*&cC0|vVei_)_|D>NYn zPJq1X&cTE?ADuo8*eDZ)U7a>yl6Q!LpGM$R%_h5DjuE+qS+QQqfRdA@;?(v_!dBTH zTQ{w1gzE&hQJ^X){( z7e_34#3O0MBW2_@Y2;N^hVKXM&v=zZ^3-G`Q9RHIEX368_&`a5F!Mt#B|h)1*Ug*u z`^~!T0QVA=ZbRDzlTrc&%XIj19nc+=H>}Ge*BxVZC^(IB zYZ~>2GBqp-fd7o2v(v=4=ido1mMr(I*d&_^xQ7M(n;IAZYB!QGFPa-dagQm7wHGM* zB}h}g`yAx6^hV&+CEU(MYoe9Otlhe1LmoF=$*fqv&e9R1YW%vVm*i%wwe{vY1+gh? z<-ND?cuoJWkuSN`vl}CQ|wuo_jX2jjY$iR zy){h-wjHaz$ti@?mw^wNQ%OwhV|x+5rB`D!@&qslp7iOJV<5pt)4;_VQ?))mcRr6= z85X>i)z&J?bk7VId~-nS5jIJ9^y@_4x7Mua#t(FUz3p)+f!7e5$Fq-xuM8o&vaSrp zIh{^py?au+jE{Gi9plaeW`mj7h?9>A9!@$~q-G;ff5DVbLYke2nXRj6QDYB4bz}xN z60}NlUnOHYiWneLo2w`G1)OshssP_U>A#@}M8A8tUt)Fiq*NmU!~yh8+V{0 zO>7-tdSU0Lcno>pvLRq`7&@ z5DjOXlmHq(ljffJ@atY<`z~7)4`#*)ZV!UEO~gkfu5_yAdWTgoisioYWcK}{&Egy;@b&=BU!a>)#6=}v+;-Cb;SleJI5cxZj_>fLm0*i%u&T=} z{>ou*&GDpNi)DjHO3yi@PPN~@IEGt~@4B8`?uz!W~ z{r`I65l}0N{#7^@k$(C2`il7xK&{fFQ0kpWqmYa}vc~B_&Ph~bO${t_55sAJc2z=m zY~=$v`w8ACMHm;e!g{VTRw5}sVzWHaE|V8*qXu24S>KOnjbyLv;#83xLA{*iDU*kJ zEK%?Qc3D5F@rUbgzl_y~pAH@7_t2N)5ohj5y9C}^-6&_)q*Q!O@0Tgswep5%F2WL7 z1iBlOSS2J%*=$5q6+GKA6l#kD3GX+!LzWnB?3EXU zu6z7NP2Sj6UyBv2OY`en6;3X#d9zX;7S*KBt>(;1x8yy|#wu+h&7FweRj(;GE~Kt| zfBNQoQe1DzcDkfri57b@TmvvgUVE}{7&A&gNf&zxT!~3`kW+5>7XP@x&^z=}&s3O3z~+YI;7Hfo%`TEgiN(Fu0 zA5^#to^%23`Up)55R{7d!ckc%p}0p*R@yK4`(F`Hyf9F!I)Z;mZ~wC1{?C~X*#B#$ z!+#|p{m+o6FRZ7U`XVsTExRvt;n5dvD*PjlSZza;&L@-ZRq2tO&L`FXRb|FB)hE~alV(k<;|~Oq zQlqxHqS65gW`3!(P}vaimDQx6s9OXKK{=Bo%`3x6e#!RZ@+}RfVPRB{)IMccPt6d+ z3-;kf=B$Bny-NL>+6&*GUO>+t#c>Ss`Y z0>n39zhL=}8B7>8t>EVkHr=;O$6n=)2iRY#J7~^a@%|u?A--8y7&Q#k5LpN_I=WO< zSRjNem@x#wGM)l355~2ek2;76LJxur#+4F9x)9&kwL%XWOc}x(&7K)HuxY42kPRJq zs8p5`#q@{j0gCzRs|*Vp+lpNBkNA!<&5=^kRBZtUELE_y4#Wmt+ZEluiVMcpWS_v(3QT0lh8i}3{GI_JgNnhPo(LHYaYzfkd?in zCnKtSGbbaeeM2WDs|3_fO4NjOPE6JE%O4u)h$|lM=?V%TqUZ`rA6(NEHN3(nD=Gz4 zPgK=~6*ruIT3TU2q(amYTd(kl~c@<5@s0qoQG^qUC2C0C>z^0IS}v=ttz>Ad%`w&5-oc#rI65tlTd{~(3mU&2d+bg>d za5z}0tN-NgTh=|xvUS6q`oZ3bv9hdoh@ufdXPjc{WG=rEt*5B(C;qHLz#0S4lJ=W{ zQ*^VpN~?$m41ZmnlvT?_sHJN#6RK$4j@X<2@q-h5rldvq(Bhb~rlS`$f5sfYPmHeG zoFq-5zi5QlQy3c!Bd>~B~lS48#!CH%n~t~+uLLCKycMlBFq3^DY2Udl_R+U&lF-v4A+&l z3nC70Lxj3=*D4lMtt|CmSc%ta5SCCUy}Hhr)d^LM%+_4g%6udl4r2}@*Ep}jpDoMF zqO4+4H7?X`2&86KUk45g^-5_?>GIwpu@uKuoJ-^lWWlB~#Gr3lw`sF@r2~^b`M^ji zk*L61{&AIKnJl3!?U~5I&B||tuC&q)OTG`{8Nv;z0(v z&NEb;yp4*v&=k9xt3l!6P|i^elee;}l1co-c!l#>{5$zvTQ3f7ky2~r4EIHzKB{sz z8;>ALPLROvXQ{tkZAIy9VSILkJx8~-cw!315&G#|gF13cTExcWklhJt>w}ao?}`SI zIekKF+5)#b+#&UdK@dUJ(Ig!s@=xql4$mn8ReA(rqc<_tiWF&K0*3rJ=Z2e_h!F9{ zd?bUAK=Fn;B&>-}UQb4Pr8gPq*9Si6dP_*8^x<$GPjKCf{c4z+@^DVy+CgTceWrSv z1by8ll&;dzu4PqXT|;!6T8$p+*40bE*_INv><3p86j4Z^;rV{RAvW!o33MMs$9~4c z6v3CXKV(S$Dc|YpbRCI9u7UQghev3;!ht5=o40>jh`iAep)DEy?HKHd#e(bx4s@Y#E?8m)%Lu-gZ^Lb*L_1 z2G)_(^6lAs5nOh4)=+Sj<(myQ);)Uz#QPbvUjXQUNa3q}pEvUJW)~TH<vB=_9V<&U*tPtY;8KiHBXWqy_Ow^_( z;ESS)6Bp*0(mgE~4lM=m+fsYO7jCgY#s#u+!h0&e+&)ae>VOGwb7Yw%;o_gA1OtQr z`6hrWRNyQL+Z|Z?7Bk#0yR4+}M?$3zIqKg08ygybGMx8~^*cIb1ns03;t(cPrEjEW zdO(I|E#cw=T}$lAfO4|_evQx;mi8P!^T^?$jo{1fJ3fT??3VA%=PNYCd?^te#*PH> zUC8NK6O0&zM|xirtO6#tJV+q*GqQgSLWmSBM2mxuplhP2nlK~SUV3~wN9Nr)GhsY0 zEl*!XEip?wIWL2o-Ot6T)O2|phU(eE{-jW-47ArT2p@qviJLj&Y zSKC%jB#NZiLCUUL5+}XpO|MaOVrq~Z+g<3n2w$G|Mo}^1CHRbJAiAs~Vc?z*Sc^rS zuFB1IExz6Blg~ppc|Z zEZ{%oC$iJSD81^^ekaEum?_Z0<_5Ia&(hJmz)7Pz;psb~vco$sHOYdVM%K0yA$Ygp zpYg748YtVF0{k;t|6~BaB8#MHa6&eIg>zp z5cae}jpg$K=n*2v!COTH@49iqeK<#;SG0!9(}z$e=S+$G&_oFQbk@vpBZ6k7W_ego zJTER}Xf0G5!e=$wQ!}S3f7(`x5T&m4mLSe4R2b36m^3tiwBioCIr_6eEz^HtBA9GS z_S;qWxG#5=Arc+kg{IV#A#(HP$m?M(NYhREzeK{v^K9{uyE{^q@oYDlbsn59PECtn z*pb@`4^A|nX&!me&@K-&tEagom!Ncxp2ZTHSGFRm=WDM#V`4NOJwU*buLfjWspejw z^_{kh5b_RQ%AHI$aX3ivr@%3GGSOuEE*iptF)k!ZU>4DjjR2$%wZ&h&H8c|$TvNw6 z_JUNZxL0VlTg{;OvSHy0U0I2K{eg+5MCMai$?(36BMcr`R=U^|Ix9L8*?w2FZ9e2B z>a@R;uWn+cv6J|>NodZG8%xB^t)9@8bp1?zRKizo$GR1IcOR&VE$pHFA-ctvf@Y%= z$6d|W_p5o@bdeE3pp@+#vtS`!#w}(JPSCh)*79Q(1ioQ-vuF3LzI@d)>h~3#0Q0;t z)3G|dH?%=hXnD%YJ*h4Yqof@S{TNK=rm0s-KFuB3-w9s!yTqu7j2Db0d+&4`F5aB5 z){v=yszh&xnZIcDS=$cai*1B*XGa*J#e|tjP&sk{U9oz!SXJ zlDx3ZT{6EiPt_j~^Id}m<(RI5G2?7nDGQchZ_Zp}H9Y?*@;7L+a9%GiD^_T21c?r3 zEAT><49e;+CEeq%*a^OOoFqq#t`tl$mR z=mKGKW3DH2BrK#@w_v9E6gLZnX%A5EL?_UB!Dy#<;)%|K1gSNKH+*q!#!+UX*tosj zRfpK;t+9`|7XMG3KBrX&;mfwZXa4>VLf{`HHh*d|=6eRvB79kGl6g_&CwJ=T&!CQX zq5Yd4k}L3qyk=yI*L^<{VVUh;VxfWn2_6_@hERY&I|*oK2!1gsst-lu0M>?BV&IX3 zJHQY10|N^uWrDz2bah)zOF93abfKd#9E!pOim zFJ&^6tVlD99Fp7tX}DZi9SfX|3g3Q93Lz_^7hw#2WQA>L`4tb#m;4VgfBYwx82R~) z-`((?IUN8GKzmlqHfZu&;ay>Y8Fk13EDK16DN1S6K`G2S7ntv!>o`Yhi7l+ou)wMLu&mX8r?0$Y z^XUs%N&c%BG&f>a!eZ;MPH?6wZvtD|!FGrvh}wdNf9+VK zi{UaN<5)wC7MhVL4>Oi~T3=^fyHBn+p>}eMtcA>1uUD3-ZzC_v;e-*isgjytJvZgB zP*YNIiaLPe&DF6(br8q?g^TqN)v*l}sJ2z~YQ>d6=IlEYc_yf&70PrL&WFmZO;Sda>zBbJ|28s`$12v&Hcs#S^1Bb$E zCwROWR^5waO{Q|WNx4g_n|5Xudc)ja?zS8Uk#OREMUJgp$<4?oCLU#omv$IvMP&_J zNTCf}yCx6M3LUt+56HzFb|^c58vG#o4*q_^kvYPA0$cu>z} zK>gu~37@Em`FxG9qL6;MmVh984-DPSqbA$CGMPR6(aWYXzuCVaf+t`!8JZ?<2JxW4D<_ed3AXCeuYl2ByX&HMawa`2YnY zxH(x?uGu5#_gwwg%Lw}N?)+{pWrt_&dB&-3e6i`PdYr-8ROmKIJl@d(-OdEeD%()T z_G-69ad(l4bnjkFumg{BA(q<1_5gvlQ;O|I168*vVz_@Ea1rSz*&nFD+{=g>3{sivscH zh+@zdGGOk=b7n1y1v!3IY#2Y$vJnqRzWc)4<90+k!MPoB=!{DO`3sCwA0VOd0wlLS z&^(se&sF`04TOsn-w6e$w6zjK45o0l2YI$9IM$D0?CPW$sR>&l6zsunT#iEF=dF!`w>lCocA~G z#5w8237UStXTx?kW9A^rmWg

9AzoS13Ghj(uH3C?)L)C7EJKSH8o_1H;y( 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

@32dV4B|wON<~`P(zZ&qV0s=b1 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

Z_|FE!AmfTo`R> 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

;3ELoQXYj7(H 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 z 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

+}ol?HXJSuc@3q&WFms=ia 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Û$-r1%l`(;Wr$f|TjDq5TF=OvwCW;j2yqf8!>* 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 HW&iviKO0~G diff --git a/build-support/tools/antlr-2.7.6/charset.dll b/build-support/tools/antlr-2.7.6/charset.dll deleted file mode 100644 index 6fdc358b2e1d10e8fb5365966de0ee09bd033f15..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24576 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

njjNpur3}HrSMp#C8Mnpzr#{XgK9-|)T+J=vh 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

lJ?k6fuKy!W?AgaLgw{`j0_E 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 z⁣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�Ob^Bs-I~pl*)+4LJh5j`Y7w% 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 Uj6jS)j6jS)j6jUQ&jf-00;b&8#{d8T diff --git a/src/Spring/Spring.Core/Expressions/ArrayConstructorNode.cs b/src/Spring/Spring.Core/Expressions/ArrayConstructorNode.cs index ceb1c2013..b0036ae89 100644 --- a/src/Spring/Spring.Core/Expressions/ArrayConstructorNode.cs +++ b/src/Spring/Spring.Core/Expressions/ArrayConstructorNode.cs @@ -17,7 +17,6 @@ using System.Collections; using System.Runtime.Serialization; using Spring.Core.TypeResolution; -using Spring.Expressions.Parser.antlr.collections; namespace Spring.Expressions; @@ -66,13 +65,13 @@ protected override object Get(object context, EvaluationContext evalContext) } } - AST rankRoot = getFirstChild(); + SpringAST rankRoot = getFirstChild(); int dimensions = rankRoot.getNumberOfChildren(); int[] ranks = new int[dimensions]; if (dimensions > 0) { int i = 0; - AST rankNode = rankRoot.getFirstChild(); + SpringAST rankNode = rankRoot.getFirstChild(); while (rankNode != null) { ranks[i++] = (int) GetValue((BaseNode) rankNode, context, evalContext); @@ -83,7 +82,7 @@ protected override object Get(object context, EvaluationContext evalContext) } else { - AST valuesRoot = getFirstChild().getNextSibling(); + SpringAST valuesRoot = getFirstChild().getNextSibling(); if (valuesRoot != null) { ArrayList values = (ArrayList) GetValue(((BaseNode) valuesRoot), context, evalContext); diff --git a/src/Spring/Spring.Core/Expressions/AssignNode.cs b/src/Spring/Spring.Core/Expressions/AssignNode.cs index 3613117ab..5f7d619d9 100644 --- a/src/Spring/Spring.Core/Expressions/AssignNode.cs +++ b/src/Spring/Spring.Core/Expressions/AssignNode.cs @@ -15,7 +15,6 @@ */ using System.Runtime.Serialization; -using Spring.Expressions.Parser.antlr.collections; namespace Spring.Expressions; @@ -52,8 +51,8 @@ protected AssignNode(SerializationInfo info, StreamingContext context) /// Node's value. protected override object Get(object context, EvaluationContext evalContext) { - AST left = getFirstChild(); - AST right = left.getNextSibling(); + SpringAST left = getFirstChild(); + SpringAST right = left.getNextSibling(); object result; diff --git a/src/Spring/Spring.Core/Expressions/Expression.cs b/src/Spring/Spring.Core/Expressions/Expression.cs index 93016d446..184ea442c 100644 --- a/src/Spring/Spring.Core/Expressions/Expression.cs +++ b/src/Spring/Spring.Core/Expressions/Expression.cs @@ -17,9 +17,6 @@ using System.Collections; using System.Reflection; using System.Runtime.Serialization; -using Spring.Expressions.Parser; -using Spring.Expressions.Parser.antlr; -using Spring.Expressions.Parser.antlr.collections; using Spring.Core; using Spring.Reflection.Dynamic; using Spring.Util; @@ -63,77 +60,6 @@ public class ReservedVariableNames internal static readonly string ExpressionExtensions = RESERVEDPREFIX + "ExpressionExtensions"; } - private class ASTNodeCreator : Parser.antlr.ASTNodeCreator - { - private readonly SafeConstructor ctor; - private readonly string name; - - public ASTNodeCreator(ConstructorInfo ctor) - { - this.ctor = new SafeConstructor(ctor); - this.name = ctor.DeclaringType.FullName; - } - - public override AST Create() - { - return (AST) ctor.Invoke(new object[0]); - } - - public override string ASTNodeTypeName - { - get { return name; } - } - } - - private class SpringASTFactory : ASTFactory - { - private static readonly Type BASENODE_TYPE; - private static readonly Hashtable Typename2Creator; - - static SpringASTFactory() - { - BASENODE_TYPE = typeof(SpringAST); - - Typename2Creator = new Hashtable(); - foreach (Type type in typeof(SpringASTFactory).Assembly.GetTypes()) - { - if (BASENODE_TYPE.IsAssignableFrom(type) && !type.IsAbstract) - { - ConstructorInfo ctor = type.GetConstructor(System.Type.EmptyTypes); - if (ctor != null) - { - ASTNodeCreator creator = new ASTNodeCreator(ctor); - Typename2Creator[creator.ASTNodeTypeName] = creator; - } - } - } - - Typename2Creator[BASENODE_TYPE.FullName] = SpringAST.Creator; - } - - public SpringASTFactory() : base(BASENODE_TYPE) - { - base.defaultASTNodeTypeObject_ = BASENODE_TYPE; - base.typename2creator_ = Typename2Creator; - } - } - - private class SpringExpressionParser : ExpressionParser - { - public SpringExpressionParser(TokenStream lexer) - : base(lexer) - { - base.astFactory = new SpringASTFactory(); - base.initialize(); - } - } - - static Expression() - { - // Ensure antlr is loaded (fixes GAC issues)! - Assembly antlrAss = typeof(Parser.antlr.LLkParser).Assembly; - } - ///

/// Initializes a new instance of the class /// by parsing specified expression string. @@ -458,7 +384,7 @@ protected override object Get(object context, EvaluationContext evalContext) if (this.getNumberOfChildren() > 0) { - AST node = this.getFirstChild(); + SpringAST node = this.getFirstChild(); while (node != null) { result = GetValue(((BaseNode) node), result, evalContext); @@ -484,7 +410,7 @@ protected override void Set(object context, EvaluationContext evalContext, objec if (this.getNumberOfChildren() > 0) { - AST node = this.getFirstChild(); + SpringAST node = this.getFirstChild(); for (int i = 0; i < this.getNumberOfChildren() - 1; i++) { @@ -519,7 +445,7 @@ internal PropertyInfo GetPropertyInfo(object context, IDictionary 0) { object target = context; - AST node = this.getFirstChild(); + SpringAST node = this.getFirstChild(); for (int i = 0; i < this.getNumberOfChildren() - 1; i++) { diff --git a/src/Spring/Spring.Core/Expressions/Expression.g b/src/Spring/Spring.Core/Expressions/Expression.g deleted file mode 100644 index 313932869..000000000 --- a/src/Spring/Spring.Core/Expressions/Expression.g +++ /dev/null @@ -1,549 +0,0 @@ -options -{ - language = "CSharp"; - namespace = "Spring.Expressions.Parser"; -} - -class ExpressionParser extends Parser; - -options { - codeGenMakeSwitchThreshold = 3; - codeGenBitsetTestThreshold = 4; - classHeaderPrefix = "internal"; - buildAST=true; - ASTLabelType = "Spring.Expressions.SpringAST"; - k = 2; -} - -tokens { - EXPR; - OPERAND; - FALSE = "false"; - TRUE = "true"; - AND = "and"; - OR = "or"; - XOR = "xor"; - IN = "in"; - IS = "is"; - BETWEEN = "between"; - LIKE = "like"; - MATCHES = "matches"; - NULL_LITERAL = "null"; -} - -{ - // CLOVER:OFF - - public override void reportError(RecognitionException ex) - { - //base.reportError(ex); - throw new antlr.TokenStreamRecognitionException(ex); - } - - public override void reportError(string error) - { - //base.reportError(error); - throw new RecognitionException(error); - } - - private string GetRelationalOperatorNodeType(string op) - { - switch (op) - { - case "==" : return "Spring.Expressions.OpEqual"; - case "!=" : return "Spring.Expressions.OpNotEqual"; - case "<" : return "Spring.Expressions.OpLess"; - case "<=" : return "Spring.Expressions.OpLessOrEqual"; - case ">" : return "Spring.Expressions.OpGreater"; - case ">=" : return "Spring.Expressions.OpGreaterOrEqual"; - case "in" : return "Spring.Expressions.OpIn"; - case "is" : return "Spring.Expressions.OpIs"; - case "between" : return "Spring.Expressions.OpBetween"; - case "like" : return "Spring.Expressions.OpLike"; - case "matches" : return "Spring.Expressions.OpMatches"; - default : - throw new ArgumentException("Node type for operator '" + op + "' is not defined."); - } - } -} - -expr : expression EOF!; - -exprList - : LPAREN! expression (SEMI! expression)+ RPAREN! - { #exprList = #([EXPR,"expressionList","Spring.Expressions.ExpressionListNode"], #exprList); } - ; - -expression : logicalOrExpression - ( - (ASSIGN^ logicalOrExpression) - | (DEFAULT^ logicalOrExpression) - | (QMARK^ expression COLON! expression) - )? - ; - -parenExpr - : LPAREN! expression RPAREN!; - -logicalOrExpression : logicalXorExpression (OR^ logicalXorExpression)* ; - -logicalXorExpression : logicalAndExpression (XOR^ logicalAndExpression)* ; - -logicalAndExpression : relationalExpression (AND^ relationalExpression)* ; - -relationalExpression - : e1:sumExpr - (op:relationalOperator! e2:sumExpr - {#relationalExpression = #(#[EXPR, op_AST.getText(), GetRelationalOperatorNodeType(op_AST.getText())], #relationalExpression);} - )? - ; - -sumExpr : prodExpr ( - (PLUS^ - | MINUS^ ) prodExpr)* ; - -prodExpr : powExpr ( - (STAR^ - | DIV^ - | MOD^ ) powExpr)* ; - -powExpr : unaryExpression (POWER^ unaryExpression)? ; - -unaryExpression - : (PLUS^ - | MINUS^ - | BANG^ ) unaryExpression - | primaryExpression - ; - -unaryOperator - : PLUS | MINUS | BANG - ; - -primaryExpression : startNode (node)? - { #primaryExpression = #([EXPR,"expression","Spring.Expressions.Expression"], #primaryExpression); }; - -startNode - : - ( (LPAREN expression SEMI) => exprList - | parenExpr - | methodOrProperty - | functionOrVar - | localFunctionOrVar - | reference - | indexer - | literal - | type - | constructor - | projection - | selection - | firstSelection - | lastSelection - | listInitializer - | mapInitializer - | lambda - | attribute - ) - ; - -node : - ( methodOrProperty - | indexer - | projection - | selection - | firstSelection - | lastSelection - | exprList - | DOT! - )+ - ; - -functionOrVar - : (POUND ID LPAREN) => function - | var - ; - -function : POUND! ID^ methodArgs - ; - -var : POUND! ID^ ; - -localFunctionOrVar - : (DOLLAR ID LPAREN) => localFunction - | localVar - ; - -localFunction - : DOLLAR! ID^ methodArgs - ; - -localVar - : DOLLAR! ID^ - ; - -methodOrProperty - : (ID LPAREN)=> ID^ methodArgs - | property - ; - -methodArgs - : LPAREN! (argument (COMMA! argument)*)? RPAREN! - ; - -property - : ID - ; - -reference - : (AT! LPAREN! quotableName COLON) => - AT! LPAREN! cn:quotableName! COLON! id:quotableName! RPAREN! - { #reference = #([EXPR, "ref", "Spring.Context.Support.ReferenceNode"], #cn, #id); } - - | AT! LPAREN! localid:quotableName! RPAREN! - { #reference = #([EXPR, "ref", "Spring.Context.Support.ReferenceNode"], null, #localid); } - ; - -indexer - : LBRACKET^ argument (COMMA! argument)* RBRACKET! - ; - -projection - : - PROJECT^ expression RCURLY! - ; - -selection - : - SELECT^ expression (COMMA! expression)* RCURLY! - ; - -firstSelection - : - SELECT_FIRST^ expression RCURLY! - ; - -lastSelection - : - SELECT_LAST^ expression RCURLY! - ; - -type - : TYPE! tn:name! RPAREN! - { #type = #([EXPR, tn_AST.getText(), "Spring.Expressions.TypeNode"], #type); } - ; - -name - : ID^ (~(RPAREN|COLON|QUOTE))* - ; - -quotableName - : STRING_LITERAL^ - | name - ; - -attribute - : AT! LBRACKET! tn:qualifiedId! (ctorArgs)? RBRACKET! - { #attribute = #([EXPR, tn_AST.getText(), "Spring.Expressions.AttributeNode"], #attribute); } - ; - -lambda - : LAMBDA! (argList)? PIPE! expression RCURLY! - { #lambda = #([EXPR, "lambda", "Spring.Expressions.LambdaExpressionNode"], #lambda); } - ; - -argList : (ID (COMMA! ID)*) - { #argList = #([EXPR, "args"], #argList); } - ; - -constructor - : ("new" qualifiedId LPAREN) => "new"! type:qualifiedId! ctorArgs - { #constructor = #([EXPR, type_AST.getText(), "Spring.Expressions.ConstructorNode"], #constructor); } - | arrayConstructor - ; - -arrayConstructor - : "new"! type:qualifiedId! arrayRank (listInitializer)? - { #arrayConstructor = #([EXPR, type_AST.getText(), "Spring.Expressions.ArrayConstructorNode"], #arrayConstructor); } - ; - -arrayRank - : LBRACKET^ (expression (COMMA! expression)*)? RBRACKET! - ; - -listInitializer - : LCURLY^ expression (COMMA! expression)* RCURLY! - ; - -mapInitializer - : POUND! LCURLY^ mapEntry (COMMA! mapEntry)* RCURLY! - ; - -mapEntry - : expression COLON! expression - { #mapEntry = #([EXPR, "entry", "Spring.Expressions.MapEntryNode"], #mapEntry); } - ; - -ctorArgs : LPAREN! (namedArgument (COMMA! namedArgument)*)? RPAREN!; - -argument : expression; - -namedArgument - : (ID ASSIGN) => ID^ ASSIGN! expression - | argument - ; - -qualifiedId - : ID^ (DOT ID)* - ; - -literal - : NULL_LITERAL - | INTEGER_LITERAL - | HEXADECIMAL_INTEGER_LITERAL - | REAL_LITERAL - | STRING_LITERAL - | boolLiteral - ; - -boolLiteral - : TRUE - | FALSE - ; - -relationalOperator - : EQUAL - | NOT_EQUAL - | LESS_THAN - | LESS_THAN_OR_EQUAL - | GREATER_THAN - | GREATER_THAN_OR_EQUAL - | IN - | IS - | BETWEEN - | LIKE - | MATCHES - ; - - - -class ExpressionLexer extends Lexer; - -options { - charVocabulary = '\u0000' .. '\uFFFE'; - classHeaderPrefix = "internal"; - k = 2; - testLiterals = false; -} - -{ - // CLOVER:OFF -} - -WS : (' ' - | '\t' - | '\n' - | '\r') - { _ttype = Token.SKIP; } - ; - -AT: '@' - ; - -BACKTICK: '`' - ; - -BACKSLASH: '\\' - ; - -PIPE: '|' - ; - -BANG: '!' - ; - -QMARK: '?' - ; - -DOLLAR: '$' - ; - -POUND: '#' - ; - -LPAREN: '(' - ; - -RPAREN: ')' - ; - -LBRACKET: '[' - ; - -RBRACKET: ']' - ; - -LCURLY: '{' - ; - -RCURLY: '}' - ; - -COMMA : ',' - ; - -SEMI: ';' - ; - -COLON: ':' - ; - -ASSIGN: '=' - ; - -DEFAULT: "??" - ; - -PLUS: '+' - ; - -MINUS: '-' - ; - -DIV: '/' - ; - -STAR: '*' - ; - -MOD: '%' - ; - -POWER: '^' - ; - -EQUAL: "==" - ; - -NOT_EQUAL: "!=" - ; - -LESS_THAN: '<' - ; - -LESS_THAN_OR_EQUAL: "<=" - ; - -GREATER_THAN: '>' - ; - -GREATER_THAN_OR_EQUAL: ">=" - ; - -PROJECT: "!{" - ; - -SELECT: "?{" - ; - -SELECT_FIRST: "^{" - ; - -SELECT_LAST: "${" - ; - -TYPE: "T(" - ; - -LAMBDA: "{|" - ; - -DOT_ESCAPED: "\\." - ; - -QUOTE: '\'' - ; - -STRING_LITERAL - : QUOTE! (APOS|~'\'')* QUOTE! - ; - -protected -APOS : QUOTE! QUOTE - ; - -ID -options { - testLiterals = true; -} - : ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')* - ; - -NUMERIC_LITERAL - - // real - : ('.' DECIMAL_DIGIT) => - '.' (DECIMAL_DIGIT)+ (EXPONENT_PART)? (REAL_TYPE_SUFFIX)? - {$setType(REAL_LITERAL);} - - | ((DECIMAL_DIGIT)+ '.' DECIMAL_DIGIT) => - (DECIMAL_DIGIT)+ '.' (DECIMAL_DIGIT)+ (EXPONENT_PART)? (REAL_TYPE_SUFFIX)? - {$setType(REAL_LITERAL);} - - | ((DECIMAL_DIGIT)+ (EXPONENT_PART)) => - (DECIMAL_DIGIT)+ (EXPONENT_PART) (REAL_TYPE_SUFFIX)? - {$setType(REAL_LITERAL);} - - | ((DECIMAL_DIGIT)+ (REAL_TYPE_SUFFIX)) => - (DECIMAL_DIGIT)+ (REAL_TYPE_SUFFIX) - {$setType(REAL_LITERAL);} - - // integer - | (DECIMAL_DIGIT)+ (INTEGER_TYPE_SUFFIX)? - {$setType(INTEGER_LITERAL);} - - // just a dot - | '.'{$setType(DOT);} - ; - - -HEXADECIMAL_INTEGER_LITERAL - : "0x" (HEX_DIGIT)+ (INTEGER_TYPE_SUFFIX)? - ; - -protected -DECIMAL_DIGIT - : '0'..'9' - ; - -protected -INTEGER_TYPE_SUFFIX - : - ( options {generateAmbigWarnings=false;} - : "UL" | "LU" | "ul" | "lu" - | "UL" | "LU" | "uL" | "lU" - | "U" | "L" | "u" | "l" - ) - ; - -protected -HEX_DIGIT - : '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | - 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | - 'a' | 'b' | 'c' | 'd' | 'e' | 'f' - ; - -protected -EXPONENT_PART - : "e" (SIGN)* (DECIMAL_DIGIT)+ - | "E" (SIGN)* (DECIMAL_DIGIT)+ - ; - -protected -SIGN - : '+' | '-' - ; - -protected -REAL_TYPE_SUFFIX - : 'F' | 'f' | 'D' | 'd' | 'M' | 'm' - ; diff --git a/src/Spring/Spring.Core/Expressions/ExpressionListNode.cs b/src/Spring/Spring.Core/Expressions/ExpressionListNode.cs index 3a0e753e0..89c1615cf 100644 --- a/src/Spring/Spring.Core/Expressions/ExpressionListNode.cs +++ b/src/Spring/Spring.Core/Expressions/ExpressionListNode.cs @@ -15,7 +15,6 @@ */ using System.Runtime.Serialization; -using Spring.Expressions.Parser.antlr.collections; namespace Spring.Expressions; @@ -54,7 +53,7 @@ protected override object Get(object context, EvaluationContext evalContext) { object result = context; - AST node = this.getFirstChild(); + SpringAST node = this.getFirstChild(); while (node != null) { result = GetValue(((BaseNode) node), context, evalContext); diff --git a/src/Spring/Spring.Core/Expressions/LambdaExpressionNode.cs b/src/Spring/Spring.Core/Expressions/LambdaExpressionNode.cs index a2b76333d..7dfc17c45 100644 --- a/src/Spring/Spring.Core/Expressions/LambdaExpressionNode.cs +++ b/src/Spring/Spring.Core/Expressions/LambdaExpressionNode.cs @@ -16,7 +16,6 @@ using System.Collections; using System.Runtime.Serialization; -using Spring.Expressions.Parser.antlr.collections; namespace Spring.Expressions; @@ -127,9 +126,9 @@ private void InitializeLambda() } else { - AST argsNode = this.getFirstChild(); + SpringAST argsNode = this.getFirstChild(); argumentNames = new string[argsNode.getNumberOfChildren()]; - AST argNode = argsNode.getFirstChild(); + SpringAST argNode = argsNode.getFirstChild(); int i = 0; while (argNode != null) { diff --git a/src/Spring/Spring.Core/Expressions/MapInitializerNode.cs b/src/Spring/Spring.Core/Expressions/MapInitializerNode.cs index 98179497c..64c9acfcb 100644 --- a/src/Spring/Spring.Core/Expressions/MapInitializerNode.cs +++ b/src/Spring/Spring.Core/Expressions/MapInitializerNode.cs @@ -16,7 +16,6 @@ using System.Collections; using System.Runtime.Serialization; -using Spring.Expressions.Parser.antlr.collections; namespace Spring.Expressions; @@ -54,7 +53,7 @@ protected MapInitializerNode(SerializationInfo info, StreamingContext context) protected override object Get(object context, EvaluationContext evalContext) { IDictionary entries = new Hashtable(); - AST entryNode = this.getFirstChild(); + SpringAST entryNode = this.getFirstChild(); while (entryNode != null) { DictionaryEntry entry = (DictionaryEntry) GetValue(((MapEntryNode) entryNode), evalContext.RootContext, evalContext); diff --git a/src/Spring/Spring.Core/Expressions/NodeWithArguments.cs b/src/Spring/Spring.Core/Expressions/NodeWithArguments.cs index d6156750a..9acda2086 100644 --- a/src/Spring/Spring.Core/Expressions/NodeWithArguments.cs +++ b/src/Spring/Spring.Core/Expressions/NodeWithArguments.cs @@ -16,7 +16,6 @@ using System.Collections; using System.Runtime.Serialization; -using Spring.Expressions.Parser.antlr.collections; namespace Spring.Expressions; @@ -77,7 +76,7 @@ private void InitializeNode() List argList = new List(); namedArgs = new Hashtable(); - AST node = this.getFirstChild(); + SpringAST node = this.getFirstChild(); while (node != null) { diff --git a/src/Spring/Spring.Core/Expressions/Parser/ExpressionLexer.cs b/src/Spring/Spring.Core/Expressions/Parser/ExpressionLexer.cs deleted file mode 100644 index 916fad735..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/ExpressionLexer.cs +++ /dev/null @@ -1,2402 +0,0 @@ -// $ANTLR 2.7.6 (2005-12-22): "Expression.g" -> "ExpressionLexer.cs"$ - -namespace Spring.Expressions.Parser; - -// Generate header specific to lexer CSharp file -using Stream = System.IO.Stream; -using TextReader = System.IO.TextReader; -using Hashtable = System.Collections.Hashtable; -using Comparer = System.Collections.Comparer; -using TokenStreamException = antlr.TokenStreamException; -using TokenStreamIOException = antlr.TokenStreamIOException; -using TokenStreamRecognitionException = antlr.TokenStreamRecognitionException; -using CharStreamException = antlr.CharStreamException; -using CharStreamIOException = antlr.CharStreamIOException; -using InputBuffer = antlr.InputBuffer; -using ByteBuffer = antlr.ByteBuffer; -using CharBuffer = antlr.CharBuffer; -using Token = antlr.Token; -using IToken = antlr.IToken; -using RecognitionException = antlr.RecognitionException; -using NoViableAltForCharException = antlr.NoViableAltForCharException; -using TokenStream = antlr.TokenStream; -using LexerSharedInputState = antlr.LexerSharedInputState; -using BitSet = antlr.collections.impl.BitSet; - -internal class ExpressionLexer : antlr.CharScanner, TokenStream -{ - public const int EOF = 1; - public const int NULL_TREE_LOOKAHEAD = 3; - public const int EXPR = 4; - public const int OPERAND = 5; - public const int FALSE = 6; - public const int TRUE = 7; - public const int AND = 8; - public const int OR = 9; - public const int XOR = 10; - public const int IN = 11; - public const int IS = 12; - public const int BETWEEN = 13; - public const int LIKE = 14; - public const int MATCHES = 15; - public const int NULL_LITERAL = 16; - public const int LPAREN = 17; - public const int SEMI = 18; - public const int RPAREN = 19; - public const int ASSIGN = 20; - public const int DEFAULT = 21; - public const int QMARK = 22; - public const int COLON = 23; - public const int PLUS = 24; - public const int MINUS = 25; - public const int STAR = 26; - public const int DIV = 27; - public const int MOD = 28; - public const int POWER = 29; - public const int BANG = 30; - public const int DOT = 31; - public const int POUND = 32; - public const int ID = 33; - public const int DOLLAR = 34; - public const int COMMA = 35; - public const int AT = 36; - public const int LBRACKET = 37; - public const int RBRACKET = 38; - public const int PROJECT = 39; - public const int RCURLY = 40; - public const int SELECT = 41; - public const int SELECT_FIRST = 42; - public const int SELECT_LAST = 43; - public const int TYPE = 44; - public const int QUOTE = 45; - public const int STRING_LITERAL = 46; - public const int LAMBDA = 47; - public const int PIPE = 48; - public const int LITERAL_new = 49; - public const int LCURLY = 50; - public const int INTEGER_LITERAL = 51; - public const int HEXADECIMAL_INTEGER_LITERAL = 52; - public const int REAL_LITERAL = 53; - public const int EQUAL = 54; - public const int NOT_EQUAL = 55; - public const int LESS_THAN = 56; - public const int LESS_THAN_OR_EQUAL = 57; - public const int GREATER_THAN = 58; - public const int GREATER_THAN_OR_EQUAL = 59; - public const int WS = 60; - public const int BACKTICK = 61; - public const int BACKSLASH = 62; - public const int DOT_ESCAPED = 63; - public const int APOS = 64; - public const int NUMERIC_LITERAL = 65; - public const int DECIMAL_DIGIT = 66; - public const int INTEGER_TYPE_SUFFIX = 67; - public const int HEX_DIGIT = 68; - public const int EXPONENT_PART = 69; - public const int SIGN = 70; - public const int REAL_TYPE_SUFFIX = 71; - - // CLOVER:OFF - public ExpressionLexer(Stream ins) : this(new ByteBuffer(ins)) - { - } - - public ExpressionLexer(TextReader r) : this(new CharBuffer(r)) - { - } - - public ExpressionLexer(InputBuffer ib) : this(new LexerSharedInputState(ib)) - { - } - - public ExpressionLexer(LexerSharedInputState state) : base(state) - { - initialize(); - } - - private void initialize() - { - caseSensitiveLiterals = true; - setCaseSensitive(true); - literals = new Hashtable(100, (float) 0.4, null, Comparer.Default); - literals.Add("true", 7); - literals.Add("and", 8); - literals.Add("matches", 15); - literals.Add("in", 11); - literals.Add("xor", 10); - literals.Add("null", 16); - literals.Add("between", 13); - literals.Add("or", 9); - literals.Add("is", 12); - literals.Add("like", 14); - literals.Add("new", 49); - literals.Add("false", 6); - } - - override public IToken nextToken() //throws TokenStreamException - { - IToken theRetToken = null; - tryAgain: - for (;;) - { - IToken _token = null; - int _ttype = Token.INVALID_TYPE; - resetText(); - try // for char stream error handling - { - try // for lexical error handling - { - switch (cached_LA1) - { - case '\t': - case '\n': - case '\r': - case ' ': - { - mWS(true); - theRetToken = returnToken_; - break; - } - case '@': - { - mAT(true); - theRetToken = returnToken_; - break; - } - case '`': - { - mBACKTICK(true); - theRetToken = returnToken_; - break; - } - case '|': - { - mPIPE(true); - theRetToken = returnToken_; - break; - } - case '#': - { - mPOUND(true); - theRetToken = returnToken_; - break; - } - case '(': - { - mLPAREN(true); - theRetToken = returnToken_; - break; - } - case ')': - { - mRPAREN(true); - theRetToken = returnToken_; - break; - } - case '[': - { - mLBRACKET(true); - theRetToken = returnToken_; - break; - } - case ']': - { - mRBRACKET(true); - theRetToken = returnToken_; - break; - } - case '}': - { - mRCURLY(true); - theRetToken = returnToken_; - break; - } - case ',': - { - mCOMMA(true); - theRetToken = returnToken_; - break; - } - case ';': - { - mSEMI(true); - theRetToken = returnToken_; - break; - } - case ':': - { - mCOLON(true); - theRetToken = returnToken_; - break; - } - case '+': - { - mPLUS(true); - theRetToken = returnToken_; - break; - } - case '-': - { - mMINUS(true); - theRetToken = returnToken_; - break; - } - case '/': - { - mDIV(true); - theRetToken = returnToken_; - break; - } - case '*': - { - mSTAR(true); - theRetToken = returnToken_; - break; - } - case '%': - { - mMOD(true); - theRetToken = returnToken_; - break; - } - default: - if ((cached_LA1 == '?') && (cached_LA2 == '?')) - { - mDEFAULT(true); - theRetToken = returnToken_; - } - else if ((cached_LA1 == '=') && (cached_LA2 == '=')) - { - mEQUAL(true); - theRetToken = returnToken_; - } - else if ((cached_LA1 == '!') && (cached_LA2 == '=')) - { - mNOT_EQUAL(true); - theRetToken = returnToken_; - } - else if ((cached_LA1 == '<') && (cached_LA2 == '=')) - { - mLESS_THAN_OR_EQUAL(true); - theRetToken = returnToken_; - } - else if ((cached_LA1 == '>') && (cached_LA2 == '=')) - { - mGREATER_THAN_OR_EQUAL(true); - theRetToken = returnToken_; - } - else if ((cached_LA1 == '!') && (cached_LA2 == '{')) - { - mPROJECT(true); - theRetToken = returnToken_; - } - else if ((cached_LA1 == '?') && (cached_LA2 == '{')) - { - mSELECT(true); - theRetToken = returnToken_; - } - else if ((cached_LA1 == '^') && (cached_LA2 == '{')) - { - mSELECT_FIRST(true); - theRetToken = returnToken_; - } - else if ((cached_LA1 == '$') && (cached_LA2 == '{')) - { - mSELECT_LAST(true); - theRetToken = returnToken_; - } - else if ((cached_LA1 == 'T') && (cached_LA2 == '(')) - { - mTYPE(true); - theRetToken = returnToken_; - } - else if ((cached_LA1 == '{') && (cached_LA2 == '|')) - { - mLAMBDA(true); - theRetToken = returnToken_; - } - else if ((cached_LA1 == '\\') && (cached_LA2 == '.')) - { - mDOT_ESCAPED(true); - theRetToken = returnToken_; - } - else if ((cached_LA1 == '\'') && ((cached_LA2 >= '\u0000' && cached_LA2 <= '\ufffe'))) - { - mSTRING_LITERAL(true); - theRetToken = returnToken_; - } - else if ((cached_LA1 == '0') && (cached_LA2 == 'x')) - { - mHEXADECIMAL_INTEGER_LITERAL(true); - theRetToken = returnToken_; - } - else if ((cached_LA1 == '\\') && (true)) - { - mBACKSLASH(true); - theRetToken = returnToken_; - } - else if ((cached_LA1 == '!') && (true)) - { - mBANG(true); - theRetToken = returnToken_; - } - else if ((cached_LA1 == '?') && (true)) - { - mQMARK(true); - theRetToken = returnToken_; - } - else if ((cached_LA1 == '$') && (true)) - { - mDOLLAR(true); - theRetToken = returnToken_; - } - else if ((cached_LA1 == '{') && (true)) - { - mLCURLY(true); - theRetToken = returnToken_; - } - else if ((cached_LA1 == '=') && (true)) - { - mASSIGN(true); - theRetToken = returnToken_; - } - else if ((cached_LA1 == '^') && (true)) - { - mPOWER(true); - theRetToken = returnToken_; - } - else if ((cached_LA1 == '<') && (true)) - { - mLESS_THAN(true); - theRetToken = returnToken_; - } - else if ((cached_LA1 == '>') && (true)) - { - mGREATER_THAN(true); - theRetToken = returnToken_; - } - else if ((cached_LA1 == '\'') && (true)) - { - mQUOTE(true); - theRetToken = returnToken_; - } - else if ((tokenSet_0_.member(cached_LA1)) && (true)) - { - mID(true); - theRetToken = returnToken_; - } - else if ((tokenSet_1_.member(cached_LA1)) && (true)) - { - mNUMERIC_LITERAL(true); - theRetToken = returnToken_; - } - else - { - if (cached_LA1 == EOF_CHAR) - { - uponEOF(); - returnToken_ = makeToken(Token.EOF_TYPE); - } - else { throw new NoViableAltForCharException(cached_LA1, getFilename(), getLine(), getColumn()); } - } - - break; - } - - if (null == returnToken_) goto tryAgain; // found SKIP token - _ttype = returnToken_.Type; - returnToken_.Type = _ttype; - return returnToken_; - } - catch (RecognitionException e) - { - throw new TokenStreamRecognitionException(e); - } - } - catch (CharStreamException cse) - { - if (cse is CharStreamIOException) - { - throw new TokenStreamIOException(((CharStreamIOException) cse).io); - } - else - { - throw new TokenStreamException(cse.Message); - } - } - } - } - - public void mWS(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = WS; - - { - switch (cached_LA1) - { - case ' ': - { - match(' '); - break; - } - case '\t': - { - match('\t'); - break; - } - case '\n': - { - match('\n'); - break; - } - case '\r': - { - match('\r'); - break; - } - default: - { - throw new NoViableAltForCharException(cached_LA1, getFilename(), getLine(), getColumn()); - } - } - } - if (0 == inputState.guessing) - { - _ttype = Token.SKIP; - } - - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - public void mAT(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = AT; - - match('@'); - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - public void mBACKTICK(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = BACKTICK; - - match('`'); - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - public void mBACKSLASH(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = BACKSLASH; - - match('\\'); - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - public void mPIPE(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = PIPE; - - match('|'); - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - public void mBANG(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = BANG; - - match('!'); - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - public void mQMARK(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = QMARK; - - match('?'); - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - public void mDOLLAR(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = DOLLAR; - - match('$'); - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - public void mPOUND(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = POUND; - - match('#'); - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - public void mLPAREN(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = LPAREN; - - match('('); - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - public void mRPAREN(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = RPAREN; - - match(')'); - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - public void mLBRACKET(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = LBRACKET; - - match('['); - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - public void mRBRACKET(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = RBRACKET; - - match(']'); - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - public void mLCURLY(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = LCURLY; - - match('{'); - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - public void mRCURLY(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = RCURLY; - - match('}'); - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - public void mCOMMA(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = COMMA; - - match(','); - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - public void mSEMI(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = SEMI; - - match(';'); - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - public void mCOLON(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = COLON; - - match(':'); - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - public void mASSIGN(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = ASSIGN; - - match('='); - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - public void mDEFAULT(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = DEFAULT; - - match("??"); - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - public void mPLUS(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = PLUS; - - match('+'); - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - public void mMINUS(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = MINUS; - - match('-'); - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - public void mDIV(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = DIV; - - match('/'); - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - public void mSTAR(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = STAR; - - match('*'); - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - public void mMOD(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = MOD; - - match('%'); - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - public void mPOWER(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = POWER; - - match('^'); - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - public void mEQUAL(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = EQUAL; - - match("=="); - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - public void mNOT_EQUAL(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = NOT_EQUAL; - - match("!="); - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - public void mLESS_THAN(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = LESS_THAN; - - match('<'); - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - public void mLESS_THAN_OR_EQUAL(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = LESS_THAN_OR_EQUAL; - - match("<="); - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - public void mGREATER_THAN(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = GREATER_THAN; - - match('>'); - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - public void mGREATER_THAN_OR_EQUAL(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = GREATER_THAN_OR_EQUAL; - - match(">="); - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - public void mPROJECT(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = PROJECT; - - match("!{"); - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - public void mSELECT(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = SELECT; - - match("?{"); - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - public void mSELECT_FIRST(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = SELECT_FIRST; - - match("^{"); - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - public void mSELECT_LAST(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = SELECT_LAST; - - match("${"); - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - public void mTYPE(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = TYPE; - - match("T("); - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - public void mLAMBDA(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = LAMBDA; - - match("{|"); - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - public void mDOT_ESCAPED(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = DOT_ESCAPED; - - match("\\."); - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - public void mQUOTE(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = QUOTE; - - match('\''); - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - public void mSTRING_LITERAL(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = STRING_LITERAL; - - int _saveIndex = 0; - _saveIndex = text.Length; - mQUOTE(false); - text.Length = _saveIndex; - { - // ( ... )* - for (;;) - { - if ((cached_LA1 == '\'') && (cached_LA2 == '\'')) - { - mAPOS(false); - } - else if ((tokenSet_2_.member(cached_LA1))) - { - matchNot('\''); - } - else - { - goto _loop161_breakloop; - } - } - - _loop161_breakloop: ; - } // ( ... )* - _saveIndex = text.Length; - mQUOTE(false); - text.Length = _saveIndex; - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - protected void mAPOS(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = APOS; - - int _saveIndex = 0; - _saveIndex = text.Length; - mQUOTE(false); - text.Length = _saveIndex; - mQUOTE(false); - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - public void mID(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = ID; - - { - switch (cached_LA1) - { - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': - { - matchRange('a', 'z'); - break; - } - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - { - matchRange('A', 'Z'); - break; - } - case '_': - { - match('_'); - break; - } - default: - { - throw new NoViableAltForCharException(cached_LA1, getFilename(), getLine(), getColumn()); - } - } - } - { - // ( ... )* - for (;;) - { - switch (cached_LA1) - { - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - case 'f': - case 'g': - case 'h': - case 'i': - case 'j': - case 'k': - case 'l': - case 'm': - case 'n': - case 'o': - case 'p': - case 'q': - case 'r': - case 's': - case 't': - case 'u': - case 'v': - case 'w': - case 'x': - case 'y': - case 'z': - { - matchRange('a', 'z'); - break; - } - case 'A': - case 'B': - case 'C': - case 'D': - case 'E': - case 'F': - case 'G': - case 'H': - case 'I': - case 'J': - case 'K': - case 'L': - case 'M': - case 'N': - case 'O': - case 'P': - case 'Q': - case 'R': - case 'S': - case 'T': - case 'U': - case 'V': - case 'W': - case 'X': - case 'Y': - case 'Z': - { - matchRange('A', 'Z'); - break; - } - case '_': - { - match('_'); - break; - } - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - { - matchRange('0', '9'); - break; - } - default: - { - goto _loop166_breakloop; - } - } - } - - _loop166_breakloop: ; - } // ( ... )* - _ttype = testLiteralsTable(_ttype); - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - public void mNUMERIC_LITERAL(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = NUMERIC_LITERAL; - - bool synPredMatched169 = false; - if (((cached_LA1 == '.') && ((cached_LA2 >= '0' && cached_LA2 <= '9')))) - { - int _m169 = mark(); - synPredMatched169 = true; - inputState.guessing++; - try - { - { - match('.'); - mDECIMAL_DIGIT(false); - } - } - catch (RecognitionException) - { - synPredMatched169 = false; - } - - rewind(_m169); - inputState.guessing--; - } - - if (synPredMatched169) - { - match('.'); - { - // ( ... )+ - int _cnt171 = 0; - for (;;) - { - if (((cached_LA1 >= '0' && cached_LA1 <= '9'))) - { - mDECIMAL_DIGIT(false); - } - else - { - if (_cnt171 >= 1) { goto _loop171_breakloop; } - else - { - throw new NoViableAltForCharException(cached_LA1, getFilename(), getLine(), getColumn()); - ; - } - } - - _cnt171++; - } - - _loop171_breakloop: ; - } // ( ... )+ - { - if ((cached_LA1 == 'E' || cached_LA1 == 'e')) - { - mEXPONENT_PART(false); - } - else - { - } - } - { - if ((tokenSet_3_.member(cached_LA1))) - { - mREAL_TYPE_SUFFIX(false); - } - else - { - } - } - if (0 == inputState.guessing) - { - _ttype = REAL_LITERAL; - } - } - else - { - bool synPredMatched177 = false; - if ((((cached_LA1 >= '0' && cached_LA1 <= '9')) && (tokenSet_1_.member(cached_LA2)))) - { - int _m177 = mark(); - synPredMatched177 = true; - inputState.guessing++; - try - { - { - { - // ( ... )+ - int _cnt176 = 0; - for (;;) - { - if (((cached_LA1 >= '0' && cached_LA1 <= '9'))) - { - mDECIMAL_DIGIT(false); - } - else - { - if (_cnt176 >= 1) { goto _loop176_breakloop; } - else - { - throw new NoViableAltForCharException(cached_LA1, getFilename(), getLine(), getColumn()); - ; - } - } - - _cnt176++; - } - - _loop176_breakloop: ; - } // ( ... )+ - match('.'); - mDECIMAL_DIGIT(false); - } - } - catch (RecognitionException) - { - synPredMatched177 = false; - } - - rewind(_m177); - inputState.guessing--; - } - - if (synPredMatched177) - { - { - // ( ... )+ - int _cnt179 = 0; - for (;;) - { - if (((cached_LA1 >= '0' && cached_LA1 <= '9'))) - { - mDECIMAL_DIGIT(false); - } - else - { - if (_cnt179 >= 1) { goto _loop179_breakloop; } - else - { - throw new NoViableAltForCharException(cached_LA1, getFilename(), getLine(), getColumn()); - ; - } - } - - _cnt179++; - } - - _loop179_breakloop: ; - } // ( ... )+ - match('.'); - { - // ( ... )+ - int _cnt181 = 0; - for (;;) - { - if (((cached_LA1 >= '0' && cached_LA1 <= '9'))) - { - mDECIMAL_DIGIT(false); - } - else - { - if (_cnt181 >= 1) { goto _loop181_breakloop; } - else - { - throw new NoViableAltForCharException(cached_LA1, getFilename(), getLine(), getColumn()); - ; - } - } - - _cnt181++; - } - - _loop181_breakloop: ; - } // ( ... )+ - { - if ((cached_LA1 == 'E' || cached_LA1 == 'e')) - { - mEXPONENT_PART(false); - } - else - { - } - } - { - if ((tokenSet_3_.member(cached_LA1))) - { - mREAL_TYPE_SUFFIX(false); - } - else - { - } - } - if (0 == inputState.guessing) - { - _ttype = REAL_LITERAL; - } - } - else - { - bool synPredMatched188 = false; - if ((((cached_LA1 >= '0' && cached_LA1 <= '9')) && (tokenSet_4_.member(cached_LA2)))) - { - int _m188 = mark(); - synPredMatched188 = true; - inputState.guessing++; - try - { - { - { - // ( ... )+ - int _cnt186 = 0; - for (;;) - { - if (((cached_LA1 >= '0' && cached_LA1 <= '9'))) - { - mDECIMAL_DIGIT(false); - } - else - { - if (_cnt186 >= 1) { goto _loop186_breakloop; } - else - { - throw new NoViableAltForCharException(cached_LA1, getFilename(), getLine(), getColumn()); - ; - } - } - - _cnt186++; - } - - _loop186_breakloop: ; - } // ( ... )+ - { - mEXPONENT_PART(false); - } - } - } - catch (RecognitionException) - { - synPredMatched188 = false; - } - - rewind(_m188); - inputState.guessing--; - } - - if (synPredMatched188) - { - { - // ( ... )+ - int _cnt190 = 0; - for (;;) - { - if (((cached_LA1 >= '0' && cached_LA1 <= '9'))) - { - mDECIMAL_DIGIT(false); - } - else - { - if (_cnt190 >= 1) { goto _loop190_breakloop; } - else - { - throw new NoViableAltForCharException(cached_LA1, getFilename(), getLine(), getColumn()); - ; - } - } - - _cnt190++; - } - - _loop190_breakloop: ; - } // ( ... )+ - { - mEXPONENT_PART(false); - } - { - if ((tokenSet_3_.member(cached_LA1))) - { - mREAL_TYPE_SUFFIX(false); - } - else - { - } - } - if (0 == inputState.guessing) - { - _ttype = REAL_LITERAL; - } - } - else - { - bool synPredMatched197 = false; - if ((((cached_LA1 >= '0' && cached_LA1 <= '9')) && (tokenSet_5_.member(cached_LA2)))) - { - int _m197 = mark(); - synPredMatched197 = true; - inputState.guessing++; - try - { - { - { - // ( ... )+ - int _cnt195 = 0; - for (;;) - { - if (((cached_LA1 >= '0' && cached_LA1 <= '9'))) - { - mDECIMAL_DIGIT(false); - } - else - { - if (_cnt195 >= 1) { goto _loop195_breakloop; } - else - { - throw new NoViableAltForCharException(cached_LA1, getFilename(), getLine(), getColumn()); - ; - } - } - - _cnt195++; - } - - _loop195_breakloop: ; - } // ( ... )+ - { - mREAL_TYPE_SUFFIX(false); - } - } - } - catch (RecognitionException) - { - synPredMatched197 = false; - } - - rewind(_m197); - inputState.guessing--; - } - - if (synPredMatched197) - { - { - // ( ... )+ - int _cnt199 = 0; - for (;;) - { - if (((cached_LA1 >= '0' && cached_LA1 <= '9'))) - { - mDECIMAL_DIGIT(false); - } - else - { - if (_cnt199 >= 1) { goto _loop199_breakloop; } - else - { - throw new NoViableAltForCharException(cached_LA1, getFilename(), getLine(), getColumn()); - ; - } - } - - _cnt199++; - } - - _loop199_breakloop: ; - } // ( ... )+ - { - mREAL_TYPE_SUFFIX(false); - } - if (0 == inputState.guessing) - { - _ttype = REAL_LITERAL; - } - } - else if (((cached_LA1 >= '0' && cached_LA1 <= '9')) && (true)) - { - { - // ( ... )+ - int _cnt202 = 0; - for (;;) - { - if (((cached_LA1 >= '0' && cached_LA1 <= '9'))) - { - mDECIMAL_DIGIT(false); - } - else - { - if (_cnt202 >= 1) { goto _loop202_breakloop; } - else - { - throw new NoViableAltForCharException(cached_LA1, getFilename(), getLine(), getColumn()); - ; - } - } - - _cnt202++; - } - - _loop202_breakloop: ; - } // ( ... )+ - { - if ((tokenSet_6_.member(cached_LA1))) - { - mINTEGER_TYPE_SUFFIX(false); - } - else - { - } - } - if (0 == inputState.guessing) - { - _ttype = INTEGER_LITERAL; - } - } - else if ((cached_LA1 == '.') && (true)) - { - match('.'); - if (0 == inputState.guessing) - { - _ttype = DOT; - } - } - else - { - throw new NoViableAltForCharException(cached_LA1, getFilename(), getLine(), getColumn()); - } - } - } - } - - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - protected void mDECIMAL_DIGIT(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = DECIMAL_DIGIT; - - matchRange('0', '9'); - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - protected void mEXPONENT_PART(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = EXPONENT_PART; - - switch (cached_LA1) - { - case 'e': - { - match("e"); - { - // ( ... )* - for (;;) - { - if ((cached_LA1 == '+' || cached_LA1 == '-')) - { - mSIGN(false); - } - else - { - goto _loop214_breakloop; - } - } - - _loop214_breakloop: ; - } // ( ... )* - { - // ( ... )+ - int _cnt216 = 0; - for (;;) - { - if (((cached_LA1 >= '0' && cached_LA1 <= '9'))) - { - mDECIMAL_DIGIT(false); - } - else - { - if (_cnt216 >= 1) { goto _loop216_breakloop; } - else - { - throw new NoViableAltForCharException(cached_LA1, getFilename(), getLine(), getColumn()); - ; - } - } - - _cnt216++; - } - - _loop216_breakloop: ; - } // ( ... )+ - break; - } - case 'E': - { - match("E"); - { - // ( ... )* - for (;;) - { - if ((cached_LA1 == '+' || cached_LA1 == '-')) - { - mSIGN(false); - } - else - { - goto _loop218_breakloop; - } - } - - _loop218_breakloop: ; - } // ( ... )* - { - // ( ... )+ - int _cnt220 = 0; - for (;;) - { - if (((cached_LA1 >= '0' && cached_LA1 <= '9'))) - { - mDECIMAL_DIGIT(false); - } - else - { - if (_cnt220 >= 1) { goto _loop220_breakloop; } - else - { - throw new NoViableAltForCharException(cached_LA1, getFilename(), getLine(), getColumn()); - ; - } - } - - _cnt220++; - } - - _loop220_breakloop: ; - } // ( ... )+ - break; - } - default: - { - throw new NoViableAltForCharException(cached_LA1, getFilename(), getLine(), getColumn()); - } - } - - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - protected void mREAL_TYPE_SUFFIX(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = REAL_TYPE_SUFFIX; - - switch (cached_LA1) - { - case 'F': - { - match('F'); - break; - } - case 'f': - { - match('f'); - break; - } - case 'D': - { - match('D'); - break; - } - case 'd': - { - match('d'); - break; - } - case 'M': - { - match('M'); - break; - } - case 'm': - { - match('m'); - break; - } - default: - { - throw new NoViableAltForCharException(cached_LA1, getFilename(), getLine(), getColumn()); - } - } - - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - protected void mINTEGER_TYPE_SUFFIX(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = INTEGER_TYPE_SUFFIX; - - { - if ((cached_LA1 == 'U') && (cached_LA2 == 'L')) - { - match("UL"); - } - else if ((cached_LA1 == 'L') && (cached_LA2 == 'U')) - { - match("LU"); - } - else if ((cached_LA1 == 'u') && (cached_LA2 == 'l')) - { - match("ul"); - } - else if ((cached_LA1 == 'l') && (cached_LA2 == 'u')) - { - match("lu"); - } - else if ((cached_LA1 == 'U') && (cached_LA2 == 'L')) - { - match("UL"); - } - else if ((cached_LA1 == 'L') && (cached_LA2 == 'U')) - { - match("LU"); - } - else if ((cached_LA1 == 'u') && (cached_LA2 == 'L')) - { - match("uL"); - } - else if ((cached_LA1 == 'l') && (cached_LA2 == 'U')) - { - match("lU"); - } - else if ((cached_LA1 == 'U') && (true)) - { - match("U"); - } - else if ((cached_LA1 == 'L') && (true)) - { - match("L"); - } - else if ((cached_LA1 == 'u') && (true)) - { - match("u"); - } - else if ((cached_LA1 == 'l') && (true)) - { - match("l"); - } - else - { - throw new NoViableAltForCharException(cached_LA1, getFilename(), getLine(), getColumn()); - } - } - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - public void mHEXADECIMAL_INTEGER_LITERAL(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = HEXADECIMAL_INTEGER_LITERAL; - - match("0x"); - { - // ( ... )+ - int _cnt206 = 0; - for (;;) - { - if ((tokenSet_7_.member(cached_LA1))) - { - mHEX_DIGIT(false); - } - else - { - if (_cnt206 >= 1) { goto _loop206_breakloop; } - else - { - throw new NoViableAltForCharException(cached_LA1, getFilename(), getLine(), getColumn()); - ; - } - } - - _cnt206++; - } - - _loop206_breakloop: ; - } // ( ... )+ - { - if ((tokenSet_6_.member(cached_LA1))) - { - mINTEGER_TYPE_SUFFIX(false); - } - else - { - } - } - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - protected void mHEX_DIGIT(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = HEX_DIGIT; - - switch (cached_LA1) - { - case '0': - { - match('0'); - break; - } - case '1': - { - match('1'); - break; - } - case '2': - { - match('2'); - break; - } - case '3': - { - match('3'); - break; - } - case '4': - { - match('4'); - break; - } - case '5': - { - match('5'); - break; - } - case '6': - { - match('6'); - break; - } - case '7': - { - match('7'); - break; - } - case '8': - { - match('8'); - break; - } - case '9': - { - match('9'); - break; - } - case 'A': - { - match('A'); - break; - } - case 'B': - { - match('B'); - break; - } - case 'C': - { - match('C'); - break; - } - case 'D': - { - match('D'); - break; - } - case 'E': - { - match('E'); - break; - } - case 'F': - { - match('F'); - break; - } - case 'a': - { - match('a'); - break; - } - case 'b': - { - match('b'); - break; - } - case 'c': - { - match('c'); - break; - } - case 'd': - { - match('d'); - break; - } - case 'e': - { - match('e'); - break; - } - case 'f': - { - match('f'); - break; - } - default: - { - throw new NoViableAltForCharException(cached_LA1, getFilename(), getLine(), getColumn()); - } - } - - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - protected void mSIGN(bool _createToken) //throws RecognitionException, CharStreamException, TokenStreamException - { - int _ttype; - IToken _token = null; - int _begin = text.Length; - _ttype = SIGN; - - switch (cached_LA1) - { - case '+': - { - match('+'); - break; - } - case '-': - { - match('-'); - break; - } - default: - { - throw new NoViableAltForCharException(cached_LA1, getFilename(), getLine(), getColumn()); - } - } - - if (_createToken && (null == _token) && (_ttype != Token.SKIP)) - { - _token = makeToken(_ttype); - _token.setText(text.ToString(_begin, text.Length - _begin)); - } - - returnToken_ = _token; - } - - private static long[] mk_tokenSet_0_() - { - long[] data = new long[1025]; - data[0] = 0L; - data[1] = 576460745995190270L; - for (int i = 2; i <= 1024; i++) { data[i] = 0L; } - - return data; - } - - public static readonly BitSet tokenSet_0_ = new BitSet(mk_tokenSet_0_()); - - private static long[] mk_tokenSet_1_() - { - long[] data = new long[1025]; - data[0] = 288019269919178752L; - for (int i = 1; i <= 1024; i++) { data[i] = 0L; } - - return data; - } - - public static readonly BitSet tokenSet_1_ = new BitSet(mk_tokenSet_1_()); - - private static long[] mk_tokenSet_2_() - { - long[] data = new long[2048]; - data[0] = -549755813889L; - for (int i = 1; i <= 1022; i++) { data[i] = -1L; } - - data[1023] = 9223372036854775807L; - for (int i = 1024; i <= 2047; i++) { data[i] = 0L; } - - return data; - } - - public static readonly BitSet tokenSet_2_ = new BitSet(mk_tokenSet_2_()); - - private static long[] mk_tokenSet_3_() - { - long[] data = new long[1025]; - data[0] = 0L; - data[1] = 35527969480784L; - for (int i = 2; i <= 1024; i++) { data[i] = 0L; } - - return data; - } - - public static readonly BitSet tokenSet_3_ = new BitSet(mk_tokenSet_3_()); - - private static long[] mk_tokenSet_4_() - { - long[] data = new long[1025]; - data[0] = 287948901175001088L; - data[1] = 137438953504L; - for (int i = 2; i <= 1024; i++) { data[i] = 0L; } - - return data; - } - - public static readonly BitSet tokenSet_4_ = new BitSet(mk_tokenSet_4_()); - - private static long[] mk_tokenSet_5_() - { - long[] data = new long[1025]; - data[0] = 287948901175001088L; - data[1] = 35527969480784L; - for (int i = 2; i <= 1024; i++) { data[i] = 0L; } - - return data; - } - - public static readonly BitSet tokenSet_5_ = new BitSet(mk_tokenSet_5_()); - - private static long[] mk_tokenSet_6_() - { - long[] data = new long[1025]; - data[0] = 0L; - data[1] = 9024791442886656L; - for (int i = 2; i <= 1024; i++) { data[i] = 0L; } - - return data; - } - - public static readonly BitSet tokenSet_6_ = new BitSet(mk_tokenSet_6_()); - - private static long[] mk_tokenSet_7_() - { - long[] data = new long[1025]; - data[0] = 287948901175001088L; - data[1] = 541165879422L; - for (int i = 2; i <= 1024; i++) { data[i] = 0L; } - - return data; - } - - public static readonly BitSet tokenSet_7_ = new BitSet(mk_tokenSet_7_()); -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/ExpressionParser.cs b/src/Spring/Spring.Core/Expressions/Parser/ExpressionParser.cs deleted file mode 100644 index a9f30c6a5..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/ExpressionParser.cs +++ /dev/null @@ -1,3694 +0,0 @@ -// $ANTLR 2.7.6 (2005-12-22): "Expression.g" -> "ExpressionParser.cs"$ - -namespace Spring.Expressions.Parser; - -// Generate the header common to all output files. -using System; -using TokenBuffer = antlr.TokenBuffer; -using Token = antlr.Token; -using TokenStream = antlr.TokenStream; -using RecognitionException = antlr.RecognitionException; -using NoViableAltException = antlr.NoViableAltException; -using ParserSharedInputState = antlr.ParserSharedInputState; -using BitSet = antlr.collections.impl.BitSet; -using AST = antlr.collections.AST; -using ASTPair = antlr.ASTPair; -using ASTFactory = antlr.ASTFactory; - -internal class ExpressionParser : antlr.LLkParser -{ - public const int EOF = 1; - public const int NULL_TREE_LOOKAHEAD = 3; - public const int EXPR = 4; - public const int OPERAND = 5; - public const int FALSE = 6; - public const int TRUE = 7; - public const int AND = 8; - public const int OR = 9; - public const int XOR = 10; - public const int IN = 11; - public const int IS = 12; - public const int BETWEEN = 13; - public const int LIKE = 14; - public const int MATCHES = 15; - public const int NULL_LITERAL = 16; - public const int LPAREN = 17; - public const int SEMI = 18; - public const int RPAREN = 19; - public const int ASSIGN = 20; - public const int DEFAULT = 21; - public const int QMARK = 22; - public const int COLON = 23; - public const int PLUS = 24; - public const int MINUS = 25; - public const int STAR = 26; - public const int DIV = 27; - public const int MOD = 28; - public const int POWER = 29; - public const int BANG = 30; - public const int DOT = 31; - public const int POUND = 32; - public const int ID = 33; - public const int DOLLAR = 34; - public const int COMMA = 35; - public const int AT = 36; - public const int LBRACKET = 37; - public const int RBRACKET = 38; - public const int PROJECT = 39; - public const int RCURLY = 40; - public const int SELECT = 41; - public const int SELECT_FIRST = 42; - public const int SELECT_LAST = 43; - public const int TYPE = 44; - public const int QUOTE = 45; - public const int STRING_LITERAL = 46; - public const int LAMBDA = 47; - public const int PIPE = 48; - public const int LITERAL_new = 49; - public const int LCURLY = 50; - public const int INTEGER_LITERAL = 51; - public const int HEXADECIMAL_INTEGER_LITERAL = 52; - public const int REAL_LITERAL = 53; - public const int EQUAL = 54; - public const int NOT_EQUAL = 55; - public const int LESS_THAN = 56; - public const int LESS_THAN_OR_EQUAL = 57; - public const int GREATER_THAN = 58; - public const int GREATER_THAN_OR_EQUAL = 59; - public const int WS = 60; - public const int BACKTICK = 61; - public const int BACKSLASH = 62; - public const int DOT_ESCAPED = 63; - public const int APOS = 64; - public const int NUMERIC_LITERAL = 65; - public const int DECIMAL_DIGIT = 66; - public const int INTEGER_TYPE_SUFFIX = 67; - public const int HEX_DIGIT = 68; - public const int EXPONENT_PART = 69; - public const int SIGN = 70; - public const int REAL_TYPE_SUFFIX = 71; - - public override void reportError(RecognitionException ex) - { - //base.reportError(ex); - throw new antlr.TokenStreamRecognitionException(ex); - } - - public override void reportError(string error) - { - //base.reportError(error); - throw new RecognitionException(error); - } - - private string GetRelationalOperatorNodeType(string op) - { - switch (op) - { - case "==": return "Spring.Expressions.OpEqual"; - case "!=": return "Spring.Expressions.OpNotEqual"; - case "<": return "Spring.Expressions.OpLess"; - case "<=": return "Spring.Expressions.OpLessOrEqual"; - case ">": return "Spring.Expressions.OpGreater"; - case ">=": return "Spring.Expressions.OpGreaterOrEqual"; - case "in": return "Spring.Expressions.OpIn"; - case "is": return "Spring.Expressions.OpIs"; - case "between": return "Spring.Expressions.OpBetween"; - case "like": return "Spring.Expressions.OpLike"; - case "matches": return "Spring.Expressions.OpMatches"; - default: - throw new ArgumentException("Node type for operator '" + op + "' is not defined."); - } - } - - protected void initialize() - { - tokenNames = tokenNames_; - initializeFactory(); - } - - protected ExpressionParser(TokenBuffer tokenBuf, int k) : base(tokenBuf, k) - { - initialize(); - } - - public ExpressionParser(TokenBuffer tokenBuf) : this(tokenBuf, 2) - { - } - - protected ExpressionParser(TokenStream lexer, int k) : base(lexer, k) - { - initialize(); - } - - public ExpressionParser(TokenStream lexer) : this(lexer, 2) - { - } - - public ExpressionParser(ParserSharedInputState state) : base(state, 2) - { - initialize(); - } - - public void expr() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST expr_AST = null; - - try - { - // for error handling - expression(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - match(Token.EOF_TYPE); - expr_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_0_); - } - else - { - throw ex; - } - } - - returnAST = expr_AST; - } - - public void expression() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST expression_AST = null; - - try - { - // for error handling - logicalOrExpression(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - { - switch (LA(1)) - { - case ASSIGN: - { - { - Spring.Expressions.AssignNode tmp2_AST = null; - tmp2_AST = (Spring.Expressions.AssignNode) astFactory.create(LT(1), "Spring.Expressions.AssignNode"); - astFactory.makeASTRoot(ref currentAST, (AST) tmp2_AST); - match(ASSIGN); - logicalOrExpression(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - } - break; - } - case DEFAULT: - { - { - Spring.Expressions.DefaultNode tmp3_AST = null; - tmp3_AST = (Spring.Expressions.DefaultNode) astFactory.create(LT(1), "Spring.Expressions.DefaultNode"); - astFactory.makeASTRoot(ref currentAST, (AST) tmp3_AST); - match(DEFAULT); - logicalOrExpression(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - } - break; - } - case QMARK: - { - { - Spring.Expressions.TernaryNode tmp4_AST = null; - tmp4_AST = (Spring.Expressions.TernaryNode) astFactory.create(LT(1), "Spring.Expressions.TernaryNode"); - astFactory.makeASTRoot(ref currentAST, (AST) tmp4_AST); - match(QMARK); - expression(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - match(COLON); - expression(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - } - break; - } - case EOF: - case SEMI: - case RPAREN: - case COLON: - case COMMA: - case RBRACKET: - case RCURLY: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - expression_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_1_); - } - else - { - throw ex; - } - } - - returnAST = expression_AST; - } - - public void exprList() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST exprList_AST = null; - - try - { - // for error handling - match(LPAREN); - expression(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - { - // ( ... )+ - int _cnt4 = 0; - for (;;) - { - if ((LA(1) == SEMI)) - { - match(SEMI); - expression(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - } - else - { - if (_cnt4 >= 1) { goto _loop4_breakloop; } - else - { - throw new NoViableAltException(LT(1), getFilename()); - ; - } - } - - _cnt4++; - } - - _loop4_breakloop: ; - } // ( ... )+ - match(RPAREN); - if (0 == inputState.guessing) - { - exprList_AST = (Spring.Expressions.SpringAST) currentAST.root; - exprList_AST = (Spring.Expressions.SpringAST) astFactory.make((AST) (Spring.Expressions.SpringAST) astFactory.create(EXPR, "expressionList", "Spring.Expressions.ExpressionListNode"), (AST) exprList_AST); - currentAST.root = exprList_AST; - if ((null != exprList_AST) && (null != exprList_AST.getFirstChild())) - currentAST.child = exprList_AST.getFirstChild(); - else - currentAST.child = exprList_AST; - currentAST.advanceChildToEnd(); - } - - exprList_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_2_); - } - else - { - throw ex; - } - } - - returnAST = exprList_AST; - } - - public void logicalOrExpression() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST logicalOrExpression_AST = null; - - try - { - // for error handling - logicalXorExpression(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - { - // ( ... )* - for (;;) - { - if ((LA(1) == OR)) - { - Spring.Expressions.OpOR tmp9_AST = null; - tmp9_AST = (Spring.Expressions.OpOR) astFactory.create(LT(1), "Spring.Expressions.OpOR"); - astFactory.makeASTRoot(ref currentAST, (AST) tmp9_AST); - match(OR); - logicalXorExpression(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - } - else - { - goto _loop13_breakloop; - } - } - - _loop13_breakloop: ; - } // ( ... )* - logicalOrExpression_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_3_); - } - else - { - throw ex; - } - } - - returnAST = logicalOrExpression_AST; - } - - public void parenExpr() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST parenExpr_AST = null; - - try - { - // for error handling - match(LPAREN); - expression(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - match(RPAREN); - parenExpr_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_2_); - } - else - { - throw ex; - } - } - - returnAST = parenExpr_AST; - } - - public void logicalXorExpression() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST logicalXorExpression_AST = null; - - try - { - // for error handling - logicalAndExpression(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - { - // ( ... )* - for (;;) - { - if ((LA(1) == XOR)) - { - Spring.Expressions.OpXOR tmp12_AST = null; - tmp12_AST = (Spring.Expressions.OpXOR) astFactory.create(LT(1), "Spring.Expressions.OpXOR"); - astFactory.makeASTRoot(ref currentAST, (AST) tmp12_AST); - match(XOR); - logicalAndExpression(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - } - else - { - goto _loop16_breakloop; - } - } - - _loop16_breakloop: ; - } // ( ... )* - logicalXorExpression_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_4_); - } - else - { - throw ex; - } - } - - returnAST = logicalXorExpression_AST; - } - - public void logicalAndExpression() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST logicalAndExpression_AST = null; - - try - { - // for error handling - relationalExpression(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - { - // ( ... )* - for (;;) - { - if ((LA(1) == AND)) - { - Spring.Expressions.OpAND tmp13_AST = null; - tmp13_AST = (Spring.Expressions.OpAND) astFactory.create(LT(1), "Spring.Expressions.OpAND"); - astFactory.makeASTRoot(ref currentAST, (AST) tmp13_AST); - match(AND); - relationalExpression(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - } - else - { - goto _loop19_breakloop; - } - } - - _loop19_breakloop: ; - } // ( ... )* - logicalAndExpression_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_5_); - } - else - { - throw ex; - } - } - - returnAST = logicalAndExpression_AST; - } - - public void relationalExpression() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST relationalExpression_AST = null; - Spring.Expressions.SpringAST e1_AST = null; - Spring.Expressions.SpringAST op_AST = null; - Spring.Expressions.SpringAST e2_AST = null; - - try - { - // for error handling - sumExpr(); - if (0 == inputState.guessing) - { - e1_AST = (Spring.Expressions.SpringAST) returnAST; - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - { - if ((tokenSet_6_.member(LA(1)))) - { - relationalOperator(); - if (0 == inputState.guessing) - { - op_AST = (Spring.Expressions.SpringAST) returnAST; - } - - sumExpr(); - if (0 == inputState.guessing) - { - e2_AST = (Spring.Expressions.SpringAST) returnAST; - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - if (0 == inputState.guessing) - { - relationalExpression_AST = (Spring.Expressions.SpringAST) currentAST.root; - relationalExpression_AST = (Spring.Expressions.SpringAST) astFactory.make((AST) (Spring.Expressions.SpringAST) astFactory.create(EXPR, op_AST.getText(), GetRelationalOperatorNodeType(op_AST.getText())), (AST) relationalExpression_AST); - currentAST.root = relationalExpression_AST; - if ((null != relationalExpression_AST) && (null != relationalExpression_AST.getFirstChild())) - currentAST.child = relationalExpression_AST.getFirstChild(); - else - currentAST.child = relationalExpression_AST; - currentAST.advanceChildToEnd(); - } - } - else if ((tokenSet_7_.member(LA(1)))) - { - } - else - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - relationalExpression_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_7_); - } - else - { - throw ex; - } - } - - returnAST = relationalExpression_AST; - } - - public void sumExpr() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST sumExpr_AST = null; - - try - { - // for error handling - prodExpr(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - { - // ( ... )* - for (;;) - { - if ((LA(1) == PLUS || LA(1) == MINUS)) - { - { - if ((LA(1) == PLUS)) - { - Spring.Expressions.OpADD tmp14_AST = null; - tmp14_AST = (Spring.Expressions.OpADD) astFactory.create(LT(1), "Spring.Expressions.OpADD"); - astFactory.makeASTRoot(ref currentAST, (AST) tmp14_AST); - match(PLUS); - } - else if ((LA(1) == MINUS)) - { - Spring.Expressions.OpSUBTRACT tmp15_AST = null; - tmp15_AST = (Spring.Expressions.OpSUBTRACT) astFactory.create(LT(1), "Spring.Expressions.OpSUBTRACT"); - astFactory.makeASTRoot(ref currentAST, (AST) tmp15_AST); - match(MINUS); - } - else - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - prodExpr(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - } - else - { - goto _loop25_breakloop; - } - } - - _loop25_breakloop: ; - } // ( ... )* - sumExpr_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_8_); - } - else - { - throw ex; - } - } - - returnAST = sumExpr_AST; - } - - public void relationalOperator() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST relationalOperator_AST = null; - - try - { - // for error handling - switch (LA(1)) - { - case EQUAL: - { - Spring.Expressions.SpringAST tmp16_AST = null; - tmp16_AST = (Spring.Expressions.SpringAST) astFactory.create(LT(1)); - astFactory.addASTChild(ref currentAST, (AST) tmp16_AST); - match(EQUAL); - relationalOperator_AST = (Spring.Expressions.SpringAST) currentAST.root; - break; - } - case NOT_EQUAL: - { - Spring.Expressions.SpringAST tmp17_AST = null; - tmp17_AST = (Spring.Expressions.SpringAST) astFactory.create(LT(1)); - astFactory.addASTChild(ref currentAST, (AST) tmp17_AST); - match(NOT_EQUAL); - relationalOperator_AST = (Spring.Expressions.SpringAST) currentAST.root; - break; - } - case LESS_THAN: - { - Spring.Expressions.SpringAST tmp18_AST = null; - tmp18_AST = (Spring.Expressions.SpringAST) astFactory.create(LT(1)); - astFactory.addASTChild(ref currentAST, (AST) tmp18_AST); - match(LESS_THAN); - relationalOperator_AST = (Spring.Expressions.SpringAST) currentAST.root; - break; - } - case LESS_THAN_OR_EQUAL: - { - Spring.Expressions.SpringAST tmp19_AST = null; - tmp19_AST = (Spring.Expressions.SpringAST) astFactory.create(LT(1)); - astFactory.addASTChild(ref currentAST, (AST) tmp19_AST); - match(LESS_THAN_OR_EQUAL); - relationalOperator_AST = (Spring.Expressions.SpringAST) currentAST.root; - break; - } - case GREATER_THAN: - { - Spring.Expressions.SpringAST tmp20_AST = null; - tmp20_AST = (Spring.Expressions.SpringAST) astFactory.create(LT(1)); - astFactory.addASTChild(ref currentAST, (AST) tmp20_AST); - match(GREATER_THAN); - relationalOperator_AST = (Spring.Expressions.SpringAST) currentAST.root; - break; - } - case GREATER_THAN_OR_EQUAL: - { - Spring.Expressions.SpringAST tmp21_AST = null; - tmp21_AST = (Spring.Expressions.SpringAST) astFactory.create(LT(1)); - astFactory.addASTChild(ref currentAST, (AST) tmp21_AST); - match(GREATER_THAN_OR_EQUAL); - relationalOperator_AST = (Spring.Expressions.SpringAST) currentAST.root; - break; - } - case IN: - { - Spring.Expressions.SpringAST tmp22_AST = null; - tmp22_AST = (Spring.Expressions.SpringAST) astFactory.create(LT(1)); - astFactory.addASTChild(ref currentAST, (AST) tmp22_AST); - match(IN); - relationalOperator_AST = (Spring.Expressions.SpringAST) currentAST.root; - break; - } - case IS: - { - Spring.Expressions.SpringAST tmp23_AST = null; - tmp23_AST = (Spring.Expressions.SpringAST) astFactory.create(LT(1)); - astFactory.addASTChild(ref currentAST, (AST) tmp23_AST); - match(IS); - relationalOperator_AST = (Spring.Expressions.SpringAST) currentAST.root; - break; - } - case BETWEEN: - { - Spring.Expressions.SpringAST tmp24_AST = null; - tmp24_AST = (Spring.Expressions.SpringAST) astFactory.create(LT(1)); - astFactory.addASTChild(ref currentAST, (AST) tmp24_AST); - match(BETWEEN); - relationalOperator_AST = (Spring.Expressions.SpringAST) currentAST.root; - break; - } - case LIKE: - { - Spring.Expressions.SpringAST tmp25_AST = null; - tmp25_AST = (Spring.Expressions.SpringAST) astFactory.create(LT(1)); - astFactory.addASTChild(ref currentAST, (AST) tmp25_AST); - match(LIKE); - relationalOperator_AST = (Spring.Expressions.SpringAST) currentAST.root; - break; - } - case MATCHES: - { - Spring.Expressions.SpringAST tmp26_AST = null; - tmp26_AST = (Spring.Expressions.SpringAST) astFactory.create(LT(1)); - astFactory.addASTChild(ref currentAST, (AST) tmp26_AST); - match(MATCHES); - relationalOperator_AST = (Spring.Expressions.SpringAST) currentAST.root; - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_9_); - } - else - { - throw ex; - } - } - - returnAST = relationalOperator_AST; - } - - public void prodExpr() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST prodExpr_AST = null; - - try - { - // for error handling - powExpr(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - { - // ( ... )* - for (;;) - { - if (((LA(1) >= STAR && LA(1) <= MOD))) - { - { - switch (LA(1)) - { - case STAR: - { - Spring.Expressions.OpMULTIPLY tmp27_AST = null; - tmp27_AST = (Spring.Expressions.OpMULTIPLY) astFactory.create(LT(1), "Spring.Expressions.OpMULTIPLY"); - astFactory.makeASTRoot(ref currentAST, (AST) tmp27_AST); - match(STAR); - break; - } - case DIV: - { - Spring.Expressions.OpDIVIDE tmp28_AST = null; - tmp28_AST = (Spring.Expressions.OpDIVIDE) astFactory.create(LT(1), "Spring.Expressions.OpDIVIDE"); - astFactory.makeASTRoot(ref currentAST, (AST) tmp28_AST); - match(DIV); - break; - } - case MOD: - { - Spring.Expressions.OpMODULUS tmp29_AST = null; - tmp29_AST = (Spring.Expressions.OpMODULUS) astFactory.create(LT(1), "Spring.Expressions.OpMODULUS"); - astFactory.makeASTRoot(ref currentAST, (AST) tmp29_AST); - match(MOD); - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - powExpr(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - } - else - { - goto _loop29_breakloop; - } - } - - _loop29_breakloop: ; - } // ( ... )* - prodExpr_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_10_); - } - else - { - throw ex; - } - } - - returnAST = prodExpr_AST; - } - - public void powExpr() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST powExpr_AST = null; - - try - { - // for error handling - unaryExpression(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - { - if ((LA(1) == POWER)) - { - Spring.Expressions.OpPOWER tmp30_AST = null; - tmp30_AST = (Spring.Expressions.OpPOWER) astFactory.create(LT(1), "Spring.Expressions.OpPOWER"); - astFactory.makeASTRoot(ref currentAST, (AST) tmp30_AST); - match(POWER); - unaryExpression(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - } - else if ((tokenSet_11_.member(LA(1)))) - { - } - else - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - powExpr_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_11_); - } - else - { - throw ex; - } - } - - returnAST = powExpr_AST; - } - - public void unaryExpression() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST unaryExpression_AST = null; - - try - { - // for error handling - if ((LA(1) == PLUS || LA(1) == MINUS || LA(1) == BANG)) - { - { - switch (LA(1)) - { - case PLUS: - { - Spring.Expressions.OpUnaryPlus tmp31_AST = null; - tmp31_AST = (Spring.Expressions.OpUnaryPlus) astFactory.create(LT(1), "Spring.Expressions.OpUnaryPlus"); - astFactory.makeASTRoot(ref currentAST, (AST) tmp31_AST); - match(PLUS); - break; - } - case MINUS: - { - Spring.Expressions.OpUnaryMinus tmp32_AST = null; - tmp32_AST = (Spring.Expressions.OpUnaryMinus) astFactory.create(LT(1), "Spring.Expressions.OpUnaryMinus"); - astFactory.makeASTRoot(ref currentAST, (AST) tmp32_AST); - match(MINUS); - break; - } - case BANG: - { - Spring.Expressions.OpNOT tmp33_AST = null; - tmp33_AST = (Spring.Expressions.OpNOT) astFactory.create(LT(1), "Spring.Expressions.OpNOT"); - astFactory.makeASTRoot(ref currentAST, (AST) tmp33_AST); - match(BANG); - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - unaryExpression(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - unaryExpression_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - else if ((tokenSet_12_.member(LA(1)))) - { - primaryExpression(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - unaryExpression_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - else - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_13_); - } - else - { - throw ex; - } - } - - returnAST = unaryExpression_AST; - } - - public void primaryExpression() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST primaryExpression_AST = null; - - try - { - // for error handling - startNode(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - { - if ((tokenSet_14_.member(LA(1)))) - { - node(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - } - else if ((tokenSet_13_.member(LA(1)))) - { - } - else - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - if (0 == inputState.guessing) - { - primaryExpression_AST = (Spring.Expressions.SpringAST) currentAST.root; - primaryExpression_AST = (Spring.Expressions.SpringAST) astFactory.make((AST) (Spring.Expressions.SpringAST) astFactory.create(EXPR, "expression", "Spring.Expressions.Expression"), (AST) primaryExpression_AST); - currentAST.root = primaryExpression_AST; - if ((null != primaryExpression_AST) && (null != primaryExpression_AST.getFirstChild())) - currentAST.child = primaryExpression_AST.getFirstChild(); - else - currentAST.child = primaryExpression_AST; - currentAST.advanceChildToEnd(); - } - - primaryExpression_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_13_); - } - else - { - throw ex; - } - } - - returnAST = primaryExpression_AST; - } - - public void unaryOperator() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST unaryOperator_AST = null; - - try - { - // for error handling - switch (LA(1)) - { - case PLUS: - { - Spring.Expressions.SpringAST tmp34_AST = null; - tmp34_AST = (Spring.Expressions.SpringAST) astFactory.create(LT(1)); - astFactory.addASTChild(ref currentAST, (AST) tmp34_AST); - match(PLUS); - unaryOperator_AST = (Spring.Expressions.SpringAST) currentAST.root; - break; - } - case MINUS: - { - Spring.Expressions.SpringAST tmp35_AST = null; - tmp35_AST = (Spring.Expressions.SpringAST) astFactory.create(LT(1)); - astFactory.addASTChild(ref currentAST, (AST) tmp35_AST); - match(MINUS); - unaryOperator_AST = (Spring.Expressions.SpringAST) currentAST.root; - break; - } - case BANG: - { - Spring.Expressions.SpringAST tmp36_AST = null; - tmp36_AST = (Spring.Expressions.SpringAST) astFactory.create(LT(1)); - astFactory.addASTChild(ref currentAST, (AST) tmp36_AST); - match(BANG); - unaryOperator_AST = (Spring.Expressions.SpringAST) currentAST.root; - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_0_); - } - else - { - throw ex; - } - } - - returnAST = unaryOperator_AST; - } - - public void startNode() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST startNode_AST = null; - - try - { - // for error handling - { - switch (LA(1)) - { - case ID: - { - methodOrProperty(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - break; - } - case DOLLAR: - { - localFunctionOrVar(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - break; - } - case LBRACKET: - { - indexer(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - break; - } - case FALSE: - case TRUE: - case NULL_LITERAL: - case STRING_LITERAL: - case INTEGER_LITERAL: - case HEXADECIMAL_INTEGER_LITERAL: - case REAL_LITERAL: - { - literal(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - break; - } - case TYPE: - { - type(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - break; - } - case LITERAL_new: - { - constructor(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - break; - } - case PROJECT: - { - projection(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - break; - } - case SELECT: - { - selection(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - break; - } - case SELECT_FIRST: - { - firstSelection(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - break; - } - case SELECT_LAST: - { - lastSelection(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - break; - } - case LCURLY: - { - listInitializer(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - break; - } - case LAMBDA: - { - lambda(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - break; - } - default: - bool synPredMatched40 = false; - if (((LA(1) == LPAREN) && (tokenSet_9_.member(LA(2))))) - { - int _m40 = mark(); - synPredMatched40 = true; - inputState.guessing++; - try - { - { - match(LPAREN); - expression(); - match(SEMI); - } - } - catch (RecognitionException) - { - synPredMatched40 = false; - } - - rewind(_m40); - inputState.guessing--; - } - - if (synPredMatched40) - { - exprList(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - } - else if ((LA(1) == LPAREN) && (tokenSet_9_.member(LA(2)))) - { - parenExpr(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - } - else if ((LA(1) == POUND) && (LA(2) == ID)) - { - functionOrVar(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - } - else if ((LA(1) == AT) && (LA(2) == LPAREN)) - { - reference(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - } - else if ((LA(1) == POUND) && (LA(2) == LCURLY)) - { - mapInitializer(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - } - else if ((LA(1) == AT) && (LA(2) == LBRACKET)) - { - attribute(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - } - else - { - throw new NoViableAltException(LT(1), getFilename()); - } - - break; - } - } - startNode_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_2_); - } - else - { - throw ex; - } - } - - returnAST = startNode_AST; - } - - public void node() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST node_AST = null; - - try - { - // for error handling - { - // ( ... )+ - int _cnt43 = 0; - for (;;) - { - switch (LA(1)) - { - case ID: - { - methodOrProperty(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - break; - } - case LBRACKET: - { - indexer(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - break; - } - case PROJECT: - { - projection(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - break; - } - case SELECT: - { - selection(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - break; - } - case SELECT_FIRST: - { - firstSelection(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - break; - } - case SELECT_LAST: - { - lastSelection(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - break; - } - case LPAREN: - { - exprList(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - break; - } - case DOT: - { - match(DOT); - break; - } - default: - { - if (_cnt43 >= 1) { goto _loop43_breakloop; } - else - { - throw new NoViableAltException(LT(1), getFilename()); - ; - } - } - break; - } - - _cnt43++; - } - - _loop43_breakloop: ; - } // ( ... )+ - node_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_13_); - } - else - { - throw ex; - } - } - - returnAST = node_AST; - } - - public void methodOrProperty() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST methodOrProperty_AST = null; - - try - { - // for error handling - bool synPredMatched56 = false; - if (((LA(1) == ID) && (LA(2) == LPAREN))) - { - int _m56 = mark(); - synPredMatched56 = true; - inputState.guessing++; - try - { - { - match(ID); - match(LPAREN); - } - } - catch (RecognitionException) - { - synPredMatched56 = false; - } - - rewind(_m56); - inputState.guessing--; - } - - if (synPredMatched56) - { - Spring.Expressions.MethodNode tmp38_AST = null; - tmp38_AST = (Spring.Expressions.MethodNode) astFactory.create(LT(1), "Spring.Expressions.MethodNode"); - astFactory.makeASTRoot(ref currentAST, (AST) tmp38_AST); - match(ID); - methodArgs(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - methodOrProperty_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - else if ((LA(1) == ID) && (tokenSet_2_.member(LA(2)))) - { - property(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - methodOrProperty_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - else - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_2_); - } - else - { - throw ex; - } - } - - returnAST = methodOrProperty_AST; - } - - public void functionOrVar() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST functionOrVar_AST = null; - - try - { - // for error handling - bool synPredMatched46 = false; - if (((LA(1) == POUND) && (LA(2) == ID))) - { - int _m46 = mark(); - synPredMatched46 = true; - inputState.guessing++; - try - { - { - match(POUND); - match(ID); - match(LPAREN); - } - } - catch (RecognitionException) - { - synPredMatched46 = false; - } - - rewind(_m46); - inputState.guessing--; - } - - if (synPredMatched46) - { - function(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - functionOrVar_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - else if ((LA(1) == POUND) && (LA(2) == ID)) - { - var(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - functionOrVar_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - else - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_2_); - } - else - { - throw ex; - } - } - - returnAST = functionOrVar_AST; - } - - public void localFunctionOrVar() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST localFunctionOrVar_AST = null; - - try - { - // for error handling - bool synPredMatched51 = false; - if (((LA(1) == DOLLAR) && (LA(2) == ID))) - { - int _m51 = mark(); - synPredMatched51 = true; - inputState.guessing++; - try - { - { - match(DOLLAR); - match(ID); - match(LPAREN); - } - } - catch (RecognitionException) - { - synPredMatched51 = false; - } - - rewind(_m51); - inputState.guessing--; - } - - if (synPredMatched51) - { - localFunction(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - localFunctionOrVar_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - else if ((LA(1) == DOLLAR) && (LA(2) == ID)) - { - localVar(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - localFunctionOrVar_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - else - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_2_); - } - else - { - throw ex; - } - } - - returnAST = localFunctionOrVar_AST; - } - - public void reference() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST reference_AST = null; - Spring.Expressions.SpringAST cn_AST = null; - Spring.Expressions.SpringAST id_AST = null; - Spring.Expressions.SpringAST localid_AST = null; - - try - { - // for error handling - bool synPredMatched64 = false; - if (((LA(1) == AT) && (LA(2) == LPAREN))) - { - int _m64 = mark(); - synPredMatched64 = true; - inputState.guessing++; - try - { - { - match(AT); - match(LPAREN); - quotableName(); - match(COLON); - } - } - catch (RecognitionException) - { - synPredMatched64 = false; - } - - rewind(_m64); - inputState.guessing--; - } - - if (synPredMatched64) - { - match(AT); - match(LPAREN); - quotableName(); - if (0 == inputState.guessing) - { - cn_AST = (Spring.Expressions.SpringAST) returnAST; - } - - match(COLON); - quotableName(); - if (0 == inputState.guessing) - { - id_AST = (Spring.Expressions.SpringAST) returnAST; - } - - match(RPAREN); - if (0 == inputState.guessing) - { - reference_AST = (Spring.Expressions.SpringAST) currentAST.root; - reference_AST = (Spring.Expressions.SpringAST) astFactory.make((AST) (Spring.Expressions.SpringAST) astFactory.create(EXPR, "ref", "Spring.Context.Support.ReferenceNode"), (AST) cn_AST, (AST) id_AST); - currentAST.root = reference_AST; - if ((null != reference_AST) && (null != reference_AST.getFirstChild())) - currentAST.child = reference_AST.getFirstChild(); - else - currentAST.child = reference_AST; - currentAST.advanceChildToEnd(); - } - - reference_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - else if ((LA(1) == AT) && (LA(2) == LPAREN)) - { - match(AT); - match(LPAREN); - quotableName(); - if (0 == inputState.guessing) - { - localid_AST = (Spring.Expressions.SpringAST) returnAST; - } - - match(RPAREN); - if (0 == inputState.guessing) - { - reference_AST = (Spring.Expressions.SpringAST) currentAST.root; - reference_AST = (Spring.Expressions.SpringAST) astFactory.make((AST) (Spring.Expressions.SpringAST) astFactory.create(EXPR, "ref", "Spring.Context.Support.ReferenceNode"), (AST) null, (AST) localid_AST); - currentAST.root = reference_AST; - if ((null != reference_AST) && (null != reference_AST.getFirstChild())) - currentAST.child = reference_AST.getFirstChild(); - else - currentAST.child = reference_AST; - currentAST.advanceChildToEnd(); - } - - reference_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - else - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_2_); - } - else - { - throw ex; - } - } - - returnAST = reference_AST; - } - - public void indexer() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST indexer_AST = null; - - try - { - // for error handling - Spring.Expressions.IndexerNode tmp46_AST = null; - tmp46_AST = (Spring.Expressions.IndexerNode) astFactory.create(LT(1), "Spring.Expressions.IndexerNode"); - astFactory.makeASTRoot(ref currentAST, (AST) tmp46_AST); - match(LBRACKET); - argument(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - { - // ( ... )* - for (;;) - { - if ((LA(1) == COMMA)) - { - match(COMMA); - argument(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - } - else - { - goto _loop67_breakloop; - } - } - - _loop67_breakloop: ; - } // ( ... )* - match(RBRACKET); - indexer_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_2_); - } - else - { - throw ex; - } - } - - returnAST = indexer_AST; - } - - public void literal() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST literal_AST = null; - - try - { - // for error handling - switch (LA(1)) - { - case NULL_LITERAL: - { - Spring.Expressions.NullLiteralNode tmp49_AST = null; - tmp49_AST = (Spring.Expressions.NullLiteralNode) astFactory.create(LT(1), "Spring.Expressions.NullLiteralNode"); - astFactory.addASTChild(ref currentAST, (AST) tmp49_AST); - match(NULL_LITERAL); - literal_AST = (Spring.Expressions.SpringAST) currentAST.root; - break; - } - case INTEGER_LITERAL: - { - Spring.Expressions.IntLiteralNode tmp50_AST = null; - tmp50_AST = (Spring.Expressions.IntLiteralNode) astFactory.create(LT(1), "Spring.Expressions.IntLiteralNode"); - astFactory.addASTChild(ref currentAST, (AST) tmp50_AST); - match(INTEGER_LITERAL); - literal_AST = (Spring.Expressions.SpringAST) currentAST.root; - break; - } - case HEXADECIMAL_INTEGER_LITERAL: - { - Spring.Expressions.HexLiteralNode tmp51_AST = null; - tmp51_AST = (Spring.Expressions.HexLiteralNode) astFactory.create(LT(1), "Spring.Expressions.HexLiteralNode"); - astFactory.addASTChild(ref currentAST, (AST) tmp51_AST); - match(HEXADECIMAL_INTEGER_LITERAL); - literal_AST = (Spring.Expressions.SpringAST) currentAST.root; - break; - } - case REAL_LITERAL: - { - Spring.Expressions.RealLiteralNode tmp52_AST = null; - tmp52_AST = (Spring.Expressions.RealLiteralNode) astFactory.create(LT(1), "Spring.Expressions.RealLiteralNode"); - astFactory.addASTChild(ref currentAST, (AST) tmp52_AST); - match(REAL_LITERAL); - literal_AST = (Spring.Expressions.SpringAST) currentAST.root; - break; - } - case STRING_LITERAL: - { - Spring.Expressions.StringLiteralNode tmp53_AST = null; - tmp53_AST = (Spring.Expressions.StringLiteralNode) astFactory.create(LT(1), "Spring.Expressions.StringLiteralNode"); - astFactory.addASTChild(ref currentAST, (AST) tmp53_AST); - match(STRING_LITERAL); - literal_AST = (Spring.Expressions.SpringAST) currentAST.root; - break; - } - case FALSE: - case TRUE: - { - boolLiteral(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - literal_AST = (Spring.Expressions.SpringAST) currentAST.root; - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_2_); - } - else - { - throw ex; - } - } - - returnAST = literal_AST; - } - - public void type() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST type_AST = null; - Spring.Expressions.SpringAST tn_AST = null; - - try - { - // for error handling - match(TYPE); - name(); - if (0 == inputState.guessing) - { - tn_AST = (Spring.Expressions.SpringAST) returnAST; - } - - match(RPAREN); - if (0 == inputState.guessing) - { - type_AST = (Spring.Expressions.SpringAST) currentAST.root; - type_AST = (Spring.Expressions.SpringAST) astFactory.make((AST) (Spring.Expressions.SpringAST) astFactory.create(EXPR, tn_AST.getText(), "Spring.Expressions.TypeNode"), (AST) type_AST); - currentAST.root = type_AST; - if ((null != type_AST) && (null != type_AST.getFirstChild())) - currentAST.child = type_AST.getFirstChild(); - else - currentAST.child = type_AST; - currentAST.advanceChildToEnd(); - } - - type_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_2_); - } - else - { - throw ex; - } - } - - returnAST = type_AST; - } - - public void constructor() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST constructor_AST = null; - Spring.Expressions.SpringAST type_AST = null; - - try - { - // for error handling - bool synPredMatched90 = false; - if (((LA(1) == LITERAL_new) && (LA(2) == ID))) - { - int _m90 = mark(); - synPredMatched90 = true; - inputState.guessing++; - try - { - { - match(LITERAL_new); - qualifiedId(); - match(LPAREN); - } - } - catch (RecognitionException) - { - synPredMatched90 = false; - } - - rewind(_m90); - inputState.guessing--; - } - - if (synPredMatched90) - { - match(LITERAL_new); - qualifiedId(); - if (0 == inputState.guessing) - { - type_AST = (Spring.Expressions.SpringAST) returnAST; - } - - ctorArgs(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - if (0 == inputState.guessing) - { - constructor_AST = (Spring.Expressions.SpringAST) currentAST.root; - constructor_AST = (Spring.Expressions.SpringAST) astFactory.make((AST) (Spring.Expressions.SpringAST) astFactory.create(EXPR, type_AST.getText(), "Spring.Expressions.ConstructorNode"), (AST) constructor_AST); - currentAST.root = constructor_AST; - if ((null != constructor_AST) && (null != constructor_AST.getFirstChild())) - currentAST.child = constructor_AST.getFirstChild(); - else - currentAST.child = constructor_AST; - currentAST.advanceChildToEnd(); - } - - constructor_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - else if ((LA(1) == LITERAL_new) && (LA(2) == ID)) - { - arrayConstructor(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - constructor_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - else - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_2_); - } - else - { - throw ex; - } - } - - returnAST = constructor_AST; - } - - public void projection() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST projection_AST = null; - - try - { - // for error handling - Spring.Expressions.ProjectionNode tmp57_AST = null; - tmp57_AST = (Spring.Expressions.ProjectionNode) astFactory.create(LT(1), "Spring.Expressions.ProjectionNode"); - astFactory.makeASTRoot(ref currentAST, (AST) tmp57_AST); - match(PROJECT); - expression(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - match(RCURLY); - projection_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_2_); - } - else - { - throw ex; - } - } - - returnAST = projection_AST; - } - - public void selection() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST selection_AST = null; - - try - { - // for error handling - Spring.Expressions.SelectionNode tmp59_AST = null; - tmp59_AST = (Spring.Expressions.SelectionNode) astFactory.create(LT(1), "Spring.Expressions.SelectionNode"); - astFactory.makeASTRoot(ref currentAST, (AST) tmp59_AST); - match(SELECT); - expression(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - { - // ( ... )* - for (;;) - { - if ((LA(1) == COMMA)) - { - match(COMMA); - expression(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - } - else - { - goto _loop71_breakloop; - } - } - - _loop71_breakloop: ; - } // ( ... )* - match(RCURLY); - selection_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_2_); - } - else - { - throw ex; - } - } - - returnAST = selection_AST; - } - - public void firstSelection() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST firstSelection_AST = null; - - try - { - // for error handling - Spring.Expressions.SelectionFirstNode tmp62_AST = null; - tmp62_AST = (Spring.Expressions.SelectionFirstNode) astFactory.create(LT(1), "Spring.Expressions.SelectionFirstNode"); - astFactory.makeASTRoot(ref currentAST, (AST) tmp62_AST); - match(SELECT_FIRST); - expression(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - match(RCURLY); - firstSelection_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_2_); - } - else - { - throw ex; - } - } - - returnAST = firstSelection_AST; - } - - public void lastSelection() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST lastSelection_AST = null; - - try - { - // for error handling - Spring.Expressions.SelectionLastNode tmp64_AST = null; - tmp64_AST = (Spring.Expressions.SelectionLastNode) astFactory.create(LT(1), "Spring.Expressions.SelectionLastNode"); - astFactory.makeASTRoot(ref currentAST, (AST) tmp64_AST); - match(SELECT_LAST); - expression(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - match(RCURLY); - lastSelection_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_2_); - } - else - { - throw ex; - } - } - - returnAST = lastSelection_AST; - } - - public void listInitializer() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST listInitializer_AST = null; - - try - { - // for error handling - Spring.Expressions.ListInitializerNode tmp66_AST = null; - tmp66_AST = (Spring.Expressions.ListInitializerNode) astFactory.create(LT(1), "Spring.Expressions.ListInitializerNode"); - astFactory.makeASTRoot(ref currentAST, (AST) tmp66_AST); - match(LCURLY); - expression(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - { - // ( ... )* - for (;;) - { - if ((LA(1) == COMMA)) - { - match(COMMA); - expression(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - } - else - { - goto _loop99_breakloop; - } - } - - _loop99_breakloop: ; - } // ( ... )* - match(RCURLY); - listInitializer_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_2_); - } - else - { - throw ex; - } - } - - returnAST = listInitializer_AST; - } - - public void mapInitializer() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST mapInitializer_AST = null; - - try - { - // for error handling - match(POUND); - Spring.Expressions.MapInitializerNode tmp70_AST = null; - tmp70_AST = (Spring.Expressions.MapInitializerNode) astFactory.create(LT(1), "Spring.Expressions.MapInitializerNode"); - astFactory.makeASTRoot(ref currentAST, (AST) tmp70_AST); - match(LCURLY); - mapEntry(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - { - // ( ... )* - for (;;) - { - if ((LA(1) == COMMA)) - { - match(COMMA); - mapEntry(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - } - else - { - goto _loop102_breakloop; - } - } - - _loop102_breakloop: ; - } // ( ... )* - match(RCURLY); - mapInitializer_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_2_); - } - else - { - throw ex; - } - } - - returnAST = mapInitializer_AST; - } - - public void lambda() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST lambda_AST = null; - - try - { - // for error handling - match(LAMBDA); - { - if ((LA(1) == ID)) - { - argList(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - } - else if ((LA(1) == PIPE)) - { - } - else - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - match(PIPE); - expression(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - match(RCURLY); - if (0 == inputState.guessing) - { - lambda_AST = (Spring.Expressions.SpringAST) currentAST.root; - lambda_AST = (Spring.Expressions.SpringAST) astFactory.make((AST) (Spring.Expressions.SpringAST) astFactory.create(EXPR, "lambda", "Spring.Expressions.LambdaExpressionNode"), (AST) lambda_AST); - currentAST.root = lambda_AST; - if ((null != lambda_AST) && (null != lambda_AST.getFirstChild())) - currentAST.child = lambda_AST.getFirstChild(); - else - currentAST.child = lambda_AST; - currentAST.advanceChildToEnd(); - } - - lambda_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_2_); - } - else - { - throw ex; - } - } - - returnAST = lambda_AST; - } - - public void attribute() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST attribute_AST = null; - Spring.Expressions.SpringAST tn_AST = null; - - try - { - // for error handling - match(AT); - match(LBRACKET); - qualifiedId(); - if (0 == inputState.guessing) - { - tn_AST = (Spring.Expressions.SpringAST) returnAST; - } - - { - if ((LA(1) == LPAREN)) - { - ctorArgs(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - } - else if ((LA(1) == RBRACKET)) - { - } - else - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - match(RBRACKET); - if (0 == inputState.guessing) - { - attribute_AST = (Spring.Expressions.SpringAST) currentAST.root; - attribute_AST = (Spring.Expressions.SpringAST) astFactory.make((AST) (Spring.Expressions.SpringAST) astFactory.create(EXPR, tn_AST.getText(), "Spring.Expressions.AttributeNode"), (AST) attribute_AST); - currentAST.root = attribute_AST; - if ((null != attribute_AST) && (null != attribute_AST.getFirstChild())) - currentAST.child = attribute_AST.getFirstChild(); - else - currentAST.child = attribute_AST; - currentAST.advanceChildToEnd(); - } - - attribute_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_2_); - } - else - { - throw ex; - } - } - - returnAST = attribute_AST; - } - - public void function() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST function_AST = null; - - try - { - // for error handling - match(POUND); - Spring.Expressions.FunctionNode tmp80_AST = null; - tmp80_AST = (Spring.Expressions.FunctionNode) astFactory.create(LT(1), "Spring.Expressions.FunctionNode"); - astFactory.makeASTRoot(ref currentAST, (AST) tmp80_AST); - match(ID); - methodArgs(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - function_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_2_); - } - else - { - throw ex; - } - } - - returnAST = function_AST; - } - - public void var() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST var_AST = null; - - try - { - // for error handling - match(POUND); - Spring.Expressions.VariableNode tmp82_AST = null; - tmp82_AST = (Spring.Expressions.VariableNode) astFactory.create(LT(1), "Spring.Expressions.VariableNode"); - astFactory.makeASTRoot(ref currentAST, (AST) tmp82_AST); - match(ID); - var_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_2_); - } - else - { - throw ex; - } - } - - returnAST = var_AST; - } - - public void methodArgs() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST methodArgs_AST = null; - - try - { - // for error handling - match(LPAREN); - { - if ((tokenSet_9_.member(LA(1)))) - { - argument(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - { - // ( ... )* - for (;;) - { - if ((LA(1) == COMMA)) - { - match(COMMA); - argument(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - } - else - { - goto _loop60_breakloop; - } - } - - _loop60_breakloop: ; - } // ( ... )* - } - else if ((LA(1) == RPAREN)) - { - } - else - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - match(RPAREN); - methodArgs_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_2_); - } - else - { - throw ex; - } - } - - returnAST = methodArgs_AST; - } - - public void localFunction() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST localFunction_AST = null; - - try - { - // for error handling - match(DOLLAR); - Spring.Expressions.LocalFunctionNode tmp87_AST = null; - tmp87_AST = (Spring.Expressions.LocalFunctionNode) astFactory.create(LT(1), "Spring.Expressions.LocalFunctionNode"); - astFactory.makeASTRoot(ref currentAST, (AST) tmp87_AST); - match(ID); - methodArgs(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - localFunction_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_2_); - } - else - { - throw ex; - } - } - - returnAST = localFunction_AST; - } - - public void localVar() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST localVar_AST = null; - - try - { - // for error handling - match(DOLLAR); - Spring.Expressions.LocalVariableNode tmp89_AST = null; - tmp89_AST = (Spring.Expressions.LocalVariableNode) astFactory.create(LT(1), "Spring.Expressions.LocalVariableNode"); - astFactory.makeASTRoot(ref currentAST, (AST) tmp89_AST); - match(ID); - localVar_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_2_); - } - else - { - throw ex; - } - } - - returnAST = localVar_AST; - } - - public void property() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST property_AST = null; - - try - { - // for error handling - Spring.Expressions.PropertyOrFieldNode tmp90_AST = null; - tmp90_AST = (Spring.Expressions.PropertyOrFieldNode) astFactory.create(LT(1), "Spring.Expressions.PropertyOrFieldNode"); - astFactory.addASTChild(ref currentAST, (AST) tmp90_AST); - match(ID); - property_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_2_); - } - else - { - throw ex; - } - } - - returnAST = property_AST; - } - - public void argument() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST argument_AST = null; - - try - { - // for error handling - expression(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - argument_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_15_); - } - else - { - throw ex; - } - } - - returnAST = argument_AST; - } - - public void quotableName() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST quotableName_AST = null; - - try - { - // for error handling - if ((LA(1) == STRING_LITERAL)) - { - Spring.Expressions.QualifiedIdentifier tmp91_AST = null; - tmp91_AST = (Spring.Expressions.QualifiedIdentifier) astFactory.create(LT(1), "Spring.Expressions.QualifiedIdentifier"); - astFactory.makeASTRoot(ref currentAST, (AST) tmp91_AST); - match(STRING_LITERAL); - quotableName_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - else if ((LA(1) == ID)) - { - name(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - quotableName_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - else - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_16_); - } - else - { - throw ex; - } - } - - returnAST = quotableName_AST; - } - - public void name() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST name_AST = null; - - try - { - // for error handling - Spring.Expressions.QualifiedIdentifier tmp92_AST = null; - tmp92_AST = (Spring.Expressions.QualifiedIdentifier) astFactory.create(LT(1), "Spring.Expressions.QualifiedIdentifier"); - astFactory.makeASTRoot(ref currentAST, (AST) tmp92_AST); - match(ID); - { - // ( ... )* - for (;;) - { - if ((tokenSet_17_.member(LA(1)))) - { - { - Spring.Expressions.SpringAST tmp93_AST = null; - tmp93_AST = (Spring.Expressions.SpringAST) astFactory.create(LT(1)); - astFactory.addASTChild(ref currentAST, (AST) tmp93_AST); - match(tokenSet_17_); - } - } - else - { - goto _loop78_breakloop; - } - } - - _loop78_breakloop: ; - } // ( ... )* - name_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_16_); - } - else - { - throw ex; - } - } - - returnAST = name_AST; - } - - public void qualifiedId() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST qualifiedId_AST = null; - - try - { - // for error handling - Spring.Expressions.QualifiedIdentifier tmp94_AST = null; - tmp94_AST = (Spring.Expressions.QualifiedIdentifier) astFactory.create(LT(1), "Spring.Expressions.QualifiedIdentifier"); - astFactory.makeASTRoot(ref currentAST, (AST) tmp94_AST); - match(ID); - { - // ( ... )* - for (;;) - { - if ((LA(1) == DOT)) - { - Spring.Expressions.SpringAST tmp95_AST = null; - tmp95_AST = (Spring.Expressions.SpringAST) astFactory.create(LT(1)); - astFactory.addASTChild(ref currentAST, (AST) tmp95_AST); - match(DOT); - Spring.Expressions.SpringAST tmp96_AST = null; - tmp96_AST = (Spring.Expressions.SpringAST) astFactory.create(LT(1)); - astFactory.addASTChild(ref currentAST, (AST) tmp96_AST); - match(ID); - } - else - { - goto _loop114_breakloop; - } - } - - _loop114_breakloop: ; - } // ( ... )* - qualifiedId_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_18_); - } - else - { - throw ex; - } - } - - returnAST = qualifiedId_AST; - } - - public void ctorArgs() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST ctorArgs_AST = null; - - try - { - // for error handling - match(LPAREN); - { - if ((tokenSet_9_.member(LA(1)))) - { - namedArgument(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - { - // ( ... )* - for (;;) - { - if ((LA(1) == COMMA)) - { - match(COMMA); - namedArgument(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - } - else - { - goto _loop107_breakloop; - } - } - - _loop107_breakloop: ; - } // ( ... )* - } - else if ((LA(1) == RPAREN)) - { - } - else - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - match(RPAREN); - ctorArgs_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_2_); - } - else - { - throw ex; - } - } - - returnAST = ctorArgs_AST; - } - - public void argList() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST argList_AST = null; - - try - { - // for error handling - { - Spring.Expressions.SpringAST tmp100_AST = null; - tmp100_AST = (Spring.Expressions.SpringAST) astFactory.create(LT(1)); - astFactory.addASTChild(ref currentAST, (AST) tmp100_AST); - match(ID); - { - // ( ... )* - for (;;) - { - if ((LA(1) == COMMA)) - { - match(COMMA); - Spring.Expressions.SpringAST tmp102_AST = null; - tmp102_AST = (Spring.Expressions.SpringAST) astFactory.create(LT(1)); - astFactory.addASTChild(ref currentAST, (AST) tmp102_AST); - match(ID); - } - else - { - goto _loop87_breakloop; - } - } - - _loop87_breakloop: ; - } // ( ... )* - } - if (0 == inputState.guessing) - { - argList_AST = (Spring.Expressions.SpringAST) currentAST.root; - argList_AST = (Spring.Expressions.SpringAST) astFactory.make((AST) (Spring.Expressions.SpringAST) astFactory.create(EXPR, "args"), (AST) argList_AST); - currentAST.root = argList_AST; - if ((null != argList_AST) && (null != argList_AST.getFirstChild())) - currentAST.child = argList_AST.getFirstChild(); - else - currentAST.child = argList_AST; - currentAST.advanceChildToEnd(); - } - - argList_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_19_); - } - else - { - throw ex; - } - } - - returnAST = argList_AST; - } - - public void arrayConstructor() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST arrayConstructor_AST = null; - Spring.Expressions.SpringAST type_AST = null; - - try - { - // for error handling - match(LITERAL_new); - qualifiedId(); - if (0 == inputState.guessing) - { - type_AST = (Spring.Expressions.SpringAST) returnAST; - } - - arrayRank(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - { - if ((LA(1) == LCURLY)) - { - listInitializer(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - } - else if ((tokenSet_2_.member(LA(1)))) - { - } - else - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - if (0 == inputState.guessing) - { - arrayConstructor_AST = (Spring.Expressions.SpringAST) currentAST.root; - arrayConstructor_AST = (Spring.Expressions.SpringAST) astFactory.make((AST) (Spring.Expressions.SpringAST) astFactory.create(EXPR, type_AST.getText(), "Spring.Expressions.ArrayConstructorNode"), (AST) arrayConstructor_AST); - currentAST.root = arrayConstructor_AST; - if ((null != arrayConstructor_AST) && (null != arrayConstructor_AST.getFirstChild())) - currentAST.child = arrayConstructor_AST.getFirstChild(); - else - currentAST.child = arrayConstructor_AST; - currentAST.advanceChildToEnd(); - } - - arrayConstructor_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_2_); - } - else - { - throw ex; - } - } - - returnAST = arrayConstructor_AST; - } - - public void arrayRank() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST arrayRank_AST = null; - - try - { - // for error handling - Spring.Expressions.SpringAST tmp104_AST = null; - tmp104_AST = (Spring.Expressions.SpringAST) astFactory.create(LT(1)); - astFactory.makeASTRoot(ref currentAST, (AST) tmp104_AST); - match(LBRACKET); - { - if ((tokenSet_9_.member(LA(1)))) - { - expression(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - { - // ( ... )* - for (;;) - { - if ((LA(1) == COMMA)) - { - match(COMMA); - expression(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - } - else - { - goto _loop96_breakloop; - } - } - - _loop96_breakloop: ; - } // ( ... )* - } - else if ((LA(1) == RBRACKET)) - { - } - else - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - match(RBRACKET); - arrayRank_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_20_); - } - else - { - throw ex; - } - } - - returnAST = arrayRank_AST; - } - - public void mapEntry() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST mapEntry_AST = null; - - try - { - // for error handling - expression(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - match(COLON); - expression(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - if (0 == inputState.guessing) - { - mapEntry_AST = (Spring.Expressions.SpringAST) currentAST.root; - mapEntry_AST = (Spring.Expressions.SpringAST) astFactory.make((AST) (Spring.Expressions.SpringAST) astFactory.create(EXPR, "entry", "Spring.Expressions.MapEntryNode"), (AST) mapEntry_AST); - currentAST.root = mapEntry_AST; - if ((null != mapEntry_AST) && (null != mapEntry_AST.getFirstChild())) - currentAST.child = mapEntry_AST.getFirstChild(); - else - currentAST.child = mapEntry_AST; - currentAST.advanceChildToEnd(); - } - - mapEntry_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_21_); - } - else - { - throw ex; - } - } - - returnAST = mapEntry_AST; - } - - public void namedArgument() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST namedArgument_AST = null; - - try - { - // for error handling - bool synPredMatched111 = false; - if (((LA(1) == ID) && (LA(2) == ASSIGN))) - { - int _m111 = mark(); - synPredMatched111 = true; - inputState.guessing++; - try - { - { - match(ID); - match(ASSIGN); - } - } - catch (RecognitionException) - { - synPredMatched111 = false; - } - - rewind(_m111); - inputState.guessing--; - } - - if (synPredMatched111) - { - Spring.Expressions.NamedArgumentNode tmp108_AST = null; - tmp108_AST = (Spring.Expressions.NamedArgumentNode) astFactory.create(LT(1), "Spring.Expressions.NamedArgumentNode"); - astFactory.makeASTRoot(ref currentAST, (AST) tmp108_AST); - match(ID); - match(ASSIGN); - expression(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - namedArgument_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - else if ((tokenSet_9_.member(LA(1))) && (tokenSet_22_.member(LA(2)))) - { - argument(); - if (0 == inputState.guessing) - { - astFactory.addASTChild(ref currentAST, (AST) returnAST); - } - - namedArgument_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - else - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_23_); - } - else - { - throw ex; - } - } - - returnAST = namedArgument_AST; - } - - public void boolLiteral() //throws RecognitionException, TokenStreamException - { - returnAST = null; - ASTPair currentAST = new ASTPair(); - Spring.Expressions.SpringAST boolLiteral_AST = null; - - try - { - // for error handling - if ((LA(1) == TRUE)) - { - Spring.Expressions.BooleanLiteralNode tmp110_AST = null; - tmp110_AST = (Spring.Expressions.BooleanLiteralNode) astFactory.create(LT(1), "Spring.Expressions.BooleanLiteralNode"); - astFactory.addASTChild(ref currentAST, (AST) tmp110_AST); - match(TRUE); - boolLiteral_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - else if ((LA(1) == FALSE)) - { - Spring.Expressions.BooleanLiteralNode tmp111_AST = null; - tmp111_AST = (Spring.Expressions.BooleanLiteralNode) astFactory.create(LT(1), "Spring.Expressions.BooleanLiteralNode"); - astFactory.addASTChild(ref currentAST, (AST) tmp111_AST); - match(FALSE); - boolLiteral_AST = (Spring.Expressions.SpringAST) currentAST.root; - } - else - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - catch (RecognitionException ex) - { - if (0 == inputState.guessing) - { - reportError(ex); - recover(ex, tokenSet_2_); - } - else - { - throw ex; - } - } - - returnAST = boolLiteral_AST; - } - - public new Spring.Expressions.SpringAST getAST() - { - return (Spring.Expressions.SpringAST) returnAST; - } - - private void initializeFactory() - { - if (astFactory == null) - { - astFactory = new ASTFactory("Spring.Expressions.SpringAST"); - } - - initializeASTFactory(astFactory); - } - - static public void initializeASTFactory(ASTFactory factory) - { - factory.setMaxNodeType(71); - } - - public static readonly string[] tokenNames_ = new string[] { @"""<0>""", @"""EOF""", @"""<2>""", @"""NULL_TREE_LOOKAHEAD""", @"""EXPR""", @"""OPERAND""", @"""false""", @"""true""", @"""and""", @"""or""", @"""xor""", @"""in""", @"""is""", @"""between""", @"""like""", @"""matches""", @"""null""", @"""LPAREN""", @"""SEMI""", @"""RPAREN""", @"""ASSIGN""", @"""DEFAULT""", @"""QMARK""", @"""COLON""", @"""PLUS""", @"""MINUS""", @"""STAR""", @"""DIV""", @"""MOD""", @"""POWER""", @"""BANG""", @"""DOT""", @"""POUND""", @"""ID""", @"""DOLLAR""", @"""COMMA""", @"""AT""", @"""LBRACKET""", @"""RBRACKET""", @"""PROJECT""", @"""RCURLY""", @"""SELECT""", @"""SELECT_FIRST""", @"""SELECT_LAST""", @"""TYPE""", @"""QUOTE""", @"""STRING_LITERAL""", @"""LAMBDA""", @"""PIPE""", @"""new""", @"""LCURLY""", @"""INTEGER_LITERAL""", @"""HEXADECIMAL_INTEGER_LITERAL""", @"""REAL_LITERAL""", @"""EQUAL""", @"""NOT_EQUAL""", @"""LESS_THAN""", @"""LESS_THAN_OR_EQUAL""", @"""GREATER_THAN""", @"""GREATER_THAN_OR_EQUAL""", @"""WS""", @"""BACKTICK""", @"""BACKSLASH""", @"""DOT_ESCAPED""", @"""APOS""", @"""NUMERIC_LITERAL""", @"""DECIMAL_DIGIT""", @"""INTEGER_TYPE_SUFFIX""", @"""HEX_DIGIT""", @"""EXPONENT_PART""", @"""SIGN""", @"""REAL_TYPE_SUFFIX""" }; - - private static long[] mk_tokenSet_0_() - { - long[] data = { 2L, 0L }; - return data; - } - - public static readonly BitSet tokenSet_0_ = new BitSet(mk_tokenSet_0_()); - - private static long[] mk_tokenSet_1_() - { - long[] data = { 1408758448130L, 0L }; - return data; - } - - public static readonly BitSet tokenSet_1_ = new BitSet(mk_tokenSet_1_()); - - private static long[] mk_tokenSet_2_() - { - long[] data = { 1134924607015288578L, 0L }; - return data; - } - - public static readonly BitSet tokenSet_2_ = new BitSet(mk_tokenSet_2_()); - - private static long[] mk_tokenSet_3_() - { - long[] data = { 1408765788162L, 0L }; - return data; - } - - public static readonly BitSet tokenSet_3_ = new BitSet(mk_tokenSet_3_()); - - private static long[] mk_tokenSet_4_() - { - long[] data = { 1408765788674L, 0L }; - return data; - } - - public static readonly BitSet tokenSet_4_ = new BitSet(mk_tokenSet_4_()); - - private static long[] mk_tokenSet_5_() - { - long[] data = { 1408765789698L, 0L }; - return data; - } - - public static readonly BitSet tokenSet_5_ = new BitSet(mk_tokenSet_5_()); - - private static long[] mk_tokenSet_6_() - { - long[] data = { 1134907106097428480L, 0L }; - return data; - } - - public static readonly BitSet tokenSet_6_ = new BitSet(mk_tokenSet_6_()); - - private static long[] mk_tokenSet_7_() - { - long[] data = { 1408765789954L, 0L }; - return data; - } - - public static readonly BitSet tokenSet_7_ = new BitSet(mk_tokenSet_7_()); - - private static long[] mk_tokenSet_8_() - { - long[] data = { 1134908514863218434L, 0L }; - return data; - } - - public static readonly BitSet tokenSet_8_ = new BitSet(mk_tokenSet_8_()); - - private static long[] mk_tokenSet_9_() - { - long[] data = { 17696327240712384L, 0L }; - return data; - } - - public static readonly BitSet tokenSet_9_ = new BitSet(mk_tokenSet_9_()); - - private static long[] mk_tokenSet_10_() - { - long[] data = { 1134908514913550082L, 0L }; - return data; - } - - public static readonly BitSet tokenSet_10_ = new BitSet(mk_tokenSet_10_()); - - private static long[] mk_tokenSet_11_() - { - long[] data = { 1134908515383312130L, 0L }; - return data; - } - - public static readonly BitSet tokenSet_11_ = new BitSet(mk_tokenSet_11_()); - - private static long[] mk_tokenSet_12_() - { - long[] data = { 17696326116638912L, 0L }; - return data; - } - - public static readonly BitSet tokenSet_12_ = new BitSet(mk_tokenSet_12_()); - - private static long[] mk_tokenSet_13_() - { - long[] data = { 1134908515920183042L, 0L }; - return data; - } - - public static readonly BitSet tokenSet_13_ = new BitSet(mk_tokenSet_13_()); - - private static long[] mk_tokenSet_14_() - { - long[] data = { 16091095105536L, 0L }; - return data; - } - - public static readonly BitSet tokenSet_14_ = new BitSet(mk_tokenSet_14_()); - - private static long[] mk_tokenSet_15_() - { - long[] data = { 309238169600L, 0L }; - return data; - } - - public static readonly BitSet tokenSet_15_ = new BitSet(mk_tokenSet_15_()); - - private static long[] mk_tokenSet_16_() - { - long[] data = { 8912896L, 0L }; - return data; - } - - public static readonly BitSet tokenSet_16_ = new BitSet(mk_tokenSet_16_()); - - private static long[] mk_tokenSet_17_() - { - long[] data = { -35184381001744L, 255L, 0L, 0L }; - return data; - } - - public static readonly BitSet tokenSet_17_ = new BitSet(mk_tokenSet_17_()); - - private static long[] mk_tokenSet_18_() - { - long[] data = { 412316991488L, 0L }; - return data; - } - - public static readonly BitSet tokenSet_18_ = new BitSet(mk_tokenSet_18_()); - - private static long[] mk_tokenSet_19_() - { - long[] data = { 281474976710656L, 0L }; - return data; - } - - public static readonly BitSet tokenSet_19_ = new BitSet(mk_tokenSet_19_()); - - private static long[] mk_tokenSet_20_() - { - long[] data = { 1136050506922131202L, 0L }; - return data; - } - - public static readonly BitSet tokenSet_20_ = new BitSet(mk_tokenSet_20_()); - - private static long[] mk_tokenSet_21_() - { - long[] data = { 1133871366144L, 0L }; - return data; - } - - public static readonly BitSet tokenSet_21_ = new BitSet(mk_tokenSet_21_()); - - private static long[] mk_tokenSet_22_() - { - long[] data = { 1152884945836572608L, 0L }; - return data; - } - - public static readonly BitSet tokenSet_22_ = new BitSet(mk_tokenSet_22_()); - - private static long[] mk_tokenSet_23_() - { - long[] data = { 34360262656L, 0L }; - return data; - } - - public static readonly BitSet tokenSet_23_ = new BitSet(mk_tokenSet_23_()); -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/ExpressionParserTokenTypes.cs b/src/Spring/Spring.Core/Expressions/Parser/ExpressionParserTokenTypes.cs index 4a7f760d1..5b068a828 100644 --- a/src/Spring/Spring.Core/Expressions/Parser/ExpressionParserTokenTypes.cs +++ b/src/Spring/Spring.Core/Expressions/Parser/ExpressionParserTokenTypes.cs @@ -1,77 +1,79 @@ -// $ANTLR 2.7.6 (2005-12-22): "Expression.g" -> "ExpressionLexer.cs"$ - -namespace Spring.Expressions.Parser; - -public class ExpressionParserTokenTypes -{ - public const int EOF = 1; - public const int NULL_TREE_LOOKAHEAD = 3; - public const int EXPR = 4; - public const int OPERAND = 5; - public const int FALSE = 6; - public const int TRUE = 7; - public const int AND = 8; - public const int OR = 9; - public const int XOR = 10; - public const int IN = 11; - public const int IS = 12; - public const int BETWEEN = 13; - public const int LIKE = 14; - public const int MATCHES = 15; - public const int NULL_LITERAL = 16; - public const int LPAREN = 17; - public const int SEMI = 18; - public const int RPAREN = 19; - public const int ASSIGN = 20; - public const int DEFAULT = 21; - public const int QMARK = 22; - public const int COLON = 23; - public const int PLUS = 24; - public const int MINUS = 25; - public const int STAR = 26; - public const int DIV = 27; - public const int MOD = 28; - public const int POWER = 29; - public const int BANG = 30; - public const int DOT = 31; - public const int POUND = 32; - public const int ID = 33; - public const int DOLLAR = 34; - public const int COMMA = 35; - public const int AT = 36; - public const int LBRACKET = 37; - public const int RBRACKET = 38; - public const int PROJECT = 39; - public const int RCURLY = 40; - public const int SELECT = 41; - public const int SELECT_FIRST = 42; - public const int SELECT_LAST = 43; - public const int TYPE = 44; - public const int QUOTE = 45; - public const int STRING_LITERAL = 46; - public const int LAMBDA = 47; - public const int PIPE = 48; - public const int LITERAL_new = 49; - public const int LCURLY = 50; - public const int INTEGER_LITERAL = 51; - public const int HEXADECIMAL_INTEGER_LITERAL = 52; - public const int REAL_LITERAL = 53; - public const int EQUAL = 54; - public const int NOT_EQUAL = 55; - public const int LESS_THAN = 56; - public const int LESS_THAN_OR_EQUAL = 57; - public const int GREATER_THAN = 58; - public const int GREATER_THAN_OR_EQUAL = 59; - public const int WS = 60; - public const int BACKTICK = 61; - public const int BACKSLASH = 62; - public const int DOT_ESCAPED = 63; - public const int APOS = 64; - public const int NUMERIC_LITERAL = 65; - public const int DECIMAL_DIGIT = 66; - public const int INTEGER_TYPE_SUFFIX = 67; - public const int HEX_DIGIT = 68; - public const int EXPONENT_PART = 69; - public const int SIGN = 70; - public const int REAL_TYPE_SUFFIX = 71; -} +namespace Spring.Expressions.Parser; + +/// +/// The values of : the token a node comes from, or when it comes from +/// a whole grammar rule. Part of the serialized form of a parsed expression. +/// +public class ExpressionParserTokenTypes +{ + public const int EOF = 1; + public const int NULL_TREE_LOOKAHEAD = 3; + public const int EXPR = 4; + public const int OPERAND = 5; + public const int FALSE = 6; + public const int TRUE = 7; + public const int AND = 8; + public const int OR = 9; + public const int XOR = 10; + public const int IN = 11; + public const int IS = 12; + public const int BETWEEN = 13; + public const int LIKE = 14; + public const int MATCHES = 15; + public const int NULL_LITERAL = 16; + public const int LPAREN = 17; + public const int SEMI = 18; + public const int RPAREN = 19; + public const int ASSIGN = 20; + public const int DEFAULT = 21; + public const int QMARK = 22; + public const int COLON = 23; + public const int PLUS = 24; + public const int MINUS = 25; + public const int STAR = 26; + public const int DIV = 27; + public const int MOD = 28; + public const int POWER = 29; + public const int BANG = 30; + public const int DOT = 31; + public const int POUND = 32; + public const int ID = 33; + public const int DOLLAR = 34; + public const int COMMA = 35; + public const int AT = 36; + public const int LBRACKET = 37; + public const int RBRACKET = 38; + public const int PROJECT = 39; + public const int RCURLY = 40; + public const int SELECT = 41; + public const int SELECT_FIRST = 42; + public const int SELECT_LAST = 43; + public const int TYPE = 44; + public const int QUOTE = 45; + public const int STRING_LITERAL = 46; + public const int LAMBDA = 47; + public const int PIPE = 48; + public const int LITERAL_new = 49; + public const int LCURLY = 50; + public const int INTEGER_LITERAL = 51; + public const int HEXADECIMAL_INTEGER_LITERAL = 52; + public const int REAL_LITERAL = 53; + public const int EQUAL = 54; + public const int NOT_EQUAL = 55; + public const int LESS_THAN = 56; + public const int LESS_THAN_OR_EQUAL = 57; + public const int GREATER_THAN = 58; + public const int GREATER_THAN_OR_EQUAL = 59; + public const int WS = 60; + public const int BACKTICK = 61; + public const int BACKSLASH = 62; + public const int DOT_ESCAPED = 63; + public const int APOS = 64; + public const int NUMERIC_LITERAL = 65; + public const int DECIMAL_DIGIT = 66; + public const int INTEGER_TYPE_SUFFIX = 67; + public const int HEX_DIGIT = 68; + public const int EXPONENT_PART = 69; + public const int SIGN = 70; + public const int REAL_TYPE_SUFFIX = 71; +} diff --git a/src/Spring/Spring.Core/Expressions/Parser/ExpressionParserTokenTypes.txt b/src/Spring/Spring.Core/Expressions/Parser/ExpressionParserTokenTypes.txt deleted file mode 100644 index bd2a50213..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/ExpressionParserTokenTypes.txt +++ /dev/null @@ -1,70 +0,0 @@ -// $ANTLR 2.7.6 (2005-12-22): Expression.g -> ExpressionParserTokenTypes.txt$ -ExpressionParser // output token vocab name -EXPR=4 -OPERAND=5 -FALSE="false"=6 -TRUE="true"=7 -AND="and"=8 -OR="or"=9 -XOR="xor"=10 -IN="in"=11 -IS="is"=12 -BETWEEN="between"=13 -LIKE="like"=14 -MATCHES="matches"=15 -NULL_LITERAL="null"=16 -LPAREN=17 -SEMI=18 -RPAREN=19 -ASSIGN=20 -DEFAULT=21 -QMARK=22 -COLON=23 -PLUS=24 -MINUS=25 -STAR=26 -DIV=27 -MOD=28 -POWER=29 -BANG=30 -DOT=31 -POUND=32 -ID=33 -DOLLAR=34 -COMMA=35 -AT=36 -LBRACKET=37 -RBRACKET=38 -PROJECT=39 -RCURLY=40 -SELECT=41 -SELECT_FIRST=42 -SELECT_LAST=43 -TYPE=44 -QUOTE=45 -STRING_LITERAL=46 -LAMBDA=47 -PIPE=48 -LITERAL_new="new"=49 -LCURLY=50 -INTEGER_LITERAL=51 -HEXADECIMAL_INTEGER_LITERAL=52 -REAL_LITERAL=53 -EQUAL=54 -NOT_EQUAL=55 -LESS_THAN=56 -LESS_THAN_OR_EQUAL=57 -GREATER_THAN=58 -GREATER_THAN_OR_EQUAL=59 -WS=60 -BACKTICK=61 -BACKSLASH=62 -DOT_ESCAPED=63 -APOS=64 -NUMERIC_LITERAL=65 -DECIMAL_DIGIT=66 -INTEGER_TYPE_SUFFIX=67 -HEX_DIGIT=68 -EXPONENT_PART=69 -SIGN=70 -REAL_TYPE_SUFFIX=71 diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/ANTLRException.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/ANTLRException.cs deleted file mode 100644 index f1c084dad..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/ANTLRException.cs +++ /dev/null @@ -1,33 +0,0 @@ -namespace Spring.Expressions.Parser.antlr; - -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// -using System; - -[Serializable] -public class ANTLRException : Exception -{ - public ANTLRException() : base() - { - } - - public ANTLRException(string s) : base(s) - { - } - - public ANTLRException(string s, Exception inner) : base(s, inner) - { - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/ANTLRPanicException.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/ANTLRPanicException.cs deleted file mode 100644 index 09a8082b0..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/ANTLRPanicException.cs +++ /dev/null @@ -1,33 +0,0 @@ -namespace Spring.Expressions.Parser.antlr; - -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// -using System; - -[Serializable] -public class ANTLRPanicException : ANTLRException -{ - public ANTLRPanicException() : base() - { - } - - public ANTLRPanicException(string s) : base(s) - { - } - - public ANTLRPanicException(string s, Exception inner) : base(s, inner) - { - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/ASTFactory.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/ASTFactory.cs deleted file mode 100644 index 4986e6127..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/ASTFactory.cs +++ /dev/null @@ -1,717 +0,0 @@ -using System.Collections; -using Assembly = System.Reflection.Assembly; -using Debug = System.Diagnostics.Debug; -using AST = Spring.Expressions.Parser.antlr.collections.AST; -using ASTArray = Spring.Expressions.Parser.antlr.collections.impl.ASTArray; - -namespace Spring.Expressions.Parser.antlr; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// - -// HISTORY: -// -// 19-Aug-2002 kunle Augmented the basic flexibility of the default ASTFactory with a map -// of TokenID-to-NodeTypeName. It's now a proper GoF-style Factory ;-) -// - -/// -/// AST Support code shared by TreeParser and Parser. -/// -/// -/// -/// We use delegation to share code (and have only one -/// bit of code to maintain) rather than subclassing -/// or superclassing (forces AST support code to be -/// loaded even when you don't want to do AST stuff). -/// -/// -/// Typically, is used to specify the -/// homogeneous type of node to create, but you can override -/// to make heterogeneous nodes etc... -/// -/// -public class ASTFactory -{ - //--------------------------------------------------------------------- - // CONSTRUCTORS - //--------------------------------------------------------------------- - - /// - /// Constructs an ASTFactory with the default AST node type of - /// . - /// - public ASTFactory() : this(typeof(antlr.CommonAST)) - { - } - - /// - /// Constructs an ASTFactory and use the specified AST node type - /// as the default. - /// - /// - /// Name of default AST node type for this factory. - /// - public ASTFactory(string nodeTypeName) - : this(loadNodeTypeObject(nodeTypeName)) - { - } - - /// - /// Constructs an ASTFactory and use the specified AST node type - /// as the default. - /// - /// - /// MetaType of default AST node type for this factory. - /// - public ASTFactory(Type nodeType) - { - heteroList_ = new FactoryEntry[Token.MIN_USER_TYPE + 1]; - defaultASTNodeTypeObject_ = nodeType; - defaultCreator_ = null; - typename2creator_ = new Hashtable(32, (float) 0.3); - typename2creator_[typeof(antlr.CommonAST).FullName] = CommonAST.Creator; - typename2creator_[typeof(antlr.CommonASTWithHiddenTokens).FullName] = CommonASTWithHiddenTokens.Creator; - } - - //--------------------------------------------------------------------- - // DATA MEMBERS - //--------------------------------------------------------------------- - - /// - /// Stores the Type of the default AST node class to be used during tree construction. - /// - protected Type defaultASTNodeTypeObject_; - - protected ASTNodeCreator defaultCreator_; - - /// - /// Stores the mapping between custom AST NodeTypes and their NodeTypeName/NodeTypeClass - /// and ASTNodeCreator. - /// - protected FactoryEntry[] heteroList_; - - /// - /// Stores the mapping between AST node typenames and their token ID. - /// - protected Hashtable typename2creator_; - - //--------------------------------------------------------------------- - // FUNCTION MEMBERS - //--------------------------------------------------------------------- - - /// - /// Specify an "override" for the type created for - /// the specified Token type. - /// - /// - /// This method is useful for situations that ANTLR cannot oridinarily deal - /// with (i.e., when you create a token based upon a nonliteral token symbol - /// like #[LT(1)]. This is a runtime value and ANTLR cannot determine the token - /// type (and hence the AST) statically. - /// - /// Token type to override. - /// - /// Fully qualified AST typename (or null to specify - /// the factory's default AST type). - /// - public void setTokenTypeASTNodeType(int tokenType, string NodeTypeName) - { - // check validity of arguments... - if (tokenType < Token.MIN_USER_TYPE) - throw new ANTLRException("Internal parser error: Cannot change AST Node Type for Token ID '" + tokenType + "'"); - - // resize up to and including 'type' and initialize any gaps to default - // factory. - if (tokenType > (heteroList_.Length + 1)) - setMaxNodeType(tokenType); - // And add new thing.. - if (heteroList_[tokenType] == null) - heteroList_[tokenType] = new FactoryEntry(loadNodeTypeObject(NodeTypeName)); - else - heteroList_[tokenType].NodeTypeObject = loadNodeTypeObject(NodeTypeName); - } - - /// - /// Register an AST Node Type for a given Token type ID. - /// - /// The Token type ID. - /// The AST Node Type to register. - [Obsolete("Replaced by setTokenTypeASTNodeType(int, string) since version 2.7.2.6", true)] - public void registerFactory(int NodeType, string NodeTypeName) - { - setTokenTypeASTNodeType(NodeType, NodeTypeName); - } - - /// - /// Register an ASTNodeCreator for a given Token type ID. - /// - /// The Token type ID. - /// The creater to register. - public void setTokenTypeASTNodeCreator(int NodeType, ASTNodeCreator creator) - { - // check validity of arguments... - if (NodeType < Token.MIN_USER_TYPE) - throw new ANTLRException("Internal parser error: Cannot change AST Node Type for Token ID '" + NodeType + "'"); - - // resize up to and including 'type' and initialize any gaps to default - // factory. - if (NodeType > (heteroList_.Length + 1)) - setMaxNodeType(NodeType); - // And add new thing.. - if (heteroList_[NodeType] == null) - heteroList_[NodeType] = new FactoryEntry(creator); - else - heteroList_[NodeType].Creator = creator; - - //typename2creator_[NodeType.ToString()] = creator; - typename2creator_[creator.ASTNodeTypeName] = creator; - } - - /// - /// Register an ASTNodeCreator to be used for creating node by default. - /// - /// The ASTNodeCreator. - public void setASTNodeCreator(ASTNodeCreator creator) - { - defaultCreator_ = creator; - } - - /// - /// Pre-expands the internal list of TokenTypeID-to-ASTNodeType mappings - /// to the specified size. - /// This is primarily a convenience method that can be used to prevent - /// unnecessary and costly re-org of the mappings list. - /// - /// Maximum Token Type ID. - public void setMaxNodeType(int NodeType) - { - //Debug.WriteLine(this, "NodeType = " + NodeType + " and NodeList.Length = " + nodeTypeList_.Length); - if (heteroList_ == null) - { - heteroList_ = new FactoryEntry[NodeType + 1]; - } - else - { - int length = heteroList_.Length; - - if (NodeType >= length) - { - FactoryEntry[] newList = new FactoryEntry[NodeType + 1]; - Array.Copy(heteroList_, 0, newList, 0, length); - heteroList_ = newList; - } - else if (NodeType < length) - { - FactoryEntry[] newList = new FactoryEntry[NodeType + 1]; - Array.Copy(heteroList_, 0, newList, 0, (NodeType + 1)); - heteroList_ = newList; - } - } - //Debug.WriteLine(this, "NodeType = " + NodeType + " and NodeList.Length = " + nodeTypeList_.Length); - } - - /// - /// Add a child to the current AST - /// - /// The AST to add a child to - /// The child AST to be added - public virtual void addASTChild(ref ASTPair currentAST, AST child) - { - if (child != null) - { - if (currentAST.root == null) - { - // Make new child the current root - currentAST.root = child; - } - else - { - if (currentAST.child == null) - { - // Add new child to current root - currentAST.root.setFirstChild(child); - } - else - { - currentAST.child.setNextSibling(child); - } - } - - // Make new child the current child - currentAST.child = child; - currentAST.advanceChildToEnd(); - } - } - - /// - /// Creates a new uninitialized AST node. Since a specific AST Node Type - /// wasn't indicated, the new AST node is created using the current default - /// AST Node type - - /// - /// An uninitialized AST node object. - public virtual AST create() - { - AST newNode; - - if (defaultCreator_ == null) - newNode = createFromNodeTypeObject(defaultASTNodeTypeObject_); - else - newNode = defaultCreator_.Create(); - - return newNode; - } - - /// - /// Creates and initializes a new AST node using the specified Token Type ID. - /// The used for creating this new AST node is - /// determined by the following: - /// - /// the current TokenTypeID-to-ASTNodeType mapping (if any) or, - /// the otherwise - /// - /// - /// Token type ID to be used to create new AST Node. - /// An initialized AST node object. - public virtual AST create(int type) - { - AST newNode = createFromNodeType(type); - newNode.initialize(type, ""); - return newNode; - } - - /// - /// Creates and initializes a new AST node using the specified Token Type ID. - /// The used for creating this new AST node is - /// determined by the following: - /// - /// the current TokenTypeID-to-ASTNodeType mapping (if any) or, - /// the otherwise - /// - /// - /// Token type ID to be used to create new AST Node. - /// Text for initializing the new AST Node. - /// An initialized AST node object. - public virtual AST create(int type, string txt) - { - AST newNode = createFromNodeType(type); - newNode.initialize(type, txt); - return newNode; - } - - /// - /// Creates a new AST node using the specified AST Node Type name. Once created, - /// the new AST node is initialized with the specified Token type ID and string. - /// The used for creating this new AST node is - /// determined solely by ASTNodeTypeName. - /// The AST Node type must have a default/parameterless constructor. - /// - /// Token type ID to be used to create new AST Node. - /// Text for initializing the new AST Node. - /// Fully qualified name of the Type to be used for creating the new AST Node. - /// An initialized AST node object. - public virtual AST create(int type, string txt, string ASTNodeTypeName) - { - AST newNode = createFromNodeName(ASTNodeTypeName); - newNode.initialize(type, txt); - return newNode; - } - - /// - /// Creates a new AST node using the specified AST Node Type name. - /// - /// Token instance to be used to initialize the new AST Node. - /// - /// Fully qualified name of the Type to be used for creating the new AST Node. - /// - /// A newly created and initialized AST node object. - /// - /// Once created, the new AST node is initialized with the specified Token - /// instance. The used for creating this new AST - /// node is determined solely by ASTNodeTypeName. - /// The AST Node type must have a default/parameterless constructor. - /// - public virtual AST create(IToken tok, string ASTNodeTypeName) - { - AST newNode = createFromNodeName(ASTNodeTypeName); - newNode.initialize(tok); - return newNode; - } - - /// - /// Creates and initializes a new AST node using the specified AST Node instance. - /// the new AST node is initialized with the specified Token type ID and string. - /// The used for creating this new AST node is - /// determined solely by aNode. - /// The AST Node type must have a default/parameterless constructor. - /// - /// AST Node instance to be used for creating the new AST Node. - /// An initialized AST node object. - public virtual AST create(AST aNode) - { - AST newNode; - - if (aNode == null) - newNode = null; - else - { - newNode = createFromAST(aNode); - newNode.initialize(aNode); - } - - return newNode; - } - - /// - /// Creates and initializes a new AST node using the specified Token instance. - /// The used for creating this new AST node is - /// determined by the following: - /// - /// the current TokenTypeID-to-ASTNodeType mapping (if any) or, - /// the otherwise - /// - /// - /// Token instance to be used to create new AST Node. - /// An initialized AST node object. - public virtual AST create(IToken tok) - { - AST newNode; - - if (tok == null) - newNode = null; - else - { - newNode = createFromNodeType(tok.Type); - newNode.initialize(tok); - } - - return newNode; - } - - /// - /// Returns a copy of the specified AST Node instance. The copy is obtained by - /// using the method Clone(). - /// - /// AST Node to copy. - /// An AST Node (or null if t is null). - public virtual AST dup(AST t) - { - // The Java version is implemented using code like this: - if (t == null) - return null; - - AST dup_edNode = createFromAST(t); - dup_edNode.initialize(t); - return dup_edNode; - } - - /// - /// Duplicate AST Node tree rooted at specified AST node and all of it's siblings. - /// - /// Root of AST Node tree. - /// Root node of new AST Node tree (or null if t is null). - public virtual AST dupList(AST t) - { - AST result = dupTree(t); // if t == null, then result==null - AST nt = result; - while (t != null) - { - // for each sibling of the root - t = t.getNextSibling(); - nt.setNextSibling(dupTree(t)); // dup each subtree, building new tree - nt = nt.getNextSibling(); - } - - return result; - } - - /// - /// Duplicate AST Node tree rooted at specified AST node. Ignore it's siblings. - /// - /// Root of AST Node tree. - /// Root node of new AST Node tree (or null if t is null). - public virtual AST dupTree(AST t) - { - AST result = dup(t); // make copy of root - // copy all children of root. - if (t != null) - { - result.setFirstChild(dupList(t.getFirstChild())); - } - - return result; - } - - /// - /// Make a tree from a list of nodes. The first element in the - /// array is the root. If the root is null, then the tree is - /// a simple list not a tree. Handles null children nodes correctly. - /// For example, build(a, b, null, c) yields tree (a b c). build(null,a,b) - /// yields tree (nil a b). - /// - /// List of Nodes. - /// AST Node tree. - public virtual AST make(params AST[] nodes) - { - if (nodes == null || nodes.Length == 0) - return null; - AST root = nodes[0]; - AST tail = null; - if (root != null) - { - root.setFirstChild(null); // don't leave any old pointers set - } - - // link in children; - for (int i = 1; i < nodes.Length; i++) - { - if (nodes[i] == null) - continue; - // ignore null nodes - if (root == null) - { - // Set the root and set it up for a flat list - root = (tail = nodes[i]); - } - else if (tail == null) - { - root.setFirstChild(nodes[i]); - tail = root.getFirstChild(); - } - else - { - tail.setNextSibling(nodes[i]); - tail = tail.getNextSibling(); - } - - // Chase tail to last sibling - while (tail.getNextSibling() != null) - { - tail = tail.getNextSibling(); - } - } - - return root; - } - - /// - /// Make a tree from a list of nodes, where the nodes are contained - /// in an ASTArray object. - /// - /// List of Nodes. - /// AST Node tree. - public virtual AST make(ASTArray nodes) - { - return make(nodes.array); - } - - /// - /// Make an AST the root of current AST. - /// - /// - /// - public virtual void makeASTRoot(ref ASTPair currentAST, AST root) - { - if (root != null) - { - // Add the current root as a child of new root - root.addChild(currentAST.root); - // The new current child is the last sibling of the old root - currentAST.child = currentAST.root; - currentAST.advanceChildToEnd(); - // Set the new root - currentAST.root = root; - } - } - - /// - /// Sets the global default AST Node Type for this ASTFactory instance. - /// This method also attempts to load the instance - /// for the specified typename. - /// - /// Fully qualified AST Node Type name. - public virtual void setASTNodeType(string t) - { - if (defaultCreator_ != null) - { - if (t != defaultCreator_.ASTNodeTypeName) - { - defaultCreator_ = null; - } - } - - defaultASTNodeTypeObject_ = loadNodeTypeObject(t); - } - - /// - /// To change where error messages go, can subclass/override this method - /// and then setASTFactory in Parser and TreeParser. This method removes - /// a prior dependency on class antlr.Tool. - /// - /// - public virtual void error(string e) - { - Console.Error.WriteLine(e); - } - - //--------------------------------------------------------------------- - // PRIVATE FUNCTION MEMBERS - //--------------------------------------------------------------------- - - private static Type loadNodeTypeObject(string nodeTypeName) - { - Type nodeTypeObject = null; - bool typeCreated = false; - - if (nodeTypeName != null) - { - foreach (Assembly assem in AppDomain.CurrentDomain.GetAssemblies()) - { - try - { - nodeTypeObject = assem.GetType(nodeTypeName); - if (nodeTypeObject != null) - { - typeCreated = true; - break; - } - } - catch - { - typeCreated = false; - } - } - } - - if (!typeCreated) - { - throw new TypeLoadException("Unable to load AST Node Type: '" + nodeTypeName + "'"); - } - - return nodeTypeObject; - } - - private AST createFromAST(AST node) - { - AST newNode = null; - Type nodeAsTypeObj = node.GetType(); - - ASTNodeCreator creator = (ASTNodeCreator) typename2creator_[nodeAsTypeObj.FullName]; - if (creator != null) - { - newNode = creator.Create(); - if (newNode == null) - { - throw new ArgumentException("Unable to create AST Node Type: '" + nodeAsTypeObj.FullName + "'"); - } - } - else - { - newNode = createFromNodeTypeObject(nodeAsTypeObj); - } - - return newNode; - } - - private AST createFromNodeName(string nodeTypeName) - { - AST newNode = null; - - ASTNodeCreator creator = (ASTNodeCreator) typename2creator_[nodeTypeName]; - if (creator != null) - { - newNode = creator.Create(); - if (newNode == null) - { - throw new ArgumentException("Unable to create AST Node Type: '" + nodeTypeName + "'"); - } - } - else - { - newNode = createFromNodeTypeObject(loadNodeTypeObject(nodeTypeName)); - } - - return newNode; - } - - private AST createFromNodeType(int nodeTypeIndex) - { - Debug.Assert((nodeTypeIndex >= 0) && (nodeTypeIndex <= heteroList_.Length), "Invalid AST node type!"); - AST newNode = null; - - FactoryEntry entry = heteroList_[nodeTypeIndex]; - if ((entry != null) && (entry.Creator != null)) - { - newNode = entry.Creator.Create(); - } - else - { - if ((entry == null) || (entry.NodeTypeObject == null)) - { - if (defaultCreator_ == null) - { - newNode = createFromNodeTypeObject(defaultASTNodeTypeObject_); - } - else - newNode = defaultCreator_.Create(); - } - else - newNode = createFromNodeTypeObject(entry.NodeTypeObject); - } - - return newNode; - } - - private AST createFromNodeTypeObject(Type nodeTypeObject) - { - AST newNode = null; - - try - { - newNode = (AST) Activator.CreateInstance(nodeTypeObject); - if (newNode == null) - { - throw new ArgumentException("Unable to create AST Node Type: '" + nodeTypeObject.FullName + "'"); - } - } - catch (Exception ex) - { - throw new ArgumentException("Unable to create AST Node Type: '" + nodeTypeObject.FullName + "'", ex); - } - - return newNode; - } - - protected class FactoryEntry - { - public FactoryEntry(Type typeObj, ASTNodeCreator creator) - { - NodeTypeObject = typeObj; - Creator = creator; - } - - public FactoryEntry(Type typeObj) - { - NodeTypeObject = typeObj; - } - - public FactoryEntry(ASTNodeCreator creator) - { - Creator = creator; - } - - public Type NodeTypeObject; - public ASTNodeCreator Creator; - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/ASTNULLType.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/ASTNULLType.cs deleted file mode 100644 index 7b9767530..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/ASTNULLType.cs +++ /dev/null @@ -1,137 +0,0 @@ -using IEnumerator = System.Collections.IEnumerator; -using AST = Spring.Expressions.Parser.antlr.collections.AST; - -namespace Spring.Expressions.Parser.antlr; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// - -/*There is only one instance of this class **/ -public class ASTNULLType : AST -{ - public virtual void addChild(AST c) { } - - public virtual bool Equals(AST t) - { - return false; - } - - public virtual bool EqualsList(AST t) - { - return false; - } - - public virtual bool EqualsListPartial(AST t) - { - return false; - } - - public virtual bool EqualsTree(AST t) - { - return false; - } - - public virtual bool EqualsTreePartial(AST t) - { - return false; - } - - public virtual IEnumerator findAll(AST tree) - { - return null; - } - - public virtual IEnumerator findAllPartial(AST subtree) - { - return null; - } - - public virtual AST getFirstChild() - { - return this; - } - - public virtual AST getNextSibling() - { - return this; - } - - public virtual string getText() - { - return ""; - } - - public virtual int Type - { - get { return Token.NULL_TREE_LOOKAHEAD; } - set { ; } - } - - public int getNumberOfChildren() - { - return 0; - } - - public virtual void initialize(int t, string txt) - { - } - - public virtual void initialize(AST t) - { - } - - public virtual void initialize(IToken t) - { - } - - public virtual void setFirstChild(AST c) - { - ; - } - - public virtual void setNextSibling(AST n) - { - ; - } - - public virtual void setText(string text) - { - ; - } - - public virtual void setType(int ttype) - { - this.Type = ttype; - } - - override public string ToString() - { - return getText(); - } - - public virtual string ToStringList() - { - return getText(); - } - - public virtual string ToStringTree() - { - return getText(); - } - - public object Clone() - { - return MemberwiseClone(); - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/ASTNodeCreator.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/ASTNodeCreator.cs deleted file mode 100644 index 114853188..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/ASTNodeCreator.cs +++ /dev/null @@ -1,50 +0,0 @@ -namespace Spring.Expressions.Parser.antlr; - -using AST = antlr.collections.AST; - -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// - -/// -/// A creator of AST node instances. -/// -/// -/// -/// This class and it's sub-classes exists primarily as an optimization -/// of the reflection-based mechanism(s) previously used exclusively to -/// create instances of AST node objects. -/// -/// -/// Parsers and TreeParsers already use the ASTFactory class in ANTLR whenever -/// they need to create an AST node objeect. What this class does is to support -/// performant extensibility of the basic ASTFactory. The ASTFactory can now be -/// extnded as run-time to support more new AST node types without using needing -/// to use reflection. -/// -/// -public abstract class ASTNodeCreator -{ - /// - /// Returns the fully qualified name of the AST type that this - /// class creates. - /// - public abstract string ASTNodeTypeName - { - get; - } - - /// - /// Constructs an instance. - /// - public abstract AST Create(); -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/ASTPair.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/ASTPair.cs deleted file mode 100644 index 262ac6727..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/ASTPair.cs +++ /dev/null @@ -1,64 +0,0 @@ -namespace Spring.Expressions.Parser.antlr; - -using AST = antlr.collections.AST; - -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// - -/*ASTPair: utility class used for manipulating a pair of ASTs - * representing the current AST root and current AST sibling. - * This exists to compensate for the lack of pointers or 'var' - * arguments in Java. - */ - -public struct ASTPair -{ - public AST root; // current root of tree - public AST child; // current child to which siblings are added - - /*Make sure that child is the last sibling */ - public void advanceChildToEnd() - { - if (child != null) - { - while (child.getNextSibling() != null) - { - child = child.getNextSibling(); - } - } - } - - /*Copy an ASTPair. Don't call it clone() because we want type-safety */ - public ASTPair copy() - { - ASTPair tmp = new ASTPair(); - tmp.root = root; - tmp.child = child; - return tmp; - } - - private void reset() - { - root = null; - child = null; - } - - override public string ToString() - { - string r = (root == null) ? "null" : root.getText(); - string c = (child == null) ? "null" : child.getText(); - return "[" + r + "," + c + "]"; - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/ASTVisitor.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/ASTVisitor.cs deleted file mode 100644 index b11220d5a..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/ASTVisitor.cs +++ /dev/null @@ -1,25 +0,0 @@ -using AST = Spring.Expressions.Parser.antlr.collections.AST; - -namespace Spring.Expressions.Parser.antlr; -/* ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// - -/// -/// Summary description for ASTVisitor. -/// -public interface ASTVisitor -{ - void visit(AST node); -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/BaseAST.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/BaseAST.cs deleted file mode 100644 index 2ffa6c15b..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/BaseAST.cs +++ /dev/null @@ -1,626 +0,0 @@ -using StringBuilder = System.Text.StringBuilder; -using TextWriter = System.IO.TextWriter; -using ArrayList = System.Collections.ArrayList; -using IEnumerator = System.Collections.IEnumerator; -using AST = Spring.Expressions.Parser.antlr.collections.AST; - -namespace Spring.Expressions.Parser.antlr; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// - -/* - * A Child-Sibling Tree. - * - * A tree with PLUS at the root and with two children 3 and 4 is - * structured as: - * - * PLUS - * | - * 3 -- 4 - * - * and can be specified easily in LISP notation as - * - * (PLUS 3 4) - * - * where every '(' starts a new subtree. - * - * These trees are particular useful for translators because of - * the flexibility of the children lists. They are also very easy - * to walk automatically, whereas trees with specific children - * reference fields can't easily be walked automatically. - * - * This class contains the basic support for an AST. - * Most people will create ASTs that are subclasses of - * BaseAST or of CommonAST. - */ -[Serializable()] -public abstract class BaseAST : AST -{ - protected internal BaseAST down; - protected internal BaseAST right; - - private static bool verboseStringConversion = false; - private static string[] tokenNames = null; - - /*Add a node to the end of the child list for this node */ - public virtual void addChild(AST node) - { - if (node == null) - return; - BaseAST t = this.down; - if (t != null) - { - while (t.right != null) - { - t = t.right; - } - - t.right = (BaseAST) node; - } - else - { - this.down = (BaseAST) node; - } - } - - private void doWorkForFindAll(ArrayList v, AST target, bool partialMatch) - { - AST sibling; - - // Start walking sibling lists, looking for matches. -//siblingWalk: - for (sibling = this; sibling != null; sibling = sibling.getNextSibling()) - { - if ((partialMatch && sibling.EqualsTreePartial(target)) || (!partialMatch && sibling.EqualsTree(target))) - { - v.Add(sibling); - } - - // regardless of match or not, check any children for matches - if (sibling.getFirstChild() != null) - { - ((BaseAST) sibling.getFirstChild()).doWorkForFindAll(v, target, partialMatch); - } - } - } - - public override bool Equals(object obj) - { - if (obj == null) - return false; - if (this.GetType() != obj.GetType()) - return false; - return Equals((AST) obj); - } - - /*Is node t equal to this in terms of token type and text? */ - public virtual bool Equals(AST t) - { - if (t == null) - return false; - - return (Object.Equals(this.getText(), t.getText())) && - (this.Type == t.Type); - } - - /*Is t an exact structural and equals() match of this tree. The - * 'this' reference is considered the start of a sibling list. - */ - public virtual bool EqualsList(AST t) - { - AST sibling; - - // the empty tree is not a match of any non-null tree. - if (t == null) - { - return false; - } - - // Otherwise, start walking sibling lists. First mismatch, return false. - for (sibling = this; sibling != null && t != null; sibling = sibling.getNextSibling(), t = t.getNextSibling()) - { - // as a quick optimization, check roots first. - if (!sibling.Equals(t)) - { - return false; - } - - // if roots match, do full list match test on children. - if (sibling.getFirstChild() != null) - { - if (!sibling.getFirstChild().EqualsList(t.getFirstChild())) - { - return false; - } - } - else if (t.getFirstChild() != null) - { - return false; - } - } - - if (sibling == null && t == null) - { - return true; - } - - // one sibling list has more than the other - return false; - } - - /*Is 'sub' a subtree of this list? - * The siblings of the root are NOT ignored. - */ - public virtual bool EqualsListPartial(AST sub) - { - AST sibling; - - // the empty tree is always a subset of any tree. - if (sub == null) - { - return true; - } - - // Otherwise, start walking sibling lists. First mismatch, return false. - for (sibling = this; sibling != null && sub != null; sibling = sibling.getNextSibling(), sub = sub.getNextSibling()) - { - // as a quick optimization, check roots first. - if (!sibling.Equals(sub)) - return false; - // if roots match, do partial list match test on children. - if (sibling.getFirstChild() != null) - { - if (!sibling.getFirstChild().EqualsListPartial(sub.getFirstChild())) - return false; - } - } - - if (sibling == null && sub != null) - { - // nothing left to match in this tree, but subtree has more - return false; - } - - // either both are null or sibling has more, but subtree doesn't - return true; - } - - /*Is tree rooted at 'this' equal to 't'? The siblings - * of 'this' are ignored. - */ - public virtual bool EqualsTree(AST t) - { - // check roots first. - if (!this.Equals(t)) - return false; - // if roots match, do full list match test on children. - if (this.getFirstChild() != null) - { - if (!this.getFirstChild().EqualsList(t.getFirstChild())) - return false; - } - else if (t.getFirstChild() != null) - { - return false; - } - - return true; - } - - /*Is 't' a subtree of the tree rooted at 'this'? The siblings - * of 'this' are ignored. - */ - public virtual bool EqualsTreePartial(AST sub) - { - // the empty tree is always a subset of any tree. - if (sub == null) - { - return true; - } - - // check roots first. - if (!this.Equals(sub)) - return false; - // if roots match, do full list partial match test on children. - if (this.getFirstChild() != null) - { - if (!this.getFirstChild().EqualsListPartial(sub.getFirstChild())) - return false; - } - - return true; - } - - /*Walk the tree looking for all exact subtree matches. Return - * an IEnumerator that lets the caller walk the list - * of subtree roots found herein. - */ - public virtual IEnumerator findAll(AST target) - { - ArrayList roots = new ArrayList(10); - //AST sibling; - - // the empty tree cannot result in an enumeration - if (target == null) - { - return null; - } - - doWorkForFindAll(roots, target, false); // find all matches recursively - - return roots.GetEnumerator(); - } - - /*Walk the tree looking for all subtrees. Return - * an IEnumerator that lets the caller walk the list - * of subtree roots found herein. - */ - public virtual IEnumerator findAllPartial(AST sub) - { - ArrayList roots = new ArrayList(10); - //AST sibling; - - // the empty tree cannot result in an enumeration - if (sub == null) - { - return null; - } - - doWorkForFindAll(roots, sub, true); // find all matches recursively - - return roots.GetEnumerator(); - } - - /*Get the first child of this node; null if not children */ - public virtual AST getFirstChild() - { - return down; - } - - /*Get the next sibling in line after this one */ - public virtual AST getNextSibling() - { - return right; - } - - /*Get the token text for this node */ - public virtual string getText() - { - return ""; - } - - /*Get the token type for this node */ - public virtual int Type - { - get { return 0; } - set { ; } - } - - /// - /// Get number of children of this node; if leaf, returns 0 - /// - /// Number of children - public int getNumberOfChildren() - { - BaseAST t = this.down; - int n = 0; - if (t != null) - { - n = 1; - while (t.right != null) - { - t = t.right; - n++; - } - } - - return n; - } - - public abstract void initialize(int t, string txt); - - public abstract void initialize(AST t); - - public abstract void initialize(IToken t); - - /*Remove all children */ - public virtual void removeChildren() - { - down = null; - } - - public virtual void setFirstChild(AST c) - { - down = (BaseAST) c; - } - - public virtual void setNextSibling(AST n) - { - right = (BaseAST) n; - } - - /*Set the token text for this node */ - public virtual void setText(string text) - { - ; - } - - /*Set the token type for this node */ - public virtual void setType(int ttype) - { - this.Type = ttype; - } - - public static void setVerboseStringConversion(bool verbose, string[] names) - { - verboseStringConversion = verbose; - tokenNames = names; - } - - override public string ToString() - { - StringBuilder b = new StringBuilder(); - // if verbose and type name not same as text (keyword probably) - if (verboseStringConversion && - (0 != String.Compare(getText(), (tokenNames[Type]), true)) && - (0 != String.Compare(getText(), StringUtils.stripFrontBack(tokenNames[Type], @"""", @""""), true))) - { - b.Append('['); - b.Append(getText()); - b.Append(",<"); - b.Append(tokenNames[Type]); - b.Append(">]"); - return b.ToString(); - } - - return getText(); - } - - /*Print out a child-sibling tree in LISP notation */ - public virtual string ToStringList() - { - AST t = this; - string ts = ""; - if (t.getFirstChild() != null) - ts += " ("; - ts += " " + this.ToString(); - if (t.getFirstChild() != null) - { - ts += ((BaseAST) t.getFirstChild()).ToStringList(); - } - - if (t.getFirstChild() != null) - ts += " )"; - if (t.getNextSibling() != null) - { - ts += ((BaseAST) t.getNextSibling()).ToStringList(); - } - - return ts; - } - - public virtual string ToStringTree() - { - AST t = this; - string ts = ""; - if (t.getFirstChild() != null) - { - ts += " ("; - } - - ts += " " + this.ToString(); - if (t.getFirstChild() != null) - { - ts += ((BaseAST) t.getFirstChild()).ToStringList(); - } - - if (t.getFirstChild() != null) - { - ts += " )"; - } - - return ts; - } - - public virtual string ToTree() - { - return ToTree(string.Empty); - } - - public virtual string ToTree(string prefix) - { - StringBuilder sb = new StringBuilder(prefix); - - // Replace vertical bar if there is no next sibling. - if ((getNextSibling() == null)) - sb.Append("+--"); - else - sb.Append("|--"); - - sb.Append(ToString()); - sb.Append(Environment.NewLine); - - if (getFirstChild() != null) - { - // Replace vertical bar if there is no next sibling. - if (getNextSibling() == null) - sb.Append(((BaseAST) getFirstChild()).ToTree(prefix + " ")); - else - sb.Append(((BaseAST) getFirstChild()).ToTree(prefix + "| ")); - } - - if (getNextSibling() != null) - sb.Append(((BaseAST) getNextSibling()).ToTree(prefix)); - - return sb.ToString(); - } - - public static string decode(string text) - { - char c, c1, c2, c3, c4, c5; - StringBuilder n = new StringBuilder(); - for (int i = 0; i < text.Length; i++) - { - c = text[i]; - if (c == '&') - { - c1 = text[i + 1]; - c2 = text[i + 2]; - c3 = text[i + 3]; - c4 = text[i + 4]; - c5 = text[i + 5]; - - if (c1 == 'a' && c2 == 'm' && c3 == 'p' && c4 == ';') - { - n.Append("&"); - i += 5; - } - else if (c1 == 'l' && c2 == 't' && c3 == ';') - { - n.Append("<"); - i += 4; - } - else if (c1 == 'g' && c2 == 't' && c3 == ';') - { - n.Append(">"); - i += 4; - } - else if (c1 == 'q' && c2 == 'u' && c3 == 'o' && c4 == 't' && c5 == ';') - { - n.Append("\""); - i += 6; - } - else if (c1 == 'a' && c2 == 'p' && c3 == 'o' && c4 == 's' && c5 == ';') - { - n.Append("'"); - i += 6; - } - else - n.Append("&"); - } - else - n.Append(c); - } - - return n.ToString(); - } - - public static string encode(string text) - { - char c; - StringBuilder n = new StringBuilder(); - for (int i = 0; i < text.Length; i++) - { - c = text[i]; - switch (c) - { - case '&': - { - n.Append("&"); - break; - } - - case '<': - { - n.Append("<"); - break; - } - - case '>': - { - n.Append(">"); - break; - } - - case '"': - { - n.Append("""); - break; - } - - case '\'': - { - n.Append("'"); - break; - } - - default: - { - n.Append(c); - break; - } - } - } - - return n.ToString(); - } - - public virtual void xmlSerializeNode(TextWriter outWriter) - { - StringBuilder buf = new StringBuilder(100); - buf.Append("<"); - buf.Append(GetType().FullName + " "); - buf.Append("text=\"" + encode(getText()) + "\" type=\"" + Type + "\"/>"); - outWriter.Write(buf.ToString()); - } - - public virtual void xmlSerializeRootOpen(TextWriter outWriter) - { - StringBuilder buf = new StringBuilder(100); - buf.Append("<"); - buf.Append(GetType().FullName + " "); - buf.Append("text=\"" + encode(getText()) + "\" type=\"" + Type + "\">\n"); - outWriter.Write(buf.ToString()); - } - - public virtual void xmlSerializeRootClose(TextWriter outWriter) - { - outWriter.Write("\n"); - } - - public virtual void xmlSerialize(TextWriter outWriter) - { - // print out this node and all siblings - for (AST node = this; node != null; node = node.getNextSibling()) - { - if (node.getFirstChild() == null) - { - // print guts (class name, attributes) - ((BaseAST) node).xmlSerializeNode(outWriter); - } - else - { - ((BaseAST) node).xmlSerializeRootOpen(outWriter); - - // print children - ((BaseAST) node.getFirstChild()).xmlSerialize(outWriter); - - // print end tag - ((BaseAST) node).xmlSerializeRootClose(outWriter); - } - } - } - - [Obsolete("Deprecated since version 2.7.2. Use ASTFactory.dup() instead.", false)] - public virtual object Clone() - { - return MemberwiseClone(); - } - - public override Int32 GetHashCode() - { - return base.GetHashCode(); - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/ByteBuffer.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/ByteBuffer.cs deleted file mode 100644 index c86a94f12..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/ByteBuffer.cs +++ /dev/null @@ -1,87 +0,0 @@ -using Stream = System.IO.Stream; - -namespace Spring.Expressions.Parser.antlr; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// -/*A Stream of characters fed to the lexer from a InputStream that can - * be rewound via mark()/rewind() methods. - *

- * A dynamic array is used to buffer up all the input characters. Normally, - * "k" characters are stored in the buffer. More characters may be stored during - * guess mode (testing syntactic predicate), or when LT(i>k) is referenced. - * Consumption of characters is deferred. In other words, reading the next - * character is not done by conume(), but deferred until needed by LA or LT. - *

- */ - -// SAS: added this class to handle Binary input w/ FileInputStream - -public class ByteBuffer : InputBuffer -{ - // char source - [NonSerialized()] internal Stream input; - - private const int BUF_SIZE = 16; - - ///

- /// Small buffer used to avoid reading individual chars - /// - private byte[] buf = new byte[BUF_SIZE]; - - /*Create a character buffer */ - public ByteBuffer(Stream input_) : base() - { - input = input_; - } - - /*Ensure that the character buffer is sufficiently full */ - override public void fill(int amount) - { -// try -// { - syncConsume(); - // Fill the buffer sufficiently to hold needed characters - int bytesToRead = (amount + markerOffset) - queue.Count; - int c; - - while (bytesToRead > 0) - { - // Read a few characters - c = input.Read(buf, 0, BUF_SIZE); - for (int i = 0; i < c; i++) - { - // Append the next character - queue.Add(unchecked((char) buf[i])); - } - - if (c < BUF_SIZE) - { - while ((bytesToRead-- > 0) && (queue.Count < BUF_SIZE)) - { - queue.Add(CharScanner.EOF_CHAR); - } - - break; - } - - bytesToRead -= c; - } - // } -// catch (IOException io) -// { -// throw new CharStreamIOException(io); -// } - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/CharBuffer.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/CharBuffer.cs deleted file mode 100644 index 5560c45bb..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/CharBuffer.cs +++ /dev/null @@ -1,88 +0,0 @@ -using TextReader = System.IO.TextReader; -using IOException = System.IO.IOException; - -namespace Spring.Expressions.Parser.antlr; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// -/*A Stream of characters fed to the lexer from a InputStream that can - * be rewound via mark()/rewind() methods. - *

- * A dynamic array is used to buffer up all the input characters. Normally, - * "k" characters are stored in the buffer. More characters may be stored during - * guess mode (testing syntactic predicate), or when LT(i>k) is referenced. - * Consumption of characters is deferred. In other words, reading the next - * character is not done by conume(), but deferred until needed by LA or LT. - *

- */ - -// SAS: Move most functionality into InputBuffer -- just the file-specific -// stuff is in here -public class CharBuffer : InputBuffer -{ - // char source - [NonSerialized()] internal TextReader input; - - private const int BUF_SIZE = 16; - - ///

- /// Small buffer used to avoid reading individual chars - /// - private char[] buf = new char[BUF_SIZE]; - - /*Create a character buffer */ - public CharBuffer(TextReader input_) : base() - { - input = input_; - } - - /*Ensure that the character buffer is sufficiently full */ - override public void fill(int amount) - { - try - { - syncConsume(); - // Fill the buffer sufficiently to hold needed characters - int charsToRead = (amount + markerOffset) - queue.Count; - int c; - - while (charsToRead > 0) - { - // Read a few characters - c = input.Read(buf, 0, BUF_SIZE); - for (int i = 0; i < c; i++) - { - // Append the next character - queue.Add(buf[i]); - } - - if (c < BUF_SIZE) - { - while ((charsToRead-- > 0) && (queue.Count < BUF_SIZE)) - { - queue.Add(CharScanner.EOF_CHAR); - } - - break; - } - - charsToRead -= c; - } - } - catch (IOException io) - { - throw new CharStreamIOException(io); - } - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/CharQueue.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/CharQueue.cs deleted file mode 100644 index 1a59e335b..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/CharQueue.cs +++ /dev/null @@ -1,124 +0,0 @@ -namespace Spring.Expressions.Parser.antlr; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// - -/*A circular buffer object used by CharBuffer */ -public class CharQueue -{ - /*Physical circular buffer of tokens */ - protected internal char[] buffer; - - /*buffer.length-1 for quick modulos */ - private int sizeLessOne; - - /*physical index of front token */ - private int offset; - - /*number of tokens in the queue */ - protected internal int nbrEntries; - - public CharQueue(int minSize) - { - // Find first power of 2 >= to requested size - int size; - if (minSize < 0) - { - init(16); // pick some value for them - return; - } - - // check for overflow - if (minSize >= (Int32.MaxValue / 2)) - { - init(Int32.MaxValue); // wow that's big. - return; - } - - for (size = 2; size < minSize; size *= 2) - { - ; - } - - init(size); - } - - /*Add token to end of the queue - * @param tok The token to add - */ - public void append(char tok) - { - if (nbrEntries == buffer.Length) - { - expand(); - } - - buffer[(offset + nbrEntries) & sizeLessOne] = tok; - nbrEntries++; - } - - /*Fetch a token from the queue by index - * @param idx The index of the token to fetch, where zero is the token at the front of the queue - */ - public char elementAt(int idx) - { - return buffer[(offset + idx) & sizeLessOne]; - } - - /*Expand the token buffer by doubling its capacity */ - private void expand() - { - char[] newBuffer = new char[buffer.Length * 2]; - // Copy the contents to the new buffer - // Note that this will store the first logical item in the - // first physical array element. - for (int i = 0; i < buffer.Length; i++) - { - newBuffer[i] = elementAt(i); - } - - // Re-initialize with new contents, keep old nbrEntries - buffer = newBuffer; - sizeLessOne = buffer.Length - 1; - offset = 0; - } - - /*Initialize the queue. - * @param size The initial size of the queue - */ - public virtual void init(int size) - { - // Allocate buffer - buffer = new char[size]; - // Other initialization - sizeLessOne = size - 1; - offset = 0; - nbrEntries = 0; - } - - /*Clear the queue. Leaving the previous buffer alone. - */ - public void reset() - { - offset = 0; - nbrEntries = 0; - } - - /*Remove char from front of queue */ - public void removeFirst() - { - offset = (offset + 1) & sizeLessOne; - nbrEntries--; - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/CharScanner.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/CharScanner.cs deleted file mode 100644 index bc207c961..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/CharScanner.cs +++ /dev/null @@ -1,822 +0,0 @@ -using Spring.Expressions.Parser.antlr.debug; -using Stream = System.IO.Stream; -using TextReader = System.IO.TextReader; -using StringBuilder = System.Text.StringBuilder; -using Hashtable = System.Collections.Hashtable; -using Assembly = System.Reflection.Assembly; -using EventHandlerList = System.ComponentModel.EventHandlerList; -using BitSet = Spring.Expressions.Parser.antlr.collections.impl.BitSet; - -namespace Spring.Expressions.Parser.antlr; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// - -public abstract class CharScanner : TokenStream, ICharScannerDebugSubject -{ - internal const char NO_CHAR = (char) (0); - public static readonly char EOF_CHAR = Char.MaxValue; - - // Used to store event delegates - private EventHandlerList events_ = new EventHandlerList(); - - protected internal EventHandlerList Events - { - get { return events_; } - } - - // The unique keys for each event that CharScanner [objects] can generate - internal static readonly object EnterRuleEventKey = new object(); - internal static readonly object ExitRuleEventKey = new object(); - internal static readonly object DoneEventKey = new object(); - internal static readonly object ReportErrorEventKey = new object(); - internal static readonly object ReportWarningEventKey = new object(); - internal static readonly object NewLineEventKey = new object(); - internal static readonly object MatchEventKey = new object(); - internal static readonly object MatchNotEventKey = new object(); - internal static readonly object MisMatchEventKey = new object(); - internal static readonly object MisMatchNotEventKey = new object(); - internal static readonly object ConsumeEventKey = new object(); - internal static readonly object LAEventKey = new object(); - internal static readonly object SemPredEvaluatedEventKey = new object(); - internal static readonly object SynPredStartedEventKey = new object(); - internal static readonly object SynPredFailedEventKey = new object(); - internal static readonly object SynPredSucceededEventKey = new object(); - - protected internal StringBuilder text; // text of current token - - protected bool saveConsumedInput = true; // does consume() save characters? - - /// Used for creating Token instances. - protected TokenCreator tokenCreator; - - /// Used for caching lookahead characters. - protected char cached_LA1; - - protected char cached_LA2; - - protected bool caseSensitive = true; - protected bool caseSensitiveLiterals = true; - protected Hashtable literals; // set by subclass - - /*Tab chars are handled by tab() according to this value; override - * method to do anything weird with tabs. - */ - protected internal int tabsize = 8; - - protected internal IToken returnToken_ = null; // used to return tokens w/o using return val. - - protected internal LexerSharedInputState inputState; - - /*Used during filter mode to indicate that path is desired. - * A subsequent scan error will report an error as usual if - * acceptPath=true; - */ - protected internal bool commitToPath = false; - - /*Used to keep track of indentdepth for traceIn/Out */ - protected internal int traceDepth = 0; - - public CharScanner() - { - text = new StringBuilder(); - setTokenCreator(new CommonToken.CommonTokenCreator()); - } - - public CharScanner(InputBuffer cb) : this() - { - inputState = new LexerSharedInputState(cb); - cached_LA2 = inputState.input.LA(2); - cached_LA1 = inputState.input.LA(1); - } - - public CharScanner(LexerSharedInputState sharedState) : this() - { - inputState = sharedState; - if (inputState != null) - { - cached_LA2 = inputState.input.LA(2); - cached_LA1 = inputState.input.LA(1); - } - } - - public event TraceEventHandler EnterRule - { - add { Events.AddHandler(EnterRuleEventKey, value); } - remove { Events.RemoveHandler(EnterRuleEventKey, value); } - } - - public event TraceEventHandler ExitRule - { - add { Events.AddHandler(ExitRuleEventKey, value); } - remove { Events.RemoveHandler(ExitRuleEventKey, value); } - } - - public event TraceEventHandler Done - { - add { Events.AddHandler(DoneEventKey, value); } - remove { Events.RemoveHandler(DoneEventKey, value); } - } - - public event MessageEventHandler ErrorReported - { - add { Events.AddHandler(ReportErrorEventKey, value); } - remove { Events.RemoveHandler(ReportErrorEventKey, value); } - } - - public event MessageEventHandler WarningReported - { - add { Events.AddHandler(ReportWarningEventKey, value); } - remove { Events.RemoveHandler(ReportWarningEventKey, value); } - } - - public event NewLineEventHandler HitNewLine - { - add { Events.AddHandler(NewLineEventKey, value); } - remove { Events.RemoveHandler(NewLineEventKey, value); } - } - - public event MatchEventHandler MatchedChar - { - add { Events.AddHandler(MatchEventKey, value); } - remove { Events.RemoveHandler(MatchEventKey, value); } - } - - public event MatchEventHandler MatchedNotChar - { - add { Events.AddHandler(MatchNotEventKey, value); } - remove { Events.RemoveHandler(MatchNotEventKey, value); } - } - - public event MatchEventHandler MisMatchedChar - { - add { Events.AddHandler(MisMatchEventKey, value); } - remove { Events.RemoveHandler(MisMatchEventKey, value); } - } - - public event MatchEventHandler MisMatchedNotChar - { - add { Events.AddHandler(MisMatchNotEventKey, value); } - remove { Events.RemoveHandler(MisMatchNotEventKey, value); } - } - - public event TokenEventHandler ConsumedChar - { - add { Events.AddHandler(ConsumeEventKey, value); } - remove { Events.RemoveHandler(ConsumeEventKey, value); } - } - - public event TokenEventHandler CharLA - { - add { Events.AddHandler(LAEventKey, value); } - remove { Events.RemoveHandler(LAEventKey, value); } - } - - public event SemanticPredicateEventHandler SemPredEvaluated - { - add { Events.AddHandler(SemPredEvaluatedEventKey, value); } - remove { Events.RemoveHandler(SemPredEvaluatedEventKey, value); } - } - - public event SyntacticPredicateEventHandler SynPredStarted - { - add { Events.AddHandler(SynPredStartedEventKey, value); } - remove { Events.RemoveHandler(SynPredStartedEventKey, value); } - } - - public event SyntacticPredicateEventHandler SynPredFailed - { - add { Events.AddHandler(SynPredFailedEventKey, value); } - remove { Events.RemoveHandler(SynPredFailedEventKey, value); } - } - - public event SyntacticPredicateEventHandler SynPredSucceeded - { - add { Events.AddHandler(SynPredSucceededEventKey, value); } - remove { Events.RemoveHandler(SynPredSucceededEventKey, value); } - } - - // From interface TokenStream - public virtual IToken nextToken() { return null; } - - public virtual void append(char c) - { - if (saveConsumedInput) - { - text.Append(c); - } - } - - public virtual void append(string s) - { - if (saveConsumedInput) - { - text.Append(s); - } - } - - public virtual void commit() - { - inputState.input.commit(); - } - - public virtual void recover(RecognitionException ex, BitSet tokenSet) - { - consume(); - consumeUntil(tokenSet); - } - - public virtual void consume() - { - if (inputState.guessing == 0) - { - if (caseSensitive) - { - append(cached_LA1); - } - else - { - // use input.LA(), not LA(), to get original case - // CharScanner.LA() would toLower it. - append(inputState.input.LA(1)); - } - - if (cached_LA1 == '\t') - { - tab(); - } - else - { - inputState.column++; - } - } - - if (caseSensitive) - { - cached_LA1 = inputState.input.consume(); - cached_LA2 = inputState.input.LA(2); - } - else - { - cached_LA1 = toLower(inputState.input.consume()); - cached_LA2 = toLower(inputState.input.LA(2)); - } - } - - /*Consume chars until one matches the given char */ - public virtual void consumeUntil(int c) - { - while ((EOF_CHAR != cached_LA1) && (c != cached_LA1)) - { - consume(); - } - } - - /*Consume chars until one matches the given set */ - public virtual void consumeUntil(BitSet bset) - { - while (cached_LA1 != EOF_CHAR && !bset.member(cached_LA1)) - { - consume(); - } - } - - public virtual bool getCaseSensitive() - { - return caseSensitive; - } - - public bool getCaseSensitiveLiterals() - { - return caseSensitiveLiterals; - } - - public virtual int getColumn() - { - return inputState.column; - } - - public virtual void setColumn(int c) - { - inputState.column = c; - } - - public virtual bool getCommitToPath() - { - return commitToPath; - } - - public virtual string getFilename() - { - return inputState.filename; - } - - public virtual InputBuffer getInputBuffer() - { - return inputState.input; - } - - public virtual LexerSharedInputState getInputState() - { - return inputState; - } - - public virtual void setInputState(LexerSharedInputState state) - { - inputState = state; - } - - public virtual int getLine() - { - return inputState.line; - } - - /*return a copy of the current text buffer */ - public virtual string getText() - { - return text.ToString(); - } - - public virtual IToken getTokenObject() - { - return returnToken_; - } - - public virtual char LA(int i) - { - if (i == 1) - { - return cached_LA1; - } - - if (i == 2) - { - return cached_LA2; - } - - if (caseSensitive) - { - return inputState.input.LA(i); - } - else - { - return toLower(inputState.input.LA(i)); - } - } - - protected internal virtual IToken makeToken(int t) - { - IToken newToken = null; - bool typeCreated; - - try - { - newToken = tokenCreator.Create(); - if (newToken != null) - { - newToken.Type = t; - newToken.setColumn(inputState.tokenStartColumn); - newToken.setLine(inputState.tokenStartLine); - // tracking real start line now: newToken.setLine(inputState.line); - newToken.setFilename(inputState.filename); - } - - typeCreated = true; - } - catch - { - typeCreated = false; - } - - if (!typeCreated) - { - panic("Can't create Token object '" + tokenCreator.TokenTypeName + "'"); - newToken = Token.badToken; - } - - return newToken; - } - - public virtual int mark() - { - return inputState.input.mark(); - } - - public virtual void match(char c) - { - match((int) c); - } - - public virtual void match(int c) - { - if (cached_LA1 != c) - { - throw new MismatchedCharException(cached_LA1, Convert.ToChar(c), false, this); - } - - consume(); - } - - public virtual void match(BitSet b) - { - if (!b.member(cached_LA1)) - { - throw new MismatchedCharException(cached_LA1, b, false, this); - } - - consume(); - } - - public virtual void match(string s) - { - int len = s.Length; - for (int i = 0; i < len; i++) - { - if (cached_LA1 != s[i]) - { - throw new MismatchedCharException(cached_LA1, s[i], false, this); - } - - consume(); - } - } - - public virtual void matchNot(char c) - { - matchNot((int) c); - } - - public virtual void matchNot(int c) - { - if (cached_LA1 == c) - { - throw new MismatchedCharException(cached_LA1, Convert.ToChar(c), true, this); - } - - consume(); - } - - public virtual void matchRange(int c1, int c2) - { - if (cached_LA1 < c1 || cached_LA1 > c2) - { - throw new MismatchedCharException(cached_LA1, Convert.ToChar(c1), Convert.ToChar(c2), false, this); - } - - consume(); - } - - public virtual void matchRange(char c1, char c2) - { - matchRange((int) c1, (int) c2); - } - - public virtual void newline() - { - inputState.line++; - inputState.column = 1; - } - - /*advance the current column number by an appropriate amount - * according to tab size. This method is called from consume(). - */ - public virtual void tab() - { - int c = getColumn(); - int nc = (((c - 1) / tabsize) + 1) * tabsize + 1; // calculate tab stop - setColumn(nc); - } - - public virtual void setTabSize(int size) - { - tabsize = size; - } - - public virtual int getTabSize() - { - return tabsize; - } - - public virtual void panic() - { - //Console.Error.WriteLine("CharScanner: panic"); - //Environment.Exit(1); - panic(""); - } - - /// - /// This method is executed by ANTLR internally when it detected an illegal - /// state that cannot be recovered from. - /// The previous implementation of this method called - /// and writes directly to , which is usually not - /// appropriate when a translator is embedded into a larger application. - /// - /// Error message. - public virtual void panic(string s) - { - //Console.Error.WriteLine("CharScanner; panic: " + s); - //Environment.Exit(1); - throw new ANTLRPanicException("CharScanner::panic: " + s); - } - - /*Parser error-reporting function can be overridden in subclass */ - public virtual void reportError(RecognitionException ex) - { - Console.Error.WriteLine(ex); - } - - /*Parser error-reporting function can be overridden in subclass */ - public virtual void reportError(string s) - { - if (getFilename() == null) - { - Console.Error.WriteLine("error: " + s); - } - else - { - Console.Error.WriteLine(getFilename() + ": error: " + s); - } - } - - /*Parser warning-reporting function can be overridden in subclass */ - public virtual void reportWarning(string s) - { - if (getFilename() == null) - { - Console.Error.WriteLine("warning: " + s); - } - else - { - Console.Error.WriteLine(getFilename() + ": warning: " + s); - } - } - - public virtual void refresh() - { - if (caseSensitive) - { - cached_LA2 = inputState.input.LA(2); - cached_LA1 = inputState.input.LA(1); - } - else - { - cached_LA2 = toLower(inputState.input.LA(2)); - cached_LA1 = toLower(inputState.input.LA(1)); - } - } - - public virtual void resetState(InputBuffer ib) - { - text.Length = 0; - traceDepth = 0; - inputState.resetInput(ib); - refresh(); - } - - public void resetState(Stream s) - { - resetState(new ByteBuffer(s)); - } - - public void resetState(TextReader tr) - { - resetState(new CharBuffer(tr)); - } - - public virtual void resetText() - { - text.Length = 0; - inputState.tokenStartColumn = inputState.column; - inputState.tokenStartLine = inputState.line; - } - - public virtual void rewind(int pos) - { - inputState.input.rewind(pos); - //setColumn(inputState.tokenStartColumn); - if (caseSensitive) - { - cached_LA2 = inputState.input.LA(2); - cached_LA1 = inputState.input.LA(1); - } - else - { - cached_LA2 = toLower(inputState.input.LA(2)); - cached_LA1 = toLower(inputState.input.LA(1)); - } - } - - public virtual void setCaseSensitive(bool t) - { - caseSensitive = t; - if (caseSensitive) - { - cached_LA2 = inputState.input.LA(2); - cached_LA1 = inputState.input.LA(1); - } - else - { - cached_LA2 = toLower(inputState.input.LA(2)); - cached_LA1 = toLower(inputState.input.LA(1)); - } - } - - public virtual void setCommitToPath(bool commit) - { - commitToPath = commit; - } - - public virtual void setFilename(string f) - { - inputState.filename = f; - } - - public virtual void setLine(int line) - { - inputState.line = line; - } - - public virtual void setText(string s) - { - resetText(); - text.Append(s); - } - - public virtual void setTokenObjectClass(string cl) - { - this.tokenCreator = new ReflectionBasedTokenCreator(this, cl); - } - - public virtual void setTokenCreator(TokenCreator tokenCreator) - { - this.tokenCreator = tokenCreator; - } - - // Test the token text against the literals table - // Override this method to perform a different literals test - public virtual int testLiteralsTable(int ttype) - { - string tokenText = text.ToString(); - - if ((tokenText == null) || (tokenText == string.Empty)) - return ttype; - else - { - object typeAsObject = literals[tokenText]; - return (typeAsObject == null) ? ttype : ((int) typeAsObject); - } - } - - /*Test the text passed in against the literals table - * Override this method to perform a different literals test - * This is used primarily when you want to test a portion of - * a token. - */ - public virtual int testLiteralsTable(string someText, int ttype) - { - if ((someText == null) || (someText == string.Empty)) - return ttype; - else - { - object typeAsObject = literals[someText]; - return (typeAsObject == null) ? ttype : ((int) typeAsObject); - } - } - - // Override this method to get more specific case handling - public virtual char toLower(int c) - { - return Char.ToLower(Convert.ToChar(c), System.Globalization.CultureInfo.InvariantCulture); - } - - public virtual void traceIndent() - { - for (int i = 0; i < traceDepth; i++) - Console.Out.Write(" "); - } - - public virtual void traceIn(string rname) - { - traceDepth += 1; - traceIndent(); - Console.Out.WriteLine("> lexer " + rname + "; c==" + LA(1)); - } - - public virtual void traceOut(string rname) - { - traceIndent(); - Console.Out.WriteLine("< lexer " + rname + "; c==" + LA(1)); - traceDepth -= 1; - } - - /*This method is called by YourLexer.nextToken() when the lexer has - * hit EOF condition. EOF is NOT a character. - * This method is not called if EOF is reached during - * syntactic predicate evaluation or during evaluation - * of normal lexical rules, which presumably would be - * an IOException. This traps the "normal" EOF condition. - * - * uponEOF() is called after the complete evaluation of - * the previous token and only if your parser asks - * for another token beyond that last non-EOF token. - * - * You might want to throw token or char stream exceptions - * like: "Heh, premature eof" or a retry stream exception - * ("I found the end of this file, go back to referencing file"). - */ - public virtual void uponEOF() - { - } - - private class ReflectionBasedTokenCreator : TokenCreator - { - protected ReflectionBasedTokenCreator() { } - - public ReflectionBasedTokenCreator(CharScanner owner, string tokenTypeName) - { - this.owner = owner; - SetTokenType(tokenTypeName); - } - - private CharScanner owner; - - /// - /// The fully qualified name of the Token type to create. - /// - private string tokenTypeName; - - /// - /// Type object used as a template for creating tokens by reflection. - /// - private Type tokenTypeObject; - - /// - /// Returns the fully qualified name of the Token type that this - /// class creates. - /// - private void SetTokenType(string tokenTypeName) - { - this.tokenTypeName = tokenTypeName; - foreach (Assembly assem in AppDomain.CurrentDomain.GetAssemblies()) - { - try - { - tokenTypeObject = assem.GetType(tokenTypeName); - if (tokenTypeObject != null) - { - break; - } - } - catch - { - throw new TypeLoadException("Unable to load Type for Token class '" + tokenTypeName + "'"); - } - } - - if (tokenTypeObject == null) - throw new TypeLoadException("Unable to load Type for Token class '" + tokenTypeName + "'"); - } - - /// - /// Returns the fully qualified name of the Token type that this - /// class creates. - /// - public override string TokenTypeName - { - get - { - return tokenTypeName; - } - } - - /// - /// Constructs a instance. - /// - public override IToken Create() - { - IToken newToken = null; - - try - { - newToken = (Token) Activator.CreateInstance(tokenTypeObject); - } - catch - { - // supress exception - } - - return newToken; - } - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/CharStreamException.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/CharStreamException.cs deleted file mode 100644 index 0404995b0..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/CharStreamException.cs +++ /dev/null @@ -1,29 +0,0 @@ -namespace Spring.Expressions.Parser.antlr; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// -/* - * Anything that goes wrong while generating a stream of characters - */ - -[Serializable] -public class CharStreamException : ANTLRException -{ - /* - * CharStreamException constructor comment. - */ - public CharStreamException(string s) : base(s) - { - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/CharStreamIOException.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/CharStreamIOException.cs deleted file mode 100644 index 6a4e8ebee..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/CharStreamIOException.cs +++ /dev/null @@ -1,31 +0,0 @@ -using IOException = System.IO.IOException; - -namespace Spring.Expressions.Parser.antlr; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// - -/* - * Wrap an IOException in a CharStreamException - */ -[Serializable] -public class CharStreamIOException : CharStreamException -{ - public IOException io; - - public CharStreamIOException(IOException io) : base(io.Message) - { - this.io = io; - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/CommonAST.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/CommonAST.cs deleted file mode 100644 index 5c23340b9..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/CommonAST.cs +++ /dev/null @@ -1,120 +0,0 @@ -using AST = Spring.Expressions.Parser.antlr.collections.AST; - -namespace Spring.Expressions.Parser.antlr; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// - -/*Common AST node implementation */ -public class CommonAST : BaseAST -{ - public static readonly CommonAST.CommonASTCreator Creator = new CommonASTCreator(); - - internal int ttype = Token.INVALID_TYPE; - internal string text; - - [Obsolete("Deprecated since version 2.7.2. Use ASTFactory.dup() instead.", false)] - protected CommonAST(CommonAST another) - { - // don't include child/sibling pointers in Clone()/dup() - //down = another.down; - //right = another.right; - ttype = another.ttype; - text = (another.text == null) ? null : String.Copy(another.text); - } - - /*Get the token text for this node */ - override public string getText() - { - return text; - } - - /*Get the token type for this node */ - override public int Type - { - get { return ttype; } - set { ttype = value; } - } - - override public void initialize(int t, string txt) - { - Type = t; - setText(txt); - } - - override public void initialize(collections.AST t) - { - setText(t.getText()); - Type = t.Type; - } - - public CommonAST() - { - } - - public CommonAST(IToken tok) - { - initialize(tok); - } - - override public void initialize(IToken tok) - { - setText(tok.getText()); - Type = tok.Type; - } - - /*Set the token text for this node */ - override public void setText(string text_) - { - text = text_; - } - - /*Set the token type for this node */ - override public void setType(int ttype_) - { - this.Type = ttype_; - } - - [Obsolete("Deprecated since version 2.7.2. Use ASTFactory.dup() instead.", false)] - override public object Clone() - { - return new CommonAST(this); - } - - public class CommonASTCreator : ASTNodeCreator - { - public CommonASTCreator() { } - - /// - /// Returns the fully qualified name of the AST type that this - /// class creates. - /// - public override string ASTNodeTypeName - { - get - { - return typeof(antlr.CommonAST).FullName; - ; - } - } - - /// - /// Constructs a instance. - /// - public override AST Create() - { - return new CommonAST(); - } - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/CommonASTWithHiddenTokens.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/CommonASTWithHiddenTokens.cs deleted file mode 100644 index b10ce219b..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/CommonASTWithHiddenTokens.cs +++ /dev/null @@ -1,99 +0,0 @@ -using AST = Spring.Expressions.Parser.antlr.collections.AST; - -namespace Spring.Expressions.Parser.antlr; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// -/*A CommonAST whose initialization copies hidden token - * information from the Token used to create a node. - */ - -public class CommonASTWithHiddenTokens : CommonAST -{ - new public static readonly CommonASTWithHiddenTokens.CommonASTWithHiddenTokensCreator Creator = new CommonASTWithHiddenTokensCreator(); - - protected internal IHiddenStreamToken hiddenBefore, hiddenAfter; // references to hidden tokens - - public CommonASTWithHiddenTokens() : base() - { - } - - public CommonASTWithHiddenTokens(IToken tok) : base(tok) - { - } - - [Obsolete("Deprecated since version 2.7.2. Use ASTFactory.dup() instead.", false)] - protected CommonASTWithHiddenTokens(CommonASTWithHiddenTokens another) : base(another) - { - hiddenBefore = another.hiddenBefore; - hiddenAfter = another.hiddenAfter; - } - - public virtual IHiddenStreamToken getHiddenAfter() - { - return hiddenAfter; - } - - public virtual IHiddenStreamToken getHiddenBefore() - { - return hiddenBefore; - } - - override public void initialize(collections.AST t) - { - hiddenBefore = ((CommonASTWithHiddenTokens) t).getHiddenBefore(); - hiddenAfter = ((CommonASTWithHiddenTokens) t).getHiddenAfter(); - base.initialize(t); - } - - override public void initialize(IToken tok) - { - IHiddenStreamToken t = (IHiddenStreamToken) tok; - base.initialize(t); - hiddenBefore = t.getHiddenBefore(); - hiddenAfter = t.getHiddenAfter(); - } - - [Obsolete("Deprecated since version 2.7.2. Use ASTFactory.dup() instead.", false)] - override public object Clone() - { - return new CommonASTWithHiddenTokens(this); - } - - public class CommonASTWithHiddenTokensCreator : ASTNodeCreator - { - public CommonASTWithHiddenTokensCreator() { } - - /// - /// Returns the fully qualified name of the AST type that this - /// class creates. - /// - public override string ASTNodeTypeName - { - get - { - return typeof(antlr.CommonASTWithHiddenTokens).FullName; - ; - } - } - - /// - /// Constructs a instance. - /// - public override AST Create() - { - return new CommonASTWithHiddenTokens(); - } - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/CommonHiddenStreamToken.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/CommonHiddenStreamToken.cs deleted file mode 100644 index 94e246e8c..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/CommonHiddenStreamToken.cs +++ /dev/null @@ -1,81 +0,0 @@ -namespace Spring.Expressions.Parser.antlr; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// - -public class CommonHiddenStreamToken : CommonToken, IHiddenStreamToken -{ - new public static readonly CommonHiddenStreamToken.CommonHiddenStreamTokenCreator Creator = new CommonHiddenStreamTokenCreator(); - - protected internal IHiddenStreamToken hiddenBefore; - protected internal IHiddenStreamToken hiddenAfter; - - public CommonHiddenStreamToken() : base() - { - } - - public CommonHiddenStreamToken(int t, string txt) : base(t, txt) - { - } - - public CommonHiddenStreamToken(string s) : base(s) - { - } - - public virtual IHiddenStreamToken getHiddenAfter() - { - return hiddenAfter; - } - - public virtual IHiddenStreamToken getHiddenBefore() - { - return hiddenBefore; - } - - public virtual void setHiddenAfter(IHiddenStreamToken t) - { - hiddenAfter = t; - } - - public virtual void setHiddenBefore(IHiddenStreamToken t) - { - hiddenBefore = t; - } - - public class CommonHiddenStreamTokenCreator : TokenCreator - { - public CommonHiddenStreamTokenCreator() { } - - /// - /// Returns the fully qualified name of the Token type that this - /// class creates. - /// - public override string TokenTypeName - { - get - { - return typeof(antlr.CommonHiddenStreamToken).FullName; - ; - } - } - - /// - /// Constructs a instance. - /// - public override IToken Create() - { - return new CommonHiddenStreamToken(); - } - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/CommonToken.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/CommonToken.cs deleted file mode 100644 index c5455d9e0..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/CommonToken.cs +++ /dev/null @@ -1,102 +0,0 @@ -namespace Spring.Expressions.Parser.antlr; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// - -public class CommonToken : Token -{ - public static readonly CommonToken.CommonTokenCreator Creator = new CommonTokenCreator(); - - // most tokens will want line and text information - protected internal int line; - protected internal string text = null; - protected internal int col; - - public CommonToken() - { - } - - public CommonToken(int t, string txt) - { - type_ = t; - setText(txt); - } - - public CommonToken(string s) - { - text = s; - } - - override public int getLine() - { - return line; - } - - override public string getText() - { - return text; - } - - override public void setLine(int l) - { - line = l; - } - - override public void setText(string s) - { - text = s; - } - - override public string ToString() - { - return "[\"" + getText() + "\",<" + type_ + ">,line=" + line + ",col=" + col + "]"; - } - - /*Return token's start column */ - override public int getColumn() - { - return col; - } - - override public void setColumn(int c) - { - col = c; - } - - public class CommonTokenCreator : TokenCreator - { - public CommonTokenCreator() { } - - /// - /// Returns the fully qualified name of the Token type that this - /// class creates. - /// - public override string TokenTypeName - { - get - { - return typeof(antlr.CommonToken).FullName; - ; - } - } - - /// - /// Constructs a instance. - /// - public override IToken Create() - { - return new CommonToken(); - } - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/DefaultFileLineFormatter.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/DefaultFileLineFormatter.cs deleted file mode 100644 index c717a532b..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/DefaultFileLineFormatter.cs +++ /dev/null @@ -1,45 +0,0 @@ -using StringBuilder = System.Text.StringBuilder; - -namespace Spring.Expressions.Parser.antlr; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// - -public class DefaultFileLineFormatter : FileLineFormatter -{ - public override string getFormatString(string fileName, int line, int column) - { - StringBuilder buf = new StringBuilder(); - - if (fileName != null) - buf.Append(fileName + ":"); - - if (line != -1) - { - if (fileName == null) - buf.Append("line "); - - buf.Append(line); - - if (column != -1) - buf.Append(":" + column); - - buf.Append(":"); - } - - buf.Append(" "); - - return buf.ToString(); - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/DumpASTVisitor.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/DumpASTVisitor.cs deleted file mode 100644 index e90fb1119..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/DumpASTVisitor.cs +++ /dev/null @@ -1,89 +0,0 @@ -using AST = Spring.Expressions.Parser.antlr.collections.AST; - -namespace Spring.Expressions.Parser.antlr; -/* ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// - -/// -/// Summary description for DumpASTVisitor. -/// -/** Simple class to dump the contents of an AST to the output */ -public class DumpASTVisitor : ASTVisitor -{ - protected int level = 0; - - private void tabs() - { - for (int i = 0; i < level; i++) - { - Console.Out.Write(" "); - } - } - - public void visit(AST node) - { - // Flatten this level of the tree if it has no children - bool flatten = /*true*/ false; - AST node2; - for (node2 = node; node2 != null; node2 = node2.getNextSibling()) - { - if (node2.getFirstChild() != null) - { - flatten = false; - break; - } - } - - for (node2 = node; node2 != null; node2 = node2.getNextSibling()) - { - if (!flatten || node2 == node) - { - tabs(); - } - - if (node2.getText() == null) - { - Console.Out.Write("nil"); - } - else - { - Console.Out.Write(node2.getText()); - } - - Console.Out.Write(" [" + node2.Type + "] "); - - if (flatten) - { - Console.Out.Write(" "); - } - else - { - Console.Out.WriteLine(""); - } - - if (node2.getFirstChild() != null) - { - level++; - visit(node2.getFirstChild()); - level--; - } - } - - if (flatten) - { - Console.Out.WriteLine(""); - } - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/FileLineFormatter.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/FileLineFormatter.cs deleted file mode 100644 index eeafb033c..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/FileLineFormatter.cs +++ /dev/null @@ -1,36 +0,0 @@ -namespace Spring.Expressions.Parser.antlr; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// - -public abstract class FileLineFormatter -{ - private static FileLineFormatter formatter = new DefaultFileLineFormatter(); - - public static FileLineFormatter getFormatter() - { - return formatter; - } - - public static void setFormatter(FileLineFormatter f) - { - formatter = f; - } - - /*@param fileName the file that should appear in the prefix. (or null) - * @param line the line (or -1) - * @param column the column (or -1) - */ - public abstract string getFormatString(string fileName, int line, int column); -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/IHiddenStreamToken.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/IHiddenStreamToken.cs deleted file mode 100644 index 5e6afde42..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/IHiddenStreamToken.cs +++ /dev/null @@ -1,24 +0,0 @@ -namespace Spring.Expressions.Parser.antlr; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// - -public interface IHiddenStreamToken : IToken -{ - IHiddenStreamToken getHiddenAfter(); - void setHiddenAfter(IHiddenStreamToken t); - - IHiddenStreamToken getHiddenBefore(); - void setHiddenBefore(IHiddenStreamToken t); -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/IToken.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/IToken.cs deleted file mode 100644 index 6b5364d1a..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/IToken.cs +++ /dev/null @@ -1,36 +0,0 @@ -namespace Spring.Expressions.Parser.antlr; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// - -/// -/// A token is minimally a token type. Subclasses can add the text matched -/// for the token and line info. -/// -public interface IToken -{ - int getColumn(); - void setColumn(int c); - - int getLine(); - void setLine(int l); - - string getFilename(); - void setFilename(string name); - - string getText(); - void setText(string t); - - int Type { get; set; } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/InputBuffer.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/InputBuffer.cs deleted file mode 100644 index e738953c9..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/InputBuffer.cs +++ /dev/null @@ -1,169 +0,0 @@ -namespace Spring.Expressions.Parser.antlr; - -using ArrayList = System.Collections.ArrayList; -using StringBuilder = System.Text.StringBuilder; - -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// - -// SAS: Added this class to genericise the input buffers for scanners -// This allows a scanner to use a binary (FileInputStream) or -// text (FileReader) stream of data; the generated scanner -// subclass will define the input stream -// There are two subclasses to this: CharBuffer and ByteBuffer - -/// -/// Represents a stream of characters fed to the lexer from that can be rewound -/// via mark()/rewind() methods. -/// -/// -/// -/// A dynamic array is used to buffer up all the input characters. Normally, -/// "k" characters are stored in the buffer. More characters may be stored -/// during guess mode (testing syntactic predicate), or when LT(i>k) is referenced. -/// Consumption of characters is deferred. In other words, reading the next -/// character is not done by conume(), but deferred until needed by LA or LT. -/// -/// -public abstract class InputBuffer -{ - // Number of active markers - protected internal int nMarkers = 0; - - // Additional offset used when markers are active - protected internal int markerOffset = 0; - - // Number of calls to consume() since last LA() or LT() call - protected internal int numToConsume = 0; - - // Circular queue - protected ArrayList queue; - - /*Create an input buffer */ - public InputBuffer() - { - queue = new ArrayList(); - } - - /*This method updates the state of the input buffer so that - * the text matched since the most recent mark() is no longer - * held by the buffer. So, you either do a mark/rewind for - * failed predicate or mark/commit to keep on parsing without - * rewinding the input. - */ - public virtual void commit() - { - nMarkers--; - } - - /*Mark another character for deferred consumption */ - public virtual char consume() - { - numToConsume++; - return LA(1); - } - - /*Ensure that the input buffer is sufficiently full */ - public abstract void fill(int amount); - - public virtual string getLAChars() - { - StringBuilder la = new StringBuilder(); - - // copy buffer contents to array before looping thru contents (it's usually faster) - char[] fastBuf = new char[queue.Count - markerOffset]; - queue.CopyTo(fastBuf, markerOffset); - - la.Append(fastBuf); - return la.ToString(); - } - - public virtual string getMarkedChars() - { - StringBuilder marked = new StringBuilder(); - - // copy buffer contents to array before looping thru contents (it's usually faster) - char[] fastBuf = new char[queue.Count - markerOffset]; - queue.CopyTo(fastBuf, markerOffset); - - marked.Append(fastBuf); - return marked.ToString(); - } - - public virtual bool isMarked() - { - return (nMarkers != 0); - } - - /*Get a lookahead character */ - public virtual char LA(int i) - { - fill(i); - if ((this.markerOffset + i) <= this.queue.Count) - { - return (char) this.queue[(this.markerOffset + i) - 1]; - } - - return CharScanner.EOF_CHAR; - } - - /*Return an integer marker that can be used to rewind the buffer to - * its current state. - */ - public virtual int mark() - { - syncConsume(); - nMarkers++; - return markerOffset; - } - - /*Rewind the character buffer to a marker. - * @param mark Marker returned previously from mark() - */ - public virtual void rewind(int mark) - { - syncConsume(); - markerOffset = mark; - nMarkers--; - } - - /*Reset the input buffer - */ - public virtual void reset() - { - nMarkers = 0; - markerOffset = 0; - numToConsume = 0; - queue.Clear(); - } - - /*Sync up deferred consumption */ - protected internal virtual void syncConsume() - { - if (numToConsume > 0) - { - if (nMarkers > 0) - { - // guess mode -- leave leading characters and bump offset. - markerOffset += numToConsume; - } - else - { - // normal mode -- remove "consumed" characters from buffer - queue.RemoveRange(0, numToConsume); - } - - numToConsume = 0; - } - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/LLkParser.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/LLkParser.cs deleted file mode 100644 index 29add71a8..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/LLkParser.cs +++ /dev/null @@ -1,108 +0,0 @@ -namespace Spring.Expressions.Parser.antlr; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// - -/*An LL(k) parser. - * - * @see antlr.Token - * @see antlr.TokenBuffer - * @see antlr.LL1Parser - */ -public class LLkParser : Parser -{ - internal int k; - - public LLkParser(int k_) - { - k = k_; - } - - public LLkParser(ParserSharedInputState state, int k_) - { - k = k_; - inputState = state; - } - - public LLkParser(TokenBuffer tokenBuf, int k_) - { - k = k_; - setTokenBuffer(tokenBuf); - } - - public LLkParser(TokenStream lexer, int k_) - { - k = k_; - TokenBuffer tokenBuf = new TokenBuffer(lexer); - setTokenBuffer(tokenBuf); - } - - /*Consume another token from the input stream. Can only write sequentially! - * If you need 3 tokens ahead, you must consume() 3 times. - *

- * Note that it is possible to overwrite tokens that have not been matched. - * For example, calling consume() 3 times when k=2, means that the first token - * consumed will be overwritten with the 3rd. - */ - override public void consume() - { - inputState.input.consume(); - } - - override public int LA(int i) - { - return inputState.input.LA(i); - } - - override public IToken LT(int i) - { - return inputState.input.LT(i); - } - - private void trace(string ee, string rname) - { - traceIndent(); - Console.Out.Write(ee + rname + ((inputState.guessing > 0) ? "; [guessing]" : "; ")); - for (int i = 1; i <= k; i++) - { - if (i != 1) - { - Console.Out.Write(", "); - } - - if (LT(i) != null) - { - Console.Out.Write("LA(" + i + ")==" + LT(i).getText()); - } - else - { - Console.Out.Write("LA(" + i + ")==ull"); - } - } - - Console.Out.WriteLine(""); - } - - override public void traceIn(string rname) - { - traceDepth += 1; - trace("> ", rname); - } - - override public void traceOut(string rname) - { - trace("< ", rname); - traceDepth -= 1; - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/LexerSharedInputState.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/LexerSharedInputState.cs deleted file mode 100644 index bd4d219db..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/LexerSharedInputState.cs +++ /dev/null @@ -1,85 +0,0 @@ -using Stream = System.IO.Stream; -using TextReader = System.IO.TextReader; - -namespace Spring.Expressions.Parser.antlr; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// - -/*This object contains the data associated with an - * input stream of characters. Multiple lexers - * share a single LexerSharedInputState to lex - * the same input stream. - */ -public class LexerSharedInputState -{ - protected internal int column; - protected internal int line; - protected internal int tokenStartColumn; - protected internal int tokenStartLine; - protected internal InputBuffer input; - - /*What file (if known) caused the problem? */ - protected internal string filename; - - public int guessing; - - public LexerSharedInputState(InputBuffer inbuf) - { - initialize(); - input = inbuf; - } - - public LexerSharedInputState(Stream inStream) : this(new ByteBuffer(inStream)) - { - } - - public LexerSharedInputState(TextReader inReader) : this(new CharBuffer(inReader)) - { - } - - private void initialize() - { - column = 1; - line = 1; - tokenStartColumn = 1; - tokenStartLine = 1; - guessing = 0; - filename = null; - } - - public virtual void reset() - { - initialize(); - input.reset(); - } - - public virtual void resetInput(InputBuffer ib) - { - reset(); - input = ib; - } - - public virtual void resetInput(Stream s) - { - reset(); - input = new ByteBuffer(s); - } - - public virtual void resetInput(TextReader tr) - { - reset(); - input = new CharBuffer(tr); - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/MismatchedCharException.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/MismatchedCharException.cs deleted file mode 100644 index 43f38b496..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/MismatchedCharException.cs +++ /dev/null @@ -1,179 +0,0 @@ -using StringBuilder = System.Text.StringBuilder; -using BitSet = Spring.Expressions.Parser.antlr.collections.impl.BitSet; - -namespace Spring.Expressions.Parser.antlr; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// - -[Serializable] -public class MismatchedCharException : RecognitionException -{ - /* - * Returns a clean error message (no line number/column information) - */ - override public string Message - { - get - { - StringBuilder sb = new StringBuilder(); - - switch (mismatchType) - { - case CharTypeEnum.CharType: - sb.Append("expecting "); - appendCharName(sb, expecting); - sb.Append(", found "); - appendCharName(sb, foundChar); - break; - - case CharTypeEnum.NotCharType: - sb.Append("expecting anything but '"); - appendCharName(sb, expecting); - sb.Append("'; got it anyway"); - break; - - case CharTypeEnum.RangeType: - case CharTypeEnum.NotRangeType: - sb.Append("expecting token "); - if (mismatchType == CharTypeEnum.NotRangeType) - sb.Append("NOT "); - sb.Append("in range: "); - appendCharName(sb, expecting); - sb.Append(".."); - appendCharName(sb, upper); - sb.Append(", found "); - appendCharName(sb, foundChar); - break; - - case CharTypeEnum.SetType: - case CharTypeEnum.NotSetType: - sb.Append("expecting " + (mismatchType == CharTypeEnum.NotSetType ? "NOT " : "") + "one of ("); - int[] elems = bset.toArray(); - for (int i = 0; i < elems.Length; i++) - { - appendCharName(sb, elems[i]); - } - - sb.Append("), found "); - appendCharName(sb, foundChar); - break; - - default: - sb.Append(base.Message); - break; - } - - return sb.ToString(); - } - } - - // Types of chars - - public enum CharTypeEnum - { - CharType = 1, - NotCharType = 2, - RangeType = 3, - NotRangeType = 4, - SetType = 5, - NotSetType = 6 - } - - // One of the above - public CharTypeEnum mismatchType; - - // what was found on the input stream - public int foundChar; - - // For CHAR/NOT_CHAR and RANGE/NOT_RANGE - public int expecting; - - // For RANGE/NOT_RANGE (expecting is lower bound of range) - public int upper; - - // For SET/NOT_SET - public BitSet bset; - - // who knows...they may want to ask scanner questions - public CharScanner scanner; - - /* - * MismatchedCharException constructor comment. - */ - public MismatchedCharException() : base("Mismatched char") - { - } - - // Expected range / not range - public MismatchedCharException(char c, char lower, char upper_, bool matchNot, CharScanner scanner_) : - base("Mismatched char", scanner_.getFilename(), scanner_.getLine(), scanner_.getColumn()) - { - mismatchType = matchNot ? CharTypeEnum.NotRangeType : CharTypeEnum.RangeType; - foundChar = c; - expecting = lower; - upper = upper_; - scanner = scanner_; - } - - // Expected token / not token - public MismatchedCharException(char c, char expecting_, bool matchNot, CharScanner scanner_) : - base("Mismatched char", scanner_.getFilename(), scanner_.getLine(), scanner_.getColumn()) - { - mismatchType = matchNot ? CharTypeEnum.NotCharType : CharTypeEnum.CharType; - foundChar = c; - expecting = expecting_; - scanner = scanner_; - } - - // Expected BitSet / not BitSet - public MismatchedCharException(char c, BitSet set_, bool matchNot, CharScanner scanner_) : - base("Mismatched char", scanner_.getFilename(), scanner_.getLine(), scanner_.getColumn()) - { - mismatchType = matchNot ? CharTypeEnum.NotSetType : CharTypeEnum.SetType; - foundChar = c; - bset = set_; - scanner = scanner_; - } - - ///

- /// Append a char to the msg buffer. If special, then show escaped version - /// - /// Message buffer - /// Char to append - private void appendCharName(StringBuilder sb, int c) - { - switch (c) - { - case 65535: - // 65535 = (char) -1 = EOF - sb.Append("''"); - break; - case '\n': - sb.Append(@"'\n'"); - break; - case '\r': - sb.Append(@"'\r'"); - break; - case '\t': - sb.Append(@"'\t'"); - break; - default: - sb.Append('\''); - sb.Append((char) c); - sb.Append('\''); - break; - } - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/MismatchedTokenException.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/MismatchedTokenException.cs deleted file mode 100644 index 37ada530c..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/MismatchedTokenException.cs +++ /dev/null @@ -1,219 +0,0 @@ -using StringBuilder = System.Text.StringBuilder; -using BitSet = Spring.Expressions.Parser.antlr.collections.impl.BitSet; -using AST = Spring.Expressions.Parser.antlr.collections.AST; - -namespace Spring.Expressions.Parser.antlr; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// - -[Serializable] -public class MismatchedTokenException : RecognitionException -{ - // Token names array for formatting - internal string[] tokenNames; - - // The token that was encountered - public IToken token; - - // The offending AST node if tree walking - public AST node; - - internal string tokenText = null; // taken from node or token object - - // Types of tokens - public enum TokenTypeEnum - { - TokenType = 1, - NotTokenType = 2, - RangeType = 3, - NotRangeType = 4, - SetType = 5, - NotSetType = 6 - } - - // One of the above - public TokenTypeEnum mismatchType; - - // For TOKEN/NOT_TOKEN and RANGE/NOT_RANGE - public int expecting; - - // For RANGE/NOT_RANGE (expecting is lower bound of range) - public int upper; - - // For SET/NOT_SET - public BitSet bset; - - /*Looking for AST wildcard, didn't find it */ - public MismatchedTokenException() : base("Mismatched Token: expecting any AST node", "", -1, -1) - { - } - - // Expected range / not range - public MismatchedTokenException(string[] tokenNames_, AST node_, int lower, int upper_, bool matchNot) : - base("Mismatched Token", "", -1, -1) - { - tokenNames = tokenNames_; - node = node_; - if (node_ == null) - { - tokenText = ""; - } - else - { - tokenText = node_.ToString(); - } - - mismatchType = matchNot ? TokenTypeEnum.NotRangeType : TokenTypeEnum.RangeType; - expecting = lower; - upper = upper_; - } - - // Expected token / not token - public MismatchedTokenException(string[] tokenNames_, AST node_, int expecting_, bool matchNot) : - base("Mismatched Token", "", -1, -1) - { - tokenNames = tokenNames_; - node = node_; - if (node_ == null) - { - tokenText = ""; - } - else - { - tokenText = node_.ToString(); - } - - mismatchType = matchNot ? TokenTypeEnum.NotTokenType : TokenTypeEnum.TokenType; - expecting = expecting_; - } - - // Expected BitSet / not BitSet - public MismatchedTokenException(string[] tokenNames_, AST node_, BitSet set_, bool matchNot) : - base("Mismatched Token", "", -1, -1) - { - tokenNames = tokenNames_; - node = node_; - if (node_ == null) - { - tokenText = ""; - } - else - { - tokenText = node_.ToString(); - } - - mismatchType = matchNot ? TokenTypeEnum.NotSetType : TokenTypeEnum.SetType; - bset = set_; - } - - // Expected range / not range - public MismatchedTokenException(string[] tokenNames_, IToken token_, int lower, int upper_, bool matchNot, string fileName_) : - base("Mismatched Token", fileName_, token_.getLine(), token_.getColumn()) - { - tokenNames = tokenNames_; - token = token_; - tokenText = token_.getText(); - mismatchType = matchNot ? TokenTypeEnum.NotRangeType : TokenTypeEnum.RangeType; - expecting = lower; - upper = upper_; - } - - // Expected token / not token - public MismatchedTokenException(string[] tokenNames_, IToken token_, int expecting_, bool matchNot, string fileName_) : - base("Mismatched Token", fileName_, token_.getLine(), token_.getColumn()) - { - tokenNames = tokenNames_; - token = token_; - tokenText = token_.getText(); - mismatchType = matchNot ? TokenTypeEnum.NotTokenType : TokenTypeEnum.TokenType; - expecting = expecting_; - } - - // Expected BitSet / not BitSet - public MismatchedTokenException(string[] tokenNames_, IToken token_, BitSet set_, bool matchNot, string fileName_) : - base("Mismatched Token", fileName_, token_.getLine(), token_.getColumn()) - { - tokenNames = tokenNames_; - token = token_; - tokenText = token_.getText(); - mismatchType = matchNot ? TokenTypeEnum.NotSetType : TokenTypeEnum.SetType; - bset = set_; - } - - /* - * Returns a clean error message (no line number/column information) - */ - override public string Message - { - get - { - StringBuilder sb = new StringBuilder(); - - switch (mismatchType) - { - case TokenTypeEnum.TokenType: - sb.Append("expecting " + tokenName(expecting) + ", found '" + tokenText + "'"); - break; - - case TokenTypeEnum.NotTokenType: - sb.Append("expecting anything but " + tokenName(expecting) + "; got it anyway"); - break; - - case TokenTypeEnum.RangeType: - sb.Append("expecting token in range: " + tokenName(expecting) + ".." + tokenName(upper) + ", found '" + tokenText + "'"); - break; - - case TokenTypeEnum.NotRangeType: - sb.Append("expecting token NOT in range: " + tokenName(expecting) + ".." + tokenName(upper) + ", found '" + tokenText + "'"); - break; - - case TokenTypeEnum.SetType: - case TokenTypeEnum.NotSetType: - sb.Append("expecting " + (mismatchType == TokenTypeEnum.NotSetType ? "NOT " : "") + "one of ("); - int[] elems = bset.toArray(); - for (int i = 0; i < elems.Length; i++) - { - sb.Append(" "); - sb.Append(tokenName(elems[i])); - } - - sb.Append("), found '" + tokenText + "'"); - break; - - default: - sb.Append(base.Message); - break; - } - - return sb.ToString(); - } - } - - private string tokenName(int tokenType) - { - if (tokenType == Token.INVALID_TYPE) - { - return ""; - } - else if (tokenType < 0 || tokenType >= tokenNames.Length) - { - return "<" + tokenType.ToString() + ">"; - } - else - { - return tokenNames[tokenType]; - } - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/NoViableAltException.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/NoViableAltException.cs deleted file mode 100644 index 594ae7116..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/NoViableAltException.cs +++ /dev/null @@ -1,58 +0,0 @@ -using AST = Spring.Expressions.Parser.antlr.collections.AST; - -namespace Spring.Expressions.Parser.antlr; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// - -[Serializable] -public class NoViableAltException : RecognitionException -{ - public IToken token; - public AST node; // handles parsing and treeparsing - - public NoViableAltException(AST t) : base("NoViableAlt", "", -1, -1) - { - node = t; - } - - public NoViableAltException(IToken t, string fileName_) : - base("NoViableAlt", fileName_, t.getLine(), t.getColumn()) - { - token = t; - } - - /* - * Returns a clean error message (no line number/column information) - */ - override public string Message - { - get - { - if (token != null) - { - //return "unexpected token: " + token.getText(); - return "unexpected token: " + token.ToString(); - } - - // must a tree parser error if token==null - if ((node == null) || (node == TreeParser.ASTNULL)) - { - return "unexpected end of subtree"; - } - - return "unexpected AST node: " + node.ToString(); - } - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/NoViableAltForCharException.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/NoViableAltForCharException.cs deleted file mode 100644 index ae661cd08..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/NoViableAltForCharException.cs +++ /dev/null @@ -1,64 +0,0 @@ -using StringBuilder = System.Text.StringBuilder; - -namespace Spring.Expressions.Parser.antlr; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// - -[Serializable] -public class NoViableAltForCharException : RecognitionException -{ - public char foundChar; - - public NoViableAltForCharException(char c, CharScanner scanner) : - base("NoViableAlt", scanner.getFilename(), scanner.getLine(), scanner.getColumn()) - { - foundChar = c; - } - - public NoViableAltForCharException(char c, string fileName, int line, int column) : - base("NoViableAlt", fileName, line, column) - { - foundChar = c; - } - - /* - * Returns a clean error message (no line number/column information) - */ - override public string Message - { - get - { - StringBuilder mesg = new StringBuilder("unexpected char: "); - - // I'm trying to mirror a change in the C++ stuff. - // But java seems to lack something isprint-ish.. - // so we do it manually. This is probably too restrictive. - - if ((foundChar >= ' ') && (foundChar <= '~')) - { - mesg.Append('\''); - mesg.Append(foundChar); - mesg.Append('\''); - } - else - { - mesg.Append("0x"); - mesg.Append(((int) foundChar).ToString("X")); - } - - return mesg.ToString(); - } - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/ParseTree.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/ParseTree.cs deleted file mode 100644 index 19d6133ad..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/ParseTree.cs +++ /dev/null @@ -1,74 +0,0 @@ -namespace Spring.Expressions.Parser.antlr; - -/* ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -using StringBuilder = System.Text.StringBuilder; -using AST = antlr.collections.AST; - -public abstract class ParseTree : BaseAST -{ - /// - /// Walk parse tree and return requested number of derivation steps. - /// If steps less-than 0, return node text. If steps equals 1, return derivation - /// string at step. - /// - /// derivation steps - /// - public string getLeftmostDerivationStep(int step) - { - if (step <= 0) - { - return ToString(); - } - - StringBuilder buf = new StringBuilder(2000); - getLeftmostDerivation(buf, step); - return buf.ToString(); - } - - public string getLeftmostDerivation(int maxSteps) - { - StringBuilder buf = new StringBuilder(2000); - buf.Append(" " + this.ToString()); - buf.Append("\n"); - for (int d = 1; d < maxSteps; d++) - { - buf.Append(" =>"); - buf.Append(getLeftmostDerivationStep(d)); - buf.Append("\n"); - } - - return buf.ToString(); - } - - /// - /// Get derivation and return how many you did (less than requested for - /// subtree roots. - /// - /// string buffer - /// derivation steps - /// - protected internal abstract int getLeftmostDerivation(StringBuilder buf, int step); - - // just satisfy BaseAST interface; unused as we manually create nodes - - public override void initialize(int i, string s) - { - } - - public override void initialize(AST ast) - { - } - - public override void initialize(IToken token) - { - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/ParseTreeRule.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/ParseTreeRule.cs deleted file mode 100644 index 43c8b5da7..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/ParseTreeRule.cs +++ /dev/null @@ -1,91 +0,0 @@ -namespace Spring.Expressions.Parser.antlr; - -/* ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -using StringBuilder = System.Text.StringBuilder; -using AST = antlr.collections.AST; - -public class ParseTreeRule : ParseTree -{ - public const int INVALID_ALT = -1; - - protected string ruleName; - protected int altNumber; // unused until I modify antlr to record this - - public ParseTreeRule(string ruleName) : this(ruleName, INVALID_ALT) - { - } - - public ParseTreeRule(string ruleName, int altNumber) - { - this.ruleName = ruleName; - this.altNumber = altNumber; - } - - public string getRuleName() - { - return ruleName; - } - - /// - /// Do a step-first walk, building up a buffer of tokens until - /// you've reached a particular step and print out any rule subroots - /// insteads of descending. - /// - /// derivation buffer - /// derivation steps - /// - protected internal override int getLeftmostDerivation(StringBuilder buf, int step) - { - int numReplacements = 0; - if (step <= 0) - { - buf.Append(' '); - buf.Append(ToString()); - return numReplacements; - } - - AST child = getFirstChild(); - numReplacements = 1; - // walk child printing them out, descending into at most one - while (child != null) - { - if ((numReplacements >= step) || (child is ParseTreeToken)) - { - buf.Append(' '); - buf.Append(child.ToString()); - } - else - { - // descend for at least one more derivation; update count - int remainingReplacements = step - numReplacements; - int n = ((ParseTree) child).getLeftmostDerivation(buf, remainingReplacements); - numReplacements += n; - } - - child = child.getNextSibling(); - } - - return numReplacements; - } - - public override string ToString() - { - if (altNumber == INVALID_ALT) - { - return '<' + ruleName + '>'; - } - else - { - return '<' + ruleName + "[" + altNumber + "]>"; - } - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/ParseTreeToken.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/ParseTreeToken.cs deleted file mode 100644 index 6601d5a18..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/ParseTreeToken.cs +++ /dev/null @@ -1,40 +0,0 @@ -namespace Spring.Expressions.Parser.antlr; - -/* ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -using StringBuilder = System.Text.StringBuilder; - -public class ParseTreeToken : ParseTree -{ - protected IToken token; - - public ParseTreeToken(IToken token) - { - this.token = token; - } - - protected override internal int getLeftmostDerivation(StringBuilder buf, int step) - { - buf.Append(' '); - buf.Append(ToString()); - return step; // did on replacements - } - - public override string ToString() - { - if (token != null) - { - return token.getText(); - } - - return ""; - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/Parser.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/Parser.cs deleted file mode 100644 index af308e47b..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/Parser.cs +++ /dev/null @@ -1,524 +0,0 @@ -using Spring.Expressions.Parser.antlr.debug; -using EventHandlerList = System.ComponentModel.EventHandlerList; -using BitSet = Spring.Expressions.Parser.antlr.collections.impl.BitSet; -using AST = Spring.Expressions.Parser.antlr.collections.AST; -using MessageListener = Spring.Expressions.Parser.antlr.debug.MessageListener; -using ParserListener = Spring.Expressions.Parser.antlr.debug.ParserListener; -using ParserMatchListener = Spring.Expressions.Parser.antlr.debug.ParserMatchListener; -using ParserTokenListener = Spring.Expressions.Parser.antlr.debug.ParserTokenListener; -using SemanticPredicateListener = Spring.Expressions.Parser.antlr.debug.SemanticPredicateListener; -using SyntacticPredicateListener = Spring.Expressions.Parser.antlr.debug.SyntacticPredicateListener; -using TraceListener = Spring.Expressions.Parser.antlr.debug.TraceListener; - -/* - private Vector messageListeners; - private Vector newLineListeners; - private Vector matchListeners; - private Vector tokenListeners; - private Vector semPredListeners; - private Vector synPredListeners; - private Vector traceListeners; -*/ - -namespace Spring.Expressions.Parser.antlr; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// - -public abstract class Parser : IParserDebugSubject -{ - // Used to store event delegates - private EventHandlerList events_ = new EventHandlerList(); - - protected internal EventHandlerList Events - { - get { return events_; } - } - - // The unique keys for each event that Parser [objects] can generate - internal static readonly object EnterRuleEventKey = new object(); - internal static readonly object ExitRuleEventKey = new object(); - internal static readonly object DoneEventKey = new object(); - internal static readonly object ReportErrorEventKey = new object(); - internal static readonly object ReportWarningEventKey = new object(); - internal static readonly object NewLineEventKey = new object(); - internal static readonly object MatchEventKey = new object(); - internal static readonly object MatchNotEventKey = new object(); - internal static readonly object MisMatchEventKey = new object(); - internal static readonly object MisMatchNotEventKey = new object(); - internal static readonly object ConsumeEventKey = new object(); - internal static readonly object LAEventKey = new object(); - internal static readonly object SemPredEvaluatedEventKey = new object(); - internal static readonly object SynPredStartedEventKey = new object(); - internal static readonly object SynPredFailedEventKey = new object(); - internal static readonly object SynPredSucceededEventKey = new object(); - - protected internal ParserSharedInputState inputState; - - /*Nesting level of registered handlers */ - // protected int exceptionLevel = 0; - - /*Table of token type to token names */ - protected internal string[] tokenNames; - - /*AST return value for a rule is squirreled away here */ - protected internal AST returnAST; - - /*AST support code; parser and treeparser delegate to this object */ - protected internal ASTFactory astFactory = new ASTFactory(); - - private bool ignoreInvalidDebugCalls = false; - - /*Used to keep track of indentdepth for traceIn/Out */ - protected internal int traceDepth = 0; - - public Parser() - { - inputState = new ParserSharedInputState(); - } - - public Parser(ParserSharedInputState state) - { - inputState = state; - } - - /// - /// - /// - public event TraceEventHandler EnterRule - { - add { Events.AddHandler(EnterRuleEventKey, value); } - remove { Events.RemoveHandler(EnterRuleEventKey, value); } - } - - public event TraceEventHandler ExitRule - { - add { Events.AddHandler(ExitRuleEventKey, value); } - remove { Events.RemoveHandler(ExitRuleEventKey, value); } - } - - public event TraceEventHandler Done - { - add { Events.AddHandler(DoneEventKey, value); } - remove { Events.RemoveHandler(DoneEventKey, value); } - } - - public event MessageEventHandler ErrorReported - { - add { Events.AddHandler(ReportErrorEventKey, value); } - remove { Events.RemoveHandler(ReportErrorEventKey, value); } - } - - public event MessageEventHandler WarningReported - { - add { Events.AddHandler(ReportWarningEventKey, value); } - remove { Events.RemoveHandler(ReportWarningEventKey, value); } - } - - public event MatchEventHandler MatchedToken - { - add { Events.AddHandler(MatchEventKey, value); } - remove { Events.RemoveHandler(MatchEventKey, value); } - } - - public event MatchEventHandler MatchedNotToken - { - add { Events.AddHandler(MatchNotEventKey, value); } - remove { Events.RemoveHandler(MatchNotEventKey, value); } - } - - public event MatchEventHandler MisMatchedToken - { - add { Events.AddHandler(MisMatchEventKey, value); } - remove { Events.RemoveHandler(MisMatchEventKey, value); } - } - - public event MatchEventHandler MisMatchedNotToken - { - add { Events.AddHandler(MisMatchNotEventKey, value); } - remove { Events.RemoveHandler(MisMatchNotEventKey, value); } - } - - public event TokenEventHandler ConsumedToken - { - add { Events.AddHandler(ConsumeEventKey, value); } - remove { Events.RemoveHandler(ConsumeEventKey, value); } - } - - public event TokenEventHandler TokenLA - { - add { Events.AddHandler(LAEventKey, value); } - remove { Events.RemoveHandler(LAEventKey, value); } - } - - public event SemanticPredicateEventHandler SemPredEvaluated - { - add { Events.AddHandler(SemPredEvaluatedEventKey, value); } - remove { Events.RemoveHandler(SemPredEvaluatedEventKey, value); } - } - - public event SyntacticPredicateEventHandler SynPredStarted - { - add { Events.AddHandler(SynPredStartedEventKey, value); } - remove { Events.RemoveHandler(SynPredStartedEventKey, value); } - } - - public event SyntacticPredicateEventHandler SynPredFailed - { - add { Events.AddHandler(SynPredFailedEventKey, value); } - remove { Events.RemoveHandler(SynPredFailedEventKey, value); } - } - - public event SyntacticPredicateEventHandler SynPredSucceeded - { - add { Events.AddHandler(SynPredSucceededEventKey, value); } - remove { Events.RemoveHandler(SynPredSucceededEventKey, value); } - } - - public virtual void addMessageListener(MessageListener l) - { - if (!ignoreInvalidDebugCalls) - throw new System.ArgumentException("addMessageListener() is only valid if parser built for debugging"); - } - - public virtual void addParserListener(ParserListener l) - { - if (!ignoreInvalidDebugCalls) - throw new System.ArgumentException("addParserListener() is only valid if parser built for debugging"); - } - - public virtual void addParserMatchListener(ParserMatchListener l) - { - if (!ignoreInvalidDebugCalls) - throw new System.ArgumentException("addParserMatchListener() is only valid if parser built for debugging"); - } - - public virtual void addParserTokenListener(ParserTokenListener l) - { - if (!ignoreInvalidDebugCalls) - throw new System.ArgumentException("addParserTokenListener() is only valid if parser built for debugging"); - } - - public virtual void addSemanticPredicateListener(SemanticPredicateListener l) - { - if (!ignoreInvalidDebugCalls) - throw new System.ArgumentException("addSemanticPredicateListener() is only valid if parser built for debugging"); - } - - public virtual void addSyntacticPredicateListener(SyntacticPredicateListener l) - { - if (!ignoreInvalidDebugCalls) - throw new System.ArgumentException("addSyntacticPredicateListener() is only valid if parser built for debugging"); - } - - public virtual void addTraceListener(TraceListener l) - { - if (!ignoreInvalidDebugCalls) - throw new System.ArgumentException("addTraceListener() is only valid if parser built for debugging"); - } - - /*Get another token object from the token stream */ - public abstract void consume(); - - /*Consume tokens until one matches the given token */ - public virtual void consumeUntil(int tokenType) - { - while (LA(1) != Token.EOF_TYPE && LA(1) != tokenType) - { - consume(); - } - } - - /*Consume tokens until one matches the given token set */ - public virtual void consumeUntil(BitSet bset) - { - while (LA(1) != Token.EOF_TYPE && !bset.member(LA(1))) - { - consume(); - } - } - - protected internal virtual void defaultDebuggingSetup(TokenStream lexer, TokenBuffer tokBuf) - { - // by default, do nothing -- we're not debugging - } - - /*Get the AST return value squirreled away in the parser */ - public virtual AST getAST() - { - return returnAST; - } - - public virtual ASTFactory getASTFactory() - { - return astFactory; - } - - public virtual string getFilename() - { - return inputState.filename; - } - - public virtual ParserSharedInputState getInputState() - { - return inputState; - } - - public virtual void setInputState(ParserSharedInputState state) - { - inputState = state; - } - - public virtual void resetState() - { - traceDepth = 0; - inputState.reset(); - } - - public virtual string getTokenName(int num) - { - return tokenNames[num]; - } - - public virtual string[] getTokenNames() - { - return tokenNames; - } - - public virtual bool isDebugMode() - { - return false; - } - - /*Return the token type of the ith token of lookahead where i=1 - * is the current token being examined by the parser (i.e., it - * has not been matched yet). - */ - public abstract int LA(int i); - - /*Return the ith token of lookahead */ - public abstract IToken LT(int i); - - // Forwarded to TokenBuffer - public virtual int mark() - { - return inputState.input.mark(); - } - - /*Make sure current lookahead symbol matches token type t. - * Throw an exception upon mismatch, which is catch by either the - * error handler or by the syntactic predicate. - */ - public virtual void match(int t) - { - if (LA(1) != t) - throw new MismatchedTokenException(tokenNames, LT(1), t, false, getFilename()); - else - consume(); - } - - /*Make sure current lookahead symbol matches the given set - * Throw an exception upon mismatch, which is catch by either the - * error handler or by the syntactic predicate. - */ - public virtual void match(BitSet b) - { - if (!b.member(LA(1))) - throw new MismatchedTokenException(tokenNames, LT(1), b, false, getFilename()); - else - consume(); - } - - public virtual void matchNot(int t) - { - if (LA(1) == t) - throw new MismatchedTokenException(tokenNames, LT(1), t, true, getFilename()); - else - consume(); - } - - /// - /// @deprecated as of 2.7.2. This method calls System.exit() and writes - /// directly to stderr, which is usually not appropriate when - /// a parser is embedded into a larger application. Since the method is - /// static, it cannot be overridden to avoid these problems. - /// ANTLR no longer uses this method internally or in generated code. - /// - /// - [Obsolete("De-activated since version 2.7.2.6 as it cannot be overidden.", true)] - public static void panic() - { - System.Console.Error.WriteLine("Parser: panic"); - System.Environment.Exit(1); - } - - public virtual void removeMessageListener(MessageListener l) - { - if (!ignoreInvalidDebugCalls) - throw new System.SystemException("removeMessageListener() is only valid if parser built for debugging"); - } - - public virtual void removeParserListener(ParserListener l) - { - if (!ignoreInvalidDebugCalls) - throw new System.SystemException("removeParserListener() is only valid if parser built for debugging"); - } - - public virtual void removeParserMatchListener(ParserMatchListener l) - { - if (!ignoreInvalidDebugCalls) - throw new System.SystemException("removeParserMatchListener() is only valid if parser built for debugging"); - } - - public virtual void removeParserTokenListener(ParserTokenListener l) - { - if (!ignoreInvalidDebugCalls) - throw new System.SystemException("removeParserTokenListener() is only valid if parser built for debugging"); - } - - public virtual void removeSemanticPredicateListener(SemanticPredicateListener l) - { - if (!ignoreInvalidDebugCalls) - throw new System.ArgumentException("removeSemanticPredicateListener() is only valid if parser built for debugging"); - } - - public virtual void removeSyntacticPredicateListener(SyntacticPredicateListener l) - { - if (!ignoreInvalidDebugCalls) - throw new System.ArgumentException("removeSyntacticPredicateListener() is only valid if parser built for debugging"); - } - - public virtual void removeTraceListener(TraceListener l) - { - if (!ignoreInvalidDebugCalls) - throw new System.SystemException("removeTraceListener() is only valid if parser built for debugging"); - } - - /*Parser error-reporting function can be overridden in subclass */ - public virtual void reportError(RecognitionException ex) - { - Console.Error.WriteLine(ex); - } - - /*Parser error-reporting function can be overridden in subclass */ - public virtual void reportError(string s) - { - if (getFilename() == null) - { - Console.Error.WriteLine("error: " + s); - } - else - { - Console.Error.WriteLine(getFilename() + ": error: " + s); - } - } - - /*Parser warning-reporting function can be overridden in subclass */ - public virtual void reportWarning(string s) - { - if (getFilename() == null) - { - Console.Error.WriteLine("warning: " + s); - } - else - { - Console.Error.WriteLine(getFilename() + ": warning: " + s); - } - } - - public virtual void recover(RecognitionException ex, BitSet tokenSet) - { - consume(); - consumeUntil(tokenSet); - } - - public virtual void rewind(int pos) - { - inputState.input.rewind(pos); - } - - /// - /// Specify an object with support code (shared by Parser and TreeParser. - /// Normally, the programmer does not play with this, using - /// instead. - /// - /// - public virtual void setASTFactory(ASTFactory f) - { - astFactory = f; - } - - /// - /// Specify the type of node to create during tree building. - /// - /// Fully qualified AST Node type name. - public virtual void setASTNodeClass(string cl) - { - astFactory.setASTNodeType(cl); - } - - /// - /// Specify the type of node to create during tree building. - /// use now to be consistent with - /// Token Object Type accessor. - /// - /// Fully qualified AST Node type name. - [Obsolete("Replaced by setASTNodeClass(string) since version 2.7.1", true)] - public virtual void setASTNodeType(string nodeType) - { - setASTNodeClass(nodeType); - } - - public virtual void setDebugMode(bool debugMode) - { - if (!ignoreInvalidDebugCalls) - throw new System.SystemException("setDebugMode() only valid if parser built for debugging"); - } - - public virtual void setFilename(string f) - { - inputState.filename = f; - } - - public virtual void setIgnoreInvalidDebugCalls(bool Value) - { - ignoreInvalidDebugCalls = Value; - } - - /*Set or change the input token buffer */ - public virtual void setTokenBuffer(TokenBuffer t) - { - inputState.input = t; - } - - public virtual void traceIndent() - { - for (int i = 0; i < traceDepth; i++) - Console.Out.Write(" "); - } - - public virtual void traceIn(string rname) - { - traceDepth += 1; - traceIndent(); - Console.Out.WriteLine("> " + rname + "; LA(1)==" + LT(1).getText() + ((inputState.guessing > 0) ? " [guessing]" : "")); - } - - public virtual void traceOut(string rname) - { - traceIndent(); - Console.Out.WriteLine("< " + rname + "; LA(1)==" + LT(1).getText() + ((inputState.guessing > 0) ? " [guessing]" : "")); - traceDepth -= 1; - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/ParserSharedInputState.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/ParserSharedInputState.cs deleted file mode 100644 index db00dae42..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/ParserSharedInputState.cs +++ /dev/null @@ -1,39 +0,0 @@ -namespace Spring.Expressions.Parser.antlr; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// -/*This object contains the data associated with an - * input stream of tokens. Multiple parsers - * share a single ParserSharedInputState to parse - * the same stream of tokens. - */ - -public class ParserSharedInputState -{ - /*Where to get token objects */ - protected internal TokenBuffer input; - - /*Are we guessing (guessing>0)? */ - public int guessing = 0; - - /*What file (if known) caused the problem? */ - protected internal string filename; - - public virtual void reset() - { - guessing = 0; - filename = null; - input.reset(); - } -} \ No newline at end of file diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/RecognitionException.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/RecognitionException.cs deleted file mode 100644 index 91447bb0c..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/RecognitionException.cs +++ /dev/null @@ -1,78 +0,0 @@ -namespace Spring.Expressions.Parser.antlr; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// - -[Serializable] -public class RecognitionException : ANTLRException -{ - public string fileName; // not used by treeparsers - public int line; // not used by treeparsers - public int column; // not used by treeparsers - - public RecognitionException() : base("parsing error") - { - fileName = null; - line = -1; - column = -1; - } - - /* - * RecognitionException constructor comment. - * @param s java.lang.String - */ - public RecognitionException(string s) : base(s) - { - fileName = null; - line = -1; - column = -1; - } - - /* - * RecognitionException constructor comment. - * @param s java.lang.String - */ - public RecognitionException(string s, string fileName_, int line_, int column_) : base(s) - { - fileName = fileName_; - line = line_; - column = column_; - } - - public virtual string getFilename() - { - return fileName; - } - - public virtual int getLine() - { - return line; - } - - public virtual int getColumn() - { - return column; - } - - [Obsolete("Replaced by Message property since version 2.7.0", true)] - public virtual string getErrorMessage() - { - return Message; - } - - override public string ToString() - { - return FileLineFormatter.getFormatter().getFormatString(fileName, line, column) + Message; - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/SemanticException.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/SemanticException.cs deleted file mode 100644 index 65e5b6bf8..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/SemanticException.cs +++ /dev/null @@ -1,34 +0,0 @@ -namespace Spring.Expressions.Parser.antlr; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// - -[Serializable] -public class SemanticException : RecognitionException -{ - public SemanticException(string s) : base(s) - { - } - - [Obsolete("Replaced by SemanticException(string, string, int, int) since version 2.7.2.6", false)] - public SemanticException(String s, String fileName, int line) : - this(s, fileName, line, -1) - { - } - - public SemanticException(string s, string fileName, int line, int column) : - base(s, fileName, line, column) - { - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/StringUtils.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/StringUtils.cs deleted file mode 100644 index 4a376c0ab..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/StringUtils.cs +++ /dev/null @@ -1,117 +0,0 @@ -namespace Spring.Expressions.Parser.antlr; -/* ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// - -public class StringUtils -{ - /*General-purpose utility function for removing - * characters from back of string - * @param s The string to process - * @param c The character to remove - * @return The resulting string - */ - static public string stripBack(string s, char c) - { - while (s.Length > 0 && s[s.Length - 1] == c) - { - s = s.Substring(0, (s.Length - 1) - (0)); - } - - return s; - } - - /*General-purpose utility function for removing - * characters from back of string - * @param s The string to process - * @param remove A string containing the set of characters to remove - * @return The resulting string - */ - static public string stripBack(string s, string remove) - { - bool changed; - do - { - changed = false; - for (int i = 0; i < remove.Length; i++) - { - char c = remove[i]; - while (s.Length > 0 && s[s.Length - 1] == c) - { - changed = true; - s = s.Substring(0, (s.Length - 1) - (0)); - } - } - } while (changed); - - return s; - } - - /*General-purpose utility function for removing - * characters from front of string - * @param s The string to process - * @param c The character to remove - * @return The resulting string - */ - static public string stripFront(string s, char c) - { - while (s.Length > 0 && s[0] == c) - { - s = s.Substring(1); - } - - return s; - } - - /*General-purpose utility function for removing - * characters from front of string - * @param s The string to process - * @param remove A string containing the set of characters to remove - * @return The resulting string - */ - static public string stripFront(string s, string remove) - { - bool changed; - do - { - changed = false; - for (int i = 0; i < remove.Length; i++) - { - char c = remove[i]; - while (s.Length > 0 && s[0] == c) - { - changed = true; - s = s.Substring(1); - } - } - } while (changed); - - return s; - } - - /*General-purpose utility function for removing - * characters from the front and back of string - * @param s The string to process - * @param head exact string to strip from head - * @param tail exact string to strip from tail - * @return The resulting string - */ - public static string stripFrontBack(string src, string head, string tail) - { - int h = src.IndexOf(head); - int t = src.LastIndexOf(tail); - if (h == -1 || t == -1) - return src; - return src.Substring(h + 1, (t) - (h + 1)); - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/SupportClass.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/SupportClass.cs deleted file mode 100644 index ab9df1c3d..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/SupportClass.cs +++ /dev/null @@ -1,30 +0,0 @@ -namespace Spring.Expressions.Parser.antlr; - -internal class SupportClass -{ - public static int URShift(int number, int bits) - { - if (number >= 0) - return number >> bits; - else - return (number >> bits) + (2 << ~bits); - } - - public static int URShift(int number, long bits) - { - return URShift(number, (int) bits); - } - - public static long URShift(long number, int bits) - { - if (number >= 0) - return number >> bits; - else - return (number >> bits) + (2L << ~bits); - } - - public static long URShift(long number, long bits) - { - return URShift(number, (int) bits); - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/Token.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/Token.cs deleted file mode 100644 index d004d894b..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/Token.cs +++ /dev/null @@ -1,102 +0,0 @@ -namespace Spring.Expressions.Parser.antlr; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// -/*A token is minimally a token type. Subclasses can add the text matched - * for the token and line info. - */ - -public class Token : IToken //, ICloneable -{ - // constants - public const int MIN_USER_TYPE = 4; - public const int NULL_TREE_LOOKAHEAD = 3; - public const int INVALID_TYPE = 0; - public const int EOF_TYPE = 1; - public static readonly int SKIP = -1; - - // each Token has at least a token type - protected int type_; - - // the illegal token object - public static Token badToken = new Token(INVALID_TYPE, ""); - - public Token() - { - type_ = INVALID_TYPE; - } - - public Token(int t) - { - type_ = t; - } - - public Token(int t, string txt) - { - type_ = t; - setText(txt); - } - - public virtual int getColumn() - { - return 0; - } - - public virtual int getLine() - { - return 0; - } - - public virtual string getFilename() - { - return null; - } - - public virtual void setFilename(string name) - { - } - - public virtual string getText() - { - return ""; - } - - public int Type - { - get { return type_; } - set { type_ = value; } - } - - public virtual void setType(int newType) { this.Type = newType; } - - public virtual void setColumn(int c) - { - ; - } - - public virtual void setLine(int l) - { - ; - } - - public virtual void setText(string t) - { - ; - } - - override public string ToString() - { - return "[\"" + getText() + "\",<" + type_ + ">]"; - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/TokenBuffer.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/TokenBuffer.cs deleted file mode 100644 index 4c3d543ea..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/TokenBuffer.cs +++ /dev/null @@ -1,141 +0,0 @@ -namespace Spring.Expressions.Parser.antlr; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// -/*A Stream of Token objects fed to the parser from a Tokenizer that can - * be rewound via mark()/rewind() methods. - *

- * A dynamic array is used to buffer up all the input tokens. Normally, - * "k" tokens are stored in the buffer. More tokens may be stored during - * guess mode (testing syntactic predicate), or when LT(i>k) is referenced. - * Consumption of tokens is deferred. In other words, reading the next - * token is not done by conume(), but deferred until needed by LA or LT. - *

- * - * @see antlr.Token - * @see antlr.Tokenizer - * @see antlr.TokenQueue - */ - -public class TokenBuffer -{ - // Token source - protected internal TokenStream input; - - // Number of active markers - protected internal int nMarkers = 0; - - // Additional offset used when markers are active - protected internal int markerOffset = 0; - - // Number of calls to consume() since last LA() or LT() call - protected internal int numToConsume = 0; - - // Circular queue - internal TokenQueue queue; - - /*Create a token buffer */ - public TokenBuffer(TokenStream input_) - { - input = input_; - queue = new TokenQueue(1); - } - - /*Reset the input buffer to empty state */ - public virtual void reset() - { - nMarkers = 0; - markerOffset = 0; - numToConsume = 0; - queue.reset(); - } - - /*Mark another token for deferred consumption */ - public virtual void consume() - { - numToConsume++; - } - - /*Ensure that the token buffer is sufficiently full */ - protected virtual void fill(int amount) - { - syncConsume(); - // Fill the buffer sufficiently to hold needed tokens - while (queue.nbrEntries < (amount + markerOffset)) - { - // Append the next token - queue.append(input.nextToken()); - } - } - - /*return the Tokenizer (needed by ParseView) */ - public virtual TokenStream getInput() - { - return input; - } - - /*Get a lookahead token value */ - public virtual int LA(int i) - { - fill(i); - return queue.elementAt(markerOffset + i - 1).Type; - } - - /*Get a lookahead token */ - public virtual IToken LT(int i) - { - fill(i); - return queue.elementAt(markerOffset + i - 1); - } - - /*Return an integer marker that can be used to rewind the buffer to - * its current state. - */ - public virtual int mark() - { - syncConsume(); - nMarkers++; - return markerOffset; - } - - /*Rewind the token buffer to a marker. - * @param mark Marker returned previously from mark() - */ - public virtual void rewind(int mark) - { - syncConsume(); - markerOffset = mark; - nMarkers--; - } - - /*Sync up deferred consumption */ - protected virtual void syncConsume() - { - while (numToConsume > 0) - { - if (nMarkers > 0) - { - // guess mode -- leave leading tokens and bump offset. - markerOffset++; - } - else - { - // normal mode -- remove first token - queue.removeFirst(); - } - - numToConsume--; - } - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/TokenCreator.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/TokenCreator.cs deleted file mode 100644 index 9de83db4b..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/TokenCreator.cs +++ /dev/null @@ -1,44 +0,0 @@ -namespace Spring.Expressions.Parser.antlr; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// - -///

-/// A creator of Token object instances. -/// -/// -/// -/// This class and it's sub-classes exists primarily as an optimization -/// of the reflection-based mechanism(s) previously used exclusively to -/// create instances of Token objects. -/// -/// -/// Since Lexers in ANTLR use a single Token type, each TokenCreator can -/// create one class of Token objects (that's why it's not called TokenFactory). -/// -/// -public abstract class TokenCreator -{ - /// - /// Returns the fully qualified name of the Token type that this - /// class creates. - /// - public abstract string TokenTypeName - { - get; - } - - /// - /// Constructs a instance. - /// - public abstract IToken Create(); -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/TokenQueue.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/TokenQueue.cs deleted file mode 100644 index eb1156d0c..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/TokenQueue.cs +++ /dev/null @@ -1,124 +0,0 @@ -namespace Spring.Expressions.Parser.antlr; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// -/*A private circular buffer object used by the token buffer */ - -class TokenQueue -{ - /*Physical circular buffer of tokens */ - private IToken[] buffer; - - /*buffer.length-1 for quick modulos */ - private int sizeLessOne; - - /*physical index of front token */ - private int offset; - - /*number of tokens in the queue */ - protected internal int nbrEntries; - - public TokenQueue(int minSize) - { - // Find first power of 2 >= to requested size - int size; - if (minSize < 0) - { - init(16); // pick some value for them - return; - } - - // check for overflow - if (minSize >= (int.MaxValue / 2)) - { - init(int.MaxValue); // wow that's big. - return; - } - - for (size = 2; size < minSize; size *= 2) - { - ; - } - - init(size); - } - - /*Add token to end of the queue - * @param tok The token to add - */ - public void append(IToken tok) - { - if (nbrEntries == buffer.Length) - { - expand(); - } - - buffer[(offset + nbrEntries) & sizeLessOne] = tok; - nbrEntries++; - } - - /*Fetch a token from the queue by index - * @param idx The index of the token to fetch, where zero is the token at the front of the queue - */ - public IToken elementAt(int idx) - { - return buffer[(offset + idx) & sizeLessOne]; - } - - /*Expand the token buffer by doubling its capacity */ - private void expand() - { - IToken[] newBuffer = new IToken[buffer.Length * 2]; - // Copy the contents to the new buffer - // Note that this will store the first logical item in the - // first physical array element. - for (int i = 0; i < buffer.Length; i++) - { - newBuffer[i] = elementAt(i); - } - - // Re-initialize with new contents, keep old nbrEntries - buffer = newBuffer; - sizeLessOne = buffer.Length - 1; - offset = 0; - } - - /*Initialize the queue. - * @param size The initial size of the queue - */ - private void init(int size) - { - // Allocate buffer - buffer = new IToken[size]; - // Other initialization - sizeLessOne = size - 1; - offset = 0; - nbrEntries = 0; - } - - /*Clear the queue. Leaving the previous buffer alone. - */ - public void reset() - { - offset = 0; - nbrEntries = 0; - } - - /*Remove token from front of queue */ - public void removeFirst() - { - offset = (offset + 1) & sizeLessOne; - nbrEntries--; - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/TokenStream.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/TokenStream.cs deleted file mode 100644 index b4bb78991..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/TokenStream.cs +++ /dev/null @@ -1,20 +0,0 @@ -namespace Spring.Expressions.Parser.antlr; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// - -public interface TokenStream -{ - IToken nextToken(); -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/TokenStreamBasicFilter.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/TokenStreamBasicFilter.cs deleted file mode 100644 index daa1a536e..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/TokenStreamBasicFilter.cs +++ /dev/null @@ -1,57 +0,0 @@ -using BitSet = Spring.Expressions.Parser.antlr.collections.impl.BitSet; - -namespace Spring.Expressions.Parser.antlr; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// - -/*This object is a TokenStream that passes through all - * tokens except for those that you tell it to discard. - * There is no buffering of the tokens. - */ -public class TokenStreamBasicFilter : TokenStream -{ - /*The set of token types to discard */ - protected internal BitSet discardMask; - - /*The input stream */ - protected internal TokenStream input; - - public TokenStreamBasicFilter(TokenStream input) - { - this.input = input; - discardMask = new BitSet(); - } - - public virtual void discard(int ttype) - { - discardMask.add(ttype); - } - - public virtual void discard(BitSet mask) - { - discardMask = mask; - } - - public virtual IToken nextToken() - { - IToken tok = input.nextToken(); - while (tok != null && discardMask.member(tok.Type)) - { - tok = input.nextToken(); - } - - return tok; - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/TokenStreamException.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/TokenStreamException.cs deleted file mode 100644 index c5c1403f6..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/TokenStreamException.cs +++ /dev/null @@ -1,30 +0,0 @@ -namespace Spring.Expressions.Parser.antlr; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// -/* - * Anything that goes wrong while generating a stream of tokens. - */ - -[Serializable] -public class TokenStreamException : ANTLRException -{ - public TokenStreamException() - { - } - - public TokenStreamException(string s) : base(s) - { - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/TokenStreamHiddenTokenFilter.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/TokenStreamHiddenTokenFilter.cs deleted file mode 100644 index a5d66a29b..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/TokenStreamHiddenTokenFilter.cs +++ /dev/null @@ -1,193 +0,0 @@ -using BitSet = Spring.Expressions.Parser.antlr.collections.impl.BitSet; - -namespace Spring.Expressions.Parser.antlr; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// - -/*This object filters a token stream coming from a lexer - * or another TokenStream so that only certain token channels - * get transmitted to the parser. - * - * Any of the channels can be filtered off as "hidden" channels whose - * tokens can be accessed from the parser. - */ -public class TokenStreamHiddenTokenFilter : TokenStreamBasicFilter, TokenStream -{ - // protected BitSet discardMask; - protected internal BitSet hideMask; - - private IHiddenStreamToken nextMonitoredToken; - - /*track tail of hidden list emanating from previous - * monitored token - */ - protected internal IHiddenStreamToken lastHiddenToken; - - protected internal IHiddenStreamToken firstHidden = null; - - public TokenStreamHiddenTokenFilter(TokenStream input) : base(input) - { - hideMask = new BitSet(); - } - - protected internal virtual void consume() - { - nextMonitoredToken = (IHiddenStreamToken) input.nextToken(); - } - - private void consumeFirst() - { - consume(); // get first token of input stream - - // Handle situation where hidden or discarded tokens - // appear first in input stream - IHiddenStreamToken p = null; - // while hidden or discarded scarf tokens - while (hideMask.member(LA(1).Type) || discardMask.member(LA(1).Type)) - { - if (hideMask.member(LA(1).Type)) - { - if (p == null) - { - p = LA(1); - } - else - { - p.setHiddenAfter(LA(1)); - LA(1).setHiddenBefore(p); // double-link - p = LA(1); - } - - lastHiddenToken = p; - if (firstHidden == null) - { - firstHidden = p; // record hidden token if first - } - } - - consume(); - } - } - - public virtual BitSet getDiscardMask() - { - return discardMask; - } - - /*Return a ptr to the hidden token appearing immediately after - * token t in the input stream. - */ - public virtual IHiddenStreamToken getHiddenAfter(IHiddenStreamToken t) - { - return t.getHiddenAfter(); - } - - /*Return a ptr to the hidden token appearing immediately before - * token t in the input stream. - */ - public virtual IHiddenStreamToken getHiddenBefore(IHiddenStreamToken t) - { - return t.getHiddenBefore(); - } - - public virtual BitSet getHideMask() - { - return hideMask; - } - - /*Return the first hidden token if one appears - * before any monitored token. - */ - public virtual IHiddenStreamToken getInitialHiddenToken() - { - return firstHidden; - } - - public virtual void hide(int m) - { - hideMask.add(m); - } - - public virtual void hide(BitSet mask) - { - hideMask = mask; - } - - protected internal virtual IHiddenStreamToken LA(int i) - { - return nextMonitoredToken; - } - - /*Return the next monitored token. - * Test the token following the monitored token. - * If following is another monitored token, save it - * for the next invocation of nextToken (like a single - * lookahead token) and return it then. - * If following is unmonitored, nondiscarded (hidden) - * channel token, add it to the monitored token. - * - * Note: EOF must be a monitored Token. - */ - override public IToken nextToken() - { - // handle an initial condition; don't want to get lookahead - // token of this splitter until first call to nextToken - if (LA(1) == null) - { - consumeFirst(); - } - - // we always consume hidden tokens after monitored, thus, - // upon entry LA(1) is a monitored token. - IHiddenStreamToken monitored = LA(1); - // point to hidden tokens found during last invocation - monitored.setHiddenBefore(lastHiddenToken); - lastHiddenToken = null; - - // Look for hidden tokens, hook them into list emanating - // from the monitored tokens. - consume(); - IHiddenStreamToken p = monitored; - // while hidden or discarded scarf tokens - while (hideMask.member(LA(1).Type) || discardMask.member(LA(1).Type)) - { - if (hideMask.member(LA(1).Type)) - { - // attach the hidden token to the monitored in a chain - // link forwards - p.setHiddenAfter(LA(1)); - // link backwards - if (p != monitored) - { - //hidden cannot point to monitored tokens - LA(1).setHiddenBefore(p); - } - - p = (lastHiddenToken = LA(1)); - } - - consume(); - } - - return monitored; - } - - public virtual void resetState() - { - firstHidden = null; - lastHiddenToken = null; - nextMonitoredToken = null; - } -} \ No newline at end of file diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/TokenStreamIOException.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/TokenStreamIOException.cs deleted file mode 100644 index 5e42b7eb0..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/TokenStreamIOException.cs +++ /dev/null @@ -1,35 +0,0 @@ -using IOException = System.IO.IOException; - -namespace Spring.Expressions.Parser.antlr; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// - -/* - * Wraps an IOException in a TokenStreamException - */ -[Serializable] -public class TokenStreamIOException : TokenStreamException -{ - public IOException io; - - /* - * TokenStreamIOException constructor comment. - * @param s java.lang.String - */ - public TokenStreamIOException(IOException io) : base(io.Message) - { - this.io = io; - } -} \ No newline at end of file diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/TokenStreamRecognitionException.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/TokenStreamRecognitionException.cs deleted file mode 100644 index 4af2233ed..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/TokenStreamRecognitionException.cs +++ /dev/null @@ -1,36 +0,0 @@ -namespace Spring.Expressions.Parser.antlr; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// -/* - * Wraps a RecognitionException in a TokenStreamException so you - * can pass it along. - */ - -[Serializable] -public class TokenStreamRecognitionException : TokenStreamException -{ - public RecognitionException recog; - - public TokenStreamRecognitionException(RecognitionException re) : - base(re.Message) - { - this.recog = re; - } - - override public string ToString() - { - return recog.ToString(); - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/TokenStreamRetryException.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/TokenStreamRetryException.cs deleted file mode 100644 index 9796d759a..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/TokenStreamRetryException.cs +++ /dev/null @@ -1,26 +0,0 @@ -namespace Spring.Expressions.Parser.antlr; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// -/* - * Aborted recognition of current token. Try to get one again. - * Used by TokenStreamSelector.retry() to force nextToken() - * of stream to re-enter and retry. - */ - -[Serializable] -public class TokenStreamRetryException : TokenStreamException -{ - public TokenStreamRetryException() { } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/TokenStreamRewriteEngine.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/TokenStreamRewriteEngine.cs deleted file mode 100644 index cee7551b4..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/TokenStreamRewriteEngine.cs +++ /dev/null @@ -1,559 +0,0 @@ -namespace Spring.Expressions.Parser.antlr; - -/* ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -using IList = System.Collections.IList; -using IDictionary = System.Collections.IDictionary; -using ArrayList = System.Collections.ArrayList; -using Hashtable = System.Collections.Hashtable; -using IComparer = System.Collections.IComparer; -using StringBuilder = System.Text.StringBuilder; -using BitSet = antlr.collections.impl.BitSet; - -/// -/// This token stream tracks the *entire* token stream coming from -/// a lexer, but does not pass on the whitespace (or whatever else -/// you want to discard) to the parser. -/// -/// -/// -/// This class can then be asked for the ith token in the input stream. -/// Useful for dumping out the input stream exactly after doing some -/// augmentation or other manipulations. Tokens are index from 0..n-1 -/// -/// -/// You can insert stuff, replace, and delete chunks. Note that the -/// operations are done lazily--only if you convert the buffer to a -/// string. This is very efficient because you are not moving data around -/// all the time. As the buffer of tokens is converted to strings, the -/// toString() method(s) check to see if there is an operation at the -/// current index. If so, the operation is done and then normal string -/// rendering continues on the buffer. This is like having multiple Turing -/// machine instruction streams (programs) operating on a single input tape. :) -/// -/// -/// Since the operations are done lazily at toString-time, operations do not -/// screw up the token index values. That is, an insert operation at token -/// index i does not change the index values for tokens i+1..n-1. -/// -/// -/// Because operations never actually alter the buffer, you may always get -/// the original token stream back without undoing anything. Since -/// the instructions are queued up, you can easily simulate transactions and -/// roll back any changes if there is an error just by removing instructions. -/// For example, -/// -/// For example: -/// -/// TokenStreamRewriteEngine rewriteEngine = new TokenStreamRewriteEngine(lexer); -/// JavaRecognizer parser = new JavaRecognizer(rewriteEngine); -/// ... -/// rewriteEngine.insertAfter("pass1", t, "foobar");} -/// rewriteEngine.insertAfter("pass2", u, "start");} -/// System.Console.Out.WriteLine(rewriteEngine.ToString("pass1")); -/// System.Console.Out.WriteLine(rewriteEngine.ToString("pass2")); -/// -/// -/// -/// You can also have multiple "instruction streams" and get multiple -/// rewrites from a single pass over the input. Just name the instruction -/// streams and use that name again when printing the buffer. This could be -/// useful for generating a C file and also its header file--all from the -/// same buffer. -/// -/// -/// If you don't use named rewrite streams, a "default" stream is used. -/// -/// -/// Terence Parr, parrt@cs.usfca.edu -/// University of San Francisco -/// February 2004 -/// -/// -public class TokenStreamRewriteEngine : TokenStream -{ - public const int MIN_TOKEN_INDEX = 0; - - protected class RewriteOperation - { - protected internal int index; - protected internal string text; - - protected RewriteOperation(int index, string text) - { - this.index = index; - this.text = text; - } - - /// - /// Execute the rewrite operation by possibly adding to the buffer. - /// - /// rewrite buffer - /// The index of the next token to operate on. - public virtual int execute(StringBuilder buf) - { - return index; - } - } - - protected class InsertBeforeOp : RewriteOperation - { - public InsertBeforeOp(int index, string text) : base(index, text) - { - } - - public override int execute(StringBuilder buf) - { - buf.Append(text); - return index; - } - } - - protected class ReplaceOp : RewriteOperation - { - protected int lastIndex; - - public ReplaceOp(int from, int to, string text) : base(from, text) - { - lastIndex = to; - } - - public override int execute(StringBuilder buf) - { - if (text != null) - { - buf.Append(text); - } - - return lastIndex + 1; - } - } - - protected class DeleteOp : ReplaceOp - { - public DeleteOp(int from, int to) : base(from, to, null) - { - } - } - - public const string DEFAULT_PROGRAM_NAME = "default"; - public const int PROGRAM_INIT_SIZE = 100; - - /// - /// Track the incoming list of tokens - /// - protected IList tokens; - - /// - /// You may have multiple, named streams of rewrite operations. - /// I'm calling these things "programs." - /// Maps string (name) -> rewrite (List) - /// - protected IDictionary programs = null; - - /// - /// Map string (program name) -> Integer index - /// - protected IDictionary lastRewriteTokenIndexes = null; - - /// - /// track index of tokens - /// - protected int index = MIN_TOKEN_INDEX; - - /// - /// Who do we suck tokens from? - /// - protected TokenStream stream; - - /// - /// Which (whitespace) token(s) to throw out - /// - protected BitSet discardMask = new BitSet(); - - public TokenStreamRewriteEngine(TokenStream upstream) : this(upstream, 1000) - { - } - - public TokenStreamRewriteEngine(TokenStream upstream, int initialSize) - { - stream = upstream; - tokens = new ArrayList(initialSize); - programs = new Hashtable(); - programs[DEFAULT_PROGRAM_NAME] = new ArrayList(PROGRAM_INIT_SIZE); - lastRewriteTokenIndexes = new Hashtable(); - } - - public IToken nextToken() // throws TokenStreamException - { - TokenWithIndex t; - - // suck tokens until end of stream or we find a non-discarded token - do - { - t = (TokenWithIndex) stream.nextToken(); - if (t != null) - { - t.setIndex(index); // what is t's index in list? - if (t.Type != Token.EOF_TYPE) - { - tokens.Add(t); // track all tokens except EOF - } - - index++; // move to next position - } - } while ((t != null) && (discardMask.member(t.Type))); - - return t; - } - - public void rollback(int instructionIndex) - { - rollback(DEFAULT_PROGRAM_NAME, instructionIndex); - } - - /// - /// Rollback the instruction stream for a program so that - /// the indicated instruction (via instructionIndex) is no - /// longer in the stream. - /// - /// - /// UNTESTED! - /// - /// - /// - public void rollback(string programName, int instructionIndex) - { - ArrayList il = (ArrayList) programs[programName]; - if (il != null) - { - programs[programName] = il.GetRange(MIN_TOKEN_INDEX, (instructionIndex - MIN_TOKEN_INDEX)); - } - } - - public void deleteProgram() - { - deleteProgram(DEFAULT_PROGRAM_NAME); - } - - /// - /// Reset the program so that no instructions exist - /// - /// - public void deleteProgram(string programName) - { - rollback(programName, MIN_TOKEN_INDEX); - } - - /// - /// If op.index > lastRewriteTokenIndexes, just add to the end. - /// Otherwise, do linear - /// - /// - protected void addToSortedRewriteList(RewriteOperation op) - { - addToSortedRewriteList(DEFAULT_PROGRAM_NAME, op); - } - - protected void addToSortedRewriteList(string programName, RewriteOperation op) - { - ArrayList rewrites = (ArrayList) getProgram(programName); - // if at or beyond last op's index, just append - if (op.index >= getLastRewriteTokenIndex(programName)) - { - rewrites.Add(op); // append to list of operations - // record the index of this operation for next time through - setLastRewriteTokenIndex(programName, op.index); - return; - } - - // not after the last one, so must insert to ordered list - int pos = rewrites.BinarySearch(op, RewriteOperationComparer.Default); - if (pos < 0) - { - rewrites.Insert(-pos - 1, op); - } - } - - public void insertAfter(IToken t, string text) - { - insertAfter(DEFAULT_PROGRAM_NAME, t, text); - } - - public void insertAfter(int index, string text) - { - insertAfter(DEFAULT_PROGRAM_NAME, index, text); - } - - public void insertAfter(string programName, IToken t, string text) - { - insertAfter(programName, ((TokenWithIndex) t).getIndex(), text); - } - - public void insertAfter(string programName, int index, string text) - { - // to insert after, just insert before next index (even if past end) - insertBefore(programName, index + 1, text); - } - - public void insertBefore(IToken t, string text) - { - insertBefore(DEFAULT_PROGRAM_NAME, t, text); - } - - public void insertBefore(int index, string text) - { - insertBefore(DEFAULT_PROGRAM_NAME, index, text); - } - - public void insertBefore(string programName, IToken t, string text) - { - insertBefore(programName, ((TokenWithIndex) t).getIndex(), text); - } - - public void insertBefore(string programName, int index, string text) - { - addToSortedRewriteList(programName, new InsertBeforeOp(index, text)); - } - - public void replace(int index, string text) - { - replace(DEFAULT_PROGRAM_NAME, index, index, text); - } - - public void replace(int from, int to, string text) - { - replace(DEFAULT_PROGRAM_NAME, from, to, text); - } - - public void replace(IToken indexT, string text) - { - replace(DEFAULT_PROGRAM_NAME, indexT, indexT, text); - } - - public void replace(IToken from, IToken to, string text) - { - replace(DEFAULT_PROGRAM_NAME, from, to, text); - } - - public void replace(string programName, int from, int to, string text) - { - addToSortedRewriteList(new ReplaceOp(from, to, text)); - } - - public void replace(string programName, IToken from, IToken to, string text) - { - replace(programName, - ((TokenWithIndex) from).getIndex(), - ((TokenWithIndex) to).getIndex(), - text); - } - - public void delete(int index) - { - delete(DEFAULT_PROGRAM_NAME, index, index); - } - - public void delete(int from, int to) - { - delete(DEFAULT_PROGRAM_NAME, from, to); - } - - public void delete(IToken indexT) - { - delete(DEFAULT_PROGRAM_NAME, indexT, indexT); - } - - public void delete(IToken from, IToken to) - { - delete(DEFAULT_PROGRAM_NAME, from, to); - } - - public void delete(string programName, int from, int to) - { - replace(programName, from, to, null); - } - - public void delete(string programName, IToken from, IToken to) - { - replace(programName, from, to, null); - } - - public void discard(int ttype) - { - discardMask.add(ttype); - } - - public TokenWithIndex getToken(int i) - { - return (TokenWithIndex) tokens[i]; - } - - public int getTokenStreamSize() - { - return tokens.Count; - } - - public string ToOriginalString() - { - return ToOriginalString(MIN_TOKEN_INDEX, getTokenStreamSize() - 1); - } - - public string ToOriginalString(int start, int end) - { - StringBuilder buf = new StringBuilder(); - for (int i = start; (i >= MIN_TOKEN_INDEX) && (i <= end) && (i < tokens.Count); i++) - { - buf.Append(getToken(i).getText()); - } - - return buf.ToString(); - } - - public override string ToString() - { - return ToString(MIN_TOKEN_INDEX, getTokenStreamSize()); - } - - public string ToString(string programName) - { - return ToString(programName, MIN_TOKEN_INDEX, getTokenStreamSize()); - } - - public string ToString(int start, int end) - { - return ToString(DEFAULT_PROGRAM_NAME, start, end); - } - - public string ToString(string programName, int start, int end) - { - IList rewrites = (IList) programs[programName]; - if (rewrites == null) - { - return null; // invalid program - } - - StringBuilder buf = new StringBuilder(); - - // Index of first rewrite we have not done - int rewriteOpIndex = 0; - - int tokenCursor = start; - while ((tokenCursor >= MIN_TOKEN_INDEX) && - (tokenCursor <= end) && - (tokenCursor < tokens.Count)) - { - if (rewriteOpIndex < rewrites.Count) - { - RewriteOperation op = (RewriteOperation) rewrites[rewriteOpIndex]; - while ((tokenCursor == op.index) && (rewriteOpIndex < rewrites.Count)) - { - /* - Console.Out.WriteLine("execute op "+rewriteOpIndex+ - " (type "+op.GetType().FullName+")" - +" at index "+op.index); - */ - tokenCursor = op.execute(buf); - rewriteOpIndex++; - if (rewriteOpIndex < rewrites.Count) - { - op = (RewriteOperation) rewrites[rewriteOpIndex]; - } - } - } - - if (tokenCursor < end) - { - buf.Append(getToken(tokenCursor).getText()); - tokenCursor++; - } - } - - // now see if there are operations (append) beyond last token index - for (int opi = rewriteOpIndex; opi < rewrites.Count; opi++) - { - RewriteOperation op = (RewriteOperation) rewrites[opi]; - op.execute(buf); // must be insertions if after last token - } - - return buf.ToString(); - } - - public string ToDebugString() - { - return ToDebugString(MIN_TOKEN_INDEX, getTokenStreamSize()); - } - - public string ToDebugString(int start, int end) - { - StringBuilder buf = new StringBuilder(); - for (int i = start; (i >= MIN_TOKEN_INDEX) && (i <= end) && (i < tokens.Count); i++) - { - buf.Append(getToken(i)); - } - - return buf.ToString(); - } - - public int getLastRewriteTokenIndex() - { - return getLastRewriteTokenIndex(DEFAULT_PROGRAM_NAME); - } - - protected int getLastRewriteTokenIndex(string programName) - { - object i = lastRewriteTokenIndexes[programName]; - if (i == null) - { - return -1; - } - - return (int) i; - } - - protected void setLastRewriteTokenIndex(string programName, int i) - { - lastRewriteTokenIndexes[programName] = (object) i; - } - - protected IList getProgram(string name) - { - IList il = (IList) programs[name]; - if (il == null) - { - il = initializeProgram(name); - } - - return il; - } - - private IList initializeProgram(string name) - { - IList il = new ArrayList(PROGRAM_INIT_SIZE); - programs[name] = il; - return il; - } - - public class RewriteOperationComparer : IComparer - { - public static readonly RewriteOperationComparer Default = new RewriteOperationComparer(); - - public virtual int Compare(object o1, object o2) - { - RewriteOperation rop1 = (RewriteOperation) o1; - RewriteOperation rop2 = (RewriteOperation) o2; - - if (rop1.index < rop2.index) return -1; - if (rop1.index > rop2.index) return 1; - return 0; - } - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/TokenStreamSelector.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/TokenStreamSelector.cs deleted file mode 100644 index 808cb77f2..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/TokenStreamSelector.cs +++ /dev/null @@ -1,134 +0,0 @@ -using Hashtable = System.Collections.Hashtable; -using Stack = System.Collections.Stack; - -namespace Spring.Expressions.Parser.antlr; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// - -/*A token stream MUX (multiplexor) knows about n token streams - * and can multiplex them onto the same channel for use by token - * stream consumer like a parser. This is a way to have multiple - * lexers break up the same input stream for a single parser. - * Or, you can have multiple instances of the same lexer handle - * multiple input streams; this works great for includes. - */ -public class TokenStreamSelector : TokenStream -{ - /*The set of inputs to the MUX */ - protected internal Hashtable inputStreamNames; - - /*The currently-selected token stream input */ - protected internal TokenStream input; - - /*Used to track stack of input streams */ - protected internal Stack streamStack = new Stack(); - - public TokenStreamSelector() : base() - { - inputStreamNames = new Hashtable(); - } - - public virtual void addInputStream(TokenStream stream, string key) - { - inputStreamNames[key] = stream; - } - - /*Return the stream from tokens are being pulled at - * the moment. - */ - public virtual TokenStream getCurrentStream() - { - return input; - } - - public virtual TokenStream getStream(string sname) - { - TokenStream stream = (TokenStream) inputStreamNames[sname]; - if (stream == null) - { - throw new System.ArgumentException("TokenStream " + sname + " not found"); - } - - return stream; - } - - public virtual IToken nextToken() - { - // return input.nextToken(); - // keep looking for a token until you don't - // get a retry exception. - for (;;) - { - try - { - return input.nextToken(); - } - catch (TokenStreamRetryException) - { - // just retry "forever" - } - } - } - - public virtual TokenStream pop() - { - TokenStream stream = (TokenStream) streamStack.Pop(); - select(stream); - return stream; - } - - public virtual void push(TokenStream stream) - { - streamStack.Push(input); // save current stream - select(stream); - } - - public virtual void push(string sname) - { - streamStack.Push(input); - select(sname); - } - - /*Abort recognition of current Token and try again. - * A stream can push a new stream (for include files - * for example, and then retry(), which will cause - * the current stream to abort back to this.nextToken(). - * this.nextToken() then asks for a token from the - * current stream, which is the new "substream." - */ - public virtual void retry() - { - throw new TokenStreamRetryException(); - } - - /*Set the stream without pushing old stream */ - public virtual void select(TokenStream stream) - { - input = stream; - if (input is CharScanner) - { - ((CharScanner) input).refresh(); - } - } - - public virtual void select(string sname) - { - input = getStream(sname); - if (input is CharScanner) - { - ((CharScanner) input).refresh(); - } - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/TokenWithIndex.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/TokenWithIndex.cs deleted file mode 100644 index 5a2094487..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/TokenWithIndex.cs +++ /dev/null @@ -1,47 +0,0 @@ -namespace Spring.Expressions.Parser.antlr; -/* ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// - -/// -/// This token tracks it's own index 0..n-1 relative to the beginning -/// of the stream. It is designed to work with -/// in TokenStreamRewriteEngine.cs -/// -public class TokenWithIndex : CommonToken -{ - /// - /// Index into token array indicating position in input stream - /// - int index; - - public TokenWithIndex() : base() - { - } - - public TokenWithIndex(int i, string t) : base(i, t) - { - } - - public void setIndex(int i) - { - index = i; - } - - public int getIndex() - { - return index; - } - - public override string ToString() - { - return "[" + index + ":\"" + getText() + "\",<" + Type + ">,line=" + line + ",col=" + col + "]\n"; - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/TreeParser.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/TreeParser.cs deleted file mode 100644 index 9d2b991f1..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/TreeParser.cs +++ /dev/null @@ -1,189 +0,0 @@ -using AST = Spring.Expressions.Parser.antlr.collections.AST; -using BitSet = Spring.Expressions.Parser.antlr.collections.impl.BitSet; - -namespace Spring.Expressions.Parser.antlr; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// - -public class TreeParser -{ - /*The AST Null object; the parsing cursor is set to this when - * it is found to be null. This way, we can test the - * token type of a node without having to have tests for null - * everywhere. - */ - public static ASTNULLType ASTNULL = new ASTNULLType(); - - /*Where did this rule leave off parsing; avoids a return parameter */ - protected internal AST retTree_; - - /*guessing nesting level; guessing==0 implies not guessing */ - // protected int guessing = 0; - - /*Nesting level of registered handlers */ - // protected int exceptionLevel = 0; - - protected internal TreeParserSharedInputState inputState; - - /*Table of token type to token names */ - protected internal string[] tokenNames; - - /*AST return value for a rule is squirreled away here */ - protected internal AST returnAST; - - /*AST support code; parser and treeparser delegate to this object */ - protected internal ASTFactory astFactory = new ASTFactory(); - - /*Used to keep track of indentdepth for traceIn/Out */ - protected internal int traceDepth = 0; - - public TreeParser() - { - inputState = new TreeParserSharedInputState(); - } - - /*Get the AST return value squirreled away in the parser */ - public virtual AST getAST() - { - return returnAST; - } - - public virtual ASTFactory getASTFactory() - { - return astFactory; - } - - public virtual void resetState() - { - traceDepth = 0; - returnAST = null; - retTree_ = null; - inputState.reset(); - } - - public virtual string getTokenName(int num) - { - return tokenNames[num]; - } - - public virtual string[] getTokenNames() - { - return tokenNames; - } - - protected internal virtual void match(AST t, int ttype) - { - //System.out.println("match("+ttype+"); cursor is "+t); - if (t == null || t == ASTNULL || t.Type != ttype) - { - throw new MismatchedTokenException(getTokenNames(), t, ttype, false); - } - } - - /*Make sure current lookahead symbol matches the given set - * Throw an exception upon mismatch, which is catch by either the - * error handler or by the syntactic predicate. - */ - public virtual void match(AST t, BitSet b) - { - if (t == null || t == ASTNULL || !b.member(t.Type)) - { - throw new MismatchedTokenException(getTokenNames(), t, b, false); - } - } - - protected internal virtual void matchNot(AST t, int ttype) - { - //System.out.println("match("+ttype+"); cursor is "+t); - if (t == null || t == ASTNULL || t.Type == ttype) - { - throw new MismatchedTokenException(getTokenNames(), t, ttype, true); - } - } - - /// - /// @deprecated as of 2.7.2. This method calls System.exit() and writes - /// directly to stderr, which is usually not appropriate when - /// a parser is embedded into a larger application. Since the method is - /// static, it cannot be overridden to avoid these problems. - /// ANTLR no longer uses this method internally or in generated code. - /// - /// - [Obsolete("De-activated since version 2.7.2.6 as it cannot be overidden.", true)] - public static void panic() - { - Console.Error.WriteLine("TreeWalker: panic"); - System.Environment.Exit(1); - } - - /*Parser error-reporting function can be overridden in subclass */ - public virtual void reportError(RecognitionException ex) - { - Console.Error.WriteLine(ex.ToString()); - } - - /*Parser error-reporting function can be overridden in subclass */ - public virtual void reportError(string s) - { - Console.Error.WriteLine("error: " + s); - } - - /*Parser warning-reporting function can be overridden in subclass */ - public virtual void reportWarning(string s) - { - Console.Error.WriteLine("warning: " + s); - } - - /*Specify an object with support code (shared by - * Parser and TreeParser. Normally, the programmer - * does not play with this, using setASTNodeType instead. - */ - public virtual void setASTFactory(ASTFactory f) - { - astFactory = f; - } - - /*Specify the type of node to create during tree building */ - public virtual void setASTNodeType(string nodeType) - { - setASTNodeClass(nodeType); - } - - /*Specify the type of node to create during tree building */ - public virtual void setASTNodeClass(string nodeType) - { - astFactory.setASTNodeType(nodeType); - } - - public virtual void traceIndent() - { - for (int i = 0; i < traceDepth; i++) - Console.Out.Write(" "); - } - - public virtual void traceIn(string rname, AST t) - { - traceDepth += 1; - traceIndent(); - Console.Out.WriteLine("> " + rname + "(" + ((t != null) ? t.ToString() : "null") + ")" + ((inputState.guessing > 0) ? " [guessing]" : "")); - } - - public virtual void traceOut(string rname, AST t) - { - traceIndent(); - Console.Out.WriteLine("< " + rname + "(" + ((t != null) ? t.ToString() : "null") + ")" + ((inputState.guessing > 0) ? " [guessing]" : "")); - traceDepth--; - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/TreeParserSharedInputState.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/TreeParserSharedInputState.cs deleted file mode 100644 index 32287d41c..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/TreeParserSharedInputState.cs +++ /dev/null @@ -1,32 +0,0 @@ -namespace Spring.Expressions.Parser.antlr; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// -/*This object contains the data associated with an - * input AST. Multiple parsers - * share a single TreeParserSharedInputState to parse - * the same tree or to have the parser walk multiple - * trees. - */ - -public class TreeParserSharedInputState -{ - /*Are we guessing (guessing>0)? */ - public int guessing = 0; - - public virtual void reset() - { - guessing = 0; - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/collections/AST.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/collections/AST.cs deleted file mode 100644 index 87bb4f4cd..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/collections/AST.cs +++ /dev/null @@ -1,96 +0,0 @@ -using IEnumerator = System.Collections.IEnumerator; - -namespace Spring.Expressions.Parser.antlr.collections; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// - -/// -/// Minimal AST node interface used by ANTLR AST generation and tree-walker. -/// -public interface AST : ICloneable -{ - /// - /// Add a (rightmost) child to this node - /// - /// - void addChild(AST c); - - bool Equals(AST t); - bool EqualsList(AST t); - bool EqualsListPartial(AST t); - bool EqualsTree(AST t); - bool EqualsTreePartial(AST t); - IEnumerator findAll(AST tree); - IEnumerator findAllPartial(AST subtree); - - /// - /// Get the first child of this node; null if no children - /// - AST getFirstChild(); - - /// - /// Get the next sibling in line after this one - /// - AST getNextSibling(); - - /// - /// Get the token text for this node - /// - /// - string getText(); - - /// - /// Get the token type for this node - /// - int Type { get; set; } - - /// - /// Get number of children of this node; if leaf, returns 0 - /// - /// Number of children - int getNumberOfChildren(); - - void initialize(int t, string txt); - void initialize(AST t); - void initialize(IToken t); - - /// - /// Set the first child of a node. - /// - /// - void setFirstChild(AST c); - - /// - /// Set the next sibling after this one. - /// - /// - void setNextSibling(AST n); - - /// - /// Set the token text for this node - /// - /// - void setText(string text); - - /// - /// Set the token type for this node - /// - /// - void setType(int ttype); - - string ToString(); - string ToStringList(); - string ToStringTree(); -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/collections/impl/ASTArray.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/collections/impl/ASTArray.cs deleted file mode 100644 index c6a062958..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/collections/impl/ASTArray.cs +++ /dev/null @@ -1,37 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.collections.impl; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// - -/*ASTArray is a class that allows ANTLR to - * generate code that can create and initialize an array - * in one expression, like: - * (new ASTArray(3)).add(x).add(y).add(z) - */ -public class ASTArray -{ - public int size = 0; - public AST[] array; - - public ASTArray(int capacity) - { - array = new AST[capacity]; - } - - public virtual ASTArray add(AST node) - { - array[size++] = node; - return this; - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/collections/impl/BitSet.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/collections/impl/BitSet.cs deleted file mode 100644 index 3b7cba9d0..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/collections/impl/BitSet.cs +++ /dev/null @@ -1,554 +0,0 @@ -using ArrayList = System.Collections.ArrayList; - -//using CharFormatter = antlr.CharFormatter; - -namespace Spring.Expressions.Parser.antlr.collections.impl; -/*ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - * - * $Id:$ - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -// With many thanks to Eric V. Smith from the ANTLR list. -// -/*A BitSet to replace java.util.BitSet. - * Primary differences are that most set operators return new sets - * as opposed to oring and anding "in place". Further, a number of - * operations were added. I cannot contain a BitSet because there - * is no way to access the internal bits (which I need for speed) - * and, because it is final, I cannot subclass to add functionality. - * Consider defining set degree. Without access to the bits, I must - * call a method n times to test the ith bit...ack! - * - * Also seems like or() from util is wrong when size of incoming set is bigger - * than this.bits.length. - * - * @author Terence Parr - * @author
Pete Wells - */ - -public class BitSet : ICloneable -{ - protected internal const int BITS = 64; // number of bits / long - protected internal const int NIBBLE = 4; - protected internal const int LOG_BITS = 6; // 2^6 == 64 - - /*We will often need to do a mod operator (i mod nbits). Its - * turns out that, for powers of two, this mod operation is - * same as (i & (nbits-1)). Since mod is slow, we use a - * precomputed mod mask to do the mod instead. - */ - protected internal static readonly int MOD_MASK = BITS - 1; - - /*The actual data bits */ - protected internal long[] dataBits; - - /*Construct a bitset of size one word (64 bits) */ - public BitSet() : this(BITS) - { - } - - /*Construction from a static array of longs */ - public BitSet(long[] bits_) - { - dataBits = bits_; - } - - /*Construct a bitset given the size - * @param nbits The size of the bitset in bits - */ - public BitSet(int nbits) - { - dataBits = new long[((nbits - 1) >> LOG_BITS) + 1]; - } - - /*or this element into this set (grow as necessary to accommodate) */ - public virtual void add(int el) - { - int n = wordNumber(el); - if (n >= dataBits.Length) - { - growToInclude(el); - } - - dataBits[n] |= bitMask(el); - } - - public virtual BitSet and(BitSet a) - { - BitSet s = (BitSet) this.Clone(); - s.andInPlace(a); - return s; - } - - public virtual void andInPlace(BitSet a) - { - int min = (int) (Math.Min(dataBits.Length, a.dataBits.Length)); - for (int i = min - 1; i >= 0; i--) - { - dataBits[i] &= a.dataBits[i]; - } - - // clear all bits in this not present in a (if this bigger than a). - for (int i = min; i < dataBits.Length; i++) - { - dataBits[i] = 0; - } - } - - private static long bitMask(int bitNumber) - { - int bitPosition = bitNumber & MOD_MASK; // bitNumber mod BITS - return 1L << bitPosition; - } - - public virtual void clear() - { - for (int i = dataBits.Length - 1; i >= 0; i--) - { - dataBits[i] = 0; - } - } - - public virtual void clear(int el) - { - int n = wordNumber(el); - if (n >= dataBits.Length) - { - // grow as necessary to accommodate - growToInclude(el); - } - - dataBits[n] &= ~ bitMask(el); - } - - public virtual object Clone() - { - BitSet s; - try - { - s = new BitSet(); - s.dataBits = new long[dataBits.Length]; - Array.Copy(dataBits, 0, s.dataBits, 0, dataBits.Length); - } - catch //(System.Exception e) - { - throw new System.ApplicationException(); - } - - return s; - } - - public virtual int degree() - { - int deg = 0; - for (int i = dataBits.Length - 1; i >= 0; i--) - { - long word = dataBits[i]; - if (word != 0L) - { - for (int bit = BITS - 1; bit >= 0; bit--) - { - if ((word & (1L << bit)) != 0) - { - deg++; - } - } - } - } - - return deg; - } - - override public int GetHashCode() - { - return dataBits.GetHashCode(); - } - - /*code "inherited" from java.util.BitSet */ - override public bool Equals(object obj) - { - if ((obj != null) && (obj is BitSet)) - { - BitSet bset = (BitSet) obj; - - int n = (int) (System.Math.Min(dataBits.Length, bset.dataBits.Length)); - for (int i = n; i-- > 0;) - { - if (dataBits[i] != bset.dataBits[i]) - { - return false; - } - } - - if (dataBits.Length > n) - { - for (int i = (int) (dataBits.Length); i-- > n;) - { - if (dataBits[i] != 0) - { - return false; - } - } - } - else if (bset.dataBits.Length > n) - { - for (int i = (int) (bset.dataBits.Length); i-- > n;) - { - if (bset.dataBits[i] != 0) - { - return false; - } - } - } - - return true; - } - - return false; - } - - /* - * Grows the set to a larger number of bits. - * @param bit element that must fit in set - */ - public virtual void growToInclude(int bit) - { - int newSize = (int) (System.Math.Max(dataBits.Length << 1, numWordsToHold(bit))); - long[] newbits = new long[newSize]; - Array.Copy(dataBits, 0, newbits, 0, dataBits.Length); - dataBits = newbits; - } - - public virtual bool member(int el) - { - int n = wordNumber(el); - if (n >= dataBits.Length) - return false; - return (dataBits[n] & bitMask(el)) != 0; - } - - public virtual bool nil() - { - for (int i = dataBits.Length - 1; i >= 0; i--) - { - if (dataBits[i] != 0) - return false; - } - - return true; - } - - public virtual BitSet not() - { - BitSet s = (BitSet) this.Clone(); - s.notInPlace(); - return s; - } - - public virtual void notInPlace() - { - for (int i = dataBits.Length - 1; i >= 0; i--) - { - dataBits[i] = ~ dataBits[i]; - } - } - - /*complement bits in the range 0..maxBit. */ - public virtual void notInPlace(int maxBit) - { - notInPlace(0, maxBit); - } - - /*complement bits in the range minBit..maxBit.*/ - public virtual void notInPlace(int minBit, int maxBit) - { - // make sure that we have room for maxBit - growToInclude(maxBit); - for (int i = minBit; i <= maxBit; i++) - { - int n = wordNumber(i); - dataBits[n] ^= bitMask(i); - } - } - - private int numWordsToHold(int el) - { - return (el >> LOG_BITS) + 1; - } - - public static BitSet of(int el) - { - BitSet s = new BitSet(el + 1); - s.add(el); - return s; - } - - /*return this | a in a new set */ - public virtual BitSet or(BitSet a) - { - BitSet s = (BitSet) this.Clone(); - s.orInPlace(a); - return s; - } - - public virtual void orInPlace(BitSet a) - { - // If this is smaller than a, grow this first - if (a.dataBits.Length > dataBits.Length) - { - setSize((int) (a.dataBits.Length)); - } - - int min = (int) (System.Math.Min(dataBits.Length, a.dataBits.Length)); - for (int i = min - 1; i >= 0; i--) - { - dataBits[i] |= a.dataBits[i]; - } - } - - // remove this element from this set - public virtual void remove(int el) - { - int n = wordNumber(el); - if (n >= dataBits.Length) - { - growToInclude(el); - } - - dataBits[n] &= ~ bitMask(el); - } - - /* - * Sets the size of a set. - * @param nwords how many words the new set should be - */ - private void setSize(int nwords) - { - long[] newbits = new long[nwords]; - int n = (int) (System.Math.Min(nwords, dataBits.Length)); - Array.Copy(dataBits, 0, newbits, 0, n); - dataBits = newbits; - } - - public virtual int size() - { - return dataBits.Length << LOG_BITS; // num words * bits per word - } - - /*return how much space is being used by the dataBits array not - * how many actually have member bits on. - */ - public virtual int lengthInLongWords() - { - return dataBits.Length; - } - - /*Is this contained within a? */ - public virtual bool subset(BitSet a) - { - if (a == null) //(a == null || !(a is BitSet)) - return false; - return this.and(a).Equals(this); - } - - /*Subtract the elements of 'a' from 'this' in-place. - * Basically, just turn off all bits of 'this' that are in 'a'. - */ - public virtual void subtractInPlace(BitSet a) - { - if (a == null) - return; - // for all words of 'a', turn off corresponding bits of 'this' - for (int i = 0; i < dataBits.Length && i < a.dataBits.Length; i++) - { - dataBits[i] &= ~ a.dataBits[i]; - } - } - - public virtual int[] toArray() - { - int[] elems = new int[degree()]; - int en = 0; - for (int i = 0; i < (dataBits.Length << LOG_BITS); i++) - { - if (member(i)) - { - elems[en++] = i; - } - } - - return elems; - } - - public virtual long[] toPackedArray() - { - return dataBits; - } - - override public string ToString() - { - return ToString(","); - } - - /*Transform a bit set into a string by formatting each element as an integer - * @separator The string to put in between elements - * @return A commma-separated list of values - */ - public virtual string ToString(string separator) - { - string str = ""; - for (int i = 0; i < (dataBits.Length << LOG_BITS); i++) - { - if (member(i)) - { - if (str.Length > 0) - { - str += separator; - } - - str = str + i; - } - } - - return str; - } - - /*Create a string representation where instead of integer elements, the - * ith element of vocabulary is displayed instead. Vocabulary is a Vector - * of Strings. - * @separator The string to put in between elements - * @return A commma-separated list of character constants. - */ - public virtual string ToString(string separator, ArrayList vocabulary) - { - if (vocabulary == null) - { - return ToString(separator); - } - - string str = ""; - for (int i = 0; i < (dataBits.Length << LOG_BITS); i++) - { - if (member(i)) - { - if (str.Length > 0) - { - str += separator; - } - - if (i >= vocabulary.Count) - { - str += ""; - } - else if (vocabulary[i] == null) - { - str += "<" + i + ">"; - } - else - { - str += (string) vocabulary[i]; - } - } - } - - return str; - } - - /* - * Dump a comma-separated list of the words making up the bit set. - * Split each 64 bit number into two more manageable 32 bit numbers. - * This generates a comma-separated list of C++-like unsigned long constants. - */ - public virtual string toStringOfHalfWords() - { - string s = new string("".ToCharArray()); - for (int i = 0; i < dataBits.Length; i++) - { - if (i != 0) - s += ", "; - long tmp = dataBits[i]; - tmp &= 0xFFFFFFFFL; - s += (tmp + "UL"); - s += ", "; - tmp = SupportClass.URShift(dataBits[i], 32); - tmp &= 0xFFFFFFFFL; - s += (tmp + "UL"); - } - - return s; - } - - /* - * Dump a comma-separated list of the words making up the bit set. - * This generates a comma-separated list of Java-like long int constants. - */ - public virtual string toStringOfWords() - { - string s = new string("".ToCharArray()); - for (int i = 0; i < dataBits.Length; i++) - { - if (i != 0) - s += ", "; - s += (dataBits[i] + "L"); - } - - return s; - } - - /*Print out the bit set but collapse char ranges. */ -/* public virtual string toStringWithRanges(string separator, CharFormatter formatter) - { - string str = ""; - int[] elems = this.toArray(); - if (elems.Length == 0) - { - return ""; - } - // look for ranges - int i = 0; - while (i < elems.Length) - { - int lastInRange; - lastInRange = 0; - for (int j = i + 1; j < elems.Length; j++) - { - if (elems[j] != elems[j - 1] + 1) - { - break; - } - lastInRange = j; - } - // found a range - if (str.Length > 0) - { - str += separator; - } - if (lastInRange - i >= 2) - { - str += formatter.literalChar(elems[i]); - str += ".."; - str += formatter.literalChar(elems[lastInRange]); - i = lastInRange; // skip past end of range for next range - } - else - { - // no range, just print current char and move on - str += formatter.literalChar(elems[i]); - } - i++; - } - return str; - } -*/ - private static int wordNumber(int bit) - { - return bit >> LOG_BITS; // bit / BITS - } -} \ No newline at end of file diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ANTLREventArgs.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ANTLREventArgs.cs deleted file mode 100644 index 1f322e69a..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ANTLREventArgs.cs +++ /dev/null @@ -1,37 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.debug; - -using System; - -public abstract class ANTLREventArgs : EventArgs -{ - public ANTLREventArgs() - { - } - - public ANTLREventArgs(int type) - { - this.Type = type; - } - - public virtual int Type - { - get - { - return this.type_; - } - set - { - this.type_ = value; - } - } - - internal void setValues(int type) - { - this.Type = type; - } - - /// - /// Event type. - /// - private int type_; -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/DebuggingCharScanner.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/DebuggingCharScanner.cs deleted file mode 100644 index 7595a0815..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/DebuggingCharScanner.cs +++ /dev/null @@ -1,358 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.debug; - -using System; -using System.Threading; -using antlr; -using BitSet = antlr.collections.impl.BitSet; - -public abstract class DebuggingCharScanner : CharScanner, DebuggingParser -{ - private void InitBlock() - { - eventSupport = new ScannerEventSupport(this); - } - - public virtual void setDebugMode(bool mode) - { - _notDebugMode = !mode; - } - - private ScannerEventSupport eventSupport; - private bool _notDebugMode = false; - protected internal string[] ruleNames; - protected internal string[] semPredNames; - - public DebuggingCharScanner(InputBuffer cb) : base(cb) - { - InitBlock(); - } - - public DebuggingCharScanner(LexerSharedInputState state) : base(state) - { - InitBlock(); - } - - public virtual void addMessageListener(MessageListener l) - { - eventSupport.addMessageListener(l); - } - - public virtual void addNewLineListener(NewLineListener l) - { - eventSupport.addNewLineListener(l); - } - - public virtual void addParserListener(ParserListener l) - { - eventSupport.addParserListener(l); - } - - public virtual void addParserMatchListener(ParserMatchListener l) - { - eventSupport.addParserMatchListener(l); - } - - public virtual void addParserTokenListener(ParserTokenListener l) - { - eventSupport.addParserTokenListener(l); - } - - public virtual void addSemanticPredicateListener(SemanticPredicateListener l) - { - eventSupport.addSemanticPredicateListener(l); - } - - public virtual void addSyntacticPredicateListener(SyntacticPredicateListener l) - { - eventSupport.addSyntacticPredicateListener(l); - } - - public virtual void addTraceListener(TraceListener l) - { - eventSupport.addTraceListener(l); - } - - public override void consume() - { - int la_1 = -99; - try - { - la_1 = LA(1); - } - catch (CharStreamException) - { - } - - base.consume(); - eventSupport.fireConsume(la_1); - } - - protected internal virtual void fireEnterRule(int num, int data) - { - if (isDebugMode()) - eventSupport.fireEnterRule(num, inputState.guessing, data); - } - - protected internal virtual void fireExitRule(int num, int ttype) - { - if (isDebugMode()) - eventSupport.fireExitRule(num, inputState.guessing, ttype); - } - - protected internal virtual bool fireSemanticPredicateEvaluated(int type, int num, bool condition) - { - if (isDebugMode()) - return eventSupport.fireSemanticPredicateEvaluated(type, num, condition, inputState.guessing); - else - return condition; - } - - protected internal virtual void fireSyntacticPredicateFailed() - { - if (isDebugMode()) - eventSupport.fireSyntacticPredicateFailed(inputState.guessing); - } - - protected internal virtual void fireSyntacticPredicateStarted() - { - if (isDebugMode()) - eventSupport.fireSyntacticPredicateStarted(inputState.guessing); - } - - protected internal virtual void fireSyntacticPredicateSucceeded() - { - if (isDebugMode()) - eventSupport.fireSyntacticPredicateSucceeded(inputState.guessing); - } - - public virtual string getRuleName(int num) - { - return ruleNames[num]; - } - - public virtual string getSemPredName(int num) - { - return semPredNames[num]; - } - - public virtual void goToSleep() - { - lock (this) - { - try - { - Monitor.Wait(this); - } - catch (System.Threading.ThreadInterruptedException) - { - } - } - } - - public virtual bool isDebugMode() - { - return !_notDebugMode; - } - - public override char LA(int i) - { - char la = base.LA(i); - eventSupport.fireLA(i, la); - return la; - } - - protected internal override IToken makeToken(int t) - { - // do something with char buffer??? - // try { - // IToken tok = (Token)tokenObjectClass.newInstance(); - // tok.setType(t); - // // tok.setText(getText()); done in generated lexer now - // tok.setLine(line); - // return tok; - // } - // catch (InstantiationException ie) { - // panic("can't instantiate a Token"); - // } - // catch (IllegalAccessException iae) { - // panic("Token class is not accessible"); - // } - return base.makeToken(t); - } - - public override void match(int c) - { - char la_1 = LA(1); - try - { - base.match(c); - eventSupport.fireMatch(Convert.ToChar(c), inputState.guessing); - } - catch (MismatchedCharException e) - { - if (inputState.guessing == 0) - eventSupport.fireMismatch(la_1, Convert.ToChar(c), inputState.guessing); - throw e; - } - } - - public override void match(BitSet b) - { - string text = this.text.ToString(); - char la_1 = LA(1); - try - { - base.match(b); - eventSupport.fireMatch(la_1, b, text, inputState.guessing); - } - catch (MismatchedCharException e) - { - if (inputState.guessing == 0) - eventSupport.fireMismatch(la_1, b, text, inputState.guessing); - throw e; - } - } - - public override void match(string s) - { - System.Text.StringBuilder la_s = new System.Text.StringBuilder(""); - int len = s.Length; - // peek at the next len worth of characters - try - { - for (int i = 1; i <= len; i++) - { - la_s.Append(base.LA(i)); - } - } - catch (System.Exception) - { - } - - try - { - base.match(s); - eventSupport.fireMatch(s, inputState.guessing); - } - catch (MismatchedCharException e) - { - if (inputState.guessing == 0) - eventSupport.fireMismatch(la_s.ToString(), s, inputState.guessing); - throw e; - } - } - - public override void matchNot(int c) - { - char la_1 = LA(1); - try - { - base.matchNot(c); - eventSupport.fireMatchNot(la_1, Convert.ToChar(c), inputState.guessing); - } - catch (MismatchedCharException e) - { - if (inputState.guessing == 0) - eventSupport.fireMismatchNot(la_1, Convert.ToChar(c), inputState.guessing); - throw e; - } - } - - public override void matchRange(int c1, int c2) - { - char la_1 = LA(1); - try - { - base.matchRange(c1, c2); - eventSupport.fireMatch(la_1, "" + c1 + c2, inputState.guessing); - } - catch (MismatchedCharException e) - { - if (inputState.guessing == 0) - eventSupport.fireMismatch(la_1, "" + c1 + c2, inputState.guessing); - throw e; - } - } - - public override void newline() - { - base.newline(); - eventSupport.fireNewLine(getLine()); - } - - public virtual void removeMessageListener(MessageListener l) - { - eventSupport.removeMessageListener(l); - } - - public virtual void removeNewLineListener(NewLineListener l) - { - eventSupport.removeNewLineListener(l); - } - - public virtual void removeParserListener(ParserListener l) - { - eventSupport.removeParserListener(l); - } - - public virtual void removeParserMatchListener(ParserMatchListener l) - { - eventSupport.removeParserMatchListener(l); - } - - public virtual void removeParserTokenListener(ParserTokenListener l) - { - eventSupport.removeParserTokenListener(l); - } - - public virtual void removeSemanticPredicateListener(SemanticPredicateListener l) - { - eventSupport.removeSemanticPredicateListener(l); - } - - public virtual void removeSyntacticPredicateListener(SyntacticPredicateListener l) - { - eventSupport.removeSyntacticPredicateListener(l); - } - - public virtual void removeTraceListener(TraceListener l) - { - eventSupport.removeTraceListener(l); - } - - /// Report exception errors caught in nextToken() - /// - public virtual void reportError(MismatchedCharException e) - { - eventSupport.fireReportError(e); - base.reportError(e); - } - - /// Parser error-reporting function can be overridden in subclass - /// - public override void reportError(string s) - { - eventSupport.fireReportError(s); - base.reportError(s); - } - - /// Parser warning-reporting function can be overridden in subclass - /// - public override void reportWarning(string s) - { - eventSupport.fireReportWarning(s); - base.reportWarning(s); - } - - public virtual void setupDebugging() - { - } - - public virtual void wakeUp() - { - lock (this) - { - Monitor.Pulse(this); - } - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/DebuggingInputBuffer.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/DebuggingInputBuffer.cs deleted file mode 100644 index ccef8268c..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/DebuggingInputBuffer.cs +++ /dev/null @@ -1,90 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.debug; - -using ArrayList = System.Collections.ArrayList; - -public class DebuggingInputBuffer : InputBuffer -{ - public virtual ArrayList InputBufferListeners - { - get { return inputBufferEventSupport.InputBufferListeners; } - } - - public virtual bool DebugMode - { - set { debugMode = value; } - } - - private InputBuffer buffer; - private InputBufferEventSupport inputBufferEventSupport; - private bool debugMode = true; - - public DebuggingInputBuffer(InputBuffer buffer) - { - this.buffer = buffer; - inputBufferEventSupport = new InputBufferEventSupport(this); - } - - public virtual void addInputBufferListener(InputBufferListener l) - { - inputBufferEventSupport.addInputBufferListener(l); - } - - public override char consume() - { - char la = ' '; - try - { - la = buffer.LA(1); - } - catch (CharStreamException) - { - } // vaporize it... - - buffer.consume(); - if (debugMode) - inputBufferEventSupport.fireConsume(la); - return la; - } - - public override void fill(int a) - { - buffer.fill(a); - } - - public virtual bool isDebugMode() - { - return debugMode; - } - - public override bool isMarked() - { - return buffer.isMarked(); - } - - public override char LA(int i) - { - char la = buffer.LA(i); - if (debugMode) - inputBufferEventSupport.fireLA(la, i); - return la; - } - - public override int mark() - { - int m = buffer.mark(); - inputBufferEventSupport.fireMark(m); - return m; - } - - public virtual void removeInputBufferListener(InputBufferListener l) - { - if (inputBufferEventSupport != null) - inputBufferEventSupport.removeInputBufferListener(l); - } - - public override void rewind(int mark) - { - buffer.rewind(mark); - inputBufferEventSupport.fireRewind(mark); - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/DebuggingParser.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/DebuggingParser.cs deleted file mode 100644 index 57aeb4560..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/DebuggingParser.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.debug; - -/// This type was created in VisualAge. -/// -public interface DebuggingParser -{ - string getRuleName(int n); - string getSemPredName(int n); -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/GuessingEventArgs.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/GuessingEventArgs.cs deleted file mode 100644 index 5c6614122..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/GuessingEventArgs.cs +++ /dev/null @@ -1,28 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.debug; - -public abstract class GuessingEventArgs : ANTLREventArgs -{ - public GuessingEventArgs() - { - } - - public GuessingEventArgs(int type) : base(type) - { - } - - public virtual int Guessing - { - get { return guessing_; } - set { this.guessing_ = value; } - } - - private int guessing_; - - /// This should NOT be called from anyone other than ParserEventSupport! - /// - public virtual void setValues(int type, int guessing) - { - setValues(type); - this.Guessing = guessing; - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ICharScannerDebugSubject.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ICharScannerDebugSubject.cs deleted file mode 100644 index 69dc95bdb..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ICharScannerDebugSubject.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.debug; - -public interface ICharScannerDebugSubject : IDebugSubject -{ - event NewLineEventHandler HitNewLine; - event MatchEventHandler MatchedChar; - event MatchEventHandler MatchedNotChar; - event MatchEventHandler MisMatchedChar; - event MatchEventHandler MisMatchedNotChar; - event TokenEventHandler ConsumedChar; - event TokenEventHandler CharLA; -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/IDebugSubject.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/IDebugSubject.cs deleted file mode 100644 index ee4f99865..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/IDebugSubject.cs +++ /dev/null @@ -1,20 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.debug; -//using EventHandlerList = System.ComponentModel.EventHandlerList; - -public interface IDebugSubject -{ - /* EventHandlerList Events - { - get; - } -*/ - event TraceEventHandler EnterRule; - event TraceEventHandler ExitRule; - event TraceEventHandler Done; - event MessageEventHandler ErrorReported; - event MessageEventHandler WarningReported; - event SemanticPredicateEventHandler SemPredEvaluated; - event SyntacticPredicateEventHandler SynPredStarted; - event SyntacticPredicateEventHandler SynPredFailed; - event SyntacticPredicateEventHandler SynPredSucceeded; -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/IParserDebugSubject.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/IParserDebugSubject.cs deleted file mode 100644 index 5ccd49b25..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/IParserDebugSubject.cs +++ /dev/null @@ -1,11 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.debug; - -public interface IParserDebugSubject : IDebugSubject -{ - event MatchEventHandler MatchedToken; - event MatchEventHandler MatchedNotToken; - event MatchEventHandler MisMatchedToken; - event MatchEventHandler MisMatchedNotToken; - event TokenEventHandler ConsumedToken; - event TokenEventHandler TokenLA; -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/InputBufferEventArgs.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/InputBufferEventArgs.cs deleted file mode 100644 index 59d04c9c4..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/InputBufferEventArgs.cs +++ /dev/null @@ -1,47 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.debug; - -public class InputBufferEventArgs : ANTLREventArgs -{ - public InputBufferEventArgs() - { - } - - public InputBufferEventArgs(int type, char c, int lookaheadAmount) - { - setValues(type, c, lookaheadAmount); - } - - public virtual char Char - { - get { return this.c_; } - set { this.c_ = value; } - } - - public virtual int LookaheadAmount - { - get { return this.lookaheadAmount_; } - set { this.lookaheadAmount_ = value; } - } - - internal char c_; - internal int lookaheadAmount_; // amount of lookahead - - public const int CONSUME = 0; - public const int LA = 1; - public const int MARK = 2; - public const int REWIND = 3; - - /// This should NOT be called from anyone other than ParserEventSupport! - /// - internal void setValues(int type, char c, int la) - { - setValues(type); - this.Char = c; - this.LookaheadAmount = la; - } - - public override string ToString() - { - return "CharBufferEvent [" + (Type == CONSUME ? "CONSUME, " : "LA, ") + Char + "," + LookaheadAmount + "]"; - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/InputBufferEventSupport.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/InputBufferEventSupport.cs deleted file mode 100644 index a8470904d..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/InputBufferEventSupport.cs +++ /dev/null @@ -1,131 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.debug; - -using ArrayList = System.Collections.ArrayList; - -public class InputBufferEventSupport -{ - public virtual ArrayList InputBufferListeners - { - get - { - return inputBufferListeners; - } - } - - private object source; - private ArrayList inputBufferListeners; - private InputBufferEventArgs inputBufferEvent; - protected internal const int CONSUME = 0; - protected internal const int LA = 1; - protected internal const int MARK = 2; - protected internal const int REWIND = 3; - - public InputBufferEventSupport(object source) - { - inputBufferEvent = new InputBufferEventArgs(); - this.source = source; - } - - public virtual void addInputBufferListener(InputBufferListener l) - { - if (inputBufferListeners == null) - inputBufferListeners = new ArrayList(); - inputBufferListeners.Add(l); - } - - public virtual void fireConsume(char c) - { - inputBufferEvent.setValues(InputBufferEventArgs.CONSUME, c, 0); - fireEvents(CONSUME, inputBufferListeners); - } - - public virtual void fireEvent(int type, Listener l) - { - switch (type) - { - case CONSUME: - ((InputBufferListener) l).inputBufferConsume(source, inputBufferEvent); break; - - case LA: - ((InputBufferListener) l).inputBufferLA(source, inputBufferEvent); break; - - case MARK: - ((InputBufferListener) l).inputBufferMark(source, inputBufferEvent); break; - - case REWIND: - ((InputBufferListener) l).inputBufferRewind(source, inputBufferEvent); break; - - default: - throw new System.ArgumentException("bad type " + type + " for fireEvent()"); - } - } - - public virtual void fireEvents(int type, ArrayList listeners) - { - ArrayList targets = null; - Listener l = null; - - lock (this) - { - if (listeners == null) - return; - targets = (ArrayList) listeners.Clone(); - } - - if (targets != null) - for (int i = 0; i < targets.Count; i++) - { - l = (Listener) targets[i]; - fireEvent(type, l); - } - } - - public virtual void fireLA(char c, int la) - { - inputBufferEvent.setValues(InputBufferEventArgs.LA, c, la); - fireEvents(LA, inputBufferListeners); - } - - public virtual void fireMark(int pos) - { - inputBufferEvent.setValues(InputBufferEventArgs.MARK, ' ', pos); - fireEvents(MARK, inputBufferListeners); - } - - public virtual void fireRewind(int pos) - { - inputBufferEvent.setValues(InputBufferEventArgs.REWIND, ' ', pos); - fireEvents(REWIND, inputBufferListeners); - } - - protected internal virtual void refresh(ArrayList listeners) - { - ArrayList v; - lock (listeners) - { - v = (ArrayList) listeners.Clone(); - } - - if (v != null) - for (int i = 0; i < v.Count; i++) - ((Listener) v[i]).refresh(); - } - - public virtual void refreshListeners() - { - refresh(inputBufferListeners); - } - - public virtual void removeInputBufferListener(InputBufferListener l) - { - if (inputBufferListeners != null) - { - ArrayList temp_arraylist; - object temp_object; - temp_arraylist = inputBufferListeners; - temp_object = l; - temp_arraylist.Contains(temp_object); - temp_arraylist.Remove(temp_object); - } - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/InputBufferListener.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/InputBufferListener.cs deleted file mode 100644 index 6f7268f24..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/InputBufferListener.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.debug; - -public interface InputBufferListener : Listener -{ - void inputBufferConsume(object source, InputBufferEventArgs e); - void inputBufferLA(object source, InputBufferEventArgs e); - void inputBufferMark(object source, InputBufferEventArgs e); - void inputBufferRewind(object source, InputBufferEventArgs e); -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/InputBufferListenerBase.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/InputBufferListenerBase.cs deleted file mode 100644 index 18c7079bf..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/InputBufferListenerBase.cs +++ /dev/null @@ -1,62 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.debug; - -/// -/// Provides an abstract base for implementing subclasses. -/// -/// -/// -/// This abstract class is provided to make it easier to create s. -/// You should extend this base class rather than creating your own. -/// -/// -public abstract class InputBufferListenerBase : InputBufferListener -{ - /// - /// Handle the "Done" event. - /// - /// Event source object - /// Event data object - public virtual void doneParsing(object source, TraceEventArgs e) - { - } - - /// - /// Handle the "CharConsumed" event. - /// - /// Event source object - /// Event data object - public virtual void inputBufferConsume(object source, InputBufferEventArgs e) - { - } - - /// - /// Handle the "CharLA" event. - /// - /// Event source object - /// Event data object - public virtual void inputBufferLA(object source, InputBufferEventArgs e) - { - } - - /// - /// Handle the "Mark" event. - /// - /// Event source object - /// Event data object - public virtual void inputBufferMark(object source, InputBufferEventArgs e) - { - } - - /// - /// Handle the "Rewind" event. - /// - /// Event source object - /// Event data object - public virtual void inputBufferRewind(object source, InputBufferEventArgs e) - { - } - - public virtual void refresh() - { - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/InputBufferReporter.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/InputBufferReporter.cs deleted file mode 100644 index a3f66bd26..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/InputBufferReporter.cs +++ /dev/null @@ -1,33 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.debug; - -public class InputBufferReporter : InputBufferListenerBase, InputBufferListener -{ - public virtual void inputBufferChanged(object source, InputBufferEventArgs e) - { - System.Console.Out.WriteLine(e); - } - - /// charBufferConsume method comment. - /// - public override void inputBufferConsume(object source, InputBufferEventArgs e) - { - System.Console.Out.WriteLine(e); - } - - /// charBufferLA method comment. - /// - public override void inputBufferLA(object source, InputBufferEventArgs e) - { - System.Console.Out.WriteLine(e); - } - - public override void inputBufferMark(object source, InputBufferEventArgs e) - { - System.Console.Out.WriteLine(e); - } - - public override void inputBufferRewind(object source, InputBufferEventArgs e) - { - System.Console.Out.WriteLine(e); - } -} \ No newline at end of file diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/LLkDebuggingParser.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/LLkDebuggingParser.cs deleted file mode 100644 index 6eb4be2a9..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/LLkDebuggingParser.cs +++ /dev/null @@ -1,336 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.debug; - -using System.Threading; -using antlr.collections.impl; - -public class LLkDebuggingParser : LLkParser, DebuggingParser -{ - private void InitBlock() - { - parserEventSupport = new ParserEventSupport(this); - } - - public override void setDebugMode(bool mode) - { - _notDebugMode = !mode; - } - - protected internal ParserEventSupport parserEventSupport; - - private bool _notDebugMode = false; - protected internal string[] ruleNames; - protected internal string[] semPredNames; - - public LLkDebuggingParser(int k_) : base(k_) - { - InitBlock(); - } - - public LLkDebuggingParser(ParserSharedInputState state, int k_) : base(state, k_) - { - InitBlock(); - } - - public LLkDebuggingParser(TokenBuffer tokenBuf, int k_) : base(tokenBuf, k_) - { - InitBlock(); - } - - public LLkDebuggingParser(TokenStream lexer, int k_) : base(lexer, k_) - { - InitBlock(); - } - - public override void addMessageListener(MessageListener l) - { - parserEventSupport.addMessageListener(l); - } - - public override void addParserListener(ParserListener l) - { - parserEventSupport.addParserListener(l); - } - - public override void addParserMatchListener(ParserMatchListener l) - { - parserEventSupport.addParserMatchListener(l); - } - - public override void addParserTokenListener(ParserTokenListener l) - { - parserEventSupport.addParserTokenListener(l); - } - - public override void addSemanticPredicateListener(SemanticPredicateListener l) - { - parserEventSupport.addSemanticPredicateListener(l); - } - - public override void addSyntacticPredicateListener(SyntacticPredicateListener l) - { - parserEventSupport.addSyntacticPredicateListener(l); - } - - public override void addTraceListener(TraceListener l) - { - parserEventSupport.addTraceListener(l); - } - - /// Get another token object from the token stream - /// - public override void consume() - { - int la_1 = -99; - la_1 = LA(1); - base.consume(); - parserEventSupport.fireConsume(la_1); - } - - protected internal virtual void fireEnterRule(int num, int data) - { - if (isDebugMode()) - parserEventSupport.fireEnterRule(num, inputState.guessing, data); - } - - protected internal virtual void fireExitRule(int num, int data) - { - if (isDebugMode()) - parserEventSupport.fireExitRule(num, inputState.guessing, data); - } - - protected internal virtual bool fireSemanticPredicateEvaluated(int type, int num, bool condition) - { - if (isDebugMode()) - return parserEventSupport.fireSemanticPredicateEvaluated(type, num, condition, inputState.guessing); - else - return condition; - } - - protected internal virtual void fireSyntacticPredicateFailed() - { - if (isDebugMode()) - parserEventSupport.fireSyntacticPredicateFailed(inputState.guessing); - } - - protected internal virtual void fireSyntacticPredicateStarted() - { - if (isDebugMode()) - parserEventSupport.fireSyntacticPredicateStarted(inputState.guessing); - } - - protected internal virtual void fireSyntacticPredicateSucceeded() - { - if (isDebugMode()) - parserEventSupport.fireSyntacticPredicateSucceeded(inputState.guessing); - } - - public virtual string getRuleName(int num) - { - return ruleNames[num]; - } - - public virtual string getSemPredName(int num) - { - return semPredNames[num]; - } - - public virtual void goToSleep() - { - lock (this) - { - try - { - Monitor.Wait(this); - } - catch (System.Threading.ThreadInterruptedException) - { - } - } - } - - public override bool isDebugMode() - { - return !_notDebugMode; - } - - public virtual bool isGuessing() - { - return inputState.guessing > 0; - } - - /// Return the token type of the ith token of lookahead where i=1 - /// is the current token being examined by the parser (i.e., it - /// has not been matched yet). - /// - public override int LA(int i) - { - int la = base.LA(i); - parserEventSupport.fireLA(i, la); - return la; - } - - /// Make sure current lookahead symbol matches token type t. - /// Throw an exception upon mismatch, which is catch by either the - /// error handler or by the syntactic predicate. - /// - public override void match(int t) - { - string text = LT(1).getText(); - int la_1 = LA(1); - try - { - base.match(t); - parserEventSupport.fireMatch(t, text, inputState.guessing); - } - catch (MismatchedTokenException e) - { - if (inputState.guessing == 0) - parserEventSupport.fireMismatch(la_1, t, text, inputState.guessing); - throw e; - } - } - - /// Make sure current lookahead symbol matches the given set - /// Throw an exception upon mismatch, which is catch by either the - /// error handler or by the syntactic predicate. - /// - public override void match(BitSet b) - { - string text = LT(1).getText(); - int la_1 = LA(1); - try - { - base.match(b); - parserEventSupport.fireMatch(la_1, b, text, inputState.guessing); - } - catch (MismatchedTokenException e) - { - if (inputState.guessing == 0) - parserEventSupport.fireMismatch(la_1, b, text, inputState.guessing); - throw e; - } - } - - public override void matchNot(int t) - { - string text = LT(1).getText(); - int la_1 = LA(1); - try - { - base.matchNot(t); - parserEventSupport.fireMatchNot(la_1, t, text, inputState.guessing); - } - catch (MismatchedTokenException e) - { - if (inputState.guessing == 0) - parserEventSupport.fireMismatchNot(la_1, t, text, inputState.guessing); - throw e; - } - } - - public override void removeMessageListener(MessageListener l) - { - parserEventSupport.removeMessageListener(l); - } - - public override void removeParserListener(ParserListener l) - { - parserEventSupport.removeParserListener(l); - } - - public override void removeParserMatchListener(ParserMatchListener l) - { - parserEventSupport.removeParserMatchListener(l); - } - - public override void removeParserTokenListener(ParserTokenListener l) - { - parserEventSupport.removeParserTokenListener(l); - } - - public override void removeSemanticPredicateListener(SemanticPredicateListener l) - { - parserEventSupport.removeSemanticPredicateListener(l); - } - - public override void removeSyntacticPredicateListener(SyntacticPredicateListener l) - { - parserEventSupport.removeSyntacticPredicateListener(l); - } - - public override void removeTraceListener(TraceListener l) - { - parserEventSupport.removeTraceListener(l); - } - - /// Parser error-reporting function can be overridden in subclass - /// - public override void reportError(RecognitionException ex) - { - parserEventSupport.fireReportError(ex); - base.reportError(ex); - } - - /// Parser error-reporting function can be overridden in subclass - /// - public override void reportError(string s) - { - parserEventSupport.fireReportError(s); - base.reportError(s); - } - - /// Parser warning-reporting function can be overridden in subclass - /// - public override void reportWarning(string s) - { - parserEventSupport.fireReportWarning(s); - base.reportWarning(s); - } - - public virtual void setupDebugging(TokenBuffer tokenBuf) - { - setupDebugging(null, tokenBuf); - } - - public virtual void setupDebugging(TokenStream lexer) - { - setupDebugging(lexer, null); - } - - /// User can override to do their own debugging - /// - protected internal virtual void setupDebugging(TokenStream lexer, TokenBuffer tokenBuf) - { - setDebugMode(true); - // default parser debug setup is ParseView - try - { -// try -// { -// System.Type.GetType("javax.swing.JButton"); -// } -// catch (System.Exception) -// { -// System.Console.Error.WriteLine("Swing is required to use ParseView, but is not present in your CLASSPATH"); -// System.Environment.Exit(1); -// } - System.Type c = System.Type.GetType("antlr.parseview.ParseView"); - System.Reflection.ConstructorInfo constructor = c.GetConstructor(new System.Type[] { typeof(LLkDebuggingParser), typeof(TokenStream), typeof(TokenBuffer) }); - constructor.Invoke(new object[] { this, lexer, tokenBuf }); - } - catch (System.Exception e) - { - System.Console.Error.WriteLine("Error initializing ParseView: " + e); - System.Console.Error.WriteLine("Please report this to Scott Stanchfield, thetick@magelang.com"); - System.Environment.Exit(1); - } - } - - public virtual void wakeUp() - { - lock (this) - { - Monitor.Pulse(this); - } - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/Listener.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/Listener.cs deleted file mode 100644 index 14e02e9cb..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/Listener.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.debug; - -public interface Listener -{ - void doneParsing(object source, TraceEventArgs e); - void refresh(); -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/MessageEventArgs.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/MessageEventArgs.cs deleted file mode 100644 index a4a1993c2..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/MessageEventArgs.cs +++ /dev/null @@ -1,37 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.debug; - -public class MessageEventArgs : ANTLREventArgs -{ - public MessageEventArgs() - { - } - - public MessageEventArgs(int type, string text) - { - setValues(type, text); - } - - public virtual string Text - { - get { return text_; } - set { this.text_ = value; } - } - - private string text_; - - public static int WARNING = 0; - public static int ERROR = 1; - - /// This should NOT be called from anyone other than ParserEventSupport! - /// - internal void setValues(int type, string text) - { - setValues(type); - this.Text = text; - } - - public override string ToString() - { - return "ParserMessageEvent [" + (Type == WARNING ? "warning," : "error,") + Text + "]"; - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/MessageListener.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/MessageListener.cs deleted file mode 100644 index b5f7e3ab9..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/MessageListener.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.debug; - -public interface MessageListener : Listener -{ - void reportError(object source, MessageEventArgs e); - void reportWarning(object source, MessageEventArgs e); -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/MessageListenerBase.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/MessageListenerBase.cs deleted file mode 100644 index e107cd856..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/MessageListenerBase.cs +++ /dev/null @@ -1,44 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.debug; - -/// -/// Provides an abstract base for implementing subclasses. -/// -/// -/// -/// This abstract class is provided to make it easier to create s. -/// You should extend this base class rather than creating your own. -/// -/// -public class MessageListenerBase : MessageListener -{ - /// - /// Handle the "Done" event. - /// - /// Event source object - /// Event data object - public virtual void doneParsing(object source, TraceEventArgs e) - { - } - - public virtual void refresh() - { - } - - /// - /// Handle the "ReportError" event. - /// - /// Event source object - /// Event data object - public virtual void reportError(object source, MessageEventArgs e) - { - } - - /// - /// Handle the "ReportWarning" event. - /// - /// Event source object - /// Event data object - public virtual void reportWarning(object source, MessageEventArgs e) - { - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/NewLineEventArgs.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/NewLineEventArgs.cs deleted file mode 100644 index f35d844f0..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/NewLineEventArgs.cs +++ /dev/null @@ -1,28 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.debug; - -public class NewLineEventArgs : ANTLREventArgs -{ - public NewLineEventArgs() - { - } - - public NewLineEventArgs(int line) - { - Line = line; - } - - public virtual int Line - { - get { return this.line_; } - set { this.line_ = value; } - } - - private int line_; - - /// This should NOT be called from anyone other than ParserEventSupport! - /// - public override string ToString() - { - return "NewLineEvent [" + line_ + "]"; - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/NewLineListener.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/NewLineListener.cs deleted file mode 100644 index 912ee701a..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/NewLineListener.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.debug; - -public interface NewLineListener : Listener -{ - void hitNewLine(object source, NewLineEventArgs e); -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParseTreeDebugParser.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParseTreeDebugParser.cs deleted file mode 100644 index 29598fc4f..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParseTreeDebugParser.cs +++ /dev/null @@ -1,163 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.debug; - -/* ANTLR Translator Generator - * Project led by Terence Parr at http://www.jGuru.com - * Software rights: http://www.antlr.org/license.html - */ - -// -// ANTLR C# Code Generator by Micheal Jordan -// Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com -// Anthony Oguntimehin -// -using Stack = System.Collections.Stack; -using antlr; -using BitSet = antlr.collections.impl.BitSet; - -/// -/// Specifies the behaviour required (i.e. parser modifications) -/// specifically to support parse tree debugging and derivation. -/// -/// -/// -/// Override the standard matching and rule entry/exit routines -/// to build parse trees. This class is useful for 2.7.3 where -/// you can specify a superclass like -/// -/// -/// class TinyCParser extends Parser(ParseTreeDebugParser); -/// -/// -public class ParseTreeDebugParser : LLkParser -{ - /// - /// Each new rule invocation must have it's own subtree. Tokens are - /// added to the current root so we must have a stack of subtree roots. - /// - protected Stack currentParseTreeRoot = new Stack(); - - /// - /// Track most recently created parse subtree so that when parsing - /// is finished, we can get to the root. - /// - protected ParseTreeRule mostRecentParseTreeRoot = null; - - /// - /// For every rule replacement with a production, we bump up count. - /// - protected int numberOfDerivationSteps = 1; // n replacements plus step 0 - - public ParseTreeDebugParser(int k_) : base(k_) - { - } - - public ParseTreeDebugParser(ParserSharedInputState state, int k_) : base(state, k_) - { - } - - public ParseTreeDebugParser(TokenBuffer tokenBuf, int k_) : base(tokenBuf, k_) - { - } - - public ParseTreeDebugParser(TokenStream lexer, int k_) : base(lexer, k_) - { - } - - public ParseTree getParseTree() - { - return mostRecentParseTreeRoot; - } - - public int getNumberOfDerivationSteps() - { - return numberOfDerivationSteps; - } - - public override void match(int i) // throws MismatchedTokenException, TokenStreamException - { - addCurrentTokenToParseTree(); - base.match(i); - } - - public override void match(BitSet bitSet) // throws MismatchedTokenException, TokenStreamException - { - addCurrentTokenToParseTree(); - base.match(bitSet); - } - - public override void matchNot(int i) // throws MismatchedTokenException, TokenStreamException - { - addCurrentTokenToParseTree(); - base.matchNot(i); - } - - /// - /// Adds LT(1) to the current parse subtree. - /// - /// - /// - /// Note that the match() routines add the node before checking for - /// correct match. This means that, upon mismatched token, there - /// will a token node in the tree corresponding to where that token - /// was expected. For no viable alternative errors, no node will - /// be in the tree as nothing was matched() (the lookahead failed - /// to predict an alternative). - /// - /// - protected void addCurrentTokenToParseTree() // throws TokenStreamException - { - if (inputState.guessing > 0) - { - return; - } - - ParseTreeRule root = (ParseTreeRule) currentParseTreeRoot.Peek(); - ParseTreeToken tokenNode = null; - if (LA(1) == Token.EOF_TYPE) - { - tokenNode = new ParseTreeToken(new antlr.CommonToken("EOF")); - } - else - { - tokenNode = new ParseTreeToken(LT(1)); - } - - root.addChild(tokenNode); - } - - /// - /// Create a rule node, add to current tree, and make it current root - /// - /// - public override void traceIn(string s) // throws TokenStreamException - { - if (inputState.guessing > 0) - { - return; - } - - ParseTreeRule subRoot = new ParseTreeRule(s); - if (currentParseTreeRoot.Count > 0) - { - ParseTreeRule oldRoot = (ParseTreeRule) currentParseTreeRoot.Peek(); - oldRoot.addChild(subRoot); - } - - currentParseTreeRoot.Push(subRoot); - numberOfDerivationSteps++; - } - - /// - /// Pop current root; back to adding to old root - /// - /// - public override void traceOut(string s) // throws TokenStreamException - { - if (inputState.guessing > 0) - { - return; - } - - mostRecentParseTreeRoot = (ParseTreeRule) currentParseTreeRoot.Pop(); - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserController.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserController.cs deleted file mode 100644 index f0ba1a73a..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserController.cs +++ /dev/null @@ -1,11 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.debug; - -public interface ParserController : ParserListener -{ - ParserEventSupport ParserEventSupport - { - set; - } - - void checkBreak(); -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserEventSupport.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserEventSupport.cs deleted file mode 100644 index 726c4f290..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserEventSupport.cs +++ /dev/null @@ -1,562 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.debug; - -using Hashtable = System.Collections.Hashtable; -using DictionaryEntry = System.Collections.DictionaryEntry; -using antlr.collections.impl; - -public delegate void MessageEventHandler(object sender, MessageEventArgs e); - -public delegate void NewLineEventHandler(object sender, NewLineEventArgs e); - -public delegate void MatchEventHandler(object sender, MatchEventArgs e); - -public delegate void TokenEventHandler(object sender, TokenEventArgs e); - -public delegate void SemanticPredicateEventHandler(object sender, SemanticPredicateEventArgs e); - -public delegate void SyntacticPredicateEventHandler(object sender, SyntacticPredicateEventArgs e); - -public delegate void TraceEventHandler(object sender, TraceEventArgs e); - -/// A class to assist in firing parser events -/// NOTE: I intentionally _did_not_ synchronize the event firing and -/// add/remove listener methods. This is because the add/remove should -/// _only_ be called by the parser at its start/end, and the _same_thread_ -/// should be performing the parsing. This should help performance a tad... -/// -public class ParserEventSupport -{ - private object source; - private Hashtable listeners; - - private MatchEventArgs matchEvent; - private MessageEventArgs messageEvent; - private TokenEventArgs tokenEvent; - private SemanticPredicateEventArgs semPredEvent; - private SyntacticPredicateEventArgs synPredEvent; - private TraceEventArgs traceEvent; - private NewLineEventArgs newLineEvent; - - private ParserController controller; - - private int ruleDepth = 0; - - public ParserEventSupport(object source) - { - matchEvent = new MatchEventArgs(); - messageEvent = new MessageEventArgs(); - tokenEvent = new TokenEventArgs(); - traceEvent = new TraceEventArgs(); - semPredEvent = new SemanticPredicateEventArgs(); - synPredEvent = new SyntacticPredicateEventArgs(); - newLineEvent = new NewLineEventArgs(); - listeners = new Hashtable(); - this.source = source; - } - - public virtual void checkController() - { - if (controller != null) - controller.checkBreak(); - } - - public virtual void addDoneListener(Listener l) - { - ((Parser) source).Done += new TraceEventHandler(l.doneParsing); - listeners[l] = l; - } - - public virtual void addMessageListener(MessageListener l) - { - ((Parser) source).ErrorReported += new MessageEventHandler(l.reportError); - ((Parser) source).WarningReported += new MessageEventHandler(l.reportWarning); - //messageListeners.Add(l); - addDoneListener(l); - } - - public virtual void addParserListener(ParserListener l) - { - if (l is ParserController) - { - ((ParserController) l).ParserEventSupport = this; - controller = (ParserController) l; - } - - addParserMatchListener(l); - addParserTokenListener(l); - - addMessageListener(l); - addTraceListener(l); - addSemanticPredicateListener(l); - addSyntacticPredicateListener(l); - } - - public virtual void addParserMatchListener(ParserMatchListener l) - { - ((Parser) source).MatchedToken += new MatchEventHandler(l.parserMatch); - ((Parser) source).MatchedNotToken += new MatchEventHandler(l.parserMatchNot); - ((Parser) source).MisMatchedToken += new MatchEventHandler(l.parserMismatch); - ((Parser) source).MisMatchedNotToken += new MatchEventHandler(l.parserMismatchNot); - //matchListeners.Add(l); - addDoneListener(l); - } - - public virtual void addParserTokenListener(ParserTokenListener l) - { - ((Parser) source).ConsumedToken += new TokenEventHandler(l.parserConsume); - ((Parser) source).TokenLA += new TokenEventHandler(l.parserLA); - //tokenListeners.Add(l); - addDoneListener(l); - } - - public virtual void addSemanticPredicateListener(SemanticPredicateListener l) - { - ((Parser) source).SemPredEvaluated += new SemanticPredicateEventHandler(l.semanticPredicateEvaluated); - //semPredListeners.Add(l); - addDoneListener(l); - } - - public virtual void addSyntacticPredicateListener(SyntacticPredicateListener l) - { - ((Parser) source).SynPredStarted += new SyntacticPredicateEventHandler(l.syntacticPredicateStarted); - ((Parser) source).SynPredFailed += new SyntacticPredicateEventHandler(l.syntacticPredicateFailed); - ((Parser) source).SynPredSucceeded += new SyntacticPredicateEventHandler(l.syntacticPredicateSucceeded); - //synPredListeners.Add(l); - addDoneListener(l); - } - - public virtual void addTraceListener(TraceListener l) - { - ((Parser) source).EnterRule += new TraceEventHandler(l.enterRule); - ((Parser) source).ExitRule += new TraceEventHandler(l.exitRule); - //traceListeners.Add(l); - addDoneListener(l); - } - - public virtual void fireConsume(int c) - { - TokenEventHandler eventDelegate = (TokenEventHandler) ((Parser) source).Events[Parser.LAEventKey]; - if (eventDelegate != null) - { - tokenEvent.setValues(TokenEventArgs.CONSUME, 1, c); - eventDelegate(source, tokenEvent); - } - - checkController(); - } - - public virtual void fireDoneParsing() - { - TraceEventHandler eventDelegate = (TraceEventHandler) ((Parser) source).Events[Parser.DoneEventKey]; - if (eventDelegate != null) - { - traceEvent.setValues(TraceEventArgs.DONE_PARSING, 0, 0, 0); - eventDelegate(source, traceEvent); - } - - checkController(); - } - - public virtual void fireEnterRule(int ruleNum, int guessing, int data) - { - ruleDepth++; - TraceEventHandler eventDelegate = (TraceEventHandler) ((Parser) source).Events[Parser.EnterRuleEventKey]; - if (eventDelegate != null) - { - traceEvent.setValues(TraceEventArgs.ENTER, ruleNum, guessing, data); - eventDelegate(source, traceEvent); - } - - checkController(); - } - - public virtual void fireExitRule(int ruleNum, int guessing, int data) - { - TraceEventHandler eventDelegate = (TraceEventHandler) ((Parser) source).Events[Parser.ExitRuleEventKey]; - if (eventDelegate != null) - { - traceEvent.setValues(TraceEventArgs.EXIT, ruleNum, guessing, data); - eventDelegate(source, traceEvent); - } - - checkController(); - - ruleDepth--; - if (ruleDepth == 0) - fireDoneParsing(); - } - - public virtual void fireLA(int k, int la) - { - TokenEventHandler eventDelegate = (TokenEventHandler) ((Parser) source).Events[Parser.LAEventKey]; - if (eventDelegate != null) - { - tokenEvent.setValues(TokenEventArgs.LA, k, la); - eventDelegate(source, tokenEvent); - } - - checkController(); - } - - public virtual void fireMatch(char c, int guessing) - { - MatchEventHandler eventDelegate = (MatchEventHandler) ((Parser) source).Events[Parser.MatchEventKey]; - if (eventDelegate != null) - { - matchEvent.setValues(MatchEventArgs.CHAR, c, c, null, guessing, false, true); - eventDelegate(source, matchEvent); - } - - checkController(); - } - - public virtual void fireMatch(char c, BitSet b, int guessing) - { - MatchEventHandler eventDelegate = (MatchEventHandler) ((Parser) source).Events[Parser.MatchEventKey]; - if (eventDelegate != null) - { - matchEvent.setValues(MatchEventArgs.CHAR_BITSET, c, b, null, guessing, false, true); - eventDelegate(source, matchEvent); - } - - checkController(); - } - - public virtual void fireMatch(char c, string target, int guessing) - { - MatchEventHandler eventDelegate = (MatchEventHandler) ((Parser) source).Events[Parser.MatchEventKey]; - if (eventDelegate != null) - { - matchEvent.setValues(MatchEventArgs.CHAR_RANGE, c, target, null, guessing, false, true); - eventDelegate(source, matchEvent); - } - - checkController(); - } - - public virtual void fireMatch(int c, BitSet b, string text, int guessing) - { - MatchEventHandler eventDelegate = (MatchEventHandler) ((Parser) source).Events[Parser.MatchEventKey]; - if (eventDelegate != null) - { - matchEvent.setValues(MatchEventArgs.BITSET, c, b, text, guessing, false, true); - eventDelegate(source, matchEvent); - } - - checkController(); - } - - public virtual void fireMatch(int n, string text, int guessing) - { - MatchEventHandler eventDelegate = (MatchEventHandler) ((Parser) source).Events[Parser.MatchEventKey]; - if (eventDelegate != null) - { - matchEvent.setValues(MatchEventArgs.TOKEN, n, n, text, guessing, false, true); - eventDelegate(source, matchEvent); - } - - checkController(); - } - - public virtual void fireMatch(string s, int guessing) - { - MatchEventHandler eventDelegate = (MatchEventHandler) ((Parser) source).Events[Parser.MatchEventKey]; - if (eventDelegate != null) - { - matchEvent.setValues(MatchEventArgs.STRING, 0, s, null, guessing, false, true); - eventDelegate(source, matchEvent); - } - - checkController(); - } - - public virtual void fireMatchNot(char c, char n, int guessing) - { - MatchEventHandler eventDelegate = (MatchEventHandler) ((Parser) source).Events[Parser.MatchNotEventKey]; - if (eventDelegate != null) - { - matchEvent.setValues(MatchEventArgs.CHAR, c, n, null, guessing, true, true); - eventDelegate(source, matchEvent); - } - - checkController(); - } - - public virtual void fireMatchNot(int c, int n, string text, int guessing) - { - MatchEventHandler eventDelegate = (MatchEventHandler) ((Parser) source).Events[Parser.MatchNotEventKey]; - if (eventDelegate != null) - { - matchEvent.setValues(MatchEventArgs.TOKEN, c, n, text, guessing, true, true); - eventDelegate(source, matchEvent); - } - - checkController(); - } - - public virtual void fireMismatch(char c, char n, int guessing) - { - MatchEventHandler eventDelegate = (MatchEventHandler) ((Parser) source).Events[Parser.MisMatchEventKey]; - if (eventDelegate != null) - { - matchEvent.setValues(MatchEventArgs.CHAR, c, n, null, guessing, false, false); - eventDelegate(source, matchEvent); - } - - checkController(); - } - - public virtual void fireMismatch(char c, BitSet b, int guessing) - { - MatchEventHandler eventDelegate = (MatchEventHandler) ((Parser) source).Events[Parser.MisMatchEventKey]; - if (eventDelegate != null) - { - matchEvent.setValues(MatchEventArgs.CHAR_BITSET, c, b, null, guessing, false, true); - eventDelegate(source, matchEvent); - } - - checkController(); - } - - public virtual void fireMismatch(char c, string target, int guessing) - { - MatchEventHandler eventDelegate = (MatchEventHandler) ((Parser) source).Events[Parser.MisMatchEventKey]; - if (eventDelegate != null) - { - matchEvent.setValues(MatchEventArgs.CHAR_RANGE, c, target, null, guessing, false, true); - eventDelegate(source, matchEvent); - } - - checkController(); - } - - public virtual void fireMismatch(int i, int n, string text, int guessing) - { - MatchEventHandler eventDelegate = (MatchEventHandler) ((Parser) source).Events[Parser.MisMatchEventKey]; - if (eventDelegate != null) - { - matchEvent.setValues(MatchEventArgs.TOKEN, i, n, text, guessing, false, false); - eventDelegate(source, matchEvent); - } - - checkController(); - } - - public virtual void fireMismatch(int i, BitSet b, string text, int guessing) - { - MatchEventHandler eventDelegate = (MatchEventHandler) ((Parser) source).Events[Parser.MisMatchEventKey]; - if (eventDelegate != null) - { - matchEvent.setValues(MatchEventArgs.BITSET, i, b, text, guessing, false, true); - eventDelegate(source, matchEvent); - } - - checkController(); - } - - public virtual void fireMismatch(string s, string text, int guessing) - { - MatchEventHandler eventDelegate = (MatchEventHandler) ((Parser) source).Events[Parser.MisMatchEventKey]; - if (eventDelegate != null) - { - matchEvent.setValues(MatchEventArgs.STRING, 0, text, s, guessing, false, true); - eventDelegate(source, matchEvent); - } - - checkController(); - } - - public virtual void fireMismatchNot(char v, char c, int guessing) - { - MatchEventHandler eventDelegate = (MatchEventHandler) ((Parser) source).Events[Parser.MisMatchNotEventKey]; - if (eventDelegate != null) - { - matchEvent.setValues(MatchEventArgs.CHAR, v, c, null, guessing, true, true); - eventDelegate(source, matchEvent); - } - - checkController(); - } - - public virtual void fireMismatchNot(int i, int n, string text, int guessing) - { - MatchEventHandler eventDelegate = (MatchEventHandler) ((Parser) source).Events[Parser.MisMatchNotEventKey]; - if (eventDelegate != null) - { - matchEvent.setValues(MatchEventArgs.TOKEN, i, n, text, guessing, true, true); - eventDelegate(source, matchEvent); - } - - checkController(); - } - - public virtual void fireReportError(System.Exception e) - { - MessageEventHandler eventDelegate = (MessageEventHandler) ((Parser) source).Events[Parser.ReportErrorEventKey]; - if (eventDelegate != null) - { - messageEvent.setValues(MessageEventArgs.ERROR, e.ToString()); - eventDelegate(source, messageEvent); - } - - checkController(); - } - - public virtual void fireReportError(string s) - { - MessageEventHandler eventDelegate = (MessageEventHandler) ((Parser) source).Events[Parser.ReportErrorEventKey]; - if (eventDelegate != null) - { - messageEvent.setValues(MessageEventArgs.ERROR, s); - eventDelegate(source, messageEvent); - } - - checkController(); - } - - public virtual void fireReportWarning(string s) - { - MessageEventHandler eventDelegate = (MessageEventHandler) ((Parser) source).Events[Parser.ReportWarningEventKey]; - if (eventDelegate != null) - { - messageEvent.setValues(MessageEventArgs.WARNING, s); - eventDelegate(source, messageEvent); - } - - checkController(); - } - - public virtual bool fireSemanticPredicateEvaluated(int type, int condition, bool result, int guessing) - { - SemanticPredicateEventHandler eventDelegate = (SemanticPredicateEventHandler) ((Parser) source).Events[Parser.SemPredEvaluatedEventKey]; - if (eventDelegate != null) - { - semPredEvent.setValues(type, condition, result, guessing); - eventDelegate(source, semPredEvent); - } - - checkController(); - - return result; - } - - public virtual void fireSyntacticPredicateFailed(int guessing) - { - SyntacticPredicateEventHandler eventDelegate = (SyntacticPredicateEventHandler) ((Parser) source).Events[Parser.SynPredFailedEventKey]; - if (eventDelegate != null) - { - synPredEvent.setValues(0, guessing); - eventDelegate(source, synPredEvent); - } - - checkController(); - } - - public virtual void fireSyntacticPredicateStarted(int guessing) - { - SyntacticPredicateEventHandler eventDelegate = (SyntacticPredicateEventHandler) ((Parser) source).Events[Parser.SynPredStartedEventKey]; - if (eventDelegate != null) - { - synPredEvent.setValues(0, guessing); - eventDelegate(source, synPredEvent); - } - - checkController(); - } - - public virtual void fireSyntacticPredicateSucceeded(int guessing) - { - SyntacticPredicateEventHandler eventDelegate = (SyntacticPredicateEventHandler) ((Parser) source).Events[Parser.SynPredSucceededEventKey]; - if (eventDelegate != null) - { - synPredEvent.setValues(0, guessing); - eventDelegate(source, synPredEvent); - } - - checkController(); - } - - public virtual void refreshListeners() - { - Hashtable clonedTable; - - lock (listeners.SyncRoot) - { - clonedTable = (Hashtable) listeners.Clone(); - } - - foreach (DictionaryEntry entry in clonedTable) - { - if (entry.Value != null) - { - ((Listener) entry.Value).refresh(); - } - } - } - - public virtual void removeDoneListener(Listener l) - { - ((Parser) source).Done -= new TraceEventHandler(l.doneParsing); - listeners.Remove(l); - } - - public virtual void removeMessageListener(MessageListener l) - { - ((Parser) source).ErrorReported -= new MessageEventHandler(l.reportError); - ((Parser) source).WarningReported -= new MessageEventHandler(l.reportWarning); - //messageListeners.Remove(l); - removeDoneListener(l); - } - - public virtual void removeParserListener(ParserListener l) - { - removeParserMatchListener(l); - removeMessageListener(l); - removeParserTokenListener(l); - removeTraceListener(l); - removeSemanticPredicateListener(l); - removeSyntacticPredicateListener(l); - } - - public virtual void removeParserMatchListener(ParserMatchListener l) - { - ((Parser) source).MatchedToken -= new MatchEventHandler(l.parserMatch); - ((Parser) source).MatchedNotToken -= new MatchEventHandler(l.parserMatchNot); - ((Parser) source).MisMatchedToken -= new MatchEventHandler(l.parserMismatch); - ((Parser) source).MisMatchedNotToken -= new MatchEventHandler(l.parserMismatchNot); - //matchListeners.Remove(l); - removeDoneListener(l); - } - - public virtual void removeParserTokenListener(ParserTokenListener l) - { - ((Parser) source).ConsumedToken -= new TokenEventHandler(l.parserConsume); - ((Parser) source).TokenLA -= new TokenEventHandler(l.parserLA); - //tokenListeners.Remove(l); - removeDoneListener(l); - } - - public virtual void removeSemanticPredicateListener(SemanticPredicateListener l) - { - ((Parser) source).SemPredEvaluated -= new SemanticPredicateEventHandler(l.semanticPredicateEvaluated); - //semPredListeners.Remove(l); - removeDoneListener(l); - } - - public virtual void removeSyntacticPredicateListener(SyntacticPredicateListener l) - { - ((Parser) source).SynPredStarted -= new SyntacticPredicateEventHandler(l.syntacticPredicateStarted); - ((Parser) source).SynPredFailed -= new SyntacticPredicateEventHandler(l.syntacticPredicateFailed); - ((Parser) source).SynPredSucceeded -= new SyntacticPredicateEventHandler(l.syntacticPredicateSucceeded); - //synPredListeners.Remove(l); - removeDoneListener(l); - } - - public virtual void removeTraceListener(TraceListener l) - { - ((Parser) source).EnterRule -= new TraceEventHandler(l.enterRule); - ((Parser) source).ExitRule -= new TraceEventHandler(l.exitRule); - //traceListeners.Remove(l); - removeDoneListener(l); - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserListener.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserListener.cs deleted file mode 100644 index aaa5b07b9..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserListener.cs +++ /dev/null @@ -1,5 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.debug; - -public interface ParserListener : SemanticPredicateListener, ParserMatchListener, MessageListener, ParserTokenListener, TraceListener, SyntacticPredicateListener -{ -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserListenerBase.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserListenerBase.cs deleted file mode 100644 index 67a9368ca..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserListenerBase.cs +++ /dev/null @@ -1,152 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.debug; - -/// -/// Provides an abstract base for implementing subclasses. -/// -/// -/// -/// This abstract class is provided to make it easier to create s. -/// You should extend this base class rather than creating your own. -/// -/// -public class ParserListenerBase : ParserListener -{ - /// - /// Handle the "Done" event. - /// - /// Event source object - /// Event data object - public virtual void doneParsing(object source, TraceEventArgs e) - { - } - - /// - /// Handle the "EnterRule" event - /// - /// Event source object - /// Event data object - public virtual void enterRule(object source, TraceEventArgs e) - { - } - - /// - /// Handle the "ExitRule" event - /// - /// Event source object - /// Event data object - public virtual void exitRule(object source, TraceEventArgs e) - { - } - - /// - /// Handle the "Consume" event. - /// - /// Event source object - /// Event data object - public virtual void parserConsume(object source, TokenEventArgs e) - { - } - - /// - /// Handle the "ParserLA" event. - /// - /// Event source object - /// Event data object - public virtual void parserLA(object source, TokenEventArgs e) - { - } - - /// - /// Handle the "Match" event. - /// - /// Event source object - /// Event data object - public virtual void parserMatch(object source, MatchEventArgs e) - { - } - - /// - /// Handle the "MatchNot" event. - /// - /// Event source object - /// Event data object - public virtual void parserMatchNot(object source, MatchEventArgs e) - { - } - - /// - /// Handle the "MisMatch" event. - /// - /// Event source object - /// Event data object - public virtual void parserMismatch(object source, MatchEventArgs e) - { - } - - /// - /// Handle the "MisMatchNot" event. - /// - /// Event source object - /// Event data object - public virtual void parserMismatchNot(object source, MatchEventArgs e) - { - } - - /// - /// Handle the "ReportError" event. - /// - /// Event source object - /// Event data object - public virtual void reportError(object source, MessageEventArgs e) - { - } - - /// - /// Handle the "ReportWarning" event. - /// - /// Event source object - /// Event data object - public virtual void reportWarning(object source, MessageEventArgs e) - { - } - - /// - /// Handle the "SemPreEvaluated" event. - /// - /// Event source object - /// Event data object - public virtual void semanticPredicateEvaluated(object source, SemanticPredicateEventArgs e) - { - } - - /// - /// Handle the "SynPredFailed" event. - /// - /// Event source object - /// Event data object - public virtual void syntacticPredicateFailed(object source, SyntacticPredicateEventArgs e) - { - } - - /// - /// Handle the "SynPredStarted" event. - /// - /// Event source object - /// Event data object - public virtual void syntacticPredicateStarted(object source, SyntacticPredicateEventArgs e) - { - } - - /// - /// Handle the "SynPredSucceeded" event. - /// - /// Event source object - /// Event data object - public virtual void syntacticPredicateSucceeded(object source, SyntacticPredicateEventArgs e) - { - } - - public virtual void refresh() - { - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserMatchEventArgs.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserMatchEventArgs.cs deleted file mode 100644 index c7cc46d32..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserMatchEventArgs.cs +++ /dev/null @@ -1,93 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.debug; - -public class MatchEventArgs : GuessingEventArgs -{ - public MatchEventArgs() - { - } - - public MatchEventArgs(int type, int val, object target, string text, int guessing, bool inverse, bool matched) - { - setValues(type, val, target, text, guessing, inverse, matched); - } - - public virtual object Target - { - get { return this.target_; } - set { this.target_ = value; } - } - - public virtual string Text - { - get { return this.text_; } - set { this.text_ = value; } - } - - public virtual int Value - { - get { return this.val_; } - set { this.val_ = value; } - } - - internal bool Inverse - { - set { this.inverse_ = value; } - } - - internal bool Matched - { - set { this.matched_ = value; } - } - - // NOTE: for a mismatch on type STRING, the "text" is used as the lookahead - // value. Normally "value" is this - public enum ParserMatchEnums - { - TOKEN = 0, - BITSET = 1, - CHAR = 2, - CHAR_BITSET = 3, - STRING = 4, - CHAR_RANGE = 5, - } - - public static int TOKEN = 0; - public static int BITSET = 1; - public static int CHAR = 2; - public static int CHAR_BITSET = 3; - public static int STRING = 4; - public static int CHAR_RANGE = 5; - - private bool inverse_; - private bool matched_; - private object target_; - private int val_; - private string text_; - - public virtual bool isInverse() - { - return inverse_; - } - - public virtual bool isMatched() - { - return matched_; - } - - /// This should NOT be called from anyone other than ParserEventSupport! - /// - internal void setValues(int type, int val, object target, string text, int guessing, bool inverse, bool matched) - { - base.setValues(type, guessing); - this.Value = val; - this.Target = target; - this.Inverse = inverse; - this.Matched = matched; - this.Text = text; - } - - public override string ToString() - { - return "ParserMatchEvent [" + (isMatched() ? "ok," : "bad,") + (isInverse() ? "NOT " : "") + (Type == TOKEN ? "token," : "bitset,") + Value + "," + Target + "," + Guessing + "]"; - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserMatchListener.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserMatchListener.cs deleted file mode 100644 index ebfcf6e50..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserMatchListener.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.debug; - -public interface ParserMatchListener : Listener -{ - void parserMatch(object source, MatchEventArgs e); - void parserMatchNot(object source, MatchEventArgs e); - void parserMismatch(object source, MatchEventArgs e); - void parserMismatchNot(object source, MatchEventArgs e); -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserMatchListenerBase.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserMatchListenerBase.cs deleted file mode 100644 index 5569e5c3e..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserMatchListenerBase.cs +++ /dev/null @@ -1,62 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.debug; - -/// -/// Provides an abstract base for implementing subclasses. -/// -/// -/// -/// This abstract class is provided to make it easier to create s. -/// You should extend this base class rather than creating your own. -/// -/// -public abstract class ParserMatchListenerBase : ParserMatchListener -{ - /// - /// Handle the "Done" event. - /// - /// Event source object - /// Event data object - public virtual void doneParsing(object source, TraceEventArgs e) - { - } - - /// - /// Handle the "Match" event. - /// - /// Event source object - /// Event data object - public virtual void parserMatch(object source, MatchEventArgs e) - { - } - - /// - /// Handle the "MatchNot" event. - /// - /// Event source object - /// Event data object - public virtual void parserMatchNot(object source, MatchEventArgs e) - { - } - - /// - /// Handle the "MisMatch" event. - /// - /// Event source object - /// Event data object - public virtual void parserMismatch(object source, MatchEventArgs e) - { - } - - /// - /// Handle the "MisMatchNot" event. - /// - /// Event source object - /// Event data object - public virtual void parserMismatchNot(object source, MatchEventArgs e) - { - } - - public virtual void refresh() - { - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserReporter.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserReporter.cs deleted file mode 100644 index 1296f8c6b..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserReporter.cs +++ /dev/null @@ -1,64 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.debug; - -public class ParserReporter : Tracer, ParserListener -{ - public virtual void parserConsume(object source, TokenEventArgs e) - { - System.Console.Out.WriteLine(indentString + e); - } - - public virtual void parserLA(object source, TokenEventArgs e) - { - System.Console.Out.WriteLine(indentString + e); - } - - public virtual void parserMatch(object source, MatchEventArgs e) - { - System.Console.Out.WriteLine(indentString + e); - } - - public virtual void parserMatchNot(object source, MatchEventArgs e) - { - System.Console.Out.WriteLine(indentString + e); - } - - public virtual void parserMismatch(object source, MatchEventArgs e) - { - System.Console.Out.WriteLine(indentString + e); - } - - public virtual void parserMismatchNot(object source, MatchEventArgs e) - { - System.Console.Out.WriteLine(indentString + e); - } - - public virtual void reportError(object source, MessageEventArgs e) - { - System.Console.Out.WriteLine(indentString + e); - } - - public virtual void reportWarning(object source, MessageEventArgs e) - { - System.Console.Out.WriteLine(indentString + e); - } - - public virtual void semanticPredicateEvaluated(object source, SemanticPredicateEventArgs e) - { - System.Console.Out.WriteLine(indentString + e); - } - - public virtual void syntacticPredicateFailed(object source, SyntacticPredicateEventArgs e) - { - System.Console.Out.WriteLine(indentString + e); - } - - public virtual void syntacticPredicateStarted(object source, SyntacticPredicateEventArgs e) - { - System.Console.Out.WriteLine(indentString + e); - } - - public virtual void syntacticPredicateSucceeded(object source, SyntacticPredicateEventArgs e) - { - System.Console.Out.WriteLine(indentString + e); - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserTokenEventArgs.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserTokenEventArgs.cs deleted file mode 100644 index 64dbe7ec0..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserTokenEventArgs.cs +++ /dev/null @@ -1,48 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.debug; - -public class TokenEventArgs : ANTLREventArgs -{ - public TokenEventArgs() - { - } - - public TokenEventArgs(int type, int amount, int val) - { - setValues(type, amount, val); - } - - public virtual int Amount - { - get { return amount; } - set { this.amount = value; } - } - - public virtual int Value - { - get { return this.value_; } - set { this.value_ = value; } - } - - private int value_; - private int amount; - - public static int LA = 0; - public static int CONSUME = 1; - - /// This should NOT be called from anyone other than ParserEventSupport! - /// - internal void setValues(int type, int amount, int val) - { - base.setValues(type); - this.Amount = amount; - this.Value = val; - } - - public override string ToString() - { - if (Type == LA) - return "ParserTokenEvent [LA," + Amount + "," + Value + "]"; - else - return "ParserTokenEvent [consume,1," + Value + "]"; - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserTokenListener.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserTokenListener.cs deleted file mode 100644 index 70e424034..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserTokenListener.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.debug; - -public interface ParserTokenListener : Listener -{ - void parserConsume(object source, TokenEventArgs e); - void parserLA(object source, TokenEventArgs e); -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserTokenListenerBase.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserTokenListenerBase.cs deleted file mode 100644 index 3eb8f5115..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ParserTokenListenerBase.cs +++ /dev/null @@ -1,44 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.debug; - -/// -/// Provides an abstract base for implementing subclasses. -/// -/// -/// -/// This abstract class is provided to make it easier to create s. -/// You should extend this base class rather than creating your own. -/// -/// -public abstract class ParserTokenListenerBase : ParserTokenListener -{ - /// - /// Handle the "Done" event. - /// - /// Event source object - /// Event data object - public virtual void doneParsing(object source, TraceEventArgs e) - { - } - - public virtual void refresh() - { - } - - /// - /// Handle the "Consume" event. - /// - /// Event source object - /// Event data object - public virtual void parserConsume(object source, TokenEventArgs e) - { - } - - /// - /// Handle the "ParserLA" event. - /// - /// Event source object - /// Event data object - public virtual void parserLA(object source, TokenEventArgs e) - { - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ScannerEventSupport.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ScannerEventSupport.cs deleted file mode 100644 index 3d647607a..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/ScannerEventSupport.cs +++ /dev/null @@ -1,554 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.debug; - -using Hashtable = System.Collections.Hashtable; -using antlr.collections.impl; - -/// A class to assist in firing parser events -/// NOTE: I intentionally _did_not_ synchronize the event firing and -/// add/remove listener methods. This is because the add/remove should -/// _only_ be called by the parser at its start/end, and the _same_thread_ -/// should be performing the parsing. This should help performance a tad... -/// -public class ScannerEventSupport -{ - private object source; - private Hashtable listeners; - private MatchEventArgs matchEvent; - private MessageEventArgs messageEvent; - private TokenEventArgs tokenEvent; - private SemanticPredicateEventArgs semPredEvent; - private SyntacticPredicateEventArgs synPredEvent; - private TraceEventArgs traceEvent; - private NewLineEventArgs newLineEvent; - //private ParserController controller; - - private int ruleDepth = 0; - - public ScannerEventSupport(object source) - { - matchEvent = new MatchEventArgs(); - messageEvent = new MessageEventArgs(); - tokenEvent = new TokenEventArgs(); - traceEvent = new TraceEventArgs(); - semPredEvent = new SemanticPredicateEventArgs(); - synPredEvent = new SyntacticPredicateEventArgs(); - newLineEvent = new NewLineEventArgs(); - listeners = new Hashtable(); - this.source = source; - } - - public virtual void checkController() - { - //if (controller != null) - // controller.checkBreak(); - } - - public virtual void addDoneListener(Listener l) - { - ((CharScanner) source).Done += new TraceEventHandler(l.doneParsing); - listeners[l] = l; - } - - public virtual void addMessageListener(MessageListener l) - { - ((CharScanner) source).ErrorReported += new MessageEventHandler(l.reportError); - ((CharScanner) source).WarningReported += new MessageEventHandler(l.reportWarning); - addDoneListener(l); - } - - public virtual void addNewLineListener(NewLineListener l) - { - ((CharScanner) source).HitNewLine += new NewLineEventHandler(l.hitNewLine); - addDoneListener(l); - } - - public virtual void addParserListener(ParserListener l) - { - if (l is ParserController) - { - //((ParserController) l).ParserEventSupport = this; - //controller = (ParserController) l; - } - - addParserMatchListener(l); - addParserTokenListener(l); - - addMessageListener(l); - addTraceListener(l); - addSemanticPredicateListener(l); - addSyntacticPredicateListener(l); - } - - public virtual void addParserMatchListener(ParserMatchListener l) - { - ((CharScanner) source).MatchedChar += new MatchEventHandler(l.parserMatch); - ((CharScanner) source).MatchedNotChar += new MatchEventHandler(l.parserMatchNot); - ((CharScanner) source).MisMatchedChar += new MatchEventHandler(l.parserMismatch); - ((CharScanner) source).MisMatchedNotChar += new MatchEventHandler(l.parserMismatchNot); - addDoneListener(l); - } - - public virtual void addParserTokenListener(ParserTokenListener l) - { - ((CharScanner) source).ConsumedChar += new TokenEventHandler(l.parserConsume); - ((CharScanner) source).CharLA += new TokenEventHandler(l.parserLA); - addDoneListener(l); - } - - public virtual void addSemanticPredicateListener(SemanticPredicateListener l) - { - ((CharScanner) source).SemPredEvaluated += new SemanticPredicateEventHandler(l.semanticPredicateEvaluated); - addDoneListener(l); - } - - public virtual void addSyntacticPredicateListener(SyntacticPredicateListener l) - { - ((CharScanner) source).SynPredStarted += new SyntacticPredicateEventHandler(l.syntacticPredicateStarted); - ((CharScanner) source).SynPredFailed += new SyntacticPredicateEventHandler(l.syntacticPredicateFailed); - ((CharScanner) source).SynPredSucceeded += new SyntacticPredicateEventHandler(l.syntacticPredicateSucceeded); - addDoneListener(l); - } - - public virtual void addTraceListener(TraceListener l) - { - ((CharScanner) source).EnterRule += new TraceEventHandler(l.enterRule); - ((CharScanner) source).ExitRule += new TraceEventHandler(l.exitRule); - addDoneListener(l); - } - - public virtual void fireConsume(int c) - { - TokenEventHandler eventDelegate = (TokenEventHandler) ((CharScanner) source).Events[Parser.LAEventKey]; - if (eventDelegate != null) - { - tokenEvent.setValues(TokenEventArgs.CONSUME, 1, c); - eventDelegate(source, tokenEvent); - } - - checkController(); - } - - public virtual void fireDoneParsing() - { - TraceEventHandler eventDelegate = (TraceEventHandler) ((CharScanner) source).Events[Parser.DoneEventKey]; - if (eventDelegate != null) - { - traceEvent.setValues(TraceEventArgs.DONE_PARSING, 0, 0, 0); - eventDelegate(source, traceEvent); - } - - checkController(); - } - - public virtual void fireEnterRule(int ruleNum, int guessing, int data) - { - ruleDepth++; - TraceEventHandler eventDelegate = (TraceEventHandler) ((CharScanner) source).Events[Parser.EnterRuleEventKey]; - if (eventDelegate != null) - { - traceEvent.setValues(TraceEventArgs.ENTER, ruleNum, guessing, data); - eventDelegate(source, traceEvent); - } - - checkController(); - } - - public virtual void fireExitRule(int ruleNum, int guessing, int data) - { - TraceEventHandler eventDelegate = (TraceEventHandler) ((CharScanner) source).Events[Parser.ExitRuleEventKey]; - if (eventDelegate != null) - { - traceEvent.setValues(TraceEventArgs.EXIT, ruleNum, guessing, data); - eventDelegate(source, traceEvent); - } - - checkController(); - - ruleDepth--; - if (ruleDepth == 0) - fireDoneParsing(); - } - - public virtual void fireLA(int k, int la) - { - TokenEventHandler eventDelegate = (TokenEventHandler) ((CharScanner) source).Events[Parser.LAEventKey]; - if (eventDelegate != null) - { - tokenEvent.setValues(TokenEventArgs.LA, k, la); - eventDelegate(source, tokenEvent); - } - - checkController(); - } - - public virtual void fireMatch(char c, int guessing) - { - MatchEventHandler eventDelegate = (MatchEventHandler) ((CharScanner) source).Events[Parser.MatchEventKey]; - if (eventDelegate != null) - { - matchEvent.setValues(MatchEventArgs.CHAR, c, c, null, guessing, false, true); - eventDelegate(source, matchEvent); - } - - checkController(); - } - - public virtual void fireMatch(char c, BitSet b, int guessing) - { - MatchEventHandler eventDelegate = (MatchEventHandler) ((CharScanner) source).Events[Parser.MatchEventKey]; - if (eventDelegate != null) - { - matchEvent.setValues(MatchEventArgs.CHAR_BITSET, c, b, null, guessing, false, true); - eventDelegate(source, matchEvent); - } - - checkController(); - } - - public virtual void fireMatch(char c, string target, int guessing) - { - MatchEventHandler eventDelegate = (MatchEventHandler) ((CharScanner) source).Events[Parser.MatchEventKey]; - if (eventDelegate != null) - { - matchEvent.setValues(MatchEventArgs.CHAR_RANGE, c, target, null, guessing, false, true); - eventDelegate(source, matchEvent); - } - - checkController(); - } - - public virtual void fireMatch(int c, BitSet b, string text, int guessing) - { - MatchEventHandler eventDelegate = (MatchEventHandler) ((CharScanner) source).Events[Parser.MatchEventKey]; - if (eventDelegate != null) - { - matchEvent.setValues(MatchEventArgs.BITSET, c, b, text, guessing, false, true); - eventDelegate(source, matchEvent); - } - - checkController(); - } - - public virtual void fireMatch(int n, string text, int guessing) - { - MatchEventHandler eventDelegate = (MatchEventHandler) ((CharScanner) source).Events[Parser.MatchEventKey]; - if (eventDelegate != null) - { - matchEvent.setValues(MatchEventArgs.TOKEN, n, n, text, guessing, false, true); - eventDelegate(source, matchEvent); - } - - checkController(); - } - - public virtual void fireMatch(string s, int guessing) - { - MatchEventHandler eventDelegate = (MatchEventHandler) ((CharScanner) source).Events[Parser.MatchEventKey]; - if (eventDelegate != null) - { - matchEvent.setValues(MatchEventArgs.STRING, 0, s, null, guessing, false, true); - eventDelegate(source, matchEvent); - } - - checkController(); - } - - public virtual void fireMatchNot(char c, char n, int guessing) - { - MatchEventHandler eventDelegate = (MatchEventHandler) ((CharScanner) source).Events[Parser.MatchNotEventKey]; - if (eventDelegate != null) - { - matchEvent.setValues(MatchEventArgs.CHAR, c, n, null, guessing, true, true); - eventDelegate(source, matchEvent); - } - - checkController(); - } - - public virtual void fireMatchNot(int c, int n, string text, int guessing) - { - MatchEventHandler eventDelegate = (MatchEventHandler) ((CharScanner) source).Events[Parser.MatchNotEventKey]; - if (eventDelegate != null) - { - matchEvent.setValues(MatchEventArgs.TOKEN, c, n, text, guessing, true, true); - eventDelegate(source, matchEvent); - } - - checkController(); - } - - public virtual void fireMismatch(char c, char n, int guessing) - { - MatchEventHandler eventDelegate = (MatchEventHandler) ((CharScanner) source).Events[Parser.MisMatchEventKey]; - if (eventDelegate != null) - { - matchEvent.setValues(MatchEventArgs.CHAR, c, n, null, guessing, false, false); - eventDelegate(source, matchEvent); - } - - checkController(); - } - - public virtual void fireMismatch(char c, BitSet b, int guessing) - { - MatchEventHandler eventDelegate = (MatchEventHandler) ((CharScanner) source).Events[Parser.MisMatchEventKey]; - if (eventDelegate != null) - { - matchEvent.setValues(MatchEventArgs.CHAR_BITSET, c, b, null, guessing, false, true); - eventDelegate(source, matchEvent); - } - - checkController(); - } - - public virtual void fireMismatch(char c, string target, int guessing) - { - MatchEventHandler eventDelegate = (MatchEventHandler) ((CharScanner) source).Events[Parser.MisMatchEventKey]; - if (eventDelegate != null) - { - matchEvent.setValues(MatchEventArgs.CHAR_RANGE, c, target, null, guessing, false, true); - eventDelegate(source, matchEvent); - } - - checkController(); - } - - public virtual void fireMismatch(int i, int n, string text, int guessing) - { - MatchEventHandler eventDelegate = (MatchEventHandler) ((CharScanner) source).Events[Parser.MisMatchEventKey]; - if (eventDelegate != null) - { - matchEvent.setValues(MatchEventArgs.TOKEN, i, n, text, guessing, false, false); - eventDelegate(source, matchEvent); - } - - checkController(); - } - - public virtual void fireMismatch(int i, BitSet b, string text, int guessing) - { - MatchEventHandler eventDelegate = (MatchEventHandler) ((CharScanner) source).Events[Parser.MisMatchEventKey]; - if (eventDelegate != null) - { - matchEvent.setValues(MatchEventArgs.BITSET, i, b, text, guessing, false, true); - eventDelegate(source, matchEvent); - } - - checkController(); - } - - public virtual void fireMismatch(string s, string text, int guessing) - { - MatchEventHandler eventDelegate = (MatchEventHandler) ((CharScanner) source).Events[Parser.MisMatchEventKey]; - if (eventDelegate != null) - { - matchEvent.setValues(MatchEventArgs.STRING, 0, text, s, guessing, false, true); - eventDelegate(source, matchEvent); - } - - checkController(); - } - - public virtual void fireMismatchNot(char v, char c, int guessing) - { - MatchEventHandler eventDelegate = (MatchEventHandler) ((CharScanner) source).Events[Parser.MisMatchNotEventKey]; - if (eventDelegate != null) - { - matchEvent.setValues(MatchEventArgs.CHAR, v, c, null, guessing, true, true); - eventDelegate(source, matchEvent); - } - - checkController(); - } - - public virtual void fireMismatchNot(int i, int n, string text, int guessing) - { - MatchEventHandler eventDelegate = (MatchEventHandler) ((CharScanner) source).Events[Parser.MisMatchNotEventKey]; - if (eventDelegate != null) - { - matchEvent.setValues(MatchEventArgs.TOKEN, i, n, text, guessing, true, true); - eventDelegate(source, matchEvent); - } - - checkController(); - } - - public virtual void fireNewLine(int line) - { - NewLineEventHandler eventDelegate = (NewLineEventHandler) ((CharScanner) source).Events[Parser.NewLineEventKey]; - if (eventDelegate != null) - { - newLineEvent.Line = line; - eventDelegate(source, newLineEvent); - } - - checkController(); - } - - public virtual void fireReportError(System.Exception e) - { - MessageEventHandler eventDelegate = (MessageEventHandler) ((CharScanner) source).Events[Parser.ReportErrorEventKey]; - if (eventDelegate != null) - { - messageEvent.setValues(MessageEventArgs.ERROR, e.ToString()); - eventDelegate(source, messageEvent); - } - - checkController(); - } - - public virtual void fireReportError(string s) - { - MessageEventHandler eventDelegate = (MessageEventHandler) ((CharScanner) source).Events[Parser.ReportErrorEventKey]; - if (eventDelegate != null) - { - messageEvent.setValues(MessageEventArgs.ERROR, s); - eventDelegate(source, messageEvent); - } - - checkController(); - } - - public virtual void fireReportWarning(string s) - { - MessageEventHandler eventDelegate = (MessageEventHandler) ((CharScanner) source).Events[Parser.ReportWarningEventKey]; - if (eventDelegate != null) - { - messageEvent.setValues(MessageEventArgs.WARNING, s); - eventDelegate(source, messageEvent); - } - - checkController(); - } - - public virtual bool fireSemanticPredicateEvaluated(int type, int condition, bool result, int guessing) - { - SemanticPredicateEventHandler eventDelegate = (SemanticPredicateEventHandler) ((CharScanner) source).Events[Parser.SemPredEvaluatedEventKey]; - if (eventDelegate != null) - { - semPredEvent.setValues(type, condition, result, guessing); - eventDelegate(source, semPredEvent); - } - - checkController(); - - return result; - } - - public virtual void fireSyntacticPredicateFailed(int guessing) - { - SyntacticPredicateEventHandler eventDelegate = (SyntacticPredicateEventHandler) ((CharScanner) source).Events[Parser.SynPredFailedEventKey]; - if (eventDelegate != null) - { - synPredEvent.setValues(0, guessing); - eventDelegate(source, synPredEvent); - } - - checkController(); - } - - public virtual void fireSyntacticPredicateStarted(int guessing) - { - SyntacticPredicateEventHandler eventDelegate = (SyntacticPredicateEventHandler) ((CharScanner) source).Events[Parser.SynPredStartedEventKey]; - if (eventDelegate != null) - { - synPredEvent.setValues(0, guessing); - eventDelegate(source, synPredEvent); - } - - checkController(); - } - - public virtual void fireSyntacticPredicateSucceeded(int guessing) - { - SyntacticPredicateEventHandler eventDelegate = (SyntacticPredicateEventHandler) ((CharScanner) source).Events[Parser.SynPredSucceededEventKey]; - if (eventDelegate != null) - { - synPredEvent.setValues(0, guessing); - eventDelegate(source, synPredEvent); - } - - checkController(); - } - - public virtual void refreshListeners() - { - Hashtable clonedTable; - - lock (listeners.SyncRoot) - { - clonedTable = (Hashtable) listeners.Clone(); - } - - foreach (Listener l in clonedTable) - { - l.refresh(); - } - } - - public virtual void removeDoneListener(Listener l) - { - ((CharScanner) source).Done -= new TraceEventHandler(l.doneParsing); - listeners.Remove(l); - } - - public virtual void removeMessageListener(MessageListener l) - { - ((CharScanner) source).ErrorReported -= new MessageEventHandler(l.reportError); - ((CharScanner) source).WarningReported -= new MessageEventHandler(l.reportWarning); - removeDoneListener(l); - } - - public virtual void removeNewLineListener(NewLineListener l) - { - ((CharScanner) source).HitNewLine -= new NewLineEventHandler(l.hitNewLine); - removeDoneListener(l); - } - - public virtual void removeParserListener(ParserListener l) - { - removeParserMatchListener(l); - removeMessageListener(l); - removeParserTokenListener(l); - removeTraceListener(l); - removeSemanticPredicateListener(l); - removeSyntacticPredicateListener(l); - } - - public virtual void removeParserMatchListener(ParserMatchListener l) - { - ((CharScanner) source).MatchedChar -= new MatchEventHandler(l.parserMatch); - ((CharScanner) source).MatchedNotChar -= new MatchEventHandler(l.parserMatchNot); - ((CharScanner) source).MisMatchedChar -= new MatchEventHandler(l.parserMismatch); - ((CharScanner) source).MisMatchedNotChar -= new MatchEventHandler(l.parserMismatchNot); - removeDoneListener(l); - } - - public virtual void removeParserTokenListener(ParserTokenListener l) - { - ((CharScanner) source).ConsumedChar -= new TokenEventHandler(l.parserConsume); - ((CharScanner) source).CharLA -= new TokenEventHandler(l.parserLA); - removeDoneListener(l); - } - - public virtual void removeSemanticPredicateListener(SemanticPredicateListener l) - { - ((CharScanner) source).SemPredEvaluated -= new SemanticPredicateEventHandler(l.semanticPredicateEvaluated); - removeDoneListener(l); - } - - public virtual void removeSyntacticPredicateListener(SyntacticPredicateListener l) - { - ((CharScanner) source).SynPredStarted -= new SyntacticPredicateEventHandler(l.syntacticPredicateStarted); - ((CharScanner) source).SynPredFailed -= new SyntacticPredicateEventHandler(l.syntacticPredicateFailed); - ((CharScanner) source).SynPredSucceeded -= new SyntacticPredicateEventHandler(l.syntacticPredicateSucceeded); - removeDoneListener(l); - } - - public virtual void removeTraceListener(TraceListener l) - { - ((CharScanner) source).EnterRule -= new TraceEventHandler(l.enterRule); - ((CharScanner) source).ExitRule -= new TraceEventHandler(l.exitRule); - removeDoneListener(l); - } -} \ No newline at end of file diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/SemanticPredicateEventArgs.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/SemanticPredicateEventArgs.cs deleted file mode 100644 index 2ce8fc544..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/SemanticPredicateEventArgs.cs +++ /dev/null @@ -1,44 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.debug; - -public class SemanticPredicateEventArgs : GuessingEventArgs -{ - public SemanticPredicateEventArgs() - { - } - - public SemanticPredicateEventArgs(int type) : base(type) - { - } - - public virtual int Condition - { - get { return this.condition_; } - set { this.condition_ = value; } - } - - public virtual bool Result - { - get { return this.result_; } - set { this.result_ = value; } - } - - public const int VALIDATING = 0; - public const int PREDICTING = 1; - - private int condition_; - private bool result_; - - /// This should NOT be called from anyone other than ParserEventSupport! - /// - internal void setValues(int type, int condition, bool result, int guessing) - { - base.setValues(type, guessing); - this.Condition = condition; - this.Result = result; - } - - public override string ToString() - { - return "SemanticPredicateEvent [" + Condition + "," + Result + "," + Guessing + "]"; - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/SemanticPredicateListener.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/SemanticPredicateListener.cs deleted file mode 100644 index 30f38551a..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/SemanticPredicateListener.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.debug; - -public interface SemanticPredicateListener : Listener -{ - void semanticPredicateEvaluated(object source, SemanticPredicateEventArgs e); -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/SemanticPredicateListenerBase.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/SemanticPredicateListenerBase.cs deleted file mode 100644 index 9a7248287..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/SemanticPredicateListenerBase.cs +++ /dev/null @@ -1,35 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.debug; - -/// -/// Provides an abstract base for implementing subclasses. -/// -/// -/// -/// This abstract class is provided to make it easier to create s. -/// You should extend this base class rather than creating your own. -/// -/// -public class SemanticPredicateListenerBase : SemanticPredicateListener -{ - /// - /// Handle the "Done" event. - /// - /// Event source object - /// Event data object - public virtual void doneParsing(object source, TraceEventArgs e) - { - } - - public virtual void refresh() - { - } - - /// - /// Handle the "SemPreEvaluated" event. - /// - /// Event source object - /// Event data object - public virtual void semanticPredicateEvaluated(object source, SemanticPredicateEventArgs e) - { - } -} \ No newline at end of file diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/SyntacticPredicateEventArgs.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/SyntacticPredicateEventArgs.cs deleted file mode 100644 index b3e8f09af..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/SyntacticPredicateEventArgs.cs +++ /dev/null @@ -1,17 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.debug; - -public class SyntacticPredicateEventArgs : GuessingEventArgs -{ - public SyntacticPredicateEventArgs() - { - } - - public SyntacticPredicateEventArgs(int type) : base(type) - { - } - - public override string ToString() - { - return "SyntacticPredicateEvent [" + Guessing + "]"; - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/SyntacticPredicateListener.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/SyntacticPredicateListener.cs deleted file mode 100644 index 89d770701..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/SyntacticPredicateListener.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.debug; - -public interface SyntacticPredicateListener : Listener -{ - void syntacticPredicateFailed(object source, SyntacticPredicateEventArgs e); - void syntacticPredicateStarted(object source, SyntacticPredicateEventArgs e); - void syntacticPredicateSucceeded(object source, SyntacticPredicateEventArgs e); -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/SyntacticPredicateListenerBase.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/SyntacticPredicateListenerBase.cs deleted file mode 100644 index 2e7bc7ba4..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/SyntacticPredicateListenerBase.cs +++ /dev/null @@ -1,53 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.debug; - -/// -/// Provides an abstract base for implementing subclasses. -/// -/// -/// -/// This abstract class is provided to make it easier to create s. -/// You should extend this base class rather than creating your own. -/// -/// -public abstract class SyntacticPredicateListenerBase : SyntacticPredicateListener -{ - /// - /// Handle the "Done" event. - /// - /// Event source object - /// Event data object - public virtual void doneParsing(object source, TraceEventArgs e) - { - } - - public virtual void refresh() - { - } - - /// - /// Handle the "SynPredFailed" event. - /// - /// Event source object - /// Event data object - public virtual void syntacticPredicateFailed(object source, SyntacticPredicateEventArgs e) - { - } - - /// - /// Handle the "SynPredStarted" event. - /// - /// Event source object - /// Event data object - public virtual void syntacticPredicateStarted(object source, SyntacticPredicateEventArgs e) - { - } - - /// - /// Handle the "SynPredSucceeded" event. - /// - /// Event source object - /// Event data object - public virtual void syntacticPredicateSucceeded(object source, SyntacticPredicateEventArgs e) - { - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/TraceEventArgs.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/TraceEventArgs.cs deleted file mode 100644 index a94aa54bb..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/TraceEventArgs.cs +++ /dev/null @@ -1,46 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.debug; - -public class TraceEventArgs : GuessingEventArgs -{ - public TraceEventArgs() - { - } - - public TraceEventArgs(int type, int ruleNum, int guessing, int data) - { - setValues(type, ruleNum, guessing, data); - } - - public virtual int Data - { - get { return this.data_; } - set { this.data_ = value; } - } - - public virtual int RuleNum - { - get { return this.ruleNum_; } - set { this.ruleNum_ = value; } - } - - private int ruleNum_; - private int data_; - - public static int ENTER = 0; - public static int EXIT = 1; - public static int DONE_PARSING = 2; - - /// This should NOT be called from anyone other than ParserEventSupport! - /// - internal void setValues(int type, int ruleNum, int guessing, int data) - { - base.setValues(type, guessing); - RuleNum = ruleNum; - Data = data; - } - - public override string ToString() - { - return "ParserTraceEvent [" + (Type == ENTER ? "enter," : "exit,") + RuleNum + "," + Guessing + "]"; - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/TraceListener.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/TraceListener.cs deleted file mode 100644 index 828445081..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/TraceListener.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.debug; - -public interface TraceListener : Listener -{ - void enterRule(object source, TraceEventArgs e); - void exitRule(object source, TraceEventArgs e); -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/TraceListenerBase.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/TraceListenerBase.cs deleted file mode 100644 index b1c6048a5..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/TraceListenerBase.cs +++ /dev/null @@ -1,44 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.debug; - -/// -/// Provides an abstract base for implementing subclasses. -/// -/// -/// -/// This abstract class is provided to make it easier to create s. -/// You should extend this base class rather than creating your own. -/// -/// -public abstract class TraceListenerBase : TraceListener -{ - /// - /// Handle the "Done" event. - /// - /// Event source object - /// Event data object - public virtual void doneParsing(object source, TraceEventArgs e) - { - } - - /// - /// Handle the "EnterRule" event - /// - /// Event source object - /// Event data object - public virtual void enterRule(object source, TraceEventArgs e) - { - } - - /// - /// Handle the "ExitRule" event - /// - /// Event source object - /// Event data object - public virtual void exitRule(object source, TraceEventArgs e) - { - } - - public virtual void refresh() - { - } -} diff --git a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/Tracer.cs b/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/Tracer.cs deleted file mode 100644 index 671d7ba89..000000000 --- a/src/Spring/Spring.Core/Expressions/Parser/antlr/debug/Tracer.cs +++ /dev/null @@ -1,32 +0,0 @@ -namespace Spring.Expressions.Parser.antlr.debug; - -public class Tracer : TraceListenerBase, TraceListener -{ - protected string indentString = ""; - // TBD: should be StringBuffer - - protected internal virtual void dedent() - { - if (indentString.Length < 2) - indentString = ""; - else - indentString = indentString.Substring(2); - } - - public override void enterRule(object source, TraceEventArgs e) - { - System.Console.Out.WriteLine(indentString + e); - indent(); - } - - public override void exitRule(object source, TraceEventArgs e) - { - dedent(); - System.Console.Out.WriteLine(indentString + e); - } - - protected internal virtual void indent() - { - indentString += " "; - } -} diff --git a/src/Spring/Spring.Core/Expressions/QualifiedIdentifier.cs b/src/Spring/Spring.Core/Expressions/QualifiedIdentifier.cs index 15c6e225e..53ad7bad4 100644 --- a/src/Spring/Spring.Core/Expressions/QualifiedIdentifier.cs +++ b/src/Spring/Spring.Core/Expressions/QualifiedIdentifier.cs @@ -15,7 +15,6 @@ */ using System.Runtime.Serialization; -using Spring.Expressions.Parser.antlr.collections; namespace Spring.Expressions; @@ -83,7 +82,7 @@ public override string getText() // { // tmp = tmp.Replace(ESCAPE_CHAR, ""); // remove all occurrences of escape char // } - AST node = this.getFirstChild(); + SpringAST node = this.getFirstChild(); while (node != null) { tmp = string.Concat(tmp, node.getText()); diff --git a/src/Spring/Spring.Core/Expressions/SpringAST.cs b/src/Spring/Spring.Core/Expressions/SpringAST.cs index 18fbc3563..2db531b32 100644 --- a/src/Spring/Spring.Core/Expressions/SpringAST.cs +++ b/src/Spring/Spring.Core/Expressions/SpringAST.cs @@ -1,6 +1,5 @@ using System.Runtime.Serialization; -using Spring.Expressions.Parser.antlr; -using Spring.Expressions.Parser.antlr.collections; +using System.Text; namespace Spring.Expressions; @@ -8,34 +7,17 @@ namespace Spring.Expressions; /// For internal purposes only. Use for expression node implementations. ///
/// -/// This class is only required to enable serialization of parsed Spring expressions since antlr.CommonAST -/// unfortunately is not marked as [Serializable].
+/// A node of a parsed expression: its first child, its next sibling, a token type and a text.
///
/// Note:Since SpringAST implements , deriving classes /// have to explicitely override if they need to persist additional /// data during serialization. ///
[Serializable] -public class SpringAST : Parser.antlr.BaseAST, ISerializable +public class SpringAST : ISerializable { - internal class SpringASTCreator : Parser.antlr.ASTNodeCreator - { - public override Parser.antlr.collections.AST Create() - { - return new SpringAST(); - } - - public override string ASTNodeTypeName - { - get { return typeof(SpringAST).FullName; } - } - } - - /// - /// The global SpringAST node factory - /// - internal static readonly SpringASTCreator Creator = new SpringASTCreator(); - + private SpringAST down; + private SpringAST right; private string text; private int ttype; @@ -46,36 +28,19 @@ public SpringAST() { } - /// - /// Create an instance from a token - /// - public SpringAST(IToken token) - { - initialize(token); - } - /// /// initialize this instance from an AST /// - public override void initialize(AST t) + public virtual void initialize(SpringAST t) { this.setText(t.getText()); this.Type = t.Type; } - /// - /// initialize this instance from an IToken - /// - public override void initialize(IToken tok) - { - this.setText(tok.getText()); - this.Type = tok.Type; - } - /// /// initialize this instance from a token type number and a text /// - public override void initialize(int t, string txt) + public virtual void initialize(int t, string txt) { this.Type = t; this.setText(txt); @@ -84,12 +49,20 @@ public override void initialize(int t, string txt) /// /// gets or sets the token type of this node /// - public override int Type + public virtual int Type { get { return this.ttype; } set { this.ttype = value; } } + /// + /// sets the token type of this node + /// + public virtual void setType(int ttype) + { + this.Type = ttype; + } + /// /// gets or sets the text of this node /// @@ -102,7 +75,7 @@ public string Text /// /// sets the text of this node /// - public override void setText(string txt) + public virtual void setText(string txt) { this.text = txt; } @@ -110,11 +83,144 @@ public override void setText(string txt) /// /// gets the text of this node /// - public override string getText() + public virtual string getText() { return this.text; } + /// + /// adds a node to the end of the children of this node + /// + public virtual void addChild(SpringAST node) + { + if (node == null) + { + return; + } + + var t = this.down; + if (t == null) + { + this.down = node; + return; + } + + while (t.right != null) + { + t = t.right; + } + + t.right = node; + } + + /// + /// gets the first child of this node + /// + public virtual SpringAST getFirstChild() + { + return this.down; + } + + /// + /// sets the first child of this node + /// + public virtual void setFirstChild(SpringAST c) + { + this.down = c; + } + + /// + /// gets the next sibling of this node + /// + public virtual SpringAST getNextSibling() + { + return this.right; + } + + /// + /// sets the next sibling of this node + /// + public virtual void setNextSibling(SpringAST n) + { + this.right = n; + } + + /// + /// removes the children of this node + /// + public virtual void removeChildren() + { + this.down = null; + } + + /// + /// gets the number of children of this node, 0 for a leaf + /// + public int getNumberOfChildren() + { + var n = 0; + for (var t = this.down; t != null; t = t.right) + { + n++; + } + + return n; + } + + /// + /// whether is a node of the same class, token type and text, whatever its children + /// + public override bool Equals(object obj) + { + return obj != null && this.GetType() == obj.GetType() && Equals((SpringAST) obj); + } + + /// + /// whether has the same token type and text, whatever its children + /// + public virtual bool Equals(SpringAST t) + { + return t != null && object.Equals(this.getText(), t.getText()) && this.Type == t.Type; + } + + /// + public override int GetHashCode() + { + return base.GetHashCode(); + } + + /// + /// returns the text of this node + /// + public override string ToString() + { + return getText(); + } + + /// + /// prints this node, its children and its next siblings in LISP notation + /// + public virtual string ToStringList() + { + var builder = new StringBuilder(); + for (var t = this; t != null; t = t.right) + { + builder.Append(t.ToStringTree()); + } + + return builder.ToString(); + } + + /// + /// prints this node and its children in LISP notation + /// + public virtual string ToStringTree() + { + return this.down == null + ? " " + ToString() + : " ( " + ToString() + this.down.ToStringList() + " )"; + } + /// /// Create a new instance from SerializationInfo /// @@ -123,8 +229,8 @@ public override string getText() #endif protected SpringAST(SerializationInfo info, StreamingContext context) { - base.down = (BaseAST) info.GetValue("down", typeof(BaseAST)); - base.right = (BaseAST) info.GetValue("right", typeof(BaseAST)); + this.down = (SpringAST) info.GetValue("down", typeof(SpringAST)); + this.right = (SpringAST) info.GetValue("right", typeof(SpringAST)); this.ttype = info.GetInt32("ttype"); this.text = info.GetString("text"); } @@ -137,8 +243,8 @@ protected SpringAST(SerializationInfo info, StreamingContext context) #endif public virtual void GetObjectData(SerializationInfo info, StreamingContext context) { - info.AddValue("down", base.down, typeof(SpringAST)); - info.AddValue("right", base.right, typeof(SpringAST)); + info.AddValue("down", this.down, typeof(SpringAST)); + info.AddValue("right", this.right, typeof(SpringAST)); info.AddValue("ttype", this.Type, typeof(int)); info.AddValue("text", this.Text, typeof(string)); } diff --git a/src/Spring/Spring.Core/Expressions/SyntaxErrorException.cs b/src/Spring/Spring.Core/Expressions/SyntaxErrorException.cs index 146494c47..98ac4a63c 100644 --- a/src/Spring/Spring.Core/Expressions/SyntaxErrorException.cs +++ b/src/Spring/Spring.Core/Expressions/SyntaxErrorException.cs @@ -15,7 +15,6 @@ */ using System.Runtime.Serialization; -using Spring.Expressions.Parser.antlr; namespace Spring.Expressions; @@ -24,9 +23,11 @@ namespace Spring.Expressions; /// /// Erich Eichinger [Serializable] -public class SyntaxErrorException : RecognitionException, ISerializable +public class SyntaxErrorException : Exception, ISerializable { private readonly string _expression; + private readonly int line; + private readonly int column; /// /// @@ -65,8 +66,10 @@ public string Expression /// TODO /// public SyntaxErrorException(string message, int line, int column, string expression) - : base(message, null, line, column) + : base(message) { + this.line = line; + this.column = column; _expression = expression; } @@ -78,8 +81,8 @@ public SyntaxErrorException(string message, int line, int column, string express #endif protected SyntaxErrorException(SerializationInfo info, StreamingContext context) : base(info.GetString("Message")) { - base.line = info.GetInt32("Line"); - base.column = info.GetInt32("Column"); + this.line = info.GetInt32("Line"); + this.column = info.GetInt32("Column"); this._expression = info.GetString("Expression"); } @@ -93,11 +96,9 @@ protected SyntaxErrorException(SerializationInfo info, StreamingContext context) #endif public override void GetObjectData(SerializationInfo info, StreamingContext context) { - // since RecognitionException does not implement .ctor(SerializationInfo info, StreamingContext context) - // we need to do the serialization on our own... #�$% - //base.GetObjectData( info, context ); - info.AddValue("Line", base.line); - info.AddValue("Column", base.column); + // Message is the text without the position, which the constructor gets again + info.AddValue("Line", this.line); + info.AddValue("Column", this.column); info.AddValue("Message", base.Message); info.AddValue("Expression", this._expression); } diff --git a/src/Spring/Spring.Core/Expressions/TernaryNode.cs b/src/Spring/Spring.Core/Expressions/TernaryNode.cs index d9baa717c..a59e80cc9 100644 --- a/src/Spring/Spring.Core/Expressions/TernaryNode.cs +++ b/src/Spring/Spring.Core/Expressions/TernaryNode.cs @@ -15,7 +15,6 @@ */ using System.Runtime.Serialization; -using Spring.Expressions.Parser.antlr.collections; namespace Spring.Expressions; @@ -63,7 +62,7 @@ protected override object Get(object context, EvaluationContext evalContext) { if (!initialized) { - AST node = this.getFirstChild(); + SpringAST node = this.getFirstChild(); condition = (BaseNode) node; node = node.getNextSibling(); trueExp = (BaseNode) node; diff --git a/src/Spring/Spring.Core/Expressions/TypeNode.cs b/src/Spring/Spring.Core/Expressions/TypeNode.cs index b3bf0fe14..9c966fbd7 100644 --- a/src/Spring/Spring.Core/Expressions/TypeNode.cs +++ b/src/Spring/Spring.Core/Expressions/TypeNode.cs @@ -16,7 +16,6 @@ using System.Runtime.Serialization; using Spring.Core.TypeResolution; -using Spring.Expressions.Parser.antlr.collections; namespace Spring.Expressions; @@ -85,7 +84,7 @@ public override string getText() // tmp = type.AssemblyQualifiedName; // } // } - AST node = this.getFirstChild(); + SpringAST node = this.getFirstChild(); while (node != null) { tmp += node.getText(); diff --git a/src/Spring/Spring.Core/Objects/ObjectWrapper.cs b/src/Spring/Spring.Core/Objects/ObjectWrapper.cs index a3beb2f45..f81f649fd 100644 --- a/src/Spring/Spring.Core/Objects/ObjectWrapper.cs +++ b/src/Spring/Spring.Core/Objects/ObjectWrapper.cs @@ -20,7 +20,6 @@ using Microsoft.Extensions.Logging; using Spring.Core; using Spring.Expressions; -using Spring.Expressions.Parser.antlr; using Spring.Util; using StringUtils = Spring.Util.StringUtils; @@ -170,11 +169,7 @@ public virtual object GetPropertyValue(string propertyName) IExpression propertyExpression = GetPropertyExpression(propertyName); return GetPropertyValue(propertyExpression); } - catch (RecognitionException e) - { - throw new InvalidPropertyException("Failed to parse property name '" + propertyName + "'.", e); - } - catch (TokenStreamRecognitionException e) + catch (SyntaxErrorException e) { throw new InvalidPropertyException("Failed to parse property name '" + propertyName + "'.", e); } @@ -215,11 +210,7 @@ public virtual void SetPropertyValue(string propertyName, object val) IExpression propertyExpression = GetPropertyExpression(propertyName); SetPropertyValue(propertyExpression, val); } - catch (RecognitionException e) - { - throw new InvalidPropertyException("Failed to parse property name '" + propertyName + "'.", e); - } - catch (TokenStreamRecognitionException e) + catch (SyntaxErrorException e) { throw new InvalidPropertyException("Failed to parse property name '" + propertyName + "'.", e); } @@ -418,11 +409,7 @@ private MemberInfo GetPropertyOrFieldInfo(string propertyOrFieldName) throw new FatalObjectException($"'{propertyOrFieldName}' is not a valid property or field expression."); } - catch (RecognitionException e) - { - throw new FatalObjectException($"Failed to parse property or field name '{propertyOrFieldName}'.", e); - } - catch (TokenStreamRecognitionException e) + catch (SyntaxErrorException e) { throw new FatalObjectException($"Failed to parse property or field name '{propertyOrFieldName}'.", e); } diff --git a/src/Spring/Spring.Core/Objects/PropertyValue.cs b/src/Spring/Spring.Core/Objects/PropertyValue.cs index bb35d65ab..1cd210719 100644 --- a/src/Spring/Spring.Core/Objects/PropertyValue.cs +++ b/src/Spring/Spring.Core/Objects/PropertyValue.cs @@ -17,7 +17,6 @@ using System.Globalization; using Spring.Core; using Spring.Expressions; -using Spring.Expressions.Parser.antlr; using Spring.Util; namespace Spring.Objects; @@ -110,11 +109,7 @@ public IExpression Expression { propertyExpression = ObjectWrapper.GetPropertyExpression(propertyName); } - catch (RecognitionException e) - { - throw new InvalidPropertyException("Failed to parse property name '" + propertyName + "'.", e); - } - catch (TokenStreamRecognitionException e) + catch (SyntaxErrorException e) { throw new InvalidPropertyException("Failed to parse property name '" + propertyName + "'.", e); } diff --git a/src/Spring/Spring.Core/README_ANTLR.txt b/src/Spring/Spring.Core/README_ANTLR.txt deleted file mode 100644 index 676861fcf..000000000 --- a/src/Spring/Spring.Core/README_ANTLR.txt +++ /dev/null @@ -1,20 +0,0 @@ -Notes on code merge into Spring.Core: - - -28-07-2009 ----------- - -*) Added codebase version 2.7.7 of antlr -*) had to move ::SupportClass to namespace "antlr" -*) Replaced Method antlr.InputBuffer.LA(int i) with - - public virtual char LA(int i) - { - fill(i); - if ((this.markerOffset + i) <= this.queue.Count) - { - return (char)this.queue[(this.markerOffset + i) - 1]; - } - return CharScanner.EOF_CHAR; - } -*) renamed namespaces "antlr.*" to "Spring.Expressions.Parser.antrl.*" diff --git a/test/Spring/Spring.Core.Tests/Expressions/ExpressionEvaluatorTests.cs b/test/Spring/Spring.Core.Tests/Expressions/ExpressionEvaluatorTests.cs index 5d2edbebe..d0710ea05 100644 --- a/test/Spring/Spring.Core.Tests/Expressions/ExpressionEvaluatorTests.cs +++ b/test/Spring/Spring.Core.Tests/Expressions/ExpressionEvaluatorTests.cs @@ -31,8 +31,6 @@ using Spring.Context.Support; using Spring.Core; using Spring.Core.TypeResolution; -using Spring.Expressions.Parser.antlr; -using Spring.Expressions.Parser.antlr.collections; using Spring.Expressions.Processors; using Spring.Objects; using Spring.Objects.Factory; @@ -186,8 +184,6 @@ public void MembersDontGetSerializedByDefault() /// /// /// date() is parsed into DateLiteralNode( down:<default node type> ). - /// Normally antlr.CommonAST is the default node used by antlr. To enable serialization, Spring - /// uses a custom ASTFactory in /// [Test] public void ExpressionDateLiteralNodeMaintainsStateAfterSerialization() @@ -326,7 +322,7 @@ public void ThrowsSyntaxErrorException() ExpressionEvaluator.GetValue(null, "'date"); // unclose string literal Assert.Fail(); } - catch (RecognitionException ex) + catch (SyntaxErrorException ex) { Assert.That(ex.Message, Is.EqualTo("Syntax Error on line 1, column 6: expecting ''', found '' in expression" + Environment.NewLine + "''date'")); } @@ -2842,14 +2838,14 @@ public void TestStaticInheritedMethodInvocation() Assert.That(ExpressionEvaluator.GetValue(null, string.Format("T({0}).ShadowedStaticMethod()", typeof(DerivedSingleMethodTestClass).FullName)), Is.EqualTo("DerivedSingleMethodTestClass.ShadowedStaticMethod")); } - private static void DumpNode(AST rootNode, int level) + private static void DumpNode(SpringAST rootNode, int level) { Trace.WriteLine(new string(' ', level) + rootNode.ToString()); int numberOfChildren = rootNode.getNumberOfChildren(); if (numberOfChildren > 0) { - AST node = rootNode.getFirstChild(); + SpringAST node = rootNode.getFirstChild(); while (node != null) { DumpNode(node, level + 2); diff --git a/test/Spring/Spring.Core.Tests/StandardsComplianceTest.cs b/test/Spring/Spring.Core.Tests/StandardsComplianceTest.cs index 635827530..c77935b51 100644 --- a/test/Spring/Spring.Core.Tests/StandardsComplianceTest.cs +++ b/test/Spring/Spring.Core.Tests/StandardsComplianceTest.cs @@ -75,8 +75,6 @@ protected void ProcessAssembly(Assembly a) { foreach (Type t in a.GetTypes()) { - // TODO: make antlr compliant - if (t.FullName.IndexOf(".antlr.") > -1) continue; if ((t.IsPublic || t.IsNestedPublic) && IsCheckedType(t)) From 26cd12ec6dfb0a9576d2ed699bc69e1f19a9993f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Ros?= <1165805+sebastienros@users.noreply.github.com> Date: Mon, 2 Nov 2026 15:11:38 -0800 Subject: [PATCH 05/17] Run the benchmarks on any platform MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Just reading the [ClrJob] attribute throws off Windows, and BenchmarkDotNet reads those of the whole assembly. Signed-off-by: Sébastien Ros <1165805+sebastienros@users.noreply.github.com> --- test/Spring/Spring.Benchmark/ContainerBenchmark.cs | 3 ++- test/Spring/Spring.Benchmark/HybridSetBenchmark.cs | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/test/Spring/Spring.Benchmark/ContainerBenchmark.cs b/test/Spring/Spring.Benchmark/ContainerBenchmark.cs index 94b5dd2bc..8862c282f 100644 --- a/test/Spring/Spring.Benchmark/ContainerBenchmark.cs +++ b/test/Spring/Spring.Benchmark/ContainerBenchmark.cs @@ -15,12 +15,13 @@ // */ using BenchmarkDotNet.Attributes; +using BenchmarkDotNet.Jobs; using Spring.Benchmark.Classes; using Spring.Context.Support; namespace Spring.Benchmark; -[ClrJob, CoreJob] +[SimpleJob(RuntimeMoniker.Net472), SimpleJob(RuntimeMoniker.Net80)] [MemoryDiagnoser] public class ContainerBenchmark { diff --git a/test/Spring/Spring.Benchmark/HybridSetBenchmark.cs b/test/Spring/Spring.Benchmark/HybridSetBenchmark.cs index e55e468be..a68b9327d 100644 --- a/test/Spring/Spring.Benchmark/HybridSetBenchmark.cs +++ b/test/Spring/Spring.Benchmark/HybridSetBenchmark.cs @@ -15,12 +15,13 @@ // */ using BenchmarkDotNet.Attributes; +using BenchmarkDotNet.Jobs; using Spring.Collections; using Spring.Objects.Factory.Support; namespace Spring.Benchmark; -[ClrJob, CoreJob] +[SimpleJob(RuntimeMoniker.Net472), SimpleJob(RuntimeMoniker.Net80)] [MemoryDiagnoser] public class HybridSetBenchmark { From 8de459125176c86438c2a0fee96242eb54c5464f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Ros?= <1165805+sebastienros@users.noreply.github.com> Date: Mon, 2 Nov 2026 15:17:51 -0800 Subject: [PATCH 06/17] Measure ObjectWrapper apart from the size of the expressions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Sébastien Ros <1165805+sebastienros@users.noreply.github.com> --- .../Spring.Benchmark/ExpressionBenchmark.cs | 23 ++++++++++++++----- 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/test/Spring/Spring.Benchmark/ExpressionBenchmark.cs b/test/Spring/Spring.Benchmark/ExpressionBenchmark.cs index bcf3a4b96..80cbe4e8f 100644 --- a/test/Spring/Spring.Benchmark/ExpressionBenchmark.cs +++ b/test/Spring/Spring.Benchmark/ExpressionBenchmark.cs @@ -41,7 +41,6 @@ public class ExpressionBenchmark }; private readonly Dictionary variables = new(); - private ObjectWrapper wrapper; private string expression; private IExpression prepared; @@ -59,7 +58,6 @@ public void Setup() }; prepared = Expression.Parse(expression); - wrapper = new ObjectWrapper(root); } /// Parsing alone. @@ -87,14 +85,27 @@ public object ParseThenGetValue100() /// The evaluation alone, which doesn't depend on the parser. [Benchmark] public object GetValuePrepared() => prepared.GetValue(root, variables); +} + +/// +/// parses the name of a property each time it is asked for it. +/// +[MemoryDiagnoser] +public class ObjectWrapperBenchmark +{ + private readonly ObjectWrapper wrapper = new(new Person + { + Name = "Alice", + Friends = new ArrayList { new Person(), new Person { Address = new Address { City = "Nice" } } }, + }); - /// Takes the property parsing path of , which parses on each call. + /// Only reads a name, without the parser. [Benchmark] - public object WrapperSimpleProperty() => wrapper.GetPropertyValue("Name"); + public object SimpleProperty() => wrapper.GetPropertyValue("Name"); - /// Takes the primary expression parsing path of . + /// Takes the primary expression parsing path. [Benchmark] - public object WrapperPropertyPath() => wrapper.GetPropertyValue("Friends[1].Address.City"); + public object PropertyPath() => wrapper.GetPropertyValue("Friends[1].Address.City"); } public class Person From 911071f028a47cf052c3da2a525200cd0d13f8e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Ros?= <1165805+sebastienros@users.noreply.github.com> Date: Mon, 2 Nov 2026 15:27:22 -0800 Subject: [PATCH 07/17] Write up the Parlot port: equivalence, public API changes, benchmarks and gaps MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Sébastien Ros <1165805+sebastienros@users.noreply.github.com> --- PARLOT_PORT.md | 256 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 256 insertions(+) create mode 100644 PARLOT_PORT.md diff --git a/PARLOT_PORT.md b/PARLOT_PORT.md new file mode 100644 index 000000000..d5de59bc2 --- /dev/null +++ b/PARLOT_PORT.md @@ -0,0 +1,256 @@ +# Replace ANTLR with Parlot in the expression language + +This branch replaces the ANTLR 2 parser of `Spring.Expressions` with a parser generated at build time by +[Parlot](https://github.com/sebastienros/parlot)'s source generator, and removes the ANTLR 2.7 runtime that `Spring.Core` +embedded (101 files), the generated lexer and parser, the `Antlr` build target and the Windows-only tool it ran: +18,348 lines deleted, 915 added for the parser (184 of grammar, 731 of tokens, tree building and errors). + +## What changes for users + +- **The same expressions, the same trees.** Everything that was accepted is accepted, with the same node classes, the + same token types and the same texts, and what was rejected is rejected. See [Equivalence](#equivalence). Evaluation + code is untouched. +- **Parsing is 8 to 48 times faster, with 6.7 to 39 times fewer allocations, on .NET 8**, and 3 to 7 times faster on + .NET Framework. An `ObjectWrapper` access by property name is 13 times faster, as it allocated a lexer and a parser to + read a name. See [Benchmarks](#benchmarks). +- **A denial of service is fixed.** The ANTLR grammar decides between `(a)` and `(a;b)` by parsing the expression with a + syntactic predicate, then parsing it again. Nested, that doubles the time with each level: + + | Depth of `((((1))))` | 14 | 16 | 18 | 20 | 22 | 50 | 200 | + |---|--:|--:|--:|--:|--:|--:|--:| + | ANTLR | 207 ms | 771 ms | 3.1 s | 12.5 s | 49 s | about 400 years | not measurable | + | Parlot, with the JIT of the first parse of the process | | | | | 7 ms | 7 ms | 7 ms | + + A 45-character expression takes one core for 49 seconds with ANTLR, and any application that evaluates an expression it + did not write is exposed, even when the expression is then rejected. (The time for depth 50 is extrapolated from the others.) +- **Deep nesting is a syntax error instead of a crash.** Past the limits below, ANTLR overflows the stack, which .NET + doesn't let code catch: the runtime terminates the process. The new parser checks the stack in its recursive rule, and + limits nesting to 2,000 levels, as the evaluator recurses too. Measured in a 1 MB thread, on a first parse: + + | | ANTLR | Parlot | + |---|---|---| + | `((((1))))` | over 22 is impractical, see above | 200 levels work, 400 are a `SyntaxErrorException` | + | `----1` | 3,000 work, 5,000 crash the process | 1,500 work, 2,500 are a `SyntaxErrorException`, whatever the length | + + Not changed: a long chain such as `1+1+1+...` parses without recursion in both, and then overflows the stack when + *evaluated*, at 3,000 terms in a 1 MB thread, because `BaseNode.GetValue` has no stack check. A + `RuntimeHelpers.EnsureSufficientExecutionStack()` there would fix it, but is outside the scope of this change. +- **No Windows-only tool to change the grammar.** The grammar is C#, compiled by the normal build. +- **Dependencies.** No package is added at run time for Parlot: `Parlot.SourceGenerator` is a build-only analyzer + (`PrivateAssets="all"`), which emits the parser into `Spring.Core`. The generated code needs `System.Memory` (now an + explicit dependency, it was already there through `Microsoft.Extensions.Logging.Abstractions`) and, on .NET Framework, + `System.ValueTuple`, which is new in the package. +- **The assembly is 8% larger.** `Spring.Core.dll` goes from 908 KB to 983 KB (`netstandard2.0`, Release): the generated + parser and its embedded support code are larger than the code they replace. + +## Public API changes + +The repository ships on NuGet and these are breaking for code that used them, which is also listed in +`BreakingChanges.txt`. They need a recompilation at least, as return types change: + +| Before | After | +|---|---| +| All public types of `Spring.Expressions.Parser.antlr` and `.antlr.collections` (`BaseAST`, `AST`, `IToken`, `RecognitionException`, `TokenStreamRecognitionException`, `CharScanner`, ...) | Removed | +| `SpringAST : antlr.BaseAST, ISerializable` | `SpringAST : ISerializable` | +| `getFirstChild()`, `getNextSibling()` returning `AST` | Return `SpringAST` | +| `addChild(AST)`, `setFirstChild(AST)`, `setNextSibling(AST)`, `initialize(AST)`, `Equals(AST)` | Take `SpringAST` | +| `SpringAST(IToken)`, `initialize(IToken)` | Removed | +| Members of `BaseAST` nothing used: `EqualsList`, `EqualsListPartial`, `EqualsTree`, `EqualsTreePartial`, `findAll`, `findAllPartial`, `setVerboseStringConversion`, `ToTree`, `decode`, `encode`, `xmlSerialize*`, `Clone` | Removed | +| `internal SyntaxErrorException : RecognitionException`, so `catch (RecognitionException)` | `public SyntaxErrorException : Exception`, with `Line`, `Column` and `Expression` | +| `SyntaxErrorException.ToString()` was `line 1:6: ` | The usual text of an exception, with its stack trace | + +Kept as they were: `Expression.Parse`, every node class and their constructors, `BaseNode`, the other members of +`SpringAST` (`getText`, `setText`, `Type`, `Text`, `getNumberOfChildren`, `removeChildren`, `setType`, `ToStringList`, +`ToStringTree`, `Equals(object)`), and `Spring.Expressions.Parser.ExpressionParserTokenTypes`, the values of `Type`. + +**Serialization is compatible in both directions.** `SpringAST` writes the same `down`, `right`, `ttype` and `text` +entries. An expression serialized by the previous version was deserialized and evaluated by this one with +`BinaryFormatter`, and the other way around. The `BinaryFormatter` and SOAP tests of `ExpressionEvaluatorTests` pass. + +## Equivalence + +The history of this branch has `ParserDifferentialTests` (commit `40b43984`, removed when ANTLR could no longer run). It +runs the two parsers side by side, through all four entry points (`Parse`, `ParsePrimary`, `ParseProperty` and +`ParseLambda`), and compares the printed trees (class, token type, text, children) and the errors. The inputs are 4,204 +strings from the test suite and a hand-written list of edge cases, generated expressions covering each grammar rule, and random mutations +of both with a vocabulary of the tokens and their near misses. + +- An early run of 3.9 million parses found 21 differences, all from one lexer rule (`.` followed by a digit always starts a number, + even an invalid one), now fixed. Before that, smaller runs found the other lexer and follow-set quirks listed below. +- The final run: **1,571,952 parses, 615,238 accepted with identical trees, 956,714 rejected by both, no other result.** +- The grammar hasn't changed since, other than adding the recursion limit. +- The rejected ones have the same column in 91% of the cases, and the same column and message in 81%. + +`ExpressionGrammarTests` stays, with the trees and errors ANTLR gave for 216 expressions, chosen for the quirks of the +grammar, written to `ExpressionGrammarGolden.json` by ANTLR itself. + +The ANTLR grammar has unusual behaviour that this port keeps deliberately, because it decides what is accepted: a dot between +nodes is optional (`a b` is `a.b`, `1 .a` and `a.` parse), `T(` is one token only without a space, `T(...)` reads any token +up to `)`, a real number with a fraction has to have a valid exponent after `e` while an integer doesn't (`1.5ex` fails, `1ex` +is `1` then `ex`), `Ul` is not an integer suffix but `lU` is, keywords can't be property names, the relational and power +operators don't chain, the line of an error is always 1 and its column counts a tab as moving to the next multiple of 8. + +Differences, all deliberate: + +- **Positions and messages of syntax errors.** An error is reported at the furthest token reached, where ANTLR's LL(2) + prediction often reports the token before it: for `#hope.floats#` it reported `floats`, and now `#`. Where an error + named the expected token, such as `expecting "RPAREN", found 'x'`, it is usually now `unexpected token: ["x",<33>,line=1,col=5]`. + Most lexical errors, and the messages of `ParseLambda` and `ParseProperty` are as they were. +- **`￿` in the input.** ANTLR took that char for the end of the input and ignored what followed. It is now an + invalid char. +- **`QualifiedIdentifier` has no children.** ANTLR kept one child per token of the name, which only served to rebuild its + text; the text is now whole. `getText()` returns the same value. +- **The nesting limits above.** + +## Design + +| File | Role | +|---|---| +| `Expressions/ExpressionGrammar.parlot.cs` | The grammar, a port of `Expression.g`. Build-only: read by the generator, not compiled. | +| `Expressions/ExpressionGrammar.cs` | The generated `TryParse` declaration, the tokens as `Terms.Scan` scanners, the nodes and the errors. | +| `Expressions/SpringAST.cs` | The child and sibling links, and the members of `antlr.BaseAST` that remain. | + +**Detaching the nodes.** Nodes kept their method names, and only the types of the variables walking them changed from `AST` +to `SpringAST`, so that the 60 node classes are almost untouched. The evaluation doesn't change. + +**PEG vs LL(2).** A PEG choice can backtrack where ANTLR commits to an alternative after looking at two tokens. Three things keep the same language: + +- Tokens are scanned as ANTLR's lexer does: `^` doesn't match the start of `^{`, `{` doesn't match `{|`, `.` doesn't match `.5`. Otherwise, + `a^{b,c}`, an error, would be read again as `a ^ {b,c}`. +- A name followed by `(` can only be a call, so `a(b;c)` isn't read again as a property followed by an expression list. This is `Not(lparen)` in + the grammar. +- `Parse` needs the end of the input, so a failed alternative can't be accepted. `ParsePrimary` doesn't, and checks what follows it with + the follow sets of the ANTLR grammar (`CanFollowPrimary`). + +**Operator tables.** `Operators()` handles the unary and the left-associative levels. The relational and the power levels +don't chain, and the third operand of `?:` is a whole expression, which a table can't express, so these remain sequences. There +are three tables and three sequences rather than one table, on which one expression spends a little more than it could. + +**One grammar, three rules.** `Parse`, `ParsePrimary` and `ParseLambda` share one generated parser through a configuration +parameter and `If`, as generating one each would triple the code. `ParseProperty` is a scan by hand. + +**Why the generator rather than the `Parlot` runtime package:** `Spring.Core` embeds its parser and is strong-named, +and the repository already builds with the .NET 10 SDK, which is what the generator requires. A consumer of the package doesn't +need this SDK. `net462` is below the 4.7.2 floor of the generator, but the code it generates works there: +four small targets in `Spring.Core.csproj` report 4.7.2 to the generator and give it the `netstandard` facade. The tests below ran on `net462`. + +## Tests + +Green reference and result of `Spring.Core.Tests`, whose `ExpressionEvaluatorTests` (133 tests) only compile on .NET Framework: + +| | Before | After | +|---|---|---| +| `net462`, Windows | 2,741 passed, 0 failed, 23 skipped | 2,758 passed, 0 failed, 23 skipped | +| `net8.0`, macOS | 2,458 passed, 5 failed, 20 skipped | 2,475 passed, 5 failed, 20 skipped | + +The 5 failures are the same before and after, and don't touch expressions: currency and percent formatters that depend on the culture of the +machine. The 17 new tests are `ExpressionGrammarTests`. + +## Benchmarks + +`test/Spring/Spring.Benchmark/ExpressionBenchmark.cs` only uses the public API, so that the same file runs against both versions. +The commit that adds it (`25c6a0de`) still has ANTLR: + +```bash +git worktree add ../spring-antlr 25c6a0de +cp test/Spring/Spring.Benchmark/*.cs ../spring-antlr/test/Spring/Spring.Benchmark/ +# In each checkout: +dotnet run -c Release -f net8.0 --project test/Spring/Spring.Benchmark/Spring.Benchmark.csproj -- --filter '*ExpressionBenchmark*' '*ObjectWrapperBenchmark*' --job short +``` + +The expressions: *Small* is `Name.Length + 1` (15 chars), *Medium* a conditional with two property paths (86 chars), *Large* seven terms with selections, +projections, list and map initializers, a type, a constructor, a lambda and an expression list (491 chars). + +BenchmarkDotNet v0.15.2, `--job short`, one launch of each version, two machines: + +- **Arm64:** macOS 15.8.2, Apple M4 Pro, .NET 8.0.30, Arm64 RyuJIT, with other work running (load average 5 to 18). Two rounds, the lower of the two for each cell, + as one measurement of the Parlot Large parse was disturbed (7.5 µs and 16.8 µs, with a deviation of 7.5 µs). +- **x64:** Windows 11 (Hyper-V), AMD EPYC 7763, .NET 8.0.31 and .NET Framework (`net472` job), one round. This machine has shown + differences of up to 27% between runs of identical code: read the ratios as orders of magnitude, not as precise values. + +### Parsing only + +`Expression.Parse`, mean time and allocations: + +| Size | | ANTLR | Parlot | Faster | Fewer allocations | +|---|---|--:|--:|--:|--:| +| Small | Arm64, .NET 8 | 1,922 ns, 20,785 B | 216 ns, 536 B | 8.9x | 39x | +| | x64, .NET 8 | 4,357 ns, 20.3 KB | 550 ns, 536 B | 7.9x | 39x | +| | x64, .NET Framework | 5,541 ns, 20.4 KB | 1,695 ns, 546 B | 3.3x | 38x | +| Medium | Arm64, .NET 8 | 53.2 µs, 28,770 B | 1.13 µs, 2,040 B | 47x | 14x | +| | x64, .NET 8 | 49.1 µs, 28.1 KB | 2.81 µs, 2,040 B | 17x | 14x | +| | x64, .NET Framework | 59.9 µs, 28.7 KB | 8.42 µs, 2,086 B | 7.1x | 14x | +| Large | Arm64, .NET 8 | 363 µs, 81,181 B | 7.5 µs, 12,088 B | 48x | 6.7x | +| | x64, .NET 8 | 352 µs, 79.3 KB | 19.2 µs, 12,088 B | 18x | 6.7x | +| | x64, .NET Framework | 418 µs, 83.0 KB | 60.3 µs, 12,300 B | 6.9x | 6.9x | + +Most of ANTLR's 20 KB for the smallest expression is its lexer and token buffers, created per parse. A parse on .NET Framework is +about three times slower than on .NET 8, as it reads through the `System.Memory` package. + +### The layers above + +`ExpressionEvaluator.GetValue(root, expression)` parses each time, with no cache. The first evaluation of a parse also does its reflection +lookups and creates dynamic methods, which dominate the Large expression, so its time depends less on the parser. + +| `GetValue`, uncached | | ANTLR | Parlot | Faster | +|---|---|--:|--:|--:| +| Small | Arm64, .NET 8 | 2,139 ns, 21,193 B | 421 ns, 944 B | 5.1x | +| | x64, .NET 8 | 4,619 ns, 20.7 KB | 992 ns, 944 B | 4.7x | +| | x64, .NET Framework | 7,222 ns, 20.9 KB | 2,978 ns, 963 B | 2.4x | +| Medium | Arm64, .NET 8 | 70.7 µs, 35,523 B | 17.3 µs, 8,792 B | 4.1x | +| | x64, .NET 8 | 74.8 µs, 34.9 KB | 23.6 µs, 9,008 B | 3.2x | +| | x64, .NET Framework | 128 µs, 38.3 KB | 65.3 µs, 11,882 B | 2.0x | +| Large | Arm64, .NET 8 | 615 µs, 104 KB | 270 µs, 35,348 B | 2.3x | +| | x64, .NET 8 | 1,441 µs, 102 KB | 1,042 µs, 35,563 B | 1.4x | +| | x64, .NET Framework | 2,176 µs, 115 KB | 1,678 µs, 44,753 B | 1.3x | + +`Expression.Parse` then 100 `GetValue`, as the documentation recommends. The cost of the parse is spread over the evaluations, and +what remains is the first evaluation, so the gain shrinks as expected: + +| Parse + 100 `GetValue` | | ANTLR | Parlot | Faster | +|---|---|--:|--:|--:| +| Small | Arm64, .NET 8 | 6,984 ns | 5,220 ns | 1.3x | +| | x64, .NET 8 | 15.3 µs | 11.2 µs | 1.4x | +| | x64, .NET Framework | 24.6 µs | 19.5 µs | 1.3x | +| Medium | Arm64, .NET 8 | 154 µs | 90.5 µs | 1.7x | +| | x64, .NET 8 | 299 µs | 216 µs | 1.4x | +| | x64, .NET Framework | 520 µs | 453 µs | 1.1x | +| Large | Arm64, .NET 8 | 848 µs | 458 µs | 1.9x | +| | x64, .NET 8 | 1,976 µs | 1,527 µs | 1.3x | +| | x64, .NET Framework | 3,005 µs | 2,459 µs | 1.2x | + +A prepared `GetValue` doesn't depend on the parser, as expected: Arm64, .NET 8, Small 49 ns and 50 ns, Medium 816 ns and 749 ns, Large 2,042 ns and 1,972 ns, with the same allocations. + +`ObjectWrapper.GetPropertyValue` parses the name on each call. `Name` takes the path that only reads a name (`ParseProperty`), `Friends[1].Address.City` the one +that parses a primary expression (`ParsePrimary`): + +| | | ANTLR | Parlot | Faster | Fewer allocations | +|---|---|--:|--:|--:|--:| +| `Name` | Arm64, .NET 8 | 1,142 ns, 19.3 KB | 84 ns, 240 B | 14x | 82x | +| | x64, .NET 8 | 2,241 ns, 19.3 KB | 173 ns, 240 B | 13x | 82x | +| | x64, .NET Framework | 3,342 ns | 477 ns, 249 B | 7.0x | | +| `Friends[1].Address.City` | Arm64, .NET 8 | 2,643 ns, 21.6 KB | 617 ns, 1,456 B | 4.3x | 15x | +| | x64, .NET 8 | 5,812 ns, 21.6 KB | 1,402 ns, 1,456 B | 4.1x | 15x | +| | x64, .NET Framework | 8,939 ns | 4,011 ns, 1,492 B | 2.2x | | + +## Follow-ups, not in this change + +- `BaseNode.GetValue` has no stack check, see the chains above. +- `IntLiteralNode` can't evaluate the suffixes the grammar accepts: `5L` parses and then throws a `FormatException`. +- The line of a syntax error is always 1, whatever the input, because the ANTLR lexer never counted lines. Kept for compatibility. + +## Parlot gaps found + +Nothing here blocked the port. Parlot 2.2.1: + +1. **`net462` is refused** (`PARLOT026`, floor 4.7.2), and the package's `netstandard` reference doesn't resolve on its reference assemblies, while the generated code works there. It takes four + MSBuild targets. Same finding as Lucene.NET. +2. **`PARLOT021` is misleading when a call doesn't bind.** `If(() => rule == x, a, If(...))` with parsers whose types made inference fail reported "may only be read inside supported parse-time callbacks" + rather than the inference error, as the check requires a bound argument. Giving the type, `If(...)`, fixed it. +3. **`Unary` can't mix operator types**, although `docs/parsers.md` shows `.Unary((Terms.Char('-'), ...), (Terms.Text("not"), ...))`: `Unary(params ...)` can't be inferred. +4. **A scanner is called with an empty span at the end of the input.** The docs of `Scan` don't say so, and a scanner reading `span[0]` throws `IndexOutOfRangeException`. +5. **No non-associative operator level** (`a == b == c` and `a ^ b ^ c` have to fail), and no last operand of `Ternary` that is a whole expression. These force a chain of tables and sequences here. +6. **No way to commit to an alternative without losing the failure position.** `ElseError` reports where it was reached, not the furthest failure, so a choice that must not backtrack takes a negative lookahead (`Not(lparen)`). +7. **An entry point can't return where it stopped.** A rule without `Eof` needs `When((context, x) => ...)` reading `context.Scanner.Cursor` to check what follows. +8. **The stack per level is high before tier-up**: in a 1 MB thread, between 200 and 400 levels of parentheses on a first parse in Release, and 96 in the Debug test host. It is far more than ANTLR could reach in practice, and it fails cleanly. +9. **The generated code is large**: the assembly grows by 75 KB even though 101 ANTLR files and 6,000 generated lines go away. Parsers used twice (`methodOrProperty`, `arguments`) didn't look shared across the choices that use them; this wasn't investigated further. From e23a61d8c732f2554be69b2c671e8f2a9386d8e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Ros?= <1165805+sebastienros@users.noreply.github.com> Date: Mon, 2 Nov 2026 15:54:20 -0800 Subject: [PATCH 08/17] Fix what the review of the parser found MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - A failed named argument isn't read again as an assignment, which took exponential time. - Appending to a primary expression keeps its tail, as long paths took quadratic time. - BaseNode checks the stack when it evaluates a node, as a deep tree could overflow it. - A syntax error doesn't parse the input again, and says when nesting can be its cause. - Tests cover the primary, property and lambda rules, and these cases. - The follow sets name their tokens, the helpers building nodes are fewer, and SyntaxErrorException has documentation. The differential test of 40b43984, run again on this grammar, gives the same result: 615,238 accepted with identical trees and 956,714 rejected by both. Signed-off-by: Sébastien Ros <1165805+sebastienros@users.noreply.github.com> --- .../Spring.Core/Expressions/BaseNode.cs | 2 + .../Spring.Core/Expressions/Expression.cs | 20 +++ .../Expressions/ExpressionGrammar.cs | 143 +++++++++++++----- .../Expressions/ExpressionGrammar.parlot.cs | 41 ++--- .../Expressions/SyntaxErrorException.cs | 19 ++- .../Spring.Core.Tests/ExceptionsTest.cs | 2 +- .../Expressions/ExpressionGrammarTests.cs | 92 ++++++++++- 7 files changed, 249 insertions(+), 70 deletions(-) diff --git a/src/Spring/Spring.Core/Expressions/BaseNode.cs b/src/Spring/Spring.Core/Expressions/BaseNode.cs index c71a6cf2a..df36a210c 100644 --- a/src/Spring/Spring.Core/Expressions/BaseNode.cs +++ b/src/Spring/Spring.Core/Expressions/BaseNode.cs @@ -249,6 +249,8 @@ protected object GetValueWithArguments(BaseNode node, object context, Evaluation protected object GetValue(BaseNode node, object context, EvaluationContext evalContext) { + // An overflow would end the process, and the depth of a tree depends on the input + System.Runtime.CompilerServices.RuntimeHelpers.EnsureSufficientExecutionStack(); return node.Get(context, evalContext); } diff --git a/src/Spring/Spring.Core/Expressions/Expression.cs b/src/Spring/Spring.Core/Expressions/Expression.cs index 184ea442c..7df4ac84d 100644 --- a/src/Spring/Spring.Core/Expressions/Expression.cs +++ b/src/Spring/Spring.Core/Expressions/Expression.cs @@ -353,6 +353,26 @@ internal static IExpression ParseProperty(string expression) } } + // The last child while parsing, so that a long path doesn't walk its nodes for each one + private SpringAST lastParsedChild; + + /// + /// Adds a node to the end of the children of this expression, which only the parser builds this way. + /// + internal void AppendParsedChild(SpringAST child) + { + if (lastParsedChild == null) + { + setFirstChild(child); + } + else + { + lastParsedChild.setNextSibling(child); + } + + lastParsedChild = child; + } + /// /// Initializes a new instance of the class. /// diff --git a/src/Spring/Spring.Core/Expressions/ExpressionGrammar.cs b/src/Spring/Spring.Core/Expressions/ExpressionGrammar.cs index 7eccf3cf0..7401eee3f 100644 --- a/src/Spring/Spring.Core/Expressions/ExpressionGrammar.cs +++ b/src/Spring/Spring.Core/Expressions/ExpressionGrammar.cs @@ -25,7 +25,10 @@ internal enum Rule private const string IdPart = IdStart + "0123456789"; private const string NumberStart = "0123456789."; - private const char EndOfText = '￿'; + private const char EndOfText = '\uFFFF'; + + // The parser fails at the limit on nesting, or when the stack of the thread ends. A small stack can end at this depth + private const int SuspiciousDepth = 32; private static partial bool TryParse(string input, Rule rule, out BaseNode value, out int failure); @@ -48,10 +51,10 @@ public static BaseNode ParseProperty(string input) var length = ScanId(input.AsSpan(start)); if (length == 0) { - throw CreateSyntaxError(input, start, "ID"); + throw CreateSyntaxError(input, start, "ID", mayBeTooDeep: false); } - return Leaf(new PropertyOrFieldNode(), ID, input.Substring(start, length)); + return WithType(new PropertyOrFieldNode(), ID, input.Substring(start, length)); } private static BaseNode Parse(string input, Rule rule) @@ -61,12 +64,15 @@ private static BaseNode Parse(string input, Rule rule) return node; } - // A prefix that is a whole expression is one that only the end of the input could have followed - var expected = rule == Rule.Lambda && SkipSpaces(input.AsSpan(), 0) == SkipSpaces(input.AsSpan(), failure) ? "LAMBDA" - : rule == Rule.Expression && failure > 0 && TryParse(input.Substring(0, failure), rule, out _, out _) ? "EOF" + var offset = SkipSpaces(input.AsSpan(), failure); + ReadTokensBefore(input, offset, out var depth, out var afterOperand); + + // The parser doesn't return why it failed: at this depth it can be the limit on nesting + var expected = rule == Rule.Lambda && offset == SkipSpaces(input.AsSpan(), 0) ? "LAMBDA" + : rule == Rule.Expression && depth == 0 && afterOperand ? "EOF" : null; - throw CreateSyntaxError(input, failure, expected); + throw CreateSyntaxError(input, offset, expected, depth >= SuspiciousDepth); } // Tokens @@ -492,11 +498,19 @@ private static bool CanFollowPrimary(BaseNode node, string input, int offset) private static bool Contains(long tokens, int type) => type < 64 && (tokens & (1L << type)) != 0; - // The tokens a node of a primary expression starts with, and those that can follow a name, and a primary expression - // without any further node, in the grammar - private const long NodeStarts = 16091095105536L; - private const long TokensAfterName = 1134924607015288578L; - private const long TokensAfterStartNode = 1134908515920183042L; + // The tokens a node of a primary expression starts with + private const long NodeStarts = + (1L << LPAREN) | (1L << DOT) | (1L << ID) | (1L << LBRACKET) | (1L << PROJECT) | (1L << SELECT) | (1L << SELECT_FIRST) | (1L << SELECT_LAST); + + // The tokens that can follow a primary expression without any further node, in the grammar + private const long TokensAfterStartNode = + (1L << EOF) | (1L << AND) | (1L << OR) | (1L << XOR) | (1L << IN) | (1L << IS) | (1L << BETWEEN) | (1L << LIKE) | (1L << MATCHES) + | (1L << SEMI) | (1L << RPAREN) | (1L << ASSIGN) | (1L << DEFAULT) | (1L << QMARK) | (1L << COLON) | (1L << PLUS) | (1L << MINUS) + | (1L << STAR) | (1L << DIV) | (1L << MOD) | (1L << POWER) | (1L << COMMA) | (1L << RBRACKET) | (1L << RCURLY) | (1L << EQUAL) + | (1L << NOT_EQUAL) | (1L << LESS_THAN) | (1L << LESS_THAN_OR_EQUAL) | (1L << GREATER_THAN) | (1L << GREATER_THAN_OR_EQUAL); + + // The tokens that can follow a name, in the grammar + private const long TokensAfterName = TokensAfterStartNode | NodeStarts; // The tree @@ -507,7 +521,13 @@ private static BaseNode WithType(BaseNode node, int type, string text) return node; } - private static BaseNode Leaf(BaseNode node, int type, string text) => WithType(node, type, text); + private static SpringAST TokenNode(int type, string text) + { + var node = new SpringAST(); + node.Type = type; + node.setText(text); + return node; + } private static BaseNode WithText(BaseNode node, string text) { @@ -544,21 +564,23 @@ private static BaseNode Operator(BaseNode node, int type, string text, BaseNode return WithType(node, type, text); } - private static BaseNode Operator(BaseNode node, int type, string text, BaseNode first, BaseNode second) + private static BaseNode Operator(BaseNode node, int type, string text, BaseNode first, BaseNode second) => + WithChildren(WithType(node, type, text), first, second); + + private static BaseNode WithChildren(BaseNode node, BaseNode first, BaseNode second) { first.setNextSibling(second); - return Operator(node, type, text, first); + node.setFirstChild(first); + return node; } private static BaseNode NumberLiteral(string text) { var type = NumberType(text.AsSpan()); BaseNode node = type == HEXADECIMAL_INTEGER_LITERAL ? new HexLiteralNode() : type == REAL_LITERAL ? new RealLiteralNode() : new IntLiteralNode(); - return Leaf(node, type, text); + return WithType(node, type, text); } - private static BaseNode Relational(BaseNode node, string text) => WithType(node, EXPR, text); - /// Makes the first child of , before those it has. private static BaseNode PrependChild(BaseNode node, BaseNode child) { @@ -567,26 +589,26 @@ private static BaseNode PrependChild(BaseNode node, BaseNode child) return node; } - private static BaseNode AppendChild(BaseNode node, BaseNode child) + private static BaseNode AppendToPrimary(BaseNode primary, BaseNode child) { - node.addChild(child); - return node; + ((Expression) primary).AppendParsedChild(child); + return primary; } - private static BaseNode Primary(BaseNode startNode) => Operator(new Expression(), EXPR, "expression", startNode); + private static BaseNode Primary(BaseNode startNode) => AppendToPrimary(WithType(new Expression(), EXPR, "expression"), startNode); private static BaseNode MethodOrProperty(string name, IReadOnlyList arguments) => - arguments == null ? Leaf(new PropertyOrFieldNode(), ID, name) : Node(new MethodNode(), ID, name, arguments); + arguments == null ? WithType(new PropertyOrFieldNode(), ID, name) : Node(new MethodNode(), ID, name, arguments); private static BaseNode FunctionOrVariable(string name, IReadOnlyList arguments) => - arguments == null ? Leaf(new VariableNode(), ID, name) : Node(new FunctionNode(), ID, name, arguments); + arguments == null ? WithType(new VariableNode(), ID, name) : Node(new FunctionNode(), ID, name, arguments); private static BaseNode LocalFunctionOrVariable(string name, IReadOnlyList arguments) => - arguments == null ? Leaf(new LocalVariableNode(), ID, name) : Node(new LocalFunctionNode(), ID, name, arguments); + arguments == null ? WithType(new LocalVariableNode(), ID, name) : Node(new LocalFunctionNode(), ID, name, arguments); private static BaseNode MapEntry(BaseNode key, BaseNode value) => Operator(new MapEntryNode(), EXPR, "entry", key, value); - private static BaseNode QuotableName(string name, int type) => Leaf(new QualifiedIdentifier(), type, name); + private static BaseNode QuotableName(string name, int type) => WithType(new QualifiedIdentifier(), type, name); private static BaseNode Reference(BaseNode first, BaseNode second) => second == null ? Operator(new ReferenceNode(), EXPR, "ref", first) : Operator(new ReferenceNode(), EXPR, "ref", first, second); @@ -607,13 +629,10 @@ private static BaseNode ExpressionList(BaseNode first, IReadOnlyList o private static BaseNode ArrayConstructor(IReadOnlyList rank, BaseNode initializer) { - var rankNode = new SpringAST(); - rankNode.Type = LBRACKET; - rankNode.setText("["); + var rankNode = TokenNode(LBRACKET, "["); SetChildren(rankNode, rank); - var node = new ArrayConstructorNode(); - node.Type = EXPR; + var node = WithType(new ArrayConstructorNode(), EXPR, null); node.setFirstChild(rankNode); rankNode.setNextSibling(initializer); return node; @@ -621,8 +640,7 @@ private static BaseNode ArrayConstructor(IReadOnlyList rank, BaseNode private static BaseNode Lambda(IReadOnlyList arguments, BaseNode body) { - var node = new LambdaExpressionNode(); - WithType(node, EXPR, "lambda"); + var node = WithType(new LambdaExpressionNode(), EXPR, "lambda"); if (arguments.Count == 0) { @@ -630,16 +648,12 @@ private static BaseNode Lambda(IReadOnlyList arguments, BaseNode body) return node; } - var args = new SpringAST(); - args.Type = EXPR; - args.setText("args"); + var args = TokenNode(EXPR, "args"); SpringAST previous = null; foreach (var name in arguments) { - var argument = new SpringAST(); - argument.Type = ID; - argument.setText(name); + var argument = TokenNode(ID, name); if (previous == null) { args.setFirstChild(argument); @@ -674,9 +688,51 @@ private static int ColumnOf(string input, int offset) return column; } - private static SyntaxErrorException CreateSyntaxError(string input, int failure, string expected) + /// + /// Reads the tokens before to tell how many brackets are open and prefix operators are + /// pending there, and whether the last one ends an operand. + /// + private static void ReadTokensBefore(string input, int offset, out int depth, out bool afterOperand) + { + var open = 0; + var prefixes = 0; + afterOperand = false; + + for (var position = SkipSpaces(input.AsSpan(), 0); position < offset; position = SkipSpaces(input.AsSpan(), position)) + { + var length = NextToken(input.AsSpan(position), out var type); + if (length == 0) + { + break; + } + + position += length; + switch (type) + { + case LPAREN or LBRACKET or LCURLY or LAMBDA or PROJECT or SELECT or SELECT_FIRST or SELECT_LAST or TYPE: + open++; + afterOperand = false; + break; + case RPAREN or RBRACKET or RCURLY: + open--; + afterOperand = true; + break; + case ID or STRING_LITERAL or INTEGER_LITERAL or HEXADECIMAL_INTEGER_LITERAL or REAL_LITERAL or TRUE or FALSE or NULL_LITERAL or DOT: + afterOperand = true; + break; + default: + afterOperand = false; + break; + } + + prefixes = !afterOperand && type is PLUS or MINUS or BANG ? prefixes + 1 : 0; + } + + depth = open + prefixes; + } + + private static SyntaxErrorException CreateSyntaxError(string input, int offset, string expected, bool mayBeTooDeep) { - var offset = SkipSpaces(input.AsSpan(), failure); if (offset >= input.Length) { return SyntaxError(input, input.Length, expected != null ? $"expecting \"{expected}\", found ''" : "unexpected end of expression"); @@ -690,6 +746,11 @@ private static SyntaxErrorException CreateSyntaxError(string input, int failure, } var text = type == STRING_LITERAL ? StringText(input.Substring(offset, length)) : input.Substring(offset, length); + if (mayBeTooDeep) + { + return SyntaxError(input, offset, $"unexpected token or expression nested too deeply: \"{text}\""); + } + return SyntaxError(input, offset, expected != null ? $"expecting \"{expected}\", found '{text}'" : $"unexpected token: [\"{text}\",<{type}>,line=1,col={ColumnOf(input, offset)}]"); diff --git a/src/Spring/Spring.Core/Expressions/ExpressionGrammar.parlot.cs b/src/Spring/Spring.Core/Expressions/ExpressionGrammar.parlot.cs index 25c425c7f..1e606d9d3 100644 --- a/src/Spring/Spring.Core/Expressions/ExpressionGrammar.parlot.cs +++ b/src/Spring/Spring.Core/Expressions/ExpressionGrammar.parlot.cs @@ -61,9 +61,10 @@ private static Parser Build(Rule rule) var reference = lparen.SkipAnd(quotableName).And(colon.SkipAnd(quotableName).Optional()).AndSkip(rparen) .Then(static x => Reference(x.Item1, x.Item2.TryGetValue(out var second) ? second : null)); - // A named argument and the assignment that starts the same way can't both parse: its right side is an expression + // An argument that starts with a name and '=' is a named one: it isn't read again as an assignment when it fails var namedArgument = id.AndSkip(assign).And(expression).Then(static x => NamedArgument(x.Item1.ToString(), x.Item2)); - var constructorArguments = lparen.SkipAnd(Separated(comma, namedArgument.Or(expression), min: 0)).AndSkip(rparen); + var positionalArgument = Not(id.AndSkip(assign)).SkipAnd(expression); + var constructorArguments = lparen.SkipAnd(Separated(comma, namedArgument.Or(positionalArgument), min: 0)).AndSkip(rparen); var attribute = lbracket.SkipAnd(qualifiedId).And(constructorArguments.Optional()).AndSkip(rbracket) .Then(static x => Node(new AttributeNode(), EXPR, x.Item1, x.Item2.TryGetValue(out var args) ? args : null)); var at = Terms.Char('@').SkipAnd(reference.Or(attribute)); @@ -75,7 +76,7 @@ private static Parser Build(Rule rule) .Or(arrayRank.And(listInitializer.Optional()).Then(static x => ArrayConstructor(x.Item1, x.Item2.TryGetValue(out var list) ? list : null)))) .Then(static x => WithText(x.Item2, x.Item1)); - var type = Terms.Text("T(").SkipAnd(name).AndSkip(rparen).Then(static x => Leaf(new TypeNode(), EXPR, x)); + var type = Terms.Text("T(").SkipAnd(name).AndSkip(rparen).Then(static x => WithType(new TypeNode(), EXPR, x)); var lambda = Terms.Text("{|").SkipAnd(Separated(comma, id.Then(static x => x.ToString()), min: 0)).AndSkip(Terms.Char('|')) .And(expression).AndSkip(rcurly).Then(static x => Lambda(x.Item1, x.Item2)); @@ -88,10 +89,10 @@ private static Parser Build(Rule rule) var literal = OneOf( Terms.Scan(ScanNumber, NumberStart).Then(static x => NumberLiteral(x.ToString())), - stringLiteral.Then(static x => Leaf(new StringLiteralNode(), STRING_LITERAL, x)), - Terms.Keyword("null", IdPart).Then(static _ => Leaf(new NullLiteralNode(), NULL_LITERAL, "null")), - Terms.Keyword("true", IdPart).Then(static _ => Leaf(new BooleanLiteralNode(), TRUE, "true")), - Terms.Keyword("false", IdPart).Then(static _ => Leaf(new BooleanLiteralNode(), FALSE, "false"))); + stringLiteral.Then(static x => WithType(new StringLiteralNode(), STRING_LITERAL, x)), + Terms.Keyword("null", IdPart).Then(static _ => WithType(new NullLiteralNode(), NULL_LITERAL, "null")), + Terms.Keyword("true", IdPart).Then(static _ => WithType(new BooleanLiteralNode(), TRUE, "true")), + Terms.Keyword("false", IdPart).Then(static _ => WithType(new BooleanLiteralNode(), FALSE, "false"))); var startNode = OneOf( methodOrProperty, @@ -122,7 +123,7 @@ private static Parser Build(Rule rule) // The nodes of a primary expression are its children, the dots between them being optional var primary = startNode.Then(static x => Primary(x)).Operators() .Postfix( - (node, static (x, child) => AppendChild(x, child)), + (node, static (x, child) => AppendToPrimary(x, child)), (Terms.Scan(ScanDot, "."), static (x, _) => x)); var unary = primary @@ -145,20 +146,20 @@ private static Parser Build(Rule rule) (Terms.Char('-'), static (a, b) => Operator(new OpSUBTRACT(), MINUS, "-", a, b))); var relationalOperator = OneOf( - Terms.Text("==").Then(static _ => Relational(new OpEqual(), "==")), - Terms.Text("!=").Then(static _ => Relational(new OpNotEqual(), "!=")), - Terms.Text("<=").Then(static _ => Relational(new OpLessOrEqual(), "<=")), - Terms.Text("<").Then(static _ => Relational(new OpLess(), "<")), - Terms.Text(">=").Then(static _ => Relational(new OpGreaterOrEqual(), ">=")), - Terms.Text(">").Then(static _ => Relational(new OpGreater(), ">")), - Terms.Keyword("in", IdPart).Then(static _ => Relational(new OpIn(), "in")), - Terms.Keyword("is", IdPart).Then(static _ => Relational(new OpIs(), "is")), - Terms.Keyword("between", IdPart).Then(static _ => Relational(new OpBetween(), "between")), - Terms.Keyword("like", IdPart).Then(static _ => Relational(new OpLike(), "like")), - Terms.Keyword("matches", IdPart).Then(static _ => Relational(new OpMatches(), "matches"))); + Terms.Text("==").Then(static _ => WithType(new OpEqual(), EXPR, "==")), + Terms.Text("!=").Then(static _ => WithType(new OpNotEqual(), EXPR, "!=")), + Terms.Text("<=").Then(static _ => WithType(new OpLessOrEqual(), EXPR, "<=")), + Terms.Text("<").Then(static _ => WithType(new OpLess(), EXPR, "<")), + Terms.Text(">=").Then(static _ => WithType(new OpGreaterOrEqual(), EXPR, ">=")), + Terms.Text(">").Then(static _ => WithType(new OpGreater(), EXPR, ">")), + Terms.Keyword("in", IdPart).Then(static _ => WithType(new OpIn(), EXPR, "in")), + Terms.Keyword("is", IdPart).Then(static _ => WithType(new OpIs(), EXPR, "is")), + Terms.Keyword("between", IdPart).Then(static _ => WithType(new OpBetween(), EXPR, "between")), + Terms.Keyword("like", IdPart).Then(static _ => WithType(new OpLike(), EXPR, "like")), + Terms.Keyword("matches", IdPart).Then(static _ => WithType(new OpMatches(), EXPR, "matches"))); var relational = sum.And(relationalOperator.And(sum).Optional()) - .Then(static x => x.Item2.TryGetValue(out var rest) ? PrependChild(AppendChild(rest.Item1, rest.Item2), x.Item1) : x.Item1); + .Then(static x => x.Item2.TryGetValue(out var rest) ? WithChildren(rest.Item1, x.Item1, rest.Item2) : x.Item1); var logical = relational.Operators() .LeftAssociative((Terms.Keyword("and", IdPart), static (a, b) => Operator(new OpAND(), AND, "and", a, b))) diff --git a/src/Spring/Spring.Core/Expressions/SyntaxErrorException.cs b/src/Spring/Spring.Core/Expressions/SyntaxErrorException.cs index 98ac4a63c..e134fafb7 100644 --- a/src/Spring/Spring.Core/Expressions/SyntaxErrorException.cs +++ b/src/Spring/Spring.Core/Expressions/SyntaxErrorException.cs @@ -19,7 +19,8 @@ namespace Spring.Expressions; /// -/// Exception thrown when detecting invalid SpEL syntax +/// Exception thrown by when detecting invalid SpEL syntax, including +/// an expression nested too deeply to be parsed. /// /// Erich Eichinger [Serializable] @@ -30,6 +31,7 @@ public class SyntaxErrorException : Exception, ISerializable private readonly int column; /// + /// The line of the error, which is always 1: the columns are those of the whole expression /// public int Line { @@ -37,6 +39,7 @@ public int Line } /// + /// The column of the error in the expression, from 1, a tab moving it to the next multiple of 8 plus 1 /// public int Column { @@ -63,8 +66,12 @@ public string Expression } /// - /// TODO + /// Creates a new instance. /// + /// The text of the error, without its position. + /// The line of the error. + /// The column of the error. + /// The expression that caused the error. public SyntaxErrorException(string message, int line, int column, string expression) : base(message) { @@ -74,7 +81,7 @@ public SyntaxErrorException(string message, int line, int column, string express } /// - /// TODO + /// Creates a new instance from SerializationInfo. /// #if NET [Obsolete(Obsoletions.LegacyFormatterImplMessage, DiagnosticId = Obsoletions.LegacyFormatterImplDiagId, UrlFormat = Obsoletions.SharedUrlFormat)] @@ -87,10 +94,10 @@ protected SyntaxErrorException(SerializationInfo info, StreamingContext context) } /// - /// + /// Populates SerializationInfo from this instance. /// - /// - /// + /// The object to populate. + /// The destination of this serialization. #if NET [Obsolete(Obsoletions.LegacyFormatterImplMessage, DiagnosticId = Obsoletions.LegacyFormatterImplDiagId, UrlFormat = Obsoletions.SharedUrlFormat)] #endif diff --git a/test/Spring/Spring.Core.Tests/ExceptionsTest.cs b/test/Spring/Spring.Core.Tests/ExceptionsTest.cs index d209fba01..7fd3cb82f 100644 --- a/test/Spring/Spring.Core.Tests/ExceptionsTest.cs +++ b/test/Spring/Spring.Core.Tests/ExceptionsTest.cs @@ -39,7 +39,7 @@ public abstract class ExceptionsTest : StandardsComplianceTest // sorry folks, but this is really a special case - default ctor policy doesn't apply here private bool ExcludeFromConstructorPolicyCheck(Type t) { - //TODO: uncomment when making SyntaxErrorException public: + // Only the parser creates it, always with a position and an expression, which the standard constructors don't have: if (t.FullName == "Spring.Expressions.SyntaxErrorException") return true; return false; } diff --git a/test/Spring/Spring.Core.Tests/Expressions/ExpressionGrammarTests.cs b/test/Spring/Spring.Core.Tests/Expressions/ExpressionGrammarTests.cs index cd9bfdcde..e8bfa61c4 100644 --- a/test/Spring/Spring.Core.Tests/Expressions/ExpressionGrammarTests.cs +++ b/test/Spring/Spring.Core.Tests/Expressions/ExpressionGrammarTests.cs @@ -1,3 +1,5 @@ +using System.Reflection; +using System.Runtime.ExceptionServices; using System.Text; using Newtonsoft.Json; using NUnit.Framework; @@ -26,6 +28,21 @@ private static void Print(SpringAST node, StringBuilder builder) builder.Append(')'); } + private static T Internal(string method, string input) + { + try + { + return (T) typeof(Expression) + .GetMethod(method, BindingFlags.Static | BindingFlags.NonPublic, null, new[] { typeof(string) }, null) + .Invoke(null, new object[] { input }); + } + catch (TargetInvocationException e) when (e.InnerException is SyntaxErrorException) + { + ExceptionDispatchInfo.Capture(e.InnerException).Throw(); + throw; + } + } + private static string Describe(Func parse) { try @@ -61,6 +78,12 @@ public void SameTreesAsTheFormerParser() { failures.AppendLine($"{input}{Environment.NewLine} expected {entry[1]}{Environment.NewLine} actual {expression}"); } + + var primary = Describe(() => Internal("ParsePrimary", input)); + if (primary != entry[2] && (!primary.StartsWith("ERROR") || !entry[2].StartsWith("ERROR"))) + { + failures.AppendLine($"primary {input}{Environment.NewLine} expected {entry[2]}{Environment.NewLine} actual {primary}"); + } } Assert.That(failures.ToString(), Is.Empty); @@ -81,6 +104,27 @@ public void SyntaxErrorsReportTheOffendingText(string input, int column, string Assert.That(e.Expression, Is.EqualTo(input)); } + [TestCase("foo", "(PropertyOrFieldNode|33|foo)")] + [TestCase(" foo bar", "(PropertyOrFieldNode|33|foo)")] + [TestCase("foo-bar", "(PropertyOrFieldNode|33|foo)")] + [TestCase("foo~", "(PropertyOrFieldNode|33|foo)")] + [TestCase("in", "ERROR 1 Syntax Error on line 1, column 1: expecting \"ID\", found 'in'")] + [TestCase("T(a", "ERROR 1 Syntax Error on line 1, column 1: expecting \"ID\", found 'T('")] + [TestCase("1a", "ERROR 1 Syntax Error on line 1, column 1: expecting \"ID\", found '1'")] + public void PropertyRuleReadsOneName(string input, string expected) + { + Assert.That(Describe(() => Internal("ParseProperty", input)), Is.EqualTo(expected)); + } + + [TestCase("{|a|$a}", "(LambdaExpressionNode|4|lambda (SpringAST|4|args (SpringAST|33|a)) (Expression|4|expression (LocalVariableNode|33|a)))")] + [TestCase("{||1} ~", "(LambdaExpressionNode|4|lambda (Expression|4|expression (IntLiteralNode|51|1)))")] + [TestCase("x", "ERROR 1 Syntax Error on line 1, column 1: expecting \"LAMBDA\", found 'x'")] + [TestCase("{|a", "ERROR 4 Syntax Error on line 1, column 4: unexpected end of expression")] + public void LambdaRuleStopsAtItsBrace(string input, string expected) + { + Assert.That(Describe(() => Internal("ParseLambda", input) as IExpression), Is.EqualTo(expected)); + } + [TestCase(" ")] [TestCase("")] [TestCase(null)] @@ -105,12 +149,56 @@ public void DepthOfParenthesesDoesNotCostExponentialTime() public void DeepNestingIsASyntaxError(string open, string close) { var input = string.Concat(Enumerable.Repeat(open, 500_000)) + "1" + string.Concat(Enumerable.Repeat(close, 500_000)); - Assert.Throws(() => Expression.Parse(input)); + var e = Assert.Throws(() => Expression.Parse(input)); + Assert.That(e.Message, Does.Contain("nested too deeply")); } [Test] public void DeepNestingOfUnaryOperatorsIsASyntaxError() { - Assert.Throws(() => Expression.Parse(new string('-', 500_000) + "1")); + var e = Assert.Throws(() => Expression.Parse(new string('-', 500_000) + "1")); + Assert.That(e.Message, Does.Contain("nested too deeply")); + } + + [Test] + public void FailedNamedArgumentsAreNotReadAgain() + { + // Reading each one again as an assignment took 1.6 s at depth 22, and multiplied by 1.5 with each level + var input = string.Concat(Enumerable.Repeat("new a(b=", 60)) + "1"; + Assert.Throws(() => Expression.Parse(input)); + } + + [Test] + public void LongPathsTakeLinearTime() + { + // Appending a node walked the others, which took 11 s for this path + var input = "a" + string.Concat(Enumerable.Repeat(".a", 160_000)); + Assert.That(Expression.Parse(input), Is.TypeOf()); + } + + [TestCase(1_900, "-")] + [TestCase(100_000, "1+")] + public void EvaluatingTooDeepATreeThrows(int count, string repeated) + { + var input = string.Concat(Enumerable.Repeat(repeated, count)) + "1"; + Exception exception = null; + + // On a small stack, where the tree is too deep for the evaluation although the parser read it + var thread = new Thread(() => + { + try + { + Expression.Parse(input).GetValue(); + } + catch (Exception e) + { + exception = e; + } + }, 128 * 1024); + + thread.Start(); + thread.Join(); + + Assert.That(exception, Is.TypeOf()); } } From de182814cf4ea856967692e3c3d697e9f4da5ddf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Ros?= <1165805+sebastienros@users.noreply.github.com> Date: Mon, 2 Nov 2026 15:54:20 -0800 Subject: [PATCH 09/17] Restore the line endings of the files the port rewrote MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Sébastien Ros <1165805+sebastienros@users.noreply.github.com> --- .../Parser/ExpressionParserTokenTypes.cs | 158 +++++++++--------- 1 file changed, 79 insertions(+), 79 deletions(-) diff --git a/src/Spring/Spring.Core/Expressions/Parser/ExpressionParserTokenTypes.cs b/src/Spring/Spring.Core/Expressions/Parser/ExpressionParserTokenTypes.cs index 5b068a828..1aa1c402d 100644 --- a/src/Spring/Spring.Core/Expressions/Parser/ExpressionParserTokenTypes.cs +++ b/src/Spring/Spring.Core/Expressions/Parser/ExpressionParserTokenTypes.cs @@ -1,79 +1,79 @@ -namespace Spring.Expressions.Parser; - -/// -/// The values of : the token a node comes from, or when it comes from -/// a whole grammar rule. Part of the serialized form of a parsed expression. -/// -public class ExpressionParserTokenTypes -{ - public const int EOF = 1; - public const int NULL_TREE_LOOKAHEAD = 3; - public const int EXPR = 4; - public const int OPERAND = 5; - public const int FALSE = 6; - public const int TRUE = 7; - public const int AND = 8; - public const int OR = 9; - public const int XOR = 10; - public const int IN = 11; - public const int IS = 12; - public const int BETWEEN = 13; - public const int LIKE = 14; - public const int MATCHES = 15; - public const int NULL_LITERAL = 16; - public const int LPAREN = 17; - public const int SEMI = 18; - public const int RPAREN = 19; - public const int ASSIGN = 20; - public const int DEFAULT = 21; - public const int QMARK = 22; - public const int COLON = 23; - public const int PLUS = 24; - public const int MINUS = 25; - public const int STAR = 26; - public const int DIV = 27; - public const int MOD = 28; - public const int POWER = 29; - public const int BANG = 30; - public const int DOT = 31; - public const int POUND = 32; - public const int ID = 33; - public const int DOLLAR = 34; - public const int COMMA = 35; - public const int AT = 36; - public const int LBRACKET = 37; - public const int RBRACKET = 38; - public const int PROJECT = 39; - public const int RCURLY = 40; - public const int SELECT = 41; - public const int SELECT_FIRST = 42; - public const int SELECT_LAST = 43; - public const int TYPE = 44; - public const int QUOTE = 45; - public const int STRING_LITERAL = 46; - public const int LAMBDA = 47; - public const int PIPE = 48; - public const int LITERAL_new = 49; - public const int LCURLY = 50; - public const int INTEGER_LITERAL = 51; - public const int HEXADECIMAL_INTEGER_LITERAL = 52; - public const int REAL_LITERAL = 53; - public const int EQUAL = 54; - public const int NOT_EQUAL = 55; - public const int LESS_THAN = 56; - public const int LESS_THAN_OR_EQUAL = 57; - public const int GREATER_THAN = 58; - public const int GREATER_THAN_OR_EQUAL = 59; - public const int WS = 60; - public const int BACKTICK = 61; - public const int BACKSLASH = 62; - public const int DOT_ESCAPED = 63; - public const int APOS = 64; - public const int NUMERIC_LITERAL = 65; - public const int DECIMAL_DIGIT = 66; - public const int INTEGER_TYPE_SUFFIX = 67; - public const int HEX_DIGIT = 68; - public const int EXPONENT_PART = 69; - public const int SIGN = 70; - public const int REAL_TYPE_SUFFIX = 71; -} +namespace Spring.Expressions.Parser; + +/// +/// The values of : the token a node comes from, or when it comes from +/// a whole grammar rule. Part of the serialized form of a parsed expression. +/// +public class ExpressionParserTokenTypes +{ + public const int EOF = 1; + public const int NULL_TREE_LOOKAHEAD = 3; + public const int EXPR = 4; + public const int OPERAND = 5; + public const int FALSE = 6; + public const int TRUE = 7; + public const int AND = 8; + public const int OR = 9; + public const int XOR = 10; + public const int IN = 11; + public const int IS = 12; + public const int BETWEEN = 13; + public const int LIKE = 14; + public const int MATCHES = 15; + public const int NULL_LITERAL = 16; + public const int LPAREN = 17; + public const int SEMI = 18; + public const int RPAREN = 19; + public const int ASSIGN = 20; + public const int DEFAULT = 21; + public const int QMARK = 22; + public const int COLON = 23; + public const int PLUS = 24; + public const int MINUS = 25; + public const int STAR = 26; + public const int DIV = 27; + public const int MOD = 28; + public const int POWER = 29; + public const int BANG = 30; + public const int DOT = 31; + public const int POUND = 32; + public const int ID = 33; + public const int DOLLAR = 34; + public const int COMMA = 35; + public const int AT = 36; + public const int LBRACKET = 37; + public const int RBRACKET = 38; + public const int PROJECT = 39; + public const int RCURLY = 40; + public const int SELECT = 41; + public const int SELECT_FIRST = 42; + public const int SELECT_LAST = 43; + public const int TYPE = 44; + public const int QUOTE = 45; + public const int STRING_LITERAL = 46; + public const int LAMBDA = 47; + public const int PIPE = 48; + public const int LITERAL_new = 49; + public const int LCURLY = 50; + public const int INTEGER_LITERAL = 51; + public const int HEXADECIMAL_INTEGER_LITERAL = 52; + public const int REAL_LITERAL = 53; + public const int EQUAL = 54; + public const int NOT_EQUAL = 55; + public const int LESS_THAN = 56; + public const int LESS_THAN_OR_EQUAL = 57; + public const int GREATER_THAN = 58; + public const int GREATER_THAN_OR_EQUAL = 59; + public const int WS = 60; + public const int BACKTICK = 61; + public const int BACKSLASH = 62; + public const int DOT_ESCAPED = 63; + public const int APOS = 64; + public const int NUMERIC_LITERAL = 65; + public const int DECIMAL_DIGIT = 66; + public const int INTEGER_TYPE_SUFFIX = 67; + public const int HEX_DIGIT = 68; + public const int EXPONENT_PART = 69; + public const int SIGN = 70; + public const int REAL_TYPE_SUFFIX = 71; +} From 370400092a105104d289897e7e348ef41d38a9d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Ros?= <1165805+sebastienros@users.noreply.github.com> Date: Mon, 2 Nov 2026 15:57:06 -0800 Subject: [PATCH 10/17] Update the write-up after the fixes of the review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Sébastien Ros <1165805+sebastienros@users.noreply.github.com> --- BreakingChanges.txt | 2 ++ PARLOT_PORT.md | 31 +++++++++++++++++++++---------- 2 files changed, 23 insertions(+), 10 deletions(-) diff --git a/BreakingChanges.txt b/BreakingChanges.txt index d6fc9d928..3624c7081 100644 --- a/BreakingChanges.txt +++ b/BreakingChanges.txt @@ -154,6 +154,8 @@ Changes (3.0.x to 3.1) form of a parsed expression. - A nested expression too deep for the stack of the thread, or 2,000 levels of parentheses or prefix operators, is a SyntaxErrorException instead of a stack overflow. + - Evaluating a tree too deep for the stack of the thread throws InsufficientExecutionStackException + instead of overflowing it. - On .NET Framework, Spring.Core depends on System.ValueTuple, on all targets on System.Memory explicitly. Changes (2.0 to 3.0) diff --git a/PARLOT_PORT.md b/PARLOT_PORT.md index d5de59bc2..85a7e43a8 100644 --- a/PARLOT_PORT.md +++ b/PARLOT_PORT.md @@ -32,9 +32,10 @@ embedded (101 files), the generated lexer and parser, the `Antlr` build target a | `((((1))))` | over 22 is impractical, see above | 200 levels work, 400 are a `SyntaxErrorException` | | `----1` | 3,000 work, 5,000 crash the process | 1,500 work, 2,500 are a `SyntaxErrorException`, whatever the length | - Not changed: a long chain such as `1+1+1+...` parses without recursion in both, and then overflows the stack when - *evaluated*, at 3,000 terms in a 1 MB thread, because `BaseNode.GetValue` has no stack check. A - `RuntimeHelpers.EnsureSufficientExecutionStack()` there would fix it, but is outside the scope of this change. + **Evaluation checks the stack too, which is new.** A long chain such as `1+1+1+...` parses without recursion in both, + and then overflowed the stack when *evaluated*, at 3,000 terms in a 1 MB thread, and 1,900 prefix operators can do the + same on a smaller stack. `BaseNode` now calls `RuntimeHelpers.EnsureSufficientExecutionStack()` for each node it evaluates, so + this is an `InsufficientExecutionStackException`. It costs time on prepared expressions, see [Benchmarks](#benchmarks). - **No Windows-only tool to change the grammar.** The grammar is C#, compiled by the normal build. - **Dependencies.** No package is added at run time for Parlot: `Parlot.SourceGenerator` is a build-only analyzer (`PrivateAssets="all"`), which emits the parser into `Spring.Core`. The generated code needs `System.Memory` (now an @@ -78,7 +79,7 @@ of both with a vocabulary of the tokens and their near misses. - An early run of 3.9 million parses found 21 differences, all from one lexer rule (`.` followed by a digit always starts a number, even an invalid one), now fixed. Before that, smaller runs found the other lexer and follow-set quirks listed below. - The final run: **1,571,952 parses, 615,238 accepted with identical trees, 956,714 rejected by both, no other result.** -- The grammar hasn't changed since, other than adding the recursion limit. +- Run again on the final grammar, with the recursion limit left out and the fixes for named arguments and long paths, it gives the same counts. - The rejected ones have the same column in 91% of the cases, and the same column and message in 81%. `ExpressionGrammarTests` stays, with the trees and errors ANTLR gave for 216 expressions, chosen for the quirks of the @@ -100,7 +101,8 @@ Differences, all deliberate: invalid char. - **`QualifiedIdentifier` has no children.** ANTLR kept one child per token of the name, which only served to rebuild its text; the text is now whole. `getText()` returns the same value. -- **The nesting limits above.** +- **The nesting limits above.** The parser doesn't return why it failed, so at 32 or more open brackets or prefix operators an error reads + `unexpected token or expression nested too deeply: "("`, which can also be a plain syntax error at that depth. ## Design @@ -122,6 +124,9 @@ to `SpringAST`, so that the 60 node classes are almost untouched. The evaluation - `Parse` needs the end of the input, so a failed alternative can't be accepted. `ParsePrimary` doesn't, and checks what follows it with the follow sets of the ANTLR grammar (`CanFollowPrimary`). +**Named arguments.** ANTLR commits to a named argument when it sees a name and `=`. Without that, a failed one was read again as an assignment, which +took exponential time on nested `new a(b=` (1.6 s at 177 chars), so the other alternative starts with `Not(id.AndSkip(assign))`. + **Operator tables.** `Operators()` handles the unary and the left-associative levels. The relational and the power levels don't chain, and the third operand of `?:` is a whole expression, which a table can't express, so these remain sequences. There are three tables and three sequences rather than one table, on which one expression spends a little more than it could. @@ -140,11 +145,11 @@ Green reference and result of `Spring.Core.Tests`, whose `ExpressionEvaluatorTes | | Before | After | |---|---|---| -| `net462`, Windows | 2,741 passed, 0 failed, 23 skipped | 2,758 passed, 0 failed, 23 skipped | -| `net8.0`, macOS | 2,458 passed, 5 failed, 20 skipped | 2,475 passed, 5 failed, 20 skipped | +| `net462`, Windows | 2,741 passed, 0 failed, 23 skipped | 2,773 passed, 0 failed, 23 skipped | +| `net8.0`, macOS | 2,458 passed, 5 failed, 20 skipped | 2,490 passed, 5 failed, 20 skipped | The 5 failures are the same before and after, and don't touch expressions: currency and percent formatters that depend on the culture of the -machine. The 17 new tests are `ExpressionGrammarTests`. +machine. The 32 new tests are `ExpressionGrammarTests`. ## Benchmarks @@ -219,7 +224,14 @@ what remains is the first evaluation, so the gain shrinks as expected: | | x64, .NET 8 | 1,976 µs | 1,527 µs | 1.3x | | | x64, .NET Framework | 3,005 µs | 2,459 µs | 1.2x | -A prepared `GetValue` doesn't depend on the parser, as expected: Arm64, .NET 8, Small 49 ns and 50 ns, Medium 816 ns and 749 ns, Large 2,042 ns and 1,972 ns, with the same allocations. +A prepared `GetValue` doesn't depend on the parser, but it pays for the stack check `BaseNode` now does. Arm64, .NET 8, ANTLR then Parlot without +the check then with it, one short run of each: Small 49 ns, 50 ns, 56 ns; Medium 816 ns, 749 ns, 806 ns; Large 2,042 ns, 1,972 ns, 2,382 ns, with the +same allocations. So about 8% to 21%, within the noise of this machine only for the smallest gaps. An application that evaluates prepared expressions in a +hot loop gives back that much, for not crashing on a deep tree. + +The tables above were measured before the last fixes, which added the check, a field in `Expression` and the guard on named arguments. A new run on +Arm64 shows no change in parsing beyond the noise (Small 221 ns, Medium 1,161 ns, Large 7,872 ns), and 16 to 520 more bytes per parse, 8 for each primary +expression (552 B, 2,112 B, 12,608 B). x64 wasn't measured again. `ObjectWrapper.GetPropertyValue` parses the name on each call. `Name` takes the path that only reads a name (`ParseProperty`), `Friends[1].Address.City` the one that parses a primary expression (`ParsePrimary`): @@ -235,7 +247,6 @@ that parses a primary expression (`ParsePrimary`): ## Follow-ups, not in this change -- `BaseNode.GetValue` has no stack check, see the chains above. - `IntLiteralNode` can't evaluate the suffixes the grammar accepts: `5L` parses and then throws a `FormatException`. - The line of a syntax error is always 1, whatever the input, because the ANTLR lexer never counted lines. Kept for compatibility. From 481d41a78ee683cd6f9c4c845700755301982be9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Ros?= <1165805+sebastienros@users.noreply.github.com> Date: Mon, 2 Nov 2026 16:31:07 -0800 Subject: [PATCH 11/17] Fix what the second review found MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - BaseNode also checks the stack when it sets a value. - A primary expression keeps its tail in its child links while it is read, rather than in a field. - The scanners of the tokens that start a longer one read them with NextToken. - The golden file has the errors of this parser, compared exactly, and is an embedded resource. - The tests about the time parsing takes fail when it takes too long. - The benchmarks only ask for .NET Framework on Windows. Signed-off-by: Sébastien Ros <1165805+sebastienros@users.noreply.github.com> --- .../Spring.Core/Expressions/BaseNode.cs | 1 + .../Spring.Core/Expressions/Expression.cs | 20 --- .../Expressions/ExpressionGrammar.cs | 45 +++++-- .../Expressions/ExpressionGrammar.parlot.cs | 5 +- .../Spring.Benchmark/ContainerBenchmark.cs | 3 +- .../FrameworkAndCoreConfig.cs | 20 +++ .../Spring.Benchmark/HybridSetBenchmark.cs | 3 +- .../Expressions/ExpressionGrammarGolden.json | 122 ++++++++++++++++++ .../Expressions/ExpressionGrammarTests.cs | 37 ++++-- .../Spring.Core.Tests.csproj | 1 + 10 files changed, 209 insertions(+), 48 deletions(-) create mode 100644 test/Spring/Spring.Benchmark/FrameworkAndCoreConfig.cs diff --git a/src/Spring/Spring.Core/Expressions/BaseNode.cs b/src/Spring/Spring.Core/Expressions/BaseNode.cs index df36a210c..c8a5428c3 100644 --- a/src/Spring/Spring.Core/Expressions/BaseNode.cs +++ b/src/Spring/Spring.Core/Expressions/BaseNode.cs @@ -256,6 +256,7 @@ protected object GetValue(BaseNode node, object context, EvaluationContext evalC protected void SetValue(BaseNode node, object context, EvaluationContext evalContext, object newValue) { + System.Runtime.CompilerServices.RuntimeHelpers.EnsureSufficientExecutionStack(); node.Set(context, evalContext, newValue); } } diff --git a/src/Spring/Spring.Core/Expressions/Expression.cs b/src/Spring/Spring.Core/Expressions/Expression.cs index 7df4ac84d..184ea442c 100644 --- a/src/Spring/Spring.Core/Expressions/Expression.cs +++ b/src/Spring/Spring.Core/Expressions/Expression.cs @@ -353,26 +353,6 @@ internal static IExpression ParseProperty(string expression) } } - // The last child while parsing, so that a long path doesn't walk its nodes for each one - private SpringAST lastParsedChild; - - /// - /// Adds a node to the end of the children of this expression, which only the parser builds this way. - /// - internal void AppendParsedChild(SpringAST child) - { - if (lastParsedChild == null) - { - setFirstChild(child); - } - else - { - lastParsedChild.setNextSibling(child); - } - - lastParsedChild = child; - } - /// /// Initializes a new instance of the class. /// diff --git a/src/Spring/Spring.Core/Expressions/ExpressionGrammar.cs b/src/Spring/Spring.Core/Expressions/ExpressionGrammar.cs index 7401eee3f..786f06b32 100644 --- a/src/Spring/Spring.Core/Expressions/ExpressionGrammar.cs +++ b/src/Spring/Spring.Core/Expressions/ExpressionGrammar.cs @@ -99,19 +99,31 @@ private static int SkipSpaces(ReadOnlySpan span, int offset) return offset; } - private static int ScanLeftCurly(ReadOnlySpan span) => CharAt(span, 0) == '{' && CharAt(span, 1) != '|' ? 1 : 0; + /// The token of this type at the start of the text, which isn't the start of a longer one. + private static int ScanToken(ReadOnlySpan span, int expected) + { + if (span.IsEmpty) + { + return 0; + } + + var length = NextToken(span, out var type); + return type == expected ? length : 0; + } - private static int ScanAssign(ReadOnlySpan span) => CharAt(span, 0) == '=' && CharAt(span, 1) != '=' ? 1 : 0; + private static int ScanLeftCurly(ReadOnlySpan span) => ScanToken(span, LCURLY); - private static int ScanDollar(ReadOnlySpan span) => CharAt(span, 0) == '$' && CharAt(span, 1) != '{' ? 1 : 0; + private static int ScanAssign(ReadOnlySpan span) => ScanToken(span, ASSIGN); - private static int ScanPower(ReadOnlySpan span) => CharAt(span, 0) == '^' && CharAt(span, 1) != '{' ? 1 : 0; + private static int ScanDollar(ReadOnlySpan span) => ScanToken(span, DOLLAR); + + private static int ScanPower(ReadOnlySpan span) => ScanToken(span, POWER); private static int ScanDot(ReadOnlySpan span) => CharAt(span, 0) == '.' && !IsDigit(CharAt(span, 1)) ? 1 : 0; - private static int ScanBang(ReadOnlySpan span) => CharAt(span, 0) == '!' && CharAt(span, 1) != '=' && CharAt(span, 1) != '{' ? 1 : 0; + private static int ScanBang(ReadOnlySpan span) => ScanToken(span, BANG); - private static int ScanQuestion(ReadOnlySpan span) => CharAt(span, 0) == '?' && CharAt(span, 1) != '?' && CharAt(span, 1) != '{' ? 1 : 0; + private static int ScanQuestion(ReadOnlySpan span) => ScanToken(span, QMARK); private static int ScanWord(ReadOnlySpan span) { @@ -589,13 +601,30 @@ private static BaseNode PrependChild(BaseNode node, BaseNode child) return node; } + // While a primary expression is read its first child is the last one, whose next sibling is the first one, so that a + // long path doesn't walk its nodes for each one + private static BaseNode Primary(BaseNode startNode) + { + startNode.setNextSibling(startNode); + return Operator(new Expression(), EXPR, "expression", startNode); + } + private static BaseNode AppendToPrimary(BaseNode primary, BaseNode child) { - ((Expression) primary).AppendParsedChild(child); + var last = primary.getFirstChild(); + child.setNextSibling(last.getNextSibling()); + last.setNextSibling(child); + primary.setFirstChild(child); return primary; } - private static BaseNode Primary(BaseNode startNode) => AppendToPrimary(WithType(new Expression(), EXPR, "expression"), startNode); + private static BaseNode FinishPrimary(BaseNode primary) + { + var last = primary.getFirstChild(); + primary.setFirstChild(last.getNextSibling()); + last.setNextSibling(null); + return primary; + } private static BaseNode MethodOrProperty(string name, IReadOnlyList arguments) => arguments == null ? WithType(new PropertyOrFieldNode(), ID, name) : Node(new MethodNode(), ID, name, arguments); diff --git a/src/Spring/Spring.Core/Expressions/ExpressionGrammar.parlot.cs b/src/Spring/Spring.Core/Expressions/ExpressionGrammar.parlot.cs index 1e606d9d3..b8a0b902b 100644 --- a/src/Spring/Spring.Core/Expressions/ExpressionGrammar.parlot.cs +++ b/src/Spring/Spring.Core/Expressions/ExpressionGrammar.parlot.cs @@ -124,9 +124,10 @@ private static Parser Build(Rule rule) var primary = startNode.Then(static x => Primary(x)).Operators() .Postfix( (node, static (x, child) => AppendToPrimary(x, child)), - (Terms.Scan(ScanDot, "."), static (x, _) => x)); + (Terms.Scan(ScanDot, "."), static (x, _) => x)) + .Then(static x => FinishPrimary(x)); - var unary = primary + var unary = primary.Operators() .Unary( (Terms.Char('+'), static x => Operator(new OpUnaryPlus(), PLUS, "+", x)), (Terms.Char('-'), static x => Operator(new OpUnaryMinus(), MINUS, "-", x)), diff --git a/test/Spring/Spring.Benchmark/ContainerBenchmark.cs b/test/Spring/Spring.Benchmark/ContainerBenchmark.cs index 8862c282f..d2b5e330a 100644 --- a/test/Spring/Spring.Benchmark/ContainerBenchmark.cs +++ b/test/Spring/Spring.Benchmark/ContainerBenchmark.cs @@ -15,13 +15,12 @@ // */ using BenchmarkDotNet.Attributes; -using BenchmarkDotNet.Jobs; using Spring.Benchmark.Classes; using Spring.Context.Support; namespace Spring.Benchmark; -[SimpleJob(RuntimeMoniker.Net472), SimpleJob(RuntimeMoniker.Net80)] +[Config(typeof(FrameworkAndCoreConfig))] [MemoryDiagnoser] public class ContainerBenchmark { diff --git a/test/Spring/Spring.Benchmark/FrameworkAndCoreConfig.cs b/test/Spring/Spring.Benchmark/FrameworkAndCoreConfig.cs new file mode 100644 index 000000000..defdc4ae8 --- /dev/null +++ b/test/Spring/Spring.Benchmark/FrameworkAndCoreConfig.cs @@ -0,0 +1,20 @@ +using System.Runtime.InteropServices; +using BenchmarkDotNet.Configs; +using BenchmarkDotNet.Environments; +using BenchmarkDotNet.Jobs; + +namespace Spring.Benchmark; + +/// Compares .NET with .NET Framework where there is one. +public class FrameworkAndCoreConfig : ManualConfig +{ + public FrameworkAndCoreConfig() + { + AddJob(Job.Default.WithRuntime(CoreRuntime.Core80)); + + if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) + { + AddJob(Job.Default.WithRuntime(ClrRuntime.Net472)); + } + } +} diff --git a/test/Spring/Spring.Benchmark/HybridSetBenchmark.cs b/test/Spring/Spring.Benchmark/HybridSetBenchmark.cs index a68b9327d..190aea880 100644 --- a/test/Spring/Spring.Benchmark/HybridSetBenchmark.cs +++ b/test/Spring/Spring.Benchmark/HybridSetBenchmark.cs @@ -15,13 +15,12 @@ // */ using BenchmarkDotNet.Attributes; -using BenchmarkDotNet.Jobs; using Spring.Collections; using Spring.Objects.Factory.Support; namespace Spring.Benchmark; -[SimpleJob(RuntimeMoniker.Net472), SimpleJob(RuntimeMoniker.Net80)] +[Config(typeof(FrameworkAndCoreConfig))] [MemoryDiagnoser] public class HybridSetBenchmark { diff --git a/test/Spring/Spring.Core.Tests/Expressions/ExpressionGrammarGolden.json b/test/Spring/Spring.Core.Tests/Expressions/ExpressionGrammarGolden.json index d3e0a4d71..f274c4efe 100644 --- a/test/Spring/Spring.Core.Tests/Expressions/ExpressionGrammarGolden.json +++ b/test/Spring/Spring.Core.Tests/Expressions/ExpressionGrammarGolden.json @@ -221,11 +221,15 @@ ], [ "a^{b,c}", + "ERROR 5 Syntax Error on line 1, column 5: unexpected token: [\",\",<35>,line=1,col=5]", + "ERROR 5 Syntax Error on line 1, column 5: unexpected token: [\",\",<35>,line=1,col=5]", "ERROR 5 Syntax Error on line 1, column 5: expecting \"RCURLY\", found ','", "ERROR 5 Syntax Error on line 1, column 5: expecting \"RCURLY\", found ','" ], [ "a^b^c", + "ERROR 4 Syntax Error on line 1, column 4: expecting \"EOF\", found '^'", + "(Expression|4|expression (PropertyOrFieldNode|33|a))", "ERROR 4 Syntax Error on line 1, column 4: unexpected token: [\"^\",<29>,line=1,col=4]", "(Expression|4|expression (PropertyOrFieldNode|33|a))" ], @@ -246,6 +250,8 @@ ], [ "a==b==c", + "ERROR 5 Syntax Error on line 1, column 5: expecting \"EOF\", found '=='", + "(Expression|4|expression (PropertyOrFieldNode|33|a))", "ERROR 5 Syntax Error on line 1, column 5: unexpected token: [\"==\",<54>,line=1,col=5]", "(Expression|4|expression (PropertyOrFieldNode|33|a))" ], @@ -256,6 +262,8 @@ ], [ "a,line=1,col=4]", "(Expression|4|expression (PropertyOrFieldNode|33|a))" ], @@ -331,6 +339,8 @@ ], [ "a?b", + "ERROR 4 Syntax Error on line 1, column 4: expecting \"EOF\", found ''", + "(Expression|4|expression (PropertyOrFieldNode|33|a))", "ERROR 4 Syntax Error on line 1, column 4: expecting \"COLON\", found ''", "(Expression|4|expression (PropertyOrFieldNode|33|a))" ], @@ -401,6 +411,8 @@ ], [ "a.5", + "ERROR 2 Syntax Error on line 1, column 2: expecting \"EOF\", found '.5'", + "ERROR 2 Syntax Error on line 1, column 2: unexpected token: [\".5\",<53>,line=1,col=2]", "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"a\",<33>,line=1,col=1]", "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"a\",<33>,line=1,col=1]" ], @@ -411,6 +423,8 @@ ], [ "0x", + "ERROR 3 Syntax Error on line 1, column 3: unexpected end of expression", + "ERROR 3 Syntax Error on line 1, column 3: unexpected end of expression", "ERROR 3 Syntax Error on line 1, column 3: unexpected char: 0xFFFF", "ERROR 3 Syntax Error on line 1, column 3: unexpected char: 0xFFFF" ], @@ -471,11 +485,15 @@ ], [ "1.5e", + "ERROR 5 Syntax Error on line 1, column 5: unexpected end of expression", + "ERROR 5 Syntax Error on line 1, column 5: unexpected end of expression", "ERROR 5 Syntax Error on line 1, column 5: unexpected char: 0xFFFF", "ERROR 5 Syntax Error on line 1, column 5: unexpected char: 0xFFFF" ], [ "1.5e+", + "ERROR 6 Syntax Error on line 1, column 6: unexpected end of expression", + "ERROR 6 Syntax Error on line 1, column 6: unexpected end of expression", "ERROR 6 Syntax Error on line 1, column 6: unexpected char: 0xFFFF", "ERROR 6 Syntax Error on line 1, column 6: unexpected char: 0xFFFF" ], @@ -526,6 +544,8 @@ ], [ "new", + "ERROR 4 Syntax Error on line 1, column 4: unexpected end of expression", + "ERROR 4 Syntax Error on line 1, column 4: unexpected end of expression", "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"new\",<49>,line=1,col=1]", "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"new\",<49>,line=1,col=1]" ], @@ -546,16 +566,22 @@ ], [ "T(", + "ERROR 3 Syntax Error on line 1, column 3: unexpected end of expression", + "ERROR 3 Syntax Error on line 1, column 3: unexpected end of expression", "ERROR 3 Syntax Error on line 1, column 3: expecting \"ID\", found ''", "ERROR 3 Syntax Error on line 1, column 3: expecting \"ID\", found ''" ], [ "1 2", + "ERROR 3 Syntax Error on line 1, column 3: expecting \"EOF\", found '2'", + "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\"2\",<51>,line=1,col=3]", "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\"2\",<51>,line=1,col=3]", "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\"2\",<51>,line=1,col=3]" ], [ "a 'b'", + "ERROR 3 Syntax Error on line 1, column 3: expecting \"EOF\", found 'b'", + "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\"b\",<46>,line=1,col=3]", "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"a\",<33>,line=1,col=1]", "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"a\",<33>,line=1,col=1]" ], @@ -601,6 +627,8 @@ ], [ "a|b", + "ERROR 2 Syntax Error on line 1, column 2: expecting \"EOF\", found '|'", + "ERROR 2 Syntax Error on line 1, column 2: unexpected token: [\"|\",<48>,line=1,col=2]", "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"a\",<33>,line=1,col=1]", "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"a\",<33>,line=1,col=1]" ], @@ -631,6 +659,8 @@ ], [ "(a", + "ERROR 3 Syntax Error on line 1, column 3: unexpected end of expression", + "ERROR 3 Syntax Error on line 1, column 3: unexpected end of expression", "ERROR 3 Syntax Error on line 1, column 3: expecting \"RPAREN\", found ''", "ERROR 3 Syntax Error on line 1, column 3: expecting \"RPAREN\", found ''" ], @@ -666,16 +696,22 @@ ], [ "a(b;c)", + "ERROR 4 Syntax Error on line 1, column 4: unexpected token: [\";\",<18>,line=1,col=4]", + "ERROR 4 Syntax Error on line 1, column 4: unexpected token: [\";\",<18>,line=1,col=4]", "ERROR 4 Syntax Error on line 1, column 4: expecting \"RPAREN\", found ';'", "ERROR 4 Syntax Error on line 1, column 4: expecting \"RPAREN\", found ';'" ], [ "#a(b;c)", + "ERROR 5 Syntax Error on line 1, column 5: unexpected token: [\";\",<18>,line=1,col=5]", + "ERROR 5 Syntax Error on line 1, column 5: unexpected token: [\";\",<18>,line=1,col=5]", "ERROR 5 Syntax Error on line 1, column 5: expecting \"RPAREN\", found ';'", "ERROR 5 Syntax Error on line 1, column 5: expecting \"RPAREN\", found ';'" ], [ "$a(b;c)", + "ERROR 5 Syntax Error on line 1, column 5: unexpected token: [\";\",<18>,line=1,col=5]", + "ERROR 5 Syntax Error on line 1, column 5: unexpected token: [\";\",<18>,line=1,col=5]", "ERROR 5 Syntax Error on line 1, column 5: expecting \"RPAREN\", found ';'", "ERROR 5 Syntax Error on line 1, column 5: expecting \"RPAREN\", found ';'" ], @@ -706,21 +742,29 @@ ], [ "{|", + "ERROR 3 Syntax Error on line 1, column 3: unexpected end of expression", + "ERROR 3 Syntax Error on line 1, column 3: unexpected end of expression", "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\"\",<1>,line=1,col=3]", "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\"\",<1>,line=1,col=3]" ], [ "{|a", + "ERROR 4 Syntax Error on line 1, column 4: unexpected end of expression", + "ERROR 4 Syntax Error on line 1, column 4: unexpected end of expression", "ERROR 4 Syntax Error on line 1, column 4: expecting \"PIPE\", found ''", "ERROR 4 Syntax Error on line 1, column 4: expecting \"PIPE\", found ''" ], [ "{|a|", + "ERROR 5 Syntax Error on line 1, column 5: unexpected end of expression", + "ERROR 5 Syntax Error on line 1, column 5: unexpected end of expression", "ERROR 5 Syntax Error on line 1, column 5: unexpected token: [\"\",<1>,line=1,col=5]", "ERROR 5 Syntax Error on line 1, column 5: unexpected token: [\"\",<1>,line=1,col=5]" ], [ "{|a|b", + "ERROR 6 Syntax Error on line 1, column 6: unexpected end of expression", + "ERROR 6 Syntax Error on line 1, column 6: unexpected end of expression", "ERROR 6 Syntax Error on line 1, column 6: expecting \"RCURLY\", found ''", "ERROR 6 Syntax Error on line 1, column 6: expecting \"RCURLY\", found ''" ], @@ -756,36 +800,50 @@ ], [ "@(a", + "ERROR 4 Syntax Error on line 1, column 4: unexpected end of expression", + "ERROR 4 Syntax Error on line 1, column 4: unexpected end of expression", "ERROR 4 Syntax Error on line 1, column 4: expecting \"RPAREN\", found ''", "ERROR 4 Syntax Error on line 1, column 4: expecting \"RPAREN\", found ''" ], [ "@(a:", + "ERROR 5 Syntax Error on line 1, column 5: unexpected end of expression", + "ERROR 5 Syntax Error on line 1, column 5: unexpected end of expression", "ERROR 5 Syntax Error on line 1, column 5: unexpected token: [\"\",<1>,line=1,col=5]", "ERROR 5 Syntax Error on line 1, column 5: unexpected token: [\"\",<1>,line=1,col=5]" ], [ "@(a:b", + "ERROR 6 Syntax Error on line 1, column 6: unexpected end of expression", + "ERROR 6 Syntax Error on line 1, column 6: unexpected end of expression", "ERROR 6 Syntax Error on line 1, column 6: expecting \"RPAREN\", found ''", "ERROR 6 Syntax Error on line 1, column 6: expecting \"RPAREN\", found ''" ], [ "@[", + "ERROR 3 Syntax Error on line 1, column 3: unexpected end of expression", + "ERROR 3 Syntax Error on line 1, column 3: unexpected end of expression", "ERROR 3 Syntax Error on line 1, column 3: expecting \"ID\", found ''", "ERROR 3 Syntax Error on line 1, column 3: expecting \"ID\", found ''" ], [ "@[a", + "ERROR 4 Syntax Error on line 1, column 4: unexpected end of expression", + "ERROR 4 Syntax Error on line 1, column 4: unexpected end of expression", "ERROR 4 Syntax Error on line 1, column 4: unexpected token: [\"\",<1>,line=1,col=4]", "ERROR 4 Syntax Error on line 1, column 4: unexpected token: [\"\",<1>,line=1,col=4]" ], [ "@[a(", + "ERROR 5 Syntax Error on line 1, column 5: unexpected end of expression", + "ERROR 5 Syntax Error on line 1, column 5: unexpected end of expression", "ERROR 5 Syntax Error on line 1, column 5: unexpected token: [\"\",<1>,line=1,col=5]", "ERROR 5 Syntax Error on line 1, column 5: unexpected token: [\"\",<1>,line=1,col=5]" ], [ "@", + "ERROR 2 Syntax Error on line 1, column 2: unexpected end of expression", + "ERROR 2 Syntax Error on line 1, column 2: unexpected end of expression", "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"@\",<36>,line=1,col=1]", "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"@\",<36>,line=1,col=1]" ], @@ -801,61 +859,85 @@ ], [ "#", + "ERROR 2 Syntax Error on line 1, column 2: unexpected end of expression", + "ERROR 2 Syntax Error on line 1, column 2: unexpected end of expression", "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"#\",<32>,line=1,col=1]", "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"#\",<32>,line=1,col=1]" ], [ "$", + "ERROR 2 Syntax Error on line 1, column 2: unexpected end of expression", + "ERROR 2 Syntax Error on line 1, column 2: unexpected end of expression", "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"$\",<34>,line=1,col=1]", "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"$\",<34>,line=1,col=1]" ], [ "#{|", + "ERROR 2 Syntax Error on line 1, column 2: unexpected token: [\"{|\",<47>,line=1,col=2]", + "ERROR 2 Syntax Error on line 1, column 2: unexpected token: [\"{|\",<47>,line=1,col=2]", "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"#\",<32>,line=1,col=1]", "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"#\",<32>,line=1,col=1]" ], [ "#{a}", + "ERROR 4 Syntax Error on line 1, column 4: unexpected token: [\"}\",<40>,line=1,col=4]", + "ERROR 4 Syntax Error on line 1, column 4: unexpected token: [\"}\",<40>,line=1,col=4]", "ERROR 4 Syntax Error on line 1, column 4: expecting \"COLON\", found '}'", "ERROR 4 Syntax Error on line 1, column 4: expecting \"COLON\", found '}'" ], [ "#{a:1", + "ERROR 6 Syntax Error on line 1, column 6: unexpected end of expression", + "ERROR 6 Syntax Error on line 1, column 6: unexpected end of expression", "ERROR 6 Syntax Error on line 1, column 6: expecting \"RCURLY\", found ''", "ERROR 6 Syntax Error on line 1, column 6: expecting \"RCURLY\", found ''" ], [ "${", + "ERROR 3 Syntax Error on line 1, column 3: unexpected end of expression", + "ERROR 3 Syntax Error on line 1, column 3: unexpected end of expression", "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\"\",<1>,line=1,col=3]", "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\"\",<1>,line=1,col=3]" ], [ "$ {a}", + "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\"{\",<50>,line=1,col=3]", + "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\"{\",<50>,line=1,col=3]", "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"$\",<34>,line=1,col=1]", "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"$\",<34>,line=1,col=1]" ], [ "^{", + "ERROR 3 Syntax Error on line 1, column 3: unexpected end of expression", + "ERROR 3 Syntax Error on line 1, column 3: unexpected end of expression", "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\"\",<1>,line=1,col=3]", "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\"\",<1>,line=1,col=3]" ], [ "a?{b", + "ERROR 5 Syntax Error on line 1, column 5: unexpected end of expression", + "ERROR 5 Syntax Error on line 1, column 5: unexpected end of expression", "ERROR 5 Syntax Error on line 1, column 5: expecting \"RCURLY\", found ''", "ERROR 5 Syntax Error on line 1, column 5: expecting \"RCURLY\", found ''" ], [ "a?", + "ERROR 3 Syntax Error on line 1, column 3: unexpected end of expression", + "(Expression|4|expression (PropertyOrFieldNode|33|a))", "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\"\",<1>,line=1,col=3]", "(Expression|4|expression (PropertyOrFieldNode|33|a))" ], [ "!{", + "ERROR 3 Syntax Error on line 1, column 3: unexpected end of expression", + "ERROR 3 Syntax Error on line 1, column 3: unexpected end of expression", "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\"\",<1>,line=1,col=3]", "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\"\",<1>,line=1,col=3]" ], [ "!", + "ERROR 2 Syntax Error on line 1, column 2: unexpected end of expression", + "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"!\",<30>,line=1,col=1]", "ERROR 2 Syntax Error on line 1, column 2: unexpected token: [\"\",<1>,line=1,col=2]", "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"!\",<30>,line=1,col=1]" ], @@ -901,41 +983,57 @@ ], [ "new a", + "ERROR 6 Syntax Error on line 1, column 6: expecting \"EOF\", found ''", + "ERROR 6 Syntax Error on line 1, column 6: unexpected end of expression", "ERROR 6 Syntax Error on line 1, column 6: expecting \"LBRACKET\", found ''", "ERROR 6 Syntax Error on line 1, column 6: expecting \"LBRACKET\", found ''" ], [ "new a.", + "ERROR 6 Syntax Error on line 1, column 6: expecting \"EOF\", found '.'", + "ERROR 6 Syntax Error on line 1, column 6: unexpected token: [\".\",<31>,line=1,col=6]", "ERROR 7 Syntax Error on line 1, column 7: expecting \"ID\", found ''", "ERROR 7 Syntax Error on line 1, column 7: expecting \"ID\", found ''" ], [ "new a.b", + "ERROR 8 Syntax Error on line 1, column 8: expecting \"EOF\", found ''", + "ERROR 8 Syntax Error on line 1, column 8: unexpected end of expression", "ERROR 8 Syntax Error on line 1, column 8: expecting \"LBRACKET\", found ''", "ERROR 8 Syntax Error on line 1, column 8: expecting \"LBRACKET\", found ''" ], [ "new T(a)", + "ERROR 5 Syntax Error on line 1, column 5: unexpected token: [\"T(\",<44>,line=1,col=5]", + "ERROR 5 Syntax Error on line 1, column 5: unexpected token: [\"T(\",<44>,line=1,col=5]", "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"new\",<49>,line=1,col=1]", "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"new\",<49>,line=1,col=1]" ], [ "new a.T(b)", + "ERROR 6 Syntax Error on line 1, column 6: expecting \"EOF\", found '.'", + "ERROR 6 Syntax Error on line 1, column 6: unexpected token: [\".\",<31>,line=1,col=6]", "ERROR 7 Syntax Error on line 1, column 7: expecting \"ID\", found 'T('", "ERROR 7 Syntax Error on line 1, column 7: expecting \"ID\", found 'T('" ], [ "new a.in()", + "ERROR 6 Syntax Error on line 1, column 6: expecting \"EOF\", found '.'", + "ERROR 6 Syntax Error on line 1, column 6: unexpected token: [\".\",<31>,line=1,col=6]", "ERROR 7 Syntax Error on line 1, column 7: expecting \"ID\", found 'in'", "ERROR 7 Syntax Error on line 1, column 7: expecting \"ID\", found 'in'" ], [ "new 1", + "ERROR 5 Syntax Error on line 1, column 5: unexpected token: [\"1\",<51>,line=1,col=5]", + "ERROR 5 Syntax Error on line 1, column 5: unexpected token: [\"1\",<51>,line=1,col=5]", "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"new\",<49>,line=1,col=1]", "ERROR 1 Syntax Error on line 1, column 1: unexpected token: [\"new\",<49>,line=1,col=1]" ], [ "a.in", + "ERROR 5 Syntax Error on line 1, column 5: unexpected end of expression", + "(Expression|4|expression (PropertyOrFieldNode|33|a))", "ERROR 5 Syntax Error on line 1, column 5: unexpected token: [\"\",<1>,line=1,col=5]", "(Expression|4|expression (PropertyOrFieldNode|33|a))" ], @@ -946,11 +1044,15 @@ ], [ "a.new", + "ERROR 3 Syntax Error on line 1, column 3: expecting \"EOF\", found 'new'", + "(Expression|4|expression (PropertyOrFieldNode|33|a))", "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\"new\",<49>,line=1,col=3]", "(Expression|4|expression (PropertyOrFieldNode|33|a))" ], [ "a.true", + "ERROR 3 Syntax Error on line 1, column 3: expecting \"EOF\", found 'true'", + "(Expression|4|expression (PropertyOrFieldNode|33|a))", "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\"true\",<7>,line=1,col=3]", "(Expression|4|expression (PropertyOrFieldNode|33|a))" ], @@ -961,11 +1063,15 @@ ], [ "1 .2", + "ERROR 3 Syntax Error on line 1, column 3: expecting \"EOF\", found '.2'", + "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\".2\",<53>,line=1,col=3]", "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\".2\",<53>,line=1,col=3]", "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\".2\",<53>,line=1,col=3]" ], [ "1.2.3", + "ERROR 4 Syntax Error on line 1, column 4: expecting \"EOF\", found '.3'", + "ERROR 4 Syntax Error on line 1, column 4: unexpected token: [\".3\",<53>,line=1,col=4]", "ERROR 4 Syntax Error on line 1, column 4: unexpected token: [\".3\",<53>,line=1,col=4]", "ERROR 4 Syntax Error on line 1, column 4: unexpected token: [\".3\",<53>,line=1,col=4]" ], @@ -976,11 +1082,15 @@ ], [ "T(a:b)", + "ERROR 4 Syntax Error on line 1, column 4: unexpected token: [\":\",<23>,line=1,col=4]", + "ERROR 4 Syntax Error on line 1, column 4: unexpected token: [\":\",<23>,line=1,col=4]", "ERROR 4 Syntax Error on line 1, column 4: expecting \"RPAREN\", found ':'", "ERROR 4 Syntax Error on line 1, column 4: expecting \"RPAREN\", found ':'" ], [ "T('a')", + "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\"a\",<46>,line=1,col=3]", + "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\"a\",<46>,line=1,col=3]", "ERROR 3 Syntax Error on line 1, column 3: expecting \"ID\", found 'a'", "ERROR 3 Syntax Error on line 1, column 3: expecting \"ID\", found 'a'" ], @@ -1016,11 +1126,15 @@ ], [ "T(in)", + "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\"in\",<11>,line=1,col=3]", + "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\"in\",<11>,line=1,col=3]", "ERROR 3 Syntax Error on line 1, column 3: expecting \"ID\", found 'in'", "ERROR 3 Syntax Error on line 1, column 3: expecting \"ID\", found 'in'" ], [ "T(T(a))", + "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\"T(\",<44>,line=1,col=3]", + "ERROR 3 Syntax Error on line 1, column 3: unexpected token: [\"T(\",<44>,line=1,col=3]", "ERROR 3 Syntax Error on line 1, column 3: expecting \"ID\", found 'T('", "ERROR 3 Syntax Error on line 1, column 3: expecting \"ID\", found 'T('" ], @@ -1031,21 +1145,29 @@ ], [ "a b[", + "ERROR 5 Syntax Error on line 1, column 5: unexpected end of expression", + "ERROR 5 Syntax Error on line 1, column 5: unexpected end of expression", "ERROR 5 Syntax Error on line 1, column 5: unexpected token: [\"\",<1>,line=1,col=5]", "ERROR 5 Syntax Error on line 1, column 5: unexpected token: [\"\",<1>,line=1,col=5]" ], [ "a(b", + "ERROR 4 Syntax Error on line 1, column 4: unexpected end of expression", + "ERROR 4 Syntax Error on line 1, column 4: unexpected end of expression", "ERROR 4 Syntax Error on line 1, column 4: expecting \"RPAREN\", found ''", "ERROR 4 Syntax Error on line 1, column 4: expecting \"RPAREN\", found ''" ], [ "a +", + "ERROR 4 Syntax Error on line 1, column 4: unexpected end of expression", + "(Expression|4|expression (PropertyOrFieldNode|33|a))", "ERROR 4 Syntax Error on line 1, column 4: unexpected token: [\"\",<1>,line=1,col=4]", "(Expression|4|expression (PropertyOrFieldNode|33|a))" ], [ "a ?{", + "ERROR 5 Syntax Error on line 1, column 5: unexpected end of expression", + "ERROR 5 Syntax Error on line 1, column 5: unexpected end of expression", "ERROR 5 Syntax Error on line 1, column 5: unexpected token: [\"\",<1>,line=1,col=5]", "ERROR 5 Syntax Error on line 1, column 5: unexpected token: [\"\",<1>,line=1,col=5]" ], diff --git a/test/Spring/Spring.Core.Tests/Expressions/ExpressionGrammarTests.cs b/test/Spring/Spring.Core.Tests/Expressions/ExpressionGrammarTests.cs index e8bfa61c4..e2749b42f 100644 --- a/test/Spring/Spring.Core.Tests/Expressions/ExpressionGrammarTests.cs +++ b/test/Spring/Spring.Core.Tests/Expressions/ExpressionGrammarTests.cs @@ -43,6 +43,14 @@ private static T Internal(string method, string input) } } + /// Fails instead of hanging when parsing takes much longer than it should. + private static IExpression ParseWithinTimeLimit(string input) + { + var task = Task.Run(() => Expression.Parse(input)); + Assert.That(Task.WaitAny(new Task[] { task }, TimeSpan.FromSeconds(5)), Is.EqualTo(0), "Parsing took too long"); + return task.GetAwaiter().GetResult(); + } + private static string Describe(Func parse) { try @@ -56,31 +64,32 @@ private static string Describe(Func parse) } /// - /// The trees and syntax errors of the ANTLR 2 parser that this grammar replaced, when it was removed. A difference was - /// accepted only in the position or text of an error, that the new parser reports at the token it could not read. + /// The trees and syntax errors of the ANTLR 2 parser that this grammar replaced, written by that parser. The entries + /// with five items are the errors with a deliberate difference: the position or text of this parser, at the token it + /// could not read, then those of the former one, kept for reference. /// [Test] - public void SameTreesAsTheFormerParser() + public void SameTreesAndErrorsAsTheFormerParser() { - var root = TestContext.CurrentContext.TestDirectory; - while (!Directory.Exists(Path.Combine(root, "test"))) + string[][] entries; + using (var stream = typeof(ExpressionGrammarTests).Assembly.GetManifestResourceStream("Spring.Expressions.ExpressionGrammarGolden.json")) + using (var reader = new StreamReader(stream)) { - root = Path.GetDirectoryName(root); + entries = JsonConvert.DeserializeObject(reader.ReadToEnd()); } - var file = Path.Combine(root, "test", "Spring", "Spring.Core.Tests", "Expressions", "ExpressionGrammarGolden.json"); var failures = new StringBuilder(); - foreach (var entry in JsonConvert.DeserializeObject(File.ReadAllText(file))) + foreach (var entry in entries) { var input = entry[0]; var expression = Describe(() => Expression.Parse(input)); - if (expression != entry[1] && (!expression.StartsWith("ERROR") || !entry[1].StartsWith("ERROR"))) + var primary = Describe(() => Internal("ParsePrimary", input)); + if (expression != entry[1]) { failures.AppendLine($"{input}{Environment.NewLine} expected {entry[1]}{Environment.NewLine} actual {expression}"); } - var primary = Describe(() => Internal("ParsePrimary", input)); - if (primary != entry[2] && (!primary.StartsWith("ERROR") || !entry[2].StartsWith("ERROR"))) + if (primary != entry[2]) { failures.AppendLine($"primary {input}{Environment.NewLine} expected {entry[2]}{Environment.NewLine} actual {primary}"); } @@ -138,7 +147,7 @@ public void DepthOfParenthesesDoesNotCostExponentialTime() { // The former parser read each parenthesis twice: this one took 3 s at depth 18 and doubled with each level var input = new string('(', 50) + "1" + new string(')', 50); - Assert.That(Expression.Parse(input).GetValue(), Is.EqualTo(1)); + Assert.That(ParseWithinTimeLimit(input).GetValue(), Is.EqualTo(1)); } [TestCase("(", ")")] @@ -165,7 +174,7 @@ public void FailedNamedArgumentsAreNotReadAgain() { // Reading each one again as an assignment took 1.6 s at depth 22, and multiplied by 1.5 with each level var input = string.Concat(Enumerable.Repeat("new a(b=", 60)) + "1"; - Assert.Throws(() => Expression.Parse(input)); + Assert.Throws(() => ParseWithinTimeLimit(input)); } [Test] @@ -173,7 +182,7 @@ public void LongPathsTakeLinearTime() { // Appending a node walked the others, which took 11 s for this path var input = "a" + string.Concat(Enumerable.Repeat(".a", 160_000)); - Assert.That(Expression.Parse(input), Is.TypeOf()); + Assert.That(ParseWithinTimeLimit(input), Is.TypeOf()); } [TestCase(1_900, "-")] diff --git a/test/Spring/Spring.Core.Tests/Spring.Core.Tests.csproj b/test/Spring/Spring.Core.Tests/Spring.Core.Tests.csproj index cdf057e18..6be8f601d 100644 --- a/test/Spring/Spring.Core.Tests/Spring.Core.Tests.csproj +++ b/test/Spring/Spring.Core.Tests/Spring.Core.Tests.csproj @@ -57,6 +57,7 @@ + From 8eabfb3d049b5619bf7607b489a31d646a551a81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Ros?= <1165805+sebastienros@users.noreply.github.com> Date: Mon, 2 Nov 2026 16:37:31 -0800 Subject: [PATCH 12/17] Update the write-up after the second review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Sébastien Ros <1165805+sebastienros@users.noreply.github.com> --- PARLOT_PORT.md | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/PARLOT_PORT.md b/PARLOT_PORT.md index 85a7e43a8..e790066a5 100644 --- a/PARLOT_PORT.md +++ b/PARLOT_PORT.md @@ -9,7 +9,7 @@ embedded (101 files), the generated lexer and parser, the `Antlr` build target a - **The same expressions, the same trees.** Everything that was accepted is accepted, with the same node classes, the same token types and the same texts, and what was rejected is rejected. See [Equivalence](#equivalence). Evaluation - code is untouched. + only changes by a stack check, described below, whose cost is in [Benchmarks](#benchmarks). - **Parsing is 8 to 48 times faster, with 6.7 to 39 times fewer allocations, on .NET 8**, and 3 to 7 times faster on .NET Framework. An `ObjectWrapper` access by property name is 13 times faster, as it allocated a lexer and a parser to read a name. See [Benchmarks](#benchmarks). @@ -34,7 +34,7 @@ embedded (101 files), the generated lexer and parser, the `Antlr` build target a **Evaluation checks the stack too, which is new.** A long chain such as `1+1+1+...` parses without recursion in both, and then overflowed the stack when *evaluated*, at 3,000 terms in a 1 MB thread, and 1,900 prefix operators can do the - same on a smaller stack. `BaseNode` now calls `RuntimeHelpers.EnsureSufficientExecutionStack()` for each node it evaluates, so + same on a smaller stack. `BaseNode` now calls `RuntimeHelpers.EnsureSufficientExecutionStack()` for each node it evaluates or sets, so this is an `InsufficientExecutionStackException`. It costs time on prepared expressions, see [Benchmarks](#benchmarks). - **No Windows-only tool to change the grammar.** The grammar is C#, compiled by the normal build. - **Dependencies.** No package is added at run time for Parlot: `Parlot.SourceGenerator` is a build-only analyzer @@ -60,7 +60,7 @@ The repository ships on NuGet and these are breaking for code that used them, wh | `internal SyntaxErrorException : RecognitionException`, so `catch (RecognitionException)` | `public SyntaxErrorException : Exception`, with `Line`, `Column` and `Expression` | | `SyntaxErrorException.ToString()` was `line 1:6: ` | The usual text of an exception, with its stack trace | -Kept as they were: `Expression.Parse`, every node class and their constructors, `BaseNode`, the other members of +Kept as they were: `Expression.Parse`, every node class and their constructors, `BaseNode` (it now checks the stack in `GetValue` and `SetValue`, without a change of signature), the other members of `SpringAST` (`getText`, `setText`, `Type`, `Text`, `getNumberOfChildren`, `removeChildren`, `setType`, `ToStringList`, `ToStringTree`, `Equals(object)`), and `Spring.Expressions.Parser.ExpressionParserTokenTypes`, the values of `Type`. @@ -79,11 +79,12 @@ of both with a vocabulary of the tokens and their near misses. - An early run of 3.9 million parses found 21 differences, all from one lexer rule (`.` followed by a digit always starts a number, even an invalid one), now fixed. Before that, smaller runs found the other lexer and follow-set quirks listed below. - The final run: **1,571,952 parses, 615,238 accepted with identical trees, 956,714 rejected by both, no other result.** -- Run again on the final grammar, with the recursion limit left out and the fixes for named arguments and long paths, it gives the same counts. +- Run again on the final grammar, with the recursion limit left out, it gives the same counts. - The rejected ones have the same column in 91% of the cases, and the same column and message in 81%. `ExpressionGrammarTests` stays, with the trees and errors ANTLR gave for 216 expressions, chosen for the quirks of the -grammar, written to `ExpressionGrammarGolden.json` by ANTLR itself. +grammar, written to `ExpressionGrammarGolden.json` by ANTLR itself. They are compared exactly, for `Parse` and `ParsePrimary`: the 61 +entries where an error has another position or text hold both, this parser's as the expected one and ANTLR's for reference. The ANTLR grammar has unusual behaviour that this port keeps deliberately, because it decides what is accepted: a dot between nodes is optional (`a b` is `a.b`, `1 .a` and `a.` parse), `T(` is one token only without a space, `T(...)` reads any token @@ -113,7 +114,7 @@ Differences, all deliberate: | `Expressions/SpringAST.cs` | The child and sibling links, and the members of `antlr.BaseAST` that remain. | **Detaching the nodes.** Nodes kept their method names, and only the types of the variables walking them changed from `AST` -to `SpringAST`, so that the 60 node classes are almost untouched. The evaluation doesn't change. +to `SpringAST`, so that the 60 node classes are almost untouched. Apart from the stack check in `BaseNode`, the evaluation doesn't change. **PEG vs LL(2).** A PEG choice can backtrack where ANTLR commits to an alternative after looking at two tokens. Three things keep the same language: @@ -226,12 +227,12 @@ what remains is the first evaluation, so the gain shrinks as expected: A prepared `GetValue` doesn't depend on the parser, but it pays for the stack check `BaseNode` now does. Arm64, .NET 8, ANTLR then Parlot without the check then with it, one short run of each: Small 49 ns, 50 ns, 56 ns; Medium 816 ns, 749 ns, 806 ns; Large 2,042 ns, 1,972 ns, 2,382 ns, with the -same allocations. So about 8% to 21%, within the noise of this machine only for the smallest gaps. An application that evaluates prepared expressions in a +same allocations. The last run gave 57 ns, 781 ns and 2,354 ns. So about 4% to 21%, within the noise of this machine for the smallest gaps. An application that evaluates prepared expressions in a hot loop gives back that much, for not crashing on a deep tree. -The tables above were measured before the last fixes, which added the check, a field in `Expression` and the guard on named arguments. A new run on -Arm64 shows no change in parsing beyond the noise (Small 221 ns, Medium 1,161 ns, Large 7,872 ns), and 16 to 520 more bytes per parse, 8 for each primary -expression (552 B, 2,112 B, 12,608 B). x64 wasn't measured again. +The tables above were measured before the last fixes, which added the check, the guard on named arguments and a `Then` closing each primary expression, +with the same allocations. One new run on Arm64 is 5% to 12% slower at parsing than the tables (Small 243 ns, Medium 1,265 ns, Large 8,616 ns). That is within +what this machine varies under load, though it wasn't isolated, and the ratios to ANTLR stay at 8x to 42x there. x64 wasn't measured again. `ObjectWrapper.GetPropertyValue` parses the name on each call. `Name` takes the path that only reads a name (`ParseProperty`), `Friends[1].Address.City` the one that parses a primary expression (`ParsePrimary`): @@ -265,3 +266,4 @@ Nothing here blocked the port. Parlot 2.2.1: 7. **An entry point can't return where it stopped.** A rule without `Eof` needs `When((context, x) => ...)` reading `context.Scanner.Cursor` to check what follows. 8. **The stack per level is high before tier-up**: in a 1 MB thread, between 200 and 400 levels of parentheses on a first parse in Release, and 96 in the Debug test host. It is far more than ANTLR could reach in practice, and it fails cleanly. 9. **The generated code is large**: the assembly grows by 75 KB even though 101 ANTLR files and 6,000 generated lines go away. Parsers used twice (`methodOrProperty`, `arguments`) didn't look shared across the choices that use them; this wasn't investigated further. +10. **The failure overload doesn't say why a parse failed.** Reaching `MaxRecursionDepth` or the end of the stack returns `false` and a position, like a syntax error. The diagnostics overload has the reason but generates the grammar twice. So the message here is a guess from the depth at the failure: from 32 open brackets or prefix operators it says `unexpected token or expression nested too deeply`, including for a plain typo at that depth, and a real stack failure below it reads as an unexpected token. From f7d09b65fd6032772ee126e267062dc1acd3d234 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Ros?= <1165805+sebastienros@users.noreply.github.com> Date: Tue, 3 Nov 2026 15:06:32 -0800 Subject: [PATCH 13/17] Apply the notes for the 4.0 groundwork MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Move the breaking changes to the 4.0 items, suppress the API differences of removing the ANTLR runtime, and benchmark .NET 10. A 128 KB stack is less than the parser needs on Windows, where it failed before the tree could be evaluated. Signed-off-by: Sébastien Ros <1165805+sebastienros@users.noreply.github.com> --- BreakingChanges.txt | 32 +- PARLOT_PORT.md | 15 +- .../Spring.Core/CompatibilitySuppressions.xml | 2490 ++++++++++++++++- .../FrameworkAndCoreConfig.cs | 2 +- .../Expressions/ExpressionGrammarTests.cs | 2 +- 5 files changed, 2405 insertions(+), 136 deletions(-) diff --git a/BreakingChanges.txt b/BreakingChanges.txt index 3624c7081..4f8c4afb5 100644 --- a/BreakingChanges.txt +++ b/BreakingChanges.txt @@ -119,6 +119,22 @@ Changes (3.1 to 4.0) - Before: ActionExpressionText="#log.Fatal('msg', #e)" - After: ActionExpressionText="'msg'" LogLevel="Critical" +11. The expression language is parsed by a parser generated with Parlot at build time, without a + runtime dependency on it, instead of the ANTLR 2 runtime that Spring.Core embedded: + - The public types of the Spring.Expressions.Parser.antlr namespaces are gone. Spring.Expressions.SpringAST + has no base class any more, and getFirstChild, getNextSibling, addChild, setFirstChild and setNextSibling + use SpringAST instead of the AST interface. + - Syntax errors are still Spring.Expressions.SyntaxErrorException, which is now public and derives from + Exception: catch it instead of RecognitionException or TokenStreamRecognitionException. + - An error can report a later position than it did, at the token that could not be read, and its + message can be different. The expressions accepted and their trees are the same, and so is the serialized + form of a parsed expression. + - A nested expression too deep for the stack of the thread, or 2,000 levels of parentheses or prefix + operators, is a SyntaxErrorException instead of a stack overflow. + - Evaluating a tree too deep for the stack of the thread throws InsufficientExecutionStackException + instead of overflowing it. + - Spring.Core depends on System.Memory explicitly on .NET Framework and .NET Standard 2.0. + Changes (3.0.x to 3.1) ======================== @@ -142,22 +158,6 @@ Changes (3.0.x to 3.1) System.Memory and System.Runtime.CompilerServices.Unsafe (Visual Studio generates these automatically for projects with AutoGenerateBindingRedirects). -5. The expression language is parsed by a parser generated with Parlot at build time, without a - runtime dependency on it, instead of the ANTLR 2 runtime that Spring.Core embedded: - - The public types of the Spring.Expressions.Parser.antlr namespaces are gone. Spring.Expressions.SpringAST - has no base class any more, and getFirstChild, getNextSibling, addChild, setFirstChild and setNextSibling - use SpringAST instead of the AST interface. - - Syntax errors are still Spring.Expressions.SyntaxErrorException, which is now public and derives from - Exception: catch it instead of RecognitionException or TokenStreamRecognitionException. - - An error can report a later position than it did, at the token that could not be read, and its - message can be different. The expressions accepted and their trees are the same, and so is the serialized - form of a parsed expression. - - A nested expression too deep for the stack of the thread, or 2,000 levels of parentheses or prefix - operators, is a SyntaxErrorException instead of a stack overflow. - - Evaluating a tree too deep for the stack of the thread throws InsufficientExecutionStackException - instead of overflowing it. - - On .NET Framework, Spring.Core depends on System.ValueTuple, on all targets on System.Memory explicitly. - Changes (2.0 to 3.0) ======================== diff --git a/PARLOT_PORT.md b/PARLOT_PORT.md index e790066a5..507ef6082 100644 --- a/PARLOT_PORT.md +++ b/PARLOT_PORT.md @@ -39,8 +39,8 @@ embedded (101 files), the generated lexer and parser, the `Antlr` build target a - **No Windows-only tool to change the grammar.** The grammar is C#, compiled by the normal build. - **Dependencies.** No package is added at run time for Parlot: `Parlot.SourceGenerator` is a build-only analyzer (`PrivateAssets="all"`), which emits the parser into `Spring.Core`. The generated code needs `System.Memory` (now an - explicit dependency, it was already there through `Microsoft.Extensions.Logging.Abstractions`) and, on .NET Framework, - `System.ValueTuple`, which is new in the package. + explicit dependency, it was already there through `Microsoft.Extensions.Logging.Abstractions`) on .NET Framework and + .NET Standard 2.0. - **The assembly is 8% larger.** `Spring.Core.dll` goes from 908 KB to 983 KB (`netstandard2.0`, Release): the generated parser and its embedded support code are larger than the code they replace. @@ -70,7 +70,7 @@ entries. An expression serialized by the previous version was deserialized and e ## Equivalence -The history of this branch has `ParserDifferentialTests` (commit `40b43984`, removed when ANTLR could no longer run). It +The history of this branch has `ParserDifferentialTests` (commit `eecad8a5`, removed when ANTLR could no longer run). It runs the two parsers side by side, through all four entry points (`Parse`, `ParsePrimary`, `ParseProperty` and `ParseLambda`), and compares the printed trees (class, token type, text, children) and the errors. The inputs are 4,204 strings from the test suite and a hand-written list of edge cases, generated expressions covering each grammar rule, and random mutations @@ -137,8 +137,7 @@ parameter and `If`, as generating one each would triple the code. `ParseProperty **Why the generator rather than the `Parlot` runtime package:** `Spring.Core` embeds its parser and is strong-named, and the repository already builds with the .NET 10 SDK, which is what the generator requires. A consumer of the package doesn't -need this SDK. `net462` is below the 4.7.2 floor of the generator, but the code it generates works there: -four small targets in `Spring.Core.csproj` report 4.7.2 to the generator and give it the `netstandard` facade. The tests below ran on `net462`. +need this SDK. `net472`, the framework floor of 4.0, is also the floor of the generator, so it needs no MSBuild workaround. ## Tests @@ -152,6 +151,8 @@ Green reference and result of `Spring.Core.Tests`, whose `ExpressionEvaluatorTes The 5 failures are the same before and after, and don't touch expressions: currency and percent formatters that depend on the culture of the machine. The 32 new tests are `ExpressionGrammarTests`. +These figures predate the rebase onto the 4.0 groundwork. After it, `net10.0` on macOS has 2,494 passed, the same 5 failures and 92 skipped. + ## Benchmarks `test/Spring/Spring.Benchmark/ExpressionBenchmark.cs` only uses the public API, so that the same file runs against both versions. @@ -255,8 +256,8 @@ that parses a primary expression (`ParsePrimary`): Nothing here blocked the port. Parlot 2.2.1: -1. **`net462` is refused** (`PARLOT026`, floor 4.7.2), and the package's `netstandard` reference doesn't resolve on its reference assemblies, while the generated code works there. It takes four - MSBuild targets. Same finding as Lucene.NET. +1. **`net462` is refused** (`PARLOT026`, floor 4.7.2), and the package's `netstandard` reference doesn't resolve on its reference assemblies, while the generated code works there. This took four + MSBuild targets until the 4.0 floor moved to `net472`. Same finding as Lucene.NET. 2. **`PARLOT021` is misleading when a call doesn't bind.** `If(() => rule == x, a, If(...))` with parsers whose types made inference fail reported "may only be read inside supported parse-time callbacks" rather than the inference error, as the check requires a bound argument. Giving the type, `If(...)`, fixed it. 3. **`Unary` can't mix operator types**, although `docs/parsers.md` shows `.Unary((Terms.Char('-'), ...), (Terms.Text("not"), ...))`: `Unary(params ...)` can't be inferred. diff --git a/src/Spring/Spring.Core/CompatibilitySuppressions.xml b/src/Spring/Spring.Core/CompatibilitySuppressions.xml index 865588986..f4a270178 100644 --- a/src/Spring/Spring.Core/CompatibilitySuppressions.xml +++ b/src/Spring/Spring.Core/CompatibilitySuppressions.xml @@ -1,6 +1,748 @@  + + CP0001 + T:Spring.Expressions.Parser.antlr.ANTLRException + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.ANTLRPanicException + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.ASTFactory + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.ASTNodeCreator + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.ASTNULLType + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.ASTPair + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.ASTVisitor + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.BaseAST + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.ByteBuffer + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.CharBuffer + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.CharQueue + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.CharScanner + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.CharStreamException + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.CharStreamIOException + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.collections.AST + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.collections.impl.ASTArray + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.collections.impl.BitSet + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.CommonAST + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.CommonASTWithHiddenTokens + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.CommonHiddenStreamToken + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.CommonToken + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.ANTLREventArgs + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.DebuggingCharScanner + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.DebuggingInputBuffer + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.DebuggingParser + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.GuessingEventArgs + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.ICharScannerDebugSubject + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.IDebugSubject + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.InputBufferEventArgs + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.InputBufferEventSupport + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.InputBufferListener + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.InputBufferListenerBase + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.InputBufferReporter + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.IParserDebugSubject + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.Listener + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.LLkDebuggingParser + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.MatchEventArgs + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.MatchEventHandler + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.MessageEventArgs + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.MessageEventHandler + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.MessageListener + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.MessageListenerBase + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.NewLineEventArgs + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.NewLineEventHandler + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.NewLineListener + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.ParserController + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.ParserEventSupport + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.ParserListener + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.ParserListenerBase + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.ParserMatchListener + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.ParserMatchListenerBase + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.ParserReporter + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.ParserTokenListener + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.ParserTokenListenerBase + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.ParseTreeDebugParser + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.ScannerEventSupport + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.SemanticPredicateEventArgs + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.SemanticPredicateEventHandler + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.SemanticPredicateListener + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.SemanticPredicateListenerBase + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.SyntacticPredicateEventArgs + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.SyntacticPredicateEventHandler + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.SyntacticPredicateListener + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.SyntacticPredicateListenerBase + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.TokenEventArgs + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.TokenEventHandler + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.TraceEventArgs + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.TraceEventHandler + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.TraceListener + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.TraceListenerBase + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.Tracer + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.DefaultFileLineFormatter + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.DumpASTVisitor + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.FileLineFormatter + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.IHiddenStreamToken + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.InputBuffer + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.IToken + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.LexerSharedInputState + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.LLkParser + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.MismatchedCharException + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.MismatchedTokenException + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.NoViableAltException + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.NoViableAltForCharException + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.Parser + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.ParserSharedInputState + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.ParseTree + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.ParseTreeRule + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.ParseTreeToken + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.RecognitionException + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.SemanticException + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.StringUtils + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.Token + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.TokenBuffer + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.TokenCreator + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.TokenStream + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.TokenStreamBasicFilter + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.TokenStreamException + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.TokenStreamHiddenTokenFilter + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.TokenStreamIOException + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.TokenStreamRecognitionException + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.TokenStreamRetryException + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.TokenStreamRewriteEngine + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.TokenStreamSelector + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.TokenWithIndex + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.TreeParser + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.TreeParserSharedInputState + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + CP0001 T:Spring.Threading.CallContextStorage @@ -8,507 +750,2033 @@ lib/netstandard2.0/Spring.Core.dll true + + CP0001 + T:Spring.Expressions.Parser.antlr.ANTLRException + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.ANTLRPanicException + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.ASTFactory + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.ASTNodeCreator + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.ASTNULLType + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.ASTPair + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.ASTVisitor + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.BaseAST + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.ByteBuffer + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.CharBuffer + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.CharQueue + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.CharScanner + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.CharStreamException + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.CharStreamIOException + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.collections.AST + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.collections.impl.ASTArray + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.collections.impl.BitSet + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.CommonAST + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.CommonASTWithHiddenTokens + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.CommonHiddenStreamToken + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.CommonToken + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.ANTLREventArgs + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.DebuggingCharScanner + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.DebuggingInputBuffer + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.DebuggingParser + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.GuessingEventArgs + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.ICharScannerDebugSubject + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.IDebugSubject + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.InputBufferEventArgs + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.InputBufferEventSupport + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.InputBufferListener + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.InputBufferListenerBase + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.InputBufferReporter + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.IParserDebugSubject + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.Listener + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.LLkDebuggingParser + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.MatchEventArgs + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.MatchEventHandler + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.MessageEventArgs + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.MessageEventHandler + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.MessageListener + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.MessageListenerBase + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.NewLineEventArgs + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.NewLineEventHandler + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.NewLineListener + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.ParserController + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.ParserEventSupport + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.ParserListener + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.ParserListenerBase + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.ParserMatchListener + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.ParserMatchListenerBase + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.ParserReporter + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.ParserTokenListener + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.ParserTokenListenerBase + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.ParseTreeDebugParser + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.ScannerEventSupport + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.SemanticPredicateEventArgs + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.SemanticPredicateEventHandler + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.SemanticPredicateListener + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.SemanticPredicateListenerBase + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.SyntacticPredicateEventArgs + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.SyntacticPredicateEventHandler + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.SyntacticPredicateListener + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.SyntacticPredicateListenerBase + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.TokenEventArgs + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.TokenEventHandler + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.TraceEventArgs + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.TraceEventHandler + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.TraceListener + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.TraceListenerBase + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.debug.Tracer + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.DefaultFileLineFormatter + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.DumpASTVisitor + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.FileLineFormatter + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.IHiddenStreamToken + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.InputBuffer + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.IToken + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.LexerSharedInputState + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.LLkParser + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.MismatchedCharException + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.MismatchedTokenException + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.NoViableAltException + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.NoViableAltForCharException + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.Parser + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.ParserSharedInputState + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.ParseTree + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.ParseTreeRule + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.ParseTreeToken + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.RecognitionException + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.SemanticException + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.StringUtils + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.Token + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.TokenBuffer + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.TokenCreator + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.TokenStream + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.TokenStreamBasicFilter + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.TokenStreamException + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.TokenStreamHiddenTokenFilter + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.TokenStreamIOException + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.TokenStreamRecognitionException + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.TokenStreamRetryException + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.TokenStreamRewriteEngine + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.TokenStreamSelector + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.TokenWithIndex + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.TreeParser + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0001 + T:Spring.Expressions.Parser.antlr.TreeParserSharedInputState + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0002 + M:Spring.Expressions.SpringAST.#ctor(Spring.Expressions.Parser.antlr.IToken) + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0002 + M:Spring.Expressions.SpringAST.#ctor(Spring.Expressions.Parser.antlr.IToken) + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0007 + T:Spring.Expressions.SpringAST + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0007 + T:Spring.Expressions.SpringAST + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Caching.BaseCacheAttribute + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Caching.CacheParameterAttribute + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Caching.CacheResultAttribute + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Caching.CacheResultItemsAttribute + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Caching.InvalidateCacheAttribute + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Collections.NoElementsException + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Context.ApplicationContextException + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Context.Attributes.ConfigurationAttribute + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Context.Attributes.DependsOnAttribute + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Context.Attributes.ImportAttribute + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Context.Attributes.ImportResourceAttribute + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Context.Attributes.LazyAttribute + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Context.Attributes.ObjectDefAttribute + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Context.Attributes.ScopeAttribute + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Context.EventListenerAttribute + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Context.NoSuchMessageException + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Context.Support.ReferenceNode + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Core.CannotLoadObjectTypeException + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Core.InvalidPropertyException + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Core.MethodInvocationException + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Core.NotReadablePropertyException + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Core.NotWritablePropertyException + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Core.NullValueInNestedPathException + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Core.PropertyAccessException + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Core.TypeMismatchException + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.ArrayConstructorNode + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.AssignNode + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.AttributeNode + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.BaseNode + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.BaseNode.ArgumentMismatchException + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.BinaryOperator + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.BooleanLiteralNode + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.ConstructorNode + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.DefaultNode + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.Expression + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.ExpressionListNode + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.FunctionNode + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.HexLiteralNode + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.IndexerNode + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.IntLiteralNode + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.LambdaExpressionNode + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.ListInitializerNode + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.LocalFunctionNode + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.LocalVariableNode + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.MapEntryNode + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.MapInitializerNode + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.MethodNode + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.NamedArgumentNode + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.NodeWithArguments + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.NullLiteralNode + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.OpADD + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.OpAND + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.OpBetween + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.OpDIVIDE + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.OpEqual + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.OpGreater + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.OpGreaterOrEqual + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.OpIn + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.OpIs + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.OpLess + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.OpLessOrEqual + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.OpLike + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.OpMatches + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.OpMODULUS + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.OpMULTIPLY + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.OpNOT + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.OpNotEqual + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.OpOR + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.OpPOWER + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.OpSUBTRACT + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.OpUnaryMinus + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.OpUnaryPlus + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.OpXOR + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.ProjectionNode + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.PropertyOrFieldNode + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.QualifiedIdentifier + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.RealLiteralNode + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.SelectionFirstNode + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.SelectionLastNode + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.SelectionNode + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.SpringAST + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.StringLiteralNode + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.TernaryNode + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.TypeNode + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.UnaryOperator + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.VariableNode + lib/net462/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + CP0008 - T:Spring.Caching.BaseCacheAttribute + T:Spring.Objects.Factory.Attributes.AutowiredAttribute lib/net462/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Caching.CacheParameterAttribute + T:Spring.Objects.Factory.Attributes.PostConstructAttribute lib/net462/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Caching.CacheResultAttribute + T:Spring.Objects.Factory.Attributes.PreDestroyAttribute lib/net462/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Caching.CacheResultItemsAttribute + T:Spring.Objects.Factory.Attributes.QualifierAttribute lib/net462/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Caching.InvalidateCacheAttribute + T:Spring.Objects.Factory.Attributes.RequiredAttribute lib/net462/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Collections.NoElementsException + T:Spring.Objects.Factory.Attributes.ValueAttribute lib/net462/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Context.ApplicationContextException + T:Spring.Objects.Factory.FactoryObjectNotInitializedException lib/net462/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Context.Attributes.ConfigurationAttribute + T:Spring.Objects.Factory.NoSuchObjectDefinitionException lib/net462/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Context.Attributes.DependsOnAttribute + T:Spring.Objects.Factory.ObjectCreationException lib/net462/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Context.Attributes.ImportAttribute + T:Spring.Objects.Factory.ObjectCurrentlyInCreationException lib/net462/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Context.Attributes.ImportResourceAttribute + T:Spring.Objects.Factory.ObjectDefinitionException lib/net462/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Context.Attributes.LazyAttribute + T:Spring.Objects.Factory.ObjectDefinitionStoreException lib/net462/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Context.Attributes.ObjectDefAttribute + T:Spring.Objects.Factory.ObjectInitializationException lib/net462/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Context.Attributes.ScopeAttribute + T:Spring.Objects.Factory.ObjectIsNotAFactoryException lib/net462/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Context.EventListenerAttribute + T:Spring.Objects.Factory.ObjectNotOfRequiredTypeException lib/net462/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Context.NoSuchMessageException + T:Spring.Objects.Factory.Parsing.ObjectDefinitionParsingException lib/net462/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Core.CannotLoadObjectTypeException + T:Spring.Objects.Factory.Support.ObjectDefinitionValidationException lib/net462/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Core.InvalidPropertyException + T:Spring.Objects.Factory.UnsatisfiedDependencyException lib/net462/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Core.MethodInvocationException + T:Spring.Objects.Factory.Xml.NamespaceParserAttribute lib/net462/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Core.NotReadablePropertyException + T:Spring.Objects.FatalObjectException lib/net462/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Core.NotWritablePropertyException + T:Spring.Objects.ObjectsException lib/net462/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Core.NullValueInNestedPathException + T:Spring.Objects.PropertyAccessExceptionsException lib/net462/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Core.PropertyAccessException + T:Spring.Pool.PoolException lib/net462/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Core.TypeMismatchException + T:Spring.Proxy.ProxyIgnoreAttribute lib/net462/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Expressions.BaseNode.ArgumentMismatchException + T:Spring.Stereotype.ComponentAttribute lib/net462/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Expressions.Parser.antlr.ANTLRException + T:Spring.Stereotype.ControllerAttribute lib/net462/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Expressions.Parser.antlr.ANTLRPanicException + T:Spring.Stereotype.RepositoryAttribute lib/net462/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Expressions.Parser.antlr.CharStreamException + T:Spring.Stereotype.ServiceAttribute lib/net462/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Expressions.Parser.antlr.CharStreamIOException + T:Spring.Threading.TimeoutException lib/net462/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Expressions.Parser.antlr.MismatchedCharException + T:Spring.Util.FatalReflectionException lib/net462/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Expressions.Parser.antlr.MismatchedTokenException + T:Spring.Util.ReflectionException lib/net462/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Expressions.Parser.antlr.NoViableAltException + T:Spring.Validation.ValidatedAttribute lib/net462/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Expressions.Parser.antlr.NoViableAltForCharException + T:Spring.Validation.ValidationException lib/net462/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Expressions.Parser.antlr.RecognitionException - lib/net462/Spring.Core.dll + T:Spring.Context.Support.ReferenceNode + lib/netstandard2.0/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Expressions.Parser.antlr.SemanticException - lib/net462/Spring.Core.dll + T:Spring.Expressions.ArrayConstructorNode + lib/netstandard2.0/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Expressions.Parser.antlr.TokenStreamException - lib/net462/Spring.Core.dll + T:Spring.Expressions.AssignNode + lib/netstandard2.0/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Expressions.Parser.antlr.TokenStreamIOException - lib/net462/Spring.Core.dll + T:Spring.Expressions.AttributeNode + lib/netstandard2.0/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Expressions.Parser.antlr.TokenStreamRecognitionException - lib/net462/Spring.Core.dll + T:Spring.Expressions.BaseNode + lib/netstandard2.0/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Expressions.Parser.antlr.TokenStreamRetryException - lib/net462/Spring.Core.dll + T:Spring.Expressions.BinaryOperator + lib/netstandard2.0/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Objects.Factory.Attributes.AutowiredAttribute - lib/net462/Spring.Core.dll + T:Spring.Expressions.BooleanLiteralNode + lib/netstandard2.0/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Objects.Factory.Attributes.PostConstructAttribute - lib/net462/Spring.Core.dll + T:Spring.Expressions.ConstructorNode + lib/netstandard2.0/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Objects.Factory.Attributes.PreDestroyAttribute - lib/net462/Spring.Core.dll + T:Spring.Expressions.DefaultNode + lib/netstandard2.0/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Objects.Factory.Attributes.QualifierAttribute - lib/net462/Spring.Core.dll + T:Spring.Expressions.Expression + lib/netstandard2.0/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Objects.Factory.Attributes.RequiredAttribute - lib/net462/Spring.Core.dll + T:Spring.Expressions.ExpressionListNode + lib/netstandard2.0/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Objects.Factory.Attributes.ValueAttribute - lib/net462/Spring.Core.dll + T:Spring.Expressions.FunctionNode + lib/netstandard2.0/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Objects.Factory.FactoryObjectNotInitializedException - lib/net462/Spring.Core.dll + T:Spring.Expressions.HexLiteralNode + lib/netstandard2.0/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Objects.Factory.NoSuchObjectDefinitionException - lib/net462/Spring.Core.dll + T:Spring.Expressions.IndexerNode + lib/netstandard2.0/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Objects.Factory.ObjectCreationException - lib/net462/Spring.Core.dll + T:Spring.Expressions.IntLiteralNode + lib/netstandard2.0/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Objects.Factory.ObjectCurrentlyInCreationException - lib/net462/Spring.Core.dll + T:Spring.Expressions.LambdaExpressionNode + lib/netstandard2.0/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Objects.Factory.ObjectDefinitionException - lib/net462/Spring.Core.dll + T:Spring.Expressions.ListInitializerNode + lib/netstandard2.0/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Objects.Factory.ObjectDefinitionStoreException - lib/net462/Spring.Core.dll + T:Spring.Expressions.LocalFunctionNode + lib/netstandard2.0/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Objects.Factory.ObjectInitializationException - lib/net462/Spring.Core.dll + T:Spring.Expressions.LocalVariableNode + lib/netstandard2.0/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Objects.Factory.ObjectIsNotAFactoryException - lib/net462/Spring.Core.dll + T:Spring.Expressions.MapEntryNode + lib/netstandard2.0/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Objects.Factory.ObjectNotOfRequiredTypeException - lib/net462/Spring.Core.dll + T:Spring.Expressions.MapInitializerNode + lib/netstandard2.0/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Objects.Factory.Parsing.ObjectDefinitionParsingException - lib/net462/Spring.Core.dll + T:Spring.Expressions.MethodNode + lib/netstandard2.0/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Objects.Factory.Support.ObjectDefinitionValidationException - lib/net462/Spring.Core.dll + T:Spring.Expressions.NamedArgumentNode + lib/netstandard2.0/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Objects.Factory.UnsatisfiedDependencyException - lib/net462/Spring.Core.dll + T:Spring.Expressions.NodeWithArguments + lib/netstandard2.0/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Objects.Factory.Xml.NamespaceParserAttribute - lib/net462/Spring.Core.dll + T:Spring.Expressions.NullLiteralNode + lib/netstandard2.0/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Objects.FatalObjectException - lib/net462/Spring.Core.dll + T:Spring.Expressions.OpADD + lib/netstandard2.0/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Objects.ObjectsException - lib/net462/Spring.Core.dll + T:Spring.Expressions.OpAND + lib/netstandard2.0/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Objects.PropertyAccessExceptionsException - lib/net462/Spring.Core.dll + T:Spring.Expressions.OpBetween + lib/netstandard2.0/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Pool.PoolException - lib/net462/Spring.Core.dll + T:Spring.Expressions.OpDIVIDE + lib/netstandard2.0/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Proxy.ProxyIgnoreAttribute - lib/net462/Spring.Core.dll + T:Spring.Expressions.OpEqual + lib/netstandard2.0/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Stereotype.ComponentAttribute - lib/net462/Spring.Core.dll + T:Spring.Expressions.OpGreater + lib/netstandard2.0/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Stereotype.ControllerAttribute - lib/net462/Spring.Core.dll + T:Spring.Expressions.OpGreaterOrEqual + lib/netstandard2.0/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Stereotype.RepositoryAttribute - lib/net462/Spring.Core.dll + T:Spring.Expressions.OpIn + lib/netstandard2.0/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Stereotype.ServiceAttribute - lib/net462/Spring.Core.dll + T:Spring.Expressions.OpIs + lib/netstandard2.0/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Threading.TimeoutException - lib/net462/Spring.Core.dll + T:Spring.Expressions.OpLess + lib/netstandard2.0/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Util.FatalReflectionException - lib/net462/Spring.Core.dll + T:Spring.Expressions.OpLessOrEqual + lib/netstandard2.0/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Util.ReflectionException - lib/net462/Spring.Core.dll + T:Spring.Expressions.OpLike + lib/netstandard2.0/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Validation.ValidatedAttribute - lib/net462/Spring.Core.dll + T:Spring.Expressions.OpMatches + lib/netstandard2.0/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true CP0008 - T:Spring.Validation.ValidationException - lib/net462/Spring.Core.dll + T:Spring.Expressions.OpMODULUS + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.OpMULTIPLY + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.OpNOT + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.OpNotEqual + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.OpOR + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.OpPOWER + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.OpSUBTRACT + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.OpUnaryMinus + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.OpUnaryPlus + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.OpXOR + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.ProjectionNode + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.PropertyOrFieldNode + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.QualifiedIdentifier + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.RealLiteralNode + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.SelectionFirstNode + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.SelectionLastNode + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.SelectionNode + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.SpringAST + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.StringLiteralNode + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.TernaryNode + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.TypeNode + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.UnaryOperator + lib/netstandard2.0/Spring.Core.dll + lib/netstandard2.0/Spring.Core.dll + true + + + CP0008 + T:Spring.Expressions.VariableNode + lib/netstandard2.0/Spring.Core.dll lib/netstandard2.0/Spring.Core.dll true diff --git a/test/Spring/Spring.Benchmark/FrameworkAndCoreConfig.cs b/test/Spring/Spring.Benchmark/FrameworkAndCoreConfig.cs index defdc4ae8..ed2771c27 100644 --- a/test/Spring/Spring.Benchmark/FrameworkAndCoreConfig.cs +++ b/test/Spring/Spring.Benchmark/FrameworkAndCoreConfig.cs @@ -10,7 +10,7 @@ public class FrameworkAndCoreConfig : ManualConfig { public FrameworkAndCoreConfig() { - AddJob(Job.Default.WithRuntime(CoreRuntime.Core80)); + AddJob(Job.Default.WithRuntime(CoreRuntime.Core10_0)); if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { diff --git a/test/Spring/Spring.Core.Tests/Expressions/ExpressionGrammarTests.cs b/test/Spring/Spring.Core.Tests/Expressions/ExpressionGrammarTests.cs index e2749b42f..c649300f6 100644 --- a/test/Spring/Spring.Core.Tests/Expressions/ExpressionGrammarTests.cs +++ b/test/Spring/Spring.Core.Tests/Expressions/ExpressionGrammarTests.cs @@ -203,7 +203,7 @@ public void EvaluatingTooDeepATreeThrows(int count, string repeated) { exception = e; } - }, 128 * 1024); + }, 256 * 1024); thread.Start(); thread.Join(); From bd4974f884376152424902f434625d4cd1ea33a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Ros?= <1165805+sebastienros@users.noreply.github.com> Date: Tue, 3 Nov 2026 16:41:30 -0800 Subject: [PATCH 14/17] Fix the examples restore and the build schema MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The examples pin transitive packages, and their test adapters need a newer System.Memory than the floor of the libraries. The Antlr target is gone from the schema, which the next build would rewrite. Signed-off-by: Sébastien Ros <1165805+sebastienros@users.noreply.github.com> --- .fallout/build.schema.json | 1 - PARLOT_PORT.md | 270 ------------------------------ examples/Directory.Packages.props | 7 + 3 files changed, 7 insertions(+), 271 deletions(-) delete mode 100644 PARLOT_PORT.md create mode 100644 examples/Directory.Packages.props diff --git a/.fallout/build.schema.json b/.fallout/build.schema.json index d94f6a5ba..de5699384 100644 --- a/.fallout/build.schema.json +++ b/.fallout/build.schema.json @@ -24,7 +24,6 @@ "ExecutableTarget": { "type": "string", "enum": [ - "Antlr", "Ci", "Clean", "Compile", diff --git a/PARLOT_PORT.md b/PARLOT_PORT.md deleted file mode 100644 index 507ef6082..000000000 --- a/PARLOT_PORT.md +++ /dev/null @@ -1,270 +0,0 @@ -# Replace ANTLR with Parlot in the expression language - -This branch replaces the ANTLR 2 parser of `Spring.Expressions` with a parser generated at build time by -[Parlot](https://github.com/sebastienros/parlot)'s source generator, and removes the ANTLR 2.7 runtime that `Spring.Core` -embedded (101 files), the generated lexer and parser, the `Antlr` build target and the Windows-only tool it ran: -18,348 lines deleted, 915 added for the parser (184 of grammar, 731 of tokens, tree building and errors). - -## What changes for users - -- **The same expressions, the same trees.** Everything that was accepted is accepted, with the same node classes, the - same token types and the same texts, and what was rejected is rejected. See [Equivalence](#equivalence). Evaluation - only changes by a stack check, described below, whose cost is in [Benchmarks](#benchmarks). -- **Parsing is 8 to 48 times faster, with 6.7 to 39 times fewer allocations, on .NET 8**, and 3 to 7 times faster on - .NET Framework. An `ObjectWrapper` access by property name is 13 times faster, as it allocated a lexer and a parser to - read a name. See [Benchmarks](#benchmarks). -- **A denial of service is fixed.** The ANTLR grammar decides between `(a)` and `(a;b)` by parsing the expression with a - syntactic predicate, then parsing it again. Nested, that doubles the time with each level: - - | Depth of `((((1))))` | 14 | 16 | 18 | 20 | 22 | 50 | 200 | - |---|--:|--:|--:|--:|--:|--:|--:| - | ANTLR | 207 ms | 771 ms | 3.1 s | 12.5 s | 49 s | about 400 years | not measurable | - | Parlot, with the JIT of the first parse of the process | | | | | 7 ms | 7 ms | 7 ms | - - A 45-character expression takes one core for 49 seconds with ANTLR, and any application that evaluates an expression it - did not write is exposed, even when the expression is then rejected. (The time for depth 50 is extrapolated from the others.) -- **Deep nesting is a syntax error instead of a crash.** Past the limits below, ANTLR overflows the stack, which .NET - doesn't let code catch: the runtime terminates the process. The new parser checks the stack in its recursive rule, and - limits nesting to 2,000 levels, as the evaluator recurses too. Measured in a 1 MB thread, on a first parse: - - | | ANTLR | Parlot | - |---|---|---| - | `((((1))))` | over 22 is impractical, see above | 200 levels work, 400 are a `SyntaxErrorException` | - | `----1` | 3,000 work, 5,000 crash the process | 1,500 work, 2,500 are a `SyntaxErrorException`, whatever the length | - - **Evaluation checks the stack too, which is new.** A long chain such as `1+1+1+...` parses without recursion in both, - and then overflowed the stack when *evaluated*, at 3,000 terms in a 1 MB thread, and 1,900 prefix operators can do the - same on a smaller stack. `BaseNode` now calls `RuntimeHelpers.EnsureSufficientExecutionStack()` for each node it evaluates or sets, so - this is an `InsufficientExecutionStackException`. It costs time on prepared expressions, see [Benchmarks](#benchmarks). -- **No Windows-only tool to change the grammar.** The grammar is C#, compiled by the normal build. -- **Dependencies.** No package is added at run time for Parlot: `Parlot.SourceGenerator` is a build-only analyzer - (`PrivateAssets="all"`), which emits the parser into `Spring.Core`. The generated code needs `System.Memory` (now an - explicit dependency, it was already there through `Microsoft.Extensions.Logging.Abstractions`) on .NET Framework and - .NET Standard 2.0. -- **The assembly is 8% larger.** `Spring.Core.dll` goes from 908 KB to 983 KB (`netstandard2.0`, Release): the generated - parser and its embedded support code are larger than the code they replace. - -## Public API changes - -The repository ships on NuGet and these are breaking for code that used them, which is also listed in -`BreakingChanges.txt`. They need a recompilation at least, as return types change: - -| Before | After | -|---|---| -| All public types of `Spring.Expressions.Parser.antlr` and `.antlr.collections` (`BaseAST`, `AST`, `IToken`, `RecognitionException`, `TokenStreamRecognitionException`, `CharScanner`, ...) | Removed | -| `SpringAST : antlr.BaseAST, ISerializable` | `SpringAST : ISerializable` | -| `getFirstChild()`, `getNextSibling()` returning `AST` | Return `SpringAST` | -| `addChild(AST)`, `setFirstChild(AST)`, `setNextSibling(AST)`, `initialize(AST)`, `Equals(AST)` | Take `SpringAST` | -| `SpringAST(IToken)`, `initialize(IToken)` | Removed | -| Members of `BaseAST` nothing used: `EqualsList`, `EqualsListPartial`, `EqualsTree`, `EqualsTreePartial`, `findAll`, `findAllPartial`, `setVerboseStringConversion`, `ToTree`, `decode`, `encode`, `xmlSerialize*`, `Clone` | Removed | -| `internal SyntaxErrorException : RecognitionException`, so `catch (RecognitionException)` | `public SyntaxErrorException : Exception`, with `Line`, `Column` and `Expression` | -| `SyntaxErrorException.ToString()` was `line 1:6: ` | The usual text of an exception, with its stack trace | - -Kept as they were: `Expression.Parse`, every node class and their constructors, `BaseNode` (it now checks the stack in `GetValue` and `SetValue`, without a change of signature), the other members of -`SpringAST` (`getText`, `setText`, `Type`, `Text`, `getNumberOfChildren`, `removeChildren`, `setType`, `ToStringList`, -`ToStringTree`, `Equals(object)`), and `Spring.Expressions.Parser.ExpressionParserTokenTypes`, the values of `Type`. - -**Serialization is compatible in both directions.** `SpringAST` writes the same `down`, `right`, `ttype` and `text` -entries. An expression serialized by the previous version was deserialized and evaluated by this one with -`BinaryFormatter`, and the other way around. The `BinaryFormatter` and SOAP tests of `ExpressionEvaluatorTests` pass. - -## Equivalence - -The history of this branch has `ParserDifferentialTests` (commit `eecad8a5`, removed when ANTLR could no longer run). It -runs the two parsers side by side, through all four entry points (`Parse`, `ParsePrimary`, `ParseProperty` and -`ParseLambda`), and compares the printed trees (class, token type, text, children) and the errors. The inputs are 4,204 -strings from the test suite and a hand-written list of edge cases, generated expressions covering each grammar rule, and random mutations -of both with a vocabulary of the tokens and their near misses. - -- An early run of 3.9 million parses found 21 differences, all from one lexer rule (`.` followed by a digit always starts a number, - even an invalid one), now fixed. Before that, smaller runs found the other lexer and follow-set quirks listed below. -- The final run: **1,571,952 parses, 615,238 accepted with identical trees, 956,714 rejected by both, no other result.** -- Run again on the final grammar, with the recursion limit left out, it gives the same counts. -- The rejected ones have the same column in 91% of the cases, and the same column and message in 81%. - -`ExpressionGrammarTests` stays, with the trees and errors ANTLR gave for 216 expressions, chosen for the quirks of the -grammar, written to `ExpressionGrammarGolden.json` by ANTLR itself. They are compared exactly, for `Parse` and `ParsePrimary`: the 61 -entries where an error has another position or text hold both, this parser's as the expected one and ANTLR's for reference. - -The ANTLR grammar has unusual behaviour that this port keeps deliberately, because it decides what is accepted: a dot between -nodes is optional (`a b` is `a.b`, `1 .a` and `a.` parse), `T(` is one token only without a space, `T(...)` reads any token -up to `)`, a real number with a fraction has to have a valid exponent after `e` while an integer doesn't (`1.5ex` fails, `1ex` -is `1` then `ex`), `Ul` is not an integer suffix but `lU` is, keywords can't be property names, the relational and power -operators don't chain, the line of an error is always 1 and its column counts a tab as moving to the next multiple of 8. - -Differences, all deliberate: - -- **Positions and messages of syntax errors.** An error is reported at the furthest token reached, where ANTLR's LL(2) - prediction often reports the token before it: for `#hope.floats#` it reported `floats`, and now `#`. Where an error - named the expected token, such as `expecting "RPAREN", found 'x'`, it is usually now `unexpected token: ["x",<33>,line=1,col=5]`. - Most lexical errors, and the messages of `ParseLambda` and `ParseProperty` are as they were. -- **`￿` in the input.** ANTLR took that char for the end of the input and ignored what followed. It is now an - invalid char. -- **`QualifiedIdentifier` has no children.** ANTLR kept one child per token of the name, which only served to rebuild its - text; the text is now whole. `getText()` returns the same value. -- **The nesting limits above.** The parser doesn't return why it failed, so at 32 or more open brackets or prefix operators an error reads - `unexpected token or expression nested too deeply: "("`, which can also be a plain syntax error at that depth. - -## Design - -| File | Role | -|---|---| -| `Expressions/ExpressionGrammar.parlot.cs` | The grammar, a port of `Expression.g`. Build-only: read by the generator, not compiled. | -| `Expressions/ExpressionGrammar.cs` | The generated `TryParse` declaration, the tokens as `Terms.Scan` scanners, the nodes and the errors. | -| `Expressions/SpringAST.cs` | The child and sibling links, and the members of `antlr.BaseAST` that remain. | - -**Detaching the nodes.** Nodes kept their method names, and only the types of the variables walking them changed from `AST` -to `SpringAST`, so that the 60 node classes are almost untouched. Apart from the stack check in `BaseNode`, the evaluation doesn't change. - -**PEG vs LL(2).** A PEG choice can backtrack where ANTLR commits to an alternative after looking at two tokens. Three things keep the same language: - -- Tokens are scanned as ANTLR's lexer does: `^` doesn't match the start of `^{`, `{` doesn't match `{|`, `.` doesn't match `.5`. Otherwise, - `a^{b,c}`, an error, would be read again as `a ^ {b,c}`. -- A name followed by `(` can only be a call, so `a(b;c)` isn't read again as a property followed by an expression list. This is `Not(lparen)` in - the grammar. -- `Parse` needs the end of the input, so a failed alternative can't be accepted. `ParsePrimary` doesn't, and checks what follows it with - the follow sets of the ANTLR grammar (`CanFollowPrimary`). - -**Named arguments.** ANTLR commits to a named argument when it sees a name and `=`. Without that, a failed one was read again as an assignment, which -took exponential time on nested `new a(b=` (1.6 s at 177 chars), so the other alternative starts with `Not(id.AndSkip(assign))`. - -**Operator tables.** `Operators()` handles the unary and the left-associative levels. The relational and the power levels -don't chain, and the third operand of `?:` is a whole expression, which a table can't express, so these remain sequences. There -are three tables and three sequences rather than one table, on which one expression spends a little more than it could. - -**One grammar, three rules.** `Parse`, `ParsePrimary` and `ParseLambda` share one generated parser through a configuration -parameter and `If`, as generating one each would triple the code. `ParseProperty` is a scan by hand. - -**Why the generator rather than the `Parlot` runtime package:** `Spring.Core` embeds its parser and is strong-named, -and the repository already builds with the .NET 10 SDK, which is what the generator requires. A consumer of the package doesn't -need this SDK. `net472`, the framework floor of 4.0, is also the floor of the generator, so it needs no MSBuild workaround. - -## Tests - -Green reference and result of `Spring.Core.Tests`, whose `ExpressionEvaluatorTests` (133 tests) only compile on .NET Framework: - -| | Before | After | -|---|---|---| -| `net462`, Windows | 2,741 passed, 0 failed, 23 skipped | 2,773 passed, 0 failed, 23 skipped | -| `net8.0`, macOS | 2,458 passed, 5 failed, 20 skipped | 2,490 passed, 5 failed, 20 skipped | - -The 5 failures are the same before and after, and don't touch expressions: currency and percent formatters that depend on the culture of the -machine. The 32 new tests are `ExpressionGrammarTests`. - -These figures predate the rebase onto the 4.0 groundwork. After it, `net10.0` on macOS has 2,494 passed, the same 5 failures and 92 skipped. - -## Benchmarks - -`test/Spring/Spring.Benchmark/ExpressionBenchmark.cs` only uses the public API, so that the same file runs against both versions. -The commit that adds it (`25c6a0de`) still has ANTLR: - -```bash -git worktree add ../spring-antlr 25c6a0de -cp test/Spring/Spring.Benchmark/*.cs ../spring-antlr/test/Spring/Spring.Benchmark/ -# In each checkout: -dotnet run -c Release -f net8.0 --project test/Spring/Spring.Benchmark/Spring.Benchmark.csproj -- --filter '*ExpressionBenchmark*' '*ObjectWrapperBenchmark*' --job short -``` - -The expressions: *Small* is `Name.Length + 1` (15 chars), *Medium* a conditional with two property paths (86 chars), *Large* seven terms with selections, -projections, list and map initializers, a type, a constructor, a lambda and an expression list (491 chars). - -BenchmarkDotNet v0.15.2, `--job short`, one launch of each version, two machines: - -- **Arm64:** macOS 15.8.2, Apple M4 Pro, .NET 8.0.30, Arm64 RyuJIT, with other work running (load average 5 to 18). Two rounds, the lower of the two for each cell, - as one measurement of the Parlot Large parse was disturbed (7.5 µs and 16.8 µs, with a deviation of 7.5 µs). -- **x64:** Windows 11 (Hyper-V), AMD EPYC 7763, .NET 8.0.31 and .NET Framework (`net472` job), one round. This machine has shown - differences of up to 27% between runs of identical code: read the ratios as orders of magnitude, not as precise values. - -### Parsing only - -`Expression.Parse`, mean time and allocations: - -| Size | | ANTLR | Parlot | Faster | Fewer allocations | -|---|---|--:|--:|--:|--:| -| Small | Arm64, .NET 8 | 1,922 ns, 20,785 B | 216 ns, 536 B | 8.9x | 39x | -| | x64, .NET 8 | 4,357 ns, 20.3 KB | 550 ns, 536 B | 7.9x | 39x | -| | x64, .NET Framework | 5,541 ns, 20.4 KB | 1,695 ns, 546 B | 3.3x | 38x | -| Medium | Arm64, .NET 8 | 53.2 µs, 28,770 B | 1.13 µs, 2,040 B | 47x | 14x | -| | x64, .NET 8 | 49.1 µs, 28.1 KB | 2.81 µs, 2,040 B | 17x | 14x | -| | x64, .NET Framework | 59.9 µs, 28.7 KB | 8.42 µs, 2,086 B | 7.1x | 14x | -| Large | Arm64, .NET 8 | 363 µs, 81,181 B | 7.5 µs, 12,088 B | 48x | 6.7x | -| | x64, .NET 8 | 352 µs, 79.3 KB | 19.2 µs, 12,088 B | 18x | 6.7x | -| | x64, .NET Framework | 418 µs, 83.0 KB | 60.3 µs, 12,300 B | 6.9x | 6.9x | - -Most of ANTLR's 20 KB for the smallest expression is its lexer and token buffers, created per parse. A parse on .NET Framework is -about three times slower than on .NET 8, as it reads through the `System.Memory` package. - -### The layers above - -`ExpressionEvaluator.GetValue(root, expression)` parses each time, with no cache. The first evaluation of a parse also does its reflection -lookups and creates dynamic methods, which dominate the Large expression, so its time depends less on the parser. - -| `GetValue`, uncached | | ANTLR | Parlot | Faster | -|---|---|--:|--:|--:| -| Small | Arm64, .NET 8 | 2,139 ns, 21,193 B | 421 ns, 944 B | 5.1x | -| | x64, .NET 8 | 4,619 ns, 20.7 KB | 992 ns, 944 B | 4.7x | -| | x64, .NET Framework | 7,222 ns, 20.9 KB | 2,978 ns, 963 B | 2.4x | -| Medium | Arm64, .NET 8 | 70.7 µs, 35,523 B | 17.3 µs, 8,792 B | 4.1x | -| | x64, .NET 8 | 74.8 µs, 34.9 KB | 23.6 µs, 9,008 B | 3.2x | -| | x64, .NET Framework | 128 µs, 38.3 KB | 65.3 µs, 11,882 B | 2.0x | -| Large | Arm64, .NET 8 | 615 µs, 104 KB | 270 µs, 35,348 B | 2.3x | -| | x64, .NET 8 | 1,441 µs, 102 KB | 1,042 µs, 35,563 B | 1.4x | -| | x64, .NET Framework | 2,176 µs, 115 KB | 1,678 µs, 44,753 B | 1.3x | - -`Expression.Parse` then 100 `GetValue`, as the documentation recommends. The cost of the parse is spread over the evaluations, and -what remains is the first evaluation, so the gain shrinks as expected: - -| Parse + 100 `GetValue` | | ANTLR | Parlot | Faster | -|---|---|--:|--:|--:| -| Small | Arm64, .NET 8 | 6,984 ns | 5,220 ns | 1.3x | -| | x64, .NET 8 | 15.3 µs | 11.2 µs | 1.4x | -| | x64, .NET Framework | 24.6 µs | 19.5 µs | 1.3x | -| Medium | Arm64, .NET 8 | 154 µs | 90.5 µs | 1.7x | -| | x64, .NET 8 | 299 µs | 216 µs | 1.4x | -| | x64, .NET Framework | 520 µs | 453 µs | 1.1x | -| Large | Arm64, .NET 8 | 848 µs | 458 µs | 1.9x | -| | x64, .NET 8 | 1,976 µs | 1,527 µs | 1.3x | -| | x64, .NET Framework | 3,005 µs | 2,459 µs | 1.2x | - -A prepared `GetValue` doesn't depend on the parser, but it pays for the stack check `BaseNode` now does. Arm64, .NET 8, ANTLR then Parlot without -the check then with it, one short run of each: Small 49 ns, 50 ns, 56 ns; Medium 816 ns, 749 ns, 806 ns; Large 2,042 ns, 1,972 ns, 2,382 ns, with the -same allocations. The last run gave 57 ns, 781 ns and 2,354 ns. So about 4% to 21%, within the noise of this machine for the smallest gaps. An application that evaluates prepared expressions in a -hot loop gives back that much, for not crashing on a deep tree. - -The tables above were measured before the last fixes, which added the check, the guard on named arguments and a `Then` closing each primary expression, -with the same allocations. One new run on Arm64 is 5% to 12% slower at parsing than the tables (Small 243 ns, Medium 1,265 ns, Large 8,616 ns). That is within -what this machine varies under load, though it wasn't isolated, and the ratios to ANTLR stay at 8x to 42x there. x64 wasn't measured again. - -`ObjectWrapper.GetPropertyValue` parses the name on each call. `Name` takes the path that only reads a name (`ParseProperty`), `Friends[1].Address.City` the one -that parses a primary expression (`ParsePrimary`): - -| | | ANTLR | Parlot | Faster | Fewer allocations | -|---|---|--:|--:|--:|--:| -| `Name` | Arm64, .NET 8 | 1,142 ns, 19.3 KB | 84 ns, 240 B | 14x | 82x | -| | x64, .NET 8 | 2,241 ns, 19.3 KB | 173 ns, 240 B | 13x | 82x | -| | x64, .NET Framework | 3,342 ns | 477 ns, 249 B | 7.0x | | -| `Friends[1].Address.City` | Arm64, .NET 8 | 2,643 ns, 21.6 KB | 617 ns, 1,456 B | 4.3x | 15x | -| | x64, .NET 8 | 5,812 ns, 21.6 KB | 1,402 ns, 1,456 B | 4.1x | 15x | -| | x64, .NET Framework | 8,939 ns | 4,011 ns, 1,492 B | 2.2x | | - -## Follow-ups, not in this change - -- `IntLiteralNode` can't evaluate the suffixes the grammar accepts: `5L` parses and then throws a `FormatException`. -- The line of a syntax error is always 1, whatever the input, because the ANTLR lexer never counted lines. Kept for compatibility. - -## Parlot gaps found - -Nothing here blocked the port. Parlot 2.2.1: - -1. **`net462` is refused** (`PARLOT026`, floor 4.7.2), and the package's `netstandard` reference doesn't resolve on its reference assemblies, while the generated code works there. This took four - MSBuild targets until the 4.0 floor moved to `net472`. Same finding as Lucene.NET. -2. **`PARLOT021` is misleading when a call doesn't bind.** `If(() => rule == x, a, If(...))` with parsers whose types made inference fail reported "may only be read inside supported parse-time callbacks" - rather than the inference error, as the check requires a bound argument. Giving the type, `If(...)`, fixed it. -3. **`Unary` can't mix operator types**, although `docs/parsers.md` shows `.Unary((Terms.Char('-'), ...), (Terms.Text("not"), ...))`: `Unary(params ...)` can't be inferred. -4. **A scanner is called with an empty span at the end of the input.** The docs of `Scan` don't say so, and a scanner reading `span[0]` throws `IndexOutOfRangeException`. -5. **No non-associative operator level** (`a == b == c` and `a ^ b ^ c` have to fail), and no last operand of `Ternary` that is a whole expression. These force a chain of tables and sequences here. -6. **No way to commit to an alternative without losing the failure position.** `ElseError` reports where it was reached, not the furthest failure, so a choice that must not backtrack takes a negative lookahead (`Not(lparen)`). -7. **An entry point can't return where it stopped.** A rule without `Eof` needs `When((context, x) => ...)` reading `context.Scanner.Cursor` to check what follows. -8. **The stack per level is high before tier-up**: in a 1 MB thread, between 200 and 400 levels of parentheses on a first parse in Release, and 96 in the Debug test host. It is far more than ANTLR could reach in practice, and it fails cleanly. -9. **The generated code is large**: the assembly grows by 75 KB even though 101 ANTLR files and 6,000 generated lines go away. Parsers used twice (`methodOrProperty`, `arguments`) didn't look shared across the choices that use them; this wasn't investigated further. -10. **The failure overload doesn't say why a parse failed.** Reaching `MaxRecursionDepth` or the end of the stack returns `false` and a position, like a syntax error. The diagnostics overload has the reason but generates the grammar twice. So the message here is a guess from the depth at the failure: from 32 open brackets or prefix operators it says `unexpected token or expression nested too deeply`, including for a plain typo at that depth, and a real stack failure below it reads as an unexpected token. diff --git a/examples/Directory.Packages.props b/examples/Directory.Packages.props new file mode 100644 index 000000000..0c50b0862 --- /dev/null +++ b/examples/Directory.Packages.props @@ -0,0 +1,7 @@ + + + + + + + From 339a148d571b4bb772a1b57bca1c4ff79450b438 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Ros?= <1165805+sebastienros@users.noreply.github.com> Date: Tue, 3 Nov 2026 16:41:30 -0800 Subject: [PATCH 15/17] Report the end of the input, and serialize syntax errors as exceptions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit An incomplete expression said it expected the end of the input while being at it. SyntaxErrorException called the base members of serialization only while it derived from RecognitionException: without them it loses its stack trace and HResult. Signed-off-by: Sébastien Ros <1165805+sebastienros@users.noreply.github.com> --- .../Expressions/ExpressionGrammar.cs | 2 +- .../Expressions/SyntaxErrorException.cs | 29 ++++++++-------- .../Expressions/ExpressionGrammarGolden.json | 6 ++-- .../Expressions/ExpressionGrammarTests.cs | 34 +++++++++++++++++++ 4 files changed, 52 insertions(+), 19 deletions(-) diff --git a/src/Spring/Spring.Core/Expressions/ExpressionGrammar.cs b/src/Spring/Spring.Core/Expressions/ExpressionGrammar.cs index 786f06b32..d60725eed 100644 --- a/src/Spring/Spring.Core/Expressions/ExpressionGrammar.cs +++ b/src/Spring/Spring.Core/Expressions/ExpressionGrammar.cs @@ -69,7 +69,7 @@ private static BaseNode Parse(string input, Rule rule) // The parser doesn't return why it failed: at this depth it can be the limit on nesting var expected = rule == Rule.Lambda && offset == SkipSpaces(input.AsSpan(), 0) ? "LAMBDA" - : rule == Rule.Expression && depth == 0 && afterOperand ? "EOF" + : rule == Rule.Expression && depth == 0 && afterOperand && offset < input.Length ? "EOF" : null; throw CreateSyntaxError(input, offset, expected, depth >= SuspiciousDepth); diff --git a/src/Spring/Spring.Core/Expressions/SyntaxErrorException.cs b/src/Spring/Spring.Core/Expressions/SyntaxErrorException.cs index e134fafb7..c3187c22e 100644 --- a/src/Spring/Spring.Core/Expressions/SyntaxErrorException.cs +++ b/src/Spring/Spring.Core/Expressions/SyntaxErrorException.cs @@ -27,15 +27,15 @@ namespace Spring.Expressions; public class SyntaxErrorException : Exception, ISerializable { private readonly string _expression; - private readonly int line; - private readonly int column; + private readonly int _line; + private readonly int _column; /// /// The line of the error, which is always 1: the columns are those of the whole expression /// public int Line { - get { return line; } + get { return _line; } } /// @@ -43,7 +43,7 @@ public int Line /// public int Column { - get { return column; } + get { return _column; } } /// @@ -75,8 +75,8 @@ public string Expression public SyntaxErrorException(string message, int line, int column, string expression) : base(message) { - this.line = line; - this.column = column; + _line = line; + _column = column; _expression = expression; } @@ -86,11 +86,11 @@ public SyntaxErrorException(string message, int line, int column, string express #if NET [Obsolete(Obsoletions.LegacyFormatterImplMessage, DiagnosticId = Obsoletions.LegacyFormatterImplDiagId, UrlFormat = Obsoletions.SharedUrlFormat)] #endif - protected SyntaxErrorException(SerializationInfo info, StreamingContext context) : base(info.GetString("Message")) + protected SyntaxErrorException(SerializationInfo info, StreamingContext context) : base(info, context) { - this.line = info.GetInt32("Line"); - this.column = info.GetInt32("Column"); - this._expression = info.GetString("Expression"); + _line = info.GetInt32("Line"); + _column = info.GetInt32("Column"); + _expression = info.GetString("Expression"); } /// @@ -103,10 +103,9 @@ protected SyntaxErrorException(SerializationInfo info, StreamingContext context) #endif public override void GetObjectData(SerializationInfo info, StreamingContext context) { - // Message is the text without the position, which the constructor gets again - info.AddValue("Line", this.line); - info.AddValue("Column", this.column); - info.AddValue("Message", base.Message); - info.AddValue("Expression", this._expression); + base.GetObjectData(info, context); + info.AddValue("Line", _line); + info.AddValue("Column", _column); + info.AddValue("Expression", _expression); } } diff --git a/test/Spring/Spring.Core.Tests/Expressions/ExpressionGrammarGolden.json b/test/Spring/Spring.Core.Tests/Expressions/ExpressionGrammarGolden.json index f274c4efe..1bf6ded94 100644 --- a/test/Spring/Spring.Core.Tests/Expressions/ExpressionGrammarGolden.json +++ b/test/Spring/Spring.Core.Tests/Expressions/ExpressionGrammarGolden.json @@ -339,7 +339,7 @@ ], [ "a?b", - "ERROR 4 Syntax Error on line 1, column 4: expecting \"EOF\", found ''", + "ERROR 4 Syntax Error on line 1, column 4: unexpected end of expression", "(Expression|4|expression (PropertyOrFieldNode|33|a))", "ERROR 4 Syntax Error on line 1, column 4: expecting \"COLON\", found ''", "(Expression|4|expression (PropertyOrFieldNode|33|a))" @@ -983,7 +983,7 @@ ], [ "new a", - "ERROR 6 Syntax Error on line 1, column 6: expecting \"EOF\", found ''", + "ERROR 6 Syntax Error on line 1, column 6: unexpected end of expression", "ERROR 6 Syntax Error on line 1, column 6: unexpected end of expression", "ERROR 6 Syntax Error on line 1, column 6: expecting \"LBRACKET\", found ''", "ERROR 6 Syntax Error on line 1, column 6: expecting \"LBRACKET\", found ''" @@ -997,7 +997,7 @@ ], [ "new a.b", - "ERROR 8 Syntax Error on line 1, column 8: expecting \"EOF\", found ''", + "ERROR 8 Syntax Error on line 1, column 8: unexpected end of expression", "ERROR 8 Syntax Error on line 1, column 8: unexpected end of expression", "ERROR 8 Syntax Error on line 1, column 8: expecting \"LBRACKET\", found ''", "ERROR 8 Syntax Error on line 1, column 8: expecting \"LBRACKET\", found ''" diff --git a/test/Spring/Spring.Core.Tests/Expressions/ExpressionGrammarTests.cs b/test/Spring/Spring.Core.Tests/Expressions/ExpressionGrammarTests.cs index c649300f6..85e2f23b2 100644 --- a/test/Spring/Spring.Core.Tests/Expressions/ExpressionGrammarTests.cs +++ b/test/Spring/Spring.Core.Tests/Expressions/ExpressionGrammarTests.cs @@ -1,5 +1,6 @@ using System.Reflection; using System.Runtime.ExceptionServices; +using System.Runtime.Serialization; using System.Text; using Newtonsoft.Json; using NUnit.Framework; @@ -113,6 +114,39 @@ public void SyntaxErrorsReportTheOffendingText(string input, int column, string Assert.That(e.Expression, Is.EqualTo(input)); } + [TestCase("a?b", 4)] + [TestCase("new a", 6)] + [TestCase("new a.b", 8)] + public void IncompleteExpressionsReportTheEndOfTheInput(string input, int column) + { + var e = Assert.Throws(() => Expression.Parse(input)); + Assert.That(e.Message, Does.StartWith($"Syntax Error on line 1, column {column}: unexpected end of expression in expression")); + } + + [Test] + public void SyntaxErrorsKeepTheirStateWhenSerialized() + { + var original = Assert.Throws(() => Expression.Parse("a ~")); + +#pragma warning disable SYSLIB0050 // what is tested + var info = new SerializationInfo(typeof(SyntaxErrorException), new FormatterConverter()); + ((ISerializable) original).GetObjectData(info, default); +#pragma warning restore SYSLIB0050 + var copy = (SyntaxErrorException) Activator.CreateInstance( + typeof(SyntaxErrorException), + BindingFlags.Instance | BindingFlags.NonPublic, + null, + new object[] { info, default(StreamingContext) }, + null); + + Assert.That(copy.Line, Is.EqualTo(original.Line)); + Assert.That(copy.Column, Is.EqualTo(original.Column)); + Assert.That(copy.Expression, Is.EqualTo(original.Expression)); + Assert.That(copy.Message, Is.EqualTo(original.Message)); + Assert.That(copy.HResult, Is.EqualTo(original.HResult)); + Assert.That(copy.StackTrace, Is.EqualTo(original.StackTrace)); + } + [TestCase("foo", "(PropertyOrFieldNode|33|foo)")] [TestCase(" foo bar", "(PropertyOrFieldNode|33|foo)")] [TestCase("foo-bar", "(PropertyOrFieldNode|33|foo)")] From 75fd72ec85146fe695e62b93e722e5c6eb5fc959 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Ros?= <1165805+sebastienros@users.noreply.github.com> Date: Tue, 3 Nov 2026 16:42:00 -0800 Subject: [PATCH 16/17] Keep the design notes next to the grammar and complete the breaking changes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PARLOT_PORT.md moved to the description of the pull request, apart from the quirks and the PEG notes, which maintainers of the grammar need. Signed-off-by: Sébastien Ros <1165805+sebastienros@users.noreply.github.com> --- AGENTS.md | 2 +- BreakingChanges.txt | 18 ++++++--- src/Spring/Spring.Core/Expressions/README.md | 39 +++++++++++++++++++ .../Spring.Benchmark/ExpressionBenchmark.cs | 2 +- 4 files changed, 54 insertions(+), 7 deletions(-) create mode 100644 src/Spring/Spring.Core/Expressions/README.md diff --git a/AGENTS.md b/AGENTS.md index dbb46d6b8..ecd31b7a6 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -58,7 +58,7 @@ Key mechanics (defined in `src/Directory.Build.props` and `test/Directory.Build. - **Multi-targeting**: most libraries target `netstandard2.0;net472;net10.0`; web projects are net472-only. Projects reference the shared MSBuild variables `$(TargetFullFrameworkVersion)` (= net472) and `$(TargetModernFrameworkVersion)` (= net10.0) instead of literal TFMs. Framework differences are handled with conditional ``/`` blocks in csproj files, not scattered `#if` directives. Key them to what they mean (`'$(TargetFrameworkIdentifier)' == '.NETFramework'` or `NETFRAMEWORK`, never "not netstandard"). The one exception is the legacy-serialization obsoletion: `ObsoleteAttribute.DiagnosticId` only exists on modern .NET, so each serialization constructor and `GetObjectData` carries a `#if NET` guard around its `[Obsolete(Obsoletions...)]` (constants in `src/Spring/Obsoletions.cs`, linked into each library). - **Strong naming**: all assemblies signed with the committed `Spring.Net.snk`. - **Central package management**: versions live in `Directory.Packages.props`; csproj `PackageReference`s are versionless. -- **Expression parser**: the grammar is `src/Spring/Spring.Core/Expressions/ExpressionGrammar.parlot.cs`, a build-only file that the `Parlot.SourceGenerator` analyzer turns into code of `Spring.Core`, with no runtime dependency on Parlot. It needs the Roslyn of the .NET 10 SDK. Its tokens, tree and syntax errors are in `ExpressionGrammar.cs`, and `ExpressionGrammarTests` holds the trees of the former ANTLR parser. `PARLOT_PORT.md` has the history. +- **Expression parser**: the grammar is `src/Spring/Spring.Core/Expressions/ExpressionGrammar.parlot.cs`, a build-only file that the `Parlot.SourceGenerator` analyzer turns into code of `Spring.Core`, with no runtime dependency on Parlot. It needs the Roslyn of the .NET 10 SDK. Its tokens, tree and syntax errors are in `ExpressionGrammar.cs`, and `ExpressionGrammarTests` holds the trees of the former ANTLR parser. `src/Spring/Spring.Core/Expressions/README.md` has the quirks kept on purpose and how the grammar stays equivalent. - **Versioning**: the git tag is the version authority (`v3.1.0` → 3.1.0); untagged builds fall back to the `ProjectVersion` placeholder in `build-support/build/Build.cs` plus a `dev-`/`preview-` suffix. Publishing runs from the tag workflow only. `DetermineVersion()` sets three distinct facets, applied to **both** `Compile` and `Pack` so packaged and `bin/` assemblies agree: `AssemblyVersion` is pinned to `major.minor.0.0` (the assemblies are strong-named, so this is their binding identity — keeping it stable across patches means consumers need no new binding redirect for a fix release), `FileVersion` carries the exact numeric version, and `InformationalVersion` is left to MSBuild so SourceLink can append `+`. Never set a bare `Version` property instead — it overrides the prefix/suffix composition and silently drops the preview suffix. - **Trusted publishing**: `.github/workflows/publish.yml` is the only workflow allowed to push to nuget.org. It needs `permissions: id-token: write` and `environment: nuget`; the `Publish` target exchanges that OIDC token for a short-lived API key in `build-support/build/Build.Publish.cs`. The nuget.org policy is keyed to the **workflow filename** `publish.yml` plus the `nuget` environment, so renaming, moving or splitting that workflow breaks publishing until the policy is updated. Do not reintroduce a `NUGET_API_KEY` secret — the `NuGetApiKey` parameter stays only as a manual override. - **Package READMEs and package validation**: every packable project under `src/Spring` has a `README.md` next to its csproj, which `src/Directory.Build.props` packs as the NuGet readme; a new package needs one (what it does, `dotnet add package`, target frameworks, a minimal snippet whose types, members and XML are checked against the code, and links). Pack also runs package validation (`EnablePackageValidation`) against the 3.1.0 packages (`PackageValidationBaselineVersion`) and between the target frameworks of one package; never suppress a difference between two TFMs of one package (Spring.Messaging turns validation off for that reason, see its csproj). Accepted baseline differences live in each project's `CompatibilitySuppressions.xml`; regenerate one with `dotnet pack -c Release -p:ApiCompatGenerateSuppressionFile=true -p:AssemblyVersion=..0.0` and review the diff. A direct `dotnet pack` needs that `-p:AssemblyVersion=..0.0` (what Fallout passes), because the default 1.0.0.0 is below the baseline and fails with CP0003; do not gate the baseline on AssemblyVersion, since Fallout's Restore passes no version and the baseline download would vanish. The baseline has a coverage gap: 3.1.0 shipped net462, which no 4.0 asset is compatible with, so Spring.Web, Spring.Web.Mvc5, Spring.Web.Conversation.NHibernate5 and Spring.Testing.NUnit get no baseline API comparison (PKV006), and for the other packages the 3.1.0 net462 asset is compared with the 4.0 netstandard2.0 build, so no net472 build is compared with 3.1.0. The gap closes when the baseline moves to 4.0.0 once 4.0.0 ships; then delete the 3.1.0 suppression files. diff --git a/BreakingChanges.txt b/BreakingChanges.txt index 4f8c4afb5..a43b1d79f 100644 --- a/BreakingChanges.txt +++ b/BreakingChanges.txt @@ -121,14 +121,22 @@ Changes (3.1 to 4.0) 11. The expression language is parsed by a parser generated with Parlot at build time, without a runtime dependency on it, instead of the ANTLR 2 runtime that Spring.Core embedded: - - The public types of the Spring.Expressions.Parser.antlr namespaces are gone. Spring.Expressions.SpringAST - has no base class any more, and getFirstChild, getNextSibling, addChild, setFirstChild and setNextSibling - use SpringAST instead of the AST interface. + - The namespaces Spring.Expressions.Parser.antlr, .antlr.debug, .antlr.collections and + .antlr.collections.impl are gone, with all their public types. + - Spring.Expressions.SpringAST has no base class any more, and getFirstChild, getNextSibling, addChild, + setFirstChild and setNextSibling use SpringAST instead of the AST interface. It lost the protected down and + right fields, ICloneable and Clone, SpringAST(IToken) and initialize(IToken), and the helpers it inherited + from BaseAST: EqualsList, EqualsListPartial, EqualsTree, EqualsTreePartial, findAll, findAllPartial, ToTree, + xmlSerialize, xmlSerializeNode, xmlSerializeRootOpen, xmlSerializeRootClose, encode, decode and + setVerboseStringConversion. - Syntax errors are still Spring.Expressions.SyntaxErrorException, which is now public and derives from Exception: catch it instead of RecognitionException or TokenStreamRecognitionException. - An error can report a later position than it did, at the token that could not be read, and its - message can be different. The expressions accepted and their trees are the same, and so is the serialized - form of a parsed expression. + message can be different. The expressions accepted and their trees are the same, except that a + QualifiedIdentifier has no child nodes any more (getText() returns the same value). The serialized form of + a parsed expression is the same. + - U+FFFF in an expression is now an invalid char. ANTLR took it for the end of the input and silently dropped + what followed. - A nested expression too deep for the stack of the thread, or 2,000 levels of parentheses or prefix operators, is a SyntaxErrorException instead of a stack overflow. - Evaluating a tree too deep for the stack of the thread throws InsufficientExecutionStackException diff --git a/src/Spring/Spring.Core/Expressions/README.md b/src/Spring/Spring.Core/Expressions/README.md new file mode 100644 index 000000000..85f49088e --- /dev/null +++ b/src/Spring/Spring.Core/Expressions/README.md @@ -0,0 +1,39 @@ +# Expression parser + +`ExpressionGrammar.parlot.cs` is the grammar, a build-only file that the `Parlot.SourceGenerator` analyzer turns into code of +`Spring.Core`. `ExpressionGrammar.cs` has the tokens, the construction of the nodes and the syntax errors. The language is the +one of the former ANTLR 2 grammar, and `ExpressionGrammarTests` holds the trees and errors that parser gave for its quirks in +`ExpressionGrammarGolden.json`. + +## Quirks kept on purpose + +These decide what is accepted, so they stay: + +- A dot between nodes is optional: `a b` is `a.b`, and `1 .a` and `a.` parse. +- `T(` is one token only without a space, and `T(...)` reads any token up to `)`. +- A real number with a fraction has to have a valid exponent after `e`, while an integer doesn't: `1.5ex` fails, `1ex` is `1` + then `ex`. +- `Ul` is not an integer suffix but `lU` is. +- Keywords can't be property names. +- The relational and power operators don't chain. +- The line of an error is always 1, and its column counts a tab as moving to the next multiple of 8. + +## PEG vs LL(2) + +A PEG choice can backtrack where ANTLR committed to an alternative after looking at two tokens. These keep the same language: + +- Tokens are scanned as ANTLR's lexer did: `^` doesn't match the start of `^{`, `{` doesn't match `{|`, `.` doesn't match `.5`. + Otherwise `a^{b,c}`, an error, would be read again as `a ^ {b,c}`. +- A name followed by `(` can only be a call, so `a(b;c)` isn't read again as a property followed by an expression list. This is + `Not(lparen)` in the grammar. +- A name followed by `=` in arguments can only be a named argument: `Not(id.AndSkip(assign))` on the other alternative. Without + it, nested `new a(b=` takes exponential time. +- `Parse` needs the end of the input, so a failed alternative can't be accepted. `ParsePrimary` doesn't, and checks what follows + with the follow sets of the ANTLR grammar (`CanFollowPrimary`). + +## Layout of the grammar + +`Operators()` handles the unary and the left-associative levels. The relational and power levels don't chain, and the third +operand of `?:` is a whole expression, which a table can't express, so these are sequences. `Parse`, `ParsePrimary` and +`ParseLambda` share one generated parser through a configuration parameter and `If`, as generating one each would triple the +code. `ParseProperty` is a scan by hand. diff --git a/test/Spring/Spring.Benchmark/ExpressionBenchmark.cs b/test/Spring/Spring.Benchmark/ExpressionBenchmark.cs index 80cbe4e8f..fefcf1072 100644 --- a/test/Spring/Spring.Benchmark/ExpressionBenchmark.cs +++ b/test/Spring/Spring.Benchmark/ExpressionBenchmark.cs @@ -7,7 +7,7 @@ namespace Spring.Benchmark; /// /// The expression language, from parsing alone to the layers above it. Only uses the public API, so that the same file -/// builds against any version of Spring.Core: see PARLOT_PORT.md for how to compare two of them. +/// builds against any version of Spring.Core, to compare two of them. /// [MemoryDiagnoser] public class ExpressionBenchmark From 32894f6c8c4c85920f74330e5e4b289b3c0ae885 Mon Sep 17 00:00:00 2001 From: Marko Lahma Date: Wed, 4 Nov 2026 19:01:57 +0200 Subject: [PATCH 17/17] Drop the 1,900 unary-minus case from EvaluatingTooDeepATreeThrows On the Windows leg's Release net472 run, 1,900 nested unary minuses evaluated within a 256 KB stack, so the case got no InsufficientExecutionStackException and failed. The parser caps prefix operators at 2,000 levels, which DeepNestingOfUnaryOperatorsIsASyntaxError covers, so the case can't be made to overflow reliably on every runtime. The 100,000-term chain keeps the evaluation-side check. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01LGkLQuAuUjvRjrU1AcTsmk Signed-off-by: Marko Lahma --- .../Spring.Core.Tests/Expressions/ExpressionGrammarTests.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/test/Spring/Spring.Core.Tests/Expressions/ExpressionGrammarTests.cs b/test/Spring/Spring.Core.Tests/Expressions/ExpressionGrammarTests.cs index 85e2f23b2..31413b824 100644 --- a/test/Spring/Spring.Core.Tests/Expressions/ExpressionGrammarTests.cs +++ b/test/Spring/Spring.Core.Tests/Expressions/ExpressionGrammarTests.cs @@ -219,7 +219,6 @@ public void LongPathsTakeLinearTime() Assert.That(ParseWithinTimeLimit(input), Is.TypeOf()); } - [TestCase(1_900, "-")] [TestCase(100_000, "1+")] public void EvaluatingTooDeepATreeThrows(int count, string repeated) {

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%0Ann?eWwvo1wYDqPuYouxtjm#oLWF|S9 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

CFio1v-KmuBW4sS6nzmCRIs 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%0D8awH04i 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%0D`ARQ^thil8 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