From a2d4d3f8949ed589b6d5e90b1989da4b1c4ccee4 Mon Sep 17 00:00:00 2001 From: Steven He Date: Fri, 4 Aug 2023 21:14:06 +0900 Subject: [PATCH] Parse constraints for const type parameter --- src/coreclr/ilasm/asmparse.y | 3 +- src/coreclr/ilasm/prebuilt/asmparse.cpp | 10061 +++++++++++----------- 2 files changed, 5044 insertions(+), 5020 deletions(-) diff --git a/src/coreclr/ilasm/asmparse.y b/src/coreclr/ilasm/asmparse.y index 8b4aa7c7a6b98..e4a5fc0595dc5 100644 --- a/src/coreclr/ilasm/asmparse.y +++ b/src/coreclr/ilasm/asmparse.y @@ -504,7 +504,8 @@ conTyparAttribs : /* EMPTY */ { $$ = 0; } | conTyparAttrib conTyparAttribs { $$ = $1 | $2; } ; -typars : CONST_ conTyparAttribs type dottedName typarsRest {$$ = new TyParList($2, $3, NULL, $4, $5); } +typars : CONST_ conTyparAttribs type tyBound dottedName typarsRest {$$ = new TyParList($2, $3, $4, $5, $6); } + | CONST_ conTyparAttribs type dottedName typarsRest {$$ = new TyParList($2, $3, NULL, $4, $5); } | typarAttribs tyBound dottedName typarsRest {$$ = new TyParList($1, $2, $3, $4);} | typarAttribs dottedName typarsRest {$$ = new TyParList($1, NULL, $2, $3);} ; diff --git a/src/coreclr/ilasm/prebuilt/asmparse.cpp b/src/coreclr/ilasm/prebuilt/asmparse.cpp index 8d4789bc64411..d22055dafc998 100644 --- a/src/coreclr/ilasm/prebuilt/asmparse.cpp +++ b/src/coreclr/ilasm/prebuilt/asmparse.cpp @@ -412,77 +412,77 @@ static const YYINT yylhs[] = { -1, 80, 80, 80, 80, 142, 142, 143, 143, 114, 114, 144, 144, 59, 59, 60, 60, 72, 72, 18, 18, 18, 18, 18, 18, 18, 19, 19, 20, 21, 21, - 71, 71, 71, 70, 70, 61, 23, 23, 24, 145, + 71, 71, 71, 71, 70, 70, 61, 23, 23, 24, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, - 118, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 4, 4, 37, - 37, 16, 16, 78, 78, 78, 78, 78, 78, 78, - 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, - 8, 8, 79, 77, 77, 77, 77, 77, 77, 146, - 146, 84, 84, 84, 147, 147, 152, 152, 152, 152, - 152, 152, 152, 152, 148, 85, 85, 85, 149, 149, - 153, 153, 153, 153, 153, 153, 153, 154, 40, 40, - 36, 36, 155, 116, 81, 81, 81, 81, 81, 81, + 145, 118, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 4, 4, + 37, 37, 16, 16, 78, 78, 78, 78, 78, 78, + 78, 7, 7, 7, 7, 8, 8, 8, 8, 8, + 8, 8, 8, 79, 77, 77, 77, 77, 77, 77, + 146, 146, 84, 84, 84, 147, 147, 152, 152, 152, + 152, 152, 152, 152, 152, 148, 85, 85, 85, 149, + 149, 153, 153, 153, 153, 153, 153, 153, 154, 40, + 40, 36, 36, 155, 116, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 86, 86, 86, + 81, 81, 81, 81, 81, 81, 81, 81, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 3, 3, 3, 13, 13, 13, 13, - 13, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 156, 117, 117, + 86, 86, 86, 86, 3, 3, 3, 13, 13, 13, + 13, 13, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 156, 117, + 117, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 160, 161, 158, 163, - 163, 162, 162, 162, 165, 164, 164, 164, 164, 168, - 168, 168, 171, 166, 169, 170, 167, 167, 167, 119, - 172, 172, 174, 174, 174, 173, 173, 175, 175, 14, - 14, 176, 176, 176, 176, 176, 176, 176, 176, 176, - 176, 176, 176, 176, 176, 176, 43, 43, 43, 43, + 157, 157, 157, 157, 157, 157, 157, 160, 161, 158, + 163, 163, 162, 162, 162, 165, 164, 164, 164, 164, + 168, 168, 168, 171, 166, 169, 170, 167, 167, 167, + 119, 172, 172, 174, 174, 174, 173, 173, 175, 175, + 14, 14, 176, 176, 176, 176, 176, 176, 176, 176, + 176, 176, 176, 176, 176, 176, 176, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 177, 33, 33, 34, 34, - 41, 41, 41, 42, 42, 42, 42, 42, 42, 42, + 43, 43, 43, 43, 43, 43, 177, 33, 33, 34, + 34, 41, 41, 41, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, - 44, 44, 44, 44, 44, 44, 44, 45, 45, 45, - 46, 46, 46, 50, 50, 49, 49, 48, 48, 47, - 47, 51, 51, 52, 52, 52, 53, 53, 53, 53, - 54, 54, 151, 98, 99, 100, 101, 102, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 159, 159, 159, + 44, 44, 44, 44, 44, 44, 44, 44, 45, 45, + 45, 46, 46, 46, 50, 50, 49, 49, 48, 48, + 47, 47, 51, 51, 52, 52, 52, 53, 53, 53, + 53, 54, 54, 151, 98, 99, 100, 101, 102, 103, + 104, 105, 106, 107, 108, 109, 110, 111, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 6, 6, 6, 6, 6, 56, 56, 57, 57, 58, - 58, 27, 27, 28, 28, 29, 29, 29, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 5, 5, - 74, 74, 74, 74, 35, 35, 35, 35, 35, 35, + 159, 6, 6, 6, 6, 6, 56, 56, 57, 57, + 58, 58, 27, 27, 28, 28, 29, 29, 29, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 5, + 5, 74, 74, 74, 74, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 22, - 22, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 22, 22, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, - 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, - 30, 30, 30, 30, 30, 55, 55, 55, 55, 55, + 30, 30, 30, 30, 30, 30, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 32, 32, 31, 31, 31, 31, 31, - 133, 133, 133, 133, 133, 133, 67, 67, 67, 66, - 66, 90, 90, 87, 87, 88, 17, 17, 39, 39, - 39, 39, 39, 39, 39, 39, 89, 89, 89, 89, + 55, 55, 55, 55, 32, 32, 31, 31, 31, 31, + 31, 133, 133, 133, 133, 133, 133, 67, 67, 67, + 66, 66, 90, 90, 87, 87, 88, 17, 17, 39, + 39, 39, 39, 39, 39, 39, 39, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 178, 178, 122, 122, 122, 122, 122, 122, 122, - 122, 122, 122, 122, 123, 123, 91, 91, 92, 92, - 179, 124, 93, 93, 93, 93, 93, 93, 93, 93, - 93, 93, 125, 125, 180, 180, 180, 69, 69, 181, - 181, 181, 181, 181, 181, 182, 184, 183, 126, 126, - 127, 127, 185, 185, 185, 185, 128, 150, 94, 94, - 94, 94, 94, 94, 94, 94, 94, 94, 129, 129, - 186, 186, 186, 186, 186, 186, 186, 130, 130, 95, - 95, 95, 131, 131, 187, 187, 187, 187, + 89, 89, 178, 178, 122, 122, 122, 122, 122, 122, + 122, 122, 122, 122, 122, 123, 123, 91, 91, 92, + 92, 179, 124, 93, 93, 93, 93, 93, 93, 93, + 93, 93, 93, 125, 125, 180, 180, 180, 69, 69, + 181, 181, 181, 181, 181, 181, 182, 184, 183, 126, + 126, 127, 127, 185, 185, 185, 185, 128, 150, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 129, + 129, 186, 186, 186, 186, 186, 186, 186, 130, 130, + 95, 95, 95, 131, 131, 187, 187, 187, 187, }; static const YYINT yylen[] = { 2, 0, 2, 4, 4, 3, 1, 1, 1, 1, 1, @@ -501,246 +501,247 @@ static const YYINT yylen[] = { 2, 2, 2, 2, 5, 0, 2, 0, 2, 0, 2, 3, 1, 0, 1, 1, 3, 0, 3, 1, 1, 1, 1, 1, 1, 4, 0, 2, 4, 0, 2, - 5, 4, 3, 0, 2, 3, 0, 1, 5, 3, - 4, 4, 4, 1, 1, 1, 1, 1, 2, 2, - 4, 13, 22, 1, 1, 5, 3, 7, 5, 4, - 7, 0, 2, 2, 2, 2, 2, 2, 2, 5, - 2, 2, 2, 2, 2, 2, 5, 0, 2, 0, - 2, 0, 3, 9, 9, 7, 7, 1, 1, 1, - 2, 2, 1, 4, 0, 1, 1, 2, 2, 2, - 2, 1, 4, 2, 5, 3, 2, 2, 1, 4, - 3, 0, 2, 2, 0, 2, 2, 2, 2, 2, - 1, 1, 1, 1, 9, 0, 2, 2, 0, 2, - 2, 2, 2, 1, 1, 1, 1, 1, 0, 4, - 1, 3, 1, 13, 0, 2, 2, 2, 2, 2, + 6, 5, 4, 3, 0, 2, 3, 0, 1, 5, + 3, 4, 4, 4, 1, 1, 1, 1, 1, 2, + 2, 4, 13, 22, 1, 1, 5, 3, 7, 5, + 4, 7, 0, 2, 2, 2, 2, 2, 2, 2, + 5, 2, 2, 2, 2, 2, 2, 5, 0, 2, + 0, 2, 0, 3, 9, 9, 7, 7, 1, 1, + 1, 2, 2, 1, 4, 0, 1, 1, 2, 2, + 2, 2, 1, 4, 2, 5, 3, 2, 2, 1, + 4, 3, 0, 2, 2, 0, 2, 2, 2, 2, + 2, 1, 1, 1, 1, 9, 0, 2, 2, 0, + 2, 2, 2, 2, 1, 1, 1, 1, 1, 0, + 4, 1, 3, 1, 13, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 5, 8, 6, 5, 0, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, - 4, 4, 5, 1, 1, 1, 0, 4, 4, 4, - 4, 0, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 5, 1, 0, 2, - 2, 1, 2, 4, 5, 1, 1, 1, 1, 2, - 1, 1, 1, 1, 1, 4, 6, 4, 4, 11, - 1, 5, 3, 7, 5, 5, 3, 1, 2, 2, - 1, 2, 4, 4, 1, 2, 2, 2, 2, 2, - 2, 2, 1, 2, 1, 1, 1, 4, 4, 2, - 4, 2, 0, 1, 1, 3, 1, 3, 1, 0, - 3, 5, 4, 3, 5, 5, 5, 5, 5, 5, - 2, 2, 2, 2, 2, 2, 4, 4, 4, 4, - 4, 4, 4, 4, 5, 5, 5, 5, 4, 4, - 4, 4, 4, 4, 3, 2, 0, 1, 1, 2, - 1, 1, 1, 1, 4, 4, 5, 4, 4, 4, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 8, 8, 8, 8, 7, 7, 7, 7, 7, 4, - 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, - 5, 4, 4, 4, 4, 4, 4, 0, 2, 2, - 0, 2, 2, 0, 2, 0, 2, 0, 2, 0, - 2, 0, 2, 0, 2, 2, 0, 2, 3, 2, - 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 2, 1, 2, 2, - 2, 2, 2, 2, 3, 2, 2, 2, 5, 3, - 2, 2, 2, 2, 2, 5, 4, 6, 2, 4, - 0, 3, 3, 1, 1, 0, 3, 0, 1, 1, - 3, 0, 1, 1, 3, 1, 3, 4, 4, 4, - 4, 5, 1, 1, 1, 1, 1, 1, 1, 3, - 1, 3, 4, 1, 0, 10, 6, 5, 6, 1, + 2, 2, 2, 2, 5, 8, 6, 5, 0, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, + 4, 4, 4, 5, 1, 1, 1, 0, 4, 4, + 4, 4, 0, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 5, 1, 0, + 2, 2, 1, 2, 4, 5, 1, 1, 1, 1, + 2, 1, 1, 1, 1, 1, 4, 6, 4, 4, + 11, 1, 5, 3, 7, 5, 5, 3, 1, 2, + 2, 1, 2, 4, 4, 1, 2, 2, 2, 2, + 2, 2, 2, 1, 2, 1, 1, 1, 4, 4, + 2, 4, 2, 0, 1, 1, 3, 1, 3, 1, + 0, 3, 5, 4, 3, 5, 5, 5, 5, 5, + 5, 2, 2, 2, 2, 2, 2, 4, 4, 4, + 4, 4, 4, 4, 4, 5, 5, 5, 5, 4, + 4, 4, 4, 4, 4, 3, 2, 0, 1, 1, + 2, 1, 1, 1, 1, 4, 4, 5, 4, 4, + 4, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 8, 8, 8, 8, 7, 7, 7, 7, 7, + 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, + 5, 5, 4, 4, 4, 4, 4, 4, 0, 2, + 2, 0, 2, 2, 0, 2, 0, 2, 0, 2, + 0, 2, 0, 2, 0, 2, 2, 0, 2, 3, + 2, 0, 2, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, + 2, 2, 2, 2, 2, 3, 2, 2, 2, 5, + 3, 2, 2, 2, 2, 2, 5, 4, 6, 2, + 4, 0, 3, 3, 1, 1, 0, 3, 0, 1, + 1, 3, 0, 1, 1, 3, 1, 3, 4, 4, + 4, 4, 5, 1, 1, 1, 1, 1, 1, 1, + 3, 1, 3, 4, 1, 0, 10, 6, 5, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 2, 2, 2, 1, 1, 1, 1, 2, - 3, 4, 6, 5, 1, 1, 1, 1, 1, 1, - 1, 2, 2, 1, 2, 2, 4, 1, 2, 1, - 2, 1, 2, 1, 2, 1, 2, 1, 1, 0, - 5, 0, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, - 1, 1, 3, 2, 2, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 2, 1, 3, 2, 2, 3, 4, 2, 2, 2, - 5, 5, 7, 4, 3, 2, 3, 2, 1, 1, - 2, 3, 2, 1, 2, 1, 1, 1, 1, 1, + 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, + 2, 3, 4, 6, 5, 1, 1, 1, 1, 1, + 1, 1, 2, 2, 1, 2, 2, 4, 1, 2, + 1, 2, 1, 2, 1, 2, 1, 2, 1, 1, + 0, 5, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, - 1, 1, 1, 1, 3, 0, 1, 1, 3, 2, - 6, 7, 3, 3, 3, 6, 0, 1, 3, 5, - 6, 4, 4, 1, 3, 3, 1, 1, 1, 1, - 4, 1, 6, 6, 6, 4, 1, 1, 1, 1, + 1, 1, 1, 3, 2, 2, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 2, 1, 3, 2, 2, 3, 4, 2, 2, + 2, 5, 5, 7, 4, 3, 2, 3, 2, 1, + 1, 2, 3, 2, 1, 2, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, + 1, 1, 1, 1, 1, 3, 0, 1, 1, 3, + 2, 6, 7, 3, 3, 3, 6, 0, 1, 3, + 5, 6, 4, 4, 1, 3, 3, 1, 1, 1, + 1, 4, 1, 6, 6, 6, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 3, 2, 5, 4, 7, 6, 7, - 6, 9, 8, 3, 8, 4, 0, 2, 0, 1, - 3, 3, 0, 2, 2, 2, 3, 2, 2, 2, - 2, 2, 0, 2, 3, 1, 1, 1, 1, 3, - 8, 2, 3, 1, 1, 3, 3, 3, 4, 6, - 0, 2, 3, 1, 3, 1, 4, 3, 0, 2, - 2, 2, 3, 3, 3, 3, 3, 3, 0, 2, - 2, 3, 3, 4, 2, 1, 1, 3, 5, 0, - 2, 2, 0, 2, 4, 3, 1, 1, + 1, 1, 1, 1, 3, 2, 5, 4, 7, 6, + 7, 6, 9, 8, 3, 8, 4, 0, 2, 0, + 1, 3, 3, 0, 2, 2, 2, 3, 2, 2, + 2, 2, 2, 0, 2, 3, 1, 1, 1, 1, + 3, 8, 2, 3, 1, 1, 3, 3, 3, 4, + 6, 0, 2, 3, 1, 3, 1, 4, 3, 0, + 2, 2, 2, 3, 3, 3, 3, 3, 3, 0, + 2, 2, 3, 3, 4, 2, 1, 1, 3, 5, + 0, 2, 2, 0, 2, 4, 3, 1, 1, }; static const YYINT yydefred[] = { 1, - 0, 85, 0, 0, 268, 0, 0, 0, 0, 782, - 783, 0, 0, 0, 0, 0, 0, 860, 0, 0, + 0, 85, 0, 0, 269, 0, 0, 0, 0, 783, + 784, 0, 0, 0, 0, 0, 0, 861, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 57, 58, 0, 60, 0, 0, 0, 83, 84, 2, - 0, 0, 339, 6, 7, 8, 9, 10, 11, 0, + 0, 0, 340, 6, 7, 8, 9, 10, 11, 0, 0, 0, 0, 16, 17, 18, 24, 25, 26, 0, - 108, 0, 275, 0, 0, 839, 36, 39, 37, 0, - 38, 0, 192, 394, 395, 0, 767, 768, 769, 770, - 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, - 781, 0, 0, 0, 219, 220, 0, 0, 226, 227, - 0, 0, 0, 0, 0, 223, 0, 71, 218, 0, - 0, 0, 0, 803, 0, 0, 0, 0, 41, 19, - 20, 43, 42, 22, 23, 575, 733, 0, 710, 718, - 716, 0, 719, 720, 721, 722, 723, 724, 729, 730, - 731, 732, 692, 717, 0, 709, 0, 0, 0, 513, - 0, 576, 577, 578, 0, 0, 0, 0, 0, 0, - 714, 0, 0, 239, 0, 0, 0, 0, 0, 0, - 0, 0, 59, 439, 0, 0, 0, 0, 139, 1, - 0, 813, 831, 849, 863, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 390, 397, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 581, 0, 574, 0, 31, 0, 0, 0, 0, - 0, 0, 228, 229, 230, 231, 221, 222, 72, 0, - 73, 0, 0, 103, 0, 21, 798, 0, 0, 804, - 805, 806, 808, 0, 809, 810, 811, 812, 0, 861, - 862, 0, 0, 0, 725, 726, 727, 728, 691, 0, - 694, 0, 711, 713, 237, 238, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 695, 0, 0, 0, 0, 0, 0, 706, 0, 700, - 0, 0, 0, 0, 0, 699, 698, 0, 0, 0, - 0, 0, 234, 0, 0, 0, 64, 440, 68, 744, - 0, 0, 514, 515, 516, 517, 518, 519, 520, 521, - 522, 523, 524, 525, 526, 0, 375, 0, 338, 346, - 347, 0, 0, 0, 0, 368, 5, 0, 528, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 348, 352, 351, 354, 353, 355, 0, 340, - 342, 349, 361, 339, 0, 0, 0, 0, 0, 0, + 108, 0, 276, 0, 0, 840, 36, 39, 37, 0, + 38, 0, 193, 395, 396, 0, 768, 769, 770, 771, + 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, + 782, 0, 0, 0, 220, 221, 0, 0, 227, 228, + 0, 0, 0, 0, 0, 224, 0, 71, 219, 0, + 0, 0, 0, 804, 0, 0, 0, 0, 41, 19, + 20, 43, 42, 22, 23, 576, 734, 0, 711, 719, + 717, 0, 720, 721, 722, 723, 724, 725, 730, 731, + 732, 733, 693, 718, 0, 710, 0, 0, 0, 514, + 0, 577, 578, 579, 0, 0, 0, 0, 0, 0, + 715, 0, 0, 240, 0, 0, 0, 0, 0, 0, + 0, 0, 59, 440, 0, 0, 0, 0, 139, 1, + 0, 814, 832, 850, 864, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 391, 398, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 582, 0, 575, 0, 31, 0, 0, 0, 0, + 0, 0, 229, 230, 231, 232, 222, 223, 72, 0, + 73, 0, 0, 103, 0, 21, 799, 0, 0, 805, + 806, 807, 809, 0, 810, 811, 812, 813, 0, 862, + 863, 0, 0, 0, 726, 727, 728, 729, 692, 0, + 695, 0, 712, 714, 238, 239, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 696, 0, 0, 0, 0, 0, 0, 707, 0, 701, + 0, 0, 0, 0, 0, 700, 699, 0, 0, 0, + 0, 0, 235, 0, 0, 0, 64, 441, 68, 745, + 0, 0, 515, 516, 517, 518, 519, 520, 521, 522, + 523, 524, 525, 526, 527, 0, 376, 0, 339, 347, + 348, 0, 0, 0, 0, 369, 5, 0, 529, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 349, 353, 352, 355, 354, 356, 0, 341, + 343, 350, 362, 340, 0, 0, 0, 0, 0, 0, 102, 0, 111, 132, 109, 110, 113, 114, 0, 115, 116, 117, 118, 119, 120, 121, 122, 112, 131, 124, - 123, 133, 0, 136, 0, 107, 0, 281, 276, 277, - 278, 279, 280, 284, 282, 292, 283, 285, 286, 287, - 288, 289, 290, 291, 0, 293, 317, 0, 0, 0, - 416, 0, 415, 0, 414, 0, 413, 0, 411, 0, - 412, 436, 0, 0, 0, 0, 794, 784, 0, 0, - 842, 841, 840, 0, 0, 0, 213, 0, 199, 193, - 194, 195, 196, 201, 202, 203, 204, 198, 205, 206, - 197, 0, 0, 391, 0, 0, 0, 0, 0, 753, - 0, 752, 0, 0, 0, 0, 0, 314, 315, 0, - 0, 0, 0, 75, 69, 0, 96, 800, 0, 0, - 807, 0, 693, 712, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 705, 0, 0, - 0, 0, 737, 696, 0, 734, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 30, 27, 0, 105, 242, - 256, 0, 0, 839, 0, 0, 3, 0, 339, 174, - 175, 177, 176, 178, 184, 185, 140, 0, 0, 0, - 4, 341, 343, 0, 0, 0, 0, 0, 0, 0, - 350, 530, 529, 531, 532, 44, 0, 0, 527, 533, - 534, 537, 536, 538, 542, 543, 0, 541, 544, 0, - 0, 0, 0, 549, 0, 0, 0, 0, 0, 385, - 0, 383, 386, 369, 0, 0, 0, 0, 0, 0, - 0, 0, 372, 0, 0, 0, 0, 12, 816, 824, - 825, 814, 817, 0, 0, 836, 0, 0, 13, 0, - 834, 0, 832, 0, 0, 0, 0, 14, 856, 857, - 850, 0, 0, 15, 867, 868, 864, 0, 125, 126, + 123, 133, 0, 136, 0, 107, 0, 282, 277, 278, + 279, 280, 281, 285, 283, 293, 284, 286, 287, 288, + 289, 290, 291, 292, 0, 294, 318, 0, 0, 0, + 417, 0, 416, 0, 415, 0, 414, 0, 412, 0, + 413, 437, 0, 0, 0, 0, 795, 785, 0, 0, + 843, 842, 841, 0, 0, 0, 214, 0, 200, 194, + 195, 196, 197, 202, 203, 204, 205, 199, 206, 207, + 198, 0, 0, 392, 0, 0, 0, 0, 0, 754, + 0, 753, 0, 0, 0, 0, 0, 315, 316, 0, + 0, 0, 0, 75, 69, 0, 96, 801, 0, 0, + 808, 0, 694, 713, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 706, 0, 0, + 0, 0, 738, 697, 0, 735, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 30, 27, 0, 105, 243, + 257, 0, 0, 840, 0, 0, 3, 0, 340, 175, + 176, 178, 177, 179, 185, 186, 140, 0, 0, 0, + 4, 342, 344, 0, 0, 0, 0, 0, 0, 0, + 351, 531, 530, 532, 533, 44, 0, 0, 528, 534, + 535, 538, 537, 539, 543, 544, 0, 542, 545, 0, + 0, 0, 0, 550, 0, 0, 0, 0, 0, 386, + 0, 384, 387, 370, 0, 0, 0, 0, 0, 0, + 0, 0, 373, 0, 0, 0, 0, 12, 817, 825, + 826, 815, 818, 0, 0, 837, 0, 0, 13, 0, + 835, 0, 833, 0, 0, 0, 0, 14, 857, 858, + 851, 0, 0, 15, 868, 869, 865, 0, 125, 126, 127, 128, 129, 130, 0, 106, 142, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 396, - 0, 0, 404, 0, 0, 843, 844, 845, 846, 847, - 848, 0, 0, 0, 0, 0, 0, 0, 0, 75, - 0, 0, 0, 0, 0, 32, 0, 224, 233, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 757, 758, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 697, - 704, 0, 0, 0, 0, 0, 179, 180, 0, 0, - 0, 0, 0, 139, 0, 245, 259, 849, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 535, 0, 566, - 0, 0, 0, 564, 367, 384, 370, 0, 387, 376, - 377, 378, 379, 381, 382, 380, 0, 0, 0, 0, - 819, 818, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 855, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 397, + 0, 0, 405, 0, 0, 844, 845, 846, 847, 848, + 849, 0, 0, 0, 0, 0, 0, 0, 0, 75, + 0, 0, 0, 0, 0, 32, 0, 225, 234, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 758, 759, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 698, + 705, 0, 0, 0, 0, 0, 180, 181, 0, 0, + 0, 0, 0, 139, 0, 246, 260, 850, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 536, 0, 567, + 0, 0, 0, 565, 368, 385, 371, 0, 388, 377, + 378, 379, 380, 382, 383, 381, 0, 0, 0, 0, + 820, 819, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 856, 0, 0, 0, 0, 0, 0, 151, 153, 152, 154, 0, 149, 150, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 401, 0, - 0, 0, 0, 0, 398, 403, 0, 786, 0, 0, - 601, 639, 593, 594, 0, 628, 595, 596, 597, 598, - 599, 600, 630, 606, 607, 608, 609, 0, 0, 0, - 636, 0, 0, 0, 0, 591, 592, 615, 616, 617, - 634, 618, 619, 620, 621, 0, 0, 624, 0, 632, - 638, 273, 0, 0, 0, 0, 0, 0, 0, 741, - 0, 0, 0, 0, 746, 0, 35, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 402, 0, + 0, 0, 0, 0, 399, 404, 0, 787, 0, 0, + 602, 640, 594, 595, 0, 629, 596, 597, 598, 599, + 600, 601, 631, 607, 608, 609, 610, 0, 0, 0, + 637, 0, 0, 0, 0, 592, 593, 616, 617, 618, + 635, 619, 620, 621, 622, 0, 0, 625, 0, 633, + 639, 274, 0, 0, 0, 0, 0, 0, 0, 742, + 0, 0, 0, 0, 747, 0, 35, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 76, 444, 0, 77, 0, 97, 98, 0, 99, - 100, 101, 0, 0, 0, 487, 486, 0, 0, 0, - 0, 477, 476, 475, 474, 472, 470, 471, 473, 485, - 484, 483, 482, 0, 701, 702, 739, 735, 0, 0, - 0, 244, 243, 0, 0, 258, 257, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 170, 0, 0, 0, - 358, 0, 0, 0, 0, 0, 0, 359, 0, 0, - 0, 0, 547, 0, 0, 550, 0, 0, 0, 344, - 0, 0, 0, 373, 374, 815, 826, 0, 828, 820, - 823, 801, 827, 833, 835, 0, 0, 0, 0, 0, + 0, 76, 445, 0, 77, 0, 97, 98, 0, 99, + 100, 101, 0, 0, 0, 488, 487, 0, 0, 0, + 0, 478, 477, 476, 475, 473, 471, 472, 474, 486, + 485, 484, 483, 0, 702, 703, 740, 736, 0, 0, + 0, 245, 244, 0, 0, 259, 258, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 171, 0, 0, 0, + 359, 0, 0, 0, 0, 0, 0, 360, 0, 0, + 0, 0, 548, 0, 0, 551, 0, 0, 0, 345, + 0, 0, 0, 374, 375, 816, 827, 0, 829, 821, + 824, 802, 828, 834, 836, 0, 0, 0, 0, 0, 134, 0, 0, 0, 0, 157, 0, 0, 0, 148, - 141, 294, 0, 0, 0, 305, 306, 307, 308, 300, - 301, 302, 299, 303, 304, 0, 0, 297, 0, 0, - 0, 0, 0, 0, 402, 410, 409, 408, 407, 405, - 406, 0, 0, 207, 629, 602, 603, 604, 605, 0, - 625, 631, 633, 637, 0, 0, 0, 635, 622, 623, - 677, 646, 647, 0, 674, 648, 649, 650, 651, 652, - 653, 676, 658, 659, 660, 661, 644, 645, 666, 667, - 668, 669, 670, 671, 672, 673, 643, 678, 679, 680, - 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, - 662, 0, 0, 610, 200, 0, 209, 0, 191, 0, - 760, 759, 0, 756, 0, 755, 742, 0, 749, 78, - 75, 70, 0, 0, 557, 0, 0, 0, 0, 0, + 141, 295, 0, 0, 0, 306, 307, 308, 309, 301, + 302, 303, 300, 304, 305, 0, 0, 298, 0, 0, + 0, 0, 0, 0, 403, 411, 410, 409, 408, 406, + 407, 0, 0, 208, 630, 603, 604, 605, 606, 0, + 626, 632, 634, 638, 0, 0, 0, 636, 623, 624, + 678, 647, 648, 0, 675, 649, 650, 651, 652, 653, + 654, 677, 659, 660, 661, 662, 645, 646, 667, 668, + 669, 670, 671, 672, 673, 674, 644, 679, 680, 681, + 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, + 663, 0, 0, 611, 201, 0, 210, 0, 192, 0, + 761, 760, 0, 757, 0, 756, 743, 0, 750, 78, + 75, 70, 0, 0, 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, 82, 0, 80, 0, 95, 0, - 481, 480, 479, 478, 0, 0, 190, 0, 0, 0, - 0, 0, 0, 0, 171, 0, 0, 0, 0, 172, - 251, 252, 253, 254, 246, 0, 0, 0, 173, 265, - 264, 266, 267, 260, 181, 0, 362, 0, 365, 366, - 0, 45, 46, 0, 546, 0, 552, 553, 345, 0, - 565, 0, 0, 0, 854, 865, 0, 0, 160, 0, - 0, 0, 145, 0, 163, 0, 0, 296, 0, 0, - 0, 318, 319, 320, 321, 0, 0, 790, 0, 788, - 0, 0, 0, 0, 675, 654, 655, 656, 657, 664, - 0, 0, 665, 0, 611, 0, 272, 0, 0, 0, + 482, 481, 480, 479, 0, 0, 191, 0, 0, 0, + 0, 0, 0, 0, 172, 0, 0, 0, 0, 173, + 252, 253, 254, 255, 247, 0, 0, 0, 174, 266, + 265, 267, 268, 261, 182, 0, 363, 0, 366, 367, + 0, 45, 46, 0, 547, 0, 553, 554, 346, 0, + 566, 0, 0, 0, 855, 866, 0, 0, 160, 0, + 0, 0, 145, 0, 164, 0, 0, 297, 0, 0, + 0, 319, 320, 321, 322, 0, 0, 791, 0, 789, + 0, 0, 0, 0, 676, 655, 656, 657, 658, 665, + 0, 0, 666, 0, 612, 0, 273, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 443, 0, 211, 441, 0, 0, 78, 0, 0, 0, - 217, 216, 0, 0, 0, 0, 0, 0, 0, 0, + 444, 0, 212, 442, 0, 0, 78, 0, 0, 0, + 218, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 0, 87, - 86, 0, 435, 795, 703, 0, 186, 0, 189, 0, - 0, 247, 248, 249, 250, 263, 261, 262, 357, 0, - 0, 548, 568, 388, 389, 0, 155, 0, 0, 166, - 0, 165, 162, 0, 0, 309, 310, 311, 312, 0, - 0, 0, 0, 0, 0, 0, 0, 663, 0, 0, - 612, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 750, 67, 169, 0, 0, 434, 0, 433, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 424, 0, - 423, 0, 422, 0, 421, 0, 419, 417, 0, 418, - 420, 0, 432, 0, 431, 0, 430, 0, 429, 0, - 450, 0, 446, 445, 0, 449, 0, 448, 0, 0, - 90, 0, 0, 0, 0, 0, 0, 364, 0, 0, - 158, 161, 146, 295, 313, 270, 0, 792, 0, 0, - 588, 0, 614, 0, 761, 0, 0, 0, 766, 751, - 215, 214, 502, 498, 428, 0, 427, 0, 426, 0, - 425, 0, 500, 498, 496, 494, 488, 491, 500, 498, - 496, 494, 511, 504, 447, 507, 89, 91, 0, 0, - 188, 0, 0, 0, 0, 168, 0, 0, 641, 0, - 587, 0, 613, 0, 0, 0, 0, 0, 500, 498, - 496, 494, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 79, 0, 0, 0, 0, - 821, 322, 0, 763, 764, 765, 466, 503, 465, 499, - 0, 0, 0, 0, 456, 501, 455, 454, 497, 453, - 495, 451, 490, 489, 452, 492, 493, 460, 459, 458, - 457, 469, 512, 506, 505, 467, 508, 0, 468, 510, - 255, 0, 0, 0, 0, 0, 464, 463, 462, 461, - 509, 0, 0, 360, 0, 327, 323, 332, 333, 334, - 335, 336, 324, 325, 326, 328, 329, 330, 331, 274, - 0, 0, 0, 0, 586, 0, 0, 0, 0, 182, - 337, 0, 0, 0, 0, 0, 0, 0, 0, 183, + 86, 0, 436, 796, 704, 0, 187, 0, 190, 0, + 0, 248, 249, 250, 251, 264, 262, 263, 358, 0, + 0, 549, 569, 389, 390, 0, 155, 0, 0, 0, + 167, 0, 166, 163, 0, 0, 310, 311, 312, 313, + 0, 0, 0, 0, 0, 0, 0, 0, 664, 0, + 0, 613, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 751, 67, 170, 0, 0, 435, 0, 434, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 425, + 0, 424, 0, 423, 0, 422, 0, 420, 418, 0, + 419, 421, 0, 433, 0, 432, 0, 431, 0, 430, + 0, 451, 0, 447, 446, 0, 450, 0, 449, 0, + 0, 90, 0, 0, 0, 0, 0, 0, 365, 0, + 0, 158, 162, 0, 146, 296, 314, 271, 0, 793, + 0, 0, 589, 0, 615, 0, 762, 0, 0, 0, + 767, 752, 216, 215, 503, 499, 429, 0, 428, 0, + 427, 0, 426, 0, 501, 499, 497, 495, 489, 492, + 501, 499, 497, 495, 512, 505, 448, 508, 89, 91, + 0, 0, 189, 0, 0, 0, 0, 169, 0, 161, + 0, 642, 0, 588, 0, 614, 0, 0, 0, 0, + 0, 501, 499, 497, 495, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, + 0, 0, 0, 822, 323, 0, 764, 765, 766, 467, + 504, 466, 500, 0, 0, 0, 0, 457, 502, 456, + 455, 498, 454, 496, 452, 491, 490, 453, 493, 494, + 461, 460, 459, 458, 470, 513, 507, 506, 468, 509, + 0, 469, 511, 256, 0, 0, 0, 0, 0, 465, + 464, 463, 462, 510, 0, 0, 361, 0, 328, 324, + 333, 334, 335, 336, 337, 325, 326, 327, 329, 330, + 331, 332, 275, 0, 0, 0, 0, 587, 0, 0, + 0, 0, 183, 338, 0, 0, 0, 0, 0, 0, + 0, 0, 184, }; #if defined(YYDESTRUCT_CALL) || defined(YYSTYPE_TOSTRING) static const YYINT yystos[] = { 0, @@ -883,46 +884,47 @@ static const YYINT yystos[] = { 0, 263, 299, 554, 299, 306, 618, 554, 297, 346, 365, 600, 608, 41, 637, 41, 546, 93, 93, 619, 619, 510, 623, 623, 623, 623, 623, 623, 623, 547, 44, - 274, 41, 547, 547, 554, 58, 41, 554, 546, 41, - 44, 616, 615, 631, 554, 393, 394, 393, 394, 581, - 617, 554, 61, 44, 554, 554, 583, 93, 554, 43, - 93, 281, 282, 283, 284, 554, 281, 282, 283, 554, - 610, 125, 125, 62, 572, 572, 41, 93, 41, 93, - 554, 554, 554, 554, 554, 554, 571, 554, 41, 93, - 41, 93, 41, 93, 41, 93, 41, 41, 93, 41, - 41, 93, 41, 93, 41, 93, 41, 93, 41, 93, - 41, 93, 41, 41, 93, 41, 263, 41, 93, 306, - 618, 91, 546, 40, 44, 274, 552, 619, 548, 614, - 41, 615, 619, 41, 41, 41, 40, 263, 554, 583, - 93, 93, 93, 554, 41, 58, 58, 58, 41, 125, - 41, 41, 40, 40, 41, 93, 41, 93, 41, 93, - 41, 93, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 41, 40, 263, 93, 61, 572, - 619, 548, 575, 60, 568, 569, 58, 572, 41, 44, - 41, 580, 93, 554, 554, 554, 596, 593, 40, 40, - 40, 40, 592, 593, 594, 595, 590, 591, 592, 593, - 594, 595, 599, 597, 598, 587, 41, 568, 619, 40, - 614, 41, 583, 41, 41, 41, 41, 562, 41, 554, - 592, 593, 594, 595, 41, 554, 41, 41, 554, 41, - 571, 41, 554, 570, 41, 570, 571, 41, 41, 41, - 41, 41, 587, 263, 299, 41, 299, 306, 41, 618, - 582, 40, 274, 572, 628, 44, 41, 41, 41, 41, - 263, 572, 548, 41, 294, 309, 325, 334, 348, 349, - 350, 351, 380, 381, 382, 383, 384, 385, 386, 123, - 583, 41, 40, 40, 41, 510, 572, 554, 358, 41, - 41, 552, 575, 619, 274, 548, 568, 40, 572, 41, + 274, 41, 547, 547, 554, 58, 41, 554, 546, 606, + 41, 44, 616, 615, 631, 554, 393, 394, 393, 394, + 581, 617, 554, 61, 44, 554, 554, 583, 93, 554, + 43, 93, 281, 282, 283, 284, 554, 281, 282, 283, + 554, 610, 125, 125, 62, 572, 572, 41, 93, 41, + 93, 554, 554, 554, 554, 554, 554, 571, 554, 41, + 93, 41, 93, 41, 93, 41, 93, 41, 41, 93, + 41, 41, 93, 41, 93, 41, 93, 41, 93, 41, + 93, 41, 93, 41, 41, 93, 41, 263, 41, 93, + 306, 618, 91, 546, 40, 44, 274, 552, 619, 548, + 614, 41, 615, 546, 619, 41, 41, 41, 40, 263, + 554, 583, 93, 93, 93, 554, 41, 58, 58, 58, + 41, 125, 41, 41, 40, 40, 41, 93, 41, 93, + 41, 93, 41, 93, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 41, 40, 263, 93, + 61, 572, 619, 548, 575, 60, 568, 569, 58, 615, + 572, 41, 44, 41, 580, 93, 554, 554, 554, 596, + 593, 40, 40, 40, 40, 592, 593, 594, 595, 590, + 591, 592, 593, 594, 595, 599, 597, 598, 587, 41, + 568, 619, 40, 614, 41, 583, 41, 41, 41, 41, + 562, 41, 554, 592, 593, 594, 595, 41, 554, 41, + 41, 554, 41, 571, 41, 554, 570, 41, 570, 571, + 41, 41, 41, 41, 41, 587, 263, 299, 41, 299, + 306, 41, 618, 582, 40, 274, 572, 628, 44, 41, + 41, 41, 41, 263, 572, 548, 41, 294, 309, 325, + 334, 348, 349, 350, 351, 380, 381, 382, 383, 384, + 385, 386, 123, 583, 41, 40, 40, 41, 510, 572, + 554, 358, 41, 41, 552, 575, 619, 274, 548, 568, + 40, 572, 41, }; #endif /* YYDESTRUCT_CALL || YYSTYPE_TOSTRING */ static const YYINT yydgoto[] = { 1, 158, 71, 482, 897, 159, 776, 105, 106, 802, 35, 36, 707, 781, 421, 1132, 73, 714, 828, 829, 1034, - 1035, 1081, 1545, 1546, 580, 1601, 782, 783, 784, 211, + 1035, 1081, 1547, 1548, 580, 1604, 782, 783, 784, 211, 526, 527, 175, 176, 893, 894, 1139, 687, 1144, 1064, - 1313, 932, 933, 281, 1567, 1568, 1563, 1558, 1565, 1566, - 1557, 1574, 1575, 1573, 161, 703, 529, 530, 1261, 1262, + 1313, 932, 933, 281, 1570, 1571, 1566, 1561, 1568, 1569, + 1560, 1577, 1578, 1576, 161, 703, 529, 530, 1261, 1262, 1039, 705, 1372, 706, 934, 693, 694, 1196, 803, 1265, 830, 656, 212, 229, 230, 107, 231, 108, 214, 187, - 190, 208, 1625, 745, 746, 834, 688, 689, 92, 37, + 190, 208, 1628, 745, 746, 834, 688, 689, 92, 37, 113, 489, 115, 205, 116, 38, 39, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 40, 41, 311, 42, 43, 181, 44, 353, 46, @@ -935,342 +937,344 @@ static const YYINT yydgoto[] = { 1, 623, 624, 625, 632, 633, 641, 647, }; static const YYINT yysindex[] = { 0, -14035, 0, -360, 458, 0, 60, -212, 1699, 1699, 0, - 0, -131, 1208, 116, 186, -370, -245, 0, 246, 71, - 71, -27, -27, 9462, 183, 0, 458, 458, 458, 458, - 0, 0, 193, 0, 232, 232, 232, 0, 0, 0, - 337, 389, 0, 0, 0, 0, 0, 0, 0, 417, - 551, 567, 576, 0, 0, 0, 0, 0, 0, 232, - 0, 272, 0, 589, 71, 0, 0, 0, 0, 583, - 0, 71, 0, 0, 0, 524, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1670, 38, 662, 0, 0, 687, 693, 0, 0, - 590, 1047, 1047,11884, 7392, 0, 692, 0, 0, 717, - 71, 71, -40, 0, 1834, 638, 458, 583, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7392, 0, 0, +14122, 0, -368, 643, 0, 68, -246, 1476, 1476, 0, + 0, -145, 1184, 128, 89, -267, -205, 0, 314, 38, + 38, 263, 263, 9541, 146, 0, 643, 643, 643, 643, + 0, 0, 88, 0, 100, 100, 100, 0, 0, 0, + 255, 355, 0, 0, 0, 0, 0, 0, 0, 372, + 389, 467, 487, 0, 0, 0, 0, 0, 0, 100, + 0, 184, 0, 863, 38, 0, 0, 0, 0, 587, + 0, 38, 0, 0, 0, 422, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0,11827, 19, 602, 0, 0, 622, 664, 0, 0, + 917, 682, 682,11742, 7471, 0, 647, 0, 0, 681, + 38, 38, 384, 0, 2521, 703, 643, 587, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 7471, 0, 0, 0, 787, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 185, 0, 456, 185, 285, 0, - 1148, 0, 0, 0, 1722, 42, 425, 583, 770, 76, - 0, 435, 450, 0, 483, 489, 1095, 185, 147, 583, - 583, 583, 0, 0, 766, 599, 855, 868, 0, 0, -12884, 0, 0, 0, 0, 880, 5016, 1670, 607, 6049, - 887, 75, 91, 99, 106, 119, 122, 893, 756, 898, - 0, 0, 232, 203, 897, 458, 857,11441, 891, 134, - 778, 0, 135, 0, 1047, 0, 921, 62, 922, 707, - 71, 71, 0, 0, 0, 0, 0, 0, 0, 933, - 0,11030, 108, 0, 885, 0, 0, 2, 1834, 0, - 0, 0, 0, 514, 0, 0, 0, 0, 583, 0, - 0, 14, 583, 778, 0, 0, 0, 0, 0, 185, - 0, 711, 0, 0, 0, 0,11603, 953, 964, 839, - 976, 986, 993, 996, 1011, 1021, 1024, 1044, 1052, 1053, - 0, 458, 915, 126, 1003, 760, 583, 0, 458, 0, - 1068, 1088, 458, 346, 7392, 0, 0, 458, 458, 458, - 458, 7392, 0, 185, 1022, 922, 0, 0, 0, 0, - 6283,13902, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 71, 0, 71, 0, 0, - 0, 71, 1045, -56,12052, 0, 0, 1079, 0, 573, - 71, -27, 416, 573, 1095, 4830, 1670, -125, 1047,11884, - 1106, 232, 0, 0, 0, 0, 0, 0, 12, 0, - 0, 0, 0, 0, 819, 355, 775, 129, 1000, 404, - 0, 1108, 0, 0, 0, 0, 0, 0, 587, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 616, 0, 1670, 0, 1119, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1145, 0, 0, 1147, 71, 71, - 0, 71, 0, 71, 0, -27, 0, 364, 0, 364, - 0, 0, 1063, 1151, 524, 1167, 0, 0, 71, 71, - 0, 0, 0, 785, 583, 583, 0, 1169, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1170, 166, 0, 458, 439, 951, 1091, 7392, 0, -12125, 0, 956, 1176, 1189, 1190, 1095, 0, 0, 118, - 583, 1172, 962, 0, 0, 922, 0, 0, 774, 15, - 0, 458, 0, 0, 583, 965, 475, 71, 1201, 1202, - 1205, 1207, 71, 71, 71, -27, 544, 823, 71, 71, - 71, -27, 449, 458, 458, 458, 583, 0, 583, 1670, - 1670, 583, 0, 0, 974, 0, 98, 778, 1188, 1214, - 583, 583, 583, 583,11172, 0, 0, 894, 0, 0, - 0, 71, 71, 0, -308,12194, 0, 1138, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1146, 1152, 1155, - 0, 0, 0, 1210, 71, 255, 522, 71, 1047, 997, - 0, 0, 0, 0, 0, 0, 1230, 1242, 0, 0, - 0, 0, 0, 0, 0, 0,11603, 0, 0, 1244, - 922, 232, 7392, 0, 573, 1245, 1249, 1010,12983, 0, - 1670, 0, 0, 0, 819, -47, -47, -47, -47, 355, - 977, 978, 0, 830, 1237, 40, -6, 0, 0, 0, - 0, 0, 0, 232, 232, 0, 1238, 1243, 0, 232, - 0, 232, 0, 1263, -215, 458, 847, 0, 0, 0, - 0, 458, 848, 0, 0, 0, 0, 71, 0, 0, - 0, 0, 0, 0, 36, 0, 0, 1277, 71, 951, - 5140, 951, 1266, 1235, 1289, 1290, 1300, 1302, 1304, 0, - 756, 1305, 0, 1292, 18, 0, 0, 0, 0, 0, - 0, 71,14390, 32, 473, 458, 581, 1312, 1310, 0, - 972, 543, 1311, 1233, 1301, 0, 1102, 0, 0, 1308, - 5450, 1330, 1331, 716, 1258, 566, 506, 232, 458, 583, - 458, 0, 0, 1333, 1343, 71, 71, 71, -27, 1344, - 1345, 1348, 1351, 1352, 1355, 1357, 1361, 1362, 1366, 1367, - 1373, 458, 770, 770, 770, 1374, 1375, 71, 429, 0, - 0, 7392, 1377, 1670,11782, 979, 0, 0, 897, 558, - 644, 1047, 1154, 0,13134, 0, 0, 0, 71, 1329, - 71, 583, 71, 651, 1340, 7392, 716, 71, -27, 583, - 1163, 951, 1406, 208, 1405, 1409, 1408, 0, 1010, 0, - 5140, 1412, 1411, 0, 0, 0, 0, 573, 0, 0, - 0, 0, 0, 0, 0, 0, 524, 71, 71, 1417, - 0, 0, 1400, 1419, 922, 1421, 1422, 1420, 1435, 1437, - 1438, 71, 458, 0, 583, 458, 70, 458, 1440, 1444, - 0, 0, 0, 0, 1194, 0, 0, 83, 189, 1432, - 1670, 1454, 13, 1182, -64, 3, 592, 1407, 0, 1407, - 1407, 1407, 1407, 1407, 0, 0, 71, 0, 71, 1455, - 0, 0, 0, 0, 861, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1457, 1005, 1016, - 0, 1013, 1467, 55, 1234, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1457, 1457, 0,10342, 0, - 0, 0, 112, 1471, 232, 524, 1452, 458, 664, 0, - 951, 1390, 1458,12125, 0, 1393, 0, 130, 71, 1456, - 1010, 1010, 583, 1172, 0, 125, 141, 971, 149, 169, - 371, 430, 432, 442, 447, 468, 482, 490, 516, 520, - 532, 0, 0, 375, 0, 232, 0, 0, 524, 0, - 0, 0, 1479, 583, 583, 0, 0, 1480, 1481, 1482, - 1486, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 770, 0, 0, 0, 0, 778, 1010, - 1077, 0, 0, 583, 458, 0, 0, 7392, 583, 71, - 583, 71, 696, 7392, 716,14105, 0, 1384, 349, 2574, - 0, 1139, 1436, 1439, 1670, 1452,11603, 0, 1490, 1492, - 458, 734, 0, 1010, 573, 0, 573, 1501, 3, 0, - 1010, 1226, 1227, 0, 0, 0, 0, 40, 0, 0, - 0, 0, 0, 0, 0, 1504, 770, 583, 71, 583, - 0, 71, 1506, 1194, 7392, 0, 1670, 769, 458, 0, - 0, 0, 951, 1370, 1508, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1494, 1495, 0, 1462, 1472, - 1473, 1474, 1528, 716, 0, 0, 0, 0, 0, 0, - 0, 53, 1306, 0, 0, 0, 0, 0, 0, 1071, - 0, 0, 0, 0, 951, 1485, 1487, 0, 0, 0, - 0, 0, 0, 1186, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -5, 37, 0, 0, -24, 0, 2876, 0, 1543, - 0, 0, 922, 0, 1548, 0, 0, 1466, 0, 0, - 0, 0, 922, 1498, 0, 1558, 1563, 1568, 1573, 475, - 71, 71, 71, 535, 545, 549, 562, 71, 71, 71, - 71, 71, 71, -27, 71, 544, 71, 823, 71, 71, - 71, 71, 71, 71, 71, -27, 71, 2266, 71, 374, - 71, 1606, 71, 0, 0, 3784, 0, 1579, 0, 1193, - 0, 0, 0, 0, 1580, 1095, 0, 583, 166, 1529, - 1530, 1670,11603, 1114, 0, 1095, 1095, 1095, 1095, 0, - 0, 0, 0, 0, 0, 1095, 1095, 1095, 0, 0, - 0, 0, 0, 0, 0, 524, 0, 1582, 0, 0, - 1354, 0, 0, 583, 0, 1588, 0, 0, 0, 524, - 0, 524, 71, 1574, 0, 0, 1590, 71, 0, 166, - 1592, 1594, 0, 36, 0, 769, 922, 0, 71, 408, - 593, 0, 0, 0, 0,14390, 1576, 0, 71, 0, - 1578, 968, 71, 71, 0, 0, 0, 0, 0, 0, - 951, 1552, 0, 71, 0, 401, 0, 1608, 1609, 982, - 1610, 1611, 1612, 1613, 1614, 1615, 1616, 1619, 1620, 1622, - 0, 922, 0, 0, 71, 764, 0, 8, 1521, 1601, - 0, 0, 1010, 1010, 1624, 1575, 1625, 1577, 71, 71, - 71, 71, 71, 71, -27, 71, 1628, 1583, 1631, 1589, - 1644, 1593, 1646, 1595, 1648, 1649, 1599, 1654, 1655, 1605, - 1658, 1607, 1660, 1618, 1661, 1659, 1663, 1662, 1664, 1671, - 1665, 1667, 1673, 1668, 1491, 1712, 1678, 0, 1076, 0, - 0, 674, 0, 0, 0, 115, 0, 1713, 0, 1489, - 1047, 0, 0, 0, 0, 0, 0, 0, 0, 1670, - 716, 0, 0, 0, 0, 40, 0, 1735, 769, 0, - 1670, 0, 0, 4537, 1736, 0, 0, 0, 0, 1738, - 1741, 1523, 71, 951, 1700, 1702, 922, 0, 1708, 71, - 0, 1762, 1764, 1765, 1766, 1771, 1749, 1755, 1761, 1773, - 120, 0, 0, 0, 1779, 1780, 0, 1782, 0, 1783, - 1785, 1731, 1789, 1743, 1790, 1744, 1797, 1746, 0, 1800, - 0, 1801, 0, 1802, 0, 1803, 0, 0, 1804, 0, - 0, 1811, 0, 1821, 0, 1823, 0, 1824, 0, 1825, - 0, 1828, 0, 0, 1830, 0, 1831, 0, 1833, 1617, - 0, 1778, 585, 1010, 1670, 716, 7392, 0, 1815, 1818, - 0, 0, 0, 0, 0, 0, 1010, 0, 1836, 939, - 0,14463, 0, 1791, 0, 71, 71, 71, 0, 0, - 0, 0, 0, 0, 0, 1838, 0, 1842, 0, 1843, - 0, 1846, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2266, 1847, - 0, 1815,11603, 1796, 1849, 0, 40, 1850, 0, 951, - 0, 112, 0, 1851, 1852, 1853, 34, 44, 0, 0, - 0, 0, 47, 94, 102, 10, 27, 464, 104, 132, - 139, 67, 1961, 23, 961, 0, 1452, 1856, 1623, 1010, - 0, 0, 1006, 0, 0, 0, 0, 0, 0, 0, - 157, 164, 171, 97, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1627, 0, 0, - 0, 1010, 716, 1858, 2226, 951, 0, 0, 0, 0, - 0, 1859, 1861, 0, 1863, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 786, 1394, 1010, 71, 0, 1549, 1865, 1867, 1047, 0, - 0, 7392,11603, 1635, 716, 1815, 1871, 1010, 1872, 0, + 0, 0, 0, 0, -34, 0, 419, -34, 689, 0, + 5219, 0, 0, 0, 1457, 101, 178, 587, 690, 103, + 0, 391, 399, 0, 405, 417, 1866, -34, 39, 587, + 587, 587, 0, 0, 786, 584, 792, 814, 0, 0, +12986, 0, 0, 0, 0, 842, 5095,11827, 544, 6128, + 856, 75, 86, 102, 104, 118, 121, 883, 651, 888, + 0, 0, 100, 194, 1081, 643, 833,11310, 869, 109, + 477, 0, 135, 0, 682, 0, 900, 46, 907, 692, + 38, 38, 0, 0, 0, 0, 0, 0, 0, 920, + 0, 1686, 76, 0, 872, 0, 0, 15, 2521, 0, + 0, 0, 0, 495, 0, 0, 0, 0, 587, 0, + 0, -1, 587, 477, 0, 0, 0, 0, 0, -34, + 0, 696, 0, 0, 0, 0,11440, 932, 945, 930, + 947, 949, 962, 964, 970, 972, 974, 976, 984, 988, + 0, 643, 881, 494, 943, 977, 587, 0, 643, 0, + 998, 1000, 643, -18, 7471, 0, 0, 643, 643, 643, + 643, 7471, 0, -34, 922, 907, 0, 0, 0, 0, + 6362,13989, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 38, 0, 38, 0, 0, + 0, 38, 959, -59,11905, 0, 0, 996, 0, 819, + 38, 263, 453, 819, 1866, 4909,11827, -132, 682,11742, + 1021, 100, 0, 0, 0, 0, 0, 0, 8, 0, + 0, 0, 0, 0, 961, 363, 1063, 129, 835, 775, + 0, 1044, 0, 0, 0, 0, 0, 0, 499, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 116, 0,11827, 0, 1058, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1060, 0, 0, 1070, 38, 38, + 0, 38, 0, 38, 0, 263, 0, 575, 0, 575, + 0, 0, 968, 1073, 422, 1082, 0, 0, 38, 38, + 0, 0, 0, 586, 587, 587, 0, 1085, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1088, 1960, 0, 643, 503, 870, 1006, 7471, 0, +12016, 0, 871, 1095, 1101, 1107, 1866, 0, 0, 162, + 587, 1097, 884, 0, 0, 907, 0, 0, 697, 10, + 0, 643, 0, 0, 587, 893, 393, 38, 1141, 1145, + 1147, 1155, 38, 38, 38, 263, 693, 944, 38, 38, + 38, 263, 519, 643, 643, 643, 587, 0, 587,11827, +11827, 587, 0, 0, 931, 0, 126, 477, 1161, 1188, + 587, 587, 587, 587,11109, 0, 0, 877, 0, 0, + 0, 38, 38, 0, -226,12115, 0, 1111, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1120, 1122, 1124, + 0, 0, 0, 1190, 38, 427, 546, 38, 682, 980, + 0, 0, 0, 0, 0, 0, 1213, 1215, 0, 0, + 0, 0, 0, 0, 0, 0,11440, 0, 0, 1218, + 907, 100, 7471, 0, 819, 1219, 1221, 993,13137, 0, +11827, 0, 0, 0, 961, -61, -61, -61, -61, 363, + 942, 952, 0, 803, 1217, 35, 53, 0, 0, 0, + 0, 0, 0, 100, 100, 0, 1223, 1228, 0, 100, + 0, 100, 0, 1239, -204, 643, 812, 0, 0, 0, + 0, 643, 824, 0, 0, 0, 0, 38, 0, 0, + 0, 0, 0, 0, 36, 0, 0, 1253, 38, 870, + 5529, 870, 1257, 1226, 1279, 1280, 1287, 1293, 1297, 0, + 651, 1302, 0, 1288, 40, 0, 0, 0, 0, 0, + 0, 38,14478, -6, 585, 643, 574, 1306, 1301, 0, + 582, 185, 1309, 1225, 1295, 0, 1094, 0, 0, 1308, + 5839, 1322, 1337, -153, 1254, 566, -51, 100, 643, 587, + 643, 0, 0, 1339, 1340, 38, 38, 38, 263, 1345, + 1348, 1352, 1354, 1356, 1367, 1372, 1374, 1375, 1376, 1378, + 1379, 643, 690, 690, 690, 1387, 1389, 38, 376, 0, + 0, 7471, 1338,11827,11664, 737, 0, 0, 1081, 558, + 652, 682, 1117, 0,13220, 0, 0, 0, 38, 1341, + 38, 587, 38, 628, 1342, 7471, -153, 38, 263, 587, + 1158, 870, 1392, 867, 1393, 1402, 1400, 0, 993, 0, + 5529, 1405, 1403, 0, 0, 0, 0, 819, 0, 0, + 0, 0, 0, 0, 0, 0, 422, 38, 38, 1408, + 0, 0, 1394, 1410, 907, 1413, 1414, 1411, 1421, 1422, + 1423, 38, 643, 0, 587, 643, 28, 643, 1424, 1427, + 0, 0, 0, 0, 1168, 0, 0, 409, 269, 1406, +11827, 1435, 12, 748, -215, 34, 714, 1390, 0, 1390, + 1390, 1390, 1390, 1390, 0, 0, 38, 0, 38, 1437, + 0, 0, 0, 0, 983, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1442, 990, 999, + 0, 991, 1445, 70, 1220, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1442, 1442, 0,10421, 0, + 0, 0, 106, 1455, 100, 422, 1438, 643, 2063, 0, + 870, 1373, 1439,12016, 0, 1381, 0, 93, 38, 1443, + 993, 993, 587, 1097, 0, 132, 134, 1049, 394, 410, + 415, 430, 432, 442, 465, 468, 498, 513, 515, 520, + 524, 0, 0, 334, 0, 100, 0, 0, 422, 0, + 0, 0, 1465, 587, 587, 0, 0, 1466, 1467, 1468, + 1470, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 690, 0, 0, 0, 0, 477, 993, + 1061, 0, 0, 587, 643, 0, 0, 7471, 587, 38, + 587, 38, 729, 7471, -153,14191, 0, 934, 349, 1491, + 0, 1125, 1420, 1425,11827, 1438,11440, 0, 1474, 1478, + 643, 781, 0, 993, 819, 0, 819, 1479, 34, 0, + 993, 1200, 1205, 0, 0, 0, 0, 35, 0, 0, + 0, 0, 0, 0, 0, 1483, 690, 587, 38, 587, + 0, 38, 1487, 1168, 7471, 0,11827, 847, 643, 0, + 0, 0, 870, 1240, 1489, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1472, 1475, 0, 1444, 1446, + 1447, 1449, 1496, -153, 0, 0, 0, 0, 0, 0, + 0, 51, 1275, 0, 0, 0, 0, 0, 0, 1042, + 0, 0, 0, 0, 870, 1456, 1460, 0, 0, 0, + 0, 0, 0, 1023, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -3, 147, 0, 0, 3, 0, 2347, 0, 1508, + 0, 0, 907, 0, 1512, 0, 0, 1432, 0, 0, + 0, 0, 907, 1463, 0, 1517, 1521, 1528, 1529, 393, + 38, 38, 38, 545, 562, 589, 590, 38, 38, 38, + 38, 38, 38, 263, 38, 693, 38, 944, 38, 38, + 38, 38, 38, 38, 38, 263, 38, 2953, 38, 227, + 38, 989, 38, 0, 0, 3255, 0, 1532, 0, 1149, + 0, 0, 0, 0, 1534, 1866, 0, 587, 1960, 1485, + 1488,11827,11440, 1075, 0, 1866, 1866, 1866, 1866, 0, + 0, 0, 0, 0, 0, 1866, 1866, 1866, 0, 0, + 0, 0, 0, 0, 0, 422, 0, 1536, 0, 0, + 1312, 0, 0, 587, 0, 1549, 0, 0, 0, 422, + 0, 422, 38, 1533, 0, 0, 1551, 38, 0, 1350, + 1552, 1550, 0, 36, 0, 847, 907, 0, 38, 483, + 517, 0, 0, 0, 0,14478, 1535, 0, 38, 0, + 1544, 1053, 38, 38, 0, 0, 0, 0, 0, 0, + 870, 1503, 0, 38, 0, 165, 0, 1557, 1566, 1083, + 1568, 1569, 1572, 1574, 1575, 1578, 1579, 1581, 1583, 1584, + 0, 907, 0, 0, 38, 762, 0, 7, 1500, 1564, + 0, 0, 993, 993, 1586, 1538, 1592, 1541, 38, 38, + 38, 38, 38, 38, 263, 38, 1595, 1545, 1596, 1546, + 1599, 1548, 1601, 1553, 1603, 1604, 1554, 1607, 1608, 1558, + 1611, 1560, 1613, 1562, 1615, 1570, 1616, 1585, 1621, 1590, + 1624, 1626, 1594, 1627, 1429, 1652, 1605, 0, 1311, 0, + 0, 686, 0, 0, 0, 202, 0, 1655, 0, 1426, + 682, 0, 0, 0, 0, 0, 0, 0, 0,11827, + -153, 0, 0, 0, 0, 35, 0, 1660, 847, 643, + 0,11827, 0, 0, 1692, 1661, 0, 0, 0, 0, + 1662, 1665, 1452, 38, 870, 1614, 1625, 907, 0, 1636, + 38, 0, 1668, 1677, 1690, 1691, 1701, 1674, 1687, 1693, + 1711, 120, 0, 0, 0, 1712, 1713, 0, 1721, 0, + 1726, 1728, 1678, 1729, 1681, 1735, 1689, 1745, 1695, 0, + 1727, 0, 1750, 0, 1751, 0, 1752, 0, 0, 1753, + 0, 0, 1791, 0, 1792, 0, 1793, 0, 1794, 0, + 1796, 0, 1797, 0, 0, 1798, 0, 1809, 0, 1815, + 1593, 0, 1765, 630, 993,11827, -153, 7471, 0, 1800, + 1807, 0, 0, 847, 0, 0, 0, 0, 993, 0, + 1831, 760, 0,14506, 0, 1781, 0, 38, 38, 38, + 0, 0, 0, 0, 0, 0, 0, 1840, 0, 1841, + 0, 1843, 0, 1844, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2953, 1845, 0, 1800,11440, 1799, 1847, 0, 35, 0, + 1848, 0, 870, 0, 106, 0, 1850, 1851, 1852, 11, + 62, 0, 0, 0, 0, 94, 99, 119, 124, 223, + 529, 127, 140, 150, 164, 2647, 23, 466, 0, 1438, + 1858, 1628, 993, 0, 0, 1072, 0, 0, 0, 0, + 0, 0, 0, 157, 166, 176, 179, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1622, 0, 0, 0, 993, -153, 1860, 2913, 870, 0, + 0, 0, 0, 0, 1862, 1859, 0, 1864, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 854, 1395, 993, 38, 0, 1530, 1889, + 1899, 682, 0, 0, 7471,11440, 1669, -153, 1800, 1904, + 993, 1907, 0, }; static const YYINT yyrindex[] = { 0, - 0, 0, 5326, 0, 0,11662, 2579, 0, 0, 0, - 0, 0,11982, 0, 0, 384, 2444, 0, 663, 0, + 0, 0, 5405, 0, 0,11534, 2051, 0, 0, 0, + 0, 0,12385, 0, 0, 434, 3129, 0, 663, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1873, 1873, 1873, 0, 0, 0, + 0, 0, 0, 0, 1909, 1909, 1909, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1873, - 0, -46, 0, 0, 0, 0, 0, 0, 0, 1792, - 0, 0, 0, 0, 0, 1787, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1909, + 0, -60, 0, 0, 0, 0, 0, 0, 0, 1822, + 0, 0, 0, 0, 0, 1497, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7693, 0, 0, 0, 0, 0, 0, - 5760,11552,11552, 0, 0, 0, 6212, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 9896, 0, 0, + 0, 0, 0, 7772, 0, 0, 0, 0, 0, 0, +12179,12257,12257, 0, 0, 0, 6291, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 9975, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1756, 2364, 0, - 0, 0, 0, 0, 0, 0,11982, 1793, 4793, 5103, - 5413, 5723, 0, 0, 0, 1875, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1794,11552, - 0, 9396, 9396, 9396, 9396, 9396, 9396, 0, 0, 0, - 0, 0, 1873, 8068, 0, 0, 0, 0, 0, 0, - 7085, 0, 9003, 0,11982, 0, 0, 0, 9176, 0, + 0, 0, 0, 0, 0, 0, 0, 1835, 2443, 0, + 0, 0, 0, 0, 0, 0,12385, 1826, 4872, 5182, + 5492, 5802, 0, 0, 0, 1912, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1833,12257, + 0, 9475, 9475, 9475, 9475, 9475, 9475, 0, 0, 0, + 0, 0, 1909, 8147, 0, 0, 0, 0, 0, 0, + 7164, 0, 9082, 0,12385, 0, 0, 0, 9255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 8283, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1805, 0, - 0, 1806,10008, 4492, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 8362, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1836, 0, + 0, 1857,10087, 4571, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3884, 0, 0, 0, - 0, 0, 0, 1882, 1870, 0, 0, 0, 0, 0, - 0, 0, 0, 1793, 0, 6033, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3963, 0, 0, 0, + 0, 0, 0, 1922, 1913, 0, 0, 0, 0, 0, + 0, 0, 0, 1826, 0, 6112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,11982, 0, 0, 0,11982, 0, - 0, 1873, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,12385, 0, 0, 0,12385, 0, + 0, 1909, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -57, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1809, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1812, 1319, 0, 0, 0, 0, + 0, 0, 0, 1846, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1865, 1398, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1814, 0, 0, 7895, 0, 0,11982, 0, 0, 1882, - 109, 1887, 0, 0, 0, 6467, 0, 0,10141, 1813, - 0, 0, 0, 0,12532, 0, 0, 0, 0, 0, + 1849, 0, 0, 7974, 0, 0,12385, 0, 0, 1922, + 31, 1941, 0, 0, 0, 6546, 0, 0,10220, 1868, + 0, 0, 0, 0,12653, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 4188, 0, 2060, 0, - 0,10252, 0, 0, 174, 0, 0, 639, 0, 1878, -10283,10438,10579,10610, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 4267, 0, 2139, 0, + 0,10331, 0, 0, 138, 0, 0, 123, 0, 1923, +10362,10517,10658,10689, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,11982, 0, + 0, 0, 0, 0, 0, 0, 0, 0,12385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -13285, 1873, 0, 0, 1896, 0, 0,12277, 0, 0, - 0, 0, 0, 0,13384, 0, 0, 0, 0, 0, +13303, 1909, 0, 0, 1946, 0, 0,12312, 0, 0, + 0, 0, 0, 0,13454, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1873, 1873, 0, 0, 0, 0, 1873, - 0, 1873, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1909, 1909, 0, 0, 0, 0, 1909, + 0, 1909, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 229, 0, 0, 1819, 0, 4672, + 0, 0, 0, 0, 358, 0, 0, 1876, 0, 4616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 8252, 0, 0, 0, 0, 0, - 0, 0, 153, 9704, 0, 7336, 0, 0, 1902, 0, - 0, 0, 1839, 0, 0, 0, 0, 0, 0, 6646, - 1870, 0, 0, 0, 0, -52, 0, 1873, 0, 1827, + 0, 0, 0, 0, 8331, 0, 0, 0, 0, 0, + 0, 0, 425, 9783, 0, 7415, 0, 0, 1948, 0, + 0, 0, 1875, 0, 0, 0, 0, 0, 0, 6725, + 1913, 0, 0, 0, 0, -71, 0, 1909, 0, 1878, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2668, 2972, 3276, 0, 0, 205, 511, 0, - 0, 0,11329, 0, 0,11982, 0, 0, 0, 0, - 0,11982, 0, 0, 0, 0, 0, 0, 0, 0, - 0,13467, 0, 0, 0, 0, 0, 0, 0,12801, - 0, 0, 0, 0, 1903, 0, 1914, 0,12277, 0, - 0, 0, 1917, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2747, 3051, 3355, 0, 0, 156, 606, 0, + 0, 0,11251, 0, 0,12385, 0, 0, 0, 0, + 0,12385, 0, 0, 0, 0, 0, 0, 0, 0, + 0,13621, 0, 0, 0, 0, 0, 0, 0,12819, + 0, 0, 0, 0, 1962, 0, 1963, 0,12312, 0, + 0, 0, 1964, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1964, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2878, 0, 0, 0, 0, 0, - 0, 0, 0, 0,12336, 0, 0, 229, 0, 0, - 0, 0, 4672, 0, 0, 837, 0, 9396, 0, 9396, - 9396, 9396, 9396, 9396, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 886, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1931, 0, 0, 0, 0, 0, + 0, 0, 0, 0,12448, 0, 0, 358, 0, 0, + 0, 0, 4616, 0, 0, 550, 0, 9475, 0, 9475, + 9475, 9475, 9475, 9475, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 224, 0, 0, - 0, 0, 0, 0, 695, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 224, 224, 0, 9, 0, - 0, 0, 1918, 0, 0, 0, 9865, 7520, 0, 0, - 0, 0, 1039, 1814, 0, 0, 0, 0, 0, 0, -12277,12277,12380, 1887, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 660, 0, 0, + 0, 0, 0, 0, 694, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 660, 660, 0, 9, 0, + 0, 0, 1965, 0, 0, 0, 9944, 7599, 0, 0, + 0, 0, 1039, 1849, 0, 0, 0, 0, 0, 0, +12312,12312,12502, 1941, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1840, 0, 1873, 0, 0, 0, 0, - 0, 0, 0, 1854,12631, 0, 0, 0, 0, 0, + 0, 0, 0, 1882, 0, 1909, 0, 0, 0, 0, + 0, 0, 0, 1885,12736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3580, 0, 0, 0, 0, 681,12277, - 0, 0, 0, 454, 0, 0, 0, 0, 1857, 0, -14176, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0,13618, 0, 0, 0,13717, 0, 0, 0, 0, - 0, 0, 0,12277, 1896, 0, 1896, 0, 357, 0, -12405, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3182, 3486, 0, 1434, - 0, 0, 0,12336, 0, 0, 1938, 1919, 0, 0, + 0, 0, 0, 3659, 0, 0, 0, 0, 668,12312, + 0, 0, 0, 50, 0, 0, 0, 0, 1890, 0, +14293, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0,13704, 0, 0, 0,13787, 0, 0, 0, 0, + 0, 0, 0,12312, 1946, 0, 1946, 0, 105, 0, +12533, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2045, 2349, 0, 1304, + 0, 0, 0,12448, 0, 0, 1971, 1952, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 8444, 8628, 0, 0, 0, 0, 0, 0, 0, + 0, 8523, 8707, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1012, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 862, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 6901, 0, 0, 0, 0, 0, 0, 0, + 0, 979, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 709, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 6980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0,10721, - 0, 0, 0, 0, 0,11982, 0, 1860, 0, 0, - 0, 0, 0, 0, 0,11982,11982,11982,11982, 0, - 0, 0, 0, 0, 0,11982,11982,11982, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0,10800, + 0, 0, 0, 0, 0,12385, 0, 1892, 0, 0, + 0, 0, 0, 0, 0,12385,12385,12385,12385, 0, + 0, 0, 0, 0, 0,12385,12385,12385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0,13868, 0, 0, 0, 0, 0, 905, + 0, 0, 0,13938, 0, 0, 0, 0, 0, 776, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1941, 0, 229, 0, 1919, 4672, 0, 0, 0, - 0, 0, 0, 0, 0, 153, 1944, 0, 0, 0, + 0, 1975, 0, 358, 0, 1952, 4616, 0, 0, 0, + 0, 0, 0, 0, 0, 425, 1977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 9563, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,12277,12277, 0, 0, 0, 0, 0, 0, + 0, 9642, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,12312,12312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -11982, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1919, 0, +12385, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1952, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 8801, 0, 0, 0, 0, 731, 0, 0, 0, + 0, 0, 8880, 0, 0, 0, 0, 745, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0,12277, 0, 0, 0, 0, 1945, 0, - 0, 0, 0, 0, 0, 0,12277, 0, 0, 0, - 0, 153, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,12312, 0, 0, 0, 0, 1978, + 0, 0, 0, 1952, 0, 0, 0, 0,12312, 0, + 0, 0, 0, 425, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1945, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1946, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1978, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1866, 0, 0,12277, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1896, + 0, 0,12312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,12312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0,12277, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,12277, 0, 0, 0, 0, 0,11982, 0, - 0, 0, 0, 0, 0, 1945, 0,12277, 0, 0, + 0, 0, 0, 0, 0,12312, 0, 0, 0, 0, + 0,12385, 0, 0, 0, 0, 0, 0, 1978, 0, +12312, 0, 0, }; #if YYBTYACC static const YYINT yycindex[] = { 0, @@ -1441,2875 +1445,2912 @@ static const YYINT yycindex[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, }; #endif -static const YYINT yygindex[] = { 1808, - -4, -17, -693, 0, -444, -124, -98, 0, -7, 0, - 0, 0, 1569, -74, 0, 0, -870, 0, 1162, 0, - 957, 196,-1439, -445, -418, 5, -771, 0, 981, -22, - 1257, 0, -16, 1103, 495, 735, -965, -76, 0, 998, - 0,-1148, 872, 0, 0, 0,-1385, -852,-1309,-1052, - 0, 0, 0, 0, 822, 1111, 1325, 0, 0, 0, - 0, -658, 0, 0,-1055, 0, 1132, 0, -980,-1175, - 777, 767, -21, 4, 1695, 1581, 2026, -161, 74, 0, - 0, 0, 0, 0, 0, -790, 1150, 0, 2047, 0, - 0, 859, 1943, 1517, 0, -23, 2039, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -302, 1322, 0, -295, -239, -292, 45, 0, - 0, 29, 0, 0, 0, 0, 0, 0, 1324, 0, - 0, 0, 33, 6, 41, 0, 17, 1784, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 30, 0, 0, 0, 0, 0, 0, 0, 0, -159, - 0, 0, 1461, 0, 0, 0, 253, 0, 0, 0, - 0, 0, 0, 0, 1416, 2013, -28, 0, 1602, 0, - 1715, 0, 0, 0, 0, 0, 0, +static const YYINT yygindex[] = { 1842, + -4, -17, -685, 0, -378, -86, -98, 0, -7, 0, + 0, 0, 1606, -74, 0, 0, -883, 0, 1196, 0, + 1003, 234,-1445, -445, -418, 5, -757, 0, 1014, -22, + 1294, 0, -16, 1143, 535, 764, -967, -76, 0, 1032, + 0,-1149, 904, 0, 0, 0,-1287,-1289,-1229,-1085, + 0, 0, 0, 0, 849, 1129, 1349, 0, 0, 0, + 789, -659, 0, 0,-1049, 0, 1148, 0, -980,-1196, + 790, 778, -21, 4, 1703, 1580, 2034, -161, 74, 0, + 0, 0, 0, 0, 0, -790, 1162, 0, 2050, 0, + 0, 862, 1950, 1522, 0, -23, 2041, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -303, 1313, 0, -302, -296, -300, 45, 0, + 0, 29, 0, 0, 0, 0, 0, 0, 1310, 0, + 0, 0, 33, 6, 41, 0, 17, 1766, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 27, 0, 0, 0, 0, 0, 0, 0, 0, -148, + 0, 0, 1464, 0, 0, 0, 480, 0, 0, 0, + 0, 0, 0, 0, 1401, 2007, -28, 0, 1587, 0, + 1705, 0, 0, 0, 0, 0, 0, }; -#define YYTABLESIZE 14966 +#define YYTABLESIZE 15009 static const YYINT yytable[] = { 70, - 165, 160, 162, 227, 228, 303, 56, 1008, 548, 668, - 914, 669, 120, 121, 118, 549, 219, 59, 550, 177, - 178, 363, 169, 170, 171, 172, 124, 125, 1142, 48, - 1240, 902, 1293, 55, 568, 203, 702, 1254, 1291, 1359, - 297, 57, 1044, 186, 296, 45, 642, 206, 119, 642, - 1600, 598, 642, 167, 804, 473, 750, 204, 209, 206, - 206, 849, 295, 1616, 207, 147, 34, 1602, 302, 733, - 734, 735, 78, 998, 1587, 336, 135, 206, 826, 1294, - 827, 801, 232, 283, 1589, 1292, 109, 1595, 725, 726, - 1403, 417, 306, 294, 1318, 213, 1279, 164, 218, 642, - 1297, 472, 1578, 235, 236, 254, 74, 1611, 238, 66, - 249, 252, 253, 297, 419, 206, 469, 296, 423, 425, - 427, 429, 431, 259, 599, 826, 261, 827, 267, 1295, - 422, 94, 1432, 167, 1597, 295, 216, 1630, 424, 1156, - 1157, 739, 1598, 1569, 1608, 426, 304, 485, 316, 288, - 72, 284, 287, 1134, 1484, 579, 486, 112, 428, 283, - 206, 430, 198, 338, 1160, 420, 294, 75, 316, 1152, - 203, 206, 1609, 1591, 467, 283, 110, 164, 34, 1610, - 1162, 420, 393, 584, 471, 463, 436, 34, 1168, 420, - 740, 394, 206, 585, 585, 468, 420, 1627, 1205, 119, - 445, 446, 1133, 297, 1628, 466, 613, 296, 1170, 420, - 524, 1629, 420, 475, 476, 1161, 590, 738, 515, 67, - 68, 1571, 69, 1492, 114, 295, 1667, 481, 1037, 285, - 484, 1163, 1246, 751, 490, 483, 122, 123, 493, 1169, - 109, 734, 308, 585, 1510, 297, 439, 1004, 740, 296, - 593, 1593, 1151, 629, 813, 216, 294, 147, 147, 1171, - 440, 1431, 495, 788, 640, 640, 738, 295, 156, 135, - 496, 591, 528, 122, 123, 156, 111, 513, 518, 535, - 848, 517, 304, 285, 519, 1614, 525, 964, 522, 1325, - 119, 1214, 576, 531, 532, 533, 534, 740, 294, 216, - 119, 67, 68, 119, 69, 168, 78, 119, 566, 755, - 119, 78, 577, 578, 640, 1278, 554, 56, 562, 592, - 563, 1615, 572, 587, 564, 217, 582, 556, 59, 820, - 122, 123, 573, 574, 119, 596, 583, 98, 570, 552, - 48, 821, 822, 553, 55, 761, 575, 581, 611, 896, - 589, 555, 57, 712, 713, 551, 45, 119, 612, 823, - 122, 123, 290, 291, 292, 119, 1194, 119, 1027, 216, - 1277, 1195, 620, 620, 639, 645, 820, 67, 68, 167, - 69, 119, 579, 621, 621, 640, 646, 1029, 821, 822, - 1576, 216, 523, 67, 68, 119, 69, 269, 657, 619, - 269, 2, 119, 1043, 492, 709, 823, 34, 216, 824, - 1172, 663, 664, 98, 665, 1490, 666, 672, 109, 588, - 119, 237, 488, 164, 1613, 67, 68, 119, 69, 98, - 667, 674, 675, 34, 119, 290, 291, 292, 524, 363, - 1059, 1060, 1061, 1420, 67, 68, 691, 69, 67, 68, - 796, 69, 126, 964, 173, 579, 824, 286, 684, 179, - 685, 1173, 34, 597, 437, 438, 293, 626, 1158, 1174, - 766, 1176, 525, 1229, 695, 466, 1404, 336, 1194, 1572, - 98, 1178, 1063, 1195, 206, 567, 1180, 710, 156, 156, - 715, 156, 1319, 1421, 206, 720, 721, 722, 174, 724, - 579, 728, 729, 730, 1605, 67, 68, 1182, 69, 1594, - 723, 180, 727, 282, 67, 68, 731, 69, 206, 1290, - 1175, 1184, 1177, 736, 737, 290, 291, 292, 644, 1186, - 481, 686, 1179, 642, 747, 748, 1086, 1181, 483, 182, - 805, 732, 27, 28, 29, 30, 31, 32, 33, 753, - 109, 1435, 1436, 285, 736, 1188, 1087, 760, 1183, 1190, - 765, 762, 764, 262, 263, 898, 1581, 290, 291, 292, - 774, 1192, 1185, 264, 1329, 773, 241, 775, 825, 13, - 1187, 338, 770, 833, 1331, 837, 188, 777, 1333, 465, - 771, 627, 794, 615, 628, 363, 616, 617, 152, 153, - 154, 1335, 795, 736, 786, 465, 1189, 806, 807, 119, - 1191, 1621, 763, 810, 67, 811, 269, 69, 119, 269, - 523, 2, 1193, 473, 34, 1330, 200, 814, 206, 576, - 206, 815, 1065, 156, 473, 1332, 1361, 817, 836, 1334, - 819, 899, 203, 797, 797, 1539, 797, 978, 980, 577, - 578, 832, 1336, 984, 27, 28, 29, 30, 31, 32, - 33, 206, 92, 27, 28, 29, 30, 31, 32, 33, - 259, 1564, 1362, 183, 850, 655, 2, 1570, 528, 122, - 123, 576, 560, 548, 67, 68, 1588, 69, 119, 184, - 549, 943, 119, 550, 995, 1002, 206, 1489, 185, 913, - 560, 577, 578, 523, 944, 220, 945, 1592, 948, 949, - 950, 199, 1540, 579, 579, 117, 579, 67, 68, 969, - 69, 92, 935, 951, 561, 1548, 221, 122, 123, 576, - 967, 525, 222, 1194, 982, 590, 590, 338, 1195, 1212, - 974, 206, 561, 997, 979, 981, 983, 971, 975, 577, - 578, 991, 233, 993, 156, 994, 234, 1346, 1009, 1348, - 999, 260, 913, 1066, 1482, 1067, 1068, 1069, 1070, 1071, - 1012, 627, 627, 1000, 1245, 1226, 473, 1227, 1228, 1014, - 1013, 67, 68, 67, 69, 590, 69, 92, 937, 938, - 1015, 1016, 1542, 200, 712, 713, 10, 11, 12, 13, - 1406, 1407, 67, 68, 1026, 903, 307, 119, 1624, 576, - 126, 1028, 1264, 1030, 206, 297, 289, 67, 68, 296, - 69, 627, 1143, 939, 1038, 298, 1655, 1062, 473, 577, - 578, 1153, 67, 34, 1041, 69, 119, 295, 98, 1072, - 299, 1073, 916, 917, 918, 797, 919, 920, 921, 922, - 1632, 923, 924, 198, 13, 925, 926, 927, 928, 791, - 792, 793, 929, 930, 642, 308, 191, 643, 294, 192, - 193, 194, 195, 300, 196, 197, 198, 1145, 1137, 301, - 1247, 1657, 1248, 27, 28, 29, 30, 31, 32, 33, - 223, 1141, 224, 225, 226, 309, 1669, 67, 68, 618, - 69, 1154, 762, 67, 68, 762, 69, 695, 310, 27, - 28, 29, 30, 31, 32, 33, 649, 650, 651, 1198, - 371, 1199, 395, 67, 68, 216, 69, 119, 418, 1633, - 931, 126, 432, 67, 68, 92, 69, 435, 27, 28, - 29, 30, 31, 32, 33, 567, 1140, 1207, 567, 447, - 1197, 464, 652, 653, 654, 1209, 152, 153, 154, 98, - 470, 1213, 940, 941, 473, 942, 1267, 250, 251, 474, - 1208, 1666, 1210, 477, 1211, 67, 68, 487, 69, 1551, - 913, 473, 1550, 712, 713, 1408, 1409, 775, 491, 775, - 494, 554, 497, 1222, 1231, 639, 1244, 777, 1239, 777, - 1241, 1619, 556, 498, 1224, 1233, 640, 514, 1282, 297, - 473, 1414, 1260, 743, 552, 503, 1221, 1230, 553, 67, - 68, 1256, 69, 119, 1257, 504, 555, 119, 1223, 1232, - 551, 295, 505, 191, 1266, 506, 192, 193, 194, 195, - 1263, 196, 197, 198, 1427, 1428, 1429, 2, 473, 1626, - 507, 156, 626, 626, 1382, 1383, 1384, 1385, 34, 913, - 508, 1312, 294, 509, 1386, 1387, 1388, 255, 256, 257, - 258, 92, 92, 92, 92, 92, 37, 152, 153, 154, - 37, 1089, 1090, 510, 37, 37, 122, 123, 576, 478, - 479, 511, 512, 92, 92, 516, 269, 269, 37, 269, - 27, 28, 29, 30, 31, 32, 33, 520, 577, 578, - 92, 92, 92, 92, 676, 677, 678, 92, 92, 499, - 500, 501, 502, 92, 638, 1296, 92, 521, 600, 37, - 601, 602, 603, 92, 92, 565, 571, 290, 291, 292, - 1075, 1076, 1077, 1078, 1079, 595, 537, 648, 1604, 1606, - 679, 680, 681, 1326, 1327, 1328, 67, 68, 659, 69, - 1337, 1338, 1339, 1340, 1341, 1342, 156, 1344, 1345, 1347, + 165, 160, 162, 227, 228, 303, 56, 548, 549, 668, + 550, 669, 120, 121, 118, 1142, 219, 59, 914, 177, + 178, 1008, 169, 170, 171, 172, 124, 125, 1240, 48, + 902, 568, 363, 55, 1293, 203, 702, 1254, 1359, 206, + 1291, 57, 1044, 186, 206, 45, 643, 598, 119, 643, + 167, 1590, 643, 78, 473, 206, 156, 204, 209, 119, + 206, 336, 135, 1619, 207, 34, 147, 599, 302, 1404, + 317, 297, 74, 206, 524, 296, 801, 580, 826, 218, + 827, 998, 232, 849, 206, 472, 109, 1292, 725, 726, + 317, 417, 306, 295, 1279, 213, 580, 164, 1581, 643, + 1318, 66, 1592, 235, 236, 254, 67, 68, 238, 69, + 249, 252, 253, 804, 419, 485, 469, 94, 423, 425, + 427, 429, 431, 259, 294, 422, 261, 1297, 267, 216, + 167, 1433, 1152, 75, 1598, 733, 734, 735, 750, 1600, + 297, 424, 283, 426, 296, 270, 304, 1134, 270, 288, + 283, 284, 287, 1156, 1157, 198, 486, 428, 72, 1601, + 430, 206, 295, 338, 1603, 420, 561, 1611, 471, 739, + 203, 1160, 242, 1162, 467, 655, 420, 164, 34, 111, + 1612, 739, 393, 584, 561, 463, 436, 34, 110, 1294, + 1613, 394, 420, 294, 420, 468, 1133, 1630, 484, 741, + 445, 446, 1493, 283, 1614, 466, 1631, 1421, 420, 590, + 286, 420, 1205, 475, 476, 1151, 1632, 613, 740, 1633, + 478, 479, 1161, 1670, 1163, 67, 68, 481, 69, 285, + 739, 937, 938, 126, 490, 483, 1567, 439, 493, 1295, + 109, 1485, 1573, 1572, 1512, 119, 1246, 206, 741, 788, + 593, 440, 755, 629, 524, 135, 523, 1422, 147, 147, + 112, 98, 495, 1605, 114, 813, 939, 1432, 168, 308, + 496, 591, 528, 1595, 1594, 156, 1325, 513, 518, 535, + 216, 517, 304, 285, 519, 1617, 525, 78, 522, 1059, + 1060, 1061, 78, 531, 532, 533, 534, 1550, 119, 1214, + 216, 119, 848, 1574, 580, 566, 217, 734, 1037, 580, + 580, 896, 580, 1278, 216, 751, 554, 56, 562, 592, + 563, 1618, 572, 587, 564, 119, 582, 556, 59, 820, + 712, 713, 573, 574, 1596, 596, 583, 216, 570, 552, + 48, 821, 822, 553, 55, 1029, 575, 581, 611, 173, + 589, 555, 57, 964, 216, 551, 45, 119, 612, 823, + 67, 68, 119, 69, 270, 1194, 174, 270, 67, 68, + 1195, 69, 620, 620, 639, 645, 167, 179, 1277, 152, + 153, 154, 119, 621, 621, 640, 646, 122, 123, 492, + 119, 1579, 34, 290, 291, 292, 98, 156, 657, 619, + 709, 2, 1043, 119, 98, 940, 941, 34, 942, 824, + 119, 663, 664, 119, 665, 1491, 666, 672, 109, 588, + 119, 67, 68, 164, 69, 119, 1616, 122, 123, 119, + 667, 674, 675, 1168, 1027, 488, 523, 67, 68, 119, + 69, 119, 122, 123, 67, 68, 691, 903, 1575, 1170, + 363, 826, 126, 827, 1172, 437, 438, 98, 684, 597, + 685, 796, 290, 291, 292, 586, 586, 626, 1158, 1174, + 766, 1176, 525, 1229, 695, 466, 1405, 180, 1194, 1597, + 98, 1178, 567, 1195, 1169, 336, 119, 710, 576, 1361, + 715, 1319, 579, 293, 182, 720, 721, 722, 188, 724, + 1171, 728, 729, 730, 1180, 1173, 1622, 1182, 577, 578, + 723, 183, 727, 1063, 297, 586, 731, 761, 296, 964, + 1175, 1290, 1177, 736, 737, 1362, 122, 123, 67, 68, + 481, 69, 1179, 643, 747, 748, 295, 1184, 483, 206, + 805, 27, 28, 29, 30, 31, 32, 33, 206, 753, + 109, 1086, 1186, 285, 1188, 1181, 156, 760, 1183, 1190, + 765, 762, 764, 1192, 206, 1436, 1437, 294, 1584, 1608, + 774, 1087, 282, 67, 68, 773, 69, 775, 825, 13, + 465, 338, 770, 833, 1329, 837, 515, 777, 1185, 184, + 771, 627, 794, 615, 628, 686, 616, 617, 152, 153, + 154, 1331, 795, 1187, 786, 1189, 363, 806, 807, 185, + 1191, 732, 1624, 810, 1193, 811, 473, 156, 156, 297, + 156, 2, 67, 743, 34, 69, 119, 814, 1333, 1335, + 206, 815, 206, 465, 899, 1330, 763, 817, 836, 119, + 819, 295, 203, 67, 68, 220, 69, 978, 980, 737, + 523, 832, 1332, 984, 27, 28, 29, 30, 31, 32, + 33, 221, 92, 27, 28, 29, 30, 31, 32, 33, + 259, 995, 294, 206, 850, 206, 1591, 898, 528, 1334, + 1336, 67, 548, 549, 69, 550, 67, 68, 200, 69, + 1541, 943, 1194, 798, 798, 1002, 798, 1195, 737, 913, + 641, 641, 820, 222, 944, 1490, 945, 233, 948, 949, + 950, 562, 712, 713, 821, 822, 122, 123, 576, 969, + 234, 92, 935, 951, 260, 67, 68, 1542, 69, 562, + 967, 525, 823, 126, 591, 591, 289, 338, 577, 578, + 974, 1551, 982, 997, 979, 981, 983, 971, 975, 763, + 641, 991, 763, 993, 1065, 994, 473, 1346, 1009, 1348, + 999, 98, 913, 1066, 1620, 1067, 1068, 1069, 1070, 1071, + 1012, 1621, 1212, 1000, 206, 1226, 1483, 1227, 1228, 1014, + 1013, 298, 824, 117, 591, 628, 628, 92, 1058, 299, + 1015, 1016, 122, 123, 576, 300, 10, 11, 12, 13, + 1554, 1544, 473, 1553, 1026, 67, 68, 301, 69, 270, + 270, 1028, 270, 1030, 577, 578, 568, 67, 68, 568, + 69, 1245, 1143, 473, 1038, 1627, 307, 1062, 649, 650, + 651, 1153, 309, 34, 1041, 628, 290, 291, 292, 1072, + 576, 1073, 916, 917, 918, 237, 919, 920, 921, 922, + 308, 923, 924, 198, 310, 925, 926, 927, 928, 395, + 577, 578, 929, 930, 652, 653, 654, 1635, 27, 28, + 29, 30, 31, 32, 33, 1407, 1408, 1145, 1137, 152, + 153, 154, 371, 27, 28, 29, 30, 31, 32, 33, + 1264, 1141, 206, 34, 1658, 798, 473, 418, 1660, 644, + 200, 1154, 67, 68, 297, 69, 1004, 695, 296, 1409, + 1410, 67, 68, 1672, 69, 676, 677, 678, 1247, 1198, + 1248, 1199, 432, 270, 270, 447, 295, 435, 191, 464, + 931, 192, 193, 194, 195, 92, 196, 197, 198, 470, + 1636, 290, 291, 292, 823, 67, 68, 1207, 69, 473, + 1197, 679, 680, 681, 474, 1209, 119, 294, 576, 638, + 477, 1213, 67, 68, 487, 69, 1267, 262, 263, 491, + 1208, 497, 1210, 514, 1211, 494, 97, 264, 577, 578, + 913, 99, 1669, 100, 498, 199, 503, 775, 504, 775, + 101, 554, 34, 1222, 1231, 639, 1244, 777, 1239, 777, + 1241, 505, 556, 506, 1224, 1233, 640, 102, 1282, 507, + 823, 508, 1260, 509, 552, 510, 1221, 1230, 553, 627, + 627, 1256, 103, 511, 1257, 119, 555, 512, 1223, 1232, + 551, 97, 250, 251, 1266, 516, 99, 520, 100, 521, + 1263, 1045, 1428, 1429, 1430, 101, 537, 2, 1046, 565, + 1047, 1048, 1049, 571, 1382, 1383, 1384, 1385, 1220, 913, + 595, 1312, 102, 976, 1386, 1387, 1388, 255, 256, 257, + 258, 92, 92, 92, 92, 92, 37, 103, 67, 156, + 37, 69, 119, 648, 37, 37, 791, 792, 793, 1050, + 1051, 1052, 670, 92, 92, 473, 1415, 659, 37, 660, + 27, 28, 29, 30, 31, 32, 33, 2, 977, 662, + 92, 92, 92, 92, 473, 1629, 671, 92, 92, 1089, + 1090, 34, 673, 92, 682, 1296, 92, 683, 690, 37, + 634, 216, 696, 92, 92, 1053, 1054, 1055, 697, 1056, + 191, 698, 1057, 192, 193, 194, 195, 699, 196, 197, + 198, 1607, 1609, 1326, 1327, 1328, 701, 704, 823, 627, + 1337, 1338, 1339, 1340, 1341, 1342, 711, 1344, 1345, 1347, 1366, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1343, 1358, - 157, 1360, 1349, 1363, 660, 1367, 662, 670, 92, 92, - 1357, 92, 92, 92, 671, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 1376, 8, 9, 673, 682, 683, - 269, 269, 216, 690, 1417, 1379, 1380, 696, 1389, 697, - 67, 68, 1058, 69, 441, 13, 442, 443, 126, 698, - 699, 701, 1393, 444, 1394, 704, 627, 614, 711, 615, - 716, 717, 616, 617, 718, 1395, 719, 104, 738, 741, - 1398, 1164, 1165, 1166, 1167, 1399, 98, 742, 744, 1617, - 754, 1405, 1422, 1423, 1424, 1425, 1618, 759, 756, 768, - 767, 1412, 2, 97, 757, 1415, 1416, 758, 99, 109, - 100, 769, 1487, 772, 780, 778, 1419, 101, 779, 109, - 109, 109, 109, 797, 798, 634, 799, 800, 808, 109, - 109, 109, 812, 809, 102, 976, 838, 1426, 1430, 27, - 28, 29, 30, 31, 32, 33, 816, 818, 40, 103, - 831, 1441, 1442, 1443, 1444, 1445, 1446, 839, 1448, 840, - 841, 290, 291, 292, 1197, 67, 68, 1500, 69, 1447, - 842, 97, 843, 126, 844, 846, 99, 1481, 100, 847, - 977, 40, 900, 901, 904, 101, 40, 905, 40, 40, - 40, 906, 40, 95, 907, 40, 96, 1483, 908, 911, - 912, 98, 102, 946, 152, 153, 154, 40, 40, 40, - 40, 1480, 915, 947, 952, 953, 913, 103, 954, 97, - 98, 955, 956, 1488, 99, 957, 100, 958, 37, 37, - 37, 959, 960, 101, 1493, 1499, 961, 962, 635, 40, - 1268, 40, 1504, 963, 965, 966, 970, 265, 127, 266, - 102, 992, 128, 129, 130, 131, 132, 985, 133, 134, - 135, 136, 996, 137, 138, 103, 1001, 139, 140, 141, - 142, 40, 34, 40, 143, 144, 1003, 1197, 1005, 1006, - 13, 1007, 1010, 145, 1011, 146, 1017, 1018, 1019, 1022, - 636, 1020, 1021, 637, 1543, 1285, 1286, 1287, 1288, 1289, - 147, 148, 149, 1583, 1023, 1045, 95, 1024, 1025, 96, - 1031, 913, 1046, 1032, 1047, 1048, 1049, 1033, 1541, 152, - 153, 154, 866, 1040, 1042, 1074, 1080, 420, 1554, 1555, - 1556, 1082, 97, 98, 1083, 150, 1085, 99, 1220, 100, - 1088, 1135, 1138, 1084, 1147, 1150, 101, 1155, 1148, 1200, - 1201, 1202, 1203, 1050, 1051, 1052, 1204, 1206, 1237, 1236, - 1242, 1238, 1243, 102, 27, 28, 29, 30, 31, 32, - 33, 1249, 1252, 1253, 1255, 1258, 1579, 1269, 103, 1651, - 1590, 1270, 1271, 1620, 1272, 1596, 1590, 1599, 866, 1603, - 1662, 1596, 1590, 1599, 1273, 1274, 1275, 1276, 1280, 1053, - 1054, 1055, 1607, 1056, 1281, 1283, 1057, 1284, 40, 40, - 40, 40, 1315, 1596, 1590, 1599, 40, 1316, 1317, 40, - 1320, 40, 40, 40, 40, 40, 40, 40, 1321, 40, - 40, 40, 40, 1322, 40, 40, 40, 1323, 40, 40, - 40, 40, 1324, 488, 40, 40, 40, 40, 913, 1373, - 1375, 1377, 1378, 1381, 40, 1390, 40, 1391, 1392, 40, - 1397, 1396, 1400, 40, 40, 655, 40, 1401, 1413, 1663, - 40, 40, 40, 40, 1418, 1433, 1658, 1160, 1162, 1168, - 1170, 1172, 1174, 1176, 1178, 1180, 2, 40, 1182, 1184, - 913, 1186, 1434, 1045, 1437, 1439, 1664, 1438, 1449, 1440, - 1046, 1451, 1047, 1048, 1049, 1450, 40, 40, 40, 40, - 40, 1452, 40, 40, 1453, 1454, 1455, 1456, 1457, 1458, - 155, 1459, 40, 40, 1460, 1461, 156, 1462, 1463, 1464, - 1465, 1467, 157, 1469, 1471, 1473, 866, 1474, 1476, 40, - 1466, 1050, 1051, 1052, 40, 40, 40, 40, 40, 40, + 716, 1360, 1349, 1363, 717, 1367, 718, 618, 92, 92, + 1357, 92, 92, 92, 719, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 1376, 738, 2, 122, 123, 576, + 499, 500, 501, 502, 1418, 1379, 1380, 223, 1389, 224, + 225, 226, 741, 104, 823, 13, 290, 291, 292, 577, + 578, 742, 1393, 754, 1394, 642, 67, 68, 643, 69, + 119, 744, 756, 635, 757, 1395, 758, 759, 67, 68, + 1398, 69, 768, 767, 769, 1399, 126, 772, 797, 778, + 779, 1406, 1075, 1076, 1077, 1078, 1079, 780, 798, 799, + 600, 1413, 601, 602, 603, 1416, 1417, 800, 812, 109, + 1268, 816, 1488, 808, 98, 13, 1420, 1364, 809, 109, + 109, 109, 109, 818, 1365, 636, 831, 838, 637, 109, + 109, 109, 1285, 1286, 1287, 1288, 1289, 1427, 1431, 27, + 28, 29, 30, 31, 32, 33, 823, 823, 839, 840, + 841, 1442, 1443, 1444, 1445, 1446, 1447, 842, 1449, 1164, + 1165, 1166, 1167, 843, 1197, 2, 823, 844, 1502, 1448, + 67, 68, 846, 69, 901, 847, 900, 1482, 823, 905, + 823, 823, 904, 823, 823, 906, 907, 1216, 1217, 1218, + 1219, 911, 867, 1423, 1424, 1425, 1426, 1484, 908, 27, + 28, 29, 30, 31, 32, 33, 912, 970, 915, 946, + 947, 10, 11, 12, 13, 952, 913, 297, 953, 1037, + 985, 296, 954, 1489, 955, 1494, 956, 40, 37, 37, + 37, 156, 152, 153, 154, 1495, 1501, 957, 441, 295, + 442, 443, 958, 1506, 959, 960, 961, 444, 962, 963, + 823, 823, 823, 823, 823, 823, 823, 965, 867, 966, + 40, 1001, 1003, 992, 996, 40, 1005, 40, 40, 40, + 294, 40, 1006, 1007, 40, 1010, 1011, 1017, 1197, 1019, + 1022, 1018, 95, 1020, 1021, 96, 40, 40, 40, 40, + 1023, 1033, 1024, 1025, 1031, 1545, 1032, 1040, 27, 28, + 29, 30, 31, 32, 33, 1042, 1586, 1074, 97, 98, + 420, 1080, 913, 99, 1085, 100, 1082, 1083, 40, 1543, + 40, 1084, 101, 8, 9, 1135, 1088, 1147, 1138, 1148, + 1557, 1558, 1559, 1150, 1155, 1200, 1201, 1202, 1203, 102, + 1204, 1206, 1237, 13, 1242, 1236, 1252, 1238, 1243, 1249, + 40, 1253, 40, 1255, 103, 614, 1258, 615, 1269, 1270, + 616, 617, 1271, 1045, 393, 1276, 1272, 1280, 1273, 1274, + 1046, 1275, 1047, 1048, 1049, 1281, 1283, 1315, 1582, 34, + 1284, 1316, 1654, 1593, 1317, 1320, 1623, 1321, 1599, 1593, + 1602, 1322, 1606, 1665, 1599, 1593, 1602, 1323, 1324, 488, + 67, 68, 1373, 69, 1375, 1610, 867, 1377, 126, 1390, + 1378, 1050, 1051, 1052, 1381, 1391, 1599, 1593, 1602, 1392, + 1396, 1397, 1401, 1402, 655, 1419, 1160, 27, 28, 29, + 30, 31, 32, 33, 1414, 1162, 98, 1168, 1170, 67, + 68, 1172, 69, 1174, 1176, 1235, 1481, 1178, 1180, 393, + 1182, 913, 1184, 1186, 1434, 1435, 1438, 1053, 1054, 1055, + 1439, 1056, 1440, 1441, 1057, 1450, 1452, 1451, 1453, 1454, + 1455, 1456, 1666, 1458, 1459, 1457, 1460, 1461, 1462, 1661, + 1463, 1464, 1465, 1466, 1467, 1468, 1470, 40, 40, 40, + 40, 1472, 1469, 913, 1474, 40, 1475, 1477, 40, 1667, + 40, 40, 40, 40, 40, 40, 40, 1471, 40, 40, + 40, 40, 1473, 40, 40, 40, 1476, 40, 40, 40, + 40, 1478, 1479, 40, 40, 40, 40, 1480, 1486, 1487, + 1492, 1497, 1498, 40, 1499, 40, 1503, 1329, 40, 290, + 291, 292, 40, 40, 1500, 40, 1331, 1504, 157, 40, + 40, 40, 40, 297, 152, 153, 154, 296, 1505, 1333, + 1335, 1508, 1496, 268, 269, 270, 40, 271, 272, 273, + 274, 1507, 275, 276, 1509, 295, 277, 278, 279, 280, + 1510, 1511, 1513, 1514, 867, 40, 40, 40, 40, 40, + 1515, 40, 40, 2, 867, 1516, 1525, 867, 1517, 1519, + 1518, 40, 40, 1520, 393, 1521, 480, 393, 393, 393, + 393, 1522, 393, 393, 393, 1523, 634, 1524, 40, 1526, + 1527, 1528, 1529, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 1468, 1478, 1477, 1470, 579, 1485, 1053, 1054, 1055, - 210, 1056, 1486, 1472, 1057, 1475, 40, 40, 40, 40, - 1479, 40, 40, 40, 40, 1491, 1495, 40, 1496, 40, - 1497, 40, 40, 40, 40, 1498, 40, 40, 579, 40, - 40, 40, 1501, 579, 1502, 579, 579, 579, 40, 579, - 1503, 1329, 579, 1331, 1333, 1335, 1506, 1216, 1217, 1218, - 1219, 1505, 1507, 1509, 579, 579, 579, 579, 1508, 1511, - 1512, 1513, 1514, 1516, 392, 1515, 40, 40, 40, 1517, - 1519, 10, 11, 12, 13, 1518, 1520, 1521, 1522, 1523, - 1524, 1525, 1526, 1527, 40, 40, 579, 40, 40, 40, - 1528, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 1529, 40, 1530, 1531, 1532, 67, 68, 1533, 69, 1534, - 1538, 1535, 1536, 126, 1544, 1547, 1549, 1559, 579, 1537, - 579, 1560, 1561, 1553, 866, 1562, 909, 1577, 1580, 1631, - 1582, 1584, 1585, 1586, 866, 1622, 1623, 866, 1634, 1652, - 1653, 98, 1654, 1656, 1364, 1660, 1659, 1661, 1665, 392, - 1668, 1365, 1670, 437, 104, 438, 137, 29, 27, 28, - 29, 30, 31, 32, 33, 736, 556, 802, 858, 67, - 68, 558, 69, 399, 837, 829, 551, 126, 747, 559, - 127, 138, 754, 554, 128, 129, 130, 131, 132, 859, - 133, 134, 135, 136, 555, 137, 138, 563, 271, 139, - 140, 141, 142, 748, 74, 98, 143, 144, 866, 866, - 866, 866, 866, 866, 866, 145, 830, 146, 143, 838, - 164, 144, 240, 147, 167, 661, 589, 312, 210, 1036, - 1259, 1251, 147, 148, 149, 968, 1552, 1136, 268, 269, - 270, 1612, 271, 272, 273, 274, 1250, 275, 276, 1314, - 1410, 277, 278, 279, 280, 579, 579, 1371, 579, 152, - 153, 154, 822, 579, 1159, 910, 579, 150, 579, 579, - 579, 579, 579, 579, 579, 1149, 579, 579, 579, 579, - 1402, 579, 579, 1411, 594, 579, 579, 579, 579, 163, - 1146, 579, 579, 579, 579, 93, 239, 700, 1374, 580, - 749, 579, 166, 579, 392, 787, 579, 392, 392, 392, - 392, 579, 392, 392, 392, 986, 202, 579, 579, 579, - 579, 990, 631, 152, 153, 154, 845, 536, 822, 0, - 708, 0, 580, 67, 68, 0, 69, 580, 0, 580, - 580, 580, 0, 580, 0, 0, 580, 0, 0, 0, - 0, 0, 0, 579, 0, 579, 579, 579, 580, 580, - 580, 580, 0, 0, 0, 0, 0, 0, 0, 579, - 579, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 579, 0, 0, 0, - 580, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 0, - 0, 0, 580, 579, 580, 0, 579, 579, 240, 241, - 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 579, 579, 579, 579, 0, 579, 579, - 579, 579, 155, 243, 579, 0, 579, 0, 579, 579, - 579, 0, 0, 579, 579, 0, 579, 579, 579, 0, - 0, 0, 0, 0, 0, 579, 822, 916, 917, 918, - 0, 919, 920, 921, 922, 0, 923, 924, 198, 0, - 925, 926, 927, 928, 0, 0, 0, 929, 930, 0, - 0, 0, 0, 579, 579, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 579, 579, 0, 579, 579, 579, 0, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 0, 579, 0, - 0, 0, 822, 0, 0, 0, 0, 244, 0, 245, - 246, 247, 248, 0, 0, 0, 0, 0, 0, 580, - 580, 0, 580, 0, 0, 931, 0, 580, 0, 0, - 580, 0, 580, 580, 580, 580, 580, 580, 580, 0, - 580, 580, 580, 580, 0, 580, 580, 0, 1650, 580, - 580, 580, 580, 0, 0, 580, 580, 580, 580, 0, - 0, 0, 0, 573, 0, 580, 0, 580, 0, 0, - 580, 0, 0, 0, 0, 580, 0, 0, 0, 0, - 0, 580, 580, 580, 580, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 822, 822, 573, 0, 0, 0, - 0, 573, 0, 573, 573, 573, 0, 573, 0, 0, - 0, 0, 0, 0, 822, 0, 0, 580, 0, 580, - 580, 580, 573, 573, 573, 573, 822, 0, 822, 822, - 0, 822, 822, 580, 580, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 580, 0, 0, 0, 573, 580, 580, 580, 580, 580, + 1530, 1531, 1532, 1533, 580, 1534, 1535, 1536, 867, 867, + 867, 867, 867, 867, 867, 40, 40, 40, 40, 1537, + 40, 40, 40, 40, 1538, 1539, 40, 1540, 40, 1546, + 40, 40, 40, 40, 1549, 40, 40, 580, 40, 40, + 40, 1552, 580, 1556, 580, 580, 580, 40, 580, 1562, + 1563, 580, 1564, 1565, 1634, 1580, 1583, 1662, 1585, 909, + 1587, 1588, 1589, 580, 580, 580, 580, 1625, 1656, 635, + 1637, 1626, 1655, 1657, 1659, 40, 40, 40, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 40, 40, 580, 40, 40, 40, 1663, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 1664, + 40, 13, 1668, 1671, 104, 67, 68, 1673, 69, 438, + 29, 636, 439, 126, 637, 137, 127, 580, 803, 580, + 128, 129, 130, 131, 132, 737, 133, 134, 135, 136, + 400, 137, 138, 748, 559, 139, 140, 141, 142, 859, + 557, 98, 143, 144, 560, 1045, 552, 838, 755, 852, + 830, 145, 1046, 146, 1047, 1048, 1049, 297, 138, 749, + 860, 296, 555, 556, 564, 272, 74, 831, 147, 148, + 149, 143, 839, 165, 241, 144, 147, 168, 211, 295, + 590, 312, 661, 1036, 1251, 27, 28, 29, 30, 31, + 32, 33, 968, 1050, 1051, 1052, 1259, 1136, 1555, 1411, + 1250, 1314, 1159, 150, 1371, 290, 291, 292, 1400, 910, + 294, 1149, 594, 1403, 1412, 852, 700, 163, 93, 478, + 479, 1374, 1146, 239, 166, 749, 986, 990, 787, 536, + 202, 845, 631, 0, 0, 708, 0, 0, 0, 1053, + 1054, 1055, 0, 1056, 0, 0, 1057, 0, 394, 0, + 0, 0, 0, 0, 580, 580, 0, 580, 0, 152, + 153, 154, 580, 853, 0, 580, 0, 580, 580, 580, + 580, 580, 580, 580, 0, 580, 580, 580, 580, 0, + 580, 580, 0, 0, 580, 580, 580, 580, 0, 0, + 580, 580, 580, 580, 95, 0, 0, 96, 581, 0, + 580, 0, 580, 0, 0, 580, 0, 0, 0, 0, + 580, 0, 0, 156, 0, 0, 580, 580, 580, 580, + 97, 98, 0, 0, 0, 99, 0, 100, 0, 853, + 0, 581, 0, 394, 101, 0, 581, 0, 581, 581, + 581, 0, 581, 0, 0, 581, 0, 0, 0, 0, + 0, 102, 580, 0, 580, 580, 580, 581, 581, 581, + 581, 0, 0, 852, 0, 0, 103, 0, 580, 580, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, + 68, 0, 69, 0, 0, 580, 852, 0, 155, 581, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, - 580, 580, 580, 0, 0, 0, 573, 580, 573, 0, - 580, 580, 0, 0, 0, 0, 0, 0, 822, 822, - 822, 822, 822, 822, 822, 0, 0, 580, 580, 580, - 580, 0, 580, 580, 580, 580, 0, 0, 580, 1635, - 580, 0, 580, 580, 580, 0, 0, 580, 580, 0, - 580, 580, 580, 0, 1636, 0, 0, 0, 0, 580, - 0, 0, 916, 917, 918, 0, 919, 920, 921, 922, - 1637, 923, 924, 198, 0, 925, 926, 927, 928, 1638, - 0, 0, 929, 930, 0, 0, 0, 580, 580, 0, - 0, 0, 0, 1639, 1640, 1641, 1642, 0, 0, 0, - 0, 0, 0, 0, 0, 580, 580, 0, 580, 580, - 580, 0, 580, 580, 580, 580, 580, 580, 580, 580, - 580, 0, 580, 0, 0, 1643, 1644, 1645, 1646, 1647, - 1648, 1649, 0, 0, 0, 0, 393, 0, 0, 0, - 0, 0, 0, 573, 573, 0, 573, 0, 0, 0, - 931, 573, 34, 0, 573, 0, 573, 573, 573, 573, - 573, 573, 573, 0, 573, 573, 573, 573, 0, 573, - 573, 0, 0, 573, 573, 573, 573, 0, 0, 573, - 573, 573, 573, 0, 0, 0, 0, 571, 0, 573, - 0, 573, 0, 0, 573, 0, 0, 0, 0, 573, - 0, 0, 0, 0, 0, 573, 573, 573, 573, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1235, 0, - 571, 393, 0, 803, 803, 571, 803, 571, 571, 571, - 0, 571, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 573, 0, 573, 573, 573, 571, 571, 571, 571, - 0, 0, 0, 0, 0, 0, 0, 573, 573, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 573, 0, 0, 0, 571, 573, - 573, 573, 573, 573, 573, 573, 573, 573, 573, 573, - 573, 573, 573, 573, 573, 573, 573, 573, 573, 573, - 573, 573, 573, 573, 573, 573, 573, 0, 0, 0, - 571, 573, 571, 0, 573, 573, 0, 0, 803, 803, - 803, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 573, 573, 573, 573, 0, 573, 573, 573, 573, - 0, 0, 573, 803, 573, 0, 573, 573, 573, 0, - 0, 573, 573, 0, 573, 573, 573, 0, 393, 0, - 0, 393, 0, 573, 0, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 393, 0, 0, 393, - 393, 393, 393, 0, 393, 393, 393, 0, 0, 634, - 0, 573, 573, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 573, - 573, 0, 573, 573, 573, 0, 573, 573, 573, 573, - 573, 573, 573, 573, 573, 0, 573, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 803, 0, 803, - 803, 803, 803, 0, 0, 0, 0, 571, 571, 0, - 571, 0, 0, 0, 0, 571, 851, 0, 571, 0, - 571, 571, 571, 571, 571, 571, 571, 0, 571, 571, - 571, 571, 0, 571, 571, 0, 0, 571, 571, 571, - 571, 0, 0, 571, 571, 571, 571, 0, 0, 0, - 0, 569, 0, 571, 0, 571, 0, 0, 571, 0, - 0, 0, 635, 571, 0, 0, 0, 0, 0, 571, - 571, 571, 571, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 851, 0, 569, 0, 0, 0, 0, 569, - 0, 569, 569, 569, 0, 569, 0, 0, 0, 0, - 0, 0, 0, 0, 13, 571, 0, 571, 571, 571, - 569, 569, 569, 569, 636, 0, 0, 637, 0, 0, - 0, 571, 571, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 571, 0, - 0, 0, 569, 571, 571, 571, 571, 571, 571, 571, - 571, 571, 571, 571, 571, 571, 571, 571, 571, 571, - 571, 571, 571, 571, 571, 571, 571, 571, 571, 571, - 571, 0, 0, 0, 569, 571, 569, 0, 571, 571, - 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, - 29, 30, 31, 32, 33, 571, 571, 571, 571, 0, - 571, 571, 571, 571, 0, 0, 571, 0, 571, 0, - 571, 571, 571, 0, 0, 571, 571, 216, 571, 571, - 571, 0, 0, 0, 0, 0, 0, 571, 0, 0, - 851, 0, 1298, 1299, 1300, 0, 1301, 1302, 1303, 1304, - 0, 1305, 1306, 198, 0, 1307, 1308, 1309, 1310, 0, - 0, 0, 0, 851, 1311, 571, 571, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 571, 571, 0, 571, 571, 571, 0, - 571, 571, 571, 571, 571, 571, 571, 571, 571, 0, - 571, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 569, 569, 0, 569, 0, 0, 0, 0, 569, - 852, 0, 569, 0, 569, 569, 569, 569, 569, 569, - 569, 0, 569, 569, 569, 569, 0, 569, 569, 0, - 0, 569, 569, 569, 569, 0, 0, 569, 569, 569, - 569, 0, 0, 0, 0, 570, 0, 569, 0, 569, - 0, 0, 569, 0, 0, 0, 851, 569, 0, 0, - 0, 0, 0, 569, 569, 569, 569, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 852, 0, 570, 0, - 0, 0, 0, 570, 0, 570, 570, 570, 0, 570, - 0, 0, 0, 0, 0, 0, 0, 0, 851, 569, - 0, 569, 569, 569, 570, 570, 570, 570, 851, 0, - 0, 851, 0, 0, 0, 569, 569, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 569, 0, 0, 0, 570, 569, 569, 569, - 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, - 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, - 569, 569, 569, 569, 569, 0, 0, 0, 570, 569, - 570, 0, 569, 569, 0, 0, 0, 0, 0, 0, - 0, 0, 851, 851, 851, 851, 851, 851, 851, 569, - 569, 569, 569, 0, 569, 569, 569, 569, 0, 0, - 569, 0, 569, 0, 569, 569, 569, 0, 0, 569, - 569, 0, 569, 569, 569, 0, 0, 0, 0, 0, - 0, 569, 0, 0, 852, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 852, 0, 569, - 569, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 569, 569, 0, - 569, 569, 569, 0, 569, 569, 569, 569, 569, 569, - 569, 569, 569, 0, 569, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 570, 570, 0, 570, 0, - 0, 0, 0, 570, 853, 0, 570, 0, 570, 570, - 570, 570, 570, 570, 570, 0, 570, 570, 570, 570, - 0, 570, 570, 0, 0, 570, 570, 570, 570, 0, - 0, 570, 570, 570, 570, 0, 0, 0, 0, 572, - 0, 570, 0, 570, 0, 0, 570, 0, 0, 0, - 852, 570, 0, 0, 0, 0, 0, 570, 570, 570, - 570, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 853, 0, 572, 0, 0, 0, 0, 572, 0, 572, - 572, 572, 0, 572, 0, 0, 0, 0, 0, 0, - 0, 0, 852, 570, 0, 570, 570, 570, 572, 572, - 572, 572, 852, 0, 0, 852, 0, 0, 0, 570, - 570, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 570, 0, 0, 0, - 572, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 0, - 0, 0, 572, 570, 572, 0, 570, 570, 0, 0, - 0, 0, 0, 0, 0, 0, 852, 852, 852, 852, - 852, 852, 852, 570, 570, 570, 570, 0, 570, 570, - 570, 570, 0, 0, 570, 0, 570, 0, 570, 570, - 570, 0, 0, 570, 570, 0, 570, 570, 570, 0, - 0, 0, 0, 0, 0, 570, 0, 0, 853, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 853, 0, 570, 570, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 570, 570, 0, 570, 570, 570, 0, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 0, 570, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 580, 580, 580, 580, 580, 580, 580, 580, 0, 0, + 0, 581, 580, 581, 0, 580, 580, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 580, 580, 580, 580, 0, 580, 580, 580, + 580, 0, 0, 580, 0, 580, 0, 580, 580, 580, + 0, 0, 580, 580, 0, 580, 580, 580, 0, 0, + 394, 0, 0, 394, 580, 0, 0, 853, 0, 290, + 291, 292, 67, 68, 216, 69, 119, 0, 394, 0, + 126, 394, 394, 394, 394, 0, 394, 394, 394, 852, + 853, 0, 580, 580, 0, 1140, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, + 580, 580, 0, 580, 580, 580, 0, 580, 580, 580, + 580, 580, 580, 580, 580, 580, 0, 580, 0, 0, + 0, 852, 712, 713, 0, 0, 0, 0, 0, 0, + 0, 852, 0, 0, 852, 0, 0, 0, 581, 581, + 0, 581, 0, 0, 0, 0, 581, 854, 0, 581, + 0, 581, 581, 581, 581, 581, 581, 581, 0, 581, + 581, 581, 581, 0, 581, 581, 0, 0, 581, 581, + 581, 581, 0, 0, 581, 581, 581, 581, 0, 0, + 0, 0, 574, 0, 581, 0, 581, 0, 0, 581, + 0, 0, 0, 853, 581, 0, 0, 0, 0, 0, + 581, 581, 581, 581, 0, 852, 852, 852, 852, 852, + 852, 852, 0, 854, 0, 574, 152, 153, 154, 0, + 574, 0, 574, 574, 574, 0, 574, 0, 0, 0, + 0, 0, 0, 0, 0, 853, 581, 0, 581, 581, + 581, 574, 574, 574, 574, 853, 0, 0, 853, 0, + 0, 0, 581, 581, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 581, + 0, 0, 0, 574, 581, 581, 581, 581, 581, 581, + 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, + 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, + 581, 581, 0, 0, 0, 574, 581, 574, 0, 581, + 581, 0, 0, 0, 0, 0, 0, 0, 0, 853, + 853, 853, 853, 853, 853, 853, 581, 581, 581, 581, + 0, 581, 581, 581, 581, 0, 0, 581, 0, 581, + 0, 581, 581, 581, 0, 0, 581, 581, 216, 581, + 581, 581, 0, 0, 0, 0, 0, 0, 581, 0, + 0, 854, 0, 1298, 1299, 1300, 0, 1301, 1302, 1303, + 1304, 0, 1305, 1306, 198, 0, 1307, 1308, 1309, 1310, + 0, 0, 0, 0, 854, 1311, 581, 581, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 581, 581, 0, 581, 581, 581, + 0, 581, 581, 581, 581, 581, 581, 581, 581, 581, + 0, 581, 0, 0, 0, 0, 0, 1615, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 574, 574, 0, 574, 0, 0, 0, 0, + 574, 0, 0, 574, 0, 574, 574, 574, 574, 574, + 574, 574, 0, 574, 574, 574, 574, 0, 574, 574, + 0, 0, 574, 574, 574, 574, 0, 0, 574, 574, + 574, 574, 0, 0, 0, 0, 572, 0, 574, 0, + 574, 0, 0, 574, 0, 0, 0, 854, 574, 0, + 0, 0, 0, 0, 574, 574, 574, 574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 572, - 572, 0, 572, 0, 0, 0, 0, 572, 0, 0, - 572, 0, 572, 572, 572, 572, 572, 572, 572, 0, - 572, 572, 572, 572, 0, 572, 572, 0, 0, 572, - 572, 572, 572, 0, 0, 572, 572, 572, 572, 0, - 0, 0, 0, 708, 0, 572, 0, 572, 0, 0, - 572, 0, 0, 0, 853, 572, 0, 0, 0, 0, - 0, 572, 572, 572, 572, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 708, 0, 0, 0, - 0, 708, 0, 708, 708, 708, 0, 708, 0, 0, - 0, 0, 0, 0, 0, 0, 853, 572, 0, 572, - 572, 572, 708, 708, 708, 708, 853, 0, 0, 853, - 0, 0, 0, 572, 572, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 572, 0, 0, 0, 708, 572, 572, 572, 572, 572, + 67, 68, 0, 69, 572, 0, 572, 572, 572, 0, + 572, 0, 0, 0, 0, 0, 0, 0, 0, 854, + 574, 0, 574, 574, 574, 572, 572, 572, 572, 854, + 0, 0, 854, 0, 0, 0, 574, 574, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 574, 0, 0, 0, 572, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 0, 0, 0, 572, + 574, 572, 0, 574, 574, 240, 241, 242, 0, 0, + 0, 0, 0, 854, 854, 854, 854, 854, 854, 854, + 574, 574, 574, 574, 0, 574, 574, 574, 574, 0, + 243, 574, 0, 574, 0, 574, 574, 574, 0, 0, + 574, 574, 0, 574, 574, 574, 0, 0, 0, 0, + 0, 0, 574, 916, 917, 918, 0, 919, 920, 921, + 922, 0, 923, 924, 198, 0, 925, 926, 927, 928, + 0, 0, 0, 929, 930, 0, 0, 0, 0, 0, + 574, 574, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 574, 574, + 0, 574, 574, 574, 0, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 0, 574, 0, 0, 0, 0, + 0, 0, 0, 0, 244, 0, 245, 246, 247, 248, + 0, 0, 0, 0, 0, 0, 572, 572, 0, 572, + 0, 931, 0, 0, 572, 0, 0, 572, 0, 572, + 572, 572, 572, 572, 572, 572, 0, 572, 572, 572, + 572, 0, 572, 572, 0, 1653, 572, 572, 572, 572, + 0, 0, 572, 572, 572, 572, 0, 0, 0, 0, + 570, 0, 572, 0, 572, 0, 0, 572, 0, 0, + 0, 0, 572, 0, 0, 0, 0, 0, 572, 572, + 572, 572, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 570, 0, 0, 0, 0, 570, 0, + 570, 570, 570, 0, 570, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 572, 0, 572, 572, 572, 570, + 570, 570, 570, 0, 0, 0, 0, 0, 0, 0, + 572, 572, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 572, 0, 0, + 0, 570, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, - 572, 572, 572, 0, 0, 0, 708, 572, 708, 0, - 572, 572, 0, 0, 0, 0, 0, 0, 0, 0, - 853, 853, 853, 853, 853, 853, 853, 572, 572, 572, - 572, 0, 572, 572, 572, 572, 0, 0, 572, 0, - 572, 0, 572, 572, 572, 0, 0, 572, 572, 0, - 572, 572, 572, 0, 127, 0, 0, 0, 0, 572, - 130, 131, 132, 0, 133, 134, 135, 136, 0, 137, - 138, 0, 0, 139, 140, 141, 142, 0, 0, 0, - 1368, 144, 0, 0, 0, 0, 0, 572, 572, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 572, 572, 0, 572, 572, - 572, 0, 572, 572, 572, 572, 572, 572, 572, 572, - 572, 0, 572, 0, 0, 0, 0, 0, 0, 1369, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 708, 708, 0, 708, 0, 1370, 0, - 0, 708, 0, 0, 708, 0, 708, 708, 708, 708, - 708, 708, 708, 0, 708, 708, 708, 708, 0, 708, - 708, 0, 0, 708, 708, 708, 708, 0, 0, 708, - 708, 708, 0, 0, 0, 0, 0, 707, 0, 708, - 0, 708, 0, 0, 708, 0, 0, 0, 0, 708, - 0, 0, 0, 0, 0, 708, 708, 708, 708, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 707, 0, 0, 0, 0, 707, 0, 707, 707, 707, - 0, 707, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 708, 0, 708, 708, 708, 707, 707, 707, 707, - 0, 0, 0, 0, 0, 0, 0, 708, 708, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 708, 0, 0, 0, 707, 708, + 0, 0, 0, 570, 572, 570, 0, 572, 572, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 572, 572, 572, 572, 0, 572, + 572, 572, 572, 0, 0, 572, 1638, 572, 0, 572, + 572, 572, 0, 0, 572, 572, 0, 572, 572, 572, + 0, 1639, 0, 0, 0, 0, 572, 0, 0, 916, + 917, 918, 0, 919, 920, 921, 922, 1640, 923, 924, + 198, 0, 925, 926, 927, 928, 1641, 0, 0, 929, + 930, 0, 0, 0, 572, 572, 0, 0, 0, 0, + 1642, 1643, 1644, 1645, 0, 0, 0, 0, 0, 0, + 0, 0, 572, 572, 0, 572, 572, 572, 0, 572, + 572, 572, 572, 572, 572, 572, 572, 572, 0, 572, + 0, 0, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 570, 570, 0, 570, 0, 0, 0, 931, 570, 0, + 0, 570, 0, 570, 570, 570, 570, 570, 570, 570, + 0, 570, 570, 570, 570, 0, 570, 570, 0, 0, + 570, 570, 570, 570, 0, 0, 570, 570, 570, 570, + 0, 0, 0, 0, 571, 0, 570, 0, 570, 0, + 0, 570, 0, 0, 0, 0, 570, 0, 0, 0, + 0, 0, 570, 570, 570, 570, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 571, 804, 804, + 0, 804, 571, 0, 571, 571, 571, 0, 571, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 570, 0, + 570, 570, 570, 571, 571, 571, 571, 0, 0, 0, + 0, 0, 0, 0, 570, 570, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 570, 0, 0, 0, 571, 570, 570, 570, 570, + 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, + 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, + 570, 570, 570, 570, 0, 0, 0, 571, 570, 571, + 0, 570, 570, 804, 804, 804, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 570, 570, + 570, 570, 0, 570, 570, 570, 570, 0, 804, 570, + 0, 570, 0, 570, 570, 570, 0, 0, 570, 570, + 0, 570, 570, 570, 0, 127, 0, 0, 0, 0, + 570, 130, 131, 132, 0, 133, 134, 135, 136, 0, + 137, 138, 0, 0, 139, 140, 141, 142, 0, 0, + 0, 1368, 144, 0, 0, 0, 0, 0, 570, 570, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 570, 570, 0, 570, + 570, 570, 0, 570, 570, 570, 570, 570, 570, 570, + 570, 570, 0, 570, 0, 0, 0, 0, 0, 0, + 1369, 0, 804, 0, 804, 804, 804, 804, 0, 0, + 0, 0, 0, 0, 571, 571, 0, 571, 0, 1370, + 0, 0, 571, 0, 0, 571, 0, 571, 571, 571, + 571, 571, 571, 571, 0, 571, 571, 571, 571, 0, + 571, 571, 0, 0, 571, 571, 571, 571, 0, 0, + 571, 571, 571, 571, 0, 0, 0, 0, 573, 0, + 571, 0, 571, 0, 0, 571, 0, 0, 0, 0, + 571, 0, 0, 0, 0, 0, 571, 571, 571, 571, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 573, 0, 0, 0, 0, 573, 0, 573, 573, + 573, 0, 573, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 571, 0, 571, 571, 571, 573, 573, 573, + 573, 0, 0, 0, 0, 0, 0, 0, 571, 571, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 571, 0, 0, 0, 573, + 571, 571, 571, 571, 571, 571, 571, 571, 571, 571, + 571, 571, 571, 571, 571, 571, 571, 571, 571, 571, + 571, 571, 571, 571, 571, 571, 571, 571, 0, 0, + 0, 573, 571, 573, 0, 571, 571, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 571, 571, 571, 571, 0, 571, 571, 571, + 571, 0, 0, 571, 0, 571, 0, 571, 571, 571, + 0, 0, 571, 571, 0, 571, 571, 571, 0, 0, + 0, 0, 0, 0, 571, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 571, 571, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 571, 571, 0, 571, 571, 571, 0, 571, 571, 571, + 571, 571, 571, 571, 571, 571, 0, 571, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 573, 573, + 0, 573, 0, 0, 0, 0, 573, 0, 0, 573, + 0, 573, 573, 573, 573, 573, 573, 573, 0, 573, + 573, 573, 573, 0, 573, 573, 0, 0, 573, 573, + 573, 573, 0, 0, 573, 573, 573, 573, 0, 0, + 0, 0, 709, 0, 573, 0, 573, 0, 0, 573, + 0, 0, 0, 0, 573, 0, 0, 0, 0, 0, + 573, 573, 573, 573, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 709, 0, 0, 0, 0, + 709, 0, 709, 709, 709, 0, 709, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 573, 0, 573, 573, + 573, 709, 709, 709, 709, 0, 0, 0, 0, 0, + 0, 0, 573, 573, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 573, + 0, 0, 0, 709, 573, 573, 573, 573, 573, 573, + 573, 573, 573, 573, 573, 573, 573, 573, 573, 573, + 573, 573, 573, 573, 573, 573, 573, 573, 573, 573, + 573, 573, 0, 0, 0, 709, 573, 709, 0, 573, + 573, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 573, 573, 573, 573, + 0, 573, 573, 573, 573, 0, 0, 573, 0, 573, + 0, 573, 573, 573, 0, 0, 573, 573, 0, 573, + 573, 573, 0, 0, 0, 0, 0, 0, 573, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 573, 573, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 573, 573, 0, 573, 573, 573, + 0, 573, 573, 573, 573, 573, 573, 573, 573, 573, + 0, 573, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 709, 709, 0, 709, 0, 0, 0, 0, + 709, 0, 0, 709, 0, 709, 709, 709, 709, 709, + 709, 709, 0, 709, 709, 709, 709, 0, 709, 709, + 0, 0, 709, 709, 709, 709, 0, 0, 709, 709, + 709, 0, 0, 0, 0, 0, 708, 0, 709, 0, + 709, 0, 0, 709, 0, 0, 0, 0, 709, 0, + 0, 0, 0, 0, 709, 709, 709, 709, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 708, + 0, 0, 0, 0, 708, 0, 708, 708, 708, 0, + 708, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 709, 0, 709, 709, 709, 708, 708, 708, 708, 0, + 0, 0, 0, 0, 0, 0, 709, 709, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 709, 0, 0, 0, 708, 709, 709, + 709, 709, 709, 709, 709, 709, 709, 709, 709, 709, + 709, 709, 709, 709, 709, 709, 709, 709, 709, 709, + 709, 709, 709, 709, 709, 709, 0, 0, 0, 708, + 709, 708, 0, 709, 709, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 709, 709, 709, 709, 0, 709, 709, 709, 709, 0, + 0, 709, 0, 709, 0, 709, 709, 709, 0, 0, + 709, 709, 0, 709, 709, 709, 0, 0, 0, 0, + 0, 0, 709, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 709, 709, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 709, 709, + 0, 709, 709, 709, 0, 709, 709, 709, 709, 709, + 709, 709, 709, 709, 0, 709, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 708, 708, 0, 708, + 0, 0, 0, 0, 708, 0, 0, 708, 0, 708, + 708, 708, 708, 708, 708, 708, 0, 708, 708, 708, + 708, 0, 708, 708, 0, 0, 708, 708, 708, 708, + 0, 0, 708, 708, 708, 0, 0, 0, 0, 0, + 716, 0, 708, 0, 708, 0, 0, 708, 0, 0, + 0, 0, 708, 0, 0, 0, 0, 0, 708, 708, + 708, 708, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 716, 0, 0, 0, 0, 0, 0, + 716, 716, 0, 0, 716, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 708, 0, 708, 708, 708, 716, + 0, 716, 716, 0, 0, 0, 0, 0, 0, 0, + 708, 708, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 299, 708, 0, 0, + 0, 0, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, - 708, 708, 708, 708, 708, 708, 708, 0, 0, 0, - 707, 708, 707, 0, 708, 708, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 708, 708, 708, 708, 0, 708, 708, 708, 708, - 0, 0, 708, 0, 708, 0, 708, 708, 708, 0, - 0, 708, 708, 0, 708, 708, 708, 0, 0, 0, - 0, 0, 0, 708, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 716, 708, 716, 0, 708, 708, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 708, 708, 708, 708, 0, 708, + 708, 708, 708, 0, 0, 708, 0, 708, 0, 708, + 708, 708, 0, 0, 708, 708, 0, 708, 708, 708, + 0, 0, 0, 0, 0, 0, 708, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 708, 708, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 708, - 708, 0, 708, 708, 708, 0, 708, 708, 708, 708, - 708, 708, 708, 708, 708, 0, 708, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 707, 707, 0, - 707, 0, 0, 0, 0, 707, 0, 0, 707, 0, - 707, 707, 707, 707, 707, 707, 707, 0, 707, 707, - 707, 707, 0, 707, 707, 0, 0, 707, 707, 707, - 707, 0, 0, 707, 707, 707, 0, 0, 0, 0, - 0, 715, 0, 707, 0, 707, 0, 0, 707, 0, - 0, 0, 0, 707, 0, 0, 0, 0, 0, 707, - 707, 707, 707, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 715, 0, 0, 0, 0, 0, - 0, 715, 715, 0, 0, 715, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 707, 0, 707, 707, 707, - 715, 0, 715, 715, 0, 0, 0, 0, 0, 0, - 0, 707, 707, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1494, 707, 0, - 0, 0, 0, 707, 707, 707, 707, 707, 707, 707, - 707, 707, 707, 707, 707, 707, 707, 707, 707, 707, - 707, 707, 707, 707, 707, 707, 707, 707, 707, 707, - 707, 0, 0, 0, 715, 707, 715, 0, 707, 707, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 707, 707, 707, 707, 0, - 707, 707, 707, 707, 0, 0, 707, 0, 707, 0, - 707, 707, 707, 0, 0, 707, 707, 0, 707, 707, - 707, 0, 0, 0, 0, 0, 0, 707, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 707, 707, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 298, 707, 707, 0, 707, 707, 707, 0, - 707, 707, 707, 707, 707, 707, 707, 707, 707, 0, - 707, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 715, 715, 0, 715, 0, 0, 0, 0, 715, - 0, 0, 715, 0, 715, 715, 715, 715, 715, 715, - 715, 0, 715, 715, 715, 715, 0, 715, 715, 0, - 0, 715, 715, 715, 715, 0, 0, 715, 715, 715, - 0, 0, 52, 0, 0, 0, 0, 715, 0, 715, - 0, 0, 715, 0, 0, 0, 0, 715, 0, 0, - 0, 0, 0, 715, 715, 715, 715, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1045, 0, 0, 0, 0, 0, 0, 1046, 0, 1047, - 1048, 1049, 0, 0, 0, 0, 0, 0, 0, 715, - 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 157, 0, 0, 715, 715, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1050, 1051, - 1052, 0, 715, 0, 0, 0, 0, 715, 715, 715, - 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, - 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, - 715, 715, 715, 715, 715, 52, 0, 52, 0, 715, - 0, 0, 715, 715, 1053, 1054, 1055, 0, 1056, 0, - 0, 1057, 0, 0, 0, 0, 0, 0, 0, 715, - 715, 715, 715, 0, 715, 715, 715, 715, 0, 0, - 715, 0, 715, 0, 715, 715, 715, 0, 0, 715, - 715, 0, 715, 715, 715, 298, 0, 0, 0, 0, - 0, 715, 298, 0, 298, 298, 298, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 715, - 715, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 298, 298, 0, 715, 715, 0, - 715, 715, 715, 0, 715, 715, 715, 715, 715, 715, - 715, 715, 715, 0, 715, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 52, 0, 0, 52, 0, 0, 0, 298, - 298, 298, 0, 298, 0, 52, 298, 0, 0, 52, - 52, 52, 0, 52, 52, 52, 52, 0, 52, 52, - 52, 0, 52, 52, 52, 52, 0, 0, 52, 52, - 52, 0, 0, 0, 0, 0, 0, 0, 0, 585, - 127, 586, 54, 0, 128, 129, 130, 131, 132, 0, - 133, 134, 135, 136, 52, 137, 138, 0, 0, 139, - 140, 141, 142, 0, 0, 98, 143, 144, 0, 0, - 0, 52, 0, 0, 0, 145, 0, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 52, 147, 148, 149, 0, 52, 52, 0, 0, - 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 157, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 150, 52, 52, + 0, 0, 0, 0, 708, 708, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 708, 708, 0, 708, 708, 708, 0, 708, + 708, 708, 708, 708, 708, 708, 708, 708, 0, 708, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 716, 716, 0, 716, 0, 0, 0, 0, 716, 0, + 0, 716, 0, 716, 716, 716, 716, 716, 716, 716, + 0, 716, 716, 716, 716, 0, 716, 716, 0, 0, + 716, 716, 716, 716, 0, 0, 716, 716, 716, 0, + 0, 52, 0, 0, 0, 0, 716, 0, 716, 0, + 0, 716, 0, 0, 0, 0, 716, 0, 0, 0, + 0, 0, 716, 716, 716, 716, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, + 0, 0, 0, 0, 0, 0, 299, 0, 299, 299, + 299, 0, 0, 0, 0, 0, 0, 0, 716, 0, + 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 157, 0, 0, 716, 716, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 299, 299, 299, + 0, 716, 0, 0, 0, 0, 716, 716, 716, 716, + 716, 716, 716, 716, 716, 716, 716, 716, 716, 716, + 716, 716, 716, 716, 716, 716, 716, 716, 716, 716, + 716, 716, 716, 716, 52, 0, 52, 0, 716, 0, + 0, 716, 716, 299, 299, 299, 0, 299, 0, 0, + 299, 0, 0, 0, 0, 0, 0, 0, 716, 716, + 716, 716, 0, 716, 716, 716, 716, 0, 0, 716, + 0, 716, 0, 716, 716, 716, 0, 0, 716, 716, + 0, 716, 716, 716, 0, 0, 0, 0, 0, 0, + 716, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 716, 716, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 716, 716, 0, 716, + 716, 716, 0, 716, 716, 716, 716, 716, 716, 716, + 716, 716, 0, 716, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 52, 0, 0, 52, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 52, 0, 0, 0, 52, 52, + 52, 0, 52, 52, 52, 52, 0, 52, 52, 52, + 0, 52, 52, 52, 52, 0, 0, 52, 52, 52, + 0, 0, 0, 0, 0, 0, 0, 0, 585, 127, + 586, 54, 0, 128, 129, 130, 131, 132, 0, 133, + 134, 135, 136, 52, 137, 138, 0, 0, 139, 140, + 141, 142, 0, 0, 98, 143, 144, 0, 0, 0, + 52, 0, 0, 0, 145, 0, 146, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 52, 147, 148, 149, 0, 52, 52, 0, 0, 0, + 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 157, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 150, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, - 52, 52, 52, 52, 52, 52, 0, 0, 0, 52, + 52, 52, 52, 52, 52, 0, 0, 0, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, - 52, 52, 52, 52, 52, 54, 0, 54, 0, 0, - 835, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 52, 52, 52, 52, 0, 52, 52, 52, 52, 0, - 0, 52, 0, 52, 0, 52, 52, 52, 52, 0, - 52, 52, 0, 52, 52, 52, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 67, 68, 0, 69, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 52, 52, 52, 52, 54, 0, 54, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, + 52, 52, 52, 0, 52, 52, 52, 52, 0, 0, + 52, 0, 52, 0, 52, 52, 52, 52, 0, 52, + 52, 0, 52, 52, 52, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 67, 68, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 52, 52, 0, 0, 0, 0, 0, 0, 0, 372, - 0, 0, 0, 0, 0, 0, 0, 0, 52, 52, - 0, 52, 52, 52, 0, 52, 52, 52, 52, 52, - 52, 52, 52, 52, 0, 0, 0, 0, 373, 0, - 0, 0, 374, 0, 0, 375, 376, 0, 0, 0, - 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, - 387, 388, 54, 0, 0, 54, 0, 0, 389, 0, - 0, 390, 155, 0, 0, 54, 0, 0, 391, 54, - 54, 54, 0, 54, 54, 54, 54, 392, 54, 54, - 54, 0, 54, 54, 54, 54, 0, 0, 54, 54, - 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 127, 0, 55, 0, 128, 129, 130, 131, 132, 0, - 133, 134, 135, 136, 54, 137, 138, 0, 0, 139, - 140, 141, 142, 0, 0, 0, 143, 144, 0, 0, - 0, 54, 0, 0, 0, 145, 0, 146, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 54, 147, 148, 149, 0, 54, 54, 0, 0, - 0, 55, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 157, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 150, 54, 54, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, + 52, 0, 0, 0, 0, 0, 0, 0, 372, 0, + 0, 0, 0, 0, 0, 0, 0, 52, 52, 0, + 52, 52, 52, 0, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 0, 0, 0, 0, 373, 0, 0, + 0, 374, 0, 0, 375, 376, 0, 0, 0, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 54, 0, 0, 54, 0, 0, 389, 0, 0, + 390, 155, 0, 0, 54, 0, 0, 391, 54, 54, + 54, 0, 54, 54, 54, 54, 392, 54, 54, 54, + 0, 54, 54, 54, 54, 0, 0, 54, 54, 54, + 0, 0, 0, 0, 0, 0, 0, 0, 265, 127, + 266, 55, 0, 128, 129, 130, 131, 132, 0, 133, + 134, 135, 136, 54, 137, 138, 0, 0, 139, 140, + 141, 142, 0, 0, 0, 143, 144, 0, 0, 0, + 54, 0, 0, 0, 145, 0, 146, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 54, 147, 148, 149, 0, 54, 54, 0, 0, 0, + 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 157, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 150, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 0, 0, 0, 54, + 54, 54, 54, 54, 54, 0, 0, 0, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 55, 0, 55, 0, 0, - 909, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 54, 54, 54, 54, 0, 54, 54, 54, 54, 0, - 0, 54, 0, 54, 0, 54, 54, 54, 54, 0, - 54, 54, 0, 54, 54, 54, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 105, 105, 0, 105, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 54, 54, 0, 0, 0, 0, 0, 0, 0, 105, - 0, 0, 0, 0, 0, 0, 0, 0, 54, 54, - 0, 54, 54, 54, 0, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 0, 0, 0, 0, 105, 0, - 0, 0, 105, 0, 0, 105, 105, 0, 0, 0, + 54, 54, 54, 54, 55, 0, 55, 0, 0, 835, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, + 54, 54, 54, 0, 54, 54, 54, 54, 0, 0, + 54, 0, 54, 0, 54, 54, 54, 54, 0, 54, + 54, 0, 54, 54, 54, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 105, 105, 0, 105, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, + 54, 0, 0, 0, 0, 0, 0, 0, 105, 0, + 0, 0, 0, 0, 0, 0, 0, 54, 54, 0, + 54, 54, 54, 0, 54, 54, 54, 54, 54, 54, + 54, 54, 54, 0, 0, 0, 0, 105, 0, 0, + 0, 105, 0, 0, 105, 105, 0, 0, 0, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 55, 0, 0, 55, 0, 0, 105, 0, - 0, 105, 155, 0, 0, 55, 0, 0, 105, 55, - 55, 55, 0, 55, 55, 55, 55, 105, 55, 55, - 55, 0, 55, 55, 55, 55, 0, 0, 55, 55, - 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 127, 0, 56, 0, 128, 129, 130, 131, 132, 0, - 133, 134, 135, 136, 55, 137, 138, 0, 0, 139, - 140, 141, 142, 0, 0, 0, 143, 144, 0, 0, - 0, 55, 0, 0, 0, 145, 0, 146, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 55, 147, 148, 149, 0, 55, 55, 0, 0, - 0, 56, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 232, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 150, 55, 55, + 105, 55, 0, 0, 55, 0, 0, 105, 0, 0, + 105, 155, 0, 0, 55, 0, 0, 105, 55, 55, + 55, 0, 55, 55, 55, 55, 105, 55, 55, 55, + 0, 55, 55, 55, 55, 0, 0, 55, 55, 55, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, + 0, 56, 0, 128, 129, 130, 131, 132, 0, 133, + 134, 135, 136, 55, 137, 138, 0, 0, 139, 140, + 141, 142, 0, 0, 0, 143, 144, 0, 0, 0, + 55, 0, 0, 0, 145, 0, 146, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 55, 147, 148, 149, 0, 55, 55, 0, 0, 0, + 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 157, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 150, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 0, 0, 0, 55, + 55, 55, 55, 55, 55, 0, 0, 0, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 56, 0, 56, 0, 0, - 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 55, 55, 55, 55, 0, 55, 55, 55, 55, 0, - 0, 55, 0, 55, 0, 55, 55, 55, 55, 0, - 55, 55, 0, 55, 55, 55, 0, 0, 0, 0, + 55, 55, 55, 55, 56, 0, 56, 0, 0, 909, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, + 55, 55, 55, 0, 55, 55, 55, 55, 0, 0, + 55, 0, 55, 0, 55, 55, 55, 55, 0, 55, + 55, 0, 55, 55, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 55, 55, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 55, 55, - 0, 55, 55, 55, 0, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, + 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 55, 55, 0, + 55, 55, 55, 0, 55, 55, 55, 55, 55, 55, + 55, 55, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 56, 0, 0, 56, 0, 0, 0, 0, - 0, 0, 155, 0, 0, 56, 0, 0, 0, 56, - 56, 56, 0, 56, 56, 56, 56, 0, 56, 56, - 56, 0, 56, 56, 56, 56, 0, 0, 56, 56, - 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 232, 0, 53, 0, 232, 232, 232, 232, 232, 0, - 232, 232, 232, 232, 56, 232, 232, 0, 0, 232, - 232, 232, 232, 0, 0, 0, 232, 232, 0, 0, - 0, 56, 0, 0, 0, 232, 0, 232, 0, 0, + 0, 56, 0, 0, 56, 0, 0, 0, 0, 0, + 0, 155, 0, 0, 56, 0, 0, 0, 56, 56, + 56, 0, 56, 56, 56, 56, 0, 56, 56, 56, + 0, 56, 56, 56, 56, 0, 0, 56, 56, 56, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, + 0, 53, 0, 128, 129, 130, 131, 132, 0, 133, + 134, 135, 136, 56, 137, 138, 0, 0, 139, 140, + 141, 142, 0, 0, 0, 143, 144, 0, 0, 0, + 56, 0, 0, 0, 145, 0, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 56, 232, 232, 232, 0, 56, 56, 0, 0, - 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, + 56, 147, 148, 149, 0, 56, 56, 0, 0, 0, + 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 232, 56, 56, + 0, 0, 0, 0, 0, 0, 150, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 0, 0, 0, 56, + 56, 56, 56, 56, 56, 0, 0, 0, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 53, 0, 53, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 56, 56, 56, 56, 0, 56, 56, 56, 56, 0, - 0, 56, 0, 56, 0, 56, 56, 56, 56, 0, - 56, 56, 0, 56, 56, 56, 0, 0, 0, 0, + 56, 56, 56, 56, 53, 0, 53, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, + 56, 56, 56, 0, 56, 56, 56, 56, 0, 0, + 56, 0, 56, 0, 56, 56, 56, 56, 0, 56, + 56, 0, 56, 56, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 56, 56, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 56, 56, - 0, 56, 56, 56, 0, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 0, 0, 0, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 53, 0, 0, 53, 0, 0, 0, 0, - 0, 0, 232, 0, 0, 53, 0, 0, 0, 53, - 53, 53, 0, 53, 53, 53, 53, 0, 53, 53, - 53, 0, 53, 53, 53, 53, 0, 0, 53, 53, - 53, 0, 0, 0, 61, 0, 61, 0, 0, 0, - 0, 34, 397, 97, 0, 0, 0, 0, 99, 0, - 100, 0, 0, 0, 53, 0, 0, 101, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 53, 0, 0, 102, 398, 0, 399, 400, 401, - 402, 403, 0, 0, 0, 0, 404, 0, 0, 103, - 0, 53, 0, 0, 0, 405, 53, 53, 0, 0, - 406, 0, 407, 0, 0, 0, 0, 547, 0, 0, - 0, 0, 0, 0, 408, 409, 410, 411, 412, 413, - 414, 415, 0, 0, 0, 0, 0, 416, 53, 53, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, + 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 56, 56, 0, + 56, 56, 56, 0, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 0, 0, 0, 0, 0, 0, 61, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 53, 0, 0, 53, 0, 0, 0, 0, 0, + 0, 155, 0, 0, 53, 0, 0, 0, 53, 53, + 53, 0, 53, 53, 53, 53, 0, 53, 53, 53, + 0, 53, 53, 53, 53, 0, 0, 53, 53, 53, + 0, 0, 0, 61, 0, 61, 0, 0, 0, 0, + 34, 397, 97, 0, 0, 0, 0, 99, 0, 100, + 0, 0, 0, 53, 0, 0, 101, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 53, 0, 0, 102, 398, 0, 399, 400, 401, 402, + 403, 0, 0, 0, 0, 404, 0, 0, 103, 0, + 53, 0, 0, 0, 405, 53, 53, 0, 0, 406, + 0, 407, 0, 0, 0, 0, 547, 0, 0, 0, + 0, 0, 0, 408, 409, 410, 411, 412, 413, 414, + 415, 0, 0, 0, 0, 0, 416, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 0, 0, 0, 53, + 53, 53, 53, 53, 53, 0, 0, 0, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, - 53, 53, 53, 53, 53, 0, 62, 0, 0, 0, - 0, 61, 0, 0, 61, 0, 0, 0, 0, 0, - 53, 53, 53, 53, 61, 53, 53, 53, 53, 0, - 0, 53, 0, 53, 0, 53, 53, 53, 53, 0, - 53, 53, 0, 53, 53, 53, 0, 61, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 62, 0, 0, 0, 0, - 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, - 53, 53, 0, 0, 0, 0, 0, 0, 0, 0, - 61, 0, 0, 0, 0, 2, 0, 0, 53, 53, - 0, 53, 53, 53, 0, 53, 53, 53, 53, 53, - 53, 53, 53, 53, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, - 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 61, 0, 538, 0, 0, 61, 61, 61, + 53, 53, 53, 53, 0, 62, 0, 0, 0, 0, + 61, 0, 0, 61, 0, 0, 0, 0, 0, 53, + 53, 53, 53, 61, 53, 53, 53, 53, 0, 0, + 53, 0, 53, 0, 53, 53, 53, 53, 0, 53, + 53, 0, 53, 53, 53, 0, 61, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, + 0, 0, 61, 0, 0, 0, 0, 0, 0, 53, + 53, 0, 0, 0, 0, 0, 0, 0, 0, 61, + 0, 0, 0, 0, 2, 0, 0, 53, 53, 0, + 53, 53, 53, 0, 53, 53, 53, 53, 53, 53, + 53, 53, 53, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 62, 0, + 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 61, 0, 538, 0, 0, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 0, 0, 0, 61, 61, + 61, 61, 61, 61, 0, 0, 0, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 0, 65, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, - 61, 61, 61, 0, 61, 61, 61, 61, 0, 0, - 61, 0, 61, 0, 61, 61, 61, 61, 0, 61, - 61, 0, 61, 61, 61, 0, 0, 0, 0, 0, - 0, 539, 0, 5, 6, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 65, 540, 0, 0, 0, 0, - 541, 0, 0, 8, 9, 0, 0, 0, 0, 61, - 61, 0, 0, 0, 0, 0, 62, 0, 0, 62, - 10, 11, 12, 13, 0, 542, 543, 61, 61, 62, - 61, 61, 61, 0, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 0, 0, 544, 0, 0, 0, 0, - 0, 0, 62, 0, 0, 0, 0, 0, 65, 0, - 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 62, 0, - 545, 546, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 62, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 27, 28, 29, - 30, 31, 32, 33, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, - 0, 0, 62, 62, 62, 62, 62, 62, 62, 62, - 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, - 0, 0, 0, 62, 62, 62, 62, 62, 62, 62, + 61, 61, 61, 0, 65, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 61, 61, + 61, 61, 0, 61, 61, 61, 61, 0, 0, 61, + 0, 61, 0, 61, 61, 61, 61, 0, 61, 61, + 0, 61, 61, 61, 0, 0, 0, 0, 0, 0, + 539, 0, 5, 6, 7, 0, 0, 0, 0, 0, + 0, 0, 0, 65, 540, 0, 0, 0, 0, 541, + 0, 0, 8, 9, 0, 0, 0, 0, 61, 61, + 0, 0, 0, 0, 0, 62, 0, 0, 62, 10, + 11, 12, 13, 0, 542, 543, 61, 61, 62, 61, + 61, 61, 0, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 0, 0, 544, 0, 0, 0, 0, 0, + 0, 62, 0, 0, 0, 0, 0, 65, 0, 65, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 62, 0, 545, + 546, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 27, 28, 29, 30, + 31, 32, 33, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, + 0, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 0, - 66, 0, 0, 0, 0, 65, 0, 0, 65, 0, - 0, 0, 0, 0, 62, 62, 62, 62, 65, 62, - 62, 62, 62, 0, 0, 62, 0, 62, 0, 62, - 62, 62, 62, 0, 62, 62, 0, 62, 62, 62, - 0, 65, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, - 0, 0, 0, 0, 0, 0, 0, 65, 0, 0, - 0, 0, 0, 0, 62, 62, 0, 0, 0, 0, - 0, 0, 0, 0, 65, 0, 0, 0, 0, 0, - 0, 0, 62, 62, 0, 62, 62, 62, 0, 62, - 62, 62, 62, 62, 62, 62, 62, 62, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 66, 0, 66, 0, 0, 0, 0, + 0, 0, 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, 0, 66, + 0, 0, 0, 0, 65, 0, 0, 65, 0, 0, + 0, 0, 0, 62, 62, 62, 62, 65, 62, 62, + 62, 62, 0, 0, 62, 0, 62, 0, 62, 62, + 62, 62, 0, 62, 62, 0, 62, 62, 62, 0, + 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 65, 0, 0, 0, - 0, 65, 65, 65, 65, 65, 65, 65, 65, 65, - 65, 65, 65, 65, 65, 65, 65, 65, 65, 0, - 0, 0, 65, 65, 65, 65, 65, 65, 65, 65, + 0, 0, 0, 62, 62, 0, 0, 0, 0, 0, + 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, + 0, 62, 62, 0, 62, 62, 62, 0, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 66, 0, 66, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 65, 0, 0, 0, 0, + 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 0, 0, - 0, 0, 0, 0, 584, 0, 0, 0, 0, 0, - 0, 0, 0, 65, 65, 65, 65, 0, 65, 65, - 65, 65, 0, 0, 65, 0, 65, 0, 65, 65, - 65, 65, 0, 65, 65, 0, 65, 65, 65, 0, - 0, 0, 0, 0, 584, 584, 0, 0, 584, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 584, 0, 584, 0, 0, 0, 0, - 0, 0, 0, 65, 65, 0, 0, 0, 0, 0, - 66, 0, 0, 66, 0, 0, 0, 0, 0, 0, - 0, 65, 65, 66, 65, 65, 65, 0, 65, 65, + 0, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 584, 0, 584, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 585, 0, 0, 0, 0, 0, 0, + 0, 0, 65, 65, 65, 65, 0, 65, 65, 65, + 65, 0, 0, 65, 0, 65, 0, 65, 65, 65, + 65, 0, 65, 65, 0, 65, 65, 65, 0, 0, + 0, 0, 0, 585, 585, 0, 0, 585, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 585, 0, 585, 0, 0, 0, 0, 0, + 0, 0, 65, 65, 0, 0, 0, 0, 0, 66, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, + 65, 65, 66, 65, 65, 65, 0, 65, 65, 65, + 65, 65, 65, 65, 65, 65, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 585, 0, 585, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 66, 0, 0, 0, 0, 66, 66, 66, 66, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 66, 0, 0, 0, 0, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, - 66, 66, 66, 66, 0, 0, 0, 66, 66, 66, + 66, 66, 66, 0, 0, 0, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, - 66, 66, 66, 0, 0, 582, 0, 0, 0, 0, - 0, 0, 0, 0, 584, 584, 0, 584, 66, 66, - 66, 66, 0, 66, 66, 66, 66, 584, 584, 66, - 0, 66, 0, 66, 66, 66, 66, 0, 66, 66, - 0, 66, 66, 66, 0, 582, 582, 0, 0, 582, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 582, 584, 582, 0, 0, 0, - 584, 0, 0, 0, 0, 0, 584, 0, 66, 66, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 157, 0, 66, 66, 0, 66, - 66, 66, 0, 66, 66, 66, 66, 66, 66, 66, - 66, 66, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 582, 0, - 582, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, - 584, 584, 584, 584, 584, 584, 584, 584, 0, 0, - 0, 584, 584, 584, 584, 584, 584, 584, 0, 0, - 0, 0, 584, 0, 0, 584, 584, 0, 0, 583, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 584, 584, 584, 584, 0, 584, 584, 584, - 584, 0, 0, 584, 0, 584, 0, 584, 584, 584, - 0, 0, 584, 584, 0, 584, 584, 584, 0, 583, - 583, 0, 0, 583, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 583, 0, - 583, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 584, 584, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 582, 582, - 584, 584, 0, 584, 584, 584, 0, 584, 584, 584, - 584, 584, 584, 584, 584, 584, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 583, 0, 583, 0, 582, 0, 0, 0, - 0, 582, 0, 0, 0, 0, 0, 582, 0, 0, - 0, 0, 127, 0, 0, 0, 128, 129, 130, 131, - 132, 0, 133, 134, 135, 136, 0, 137, 138, 0, - 0, 139, 140, 141, 142, 0, 0, 0, 143, 144, - 0, 0, 33, 0, 0, 0, 0, 145, 0, 146, + 66, 66, 0, 0, 583, 0, 0, 0, 0, 0, + 0, 0, 0, 585, 585, 0, 585, 66, 66, 66, + 66, 0, 66, 66, 66, 66, 585, 585, 66, 0, + 66, 0, 66, 66, 66, 66, 0, 66, 66, 0, + 66, 66, 66, 0, 583, 583, 0, 0, 583, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 583, 585, 583, 0, 0, 0, 585, + 0, 0, 0, 0, 0, 585, 0, 66, 66, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 157, 0, 66, 66, 0, 66, 66, + 66, 0, 66, 66, 66, 66, 66, 66, 66, 66, + 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 583, 0, 583, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 585, + 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, + 585, 585, 585, 585, 585, 585, 585, 0, 0, 0, + 585, 585, 585, 585, 585, 585, 585, 0, 0, 0, + 0, 585, 0, 0, 585, 585, 0, 0, 584, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 585, 585, 585, 585, 0, 585, 585, 585, 585, + 0, 0, 585, 0, 585, 0, 585, 585, 585, 0, + 0, 585, 585, 0, 585, 585, 585, 0, 584, 584, + 0, 0, 584, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 584, 0, 584, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 147, 148, 149, 0, 0, 0, + 0, 585, 585, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 583, 583, 585, + 585, 0, 585, 585, 585, 0, 585, 585, 585, 585, + 585, 585, 585, 585, 585, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 582, 582, 582, 582, 582, 582, 582, 582, 582, - 582, 582, 582, 582, 582, 582, 582, 582, 582, 150, - 0, 33, 582, 582, 582, 582, 582, 582, 582, 0, - 0, 0, 0, 582, 0, 0, 582, 582, 0, 0, + 0, 584, 0, 584, 0, 583, 0, 0, 0, 0, + 583, 0, 0, 0, 0, 0, 583, 0, 0, 0, + 0, 127, 0, 0, 0, 128, 129, 130, 131, 132, + 0, 133, 134, 135, 136, 0, 137, 138, 0, 0, + 139, 140, 141, 142, 0, 0, 0, 143, 144, 0, + 0, 33, 0, 0, 0, 0, 145, 0, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 582, 582, 582, 582, 0, 582, 582, - 582, 582, 583, 583, 582, 0, 582, 0, 582, 582, - 582, 0, 0, 582, 582, 0, 582, 582, 582, 0, - 0, 0, 0, 0, 0, 33, 0, 33, 0, 0, + 0, 0, 0, 147, 148, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 583, 0, 0, 0, 0, 583, 0, 0, 0, 0, - 0, 583, 0, 582, 582, 0, 0, 0, 0, 0, + 583, 583, 583, 583, 583, 583, 583, 583, 583, 583, + 583, 583, 583, 583, 583, 583, 583, 583, 150, 0, + 33, 583, 583, 583, 583, 583, 583, 583, 0, 0, + 0, 0, 583, 0, 0, 583, 583, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 583, 583, 583, 583, 0, 583, 583, 583, + 583, 584, 584, 583, 0, 583, 0, 583, 583, 583, + 0, 0, 583, 583, 0, 583, 583, 583, 0, 0, + 0, 0, 0, 0, 33, 0, 33, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 584, + 0, 0, 0, 0, 584, 0, 0, 0, 0, 0, + 584, 0, 583, 583, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 582, 582, 0, 582, 582, 582, 0, 582, 582, - 582, 582, 582, 582, 582, 582, 582, 0, 0, 0, + 583, 583, 0, 583, 583, 583, 0, 583, 583, 583, + 583, 583, 583, 583, 583, 583, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, + 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 583, 583, 583, 583, 583, - 583, 583, 583, 583, 583, 583, 583, 583, 583, 583, - 583, 583, 583, 0, 155, 0, 583, 583, 583, 583, - 583, 583, 583, 0, 0, 0, 0, 583, 0, 0, - 583, 583, 33, 34, 0, 33, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 33, 0, 583, 583, 583, - 583, 0, 583, 583, 583, 583, 0, 0, 583, 0, - 583, 0, 583, 583, 583, 0, 0, 583, 583, 0, - 583, 583, 583, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 33, 0, 0, 34, 0, 34, - 0, 0, 0, 0, 0, 0, 0, 583, 583, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 583, 583, 0, 583, 583, - 583, 0, 583, 583, 583, 583, 583, 583, 583, 583, - 583, 0, 0, 0, 0, 0, 0, 785, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 33, 33, + 0, 0, 0, 0, 584, 584, 584, 584, 584, 584, + 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, + 584, 584, 0, 155, 0, 584, 584, 584, 584, 584, + 584, 584, 0, 0, 0, 0, 584, 0, 0, 584, + 584, 33, 34, 0, 33, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 33, 0, 584, 584, 584, 584, + 0, 584, 584, 584, 584, 0, 0, 584, 0, 584, + 0, 584, 584, 584, 0, 0, 584, 584, 0, 584, + 584, 584, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 33, 0, 0, 34, 0, 34, 0, + 0, 0, 0, 0, 0, 0, 584, 584, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 584, 584, 0, 584, 584, 584, + 0, 584, 584, 584, 584, 584, 584, 584, 584, 584, + 0, 0, 0, 0, 0, 0, 786, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 33, 33, 0, 0, 0, 33, + 33, 33, 33, 33, 33, 0, 0, 0, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 33, 0, 785, 0, 0, 0, + 33, 33, 33, 33, 0, 786, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, + 33, 33, 33, 0, 33, 33, 33, 33, 0, 0, + 33, 0, 33, 34, 0, 33, 34, 0, 0, 0, + 0, 0, 33, 33, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 33, 33, 33, 33, 0, 33, 33, 33, 33, 0, - 0, 33, 0, 33, 34, 0, 33, 34, 0, 0, - 0, 0, 0, 33, 33, 33, 0, 34, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 786, + 0, 786, 0, 0, 0, 0, 0, 0, 0, 33, + 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 34, 0, 33, 33, 0, + 33, 33, 33, 0, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 788, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 785, 0, 785, 0, 0, 0, 0, 0, 0, 0, - 33, 33, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 34, 0, 33, 33, - 0, 33, 33, 33, 0, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 787, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 799, 0, 0, 0, 0, 0, 0, 0, + 0, 800, 0, 0, 0, 0, 0, 0, 0, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, - 787, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 785, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 785, 799, 34, 34, 34, 34, 0, 34, 34, 34, - 34, 0, 0, 34, 0, 34, 0, 0, 34, 0, - 0, 0, 0, 0, 0, 34, 34, 34, 0, 0, - 0, 0, 0, 0, 787, 0, 787, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 785, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 34, 34, 0, 0, 0, 799, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 34, 34, 0, 34, 34, 34, 0, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 0, 0, 0, 0, - 0, 0, 0, 791, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 785, 785, 785, 785, 785, 785, 785, - 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, - 785, 0, 0, 0, 785, 785, 785, 785, 785, 785, - 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, - 0, 0, 791, 0, 0, 0, 0, 0, 0, 0, - 0, 787, 0, 0, 0, 785, 785, 785, 785, 0, - 785, 785, 785, 785, 787, 0, 785, 0, 785, 0, - 0, 785, 0, 0, 0, 0, 0, 0, 785, 785, - 785, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 799, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 791, 0, 791, 0, - 0, 0, 0, 787, 0, 785, 785, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 785, 785, 0, 785, 785, 785, 0, - 785, 785, 785, 785, 785, 785, 785, 785, 785, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 789, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 787, 787, 787, - 787, 787, 787, 787, 787, 787, 787, 787, 787, 787, - 787, 787, 787, 787, 787, 0, 0, 0, 787, 787, - 787, 787, 787, 787, 787, 787, 787, 787, 787, 787, - 787, 787, 787, 787, 0, 0, 789, 0, 0, 0, - 0, 799, 799, 799, 799, 799, 0, 0, 0, 787, - 787, 787, 787, 791, 787, 787, 787, 787, 0, 0, - 787, 0, 787, 799, 799, 787, 791, 0, 0, 0, - 0, 0, 787, 787, 787, 0, 0, 0, 0, 0, - 799, 799, 799, 799, 0, 0, 0, 799, 799, 0, - 0, 0, 0, 799, 0, 799, 799, 0, 0, 0, - 789, 0, 789, 799, 799, 0, 0, 0, 0, 787, - 787, 0, 0, 0, 0, 791, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 787, 787, 0, - 787, 787, 787, 0, 787, 787, 787, 787, 787, 787, - 787, 787, 787, 0, 0, 0, 0, 0, 0, 0, - 793, 0, 0, 0, 0, 0, 0, 0, 799, 799, - 0, 799, 799, 799, 0, 799, 799, 799, 799, 799, - 799, 799, 799, 799, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 791, - 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, - 791, 791, 791, 791, 791, 791, 791, 0, 0, 793, - 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, - 791, 791, 791, 791, 791, 791, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 789, 0, 0, - 0, 791, 791, 791, 791, 0, 791, 791, 791, 791, - 789, 0, 791, 0, 791, 0, 0, 791, 0, 0, - 0, 0, 0, 0, 791, 791, 791, 0, 0, 0, - 0, 0, 0, 793, 0, 793, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 789, - 0, 791, 791, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 791, - 791, 0, 791, 791, 791, 0, 791, 791, 791, 791, - 791, 791, 791, 791, 791, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 743, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 789, 789, 789, 789, 789, 789, 789, - 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, - 789, 0, 0, 0, 789, 789, 789, 789, 789, 789, - 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, - 793, 743, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 793, 0, 789, 789, 789, 789, 0, - 789, 789, 789, 789, 0, 0, 789, 0, 789, 0, - 0, 789, 0, 0, 0, 0, 0, 0, 789, 789, - 789, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 793, 0, 0, 743, 0, 743, 0, 0, - 0, 0, 0, 0, 0, 789, 789, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 789, 789, 0, 789, 789, 789, 0, - 789, 789, 789, 789, 789, 789, 789, 789, 789, 0, - 0, 0, 0, 0, 0, 745, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 793, 793, 793, 793, - 793, 793, 793, 793, 793, 793, 793, 793, 793, 793, - 793, 793, 793, 793, 0, 0, 0, 793, 793, 793, - 793, 793, 793, 793, 793, 793, 793, 793, 793, 793, - 793, 793, 793, 0, 745, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 793, 793, - 793, 793, 0, 793, 793, 793, 793, 0, 0, 793, - 0, 793, 743, 0, 793, 743, 0, 0, 0, 0, - 0, 793, 793, 793, 0, 743, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 745, 0, - 745, 0, 0, 0, 0, 0, 0, 0, 793, 793, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 743, 0, 793, 793, 0, 793, - 793, 793, 0, 793, 793, 793, 793, 793, 793, 793, - 793, 793, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 400, 0, 0, 743, 743, - 743, 743, 743, 743, 743, 743, 743, 743, 743, 743, - 743, 743, 743, 743, 743, 743, 0, 0, 0, 743, - 743, 743, 743, 743, 743, 743, 0, 0, 0, 0, - 743, 0, 0, 743, 743, 745, 0, 0, 745, 400, - 0, 0, 0, 0, 0, 0, 0, 0, 745, 0, - 743, 743, 743, 743, 400, 743, 743, 743, 743, 0, - 0, 743, 0, 743, 0, 743, 743, 743, 0, 0, - 743, 743, 0, 743, 743, 743, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 157, 0, 0, 745, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 743, 743, 0, 0, 0, 0, 0, 0, 400, 0, - 400, 0, 0, 0, 0, 0, 0, 0, 743, 743, - 0, 743, 743, 743, 0, 743, 743, 743, 743, 743, - 743, 743, 743, 743, 0, 0, 0, 0, 0, 0, - 0, 0, 156, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 442, 0, 0, 0, 0, 0, 0, 0, - 0, 745, 745, 745, 745, 745, 745, 745, 745, 745, - 745, 745, 745, 745, 745, 745, 745, 745, 745, 0, - 0, 0, 745, 745, 745, 745, 745, 745, 745, 0, - 0, 0, 0, 745, 0, 0, 745, 745, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 442, 0, 745, 745, 745, 745, 0, 745, 745, - 745, 745, 0, 0, 745, 0, 745, 0, 745, 745, - 745, 0, 0, 745, 745, 0, 745, 745, 745, 0, - 0, 0, 0, 0, 0, 400, 0, 0, 400, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 400, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 745, 745, 442, 0, 442, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 745, 745, 208, 745, 745, 745, 0, 745, 745, - 745, 745, 745, 745, 745, 745, 745, 400, 0, 0, - 0, 67, 68, 0, 69, 0, 0, 0, 0, 126, - 0, 0, 127, 0, 0, 0, 128, 129, 130, 131, - 132, 0, 133, 134, 135, 136, 0, 137, 138, 0, - 0, 139, 140, 141, 142, 0, 0, 98, 143, 144, - 0, 0, 208, 0, 208, 0, 0, 145, 0, 146, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 147, 148, 149, 0, 0, 0, - 0, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 0, - 0, 0, 400, 400, 400, 400, 400, 400, 400, 150, - 151, 0, 442, 400, 0, 442, 400, 400, 208, 0, - 0, 0, 0, 0, 0, 442, 0, 0, 0, 0, - 0, 0, 0, 400, 400, 400, 400, 0, 400, 400, - 400, 400, 0, 0, 400, 0, 400, 0, 0, 400, - 0, 0, 0, 0, 210, 0, 400, 400, 400, 0, - 0, 0, 0, 0, 0, 152, 153, 154, 0, 0, - 0, 0, 0, 0, 442, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 93, 0, 0, 0, 0, - 0, 0, 0, 400, 400, 0, 0, 0, 0, 0, - 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, - 0, 400, 400, 210, 400, 400, 400, 0, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 93, 0, 0, 0, 442, 442, - 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, - 442, 442, 442, 442, 442, 442, 208, 0, 0, 442, - 442, 442, 442, 442, 442, 442, 0, 0, 0, 210, - 442, 0, 0, 442, 442, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 155, 0, 0, 94, 0, 0, - 442, 442, 442, 442, 0, 442, 442, 442, 442, 0, - 93, 442, 0, 442, 0, 208, 442, 0, 0, 0, - 0, 0, 0, 442, 442, 442, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 94, 0, 0, 0, - 442, 442, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 442, 442, - 0, 442, 442, 442, 0, 442, 442, 442, 442, 442, - 442, 442, 442, 442, 0, 0, 0, 0, 0, 0, - 0, 0, 208, 208, 208, 208, 208, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 208, 0, 0, 0, - 0, 208, 94, 0, 208, 208, 0, 210, 0, 0, - 796, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 208, 208, 208, 208, 0, 208, 208, 208, 208, - 0, 0, 0, 0, 208, 0, 0, 208, 93, 0, - 0, 0, 0, 0, 208, 208, 208, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 210, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 796, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 208, 208, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, - 208, 0, 208, 208, 208, 0, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 0, 0, 0, 0, 0, - 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 796, 0, 0, 0, 0, - 0, 0, 0, 210, 210, 210, 210, 210, 0, 0, - 94, 0, 48, 0, 0, 0, 0, 210, 0, 0, - 0, 0, 210, 0, 0, 210, 210, 0, 0, 0, - 0, 0, 0, 0, 93, 93, 93, 93, 93, 0, - 47, 0, 210, 210, 210, 210, 0, 210, 210, 210, - 210, 0, 0, 0, 0, 210, 93, 93, 210, 0, - 0, 0, 0, 0, 0, 210, 210, 210, 0, 0, - 0, 48, 0, 93, 93, 93, 93, 0, 0, 0, - 93, 93, 0, 0, 0, 0, 93, 0, 0, 93, - 0, 0, 0, 0, 0, 0, 93, 93, 0, 0, - 0, 0, 210, 210, 0, 0, 47, 0, 0, 0, - 0, 0, 0, 1131, 0, 0, 0, 0, 0, 0, - 210, 210, 0, 210, 210, 210, 0, 210, 210, 210, - 210, 210, 210, 210, 210, 210, 0, 48, 0, 0, - 0, 0, 0, 796, 0, 0, 94, 94, 94, 94, - 94, 93, 93, 0, 93, 93, 93, 0, 93, 93, - 93, 93, 93, 93, 93, 93, 93, 49, 94, 94, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 94, 94, 94, 94, 0, - 0, 0, 94, 94, 0, 0, 0, 0, 94, 0, - 0, 94, 0, 0, 0, 0, 0, 0, 94, 94, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, - 0, 0, 0, 94, 94, 0, 94, 94, 94, 0, - 94, 94, 94, 94, 94, 94, 94, 94, 94, 796, - 796, 796, 796, 796, 0, 48, 0, 0, 0, 0, - 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 796, 796, 0, 0, 0, 0, 0, 50, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 796, 796, - 796, 796, 0, 0, 0, 796, 796, 0, 1091, 0, - 0, 796, 0, 0, 796, 0, 0, 0, 0, 51, - 0, 796, 796, 0, 0, 0, 0, 1092, 1093, 0, - 1094, 1095, 1096, 1097, 1098, 1099, 0, 1100, 1101, 0, - 1102, 1103, 1104, 1105, 1106, 0, 0, 50, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 47, 47, 47, 47, 47, 0, 796, 796, 51, 796, - 796, 796, 0, 796, 796, 796, 796, 796, 796, 796, - 796, 796, 47, 47, 0, 0, 0, 0, 0, 0, - 0, 48, 48, 48, 48, 48, 0, 0, 0, 47, - 47, 47, 47, 50, 0, 0, 47, 47, 0, 0, - 49, 0, 47, 48, 48, 47, 0, 0, 0, 0, - 799, 0, 47, 47, 0, 0, 0, 0, 0, 0, - 48, 48, 48, 48, 51, 0, 0, 48, 48, 0, - 0, 0, 0, 48, 0, 0, 48, 0, 0, 0, - 0, 0, 0, 48, 48, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 47, 47, 799, - 47, 47, 47, 0, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, - 0, 48, 48, 48, 0, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 0, 1107, 1108, 0, 1109, 1110, - 1111, 0, 1112, 1113, 0, 0, 1114, 1115, 0, 1116, - 0, 0, 0, 0, 0, 799, 49, 49, 49, 49, - 49, 50, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, - 1125, 1126, 1127, 1128, 1129, 1130, 0, 0, 49, 49, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 51, 0, 0, 49, 49, 49, 49, 0, - 0, 0, 49, 49, 0, 0, 0, 0, 49, 0, - 0, 49, 0, 0, 0, 0, 0, 0, 49, 49, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 49, 49, 0, 49, 49, 49, 0, - 49, 49, 49, 49, 49, 49, 49, 49, 49, 0, - 0, 0, 0, 0, 0, 0, 0, 50, 50, 50, - 50, 50, 0, 799, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, - 50, 0, 0, 0, 0, 0, 0, 0, 51, 51, - 51, 51, 51, 0, 0, 0, 50, 50, 50, 50, - 0, 0, 0, 50, 50, 0, 0, 0, 0, 50, - 51, 51, 50, 0, 0, 0, 0, 0, 0, 50, - 50, 0, 0, 0, 0, 0, 0, 51, 51, 51, - 51, 0, 157, 0, 51, 51, 0, 297, 0, 0, - 51, 296, 0, 51, 0, 0, 0, 0, 0, 0, - 51, 51, 0, 0, 0, 0, 0, 0, 0, 295, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 50, 0, 50, 50, 50, - 0, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 480, 0, 0, 0, 0, 0, 0, 0, 0, 799, - 799, 799, 799, 799, 0, 51, 51, 0, 51, 51, - 51, 0, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 799, 799, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 799, 799, - 799, 799, 0, 0, 0, 799, 799, 0, 0, 0, - 0, 799, 0, 0, 799, 0, 0, 0, 0, 0, - 0, 799, 799, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 157, 0, 0, 0, 0, 297, - 0, 0, 0, 743, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 295, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 799, 799, 0, 799, - 799, 799, 0, 799, 799, 799, 799, 799, 799, 799, - 799, 799, 480, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, + 34, 34, 34, 34, 34, 34, 34, 0, 0, 788, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 786, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 786, + 800, 34, 34, 34, 34, 0, 34, 34, 34, 34, + 0, 0, 34, 0, 34, 0, 0, 34, 0, 0, + 0, 0, 0, 0, 34, 34, 34, 0, 0, 0, + 0, 0, 0, 788, 0, 788, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 786, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 34, 34, 0, 0, 0, 800, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, + 34, 0, 34, 34, 34, 0, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 0, 0, 0, 0, 0, + 0, 0, 792, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 786, 786, 786, 786, 786, 786, 786, 786, + 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, + 0, 0, 0, 786, 786, 786, 786, 786, 786, 786, + 786, 786, 786, 786, 786, 786, 786, 786, 786, 0, + 0, 792, 0, 0, 0, 0, 0, 0, 0, 0, + 788, 0, 0, 0, 786, 786, 786, 786, 0, 786, + 786, 786, 786, 788, 0, 786, 0, 786, 0, 0, + 786, 0, 0, 0, 0, 0, 0, 786, 786, 786, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 800, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 792, 0, 792, 0, 0, + 0, 0, 788, 0, 786, 786, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 786, 786, 0, 786, 786, 786, 0, 786, + 786, 786, 786, 786, 786, 786, 786, 786, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 790, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 788, 788, 788, 788, + 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, + 788, 788, 788, 788, 0, 0, 0, 788, 788, 788, + 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, + 788, 788, 788, 0, 0, 790, 0, 0, 0, 0, + 800, 800, 800, 800, 800, 0, 0, 0, 788, 788, + 788, 788, 792, 788, 788, 788, 788, 0, 0, 788, + 0, 788, 800, 800, 788, 792, 0, 0, 0, 0, + 0, 788, 788, 788, 0, 0, 0, 0, 0, 800, + 800, 800, 800, 0, 0, 0, 800, 800, 0, 0, + 0, 0, 800, 0, 800, 800, 0, 0, 0, 790, + 0, 790, 800, 800, 0, 0, 0, 0, 788, 788, + 0, 0, 0, 0, 792, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 788, 788, 0, 788, + 788, 788, 0, 788, 788, 788, 788, 788, 788, 788, + 788, 788, 0, 0, 0, 0, 0, 0, 0, 794, + 0, 0, 0, 0, 0, 0, 0, 800, 800, 0, + 800, 800, 800, 0, 800, 800, 800, 800, 800, 800, + 800, 800, 800, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 792, 792, + 792, 792, 792, 792, 792, 792, 792, 792, 792, 792, + 792, 792, 792, 792, 792, 792, 0, 0, 794, 792, + 792, 792, 792, 792, 792, 792, 792, 792, 792, 792, + 792, 792, 792, 792, 792, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 790, 0, 0, 0, + 792, 792, 792, 792, 0, 792, 792, 792, 792, 790, + 0, 792, 0, 792, 0, 0, 792, 0, 0, 0, + 0, 0, 0, 792, 792, 792, 0, 0, 0, 0, + 0, 0, 794, 0, 794, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 790, 0, + 792, 792, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 792, 792, + 0, 792, 792, 792, 0, 792, 792, 792, 792, 792, + 792, 792, 792, 792, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 744, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 790, 790, 790, 790, 790, 790, 790, 790, + 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, + 0, 0, 0, 790, 790, 790, 790, 790, 790, 790, + 790, 790, 790, 790, 790, 790, 790, 790, 790, 794, + 744, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 794, 0, 790, 790, 790, 790, 0, 790, + 790, 790, 790, 0, 0, 790, 0, 790, 0, 0, + 790, 0, 0, 0, 0, 0, 0, 790, 790, 790, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 794, 0, 0, 744, 0, 744, 0, 0, 0, + 0, 0, 0, 0, 790, 790, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 790, 790, 0, 790, 790, 790, 0, 790, + 790, 790, 790, 790, 790, 790, 790, 790, 0, 0, + 0, 0, 0, 0, 746, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 794, 794, 794, 794, 794, + 794, 794, 794, 794, 794, 794, 794, 794, 794, 794, + 794, 794, 794, 0, 0, 0, 794, 794, 794, 794, + 794, 794, 794, 794, 794, 794, 794, 794, 794, 794, + 794, 794, 0, 746, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 794, 794, 794, + 794, 0, 794, 794, 794, 794, 0, 0, 794, 0, + 794, 744, 0, 794, 744, 0, 0, 0, 0, 0, + 794, 794, 794, 0, 744, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 746, 0, 746, + 0, 0, 0, 0, 0, 0, 0, 794, 794, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 744, 0, 794, 794, 0, 794, 794, + 794, 0, 794, 794, 794, 794, 794, 794, 794, 794, + 794, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 401, 0, 0, 744, 744, 744, + 744, 744, 744, 744, 744, 744, 744, 744, 744, 744, + 744, 744, 744, 744, 744, 0, 0, 0, 744, 744, + 744, 744, 744, 744, 744, 0, 0, 0, 0, 744, + 0, 0, 744, 744, 746, 0, 0, 746, 401, 0, + 0, 0, 0, 0, 0, 0, 0, 746, 0, 744, + 744, 744, 744, 401, 744, 744, 744, 744, 0, 0, + 744, 0, 744, 0, 744, 744, 744, 0, 0, 744, + 744, 0, 744, 744, 744, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 157, 0, 0, 746, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 744, + 744, 0, 0, 0, 0, 0, 0, 401, 0, 401, + 0, 0, 0, 0, 0, 0, 0, 744, 744, 0, + 744, 744, 744, 0, 744, 744, 744, 744, 744, 744, + 744, 744, 744, 0, 0, 0, 0, 0, 0, 0, + 0, 156, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 443, 0, 0, 0, 0, 0, 0, 0, 0, + 746, 746, 746, 746, 746, 746, 746, 746, 746, 746, + 746, 746, 746, 746, 746, 746, 746, 746, 0, 0, + 0, 746, 746, 746, 746, 746, 746, 746, 0, 0, + 0, 0, 746, 0, 0, 746, 746, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 443, 0, 746, 746, 746, 746, 0, 746, 746, 746, + 746, 0, 0, 746, 0, 746, 0, 746, 746, 746, + 0, 0, 746, 746, 0, 746, 746, 746, 0, 0, + 0, 0, 0, 0, 401, 0, 0, 401, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 401, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 746, 746, 443, 0, 443, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 746, 746, 209, 746, 746, 746, 0, 746, 746, 746, + 746, 746, 746, 746, 746, 746, 401, 0, 0, 0, + 67, 68, 0, 69, 0, 0, 0, 0, 126, 0, + 0, 127, 0, 0, 0, 128, 129, 130, 131, 132, + 0, 133, 134, 135, 136, 0, 137, 138, 0, 0, + 139, 140, 141, 142, 0, 0, 98, 143, 144, 0, + 0, 209, 0, 209, 0, 0, 145, 0, 146, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 147, 148, 149, 0, 0, 0, 0, + 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, + 401, 401, 401, 401, 401, 401, 401, 401, 0, 0, + 0, 401, 401, 401, 401, 401, 401, 401, 150, 151, + 0, 443, 401, 0, 443, 401, 401, 209, 0, 0, + 0, 0, 0, 0, 443, 0, 0, 0, 0, 0, + 0, 0, 401, 401, 401, 401, 0, 401, 401, 401, + 401, 0, 0, 401, 0, 401, 0, 0, 401, 0, + 0, 0, 0, 211, 0, 401, 401, 401, 0, 0, + 0, 0, 0, 0, 152, 153, 154, 0, 0, 0, + 0, 0, 0, 443, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 93, 0, 0, 0, 0, 0, + 0, 0, 401, 401, 0, 0, 0, 0, 0, 0, + 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, + 401, 401, 211, 401, 401, 401, 0, 401, 401, 401, + 401, 401, 401, 401, 401, 401, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 93, 0, 0, 0, 443, 443, 443, + 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, + 443, 443, 443, 443, 443, 209, 0, 0, 443, 443, + 443, 443, 443, 443, 443, 0, 0, 0, 211, 443, + 0, 0, 443, 443, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 155, 0, 0, 94, 0, 0, 443, + 443, 443, 443, 0, 443, 443, 443, 443, 0, 93, + 443, 0, 443, 0, 209, 443, 0, 0, 0, 0, + 0, 0, 443, 443, 443, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 94, 0, 0, 0, 443, + 443, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 443, 443, 0, + 443, 443, 443, 0, 443, 443, 443, 443, 443, 443, + 443, 443, 443, 0, 0, 0, 0, 0, 0, 0, + 0, 209, 209, 209, 209, 209, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 209, 0, 0, 0, 0, + 209, 94, 0, 209, 209, 0, 211, 0, 0, 797, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 209, 209, 209, 209, 0, 209, 209, 209, 209, 0, + 0, 0, 0, 209, 0, 0, 209, 93, 0, 0, + 0, 0, 0, 209, 209, 209, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 211, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 797, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 209, 209, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 209, 209, + 0, 209, 209, 209, 0, 209, 209, 209, 209, 209, + 209, 209, 209, 209, 0, 0, 0, 0, 0, 0, + 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 797, 0, 0, 0, 0, 0, + 0, 0, 211, 211, 211, 211, 211, 0, 0, 94, + 0, 48, 0, 0, 0, 0, 211, 0, 0, 0, + 0, 211, 0, 0, 211, 211, 0, 0, 0, 0, + 0, 0, 0, 93, 93, 93, 93, 93, 0, 47, + 0, 211, 211, 211, 211, 0, 211, 211, 211, 211, + 0, 0, 0, 0, 211, 93, 93, 211, 0, 0, + 0, 0, 0, 0, 211, 211, 211, 0, 0, 0, + 48, 0, 93, 93, 93, 93, 0, 0, 0, 93, + 93, 0, 0, 0, 0, 93, 0, 0, 93, 0, + 0, 0, 0, 0, 0, 93, 93, 0, 0, 0, + 0, 211, 211, 0, 0, 47, 0, 0, 0, 0, + 0, 0, 1131, 0, 0, 0, 0, 0, 0, 211, + 211, 0, 211, 211, 211, 0, 211, 211, 211, 211, + 211, 211, 211, 211, 211, 0, 48, 0, 0, 0, + 0, 0, 797, 0, 0, 94, 94, 94, 94, 94, + 93, 93, 0, 93, 93, 93, 0, 93, 93, 93, + 93, 93, 93, 93, 93, 93, 49, 94, 94, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 94, 94, 94, 94, 0, 0, + 0, 94, 94, 0, 0, 0, 0, 94, 0, 0, + 94, 0, 0, 0, 0, 0, 0, 94, 94, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, + 0, 0, 94, 94, 0, 94, 94, 94, 0, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 797, 797, + 797, 797, 797, 0, 48, 0, 0, 0, 0, 0, + 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, + 797, 797, 0, 0, 0, 0, 0, 50, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 797, 797, 797, + 797, 0, 0, 0, 797, 797, 0, 1091, 0, 0, + 797, 0, 0, 797, 0, 0, 0, 0, 51, 0, + 797, 797, 0, 0, 0, 0, 1092, 1093, 0, 1094, + 1095, 1096, 1097, 1098, 1099, 0, 1100, 1101, 0, 1102, + 1103, 1104, 1105, 1106, 0, 0, 50, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, + 47, 47, 47, 47, 0, 797, 797, 51, 797, 797, + 797, 0, 797, 797, 797, 797, 797, 797, 797, 797, + 797, 47, 47, 0, 0, 0, 0, 0, 0, 0, + 48, 48, 48, 48, 48, 0, 0, 0, 47, 47, + 47, 47, 50, 0, 0, 47, 47, 0, 0, 49, + 0, 47, 48, 48, 47, 0, 0, 0, 0, 800, + 0, 47, 47, 0, 0, 0, 0, 0, 0, 48, + 48, 48, 48, 51, 0, 0, 48, 48, 0, 0, + 0, 0, 48, 0, 0, 48, 0, 0, 0, 0, + 0, 0, 48, 48, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 47, 47, 800, 47, + 47, 47, 0, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 48, 48, 0, + 48, 48, 48, 0, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 0, 1107, 1108, 0, 1109, 1110, 1111, + 0, 1112, 1113, 0, 0, 1114, 1115, 0, 1116, 0, + 0, 0, 0, 0, 800, 49, 49, 49, 49, 49, + 50, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, + 1126, 1127, 1128, 1129, 1130, 0, 0, 49, 49, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 51, 0, 0, 49, 49, 49, 49, 0, 0, + 0, 49, 49, 0, 0, 0, 0, 49, 0, 0, + 49, 0, 0, 0, 0, 0, 0, 49, 49, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 49, 49, 0, 49, 49, 49, 0, 49, + 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, + 0, 0, 0, 0, 0, 0, 50, 50, 50, 50, + 50, 0, 800, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 50, 50, + 0, 0, 0, 0, 0, 0, 0, 51, 51, 51, + 51, 51, 0, 0, 0, 50, 50, 50, 50, 0, + 0, 0, 50, 50, 0, 0, 0, 0, 50, 51, + 51, 50, 0, 0, 0, 0, 0, 0, 50, 50, + 0, 0, 0, 0, 0, 0, 51, 51, 51, 51, + 0, 157, 0, 51, 51, 0, 297, 0, 0, 51, + 743, 0, 51, 0, 0, 0, 0, 0, 0, 51, + 51, 0, 0, 0, 0, 0, 0, 0, 295, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 50, 50, 0, 50, 50, 50, 0, + 50, 50, 50, 50, 50, 50, 50, 50, 50, 480, + 0, 0, 0, 0, 0, 0, 0, 0, 800, 800, + 800, 800, 800, 0, 51, 51, 0, 51, 51, 51, + 0, 51, 51, 51, 51, 51, 51, 51, 51, 51, + 800, 800, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 800, 800, 800, + 800, 0, 0, 0, 800, 800, 0, 0, 0, 0, + 800, 0, 0, 800, 0, 0, 0, 0, 0, 0, + 800, 800, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 700, 0, 0, 0, 0, 700, 0, + 0, 0, 700, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 700, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 800, 800, 0, 800, 800, + 800, 0, 800, 800, 800, 800, 800, 800, 800, 800, + 800, 700, 157, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 67, 68, + 0, 69, 0, 0, 0, 0, 126, 0, 0, 127, + 0, 0, 0, 128, 129, 130, 131, 132, 0, 133, + 134, 135, 136, 0, 137, 138, 0, 0, 139, 140, + 141, 142, 0, 0, 98, 143, 144, 0, 0, 0, + 0, 0, 0, 0, 145, 0, 146, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 147, 148, 149, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 150, 0, 290, 291, + 292, 0, 157, 0, 0, 0, 0, 297, 0, 0, + 0, 296, 478, 479, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 295, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 700, 700, 0, 700, 0, 0, 0, 0, 700, 0, + 0, 700, 152, 153, 154, 700, 700, 700, 700, 700, + 480, 700, 700, 700, 700, 0, 700, 700, 0, 0, + 700, 700, 700, 700, 0, 0, 700, 700, 700, 0, + 0, 0, 0, 0, 0, 0, 700, 0, 700, 0, + 0, 0, 0, 0, 0, 0, 213, 0, 0, 0, + 0, 0, 0, 700, 700, 700, 0, 0, 0, 0, + 127, 0, 0, 0, 128, 129, 130, 131, 132, 0, + 133, 134, 135, 136, 0, 137, 138, 0, 0, 139, + 140, 141, 142, 448, 0, 0, 143, 144, 700, 0, + 700, 700, 700, 0, 0, 145, 0, 146, 0, 0, + 0, 0, 0, 0, 700, 700, 0, 0, 0, 0, + 0, 0, 147, 148, 149, 0, 449, 0, 450, 451, + 452, 453, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 155, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 700, 700, 700, 150, 0, 0, + 0, 0, 0, 0, 0, 454, 455, 456, 457, 0, + 0, 458, 0, 0, 0, 459, 460, 461, 0, 0, + 0, 0, 0, 0, 0, 0, 157, 0, 0, 67, 68, 0, 69, 0, 0, 0, 0, 126, 0, 0, 127, 0, 0, 0, 128, 129, 130, 131, 132, 0, 133, 134, 135, 136, 0, 137, 138, 0, 0, 139, 140, 141, 142, 0, 0, 98, 143, 144, 0, 0, 0, 0, 0, 0, 0, 145, 0, 146, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 147, 148, 149, 0, 0, 0, 0, 0, - 0, 699, 0, 0, 0, 0, 699, 0, 0, 0, - 699, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 150, 699, 290, - 291, 292, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 478, 479, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 699, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 67, 68, 0, 69, 0, 0, 0, 0, 126, - 0, 0, 127, 152, 153, 154, 128, 129, 130, 131, - 132, 0, 133, 134, 135, 136, 0, 137, 138, 0, - 0, 139, 140, 141, 142, 0, 0, 98, 143, 144, - 0, 0, 0, 157, 0, 0, 0, 145, 0, 146, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 147, 148, 149, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 150, - 0, 290, 291, 292, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 478, 479, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 155, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 225, 152, 153, 154, 699, 699, - 0, 699, 0, 0, 0, 0, 699, 0, 0, 699, - 0, 0, 0, 699, 699, 699, 699, 699, 0, 699, - 699, 699, 699, 0, 699, 699, 0, 0, 699, 699, - 699, 699, 0, 0, 699, 699, 699, 0, 0, 0, - 0, 0, 0, 0, 699, 157, 699, 0, 0, 0, - 297, 0, 225, 0, 296, 0, 0, 0, 0, 0, - 0, 699, 699, 699, 0, 0, 0, 0, 0, 0, - 0, 0, 295, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 699, 0, 699, 699, - 699, 0, 0, 480, 212, 0, 0, 0, 0, 0, - 0, 0, 699, 699, 0, 0, 0, 0, 0, 0, - 0, 127, 0, 0, 155, 128, 129, 130, 131, 132, - 0, 133, 134, 135, 136, 0, 137, 138, 0, 0, - 139, 140, 141, 142, 448, 0, 0, 143, 144, 0, - 0, 0, 699, 699, 699, 0, 145, 0, 146, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 147, 148, 149, 0, 449, 0, 450, - 451, 452, 453, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 150, 0, - 0, 0, 0, 0, 0, 0, 454, 455, 456, 457, - 0, 0, 458, 0, 157, 0, 459, 460, 461, 0, - 0, 0, 225, 0, 0, 0, 225, 225, 225, 225, - 225, 0, 225, 225, 225, 225, 0, 225, 225, 0, - 0, 225, 225, 225, 225, 0, 0, 0, 225, 225, - 0, 0, 0, 0, 0, 0, 0, 225, 0, 225, - 0, 0, 67, 68, 0, 69, 0, 0, 0, 0, - 126, 699, 210, 127, 225, 225, 225, 128, 129, 130, - 131, 132, 0, 133, 134, 135, 136, 0, 137, 138, - 0, 0, 139, 140, 141, 142, 0, 0, 98, 143, - 144, 0, 0, 0, 0, 0, 0, 0, 145, 225, - 146, 0, 0, 0, 0, 0, 157, 0, 0, 0, - 462, 0, 0, 0, 0, 147, 148, 149, 0, 0, - 0, 0, 212, 0, 0, 0, 212, 212, 212, 212, - 212, 0, 212, 212, 212, 212, 0, 212, 212, 0, - 0, 212, 212, 212, 212, 212, 0, 0, 212, 212, - 150, 0, 290, 291, 292, 0, 0, 212, 0, 212, 0, 0, 0, 0, 210, 0, 0, 0, 0, 0, - 0, 0, 0, 155, 212, 212, 212, 0, 212, 0, - 212, 212, 212, 212, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 225, 0, 152, 153, 154, 212, - 0, 0, 0, 0, 0, 0, 0, 212, 212, 212, - 212, 0, 0, 212, 0, 0, 0, 212, 212, 212, - 0, 67, 68, 0, 69, 0, 0, 0, 0, 126, - 0, 0, 127, 0, 0, 0, 128, 129, 130, 131, - 132, 0, 133, 134, 135, 136, 0, 137, 138, 0, - 0, 139, 140, 141, 142, 0, 0, 98, 143, 144, - 0, 0, 0, 0, 157, 0, 0, 145, 0, 146, - 0, 0, 0, 0, 225, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 147, 148, 149, 0, 972, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 150, - 0, 212, 210, 67, 68, 155, 69, 0, 0, 0, - 0, 126, 0, 973, 127, 0, 0, 157, 128, 129, + 0, 0, 147, 148, 149, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 157, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 462, + 0, 0, 0, 700, 0, 0, 0, 150, 0, 290, + 291, 292, 0, 0, 213, 0, 0, 0, 213, 213, + 213, 213, 213, 0, 213, 213, 213, 213, 0, 213, + 213, 0, 0, 213, 213, 213, 213, 213, 0, 0, + 213, 213, 210, 0, 0, 0, 0, 0, 0, 213, + 0, 213, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 155, 152, 153, 154, 213, 213, 213, 157, + 213, 0, 213, 213, 213, 213, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 213, 0, 0, 0, 0, 0, 0, 0, 213, + 213, 213, 213, 0, 0, 213, 0, 0, 0, 213, + 213, 213, 0, 0, 0, 0, 0, 210, 0, 0, + 0, 0, 0, 67, 68, 0, 69, 0, 0, 0, + 0, 126, 0, 0, 127, 0, 0, 157, 128, 129, 130, 131, 132, 0, 133, 134, 135, 136, 0, 137, 138, 0, 0, 139, 140, 141, 142, 0, 0, 98, 143, 144, 0, 0, 0, 0, 0, 0, 0, 145, - 0, 146, 0, 0, 0, 152, 153, 154, 0, 0, - 0, 0, 0, 0, 212, 0, 147, 148, 149, 0, - 0, 0, 0, 0, 0, 210, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 157, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 150, 151, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 225, 0, 0, 0, 225, 225, 225, 225, - 225, 0, 225, 225, 225, 225, 0, 225, 225, 0, - 0, 225, 225, 225, 225, 0, 0, 0, 225, 225, - 0, 0, 0, 0, 210, 0, 0, 225, 0, 225, - 0, 0, 0, 0, 0, 0, 0, 152, 153, 154, - 0, 0, 0, 0, 225, 225, 225, 0, 0, 317, - 0, 67, 68, 0, 69, 0, 0, 562, 0, 126, - 0, 0, 127, 0, 155, 0, 128, 129, 130, 131, - 132, 0, 133, 134, 135, 136, 0, 137, 138, 225, - 0, 139, 140, 141, 142, 0, 0, 98, 143, 144, - 0, 0, 0, 0, 0, 0, 0, 145, 0, 146, - 0, 0, 0, 0, 0, 0, 0, 317, 159, 0, + 0, 146, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 155, 0, 0, 0, 147, 148, 149, 0, + 972, 0, 0, 0, 0, 210, 0, 0, 0, 0, + 0, 67, 68, 0, 69, 0, 0, 0, 0, 126, + 0, 0, 127, 213, 0, 0, 128, 129, 130, 131, + 132, 150, 133, 134, 135, 136, 0, 137, 138, 0, + 0, 139, 140, 141, 142, 973, 0, 98, 143, 144, + 0, 0, 0, 0, 0, 0, 0, 145, 157, 146, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 147, 148, 149, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 213, 152, 153, 154, + 0, 0, 0, 0, 0, 0, 67, 68, 0, 69, + 0, 0, 0, 0, 126, 0, 0, 127, 0, 150, + 151, 128, 129, 130, 131, 132, 210, 133, 134, 135, + 136, 0, 137, 138, 0, 0, 139, 140, 141, 142, + 0, 0, 98, 143, 144, 0, 0, 0, 0, 0, + 0, 0, 145, 0, 146, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 157, 0, 147, + 148, 149, 0, 0, 0, 152, 153, 154, 0, 0, 0, 0, 0, 0, 67, 68, 0, 69, 0, 0, 0, 0, 126, 0, 0, 127, 0, 0, 0, 128, - 129, 130, 131, 132, 0, 133, 134, 135, 136, 569, - 137, 138, 0, 0, 139, 140, 141, 142, 0, 316, - 98, 143, 144, 0, 0, 0, 155, 0, 0, 0, - 692, 0, 146, 0, 0, 0, 0, 317, 316, 316, + 129, 130, 131, 132, 150, 133, 134, 135, 136, 0, + 137, 138, 0, 0, 139, 140, 141, 142, 0, 0, + 98, 143, 144, 0, 0, 210, 155, 0, 0, 0, + 145, 233, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 147, 148, 149, - 0, 0, 0, 67, 68, 0, 69, 0, 0, 0, - 0, 126, 0, 0, 127, 152, 153, 154, 128, 129, - 130, 131, 132, 0, 133, 134, 135, 136, 0, 137, - 138, 0, 150, 139, 140, 141, 142, 0, 0, 98, - 143, 144, 0, 0, 0, 317, 0, 0, 0, 145, - 0, 146, 316, 0, 316, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 147, 148, 149, 0, - 0, 0, 0, 0, 225, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 152, 153, - 154, 0, 0, 0, 0, 0, 0, 317, 0, 0, - 0, 752, 317, 317, 317, 317, 0, 317, 317, 317, - 317, 0, 317, 317, 0, 0, 317, 317, 317, 317, - 0, 0, 236, 317, 317, 0, 0, 0, 579, 0, - 0, 0, 317, 0, 317, 0, 0, 0, 0, 0, - 236, 0, 0, 0, 155, 0, 0, 0, 0, 317, - 317, 317, 0, 0, 0, 0, 159, 152, 153, 154, - 159, 159, 159, 159, 159, 0, 159, 159, 159, 159, - 0, 159, 159, 0, 0, 159, 159, 159, 159, 0, - 0, 0, 159, 159, 317, 0, 0, 0, 0, 316, - 0, 159, 316, 159, 0, 0, 0, 0, 0, 0, - 0, 0, 316, 0, 236, 0, 236, 0, 159, 159, - 159, 0, 0, 0, 0, 0, 0, 155, 0, 0, - 0, 235, 0, 0, 0, 317, 0, 0, 0, 0, - 317, 317, 317, 317, 0, 317, 317, 317, 317, 235, - 317, 317, 0, 159, 317, 317, 317, 317, 0, 0, - 0, 317, 317, 0, 0, 0, 0, 0, 0, 0, - 317, 0, 317, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 317, 317, 317, - 0, 0, 0, 0, 0, 0, 155, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 235, 0, 235, 0, 0, 0, 0, - 0, 0, 317, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 316, 316, 316, 316, 316, - 316, 316, 316, 316, 316, 316, 316, 316, 0, 0, - 0, 236, 316, 0, 236, 0, 316, 316, 316, 316, - 316, 316, 0, 0, 236, 579, 0, 0, 0, 0, - 316, 316, 0, 0, 0, 0, 0, 0, 0, 317, - 0, 0, 0, 0, 0, 0, 0, 316, 316, 316, - 316, 0, 0, 0, 0, 0, 0, 0, 316, 0, - 0, 0, 0, 0, 0, 0, 0, 579, 0, 0, - 0, 0, 316, 0, 0, 0, 0, 0, 0, 540, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 159, 0, - 0, 0, 0, 0, 0, 0, 0, 316, 316, 316, - 235, 0, 0, 235, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 235, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 316, 316, 316, 316, 316, 316, - 316, 0, 236, 540, 0, 540, 0, 236, 236, 236, - 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, - 0, 0, 34, 0, 236, 0, 0, 317, 236, 236, - 236, 236, 236, 236, 0, 0, 0, 0, 0, 0, - 0, 0, 236, 236, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 236, - 236, 236, 236, 0, 0, 0, 0, 0, 0, 0, - 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 236, 0, 336, 0, 337, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 235, 0, 0, 0, 0, 235, 235, 235, 235, - 235, 235, 235, 235, 235, 235, 235, 235, 235, 236, - 236, 34, 0, 235, 0, 0, 0, 235, 235, 235, - 235, 235, 235, 0, 0, 0, 0, 0, 0, 0, - 540, 235, 235, 540, 0, 0, 236, 236, 236, 236, - 236, 236, 236, 540, 579, 0, 0, 0, 235, 235, - 235, 235, 0, 0, 0, 0, 0, 0, 0, 235, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 235, 0, 336, 0, 785, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 235, 235, - 0, 0, 0, 67, 0, 0, 69, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 235, 235, 235, 235, 235, - 235, 235, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 34, 0, 0, 0, 540, 540, 540, 540, - 540, 540, 540, 540, 540, 540, 540, 540, 540, 0, - 0, 0, 0, 540, 0, 0, 0, 540, 540, 540, - 540, 540, 540, 0, 0, 0, 0, 0, 0, 0, - 0, 540, 540, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 67, 0, 0, 69, 0, 0, 540, 540, - 540, 540, 0, 0, 0, 2, 336, 0, 987, 540, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 540, 0, 0, 0, 0, 0, 313, - 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, - 324, 325, 0, 0, 0, 0, 7, 0, 0, 0, - 326, 327, 328, 329, 330, 331, 0, 0, 540, 540, - 0, 0, 0, 0, 8, 9, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 10, 11, 12, 13, 540, 540, 540, 540, 540, - 540, 540, 332, 545, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 333, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 313, 314, - 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, - 325, 334, 335, 67, 0, 7, 69, 0, 0, 326, - 327, 328, 329, 330, 331, 0, 2, 545, 0, 545, - 0, 0, 0, 8, 9, 0, 0, 0, 27, 28, - 29, 30, 31, 32, 33, 0, 0, 0, 0, 0, - 10, 11, 12, 13, 0, 0, 0, 0, 0, 0, - 0, 332, 371, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 333, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 334, 335, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 371, 0, 371, 0, - 0, 0, 0, 0, 0, 0, 0, 27, 28, 29, - 30, 31, 32, 33, 0, 363, 0, 0, 0, 313, - 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, - 324, 325, 0, 0, 545, 0, 7, 545, 0, 0, - 326, 327, 328, 329, 330, 331, 0, 545, 0, 0, - 0, 0, 0, 0, 8, 9, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 10, 11, 12, 13, 0, 0, 0, 0, 363, - 0, 363, 332, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 333, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 334, 335, 371, 0, 0, 371, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 371, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, - 29, 30, 31, 32, 33, 0, 356, 0, 0, 0, - 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, - 545, 545, 545, 0, 0, 0, 0, 545, 0, 0, - 0, 545, 545, 545, 545, 545, 545, 0, 0, 0, - 0, 0, 0, 0, 0, 545, 545, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 363, 0, 0, 363, - 0, 0, 545, 545, 545, 545, 0, 0, 0, 363, - 356, 0, 356, 545, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 545, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 210, 0, 0, 0, 371, - 371, 371, 371, 371, 371, 371, 371, 371, 371, 371, - 371, 371, 545, 545, 0, 0, 371, 0, 0, 0, - 371, 371, 371, 371, 371, 371, 0, 0, 0, 0, - 0, 0, 0, 0, 371, 371, 0, 0, 0, 545, - 545, 545, 545, 545, 545, 545, 0, 0, 0, 0, - 0, 371, 371, 371, 371, 0, 0, 0, 0, 210, - 0, 210, 371, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 371, 0, 0, 0, - 0, 0, 363, 363, 363, 363, 363, 363, 363, 363, - 363, 363, 363, 363, 363, 0, 0, 356, 0, 363, - 356, 0, 0, 363, 363, 363, 363, 363, 363, 0, - 356, 371, 371, 0, 0, 0, 0, 363, 363, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 363, 363, 363, 363, 371, 371, - 371, 371, 371, 371, 371, 363, 539, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 363, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 363, 363, 210, 0, 0, 210, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, - 539, 0, 539, 0, 0, 0, 0, 0, 0, 0, - 0, 363, 363, 363, 363, 363, 363, 363, 0, 0, - 0, 0, 0, 356, 356, 356, 356, 356, 356, 356, - 356, 356, 356, 356, 356, 356, 561, 0, 0, 0, - 356, 0, 0, 0, 356, 356, 356, 356, 356, 356, - 0, 0, 0, 0, 0, 0, 0, 0, 356, 356, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 356, 356, 356, 356, 0, - 0, 0, 0, 0, 0, 0, 356, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 356, 0, 0, 34, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, - 210, 210, 210, 210, 210, 356, 356, 539, 0, 210, - 539, 0, 0, 210, 210, 210, 210, 210, 210, 0, - 539, 0, 0, 0, 0, 0, 0, 210, 210, 0, - 0, 0, 356, 356, 356, 356, 356, 356, 356, 0, - 0, 0, 0, 34, 210, 210, 210, 210, 0, 0, - 0, 0, 0, 0, 2, 210, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 210, 210, 0, 0, 0, 1215, - 0, 0, 0, 0, 187, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 210, 210, 210, 210, 210, 210, 210, 0, 0, - 0, 0, 0, 539, 539, 539, 539, 539, 539, 539, - 539, 539, 539, 539, 539, 539, 0, 0, 0, 0, - 539, 0, 0, 0, 539, 539, 539, 539, 539, 539, - 0, 0, 0, 0, 0, 0, 0, 0, 539, 539, - 187, 0, 0, 0, 0, 0, 0, 2, 0, 0, - 3, 4, 5, 6, 7, 539, 539, 539, 539, 0, - 0, 0, 0, 0, 0, 0, 539, 0, 0, 0, - 0, 0, 8, 9, 0, 0, 0, 0, 0, 0, - 539, 0, 0, 0, 0, 0, 0, 0, 0, 10, - 11, 12, 13, 0, 0, 0, 14, 15, 0, 0, - 0, 0, 16, 0, 0, 17, 0, 0, 0, 0, - 0, 0, 18, 19, 0, 539, 539, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 539, 539, 539, 539, 539, 539, 539, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 538, 20, 21, 0, - 22, 23, 24, 0, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 3, 4, 5, 6, 7, 187, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 10, 11, 12, 13, 0, 0, 0, 14, - 15, 0, 0, 0, 0, 16, 0, 187, 17, 0, - 0, 0, 0, 0, 0, 18, 19, 0, 0, 0, - 0, 0, 892, 539, 0, 5, 6, 7, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 540, 0, 0, - 0, 0, 541, 0, 0, 8, 9, 0, 0, 0, + 152, 153, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 10, 11, 12, 13, 0, 542, 543, 0, - 20, 21, 0, 22, 23, 24, 0, 25, 26, 27, - 28, 29, 30, 31, 32, 33, 0, 544, 0, 0, - 0, 0, 0, 0, 187, 0, 187, 187, 187, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 187, 0, - 0, 0, 0, 187, 0, 0, 187, 187, 0, 0, - 0, 0, 545, 546, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 187, 187, 187, 187, 0, 187, 187, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, - 28, 29, 30, 31, 32, 33, 851, 0, 187, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 852, 0, 0, 0, 0, 853, 854, 0, 855, 856, - 857, 858, 859, 860, 0, 861, 862, 0, 863, 864, - 865, 866, 867, 187, 187, 0, 0, 0, 0, 0, + 0, 0, 569, 0, 0, 0, 0, 0, 0, 233, + 0, 0, 0, 0, 0, 67, 68, 0, 69, 0, + 0, 0, 0, 126, 155, 0, 127, 0, 0, 226, + 128, 129, 130, 131, 132, 0, 133, 134, 135, 136, + 0, 137, 138, 0, 0, 139, 140, 141, 142, 0, + 0, 98, 143, 144, 0, 0, 0, 0, 152, 153, + 154, 692, 0, 146, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 147, 148, + 149, 0, 0, 0, 318, 0, 0, 226, 0, 0, + 0, 0, 563, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 155, + 0, 0, 0, 150, 67, 68, 0, 69, 0, 0, + 0, 0, 126, 0, 0, 127, 0, 0, 0, 128, + 129, 130, 131, 132, 0, 133, 134, 135, 136, 0, + 137, 138, 318, 0, 139, 140, 141, 142, 0, 0, + 98, 143, 144, 0, 0, 0, 0, 226, 0, 0, + 145, 0, 146, 0, 0, 0, 0, 0, 0, 152, + 153, 154, 0, 0, 0, 0, 0, 147, 148, 149, + 0, 0, 0, 0, 0, 0, 0, 155, 0, 233, + 0, 0, 0, 233, 233, 233, 233, 233, 0, 233, + 233, 233, 233, 0, 233, 233, 0, 0, 233, 233, + 233, 233, 752, 0, 0, 233, 233, 0, 0, 0, + 159, 0, 0, 0, 233, 0, 233, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 233, 233, 233, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 226, 152, 153, + 154, 226, 226, 226, 226, 226, 233, 226, 226, 226, + 226, 317, 226, 226, 0, 0, 226, 226, 226, 226, + 0, 0, 0, 226, 226, 0, 0, 0, 155, 0, + 317, 317, 226, 0, 226, 318, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, + 226, 226, 318, 0, 0, 0, 0, 318, 318, 318, + 318, 0, 318, 318, 318, 318, 0, 318, 318, 0, + 0, 318, 318, 318, 318, 0, 0, 0, 318, 318, + 0, 0, 0, 0, 226, 0, 0, 318, 0, 318, + 0, 0, 0, 318, 317, 0, 317, 0, 0, 0, + 0, 0, 0, 0, 318, 318, 318, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 226, 0, 155, 0, 226, + 226, 226, 226, 226, 0, 226, 226, 226, 226, 318, + 226, 226, 0, 0, 226, 226, 226, 226, 0, 0, + 0, 226, 226, 0, 0, 0, 0, 0, 0, 0, + 226, 0, 226, 237, 0, 0, 0, 0, 0, 580, + 0, 0, 0, 0, 0, 0, 0, 226, 226, 226, + 0, 237, 0, 0, 0, 0, 0, 0, 159, 0, + 0, 233, 159, 159, 159, 159, 159, 0, 159, 159, + 159, 159, 0, 159, 159, 0, 0, 159, 159, 159, + 159, 0, 226, 0, 159, 159, 0, 0, 0, 0, + 0, 0, 0, 159, 0, 159, 0, 0, 0, 0, + 0, 317, 0, 0, 317, 0, 0, 0, 0, 0, + 159, 159, 159, 0, 317, 237, 236, 237, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 236, 0, 0, 0, 0, 226, + 0, 0, 0, 318, 0, 159, 0, 0, 318, 318, + 318, 318, 0, 318, 318, 318, 318, 0, 318, 318, + 0, 0, 318, 318, 318, 318, 0, 0, 0, 318, + 318, 0, 0, 0, 0, 0, 0, 0, 318, 0, + 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 318, 318, 318, 318, 236, 0, + 236, 0, 0, 0, 0, 580, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 541, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 318, 0, 0, 0, 0, 0, 0, 317, 317, 317, + 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, + 0, 0, 237, 0, 317, 237, 0, 0, 317, 317, + 317, 317, 317, 317, 0, 237, 580, 226, 0, 0, + 0, 0, 317, 317, 0, 0, 0, 0, 0, 0, + 0, 541, 0, 541, 0, 0, 0, 0, 0, 317, + 317, 317, 317, 0, 0, 0, 0, 0, 0, 0, + 317, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 317, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 159, 0, 0, 0, 0, 236, 0, 0, 236, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 236, 317, + 317, 317, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 317, 317, 317, 317, + 317, 317, 317, 237, 34, 0, 0, 0, 237, 237, + 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, + 237, 0, 0, 0, 0, 237, 0, 0, 0, 237, + 237, 237, 237, 237, 237, 318, 0, 0, 541, 0, + 0, 541, 0, 237, 237, 0, 0, 0, 0, 0, + 0, 541, 580, 0, 0, 0, 0, 0, 0, 0, + 237, 237, 237, 237, 0, 0, 0, 0, 336, 0, + 337, 237, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 237, 236, 0, 0, 0, + 0, 236, 236, 236, 236, 236, 236, 236, 236, 236, + 236, 236, 236, 236, 0, 0, 0, 0, 236, 0, + 0, 0, 236, 236, 236, 236, 236, 236, 0, 0, + 237, 237, 0, 0, 0, 0, 236, 236, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 236, 236, 236, 236, 237, 237, 237, + 237, 237, 237, 237, 236, 34, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 236, 0, + 0, 0, 0, 0, 541, 541, 541, 541, 541, 541, + 541, 541, 541, 541, 541, 541, 541, 0, 0, 0, + 0, 541, 0, 0, 0, 541, 541, 541, 541, 541, + 541, 0, 0, 236, 236, 67, 0, 0, 69, 541, + 541, 0, 0, 0, 0, 0, 0, 0, 2, 336, + 0, 785, 0, 0, 0, 0, 541, 541, 541, 541, + 236, 236, 236, 236, 236, 236, 236, 541, 34, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 541, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 541, 541, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 336, 0, 987, 0, 0, 0, 0, 0, + 0, 0, 0, 541, 541, 541, 541, 541, 541, 541, + 0, 546, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 313, 314, 315, 316, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 0, 0, 67, 0, 7, 69, + 0, 0, 326, 327, 328, 329, 330, 331, 0, 2, + 0, 0, 0, 0, 0, 0, 8, 9, 0, 0, + 0, 0, 0, 0, 0, 546, 0, 546, 0, 0, + 0, 0, 0, 10, 11, 12, 13, 0, 0, 0, + 0, 0, 0, 0, 332, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, + 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2, 334, 335, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 372, 0, 0, 0, 0, 0, 0, 0, + 27, 28, 29, 30, 31, 32, 33, 0, 0, 0, + 0, 0, 313, 314, 315, 316, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 0, 0, 0, 0, 7, + 0, 0, 0, 326, 327, 328, 329, 330, 331, 0, + 0, 0, 546, 0, 0, 546, 0, 8, 9, 0, + 0, 0, 0, 0, 0, 546, 372, 0, 372, 0, + 0, 0, 0, 0, 10, 11, 12, 13, 0, 0, + 0, 0, 0, 0, 0, 332, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, + 0, 0, 0, 0, 0, 313, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 0, 0, + 0, 0, 7, 0, 0, 0, 326, 327, 328, 329, + 330, 331, 0, 0, 334, 335, 0, 0, 0, 0, + 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 10, 11, 12, + 13, 27, 28, 29, 30, 31, 32, 33, 332, 364, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 333, 0, 0, 0, 0, 0, 546, 546, + 546, 546, 546, 546, 546, 546, 546, 546, 546, 546, + 546, 0, 0, 372, 0, 546, 372, 0, 0, 546, + 546, 546, 546, 546, 546, 0, 372, 334, 335, 0, + 0, 0, 0, 546, 546, 0, 0, 0, 0, 0, + 0, 0, 0, 364, 0, 364, 0, 0, 0, 0, + 546, 546, 546, 546, 27, 28, 29, 30, 31, 32, + 33, 546, 357, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 546, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 546, 546, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 357, 0, 357, 0, + 0, 0, 0, 0, 0, 0, 0, 546, 546, 546, + 546, 546, 546, 546, 0, 211, 0, 0, 0, 372, + 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, + 372, 372, 0, 0, 0, 0, 372, 0, 0, 0, + 372, 372, 372, 372, 372, 372, 0, 0, 0, 0, + 364, 0, 0, 364, 372, 372, 0, 0, 0, 0, + 0, 0, 0, 364, 0, 0, 0, 0, 0, 0, + 0, 372, 372, 372, 372, 0, 0, 0, 0, 211, + 0, 211, 372, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 372, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 372, 372, 357, 0, 0, 357, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 357, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 372, 372, + 372, 372, 372, 372, 372, 0, 540, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 364, 364, 364, 364, + 364, 364, 364, 364, 364, 364, 364, 364, 364, 0, + 0, 0, 0, 364, 0, 0, 0, 364, 364, 364, + 364, 364, 364, 0, 0, 0, 211, 34, 0, 211, + 0, 364, 364, 0, 0, 0, 0, 0, 0, 211, + 540, 0, 540, 0, 0, 0, 0, 0, 364, 364, + 364, 364, 0, 0, 0, 0, 0, 0, 0, 364, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 364, 0, 0, 0, 0, 0, 357, + 357, 357, 357, 357, 357, 357, 357, 357, 357, 357, + 357, 357, 0, 561, 0, 0, 357, 0, 0, 0, + 357, 357, 357, 357, 357, 357, 0, 0, 364, 364, + 0, 0, 0, 0, 357, 357, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 357, 357, 357, 357, 364, 364, 364, 364, 364, + 364, 364, 357, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 357, 0, 0, 0, + 34, 0, 211, 211, 211, 211, 211, 211, 211, 211, + 211, 211, 211, 211, 211, 0, 0, 540, 0, 211, + 540, 0, 0, 211, 211, 211, 211, 211, 211, 0, + 540, 357, 357, 0, 0, 0, 0, 211, 211, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 211, 211, 211, 211, 357, 357, + 357, 357, 357, 357, 357, 211, 0, 0, 0, 34, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 211, + 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 211, 211, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1215, 0, 0, 0, 0, + 0, 211, 211, 211, 211, 211, 211, 211, 0, 0, + 0, 0, 0, 540, 540, 540, 540, 540, 540, 540, + 540, 540, 540, 540, 540, 540, 0, 0, 0, 0, + 540, 188, 0, 0, 540, 540, 540, 540, 540, 540, + 0, 0, 0, 0, 0, 0, 0, 0, 540, 540, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 540, 540, 540, 540, 0, + 0, 0, 0, 0, 2, 0, 540, 3, 4, 5, + 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, + 540, 0, 0, 0, 0, 0, 0, 188, 0, 8, + 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 10, 11, 12, 13, + 0, 0, 0, 14, 15, 540, 540, 0, 0, 16, + 0, 0, 17, 0, 0, 0, 0, 0, 0, 18, + 19, 0, 0, 2, 0, 0, 0, 0, 0, 0, + 0, 0, 540, 540, 540, 540, 540, 540, 540, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 538, 0, 20, 21, 0, 22, 23, 24, + 0, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 3, 4, 5, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 187, 187, 187, 187, 187, 187, 187, 0, 0, 851, - 0, 0, 0, 0, 868, 0, 869, 0, 0, 0, - 0, 870, 0, 852, 0, 0, 0, 0, 853, 854, - 0, 855, 856, 857, 858, 859, 860, 871, 861, 862, - 0, 863, 864, 865, 866, 867, 0, 0, 0, 0, + 0, 0, 8, 9, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 188, 0, 0, 0, 10, + 11, 12, 13, 0, 0, 0, 14, 15, 0, 0, + 0, 0, 16, 0, 0, 17, 0, 0, 0, 0, + 0, 0, 18, 19, 0, 0, 0, 0, 0, 539, + 892, 5, 6, 7, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 540, 188, 0, 0, 0, 541, 0, + 0, 8, 9, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, + 12, 13, 0, 542, 543, 0, 0, 20, 21, 0, + 22, 23, 24, 0, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 544, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 872, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 868, 0, 869, - 0, 0, 0, 0, 870, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 545, 546, + 0, 188, 0, 188, 188, 188, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 188, 0, 0, 0, 0, + 188, 0, 0, 188, 188, 27, 28, 29, 30, 31, + 32, 33, 0, 0, 851, 0, 0, 0, 0, 0, + 188, 188, 188, 188, 0, 188, 188, 0, 852, 0, + 0, 0, 0, 853, 854, 0, 855, 856, 857, 858, + 859, 860, 851, 861, 862, 188, 863, 864, 865, 866, + 867, 0, 0, 0, 0, 0, 852, 0, 0, 0, + 0, 853, 854, 0, 855, 856, 857, 858, 859, 860, + 0, 861, 862, 0, 863, 864, 865, 866, 867, 0, + 188, 188, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 868, 0, 869, 0, 0, 0, 0, 870, + 0, 0, 0, 0, 0, 0, 0, 188, 188, 188, + 188, 188, 188, 188, 0, 871, 0, 0, 0, 0, + 868, 0, 869, 0, 0, 0, 0, 870, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 871, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 871, 0, 0, 0, 0, 872, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 872, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 872, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 873, 0, 874, 875, 876, 877, 878, 879, 880, 881, - 882, 883, 884, 885, 886, 887, 888, 889, 890, 0, - 0, 0, 891, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 873, 0, 874, 875, 876, 877, 878, - 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, - 889, 890, 0, 0, 0, 891, + 0, 0, 0, 0, 0, 0, 0, 0, 873, 0, + 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, + 884, 885, 886, 887, 888, 889, 890, 0, 0, 0, + 891, 0, 0, 0, 0, 0, 873, 0, 874, 875, + 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, + 886, 887, 888, 889, 890, 0, 0, 0, 891, }; static const YYINT yycheck[] = { 4, - 24, 24, 24, 102, 103, 167, 1, 779, 311, 428, - 704, 430, 20, 21, 19, 311, 93, 1, 311, 36, - 37, 181, 27, 28, 29, 30, 22, 23, 899, 1, - 996, 690, 38, 1, 91, 64, 482, 1018, 44, 1188, - 38, 1, 833, 60, 42, 1, 38, 46, 264, 41, - 41, 40, 44, 24, 61, 43, 365, 65, 76, 46, - 46, 44, 60, 41, 72, 123, 59, 41, 167, 514, - 515, 516, 125, 767, 41, 123, 123, 46, 43, 43, - 45, 42, 105, 42, 41, 91, 13, 41, 507, 508, - 1266, 190, 169, 91, 1150, 92, 44, 24, 61, 91, - 125, 40, 1542, 111, 112, 128, 319, 41, 113, 470, - 115, 116, 117, 38, 40, 46, 215, 42, 193, 194, - 195, 196, 197, 145, 364, 43, 148, 45, 151, 93, - 40, 263, 125, 104, 41, 60, 262, 41, 40, 911, - 912, 44, 41, 1529, 41, 40, 168, 40, 40, 157, - 91, 156, 157, 42, 40, 47, 233, 528, 40, 42, - 46, 40, 288, 181, 40, 91, 91, 380, 60, 40, - 199, 46, 41, 1559, 40, 42, 61, 104, 59, 41, - 40, 91, 187, 345, 123, 208, 203, 59, 40, 91, - 93, 188, 46, 41, 42, 61, 91, 41, 970, 264, - 205, 206, 91, 38, 41, 210, 366, 42, 40, 91, - 93, 41, 91, 221, 222, 91, 342, 44, 93, 260, - 261, 1531, 263, 1399, 470, 60, 1666, 232, 40, 156, - 123, 91, 1004, 542, 239, 232, 264, 265, 260, 91, - 167, 686, 267, 91, 125, 38, 44, 40, 44, 42, - 349, 1561, 123, 125, 470, 262, 91, 315, 316, 91, - 58, 1317, 267, 311, 41, 42, 93, 60, 40, 316, - 267, 348, 295, 264, 265, 91, 91, 282, 286, 302, - 263, 286, 304, 210, 289, 263, 294, 732, 293, 1160, - 264, 985, 266, 298, 299, 300, 301, 93, 91, 262, - 264, 260, 261, 264, 263, 123, 359, 264, 365, 549, - 264, 364, 286, 287, 91, 263, 311, 312, 326, 348, - 328, 299, 340, 346, 332, 288, 344, 311, 312, 294, - 264, 265, 340, 341, 264, 352, 344, 296, 335, 311, - 312, 306, 307, 311, 312, 91, 342, 343, 366, 318, - 347, 311, 312, 320, 321, 311, 312, 264, 366, 324, - 264, 265, 360, 361, 362, 264, 359, 264, 813, 262, - 1064, 364, 367, 368, 369, 370, 294, 260, 261, 350, - 263, 264, 274, 367, 368, 369, 370, 318, 306, 307, - 1539, 262, 275, 260, 261, 264, 263, 41, 395, 367, - 44, 273, 264, 391, 391, 391, 324, 59, 262, 374, - 40, 419, 420, 296, 422, 1396, 424, 435, 345, 346, - 264, 462, 421, 350, 1573, 260, 261, 264, 263, 296, - 426, 439, 440, 59, 264, 360, 361, 362, 93, 599, - 505, 506, 507, 43, 260, 261, 469, 263, 260, 261, - 610, 263, 268, 898, 262, 40, 374, 33, 463, 123, - 465, 91, 59, 452, 262, 263, 391, 339, 914, 40, - 569, 40, 480, 125, 471, 480, 1267, 123, 359, 1532, - 296, 40, 480, 364, 46, 542, 40, 492, 260, 261, - 498, 263, 1151, 93, 46, 503, 504, 505, 267, 507, - 47, 509, 510, 511, 41, 260, 261, 40, 263, 1562, - 506, 123, 508, 472, 260, 261, 512, 263, 46, 525, - 91, 40, 91, 520, 521, 360, 361, 362, 125, 40, - 535, 93, 91, 525, 542, 543, 482, 91, 535, 123, - 617, 93, 535, 536, 537, 538, 539, 540, 541, 546, - 477, 1323, 1324, 480, 44, 40, 502, 565, 91, 40, - 568, 566, 567, 279, 280, 93, 1547, 360, 361, 362, - 593, 40, 91, 289, 40, 592, 123, 595, 543, 451, - 91, 599, 587, 660, 40, 662, 315, 595, 40, 472, - 587, 463, 610, 465, 466, 755, 468, 469, 414, 415, - 416, 40, 610, 93, 601, 472, 91, 624, 625, 264, - 91, 1577, 91, 630, 260, 632, 260, 263, 264, 263, - 275, 273, 91, 43, 59, 91, 38, 635, 46, 266, - 46, 636, 41, 91, 43, 91, 263, 642, 661, 91, - 648, 61, 671, 260, 261, 61, 263, 746, 91, 286, - 287, 659, 91, 752, 535, 536, 537, 538, 539, 540, - 541, 46, 0, 535, 536, 537, 538, 539, 540, 541, - 692, 1524, 299, 123, 682, 60, 273, 1530, 701, 264, - 265, 266, 44, 986, 260, 261, 1557, 263, 264, 123, - 986, 708, 264, 986, 44, 772, 46, 1391, 123, 704, - 62, 286, 287, 275, 709, 44, 711, 1560, 716, 717, - 718, 123, 1484, 260, 261, 470, 263, 260, 261, 742, - 263, 59, 706, 719, 44, 1497, 40, 264, 265, 266, - 738, 739, 40, 359, 91, 41, 42, 755, 364, 44, - 745, 46, 62, 766, 749, 750, 751, 744, 745, 286, - 287, 759, 61, 761, 91, 763, 40, 1176, 781, 1178, - 768, 306, 767, 838, 91, 840, 841, 842, 843, 844, - 788, 41, 42, 769, 41, 427, 43, 429, 430, 797, - 788, 260, 261, 260, 263, 91, 263, 125, 283, 284, - 798, 799, 1486, 38, 320, 321, 448, 449, 450, 451, - 393, 394, 260, 261, 812, 263, 41, 264, 1580, 266, - 268, 816, 44, 818, 46, 38, 47, 260, 261, 42, - 263, 91, 899, 318, 829, 391, 41, 835, 43, 286, - 287, 908, 260, 59, 831, 263, 264, 60, 296, 847, - 391, 849, 277, 278, 279, 462, 281, 282, 283, 284, - 1622, 286, 287, 288, 451, 290, 291, 292, 293, 607, - 608, 609, 297, 298, 461, 267, 278, 464, 91, 281, - 282, 283, 284, 391, 286, 287, 288, 899, 896, 391, - 1005, 1653, 1007, 535, 536, 537, 538, 539, 540, 541, - 301, 899, 303, 304, 305, 41, 1668, 260, 261, 125, - 263, 909, 41, 260, 261, 44, 263, 904, 41, 535, - 536, 537, 538, 539, 540, 541, 330, 331, 332, 936, - 41, 939, 316, 260, 261, 262, 263, 264, 42, 1623, - 365, 268, 40, 260, 261, 273, 263, 40, 535, 536, - 537, 538, 539, 540, 541, 41, 283, 971, 44, 93, - 934, 61, 366, 367, 368, 978, 414, 415, 416, 296, - 40, 984, 457, 458, 43, 460, 1043, 330, 331, 263, - 975, 1665, 980, 41, 982, 260, 261, 93, 263, 41, - 985, 43, 44, 320, 321, 393, 394, 1005, 475, 1007, - 280, 986, 40, 988, 989, 990, 1001, 1005, 995, 1007, - 997, 41, 986, 40, 988, 989, 990, 93, 1085, 38, - 43, 44, 1035, 42, 986, 40, 988, 989, 986, 260, - 261, 1029, 263, 264, 1032, 40, 986, 264, 988, 989, - 986, 60, 40, 278, 1039, 40, 281, 282, 283, 284, - 1037, 286, 287, 288, 281, 282, 283, 273, 43, 44, - 40, 91, 41, 42, 1216, 1217, 1218, 1219, 59, 1064, - 40, 1138, 91, 40, 1226, 1227, 1228, 281, 282, 283, - 284, 409, 410, 411, 412, 413, 38, 414, 415, 416, - 42, 886, 887, 40, 46, 47, 264, 265, 266, 374, - 375, 40, 40, 431, 432, 93, 260, 261, 60, 263, - 535, 536, 537, 538, 539, 540, 541, 40, 286, 287, - 448, 449, 450, 451, 330, 331, 332, 455, 456, 281, - 282, 283, 284, 461, 125, 1133, 464, 40, 310, 91, - 312, 313, 314, 471, 472, 91, 58, 360, 361, 362, - 280, 281, 282, 283, 284, 40, 125, 40, 1567, 1568, - 366, 367, 368, 1161, 1162, 1163, 260, 261, 40, 263, - 1168, 1169, 1170, 1171, 1172, 1173, 91, 1175, 1176, 1177, + 24, 24, 24, 102, 103, 167, 1, 311, 311, 428, + 311, 430, 20, 21, 19, 899, 93, 1, 704, 36, + 37, 779, 27, 28, 29, 30, 22, 23, 996, 1, + 690, 91, 181, 1, 38, 64, 482, 1018, 1188, 46, + 44, 1, 833, 60, 46, 1, 38, 40, 264, 41, + 24, 41, 44, 125, 43, 46, 91, 65, 76, 264, + 46, 123, 123, 41, 72, 59, 123, 364, 167, 1266, + 40, 38, 319, 46, 93, 42, 42, 47, 43, 61, + 45, 767, 105, 44, 46, 40, 13, 91, 507, 508, + 60, 190, 169, 60, 44, 92, 47, 24, 1544, 91, + 1150, 470, 41, 111, 112, 128, 260, 261, 113, 263, + 115, 116, 117, 61, 40, 40, 215, 263, 193, 194, + 195, 196, 197, 145, 91, 40, 148, 125, 151, 262, + 104, 125, 40, 380, 41, 514, 515, 516, 365, 41, + 38, 40, 42, 40, 42, 41, 168, 42, 44, 157, + 42, 156, 157, 911, 912, 288, 233, 40, 91, 41, + 40, 46, 60, 181, 41, 91, 44, 41, 123, 44, + 199, 40, 123, 40, 40, 60, 91, 104, 59, 91, + 41, 44, 187, 345, 62, 208, 203, 59, 61, 43, + 41, 188, 91, 91, 91, 61, 91, 41, 123, 44, + 205, 206, 1399, 42, 41, 210, 41, 43, 91, 342, + 33, 91, 970, 221, 222, 123, 41, 366, 93, 41, + 374, 375, 91, 1669, 91, 260, 261, 232, 263, 156, + 93, 283, 284, 268, 239, 232, 1526, 44, 260, 93, + 167, 40, 1532, 1531, 125, 264, 1004, 46, 93, 311, + 349, 58, 549, 125, 93, 316, 275, 93, 315, 316, + 528, 296, 267, 41, 470, 470, 318, 1317, 123, 267, + 267, 348, 295, 1563, 1562, 91, 1160, 282, 286, 302, + 262, 286, 304, 210, 289, 263, 294, 359, 293, 505, + 506, 507, 364, 298, 299, 300, 301, 1494, 264, 985, + 262, 264, 263, 1533, 274, 365, 288, 686, 40, 260, + 261, 318, 263, 263, 262, 542, 311, 312, 326, 348, + 328, 299, 340, 346, 332, 264, 344, 311, 312, 294, + 320, 321, 340, 341, 1564, 352, 344, 262, 335, 311, + 312, 306, 307, 311, 312, 318, 342, 343, 366, 262, + 347, 311, 312, 732, 262, 311, 312, 264, 366, 324, + 260, 261, 264, 263, 260, 359, 267, 263, 260, 261, + 364, 263, 367, 368, 369, 370, 350, 123, 1064, 414, + 415, 416, 264, 367, 368, 369, 370, 264, 265, 391, + 264, 1541, 59, 360, 361, 362, 296, 40, 395, 367, + 391, 273, 391, 264, 296, 457, 458, 59, 460, 374, + 264, 419, 420, 264, 422, 1396, 424, 435, 345, 346, + 264, 260, 261, 350, 263, 264, 1576, 264, 265, 264, + 426, 439, 440, 40, 813, 421, 275, 260, 261, 264, + 263, 264, 264, 265, 260, 261, 469, 263, 1534, 40, + 599, 43, 268, 45, 40, 262, 263, 296, 463, 452, + 465, 610, 360, 361, 362, 41, 42, 339, 914, 40, + 569, 40, 480, 125, 471, 480, 1267, 123, 359, 1565, + 296, 40, 542, 364, 91, 123, 264, 492, 266, 263, + 498, 1151, 40, 391, 123, 503, 504, 505, 315, 507, + 91, 509, 510, 511, 40, 91, 41, 40, 286, 287, + 506, 123, 508, 480, 38, 91, 512, 91, 42, 898, + 91, 525, 91, 520, 521, 299, 264, 265, 260, 261, + 535, 263, 91, 525, 542, 543, 60, 40, 535, 46, + 617, 535, 536, 537, 538, 539, 540, 541, 46, 546, + 477, 482, 40, 480, 40, 91, 91, 565, 91, 40, + 568, 566, 567, 40, 46, 1323, 1324, 91, 1549, 41, + 593, 502, 472, 260, 261, 592, 263, 595, 543, 451, + 472, 599, 587, 660, 40, 662, 93, 595, 91, 123, + 587, 463, 610, 465, 466, 93, 468, 469, 414, 415, + 416, 40, 610, 91, 601, 91, 755, 624, 625, 123, + 91, 93, 1580, 630, 91, 632, 43, 260, 261, 38, + 263, 273, 260, 42, 59, 263, 264, 635, 40, 40, + 46, 636, 46, 472, 61, 91, 91, 642, 661, 264, + 648, 60, 671, 260, 261, 44, 263, 746, 91, 44, + 275, 659, 91, 752, 535, 536, 537, 538, 539, 540, + 541, 40, 0, 535, 536, 537, 538, 539, 540, 541, + 692, 44, 91, 46, 682, 46, 1560, 93, 701, 91, + 91, 260, 986, 986, 263, 986, 260, 261, 38, 263, + 61, 708, 359, 260, 261, 772, 263, 364, 93, 704, + 41, 42, 294, 40, 709, 1391, 711, 61, 716, 717, + 718, 44, 320, 321, 306, 307, 264, 265, 266, 742, + 40, 59, 706, 719, 306, 260, 261, 1485, 263, 62, + 738, 739, 324, 268, 41, 42, 47, 755, 286, 287, + 745, 1499, 91, 766, 749, 750, 751, 744, 745, 41, + 91, 759, 44, 761, 41, 763, 43, 1176, 781, 1178, + 768, 296, 767, 838, 299, 840, 841, 842, 843, 844, + 788, 306, 44, 769, 46, 427, 91, 429, 430, 797, + 788, 391, 374, 470, 91, 41, 42, 125, 41, 391, + 798, 799, 264, 265, 266, 391, 448, 449, 450, 451, + 41, 1487, 43, 44, 812, 260, 261, 391, 263, 260, + 261, 816, 263, 818, 286, 287, 41, 260, 261, 44, + 263, 41, 899, 43, 829, 1583, 41, 835, 330, 331, + 332, 908, 41, 59, 831, 91, 360, 361, 362, 847, + 266, 849, 277, 278, 279, 462, 281, 282, 283, 284, + 267, 286, 287, 288, 41, 290, 291, 292, 293, 316, + 286, 287, 297, 298, 366, 367, 368, 1625, 535, 536, + 537, 538, 539, 540, 541, 393, 394, 899, 896, 414, + 415, 416, 41, 535, 536, 537, 538, 539, 540, 541, + 44, 899, 46, 59, 41, 462, 43, 42, 1656, 125, + 38, 909, 260, 261, 38, 263, 40, 904, 42, 393, + 394, 260, 261, 1671, 263, 330, 331, 332, 1005, 936, + 1007, 939, 40, 374, 375, 93, 60, 40, 278, 61, + 365, 281, 282, 283, 284, 273, 286, 287, 288, 40, + 1626, 360, 361, 362, 59, 260, 261, 971, 263, 43, + 934, 366, 367, 368, 263, 978, 264, 91, 266, 125, + 41, 984, 260, 261, 93, 263, 1043, 279, 280, 475, + 975, 40, 980, 93, 982, 280, 295, 289, 286, 287, + 985, 300, 1668, 302, 40, 123, 40, 1005, 40, 1007, + 309, 986, 59, 988, 989, 990, 1001, 1005, 995, 1007, + 997, 40, 986, 40, 988, 989, 990, 326, 1085, 40, + 125, 40, 1035, 40, 986, 40, 988, 989, 986, 41, + 42, 1029, 341, 40, 1032, 264, 986, 40, 988, 989, + 986, 295, 330, 331, 1039, 93, 300, 40, 302, 40, + 1037, 294, 281, 282, 283, 309, 125, 273, 301, 91, + 303, 304, 305, 58, 1216, 1217, 1218, 1219, 125, 1064, + 40, 1138, 326, 327, 1226, 1227, 1228, 281, 282, 283, + 284, 409, 410, 411, 412, 413, 38, 341, 260, 91, + 42, 263, 264, 40, 46, 47, 607, 608, 609, 342, + 343, 344, 125, 431, 432, 43, 44, 40, 60, 40, + 535, 536, 537, 538, 539, 540, 541, 273, 372, 40, + 448, 449, 450, 451, 43, 44, 44, 455, 456, 886, + 887, 59, 41, 461, 40, 1133, 464, 40, 123, 91, + 296, 262, 262, 471, 472, 388, 389, 390, 44, 392, + 278, 41, 395, 281, 282, 283, 284, 41, 286, 287, + 288, 1570, 1571, 1161, 1162, 1163, 60, 274, 273, 463, + 1168, 1169, 1170, 1171, 1172, 1173, 274, 1175, 1176, 1177, 1192, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1174, 1187, - 33, 1189, 1178, 1191, 40, 1193, 40, 125, 526, 527, - 1186, 529, 530, 531, 44, 533, 534, 535, 536, 537, - 538, 539, 540, 541, 1209, 431, 432, 41, 40, 40, - 374, 375, 262, 123, 1291, 1212, 1213, 262, 1236, 44, - 260, 261, 41, 263, 328, 451, 330, 331, 268, 41, - 41, 60, 1250, 337, 1252, 274, 463, 463, 274, 465, - 40, 40, 468, 469, 40, 1253, 40, 40, 275, 62, - 1258, 281, 282, 283, 284, 1260, 296, 44, 365, 299, - 123, 1269, 281, 282, 283, 284, 306, 58, 123, 40, - 274, 1279, 273, 295, 123, 1283, 1284, 123, 300, 1206, - 302, 40, 1381, 40, 275, 41, 1294, 309, 40, 1216, - 1217, 1218, 1219, 317, 317, 296, 467, 61, 61, 1226, - 1227, 1228, 40, 61, 326, 327, 41, 1315, 1316, 535, - 536, 537, 538, 539, 540, 541, 470, 470, 0, 341, - 44, 1329, 1330, 1331, 1332, 1333, 1334, 93, 1336, 41, - 41, 360, 361, 362, 1318, 260, 261, 1414, 263, 1335, - 41, 295, 41, 268, 41, 41, 300, 1369, 302, 58, - 372, 33, 41, 44, 44, 309, 38, 125, 40, 41, - 42, 61, 44, 269, 263, 47, 272, 1372, 61, 40, - 40, 296, 326, 41, 414, 415, 416, 59, 60, 61, - 62, 306, 125, 41, 41, 41, 1391, 341, 41, 295, - 296, 41, 41, 1390, 300, 41, 302, 41, 360, 361, - 362, 41, 41, 309, 1401, 1413, 41, 41, 409, 91, - 41, 93, 1420, 41, 41, 41, 40, 270, 271, 272, - 326, 93, 275, 276, 277, 278, 279, 274, 281, 282, - 283, 284, 93, 286, 287, 341, 274, 290, 291, 292, - 293, 123, 59, 125, 297, 298, 41, 1431, 44, 41, - 451, 44, 41, 306, 44, 308, 40, 58, 40, 40, - 461, 41, 41, 464, 1487, 280, 281, 282, 283, 284, - 323, 324, 325, 1550, 40, 294, 269, 41, 41, 272, - 41, 1486, 301, 40, 303, 304, 305, 294, 1485, 414, - 415, 416, 59, 62, 41, 41, 40, 91, 1506, 1507, - 1508, 497, 295, 296, 489, 358, 40, 300, 125, 302, - 277, 41, 61, 501, 125, 123, 309, 62, 61, 41, - 41, 41, 41, 342, 343, 344, 41, 451, 93, 391, - 41, 93, 41, 326, 535, 536, 537, 538, 539, 540, - 541, 41, 317, 317, 41, 40, 1543, 40, 341, 1626, - 1558, 58, 58, 1575, 93, 1563, 1564, 1565, 125, 1567, - 1659, 1569, 1570, 1571, 93, 93, 93, 40, 263, 388, - 389, 390, 1568, 392, 504, 91, 395, 91, 260, 261, - 262, 263, 40, 1591, 1592, 1593, 268, 40, 123, 271, - 93, 273, 274, 275, 276, 277, 278, 279, 41, 281, - 282, 283, 284, 41, 286, 287, 288, 40, 290, 291, - 292, 293, 40, 421, 296, 297, 298, 299, 1623, 41, - 41, 93, 93, 510, 306, 44, 308, 274, 41, 311, - 41, 58, 41, 315, 316, 60, 318, 44, 61, 1662, - 322, 323, 324, 325, 93, 125, 1654, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 273, 339, 40, 40, - 1665, 40, 62, 294, 41, 41, 1663, 93, 41, 93, - 301, 41, 303, 304, 305, 93, 358, 359, 360, 361, - 362, 93, 364, 365, 41, 93, 41, 93, 41, 41, - 543, 93, 374, 375, 41, 41, 91, 93, 41, 93, - 41, 41, 33, 41, 41, 41, 273, 41, 41, 391, - 93, 342, 343, 344, 396, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, - 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, - 432, 93, 41, 263, 93, 0, 44, 388, 389, 390, - 91, 392, 274, 93, 395, 93, 448, 449, 450, 451, - 93, 453, 454, 455, 456, 41, 41, 459, 41, 461, - 40, 463, 464, 465, 466, 263, 468, 469, 33, 471, - 472, 473, 93, 38, 93, 40, 41, 42, 480, 44, - 93, 40, 47, 40, 40, 40, 58, 424, 425, 426, - 427, 41, 58, 41, 59, 60, 61, 62, 58, 41, - 41, 40, 40, 93, 38, 41, 508, 509, 510, 41, - 41, 448, 449, 450, 451, 93, 93, 41, 93, 40, - 40, 40, 40, 40, 526, 527, 91, 529, 530, 531, - 40, 533, 534, 535, 536, 537, 538, 539, 540, 541, - 40, 543, 40, 40, 40, 260, 261, 40, 263, 40, - 93, 41, 40, 268, 60, 58, 41, 40, 123, 263, - 125, 40, 40, 93, 451, 40, 91, 41, 40, 263, - 41, 41, 41, 41, 461, 40, 274, 464, 41, 41, - 40, 296, 40, 510, 299, 41, 358, 41, 274, 123, - 40, 306, 41, 41, 123, 41, 123, 125, 535, 536, - 537, 538, 539, 540, 541, 44, 40, 123, 123, 260, - 261, 62, 263, 125, 123, 123, 41, 268, 125, 62, - 271, 123, 41, 41, 275, 276, 277, 278, 279, 123, - 281, 282, 283, 284, 41, 286, 287, 41, 41, 290, - 291, 292, 293, 125, 125, 296, 297, 298, 535, 536, - 537, 538, 539, 540, 541, 306, 123, 308, 41, 123, - 62, 41, 123, 40, 40, 417, 41, 180, 123, 828, - 1034, 1011, 323, 324, 325, 739, 1502, 895, 277, 278, - 279, 41, 281, 282, 283, 284, 1009, 286, 287, 1138, - 1276, 290, 291, 292, 293, 260, 261, 1196, 263, 414, - 415, 416, 59, 268, 914, 701, 271, 358, 273, 274, - 275, 276, 277, 278, 279, 904, 281, 282, 283, 284, - 1264, 286, 287, 1277, 350, 290, 291, 292, 293, 24, - 901, 296, 297, 298, 299, 9, 114, 477, 1200, 0, - 544, 306, 24, 308, 278, 605, 311, 281, 282, 283, - 284, 316, 286, 287, 288, 754, 64, 322, 323, 324, - 325, 758, 368, 414, 415, 416, 671, 304, 125, -1, - 489, -1, 33, 260, 261, -1, 263, 38, -1, 40, - 41, 42, -1, 44, -1, -1, 47, -1, -1, -1, - -1, -1, -1, 358, -1, 360, 361, 362, 59, 60, - 61, 62, -1, -1, -1, -1, -1, -1, -1, 374, - 375, 433, 434, 435, 436, 437, 438, 439, 440, 441, - 442, 443, 444, 445, 446, 447, 391, -1, -1, -1, - 91, 396, 397, 398, 399, 400, 401, 402, 403, 404, - 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 417, 418, 419, 420, 421, 422, 423, -1, - -1, -1, 123, 428, 125, -1, 431, 432, 355, 356, - 357, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 448, 449, 450, 451, -1, 453, 454, - 455, 456, 543, 380, 459, -1, 461, -1, 463, 464, - 465, -1, -1, 468, 469, -1, 471, 472, 473, -1, - -1, -1, -1, -1, -1, 480, 273, 277, 278, 279, - -1, 281, 282, 283, 284, -1, 286, 287, 288, -1, - 290, 291, 292, 293, -1, -1, -1, 297, 298, -1, - -1, -1, -1, 508, 509, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 526, 527, -1, 529, 530, 531, -1, 533, 534, - 535, 536, 537, 538, 539, 540, 541, -1, 543, -1, - -1, -1, 339, -1, -1, -1, -1, 474, -1, 476, - 477, 478, 479, -1, -1, -1, -1, -1, -1, 260, - 261, -1, 263, -1, -1, 365, -1, 268, -1, -1, - 271, -1, 273, 274, 275, 276, 277, 278, 279, -1, - 281, 282, 283, 284, -1, 286, 287, -1, 123, 290, - 291, 292, 293, -1, -1, 296, 297, 298, 299, -1, - -1, -1, -1, 0, -1, 306, -1, 308, -1, -1, - 311, -1, -1, -1, -1, 316, -1, -1, -1, -1, - -1, 322, 323, 324, 325, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 431, 432, 33, -1, -1, -1, - -1, 38, -1, 40, 41, 42, -1, 44, -1, -1, - -1, -1, -1, -1, 451, -1, -1, 358, -1, 360, - 361, 362, 59, 60, 61, 62, 463, -1, 465, 466, - -1, 468, 469, 374, 375, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 391, -1, -1, -1, 91, 396, 397, 398, 399, 400, - 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, - 421, 422, 423, -1, -1, -1, 123, 428, 125, -1, - 431, 432, -1, -1, -1, -1, -1, -1, 535, 536, - 537, 538, 539, 540, 541, -1, -1, 448, 449, 450, - 451, -1, 453, 454, 455, 456, -1, -1, 459, 294, - 461, -1, 463, 464, 465, -1, -1, 468, 469, -1, - 471, 472, 473, -1, 309, -1, -1, -1, -1, 480, - -1, -1, 277, 278, 279, -1, 281, 282, 283, 284, - 325, 286, 287, 288, -1, 290, 291, 292, 293, 334, - -1, -1, 297, 298, -1, -1, -1, 508, 509, -1, - -1, -1, -1, 348, 349, 350, 351, -1, -1, -1, - -1, -1, -1, -1, -1, 526, 527, -1, 529, 530, - 531, -1, 533, 534, 535, 536, 537, 538, 539, 540, - 541, -1, 543, -1, -1, 380, 381, 382, 383, 384, - 385, 386, -1, -1, -1, -1, 38, -1, -1, -1, - -1, -1, -1, 260, 261, -1, 263, -1, -1, -1, - 365, 268, 59, -1, 271, -1, 273, 274, 275, 276, - 277, 278, 279, -1, 281, 282, 283, 284, -1, 286, - 287, -1, -1, 290, 291, 292, 293, -1, -1, 296, - 297, 298, 299, -1, -1, -1, -1, 0, -1, 306, - -1, 308, -1, -1, 311, -1, -1, -1, -1, 316, - -1, -1, -1, -1, -1, 322, 323, 324, 325, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 125, -1, - 33, 123, -1, 260, 261, 38, 263, 40, 41, 42, - -1, 44, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 358, -1, 360, 361, 362, 59, 60, 61, 62, - -1, -1, -1, -1, -1, -1, -1, 374, 375, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 391, -1, -1, -1, 91, 396, - 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 417, 418, 419, 420, 421, 422, 423, -1, -1, -1, - 123, 428, 125, -1, 431, 432, -1, -1, 355, 356, - 357, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 448, 449, 450, 451, -1, 453, 454, 455, 456, - -1, -1, 459, 380, 461, -1, 463, 464, 465, -1, - -1, 468, 469, -1, 471, 472, 473, -1, 260, -1, - -1, 263, -1, 480, -1, -1, 273, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 278, -1, -1, 281, - 282, 283, 284, -1, 286, 287, 288, -1, -1, 296, - -1, 508, 509, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 526, - 527, -1, 529, 530, 531, -1, 533, 534, 535, 536, - 537, 538, 539, 540, 541, -1, 543, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 474, -1, 476, - 477, 478, 479, -1, -1, -1, -1, 260, 261, -1, - 263, -1, -1, -1, -1, 268, 59, -1, 271, -1, - 273, 274, 275, 276, 277, 278, 279, -1, 281, 282, - 283, 284, -1, 286, 287, -1, -1, 290, 291, 292, - 293, -1, -1, 296, 297, 298, 299, -1, -1, -1, - -1, 0, -1, 306, -1, 308, -1, -1, 311, -1, - -1, -1, 409, 316, -1, -1, -1, -1, -1, 322, - 323, 324, 325, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 125, -1, 33, -1, -1, -1, -1, 38, - -1, 40, 41, 42, -1, 44, -1, -1, -1, -1, - -1, -1, -1, -1, 451, 358, -1, 360, 361, 362, - 59, 60, 61, 62, 461, -1, -1, 464, -1, -1, - -1, 374, 375, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 391, -1, - -1, -1, 91, 396, 397, 398, 399, 400, 401, 402, + 40, 1189, 1178, 1191, 40, 1193, 40, 125, 526, 527, + 1186, 529, 530, 531, 40, 533, 534, 535, 536, 537, + 538, 539, 540, 541, 1209, 275, 273, 264, 265, 266, + 281, 282, 283, 284, 1291, 1212, 1213, 301, 1236, 303, + 304, 305, 62, 40, 339, 451, 360, 361, 362, 286, + 287, 44, 1250, 123, 1252, 461, 260, 261, 464, 263, + 264, 365, 123, 409, 123, 1253, 123, 58, 260, 261, + 1258, 263, 40, 274, 40, 1260, 268, 40, 317, 41, + 40, 1269, 280, 281, 282, 283, 284, 275, 317, 467, + 310, 1279, 312, 313, 314, 1283, 1284, 61, 40, 1206, + 41, 470, 1381, 61, 296, 451, 1294, 299, 61, 1216, + 1217, 1218, 1219, 470, 306, 461, 44, 41, 464, 1226, + 1227, 1228, 280, 281, 282, 283, 284, 1315, 1316, 535, + 536, 537, 538, 539, 540, 541, 431, 432, 93, 41, + 41, 1329, 1330, 1331, 1332, 1333, 1334, 41, 1336, 281, + 282, 283, 284, 41, 1318, 273, 451, 41, 1415, 1335, + 260, 261, 41, 263, 44, 58, 41, 1369, 463, 125, + 465, 466, 44, 468, 469, 61, 263, 424, 425, 426, + 427, 40, 59, 281, 282, 283, 284, 1372, 61, 535, + 536, 537, 538, 539, 540, 541, 40, 40, 125, 41, + 41, 448, 449, 450, 451, 41, 1391, 38, 41, 40, + 274, 42, 41, 1390, 41, 1400, 41, 0, 360, 361, + 362, 91, 414, 415, 416, 1402, 1414, 41, 328, 60, + 330, 331, 41, 1421, 41, 41, 41, 337, 41, 41, + 535, 536, 537, 538, 539, 540, 541, 41, 125, 41, + 33, 274, 41, 93, 93, 38, 44, 40, 41, 42, + 91, 44, 41, 44, 47, 41, 44, 40, 1432, 40, + 40, 58, 269, 41, 41, 272, 59, 60, 61, 62, + 40, 294, 41, 41, 41, 1488, 40, 62, 535, 536, + 537, 538, 539, 540, 541, 41, 1553, 41, 295, 296, + 91, 40, 1487, 300, 40, 302, 497, 489, 91, 1486, + 93, 501, 309, 431, 432, 41, 277, 125, 61, 61, + 1508, 1509, 1510, 123, 62, 41, 41, 41, 41, 326, + 41, 451, 93, 451, 41, 391, 317, 93, 41, 41, + 123, 317, 125, 41, 341, 463, 40, 465, 40, 58, + 468, 469, 58, 294, 38, 40, 93, 263, 93, 93, + 301, 93, 303, 304, 305, 504, 91, 40, 1545, 59, + 91, 40, 1629, 1561, 123, 93, 1578, 41, 1566, 1567, + 1568, 41, 1570, 1662, 1572, 1573, 1574, 40, 40, 421, + 260, 261, 41, 263, 41, 1571, 273, 93, 268, 44, + 93, 342, 343, 344, 510, 274, 1594, 1595, 1596, 41, + 58, 41, 41, 44, 60, 93, 40, 535, 536, 537, + 538, 539, 540, 541, 61, 40, 296, 40, 40, 260, + 261, 40, 263, 40, 40, 125, 306, 40, 40, 123, + 40, 1626, 40, 40, 125, 62, 41, 388, 389, 390, + 93, 392, 41, 93, 395, 41, 41, 93, 93, 41, + 93, 41, 1665, 41, 41, 93, 93, 41, 41, 1657, + 93, 41, 93, 41, 93, 41, 41, 260, 261, 262, + 263, 41, 93, 1668, 41, 268, 41, 41, 271, 1666, + 273, 274, 275, 276, 277, 278, 279, 93, 281, 282, + 283, 284, 93, 286, 287, 288, 93, 290, 291, 292, + 293, 263, 41, 296, 297, 298, 299, 93, 44, 274, + 41, 41, 41, 306, 40, 308, 93, 40, 311, 360, + 361, 362, 315, 316, 263, 318, 40, 93, 33, 322, + 323, 324, 325, 38, 414, 415, 416, 42, 93, 40, + 40, 58, 41, 277, 278, 279, 339, 281, 282, 283, + 284, 41, 286, 287, 58, 60, 290, 291, 292, 293, + 58, 41, 41, 41, 451, 358, 359, 360, 361, 362, + 40, 364, 365, 273, 461, 40, 40, 464, 41, 41, + 93, 374, 375, 93, 278, 41, 91, 281, 282, 283, + 284, 93, 286, 287, 288, 41, 296, 93, 391, 40, + 40, 40, 40, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, - 423, -1, -1, -1, 123, 428, 125, -1, 431, 432, - -1, -1, -1, -1, -1, -1, -1, -1, 535, 536, - 537, 538, 539, 540, 541, 448, 449, 450, 451, -1, - 453, 454, 455, 456, -1, -1, 459, -1, 461, -1, - 463, 464, 465, -1, -1, 468, 469, 262, 471, 472, - 473, -1, -1, -1, -1, -1, -1, 480, -1, -1, - 273, -1, 277, 278, 279, -1, 281, 282, 283, 284, - -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, - -1, -1, -1, 296, 299, 508, 509, -1, -1, -1, + 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, + 40, 40, 40, 40, 0, 40, 40, 40, 535, 536, + 537, 538, 539, 540, 541, 448, 449, 450, 451, 41, + 453, 454, 455, 456, 40, 263, 459, 93, 461, 60, + 463, 464, 465, 466, 58, 468, 469, 33, 471, 472, + 473, 41, 38, 93, 40, 41, 42, 480, 44, 40, + 40, 47, 40, 40, 263, 41, 40, 358, 41, 91, + 41, 41, 41, 59, 60, 61, 62, 40, 40, 409, + 41, 274, 41, 40, 510, 508, 509, 510, 433, 434, + 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, + 445, 446, 447, 526, 527, 91, 529, 530, 531, 41, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 41, + 543, 451, 274, 40, 123, 260, 261, 41, 263, 41, + 125, 461, 41, 268, 464, 123, 271, 123, 123, 125, + 275, 276, 277, 278, 279, 44, 281, 282, 283, 284, + 125, 286, 287, 125, 62, 290, 291, 292, 293, 123, + 40, 296, 297, 298, 62, 294, 41, 123, 41, 59, + 123, 306, 301, 308, 303, 304, 305, 38, 123, 125, + 123, 42, 41, 41, 41, 41, 125, 123, 323, 324, + 325, 41, 123, 62, 123, 41, 40, 40, 123, 60, + 41, 180, 417, 828, 1011, 535, 536, 537, 538, 539, + 540, 541, 739, 342, 343, 344, 1034, 895, 1504, 1276, + 1009, 1138, 914, 358, 1196, 360, 361, 362, 1260, 701, + 91, 904, 350, 1264, 1277, 125, 477, 24, 9, 374, + 375, 1200, 901, 114, 24, 544, 754, 758, 605, 304, + 64, 671, 368, -1, -1, 489, -1, -1, -1, 388, + 389, 390, -1, 392, -1, -1, 395, -1, 38, -1, + -1, -1, -1, -1, 260, 261, -1, 263, -1, 414, + 415, 416, 268, 59, -1, 271, -1, 273, 274, 275, + 276, 277, 278, 279, -1, 281, 282, 283, 284, -1, + 286, 287, -1, -1, 290, 291, 292, 293, -1, -1, + 296, 297, 298, 299, 269, -1, -1, 272, 0, -1, + 306, -1, 308, -1, -1, 311, -1, -1, -1, -1, + 316, -1, -1, 91, -1, -1, 322, 323, 324, 325, + 295, 296, -1, -1, -1, 300, -1, 302, -1, 125, + -1, 33, -1, 123, 309, -1, 38, -1, 40, 41, + 42, -1, 44, -1, -1, 47, -1, -1, -1, -1, + -1, 326, 358, -1, 360, 361, 362, 59, 60, 61, + 62, -1, -1, 273, -1, -1, 341, -1, 374, 375, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 260, + 261, -1, 263, -1, -1, 391, 296, -1, 543, 91, + 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, + 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, + 416, 417, 418, 419, 420, 421, 422, 423, -1, -1, + -1, 123, 428, 125, -1, 431, 432, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 526, 527, -1, 529, 530, 531, -1, - 533, 534, 535, 536, 537, 538, 539, 540, 541, -1, - 543, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 448, 449, 450, 451, -1, 453, 454, 455, + 456, -1, -1, 459, -1, 461, -1, 463, 464, 465, + -1, -1, 468, 469, -1, 471, 472, 473, -1, -1, + 260, -1, -1, 263, 480, -1, -1, 273, -1, 360, + 361, 362, 260, 261, 262, 263, 264, -1, 278, -1, + 268, 281, 282, 283, 284, -1, 286, 287, 288, 409, + 296, -1, 508, 509, -1, 283, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 296, -1, + 526, 527, -1, 529, 530, 531, -1, 533, 534, 535, + 536, 537, 538, 539, 540, 541, -1, 543, -1, -1, + -1, 451, 320, 321, -1, -1, -1, -1, -1, -1, + -1, 461, -1, -1, 464, -1, -1, -1, 260, 261, + -1, 263, -1, -1, -1, -1, 268, 59, -1, 271, + -1, 273, 274, 275, 276, 277, 278, 279, -1, 281, + 282, 283, 284, -1, 286, 287, -1, -1, 290, 291, + 292, 293, -1, -1, 296, 297, 298, 299, -1, -1, + -1, -1, 0, -1, 306, -1, 308, -1, -1, 311, + -1, -1, -1, 409, 316, -1, -1, -1, -1, -1, + 322, 323, 324, 325, -1, 535, 536, 537, 538, 539, + 540, 541, -1, 125, -1, 33, 414, 415, 416, -1, + 38, -1, 40, 41, 42, -1, 44, -1, -1, -1, + -1, -1, -1, -1, -1, 451, 358, -1, 360, 361, + 362, 59, 60, 61, 62, 461, -1, -1, 464, -1, + -1, -1, 374, 375, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 391, + -1, -1, -1, 91, 396, 397, 398, 399, 400, 401, + 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, -1, -1, -1, 123, 428, 125, -1, 431, + 432, -1, -1, -1, -1, -1, -1, -1, -1, 535, + 536, 537, 538, 539, 540, 541, 448, 449, 450, 451, + -1, 453, 454, 455, 456, -1, -1, 459, -1, 461, + -1, 463, 464, 465, -1, -1, 468, 469, 262, 471, + 472, 473, -1, -1, -1, -1, -1, -1, 480, -1, + -1, 273, -1, 277, 278, 279, -1, 281, 282, 283, + 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, + -1, -1, -1, -1, 296, 299, 508, 509, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 260, 261, -1, 263, -1, -1, -1, -1, 268, - 59, -1, 271, -1, 273, 274, 275, 276, 277, 278, - 279, -1, 281, 282, 283, 284, -1, 286, 287, -1, - -1, 290, 291, 292, 293, -1, -1, 296, 297, 298, - 299, -1, -1, -1, -1, 0, -1, 306, -1, 308, - -1, -1, 311, -1, -1, -1, 409, 316, -1, -1, - -1, -1, -1, 322, 323, 324, 325, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 125, -1, 33, -1, - -1, -1, -1, 38, -1, 40, 41, 42, -1, 44, - -1, -1, -1, -1, -1, -1, -1, -1, 451, 358, - -1, 360, 361, 362, 59, 60, 61, 62, 461, -1, - -1, 464, -1, -1, -1, 374, 375, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 391, -1, -1, -1, 91, 396, 397, 398, - 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, - 419, 420, 421, 422, 423, -1, -1, -1, 123, 428, - 125, -1, 431, 432, -1, -1, -1, -1, -1, -1, - -1, -1, 535, 536, 537, 538, 539, 540, 541, 448, - 449, 450, 451, -1, 453, 454, 455, 456, -1, -1, - 459, -1, 461, -1, 463, 464, 465, -1, -1, 468, - 469, -1, 471, 472, 473, -1, -1, -1, -1, -1, - -1, 480, -1, -1, 273, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 526, 527, -1, 529, 530, 531, + -1, 533, 534, 535, 536, 537, 538, 539, 540, 541, + -1, 543, -1, -1, -1, -1, -1, 41, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 296, -1, 508, - 509, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 526, 527, -1, - 529, 530, 531, -1, 533, 534, 535, 536, 537, 538, - 539, 540, 541, -1, 543, -1, -1, -1, -1, -1, + -1, -1, 260, 261, -1, 263, -1, -1, -1, -1, + 268, -1, -1, 271, -1, 273, 274, 275, 276, 277, + 278, 279, -1, 281, 282, 283, 284, -1, 286, 287, + -1, -1, 290, 291, 292, 293, -1, -1, 296, 297, + 298, 299, -1, -1, -1, -1, 0, -1, 306, -1, + 308, -1, -1, 311, -1, -1, -1, 409, 316, -1, + -1, -1, -1, -1, 322, 323, 324, 325, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 33, + 260, 261, -1, 263, 38, -1, 40, 41, 42, -1, + 44, -1, -1, -1, -1, -1, -1, -1, -1, 451, + 358, -1, 360, 361, 362, 59, 60, 61, 62, 461, + -1, -1, 464, -1, -1, -1, 374, 375, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 391, -1, -1, -1, 91, 396, 397, + 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, + 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 421, 422, 423, -1, -1, -1, 123, + 428, 125, -1, 431, 432, 355, 356, 357, -1, -1, + -1, -1, -1, 535, 536, 537, 538, 539, 540, 541, + 448, 449, 450, 451, -1, 453, 454, 455, 456, -1, + 380, 459, -1, 461, -1, 463, 464, 465, -1, -1, + 468, 469, -1, 471, 472, 473, -1, -1, -1, -1, + -1, -1, 480, 277, 278, 279, -1, 281, 282, 283, + 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, + -1, -1, -1, 297, 298, -1, -1, -1, -1, -1, + 508, 509, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 526, 527, + -1, 529, 530, 531, -1, 533, 534, 535, 536, 537, + 538, 539, 540, 541, -1, 543, -1, -1, -1, -1, + -1, -1, -1, -1, 474, -1, 476, 477, 478, 479, + -1, -1, -1, -1, -1, -1, 260, 261, -1, 263, + -1, 365, -1, -1, 268, -1, -1, 271, -1, 273, + 274, 275, 276, 277, 278, 279, -1, 281, 282, 283, + 284, -1, 286, 287, -1, 123, 290, 291, 292, 293, + -1, -1, 296, 297, 298, 299, -1, -1, -1, -1, + 0, -1, 306, -1, 308, -1, -1, 311, -1, -1, + -1, -1, 316, -1, -1, -1, -1, -1, 322, 323, + 324, 325, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 33, -1, -1, -1, -1, 38, -1, + 40, 41, 42, -1, 44, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 358, -1, 360, 361, 362, 59, + 60, 61, 62, -1, -1, -1, -1, -1, -1, -1, + 374, 375, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 391, -1, -1, + -1, 91, 396, 397, 398, 399, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + -1, -1, -1, 123, 428, 125, -1, 431, 432, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 448, 449, 450, 451, -1, 453, + 454, 455, 456, -1, -1, 459, 294, 461, -1, 463, + 464, 465, -1, -1, 468, 469, -1, 471, 472, 473, + -1, 309, -1, -1, -1, -1, 480, -1, -1, 277, + 278, 279, -1, 281, 282, 283, 284, 325, 286, 287, + 288, -1, 290, 291, 292, 293, 334, -1, -1, 297, + 298, -1, -1, -1, 508, 509, -1, -1, -1, -1, + 348, 349, 350, 351, -1, -1, -1, -1, -1, -1, + -1, -1, 526, 527, -1, 529, 530, 531, -1, 533, + 534, 535, 536, 537, 538, 539, 540, 541, -1, 543, + -1, -1, 380, 381, 382, 383, 384, 385, 386, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 260, 261, -1, 263, -1, - -1, -1, -1, 268, 59, -1, 271, -1, 273, 274, - 275, 276, 277, 278, 279, -1, 281, 282, 283, 284, - -1, 286, 287, -1, -1, 290, 291, 292, 293, -1, - -1, 296, 297, 298, 299, -1, -1, -1, -1, 0, - -1, 306, -1, 308, -1, -1, 311, -1, -1, -1, - 409, 316, -1, -1, -1, -1, -1, 322, 323, 324, - 325, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 125, -1, 33, -1, -1, -1, -1, 38, -1, 40, - 41, 42, -1, 44, -1, -1, -1, -1, -1, -1, - -1, -1, 451, 358, -1, 360, 361, 362, 59, 60, - 61, 62, 461, -1, -1, 464, -1, -1, -1, 374, - 375, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 391, -1, -1, -1, - 91, 396, 397, 398, 399, 400, 401, 402, 403, 404, - 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 417, 418, 419, 420, 421, 422, 423, -1, - -1, -1, 123, 428, 125, -1, 431, 432, -1, -1, - -1, -1, -1, -1, -1, -1, 535, 536, 537, 538, - 539, 540, 541, 448, 449, 450, 451, -1, 453, 454, - 455, 456, -1, -1, 459, -1, 461, -1, 463, 464, - 465, -1, -1, 468, 469, -1, 471, 472, 473, -1, - -1, -1, -1, -1, -1, 480, -1, -1, 273, -1, + 260, 261, -1, 263, -1, -1, -1, 365, 268, -1, + -1, 271, -1, 273, 274, 275, 276, 277, 278, 279, + -1, 281, 282, 283, 284, -1, 286, 287, -1, -1, + 290, 291, 292, 293, -1, -1, 296, 297, 298, 299, + -1, -1, -1, -1, 0, -1, 306, -1, 308, -1, + -1, 311, -1, -1, -1, -1, 316, -1, -1, -1, + -1, -1, 322, 323, 324, 325, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 33, 260, 261, + -1, 263, 38, -1, 40, 41, 42, -1, 44, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, + 360, 361, 362, 59, 60, 61, 62, -1, -1, -1, + -1, -1, -1, -1, 374, 375, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 391, -1, -1, -1, 91, 396, 397, 398, 399, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, -1, -1, -1, 123, 428, 125, + -1, 431, 432, 355, 356, 357, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 448, 449, + 450, 451, -1, 453, 454, 455, 456, -1, 380, 459, + -1, 461, -1, 463, 464, 465, -1, -1, 468, 469, + -1, 471, 472, 473, -1, 271, -1, -1, -1, -1, + 480, 277, 278, 279, -1, 281, 282, 283, 284, -1, + 286, 287, -1, -1, 290, 291, 292, 293, -1, -1, + -1, 297, 298, -1, -1, -1, -1, -1, 508, 509, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 296, -1, 508, 509, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 526, 527, -1, 529, + 530, 531, -1, 533, 534, 535, 536, 537, 538, 539, + 540, 541, -1, 543, -1, -1, -1, -1, -1, -1, + 346, -1, 474, -1, 476, 477, 478, 479, -1, -1, + -1, -1, -1, -1, 260, 261, -1, 263, -1, 365, + -1, -1, 268, -1, -1, 271, -1, 273, 274, 275, + 276, 277, 278, 279, -1, 281, 282, 283, 284, -1, + 286, 287, -1, -1, 290, 291, 292, 293, -1, -1, + 296, 297, 298, 299, -1, -1, -1, -1, 0, -1, + 306, -1, 308, -1, -1, 311, -1, -1, -1, -1, + 316, -1, -1, -1, -1, -1, 322, 323, 324, 325, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 33, -1, -1, -1, -1, 38, -1, 40, 41, + 42, -1, 44, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 358, -1, 360, 361, 362, 59, 60, 61, + 62, -1, -1, -1, -1, -1, -1, -1, 374, 375, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 391, -1, -1, -1, 91, + 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, + 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, + 416, 417, 418, 419, 420, 421, 422, 423, -1, -1, + -1, 123, 428, 125, -1, 431, 432, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 526, 527, -1, 529, 530, 531, -1, 533, 534, - 535, 536, 537, 538, 539, 540, 541, -1, 543, -1, + -1, -1, 448, 449, 450, 451, -1, 453, 454, 455, + 456, -1, -1, 459, -1, 461, -1, 463, 464, 465, + -1, -1, 468, 469, -1, 471, 472, 473, -1, -1, + -1, -1, -1, -1, 480, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 260, - 261, -1, 263, -1, -1, -1, -1, 268, -1, -1, - 271, -1, 273, 274, 275, 276, 277, 278, 279, -1, - 281, 282, 283, 284, -1, 286, 287, -1, -1, 290, - 291, 292, 293, -1, -1, 296, 297, 298, 299, -1, - -1, -1, -1, 0, -1, 306, -1, 308, -1, -1, - 311, -1, -1, -1, 409, 316, -1, -1, -1, -1, - -1, 322, 323, 324, 325, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 33, -1, -1, -1, - -1, 38, -1, 40, 41, 42, -1, 44, -1, -1, - -1, -1, -1, -1, -1, -1, 451, 358, -1, 360, - 361, 362, 59, 60, 61, 62, 461, -1, -1, 464, - -1, -1, -1, 374, 375, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 391, -1, -1, -1, 91, 396, 397, 398, 399, 400, - 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, - 421, 422, 423, -1, -1, -1, 123, 428, 125, -1, - 431, 432, -1, -1, -1, -1, -1, -1, -1, -1, - 535, 536, 537, 538, 539, 540, 541, 448, 449, 450, - 451, -1, 453, 454, 455, 456, -1, -1, 459, -1, - 461, -1, 463, 464, 465, -1, -1, 468, 469, -1, - 471, 472, 473, -1, 271, -1, -1, -1, -1, 480, - 277, 278, 279, -1, 281, 282, 283, 284, -1, 286, - 287, -1, -1, 290, 291, 292, 293, -1, -1, -1, - 297, 298, -1, -1, -1, -1, -1, 508, 509, -1, + -1, -1, 508, 509, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 526, 527, -1, 529, 530, - 531, -1, 533, 534, 535, 536, 537, 538, 539, 540, - 541, -1, 543, -1, -1, -1, -1, -1, -1, 346, + 526, 527, -1, 529, 530, 531, -1, 533, 534, 535, + 536, 537, 538, 539, 540, 541, -1, 543, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 260, 261, -1, 263, -1, 365, -1, - -1, 268, -1, -1, 271, -1, 273, 274, 275, 276, - 277, 278, 279, -1, 281, 282, 283, 284, -1, 286, - 287, -1, -1, 290, 291, 292, 293, -1, -1, 296, - 297, 298, -1, -1, -1, -1, -1, 0, -1, 306, - -1, 308, -1, -1, 311, -1, -1, -1, -1, 316, - -1, -1, -1, -1, -1, 322, 323, 324, 325, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 260, 261, + -1, 263, -1, -1, -1, -1, 268, -1, -1, 271, + -1, 273, 274, 275, 276, 277, 278, 279, -1, 281, + 282, 283, 284, -1, 286, 287, -1, -1, 290, 291, + 292, 293, -1, -1, 296, 297, 298, 299, -1, -1, + -1, -1, 0, -1, 306, -1, 308, -1, -1, 311, + -1, -1, -1, -1, 316, -1, -1, -1, -1, -1, + 322, 323, 324, 325, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 33, -1, -1, -1, -1, + 38, -1, 40, 41, 42, -1, 44, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 358, -1, 360, 361, + 362, 59, 60, 61, 62, -1, -1, -1, -1, -1, + -1, -1, 374, 375, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 391, + -1, -1, -1, 91, 396, 397, 398, 399, 400, 401, + 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, -1, -1, -1, 123, 428, 125, -1, 431, + 432, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 448, 449, 450, 451, + -1, 453, 454, 455, 456, -1, -1, 459, -1, 461, + -1, 463, 464, 465, -1, -1, 468, 469, -1, 471, + 472, 473, -1, -1, -1, -1, -1, -1, 480, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 33, -1, -1, -1, -1, 38, -1, 40, 41, 42, - -1, 44, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 358, -1, 360, 361, 362, 59, 60, 61, 62, - -1, -1, -1, -1, -1, -1, -1, 374, 375, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 391, -1, -1, -1, 91, 396, - 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 417, 418, 419, 420, 421, 422, 423, -1, -1, -1, - 123, 428, 125, -1, 431, 432, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 508, 509, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 448, 449, 450, 451, -1, 453, 454, 455, 456, - -1, -1, 459, -1, 461, -1, 463, 464, 465, -1, - -1, 468, 469, -1, 471, 472, 473, -1, -1, -1, - -1, -1, -1, 480, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 526, 527, -1, 529, 530, 531, + -1, 533, 534, 535, 536, 537, 538, 539, 540, 541, + -1, 543, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 260, 261, -1, 263, -1, -1, -1, -1, + 268, -1, -1, 271, -1, 273, 274, 275, 276, 277, + 278, 279, -1, 281, 282, 283, 284, -1, 286, 287, + -1, -1, 290, 291, 292, 293, -1, -1, 296, 297, + 298, -1, -1, -1, -1, -1, 0, -1, 306, -1, + 308, -1, -1, 311, -1, -1, -1, -1, 316, -1, + -1, -1, -1, -1, 322, 323, 324, 325, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 33, + -1, -1, -1, -1, 38, -1, 40, 41, 42, -1, + 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 358, -1, 360, 361, 362, 59, 60, 61, 62, -1, + -1, -1, -1, -1, -1, -1, 374, 375, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 391, -1, -1, -1, 91, 396, 397, + 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, + 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 421, 422, 423, -1, -1, -1, 123, + 428, 125, -1, 431, 432, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 508, 509, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 526, - 527, -1, 529, 530, 531, -1, 533, 534, 535, 536, - 537, 538, 539, 540, 541, -1, 543, -1, -1, -1, + 448, 449, 450, 451, -1, 453, 454, 455, 456, -1, + -1, 459, -1, 461, -1, 463, 464, 465, -1, -1, + 468, 469, -1, 471, 472, 473, -1, -1, -1, -1, + -1, -1, 480, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 260, 261, -1, - 263, -1, -1, -1, -1, 268, -1, -1, 271, -1, - 273, 274, 275, 276, 277, 278, 279, -1, 281, 282, - 283, 284, -1, 286, 287, -1, -1, 290, 291, 292, - 293, -1, -1, 296, 297, 298, -1, -1, -1, -1, - -1, 0, -1, 306, -1, 308, -1, -1, 311, -1, - -1, -1, -1, 316, -1, -1, -1, -1, -1, 322, - 323, 324, 325, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 33, -1, -1, -1, -1, -1, - -1, 40, 41, -1, -1, 44, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 358, -1, 360, 361, 362, - 59, -1, 61, 62, -1, -1, -1, -1, -1, -1, - -1, 374, 375, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 41, 391, -1, - -1, -1, -1, 396, 397, 398, 399, 400, 401, 402, - 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, - 423, -1, -1, -1, 123, 428, 125, -1, 431, 432, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 448, 449, 450, 451, -1, - 453, 454, 455, 456, -1, -1, 459, -1, 461, -1, - 463, 464, 465, -1, -1, 468, 469, -1, 471, 472, - 473, -1, -1, -1, -1, -1, -1, 480, -1, -1, + 508, 509, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 526, 527, + -1, 529, 530, 531, -1, 533, 534, 535, 536, 537, + 538, 539, 540, 541, -1, 543, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 260, 261, -1, 263, + -1, -1, -1, -1, 268, -1, -1, 271, -1, 273, + 274, 275, 276, 277, 278, 279, -1, 281, 282, 283, + 284, -1, 286, 287, -1, -1, 290, 291, 292, 293, + -1, -1, 296, 297, 298, -1, -1, -1, -1, -1, + 0, -1, 306, -1, 308, -1, -1, 311, -1, -1, + -1, -1, 316, -1, -1, -1, -1, -1, 322, 323, + 324, 325, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 33, -1, -1, -1, -1, -1, -1, + 40, 41, -1, -1, 44, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 358, -1, 360, 361, 362, 59, + -1, 61, 62, -1, -1, -1, -1, -1, -1, -1, + 374, 375, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 41, 391, -1, -1, + -1, -1, 396, 397, 398, 399, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + -1, -1, -1, 123, 428, 125, -1, 431, 432, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 508, 509, -1, -1, -1, + -1, -1, -1, -1, 448, 449, 450, 451, -1, 453, + 454, 455, 456, -1, -1, 459, -1, 461, -1, 463, + 464, 465, -1, -1, 468, 469, -1, 471, 472, 473, + -1, -1, -1, -1, -1, -1, 480, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 41, 526, 527, -1, 529, 530, 531, -1, - 533, 534, 535, 536, 537, 538, 539, 540, 541, -1, - 543, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 260, 261, -1, 263, -1, -1, -1, -1, 268, - -1, -1, 271, -1, 273, 274, 275, 276, 277, 278, - 279, -1, 281, 282, 283, 284, -1, 286, 287, -1, - -1, 290, 291, 292, 293, -1, -1, 296, 297, 298, - -1, -1, 0, -1, -1, -1, -1, 306, -1, 308, - -1, -1, 311, -1, -1, -1, -1, 316, -1, -1, - -1, -1, -1, 322, 323, 324, 325, -1, -1, -1, + -1, -1, -1, -1, 508, 509, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 294, -1, -1, -1, -1, -1, -1, 301, -1, 303, - 304, 305, -1, -1, -1, -1, -1, -1, -1, 358, - -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 33, -1, -1, 374, 375, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 342, 343, - 344, -1, 391, -1, -1, -1, -1, 396, 397, 398, - 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, - 419, 420, 421, 422, 423, 123, -1, 125, -1, 428, - -1, -1, 431, 432, 388, 389, 390, -1, 392, -1, - -1, 395, -1, -1, -1, -1, -1, -1, -1, 448, - 449, 450, 451, -1, 453, 454, 455, 456, -1, -1, - 459, -1, 461, -1, 463, 464, 465, -1, -1, 468, - 469, -1, 471, 472, 473, 294, -1, -1, -1, -1, - -1, 480, 301, -1, 303, 304, 305, -1, -1, -1, + -1, -1, 526, 527, -1, 529, 530, 531, -1, 533, + 534, 535, 536, 537, 538, 539, 540, 541, -1, 543, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 508, - 509, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 342, 343, 344, -1, 526, 527, -1, - 529, 530, 531, -1, 533, 534, 535, 536, 537, 538, - 539, 540, 541, -1, 543, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 260, -1, -1, 263, -1, -1, -1, 388, - 389, 390, -1, 392, -1, 273, 395, -1, -1, 277, - 278, 279, -1, 281, 282, 283, 284, -1, 286, 287, - 288, -1, 290, 291, 292, 293, -1, -1, 296, 297, - 298, -1, -1, -1, -1, -1, -1, -1, -1, 270, - 271, 272, 0, -1, 275, 276, 277, 278, 279, -1, - 281, 282, 283, 284, 322, 286, 287, -1, -1, 290, - 291, 292, 293, -1, -1, 296, 297, 298, -1, -1, - -1, 339, -1, -1, -1, 306, -1, 308, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 359, 323, 324, 325, -1, 364, 365, -1, -1, - -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 33, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 358, 396, 397, - 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, - 408, 409, 410, 411, 412, 413, -1, -1, -1, 417, - 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, - 428, 429, 430, 431, 432, 123, -1, 125, -1, -1, - 91, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 448, 449, 450, 451, -1, 453, 454, 455, 456, -1, - -1, 459, -1, 461, -1, 463, 464, 465, 466, -1, - 468, 469, -1, 471, 472, 473, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 260, 261, -1, 263, -1, + 260, 261, -1, 263, -1, -1, -1, -1, 268, -1, + -1, 271, -1, 273, 274, 275, 276, 277, 278, 279, + -1, 281, 282, 283, 284, -1, 286, 287, -1, -1, + 290, 291, 292, 293, -1, -1, 296, 297, 298, -1, + -1, 0, -1, -1, -1, -1, 306, -1, 308, -1, + -1, 311, -1, -1, -1, -1, 316, -1, -1, -1, + -1, -1, 322, 323, 324, 325, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 294, + -1, -1, -1, -1, -1, -1, 301, -1, 303, 304, + 305, -1, -1, -1, -1, -1, -1, -1, 358, -1, + 59, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 33, -1, -1, 374, 375, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 342, 343, 344, + -1, 391, -1, -1, -1, -1, 396, 397, 398, 399, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 123, -1, 125, -1, 428, -1, + -1, 431, 432, 388, 389, 390, -1, 392, -1, -1, + 395, -1, -1, -1, -1, -1, -1, -1, 448, 449, + 450, 451, -1, 453, 454, 455, 456, -1, -1, 459, + -1, 461, -1, 463, 464, 465, -1, -1, 468, 469, + -1, 471, 472, 473, -1, -1, -1, -1, -1, -1, + 480, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 508, 509, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 508, 509, -1, -1, -1, -1, -1, -1, -1, 294, - -1, -1, -1, -1, -1, -1, -1, -1, 526, 527, - -1, 529, 530, 531, -1, 533, 534, 535, 536, 537, - 538, 539, 540, 541, -1, -1, -1, -1, 323, -1, - -1, -1, 327, -1, -1, 330, 331, -1, -1, -1, - 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, - 345, 346, 260, -1, -1, 263, -1, -1, 353, -1, - -1, 356, 543, -1, -1, 273, -1, -1, 363, 277, - 278, 279, -1, 281, 282, 283, 284, 372, 286, 287, - 288, -1, 290, 291, 292, 293, -1, -1, 296, 297, - 298, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 271, -1, 0, -1, 275, 276, 277, 278, 279, -1, - 281, 282, 283, 284, 322, 286, 287, -1, -1, 290, - 291, 292, 293, -1, -1, -1, 297, 298, -1, -1, - -1, 339, -1, -1, -1, 306, -1, 308, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 359, 323, 324, 325, -1, 364, 365, -1, -1, - -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 33, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 358, 396, 397, - 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, - 408, 409, 410, 411, 412, 413, -1, -1, -1, 417, - 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, - 428, 429, 430, 431, 432, 123, -1, 125, -1, -1, - 91, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 448, 449, 450, 451, -1, 453, 454, 455, 456, -1, - -1, 459, -1, 461, -1, 463, 464, 465, 466, -1, - 468, 469, -1, 471, 472, 473, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 260, 261, -1, 263, -1, + -1, -1, -1, -1, -1, -1, 526, 527, -1, 529, + 530, 531, -1, 533, 534, 535, 536, 537, 538, 539, + 540, 541, -1, 543, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 260, -1, -1, 263, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 273, -1, -1, -1, 277, 278, + 279, -1, 281, 282, 283, 284, -1, 286, 287, 288, + -1, 290, 291, 292, 293, -1, -1, 296, 297, 298, + -1, -1, -1, -1, -1, -1, -1, -1, 270, 271, + 272, 0, -1, 275, 276, 277, 278, 279, -1, 281, + 282, 283, 284, 322, 286, 287, -1, -1, 290, 291, + 292, 293, -1, -1, 296, 297, 298, -1, -1, -1, + 339, -1, -1, -1, 306, -1, 308, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 508, 509, -1, -1, -1, -1, -1, -1, -1, 294, - -1, -1, -1, -1, -1, -1, -1, -1, 526, 527, - -1, 529, 530, 531, -1, 533, 534, 535, 536, 537, - 538, 539, 540, 541, -1, -1, -1, -1, 323, -1, - -1, -1, 327, -1, -1, 330, 331, -1, -1, -1, - 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, - 345, 346, 260, -1, -1, 263, -1, -1, 353, -1, - -1, 356, 543, -1, -1, 273, -1, -1, 363, 277, - 278, 279, -1, 281, 282, 283, 284, 372, 286, 287, - 288, -1, 290, 291, 292, 293, -1, -1, 296, 297, - 298, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 271, -1, 0, -1, 275, 276, 277, 278, 279, -1, - 281, 282, 283, 284, 322, 286, 287, -1, -1, 290, - 291, 292, 293, -1, -1, -1, 297, 298, -1, -1, - -1, 339, -1, -1, -1, 306, -1, 308, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 359, 323, 324, 325, -1, 364, 365, -1, -1, - -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 33, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 358, 396, 397, - 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, - 408, 409, 410, 411, 412, 413, -1, -1, -1, 417, - 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, - 428, 429, 430, 431, 432, 123, -1, 125, -1, -1, - 91, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 448, 449, 450, 451, -1, 453, 454, 455, 456, -1, - -1, 459, -1, 461, -1, 463, 464, 465, 466, -1, - 468, 469, -1, 471, 472, 473, -1, -1, -1, -1, + 359, 323, 324, 325, -1, 364, 365, -1, -1, -1, + 59, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 33, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 358, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, -1, -1, -1, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 431, 432, 123, -1, 125, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 448, + 449, 450, 451, -1, 453, 454, 455, 456, -1, -1, + 459, -1, 461, -1, 463, 464, 465, 466, -1, 468, + 469, -1, 471, 472, 473, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 260, 261, -1, 263, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 508, + 509, -1, -1, -1, -1, -1, -1, -1, 294, -1, + -1, -1, -1, -1, -1, -1, -1, 526, 527, -1, + 529, 530, 531, -1, 533, 534, 535, 536, 537, 538, + 539, 540, 541, -1, -1, -1, -1, 323, -1, -1, + -1, 327, -1, -1, 330, 331, -1, -1, -1, 335, + 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, + 346, 260, -1, -1, 263, -1, -1, 353, -1, -1, + 356, 543, -1, -1, 273, -1, -1, 363, 277, 278, + 279, -1, 281, 282, 283, 284, 372, 286, 287, 288, + -1, 290, 291, 292, 293, -1, -1, 296, 297, 298, + -1, -1, -1, -1, -1, -1, -1, -1, 270, 271, + 272, 0, -1, 275, 276, 277, 278, 279, -1, 281, + 282, 283, 284, 322, 286, 287, -1, -1, 290, 291, + 292, 293, -1, -1, -1, 297, 298, -1, -1, -1, + 339, -1, -1, -1, 306, -1, 308, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 359, 323, 324, 325, -1, 364, 365, -1, -1, -1, + 59, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 33, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 358, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, -1, -1, -1, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 431, 432, 123, -1, 125, -1, -1, 91, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 448, + 449, 450, 451, -1, 453, 454, 455, 456, -1, -1, + 459, -1, 461, -1, 463, 464, 465, 466, -1, 468, + 469, -1, 471, 472, 473, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 260, 261, -1, 263, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 508, 509, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 526, 527, - -1, 529, 530, 531, -1, 533, 534, 535, 536, 537, - 538, 539, 540, 541, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 508, + 509, -1, -1, -1, -1, -1, -1, -1, 294, -1, + -1, -1, -1, -1, -1, -1, -1, 526, 527, -1, + 529, 530, 531, -1, 533, 534, 535, 536, 537, 538, + 539, 540, 541, -1, -1, -1, -1, 323, -1, -1, + -1, 327, -1, -1, 330, 331, -1, -1, -1, 335, + 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, + 346, 260, -1, -1, 263, -1, -1, 353, -1, -1, + 356, 543, -1, -1, 273, -1, -1, 363, 277, 278, + 279, -1, 281, 282, 283, 284, 372, 286, 287, 288, + -1, 290, 291, 292, 293, -1, -1, 296, 297, 298, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 271, + -1, 0, -1, 275, 276, 277, 278, 279, -1, 281, + 282, 283, 284, 322, 286, 287, -1, -1, 290, 291, + 292, 293, -1, -1, -1, 297, 298, -1, -1, -1, + 339, -1, -1, -1, 306, -1, 308, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 359, 323, 324, 325, -1, 364, 365, -1, -1, -1, + 59, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 33, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 358, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, -1, -1, -1, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 431, 432, 123, -1, 125, -1, -1, 91, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 448, + 449, 450, 451, -1, 453, 454, 455, 456, -1, -1, + 459, -1, 461, -1, 463, 464, 465, 466, -1, 468, + 469, -1, 471, 472, 473, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 260, -1, -1, 263, -1, -1, -1, -1, - -1, -1, 543, -1, -1, 273, -1, -1, -1, 277, - 278, 279, -1, 281, 282, 283, 284, -1, 286, 287, - 288, -1, 290, 291, 292, 293, -1, -1, 296, 297, - 298, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 271, -1, 0, -1, 275, 276, 277, 278, 279, -1, - 281, 282, 283, 284, 322, 286, 287, -1, -1, 290, - 291, 292, 293, -1, -1, -1, 297, 298, -1, -1, - -1, 339, -1, -1, -1, 306, -1, 308, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 359, 323, 324, 325, -1, 364, 365, -1, -1, - -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 358, 396, 397, - 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, - 408, 409, 410, 411, 412, 413, -1, -1, -1, 417, - 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, - 428, 429, 430, 431, 432, 123, -1, 125, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 508, + 509, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 526, 527, -1, + 529, 530, 531, -1, 533, 534, 535, 536, 537, 538, + 539, 540, 541, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 448, 449, 450, 451, -1, 453, 454, 455, 456, -1, - -1, 459, -1, 461, -1, 463, 464, 465, 466, -1, - 468, 469, -1, 471, 472, 473, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 260, -1, -1, 263, -1, -1, -1, -1, -1, + -1, 543, -1, -1, 273, -1, -1, -1, 277, 278, + 279, -1, 281, 282, 283, 284, -1, 286, 287, 288, + -1, 290, 291, 292, 293, -1, -1, 296, 297, 298, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 271, + -1, 0, -1, 275, 276, 277, 278, 279, -1, 281, + 282, 283, 284, 322, 286, 287, -1, -1, 290, 291, + 292, 293, -1, -1, -1, 297, 298, -1, -1, -1, + 339, -1, -1, -1, 306, -1, 308, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 508, 509, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 526, 527, - -1, 529, 530, 531, -1, 533, 534, 535, 536, 537, - 538, 539, 540, 541, -1, -1, -1, -1, -1, -1, + 359, 323, 324, 325, -1, 364, 365, -1, -1, -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 260, -1, -1, 263, -1, -1, -1, -1, - -1, -1, 543, -1, -1, 273, -1, -1, -1, 277, - 278, 279, -1, 281, 282, 283, 284, -1, 286, 287, - 288, -1, 290, 291, 292, 293, -1, -1, 296, 297, - 298, -1, -1, -1, 123, -1, 125, -1, -1, -1, - -1, 59, 294, 295, -1, -1, -1, -1, 300, -1, - 302, -1, -1, -1, 322, -1, -1, 309, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 339, -1, -1, 326, 327, -1, 329, 330, 331, - 332, 333, -1, -1, -1, -1, 338, -1, -1, 341, - -1, 359, -1, -1, -1, 347, 364, 365, -1, -1, - 352, -1, 354, -1, -1, -1, -1, 125, -1, -1, - -1, -1, -1, -1, 366, 367, 368, 369, 370, 371, - 372, 373, -1, -1, -1, -1, -1, 379, 396, 397, - 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, - 408, 409, 410, 411, 412, 413, -1, -1, -1, 417, - 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, - 428, 429, 430, 431, 432, -1, 0, -1, -1, -1, - -1, 260, -1, -1, 263, -1, -1, -1, -1, -1, - 448, 449, 450, 451, 273, 453, 454, 455, 456, -1, - -1, 459, -1, 461, -1, 463, 464, 465, 466, -1, - 468, 469, -1, 471, 472, 473, -1, 296, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 59, -1, -1, -1, -1, - -1, -1, -1, 322, -1, -1, -1, -1, -1, -1, - 508, 509, -1, -1, -1, -1, -1, -1, -1, -1, - 339, -1, -1, -1, -1, 273, -1, -1, 526, 527, - -1, 529, 530, 531, -1, 533, 534, 535, 536, 537, - 538, 539, 540, 541, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 123, - -1, 125, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 391, -1, 322, -1, -1, 396, 397, 398, + -1, -1, -1, -1, -1, -1, 358, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, -1, -1, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, - 429, 430, 431, 432, -1, 0, -1, -1, -1, -1, + 429, 430, 431, 432, 123, -1, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 448, 449, 450, 451, -1, 453, 454, 455, 456, -1, -1, 459, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, -1, 471, 472, 473, -1, -1, -1, -1, -1, - -1, 409, -1, 411, 412, 413, -1, -1, -1, -1, - -1, -1, -1, -1, 59, 423, -1, -1, -1, -1, - 428, -1, -1, 431, 432, -1, -1, -1, -1, 508, - 509, -1, -1, -1, -1, -1, 260, -1, -1, 263, - 448, 449, 450, 451, -1, 453, 454, 526, 527, 273, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 508, + 509, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 526, 527, -1, 529, 530, 531, -1, 533, 534, 535, 536, 537, 538, - 539, 540, 541, -1, -1, 473, -1, -1, -1, -1, - -1, -1, 296, -1, -1, -1, -1, -1, 123, -1, - 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 322, -1, - 508, 509, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 339, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 535, 536, 537, - 538, 539, 540, 541, -1, -1, -1, -1, -1, -1, + 539, 540, 541, -1, -1, -1, -1, -1, -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 391, -1, -1, - -1, -1, 396, 397, 398, 399, 400, 401, 402, 403, - 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, - -1, -1, -1, 417, 418, 419, 420, 421, 422, 423, - 424, 425, 426, 427, 428, 429, 430, 431, 432, -1, - 0, -1, -1, -1, -1, 260, -1, -1, 263, -1, - -1, -1, -1, -1, 448, 449, 450, 451, 273, 453, - 454, 455, 456, -1, -1, 459, -1, 461, -1, 463, - 464, 465, 466, -1, 468, 469, -1, 471, 472, 473, - -1, 296, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, - -1, -1, -1, -1, -1, -1, -1, 322, -1, -1, - -1, -1, -1, -1, 508, 509, -1, -1, -1, -1, + -1, 260, -1, -1, 263, -1, -1, -1, -1, -1, + -1, 543, -1, -1, 273, -1, -1, -1, 277, 278, + 279, -1, 281, 282, 283, 284, -1, 286, 287, 288, + -1, 290, 291, 292, 293, -1, -1, 296, 297, 298, + -1, -1, -1, 123, -1, 125, -1, -1, -1, -1, + 59, 294, 295, -1, -1, -1, -1, 300, -1, 302, + -1, -1, -1, 322, -1, -1, 309, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 339, -1, -1, 326, 327, -1, 329, 330, 331, 332, + 333, -1, -1, -1, -1, 338, -1, -1, 341, -1, + 359, -1, -1, -1, 347, 364, 365, -1, -1, 352, + -1, 354, -1, -1, -1, -1, 125, -1, -1, -1, + -1, -1, -1, 366, 367, 368, 369, 370, 371, 372, + 373, -1, -1, -1, -1, -1, 379, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, -1, -1, -1, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 431, 432, -1, 0, -1, -1, -1, -1, + 260, -1, -1, 263, -1, -1, -1, -1, -1, 448, + 449, 450, 451, 273, 453, 454, 455, 456, -1, -1, + 459, -1, 461, -1, 463, 464, 465, 466, -1, 468, + 469, -1, 471, 472, 473, -1, 296, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 59, -1, -1, -1, -1, -1, + -1, -1, 322, -1, -1, -1, -1, -1, -1, 508, + 509, -1, -1, -1, -1, -1, -1, -1, -1, 339, + -1, -1, -1, -1, 273, -1, -1, 526, 527, -1, + 529, 530, 531, -1, 533, 534, 535, 536, 537, 538, + 539, 540, 541, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 123, -1, + 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 391, -1, 322, -1, -1, 396, 397, 398, 399, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 413, -1, -1, -1, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, 431, 432, -1, 0, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 448, 449, + 450, 451, -1, 453, 454, 455, 456, -1, -1, 459, + -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, + -1, 471, 472, 473, -1, -1, -1, -1, -1, -1, + 409, -1, 411, 412, 413, -1, -1, -1, -1, -1, + -1, -1, -1, 59, 423, -1, -1, -1, -1, 428, + -1, -1, 431, 432, -1, -1, -1, -1, 508, 509, + -1, -1, -1, -1, -1, 260, -1, -1, 263, 448, + 449, 450, 451, -1, 453, 454, 526, 527, 273, 529, + 530, 531, -1, 533, 534, 535, 536, 537, 538, 539, + 540, 541, -1, -1, 473, -1, -1, -1, -1, -1, + -1, 296, -1, -1, -1, -1, -1, 123, -1, 125, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 322, -1, 508, + 509, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 339, -1, -1, -1, -1, -1, - -1, -1, 526, 527, -1, 529, 530, 531, -1, 533, - 534, 535, 536, 537, 538, 539, 540, 541, -1, -1, + -1, -1, -1, -1, -1, -1, 535, 536, 537, 538, + 539, 540, 541, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 123, -1, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 391, -1, -1, -1, -1, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, -1, -1, 417, 418, 419, 420, 421, 422, 423, 424, - 425, 426, 427, 428, 429, 430, 431, 432, -1, -1, - -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, - -1, -1, -1, 448, 449, 450, 451, -1, 453, 454, + 425, 426, 427, 428, 429, 430, 431, 432, -1, 0, + -1, -1, -1, -1, 260, -1, -1, 263, -1, -1, + -1, -1, -1, 448, 449, 450, 451, 273, 453, 454, 455, 456, -1, -1, 459, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, -1, 471, 472, 473, -1, - -1, -1, -1, -1, 40, 41, -1, -1, 44, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 59, -1, 61, -1, -1, -1, -1, + 296, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 59, -1, + -1, -1, -1, -1, -1, -1, 322, -1, -1, -1, -1, -1, -1, 508, 509, -1, -1, -1, -1, -1, - 260, -1, -1, 263, -1, -1, -1, -1, -1, -1, - -1, 526, 527, 273, 529, 530, 531, -1, 533, 534, + -1, -1, -1, 339, -1, -1, -1, -1, -1, -1, + -1, 526, 527, -1, 529, 530, 531, -1, 533, 534, 535, 536, 537, 538, 539, 540, 541, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 296, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 123, -1, 125, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 322, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 339, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 391, -1, -1, -1, -1, 396, 397, 398, 399, - 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, - 410, 411, 412, 413, -1, -1, -1, 417, 418, 419, - 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, - 430, 431, 432, -1, -1, 0, -1, -1, -1, -1, - -1, -1, -1, -1, 260, 261, -1, 263, 448, 449, - 450, 451, -1, 453, 454, 455, 456, 273, 274, 459, - -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, - -1, 471, 472, 473, -1, 40, 41, -1, -1, 44, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 59, 311, 61, -1, -1, -1, - 316, -1, -1, -1, -1, -1, 322, -1, 508, 509, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 33, -1, 526, 527, -1, 529, - 530, 531, -1, 533, 534, 535, 536, 537, 538, 539, - 540, 541, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 123, -1, - 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 123, -1, 125, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 391, -1, -1, -1, -1, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, -1, - -1, 417, 418, 419, 420, 421, 422, 423, -1, -1, - -1, -1, 428, -1, -1, 431, 432, -1, -1, 0, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 426, 427, 428, 429, 430, 431, 432, -1, -1, -1, + -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, 448, 449, 450, 451, -1, 453, 454, 455, 456, -1, -1, 459, -1, 461, -1, 463, 464, 465, - -1, -1, 468, 469, -1, 471, 472, 473, -1, 40, - 41, -1, -1, 44, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 59, -1, - 61, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 508, 509, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 273, 274, - 526, 527, -1, 529, 530, 531, -1, 533, 534, 535, - 536, 537, 538, 539, 540, 541, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 123, -1, 125, -1, 311, -1, -1, -1, - -1, 316, -1, -1, -1, -1, -1, 322, -1, -1, - -1, -1, 271, -1, -1, -1, 275, 276, 277, 278, - 279, -1, 281, 282, 283, 284, -1, 286, 287, -1, - -1, 290, 291, 292, 293, -1, -1, -1, 297, 298, - -1, -1, 0, -1, -1, -1, -1, 306, -1, 308, + 466, -1, 468, 469, -1, 471, 472, 473, -1, -1, + -1, -1, -1, 40, 41, -1, -1, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 323, 324, 325, -1, -1, -1, + -1, -1, 59, -1, 61, -1, -1, -1, -1, -1, + -1, -1, 508, 509, -1, -1, -1, -1, -1, 260, + -1, -1, 263, -1, -1, -1, -1, -1, -1, -1, + 526, 527, 273, 529, 530, 531, -1, 533, 534, 535, + 536, 537, 538, 539, 540, 541, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 296, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 123, -1, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 396, 397, 398, 399, 400, 401, 402, 403, 404, - 405, 406, 407, 408, 409, 410, 411, 412, 413, 358, - -1, 59, 417, 418, 419, 420, 421, 422, 423, -1, - -1, -1, -1, 428, -1, -1, 431, 432, -1, -1, + -1, 322, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 339, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 448, 449, 450, 451, -1, 453, 454, - 455, 456, 273, 274, 459, -1, 461, -1, 463, 464, - 465, -1, -1, 468, 469, -1, 471, 472, 473, -1, - -1, -1, -1, -1, -1, 123, -1, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 311, -1, -1, -1, -1, 316, -1, -1, -1, -1, - -1, 322, -1, 508, 509, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 526, 527, -1, 529, 530, 531, -1, 533, 534, - 535, 536, 537, 538, 539, 540, 541, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 396, 397, 398, 399, 400, + 391, -1, -1, -1, -1, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, - 411, 412, 413, -1, 543, -1, 417, 418, 419, 420, - 421, 422, 423, -1, -1, -1, -1, 428, -1, -1, - 431, 432, 260, 59, -1, 263, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 273, -1, 448, 449, 450, - 451, -1, 453, 454, 455, 456, -1, -1, 459, -1, - 461, -1, 463, 464, 465, -1, -1, 468, 469, -1, - 471, 472, 473, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 322, -1, -1, 123, -1, 125, - -1, -1, -1, -1, -1, -1, -1, 508, 509, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 526, 527, -1, 529, 530, + 411, 412, 413, -1, -1, -1, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + 431, 432, -1, -1, 0, -1, -1, -1, -1, -1, + -1, -1, -1, 260, 261, -1, 263, 448, 449, 450, + 451, -1, 453, 454, 455, 456, 273, 274, 459, -1, + 461, -1, 463, 464, 465, 466, -1, 468, 469, -1, + 471, 472, 473, -1, 40, 41, -1, -1, 44, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 59, 311, 61, -1, -1, -1, 316, + -1, -1, -1, -1, -1, 322, -1, 508, 509, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 33, -1, 526, 527, -1, 529, 530, 531, -1, 533, 534, 535, 536, 537, 538, 539, 540, - 541, -1, -1, -1, -1, -1, -1, 0, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 396, 397, - 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, - 408, 409, 410, 411, 412, 413, -1, -1, -1, 417, - 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, - 428, 429, 430, 431, 432, -1, 59, -1, -1, -1, + 541, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 123, -1, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 448, 449, 450, 451, -1, 453, 454, 455, 456, -1, - -1, 459, -1, 461, 260, -1, 464, 263, -1, -1, - -1, -1, -1, 471, 472, 473, -1, 273, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 396, + 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, 413, -1, -1, -1, + 417, 418, 419, 420, 421, 422, 423, -1, -1, -1, + -1, 428, -1, -1, 431, 432, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 448, 449, 450, 451, -1, 453, 454, 455, 456, + -1, -1, 459, -1, 461, -1, 463, 464, 465, -1, + -1, 468, 469, -1, 471, 472, 473, -1, 40, 41, + -1, -1, 44, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 59, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 123, -1, 125, -1, -1, -1, -1, -1, -1, -1, - 508, 509, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 322, -1, 526, 527, - -1, 529, 530, 531, -1, 533, 534, 535, 536, 537, - 538, 539, 540, 541, -1, -1, -1, -1, -1, -1, + -1, 508, 509, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 273, 274, 526, + 527, -1, 529, 530, 531, -1, 533, 534, 535, 536, + 537, 538, 539, 540, 541, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 123, -1, 125, -1, 311, -1, -1, -1, -1, + 316, -1, -1, -1, -1, -1, 322, -1, -1, -1, + -1, 271, -1, -1, -1, 275, 276, 277, 278, 279, + -1, 281, 282, 283, 284, -1, 286, 287, -1, -1, + 290, 291, 292, 293, -1, -1, -1, 297, 298, -1, + -1, 0, -1, -1, -1, -1, 306, -1, 308, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 323, 324, 325, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, - 406, 407, 408, 409, 410, 411, 412, 413, -1, -1, - 59, 417, 418, 419, 420, 421, 422, 423, 424, 425, - 426, 427, 428, 429, 430, 431, 432, 260, -1, -1, + 406, 407, 408, 409, 410, 411, 412, 413, 358, -1, + 59, 417, 418, 419, 420, 421, 422, 423, -1, -1, + -1, -1, 428, -1, -1, 431, 432, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 273, 59, 448, 449, 450, 451, -1, 453, 454, 455, - 456, -1, -1, 459, -1, 461, -1, -1, 464, -1, - -1, -1, -1, -1, -1, 471, 472, 473, -1, -1, + -1, -1, 448, 449, 450, 451, -1, 453, 454, 455, + 456, 273, 274, 459, -1, 461, -1, 463, 464, 465, + -1, -1, 468, 469, -1, 471, 472, 473, -1, -1, -1, -1, -1, -1, 123, -1, 125, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 322, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 508, 509, -1, -1, -1, 125, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 311, + -1, -1, -1, -1, 316, -1, -1, -1, -1, -1, + 322, -1, 508, 509, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 526, 527, -1, 529, 530, 531, -1, 533, 534, 535, 536, 537, 538, 539, 540, 541, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 396, 397, 398, 399, 400, 401, 402, - 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, - 413, -1, -1, -1, 417, 418, 419, 420, 421, 422, - 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, - -1, -1, 59, -1, -1, -1, -1, -1, -1, -1, - -1, 260, -1, -1, -1, 448, 449, 450, 451, -1, - 453, 454, 455, 456, 273, -1, 459, -1, 461, -1, - -1, 464, -1, -1, -1, -1, -1, -1, 471, 472, - 473, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 273, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 123, -1, 125, -1, - -1, -1, -1, 322, -1, 508, 509, -1, -1, -1, + -1, -1, -1, -1, 396, 397, 398, 399, 400, 401, + 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, + 412, 413, -1, 543, -1, 417, 418, 419, 420, 421, + 422, 423, -1, -1, -1, -1, 428, -1, -1, 431, + 432, 260, 59, -1, 263, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 273, -1, 448, 449, 450, 451, + -1, 453, 454, 455, 456, -1, -1, 459, -1, 461, + -1, 463, 464, 465, -1, -1, 468, 469, -1, 471, + 472, 473, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 526, 527, -1, 529, 530, 531, -1, - 533, 534, 535, 536, 537, 538, 539, 540, 541, -1, + -1, -1, -1, 322, -1, -1, 123, -1, 125, -1, + -1, -1, -1, -1, -1, -1, 508, 509, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, + -1, -1, -1, -1, 526, 527, -1, 529, 530, 531, + -1, 533, 534, 535, 536, 537, 538, 539, 540, 541, + -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, -1, -1, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, - 429, 430, 431, 432, -1, -1, 59, -1, -1, -1, - -1, 409, 410, 411, 412, 413, -1, -1, -1, 448, - 449, 450, 451, 260, 453, 454, 455, 456, -1, -1, - 459, -1, 461, 431, 432, 464, 273, -1, -1, -1, - -1, -1, 471, 472, 473, -1, -1, -1, -1, -1, - 448, 449, 450, 451, -1, -1, -1, 455, 456, -1, - -1, -1, -1, 461, -1, 463, 464, -1, -1, -1, - 123, -1, 125, 471, 472, -1, -1, -1, -1, 508, - 509, -1, -1, -1, -1, 322, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 526, 527, -1, + 429, 430, 431, 432, -1, 59, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 448, + 449, 450, 451, -1, 453, 454, 455, 456, -1, -1, + 459, -1, 461, 260, -1, 464, 263, -1, -1, -1, + -1, -1, 471, 472, 473, -1, 273, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 123, + -1, 125, -1, -1, -1, -1, -1, -1, -1, 508, + 509, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 322, -1, 526, 527, -1, 529, 530, 531, -1, 533, 534, 535, 536, 537, 538, 539, 540, 541, -1, -1, -1, -1, -1, -1, -1, - 0, -1, -1, -1, -1, -1, -1, -1, 526, 527, - -1, 529, 530, 531, -1, 533, 534, 535, 536, 537, - 538, 539, 540, 541, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 396, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 0, -1, -1, -1, -1, -1, -1, -1, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, -1, 59, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 260, -1, -1, - -1, 448, 449, 450, 451, -1, 453, 454, 455, 456, - 273, -1, 459, -1, 461, -1, -1, 464, -1, -1, + 427, 428, 429, 430, 431, 432, 260, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 273, + 59, 448, 449, 450, 451, -1, 453, 454, 455, 456, + -1, -1, 459, -1, 461, -1, -1, 464, -1, -1, -1, -1, -1, -1, 471, 472, 473, -1, -1, -1, -1, -1, -1, 123, -1, 125, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 322, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 322, - -1, 508, 509, -1, -1, -1, -1, -1, -1, -1, + -1, 508, 509, -1, -1, -1, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 526, 527, -1, 529, 530, 531, -1, 533, 534, 535, 536, 537, 538, 539, 540, 541, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 396, 397, 398, 399, 400, 401, 402, - 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, - 413, -1, -1, -1, 417, 418, 419, 420, 421, 422, - 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, - 260, 59, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 273, -1, 448, 449, 450, 451, -1, - 453, 454, 455, 456, -1, -1, 459, -1, 461, -1, - -1, 464, -1, -1, -1, -1, -1, -1, 471, 472, - 473, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 396, 397, 398, 399, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, + -1, -1, -1, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, 431, 432, -1, + -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, + 260, -1, -1, -1, 448, 449, 450, 451, -1, 453, + 454, 455, 456, 273, -1, 459, -1, 461, -1, -1, + 464, -1, -1, -1, -1, -1, -1, 471, 472, 473, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 322, -1, -1, 123, -1, 125, -1, -1, - -1, -1, -1, -1, -1, 508, 509, -1, -1, -1, + -1, -1, -1, -1, 273, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 123, -1, 125, -1, -1, + -1, -1, 322, -1, 508, 509, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 526, 527, -1, 529, 530, 531, -1, - 533, 534, 535, 536, 537, 538, 539, 540, 541, -1, - -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, + -1, -1, 526, 527, -1, 529, 530, 531, -1, 533, + 534, 535, 536, 537, 538, 539, 540, 541, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, -1, -1, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, - 430, 431, 432, -1, 59, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 448, 449, - 450, 451, -1, 453, 454, 455, 456, -1, -1, 459, - -1, 461, 260, -1, 464, 263, -1, -1, -1, -1, - -1, 471, 472, 473, -1, 273, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 123, -1, - 125, -1, -1, -1, -1, -1, -1, -1, 508, 509, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 322, -1, 526, 527, -1, 529, + 430, 431, 432, -1, -1, 59, -1, -1, -1, -1, + 409, 410, 411, 412, 413, -1, -1, -1, 448, 449, + 450, 451, 260, 453, 454, 455, 456, -1, -1, 459, + -1, 461, 431, 432, 464, 273, -1, -1, -1, -1, + -1, 471, 472, 473, -1, -1, -1, -1, -1, 448, + 449, 450, 451, -1, -1, -1, 455, 456, -1, -1, + -1, -1, 461, -1, 463, 464, -1, -1, -1, 123, + -1, 125, 471, 472, -1, -1, -1, -1, 508, 509, + -1, -1, -1, -1, 322, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 526, 527, -1, 529, 530, 531, -1, 533, 534, 535, 536, 537, 538, 539, - 540, 541, -1, -1, -1, -1, -1, -1, -1, -1, + 540, 541, -1, -1, -1, -1, -1, -1, -1, 0, + -1, -1, -1, -1, -1, -1, -1, 526, 527, -1, + 529, 530, 531, -1, 533, 534, 535, 536, 537, 538, + 539, 540, 541, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 396, 397, + 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, + 408, 409, 410, 411, 412, 413, -1, -1, 59, 417, + 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 430, 431, 432, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 260, -1, -1, -1, + 448, 449, 450, 451, -1, 453, 454, 455, 456, 273, + -1, 459, -1, 461, -1, -1, 464, -1, -1, -1, + -1, -1, -1, 471, 472, 473, -1, -1, -1, -1, + -1, -1, 123, -1, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 322, -1, + 508, 509, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 526, 527, + -1, 529, 530, 531, -1, 533, 534, 535, 536, 537, + 538, 539, 540, 541, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 396, 397, 398, 399, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, + -1, -1, -1, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, 431, 432, 260, + 59, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 273, -1, 448, 449, 450, 451, -1, 453, + 454, 455, 456, -1, -1, 459, -1, 461, -1, -1, + 464, -1, -1, -1, -1, -1, -1, 471, 472, 473, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 0, -1, -1, 396, 397, - 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, - 408, 409, 410, 411, 412, 413, -1, -1, -1, 417, - 418, 419, 420, 421, 422, 423, -1, -1, -1, -1, - 428, -1, -1, 431, 432, 260, -1, -1, 263, 44, - -1, -1, -1, -1, -1, -1, -1, -1, 273, -1, - 448, 449, 450, 451, 59, 453, 454, 455, 456, -1, - -1, 459, -1, 461, -1, 463, 464, 465, -1, -1, - 468, 469, -1, 471, 472, 473, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 33, -1, -1, 322, -1, -1, + -1, 322, -1, -1, 123, -1, 125, -1, -1, -1, + -1, -1, -1, -1, 508, 509, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 508, 509, -1, -1, -1, -1, -1, -1, 123, -1, - 125, -1, -1, -1, -1, -1, -1, -1, 526, 527, - -1, 529, 530, 531, -1, 533, 534, 535, 536, 537, - 538, 539, 540, 541, -1, -1, -1, -1, -1, -1, - -1, -1, 91, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, - -1, 396, 397, 398, 399, 400, 401, 402, 403, 404, - 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, - -1, -1, 417, 418, 419, 420, 421, 422, 423, -1, - -1, -1, -1, 428, -1, -1, 431, 432, -1, -1, + -1, -1, 526, 527, -1, 529, 530, 531, -1, 533, + 534, 535, 536, 537, 538, 539, 540, 541, -1, -1, + -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 59, -1, 448, 449, 450, 451, -1, 453, 454, - 455, 456, -1, -1, 459, -1, 461, -1, 463, 464, - 465, -1, -1, 468, 469, -1, 471, 472, 473, -1, - -1, -1, -1, -1, -1, 260, -1, -1, 263, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 273, -1, + -1, -1, -1, -1, -1, 396, 397, 398, 399, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, 413, -1, -1, -1, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + 431, 432, -1, 59, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 448, 449, 450, + 451, -1, 453, 454, 455, 456, -1, -1, 459, -1, + 461, 260, -1, 464, 263, -1, -1, -1, -1, -1, + 471, 472, 473, -1, 273, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 508, 509, 123, -1, 125, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 123, -1, 125, + -1, -1, -1, -1, -1, -1, -1, 508, 509, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 526, 527, 0, 529, 530, 531, -1, 533, 534, - 535, 536, 537, 538, 539, 540, 541, 322, -1, -1, - -1, 260, 261, -1, 263, -1, -1, -1, -1, 268, - -1, -1, 271, -1, -1, -1, 275, 276, 277, 278, - 279, -1, 281, 282, 283, 284, -1, 286, 287, -1, - -1, 290, 291, 292, 293, -1, -1, 296, 297, 298, - -1, -1, 59, -1, 61, -1, -1, 306, -1, 308, + -1, -1, -1, 322, -1, 526, 527, -1, 529, 530, + 531, -1, 533, 534, 535, 536, 537, 538, 539, 540, + 541, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 323, 324, 325, -1, -1, -1, - -1, 396, 397, 398, 399, 400, 401, 402, 403, 404, - 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, - -1, -1, 417, 418, 419, 420, 421, 422, 423, 358, - 359, -1, 260, 428, -1, 263, 431, 432, 125, -1, - -1, -1, -1, -1, -1, 273, -1, -1, -1, -1, - -1, -1, -1, 448, 449, 450, 451, -1, 453, 454, - 455, 456, -1, -1, 459, -1, 461, -1, -1, 464, - -1, -1, -1, -1, 0, -1, 471, 472, 473, -1, - -1, -1, -1, -1, -1, 414, 415, 416, -1, -1, - -1, -1, -1, -1, 322, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, - -1, -1, -1, 508, 509, -1, -1, -1, -1, -1, - -1, -1, 451, -1, -1, -1, -1, -1, -1, -1, - -1, 526, 527, 59, 529, 530, 531, -1, 533, 534, - 535, 536, 537, 538, 539, 540, 541, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 59, -1, -1, -1, 396, 397, - 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, - 408, 409, 410, 411, 412, 413, 273, -1, -1, 417, - 418, 419, 420, 421, 422, 423, -1, -1, -1, 125, - 428, -1, -1, 431, 432, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 543, -1, -1, 0, -1, -1, - 448, 449, 450, 451, -1, 453, 454, 455, 456, -1, - 125, 459, -1, 461, -1, 322, 464, -1, -1, -1, - -1, -1, -1, 471, 472, 473, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 59, -1, -1, -1, - 508, 509, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 526, 527, - -1, 529, 530, 531, -1, 533, 534, 535, 536, 537, - 538, 539, 540, 541, -1, -1, -1, -1, -1, -1, - -1, -1, 409, 410, 411, 412, 413, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 423, -1, -1, -1, - -1, 428, 125, -1, 431, 432, -1, 273, -1, -1, - 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 448, 449, 450, 451, -1, 453, 454, 455, 456, - -1, -1, -1, -1, 461, -1, -1, 464, 273, -1, - -1, -1, -1, -1, 471, 472, 473, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 322, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, + -1, -1, -1, -1, 0, -1, -1, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, -1, -1, -1, 417, 418, + 419, 420, 421, 422, 423, -1, -1, -1, -1, 428, + -1, -1, 431, 432, 260, -1, -1, 263, 44, -1, + -1, -1, -1, -1, -1, -1, -1, 273, -1, 448, + 449, 450, 451, 59, 453, 454, 455, 456, -1, -1, + 459, -1, 461, -1, 463, 464, 465, -1, -1, 468, + 469, -1, 471, 472, 473, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 508, 509, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 526, - 527, -1, 529, 530, 531, -1, 533, 534, 535, 536, - 537, 538, 539, 540, 541, -1, -1, -1, -1, -1, + -1, -1, -1, 33, -1, -1, 322, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 508, + 509, -1, -1, -1, -1, -1, -1, 123, -1, 125, + -1, -1, -1, -1, -1, -1, -1, 526, 527, -1, + 529, 530, 531, -1, 533, 534, 535, 536, 537, 538, + 539, 540, 541, -1, -1, -1, -1, -1, -1, -1, + -1, 91, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 125, -1, -1, -1, -1, - -1, -1, -1, 409, 410, 411, 412, 413, -1, -1, - 273, -1, 0, -1, -1, -1, -1, 423, -1, -1, + 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, + 406, 407, 408, 409, 410, 411, 412, 413, -1, -1, + -1, 417, 418, 419, 420, 421, 422, 423, -1, -1, -1, -1, 428, -1, -1, 431, 432, -1, -1, -1, - -1, -1, -1, -1, 409, 410, 411, 412, 413, -1, - 59, -1, 448, 449, 450, 451, -1, 453, 454, 455, - 456, -1, -1, -1, -1, 461, 431, 432, 464, -1, - -1, -1, -1, -1, -1, 471, 472, 473, -1, -1, - -1, 59, -1, 448, 449, 450, 451, -1, -1, -1, - 455, 456, -1, -1, -1, -1, 461, -1, -1, 464, - -1, -1, -1, -1, -1, -1, 471, 472, -1, -1, - -1, -1, 508, 509, -1, -1, 125, -1, -1, -1, - -1, -1, -1, 42, -1, -1, -1, -1, -1, -1, - 526, 527, -1, 529, 530, 531, -1, 533, 534, 535, - 536, 537, 538, 539, 540, 541, -1, 125, -1, -1, - -1, -1, -1, 273, -1, -1, 409, 410, 411, 412, - 413, 526, 527, -1, 529, 530, 531, -1, 533, 534, - 535, 536, 537, 538, 539, 540, 541, 0, 431, 432, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 448, 449, 450, 451, -1, - -1, -1, 455, 456, -1, -1, -1, -1, 461, -1, - -1, 464, -1, -1, -1, -1, -1, -1, 471, 472, + 59, -1, 448, 449, 450, 451, -1, 453, 454, 455, + 456, -1, -1, 459, -1, 461, -1, 463, 464, 465, + -1, -1, 468, 469, -1, 471, 472, 473, -1, -1, + -1, -1, -1, -1, 260, -1, -1, 263, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 273, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 59, -1, -1, -1, + -1, -1, 508, 509, 123, -1, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 526, 527, 0, 529, 530, 531, -1, 533, 534, 535, + 536, 537, 538, 539, 540, 541, 322, -1, -1, -1, + 260, 261, -1, 263, -1, -1, -1, -1, 268, -1, + -1, 271, -1, -1, -1, 275, 276, 277, 278, 279, + -1, 281, 282, 283, 284, -1, 286, 287, -1, -1, + 290, 291, 292, 293, -1, -1, 296, 297, 298, -1, + -1, 59, -1, 61, -1, -1, 306, -1, 308, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 323, 324, 325, -1, -1, -1, -1, + 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, + 406, 407, 408, 409, 410, 411, 412, 413, -1, -1, + -1, 417, 418, 419, 420, 421, 422, 423, 358, 359, + -1, 260, 428, -1, 263, 431, 432, 125, -1, -1, -1, -1, -1, -1, 273, -1, -1, -1, -1, -1, - -1, -1, -1, 526, 527, -1, 529, 530, 531, -1, - 533, 534, 535, 536, 537, 538, 539, 540, 541, 409, - 410, 411, 412, 413, -1, 273, -1, -1, -1, -1, - -1, -1, 125, -1, -1, -1, -1, -1, -1, -1, - -1, 431, 432, -1, -1, -1, -1, -1, 0, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 448, 449, - 450, 451, -1, -1, -1, 455, 456, -1, 257, -1, - -1, 461, -1, -1, 464, -1, -1, -1, -1, 0, - -1, 471, 472, -1, -1, -1, -1, 276, 277, -1, - 279, 280, 281, 282, 283, 284, -1, 286, 287, -1, - 289, 290, 291, 292, 293, -1, -1, 59, -1, -1, + -1, -1, 448, 449, 450, 451, -1, 453, 454, 455, + 456, -1, -1, 459, -1, 461, -1, -1, 464, -1, + -1, -1, -1, 0, -1, 471, 472, 473, -1, -1, + -1, -1, -1, -1, 414, 415, 416, -1, -1, -1, + -1, -1, -1, 322, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, + -1, -1, 508, 509, -1, -1, -1, -1, -1, -1, + -1, 451, -1, -1, -1, -1, -1, -1, -1, -1, + 526, 527, 59, 529, 530, 531, -1, 533, 534, 535, + 536, 537, 538, 539, 540, 541, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 59, -1, -1, -1, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 273, -1, -1, 417, 418, + 419, 420, 421, 422, 423, -1, -1, -1, 125, 428, + -1, -1, 431, 432, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 543, -1, -1, 0, -1, -1, 448, + 449, 450, 451, -1, 453, 454, 455, 456, -1, 125, + 459, -1, 461, -1, 322, 464, -1, -1, -1, -1, + -1, -1, 471, 472, 473, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 409, 410, 411, 412, 413, -1, 526, 527, 59, 529, - 530, 531, -1, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 431, 432, -1, -1, -1, -1, -1, -1, - -1, 409, 410, 411, 412, 413, -1, -1, -1, 448, - 449, 450, 451, 125, -1, -1, 455, 456, -1, -1, - 273, -1, 461, 431, 432, 464, -1, -1, -1, -1, - 0, -1, 471, 472, -1, -1, -1, -1, -1, -1, - 448, 449, 450, 451, 125, -1, -1, 455, 456, -1, - -1, -1, -1, 461, -1, -1, 464, -1, -1, -1, - -1, -1, -1, 471, 472, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 526, 527, 59, + -1, -1, -1, -1, -1, 59, -1, -1, -1, 508, + 509, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 526, 527, -1, 529, 530, 531, -1, 533, 534, 535, 536, 537, 538, 539, 540, 541, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 526, 527, - -1, 529, 530, 531, -1, 533, 534, 535, 536, 537, - 538, 539, 540, 541, -1, 484, 485, -1, 487, 488, - 489, -1, 491, 492, -1, -1, 495, 496, -1, 498, - -1, -1, -1, -1, -1, 125, 409, 410, 411, 412, - 413, 273, 511, 512, 513, 514, 515, 516, 517, 518, - 519, 520, 521, 522, 523, 524, -1, -1, 431, 432, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 273, -1, -1, 448, 449, 450, 451, -1, - -1, -1, 455, 456, -1, -1, -1, -1, 461, -1, - -1, 464, -1, -1, -1, -1, -1, -1, 471, 472, + -1, 409, 410, 411, 412, 413, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 423, -1, -1, -1, -1, + 428, 125, -1, 431, 432, -1, 273, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 448, 449, 450, 451, -1, 453, 454, 455, 456, -1, + -1, -1, -1, 461, -1, -1, 464, 273, -1, -1, + -1, -1, -1, 471, 472, 473, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 322, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 508, 509, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 526, 527, + -1, 529, 530, 531, -1, 533, 534, 535, 536, 537, + 538, 539, 540, 541, -1, -1, -1, -1, -1, -1, + 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 125, -1, -1, -1, -1, -1, + -1, -1, 409, 410, 411, 412, 413, -1, -1, 273, + -1, 0, -1, -1, -1, -1, 423, -1, -1, -1, + -1, 428, -1, -1, 431, 432, -1, -1, -1, -1, + -1, -1, -1, 409, 410, 411, 412, 413, -1, 59, + -1, 448, 449, 450, 451, -1, 453, 454, 455, 456, + -1, -1, -1, -1, 461, 431, 432, 464, -1, -1, + -1, -1, -1, -1, 471, 472, 473, -1, -1, -1, + 59, -1, 448, 449, 450, 451, -1, -1, -1, 455, + 456, -1, -1, -1, -1, 461, -1, -1, 464, -1, + -1, -1, -1, -1, -1, 471, 472, -1, -1, -1, + -1, 508, 509, -1, -1, 125, -1, -1, -1, -1, + -1, -1, 42, -1, -1, -1, -1, -1, -1, 526, + 527, -1, 529, 530, 531, -1, 533, 534, 535, 536, + 537, 538, 539, 540, 541, -1, 125, -1, -1, -1, + -1, -1, 273, -1, -1, 409, 410, 411, 412, 413, + 526, 527, -1, 529, 530, 531, -1, 533, 534, 535, + 536, 537, 538, 539, 540, 541, 0, 431, 432, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 448, 449, 450, 451, -1, -1, + -1, 455, 456, -1, -1, -1, -1, 461, -1, -1, + 464, -1, -1, -1, -1, -1, -1, 471, 472, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 526, 527, -1, 529, 530, 531, -1, - 533, 534, 535, 536, 537, 538, 539, 540, 541, -1, - -1, -1, -1, -1, -1, -1, -1, 409, 410, 411, - 412, 413, -1, 273, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 431, - 432, -1, -1, -1, -1, -1, -1, -1, 409, 410, - 411, 412, 413, -1, -1, -1, 448, 449, 450, 451, - -1, -1, -1, 455, 456, -1, -1, -1, -1, 461, - 431, 432, 464, -1, -1, -1, -1, -1, -1, 471, - 472, -1, -1, -1, -1, -1, -1, 448, 449, 450, - 451, -1, 33, -1, 455, 456, -1, 38, -1, -1, - 461, 42, -1, 464, -1, -1, -1, -1, -1, -1, - 471, 472, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 526, 527, -1, 529, 530, 531, - -1, 533, 534, 535, 536, 537, 538, 539, 540, 541, - 91, -1, -1, -1, -1, -1, -1, -1, -1, 409, - 410, 411, 412, 413, -1, 526, 527, -1, 529, 530, + -1, -1, -1, 273, -1, -1, -1, -1, -1, -1, + -1, -1, 526, 527, -1, 529, 530, 531, -1, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 409, 410, + 411, 412, 413, -1, 273, -1, -1, -1, -1, -1, + -1, 125, -1, -1, -1, -1, -1, -1, -1, -1, + 431, 432, -1, -1, -1, -1, -1, 0, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 448, 449, 450, + 451, -1, -1, -1, 455, 456, -1, 257, -1, -1, + 461, -1, -1, 464, -1, -1, -1, -1, 0, -1, + 471, 472, -1, -1, -1, -1, 276, 277, -1, 279, + 280, 281, 282, 283, 284, -1, 286, 287, -1, 289, + 290, 291, 292, 293, -1, -1, 59, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 409, + 410, 411, 412, 413, -1, 526, 527, 59, 529, 530, 531, -1, 533, 534, 535, 536, 537, 538, 539, 540, 541, 431, 432, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 448, 449, - 450, 451, -1, -1, -1, 455, 456, -1, -1, -1, - -1, 461, -1, -1, 464, -1, -1, -1, -1, -1, - -1, 471, 472, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 33, -1, -1, -1, -1, 38, - -1, -1, -1, 42, -1, -1, -1, -1, -1, -1, + 409, 410, 411, 412, 413, -1, -1, -1, 448, 449, + 450, 451, 125, -1, -1, 455, 456, -1, -1, 273, + -1, 461, 431, 432, 464, -1, -1, -1, -1, 0, + -1, 471, 472, -1, -1, -1, -1, -1, -1, 448, + 449, 450, 451, 125, -1, -1, 455, 456, -1, -1, + -1, -1, 461, -1, -1, 464, -1, -1, -1, -1, + -1, -1, 471, 472, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 526, 527, -1, 529, + -1, -1, -1, -1, -1, -1, 526, 527, 59, 529, 530, 531, -1, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 91, -1, -1, -1, -1, -1, -1, -1, + 540, 541, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 526, 527, -1, + 529, 530, 531, -1, 533, 534, 535, 536, 537, 538, + 539, 540, 541, -1, 484, 485, -1, 487, 488, 489, + -1, 491, 492, -1, -1, 495, 496, -1, 498, -1, + -1, -1, -1, -1, 125, 409, 410, 411, 412, 413, + 273, 511, 512, 513, 514, 515, 516, 517, 518, 519, + 520, 521, 522, 523, 524, -1, -1, 431, 432, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 260, - 261, -1, 263, -1, -1, -1, -1, 268, -1, -1, - 271, -1, -1, -1, 275, 276, 277, 278, 279, -1, - 281, 282, 283, 284, -1, 286, 287, -1, -1, 290, - 291, 292, 293, -1, -1, 296, 297, 298, -1, -1, - -1, -1, -1, -1, -1, 306, -1, 308, -1, -1, + -1, 273, -1, -1, 448, 449, 450, 451, -1, -1, + -1, 455, 456, -1, -1, -1, -1, 461, -1, -1, + 464, -1, -1, -1, -1, -1, -1, 471, 472, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 323, 324, 325, -1, -1, -1, -1, -1, - -1, 33, -1, -1, -1, -1, 38, -1, -1, -1, - 42, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 358, 60, 360, - 361, 362, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 374, 375, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 91, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 260, 261, -1, 263, -1, -1, -1, -1, 268, - -1, -1, 271, 414, 415, 416, 275, 276, 277, 278, - 279, -1, 281, 282, 283, 284, -1, 286, 287, -1, - -1, 290, 291, 292, 293, -1, -1, 296, 297, 298, - -1, -1, -1, 33, -1, -1, -1, 306, -1, 308, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 323, 324, 325, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, - -1, 360, 361, 362, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 374, 375, -1, -1, -1, + -1, -1, 526, 527, -1, 529, 530, 531, -1, 533, + 534, 535, 536, 537, 538, 539, 540, 541, -1, -1, + -1, -1, -1, -1, -1, -1, 409, 410, 411, 412, + 413, -1, 273, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 431, 432, + -1, -1, -1, -1, -1, -1, -1, 409, 410, 411, + 412, 413, -1, -1, -1, 448, 449, 450, 451, -1, + -1, -1, 455, 456, -1, -1, -1, -1, 461, 431, + 432, 464, -1, -1, -1, -1, -1, -1, 471, 472, + -1, -1, -1, -1, -1, -1, 448, 449, 450, 451, + -1, 33, -1, 455, 456, -1, 38, -1, -1, 461, + 42, -1, 464, -1, -1, -1, -1, -1, -1, 471, + 472, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 526, 527, -1, 529, 530, 531, -1, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 91, + -1, -1, -1, -1, -1, -1, -1, -1, 409, 410, + 411, 412, 413, -1, 526, 527, -1, 529, 530, 531, + -1, 533, 534, 535, 536, 537, 538, 539, 540, 541, + 431, 432, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 448, 449, 450, + 451, -1, -1, -1, 455, 456, -1, -1, -1, -1, + 461, -1, -1, 464, -1, -1, -1, -1, -1, -1, + 471, 472, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 33, -1, -1, -1, -1, 38, -1, + -1, -1, 42, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 543, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 33, 414, 415, 416, 260, 261, + 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 526, 527, -1, 529, 530, + 531, -1, 533, 534, 535, 536, 537, 538, 539, 540, + 541, 91, 33, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 260, 261, -1, 263, -1, -1, -1, -1, 268, -1, -1, 271, -1, -1, -1, 275, 276, 277, 278, 279, -1, 281, 282, 283, 284, -1, 286, 287, -1, -1, 290, 291, 292, 293, -1, -1, 296, 297, 298, -1, -1, -1, - -1, -1, -1, -1, 306, 33, 308, -1, -1, -1, - 38, -1, 91, -1, 42, -1, -1, -1, -1, -1, - -1, 323, 324, 325, -1, -1, -1, -1, -1, -1, - -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 306, -1, 308, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 358, -1, 360, 361, - 362, -1, -1, 91, 33, -1, -1, -1, -1, -1, - -1, -1, 374, 375, -1, -1, -1, -1, -1, -1, - -1, 271, -1, -1, 543, 275, 276, 277, 278, 279, - -1, 281, 282, 283, 284, -1, 286, 287, -1, -1, - 290, 291, 292, 293, 294, -1, -1, 297, 298, -1, - -1, -1, 414, 415, 416, -1, 306, -1, 308, -1, + -1, 323, 324, 325, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 323, 324, 325, -1, 327, -1, 329, - 330, 331, 332, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, - -1, -1, -1, -1, -1, -1, 366, 367, 368, 369, - -1, -1, 372, -1, 33, -1, 376, 377, 378, -1, - -1, -1, 271, -1, -1, -1, 275, 276, 277, 278, - 279, -1, 281, 282, 283, 284, -1, 286, 287, -1, - -1, 290, 291, 292, 293, -1, -1, -1, 297, 298, - -1, -1, -1, -1, -1, -1, -1, 306, -1, 308, - -1, -1, 260, 261, -1, 263, -1, -1, -1, -1, - 268, 543, 91, 271, 323, 324, 325, 275, 276, 277, - 278, 279, -1, 281, 282, 283, 284, -1, 286, 287, - -1, -1, 290, 291, 292, 293, -1, -1, 296, 297, - 298, -1, -1, -1, -1, -1, -1, -1, 306, 358, - 308, -1, -1, -1, -1, -1, 33, -1, -1, -1, - 480, -1, -1, -1, -1, 323, 324, 325, -1, -1, - -1, -1, 271, -1, -1, -1, 275, 276, 277, 278, - 279, -1, 281, 282, 283, 284, -1, 286, 287, -1, - -1, 290, 291, 292, 293, 294, -1, -1, 297, 298, - 358, -1, 360, 361, 362, -1, -1, 306, -1, 308, + -1, -1, -1, -1, -1, -1, 358, -1, 360, 361, + 362, -1, 33, -1, -1, -1, -1, 38, -1, -1, + -1, 42, 374, 375, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 260, 261, -1, 263, -1, -1, -1, -1, 268, -1, + -1, 271, 414, 415, 416, 275, 276, 277, 278, 279, + 91, 281, 282, 283, 284, -1, 286, 287, -1, -1, + 290, 291, 292, 293, -1, -1, 296, 297, 298, -1, + -1, -1, -1, -1, -1, -1, 306, -1, 308, -1, + -1, -1, -1, -1, -1, -1, 33, -1, -1, -1, + -1, -1, -1, 323, 324, 325, -1, -1, -1, -1, + 271, -1, -1, -1, 275, 276, 277, 278, 279, -1, + 281, 282, 283, 284, -1, 286, 287, -1, -1, 290, + 291, 292, 293, 294, -1, -1, 297, 298, 358, -1, + 360, 361, 362, -1, -1, 306, -1, 308, -1, -1, + -1, -1, -1, -1, 374, 375, -1, -1, -1, -1, + -1, -1, 323, 324, 325, -1, 327, -1, 329, 330, + 331, 332, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 543, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 414, 415, 416, 358, -1, -1, + -1, -1, -1, -1, -1, 366, 367, 368, 369, -1, + -1, 372, -1, -1, -1, 376, 377, 378, -1, -1, + -1, -1, -1, -1, -1, -1, 33, -1, -1, 260, + 261, -1, 263, -1, -1, -1, -1, 268, -1, -1, + 271, -1, -1, -1, 275, 276, 277, 278, 279, -1, + 281, 282, 283, 284, -1, 286, 287, -1, -1, 290, + 291, 292, 293, -1, -1, 296, 297, 298, -1, -1, + -1, -1, -1, -1, -1, 306, -1, 308, -1, -1, -1, -1, -1, -1, 91, -1, -1, -1, -1, -1, - -1, -1, -1, 543, 323, 324, 325, -1, 327, -1, - 329, 330, 331, 332, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 33, -1, 414, 415, 416, 358, - -1, -1, -1, -1, -1, -1, -1, 366, 367, 368, - 369, -1, -1, 372, -1, -1, -1, 376, 377, 378, - -1, 260, 261, -1, 263, -1, -1, -1, -1, 268, - -1, -1, 271, -1, -1, -1, 275, 276, 277, 278, - 279, -1, 281, 282, 283, 284, -1, 286, 287, -1, - -1, 290, 291, 292, 293, -1, -1, 296, 297, 298, - -1, -1, -1, -1, 33, -1, -1, 306, -1, 308, - -1, -1, -1, -1, 543, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 323, 324, 325, -1, 327, -1, + -1, -1, 323, 324, 325, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 33, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 480, + -1, -1, -1, 543, -1, -1, -1, 358, -1, 360, + 361, 362, -1, -1, 271, -1, -1, -1, 275, 276, + 277, 278, 279, -1, 281, 282, 283, 284, -1, 286, + 287, -1, -1, 290, 291, 292, 293, 294, -1, -1, + 297, 298, 91, -1, -1, -1, -1, -1, -1, 306, + -1, 308, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 543, 414, 415, 416, 323, 324, 325, 33, + 327, -1, 329, 330, 331, 332, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, - -1, 480, 91, 260, 261, 543, 263, -1, -1, -1, - -1, 268, -1, 372, 271, -1, -1, 33, 275, 276, + -1, 358, -1, -1, -1, -1, -1, -1, -1, 366, + 367, 368, 369, -1, -1, 372, -1, -1, -1, 376, + 377, 378, -1, -1, -1, -1, -1, 91, -1, -1, + -1, -1, -1, 260, 261, -1, 263, -1, -1, -1, + -1, 268, -1, -1, 271, -1, -1, 33, 275, 276, 277, 278, 279, -1, 281, 282, 283, 284, -1, 286, 287, -1, -1, 290, 291, 292, 293, -1, -1, 296, 297, 298, -1, -1, -1, -1, -1, -1, -1, 306, - -1, 308, -1, -1, -1, 414, 415, 416, -1, -1, - -1, -1, -1, -1, 543, -1, 323, 324, 325, -1, - -1, -1, -1, -1, -1, 91, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 33, -1, -1, -1, + -1, 308, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 543, -1, -1, -1, 323, 324, 325, -1, + 327, -1, -1, -1, -1, 91, -1, -1, -1, -1, + -1, 260, 261, -1, 263, -1, -1, -1, -1, 268, + -1, -1, 271, 480, -1, -1, 275, 276, 277, 278, + 279, 358, 281, 282, 283, 284, -1, 286, 287, -1, + -1, 290, 291, 292, 293, 372, -1, 296, 297, 298, + -1, -1, -1, -1, -1, -1, -1, 306, 33, 308, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 358, 359, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 271, -1, -1, -1, 275, 276, 277, 278, - 279, -1, 281, 282, 283, 284, -1, 286, 287, -1, - -1, 290, 291, 292, 293, -1, -1, -1, 297, 298, - -1, -1, -1, -1, 91, -1, -1, 306, -1, 308, - -1, -1, -1, -1, -1, -1, -1, 414, 415, 416, - -1, -1, -1, -1, 323, 324, 325, -1, -1, 33, - -1, 260, 261, -1, 263, -1, -1, 41, -1, 268, - -1, -1, 271, -1, 543, -1, 275, 276, 277, 278, - 279, -1, 281, 282, 283, 284, -1, 286, 287, 358, - -1, 290, 291, 292, 293, -1, -1, 296, 297, 298, - -1, -1, -1, -1, -1, -1, -1, 306, -1, 308, - -1, -1, -1, -1, -1, -1, -1, 91, 33, -1, -1, -1, -1, -1, 323, 324, 325, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 543, 414, 415, 416, + -1, -1, -1, -1, -1, -1, 260, 261, -1, 263, + -1, -1, -1, -1, 268, -1, -1, 271, -1, 358, + 359, 275, 276, 277, 278, 279, 91, 281, 282, 283, + 284, -1, 286, 287, -1, -1, 290, 291, 292, 293, + -1, -1, 296, 297, 298, -1, -1, -1, -1, -1, + -1, -1, 306, -1, 308, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 33, -1, 323, + 324, 325, -1, -1, -1, 414, 415, 416, -1, -1, -1, -1, -1, -1, 260, 261, -1, 263, -1, -1, -1, -1, 268, -1, -1, 271, -1, -1, -1, 275, - 276, 277, 278, 279, -1, 281, 282, 283, 284, 358, - 286, 287, -1, -1, 290, 291, 292, 293, -1, 40, - 296, 297, 298, -1, -1, -1, 543, -1, -1, -1, - 306, -1, 308, -1, -1, -1, -1, 33, 59, 60, + 276, 277, 278, 279, 358, 281, 282, 283, 284, -1, + 286, 287, -1, -1, 290, 291, 292, 293, -1, -1, + 296, 297, 298, -1, -1, 91, 543, -1, -1, -1, + 306, 33, 308, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 323, 324, 325, - -1, -1, -1, 260, 261, -1, 263, -1, -1, -1, - -1, 268, -1, -1, 271, 414, 415, 416, 275, 276, - 277, 278, 279, -1, 281, 282, 283, 284, -1, 286, - 287, -1, 358, 290, 291, 292, 293, -1, -1, 296, - 297, 298, -1, -1, -1, 91, -1, -1, -1, 306, - -1, 308, 123, -1, 125, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 323, 324, 325, -1, - -1, -1, -1, -1, 543, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 414, 415, - 416, -1, -1, -1, -1, -1, -1, 271, -1, -1, - -1, 358, 276, 277, 278, 279, -1, 281, 282, 283, - 284, -1, 286, 287, -1, -1, 290, 291, 292, 293, - -1, -1, 41, 297, 298, -1, -1, -1, 47, -1, - -1, -1, 306, -1, 308, -1, -1, -1, -1, -1, - 59, -1, -1, -1, 543, -1, -1, -1, -1, 323, - 324, 325, -1, -1, -1, -1, 271, 414, 415, 416, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 414, 415, 416, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 358, -1, -1, -1, -1, -1, -1, 91, + -1, -1, -1, -1, -1, 260, 261, -1, 263, -1, + -1, -1, -1, 268, 543, -1, 271, -1, -1, 33, 275, 276, 277, 278, 279, -1, 281, 282, 283, 284, -1, 286, 287, -1, -1, 290, 291, 292, 293, -1, - -1, -1, 297, 298, 358, -1, -1, -1, -1, 260, - -1, 306, 263, 308, -1, -1, -1, -1, -1, -1, - -1, -1, 273, -1, 123, -1, 125, -1, 323, 324, - 325, -1, -1, -1, -1, -1, -1, 543, -1, -1, - -1, 41, -1, -1, -1, 271, -1, -1, -1, -1, - 276, 277, 278, 279, -1, 281, 282, 283, 284, 59, - 286, 287, -1, 358, 290, 291, 292, 293, -1, -1, + -1, 296, 297, 298, -1, -1, -1, -1, 414, 415, + 416, 306, -1, 308, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 323, 324, + 325, -1, -1, -1, 33, -1, -1, 91, -1, -1, + -1, -1, 41, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 543, + -1, -1, -1, 358, 260, 261, -1, 263, -1, -1, + -1, -1, 268, -1, -1, 271, -1, -1, -1, 275, + 276, 277, 278, 279, -1, 281, 282, 283, 284, -1, + 286, 287, 91, -1, 290, 291, 292, 293, -1, -1, + 296, 297, 298, -1, -1, -1, -1, 33, -1, -1, + 306, -1, 308, -1, -1, -1, -1, -1, -1, 414, + 415, 416, -1, -1, -1, -1, -1, 323, 324, 325, + -1, -1, -1, -1, -1, -1, -1, 543, -1, 271, + -1, -1, -1, 275, 276, 277, 278, 279, -1, 281, + 282, 283, 284, -1, 286, 287, -1, -1, 290, 291, + 292, 293, 358, -1, -1, 297, 298, -1, -1, -1, + 33, -1, -1, -1, 306, -1, 308, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 323, 324, 325, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 271, 414, 415, + 416, 275, 276, 277, 278, 279, 358, 281, 282, 283, + 284, 40, 286, 287, -1, -1, 290, 291, 292, 293, + -1, -1, -1, 297, 298, -1, -1, -1, 543, -1, + 59, 60, 306, -1, 308, 33, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 323, + 324, 325, 271, -1, -1, -1, -1, 276, 277, 278, + 279, -1, 281, 282, 283, 284, -1, 286, 287, -1, + -1, 290, 291, 292, 293, -1, -1, -1, 297, 298, + -1, -1, -1, -1, 358, -1, -1, 306, -1, 308, + -1, -1, -1, 91, 123, -1, 125, -1, -1, -1, + -1, -1, -1, -1, 323, 324, 325, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 271, -1, 543, -1, 275, + 276, 277, 278, 279, -1, 281, 282, 283, 284, 358, + 286, 287, -1, -1, 290, 291, 292, 293, -1, -1, -1, 297, 298, -1, -1, -1, -1, -1, -1, -1, - 306, -1, 308, -1, -1, -1, -1, -1, -1, -1, + 306, -1, 308, 41, -1, -1, -1, -1, -1, 47, -1, -1, -1, -1, -1, -1, -1, 323, 324, 325, - -1, -1, -1, -1, -1, -1, 543, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 123, -1, 125, -1, -1, -1, -1, - -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 396, 397, 398, 399, 400, - 401, 402, 403, 404, 405, 406, 407, 408, -1, -1, - -1, 260, 413, -1, 263, -1, 417, 418, 419, 420, - 421, 422, -1, -1, 273, 274, -1, -1, -1, -1, - 431, 432, -1, -1, -1, -1, -1, -1, -1, 543, - -1, -1, -1, -1, -1, -1, -1, 448, 449, 450, - 451, -1, -1, -1, -1, -1, -1, -1, 459, -1, - -1, -1, -1, -1, -1, -1, -1, 47, -1, -1, - -1, -1, 473, -1, -1, -1, -1, -1, -1, 59, + -1, 59, -1, -1, -1, -1, -1, -1, 271, -1, + -1, 543, 275, 276, 277, 278, 279, -1, 281, 282, + 283, 284, -1, 286, 287, -1, -1, 290, 291, 292, + 293, -1, 358, -1, 297, 298, -1, -1, -1, -1, + -1, -1, -1, 306, -1, 308, -1, -1, -1, -1, + -1, 260, -1, -1, 263, -1, -1, -1, -1, -1, + 323, 324, 325, -1, 273, 123, 41, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 543, -1, - -1, -1, -1, -1, -1, -1, -1, 508, 509, 510, - 260, -1, -1, 263, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 273, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 535, 536, 537, 538, 539, 540, - 541, -1, 391, 123, -1, 125, -1, 396, 397, 398, + -1, -1, -1, -1, 59, -1, -1, -1, -1, 543, + -1, -1, -1, 271, -1, 358, -1, -1, 276, 277, + 278, 279, -1, 281, 282, 283, 284, -1, 286, 287, + -1, -1, 290, 291, 292, 293, -1, -1, -1, 297, + 298, -1, -1, -1, -1, -1, -1, -1, 306, -1, + 308, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 543, 323, 324, 325, 123, -1, + 125, -1, -1, -1, -1, 47, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 59, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 358, -1, -1, -1, -1, -1, -1, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, - -1, -1, 59, -1, 413, -1, -1, 543, 417, 418, - 419, 420, 421, 422, -1, -1, -1, -1, -1, -1, + -1, -1, 260, -1, 413, 263, -1, -1, 417, 418, + 419, 420, 421, 422, -1, 273, 274, 543, -1, -1, -1, -1, 431, 432, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 448, + -1, 123, -1, 125, -1, -1, -1, -1, -1, 448, 449, 450, 451, -1, -1, -1, -1, -1, -1, -1, 459, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 473, -1, 123, -1, 125, -1, + -1, -1, -1, -1, 473, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 543, -1, -1, -1, -1, 260, -1, -1, 263, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 273, 508, + 509, 510, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 535, 536, 537, 538, + 539, 540, 541, 391, 59, -1, -1, -1, 396, 397, + 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, + 408, -1, -1, -1, -1, 413, -1, -1, -1, 417, + 418, 419, 420, 421, 422, 543, -1, -1, 260, -1, + -1, 263, -1, 431, 432, -1, -1, -1, -1, -1, + -1, 273, 274, -1, -1, -1, -1, -1, -1, -1, + 448, 449, 450, 451, -1, -1, -1, -1, 123, -1, + 125, 459, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 473, 391, -1, -1, -1, + -1, 396, 397, 398, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, -1, -1, -1, -1, 413, -1, + -1, -1, 417, 418, 419, 420, 421, 422, -1, -1, + 508, 509, -1, -1, -1, -1, 431, 432, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 391, -1, -1, -1, -1, 396, 397, 398, 399, - 400, 401, 402, 403, 404, 405, 406, 407, 408, 508, - 509, 59, -1, 413, -1, -1, -1, 417, 418, 419, - 420, 421, 422, -1, -1, -1, -1, -1, -1, -1, - 260, 431, 432, 263, -1, -1, 535, 536, 537, 538, - 539, 540, 541, 273, 274, -1, -1, -1, 448, 449, - 450, 451, -1, -1, -1, -1, -1, -1, -1, 459, + -1, -1, -1, 448, 449, 450, 451, 535, 536, 537, + 538, 539, 540, 541, 459, 59, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 473, -1, + -1, -1, -1, -1, 396, 397, 398, 399, 400, 401, + 402, 403, 404, 405, 406, 407, 408, -1, -1, -1, + -1, 413, -1, -1, -1, 417, 418, 419, 420, 421, + 422, -1, -1, 508, 509, 260, -1, -1, 263, 431, + 432, -1, -1, -1, -1, -1, -1, -1, 273, 123, + -1, 125, -1, -1, -1, -1, 448, 449, 450, 451, + 535, 536, 537, 538, 539, 540, 541, 459, 59, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 473, -1, 123, -1, 125, -1, -1, + -1, 473, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 508, 509, - -1, -1, -1, 260, -1, -1, 263, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 273, -1, -1, -1, - -1, -1, -1, -1, -1, 535, 536, 537, 538, 539, - 540, 541, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 508, 509, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 59, -1, -1, -1, 396, 397, 398, 399, - 400, 401, 402, 403, 404, 405, 406, 407, 408, -1, - -1, -1, -1, 413, -1, -1, -1, 417, 418, 419, - 420, 421, 422, -1, -1, -1, -1, -1, -1, -1, - -1, 431, 432, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 260, -1, -1, 263, -1, -1, 448, 449, - 450, 451, -1, -1, -1, 273, 123, -1, 125, 459, + -1, -1, 123, -1, 125, -1, -1, -1, -1, -1, + -1, -1, -1, 535, 536, 537, 538, 539, 540, 541, + -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 473, -1, -1, -1, -1, -1, 396, - 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, - 407, 408, -1, -1, -1, -1, 413, -1, -1, -1, - 417, 418, 419, 420, 421, 422, -1, -1, 508, 509, - -1, -1, -1, -1, 431, 432, -1, -1, -1, -1, + -1, 396, 397, 398, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, -1, -1, 260, -1, 413, 263, + -1, -1, 417, 418, 419, 420, 421, 422, -1, 273, + -1, -1, -1, -1, -1, -1, 431, 432, -1, -1, + -1, -1, -1, -1, -1, 123, -1, 125, -1, -1, + -1, -1, -1, 448, 449, 450, 451, -1, -1, -1, + -1, -1, -1, -1, 459, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 473, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 448, 449, 450, 451, 535, 536, 537, 538, 539, - 540, 541, 459, 59, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 473, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 260, + -1, -1, 263, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 273, 508, 509, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 396, 397, + -1, -1, 59, -1, -1, -1, -1, -1, -1, -1, + 535, 536, 537, 538, 539, 540, 541, -1, -1, -1, + -1, -1, 396, 397, 398, 399, 400, 401, 402, 403, + 404, 405, 406, 407, 408, -1, -1, -1, -1, 413, + -1, -1, -1, 417, 418, 419, 420, 421, 422, -1, + -1, -1, 260, -1, -1, 263, -1, 431, 432, -1, + -1, -1, -1, -1, -1, 273, 123, -1, 125, -1, + -1, -1, -1, -1, 448, 449, 450, 451, -1, -1, + -1, -1, -1, -1, -1, 459, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 473, + -1, -1, -1, -1, -1, 396, 397, 398, 399, 400, + 401, 402, 403, 404, 405, 406, 407, 408, -1, -1, + -1, -1, 413, -1, -1, -1, 417, 418, 419, 420, + 421, 422, -1, -1, 508, 509, -1, -1, -1, -1, + 431, 432, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 448, 449, 450, + 451, 535, 536, 537, 538, 539, 540, 541, 459, 59, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 473, -1, -1, -1, -1, -1, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, - 408, 508, 509, 260, -1, 413, 263, -1, -1, 417, - 418, 419, 420, 421, 422, -1, 273, 123, -1, 125, - -1, -1, -1, 431, 432, -1, -1, -1, 535, 536, - 537, 538, 539, 540, 541, -1, -1, -1, -1, -1, - 448, 449, 450, 451, -1, -1, -1, -1, -1, -1, - -1, 459, 59, -1, -1, -1, -1, -1, -1, -1, + 408, -1, -1, 260, -1, 413, 263, -1, -1, 417, + 418, 419, 420, 421, 422, -1, 273, 508, 509, -1, + -1, -1, -1, 431, 432, -1, -1, -1, -1, -1, + -1, -1, -1, 123, -1, 125, -1, -1, -1, -1, + 448, 449, 450, 451, 535, 536, 537, 538, 539, 540, + 541, 459, 59, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 473, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, @@ -4319,10 +4360,10 @@ static const YYINT yycheck[] = { 4, -1, -1, -1, -1, -1, -1, -1, 535, 536, 537, 538, 539, 540, 541, -1, 59, -1, -1, -1, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, - 407, 408, -1, -1, 260, -1, 413, 263, -1, -1, - 417, 418, 419, 420, 421, 422, -1, 273, -1, -1, - -1, -1, -1, -1, 431, 432, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 407, 408, -1, -1, -1, -1, 413, -1, -1, -1, + 417, 418, 419, 420, 421, 422, -1, -1, -1, -1, + 260, -1, -1, 263, 431, 432, -1, -1, -1, -1, + -1, -1, -1, 273, -1, -1, -1, -1, -1, -1, -1, 448, 449, 450, 451, -1, -1, -1, -1, 123, -1, 125, 459, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 473, -1, -1, -1, @@ -4333,138 +4374,114 @@ static const YYINT yycheck[] = { 4, -1, -1, -1, -1, -1, -1, 273, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 535, 536, 537, 538, 539, 540, 541, -1, 59, -1, -1, -1, - 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, - 406, 407, 408, -1, -1, -1, -1, 413, -1, -1, - -1, 417, 418, 419, 420, 421, 422, -1, -1, -1, - -1, -1, -1, -1, -1, 431, 432, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 260, -1, -1, 263, - -1, -1, 448, 449, 450, 451, -1, -1, -1, 273, - 123, -1, 125, 459, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 473, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 59, -1, -1, -1, 396, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 396, 397, 398, 399, + 400, 401, 402, 403, 404, 405, 406, 407, 408, -1, + -1, -1, -1, 413, -1, -1, -1, 417, 418, 419, + 420, 421, 422, -1, -1, -1, 260, 59, -1, 263, + -1, 431, 432, -1, -1, -1, -1, -1, -1, 273, + 123, -1, 125, -1, -1, -1, -1, -1, 448, 449, + 450, 451, -1, -1, -1, -1, -1, -1, -1, 459, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 473, -1, -1, -1, -1, -1, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, - 407, 408, 508, 509, -1, -1, 413, -1, -1, -1, - 417, 418, 419, 420, 421, 422, -1, -1, -1, -1, - -1, -1, -1, -1, 431, 432, -1, -1, -1, 535, - 536, 537, 538, 539, 540, 541, -1, -1, -1, -1, - -1, 448, 449, 450, 451, -1, -1, -1, -1, 123, - -1, 125, 459, -1, -1, -1, -1, -1, -1, -1, + 407, 408, -1, 125, -1, -1, 413, -1, -1, -1, + 417, 418, 419, 420, 421, 422, -1, -1, 508, 509, + -1, -1, -1, -1, 431, 432, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 448, 449, 450, 451, 535, 536, 537, 538, 539, + 540, 541, 459, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 473, -1, -1, -1, - -1, -1, 396, 397, 398, 399, 400, 401, 402, 403, + 59, -1, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, -1, -1, 260, -1, 413, 263, -1, -1, 417, 418, 419, 420, 421, 422, -1, 273, 508, 509, -1, -1, -1, -1, 431, 432, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 448, 449, 450, 451, 535, 536, - 537, 538, 539, 540, 541, 459, 59, -1, -1, -1, + 537, 538, 539, 540, 541, 459, -1, -1, -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, -1, 473, + -1, 273, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 59, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 508, 509, 260, -1, -1, 263, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 273, - 123, -1, 125, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 508, 509, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 125, -1, -1, -1, -1, -1, 535, 536, 537, 538, 539, 540, 541, -1, -1, -1, -1, -1, 396, 397, 398, 399, 400, 401, 402, - 403, 404, 405, 406, 407, 408, 125, -1, -1, -1, - 413, -1, -1, -1, 417, 418, 419, 420, 421, 422, + 403, 404, 405, 406, 407, 408, -1, -1, -1, -1, + 413, 59, -1, -1, 417, 418, 419, 420, 421, 422, -1, -1, -1, -1, -1, -1, -1, -1, 431, 432, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 448, 449, 450, 451, -1, - -1, -1, -1, -1, -1, -1, 459, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 473, -1, -1, 59, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 396, 397, 398, 399, 400, 401, 402, 403, - 404, 405, 406, 407, 408, 508, 509, 260, -1, 413, - 263, -1, -1, 417, 418, 419, 420, 421, 422, -1, - 273, -1, -1, -1, -1, -1, -1, 431, 432, -1, + -1, -1, -1, -1, 273, -1, 459, 409, 410, 411, + 412, 413, -1, -1, -1, -1, -1, -1, -1, -1, + 473, -1, -1, -1, -1, -1, -1, 125, -1, 431, + 432, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 448, 449, 450, 451, + -1, -1, -1, 455, 456, 508, 509, -1, -1, 461, + -1, -1, 464, -1, -1, -1, -1, -1, -1, 471, + 472, -1, -1, 273, -1, -1, -1, -1, -1, -1, -1, -1, 535, 536, 537, 538, 539, 540, 541, -1, - -1, -1, -1, 59, 448, 449, 450, 451, -1, -1, - -1, -1, -1, -1, 273, 459, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 473, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 508, 509, -1, -1, -1, 125, - -1, -1, -1, -1, 59, -1, -1, -1, -1, -1, + -1, -1, 322, -1, 526, 527, -1, 529, 530, 531, + -1, 533, 534, 535, 536, 537, 538, 539, 540, 541, + 409, 410, 411, 412, 413, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 535, 536, 537, 538, 539, 540, 541, -1, -1, - -1, -1, -1, 396, 397, 398, 399, 400, 401, 402, - 403, 404, 405, 406, 407, 408, -1, -1, -1, -1, - 413, -1, -1, -1, 417, 418, 419, 420, 421, 422, - -1, -1, -1, -1, -1, -1, -1, -1, 431, 432, - 125, -1, -1, -1, -1, -1, -1, 273, -1, -1, - 409, 410, 411, 412, 413, 448, 449, 450, 451, -1, - -1, -1, -1, -1, -1, -1, 459, -1, -1, -1, -1, -1, 431, 432, -1, -1, -1, -1, -1, -1, - 473, -1, -1, -1, -1, -1, -1, -1, -1, 448, + -1, -1, -1, -1, -1, 273, -1, -1, -1, 448, 449, 450, 451, -1, -1, -1, 455, 456, -1, -1, -1, -1, 461, -1, -1, 464, -1, -1, -1, -1, - -1, -1, 471, 472, -1, 508, 509, 273, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 535, 536, 537, 538, 539, 540, 541, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 322, 526, 527, -1, + -1, -1, 471, 472, -1, -1, -1, -1, -1, 409, + 123, 411, 412, 413, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 423, 322, -1, -1, -1, 428, -1, + -1, 431, 432, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 448, 449, + 450, 451, -1, 453, 454, -1, -1, 526, 527, -1, 529, 530, 531, -1, 533, 534, 535, 536, 537, 538, - 539, 540, 541, 409, 410, 411, 412, 413, 273, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 431, 432, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 448, 449, 450, 451, -1, -1, -1, 455, - 456, -1, -1, -1, -1, 461, -1, 322, 464, -1, - -1, -1, -1, -1, -1, 471, 472, -1, -1, -1, - -1, -1, 123, 409, -1, 411, 412, 413, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 423, -1, -1, - -1, -1, 428, -1, -1, 431, 432, -1, -1, -1, + 539, 540, 541, 473, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 448, 449, 450, 451, -1, 453, 454, -1, - 526, 527, -1, 529, 530, 531, -1, 533, 534, 535, - 536, 537, 538, 539, 540, 541, -1, 473, -1, -1, - -1, -1, -1, -1, 409, -1, 411, 412, 413, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 423, -1, - -1, -1, -1, 428, -1, -1, 431, 432, -1, -1, - -1, -1, 508, 509, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 448, 449, 450, 451, -1, 453, 454, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 535, - 536, 537, 538, 539, 540, 541, 257, -1, 473, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 271, -1, -1, -1, -1, 276, 277, -1, 279, 280, - 281, 282, 283, 284, -1, 286, 287, -1, 289, 290, - 291, 292, 293, 508, 509, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 508, 509, + -1, 409, -1, 411, 412, 413, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 423, -1, -1, -1, -1, + 428, -1, -1, 431, 432, 535, 536, 537, 538, 539, + 540, 541, -1, -1, 257, -1, -1, -1, -1, -1, + 448, 449, 450, 451, -1, 453, 454, -1, 271, -1, + -1, -1, -1, 276, 277, -1, 279, 280, 281, 282, + 283, 284, 257, 286, 287, 473, 289, 290, 291, 292, + 293, -1, -1, -1, -1, -1, 271, -1, -1, -1, + -1, 276, 277, -1, 279, 280, 281, 282, 283, 284, + -1, 286, 287, -1, 289, 290, 291, 292, 293, -1, + 508, 509, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 335, -1, 337, -1, -1, -1, -1, 342, + -1, -1, -1, -1, -1, -1, -1, 535, 536, 537, + 538, 539, 540, 541, -1, 358, -1, -1, -1, -1, + 335, -1, 337, -1, -1, -1, -1, 342, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 358, -1, -1, -1, -1, 391, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 535, 536, 537, 538, 539, 540, 541, -1, -1, 257, - -1, -1, -1, -1, 335, -1, 337, -1, -1, -1, - -1, 342, -1, 271, -1, -1, -1, -1, 276, 277, - -1, 279, 280, 281, 282, 283, 284, 358, 286, 287, - -1, 289, 290, 291, 292, 293, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 391, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 391, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 335, -1, 337, - -1, -1, -1, -1, 342, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 391, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 481, -1, 483, 484, 485, 486, 487, 488, 489, 490, - 491, 492, 493, 494, 495, 496, 497, 498, 499, -1, - -1, -1, 503, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 481, -1, + 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, + 493, 494, 495, 496, 497, 498, 499, -1, -1, -1, + 503, -1, -1, -1, -1, -1, 481, -1, 483, 484, + 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, + 495, 496, 497, 498, 499, -1, -1, -1, 503, +}; +#if YYBTYACC +static const YYINT yyctable[] = { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 481, -1, 483, 484, 485, 486, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, -1, -1, -1, 503, -}; -#if YYBTYACC -static const YYINT yyctable[] = { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, @@ -5961,7 +5978,7 @@ static const YYINT yyctable[] = { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, }; #endif #define YYFINAL 1 @@ -6221,6 +6238,7 @@ static const char *const yyrule[] = { "conTyparAttrib : FLAGS_ '(' int32 ')'", "conTyparAttribs :", "conTyparAttribs : conTyparAttrib conTyparAttribs", +"typars : CONST_ conTyparAttribs type tyBound dottedName typarsRest", "typars : CONST_ conTyparAttribs type dottedName typarsRest", "typars : typarAttribs tyBound dottedName typarsRest", "typars : typarAttribs dottedName typarsRest", @@ -7060,11 +7078,11 @@ static YYINT *yylexp = 0; static YYINT *yylexemes = 0; #endif /* YYBTYACC */ -#line 2113 "asmparse.y" +#line 2114 "asmparse.y" #include "grammar_after.cpp" -#line 7068 "asmparse.cpp" +#line 7086 "asmparse.cpp" /* For use in generated program */ #define yydepth (int)(yystack.s_mark - yystack.s_base) @@ -7737,12 +7755,12 @@ YYPARSE_DECL() case 3: #line 195 "asmparse.y" { PASM->EndClass(); } -#line 7741 "asmparse.cpp" +#line 7759 "asmparse.cpp" break; case 4: #line 196 "asmparse.y" { PASM->EndNameSpace(); } -#line 7746 "asmparse.cpp" +#line 7764 "asmparse.cpp" break; case 5: #line 197 "asmparse.y" @@ -7750,27 +7768,27 @@ case 5: { PASM->m_pCurMethod->m_ulLines[1] = PASM->m_ulCurLine; PASM->m_pCurMethod->m_ulColumns[1]=PASM->m_ulCurColumn;} PASM->EndMethod(); } -#line 7754 "asmparse.cpp" +#line 7772 "asmparse.cpp" break; case 12: #line 207 "asmparse.y" { PASMM->EndAssembly(); } -#line 7759 "asmparse.cpp" +#line 7777 "asmparse.cpp" break; case 13: #line 208 "asmparse.y" { PASMM->EndAssembly(); } -#line 7764 "asmparse.cpp" +#line 7782 "asmparse.cpp" break; case 14: #line 209 "asmparse.y" { PASMM->EndComType(); } -#line 7769 "asmparse.cpp" +#line 7787 "asmparse.cpp" break; case 15: #line 210 "asmparse.y" { PASMM->EndManifestRes(); } -#line 7774 "asmparse.cpp" +#line 7792 "asmparse.cpp" break; case 19: #line 214 "asmparse.y" @@ -7784,178 +7802,178 @@ case 19: #pragma warning(pop) #endif } -#line 7788 "asmparse.cpp" +#line 7806 "asmparse.cpp" break; case 20: #line 224 "asmparse.y" { PASM->m_dwComImageFlags = yystack.l_mark[0].int32; } -#line 7793 "asmparse.cpp" +#line 7811 "asmparse.cpp" break; case 21: #line 225 "asmparse.y" { PASM->m_dwFileAlignment = yystack.l_mark[0].int32; if((yystack.l_mark[0].int32 & (yystack.l_mark[0].int32 - 1))||(yystack.l_mark[0].int32 < 0x200)||(yystack.l_mark[0].int32 > 0x10000)) PASM->report->error("Invalid file alignment, must be power of 2 from 0x200 to 0x10000\n");} -#line 7800 "asmparse.cpp" +#line 7818 "asmparse.cpp" break; case 22: #line 228 "asmparse.y" { PASM->m_stBaseAddress = (ULONGLONG)(*(yystack.l_mark[0].int64)); delete yystack.l_mark[0].int64; if(PASM->m_stBaseAddress & 0xFFFF) PASM->report->error("Invalid image base, must be 0x10000-aligned\n");} -#line 7807 "asmparse.cpp" +#line 7825 "asmparse.cpp" break; case 23: #line 231 "asmparse.y" { PASM->m_stSizeOfStackReserve = (size_t)(*(yystack.l_mark[0].int64)); delete yystack.l_mark[0].int64; } -#line 7812 "asmparse.cpp" +#line 7830 "asmparse.cpp" break; case 28: #line 236 "asmparse.y" { PASM->m_fIsMscorlib = TRUE; } -#line 7817 "asmparse.cpp" +#line 7835 "asmparse.cpp" break; case 31: #line 243 "asmparse.y" { yyval.binstr = yystack.l_mark[0].binstr; } -#line 7822 "asmparse.cpp" +#line 7840 "asmparse.cpp" break; case 32: #line 244 "asmparse.y" { yyval.binstr = yystack.l_mark[-2].binstr; yyval.binstr->append(yystack.l_mark[0].binstr); delete yystack.l_mark[0].binstr; } -#line 7827 "asmparse.cpp" +#line 7845 "asmparse.cpp" break; case 33: #line 247 "asmparse.y" { LPCSTRToGuid(yystack.l_mark[0].string,&(PASM->m_guidLang)); } -#line 7832 "asmparse.cpp" +#line 7850 "asmparse.cpp" break; case 34: #line 248 "asmparse.y" { LPCSTRToGuid(yystack.l_mark[-2].string,&(PASM->m_guidLang)); LPCSTRToGuid(yystack.l_mark[0].string,&(PASM->m_guidLangVendor));} -#line 7838 "asmparse.cpp" +#line 7856 "asmparse.cpp" break; case 35: #line 250 "asmparse.y" { LPCSTRToGuid(yystack.l_mark[-4].string,&(PASM->m_guidLang)); LPCSTRToGuid(yystack.l_mark[-2].string,&(PASM->m_guidLangVendor)); LPCSTRToGuid(yystack.l_mark[-2].string,&(PASM->m_guidDoc));} -#line 7845 "asmparse.cpp" +#line 7863 "asmparse.cpp" break; case 36: #line 255 "asmparse.y" { yyval.string = yystack.l_mark[0].string; } -#line 7850 "asmparse.cpp" +#line 7868 "asmparse.cpp" break; case 37: #line 256 "asmparse.y" { yyval.string = yystack.l_mark[0].string; } -#line 7855 "asmparse.cpp" +#line 7873 "asmparse.cpp" break; case 38: #line 259 "asmparse.y" { yyval.string = yystack.l_mark[0].string; } -#line 7860 "asmparse.cpp" +#line 7878 "asmparse.cpp" break; case 39: #line 260 "asmparse.y" { yyval.string = yystack.l_mark[0].string; } -#line 7865 "asmparse.cpp" +#line 7883 "asmparse.cpp" break; case 40: #line 261 "asmparse.y" { yyval.string = newStringWDel(yystack.l_mark[-2].string, '.', yystack.l_mark[0].string); } -#line 7870 "asmparse.cpp" +#line 7888 "asmparse.cpp" break; case 41: #line 264 "asmparse.y" { yyval.int32 = yystack.l_mark[0].int32; } -#line 7875 "asmparse.cpp" +#line 7893 "asmparse.cpp" break; case 42: #line 267 "asmparse.y" { yyval.int64 = yystack.l_mark[0].int64; } -#line 7880 "asmparse.cpp" +#line 7898 "asmparse.cpp" break; case 43: #line 268 "asmparse.y" { yyval.int64 = neg ? new __int64(yystack.l_mark[0].int32) : new __int64((unsigned)yystack.l_mark[0].int32); } -#line 7885 "asmparse.cpp" +#line 7903 "asmparse.cpp" break; case 44: #line 271 "asmparse.y" { yyval.float64 = yystack.l_mark[0].float64; } -#line 7890 "asmparse.cpp" +#line 7908 "asmparse.cpp" break; case 45: #line 272 "asmparse.y" { float f; *((__int32*) (&f)) = yystack.l_mark[-1].int32; yyval.float64 = new double(f); } -#line 7895 "asmparse.cpp" +#line 7913 "asmparse.cpp" break; case 46: #line 273 "asmparse.y" { yyval.float64 = (double*) yystack.l_mark[-1].int64; } -#line 7900 "asmparse.cpp" +#line 7918 "asmparse.cpp" break; case 47: #line 277 "asmparse.y" { PASM->AddTypeDef(yystack.l_mark[-2].binstr,yystack.l_mark[0].string); } -#line 7905 "asmparse.cpp" +#line 7923 "asmparse.cpp" break; case 48: #line 278 "asmparse.y" { PASM->AddTypeDef(yystack.l_mark[-2].token,yystack.l_mark[0].string); } -#line 7910 "asmparse.cpp" +#line 7928 "asmparse.cpp" break; case 49: #line 279 "asmparse.y" { PASM->AddTypeDef(yystack.l_mark[-2].token,yystack.l_mark[0].string); } -#line 7915 "asmparse.cpp" +#line 7933 "asmparse.cpp" break; case 50: #line 280 "asmparse.y" { yystack.l_mark[-2].cad->tkOwner = 0; PASM->AddTypeDef(yystack.l_mark[-2].cad,yystack.l_mark[0].string); } -#line 7920 "asmparse.cpp" +#line 7938 "asmparse.cpp" break; case 51: #line 281 "asmparse.y" { PASM->AddTypeDef(yystack.l_mark[-2].cad,yystack.l_mark[0].string); } -#line 7925 "asmparse.cpp" +#line 7943 "asmparse.cpp" break; case 52: #line 286 "asmparse.y" { DefineVar(yystack.l_mark[0].string, NULL); } -#line 7930 "asmparse.cpp" +#line 7948 "asmparse.cpp" break; case 53: #line 287 "asmparse.y" { DefineVar(yystack.l_mark[-1].string, yystack.l_mark[0].binstr); } -#line 7935 "asmparse.cpp" +#line 7953 "asmparse.cpp" break; case 54: #line 288 "asmparse.y" { UndefVar(yystack.l_mark[0].string); } -#line 7940 "asmparse.cpp" +#line 7958 "asmparse.cpp" break; case 55: #line 289 "asmparse.y" { SkipToken = !IsVarDefined(yystack.l_mark[0].string); IfEndif++; } -#line 7947 "asmparse.cpp" +#line 7965 "asmparse.cpp" break; case 56: #line 292 "asmparse.y" { SkipToken = IsVarDefined(yystack.l_mark[0].string); IfEndif++; } -#line 7954 "asmparse.cpp" +#line 7972 "asmparse.cpp" break; case 57: #line 295 "asmparse.y" { if(IfEndif == 1) SkipToken = !SkipToken;} -#line 7959 "asmparse.cpp" +#line 7977 "asmparse.cpp" break; case 58: #line 296 "asmparse.y" @@ -7963,84 +7981,84 @@ case 58: PASM->report->error("Unmatched #endif\n"); else IfEndif--; } -#line 7967 "asmparse.cpp" +#line 7985 "asmparse.cpp" break; case 59: #line 300 "asmparse.y" { _ASSERTE(!"yylex should have dealt with this"); } -#line 7972 "asmparse.cpp" +#line 7990 "asmparse.cpp" break; case 60: #line 301 "asmparse.y" { } -#line 7977 "asmparse.cpp" +#line 7995 "asmparse.cpp" break; case 61: #line 305 "asmparse.y" { yyval.cad = new CustomDescr(PASM->m_tkCurrentCVOwner, yystack.l_mark[0].token, NULL); } -#line 7982 "asmparse.cpp" +#line 8000 "asmparse.cpp" break; case 62: #line 306 "asmparse.y" { yyval.cad = new CustomDescr(PASM->m_tkCurrentCVOwner, yystack.l_mark[-2].token, yystack.l_mark[0].binstr); } -#line 7987 "asmparse.cpp" +#line 8005 "asmparse.cpp" break; case 63: #line 307 "asmparse.y" { yyval.cad = new CustomDescr(PASM->m_tkCurrentCVOwner, yystack.l_mark[-4].token, yystack.l_mark[-1].binstr); } -#line 7992 "asmparse.cpp" +#line 8010 "asmparse.cpp" break; case 64: #line 308 "asmparse.y" { yyval.cad = new CustomDescr(PASM->m_tkCurrentCVOwner, yystack.l_mark[-2].int32, yystack.l_mark[-1].binstr); } -#line 7997 "asmparse.cpp" +#line 8015 "asmparse.cpp" break; case 65: #line 311 "asmparse.y" { yyval.cad = new CustomDescr(yystack.l_mark[-2].token, yystack.l_mark[0].token, NULL); } -#line 8002 "asmparse.cpp" +#line 8020 "asmparse.cpp" break; case 66: #line 312 "asmparse.y" { yyval.cad = new CustomDescr(yystack.l_mark[-4].token, yystack.l_mark[-2].token, yystack.l_mark[0].binstr); } -#line 8007 "asmparse.cpp" +#line 8025 "asmparse.cpp" break; case 67: #line 314 "asmparse.y" { yyval.cad = new CustomDescr(yystack.l_mark[-6].token, yystack.l_mark[-4].token, yystack.l_mark[-1].binstr); } -#line 8012 "asmparse.cpp" +#line 8030 "asmparse.cpp" break; case 68: #line 315 "asmparse.y" { yyval.cad = new CustomDescr(PASM->m_tkCurrentCVOwner, yystack.l_mark[-2].int32, yystack.l_mark[-1].binstr); } -#line 8017 "asmparse.cpp" +#line 8035 "asmparse.cpp" break; case 69: #line 318 "asmparse.y" { yyval.int32 = yystack.l_mark[-2].token; bParsingByteArray = TRUE; } -#line 8022 "asmparse.cpp" +#line 8040 "asmparse.cpp" break; case 70: #line 322 "asmparse.y" { PASM->m_pCustomDescrList = NULL; PASM->m_tkCurrentCVOwner = yystack.l_mark[-4].token; yyval.int32 = yystack.l_mark[-2].token; bParsingByteArray = TRUE; } -#line 8029 "asmparse.cpp" +#line 8047 "asmparse.cpp" break; case 71: #line 327 "asmparse.y" { yyval.token = yystack.l_mark[0].token; } -#line 8034 "asmparse.cpp" +#line 8052 "asmparse.cpp" break; case 72: #line 330 "asmparse.y" { yyval.token = yystack.l_mark[0].token; } -#line 8039 "asmparse.cpp" +#line 8057 "asmparse.cpp" break; case 73: #line 331 "asmparse.y" { yyval.token = yystack.l_mark[0].token; } -#line 8044 "asmparse.cpp" +#line 8062 "asmparse.cpp" break; case 74: #line 335 "asmparse.y" @@ -8048,28 +8066,28 @@ case 74: yyval.binstr->appendInt16(VAL16(nCustomBlobNVPairs)); yyval.binstr->append(yystack.l_mark[0].binstr); nCustomBlobNVPairs = 0; } -#line 8052 "asmparse.cpp" +#line 8070 "asmparse.cpp" break; case 75: #line 341 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt16(VAL16(0x0001)); } -#line 8057 "asmparse.cpp" +#line 8075 "asmparse.cpp" break; case 76: #line 342 "asmparse.y" { yyval.binstr = yystack.l_mark[-1].binstr; AppendFieldToCustomBlob(yyval.binstr,yystack.l_mark[0].binstr); } -#line 8063 "asmparse.cpp" +#line 8081 "asmparse.cpp" break; case 77: #line 344 "asmparse.y" { yyval.binstr = yystack.l_mark[-1].binstr; } -#line 8068 "asmparse.cpp" +#line 8086 "asmparse.cpp" break; case 78: #line 347 "asmparse.y" { yyval.binstr = new BinStr(); } -#line 8073 "asmparse.cpp" +#line 8091 "asmparse.cpp" break; case 79: #line 349 "asmparse.y" @@ -8078,22 +8096,22 @@ case 79: AppendStringWithLength(yyval.binstr,yystack.l_mark[-2].string); AppendFieldToCustomBlob(yyval.binstr,yystack.l_mark[0].binstr); nCustomBlobNVPairs++; } -#line 8082 "asmparse.cpp" +#line 8100 "asmparse.cpp" break; case 80: #line 354 "asmparse.y" { yyval.binstr = yystack.l_mark[-1].binstr; } -#line 8087 "asmparse.cpp" +#line 8105 "asmparse.cpp" break; case 81: #line 357 "asmparse.y" { yyval.int32 = SERIALIZATION_TYPE_FIELD; } -#line 8092 "asmparse.cpp" +#line 8110 "asmparse.cpp" break; case 82: #line 358 "asmparse.y" { yyval.int32 = SERIALIZATION_TYPE_PROPERTY; } -#line 8097 "asmparse.cpp" +#line 8115 "asmparse.cpp" break; case 83: #line 361 "asmparse.y" @@ -8101,12 +8119,12 @@ case 83: PASM->DefineCV(yystack.l_mark[0].cad); else if(PASM->m_pCustomDescrList) PASM->m_pCustomDescrList->PUSH(yystack.l_mark[0].cad); } -#line 8105 "asmparse.cpp" +#line 8123 "asmparse.cpp" break; case 84: #line 365 "asmparse.y" { PASM->DefineCV(yystack.l_mark[0].cad); } -#line 8110 "asmparse.cpp" +#line 8128 "asmparse.cpp" break; case 85: #line 366 "asmparse.y" @@ -8116,49 +8134,49 @@ case 85: PASM->DefineCV(pNew); else if(PASM->m_pCustomDescrList) PASM->m_pCustomDescrList->PUSH(pNew); } -#line 8120 "asmparse.cpp" +#line 8138 "asmparse.cpp" break; case 86: #line 374 "asmparse.y" { yyval.binstr = yystack.l_mark[0].binstr; } -#line 8125 "asmparse.cpp" +#line 8143 "asmparse.cpp" break; case 87: #line 375 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(SERIALIZATION_TYPE_TYPE); } -#line 8130 "asmparse.cpp" +#line 8148 "asmparse.cpp" break; case 88: #line 376 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(SERIALIZATION_TYPE_TAGGED_OBJECT); } -#line 8135 "asmparse.cpp" +#line 8153 "asmparse.cpp" break; case 89: #line 377 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(SERIALIZATION_TYPE_ENUM); AppendStringWithLength(yyval.binstr,yystack.l_mark[0].string); } -#line 8141 "asmparse.cpp" +#line 8159 "asmparse.cpp" break; case 90: #line 379 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(SERIALIZATION_TYPE_ENUM); AppendStringWithLength(yyval.binstr,PASM->ReflectionNotation(yystack.l_mark[0].token)); } -#line 8147 "asmparse.cpp" +#line 8165 "asmparse.cpp" break; case 91: #line 381 "asmparse.y" { yyval.binstr = yystack.l_mark[-2].binstr; yyval.binstr->insertInt8(ELEMENT_TYPE_SZARRAY); } -#line 8152 "asmparse.cpp" +#line 8170 "asmparse.cpp" break; case 92: #line 386 "asmparse.y" { PASMM->SetModuleName(NULL); PASM->m_tkCurrentCVOwner=1; } -#line 8157 "asmparse.cpp" +#line 8175 "asmparse.cpp" break; case 93: #line 387 "asmparse.y" { PASMM->SetModuleName(yystack.l_mark[0].string); PASM->m_tkCurrentCVOwner=1; } -#line 8162 "asmparse.cpp" +#line 8180 "asmparse.cpp" break; case 94: #line 388 "asmparse.y" @@ -8166,63 +8184,63 @@ case 94: unsigned L = (unsigned)strlen(yystack.l_mark[0].string); memcpy((char*)(pbs->getBuff(L)),yystack.l_mark[0].string,L); PASM->EmitImport(pbs); delete pbs;} -#line 8170 "asmparse.cpp" +#line 8188 "asmparse.cpp" break; case 95: #line 395 "asmparse.y" { /*PASM->SetDataSection(); PASM->EmitDataLabel($7);*/ PASM->m_VTFList.PUSH(new VTFEntry((USHORT)yystack.l_mark[-4].int32, (USHORT)yystack.l_mark[-2].int32, yystack.l_mark[0].string)); } -#line 8176 "asmparse.cpp" +#line 8194 "asmparse.cpp" break; case 96: #line 399 "asmparse.y" { yyval.int32 = 0; } -#line 8181 "asmparse.cpp" +#line 8199 "asmparse.cpp" break; case 97: #line 400 "asmparse.y" { yyval.int32 = yystack.l_mark[-1].int32 | COR_VTABLE_32BIT; } -#line 8186 "asmparse.cpp" +#line 8204 "asmparse.cpp" break; case 98: #line 401 "asmparse.y" { yyval.int32 = yystack.l_mark[-1].int32 | COR_VTABLE_64BIT; } -#line 8191 "asmparse.cpp" +#line 8209 "asmparse.cpp" break; case 99: #line 402 "asmparse.y" { yyval.int32 = yystack.l_mark[-1].int32 | COR_VTABLE_FROM_UNMANAGED; } -#line 8196 "asmparse.cpp" +#line 8214 "asmparse.cpp" break; case 100: #line 403 "asmparse.y" { yyval.int32 = yystack.l_mark[-1].int32 | COR_VTABLE_CALL_MOST_DERIVED; } -#line 8201 "asmparse.cpp" +#line 8219 "asmparse.cpp" break; case 101: #line 404 "asmparse.y" { yyval.int32 = yystack.l_mark[-1].int32 | COR_VTABLE_FROM_UNMANAGED_RETAIN_APPDOMAIN; } -#line 8206 "asmparse.cpp" +#line 8224 "asmparse.cpp" break; case 102: #line 407 "asmparse.y" { PASM->m_pVTable = yystack.l_mark[-1].binstr; } -#line 8211 "asmparse.cpp" +#line 8229 "asmparse.cpp" break; case 103: #line 410 "asmparse.y" { bParsingByteArray = TRUE; } -#line 8216 "asmparse.cpp" +#line 8234 "asmparse.cpp" break; case 104: #line 414 "asmparse.y" { PASM->StartNameSpace(yystack.l_mark[0].string); } -#line 8221 "asmparse.cpp" +#line 8239 "asmparse.cpp" break; case 105: #line 417 "asmparse.y" { newclass = TRUE; } -#line 8226 "asmparse.cpp" +#line 8244 "asmparse.cpp" break; case 106: #line 420 "asmparse.y" @@ -8231,347 +8249,352 @@ case 106: TyParFixupList.RESET(false); newclass = FALSE; } -#line 8235 "asmparse.cpp" +#line 8253 "asmparse.cpp" break; case 107: #line 426 "asmparse.y" { PASM->AddClass(); } -#line 8240 "asmparse.cpp" +#line 8258 "asmparse.cpp" break; case 108: #line 429 "asmparse.y" { yyval.classAttr = (CorRegTypeAttr) 0; } -#line 8245 "asmparse.cpp" +#line 8263 "asmparse.cpp" break; case 109: #line 430 "asmparse.y" { yyval.classAttr = (CorRegTypeAttr) ((yystack.l_mark[-1].classAttr & ~tdVisibilityMask) | tdPublic); } -#line 8250 "asmparse.cpp" +#line 8268 "asmparse.cpp" break; case 110: #line 431 "asmparse.y" { yyval.classAttr = (CorRegTypeAttr) ((yystack.l_mark[-1].classAttr & ~tdVisibilityMask) | tdNotPublic); } -#line 8255 "asmparse.cpp" +#line 8273 "asmparse.cpp" break; case 111: #line 432 "asmparse.y" { yyval.classAttr = (CorRegTypeAttr) (yystack.l_mark[-1].classAttr | 0x80000000 | tdSealed); } -#line 8260 "asmparse.cpp" +#line 8278 "asmparse.cpp" break; case 112: #line 433 "asmparse.y" { yyval.classAttr = (CorRegTypeAttr) (yystack.l_mark[-1].classAttr | 0x40000000); } -#line 8265 "asmparse.cpp" +#line 8283 "asmparse.cpp" break; case 113: #line 434 "asmparse.y" { yyval.classAttr = (CorRegTypeAttr) (yystack.l_mark[-1].classAttr | tdInterface | tdAbstract); } -#line 8270 "asmparse.cpp" +#line 8288 "asmparse.cpp" break; case 114: #line 435 "asmparse.y" { yyval.classAttr = (CorRegTypeAttr) (yystack.l_mark[-1].classAttr | tdSealed); } -#line 8275 "asmparse.cpp" +#line 8293 "asmparse.cpp" break; case 115: #line 436 "asmparse.y" { yyval.classAttr = (CorRegTypeAttr) (yystack.l_mark[-1].classAttr | tdAbstract); } -#line 8280 "asmparse.cpp" +#line 8298 "asmparse.cpp" break; case 116: #line 437 "asmparse.y" { yyval.classAttr = (CorRegTypeAttr) ((yystack.l_mark[-1].classAttr & ~tdLayoutMask) | tdAutoLayout); } -#line 8285 "asmparse.cpp" +#line 8303 "asmparse.cpp" break; case 117: #line 438 "asmparse.y" { yyval.classAttr = (CorRegTypeAttr) ((yystack.l_mark[-1].classAttr & ~tdLayoutMask) | tdSequentialLayout); } -#line 8290 "asmparse.cpp" +#line 8308 "asmparse.cpp" break; case 118: #line 439 "asmparse.y" { yyval.classAttr = (CorRegTypeAttr) ((yystack.l_mark[-1].classAttr & ~tdLayoutMask) | tdExplicitLayout); } -#line 8295 "asmparse.cpp" +#line 8313 "asmparse.cpp" break; case 119: #line 440 "asmparse.y" { yyval.classAttr = (CorRegTypeAttr) ((yystack.l_mark[-1].classAttr & ~tdStringFormatMask) | tdAnsiClass); } -#line 8300 "asmparse.cpp" +#line 8318 "asmparse.cpp" break; case 120: #line 441 "asmparse.y" { yyval.classAttr = (CorRegTypeAttr) ((yystack.l_mark[-1].classAttr & ~tdStringFormatMask) | tdUnicodeClass); } -#line 8305 "asmparse.cpp" +#line 8323 "asmparse.cpp" break; case 121: #line 442 "asmparse.y" { yyval.classAttr = (CorRegTypeAttr) ((yystack.l_mark[-1].classAttr & ~tdStringFormatMask) | tdAutoClass); } -#line 8310 "asmparse.cpp" +#line 8328 "asmparse.cpp" break; case 122: #line 443 "asmparse.y" { yyval.classAttr = (CorRegTypeAttr) (yystack.l_mark[-1].classAttr | tdImport); } -#line 8315 "asmparse.cpp" +#line 8333 "asmparse.cpp" break; case 123: #line 444 "asmparse.y" { yyval.classAttr = (CorRegTypeAttr) (yystack.l_mark[-1].classAttr | tdSerializable); } -#line 8320 "asmparse.cpp" +#line 8338 "asmparse.cpp" break; case 124: #line 445 "asmparse.y" { yyval.classAttr = (CorRegTypeAttr) (yystack.l_mark[-1].classAttr | tdWindowsRuntime); } -#line 8325 "asmparse.cpp" +#line 8343 "asmparse.cpp" break; case 125: #line 446 "asmparse.y" { yyval.classAttr = (CorRegTypeAttr) ((yystack.l_mark[-2].classAttr & ~tdVisibilityMask) | tdNestedPublic); } -#line 8330 "asmparse.cpp" +#line 8348 "asmparse.cpp" break; case 126: #line 447 "asmparse.y" { yyval.classAttr = (CorRegTypeAttr) ((yystack.l_mark[-2].classAttr & ~tdVisibilityMask) | tdNestedPrivate); } -#line 8335 "asmparse.cpp" +#line 8353 "asmparse.cpp" break; case 127: #line 448 "asmparse.y" { yyval.classAttr = (CorRegTypeAttr) ((yystack.l_mark[-2].classAttr & ~tdVisibilityMask) | tdNestedFamily); } -#line 8340 "asmparse.cpp" +#line 8358 "asmparse.cpp" break; case 128: #line 449 "asmparse.y" { yyval.classAttr = (CorRegTypeAttr) ((yystack.l_mark[-2].classAttr & ~tdVisibilityMask) | tdNestedAssembly); } -#line 8345 "asmparse.cpp" +#line 8363 "asmparse.cpp" break; case 129: #line 450 "asmparse.y" { yyval.classAttr = (CorRegTypeAttr) ((yystack.l_mark[-2].classAttr & ~tdVisibilityMask) | tdNestedFamANDAssem); } -#line 8350 "asmparse.cpp" +#line 8368 "asmparse.cpp" break; case 130: #line 451 "asmparse.y" { yyval.classAttr = (CorRegTypeAttr) ((yystack.l_mark[-2].classAttr & ~tdVisibilityMask) | tdNestedFamORAssem); } -#line 8355 "asmparse.cpp" +#line 8373 "asmparse.cpp" break; case 131: #line 452 "asmparse.y" { yyval.classAttr = (CorRegTypeAttr) (yystack.l_mark[-1].classAttr | tdBeforeFieldInit); } -#line 8360 "asmparse.cpp" +#line 8378 "asmparse.cpp" break; case 132: #line 453 "asmparse.y" { yyval.classAttr = (CorRegTypeAttr) (yystack.l_mark[-1].classAttr | tdSpecialName); } -#line 8365 "asmparse.cpp" +#line 8383 "asmparse.cpp" break; case 133: #line 454 "asmparse.y" { yyval.classAttr = (CorRegTypeAttr) (yystack.l_mark[-1].classAttr); } -#line 8370 "asmparse.cpp" +#line 8388 "asmparse.cpp" break; case 134: #line 455 "asmparse.y" { yyval.classAttr = (CorRegTypeAttr) (yystack.l_mark[-1].int32); } -#line 8375 "asmparse.cpp" +#line 8393 "asmparse.cpp" break; case 136: #line 459 "asmparse.y" { PASM->m_crExtends = yystack.l_mark[0].token; } -#line 8380 "asmparse.cpp" +#line 8398 "asmparse.cpp" break; case 141: #line 470 "asmparse.y" { PASM->AddToImplList(yystack.l_mark[0].token); } -#line 8385 "asmparse.cpp" +#line 8403 "asmparse.cpp" break; case 142: #line 471 "asmparse.y" { PASM->AddToImplList(yystack.l_mark[0].token); } -#line 8390 "asmparse.cpp" +#line 8408 "asmparse.cpp" break; case 143: #line 475 "asmparse.y" { yyval.binstr = new BinStr(); } -#line 8395 "asmparse.cpp" +#line 8413 "asmparse.cpp" break; case 144: #line 476 "asmparse.y" { yyval.binstr = yystack.l_mark[0].binstr; } -#line 8400 "asmparse.cpp" +#line 8418 "asmparse.cpp" break; case 145: #line 479 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt32(yystack.l_mark[0].token); } -#line 8405 "asmparse.cpp" +#line 8423 "asmparse.cpp" break; case 146: #line 480 "asmparse.y" { yyval.binstr = yystack.l_mark[-2].binstr; yyval.binstr->appendInt32(yystack.l_mark[0].token); } -#line 8410 "asmparse.cpp" +#line 8428 "asmparse.cpp" break; case 147: #line 483 "asmparse.y" { yyval.typarlist = NULL; PASM->m_TyParList = NULL;} -#line 8415 "asmparse.cpp" +#line 8433 "asmparse.cpp" break; case 148: #line 484 "asmparse.y" { PASM->m_TyParList = yystack.l_mark[-1].typarlist; ResolveTyParList(PASM->m_TyParList); yyval.typarlist = PASM->m_TyParList; } -#line 8420 "asmparse.cpp" +#line 8438 "asmparse.cpp" break; case 149: #line 487 "asmparse.y" { yyval.int32 = gpCovariant; } -#line 8425 "asmparse.cpp" +#line 8443 "asmparse.cpp" break; case 150: #line 488 "asmparse.y" { yyval.int32 = gpContravariant; } -#line 8430 "asmparse.cpp" +#line 8448 "asmparse.cpp" break; case 151: #line 489 "asmparse.y" { yyval.int32 = gpReferenceTypeConstraint; } -#line 8435 "asmparse.cpp" +#line 8453 "asmparse.cpp" break; case 152: #line 490 "asmparse.y" { yyval.int32 = gpNotNullableValueTypeConstraint; } -#line 8440 "asmparse.cpp" +#line 8458 "asmparse.cpp" break; case 153: #line 491 "asmparse.y" { yyval.int32 = gpAcceptByRefLike; } -#line 8445 "asmparse.cpp" +#line 8463 "asmparse.cpp" break; case 154: #line 492 "asmparse.y" { yyval.int32 = gpDefaultConstructorConstraint; } -#line 8450 "asmparse.cpp" +#line 8468 "asmparse.cpp" break; case 155: #line 493 "asmparse.y" { yyval.int32 = (CorGenericParamAttr)yystack.l_mark[-1].int32; } -#line 8455 "asmparse.cpp" +#line 8473 "asmparse.cpp" break; case 156: #line 496 "asmparse.y" { yyval.int32 = 0; } -#line 8460 "asmparse.cpp" +#line 8478 "asmparse.cpp" break; case 157: #line 497 "asmparse.y" { yyval.int32 = yystack.l_mark[-1].int32 | yystack.l_mark[0].int32; } -#line 8465 "asmparse.cpp" +#line 8483 "asmparse.cpp" break; case 158: #line 500 "asmparse.y" { yyval.int32 = (CorGenericParamAttr)yystack.l_mark[-1].int32; } -#line 8470 "asmparse.cpp" +#line 8488 "asmparse.cpp" break; case 159: #line 503 "asmparse.y" { yyval.int32 = 0; } -#line 8475 "asmparse.cpp" +#line 8493 "asmparse.cpp" break; case 160: #line 504 "asmparse.y" { yyval.int32 = yystack.l_mark[-1].int32 | yystack.l_mark[0].int32; } -#line 8480 "asmparse.cpp" +#line 8498 "asmparse.cpp" break; case 161: #line 507 "asmparse.y" - {yyval.typarlist = new TyParList(yystack.l_mark[-3].int32, yystack.l_mark[-2].binstr, NULL, yystack.l_mark[-1].string, yystack.l_mark[0].typarlist); } -#line 8485 "asmparse.cpp" + {yyval.typarlist = new TyParList(yystack.l_mark[-4].int32, yystack.l_mark[-3].binstr, yystack.l_mark[-2].binstr, yystack.l_mark[-1].string, yystack.l_mark[0].typarlist); } +#line 8503 "asmparse.cpp" break; case 162: #line 508 "asmparse.y" - {yyval.typarlist = new TyParList(yystack.l_mark[-3].int32, yystack.l_mark[-2].binstr, yystack.l_mark[-1].string, yystack.l_mark[0].typarlist);} -#line 8490 "asmparse.cpp" + {yyval.typarlist = new TyParList(yystack.l_mark[-3].int32, yystack.l_mark[-2].binstr, NULL, yystack.l_mark[-1].string, yystack.l_mark[0].typarlist); } +#line 8508 "asmparse.cpp" break; case 163: #line 509 "asmparse.y" - {yyval.typarlist = new TyParList(yystack.l_mark[-2].int32, NULL, yystack.l_mark[-1].string, yystack.l_mark[0].typarlist);} -#line 8495 "asmparse.cpp" + {yyval.typarlist = new TyParList(yystack.l_mark[-3].int32, yystack.l_mark[-2].binstr, yystack.l_mark[-1].string, yystack.l_mark[0].typarlist);} +#line 8513 "asmparse.cpp" break; case 164: -#line 512 "asmparse.y" - { yyval.typarlist = NULL; } -#line 8500 "asmparse.cpp" +#line 510 "asmparse.y" + {yyval.typarlist = new TyParList(yystack.l_mark[-2].int32, NULL, yystack.l_mark[-1].string, yystack.l_mark[0].typarlist);} +#line 8518 "asmparse.cpp" break; case 165: #line 513 "asmparse.y" - { yyval.typarlist = yystack.l_mark[0].typarlist; } -#line 8505 "asmparse.cpp" + { yyval.typarlist = NULL; } +#line 8523 "asmparse.cpp" break; case 166: -#line 516 "asmparse.y" - { yyval.binstr = yystack.l_mark[-1].binstr; } -#line 8510 "asmparse.cpp" +#line 514 "asmparse.y" + { yyval.typarlist = yystack.l_mark[0].typarlist; } +#line 8528 "asmparse.cpp" break; case 167: -#line 519 "asmparse.y" - { yyval.int32= 0; } -#line 8515 "asmparse.cpp" +#line 517 "asmparse.y" + { yyval.binstr = yystack.l_mark[-1].binstr; } +#line 8533 "asmparse.cpp" break; case 168: #line 520 "asmparse.y" - { yyval.int32 = yystack.l_mark[0].int32; } -#line 8520 "asmparse.cpp" + { yyval.int32= 0; } +#line 8538 "asmparse.cpp" break; case 169: -#line 523 "asmparse.y" - { yyval.int32 = yystack.l_mark[-2].int32; } -#line 8525 "asmparse.cpp" +#line 521 "asmparse.y" + { yyval.int32 = yystack.l_mark[0].int32; } +#line 8543 "asmparse.cpp" break; case 170: -#line 527 "asmparse.y" +#line 524 "asmparse.y" + { yyval.int32 = yystack.l_mark[-2].int32; } +#line 8548 "asmparse.cpp" +break; +case 171: +#line 528 "asmparse.y" { if(PASM->m_pCurMethod->m_ulLines[1] ==0) { PASM->m_pCurMethod->m_ulLines[1] = PASM->m_ulCurLine; PASM->m_pCurMethod->m_ulColumns[1]=PASM->m_ulCurColumn;} PASM->EndMethod(); } -#line 8533 "asmparse.cpp" -break; -case 171: -#line 531 "asmparse.y" - { PASM->EndClass(); } -#line 8538 "asmparse.cpp" +#line 8556 "asmparse.cpp" break; case 172: #line 532 "asmparse.y" - { PASM->EndEvent(); } -#line 8543 "asmparse.cpp" + { PASM->EndClass(); } +#line 8561 "asmparse.cpp" break; case 173: #line 533 "asmparse.y" - { PASM->EndProp(); } -#line 8548 "asmparse.cpp" + { PASM->EndEvent(); } +#line 8566 "asmparse.cpp" break; -case 179: -#line 539 "asmparse.y" - { PASM->m_pCurClass->m_ulSize = yystack.l_mark[0].int32; } -#line 8553 "asmparse.cpp" +case 174: +#line 534 "asmparse.y" + { PASM->EndProp(); } +#line 8571 "asmparse.cpp" break; case 180: #line 540 "asmparse.y" - { PASM->m_pCurClass->m_ulPack = yystack.l_mark[0].int32; } -#line 8558 "asmparse.cpp" + { PASM->m_pCurClass->m_ulSize = yystack.l_mark[0].int32; } +#line 8576 "asmparse.cpp" break; case 181: #line 541 "asmparse.y" - { PASMM->EndComType(); } -#line 8563 "asmparse.cpp" + { PASM->m_pCurClass->m_ulPack = yystack.l_mark[0].int32; } +#line 8581 "asmparse.cpp" break; case 182: -#line 543 "asmparse.y" +#line 542 "asmparse.y" + { PASMM->EndComType(); } +#line 8586 "asmparse.cpp" +break; +case 183: +#line 544 "asmparse.y" { BinStr *sig1 = parser->MakeSig(yystack.l_mark[-7].int32, yystack.l_mark[-6].binstr, yystack.l_mark[-1].binstr); BinStr *sig2 = new BinStr(); sig2->append(sig1); PASM->AddMethodImpl(yystack.l_mark[-11].token,yystack.l_mark[-9].string,sig1,yystack.l_mark[-5].token,yystack.l_mark[-3].string,sig2); PASM->ResetArgNameList(); } -#line 8572 "asmparse.cpp" +#line 8595 "asmparse.cpp" break; -case 183: -#line 549 "asmparse.y" +case 184: +#line 550 "asmparse.y" { PASM->AddMethodImpl(yystack.l_mark[-17].token,yystack.l_mark[-15].string, (yystack.l_mark[-14].int32==0 ? parser->MakeSig(yystack.l_mark[-19].int32,yystack.l_mark[-18].binstr,yystack.l_mark[-12].binstr) : parser->MakeSig(yystack.l_mark[-19].int32| IMAGE_CEE_CS_CALLCONV_GENERIC,yystack.l_mark[-18].binstr,yystack.l_mark[-12].binstr,yystack.l_mark[-14].int32)), @@ -8580,163 +8603,163 @@ case 183: parser->MakeSig(yystack.l_mark[-8].int32| IMAGE_CEE_CS_CALLCONV_GENERIC,yystack.l_mark[-7].binstr,yystack.l_mark[-1].binstr,yystack.l_mark[-3].int32))); PASM->ResetArgNameList(); } -#line 8584 "asmparse.cpp" +#line 8607 "asmparse.cpp" break; -case 186: -#line 559 "asmparse.y" +case 187: +#line 560 "asmparse.y" { if((yystack.l_mark[-1].int32 > 0) && (yystack.l_mark[-1].int32 <= (int)PASM->m_pCurClass->m_NumTyPars)) PASM->m_pCustomDescrList = PASM->m_pCurClass->m_TyPars[yystack.l_mark[-1].int32-1].CAList(); else PASM->report->error("Type parameter index out of range\n"); } -#line 8593 "asmparse.cpp" +#line 8616 "asmparse.cpp" break; -case 187: -#line 564 "asmparse.y" +case 188: +#line 565 "asmparse.y" { int n = PASM->m_pCurClass->FindTyPar(yystack.l_mark[0].string); if(n >= 0) PASM->m_pCustomDescrList = PASM->m_pCurClass->m_TyPars[n].CAList(); else PASM->report->error("Type parameter '%s' undefined\n",yystack.l_mark[0].string); } -#line 8603 "asmparse.cpp" -break; -case 188: -#line 570 "asmparse.y" - { PASM->AddGenericParamConstraint(yystack.l_mark[-3].int32, 0, yystack.l_mark[0].token); } -#line 8608 "asmparse.cpp" +#line 8626 "asmparse.cpp" break; case 189: #line 571 "asmparse.y" - { PASM->AddGenericParamConstraint(0, yystack.l_mark[-2].string, yystack.l_mark[0].token); } -#line 8613 "asmparse.cpp" + { PASM->AddGenericParamConstraint(yystack.l_mark[-3].int32, 0, yystack.l_mark[0].token); } +#line 8631 "asmparse.cpp" break; case 190: #line 572 "asmparse.y" + { PASM->AddGenericParamConstraint(0, yystack.l_mark[-2].string, yystack.l_mark[0].token); } +#line 8636 "asmparse.cpp" +break; +case 191: +#line 573 "asmparse.y" { yystack.l_mark[0].cad->tkInterfacePair = yystack.l_mark[-1].token; if(PASM->m_pCustomDescrList) PASM->m_pCustomDescrList->PUSH(yystack.l_mark[0].cad); } -#line 8621 "asmparse.cpp" +#line 8644 "asmparse.cpp" break; -case 191: -#line 580 "asmparse.y" +case 192: +#line 581 "asmparse.y" { yystack.l_mark[-3].binstr->insertInt8(IMAGE_CEE_CS_CALLCONV_FIELD); PASM->AddField(yystack.l_mark[-2].string, yystack.l_mark[-3].binstr, yystack.l_mark[-4].fieldAttr, yystack.l_mark[-1].string, yystack.l_mark[0].binstr, yystack.l_mark[-5].int32); } -#line 8627 "asmparse.cpp" -break; -case 192: -#line 584 "asmparse.y" - { yyval.fieldAttr = (CorFieldAttr) 0; } -#line 8632 "asmparse.cpp" +#line 8650 "asmparse.cpp" break; case 193: #line 585 "asmparse.y" - { yyval.fieldAttr = (CorFieldAttr) (yystack.l_mark[-1].fieldAttr | fdStatic); } -#line 8637 "asmparse.cpp" + { yyval.fieldAttr = (CorFieldAttr) 0; } +#line 8655 "asmparse.cpp" break; case 194: #line 586 "asmparse.y" - { yyval.fieldAttr = (CorFieldAttr) ((yystack.l_mark[-1].fieldAttr & ~mdMemberAccessMask) | fdPublic); } -#line 8642 "asmparse.cpp" + { yyval.fieldAttr = (CorFieldAttr) (yystack.l_mark[-1].fieldAttr | fdStatic); } +#line 8660 "asmparse.cpp" break; case 195: #line 587 "asmparse.y" - { yyval.fieldAttr = (CorFieldAttr) ((yystack.l_mark[-1].fieldAttr & ~mdMemberAccessMask) | fdPrivate); } -#line 8647 "asmparse.cpp" + { yyval.fieldAttr = (CorFieldAttr) ((yystack.l_mark[-1].fieldAttr & ~mdMemberAccessMask) | fdPublic); } +#line 8665 "asmparse.cpp" break; case 196: #line 588 "asmparse.y" - { yyval.fieldAttr = (CorFieldAttr) ((yystack.l_mark[-1].fieldAttr & ~mdMemberAccessMask) | fdFamily); } -#line 8652 "asmparse.cpp" + { yyval.fieldAttr = (CorFieldAttr) ((yystack.l_mark[-1].fieldAttr & ~mdMemberAccessMask) | fdPrivate); } +#line 8670 "asmparse.cpp" break; case 197: #line 589 "asmparse.y" - { yyval.fieldAttr = (CorFieldAttr) (yystack.l_mark[-1].fieldAttr | fdInitOnly); } -#line 8657 "asmparse.cpp" + { yyval.fieldAttr = (CorFieldAttr) ((yystack.l_mark[-1].fieldAttr & ~mdMemberAccessMask) | fdFamily); } +#line 8675 "asmparse.cpp" break; case 198: #line 590 "asmparse.y" - { yyval.fieldAttr = yystack.l_mark[-1].fieldAttr; } -#line 8662 "asmparse.cpp" + { yyval.fieldAttr = (CorFieldAttr) (yystack.l_mark[-1].fieldAttr | fdInitOnly); } +#line 8680 "asmparse.cpp" break; case 199: #line 591 "asmparse.y" - { yyval.fieldAttr = (CorFieldAttr) (yystack.l_mark[-1].fieldAttr | fdSpecialName); } -#line 8667 "asmparse.cpp" + { yyval.fieldAttr = yystack.l_mark[-1].fieldAttr; } +#line 8685 "asmparse.cpp" break; case 200: -#line 604 "asmparse.y" - { PASM->m_pMarshal = yystack.l_mark[-1].binstr; } -#line 8672 "asmparse.cpp" +#line 592 "asmparse.y" + { yyval.fieldAttr = (CorFieldAttr) (yystack.l_mark[-1].fieldAttr | fdSpecialName); } +#line 8690 "asmparse.cpp" break; case 201: #line 605 "asmparse.y" - { yyval.fieldAttr = (CorFieldAttr) ((yystack.l_mark[-1].fieldAttr & ~mdMemberAccessMask) | fdAssembly); } -#line 8677 "asmparse.cpp" + { PASM->m_pMarshal = yystack.l_mark[-1].binstr; } +#line 8695 "asmparse.cpp" break; case 202: #line 606 "asmparse.y" - { yyval.fieldAttr = (CorFieldAttr) ((yystack.l_mark[-1].fieldAttr & ~mdMemberAccessMask) | fdFamANDAssem); } -#line 8682 "asmparse.cpp" + { yyval.fieldAttr = (CorFieldAttr) ((yystack.l_mark[-1].fieldAttr & ~mdMemberAccessMask) | fdAssembly); } +#line 8700 "asmparse.cpp" break; case 203: #line 607 "asmparse.y" - { yyval.fieldAttr = (CorFieldAttr) ((yystack.l_mark[-1].fieldAttr & ~mdMemberAccessMask) | fdFamORAssem); } -#line 8687 "asmparse.cpp" + { yyval.fieldAttr = (CorFieldAttr) ((yystack.l_mark[-1].fieldAttr & ~mdMemberAccessMask) | fdFamANDAssem); } +#line 8705 "asmparse.cpp" break; case 204: #line 608 "asmparse.y" - { yyval.fieldAttr = (CorFieldAttr) ((yystack.l_mark[-1].fieldAttr & ~mdMemberAccessMask) | fdPrivateScope); } -#line 8692 "asmparse.cpp" + { yyval.fieldAttr = (CorFieldAttr) ((yystack.l_mark[-1].fieldAttr & ~mdMemberAccessMask) | fdFamORAssem); } +#line 8710 "asmparse.cpp" break; case 205: #line 609 "asmparse.y" - { yyval.fieldAttr = (CorFieldAttr) (yystack.l_mark[-1].fieldAttr | fdLiteral); } -#line 8697 "asmparse.cpp" + { yyval.fieldAttr = (CorFieldAttr) ((yystack.l_mark[-1].fieldAttr & ~mdMemberAccessMask) | fdPrivateScope); } +#line 8715 "asmparse.cpp" break; case 206: #line 610 "asmparse.y" - { yyval.fieldAttr = (CorFieldAttr) (yystack.l_mark[-1].fieldAttr | fdNotSerialized); } -#line 8702 "asmparse.cpp" + { yyval.fieldAttr = (CorFieldAttr) (yystack.l_mark[-1].fieldAttr | fdLiteral); } +#line 8720 "asmparse.cpp" break; case 207: #line 611 "asmparse.y" - { yyval.fieldAttr = (CorFieldAttr) (yystack.l_mark[-1].int32); } -#line 8707 "asmparse.cpp" + { yyval.fieldAttr = (CorFieldAttr) (yystack.l_mark[-1].fieldAttr | fdNotSerialized); } +#line 8725 "asmparse.cpp" break; case 208: -#line 614 "asmparse.y" - { yyval.string = 0; } -#line 8712 "asmparse.cpp" +#line 612 "asmparse.y" + { yyval.fieldAttr = (CorFieldAttr) (yystack.l_mark[-1].int32); } +#line 8730 "asmparse.cpp" break; case 209: #line 615 "asmparse.y" - { yyval.string = yystack.l_mark[0].string; } -#line 8717 "asmparse.cpp" + { yyval.string = 0; } +#line 8735 "asmparse.cpp" break; case 210: -#line 618 "asmparse.y" - { yyval.binstr = NULL; } -#line 8722 "asmparse.cpp" +#line 616 "asmparse.y" + { yyval.string = yystack.l_mark[0].string; } +#line 8740 "asmparse.cpp" break; case 211: #line 619 "asmparse.y" - { yyval.binstr = yystack.l_mark[0].binstr; } -#line 8727 "asmparse.cpp" + { yyval.binstr = NULL; } +#line 8745 "asmparse.cpp" break; case 212: -#line 622 "asmparse.y" - { yyval.int32 = 0xFFFFFFFF; } -#line 8732 "asmparse.cpp" +#line 620 "asmparse.y" + { yyval.binstr = yystack.l_mark[0].binstr; } +#line 8750 "asmparse.cpp" break; case 213: #line 623 "asmparse.y" - { yyval.int32 = yystack.l_mark[-1].int32; } -#line 8737 "asmparse.cpp" + { yyval.int32 = 0xFFFFFFFF; } +#line 8755 "asmparse.cpp" break; case 214: -#line 628 "asmparse.y" +#line 624 "asmparse.y" + { yyval.int32 = yystack.l_mark[-1].int32; } +#line 8760 "asmparse.cpp" +break; +case 215: +#line 629 "asmparse.y" { PASM->ResetArgNameList(); if (yystack.l_mark[-3].binstr == NULL) { @@ -8753,19 +8776,19 @@ case 214: parser->MakeSig(IMAGE_CEE_CS_CALLCONV_INSTANTIATION, 0, yystack.l_mark[-3].binstr)); } } -#line 8757 "asmparse.cpp" +#line 8780 "asmparse.cpp" break; -case 215: -#line 645 "asmparse.y" +case 216: +#line 646 "asmparse.y" { PASM->ResetArgNameList(); if((iCallConv)&&((yystack.l_mark[-8].int32 & iCallConv) != iCallConv)) parser->warn("'instance' added to method's calling convention\n"); yyval.token = PASM->MakeMemberRef(yystack.l_mark[-6].token, yystack.l_mark[-4].string, parser->MakeSig(yystack.l_mark[-8].int32 | IMAGE_CEE_CS_CALLCONV_GENERIC|iCallConv, yystack.l_mark[-7].binstr, yystack.l_mark[-1].binstr, yystack.l_mark[-3].int32)); } -#line 8766 "asmparse.cpp" +#line 8789 "asmparse.cpp" break; -case 216: -#line 651 "asmparse.y" +case 217: +#line 652 "asmparse.y" { PASM->ResetArgNameList(); if (yystack.l_mark[-3].binstr == NULL) { @@ -8781,254 +8804,254 @@ case 216: parser->MakeSig(IMAGE_CEE_CS_CALLCONV_INSTANTIATION, 0, yystack.l_mark[-3].binstr)); } } -#line 8785 "asmparse.cpp" +#line 8808 "asmparse.cpp" break; -case 217: -#line 667 "asmparse.y" +case 218: +#line 668 "asmparse.y" { PASM->ResetArgNameList(); if((iCallConv)&&((yystack.l_mark[-6].int32 & iCallConv) != iCallConv)) parser->warn("'instance' added to method's calling convention\n"); yyval.token = PASM->MakeMemberRef(mdTokenNil, yystack.l_mark[-4].string, parser->MakeSig(yystack.l_mark[-6].int32 | IMAGE_CEE_CS_CALLCONV_GENERIC|iCallConv, yystack.l_mark[-5].binstr, yystack.l_mark[-1].binstr, yystack.l_mark[-3].int32)); } -#line 8793 "asmparse.cpp" -break; -case 218: -#line 671 "asmparse.y" - { yyval.token = yystack.l_mark[0].token; } -#line 8798 "asmparse.cpp" +#line 8816 "asmparse.cpp" break; case 219: #line 672 "asmparse.y" - { yyval.token = yystack.l_mark[0].tdd->m_tkTypeSpec; } -#line 8803 "asmparse.cpp" + { yyval.token = yystack.l_mark[0].token; } +#line 8821 "asmparse.cpp" break; case 220: #line 673 "asmparse.y" { yyval.token = yystack.l_mark[0].tdd->m_tkTypeSpec; } -#line 8808 "asmparse.cpp" +#line 8826 "asmparse.cpp" break; case 221: -#line 676 "asmparse.y" - { yyval.int32 = (yystack.l_mark[0].int32 | IMAGE_CEE_CS_CALLCONV_HASTHIS); } -#line 8813 "asmparse.cpp" +#line 674 "asmparse.y" + { yyval.token = yystack.l_mark[0].tdd->m_tkTypeSpec; } +#line 8831 "asmparse.cpp" break; case 222: #line 677 "asmparse.y" - { yyval.int32 = (yystack.l_mark[0].int32 | IMAGE_CEE_CS_CALLCONV_EXPLICITTHIS); } -#line 8818 "asmparse.cpp" + { yyval.int32 = (yystack.l_mark[0].int32 | IMAGE_CEE_CS_CALLCONV_HASTHIS); } +#line 8836 "asmparse.cpp" break; case 223: #line 678 "asmparse.y" - { yyval.int32 = yystack.l_mark[0].int32; } -#line 8823 "asmparse.cpp" + { yyval.int32 = (yystack.l_mark[0].int32 | IMAGE_CEE_CS_CALLCONV_EXPLICITTHIS); } +#line 8841 "asmparse.cpp" break; case 224: #line 679 "asmparse.y" - { yyval.int32 = yystack.l_mark[-1].int32; } -#line 8828 "asmparse.cpp" + { yyval.int32 = yystack.l_mark[0].int32; } +#line 8846 "asmparse.cpp" break; case 225: -#line 682 "asmparse.y" - { yyval.int32 = IMAGE_CEE_CS_CALLCONV_DEFAULT; } -#line 8833 "asmparse.cpp" +#line 680 "asmparse.y" + { yyval.int32 = yystack.l_mark[-1].int32; } +#line 8851 "asmparse.cpp" break; case 226: #line 683 "asmparse.y" { yyval.int32 = IMAGE_CEE_CS_CALLCONV_DEFAULT; } -#line 8838 "asmparse.cpp" +#line 8856 "asmparse.cpp" break; case 227: #line 684 "asmparse.y" - { yyval.int32 = IMAGE_CEE_CS_CALLCONV_VARARG; } -#line 8843 "asmparse.cpp" + { yyval.int32 = IMAGE_CEE_CS_CALLCONV_DEFAULT; } +#line 8861 "asmparse.cpp" break; case 228: #line 685 "asmparse.y" - { yyval.int32 = IMAGE_CEE_CS_CALLCONV_C; } -#line 8848 "asmparse.cpp" + { yyval.int32 = IMAGE_CEE_CS_CALLCONV_VARARG; } +#line 8866 "asmparse.cpp" break; case 229: #line 686 "asmparse.y" - { yyval.int32 = IMAGE_CEE_CS_CALLCONV_STDCALL; } -#line 8853 "asmparse.cpp" + { yyval.int32 = IMAGE_CEE_CS_CALLCONV_C; } +#line 8871 "asmparse.cpp" break; case 230: #line 687 "asmparse.y" - { yyval.int32 = IMAGE_CEE_CS_CALLCONV_THISCALL; } -#line 8858 "asmparse.cpp" + { yyval.int32 = IMAGE_CEE_CS_CALLCONV_STDCALL; } +#line 8876 "asmparse.cpp" break; case 231: #line 688 "asmparse.y" - { yyval.int32 = IMAGE_CEE_CS_CALLCONV_FASTCALL; } -#line 8863 "asmparse.cpp" + { yyval.int32 = IMAGE_CEE_CS_CALLCONV_THISCALL; } +#line 8881 "asmparse.cpp" break; case 232: #line 689 "asmparse.y" - { yyval.int32 = IMAGE_CEE_CS_CALLCONV_UNMANAGED; } -#line 8868 "asmparse.cpp" + { yyval.int32 = IMAGE_CEE_CS_CALLCONV_FASTCALL; } +#line 8886 "asmparse.cpp" break; case 233: -#line 692 "asmparse.y" - { yyval.token = yystack.l_mark[-1].int32; } -#line 8873 "asmparse.cpp" +#line 690 "asmparse.y" + { yyval.int32 = IMAGE_CEE_CS_CALLCONV_UNMANAGED; } +#line 8891 "asmparse.cpp" break; case 234: -#line 695 "asmparse.y" +#line 693 "asmparse.y" + { yyval.token = yystack.l_mark[-1].int32; } +#line 8896 "asmparse.cpp" +break; +case 235: +#line 696 "asmparse.y" { yyval.token = yystack.l_mark[0].token; PASM->delArgNameList(PASM->m_firstArgName); PASM->m_firstArgName = parser->m_ANSFirst.POP(); PASM->m_lastArgName = parser->m_ANSLast.POP(); PASM->SetMemberRefFixup(yystack.l_mark[0].token,iOpcodeLen); } -#line 8882 "asmparse.cpp" +#line 8905 "asmparse.cpp" break; -case 235: -#line 701 "asmparse.y" +case 236: +#line 702 "asmparse.y" { yystack.l_mark[-3].binstr->insertInt8(IMAGE_CEE_CS_CALLCONV_FIELD); yyval.token = PASM->MakeMemberRef(yystack.l_mark[-2].token, yystack.l_mark[0].string, yystack.l_mark[-3].binstr); PASM->SetMemberRefFixup(yyval.token,iOpcodeLen); } -#line 8889 "asmparse.cpp" +#line 8912 "asmparse.cpp" break; -case 236: -#line 705 "asmparse.y" +case 237: +#line 706 "asmparse.y" { yystack.l_mark[-1].binstr->insertInt8(IMAGE_CEE_CS_CALLCONV_FIELD); yyval.token = PASM->MakeMemberRef(NULL, yystack.l_mark[0].string, yystack.l_mark[-1].binstr); PASM->SetMemberRefFixup(yyval.token,iOpcodeLen); } -#line 8896 "asmparse.cpp" -break; -case 237: -#line 708 "asmparse.y" - { yyval.token = yystack.l_mark[0].tdd->m_tkTypeSpec; - PASM->SetMemberRefFixup(yyval.token,iOpcodeLen); } -#line 8902 "asmparse.cpp" +#line 8919 "asmparse.cpp" break; case 238: -#line 710 "asmparse.y" +#line 709 "asmparse.y" { yyval.token = yystack.l_mark[0].tdd->m_tkTypeSpec; PASM->SetMemberRefFixup(yyval.token,iOpcodeLen); } -#line 8908 "asmparse.cpp" +#line 8925 "asmparse.cpp" break; case 239: -#line 712 "asmparse.y" - { yyval.token = yystack.l_mark[0].token; +#line 711 "asmparse.y" + { yyval.token = yystack.l_mark[0].tdd->m_tkTypeSpec; PASM->SetMemberRefFixup(yyval.token,iOpcodeLen); } -#line 8914 "asmparse.cpp" +#line 8931 "asmparse.cpp" break; case 240: -#line 717 "asmparse.y" - { PASM->ResetEvent(yystack.l_mark[0].string, yystack.l_mark[-1].token, yystack.l_mark[-2].eventAttr); } -#line 8919 "asmparse.cpp" +#line 713 "asmparse.y" + { yyval.token = yystack.l_mark[0].token; + PASM->SetMemberRefFixup(yyval.token,iOpcodeLen); } +#line 8937 "asmparse.cpp" break; case 241: #line 718 "asmparse.y" - { PASM->ResetEvent(yystack.l_mark[0].string, mdTypeRefNil, yystack.l_mark[-1].eventAttr); } -#line 8924 "asmparse.cpp" + { PASM->ResetEvent(yystack.l_mark[0].string, yystack.l_mark[-1].token, yystack.l_mark[-2].eventAttr); } +#line 8942 "asmparse.cpp" break; case 242: -#line 722 "asmparse.y" - { yyval.eventAttr = (CorEventAttr) 0; } -#line 8929 "asmparse.cpp" +#line 719 "asmparse.y" + { PASM->ResetEvent(yystack.l_mark[0].string, mdTypeRefNil, yystack.l_mark[-1].eventAttr); } +#line 8947 "asmparse.cpp" break; case 243: #line 723 "asmparse.y" - { yyval.eventAttr = yystack.l_mark[-1].eventAttr; } -#line 8934 "asmparse.cpp" + { yyval.eventAttr = (CorEventAttr) 0; } +#line 8952 "asmparse.cpp" break; case 244: #line 724 "asmparse.y" - { yyval.eventAttr = (CorEventAttr) (yystack.l_mark[-1].eventAttr | evSpecialName); } -#line 8939 "asmparse.cpp" + { yyval.eventAttr = yystack.l_mark[-1].eventAttr; } +#line 8957 "asmparse.cpp" break; -case 247: -#line 731 "asmparse.y" - { PASM->SetEventMethod(0, yystack.l_mark[0].token); } -#line 8944 "asmparse.cpp" +case 245: +#line 725 "asmparse.y" + { yyval.eventAttr = (CorEventAttr) (yystack.l_mark[-1].eventAttr | evSpecialName); } +#line 8962 "asmparse.cpp" break; case 248: #line 732 "asmparse.y" - { PASM->SetEventMethod(1, yystack.l_mark[0].token); } -#line 8949 "asmparse.cpp" + { PASM->SetEventMethod(0, yystack.l_mark[0].token); } +#line 8967 "asmparse.cpp" break; case 249: #line 733 "asmparse.y" - { PASM->SetEventMethod(2, yystack.l_mark[0].token); } -#line 8954 "asmparse.cpp" + { PASM->SetEventMethod(1, yystack.l_mark[0].token); } +#line 8972 "asmparse.cpp" break; case 250: #line 734 "asmparse.y" + { PASM->SetEventMethod(2, yystack.l_mark[0].token); } +#line 8977 "asmparse.cpp" +break; +case 251: +#line 735 "asmparse.y" { PASM->SetEventMethod(3, yystack.l_mark[0].token); } -#line 8959 "asmparse.cpp" +#line 8982 "asmparse.cpp" break; -case 255: -#line 743 "asmparse.y" +case 256: +#line 744 "asmparse.y" { PASM->ResetProp(yystack.l_mark[-4].string, parser->MakeSig((IMAGE_CEE_CS_CALLCONV_PROPERTY | (yystack.l_mark[-6].int32 & IMAGE_CEE_CS_CALLCONV_HASTHIS)),yystack.l_mark[-5].binstr,yystack.l_mark[-2].binstr), yystack.l_mark[-7].propAttr, yystack.l_mark[0].binstr);} -#line 8966 "asmparse.cpp" -break; -case 256: -#line 748 "asmparse.y" - { yyval.propAttr = (CorPropertyAttr) 0; } -#line 8971 "asmparse.cpp" +#line 8989 "asmparse.cpp" break; case 257: #line 749 "asmparse.y" - { yyval.propAttr = yystack.l_mark[-1].propAttr; } -#line 8976 "asmparse.cpp" + { yyval.propAttr = (CorPropertyAttr) 0; } +#line 8994 "asmparse.cpp" break; case 258: #line 750 "asmparse.y" - { yyval.propAttr = (CorPropertyAttr) (yystack.l_mark[-1].propAttr | prSpecialName); } -#line 8981 "asmparse.cpp" + { yyval.propAttr = yystack.l_mark[-1].propAttr; } +#line 8999 "asmparse.cpp" break; -case 261: -#line 758 "asmparse.y" - { PASM->SetPropMethod(0, yystack.l_mark[0].token); } -#line 8986 "asmparse.cpp" +case 259: +#line 751 "asmparse.y" + { yyval.propAttr = (CorPropertyAttr) (yystack.l_mark[-1].propAttr | prSpecialName); } +#line 9004 "asmparse.cpp" break; case 262: #line 759 "asmparse.y" - { PASM->SetPropMethod(1, yystack.l_mark[0].token); } -#line 8991 "asmparse.cpp" + { PASM->SetPropMethod(0, yystack.l_mark[0].token); } +#line 9009 "asmparse.cpp" break; case 263: #line 760 "asmparse.y" + { PASM->SetPropMethod(1, yystack.l_mark[0].token); } +#line 9014 "asmparse.cpp" +break; +case 264: +#line 761 "asmparse.y" { PASM->SetPropMethod(2, yystack.l_mark[0].token); } -#line 8996 "asmparse.cpp" +#line 9019 "asmparse.cpp" break; -case 268: -#line 768 "asmparse.y" +case 269: +#line 769 "asmparse.y" { PASM->ResetForNextMethod(); uMethodBeginLine = PASM->m_ulCurLine; uMethodBeginColumn=PASM->m_ulCurColumn; } -#line 9004 "asmparse.cpp" -break; -case 269: -#line 774 "asmparse.y" - { yyval.binstr = NULL; } -#line 9009 "asmparse.cpp" +#line 9027 "asmparse.cpp" break; case 270: #line 775 "asmparse.y" - { yyval.binstr = yystack.l_mark[-1].binstr; } -#line 9014 "asmparse.cpp" + { yyval.binstr = NULL; } +#line 9032 "asmparse.cpp" break; case 271: -#line 778 "asmparse.y" - { yyval.binstr = yystack.l_mark[0].binstr; } -#line 9019 "asmparse.cpp" +#line 776 "asmparse.y" + { yyval.binstr = yystack.l_mark[-1].binstr; } +#line 9037 "asmparse.cpp" break; case 272: #line 779 "asmparse.y" - { yyval.binstr = yystack.l_mark[-1].binstr; } -#line 9024 "asmparse.cpp" + { yyval.binstr = yystack.l_mark[0].binstr; } +#line 9042 "asmparse.cpp" break; case 273: -#line 782 "asmparse.y" - { bParsingByteArray = TRUE; } -#line 9029 "asmparse.cpp" +#line 780 "asmparse.y" + { yyval.binstr = yystack.l_mark[-1].binstr; } +#line 9047 "asmparse.cpp" break; case 274: -#line 786 "asmparse.y" +#line 783 "asmparse.y" + { bParsingByteArray = TRUE; } +#line 9052 "asmparse.cpp" +break; +case 275: +#line 787 "asmparse.y" { BinStr* sig; if (yystack.l_mark[-5].typarlist == NULL) sig = parser->MakeSig(yystack.l_mark[-10].int32, yystack.l_mark[-8].binstr, yystack.l_mark[-3].binstr); else { @@ -9042,377 +9065,377 @@ case 274: PASM->m_pCurMethod->m_ulLines[0] = uMethodBeginLine; PASM->m_pCurMethod->m_ulColumns[0]=uMethodBeginColumn; } -#line 9046 "asmparse.cpp" -break; -case 275: -#line 801 "asmparse.y" - { yyval.methAttr = (CorMethodAttr) 0; } -#line 9051 "asmparse.cpp" +#line 9069 "asmparse.cpp" break; case 276: #line 802 "asmparse.y" - { yyval.methAttr = (CorMethodAttr) (yystack.l_mark[-1].methAttr | mdStatic); } -#line 9056 "asmparse.cpp" + { yyval.methAttr = (CorMethodAttr) 0; } +#line 9074 "asmparse.cpp" break; case 277: #line 803 "asmparse.y" - { yyval.methAttr = (CorMethodAttr) ((yystack.l_mark[-1].methAttr & ~mdMemberAccessMask) | mdPublic); } -#line 9061 "asmparse.cpp" + { yyval.methAttr = (CorMethodAttr) (yystack.l_mark[-1].methAttr | mdStatic); } +#line 9079 "asmparse.cpp" break; case 278: #line 804 "asmparse.y" - { yyval.methAttr = (CorMethodAttr) ((yystack.l_mark[-1].methAttr & ~mdMemberAccessMask) | mdPrivate); } -#line 9066 "asmparse.cpp" + { yyval.methAttr = (CorMethodAttr) ((yystack.l_mark[-1].methAttr & ~mdMemberAccessMask) | mdPublic); } +#line 9084 "asmparse.cpp" break; case 279: #line 805 "asmparse.y" - { yyval.methAttr = (CorMethodAttr) ((yystack.l_mark[-1].methAttr & ~mdMemberAccessMask) | mdFamily); } -#line 9071 "asmparse.cpp" + { yyval.methAttr = (CorMethodAttr) ((yystack.l_mark[-1].methAttr & ~mdMemberAccessMask) | mdPrivate); } +#line 9089 "asmparse.cpp" break; case 280: #line 806 "asmparse.y" - { yyval.methAttr = (CorMethodAttr) (yystack.l_mark[-1].methAttr | mdFinal); } -#line 9076 "asmparse.cpp" + { yyval.methAttr = (CorMethodAttr) ((yystack.l_mark[-1].methAttr & ~mdMemberAccessMask) | mdFamily); } +#line 9094 "asmparse.cpp" break; case 281: #line 807 "asmparse.y" - { yyval.methAttr = (CorMethodAttr) (yystack.l_mark[-1].methAttr | mdSpecialName); } -#line 9081 "asmparse.cpp" + { yyval.methAttr = (CorMethodAttr) (yystack.l_mark[-1].methAttr | mdFinal); } +#line 9099 "asmparse.cpp" break; case 282: #line 808 "asmparse.y" - { yyval.methAttr = (CorMethodAttr) (yystack.l_mark[-1].methAttr | mdVirtual); } -#line 9086 "asmparse.cpp" + { yyval.methAttr = (CorMethodAttr) (yystack.l_mark[-1].methAttr | mdSpecialName); } +#line 9104 "asmparse.cpp" break; case 283: #line 809 "asmparse.y" - { yyval.methAttr = (CorMethodAttr) (yystack.l_mark[-1].methAttr | mdCheckAccessOnOverride); } -#line 9091 "asmparse.cpp" + { yyval.methAttr = (CorMethodAttr) (yystack.l_mark[-1].methAttr | mdVirtual); } +#line 9109 "asmparse.cpp" break; case 284: #line 810 "asmparse.y" - { yyval.methAttr = (CorMethodAttr) (yystack.l_mark[-1].methAttr | mdAbstract); } -#line 9096 "asmparse.cpp" + { yyval.methAttr = (CorMethodAttr) (yystack.l_mark[-1].methAttr | mdCheckAccessOnOverride); } +#line 9114 "asmparse.cpp" break; case 285: #line 811 "asmparse.y" - { yyval.methAttr = (CorMethodAttr) ((yystack.l_mark[-1].methAttr & ~mdMemberAccessMask) | mdAssem); } -#line 9101 "asmparse.cpp" + { yyval.methAttr = (CorMethodAttr) (yystack.l_mark[-1].methAttr | mdAbstract); } +#line 9119 "asmparse.cpp" break; case 286: #line 812 "asmparse.y" - { yyval.methAttr = (CorMethodAttr) ((yystack.l_mark[-1].methAttr & ~mdMemberAccessMask) | mdFamANDAssem); } -#line 9106 "asmparse.cpp" + { yyval.methAttr = (CorMethodAttr) ((yystack.l_mark[-1].methAttr & ~mdMemberAccessMask) | mdAssem); } +#line 9124 "asmparse.cpp" break; case 287: #line 813 "asmparse.y" - { yyval.methAttr = (CorMethodAttr) ((yystack.l_mark[-1].methAttr & ~mdMemberAccessMask) | mdFamORAssem); } -#line 9111 "asmparse.cpp" + { yyval.methAttr = (CorMethodAttr) ((yystack.l_mark[-1].methAttr & ~mdMemberAccessMask) | mdFamANDAssem); } +#line 9129 "asmparse.cpp" break; case 288: #line 814 "asmparse.y" - { yyval.methAttr = (CorMethodAttr) ((yystack.l_mark[-1].methAttr & ~mdMemberAccessMask) | mdPrivateScope); } -#line 9116 "asmparse.cpp" + { yyval.methAttr = (CorMethodAttr) ((yystack.l_mark[-1].methAttr & ~mdMemberAccessMask) | mdFamORAssem); } +#line 9134 "asmparse.cpp" break; case 289: #line 815 "asmparse.y" - { yyval.methAttr = (CorMethodAttr) (yystack.l_mark[-1].methAttr | mdHideBySig); } -#line 9121 "asmparse.cpp" + { yyval.methAttr = (CorMethodAttr) ((yystack.l_mark[-1].methAttr & ~mdMemberAccessMask) | mdPrivateScope); } +#line 9139 "asmparse.cpp" break; case 290: #line 816 "asmparse.y" - { yyval.methAttr = (CorMethodAttr) (yystack.l_mark[-1].methAttr | mdNewSlot); } -#line 9126 "asmparse.cpp" + { yyval.methAttr = (CorMethodAttr) (yystack.l_mark[-1].methAttr | mdHideBySig); } +#line 9144 "asmparse.cpp" break; case 291: #line 817 "asmparse.y" - { yyval.methAttr = yystack.l_mark[-1].methAttr; } -#line 9131 "asmparse.cpp" + { yyval.methAttr = (CorMethodAttr) (yystack.l_mark[-1].methAttr | mdNewSlot); } +#line 9149 "asmparse.cpp" break; case 292: #line 818 "asmparse.y" - { yyval.methAttr = (CorMethodAttr) (yystack.l_mark[-1].methAttr | mdUnmanagedExport); } -#line 9136 "asmparse.cpp" + { yyval.methAttr = yystack.l_mark[-1].methAttr; } +#line 9154 "asmparse.cpp" break; case 293: #line 819 "asmparse.y" - { yyval.methAttr = (CorMethodAttr) (yystack.l_mark[-1].methAttr | mdRequireSecObject); } -#line 9141 "asmparse.cpp" + { yyval.methAttr = (CorMethodAttr) (yystack.l_mark[-1].methAttr | mdUnmanagedExport); } +#line 9159 "asmparse.cpp" break; case 294: #line 820 "asmparse.y" - { yyval.methAttr = (CorMethodAttr) (yystack.l_mark[-1].int32); } -#line 9146 "asmparse.cpp" + { yyval.methAttr = (CorMethodAttr) (yystack.l_mark[-1].methAttr | mdRequireSecObject); } +#line 9164 "asmparse.cpp" break; case 295: -#line 822 "asmparse.y" +#line 821 "asmparse.y" + { yyval.methAttr = (CorMethodAttr) (yystack.l_mark[-1].int32); } +#line 9169 "asmparse.cpp" +break; +case 296: +#line 823 "asmparse.y" { PASM->SetPinvoke(yystack.l_mark[-4].binstr,0,yystack.l_mark[-2].binstr,yystack.l_mark[-1].pinvAttr); yyval.methAttr = (CorMethodAttr) (yystack.l_mark[-7].methAttr | mdPinvokeImpl); } -#line 9152 "asmparse.cpp" +#line 9175 "asmparse.cpp" break; -case 296: -#line 825 "asmparse.y" +case 297: +#line 826 "asmparse.y" { PASM->SetPinvoke(yystack.l_mark[-2].binstr,0,NULL,yystack.l_mark[-1].pinvAttr); yyval.methAttr = (CorMethodAttr) (yystack.l_mark[-5].methAttr | mdPinvokeImpl); } -#line 9158 "asmparse.cpp" +#line 9181 "asmparse.cpp" break; -case 297: -#line 828 "asmparse.y" +case 298: +#line 829 "asmparse.y" { PASM->SetPinvoke(new BinStr(),0,NULL,yystack.l_mark[-1].pinvAttr); yyval.methAttr = (CorMethodAttr) (yystack.l_mark[-4].methAttr | mdPinvokeImpl); } -#line 9164 "asmparse.cpp" -break; -case 298: -#line 832 "asmparse.y" - { yyval.pinvAttr = (CorPinvokeMap) 0; } -#line 9169 "asmparse.cpp" +#line 9187 "asmparse.cpp" break; case 299: #line 833 "asmparse.y" - { yyval.pinvAttr = (CorPinvokeMap) (yystack.l_mark[-1].pinvAttr | pmNoMangle); } -#line 9174 "asmparse.cpp" + { yyval.pinvAttr = (CorPinvokeMap) 0; } +#line 9192 "asmparse.cpp" break; case 300: #line 834 "asmparse.y" - { yyval.pinvAttr = (CorPinvokeMap) (yystack.l_mark[-1].pinvAttr | pmCharSetAnsi); } -#line 9179 "asmparse.cpp" + { yyval.pinvAttr = (CorPinvokeMap) (yystack.l_mark[-1].pinvAttr | pmNoMangle); } +#line 9197 "asmparse.cpp" break; case 301: #line 835 "asmparse.y" - { yyval.pinvAttr = (CorPinvokeMap) (yystack.l_mark[-1].pinvAttr | pmCharSetUnicode); } -#line 9184 "asmparse.cpp" + { yyval.pinvAttr = (CorPinvokeMap) (yystack.l_mark[-1].pinvAttr | pmCharSetAnsi); } +#line 9202 "asmparse.cpp" break; case 302: #line 836 "asmparse.y" - { yyval.pinvAttr = (CorPinvokeMap) (yystack.l_mark[-1].pinvAttr | pmCharSetAuto); } -#line 9189 "asmparse.cpp" + { yyval.pinvAttr = (CorPinvokeMap) (yystack.l_mark[-1].pinvAttr | pmCharSetUnicode); } +#line 9207 "asmparse.cpp" break; case 303: #line 837 "asmparse.y" - { yyval.pinvAttr = (CorPinvokeMap) (yystack.l_mark[-1].pinvAttr | pmSupportsLastError); } -#line 9194 "asmparse.cpp" + { yyval.pinvAttr = (CorPinvokeMap) (yystack.l_mark[-1].pinvAttr | pmCharSetAuto); } +#line 9212 "asmparse.cpp" break; case 304: #line 838 "asmparse.y" - { yyval.pinvAttr = (CorPinvokeMap) (yystack.l_mark[-1].pinvAttr | pmCallConvWinapi); } -#line 9199 "asmparse.cpp" + { yyval.pinvAttr = (CorPinvokeMap) (yystack.l_mark[-1].pinvAttr | pmSupportsLastError); } +#line 9217 "asmparse.cpp" break; case 305: #line 839 "asmparse.y" - { yyval.pinvAttr = (CorPinvokeMap) (yystack.l_mark[-1].pinvAttr | pmCallConvCdecl); } -#line 9204 "asmparse.cpp" + { yyval.pinvAttr = (CorPinvokeMap) (yystack.l_mark[-1].pinvAttr | pmCallConvWinapi); } +#line 9222 "asmparse.cpp" break; case 306: #line 840 "asmparse.y" - { yyval.pinvAttr = (CorPinvokeMap) (yystack.l_mark[-1].pinvAttr | pmCallConvStdcall); } -#line 9209 "asmparse.cpp" + { yyval.pinvAttr = (CorPinvokeMap) (yystack.l_mark[-1].pinvAttr | pmCallConvCdecl); } +#line 9227 "asmparse.cpp" break; case 307: #line 841 "asmparse.y" - { yyval.pinvAttr = (CorPinvokeMap) (yystack.l_mark[-1].pinvAttr | pmCallConvThiscall); } -#line 9214 "asmparse.cpp" + { yyval.pinvAttr = (CorPinvokeMap) (yystack.l_mark[-1].pinvAttr | pmCallConvStdcall); } +#line 9232 "asmparse.cpp" break; case 308: #line 842 "asmparse.y" - { yyval.pinvAttr = (CorPinvokeMap) (yystack.l_mark[-1].pinvAttr | pmCallConvFastcall); } -#line 9219 "asmparse.cpp" + { yyval.pinvAttr = (CorPinvokeMap) (yystack.l_mark[-1].pinvAttr | pmCallConvThiscall); } +#line 9237 "asmparse.cpp" break; case 309: #line 843 "asmparse.y" - { yyval.pinvAttr = (CorPinvokeMap) (yystack.l_mark[-3].pinvAttr | pmBestFitEnabled); } -#line 9224 "asmparse.cpp" + { yyval.pinvAttr = (CorPinvokeMap) (yystack.l_mark[-1].pinvAttr | pmCallConvFastcall); } +#line 9242 "asmparse.cpp" break; case 310: #line 844 "asmparse.y" - { yyval.pinvAttr = (CorPinvokeMap) (yystack.l_mark[-3].pinvAttr | pmBestFitDisabled); } -#line 9229 "asmparse.cpp" + { yyval.pinvAttr = (CorPinvokeMap) (yystack.l_mark[-3].pinvAttr | pmBestFitEnabled); } +#line 9247 "asmparse.cpp" break; case 311: #line 845 "asmparse.y" - { yyval.pinvAttr = (CorPinvokeMap) (yystack.l_mark[-3].pinvAttr | pmThrowOnUnmappableCharEnabled); } -#line 9234 "asmparse.cpp" + { yyval.pinvAttr = (CorPinvokeMap) (yystack.l_mark[-3].pinvAttr | pmBestFitDisabled); } +#line 9252 "asmparse.cpp" break; case 312: #line 846 "asmparse.y" - { yyval.pinvAttr = (CorPinvokeMap) (yystack.l_mark[-3].pinvAttr | pmThrowOnUnmappableCharDisabled); } -#line 9239 "asmparse.cpp" + { yyval.pinvAttr = (CorPinvokeMap) (yystack.l_mark[-3].pinvAttr | pmThrowOnUnmappableCharEnabled); } +#line 9257 "asmparse.cpp" break; case 313: #line 847 "asmparse.y" - { yyval.pinvAttr = (CorPinvokeMap) (yystack.l_mark[-1].int32); } -#line 9244 "asmparse.cpp" + { yyval.pinvAttr = (CorPinvokeMap) (yystack.l_mark[-3].pinvAttr | pmThrowOnUnmappableCharDisabled); } +#line 9262 "asmparse.cpp" break; case 314: -#line 850 "asmparse.y" - { yyval.string = newString(COR_CTOR_METHOD_NAME); } -#line 9249 "asmparse.cpp" +#line 848 "asmparse.y" + { yyval.pinvAttr = (CorPinvokeMap) (yystack.l_mark[-1].int32); } +#line 9267 "asmparse.cpp" break; case 315: #line 851 "asmparse.y" - { yyval.string = newString(COR_CCTOR_METHOD_NAME); } -#line 9254 "asmparse.cpp" + { yyval.string = newString(COR_CTOR_METHOD_NAME); } +#line 9272 "asmparse.cpp" break; case 316: #line 852 "asmparse.y" - { yyval.string = yystack.l_mark[0].string; } -#line 9259 "asmparse.cpp" + { yyval.string = newString(COR_CCTOR_METHOD_NAME); } +#line 9277 "asmparse.cpp" break; case 317: -#line 855 "asmparse.y" - { yyval.int32 = 0; } -#line 9264 "asmparse.cpp" +#line 853 "asmparse.y" + { yyval.string = yystack.l_mark[0].string; } +#line 9282 "asmparse.cpp" break; case 318: #line 856 "asmparse.y" - { yyval.int32 = yystack.l_mark[-3].int32 | pdIn; } -#line 9269 "asmparse.cpp" + { yyval.int32 = 0; } +#line 9287 "asmparse.cpp" break; case 319: #line 857 "asmparse.y" - { yyval.int32 = yystack.l_mark[-3].int32 | pdOut; } -#line 9274 "asmparse.cpp" + { yyval.int32 = yystack.l_mark[-3].int32 | pdIn; } +#line 9292 "asmparse.cpp" break; case 320: #line 858 "asmparse.y" - { yyval.int32 = yystack.l_mark[-3].int32 | pdOptional; } -#line 9279 "asmparse.cpp" + { yyval.int32 = yystack.l_mark[-3].int32 | pdOut; } +#line 9297 "asmparse.cpp" break; case 321: #line 859 "asmparse.y" - { yyval.int32 = yystack.l_mark[-1].int32 + 1; } -#line 9284 "asmparse.cpp" + { yyval.int32 = yystack.l_mark[-3].int32 | pdOptional; } +#line 9302 "asmparse.cpp" break; case 322: -#line 862 "asmparse.y" - { yyval.implAttr = (CorMethodImpl) (miIL | miManaged); } -#line 9289 "asmparse.cpp" +#line 860 "asmparse.y" + { yyval.int32 = yystack.l_mark[-1].int32 + 1; } +#line 9307 "asmparse.cpp" break; case 323: #line 863 "asmparse.y" - { yyval.implAttr = (CorMethodImpl) ((yystack.l_mark[-1].implAttr & 0xFFF4) | miNative); } -#line 9294 "asmparse.cpp" + { yyval.implAttr = (CorMethodImpl) (miIL | miManaged); } +#line 9312 "asmparse.cpp" break; case 324: #line 864 "asmparse.y" - { yyval.implAttr = (CorMethodImpl) ((yystack.l_mark[-1].implAttr & 0xFFF4) | miIL); } -#line 9299 "asmparse.cpp" + { yyval.implAttr = (CorMethodImpl) ((yystack.l_mark[-1].implAttr & 0xFFF4) | miNative); } +#line 9317 "asmparse.cpp" break; case 325: #line 865 "asmparse.y" - { yyval.implAttr = (CorMethodImpl) ((yystack.l_mark[-1].implAttr & 0xFFF4) | miOPTIL); } -#line 9304 "asmparse.cpp" + { yyval.implAttr = (CorMethodImpl) ((yystack.l_mark[-1].implAttr & 0xFFF4) | miIL); } +#line 9322 "asmparse.cpp" break; case 326: #line 866 "asmparse.y" - { yyval.implAttr = (CorMethodImpl) ((yystack.l_mark[-1].implAttr & 0xFFFB) | miManaged); } -#line 9309 "asmparse.cpp" + { yyval.implAttr = (CorMethodImpl) ((yystack.l_mark[-1].implAttr & 0xFFF4) | miOPTIL); } +#line 9327 "asmparse.cpp" break; case 327: #line 867 "asmparse.y" - { yyval.implAttr = (CorMethodImpl) ((yystack.l_mark[-1].implAttr & 0xFFFB) | miUnmanaged); } -#line 9314 "asmparse.cpp" + { yyval.implAttr = (CorMethodImpl) ((yystack.l_mark[-1].implAttr & 0xFFFB) | miManaged); } +#line 9332 "asmparse.cpp" break; case 328: #line 868 "asmparse.y" - { yyval.implAttr = (CorMethodImpl) (yystack.l_mark[-1].implAttr | miForwardRef); } -#line 9319 "asmparse.cpp" + { yyval.implAttr = (CorMethodImpl) ((yystack.l_mark[-1].implAttr & 0xFFFB) | miUnmanaged); } +#line 9337 "asmparse.cpp" break; case 329: #line 869 "asmparse.y" - { yyval.implAttr = (CorMethodImpl) (yystack.l_mark[-1].implAttr | miPreserveSig); } -#line 9324 "asmparse.cpp" + { yyval.implAttr = (CorMethodImpl) (yystack.l_mark[-1].implAttr | miForwardRef); } +#line 9342 "asmparse.cpp" break; case 330: #line 870 "asmparse.y" - { yyval.implAttr = (CorMethodImpl) (yystack.l_mark[-1].implAttr | miRuntime); } -#line 9329 "asmparse.cpp" + { yyval.implAttr = (CorMethodImpl) (yystack.l_mark[-1].implAttr | miPreserveSig); } +#line 9347 "asmparse.cpp" break; case 331: #line 871 "asmparse.y" - { yyval.implAttr = (CorMethodImpl) (yystack.l_mark[-1].implAttr | miInternalCall); } -#line 9334 "asmparse.cpp" + { yyval.implAttr = (CorMethodImpl) (yystack.l_mark[-1].implAttr | miRuntime); } +#line 9352 "asmparse.cpp" break; case 332: #line 872 "asmparse.y" - { yyval.implAttr = (CorMethodImpl) (yystack.l_mark[-1].implAttr | miSynchronized); } -#line 9339 "asmparse.cpp" + { yyval.implAttr = (CorMethodImpl) (yystack.l_mark[-1].implAttr | miInternalCall); } +#line 9357 "asmparse.cpp" break; case 333: #line 873 "asmparse.y" - { yyval.implAttr = (CorMethodImpl) (yystack.l_mark[-1].implAttr | miNoInlining); } -#line 9344 "asmparse.cpp" + { yyval.implAttr = (CorMethodImpl) (yystack.l_mark[-1].implAttr | miSynchronized); } +#line 9362 "asmparse.cpp" break; case 334: #line 874 "asmparse.y" - { yyval.implAttr = (CorMethodImpl) (yystack.l_mark[-1].implAttr | miAggressiveInlining); } -#line 9349 "asmparse.cpp" + { yyval.implAttr = (CorMethodImpl) (yystack.l_mark[-1].implAttr | miNoInlining); } +#line 9367 "asmparse.cpp" break; case 335: #line 875 "asmparse.y" - { yyval.implAttr = (CorMethodImpl) (yystack.l_mark[-1].implAttr | miNoOptimization); } -#line 9354 "asmparse.cpp" + { yyval.implAttr = (CorMethodImpl) (yystack.l_mark[-1].implAttr | miAggressiveInlining); } +#line 9372 "asmparse.cpp" break; case 336: #line 876 "asmparse.y" - { yyval.implAttr = (CorMethodImpl) (yystack.l_mark[-1].implAttr | miAggressiveOptimization); } -#line 9359 "asmparse.cpp" + { yyval.implAttr = (CorMethodImpl) (yystack.l_mark[-1].implAttr | miNoOptimization); } +#line 9377 "asmparse.cpp" break; case 337: #line 877 "asmparse.y" - { yyval.implAttr = (CorMethodImpl) (yystack.l_mark[-1].int32); } -#line 9364 "asmparse.cpp" + { yyval.implAttr = (CorMethodImpl) (yystack.l_mark[-1].implAttr | miAggressiveOptimization); } +#line 9382 "asmparse.cpp" break; case 338: -#line 880 "asmparse.y" +#line 878 "asmparse.y" + { yyval.implAttr = (CorMethodImpl) (yystack.l_mark[-1].int32); } +#line 9387 "asmparse.cpp" +break; +case 339: +#line 881 "asmparse.y" { PASM->delArgNameList(PASM->m_firstArgName); PASM->m_firstArgName = NULL;PASM->m_lastArgName = NULL; } -#line 9370 "asmparse.cpp" -break; -case 341: -#line 888 "asmparse.y" - { PASM->EmitByte(yystack.l_mark[0].int32); } -#line 9375 "asmparse.cpp" +#line 9393 "asmparse.cpp" break; case 342: #line 889 "asmparse.y" - { delete PASM->m_SEHD; PASM->m_SEHD = PASM->m_SEHDstack.POP(); } -#line 9380 "asmparse.cpp" + { PASM->EmitByte(yystack.l_mark[0].int32); } +#line 9398 "asmparse.cpp" break; case 343: #line 890 "asmparse.y" - { PASM->EmitMaxStack(yystack.l_mark[0].int32); } -#line 9385 "asmparse.cpp" + { delete PASM->m_SEHD; PASM->m_SEHD = PASM->m_SEHDstack.POP(); } +#line 9403 "asmparse.cpp" break; case 344: #line 891 "asmparse.y" + { PASM->EmitMaxStack(yystack.l_mark[0].int32); } +#line 9408 "asmparse.cpp" +break; +case 345: +#line 892 "asmparse.y" { PASM->EmitLocals(parser->MakeSig(IMAGE_CEE_CS_CALLCONV_LOCAL_SIG, 0, yystack.l_mark[-1].binstr)); } -#line 9391 "asmparse.cpp" +#line 9414 "asmparse.cpp" break; -case 345: -#line 893 "asmparse.y" +case 346: +#line 894 "asmparse.y" { PASM->EmitZeroInit(); PASM->EmitLocals(parser->MakeSig(IMAGE_CEE_CS_CALLCONV_LOCAL_SIG, 0, yystack.l_mark[-1].binstr)); } -#line 9398 "asmparse.cpp" -break; -case 346: -#line 896 "asmparse.y" - { PASM->EmitEntryPoint(); } -#line 9403 "asmparse.cpp" +#line 9421 "asmparse.cpp" break; case 347: #line 897 "asmparse.y" + { PASM->EmitEntryPoint(); } +#line 9426 "asmparse.cpp" +break; +case 348: +#line 898 "asmparse.y" { PASM->EmitZeroInit(); } -#line 9408 "asmparse.cpp" +#line 9431 "asmparse.cpp" break; -case 350: -#line 900 "asmparse.y" +case 351: +#line 901 "asmparse.y" { PASM->AddLabel(PASM->m_CurPC,yystack.l_mark[-1].string); /*PASM->EmitLabel($1);*/ } -#line 9413 "asmparse.cpp" +#line 9436 "asmparse.cpp" break; -case 356: -#line 906 "asmparse.y" +case 357: +#line 907 "asmparse.y" { if(PASM->m_pCurMethod->m_dwExportOrdinal == 0xFFFFFFFF) { PASM->m_pCurMethod->m_dwExportOrdinal = yystack.l_mark[-1].int32; @@ -9423,10 +9446,10 @@ case 356: else PASM->report->warn("Duplicate .export directive, ignored\n"); } -#line 9427 "asmparse.cpp" +#line 9450 "asmparse.cpp" break; -case 357: -#line 916 "asmparse.y" +case 358: +#line 917 "asmparse.y" { if(PASM->m_pCurMethod->m_dwExportOrdinal == 0xFFFFFFFF) { PASM->m_pCurMethod->m_dwExportOrdinal = yystack.l_mark[-3].int32; @@ -9437,60 +9460,60 @@ case 357: else PASM->report->warn("Duplicate .export directive, ignored\n"); } -#line 9441 "asmparse.cpp" +#line 9464 "asmparse.cpp" break; -case 358: -#line 926 "asmparse.y" +case 359: +#line 927 "asmparse.y" { PASM->m_pCurMethod->m_wVTEntry = (WORD)yystack.l_mark[-2].int32; PASM->m_pCurMethod->m_wVTSlot = (WORD)yystack.l_mark[0].int32; } -#line 9447 "asmparse.cpp" +#line 9470 "asmparse.cpp" break; -case 359: -#line 929 "asmparse.y" +case 360: +#line 930 "asmparse.y" { PASM->AddMethodImpl(yystack.l_mark[-2].token,yystack.l_mark[0].string,NULL,NULL,NULL,NULL); } -#line 9452 "asmparse.cpp" +#line 9475 "asmparse.cpp" break; -case 360: -#line 932 "asmparse.y" +case 361: +#line 933 "asmparse.y" { PASM->AddMethodImpl(yystack.l_mark[-6].token,yystack.l_mark[-4].string, (yystack.l_mark[-3].int32==0 ? parser->MakeSig(yystack.l_mark[-8].int32,yystack.l_mark[-7].binstr,yystack.l_mark[-1].binstr) : parser->MakeSig(yystack.l_mark[-8].int32| IMAGE_CEE_CS_CALLCONV_GENERIC,yystack.l_mark[-7].binstr,yystack.l_mark[-1].binstr,yystack.l_mark[-3].int32)) ,NULL,NULL,NULL); PASM->ResetArgNameList(); } -#line 9462 "asmparse.cpp" +#line 9485 "asmparse.cpp" break; -case 362: -#line 939 "asmparse.y" +case 363: +#line 940 "asmparse.y" { if((yystack.l_mark[-1].int32 > 0) && (yystack.l_mark[-1].int32 <= (int)PASM->m_pCurMethod->m_NumTyPars)) PASM->m_pCustomDescrList = PASM->m_pCurMethod->m_TyPars[yystack.l_mark[-1].int32-1].CAList(); else PASM->report->error("Type parameter index out of range\n"); } -#line 9471 "asmparse.cpp" +#line 9494 "asmparse.cpp" break; -case 363: -#line 944 "asmparse.y" +case 364: +#line 945 "asmparse.y" { int n = PASM->m_pCurMethod->FindTyPar(yystack.l_mark[0].string); if(n >= 0) PASM->m_pCustomDescrList = PASM->m_pCurMethod->m_TyPars[n].CAList(); else PASM->report->error("Type parameter '%s' undefined\n",yystack.l_mark[0].string); } -#line 9481 "asmparse.cpp" -break; -case 364: -#line 950 "asmparse.y" - { PASM->m_pCurMethod->AddGenericParamConstraint(yystack.l_mark[-3].int32, 0, yystack.l_mark[0].token); } -#line 9486 "asmparse.cpp" +#line 9504 "asmparse.cpp" break; case 365: #line 951 "asmparse.y" - { PASM->m_pCurMethod->AddGenericParamConstraint(0, yystack.l_mark[-2].string, yystack.l_mark[0].token); } -#line 9491 "asmparse.cpp" + { PASM->m_pCurMethod->AddGenericParamConstraint(yystack.l_mark[-3].int32, 0, yystack.l_mark[0].token); } +#line 9509 "asmparse.cpp" break; case 366: -#line 954 "asmparse.y" +#line 952 "asmparse.y" + { PASM->m_pCurMethod->AddGenericParamConstraint(0, yystack.l_mark[-2].string, yystack.l_mark[0].token); } +#line 9514 "asmparse.cpp" +break; +case 367: +#line 955 "asmparse.y" { if( yystack.l_mark[-2].int32 ) { ARG_NAME_LIST* pAN=PASM->findArg(PASM->m_pCurMethod->m_firstArgName, yystack.l_mark[-2].int32 - 1); if(pAN) @@ -9509,207 +9532,207 @@ case 366: } PASM->m_tkCurrentCVOwner = 0; } -#line 9513 "asmparse.cpp" -break; -case 367: -#line 974 "asmparse.y" - { PASM->m_pCurMethod->CloseScope(); } -#line 9518 "asmparse.cpp" +#line 9536 "asmparse.cpp" break; case 368: -#line 977 "asmparse.y" - { PASM->m_pCurMethod->OpenScope(); } -#line 9523 "asmparse.cpp" +#line 975 "asmparse.y" + { PASM->m_pCurMethod->CloseScope(); } +#line 9541 "asmparse.cpp" break; -case 372: -#line 988 "asmparse.y" - { PASM->m_SEHD->tryTo = PASM->m_CurPC; } -#line 9528 "asmparse.cpp" +case 369: +#line 978 "asmparse.y" + { PASM->m_pCurMethod->OpenScope(); } +#line 9546 "asmparse.cpp" break; case 373: #line 989 "asmparse.y" - { PASM->SetTryLabels(yystack.l_mark[-2].string, yystack.l_mark[0].string); } -#line 9533 "asmparse.cpp" + { PASM->m_SEHD->tryTo = PASM->m_CurPC; } +#line 9551 "asmparse.cpp" break; case 374: #line 990 "asmparse.y" + { PASM->SetTryLabels(yystack.l_mark[-2].string, yystack.l_mark[0].string); } +#line 9556 "asmparse.cpp" +break; +case 375: +#line 991 "asmparse.y" { if(PASM->m_SEHD) {PASM->m_SEHD->tryFrom = yystack.l_mark[-2].int32; PASM->m_SEHD->tryTo = yystack.l_mark[0].int32;} } -#line 9539 "asmparse.cpp" +#line 9562 "asmparse.cpp" break; -case 375: -#line 994 "asmparse.y" +case 376: +#line 995 "asmparse.y" { PASM->NewSEHDescriptor(); PASM->m_SEHD->tryFrom = PASM->m_CurPC; } -#line 9545 "asmparse.cpp" -break; -case 376: -#line 999 "asmparse.y" - { PASM->EmitTry(); } -#line 9550 "asmparse.cpp" +#line 9568 "asmparse.cpp" break; case 377: #line 1000 "asmparse.y" { PASM->EmitTry(); } -#line 9555 "asmparse.cpp" +#line 9573 "asmparse.cpp" break; case 378: #line 1001 "asmparse.y" { PASM->EmitTry(); } -#line 9560 "asmparse.cpp" +#line 9578 "asmparse.cpp" break; case 379: #line 1002 "asmparse.y" { PASM->EmitTry(); } -#line 9565 "asmparse.cpp" +#line 9583 "asmparse.cpp" break; case 380: -#line 1006 "asmparse.y" - { PASM->m_SEHD->sehHandler = PASM->m_CurPC; } -#line 9570 "asmparse.cpp" +#line 1003 "asmparse.y" + { PASM->EmitTry(); } +#line 9588 "asmparse.cpp" break; case 381: #line 1007 "asmparse.y" + { PASM->m_SEHD->sehHandler = PASM->m_CurPC; } +#line 9593 "asmparse.cpp" +break; +case 382: +#line 1008 "asmparse.y" { PASM->SetFilterLabel(yystack.l_mark[0].string); PASM->m_SEHD->sehHandler = PASM->m_CurPC; } -#line 9576 "asmparse.cpp" +#line 9599 "asmparse.cpp" break; -case 382: -#line 1009 "asmparse.y" +case 383: +#line 1010 "asmparse.y" { PASM->m_SEHD->sehFilter = yystack.l_mark[0].int32; PASM->m_SEHD->sehHandler = PASM->m_CurPC; } -#line 9582 "asmparse.cpp" +#line 9605 "asmparse.cpp" break; -case 383: -#line 1013 "asmparse.y" +case 384: +#line 1014 "asmparse.y" { PASM->m_SEHD->sehClause = COR_ILEXCEPTION_CLAUSE_FILTER; PASM->m_SEHD->sehFilter = PASM->m_CurPC; } -#line 9588 "asmparse.cpp" +#line 9611 "asmparse.cpp" break; -case 384: -#line 1017 "asmparse.y" +case 385: +#line 1018 "asmparse.y" { PASM->m_SEHD->sehClause = COR_ILEXCEPTION_CLAUSE_NONE; PASM->SetCatchClass(yystack.l_mark[0].token); PASM->m_SEHD->sehHandler = PASM->m_CurPC; } -#line 9595 "asmparse.cpp" +#line 9618 "asmparse.cpp" break; -case 385: -#line 1022 "asmparse.y" +case 386: +#line 1023 "asmparse.y" { PASM->m_SEHD->sehClause = COR_ILEXCEPTION_CLAUSE_FINALLY; PASM->m_SEHD->sehHandler = PASM->m_CurPC; } -#line 9601 "asmparse.cpp" +#line 9624 "asmparse.cpp" break; -case 386: -#line 1026 "asmparse.y" +case 387: +#line 1027 "asmparse.y" { PASM->m_SEHD->sehClause = COR_ILEXCEPTION_CLAUSE_FAULT; PASM->m_SEHD->sehHandler = PASM->m_CurPC; } -#line 9607 "asmparse.cpp" -break; -case 387: -#line 1030 "asmparse.y" - { PASM->m_SEHD->sehHandlerTo = PASM->m_CurPC; } -#line 9612 "asmparse.cpp" +#line 9630 "asmparse.cpp" break; case 388: #line 1031 "asmparse.y" - { PASM->SetHandlerLabels(yystack.l_mark[-2].string, yystack.l_mark[0].string); } -#line 9617 "asmparse.cpp" + { PASM->m_SEHD->sehHandlerTo = PASM->m_CurPC; } +#line 9635 "asmparse.cpp" break; case 389: #line 1032 "asmparse.y" + { PASM->SetHandlerLabels(yystack.l_mark[-2].string, yystack.l_mark[0].string); } +#line 9640 "asmparse.cpp" +break; +case 390: +#line 1033 "asmparse.y" { PASM->m_SEHD->sehHandler = yystack.l_mark[-2].int32; PASM->m_SEHD->sehHandlerTo = yystack.l_mark[0].int32; } -#line 9623 "asmparse.cpp" +#line 9646 "asmparse.cpp" break; -case 391: -#line 1040 "asmparse.y" +case 392: +#line 1041 "asmparse.y" { PASM->EmitDataLabel(yystack.l_mark[-1].string); } -#line 9628 "asmparse.cpp" -break; -case 393: -#line 1044 "asmparse.y" - { PASM->SetDataSection(); } -#line 9633 "asmparse.cpp" +#line 9651 "asmparse.cpp" break; case 394: #line 1045 "asmparse.y" - { PASM->SetTLSSection(); } -#line 9638 "asmparse.cpp" + { PASM->SetDataSection(); } +#line 9656 "asmparse.cpp" break; case 395: #line 1046 "asmparse.y" - { PASM->SetILSection(); } -#line 9643 "asmparse.cpp" + { PASM->SetTLSSection(); } +#line 9661 "asmparse.cpp" break; -case 400: -#line 1057 "asmparse.y" - { yyval.int32 = 1; } -#line 9648 "asmparse.cpp" +case 396: +#line 1047 "asmparse.y" + { PASM->SetILSection(); } +#line 9666 "asmparse.cpp" break; case 401: #line 1058 "asmparse.y" + { yyval.int32 = 1; } +#line 9671 "asmparse.cpp" +break; +case 402: +#line 1059 "asmparse.y" { yyval.int32 = yystack.l_mark[-1].int32; if(yystack.l_mark[-1].int32 <= 0) { PASM->report->error("Illegal item count: %d\n",yystack.l_mark[-1].int32); if(!PASM->OnErrGo) yyval.int32 = 1; }} -#line 9655 "asmparse.cpp" -break; -case 402: -#line 1063 "asmparse.y" - { PASM->EmitDataString(yystack.l_mark[-1].binstr); } -#line 9660 "asmparse.cpp" +#line 9678 "asmparse.cpp" break; case 403: #line 1064 "asmparse.y" - { PASM->EmitDD(yystack.l_mark[-1].string); } -#line 9665 "asmparse.cpp" + { PASM->EmitDataString(yystack.l_mark[-1].binstr); } +#line 9683 "asmparse.cpp" break; case 404: #line 1065 "asmparse.y" - { PASM->EmitData(yystack.l_mark[-1].binstr->ptr(),yystack.l_mark[-1].binstr->length()); } -#line 9670 "asmparse.cpp" + { PASM->EmitDD(yystack.l_mark[-1].string); } +#line 9688 "asmparse.cpp" break; case 405: -#line 1067 "asmparse.y" +#line 1066 "asmparse.y" + { PASM->EmitData(yystack.l_mark[-1].binstr->ptr(),yystack.l_mark[-1].binstr->length()); } +#line 9693 "asmparse.cpp" +break; +case 406: +#line 1068 "asmparse.y" { float f = (float) (*yystack.l_mark[-2].float64); float* p = new (nothrow) float[yystack.l_mark[0].int32]; if(p != NULL) { for(int i=0; i < yystack.l_mark[0].int32; i++) p[i] = f; PASM->EmitData(p, sizeof(float)*yystack.l_mark[0].int32); delete yystack.l_mark[-2].float64; delete [] p; } else PASM->report->error("Out of memory emitting data block %d bytes\n", sizeof(float)*yystack.l_mark[0].int32); } -#line 9680 "asmparse.cpp" +#line 9703 "asmparse.cpp" break; -case 406: -#line 1074 "asmparse.y" +case 407: +#line 1075 "asmparse.y" { double* p = new (nothrow) double[yystack.l_mark[0].int32]; if(p != NULL) { for(int i=0; iEmitData(p, sizeof(double)*yystack.l_mark[0].int32); delete yystack.l_mark[-2].float64; delete [] p; } else PASM->report->error("Out of memory emitting data block %d bytes\n", sizeof(double)*yystack.l_mark[0].int32); } -#line 9690 "asmparse.cpp" +#line 9713 "asmparse.cpp" break; -case 407: -#line 1081 "asmparse.y" +case 408: +#line 1082 "asmparse.y" { __int64* p = new (nothrow) __int64[yystack.l_mark[0].int32]; if(p != NULL) { for(int i=0; iEmitData(p, sizeof(__int64)*yystack.l_mark[0].int32); delete yystack.l_mark[-2].int64; delete [] p; } else PASM->report->error("Out of memory emitting data block %d bytes\n", sizeof(__int64)*yystack.l_mark[0].int32); } -#line 9700 "asmparse.cpp" +#line 9723 "asmparse.cpp" break; -case 408: -#line 1088 "asmparse.y" +case 409: +#line 1089 "asmparse.y" { __int32* p = new (nothrow) __int32[yystack.l_mark[0].int32]; if(p != NULL) { for(int i=0; iEmitData(p, sizeof(__int32)*yystack.l_mark[0].int32); delete [] p; } else PASM->report->error("Out of memory emitting data block %d bytes\n", sizeof(__int32)*yystack.l_mark[0].int32); } -#line 9710 "asmparse.cpp" +#line 9733 "asmparse.cpp" break; -case 409: -#line 1095 "asmparse.y" +case 410: +#line 1096 "asmparse.y" { __int16 i = (__int16) yystack.l_mark[-2].int32; FAIL_UNLESS(i == yystack.l_mark[-2].int32, ("Value %d too big\n", yystack.l_mark[-2].int32)); __int16* p = new (nothrow) __int16[yystack.l_mark[0].int32]; if(p != NULL) { @@ -9717,10 +9740,10 @@ case 409: PASM->EmitData(p, sizeof(__int16)*yystack.l_mark[0].int32); delete [] p; } else PASM->report->error("Out of memory emitting data block %d bytes\n", sizeof(__int16)*yystack.l_mark[0].int32); } -#line 9721 "asmparse.cpp" +#line 9744 "asmparse.cpp" break; -case 410: -#line 1103 "asmparse.y" +case 411: +#line 1104 "asmparse.y" { __int8 i = (__int8) yystack.l_mark[-2].int32; FAIL_UNLESS(i == yystack.l_mark[-2].int32, ("Value %d too big\n", yystack.l_mark[-2].int32)); __int8* p = new (nothrow) __int8[yystack.l_mark[0].int32]; if(p != NULL) { @@ -9728,728 +9751,728 @@ case 410: PASM->EmitData(p, sizeof(__int8)*yystack.l_mark[0].int32); delete [] p; } else PASM->report->error("Out of memory emitting data block %d bytes\n", sizeof(__int8)*yystack.l_mark[0].int32); } -#line 9732 "asmparse.cpp" -break; -case 411: -#line 1110 "asmparse.y" - { PASM->EmitData(NULL, sizeof(float)*yystack.l_mark[0].int32); } -#line 9737 "asmparse.cpp" +#line 9755 "asmparse.cpp" break; case 412: #line 1111 "asmparse.y" - { PASM->EmitData(NULL, sizeof(double)*yystack.l_mark[0].int32); } -#line 9742 "asmparse.cpp" + { PASM->EmitData(NULL, sizeof(float)*yystack.l_mark[0].int32); } +#line 9760 "asmparse.cpp" break; case 413: #line 1112 "asmparse.y" - { PASM->EmitData(NULL, sizeof(__int64)*yystack.l_mark[0].int32); } -#line 9747 "asmparse.cpp" + { PASM->EmitData(NULL, sizeof(double)*yystack.l_mark[0].int32); } +#line 9765 "asmparse.cpp" break; case 414: #line 1113 "asmparse.y" - { PASM->EmitData(NULL, sizeof(__int32)*yystack.l_mark[0].int32); } -#line 9752 "asmparse.cpp" + { PASM->EmitData(NULL, sizeof(__int64)*yystack.l_mark[0].int32); } +#line 9770 "asmparse.cpp" break; case 415: #line 1114 "asmparse.y" - { PASM->EmitData(NULL, sizeof(__int16)*yystack.l_mark[0].int32); } -#line 9757 "asmparse.cpp" + { PASM->EmitData(NULL, sizeof(__int32)*yystack.l_mark[0].int32); } +#line 9775 "asmparse.cpp" break; case 416: #line 1115 "asmparse.y" - { PASM->EmitData(NULL, sizeof(__int8)*yystack.l_mark[0].int32); } -#line 9762 "asmparse.cpp" + { PASM->EmitData(NULL, sizeof(__int16)*yystack.l_mark[0].int32); } +#line 9780 "asmparse.cpp" break; case 417: -#line 1119 "asmparse.y" +#line 1116 "asmparse.y" + { PASM->EmitData(NULL, sizeof(__int8)*yystack.l_mark[0].int32); } +#line 9785 "asmparse.cpp" +break; +case 418: +#line 1120 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_R4); float f = (float)(*yystack.l_mark[-1].float64); yyval.binstr->appendInt32(*((__int32*)&f)); delete yystack.l_mark[-1].float64; } -#line 9769 "asmparse.cpp" +#line 9792 "asmparse.cpp" break; -case 418: -#line 1122 "asmparse.y" +case 419: +#line 1123 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_R8); yyval.binstr->appendInt64((__int64 *)yystack.l_mark[-1].float64); delete yystack.l_mark[-1].float64; } -#line 9775 "asmparse.cpp" +#line 9798 "asmparse.cpp" break; -case 419: -#line 1124 "asmparse.y" +case 420: +#line 1125 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_R4); yyval.binstr->appendInt32(yystack.l_mark[-1].int32); } -#line 9781 "asmparse.cpp" +#line 9804 "asmparse.cpp" break; -case 420: -#line 1126 "asmparse.y" +case 421: +#line 1127 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_R8); yyval.binstr->appendInt64((__int64 *)yystack.l_mark[-1].int64); delete yystack.l_mark[-1].int64; } -#line 9787 "asmparse.cpp" +#line 9810 "asmparse.cpp" break; -case 421: -#line 1128 "asmparse.y" +case 422: +#line 1129 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_I8); yyval.binstr->appendInt64((__int64 *)yystack.l_mark[-1].int64); delete yystack.l_mark[-1].int64; } -#line 9793 "asmparse.cpp" +#line 9816 "asmparse.cpp" break; -case 422: -#line 1130 "asmparse.y" +case 423: +#line 1131 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_I4); yyval.binstr->appendInt32(yystack.l_mark[-1].int32); } -#line 9799 "asmparse.cpp" +#line 9822 "asmparse.cpp" break; -case 423: -#line 1132 "asmparse.y" +case 424: +#line 1133 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_I2); yyval.binstr->appendInt16(yystack.l_mark[-1].int32); } -#line 9805 "asmparse.cpp" +#line 9828 "asmparse.cpp" break; -case 424: -#line 1134 "asmparse.y" +case 425: +#line 1135 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_I1); yyval.binstr->appendInt8(yystack.l_mark[-1].int32); } -#line 9811 "asmparse.cpp" +#line 9834 "asmparse.cpp" break; -case 425: -#line 1136 "asmparse.y" +case 426: +#line 1137 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U8); yyval.binstr->appendInt64((__int64 *)yystack.l_mark[-1].int64); delete yystack.l_mark[-1].int64; } -#line 9817 "asmparse.cpp" +#line 9840 "asmparse.cpp" break; -case 426: -#line 1138 "asmparse.y" +case 427: +#line 1139 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U4); yyval.binstr->appendInt32(yystack.l_mark[-1].int32); } -#line 9823 "asmparse.cpp" +#line 9846 "asmparse.cpp" break; -case 427: -#line 1140 "asmparse.y" +case 428: +#line 1141 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U2); yyval.binstr->appendInt16(yystack.l_mark[-1].int32); } -#line 9829 "asmparse.cpp" +#line 9852 "asmparse.cpp" break; -case 428: -#line 1142 "asmparse.y" +case 429: +#line 1143 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U1); yyval.binstr->appendInt8(yystack.l_mark[-1].int32); } -#line 9835 "asmparse.cpp" +#line 9858 "asmparse.cpp" break; -case 429: -#line 1144 "asmparse.y" +case 430: +#line 1145 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U8); yyval.binstr->appendInt64((__int64 *)yystack.l_mark[-1].int64); delete yystack.l_mark[-1].int64; } -#line 9841 "asmparse.cpp" +#line 9864 "asmparse.cpp" break; -case 430: -#line 1146 "asmparse.y" +case 431: +#line 1147 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U4); yyval.binstr->appendInt32(yystack.l_mark[-1].int32); } -#line 9847 "asmparse.cpp" +#line 9870 "asmparse.cpp" break; -case 431: -#line 1148 "asmparse.y" +case 432: +#line 1149 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U2); yyval.binstr->appendInt16(yystack.l_mark[-1].int32); } -#line 9853 "asmparse.cpp" +#line 9876 "asmparse.cpp" break; -case 432: -#line 1150 "asmparse.y" +case 433: +#line 1151 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U1); yyval.binstr->appendInt8(yystack.l_mark[-1].int32); } -#line 9859 "asmparse.cpp" +#line 9882 "asmparse.cpp" break; -case 433: -#line 1152 "asmparse.y" +case 434: +#line 1153 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_CHAR); yyval.binstr->appendInt16(yystack.l_mark[-1].int32); } -#line 9865 "asmparse.cpp" +#line 9888 "asmparse.cpp" break; -case 434: -#line 1154 "asmparse.y" +case 435: +#line 1155 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_BOOLEAN); yyval.binstr->appendInt8(yystack.l_mark[-1].int32);} -#line 9871 "asmparse.cpp" +#line 9894 "asmparse.cpp" break; -case 435: -#line 1156 "asmparse.y" +case 436: +#line 1157 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_STRING); yyval.binstr->append(yystack.l_mark[-1].binstr); delete yystack.l_mark[-1].binstr;} -#line 9877 "asmparse.cpp" -break; -case 436: -#line 1160 "asmparse.y" - { bParsingByteArray = TRUE; } -#line 9882 "asmparse.cpp" +#line 9900 "asmparse.cpp" break; case 437: -#line 1163 "asmparse.y" - { yyval.binstr = new BinStr(); } -#line 9887 "asmparse.cpp" +#line 1161 "asmparse.y" + { bParsingByteArray = TRUE; } +#line 9905 "asmparse.cpp" break; case 438: #line 1164 "asmparse.y" - { yyval.binstr = yystack.l_mark[0].binstr; } -#line 9892 "asmparse.cpp" + { yyval.binstr = new BinStr(); } +#line 9910 "asmparse.cpp" break; case 439: -#line 1167 "asmparse.y" - { __int8 i = (__int8) yystack.l_mark[0].int32; yyval.binstr = new BinStr(); yyval.binstr->appendInt8(i); } -#line 9897 "asmparse.cpp" +#line 1165 "asmparse.y" + { yyval.binstr = yystack.l_mark[0].binstr; } +#line 9915 "asmparse.cpp" break; case 440: #line 1168 "asmparse.y" - { __int8 i = (__int8) yystack.l_mark[0].int32; yyval.binstr = yystack.l_mark[-1].binstr; yyval.binstr->appendInt8(i); } -#line 9902 "asmparse.cpp" + { __int8 i = (__int8) yystack.l_mark[0].int32; yyval.binstr = new BinStr(); yyval.binstr->appendInt8(i); } +#line 9920 "asmparse.cpp" break; case 441: -#line 1172 "asmparse.y" - { yyval.binstr = yystack.l_mark[0].binstr; } -#line 9907 "asmparse.cpp" +#line 1169 "asmparse.y" + { __int8 i = (__int8) yystack.l_mark[0].int32; yyval.binstr = yystack.l_mark[-1].binstr; yyval.binstr->appendInt8(i); } +#line 9925 "asmparse.cpp" break; case 442: #line 1173 "asmparse.y" - { yyval.binstr = BinStrToUnicode(yystack.l_mark[0].binstr,true); yyval.binstr->insertInt8(ELEMENT_TYPE_STRING);} -#line 9912 "asmparse.cpp" + { yyval.binstr = yystack.l_mark[0].binstr; } +#line 9930 "asmparse.cpp" break; case 443: #line 1174 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_CLASS); - yyval.binstr->appendInt32(0); } -#line 9918 "asmparse.cpp" + { yyval.binstr = BinStrToUnicode(yystack.l_mark[0].binstr,true); yyval.binstr->insertInt8(ELEMENT_TYPE_STRING);} +#line 9935 "asmparse.cpp" break; case 444: -#line 1179 "asmparse.y" - { yyval.binstr = yystack.l_mark[0].binstr; } -#line 9923 "asmparse.cpp" +#line 1175 "asmparse.y" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_CLASS); + yyval.binstr->appendInt32(0); } +#line 9941 "asmparse.cpp" break; case 445: #line 1180 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_STRING); yyval.binstr->appendInt8(0xFF); } -#line 9928 "asmparse.cpp" + { yyval.binstr = yystack.l_mark[0].binstr; } +#line 9946 "asmparse.cpp" break; case 446: #line 1181 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_STRING); - AppendStringWithLength(yyval.binstr,yystack.l_mark[-1].string); delete [] yystack.l_mark[-1].string;} -#line 9934 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_STRING); yyval.binstr->appendInt8(0xFF); } +#line 9951 "asmparse.cpp" break; case 447: -#line 1183 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(SERIALIZATION_TYPE_TYPE); +#line 1182 "asmparse.y" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_STRING); AppendStringWithLength(yyval.binstr,yystack.l_mark[-1].string); delete [] yystack.l_mark[-1].string;} -#line 9940 "asmparse.cpp" +#line 9957 "asmparse.cpp" break; case 448: -#line 1185 "asmparse.y" +#line 1184 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(SERIALIZATION_TYPE_TYPE); - AppendStringWithLength(yyval.binstr,PASM->ReflectionNotation(yystack.l_mark[-1].token));} -#line 9946 "asmparse.cpp" + AppendStringWithLength(yyval.binstr,yystack.l_mark[-1].string); delete [] yystack.l_mark[-1].string;} +#line 9963 "asmparse.cpp" break; case 449: -#line 1187 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(SERIALIZATION_TYPE_TYPE); yyval.binstr->appendInt8(0xFF); } -#line 9951 "asmparse.cpp" +#line 1186 "asmparse.y" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(SERIALIZATION_TYPE_TYPE); + AppendStringWithLength(yyval.binstr,PASM->ReflectionNotation(yystack.l_mark[-1].token));} +#line 9969 "asmparse.cpp" break; case 450: #line 1188 "asmparse.y" - { yyval.binstr = yystack.l_mark[-1].binstr; yyval.binstr->insertInt8(SERIALIZATION_TYPE_TAGGED_OBJECT);} -#line 9956 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(SERIALIZATION_TYPE_TYPE); yyval.binstr->appendInt8(0xFF); } +#line 9974 "asmparse.cpp" break; case 451: -#line 1190 "asmparse.y" +#line 1189 "asmparse.y" + { yyval.binstr = yystack.l_mark[-1].binstr; yyval.binstr->insertInt8(SERIALIZATION_TYPE_TAGGED_OBJECT);} +#line 9979 "asmparse.cpp" +break; +case 452: +#line 1191 "asmparse.y" { yyval.binstr = yystack.l_mark[-1].binstr; yyval.binstr->insertInt32(yystack.l_mark[-4].int32); yyval.binstr->insertInt8(ELEMENT_TYPE_R4); yyval.binstr->insertInt8(ELEMENT_TYPE_SZARRAY); } -#line 9963 "asmparse.cpp" +#line 9986 "asmparse.cpp" break; -case 452: -#line 1194 "asmparse.y" +case 453: +#line 1195 "asmparse.y" { yyval.binstr = yystack.l_mark[-1].binstr; yyval.binstr->insertInt32(yystack.l_mark[-4].int32); yyval.binstr->insertInt8(ELEMENT_TYPE_R8); yyval.binstr->insertInt8(ELEMENT_TYPE_SZARRAY); } -#line 9970 "asmparse.cpp" +#line 9993 "asmparse.cpp" break; -case 453: -#line 1198 "asmparse.y" +case 454: +#line 1199 "asmparse.y" { yyval.binstr = yystack.l_mark[-1].binstr; yyval.binstr->insertInt32(yystack.l_mark[-4].int32); yyval.binstr->insertInt8(ELEMENT_TYPE_I8); yyval.binstr->insertInt8(ELEMENT_TYPE_SZARRAY); } -#line 9977 "asmparse.cpp" +#line 10000 "asmparse.cpp" break; -case 454: -#line 1202 "asmparse.y" +case 455: +#line 1203 "asmparse.y" { yyval.binstr = yystack.l_mark[-1].binstr; yyval.binstr->insertInt32(yystack.l_mark[-4].int32); yyval.binstr->insertInt8(ELEMENT_TYPE_I4); yyval.binstr->insertInt8(ELEMENT_TYPE_SZARRAY); } -#line 9984 "asmparse.cpp" +#line 10007 "asmparse.cpp" break; -case 455: -#line 1206 "asmparse.y" +case 456: +#line 1207 "asmparse.y" { yyval.binstr = yystack.l_mark[-1].binstr; yyval.binstr->insertInt32(yystack.l_mark[-4].int32); yyval.binstr->insertInt8(ELEMENT_TYPE_I2); yyval.binstr->insertInt8(ELEMENT_TYPE_SZARRAY); } -#line 9991 "asmparse.cpp" +#line 10014 "asmparse.cpp" break; -case 456: -#line 1210 "asmparse.y" +case 457: +#line 1211 "asmparse.y" { yyval.binstr = yystack.l_mark[-1].binstr; yyval.binstr->insertInt32(yystack.l_mark[-4].int32); yyval.binstr->insertInt8(ELEMENT_TYPE_I1); yyval.binstr->insertInt8(ELEMENT_TYPE_SZARRAY); } -#line 9998 "asmparse.cpp" +#line 10021 "asmparse.cpp" break; -case 457: -#line 1214 "asmparse.y" +case 458: +#line 1215 "asmparse.y" { yyval.binstr = yystack.l_mark[-1].binstr; yyval.binstr->insertInt32(yystack.l_mark[-4].int32); yyval.binstr->insertInt8(ELEMENT_TYPE_U8); yyval.binstr->insertInt8(ELEMENT_TYPE_SZARRAY); } -#line 10005 "asmparse.cpp" +#line 10028 "asmparse.cpp" break; -case 458: -#line 1218 "asmparse.y" +case 459: +#line 1219 "asmparse.y" { yyval.binstr = yystack.l_mark[-1].binstr; yyval.binstr->insertInt32(yystack.l_mark[-4].int32); yyval.binstr->insertInt8(ELEMENT_TYPE_U4); yyval.binstr->insertInt8(ELEMENT_TYPE_SZARRAY); } -#line 10012 "asmparse.cpp" +#line 10035 "asmparse.cpp" break; -case 459: -#line 1222 "asmparse.y" +case 460: +#line 1223 "asmparse.y" { yyval.binstr = yystack.l_mark[-1].binstr; yyval.binstr->insertInt32(yystack.l_mark[-4].int32); yyval.binstr->insertInt8(ELEMENT_TYPE_U2); yyval.binstr->insertInt8(ELEMENT_TYPE_SZARRAY); } -#line 10019 "asmparse.cpp" +#line 10042 "asmparse.cpp" break; -case 460: -#line 1226 "asmparse.y" +case 461: +#line 1227 "asmparse.y" { yyval.binstr = yystack.l_mark[-1].binstr; yyval.binstr->insertInt32(yystack.l_mark[-4].int32); yyval.binstr->insertInt8(ELEMENT_TYPE_U1); yyval.binstr->insertInt8(ELEMENT_TYPE_SZARRAY); } -#line 10026 "asmparse.cpp" +#line 10049 "asmparse.cpp" break; -case 461: -#line 1230 "asmparse.y" +case 462: +#line 1231 "asmparse.y" { yyval.binstr = yystack.l_mark[-1].binstr; yyval.binstr->insertInt32(yystack.l_mark[-4].int32); yyval.binstr->insertInt8(ELEMENT_TYPE_U8); yyval.binstr->insertInt8(ELEMENT_TYPE_SZARRAY); } -#line 10033 "asmparse.cpp" +#line 10056 "asmparse.cpp" break; -case 462: -#line 1234 "asmparse.y" +case 463: +#line 1235 "asmparse.y" { yyval.binstr = yystack.l_mark[-1].binstr; yyval.binstr->insertInt32(yystack.l_mark[-4].int32); yyval.binstr->insertInt8(ELEMENT_TYPE_U4); yyval.binstr->insertInt8(ELEMENT_TYPE_SZARRAY); } -#line 10040 "asmparse.cpp" +#line 10063 "asmparse.cpp" break; -case 463: -#line 1238 "asmparse.y" +case 464: +#line 1239 "asmparse.y" { yyval.binstr = yystack.l_mark[-1].binstr; yyval.binstr->insertInt32(yystack.l_mark[-4].int32); yyval.binstr->insertInt8(ELEMENT_TYPE_U2); yyval.binstr->insertInt8(ELEMENT_TYPE_SZARRAY); } -#line 10047 "asmparse.cpp" +#line 10070 "asmparse.cpp" break; -case 464: -#line 1242 "asmparse.y" +case 465: +#line 1243 "asmparse.y" { yyval.binstr = yystack.l_mark[-1].binstr; yyval.binstr->insertInt32(yystack.l_mark[-4].int32); yyval.binstr->insertInt8(ELEMENT_TYPE_U1); yyval.binstr->insertInt8(ELEMENT_TYPE_SZARRAY); } -#line 10054 "asmparse.cpp" +#line 10077 "asmparse.cpp" break; -case 465: -#line 1246 "asmparse.y" +case 466: +#line 1247 "asmparse.y" { yyval.binstr = yystack.l_mark[-1].binstr; yyval.binstr->insertInt32(yystack.l_mark[-4].int32); yyval.binstr->insertInt8(ELEMENT_TYPE_CHAR); yyval.binstr->insertInt8(ELEMENT_TYPE_SZARRAY); } -#line 10061 "asmparse.cpp" +#line 10084 "asmparse.cpp" break; -case 466: -#line 1250 "asmparse.y" +case 467: +#line 1251 "asmparse.y" { yyval.binstr = yystack.l_mark[-1].binstr; yyval.binstr->insertInt32(yystack.l_mark[-4].int32); yyval.binstr->insertInt8(ELEMENT_TYPE_BOOLEAN); yyval.binstr->insertInt8(ELEMENT_TYPE_SZARRAY); } -#line 10068 "asmparse.cpp" +#line 10091 "asmparse.cpp" break; -case 467: -#line 1254 "asmparse.y" +case 468: +#line 1255 "asmparse.y" { yyval.binstr = yystack.l_mark[-1].binstr; yyval.binstr->insertInt32(yystack.l_mark[-4].int32); yyval.binstr->insertInt8(ELEMENT_TYPE_STRING); yyval.binstr->insertInt8(ELEMENT_TYPE_SZARRAY); } -#line 10075 "asmparse.cpp" +#line 10098 "asmparse.cpp" break; -case 468: -#line 1258 "asmparse.y" +case 469: +#line 1259 "asmparse.y" { yyval.binstr = yystack.l_mark[-1].binstr; yyval.binstr->insertInt32(yystack.l_mark[-4].int32); yyval.binstr->insertInt8(SERIALIZATION_TYPE_TYPE); yyval.binstr->insertInt8(ELEMENT_TYPE_SZARRAY); } -#line 10082 "asmparse.cpp" +#line 10105 "asmparse.cpp" break; -case 469: -#line 1262 "asmparse.y" +case 470: +#line 1263 "asmparse.y" { yyval.binstr = yystack.l_mark[-1].binstr; yyval.binstr->insertInt32(yystack.l_mark[-4].int32); yyval.binstr->insertInt8(SERIALIZATION_TYPE_TAGGED_OBJECT); yyval.binstr->insertInt8(ELEMENT_TYPE_SZARRAY); } -#line 10089 "asmparse.cpp" +#line 10112 "asmparse.cpp" break; -case 470: -#line 1267 "asmparse.y" +case 471: +#line 1268 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_R4); float f = (float)(*yystack.l_mark[-1].float64); yyval.binstr->appendInt32(*((__int32*)&f)); delete yystack.l_mark[-1].float64; } -#line 10096 "asmparse.cpp" +#line 10119 "asmparse.cpp" break; -case 471: -#line 1270 "asmparse.y" +case 472: +#line 1271 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_R8); yyval.binstr->appendInt64((__int64 *)yystack.l_mark[-1].float64); delete yystack.l_mark[-1].float64; } -#line 10102 "asmparse.cpp" +#line 10125 "asmparse.cpp" break; -case 472: -#line 1272 "asmparse.y" +case 473: +#line 1273 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_R4); yyval.binstr->appendInt32(yystack.l_mark[-1].int32); } -#line 10108 "asmparse.cpp" +#line 10131 "asmparse.cpp" break; -case 473: -#line 1274 "asmparse.y" +case 474: +#line 1275 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_R8); yyval.binstr->appendInt64((__int64 *)yystack.l_mark[-1].int64); delete yystack.l_mark[-1].int64; } -#line 10114 "asmparse.cpp" +#line 10137 "asmparse.cpp" break; -case 474: -#line 1276 "asmparse.y" +case 475: +#line 1277 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_I8); yyval.binstr->appendInt64((__int64 *)yystack.l_mark[-1].int64); delete yystack.l_mark[-1].int64; } -#line 10120 "asmparse.cpp" +#line 10143 "asmparse.cpp" break; -case 475: -#line 1278 "asmparse.y" +case 476: +#line 1279 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_I4); yyval.binstr->appendInt32(yystack.l_mark[-1].int32); } -#line 10126 "asmparse.cpp" +#line 10149 "asmparse.cpp" break; -case 476: -#line 1280 "asmparse.y" +case 477: +#line 1281 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_I2); yyval.binstr->appendInt16(yystack.l_mark[-1].int32); } -#line 10132 "asmparse.cpp" +#line 10155 "asmparse.cpp" break; -case 477: -#line 1282 "asmparse.y" +case 478: +#line 1283 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_I1); yyval.binstr->appendInt8(yystack.l_mark[-1].int32); } -#line 10138 "asmparse.cpp" +#line 10161 "asmparse.cpp" break; -case 478: -#line 1284 "asmparse.y" +case 479: +#line 1285 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U8); yyval.binstr->appendInt64((__int64 *)yystack.l_mark[-1].int64); delete yystack.l_mark[-1].int64; } -#line 10144 "asmparse.cpp" +#line 10167 "asmparse.cpp" break; -case 479: -#line 1286 "asmparse.y" +case 480: +#line 1287 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U4); yyval.binstr->appendInt32(yystack.l_mark[-1].int32); } -#line 10150 "asmparse.cpp" +#line 10173 "asmparse.cpp" break; -case 480: -#line 1288 "asmparse.y" +case 481: +#line 1289 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U2); yyval.binstr->appendInt16(yystack.l_mark[-1].int32); } -#line 10156 "asmparse.cpp" +#line 10179 "asmparse.cpp" break; -case 481: -#line 1290 "asmparse.y" +case 482: +#line 1291 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U1); yyval.binstr->appendInt8(yystack.l_mark[-1].int32); } -#line 10162 "asmparse.cpp" +#line 10185 "asmparse.cpp" break; -case 482: -#line 1292 "asmparse.y" +case 483: +#line 1293 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U8); yyval.binstr->appendInt64((__int64 *)yystack.l_mark[-1].int64); delete yystack.l_mark[-1].int64; } -#line 10168 "asmparse.cpp" +#line 10191 "asmparse.cpp" break; -case 483: -#line 1294 "asmparse.y" +case 484: +#line 1295 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U4); yyval.binstr->appendInt32(yystack.l_mark[-1].int32); } -#line 10174 "asmparse.cpp" +#line 10197 "asmparse.cpp" break; -case 484: -#line 1296 "asmparse.y" +case 485: +#line 1297 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U2); yyval.binstr->appendInt16(yystack.l_mark[-1].int32); } -#line 10180 "asmparse.cpp" +#line 10203 "asmparse.cpp" break; -case 485: -#line 1298 "asmparse.y" +case 486: +#line 1299 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U1); yyval.binstr->appendInt8(yystack.l_mark[-1].int32); } -#line 10186 "asmparse.cpp" +#line 10209 "asmparse.cpp" break; -case 486: -#line 1300 "asmparse.y" +case 487: +#line 1301 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_CHAR); yyval.binstr->appendInt16(yystack.l_mark[-1].int32); } -#line 10192 "asmparse.cpp" +#line 10215 "asmparse.cpp" break; -case 487: -#line 1302 "asmparse.y" +case 488: +#line 1303 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_BOOLEAN); yyval.binstr->appendInt8(yystack.l_mark[-1].int32);} -#line 10198 "asmparse.cpp" -break; -case 488: -#line 1307 "asmparse.y" - { yyval.binstr = new BinStr(); } -#line 10203 "asmparse.cpp" +#line 10221 "asmparse.cpp" break; case 489: #line 1308 "asmparse.y" - { yyval.binstr = yystack.l_mark[-1].binstr; - float f = (float) (*yystack.l_mark[0].float64); yyval.binstr->appendInt32(*((__int32*)&f)); delete yystack.l_mark[0].float64; } -#line 10209 "asmparse.cpp" + { yyval.binstr = new BinStr(); } +#line 10226 "asmparse.cpp" break; case 490: -#line 1310 "asmparse.y" +#line 1309 "asmparse.y" { yyval.binstr = yystack.l_mark[-1].binstr; - yyval.binstr->appendInt32(yystack.l_mark[0].int32); } -#line 10215 "asmparse.cpp" + float f = (float) (*yystack.l_mark[0].float64); yyval.binstr->appendInt32(*((__int32*)&f)); delete yystack.l_mark[0].float64; } +#line 10232 "asmparse.cpp" break; case 491: -#line 1314 "asmparse.y" - { yyval.binstr = new BinStr(); } -#line 10220 "asmparse.cpp" +#line 1311 "asmparse.y" + { yyval.binstr = yystack.l_mark[-1].binstr; + yyval.binstr->appendInt32(yystack.l_mark[0].int32); } +#line 10238 "asmparse.cpp" break; case 492: #line 1315 "asmparse.y" - { yyval.binstr = yystack.l_mark[-1].binstr; - yyval.binstr->appendInt64((__int64 *)yystack.l_mark[0].float64); delete yystack.l_mark[0].float64; } -#line 10226 "asmparse.cpp" + { yyval.binstr = new BinStr(); } +#line 10243 "asmparse.cpp" break; case 493: -#line 1317 "asmparse.y" +#line 1316 "asmparse.y" { yyval.binstr = yystack.l_mark[-1].binstr; - yyval.binstr->appendInt64((__int64 *)yystack.l_mark[0].int64); delete yystack.l_mark[0].int64; } -#line 10232 "asmparse.cpp" + yyval.binstr->appendInt64((__int64 *)yystack.l_mark[0].float64); delete yystack.l_mark[0].float64; } +#line 10249 "asmparse.cpp" break; case 494: -#line 1321 "asmparse.y" - { yyval.binstr = new BinStr(); } -#line 10237 "asmparse.cpp" +#line 1318 "asmparse.y" + { yyval.binstr = yystack.l_mark[-1].binstr; + yyval.binstr->appendInt64((__int64 *)yystack.l_mark[0].int64); delete yystack.l_mark[0].int64; } +#line 10255 "asmparse.cpp" break; case 495: #line 1322 "asmparse.y" - { yyval.binstr = yystack.l_mark[-1].binstr; - yyval.binstr->appendInt64((__int64 *)yystack.l_mark[0].int64); delete yystack.l_mark[0].int64; } -#line 10243 "asmparse.cpp" + { yyval.binstr = new BinStr(); } +#line 10260 "asmparse.cpp" break; case 496: -#line 1326 "asmparse.y" - { yyval.binstr = new BinStr(); } -#line 10248 "asmparse.cpp" +#line 1323 "asmparse.y" + { yyval.binstr = yystack.l_mark[-1].binstr; + yyval.binstr->appendInt64((__int64 *)yystack.l_mark[0].int64); delete yystack.l_mark[0].int64; } +#line 10266 "asmparse.cpp" break; case 497: #line 1327 "asmparse.y" - { yyval.binstr = yystack.l_mark[-1].binstr; yyval.binstr->appendInt32(yystack.l_mark[0].int32);} -#line 10253 "asmparse.cpp" + { yyval.binstr = new BinStr(); } +#line 10271 "asmparse.cpp" break; case 498: -#line 1330 "asmparse.y" - { yyval.binstr = new BinStr(); } -#line 10258 "asmparse.cpp" +#line 1328 "asmparse.y" + { yyval.binstr = yystack.l_mark[-1].binstr; yyval.binstr->appendInt32(yystack.l_mark[0].int32);} +#line 10276 "asmparse.cpp" break; case 499: #line 1331 "asmparse.y" - { yyval.binstr = yystack.l_mark[-1].binstr; yyval.binstr->appendInt16(yystack.l_mark[0].int32);} -#line 10263 "asmparse.cpp" + { yyval.binstr = new BinStr(); } +#line 10281 "asmparse.cpp" break; case 500: -#line 1334 "asmparse.y" - { yyval.binstr = new BinStr(); } -#line 10268 "asmparse.cpp" +#line 1332 "asmparse.y" + { yyval.binstr = yystack.l_mark[-1].binstr; yyval.binstr->appendInt16(yystack.l_mark[0].int32);} +#line 10286 "asmparse.cpp" break; case 501: #line 1335 "asmparse.y" - { yyval.binstr = yystack.l_mark[-1].binstr; yyval.binstr->appendInt8(yystack.l_mark[0].int32); } -#line 10273 "asmparse.cpp" + { yyval.binstr = new BinStr(); } +#line 10291 "asmparse.cpp" break; case 502: -#line 1338 "asmparse.y" - { yyval.binstr = new BinStr(); } -#line 10278 "asmparse.cpp" +#line 1336 "asmparse.y" + { yyval.binstr = yystack.l_mark[-1].binstr; yyval.binstr->appendInt8(yystack.l_mark[0].int32); } +#line 10296 "asmparse.cpp" break; case 503: #line 1339 "asmparse.y" - { yyval.binstr = yystack.l_mark[-1].binstr; - yyval.binstr->appendInt8(yystack.l_mark[0].int32);} -#line 10284 "asmparse.cpp" + { yyval.binstr = new BinStr(); } +#line 10301 "asmparse.cpp" break; case 504: -#line 1343 "asmparse.y" - { yyval.binstr = new BinStr(); } -#line 10289 "asmparse.cpp" +#line 1340 "asmparse.y" + { yyval.binstr = yystack.l_mark[-1].binstr; + yyval.binstr->appendInt8(yystack.l_mark[0].int32);} +#line 10307 "asmparse.cpp" break; case 505: #line 1344 "asmparse.y" - { yyval.binstr = yystack.l_mark[-1].binstr; yyval.binstr->appendInt8(0xFF); } -#line 10294 "asmparse.cpp" + { yyval.binstr = new BinStr(); } +#line 10312 "asmparse.cpp" break; case 506: #line 1345 "asmparse.y" - { yyval.binstr = yystack.l_mark[-1].binstr; - AppendStringWithLength(yyval.binstr,yystack.l_mark[0].string); delete [] yystack.l_mark[0].string;} -#line 10300 "asmparse.cpp" + { yyval.binstr = yystack.l_mark[-1].binstr; yyval.binstr->appendInt8(0xFF); } +#line 10317 "asmparse.cpp" break; case 507: -#line 1349 "asmparse.y" - { yyval.binstr = new BinStr(); } -#line 10305 "asmparse.cpp" +#line 1346 "asmparse.y" + { yyval.binstr = yystack.l_mark[-1].binstr; + AppendStringWithLength(yyval.binstr,yystack.l_mark[0].string); delete [] yystack.l_mark[0].string;} +#line 10323 "asmparse.cpp" break; case 508: #line 1350 "asmparse.y" - { yyval.binstr = yystack.l_mark[-1].binstr; yyval.binstr->appendInt8(0xFF); } -#line 10310 "asmparse.cpp" + { yyval.binstr = new BinStr(); } +#line 10328 "asmparse.cpp" break; case 509: #line 1351 "asmparse.y" + { yyval.binstr = yystack.l_mark[-1].binstr; yyval.binstr->appendInt8(0xFF); } +#line 10333 "asmparse.cpp" +break; +case 510: +#line 1352 "asmparse.y" { yyval.binstr = yystack.l_mark[-2].binstr; AppendStringWithLength(yyval.binstr,yystack.l_mark[0].string); delete [] yystack.l_mark[0].string;} -#line 10316 "asmparse.cpp" +#line 10339 "asmparse.cpp" break; -case 510: -#line 1353 "asmparse.y" +case 511: +#line 1354 "asmparse.y" { yyval.binstr = yystack.l_mark[-1].binstr; AppendStringWithLength(yyval.binstr,PASM->ReflectionNotation(yystack.l_mark[0].token));} -#line 10322 "asmparse.cpp" -break; -case 511: -#line 1357 "asmparse.y" - { yyval.binstr = new BinStr(); } -#line 10327 "asmparse.cpp" +#line 10345 "asmparse.cpp" break; case 512: #line 1358 "asmparse.y" - { yyval.binstr = yystack.l_mark[-1].binstr; yyval.binstr->append(yystack.l_mark[0].binstr); delete yystack.l_mark[0].binstr; } -#line 10332 "asmparse.cpp" + { yyval.binstr = new BinStr(); } +#line 10350 "asmparse.cpp" break; case 513: -#line 1362 "asmparse.y" +#line 1359 "asmparse.y" + { yyval.binstr = yystack.l_mark[-1].binstr; yyval.binstr->append(yystack.l_mark[0].binstr); delete yystack.l_mark[0].binstr; } +#line 10355 "asmparse.cpp" +break; +case 514: +#line 1363 "asmparse.y" { parser->m_ANSFirst.PUSH(PASM->m_firstArgName); parser->m_ANSLast.PUSH(PASM->m_lastArgName); PASM->m_firstArgName = NULL; PASM->m_lastArgName = NULL; } -#line 10340 "asmparse.cpp" -break; -case 514: -#line 1368 "asmparse.y" - { yyval.instr = SetupInstr(yystack.l_mark[0].opcode); } -#line 10345 "asmparse.cpp" +#line 10363 "asmparse.cpp" break; case 515: -#line 1371 "asmparse.y" +#line 1369 "asmparse.y" { yyval.instr = SetupInstr(yystack.l_mark[0].opcode); } -#line 10350 "asmparse.cpp" +#line 10368 "asmparse.cpp" break; case 516: -#line 1374 "asmparse.y" +#line 1372 "asmparse.y" { yyval.instr = SetupInstr(yystack.l_mark[0].opcode); } -#line 10355 "asmparse.cpp" +#line 10373 "asmparse.cpp" break; case 517: -#line 1377 "asmparse.y" +#line 1375 "asmparse.y" { yyval.instr = SetupInstr(yystack.l_mark[0].opcode); } -#line 10360 "asmparse.cpp" +#line 10378 "asmparse.cpp" break; case 518: -#line 1380 "asmparse.y" +#line 1378 "asmparse.y" { yyval.instr = SetupInstr(yystack.l_mark[0].opcode); } -#line 10365 "asmparse.cpp" +#line 10383 "asmparse.cpp" break; case 519: -#line 1383 "asmparse.y" +#line 1381 "asmparse.y" { yyval.instr = SetupInstr(yystack.l_mark[0].opcode); } -#line 10370 "asmparse.cpp" +#line 10388 "asmparse.cpp" break; case 520: -#line 1386 "asmparse.y" +#line 1384 "asmparse.y" + { yyval.instr = SetupInstr(yystack.l_mark[0].opcode); } +#line 10393 "asmparse.cpp" +break; +case 521: +#line 1387 "asmparse.y" { yyval.instr = SetupInstr(yystack.l_mark[0].opcode); if((!PASM->OnErrGo)&& ((yystack.l_mark[0].opcode == CEE_NEWOBJ)|| (yystack.l_mark[0].opcode == CEE_CALLVIRT))) iCallConv = IMAGE_CEE_CS_CALLCONV_HASTHIS; } -#line 10380 "asmparse.cpp" -break; -case 521: -#line 1394 "asmparse.y" - { yyval.instr = SetupInstr(yystack.l_mark[0].opcode); } -#line 10385 "asmparse.cpp" +#line 10403 "asmparse.cpp" break; case 522: -#line 1397 "asmparse.y" +#line 1395 "asmparse.y" { yyval.instr = SetupInstr(yystack.l_mark[0].opcode); } -#line 10390 "asmparse.cpp" +#line 10408 "asmparse.cpp" break; case 523: -#line 1400 "asmparse.y" +#line 1398 "asmparse.y" { yyval.instr = SetupInstr(yystack.l_mark[0].opcode); } -#line 10395 "asmparse.cpp" +#line 10413 "asmparse.cpp" break; case 524: -#line 1403 "asmparse.y" +#line 1401 "asmparse.y" { yyval.instr = SetupInstr(yystack.l_mark[0].opcode); } -#line 10400 "asmparse.cpp" +#line 10418 "asmparse.cpp" break; case 525: -#line 1406 "asmparse.y" - { yyval.instr = SetupInstr(yystack.l_mark[0].opcode); iOpcodeLen = PASM->OpcodeLen(yyval.instr); } -#line 10405 "asmparse.cpp" +#line 1404 "asmparse.y" + { yyval.instr = SetupInstr(yystack.l_mark[0].opcode); } +#line 10423 "asmparse.cpp" break; case 526: -#line 1409 "asmparse.y" - { yyval.instr = SetupInstr(yystack.l_mark[0].opcode); } -#line 10410 "asmparse.cpp" +#line 1407 "asmparse.y" + { yyval.instr = SetupInstr(yystack.l_mark[0].opcode); iOpcodeLen = PASM->OpcodeLen(yyval.instr); } +#line 10428 "asmparse.cpp" break; case 527: -#line 1412 "asmparse.y" - { yyval.instr = yystack.l_mark[-1].instr; bParsingByteArray = TRUE; } -#line 10415 "asmparse.cpp" +#line 1410 "asmparse.y" + { yyval.instr = SetupInstr(yystack.l_mark[0].opcode); } +#line 10433 "asmparse.cpp" break; case 528: -#line 1416 "asmparse.y" - { PASM->EmitOpcode(yystack.l_mark[0].instr); } -#line 10420 "asmparse.cpp" +#line 1413 "asmparse.y" + { yyval.instr = yystack.l_mark[-1].instr; bParsingByteArray = TRUE; } +#line 10438 "asmparse.cpp" break; case 529: #line 1417 "asmparse.y" - { PASM->EmitInstrVar(yystack.l_mark[-1].instr, yystack.l_mark[0].int32); } -#line 10425 "asmparse.cpp" + { PASM->EmitOpcode(yystack.l_mark[0].instr); } +#line 10443 "asmparse.cpp" break; case 530: #line 1418 "asmparse.y" - { PASM->EmitInstrVarByName(yystack.l_mark[-1].instr, yystack.l_mark[0].string); } -#line 10430 "asmparse.cpp" + { PASM->EmitInstrVar(yystack.l_mark[-1].instr, yystack.l_mark[0].int32); } +#line 10448 "asmparse.cpp" break; case 531: #line 1419 "asmparse.y" - { PASM->EmitInstrI(yystack.l_mark[-1].instr, yystack.l_mark[0].int32); } -#line 10435 "asmparse.cpp" + { PASM->EmitInstrVarByName(yystack.l_mark[-1].instr, yystack.l_mark[0].string); } +#line 10453 "asmparse.cpp" break; case 532: #line 1420 "asmparse.y" - { PASM->EmitInstrI8(yystack.l_mark[-1].instr, yystack.l_mark[0].int64); } -#line 10440 "asmparse.cpp" + { PASM->EmitInstrI(yystack.l_mark[-1].instr, yystack.l_mark[0].int32); } +#line 10458 "asmparse.cpp" break; case 533: #line 1421 "asmparse.y" - { PASM->EmitInstrR(yystack.l_mark[-1].instr, yystack.l_mark[0].float64); delete (yystack.l_mark[0].float64);} -#line 10445 "asmparse.cpp" + { PASM->EmitInstrI8(yystack.l_mark[-1].instr, yystack.l_mark[0].int64); } +#line 10463 "asmparse.cpp" break; case 534: #line 1422 "asmparse.y" - { double f = (double) (*yystack.l_mark[0].int64); PASM->EmitInstrR(yystack.l_mark[-1].instr, &f); } -#line 10450 "asmparse.cpp" + { PASM->EmitInstrR(yystack.l_mark[-1].instr, yystack.l_mark[0].float64); delete (yystack.l_mark[0].float64);} +#line 10468 "asmparse.cpp" break; case 535: #line 1423 "asmparse.y" + { double f = (double) (*yystack.l_mark[0].int64); PASM->EmitInstrR(yystack.l_mark[-1].instr, &f); } +#line 10473 "asmparse.cpp" +break; +case 536: +#line 1424 "asmparse.y" { unsigned L = yystack.l_mark[-1].binstr->length(); FAIL_UNLESS(L >= sizeof(float), ("%d hexbytes, must be at least %d\n", L,sizeof(float))); @@ -10459,30 +10482,30 @@ case 535: : (double)(*(float *)(yystack.l_mark[-1].binstr->ptr())); PASM->EmitInstrR(yystack.l_mark[-2].instr,&f); } delete yystack.l_mark[-1].binstr; } -#line 10463 "asmparse.cpp" -break; -case 536: -#line 1432 "asmparse.y" - { PASM->EmitInstrBrOffset(yystack.l_mark[-1].instr, yystack.l_mark[0].int32); } -#line 10468 "asmparse.cpp" +#line 10486 "asmparse.cpp" break; case 537: #line 1433 "asmparse.y" - { PASM->EmitInstrBrTarget(yystack.l_mark[-1].instr, yystack.l_mark[0].string); } -#line 10473 "asmparse.cpp" + { PASM->EmitInstrBrOffset(yystack.l_mark[-1].instr, yystack.l_mark[0].int32); } +#line 10491 "asmparse.cpp" break; case 538: -#line 1435 "asmparse.y" +#line 1434 "asmparse.y" + { PASM->EmitInstrBrTarget(yystack.l_mark[-1].instr, yystack.l_mark[0].string); } +#line 10496 "asmparse.cpp" +break; +case 539: +#line 1436 "asmparse.y" { PASM->SetMemberRefFixup(yystack.l_mark[0].token,PASM->OpcodeLen(yystack.l_mark[-1].instr)); PASM->EmitInstrI(yystack.l_mark[-1].instr,yystack.l_mark[0].token); PASM->m_tkCurrentCVOwner = yystack.l_mark[0].token; PASM->m_pCustomDescrList = NULL; iCallConv = 0; } -#line 10483 "asmparse.cpp" +#line 10506 "asmparse.cpp" break; -case 539: -#line 1442 "asmparse.y" +case 540: +#line 1443 "asmparse.y" { yystack.l_mark[-3].binstr->insertInt8(IMAGE_CEE_CS_CALLCONV_FIELD); mdToken mr = PASM->MakeMemberRef(yystack.l_mark[-2].token, yystack.l_mark[0].string, yystack.l_mark[-3].binstr); PASM->SetMemberRefFixup(mr, PASM->OpcodeLen(yystack.l_mark[-4].instr)); @@ -10490,10 +10513,10 @@ case 539: PASM->m_tkCurrentCVOwner = mr; PASM->m_pCustomDescrList = NULL; } -#line 10494 "asmparse.cpp" +#line 10517 "asmparse.cpp" break; -case 540: -#line 1450 "asmparse.y" +case 541: +#line 1451 "asmparse.y" { yystack.l_mark[-1].binstr->insertInt8(IMAGE_CEE_CS_CALLCONV_FIELD); mdToken mr = PASM->MakeMemberRef(mdTokenNil, yystack.l_mark[0].string, yystack.l_mark[-1].binstr); PASM->SetMemberRefFixup(mr, PASM->OpcodeLen(yystack.l_mark[-2].instr)); @@ -10501,909 +10524,909 @@ case 540: PASM->m_tkCurrentCVOwner = mr; PASM->m_pCustomDescrList = NULL; } -#line 10505 "asmparse.cpp" +#line 10528 "asmparse.cpp" break; -case 541: -#line 1457 "asmparse.y" +case 542: +#line 1458 "asmparse.y" { mdToken mr = yystack.l_mark[0].token; PASM->SetMemberRefFixup(mr, PASM->OpcodeLen(yystack.l_mark[-1].instr)); PASM->EmitInstrI(yystack.l_mark[-1].instr,mr); PASM->m_tkCurrentCVOwner = mr; PASM->m_pCustomDescrList = NULL; } -#line 10515 "asmparse.cpp" +#line 10538 "asmparse.cpp" break; -case 542: -#line 1463 "asmparse.y" +case 543: +#line 1464 "asmparse.y" { mdToken mr = yystack.l_mark[0].tdd->m_tkTypeSpec; PASM->SetMemberRefFixup(mr, PASM->OpcodeLen(yystack.l_mark[-1].instr)); PASM->EmitInstrI(yystack.l_mark[-1].instr,mr); PASM->m_tkCurrentCVOwner = mr; PASM->m_pCustomDescrList = NULL; } -#line 10525 "asmparse.cpp" +#line 10548 "asmparse.cpp" break; -case 543: -#line 1469 "asmparse.y" +case 544: +#line 1470 "asmparse.y" { mdToken mr = yystack.l_mark[0].tdd->m_tkTypeSpec; PASM->SetMemberRefFixup(mr, PASM->OpcodeLen(yystack.l_mark[-1].instr)); PASM->EmitInstrI(yystack.l_mark[-1].instr,mr); PASM->m_tkCurrentCVOwner = mr; PASM->m_pCustomDescrList = NULL; } -#line 10535 "asmparse.cpp" +#line 10558 "asmparse.cpp" break; -case 544: -#line 1475 "asmparse.y" +case 545: +#line 1476 "asmparse.y" { PASM->EmitInstrI(yystack.l_mark[-1].instr, yystack.l_mark[0].token); PASM->m_tkCurrentCVOwner = yystack.l_mark[0].token; PASM->m_pCustomDescrList = NULL; } -#line 10543 "asmparse.cpp" +#line 10566 "asmparse.cpp" break; -case 545: -#line 1479 "asmparse.y" +case 546: +#line 1480 "asmparse.y" { PASM->EmitInstrStringLiteral(yystack.l_mark[-1].instr, yystack.l_mark[0].binstr,TRUE); } -#line 10548 "asmparse.cpp" +#line 10571 "asmparse.cpp" break; -case 546: -#line 1481 "asmparse.y" +case 547: +#line 1482 "asmparse.y" { PASM->EmitInstrStringLiteral(yystack.l_mark[-4].instr, yystack.l_mark[-1].binstr,FALSE); } -#line 10553 "asmparse.cpp" +#line 10576 "asmparse.cpp" break; -case 547: -#line 1483 "asmparse.y" +case 548: +#line 1484 "asmparse.y" { PASM->EmitInstrStringLiteral(yystack.l_mark[-3].instr, yystack.l_mark[-1].binstr,FALSE,TRUE); } -#line 10558 "asmparse.cpp" +#line 10581 "asmparse.cpp" break; -case 548: -#line 1485 "asmparse.y" +case 549: +#line 1486 "asmparse.y" { PASM->EmitInstrSig(yystack.l_mark[-5].instr, parser->MakeSig(yystack.l_mark[-4].int32, yystack.l_mark[-3].binstr, yystack.l_mark[-1].binstr)); PASM->ResetArgNameList(); } -#line 10565 "asmparse.cpp" +#line 10588 "asmparse.cpp" break; -case 549: -#line 1489 "asmparse.y" +case 550: +#line 1490 "asmparse.y" { PASM->EmitInstrI(yystack.l_mark[-1].instr,yystack.l_mark[0].token); PASM->m_tkCurrentCVOwner = yystack.l_mark[0].token; PASM->m_pCustomDescrList = NULL; iOpcodeLen = 0; } -#line 10574 "asmparse.cpp" -break; -case 550: -#line 1494 "asmparse.y" - { PASM->EmitInstrSwitch(yystack.l_mark[-3].instr, yystack.l_mark[-1].labels); } -#line 10579 "asmparse.cpp" +#line 10597 "asmparse.cpp" break; case 551: -#line 1497 "asmparse.y" - { yyval.labels = 0; } -#line 10584 "asmparse.cpp" +#line 1495 "asmparse.y" + { PASM->EmitInstrSwitch(yystack.l_mark[-3].instr, yystack.l_mark[-1].labels); } +#line 10602 "asmparse.cpp" break; case 552: #line 1498 "asmparse.y" - { yyval.labels = new Labels(yystack.l_mark[-2].string, yystack.l_mark[0].labels, TRUE); } -#line 10589 "asmparse.cpp" + { yyval.labels = 0; } +#line 10607 "asmparse.cpp" break; case 553: #line 1499 "asmparse.y" - { yyval.labels = new Labels((char *)(UINT_PTR)yystack.l_mark[-2].int32, yystack.l_mark[0].labels, FALSE); } -#line 10594 "asmparse.cpp" + { yyval.labels = new Labels(yystack.l_mark[-2].string, yystack.l_mark[0].labels, TRUE); } +#line 10612 "asmparse.cpp" break; case 554: #line 1500 "asmparse.y" - { yyval.labels = new Labels(yystack.l_mark[0].string, NULL, TRUE); } -#line 10599 "asmparse.cpp" + { yyval.labels = new Labels((char *)(UINT_PTR)yystack.l_mark[-2].int32, yystack.l_mark[0].labels, FALSE); } +#line 10617 "asmparse.cpp" break; case 555: #line 1501 "asmparse.y" - { yyval.labels = new Labels((char *)(UINT_PTR)yystack.l_mark[0].int32, NULL, FALSE); } -#line 10604 "asmparse.cpp" + { yyval.labels = new Labels(yystack.l_mark[0].string, NULL, TRUE); } +#line 10622 "asmparse.cpp" break; case 556: -#line 1505 "asmparse.y" - { yyval.binstr = NULL; } -#line 10609 "asmparse.cpp" +#line 1502 "asmparse.y" + { yyval.labels = new Labels((char *)(UINT_PTR)yystack.l_mark[0].int32, NULL, FALSE); } +#line 10627 "asmparse.cpp" break; case 557: #line 1506 "asmparse.y" - { yyval.binstr = yystack.l_mark[-1].binstr; } -#line 10614 "asmparse.cpp" + { yyval.binstr = NULL; } +#line 10632 "asmparse.cpp" break; case 558: -#line 1509 "asmparse.y" - { yyval.binstr = NULL; } -#line 10619 "asmparse.cpp" +#line 1507 "asmparse.y" + { yyval.binstr = yystack.l_mark[-1].binstr; } +#line 10637 "asmparse.cpp" break; case 559: #line 1510 "asmparse.y" - { yyval.binstr = yystack.l_mark[0].binstr; } -#line 10624 "asmparse.cpp" + { yyval.binstr = NULL; } +#line 10642 "asmparse.cpp" break; case 560: -#line 1513 "asmparse.y" +#line 1511 "asmparse.y" { yyval.binstr = yystack.l_mark[0].binstr; } -#line 10629 "asmparse.cpp" +#line 10647 "asmparse.cpp" break; case 561: #line 1514 "asmparse.y" - { yyval.binstr = yystack.l_mark[-2].binstr; yyval.binstr->append(yystack.l_mark[0].binstr); delete yystack.l_mark[0].binstr; } -#line 10634 "asmparse.cpp" + { yyval.binstr = yystack.l_mark[0].binstr; } +#line 10652 "asmparse.cpp" break; case 562: -#line 1518 "asmparse.y" - { yyval.binstr = new BinStr(); } -#line 10639 "asmparse.cpp" +#line 1515 "asmparse.y" + { yyval.binstr = yystack.l_mark[-2].binstr; yyval.binstr->append(yystack.l_mark[0].binstr); delete yystack.l_mark[0].binstr; } +#line 10657 "asmparse.cpp" break; case 563: #line 1519 "asmparse.y" - { yyval.binstr = yystack.l_mark[0].binstr;} -#line 10644 "asmparse.cpp" + { yyval.binstr = new BinStr(); } +#line 10662 "asmparse.cpp" break; case 564: -#line 1522 "asmparse.y" - { yyval.binstr = yystack.l_mark[0].binstr; } -#line 10649 "asmparse.cpp" +#line 1520 "asmparse.y" + { yyval.binstr = yystack.l_mark[0].binstr;} +#line 10667 "asmparse.cpp" break; case 565: #line 1523 "asmparse.y" - { yyval.binstr = yystack.l_mark[-2].binstr; yyval.binstr->append(yystack.l_mark[0].binstr); delete yystack.l_mark[0].binstr; } -#line 10654 "asmparse.cpp" + { yyval.binstr = yystack.l_mark[0].binstr; } +#line 10672 "asmparse.cpp" break; case 566: -#line 1526 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_SENTINEL); } -#line 10659 "asmparse.cpp" +#line 1524 "asmparse.y" + { yyval.binstr = yystack.l_mark[-2].binstr; yyval.binstr->append(yystack.l_mark[0].binstr); delete yystack.l_mark[0].binstr; } +#line 10677 "asmparse.cpp" break; case 567: #line 1527 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->append(yystack.l_mark[-1].binstr); PASM->addArgName(NULL, yystack.l_mark[-1].binstr, yystack.l_mark[0].binstr, yystack.l_mark[-2].int32); } -#line 10664 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_SENTINEL); } +#line 10682 "asmparse.cpp" break; case 568: #line 1528 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->append(yystack.l_mark[-2].binstr); PASM->addArgName(yystack.l_mark[0].string, yystack.l_mark[-2].binstr, yystack.l_mark[-1].binstr, yystack.l_mark[-3].int32);} -#line 10669 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->append(yystack.l_mark[-1].binstr); PASM->addArgName(NULL, yystack.l_mark[-1].binstr, yystack.l_mark[0].binstr, yystack.l_mark[-2].int32); } +#line 10687 "asmparse.cpp" break; case 569: -#line 1532 "asmparse.y" - { yyval.token = PASM->ResolveClassRef(PASM->GetAsmRef(yystack.l_mark[-2].string), yystack.l_mark[0].string, NULL); delete[] yystack.l_mark[-2].string;} -#line 10674 "asmparse.cpp" +#line 1529 "asmparse.y" + { yyval.binstr = new BinStr(); yyval.binstr->append(yystack.l_mark[-2].binstr); PASM->addArgName(yystack.l_mark[0].string, yystack.l_mark[-2].binstr, yystack.l_mark[-1].binstr, yystack.l_mark[-3].int32);} +#line 10692 "asmparse.cpp" break; case 570: #line 1533 "asmparse.y" - { yyval.token = PASM->ResolveClassRef(yystack.l_mark[-2].token, yystack.l_mark[0].string, NULL); } -#line 10679 "asmparse.cpp" + { yyval.token = PASM->ResolveClassRef(PASM->GetAsmRef(yystack.l_mark[-2].string), yystack.l_mark[0].string, NULL); delete[] yystack.l_mark[-2].string;} +#line 10697 "asmparse.cpp" break; case 571: #line 1534 "asmparse.y" - { yyval.token = PASM->ResolveClassRef(mdTokenNil, yystack.l_mark[0].string, NULL); } -#line 10684 "asmparse.cpp" + { yyval.token = PASM->ResolveClassRef(yystack.l_mark[-2].token, yystack.l_mark[0].string, NULL); } +#line 10702 "asmparse.cpp" break; case 572: #line 1535 "asmparse.y" - { yyval.token = PASM->ResolveClassRef(PASM->GetModRef(yystack.l_mark[-2].string),yystack.l_mark[0].string, NULL); delete[] yystack.l_mark[-2].string;} -#line 10689 "asmparse.cpp" + { yyval.token = PASM->ResolveClassRef(mdTokenNil, yystack.l_mark[0].string, NULL); } +#line 10707 "asmparse.cpp" break; case 573: #line 1536 "asmparse.y" - { yyval.token = PASM->ResolveClassRef(1,yystack.l_mark[0].string,NULL); } -#line 10694 "asmparse.cpp" + { yyval.token = PASM->ResolveClassRef(PASM->GetModRef(yystack.l_mark[-2].string),yystack.l_mark[0].string, NULL); delete[] yystack.l_mark[-2].string;} +#line 10712 "asmparse.cpp" break; case 574: #line 1537 "asmparse.y" - { yyval.token = yystack.l_mark[0].token; } -#line 10699 "asmparse.cpp" + { yyval.token = PASM->ResolveClassRef(1,yystack.l_mark[0].string,NULL); } +#line 10717 "asmparse.cpp" break; case 575: #line 1538 "asmparse.y" - { yyval.token = yystack.l_mark[0].tdd->m_tkTypeSpec; } -#line 10704 "asmparse.cpp" + { yyval.token = yystack.l_mark[0].token; } +#line 10722 "asmparse.cpp" break; case 576: #line 1539 "asmparse.y" + { yyval.token = yystack.l_mark[0].tdd->m_tkTypeSpec; } +#line 10727 "asmparse.cpp" +break; +case 577: +#line 1540 "asmparse.y" { if(PASM->m_pCurClass != NULL) yyval.token = PASM->m_pCurClass->m_cl; else { yyval.token = 0; PASM->report->error(".this outside class scope\n"); } } -#line 10711 "asmparse.cpp" +#line 10734 "asmparse.cpp" break; -case 577: -#line 1542 "asmparse.y" +case 578: +#line 1543 "asmparse.y" { if(PASM->m_pCurClass != NULL) { yyval.token = PASM->m_pCurClass->m_crExtends; if(RidFromToken(yyval.token) == 0) PASM->report->error(".base undefined\n"); } else { yyval.token = 0; PASM->report->error(".base outside class scope\n"); } } -#line 10721 "asmparse.cpp" +#line 10744 "asmparse.cpp" break; -case 578: -#line 1548 "asmparse.y" +case 579: +#line 1549 "asmparse.y" { if(PASM->m_pCurClass != NULL) { if(PASM->m_pCurClass->m_pEncloser != NULL) yyval.token = PASM->m_pCurClass->m_pEncloser->m_cl; else { yyval.token = 0; PASM->report->error(".nester undefined\n"); } } else { yyval.token = 0; PASM->report->error(".nester outside class scope\n"); } } -#line 10730 "asmparse.cpp" -break; -case 579: -#line 1555 "asmparse.y" - { yyval.string = yystack.l_mark[0].string; } -#line 10735 "asmparse.cpp" +#line 10753 "asmparse.cpp" break; case 580: #line 1556 "asmparse.y" - { yyval.string = newStringWDel(yystack.l_mark[-2].string, NESTING_SEP, yystack.l_mark[0].string); } -#line 10740 "asmparse.cpp" + { yyval.string = yystack.l_mark[0].string; } +#line 10758 "asmparse.cpp" break; case 581: -#line 1559 "asmparse.y" - { yyval.token = yystack.l_mark[0].token;} -#line 10745 "asmparse.cpp" +#line 1557 "asmparse.y" + { yyval.string = newStringWDel(yystack.l_mark[-2].string, NESTING_SEP, yystack.l_mark[0].string); } +#line 10763 "asmparse.cpp" break; case 582: #line 1560 "asmparse.y" - { yyval.token = PASM->GetAsmRef(yystack.l_mark[-1].string); delete[] yystack.l_mark[-1].string;} -#line 10750 "asmparse.cpp" + { yyval.token = yystack.l_mark[0].token;} +#line 10768 "asmparse.cpp" break; case 583: #line 1561 "asmparse.y" - { yyval.token = PASM->GetModRef(yystack.l_mark[-1].string); delete[] yystack.l_mark[-1].string;} -#line 10755 "asmparse.cpp" + { yyval.token = PASM->GetAsmRef(yystack.l_mark[-1].string); delete[] yystack.l_mark[-1].string;} +#line 10773 "asmparse.cpp" break; case 584: #line 1562 "asmparse.y" - { yyval.token = PASM->ResolveTypeSpec(yystack.l_mark[0].binstr); } -#line 10760 "asmparse.cpp" + { yyval.token = PASM->GetModRef(yystack.l_mark[-1].string); delete[] yystack.l_mark[-1].string;} +#line 10778 "asmparse.cpp" break; case 585: -#line 1566 "asmparse.y" - { yyval.binstr = new BinStr(); } -#line 10765 "asmparse.cpp" +#line 1563 "asmparse.y" + { yyval.token = PASM->ResolveTypeSpec(yystack.l_mark[0].binstr); } +#line 10783 "asmparse.cpp" break; case 586: -#line 1568 "asmparse.y" +#line 1567 "asmparse.y" + { yyval.binstr = new BinStr(); } +#line 10788 "asmparse.cpp" +break; +case 587: +#line 1569 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_CUSTOMMARSHALER); corEmitInt(yyval.binstr,yystack.l_mark[-7].binstr->length()); yyval.binstr->append(yystack.l_mark[-7].binstr); corEmitInt(yyval.binstr,yystack.l_mark[-5].binstr->length()); yyval.binstr->append(yystack.l_mark[-5].binstr); corEmitInt(yyval.binstr,yystack.l_mark[-3].binstr->length()); yyval.binstr->append(yystack.l_mark[-3].binstr); corEmitInt(yyval.binstr,yystack.l_mark[-1].binstr->length()); yyval.binstr->append(yystack.l_mark[-1].binstr); PASM->report->warn("Deprecated 4-string form of custom marshaler, first two strings ignored\n");} -#line 10775 "asmparse.cpp" +#line 10798 "asmparse.cpp" break; -case 587: -#line 1575 "asmparse.y" +case 588: +#line 1576 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_CUSTOMMARSHALER); corEmitInt(yyval.binstr,0); corEmitInt(yyval.binstr,0); corEmitInt(yyval.binstr,yystack.l_mark[-3].binstr->length()); yyval.binstr->append(yystack.l_mark[-3].binstr); corEmitInt(yyval.binstr,yystack.l_mark[-1].binstr->length()); yyval.binstr->append(yystack.l_mark[-1].binstr); } -#line 10784 "asmparse.cpp" +#line 10807 "asmparse.cpp" break; -case 588: -#line 1580 "asmparse.y" +case 589: +#line 1581 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_FIXEDSYSSTRING); corEmitInt(yyval.binstr,yystack.l_mark[-1].int32); } -#line 10790 "asmparse.cpp" +#line 10813 "asmparse.cpp" break; -case 589: -#line 1583 "asmparse.y" +case 590: +#line 1584 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_FIXEDARRAY); corEmitInt(yyval.binstr,yystack.l_mark[-2].int32); yyval.binstr->append(yystack.l_mark[0].binstr); } -#line 10796 "asmparse.cpp" +#line 10819 "asmparse.cpp" break; -case 590: -#line 1585 "asmparse.y" +case 591: +#line 1586 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_VARIANT); PASM->report->warn("Deprecated native type 'variant'\n"); } -#line 10802 "asmparse.cpp" -break; -case 591: -#line 1587 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_CURRENCY); } -#line 10807 "asmparse.cpp" +#line 10825 "asmparse.cpp" break; case 592: #line 1588 "asmparse.y" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_CURRENCY); } +#line 10830 "asmparse.cpp" +break; +case 593: +#line 1589 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_SYSCHAR); PASM->report->warn("Deprecated native type 'syschar'\n"); } -#line 10813 "asmparse.cpp" +#line 10836 "asmparse.cpp" break; -case 593: -#line 1590 "asmparse.y" +case 594: +#line 1591 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_VOID); PASM->report->warn("Deprecated native type 'void'\n"); } -#line 10819 "asmparse.cpp" -break; -case 594: -#line 1592 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_BOOLEAN); } -#line 10824 "asmparse.cpp" +#line 10842 "asmparse.cpp" break; case 595: #line 1593 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_I1); } -#line 10829 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_BOOLEAN); } +#line 10847 "asmparse.cpp" break; case 596: #line 1594 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_I2); } -#line 10834 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_I1); } +#line 10852 "asmparse.cpp" break; case 597: #line 1595 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_I4); } -#line 10839 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_I2); } +#line 10857 "asmparse.cpp" break; case 598: #line 1596 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_I8); } -#line 10844 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_I4); } +#line 10862 "asmparse.cpp" break; case 599: #line 1597 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_R4); } -#line 10849 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_I8); } +#line 10867 "asmparse.cpp" break; case 600: #line 1598 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_R8); } -#line 10854 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_R4); } +#line 10872 "asmparse.cpp" break; case 601: #line 1599 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_ERROR); } -#line 10859 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_R8); } +#line 10877 "asmparse.cpp" break; case 602: #line 1600 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_U1); } -#line 10864 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_ERROR); } +#line 10882 "asmparse.cpp" break; case 603: #line 1601 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_U2); } -#line 10869 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_U1); } +#line 10887 "asmparse.cpp" break; case 604: #line 1602 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_U4); } -#line 10874 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_U2); } +#line 10892 "asmparse.cpp" break; case 605: #line 1603 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_U8); } -#line 10879 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_U4); } +#line 10897 "asmparse.cpp" break; case 606: #line 1604 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_U1); } -#line 10884 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_U8); } +#line 10902 "asmparse.cpp" break; case 607: #line 1605 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_U2); } -#line 10889 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_U1); } +#line 10907 "asmparse.cpp" break; case 608: #line 1606 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_U4); } -#line 10894 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_U2); } +#line 10912 "asmparse.cpp" break; case 609: #line 1607 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_U8); } -#line 10899 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_U4); } +#line 10917 "asmparse.cpp" break; case 610: #line 1608 "asmparse.y" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_U8); } +#line 10922 "asmparse.cpp" +break; +case 611: +#line 1609 "asmparse.y" { yyval.binstr = yystack.l_mark[-1].binstr; yyval.binstr->insertInt8(NATIVE_TYPE_PTR); PASM->report->warn("Deprecated native type '*'\n"); } -#line 10905 "asmparse.cpp" +#line 10928 "asmparse.cpp" break; -case 611: -#line 1610 "asmparse.y" +case 612: +#line 1611 "asmparse.y" { yyval.binstr = yystack.l_mark[-2].binstr; if(yyval.binstr->length()==0) yyval.binstr->appendInt8(NATIVE_TYPE_MAX); yyval.binstr->insertInt8(NATIVE_TYPE_ARRAY); } -#line 10911 "asmparse.cpp" +#line 10934 "asmparse.cpp" break; -case 612: -#line 1612 "asmparse.y" +case 613: +#line 1613 "asmparse.y" { yyval.binstr = yystack.l_mark[-3].binstr; if(yyval.binstr->length()==0) yyval.binstr->appendInt8(NATIVE_TYPE_MAX); yyval.binstr->insertInt8(NATIVE_TYPE_ARRAY); corEmitInt(yyval.binstr,0); corEmitInt(yyval.binstr,yystack.l_mark[-1].int32); corEmitInt(yyval.binstr,0); } -#line 10920 "asmparse.cpp" +#line 10943 "asmparse.cpp" break; -case 613: -#line 1617 "asmparse.y" +case 614: +#line 1618 "asmparse.y" { yyval.binstr = yystack.l_mark[-5].binstr; if(yyval.binstr->length()==0) yyval.binstr->appendInt8(NATIVE_TYPE_MAX); yyval.binstr->insertInt8(NATIVE_TYPE_ARRAY); corEmitInt(yyval.binstr,yystack.l_mark[-1].int32); corEmitInt(yyval.binstr,yystack.l_mark[-3].int32); corEmitInt(yyval.binstr,ntaSizeParamIndexSpecified); } -#line 10929 "asmparse.cpp" +#line 10952 "asmparse.cpp" break; -case 614: -#line 1622 "asmparse.y" +case 615: +#line 1623 "asmparse.y" { yyval.binstr = yystack.l_mark[-4].binstr; if(yyval.binstr->length()==0) yyval.binstr->appendInt8(NATIVE_TYPE_MAX); yyval.binstr->insertInt8(NATIVE_TYPE_ARRAY); corEmitInt(yyval.binstr,yystack.l_mark[-1].int32); } -#line 10936 "asmparse.cpp" +#line 10959 "asmparse.cpp" break; -case 615: -#line 1625 "asmparse.y" +case 616: +#line 1626 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_DECIMAL); PASM->report->warn("Deprecated native type 'decimal'\n"); } -#line 10942 "asmparse.cpp" +#line 10965 "asmparse.cpp" break; -case 616: -#line 1627 "asmparse.y" +case 617: +#line 1628 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_DATE); PASM->report->warn("Deprecated native type 'date'\n"); } -#line 10948 "asmparse.cpp" -break; -case 617: -#line 1629 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_BSTR); } -#line 10953 "asmparse.cpp" +#line 10971 "asmparse.cpp" break; case 618: #line 1630 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_LPSTR); } -#line 10958 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_BSTR); } +#line 10976 "asmparse.cpp" break; case 619: #line 1631 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_LPWSTR); } -#line 10963 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_LPSTR); } +#line 10981 "asmparse.cpp" break; case 620: #line 1632 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_LPTSTR); } -#line 10968 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_LPWSTR); } +#line 10986 "asmparse.cpp" break; case 621: #line 1633 "asmparse.y" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_LPTSTR); } +#line 10991 "asmparse.cpp" +break; +case 622: +#line 1634 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_OBJECTREF); PASM->report->warn("Deprecated native type 'objectref'\n"); } -#line 10974 "asmparse.cpp" +#line 10997 "asmparse.cpp" break; -case 622: -#line 1635 "asmparse.y" +case 623: +#line 1636 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_IUNKNOWN); if(yystack.l_mark[0].int32 != -1) corEmitInt(yyval.binstr,yystack.l_mark[0].int32); } -#line 10980 "asmparse.cpp" +#line 11003 "asmparse.cpp" break; -case 623: -#line 1637 "asmparse.y" +case 624: +#line 1638 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_IDISPATCH); if(yystack.l_mark[0].int32 != -1) corEmitInt(yyval.binstr,yystack.l_mark[0].int32); } -#line 10986 "asmparse.cpp" -break; -case 624: -#line 1639 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_STRUCT); } -#line 10991 "asmparse.cpp" +#line 11009 "asmparse.cpp" break; case 625: #line 1640 "asmparse.y" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_STRUCT); } +#line 11014 "asmparse.cpp" +break; +case 626: +#line 1641 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_INTF); if(yystack.l_mark[0].int32 != -1) corEmitInt(yyval.binstr,yystack.l_mark[0].int32); } -#line 10997 "asmparse.cpp" +#line 11020 "asmparse.cpp" break; -case 626: -#line 1642 "asmparse.y" +case 627: +#line 1643 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_SAFEARRAY); corEmitInt(yyval.binstr,yystack.l_mark[0].int32); corEmitInt(yyval.binstr,0);} -#line 11004 "asmparse.cpp" +#line 11027 "asmparse.cpp" break; -case 627: -#line 1645 "asmparse.y" +case 628: +#line 1646 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_SAFEARRAY); corEmitInt(yyval.binstr,yystack.l_mark[-2].int32); corEmitInt(yyval.binstr,yystack.l_mark[0].binstr->length()); yyval.binstr->append(yystack.l_mark[0].binstr); } -#line 11011 "asmparse.cpp" -break; -case 628: -#line 1649 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_INT); } -#line 11016 "asmparse.cpp" +#line 11034 "asmparse.cpp" break; case 629: #line 1650 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_UINT); } -#line 11021 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_INT); } +#line 11039 "asmparse.cpp" break; case 630: #line 1651 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_UINT); } -#line 11026 "asmparse.cpp" +#line 11044 "asmparse.cpp" break; case 631: #line 1652 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_NESTEDSTRUCT); - PASM->report->warn("Deprecated native type 'nested struct'\n"); } -#line 11032 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_UINT); } +#line 11049 "asmparse.cpp" break; case 632: -#line 1654 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_BYVALSTR); } -#line 11037 "asmparse.cpp" +#line 1653 "asmparse.y" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_NESTEDSTRUCT); + PASM->report->warn("Deprecated native type 'nested struct'\n"); } +#line 11055 "asmparse.cpp" break; case 633: #line 1655 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_ANSIBSTR); } -#line 11042 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_BYVALSTR); } +#line 11060 "asmparse.cpp" break; case 634: #line 1656 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_TBSTR); } -#line 11047 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_ANSIBSTR); } +#line 11065 "asmparse.cpp" break; case 635: #line 1657 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_VARIANTBOOL); } -#line 11052 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_TBSTR); } +#line 11070 "asmparse.cpp" break; case 636: #line 1658 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_FUNC); } -#line 11057 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_VARIANTBOOL); } +#line 11075 "asmparse.cpp" break; case 637: #line 1659 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_ASANY); } -#line 11062 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_FUNC); } +#line 11080 "asmparse.cpp" break; case 638: #line 1660 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_LPSTRUCT); } -#line 11067 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_ASANY); } +#line 11085 "asmparse.cpp" break; case 639: #line 1661 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->append(yystack.l_mark[0].tdd->m_pbsTypeSpec); } -#line 11072 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_LPSTRUCT); } +#line 11090 "asmparse.cpp" break; case 640: -#line 1664 "asmparse.y" - { yyval.int32 = -1; } -#line 11077 "asmparse.cpp" +#line 1662 "asmparse.y" + { yyval.binstr = new BinStr(); yyval.binstr->append(yystack.l_mark[0].tdd->m_pbsTypeSpec); } +#line 11095 "asmparse.cpp" break; case 641: #line 1665 "asmparse.y" - { yyval.int32 = yystack.l_mark[-1].int32; } -#line 11082 "asmparse.cpp" + { yyval.int32 = -1; } +#line 11100 "asmparse.cpp" break; case 642: -#line 1668 "asmparse.y" - { yyval.int32 = VT_EMPTY; } -#line 11087 "asmparse.cpp" +#line 1666 "asmparse.y" + { yyval.int32 = yystack.l_mark[-1].int32; } +#line 11105 "asmparse.cpp" break; case 643: #line 1669 "asmparse.y" - { yyval.int32 = VT_NULL; } -#line 11092 "asmparse.cpp" + { yyval.int32 = VT_EMPTY; } +#line 11110 "asmparse.cpp" break; case 644: #line 1670 "asmparse.y" - { yyval.int32 = VT_VARIANT; } -#line 11097 "asmparse.cpp" + { yyval.int32 = VT_NULL; } +#line 11115 "asmparse.cpp" break; case 645: #line 1671 "asmparse.y" - { yyval.int32 = VT_CY; } -#line 11102 "asmparse.cpp" + { yyval.int32 = VT_VARIANT; } +#line 11120 "asmparse.cpp" break; case 646: #line 1672 "asmparse.y" - { yyval.int32 = VT_VOID; } -#line 11107 "asmparse.cpp" + { yyval.int32 = VT_CY; } +#line 11125 "asmparse.cpp" break; case 647: #line 1673 "asmparse.y" - { yyval.int32 = VT_BOOL; } -#line 11112 "asmparse.cpp" + { yyval.int32 = VT_VOID; } +#line 11130 "asmparse.cpp" break; case 648: #line 1674 "asmparse.y" - { yyval.int32 = VT_I1; } -#line 11117 "asmparse.cpp" + { yyval.int32 = VT_BOOL; } +#line 11135 "asmparse.cpp" break; case 649: #line 1675 "asmparse.y" - { yyval.int32 = VT_I2; } -#line 11122 "asmparse.cpp" + { yyval.int32 = VT_I1; } +#line 11140 "asmparse.cpp" break; case 650: #line 1676 "asmparse.y" - { yyval.int32 = VT_I4; } -#line 11127 "asmparse.cpp" + { yyval.int32 = VT_I2; } +#line 11145 "asmparse.cpp" break; case 651: #line 1677 "asmparse.y" - { yyval.int32 = VT_I8; } -#line 11132 "asmparse.cpp" + { yyval.int32 = VT_I4; } +#line 11150 "asmparse.cpp" break; case 652: #line 1678 "asmparse.y" - { yyval.int32 = VT_R4; } -#line 11137 "asmparse.cpp" + { yyval.int32 = VT_I8; } +#line 11155 "asmparse.cpp" break; case 653: #line 1679 "asmparse.y" - { yyval.int32 = VT_R8; } -#line 11142 "asmparse.cpp" + { yyval.int32 = VT_R4; } +#line 11160 "asmparse.cpp" break; case 654: #line 1680 "asmparse.y" - { yyval.int32 = VT_UI1; } -#line 11147 "asmparse.cpp" + { yyval.int32 = VT_R8; } +#line 11165 "asmparse.cpp" break; case 655: #line 1681 "asmparse.y" - { yyval.int32 = VT_UI2; } -#line 11152 "asmparse.cpp" + { yyval.int32 = VT_UI1; } +#line 11170 "asmparse.cpp" break; case 656: #line 1682 "asmparse.y" - { yyval.int32 = VT_UI4; } -#line 11157 "asmparse.cpp" + { yyval.int32 = VT_UI2; } +#line 11175 "asmparse.cpp" break; case 657: #line 1683 "asmparse.y" - { yyval.int32 = VT_UI8; } -#line 11162 "asmparse.cpp" + { yyval.int32 = VT_UI4; } +#line 11180 "asmparse.cpp" break; case 658: #line 1684 "asmparse.y" - { yyval.int32 = VT_UI1; } -#line 11167 "asmparse.cpp" + { yyval.int32 = VT_UI8; } +#line 11185 "asmparse.cpp" break; case 659: #line 1685 "asmparse.y" - { yyval.int32 = VT_UI2; } -#line 11172 "asmparse.cpp" + { yyval.int32 = VT_UI1; } +#line 11190 "asmparse.cpp" break; case 660: #line 1686 "asmparse.y" - { yyval.int32 = VT_UI4; } -#line 11177 "asmparse.cpp" + { yyval.int32 = VT_UI2; } +#line 11195 "asmparse.cpp" break; case 661: #line 1687 "asmparse.y" - { yyval.int32 = VT_UI8; } -#line 11182 "asmparse.cpp" + { yyval.int32 = VT_UI4; } +#line 11200 "asmparse.cpp" break; case 662: #line 1688 "asmparse.y" - { yyval.int32 = VT_PTR; } -#line 11187 "asmparse.cpp" + { yyval.int32 = VT_UI8; } +#line 11205 "asmparse.cpp" break; case 663: #line 1689 "asmparse.y" - { yyval.int32 = yystack.l_mark[-2].int32 | VT_ARRAY; } -#line 11192 "asmparse.cpp" + { yyval.int32 = VT_PTR; } +#line 11210 "asmparse.cpp" break; case 664: #line 1690 "asmparse.y" - { yyval.int32 = yystack.l_mark[-1].int32 | VT_VECTOR; } -#line 11197 "asmparse.cpp" + { yyval.int32 = yystack.l_mark[-2].int32 | VT_ARRAY; } +#line 11215 "asmparse.cpp" break; case 665: #line 1691 "asmparse.y" - { yyval.int32 = yystack.l_mark[-1].int32 | VT_BYREF; } -#line 11202 "asmparse.cpp" + { yyval.int32 = yystack.l_mark[-1].int32 | VT_VECTOR; } +#line 11220 "asmparse.cpp" break; case 666: #line 1692 "asmparse.y" - { yyval.int32 = VT_DECIMAL; } -#line 11207 "asmparse.cpp" + { yyval.int32 = yystack.l_mark[-1].int32 | VT_BYREF; } +#line 11225 "asmparse.cpp" break; case 667: #line 1693 "asmparse.y" - { yyval.int32 = VT_DATE; } -#line 11212 "asmparse.cpp" + { yyval.int32 = VT_DECIMAL; } +#line 11230 "asmparse.cpp" break; case 668: #line 1694 "asmparse.y" - { yyval.int32 = VT_BSTR; } -#line 11217 "asmparse.cpp" + { yyval.int32 = VT_DATE; } +#line 11235 "asmparse.cpp" break; case 669: #line 1695 "asmparse.y" - { yyval.int32 = VT_LPSTR; } -#line 11222 "asmparse.cpp" + { yyval.int32 = VT_BSTR; } +#line 11240 "asmparse.cpp" break; case 670: #line 1696 "asmparse.y" - { yyval.int32 = VT_LPWSTR; } -#line 11227 "asmparse.cpp" + { yyval.int32 = VT_LPSTR; } +#line 11245 "asmparse.cpp" break; case 671: #line 1697 "asmparse.y" - { yyval.int32 = VT_UNKNOWN; } -#line 11232 "asmparse.cpp" + { yyval.int32 = VT_LPWSTR; } +#line 11250 "asmparse.cpp" break; case 672: #line 1698 "asmparse.y" - { yyval.int32 = VT_DISPATCH; } -#line 11237 "asmparse.cpp" + { yyval.int32 = VT_UNKNOWN; } +#line 11255 "asmparse.cpp" break; case 673: #line 1699 "asmparse.y" - { yyval.int32 = VT_SAFEARRAY; } -#line 11242 "asmparse.cpp" + { yyval.int32 = VT_DISPATCH; } +#line 11260 "asmparse.cpp" break; case 674: #line 1700 "asmparse.y" - { yyval.int32 = VT_INT; } -#line 11247 "asmparse.cpp" + { yyval.int32 = VT_SAFEARRAY; } +#line 11265 "asmparse.cpp" break; case 675: #line 1701 "asmparse.y" - { yyval.int32 = VT_UINT; } -#line 11252 "asmparse.cpp" + { yyval.int32 = VT_INT; } +#line 11270 "asmparse.cpp" break; case 676: #line 1702 "asmparse.y" { yyval.int32 = VT_UINT; } -#line 11257 "asmparse.cpp" +#line 11275 "asmparse.cpp" break; case 677: #line 1703 "asmparse.y" - { yyval.int32 = VT_ERROR; } -#line 11262 "asmparse.cpp" + { yyval.int32 = VT_UINT; } +#line 11280 "asmparse.cpp" break; case 678: #line 1704 "asmparse.y" - { yyval.int32 = VT_HRESULT; } -#line 11267 "asmparse.cpp" + { yyval.int32 = VT_ERROR; } +#line 11285 "asmparse.cpp" break; case 679: #line 1705 "asmparse.y" - { yyval.int32 = VT_CARRAY; } -#line 11272 "asmparse.cpp" + { yyval.int32 = VT_HRESULT; } +#line 11290 "asmparse.cpp" break; case 680: #line 1706 "asmparse.y" - { yyval.int32 = VT_USERDEFINED; } -#line 11277 "asmparse.cpp" + { yyval.int32 = VT_CARRAY; } +#line 11295 "asmparse.cpp" break; case 681: #line 1707 "asmparse.y" - { yyval.int32 = VT_RECORD; } -#line 11282 "asmparse.cpp" + { yyval.int32 = VT_USERDEFINED; } +#line 11300 "asmparse.cpp" break; case 682: #line 1708 "asmparse.y" - { yyval.int32 = VT_FILETIME; } -#line 11287 "asmparse.cpp" + { yyval.int32 = VT_RECORD; } +#line 11305 "asmparse.cpp" break; case 683: #line 1709 "asmparse.y" - { yyval.int32 = VT_BLOB; } -#line 11292 "asmparse.cpp" + { yyval.int32 = VT_FILETIME; } +#line 11310 "asmparse.cpp" break; case 684: #line 1710 "asmparse.y" - { yyval.int32 = VT_STREAM; } -#line 11297 "asmparse.cpp" + { yyval.int32 = VT_BLOB; } +#line 11315 "asmparse.cpp" break; case 685: #line 1711 "asmparse.y" - { yyval.int32 = VT_STORAGE; } -#line 11302 "asmparse.cpp" + { yyval.int32 = VT_STREAM; } +#line 11320 "asmparse.cpp" break; case 686: #line 1712 "asmparse.y" - { yyval.int32 = VT_STREAMED_OBJECT; } -#line 11307 "asmparse.cpp" + { yyval.int32 = VT_STORAGE; } +#line 11325 "asmparse.cpp" break; case 687: #line 1713 "asmparse.y" - { yyval.int32 = VT_STORED_OBJECT; } -#line 11312 "asmparse.cpp" + { yyval.int32 = VT_STREAMED_OBJECT; } +#line 11330 "asmparse.cpp" break; case 688: #line 1714 "asmparse.y" - { yyval.int32 = VT_BLOB_OBJECT; } -#line 11317 "asmparse.cpp" + { yyval.int32 = VT_STORED_OBJECT; } +#line 11335 "asmparse.cpp" break; case 689: #line 1715 "asmparse.y" - { yyval.int32 = VT_CF; } -#line 11322 "asmparse.cpp" + { yyval.int32 = VT_BLOB_OBJECT; } +#line 11340 "asmparse.cpp" break; case 690: #line 1716 "asmparse.y" - { yyval.int32 = VT_CLSID; } -#line 11327 "asmparse.cpp" + { yyval.int32 = VT_CF; } +#line 11345 "asmparse.cpp" break; case 691: -#line 1720 "asmparse.y" +#line 1717 "asmparse.y" + { yyval.int32 = VT_CLSID; } +#line 11350 "asmparse.cpp" +break; +case 692: +#line 1721 "asmparse.y" { if(yystack.l_mark[0].token == PASM->m_tkSysString) { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_STRING); } else if(yystack.l_mark[0].token == PASM->m_tkSysObject) { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_OBJECT); } else yyval.binstr = parser->MakeTypeClass(ELEMENT_TYPE_CLASS, yystack.l_mark[0].token); } -#line 11337 "asmparse.cpp" -break; -case 692: -#line 1726 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_OBJECT); } -#line 11342 "asmparse.cpp" +#line 11360 "asmparse.cpp" break; case 693: #line 1727 "asmparse.y" - { yyval.binstr = parser->MakeTypeClass(ELEMENT_TYPE_VALUETYPE, yystack.l_mark[0].token); } -#line 11347 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_OBJECT); } +#line 11365 "asmparse.cpp" break; case 694: #line 1728 "asmparse.y" { yyval.binstr = parser->MakeTypeClass(ELEMENT_TYPE_VALUETYPE, yystack.l_mark[0].token); } -#line 11352 "asmparse.cpp" +#line 11370 "asmparse.cpp" break; case 695: #line 1729 "asmparse.y" - { yyval.binstr = yystack.l_mark[0].binstr; yyval.binstr->insertInt8(ELEMENT_TYPE_CTARG); } -#line 11357 "asmparse.cpp" + { yyval.binstr = parser->MakeTypeClass(ELEMENT_TYPE_VALUETYPE, yystack.l_mark[0].token); } +#line 11375 "asmparse.cpp" break; case 696: #line 1730 "asmparse.y" - { yyval.binstr = yystack.l_mark[-2].binstr; yyval.binstr->insertInt8(ELEMENT_TYPE_SZARRAY); } -#line 11362 "asmparse.cpp" + { yyval.binstr = yystack.l_mark[0].binstr; yyval.binstr->insertInt8(ELEMENT_TYPE_CTARG); } +#line 11380 "asmparse.cpp" break; case 697: #line 1731 "asmparse.y" - { yyval.binstr = parser->MakeTypeArray(ELEMENT_TYPE_ARRAY, yystack.l_mark[-3].binstr, yystack.l_mark[-1].binstr); } -#line 11367 "asmparse.cpp" + { yyval.binstr = yystack.l_mark[-2].binstr; yyval.binstr->insertInt8(ELEMENT_TYPE_SZARRAY); } +#line 11385 "asmparse.cpp" break; case 698: #line 1732 "asmparse.y" - { yyval.binstr = yystack.l_mark[-1].binstr; yyval.binstr->insertInt8(ELEMENT_TYPE_BYREF); } -#line 11372 "asmparse.cpp" + { yyval.binstr = parser->MakeTypeArray(ELEMENT_TYPE_ARRAY, yystack.l_mark[-3].binstr, yystack.l_mark[-1].binstr); } +#line 11390 "asmparse.cpp" break; case 699: #line 1733 "asmparse.y" - { yyval.binstr = yystack.l_mark[-1].binstr; yyval.binstr->insertInt8(ELEMENT_TYPE_PTR); } -#line 11377 "asmparse.cpp" + { yyval.binstr = yystack.l_mark[-1].binstr; yyval.binstr->insertInt8(ELEMENT_TYPE_BYREF); } +#line 11395 "asmparse.cpp" break; case 700: #line 1734 "asmparse.y" - { yyval.binstr = yystack.l_mark[-1].binstr; yyval.binstr->insertInt8(ELEMENT_TYPE_PINNED); } -#line 11382 "asmparse.cpp" + { yyval.binstr = yystack.l_mark[-1].binstr; yyval.binstr->insertInt8(ELEMENT_TYPE_PTR); } +#line 11400 "asmparse.cpp" break; case 701: #line 1735 "asmparse.y" + { yyval.binstr = yystack.l_mark[-1].binstr; yyval.binstr->insertInt8(ELEMENT_TYPE_PINNED); } +#line 11405 "asmparse.cpp" +break; +case 702: +#line 1736 "asmparse.y" { yyval.binstr = parser->MakeTypeClass(ELEMENT_TYPE_CMOD_REQD, yystack.l_mark[-1].token); yyval.binstr->append(yystack.l_mark[-4].binstr); } -#line 11388 "asmparse.cpp" +#line 11411 "asmparse.cpp" break; -case 702: -#line 1737 "asmparse.y" +case 703: +#line 1738 "asmparse.y" { yyval.binstr = parser->MakeTypeClass(ELEMENT_TYPE_CMOD_OPT, yystack.l_mark[-1].token); yyval.binstr->append(yystack.l_mark[-4].binstr); } -#line 11394 "asmparse.cpp" +#line 11417 "asmparse.cpp" break; -case 703: -#line 1740 "asmparse.y" +case 704: +#line 1741 "asmparse.y" { yyval.binstr = parser->MakeSig(yystack.l_mark[-5].int32, yystack.l_mark[-4].binstr, yystack.l_mark[-1].binstr); yyval.binstr->insertInt8(ELEMENT_TYPE_FNPTR); PASM->delArgNameList(PASM->m_firstArgName); PASM->m_firstArgName = parser->m_ANSFirst.POP(); PASM->m_lastArgName = parser->m_ANSLast.POP(); } -#line 11404 "asmparse.cpp" +#line 11427 "asmparse.cpp" break; -case 704: -#line 1746 "asmparse.y" +case 705: +#line 1747 "asmparse.y" { if(yystack.l_mark[-1].binstr == NULL) yyval.binstr = yystack.l_mark[-3].binstr; else { yyval.binstr = new BinStr(); @@ -11411,30 +11434,30 @@ case 704: yyval.binstr->append(yystack.l_mark[-3].binstr); corEmitInt(yyval.binstr, corCountArgs(yystack.l_mark[-1].binstr)); yyval.binstr->append(yystack.l_mark[-1].binstr); delete yystack.l_mark[-3].binstr; delete yystack.l_mark[-1].binstr; }} -#line 11415 "asmparse.cpp" +#line 11438 "asmparse.cpp" break; -case 705: -#line 1753 "asmparse.y" +case 706: +#line 1754 "asmparse.y" { /*if(PASM->m_pCurMethod) { */ /* if(($3 < 0)||((DWORD)$3 >= PASM->m_pCurMethod->m_NumTyPars)) */ /* PASM->report->error("Invalid method type parameter '%d'\n",$3); */ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_MVAR); corEmitInt(yyval.binstr, yystack.l_mark[0].int32); /*} else PASM->report->error("Method type parameter '%d' outside method scope\n",$3); */ } -#line 11425 "asmparse.cpp" +#line 11448 "asmparse.cpp" break; -case 706: -#line 1759 "asmparse.y" +case 707: +#line 1760 "asmparse.y" { /*if(PASM->m_pCurClass) { */ /* if(($2 < 0)||((DWORD)$2 >= PASM->m_pCurClass->m_NumTyPars)) */ /* PASM->report->error("Invalid type parameter '%d'\n",$2); */ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_VAR); corEmitInt(yyval.binstr, yystack.l_mark[0].int32); /*} else PASM->report->error("Type parameter '%d' outside class scope\n",$2); */ } -#line 11435 "asmparse.cpp" +#line 11458 "asmparse.cpp" break; -case 707: -#line 1765 "asmparse.y" +case 708: +#line 1766 "asmparse.y" { int eltype = ELEMENT_TYPE_MVAR; int n=-1; if(PASM->m_pCurMethod) n = PASM->m_pCurMethod->FindTyPar(yystack.l_mark[0].string); @@ -11450,10 +11473,10 @@ case 707: n = 0x1FFFFFFF; } yyval.binstr = new BinStr(); yyval.binstr->appendInt8(eltype); corEmitInt(yyval.binstr,n); } -#line 11454 "asmparse.cpp" +#line 11477 "asmparse.cpp" break; -case 708: -#line 1780 "asmparse.y" +case 709: +#line 1781 "asmparse.y" { int eltype = ELEMENT_TYPE_VAR; int n=-1; if(PASM->m_pCurClass && !newclass) n = PASM->m_pCurClass->FindTyPar(yystack.l_mark[0].string); @@ -11469,781 +11492,781 @@ case 708: n = 0x1FFFFFFF; } yyval.binstr = new BinStr(); yyval.binstr->appendInt8(eltype); corEmitInt(yyval.binstr,n); } -#line 11473 "asmparse.cpp" -break; -case 709: -#line 1795 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_TYPEDBYREF); } -#line 11478 "asmparse.cpp" +#line 11496 "asmparse.cpp" break; case 710: #line 1796 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_VOID); } -#line 11483 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_TYPEDBYREF); } +#line 11501 "asmparse.cpp" break; case 711: #line 1797 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_I); } -#line 11488 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_VOID); } +#line 11506 "asmparse.cpp" break; case 712: #line 1798 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U); } -#line 11493 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_I); } +#line 11511 "asmparse.cpp" break; case 713: #line 1799 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U); } -#line 11498 "asmparse.cpp" +#line 11516 "asmparse.cpp" break; case 714: #line 1800 "asmparse.y" - { yyval.binstr = yystack.l_mark[0].binstr; } -#line 11503 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U); } +#line 11521 "asmparse.cpp" break; case 715: #line 1801 "asmparse.y" - { yyval.binstr = yystack.l_mark[0].binstr; yyval.binstr->insertInt8(ELEMENT_TYPE_SENTINEL); } -#line 11508 "asmparse.cpp" + { yyval.binstr = yystack.l_mark[0].binstr; } +#line 11526 "asmparse.cpp" break; case 716: -#line 1804 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_CHAR); } -#line 11513 "asmparse.cpp" +#line 1802 "asmparse.y" + { yyval.binstr = yystack.l_mark[0].binstr; yyval.binstr->insertInt8(ELEMENT_TYPE_SENTINEL); } +#line 11531 "asmparse.cpp" break; case 717: #line 1805 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_STRING); } -#line 11518 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_CHAR); } +#line 11536 "asmparse.cpp" break; case 718: #line 1806 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_BOOLEAN); } -#line 11523 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_STRING); } +#line 11541 "asmparse.cpp" break; case 719: #line 1807 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_I1); } -#line 11528 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_BOOLEAN); } +#line 11546 "asmparse.cpp" break; case 720: #line 1808 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_I2); } -#line 11533 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_I1); } +#line 11551 "asmparse.cpp" break; case 721: #line 1809 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_I4); } -#line 11538 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_I2); } +#line 11556 "asmparse.cpp" break; case 722: #line 1810 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_I8); } -#line 11543 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_I4); } +#line 11561 "asmparse.cpp" break; case 723: #line 1811 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_R4); } -#line 11548 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_I8); } +#line 11566 "asmparse.cpp" break; case 724: #line 1812 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_R8); } -#line 11553 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_R4); } +#line 11571 "asmparse.cpp" break; case 725: #line 1813 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U1); } -#line 11558 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_R8); } +#line 11576 "asmparse.cpp" break; case 726: #line 1814 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U2); } -#line 11563 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U1); } +#line 11581 "asmparse.cpp" break; case 727: #line 1815 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U4); } -#line 11568 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U2); } +#line 11586 "asmparse.cpp" break; case 728: #line 1816 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U8); } -#line 11573 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U4); } +#line 11591 "asmparse.cpp" break; case 729: #line 1817 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U1); } -#line 11578 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U8); } +#line 11596 "asmparse.cpp" break; case 730: #line 1818 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U2); } -#line 11583 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U1); } +#line 11601 "asmparse.cpp" break; case 731: #line 1819 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U4); } -#line 11588 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U2); } +#line 11606 "asmparse.cpp" break; case 732: #line 1820 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U8); } -#line 11593 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U4); } +#line 11611 "asmparse.cpp" break; case 733: #line 1821 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->append(yystack.l_mark[0].tdd->m_pbsTypeSpec); } -#line 11598 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U8); } +#line 11616 "asmparse.cpp" break; case 734: -#line 1824 "asmparse.y" - { yyval.binstr = yystack.l_mark[0].binstr; } -#line 11603 "asmparse.cpp" +#line 1822 "asmparse.y" + { yyval.binstr = new BinStr(); yyval.binstr->append(yystack.l_mark[0].tdd->m_pbsTypeSpec); } +#line 11621 "asmparse.cpp" break; case 735: #line 1825 "asmparse.y" - { yyval.binstr = yystack.l_mark[-2].binstr; yystack.l_mark[-2].binstr->append(yystack.l_mark[0].binstr); delete yystack.l_mark[0].binstr; } -#line 11608 "asmparse.cpp" + { yyval.binstr = yystack.l_mark[0].binstr; } +#line 11626 "asmparse.cpp" break; case 736: -#line 1828 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt32(0x7FFFFFFF); yyval.binstr->appendInt32(0x7FFFFFFF); } -#line 11613 "asmparse.cpp" +#line 1826 "asmparse.y" + { yyval.binstr = yystack.l_mark[-2].binstr; yystack.l_mark[-2].binstr->append(yystack.l_mark[0].binstr); delete yystack.l_mark[0].binstr; } +#line 11631 "asmparse.cpp" break; case 737: #line 1829 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt32(0x7FFFFFFF); yyval.binstr->appendInt32(0x7FFFFFFF); } -#line 11618 "asmparse.cpp" +#line 11636 "asmparse.cpp" break; case 738: #line 1830 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt32(0); yyval.binstr->appendInt32(yystack.l_mark[0].int32); } -#line 11623 "asmparse.cpp" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt32(0x7FFFFFFF); yyval.binstr->appendInt32(0x7FFFFFFF); } +#line 11641 "asmparse.cpp" break; case 739: #line 1831 "asmparse.y" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt32(0); yyval.binstr->appendInt32(yystack.l_mark[0].int32); } +#line 11646 "asmparse.cpp" +break; +case 740: +#line 1832 "asmparse.y" { FAIL_UNLESS(yystack.l_mark[-2].int32 <= yystack.l_mark[0].int32, ("lower bound %d must be <= upper bound %d\n", yystack.l_mark[-2].int32, yystack.l_mark[0].int32)); if (yystack.l_mark[-2].int32 > yystack.l_mark[0].int32) { YYERROR; }; yyval.binstr = new BinStr(); yyval.binstr->appendInt32(yystack.l_mark[-2].int32); yyval.binstr->appendInt32(yystack.l_mark[0].int32-yystack.l_mark[-2].int32+1); } -#line 11630 "asmparse.cpp" -break; -case 740: -#line 1834 "asmparse.y" - { yyval.binstr = new BinStr(); yyval.binstr->appendInt32(yystack.l_mark[-1].int32); yyval.binstr->appendInt32(0x7FFFFFFF); } -#line 11635 "asmparse.cpp" +#line 11653 "asmparse.cpp" break; case 741: -#line 1839 "asmparse.y" - { PASM->AddPermissionDecl(yystack.l_mark[-4].secAct, yystack.l_mark[-3].token, yystack.l_mark[-1].pair); } -#line 11640 "asmparse.cpp" +#line 1835 "asmparse.y" + { yyval.binstr = new BinStr(); yyval.binstr->appendInt32(yystack.l_mark[-1].int32); yyval.binstr->appendInt32(0x7FFFFFFF); } +#line 11658 "asmparse.cpp" break; case 742: -#line 1841 "asmparse.y" - { PASM->AddPermissionDecl(yystack.l_mark[-5].secAct, yystack.l_mark[-4].token, yystack.l_mark[-1].binstr); } -#line 11645 "asmparse.cpp" +#line 1840 "asmparse.y" + { PASM->AddPermissionDecl(yystack.l_mark[-4].secAct, yystack.l_mark[-3].token, yystack.l_mark[-1].pair); } +#line 11663 "asmparse.cpp" break; case 743: #line 1842 "asmparse.y" - { PASM->AddPermissionDecl(yystack.l_mark[-1].secAct, yystack.l_mark[0].token, (NVPair *)NULL); } -#line 11650 "asmparse.cpp" + { PASM->AddPermissionDecl(yystack.l_mark[-5].secAct, yystack.l_mark[-4].token, yystack.l_mark[-1].binstr); } +#line 11668 "asmparse.cpp" break; case 744: #line 1843 "asmparse.y" - { PASM->AddPermissionSetDecl(yystack.l_mark[-2].secAct, yystack.l_mark[-1].binstr); } -#line 11655 "asmparse.cpp" + { PASM->AddPermissionDecl(yystack.l_mark[-1].secAct, yystack.l_mark[0].token, (NVPair *)NULL); } +#line 11673 "asmparse.cpp" break; case 745: -#line 1845 "asmparse.y" - { PASM->AddPermissionSetDecl(yystack.l_mark[-1].secAct,BinStrToUnicode(yystack.l_mark[0].binstr,true));} -#line 11660 "asmparse.cpp" +#line 1844 "asmparse.y" + { PASM->AddPermissionSetDecl(yystack.l_mark[-2].secAct, yystack.l_mark[-1].binstr); } +#line 11678 "asmparse.cpp" break; case 746: -#line 1847 "asmparse.y" +#line 1846 "asmparse.y" + { PASM->AddPermissionSetDecl(yystack.l_mark[-1].secAct,BinStrToUnicode(yystack.l_mark[0].binstr,true));} +#line 11683 "asmparse.cpp" +break; +case 747: +#line 1848 "asmparse.y" { BinStr* ret = new BinStr(); ret->insertInt8('.'); corEmitInt(ret, nSecAttrBlobs); ret->append(yystack.l_mark[-1].binstr); PASM->AddPermissionSetDecl(yystack.l_mark[-4].secAct,ret); nSecAttrBlobs = 0; } -#line 11670 "asmparse.cpp" -break; -case 747: -#line 1855 "asmparse.y" - { yyval.binstr = new BinStr(); nSecAttrBlobs = 0;} -#line 11675 "asmparse.cpp" +#line 11693 "asmparse.cpp" break; case 748: #line 1856 "asmparse.y" - { yyval.binstr = yystack.l_mark[0].binstr; nSecAttrBlobs = 1; } -#line 11680 "asmparse.cpp" + { yyval.binstr = new BinStr(); nSecAttrBlobs = 0;} +#line 11698 "asmparse.cpp" break; case 749: #line 1857 "asmparse.y" - { yyval.binstr = yystack.l_mark[-2].binstr; yyval.binstr->append(yystack.l_mark[0].binstr); nSecAttrBlobs++; } -#line 11685 "asmparse.cpp" + { yyval.binstr = yystack.l_mark[0].binstr; nSecAttrBlobs = 1; } +#line 11703 "asmparse.cpp" break; case 750: -#line 1861 "asmparse.y" - { yyval.binstr = PASM->EncodeSecAttr(PASM->ReflectionNotation(yystack.l_mark[-4].token),yystack.l_mark[-1].binstr,nCustomBlobNVPairs); - nCustomBlobNVPairs = 0; } -#line 11691 "asmparse.cpp" +#line 1858 "asmparse.y" + { yyval.binstr = yystack.l_mark[-2].binstr; yyval.binstr->append(yystack.l_mark[0].binstr); nSecAttrBlobs++; } +#line 11708 "asmparse.cpp" break; case 751: -#line 1864 "asmparse.y" - { yyval.binstr = PASM->EncodeSecAttr(yystack.l_mark[-4].string,yystack.l_mark[-1].binstr,nCustomBlobNVPairs); +#line 1862 "asmparse.y" + { yyval.binstr = PASM->EncodeSecAttr(PASM->ReflectionNotation(yystack.l_mark[-4].token),yystack.l_mark[-1].binstr,nCustomBlobNVPairs); nCustomBlobNVPairs = 0; } -#line 11697 "asmparse.cpp" +#line 11714 "asmparse.cpp" break; case 752: -#line 1868 "asmparse.y" - { yyval.secAct = yystack.l_mark[-2].secAct; bParsingByteArray = TRUE; } -#line 11702 "asmparse.cpp" +#line 1865 "asmparse.y" + { yyval.binstr = PASM->EncodeSecAttr(yystack.l_mark[-4].string,yystack.l_mark[-1].binstr,nCustomBlobNVPairs); + nCustomBlobNVPairs = 0; } +#line 11720 "asmparse.cpp" break; case 753: -#line 1870 "asmparse.y" +#line 1869 "asmparse.y" { yyval.secAct = yystack.l_mark[-2].secAct; bParsingByteArray = TRUE; } -#line 11707 "asmparse.cpp" +#line 11725 "asmparse.cpp" break; case 754: -#line 1873 "asmparse.y" - { yyval.pair = yystack.l_mark[0].pair; } -#line 11712 "asmparse.cpp" +#line 1871 "asmparse.y" + { yyval.secAct = yystack.l_mark[-2].secAct; bParsingByteArray = TRUE; } +#line 11730 "asmparse.cpp" break; case 755: #line 1874 "asmparse.y" - { yyval.pair = yystack.l_mark[-2].pair->Concat(yystack.l_mark[0].pair); } -#line 11717 "asmparse.cpp" + { yyval.pair = yystack.l_mark[0].pair; } +#line 11735 "asmparse.cpp" break; case 756: -#line 1877 "asmparse.y" - { yystack.l_mark[-2].binstr->appendInt8(0); yyval.pair = new NVPair(yystack.l_mark[-2].binstr, yystack.l_mark[0].binstr); } -#line 11722 "asmparse.cpp" +#line 1875 "asmparse.y" + { yyval.pair = yystack.l_mark[-2].pair->Concat(yystack.l_mark[0].pair); } +#line 11740 "asmparse.cpp" break; case 757: -#line 1880 "asmparse.y" - { yyval.int32 = 1; } -#line 11727 "asmparse.cpp" +#line 1878 "asmparse.y" + { yystack.l_mark[-2].binstr->appendInt8(0); yyval.pair = new NVPair(yystack.l_mark[-2].binstr, yystack.l_mark[0].binstr); } +#line 11745 "asmparse.cpp" break; case 758: #line 1881 "asmparse.y" - { yyval.int32 = 0; } -#line 11732 "asmparse.cpp" + { yyval.int32 = 1; } +#line 11750 "asmparse.cpp" break; case 759: -#line 1884 "asmparse.y" +#line 1882 "asmparse.y" + { yyval.int32 = 0; } +#line 11755 "asmparse.cpp" +break; +case 760: +#line 1885 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(SERIALIZATION_TYPE_BOOLEAN); yyval.binstr->appendInt8(yystack.l_mark[0].int32); } -#line 11739 "asmparse.cpp" +#line 11762 "asmparse.cpp" break; -case 760: -#line 1887 "asmparse.y" +case 761: +#line 1888 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(SERIALIZATION_TYPE_I4); yyval.binstr->appendInt32(yystack.l_mark[0].int32); } -#line 11746 "asmparse.cpp" +#line 11769 "asmparse.cpp" break; -case 761: -#line 1890 "asmparse.y" +case 762: +#line 1891 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(SERIALIZATION_TYPE_I4); yyval.binstr->appendInt32(yystack.l_mark[-1].int32); } -#line 11753 "asmparse.cpp" +#line 11776 "asmparse.cpp" break; -case 762: -#line 1893 "asmparse.y" +case 763: +#line 1894 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(SERIALIZATION_TYPE_STRING); yyval.binstr->append(yystack.l_mark[0].binstr); delete yystack.l_mark[0].binstr; yyval.binstr->appendInt8(0); } -#line 11761 "asmparse.cpp" +#line 11784 "asmparse.cpp" break; -case 763: -#line 1897 "asmparse.y" +case 764: +#line 1898 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(SERIALIZATION_TYPE_ENUM); char* sz = PASM->ReflectionNotation(yystack.l_mark[-5].token); strcpy_s((char *)yyval.binstr->getBuff((unsigned)strlen(sz) + 1), strlen(sz) + 1,sz); yyval.binstr->appendInt8(1); yyval.binstr->appendInt32(yystack.l_mark[-1].int32); } -#line 11771 "asmparse.cpp" +#line 11794 "asmparse.cpp" break; -case 764: -#line 1903 "asmparse.y" +case 765: +#line 1904 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(SERIALIZATION_TYPE_ENUM); char* sz = PASM->ReflectionNotation(yystack.l_mark[-5].token); strcpy_s((char *)yyval.binstr->getBuff((unsigned)strlen(sz) + 1), strlen(sz) + 1,sz); yyval.binstr->appendInt8(2); yyval.binstr->appendInt32(yystack.l_mark[-1].int32); } -#line 11781 "asmparse.cpp" +#line 11804 "asmparse.cpp" break; -case 765: -#line 1909 "asmparse.y" +case 766: +#line 1910 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(SERIALIZATION_TYPE_ENUM); char* sz = PASM->ReflectionNotation(yystack.l_mark[-5].token); strcpy_s((char *)yyval.binstr->getBuff((unsigned)strlen(sz) + 1), strlen(sz) + 1,sz); yyval.binstr->appendInt8(4); yyval.binstr->appendInt32(yystack.l_mark[-1].int32); } -#line 11791 "asmparse.cpp" +#line 11814 "asmparse.cpp" break; -case 766: -#line 1915 "asmparse.y" +case 767: +#line 1916 "asmparse.y" { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(SERIALIZATION_TYPE_ENUM); char* sz = PASM->ReflectionNotation(yystack.l_mark[-3].token); strcpy_s((char *)yyval.binstr->getBuff((unsigned)strlen(sz) + 1), strlen(sz) + 1,sz); yyval.binstr->appendInt8(4); yyval.binstr->appendInt32(yystack.l_mark[-1].int32); } -#line 11801 "asmparse.cpp" -break; -case 767: -#line 1923 "asmparse.y" - { yyval.secAct = dclRequest; } -#line 11806 "asmparse.cpp" +#line 11824 "asmparse.cpp" break; case 768: #line 1924 "asmparse.y" - { yyval.secAct = dclDemand; } -#line 11811 "asmparse.cpp" + { yyval.secAct = dclRequest; } +#line 11829 "asmparse.cpp" break; case 769: #line 1925 "asmparse.y" - { yyval.secAct = dclAssert; } -#line 11816 "asmparse.cpp" + { yyval.secAct = dclDemand; } +#line 11834 "asmparse.cpp" break; case 770: #line 1926 "asmparse.y" - { yyval.secAct = dclDeny; } -#line 11821 "asmparse.cpp" + { yyval.secAct = dclAssert; } +#line 11839 "asmparse.cpp" break; case 771: #line 1927 "asmparse.y" - { yyval.secAct = dclPermitOnly; } -#line 11826 "asmparse.cpp" + { yyval.secAct = dclDeny; } +#line 11844 "asmparse.cpp" break; case 772: #line 1928 "asmparse.y" - { yyval.secAct = dclLinktimeCheck; } -#line 11831 "asmparse.cpp" + { yyval.secAct = dclPermitOnly; } +#line 11849 "asmparse.cpp" break; case 773: #line 1929 "asmparse.y" - { yyval.secAct = dclInheritanceCheck; } -#line 11836 "asmparse.cpp" + { yyval.secAct = dclLinktimeCheck; } +#line 11854 "asmparse.cpp" break; case 774: #line 1930 "asmparse.y" - { yyval.secAct = dclRequestMinimum; } -#line 11841 "asmparse.cpp" + { yyval.secAct = dclInheritanceCheck; } +#line 11859 "asmparse.cpp" break; case 775: #line 1931 "asmparse.y" - { yyval.secAct = dclRequestOptional; } -#line 11846 "asmparse.cpp" + { yyval.secAct = dclRequestMinimum; } +#line 11864 "asmparse.cpp" break; case 776: #line 1932 "asmparse.y" - { yyval.secAct = dclRequestRefuse; } -#line 11851 "asmparse.cpp" + { yyval.secAct = dclRequestOptional; } +#line 11869 "asmparse.cpp" break; case 777: #line 1933 "asmparse.y" - { yyval.secAct = dclPrejitGrant; } -#line 11856 "asmparse.cpp" + { yyval.secAct = dclRequestRefuse; } +#line 11874 "asmparse.cpp" break; case 778: #line 1934 "asmparse.y" - { yyval.secAct = dclPrejitDenied; } -#line 11861 "asmparse.cpp" + { yyval.secAct = dclPrejitGrant; } +#line 11879 "asmparse.cpp" break; case 779: #line 1935 "asmparse.y" - { yyval.secAct = dclNonCasDemand; } -#line 11866 "asmparse.cpp" + { yyval.secAct = dclPrejitDenied; } +#line 11884 "asmparse.cpp" break; case 780: #line 1936 "asmparse.y" - { yyval.secAct = dclNonCasLinkDemand; } -#line 11871 "asmparse.cpp" + { yyval.secAct = dclNonCasDemand; } +#line 11889 "asmparse.cpp" break; case 781: #line 1937 "asmparse.y" - { yyval.secAct = dclNonCasInheritance; } -#line 11876 "asmparse.cpp" + { yyval.secAct = dclNonCasLinkDemand; } +#line 11894 "asmparse.cpp" break; case 782: -#line 1941 "asmparse.y" - { PASM->ResetLineNumbers(); nCurrPC = PASM->m_CurPC; PENV->bExternSource = TRUE; PENV->bExternSourceAutoincrement = FALSE; } -#line 11881 "asmparse.cpp" +#line 1938 "asmparse.y" + { yyval.secAct = dclNonCasInheritance; } +#line 11899 "asmparse.cpp" break; case 783: #line 1942 "asmparse.y" - { PASM->ResetLineNumbers(); nCurrPC = PASM->m_CurPC; PENV->bExternSource = TRUE; PENV->bExternSourceAutoincrement = TRUE; } -#line 11886 "asmparse.cpp" + { PASM->ResetLineNumbers(); nCurrPC = PASM->m_CurPC; PENV->bExternSource = TRUE; PENV->bExternSourceAutoincrement = FALSE; } +#line 11904 "asmparse.cpp" break; case 784: -#line 1945 "asmparse.y" +#line 1943 "asmparse.y" + { PASM->ResetLineNumbers(); nCurrPC = PASM->m_CurPC; PENV->bExternSource = TRUE; PENV->bExternSourceAutoincrement = TRUE; } +#line 11909 "asmparse.cpp" +break; +case 785: +#line 1946 "asmparse.y" { PENV->nExtLine = PENV->nExtLineEnd = yystack.l_mark[-1].int32; PENV->nExtCol = 0; PENV->nExtColEnd = static_cast(-1); PASM->SetSourceFileName(yystack.l_mark[0].string);} -#line 11893 "asmparse.cpp" +#line 11916 "asmparse.cpp" break; -case 785: -#line 1948 "asmparse.y" +case 786: +#line 1949 "asmparse.y" { PENV->nExtLine = PENV->nExtLineEnd = yystack.l_mark[0].int32; PENV->nExtCol = 0; PENV->nExtColEnd = static_cast(-1); } -#line 11899 "asmparse.cpp" +#line 11922 "asmparse.cpp" break; -case 786: -#line 1950 "asmparse.y" +case 787: +#line 1951 "asmparse.y" { PENV->nExtLine = PENV->nExtLineEnd = yystack.l_mark[-3].int32; PENV->nExtCol=yystack.l_mark[-1].int32; PENV->nExtColEnd = static_cast(-1); PASM->SetSourceFileName(yystack.l_mark[0].string);} -#line 11906 "asmparse.cpp" +#line 11929 "asmparse.cpp" break; -case 787: -#line 1953 "asmparse.y" +case 788: +#line 1954 "asmparse.y" { PENV->nExtLine = PENV->nExtLineEnd = yystack.l_mark[-2].int32; PENV->nExtCol=yystack.l_mark[0].int32; PENV->nExtColEnd = static_cast(-1);} -#line 11912 "asmparse.cpp" +#line 11935 "asmparse.cpp" break; -case 788: -#line 1956 "asmparse.y" +case 789: +#line 1957 "asmparse.y" { PENV->nExtLine = PENV->nExtLineEnd = yystack.l_mark[-5].int32; PENV->nExtCol=yystack.l_mark[-3].int32; PENV->nExtColEnd = yystack.l_mark[-1].int32; PASM->SetSourceFileName(yystack.l_mark[0].string);} -#line 11919 "asmparse.cpp" +#line 11942 "asmparse.cpp" break; -case 789: -#line 1960 "asmparse.y" +case 790: +#line 1961 "asmparse.y" { PENV->nExtLine = PENV->nExtLineEnd = yystack.l_mark[-4].int32; PENV->nExtCol=yystack.l_mark[-2].int32; PENV->nExtColEnd = yystack.l_mark[0].int32; } -#line 11925 "asmparse.cpp" +#line 11948 "asmparse.cpp" break; -case 790: -#line 1963 "asmparse.y" +case 791: +#line 1964 "asmparse.y" { PENV->nExtLine = yystack.l_mark[-5].int32; PENV->nExtLineEnd = yystack.l_mark[-3].int32; PENV->nExtCol=yystack.l_mark[-1].int32; PENV->nExtColEnd = static_cast(-1); PASM->SetSourceFileName(yystack.l_mark[0].string);} -#line 11932 "asmparse.cpp" +#line 11955 "asmparse.cpp" break; -case 791: -#line 1967 "asmparse.y" +case 792: +#line 1968 "asmparse.y" { PENV->nExtLine = yystack.l_mark[-4].int32; PENV->nExtLineEnd = yystack.l_mark[-2].int32; PENV->nExtCol=yystack.l_mark[0].int32; PENV->nExtColEnd = static_cast(-1); } -#line 11938 "asmparse.cpp" +#line 11961 "asmparse.cpp" break; -case 792: -#line 1970 "asmparse.y" +case 793: +#line 1971 "asmparse.y" { PENV->nExtLine = yystack.l_mark[-7].int32; PENV->nExtLineEnd = yystack.l_mark[-5].int32; PENV->nExtCol=yystack.l_mark[-3].int32; PENV->nExtColEnd = yystack.l_mark[-1].int32; PASM->SetSourceFileName(yystack.l_mark[0].string);} -#line 11945 "asmparse.cpp" +#line 11968 "asmparse.cpp" break; -case 793: -#line 1974 "asmparse.y" +case 794: +#line 1975 "asmparse.y" { PENV->nExtLine = yystack.l_mark[-6].int32; PENV->nExtLineEnd = yystack.l_mark[-4].int32; PENV->nExtCol=yystack.l_mark[-2].int32; PENV->nExtColEnd = yystack.l_mark[0].int32; } -#line 11951 "asmparse.cpp" +#line 11974 "asmparse.cpp" break; -case 794: -#line 1976 "asmparse.y" +case 795: +#line 1977 "asmparse.y" { PENV->nExtLine = PENV->nExtLineEnd = yystack.l_mark[-1].int32 - 1; PENV->nExtCol = 0; PENV->nExtColEnd = static_cast(-1); PASM->SetSourceFileName(yystack.l_mark[0].binstr);} -#line 11958 "asmparse.cpp" -break; -case 795: -#line 1983 "asmparse.y" - { PASMM->AddFile(yystack.l_mark[-5].string, yystack.l_mark[-6].fileAttr|yystack.l_mark[-4].fileAttr|yystack.l_mark[0].fileAttr, yystack.l_mark[-2].binstr); } -#line 11963 "asmparse.cpp" +#line 11981 "asmparse.cpp" break; case 796: #line 1984 "asmparse.y" - { PASMM->AddFile(yystack.l_mark[-1].string, yystack.l_mark[-2].fileAttr|yystack.l_mark[0].fileAttr, NULL); } -#line 11968 "asmparse.cpp" + { PASMM->AddFile(yystack.l_mark[-5].string, yystack.l_mark[-6].fileAttr|yystack.l_mark[-4].fileAttr|yystack.l_mark[0].fileAttr, yystack.l_mark[-2].binstr); } +#line 11986 "asmparse.cpp" break; case 797: -#line 1987 "asmparse.y" - { yyval.fileAttr = (CorFileFlags) 0; } -#line 11973 "asmparse.cpp" +#line 1985 "asmparse.y" + { PASMM->AddFile(yystack.l_mark[-1].string, yystack.l_mark[-2].fileAttr|yystack.l_mark[0].fileAttr, NULL); } +#line 11991 "asmparse.cpp" break; case 798: #line 1988 "asmparse.y" - { yyval.fileAttr = (CorFileFlags) (yystack.l_mark[-1].fileAttr | ffContainsNoMetaData); } -#line 11978 "asmparse.cpp" + { yyval.fileAttr = (CorFileFlags) 0; } +#line 11996 "asmparse.cpp" break; case 799: -#line 1991 "asmparse.y" - { yyval.fileAttr = (CorFileFlags) 0; } -#line 11983 "asmparse.cpp" +#line 1989 "asmparse.y" + { yyval.fileAttr = (CorFileFlags) (yystack.l_mark[-1].fileAttr | ffContainsNoMetaData); } +#line 12001 "asmparse.cpp" break; case 800: #line 1992 "asmparse.y" - { yyval.fileAttr = (CorFileFlags) 0x80000000; } -#line 11988 "asmparse.cpp" + { yyval.fileAttr = (CorFileFlags) 0; } +#line 12006 "asmparse.cpp" break; case 801: -#line 1995 "asmparse.y" - { bParsingByteArray = TRUE; } -#line 11993 "asmparse.cpp" +#line 1993 "asmparse.y" + { yyval.fileAttr = (CorFileFlags) 0x80000000; } +#line 12011 "asmparse.cpp" break; case 802: -#line 1998 "asmparse.y" - { PASMM->StartAssembly(yystack.l_mark[0].string, NULL, (DWORD)yystack.l_mark[-1].asmAttr, FALSE); } -#line 11998 "asmparse.cpp" +#line 1996 "asmparse.y" + { bParsingByteArray = TRUE; } +#line 12016 "asmparse.cpp" break; case 803: -#line 2001 "asmparse.y" - { yyval.asmAttr = (CorAssemblyFlags) 0; } -#line 12003 "asmparse.cpp" +#line 1999 "asmparse.y" + { PASMM->StartAssembly(yystack.l_mark[0].string, NULL, (DWORD)yystack.l_mark[-1].asmAttr, FALSE); } +#line 12021 "asmparse.cpp" break; case 804: #line 2002 "asmparse.y" - { yyval.asmAttr = (CorAssemblyFlags) (yystack.l_mark[-1].asmAttr | afRetargetable); } -#line 12008 "asmparse.cpp" + { yyval.asmAttr = (CorAssemblyFlags) 0; } +#line 12026 "asmparse.cpp" break; case 805: #line 2003 "asmparse.y" - { yyval.asmAttr = (CorAssemblyFlags) (yystack.l_mark[-1].asmAttr | afContentType_WindowsRuntime); } -#line 12013 "asmparse.cpp" + { yyval.asmAttr = (CorAssemblyFlags) (yystack.l_mark[-1].asmAttr | afRetargetable); } +#line 12031 "asmparse.cpp" break; case 806: #line 2004 "asmparse.y" - { yyval.asmAttr = (CorAssemblyFlags) (yystack.l_mark[-1].asmAttr | afPA_NoPlatform); } -#line 12018 "asmparse.cpp" + { yyval.asmAttr = (CorAssemblyFlags) (yystack.l_mark[-1].asmAttr | afContentType_WindowsRuntime); } +#line 12036 "asmparse.cpp" break; case 807: #line 2005 "asmparse.y" - { yyval.asmAttr = yystack.l_mark[-2].asmAttr; } -#line 12023 "asmparse.cpp" + { yyval.asmAttr = (CorAssemblyFlags) (yystack.l_mark[-1].asmAttr | afPA_NoPlatform); } +#line 12041 "asmparse.cpp" break; case 808: #line 2006 "asmparse.y" - { SET_PA(yyval.asmAttr,yystack.l_mark[-1].asmAttr,afPA_MSIL); } -#line 12028 "asmparse.cpp" + { yyval.asmAttr = yystack.l_mark[-2].asmAttr; } +#line 12046 "asmparse.cpp" break; case 809: #line 2007 "asmparse.y" - { SET_PA(yyval.asmAttr,yystack.l_mark[-1].asmAttr,afPA_x86); } -#line 12033 "asmparse.cpp" + { SET_PA(yyval.asmAttr,yystack.l_mark[-1].asmAttr,afPA_MSIL); } +#line 12051 "asmparse.cpp" break; case 810: #line 2008 "asmparse.y" - { SET_PA(yyval.asmAttr,yystack.l_mark[-1].asmAttr,afPA_AMD64); } -#line 12038 "asmparse.cpp" + { SET_PA(yyval.asmAttr,yystack.l_mark[-1].asmAttr,afPA_x86); } +#line 12056 "asmparse.cpp" break; case 811: #line 2009 "asmparse.y" - { SET_PA(yyval.asmAttr,yystack.l_mark[-1].asmAttr,afPA_ARM); } -#line 12043 "asmparse.cpp" + { SET_PA(yyval.asmAttr,yystack.l_mark[-1].asmAttr,afPA_AMD64); } +#line 12061 "asmparse.cpp" break; case 812: #line 2010 "asmparse.y" + { SET_PA(yyval.asmAttr,yystack.l_mark[-1].asmAttr,afPA_ARM); } +#line 12066 "asmparse.cpp" +break; +case 813: +#line 2011 "asmparse.y" { SET_PA(yyval.asmAttr,yystack.l_mark[-1].asmAttr,afPA_ARM64); } -#line 12048 "asmparse.cpp" +#line 12071 "asmparse.cpp" break; -case 815: -#line 2017 "asmparse.y" +case 816: +#line 2018 "asmparse.y" { PASMM->SetAssemblyHashAlg(yystack.l_mark[0].int32); } -#line 12053 "asmparse.cpp" -break; -case 818: -#line 2022 "asmparse.y" - { yyval.int32 = yystack.l_mark[0].int32; } -#line 12058 "asmparse.cpp" +#line 12076 "asmparse.cpp" break; case 819: #line 2023 "asmparse.y" - { yyval.int32 = 0xFFFF; } -#line 12063 "asmparse.cpp" + { yyval.int32 = yystack.l_mark[0].int32; } +#line 12081 "asmparse.cpp" break; case 820: -#line 2026 "asmparse.y" - { PASMM->SetAssemblyPublicKey(yystack.l_mark[-1].binstr); } -#line 12068 "asmparse.cpp" +#line 2024 "asmparse.y" + { yyval.int32 = 0xFFFF; } +#line 12086 "asmparse.cpp" break; case 821: -#line 2028 "asmparse.y" - { PASMM->SetAssemblyVer((USHORT)yystack.l_mark[-6].int32, (USHORT)yystack.l_mark[-4].int32, (USHORT)yystack.l_mark[-2].int32, (USHORT)yystack.l_mark[0].int32); } -#line 12073 "asmparse.cpp" +#line 2027 "asmparse.y" + { PASMM->SetAssemblyPublicKey(yystack.l_mark[-1].binstr); } +#line 12091 "asmparse.cpp" break; case 822: #line 2029 "asmparse.y" - { yystack.l_mark[0].binstr->appendInt8(0); PASMM->SetAssemblyLocale(yystack.l_mark[0].binstr,TRUE); } -#line 12078 "asmparse.cpp" + { PASMM->SetAssemblyVer((USHORT)yystack.l_mark[-6].int32, (USHORT)yystack.l_mark[-4].int32, (USHORT)yystack.l_mark[-2].int32, (USHORT)yystack.l_mark[0].int32); } +#line 12096 "asmparse.cpp" break; case 823: #line 2030 "asmparse.y" - { PASMM->SetAssemblyLocale(yystack.l_mark[-1].binstr,FALSE); } -#line 12083 "asmparse.cpp" + { yystack.l_mark[0].binstr->appendInt8(0); PASMM->SetAssemblyLocale(yystack.l_mark[0].binstr,TRUE); } +#line 12101 "asmparse.cpp" break; -case 826: -#line 2035 "asmparse.y" - { bParsingByteArray = TRUE; } -#line 12088 "asmparse.cpp" +case 824: +#line 2031 "asmparse.y" + { PASMM->SetAssemblyLocale(yystack.l_mark[-1].binstr,FALSE); } +#line 12106 "asmparse.cpp" break; case 827: -#line 2038 "asmparse.y" +#line 2036 "asmparse.y" { bParsingByteArray = TRUE; } -#line 12093 "asmparse.cpp" +#line 12111 "asmparse.cpp" break; case 828: -#line 2041 "asmparse.y" +#line 2039 "asmparse.y" { bParsingByteArray = TRUE; } -#line 12098 "asmparse.cpp" +#line 12116 "asmparse.cpp" break; case 829: -#line 2045 "asmparse.y" - { PASMM->StartAssembly(yystack.l_mark[0].string, NULL, yystack.l_mark[-1].asmAttr, TRUE); } -#line 12103 "asmparse.cpp" +#line 2042 "asmparse.y" + { bParsingByteArray = TRUE; } +#line 12121 "asmparse.cpp" break; case 830: -#line 2047 "asmparse.y" +#line 2046 "asmparse.y" + { PASMM->StartAssembly(yystack.l_mark[0].string, NULL, yystack.l_mark[-1].asmAttr, TRUE); } +#line 12126 "asmparse.cpp" +break; +case 831: +#line 2048 "asmparse.y" { PASMM->StartAssembly(yystack.l_mark[-2].string, yystack.l_mark[0].string, yystack.l_mark[-3].asmAttr, TRUE); } -#line 12108 "asmparse.cpp" +#line 12131 "asmparse.cpp" break; -case 833: -#line 2054 "asmparse.y" +case 834: +#line 2055 "asmparse.y" { PASMM->SetAssemblyHashBlob(yystack.l_mark[-1].binstr); } -#line 12113 "asmparse.cpp" -break; -case 835: -#line 2056 "asmparse.y" - { PASMM->SetAssemblyPublicKeyToken(yystack.l_mark[-1].binstr); } -#line 12118 "asmparse.cpp" +#line 12136 "asmparse.cpp" break; case 836: #line 2057 "asmparse.y" - { PASMM->SetAssemblyAutodetect(); } -#line 12123 "asmparse.cpp" + { PASMM->SetAssemblyPublicKeyToken(yystack.l_mark[-1].binstr); } +#line 12141 "asmparse.cpp" break; case 837: -#line 2060 "asmparse.y" - { PASMM->StartComType(yystack.l_mark[0].string, yystack.l_mark[-1].exptAttr);} -#line 12128 "asmparse.cpp" +#line 2058 "asmparse.y" + { PASMM->SetAssemblyAutodetect(); } +#line 12146 "asmparse.cpp" break; case 838: -#line 2063 "asmparse.y" - { PASMM->StartComType(yystack.l_mark[0].string, yystack.l_mark[-1].exptAttr); } -#line 12133 "asmparse.cpp" +#line 2061 "asmparse.y" + { PASMM->StartComType(yystack.l_mark[0].string, yystack.l_mark[-1].exptAttr);} +#line 12151 "asmparse.cpp" break; case 839: -#line 2066 "asmparse.y" - { yyval.exptAttr = (CorTypeAttr) 0; } -#line 12138 "asmparse.cpp" +#line 2064 "asmparse.y" + { PASMM->StartComType(yystack.l_mark[0].string, yystack.l_mark[-1].exptAttr); } +#line 12156 "asmparse.cpp" break; case 840: #line 2067 "asmparse.y" - { yyval.exptAttr = (CorTypeAttr) (yystack.l_mark[-1].exptAttr | tdNotPublic); } -#line 12143 "asmparse.cpp" + { yyval.exptAttr = (CorTypeAttr) 0; } +#line 12161 "asmparse.cpp" break; case 841: #line 2068 "asmparse.y" - { yyval.exptAttr = (CorTypeAttr) (yystack.l_mark[-1].exptAttr | tdPublic); } -#line 12148 "asmparse.cpp" + { yyval.exptAttr = (CorTypeAttr) (yystack.l_mark[-1].exptAttr | tdNotPublic); } +#line 12166 "asmparse.cpp" break; case 842: #line 2069 "asmparse.y" - { yyval.exptAttr = (CorTypeAttr) (yystack.l_mark[-1].exptAttr | tdForwarder); } -#line 12153 "asmparse.cpp" + { yyval.exptAttr = (CorTypeAttr) (yystack.l_mark[-1].exptAttr | tdPublic); } +#line 12171 "asmparse.cpp" break; case 843: #line 2070 "asmparse.y" - { yyval.exptAttr = (CorTypeAttr) (yystack.l_mark[-2].exptAttr | tdNestedPublic); } -#line 12158 "asmparse.cpp" + { yyval.exptAttr = (CorTypeAttr) (yystack.l_mark[-1].exptAttr | tdForwarder); } +#line 12176 "asmparse.cpp" break; case 844: #line 2071 "asmparse.y" - { yyval.exptAttr = (CorTypeAttr) (yystack.l_mark[-2].exptAttr | tdNestedPrivate); } -#line 12163 "asmparse.cpp" + { yyval.exptAttr = (CorTypeAttr) (yystack.l_mark[-2].exptAttr | tdNestedPublic); } +#line 12181 "asmparse.cpp" break; case 845: #line 2072 "asmparse.y" - { yyval.exptAttr = (CorTypeAttr) (yystack.l_mark[-2].exptAttr | tdNestedFamily); } -#line 12168 "asmparse.cpp" + { yyval.exptAttr = (CorTypeAttr) (yystack.l_mark[-2].exptAttr | tdNestedPrivate); } +#line 12186 "asmparse.cpp" break; case 846: #line 2073 "asmparse.y" - { yyval.exptAttr = (CorTypeAttr) (yystack.l_mark[-2].exptAttr | tdNestedAssembly); } -#line 12173 "asmparse.cpp" + { yyval.exptAttr = (CorTypeAttr) (yystack.l_mark[-2].exptAttr | tdNestedFamily); } +#line 12191 "asmparse.cpp" break; case 847: #line 2074 "asmparse.y" - { yyval.exptAttr = (CorTypeAttr) (yystack.l_mark[-2].exptAttr | tdNestedFamANDAssem); } -#line 12178 "asmparse.cpp" + { yyval.exptAttr = (CorTypeAttr) (yystack.l_mark[-2].exptAttr | tdNestedAssembly); } +#line 12196 "asmparse.cpp" break; case 848: #line 2075 "asmparse.y" - { yyval.exptAttr = (CorTypeAttr) (yystack.l_mark[-2].exptAttr | tdNestedFamORAssem); } -#line 12183 "asmparse.cpp" + { yyval.exptAttr = (CorTypeAttr) (yystack.l_mark[-2].exptAttr | tdNestedFamANDAssem); } +#line 12201 "asmparse.cpp" break; -case 851: -#line 2082 "asmparse.y" - { PASMM->SetComTypeFile(yystack.l_mark[0].string); } -#line 12188 "asmparse.cpp" +case 849: +#line 2076 "asmparse.y" + { yyval.exptAttr = (CorTypeAttr) (yystack.l_mark[-2].exptAttr | tdNestedFamORAssem); } +#line 12206 "asmparse.cpp" break; case 852: #line 2083 "asmparse.y" - { PASMM->SetComTypeComType(yystack.l_mark[0].string); } -#line 12193 "asmparse.cpp" + { PASMM->SetComTypeFile(yystack.l_mark[0].string); } +#line 12211 "asmparse.cpp" break; case 853: #line 2084 "asmparse.y" - { PASMM->SetComTypeAsmRef(yystack.l_mark[0].string); } -#line 12198 "asmparse.cpp" + { PASMM->SetComTypeComType(yystack.l_mark[0].string); } +#line 12216 "asmparse.cpp" break; case 854: #line 2085 "asmparse.y" + { PASMM->SetComTypeAsmRef(yystack.l_mark[0].string); } +#line 12221 "asmparse.cpp" +break; +case 855: +#line 2086 "asmparse.y" { if(!PASMM->SetComTypeImplementationTok(yystack.l_mark[-1].int32)) PASM->report->error("Invalid implementation of exported type\n"); } -#line 12204 "asmparse.cpp" +#line 12227 "asmparse.cpp" break; -case 855: -#line 2087 "asmparse.y" +case 856: +#line 2088 "asmparse.y" { if(!PASMM->SetComTypeClassTok(yystack.l_mark[0].int32)) PASM->report->error("Invalid TypeDefID of exported type\n"); } -#line 12210 "asmparse.cpp" -break; -case 858: -#line 2093 "asmparse.y" - { PASMM->StartManifestRes(yystack.l_mark[0].string, yystack.l_mark[0].string, yystack.l_mark[-1].manresAttr); } -#line 12215 "asmparse.cpp" +#line 12233 "asmparse.cpp" break; case 859: -#line 2095 "asmparse.y" - { PASMM->StartManifestRes(yystack.l_mark[-2].string, yystack.l_mark[0].string, yystack.l_mark[-3].manresAttr); } -#line 12220 "asmparse.cpp" +#line 2094 "asmparse.y" + { PASMM->StartManifestRes(yystack.l_mark[0].string, yystack.l_mark[0].string, yystack.l_mark[-1].manresAttr); } +#line 12238 "asmparse.cpp" break; case 860: -#line 2098 "asmparse.y" - { yyval.manresAttr = (CorManifestResourceFlags) 0; } -#line 12225 "asmparse.cpp" +#line 2096 "asmparse.y" + { PASMM->StartManifestRes(yystack.l_mark[-2].string, yystack.l_mark[0].string, yystack.l_mark[-3].manresAttr); } +#line 12243 "asmparse.cpp" break; case 861: #line 2099 "asmparse.y" - { yyval.manresAttr = (CorManifestResourceFlags) (yystack.l_mark[-1].manresAttr | mrPublic); } -#line 12230 "asmparse.cpp" + { yyval.manresAttr = (CorManifestResourceFlags) 0; } +#line 12248 "asmparse.cpp" break; case 862: #line 2100 "asmparse.y" - { yyval.manresAttr = (CorManifestResourceFlags) (yystack.l_mark[-1].manresAttr | mrPrivate); } -#line 12235 "asmparse.cpp" + { yyval.manresAttr = (CorManifestResourceFlags) (yystack.l_mark[-1].manresAttr | mrPublic); } +#line 12253 "asmparse.cpp" break; -case 865: -#line 2107 "asmparse.y" - { PASMM->SetManifestResFile(yystack.l_mark[-2].string, (ULONG)yystack.l_mark[0].int32); } -#line 12240 "asmparse.cpp" +case 863: +#line 2101 "asmparse.y" + { yyval.manresAttr = (CorManifestResourceFlags) (yystack.l_mark[-1].manresAttr | mrPrivate); } +#line 12258 "asmparse.cpp" break; case 866: #line 2108 "asmparse.y" + { PASMM->SetManifestResFile(yystack.l_mark[-2].string, (ULONG)yystack.l_mark[0].int32); } +#line 12263 "asmparse.cpp" +break; +case 867: +#line 2109 "asmparse.y" { PASMM->SetManifestResAsmRef(yystack.l_mark[0].string); } -#line 12245 "asmparse.cpp" +#line 12268 "asmparse.cpp" break; -#line 12247 "asmparse.cpp" +#line 12270 "asmparse.cpp" default: break; }