From 10ef0615fa33cf03a520836903e34a8f13e0fd44 Mon Sep 17 00:00:00 2001 From: Timm Friebe Date: Thu, 31 Jul 2014 16:35:49 +0200 Subject: [PATCH 1/5] Allow defaults in lambda arguments --- src/main/jay/grammars/xp.jay | 35 +- .../xp/compiler/syntax/xp/Parser.class.php | 2683 +++++++++-------- 2 files changed, 1377 insertions(+), 1341 deletions(-) diff --git a/src/main/jay/grammars/xp.jay b/src/main/jay/grammars/xp.jay index e63374bb6..06f63bab8 100644 --- a/src/main/jay/grammars/xp.jay +++ b/src/main/jay/grammars/xp.jay @@ -768,15 +768,15 @@ staticmember: ; expression: - T_VARIABLE { $1= $yyLex->create(new VariableNode($1)); } chain_opt { + T_VARIABLE { $1= array('name' => $1); } T_ARROW lambda_body { + $$= $yyLex->create(new LambdaNode(array($1), $4)); + } + | T_VARIABLE { $1= $yyLex->create(new VariableNode($1)); } chain_opt { if ($3) { $$= $3[0]; $3[1]->target= $1; } } - | T_VARIABLE { $1= $yyLex->create(new VariableNode($1)); } lambda_body { - $$= $yyLex->create(new LambdaNode(array($1), $3)); - } | '(' expression ')' chain_opt { if ($4) { $$= $4[0]; @@ -785,8 +785,8 @@ expression: $$= new BracedExpressionNode($2); } } - | '(' lambda_input ')' lambda_body { - $$= $yyLex->create(new LambdaNode($2, $4)); + | '(' lambda_input ')' T_ARROW lambda_body { + $$= $yyLex->create(new LambdaNode($2, $5)); } | literal chain_opt { if ($2) { @@ -867,22 +867,18 @@ expression: $$->expression= $1; $$->type= $3; } - | '#' '{' lambda_input lambda_body '}' { $1= $yyLex->create(new LambdaNode($3, $4)); } chain_opt { + | '#' '{' lambda_input T_ARROW lambda_body '}' { $1= $yyLex->create(new LambdaNode($3, $5)); } chain_opt { $this->error(E_WARNING, 'Deprecated lambda syntax used', array('#{ ... }')); - if ($7) { - $$= $7[0]; - $7[1]->target= $1; + if ($8) { + $$= $8[0]; + $8[1]->target= $1; } } ; lambda_body: - T_ARROW expression { - $$= array(new ReturnNode($2)); - } - | T_ARROW '{' statements_opt '}' { - $$= (array)$3; - } + expression { $$= array(new ReturnNode($1)); } + | '{' statements_opt '}' { $$= (array)$2; } ; lambda_input: @@ -896,8 +892,8 @@ lambda_input_parameters: ; lambda_input_parameter: - T_VARIABLE { $$= new VariableNode($1); } - | typeref T_VARIABLE { $$= new VariableNode($2); } + T_VARIABLE initialization_opt { $$= array('name' => $1); $2 && $$['default']= $2; } + | typeref T_VARIABLE initialization_opt { $$= array('name' => $2, 'type' => $1); $2 && $$['default']= $2; } ; literal: @@ -1023,6 +1019,9 @@ chain: | nav '(' { $1= $yyLex->create(new InstanceCallNode(NULL, NULL, $1)); } expressionlist_opt ')' { $1->arguments= $4; } + | '(' { $1= $yyLex->create(new InstanceCallNode(NULL, NULL, FALSE)); } expressionlist_opt ')' { + $1->arguments= $3; + } ; nav: diff --git a/src/main/php/xp/compiler/syntax/xp/Parser.class.php b/src/main/php/xp/compiler/syntax/xp/Parser.class.php index ac35c37e0..924e630a7 100644 --- a/src/main/php/xp/compiler/syntax/xp/Parser.class.php +++ b/src/main/php/xp/compiler/syntax/xp/Parser.class.php @@ -171,20 +171,20 @@ class Parser extends \text\parser\generic\AbstractParser { 83, 82, 84, 82, 63, 63, 64, 85, 64, 76, 76, 86, 86, 90, 89, 91, 91, 87, 87, 92, 88, 55, 55, 93, 93, 60, 60, 94, 94, 94, - 98, 98, 98, 98, 100, 31, 102, 31, 31, 31, + 98, 98, 98, 98, 99, 31, 102, 31, 31, 31, 31, 104, 31, 105, 31, 106, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 112, 31, - 101, 101, 103, 103, 113, 113, 114, 114, 36, 116, + 100, 100, 103, 103, 113, 113, 114, 114, 36, 116, 36, 36, 36, 36, 36, 36, 115, 115, 97, 97, 117, 117, 119, 119, 118, 118, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 108, 108, 108, 108, 108, 108, 108, 108, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 110, 110, - 110, 110, 110, 110, 111, 111, 99, 99, 120, 120, - 122, 121, 121, 124, 121, 125, 121, 123, 123, 10, - 10, 10, 32, 32, 32, 12, 12, 95, 96, 126, - 126, 127, 127, 21, 21, 49, 49, 128, 128, 129, - 129, 129, 129, 129, 129, 129, 129, + 110, 110, 110, 110, 111, 111, 101, 101, 120, 120, + 122, 121, 121, 124, 121, 125, 121, 126, 121, 123, + 123, 10, 10, 10, 32, 32, 32, 12, 12, 95, + 96, 127, 127, 128, 128, 21, 21, 49, 49, 129, + 129, 130, 130, 130, 130, 130, 130, 130, 130, ); protected static $yyLen= array(2, 3, 0, 0, 4, 0, 1, 1, 2, 5, 6, @@ -205,1337 +205,1370 @@ class Parser extends \text\parser\generic\AbstractParser { 0, 5, 0, 4, 1, 3, 0, 0, 3, 2, 1, 1, 2, 0, 9, 1, 3, 0, 1, 0, 5, 0, 1, 1, 3, 0, 1, 5, 4, 4, - 1, 4, 1, 1, 0, 3, 0, 3, 4, 4, + 1, 4, 1, 1, 0, 4, 0, 3, 4, 5, 2, 0, 4, 0, 5, 0, 6, 2, 3, 1, - 1, 1, 1, 1, 5, 3, 3, 3, 0, 7, - 2, 4, 0, 1, 1, 3, 1, 2, 1, 0, + 1, 1, 1, 1, 5, 3, 3, 3, 0, 8, + 1, 3, 0, 1, 1, 3, 2, 3, 1, 0, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 0, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 3, 3, 3, 3, 3, 3, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 3, 2, 2, 2, 2, 2, 2, 2, 2, 0, 1, 1, 2, - 0, 4, 2, 0, 6, 0, 5, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 4, 3, 4, 1, - 3, 1, 3, 1, 3, 0, 1, 1, 2, 1, - 1, 1, 1, 1, 1, 1, 1, + 0, 4, 2, 0, 6, 0, 5, 0, 4, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 4, 3, + 4, 1, 3, 1, 3, 1, 3, 0, 1, 1, + 2, 1, 1, 1, 1, 1, 1, 1, 1, ); protected static $yyDefRed= array(0, 3, 0, 0, 0, 0, 0, 0, 7, 0, 0, - 0, 290, 0, 0, 292, 291, 0, 15, 0, 310, - 312, 311, 314, 316, 315, 317, 313, 1, 0, 68, - 0, 308, 8, 0, 0, 4, 0, 0, 0, 0, - 0, 69, 20, 24, 22, 309, 18, 19, 0, 0, + 0, 292, 0, 0, 294, 293, 0, 15, 0, 312, + 314, 313, 316, 318, 317, 319, 315, 1, 0, 68, + 0, 310, 8, 0, 0, 4, 0, 0, 0, 0, + 0, 69, 20, 24, 22, 311, 18, 19, 0, 0, 0, 14, 0, 0, 0, 0, 76, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 9, 0, 0, 0, 70, 67, 0, 0, 0, 0, 11, 12, 10, 74, 75, 220, 0, 0, 226, 222, 225, 223, 224, 0, 0, 81, 0, 0, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 0, 73, - 0, 0, 293, 0, 294, 295, 0, 300, 27, 0, + 0, 0, 295, 0, 296, 297, 0, 302, 27, 0, 0, 0, 31, 35, 0, 229, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 227, 0, 228, 200, 201, 202, 203, 204, 0, 0, 231, 0, 0, 79, 80, 83, 84, 0, - 78, 0, 0, 0, 0, 297, 29, 35, 0, 0, + 78, 0, 0, 0, 0, 299, 29, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, 0, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 215, 0, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 275, 276, 0, 281, 289, - 288, 191, 278, 0, 0, 0, 221, 0, 0, 303, - 0, 298, 301, 0, 305, 0, 0, 25, 0, 34, - 36, 37, 0, 0, 0, 42, 0, 0, 0, 0, - 0, 0, 0, 0, 186, 0, 188, 0, 218, 0, - 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 275, 276, 0, 281, 291, + 290, 288, 191, 278, 0, 0, 0, 221, 0, 0, + 305, 0, 300, 303, 0, 307, 0, 0, 25, 0, + 34, 36, 37, 0, 0, 0, 42, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 188, 0, 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, 208, - 0, 0, 199, 0, 280, 286, 0, 175, 0, 0, - 234, 232, 82, 299, 21, 0, 0, 0, 0, 0, - 0, 0, 23, 0, 35, 0, 193, 0, 0, 0, - 0, 0, 189, 190, 216, 0, 0, 184, 181, 0, - 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, - 284, 113, 0, 131, 117, 121, 123, 119, 127, 129, - 115, 125, 0, 0, 0, 0, 111, 0, 63, 0, - 0, 0, 0, 0, 0, 35, 45, 0, 43, 0, - 0, 0, 0, 0, 0, 209, 0, 195, 0, 282, - 0, 0, 0, 133, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 38, 137, 112, 0, 0, - 61, 59, 103, 104, 105, 106, 107, 108, 0, 0, - 0, 0, 0, 0, 0, 0, 179, 180, 197, 212, - 0, 0, 287, 0, 0, 0, 0, 0, 138, 0, - 0, 0, 0, 155, 0, 0, 128, 130, 0, 0, - 0, 0, 142, 219, 0, 0, 93, 0, 0, 0, - 0, 0, 65, 0, 0, 48, 0, 0, 53, 33, - 0, 178, 210, 182, 285, 114, 0, 0, 0, 0, - 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 50, 0, 98, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 52, 55, 0, 49, 54, 47, - 0, 0, 139, 0, 0, 0, 156, 0, 0, 0, - 0, 0, 0, 143, 0, 0, 0, 0, 94, 96, - 95, 0, 0, 0, 0, 0, 164, 170, 134, 0, - 161, 162, 0, 0, 122, 0, 146, 0, 0, 0, - 0, 97, 102, 0, 85, 0, 64, 0, 0, 0, - 56, 0, 0, 160, 169, 163, 135, 0, 0, 0, - 158, 116, 151, 153, 0, 0, 149, 136, 0, 0, - 62, 60, 0, 0, 0, 0, 124, 120, 0, 0, - 0, 126, 150, 87, 86, 66, 166, 0, 0, 0, - 159, 0, 0, 0, 0, 171, 118, 0, 154, 167, - 0, 152, 0, 0, 165, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 208, 0, 0, 199, 0, 0, 280, 286, 0, + 175, 0, 0, 234, 232, 82, 301, 21, 0, 0, + 0, 0, 0, 0, 0, 23, 0, 35, 0, 193, + 0, 0, 0, 0, 0, 186, 0, 189, 218, 0, + 216, 0, 0, 184, 181, 0, 0, 0, 0, 0, + 0, 0, 0, 100, 0, 0, 0, 284, 113, 0, + 131, 117, 121, 123, 119, 127, 129, 115, 125, 0, + 0, 0, 0, 111, 0, 63, 0, 0, 0, 0, + 0, 0, 35, 45, 0, 43, 0, 0, 0, 0, + 0, 0, 190, 0, 0, 195, 0, 282, 289, 0, + 0, 0, 133, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 38, 137, 112, 0, 0, 61, + 59, 103, 104, 105, 106, 107, 108, 0, 0, 0, + 0, 0, 0, 0, 179, 180, 197, 212, 209, 0, + 287, 0, 0, 0, 0, 0, 138, 0, 0, 0, + 0, 155, 0, 0, 128, 130, 0, 0, 0, 0, + 142, 219, 0, 0, 93, 0, 0, 0, 0, 0, + 65, 0, 48, 0, 0, 53, 33, 0, 178, 0, + 182, 285, 114, 0, 0, 0, 0, 132, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, + 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 52, 55, 0, 49, 54, 47, 210, 0, 0, + 139, 0, 0, 0, 156, 0, 0, 0, 0, 0, + 0, 143, 0, 0, 0, 0, 94, 96, 95, 0, + 0, 0, 0, 0, 164, 170, 134, 0, 161, 162, + 0, 0, 122, 0, 146, 0, 0, 0, 0, 97, + 102, 0, 85, 0, 64, 0, 0, 0, 56, 0, + 0, 160, 169, 163, 135, 0, 0, 0, 158, 116, + 151, 153, 0, 0, 149, 136, 0, 0, 62, 60, + 0, 0, 0, 0, 124, 120, 0, 0, 0, 126, + 150, 87, 86, 66, 166, 0, 0, 0, 159, 0, + 0, 0, 0, 171, 118, 0, 154, 167, 0, 152, + 0, 0, 165, ); protected static $yyDgoto= array(2, 3, 6, 28, 140, 4, 7, 8, 17, 53, 18, - 249, 113, 61, 99, 121, 170, 63, 254, 62, 101, - 123, 387, 250, 251, 252, 374, 255, 256, 331, 332, - 375, 312, 432, 385, 478, 142, 467, 479, 511, 472, - 538, 567, 471, 468, 420, 429, 514, 41, 30, 42, - 58, 94, 95, 96, 143, 469, 470, 376, 377, 288, - 403, 413, 455, 582, 407, 410, 497, 408, 409, 414, - 585, 411, 412, 406, 446, 549, 448, 462, 449, 463, - 586, 587, 600, 601, 599, 550, 574, 551, 552, 572, - 608, 573, 144, 259, 115, 116, 145, 350, 232, 184, - 267, 185, 191, 179, 274, 263, 146, 147, 148, 149, - 150, 441, 192, 193, 151, 103, 152, 153, 322, 233, - 234, 314, 235, 402, 360, 117, 118, 31, 32, + 250, 113, 61, 99, 121, 170, 63, 255, 62, 101, + 123, 394, 251, 252, 253, 381, 256, 257, 334, 335, + 382, 314, 269, 392, 485, 142, 475, 486, 518, 480, + 546, 575, 479, 476, 429, 438, 521, 41, 30, 42, + 58, 94, 95, 96, 143, 477, 478, 383, 384, 290, + 412, 422, 463, 590, 416, 419, 504, 417, 418, 423, + 593, 420, 421, 415, 454, 557, 456, 470, 457, 471, + 594, 595, 608, 609, 607, 558, 582, 559, 560, 580, + 616, 581, 144, 260, 115, 116, 145, 356, 184, 346, + 233, 185, 191, 179, 276, 264, 146, 147, 148, 149, + 150, 490, 192, 193, 151, 103, 152, 153, 325, 234, + 235, 316, 236, 411, 367, 317, 117, 118, 31, 32, ); - protected static $yySindex = array( -229, - 0, 0, -172, 173, 175, 1275, -172, 0, 137, 201, - 181, 0, -223, -223, 0, 0, 205, 0, 280, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, - 304, 0, 0, 173, 173, 0, -31, 312, 43, -155, - 100, 0, 0, 0, 0, 0, 0, 0, 43, 43, - 43, 0, 332, 0, 426, 362, 0, 423, 280, 304, - 173, 173, 173, 417, 0, 421, 433, 0, 173, 173, - 65, 0, 0, 436, 203, 208, 203, 0, 0, 0, - 0, 0, 0, 173, 75, 0, 0, 0, 0, 0, - 484, 112, 0, 496, 388, 0, -45, 173, 236, 173, - 443, 236, 4652, 516, 538, 538, -237, 0, 170, 0, - 249, 517, 0, 492, 0, 0, 187, 0, 0, 173, - 473, 554, 0, 0, 482, 0, 4988, 4988, 4988, 4988, - 4988, 4988, 0, 4988, 202, 550, 0, 5028, 489, 206, - 3427, -40, 0, 576, 0, 0, 0, 0, 0, 0, - 535, 590, 0, 4988, 137, 0, 0, 0, 0, 574, - 0, 173, -64, 552, -45, 0, 0, 0, 173, 570, - 381, 123, -98, -98, -62, -98, -98, -98, -64, 0, - 4988, 0, 4988, -40, 391, 517, 0, -49, 2478, -77, - 611, 612, 0, 46, 0, 4988, 4988, 4988, 4988, 4988, - 4988, 4988, 4988, 4988, 4988, 4988, 4988, 4988, 4988, 4988, - 4988, 4740, 4918, 4609, 4988, 4643, 4988, 4988, 4988, 4988, - 4988, 4988, 4988, 173, 4988, 0, 0, -64, 0, 0, - 0, 0, 0, -40, 2, 4988, 0, 93, 621, 0, - 294, 0, 0, 744, 0, 541, 405, 0, 49, 0, - 0, 0, 0, 543, 194, 0, 631, 492, -40, 549, - 569, 3427, 4988, 3427, 0, 4933, 0, -40, 0, 391, - 46, 0, 391, 122, 3463, 3588, 3588, 3588, 3588, 3588, - 3588, 3588, 3588, 3588, 3588, 3588, 3427, 615, 129, 355, - 732, 4988, 192, 4988, 192, 4988, 4988, 7, 7, 4988, - 4988, 7, 7, 36, 36, -87, -87, -87, -62, 0, - -98, 21, 0, 4988, 0, 0, 635, 0, 636, 550, - 0, 0, 0, 0, 0, 520, 438, 271, 439, -74, - 582, 653, 0, 381, 0, 4988, 0, 4988, 53, 665, - 520, 3427, 0, 0, 0, 583, 669, 0, 0, -40, - 4988, 3588, 3588, 7, 7, 7, 7, 0, 620, 4988, - 0, 0, -5, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 674, 600, 2610, 520, 0, 667, 0, 689, - 690, 501, 641, 682, 622, 0, 0, 4988, 0, 1049, - 703, 623, 626, -40, 627, 0, 4988, 0, 44, 0, - 705, 4988, 4988, 0, 413, 4988, 714, 719, 476, 720, - 702, 706, 728, 730, 431, 0, 0, 0, 308, 209, - 0, 0, 0, 0, 0, 0, 0, 0, 733, 209, - 4988, 713, 518, 1059, 2707, 582, 0, 0, 0, 0, - -40, 745, 0, 747, 731, 520, 734, 430, 0, 2734, - 4988, 4988, 520, 0, 446, 457, 0, 0, 4988, 4988, - 748, 444, 0, 0, 749, 261, 0, 771, 770, -180, - 180, 180, 0, 722, 3427, 0, 71, -103, 0, 0, - 582, 0, 0, 0, 0, 0, 695, 4988, 413, 698, - 0, 764, 2774, 700, 786, 787, 466, 2871, 2906, 4988, - 431, 709, 0, 580, 0, 513, 209, 503, 682, 209, - 803, 770, 806, 209, 0, 0, 520, 0, 0, 0, - 109, 3427, 0, 520, 4988, 476, 0, 4988, 509, 4988, - 476, 741, 3427, 0, 520, 682, 173, 88, 0, 0, - 0, 770, 513, 513, 815, 740, 0, 0, 0, 109, - 0, 0, 742, 809, 0, 3007, 0, 3035, 499, 178, - 746, 0, 0, 4988, 0, 520, 0, 88, 88, 513, - 0, 832, 751, 0, 0, 0, 0, 4988, 816, 476, - 0, 0, 0, 0, 762, 178, 0, 0, 3167, 763, - 0, 0, 88, 173, 520, 835, 0, 0, 476, 4988, - 831, 0, 0, 0, 0, 0, 0, -114, 766, 476, - 0, 3202, 520, 173, 852, 0, 0, 520, 0, 0, - 785, 0, 520, 784, 0, + protected static $yySindex = array( -280, + 0, 0, -267, -92, 251, 620, -267, 0, 69, 94, + 260, 0, 50, 50, 0, 0, 151, 0, 266, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 238, 0, + 506, 0, 0, -92, -92, 0, -37, 309, 58, 207, + 85, 0, 0, 0, 0, 0, 0, 0, 58, 58, + 58, 0, 330, 0, 336, 306, 0, 360, 266, 506, + -92, -92, -92, 349, 0, 368, 375, 0, -92, -92, + 746, 0, 0, 382, 144, 173, 144, 0, 0, 0, + 0, 0, 0, -92, 254, 0, 0, 0, 0, 0, + 448, 106, 0, 505, 212, 0, -49, -92, 248, -92, + 441, 248, 4429, 528, -21, -21, -192, 0, -77, 0, + 259, 530, 0, 495, 0, 0, 137, 0, 0, -92, + 468, 550, 0, 0, 473, 0, 5170, 5170, 5170, 5170, + 5170, 5170, 0, 5170, 520, 543, 0, 5183, 480, 194, + 3440, -30, 0, 566, 0, 0, 0, 0, 0, 0, + 518, 569, 0, 5170, 69, 0, 0, 0, 0, 555, + 0, -92, 213, 524, -49, 0, 0, 0, -92, 1084, + 371, 365, 67, 67, -81, 67, 67, 67, 213, 0, + 5170, 0, 5170, 373, -30, 530, 571, -54, 2474, -78, + 596, 597, 0, -73, 0, 5170, 5170, 5170, 5170, 5170, + 5170, 5170, 5170, 5170, 5170, 5170, 5170, 5170, 5170, 5170, + 5170, 4935, 5060, 4806, 5170, 4898, 5170, 5170, 5170, 5170, + 5170, 5170, 5170, -92, 5170, 0, 0, 213, 0, 0, + 0, 0, 0, 0, -30, 3, 5170, 0, -188, 599, + 0, 491, 0, 0, 1094, 0, 522, 387, 0, 105, + 0, 0, 0, 0, 526, 288, 0, 609, 495, -30, + 529, 534, 3440, 5170, 3440, 5096, 0, 5170, 0, -30, + 571, 403, -73, 571, 411, -245, 3475, 3572, 3572, 3572, + 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3440, 615, + 269, 2612, 1346, 5170, 100, 5170, 100, 5170, 5170, 75, + 75, 5170, 5170, 75, 75, 37, 37, 217, 217, 217, + -81, 0, 67, -13, 0, 5170, 5170, 0, 0, 635, + 0, 618, 543, 0, 0, 0, 0, 0, 552, 419, + 370, 422, -72, 560, 645, 0, 371, 0, 5170, 0, + 5170, -32, 647, 552, 3440, 0, 3440, 0, 0, 5096, + 0, 5096, 646, 0, 0, -30, 5170, 3572, 3572, 75, + 75, 75, 75, 0, 598, 648, 5170, 0, 0, 4, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 653, + 573, 2582, 552, 0, 633, 0, 657, 659, 437, 617, + 571, 577, 0, 0, 5170, 0, 889, 668, 595, 603, + -30, 607, 0, 621, 5170, 0, 3614, 0, 0, 680, + 5170, 5170, 0, 405, 5170, 682, 709, 479, 716, 717, + 724, 745, 757, 462, 0, 0, 0, 498, -35, 0, + 0, 0, 0, 0, 0, 0, 0, 765, -35, 748, + 548, 1550, 2716, 560, 0, 0, 0, 0, 0, 769, + 0, 770, 764, 552, 763, 388, 0, 2878, 5170, 5170, + 552, 0, 457, 486, 0, 0, 5170, 5170, 766, 400, + 0, 0, 773, 305, 0, 788, 799, -164, -74, -74, + 0, 753, 0, 98, -86, 0, 0, 560, 0, -30, + 0, 0, 0, 722, 5170, 405, 725, 0, 793, 2913, + 728, 818, 811, 500, 3014, 3042, 5170, 462, 743, 0, + 608, 0, 546, -35, 535, 571, -35, 828, 799, 829, + -35, 0, 0, 552, 0, 0, 0, 0, -109, 3440, + 0, 552, 5170, 479, 0, 5170, 536, 5170, 479, 754, + 3440, 0, 552, 571, -92, -25, 0, 0, 0, 799, + 546, 546, 837, 755, 0, 0, 0, -109, 0, 0, + 758, 820, 0, 3139, 0, 3174, 514, -14, 761, 0, + 0, 5170, 0, 552, 0, -25, -25, 546, 0, 844, + 767, 0, 0, 0, 0, 5170, 832, 479, 0, 0, + 0, 0, 762, -14, 0, 0, 3315, 771, 0, 0, + -25, -92, 552, 856, 0, 0, 479, 5170, 841, 0, + 0, 0, 0, 0, 0, -91, 785, 479, 0, 3342, + 552, -92, 870, 0, 0, 552, 0, 0, 796, 0, + 552, 791, 0, ); - protected static $yyRindex= array( 1477, - 0, 0, 1841, 0, 0, 337, 2249, 0, 858, 0, + protected static $yyRindex= array( 982, + 0, 0, 1874, 0, 0, 272, 1933, 0, 710, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 410, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 401, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -39, 95, 0, 0, 172, 0, 527, + 0, 0, 0, -39, 295, 0, 0, 87, 0, 759, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 895, -94, 790, -94, 0, 0, 0, - 0, 0, 0, 0, -32, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 791, 0, - 0, 791, 822, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 287, 0, 0, 0, 0, 0, 0, - 0, 89, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1978, 2014, 996, 885, 0, 0, - 449, 1574, 0, 20, 0, 0, 0, 0, 0, 0, - 0, -17, 0, 886, -36, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -105, - 804, 1023, 2054, 2092, 3292, 2162, 2206, 2276, 0, 0, - 0, 0, 0, 1574, 0, 4973, 1756, -16, 0, 0, - 0, -29, 0, 671, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 872, 0, 0, + 0, 0, 0, 737, -96, 797, -96, 0, 0, 0, + 0, 0, 0, 0, -29, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 798, 0, + 0, 798, 833, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 138, 0, 0, 0, 0, 0, 0, + 0, -24, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1728, 1627, 45, 884, 0, 0, + 379, 1456, 0, 427, 0, 0, 0, 0, 0, 0, + 0, 129, 0, 888, -33, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -134, + 805, 890, 1848, 1893, 2420, 2027, 2148, 2282, 0, 0, + 0, 0, 0, 0, 1456, 1499, 1692, -70, 0, 0, + 0, 70, 0, 679, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 881, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1877, 0, 625, 0, -1, 0, 0, - 0, 0, 0, -105, 0, 1489, 0, 0, 0, 0, - 0, 0, 55, 0, 818, 0, 840, 0, 1574, 843, - 850, 27, 886, 107, 0, 0, 0, 1574, 0, 0, - 0, 0, 0, 0, -25, 4, 84, 143, 390, 752, - 866, 1033, 1066, 1087, 1158, 1495, 853, 0, 592, 4526, - 4408, 0, 4432, 0, 4483, 0, 0, 1116, 3970, 0, - 0, 3994, 4010, 3877, 3919, 3725, 3762, 3851, 3336, 0, - 2314, 1548, 0, 851, 0, 0, 1327, 0, 0, 0, - 0, 0, 0, 0, 0, 820, 0, 63, 0, 0, - -18, 0, 0, 0, 0, 886, 0, 823, 0, 0, - 820, 1198, 0, 0, 0, 0, 1424, 0, 0, 1574, - 0, 1585, 1612, 4147, 4186, 4310, 4392, 0, 0, 886, + 0, 0, 0, 0, 1591, 0, 1230, 0, 84, 0, + 0, 0, 0, 0, -134, 0, 432, 0, 0, 0, + 0, 0, 0, 521, 0, 817, 0, 854, 0, 1456, + 865, 866, 102, 888, 109, 0, 0, 0, 0, 1456, + 80, 0, 0, 80, 0, 0, 815, -12, 91, 474, + 549, 813, 900, 902, 930, 946, 1380, 1382, 1037, 0, + 2843, 4709, 4593, 0, 4641, 0, 4669, 0, 0, 4037, + 4074, 0, 0, 4168, 4208, 3960, 3986, 3738, 3775, 3872, + 2447, 0, 2325, 1291, 0, 869, 888, 0, 0, 1152, + 0, 0, 0, 0, 0, 0, 0, 0, 822, 0, + 81, 0, 0, 5, 0, 0, 0, 0, 888, 0, + 840, 0, 0, 822, 1586, 0, 959, 0, 0, 0, + 0, 0, 1194, 0, 0, 1456, 0, 1411, 1468, 4259, + 4373, 4464, 4504, 0, 0, 0, 888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -53, 0, 0, 0, 0, - 824, 0, 0, 896, 0, 0, 0, 0, 0, 73, - 0, 0, 0, 1574, 0, 0, 886, 0, 556, 0, - 0, 886, 906, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 925, + 0, 0, -50, 0, 0, 0, 0, 843, 0, 0, + 909, 0, 0, 0, 0, 0, 48, 0, 0, 0, + 1456, 0, 0, 0, 888, 0, 4760, 0, 0, 0, + 888, 910, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 931, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -105, 0, 1451, 0, 0, 0, 0, - 1574, 0, 0, 0, 0, 820, 450, 0, 0, 0, - 908, 0, 820, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 177, 0, 0, 927, 0, - 928, 928, 0, 0, 656, 0, 0, 0, 0, 0, - -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 613, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 90, 0, 0, 177, 0, - 0, 935, 0, 925, 0, 0, 820, 0, 0, 0, - 0, 456, 0, 820, 908, 0, 0, 0, 0, 0, - 0, 0, 461, 0, 820, 177, 0, 0, 0, 0, - 0, 938, 90, 90, 0, 0, 0, 0, 0, 317, - 0, 0, 0, 0, 0, 0, 0, 0, 361, 855, - 0, 0, 0, 0, 0, 820, 0, 0, 0, 90, - 0, 0, 0, 0, 0, 0, 0, 886, 0, 0, - 0, 0, 0, 0, 0, 860, 0, 0, 0, 0, - 0, 0, 0, 0, 820, 0, 0, 0, 0, 0, + 0, -134, 0, 1042, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 822, 453, 0, 0, 0, 914, 0, + 822, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 276, 0, 0, 934, 0, 935, 935, + 0, 0, 0, 0, 0, 0, 0, 5, 0, 1456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -37, 0, 0, 0, 0, -37, 0, 0, - 0, 0, 820, 0, 0, + 0, 0, 613, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 95, 0, 0, 276, 0, 0, 937, 0, + 931, 0, 0, 822, 0, 0, 0, 0, 0, 454, + 0, 822, 914, 0, 0, 0, 0, 0, 0, 0, + 484, 0, 822, 276, 0, 0, 0, 0, 0, 938, + 95, 95, 0, 0, 0, 0, 0, 293, 0, 0, + 0, 0, 0, 0, 0, 0, 364, 860, 0, 0, + 0, 0, 0, 822, 0, 0, 0, 95, 0, 0, + 0, 0, 0, 0, 0, 888, 0, 0, 0, 0, + 0, 0, 0, 861, 0, 0, 0, 0, 0, 0, + 0, 0, 822, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -28, 0, 0, 0, 0, -28, 0, 0, 0, 0, + 822, 0, 0, ); protected static $yyGindex= array(0, - 0, 0, 0, -4, 0, 0, 980, 548, 593, 374, - 984, -60, 0, 915, 891, -143, 0, 0, 0, 0, - -116, -366, 0, 0, 0, 1470, 0, 660, 0, 0, - 76, 1312, -419, 0, 0, -50, -361, 523, 530, 0, - -417, -205, 0, 481, 0, 0, 0, 0, 943, 945, - 0, 526, 0, 903, -141, -21, 777, 0, 795, -204, - 0, 0, 562, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 524, 514, - 0, 428, 0, 0, 0, 0, 0, 467, 472, 0, - 0, 0, 0, 0, 837, 844, 691, 0, -86, 0, - 244, 0, 838, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 765, 0, 0, 0, 797, 0, 811, - 0, 0, 0, 0, 0, 0, 881, 0, 1017, + 0, 0, 0, -4, 0, 0, 984, 513, 572, 2, + 986, -60, 0, 919, 896, -146, 0, 0, 0, 0, + -115, -419, 0, 0, 0, 2149, 0, 662, 0, 0, + 76, 2153, -120, 0, 0, -43, -329, 516, 532, 0, + -2, -215, 0, 481, 0, 0, 0, 0, 953, 958, + 0, 425, 0, 915, -150, 28, 800, 0, 1360, -160, + 0, 0, -463, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 533, 523, + 0, 439, 0, 0, 0, 0, 0, 476, 477, 0, + 0, 0, 0, 0, 847, 857, 695, 0, 0, 225, + -137, 0, 849, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 778, 0, 0, 0, 814, 0, 803, + 0, 0, 0, 0, 0, 0, 0, 879, 0, 1023, ); protected static $yyTable = array(11, - 75, 76, 77, 167, 219, 231, 16, 219, 219, 614, - 97, 214, 239, 164, 50, 206, 164, 111, 206, 13, - 93, 518, 158, 104, 244, 32, 112, 225, 26, 47, - 48, 318, 206, 206, 405, 57, 12, 119, 225, 122, - 32, 316, 233, 222, 207, 112, 505, 207, 220, 218, - 229, 219, 245, 221, 93, 93, 74, 74, 74, 122, - 173, 207, 207, 225, 81, 82, 92, 206, 474, 482, - 235, 110, 222, 1, 296, 230, 15, 220, 173, 74, - 222, 211, 221, 358, 52, 220, 218, 109, 219, 541, - 221, 233, 74, 74, 46, 74, 207, 265, 44, 206, - 92, 92, 159, 214, 55, 216, 32, 230, 122, 359, - 126, 164, 173, 44, 520, 74, 562, 404, 257, 235, - 34, 340, 17, 233, 237, 568, 569, 237, 207, 516, - 10, 5, 225, 188, 17, 105, 112, 210, 17, 112, - 16, 237, 237, 59, 173, 539, 565, 304, 101, 508, - 236, 235, 593, 17, 306, 83, 477, 240, 74, 509, - 74, 225, 182, 310, 74, 222, 211, 209, 34, 225, - 220, 218, 337, 219, 74, 221, 237, 44, 141, 44, - 306, 343, 34, 238, 56, 381, 238, 17, 214, 74, - 216, 390, 60, 517, 391, 9, 392, 39, 445, 236, - 238, 238, 173, 174, 175, 176, 177, 178, 237, 180, - 566, 304, 101, 189, 9, 71, 26, 57, 401, 74, - 57, 10, 210, 74, 224, 615, 306, 214, 222, 141, - 165, 236, 228, 220, 218, 238, 219, 334, 221, 36, - 10, 182, 434, 228, 74, 382, 35, 34, 166, 224, - 39, 214, 335, 216, 225, 442, 262, 383, 264, 181, - 444, 12, 269, 398, 71, 384, 74, 238, 228, 57, - 112, 275, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 285, 286, 287, 289, 290, 291, 293, 295, 298, - 299, 302, 303, 304, 305, 306, 307, 308, 309, 112, - 311, 15, 12, 226, 227, 9, 504, 439, 328, 492, - 379, 287, 319, 320, 226, 227, 34, 225, 224, 110, - 110, 431, 17, 296, 85, 86, 87, 88, 89, 90, - 302, 10, 306, 223, 10, 109, 109, 228, 141, 226, - 227, 342, 15, 40, 564, 304, 101, 224, 302, 168, - 10, 168, 319, 320, 483, 224, 168, 51, 306, 168, - 195, 168, 591, 592, 91, 16, 228, 352, 465, 353, - 16, 354, 355, 17, 228, 356, 357, 17, 49, 230, - 329, 347, 17, 554, 164, 272, 324, 606, 206, 287, - 68, 222, 211, 157, 17, 157, 220, 218, 83, 219, - 157, 221, 17, 157, 306, 157, 16, 168, 226, 227, - 84, 141, 54, 141, 214, 74, 216, 207, 207, 70, - 563, 348, 65, 54, 54, 74, 399, 223, 110, 160, - 239, 109, 9, 239, 12, 141, 596, 226, 227, 9, - 224, 168, 168, 217, 215, 226, 227, 239, 239, 512, - 512, 157, 547, 548, 212, 213, 223, 13, 10, 228, - 14, 349, 71, 435, 223, 10, 74, 74, 9, 91, - 490, 34, 141, 489, 15, 78, 122, 141, 287, 79, - 225, 450, 239, 69, 502, 157, 157, 501, 542, 174, - 140, 80, 174, 140, 10, 97, 141, 237, 237, 141, - 307, 144, 74, 224, 144, 74, 475, 174, 129, 74, - 139, 510, 98, 344, 239, 138, 346, 100, 127, 466, - 128, 107, 228, 43, 44, 45, 141, 493, 217, 215, - 226, 227, 74, 607, 498, 499, 108, 427, 16, 212, - 213, 174, 425, 423, 106, 424, 120, 426, 466, 223, - 583, 584, 129, 620, 139, 154, 238, 238, 162, 138, - 37, 38, 127, 522, 128, 124, 83, 464, 86, 87, - 88, 89, 90, 174, 163, 533, 168, 168, 168, 168, - 168, 168, 164, 20, 21, 22, 23, 24, 25, 74, - 26, 217, 215, 226, 227, 168, 205, 169, 453, 205, - 141, 130, 168, 556, 171, 558, 27, 183, 317, 74, - 83, 194, 223, 205, 205, 195, 205, 306, 205, 236, - 157, 157, 157, 157, 157, 157, 428, 237, 83, 168, - 156, 157, 263, 238, 105, 263, 306, 306, 306, 589, - 253, 64, 66, 67, 242, 130, 157, 266, 205, 263, - 263, 270, 263, 141, 263, 271, 168, 168, 168, 168, - 19, 323, 168, 326, 327, 176, 224, 333, 176, 307, - 336, 338, 351, 157, 361, 612, 168, 168, 168, 168, - 205, 168, 168, 176, 263, 228, 168, 168, 168, 168, - 168, 339, 388, 181, 248, 307, 58, 378, 380, 58, - 157, 157, 157, 157, 386, 394, 157, 396, 397, 307, - 307, 307, 400, 415, 58, 263, 263, 176, 168, 168, - 157, 157, 157, 157, 416, 157, 157, 419, 421, 422, - 157, 430, 157, 157, 157, 172, 86, 87, 88, 89, - 90, 307, 431, 436, 433, 443, 168, 437, 58, 176, - 438, 440, 447, 451, 217, 215, 226, 227, 452, 456, - 457, 10, 157, 157, 458, 212, 213, 459, 222, 460, - 461, 476, 473, 220, 218, 223, 219, 477, 221, 172, - 86, 87, 88, 89, 90, 484, 306, 485, 134, 486, - 157, 214, 240, 216, 488, 240, 496, 155, 86, 87, - 88, 89, 90, 239, 239, 10, 495, 503, 500, 240, - 240, 506, 306, 507, 515, 137, 362, 363, 364, 521, - 524, 133, 525, 10, 527, 528, 306, 306, 306, 530, - 529, 535, 134, 537, 19, 365, 366, 367, 368, 536, - 369, 370, 540, 543, 240, 371, 544, 372, 557, 20, - 21, 22, 246, 24, 25, 570, 26, 225, 306, 137, - 362, 363, 364, 560, 571, 133, 577, 578, 325, 581, - 588, 594, 27, 595, 597, 610, 240, 131, 132, 365, - 366, 367, 368, 84, 369, 370, 602, 605, 613, 371, - 616, 372, 621, 177, 17, 17, 177, 17, 17, 17, - 17, 17, 17, 247, 17, 373, 241, 623, 625, 241, - 177, 177, 30, 28, 172, 17, 17, 17, 17, 17, - 17, 131, 132, 241, 241, 213, 172, 213, 41, 176, - 293, 296, 296, 294, 296, 296, 296, 296, 296, 296, - 295, 296, 40, 176, 109, 177, 51, 172, 17, 373, - 17, 17, 296, 296, 57, 296, 296, 296, 241, 205, - 205, 205, 205, 205, 176, 91, 172, 92, 88, 205, - 205, 205, 205, 205, 205, 90, 145, 177, 89, 147, - 17, 17, 17, 17, 148, 296, 33, 296, 296, 29, - 241, 102, 125, 389, 545, 263, 263, 263, 263, 263, - 519, 513, 73, 72, 313, 263, 263, 263, 263, 263, - 263, 161, 523, 603, 534, 260, 575, 296, 296, 296, - 296, 576, 261, 20, 21, 22, 246, 24, 25, 393, - 26, 273, 185, 185, 321, 345, 185, 185, 185, 185, - 185, 185, 185, 224, 315, 243, 27, 46, 0, 0, - 0, 0, 0, 185, 185, 185, 185, 185, 185, 219, - 219, 0, 228, 219, 219, 219, 219, 219, 0, 219, - 0, 0, 0, 243, 0, 0, 243, 247, 0, 0, - 219, 219, 17, 219, 219, 219, 185, 555, 185, 185, - 243, 243, 559, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 242, 0, 0, 242, - 0, 0, 0, 17, 17, 219, 219, 17, 0, 185, - 185, 185, 0, 242, 242, 243, 0, 244, 0, 0, - 244, 217, 215, 226, 227, 0, 0, 0, 0, 19, - 0, 598, 212, 213, 244, 244, 219, 219, 219, 19, - 0, 296, 223, 249, 296, 0, 249, 243, 242, 249, - 611, 0, 0, 0, 0, 240, 240, 17, 17, 17, - 418, 617, 0, 249, 249, 0, 249, 17, 249, 244, - 0, 0, 0, 480, 0, 0, 0, 17, 17, 17, - 242, 0, 0, 0, 0, 0, 0, 17, 245, 0, - 0, 245, 0, 454, 296, 296, 296, 0, 249, 249, - 0, 244, 0, 0, 296, 245, 245, 0, 0, 0, - 0, 0, 0, 0, 296, 296, 296, 0, 0, 0, - 0, 0, 0, 0, 296, 0, 0, 0, 211, 249, - 249, 211, 0, 0, 0, 0, 0, 0, 0, 0, - 245, 0, 187, 0, 0, 211, 211, 17, 17, 17, - 17, 17, 17, 17, 17, 17, 0, 17, 17, 17, - 0, 17, 17, 17, 17, 17, 17, 0, 17, 241, - 241, 0, 245, 0, 0, 0, 0, 0, 0, 0, - 211, 0, 0, 0, 296, 296, 296, 296, 296, 296, - 296, 296, 296, 0, 0, 296, 296, 185, 296, 296, - 296, 296, 296, 296, 0, 296, 0, 0, 0, 0, - 454, 0, 211, 0, 0, 454, 185, 0, 20, 21, - 22, 246, 24, 25, 219, 26, 0, 0, 20, 21, - 22, 246, 24, 25, 0, 26, 0, 0, 0, 0, - 0, 27, 0, 219, 0, 0, 0, 0, 0, 0, - 0, 27, 17, 283, 283, 19, 0, 283, 283, 283, - 283, 283, 283, 283, 454, 0, 0, 0, 0, 0, - 0, 0, 247, 0, 283, 283, 283, 283, 283, 283, - 0, 0, 247, 454, 0, 185, 185, 185, 185, 185, - 185, 185, 185, 185, 454, 0, 185, 185, 114, 185, - 185, 185, 185, 185, 185, 185, 185, 283, 0, 283, - 283, 0, 219, 219, 219, 219, 219, 219, 219, 219, - 219, 0, 17, 219, 219, 0, 219, 219, 219, 219, - 219, 219, 219, 219, 0, 0, 243, 243, 0, 190, - 283, 283, 283, 0, 0, 0, 0, 0, 0, 0, + 75, 76, 77, 240, 167, 97, 16, 219, 50, 232, + 219, 219, 164, 111, 353, 231, 112, 112, 164, 13, + 298, 245, 1, 104, 489, 126, 26, 93, 207, 47, + 48, 207, 622, 573, 306, 57, 5, 119, 525, 122, + 54, 112, 319, 414, 225, 207, 207, 267, 32, 364, + 65, 54, 54, 246, 354, 112, 74, 74, 74, 122, + 229, 93, 93, 32, 81, 82, 92, 158, 527, 83, + 563, 322, 323, 222, 110, 567, 321, 164, 220, 74, + 207, 187, 187, 221, 187, 187, 187, 187, 187, 187, + 187, 187, 74, 74, 355, 74, 109, 574, 306, 52, + 92, 92, 187, 187, 187, 187, 187, 187, 122, 482, + 214, 222, 207, 343, 34, 74, 220, 218, 258, 219, + 57, 221, 340, 57, 606, 308, 413, 233, 59, 32, + 71, 237, 348, 188, 237, 187, 222, 187, 187, 35, + 17, 220, 218, 619, 219, 235, 221, 159, 237, 237, + 349, 308, 236, 101, 625, 365, 523, 241, 74, 214, + 74, 216, 225, 312, 74, 515, 366, 9, 187, 187, + 187, 17, 39, 484, 74, 516, 233, 60, 141, 71, + 165, 304, 160, 237, 547, 9, 9, 388, 398, 74, + 399, 397, 225, 10, 235, 112, 39, 308, 166, 304, + 225, 236, 173, 174, 175, 176, 177, 178, 233, 180, + 9, 10, 10, 189, 26, 237, 410, 101, 406, 74, + 524, 230, 91, 74, 9, 225, 235, 322, 323, 141, + 224, 572, 306, 236, 555, 556, 10, 320, 155, 86, + 87, 88, 89, 90, 207, 74, 442, 389, 623, 228, + 10, 453, 110, 230, 450, 109, 263, 517, 265, 390, + 452, 271, 12, 447, 10, 474, 274, 391, 74, 298, + 440, 277, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 291, 292, 293, 295, 297, 300, + 301, 304, 305, 306, 307, 308, 309, 310, 311, 34, + 313, 185, 15, 112, 474, 222, 211, 308, 499, 12, + 220, 218, 289, 219, 105, 221, 57, 12, 36, 57, + 226, 227, 110, 110, 84, 168, 214, 168, 214, 40, + 216, 337, 168, 308, 17, 168, 57, 168, 17, 141, + 17, 345, 225, 347, 109, 109, 338, 237, 224, 15, + 511, 101, 528, 512, 51, 195, 187, 15, 591, 592, + 599, 600, 210, 70, 331, 268, 16, 228, 57, 358, + 16, 359, 49, 360, 361, 187, 17, 362, 363, 308, + 17, 34, 562, 168, 473, 614, 224, 17, 68, 230, + 10, 289, 141, 69, 225, 549, 157, 228, 157, 71, + 17, 207, 207, 157, 182, 228, 157, 78, 157, 386, + 34, 224, 17, 16, 141, 34, 141, 168, 168, 174, + 17, 16, 174, 570, 74, 345, 79, 345, 497, 571, + 228, 496, 407, 80, 74, 604, 332, 174, 226, 227, + 509, 97, 141, 508, 187, 187, 187, 187, 187, 187, + 187, 187, 187, 98, 157, 187, 187, 223, 187, 187, + 187, 187, 187, 187, 187, 187, 55, 173, 226, 227, + 443, 174, 9, 436, 74, 74, 226, 227, 434, 432, + 141, 433, 100, 435, 122, 173, 141, 289, 157, 157, + 458, 309, 10, 140, 141, 223, 140, 141, 10, 217, + 215, 226, 227, 174, 237, 237, 519, 519, 106, 74, + 12, 129, 74, 139, 238, 107, 74, 238, 138, 173, + 223, 127, 316, 128, 144, 37, 38, 144, 224, 156, + 157, 238, 238, 13, 141, 500, 14, 43, 44, 45, + 74, 615, 505, 506, 550, 108, 56, 228, 576, 577, + 15, 173, 168, 168, 168, 168, 168, 168, 120, 182, + 46, 628, 437, 124, 44, 34, 238, 154, 162, 83, + 530, 308, 308, 308, 403, 601, 404, 181, 168, 44, + 224, 164, 541, 327, 129, 164, 139, 163, 83, 239, + 168, 138, 239, 169, 127, 171, 128, 74, 238, 228, + 183, 461, 194, 195, 130, 168, 239, 239, 141, 237, + 238, 564, 239, 566, 16, 105, 243, 74, 226, 227, + 64, 66, 67, 157, 157, 157, 157, 157, 157, 266, + 254, 268, 168, 168, 168, 168, 272, 223, 168, 326, + 273, 239, 83, 44, 329, 44, 330, 597, 339, 157, + 336, 341, 168, 168, 168, 168, 342, 168, 168, 350, + 309, 141, 168, 168, 168, 168, 168, 352, 217, 215, + 226, 227, 357, 239, 368, 181, 157, 130, 385, 212, + 213, 387, 393, 620, 395, 405, 309, 401, 409, 223, + 408, 316, 424, 428, 168, 168, 430, 425, 431, 441, + 309, 309, 309, 157, 157, 157, 157, 439, 444, 157, + 19, 316, 316, 316, 316, 316, 316, 316, 316, 445, + 451, 459, 168, 157, 157, 157, 157, 446, 157, 157, + 238, 448, 309, 157, 316, 157, 157, 157, 172, 86, + 87, 88, 89, 90, 455, 449, 17, 17, 460, 17, + 17, 17, 17, 17, 17, 464, 17, 472, 86, 87, + 88, 89, 90, 316, 10, 157, 157, 17, 17, 17, + 17, 17, 17, 298, 298, 465, 298, 298, 298, 298, + 298, 298, 466, 298, 467, 20, 21, 22, 23, 24, + 25, 134, 26, 157, 298, 298, 468, 298, 298, 298, + 17, 469, 17, 17, 481, 239, 483, 484, 27, 491, + 492, 172, 86, 87, 88, 89, 90, 502, 137, 369, + 370, 371, 493, 495, 133, 503, 507, 298, 513, 298, + 298, 510, 17, 17, 17, 17, 83, 10, 372, 373, + 374, 375, 514, 376, 377, 522, 529, 532, 378, 308, + 379, 533, 535, 240, 537, 206, 240, 536, 206, 298, + 298, 298, 298, 538, 134, 543, 545, 544, 551, 552, + 240, 240, 206, 206, 548, 565, 568, 578, 586, 579, + 131, 132, 585, 602, 589, 596, 610, 238, 238, 603, + 605, 137, 369, 370, 371, 613, 618, 133, 621, 20, + 21, 22, 23, 24, 25, 240, 26, 206, 380, 624, + 629, 372, 373, 374, 375, 633, 376, 377, 631, 30, + 28, 378, 27, 379, 213, 172, 219, 219, 172, 41, + 219, 219, 219, 219, 219, 213, 219, 240, 176, 206, + 241, 40, 243, 241, 295, 243, 109, 219, 219, 17, + 219, 219, 219, 131, 132, 296, 297, 241, 241, 243, + 243, 176, 239, 239, 172, 51, 17, 57, 176, 17, + 242, 91, 172, 242, 92, 88, 145, 90, 89, 19, + 17, 380, 219, 219, 147, 148, 244, 242, 242, 244, + 33, 29, 241, 298, 243, 102, 298, 125, 396, 58, + 526, 553, 58, 244, 244, 85, 86, 87, 88, 89, + 90, 520, 73, 219, 219, 219, 72, 58, 308, 17, + 17, 17, 242, 161, 241, 261, 243, 315, 531, 17, + 542, 10, 611, 583, 584, 262, 400, 318, 244, 17, + 17, 17, 275, 244, 308, 91, 298, 298, 298, 17, + 351, 58, 324, 46, 242, 0, 298, 0, 308, 308, + 308, 0, 0, 0, 0, 0, 298, 298, 298, 240, + 244, 206, 2, 0, 0, 0, 298, 177, 32, 32, + 177, 32, 32, 32, 32, 32, 32, 32, 32, 0, + 308, 84, 0, 0, 177, 177, 0, 0, 0, 32, + 32, 32, 32, 32, 32, 0, 0, 0, 0, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 0, 17, + 17, 17, 0, 17, 17, 17, 17, 17, 17, 177, + 17, 0, 32, 0, 32, 32, 298, 298, 298, 298, + 298, 298, 298, 298, 298, 0, 219, 298, 298, 0, + 298, 298, 298, 298, 298, 298, 241, 298, 243, 0, + 0, 177, 0, 0, 0, 32, 32, 32, 20, 21, + 22, 247, 24, 25, 19, 26, 0, 0, 0, 0, + 0, 0, 0, 0, 19, 0, 242, 0, 283, 283, + 0, 27, 283, 283, 283, 283, 283, 283, 283, 0, + 0, 219, 244, 0, 0, 0, 0, 0, 249, 283, + 283, 283, 283, 283, 283, 58, 0, 0, 328, 0, + 219, 0, 248, 0, 0, 0, 240, 240, 206, 17, 183, 183, 0, 0, 183, 183, 183, 183, 183, 183, - 183, 0, 0, 0, 241, 0, 114, 0, 0, 242, - 242, 183, 183, 183, 183, 183, 183, 32, 32, 0, - 258, 32, 32, 32, 32, 32, 32, 32, 0, 0, - 244, 244, 0, 0, 0, 190, 0, 0, 32, 32, - 32, 32, 32, 32, 183, 0, 183, 183, 0, 249, - 249, 249, 249, 249, 0, 0, 249, 249, 0, 249, - 249, 249, 249, 249, 249, 246, 0, 0, 246, 0, - 0, 32, 0, 32, 32, 0, 0, 183, 183, 183, - 0, 0, 246, 246, 20, 21, 22, 23, 24, 25, - 330, 26, 0, 0, 0, 0, 0, 2, 0, 0, - 0, 245, 245, 0, 32, 32, 32, 27, 0, 314, - 0, 0, 190, 0, 99, 99, 0, 246, 99, 99, - 99, 99, 99, 0, 99, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 99, 99, 99, 99, 99, - 277, 277, 0, 0, 277, 277, 277, 277, 277, 246, - 277, 0, 0, 0, 0, 255, 0, 0, 255, 0, - 0, 277, 277, 277, 277, 277, 277, 0, 283, 0, - 99, 99, 255, 255, 0, 0, 0, 0, 0, 0, - 0, 0, 256, 0, 0, 256, 0, 283, 0, 0, - 0, 0, 0, 0, 0, 0, 277, 277, 0, 256, - 256, 99, 99, 99, 0, 0, 0, 255, 0, 0, + 183, 0, 283, 0, 283, 283, 0, 0, 0, 0, + 0, 183, 183, 183, 183, 183, 183, 0, 0, 0, + 0, 2, 2, 2, 2, 2, 2, 0, 2, 0, + 176, 0, 0, 176, 0, 283, 283, 283, 0, 0, + 0, 2, 2, 2, 183, 2, 183, 183, 176, 219, + 219, 219, 219, 219, 219, 219, 219, 219, 32, 17, + 219, 219, 0, 219, 219, 219, 219, 219, 219, 219, + 219, 0, 0, 241, 241, 243, 243, 183, 183, 183, + 0, 0, 176, 0, 0, 0, 0, 99, 99, 0, + 0, 99, 99, 99, 99, 99, 0, 99, 0, 0, + 0, 0, 0, 242, 242, 0, 0, 0, 99, 99, + 99, 99, 99, 32, 176, 0, 0, 0, 0, 244, + 244, 0, 0, 20, 21, 22, 247, 24, 25, 0, + 26, 0, 32, 20, 21, 22, 247, 24, 25, 0, + 26, 0, 222, 99, 99, 0, 27, 220, 218, 0, + 219, 0, 221, 0, 0, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 0, 214, 0, 216, 283, 0, + 0, 0, 0, 0, 99, 99, 99, 248, 0, 0, + 245, 0, 246, 245, 0, 246, 0, 248, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 245, 245, 246, + 246, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 183, 255, 32, 32, 255, 32, 32, 32, 32, 32, + 32, 32, 32, 283, 0, 0, 0, 0, 255, 255, + 0, 225, 245, 0, 246, 0, 0, 0, 0, 0, + 0, 0, 283, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 277, 277, 0, 0, 277, 277, 277, 277, + 277, 0, 277, 255, 245, 183, 246, 0, 256, 0, + 0, 256, 0, 277, 277, 277, 277, 277, 277, 0, + 0, 0, 0, 0, 183, 256, 256, 0, 0, 0, + 0, 220, 0, 220, 0, 255, 0, 0, 220, 0, + 0, 220, 0, 220, 0, 0, 0, 99, 277, 277, + 0, 283, 283, 283, 283, 283, 283, 283, 283, 283, + 256, 0, 283, 283, 0, 283, 283, 283, 283, 283, + 283, 283, 283, 0, 0, 0, 0, 0, 0, 277, + 277, 277, 0, 0, 0, 0, 0, 0, 0, 220, + 0, 220, 256, 183, 183, 183, 183, 183, 183, 183, + 183, 183, 99, 0, 183, 183, 0, 183, 183, 183, + 183, 183, 183, 183, 183, 0, 0, 0, 0, 0, + 99, 99, 0, 0, 220, 0, 211, 279, 279, 211, + 99, 279, 279, 279, 279, 279, 245, 279, 246, 0, + 19, 0, 0, 211, 211, 0, 0, 0, 279, 279, + 279, 279, 279, 279, 0, 0, 0, 224, 0, 0, + 0, 0, 0, 226, 226, 0, 226, 255, 226, 226, + 226, 226, 226, 226, 487, 0, 228, 0, 211, 0, + 0, 0, 0, 279, 279, 0, 226, 226, 226, 226, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 0, + 0, 99, 99, 0, 99, 99, 99, 99, 99, 99, + 211, 99, 277, 0, 279, 279, 279, 226, 0, 226, + 226, 0, 0, 0, 256, 0, 0, 0, 187, 187, + 0, 187, 57, 187, 187, 57, 187, 187, 187, 0, + 0, 0, 427, 0, 0, 217, 215, 226, 227, 0, + 226, 187, 226, 187, 187, 0, 212, 213, 220, 220, + 220, 220, 220, 220, 219, 219, 223, 277, 0, 219, + 219, 219, 219, 0, 219, 0, 0, 462, 0, 0, + 0, 0, 187, 0, 220, 187, 277, 219, 219, 219, + 219, 0, 0, 245, 245, 246, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 277, 277, 277, - 0, 0, 0, 0, 256, 0, 0, 0, 0, 255, + 0, 220, 0, 0, 0, 187, 0, 187, 219, 0, + 219, 219, 0, 0, 255, 255, 0, 0, 0, 20, + 21, 22, 247, 24, 25, 0, 26, 0, 220, 0, + 0, 0, 211, 0, 220, 0, 0, 279, 0, 0, + 0, 219, 27, 219, 0, 277, 277, 277, 277, 277, + 277, 277, 277, 277, 0, 0, 277, 277, 0, 277, + 277, 277, 277, 277, 277, 0, 277, 0, 0, 0, + 0, 256, 256, 248, 271, 271, 0, 0, 271, 271, + 271, 271, 271, 462, 271, 0, 0, 0, 462, 0, + 220, 220, 279, 0, 0, 271, 271, 271, 271, 271, + 271, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 279, 0, 0, 0, 0, 0, 0, 0, 272, + 272, 0, 0, 272, 272, 272, 272, 272, 226, 272, + 271, 271, 0, 0, 0, 0, 0, 462, 185, 0, + 272, 272, 272, 272, 272, 272, 0, 226, 0, 0, + 0, 0, 0, 0, 5, 0, 462, 0, 0, 0, + 0, 271, 271, 0, 0, 0, 0, 462, 0, 0, + 0, 0, 0, 0, 0, 272, 272, 0, 0, 0, + 279, 279, 279, 279, 279, 279, 279, 279, 279, 0, + 0, 279, 279, 187, 279, 279, 279, 279, 279, 279, + 0, 279, 0, 0, 0, 0, 272, 272, 0, 0, + 0, 0, 187, 6, 0, 0, 226, 226, 226, 226, + 226, 226, 226, 226, 226, 0, 0, 226, 226, 219, + 226, 226, 226, 226, 226, 226, 226, 226, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 219, 0, + 0, 0, 0, 270, 270, 0, 0, 270, 270, 270, + 270, 270, 0, 270, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 270, 270, 270, 270, 270, 270, + 0, 187, 187, 187, 187, 187, 187, 187, 187, 187, + 0, 0, 187, 187, 271, 187, 187, 187, 187, 187, + 187, 187, 187, 0, 0, 0, 0, 0, 0, 270, + 270, 0, 0, 0, 0, 0, 0, 219, 219, 219, + 219, 219, 219, 219, 219, 219, 0, 17, 219, 219, + 0, 219, 219, 219, 219, 219, 219, 219, 219, 272, + 270, 270, 0, 5, 5, 5, 5, 5, 5, 271, + 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 5, 5, 5, 5, 0, 0, 0, + 0, 0, 0, 0, 273, 273, 0, 0, 273, 273, + 273, 273, 273, 0, 273, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 272, 273, 273, 273, 273, 273, + 273, 0, 6, 6, 6, 6, 6, 6, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 283, 283, 283, 283, - 283, 283, 283, 283, 283, 183, 256, 283, 283, 0, - 283, 283, 283, 283, 283, 283, 283, 283, 314, 0, - 0, 0, 0, 0, 183, 0, 2, 2, 2, 2, - 2, 2, 32, 2, 0, 0, 0, 0, 314, 314, - 314, 314, 314, 314, 314, 314, 2, 2, 2, 0, - 2, 32, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 314, 185, 185, 0, 0, 185, 185, 185, 217, - 185, 185, 185, 0, 0, 0, 0, 0, 0, 0, - 395, 0, 0, 0, 0, 185, 185, 185, 185, 0, - 314, 0, 0, 183, 183, 183, 183, 183, 183, 183, - 183, 183, 0, 0, 183, 183, 0, 183, 183, 183, - 183, 183, 183, 183, 183, 0, 185, 0, 0, 185, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, - 0, 32, 32, 0, 32, 32, 32, 32, 32, 32, - 32, 32, 0, 0, 0, 0, 0, 99, 99, 185, - 0, 185, 0, 0, 0, 277, 0, 99, 0, 0, + 0, 0, 6, 6, 6, 6, 0, 0, 0, 0, + 273, 273, 0, 0, 0, 0, 0, 271, 271, 114, + 0, 271, 271, 271, 271, 271, 0, 0, 271, 271, + 0, 271, 271, 271, 271, 271, 271, 0, 271, 0, + 0, 273, 273, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 270, 0, 0, 0, 0, 0, 0, + 190, 0, 272, 272, 0, 0, 272, 272, 272, 272, + 272, 0, 0, 272, 272, 0, 272, 272, 272, 272, + 272, 272, 0, 272, 0, 242, 0, 114, 274, 274, + 0, 0, 274, 274, 274, 274, 274, 0, 274, 0, + 0, 259, 0, 0, 0, 0, 0, 0, 270, 274, + 274, 274, 274, 274, 274, 0, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 277, 0, 0, 0, 246, 246, - 0, 0, 0, 279, 279, 487, 0, 279, 279, 279, - 279, 279, 494, 279, 0, 0, 0, 0, 0, 0, - 0, 5, 0, 0, 279, 279, 279, 279, 279, 279, - 0, 0, 0, 0, 0, 0, 0, 99, 99, 99, - 99, 99, 99, 99, 99, 99, 0, 0, 99, 99, - 0, 99, 99, 99, 99, 99, 99, 0, 99, 279, - 279, 0, 0, 277, 277, 277, 277, 277, 277, 277, - 277, 277, 0, 0, 277, 277, 546, 277, 277, 277, - 277, 277, 277, 553, 277, 0, 0, 0, 255, 255, - 279, 279, 279, 0, 561, 0, 0, 0, 0, 0, - 0, 0, 187, 0, 219, 219, 0, 0, 0, 219, - 219, 219, 219, 0, 219, 256, 256, 0, 0, 0, - 0, 0, 0, 0, 0, 590, 0, 219, 219, 219, - 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 226, 226, 0, 0, 0, 226, 226, 226, 226, 226, - 226, 0, 0, 0, 609, 0, 0, 185, 219, 0, - 219, 219, 0, 226, 226, 226, 226, 0, 0, 0, - 0, 0, 619, 0, 0, 0, 185, 622, 0, 0, - 271, 271, 624, 0, 271, 271, 271, 271, 271, 0, - 271, 219, 0, 219, 226, 0, 226, 226, 0, 0, - 0, 271, 271, 271, 271, 271, 271, 0, 0, 0, - 5, 5, 5, 5, 5, 5, 0, 5, 272, 272, - 0, 0, 272, 272, 272, 272, 272, 226, 272, 226, - 5, 5, 5, 5, 0, 0, 271, 271, 0, 272, - 272, 272, 272, 272, 272, 185, 185, 185, 185, 185, - 185, 185, 185, 185, 0, 0, 185, 185, 0, 185, - 185, 185, 185, 185, 185, 185, 185, 271, 271, 0, - 0, 0, 0, 0, 272, 272, 0, 0, 279, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 270, 270, - 0, 0, 270, 270, 270, 270, 270, 279, 270, 0, - 0, 0, 0, 0, 0, 272, 272, 0, 0, 270, - 270, 270, 270, 270, 270, 0, 0, 0, 0, 0, + 0, 262, 262, 0, 0, 262, 262, 262, 262, 262, + 0, 262, 0, 0, 274, 274, 0, 0, 0, 0, + 0, 0, 262, 262, 262, 262, 262, 262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 273, 273, 0, 0, 273, 273, 273, 273, - 273, 0, 273, 0, 270, 270, 0, 0, 0, 0, - 0, 0, 0, 273, 273, 273, 273, 273, 273, 0, - 0, 0, 0, 0, 0, 0, 279, 279, 279, 279, - 279, 279, 279, 279, 279, 270, 270, 279, 279, 219, - 279, 279, 279, 279, 279, 279, 0, 279, 273, 273, - 0, 0, 0, 0, 0, 0, 0, 0, 219, 0, - 0, 0, 274, 274, 0, 0, 274, 274, 274, 274, - 274, 0, 274, 0, 0, 226, 0, 0, 0, 273, - 273, 0, 0, 274, 274, 274, 274, 274, 274, 6, - 0, 0, 0, 0, 226, 0, 0, 0, 0, 0, - 262, 262, 0, 0, 262, 262, 262, 262, 262, 0, - 262, 0, 0, 0, 0, 271, 0, 0, 274, 274, - 0, 262, 262, 262, 262, 262, 262, 219, 219, 219, - 219, 219, 219, 219, 219, 219, 0, 17, 219, 219, - 0, 219, 219, 219, 219, 219, 219, 219, 219, 274, - 274, 0, 0, 272, 0, 0, 262, 262, 0, 0, - 0, 0, 0, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 0, 0, 226, 226, 0, 226, 226, 226, - 226, 226, 226, 226, 226, 0, 0, 262, 262, 0, + 0, 0, 333, 0, 273, 274, 274, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 262, 262, 0, + 0, 0, 0, 0, 0, 190, 270, 270, 0, 0, + 270, 270, 270, 270, 270, 0, 0, 270, 270, 0, + 270, 270, 270, 270, 270, 270, 0, 270, 262, 262, + 0, 0, 0, 0, 0, 0, 269, 269, 0, 273, + 269, 269, 269, 269, 269, 0, 269, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 269, 269, 269, + 269, 269, 269, 268, 268, 0, 0, 268, 268, 268, + 268, 268, 402, 268, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 268, 268, 268, 268, 268, 268, + 222, 211, 269, 269, 270, 220, 218, 0, 219, 0, + 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 214, 198, 216, 208, 0, 274, 268, + 268, 0, 0, 269, 269, 0, 0, 273, 273, 0, + 0, 273, 273, 273, 273, 273, 0, 0, 273, 273, + 0, 273, 273, 273, 273, 273, 273, 210, 273, 0, + 268, 268, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 262, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 274, 0, 0, 0, 209, 0, 225, + 0, 0, 494, 0, 0, 0, 0, 0, 0, 501, + 0, 0, 0, 0, 0, 0, 0, 0, 222, 211, + 0, 0, 0, 220, 218, 0, 219, 0, 221, 0, + 0, 0, 0, 0, 0, 0, 262, 0, 0, 0, + 426, 214, 198, 216, 208, 0, 0, 0, 222, 211, + 0, 0, 0, 220, 218, 0, 219, 0, 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 271, 271, 0, 0, 271, 271, 271, - 271, 271, 0, 0, 271, 271, 0, 271, 271, 271, - 271, 271, 271, 270, 271, 0, 0, 0, 0, 0, + 0, 214, 554, 216, 0, 210, 269, 0, 0, 0, + 561, 274, 274, 0, 0, 274, 274, 274, 274, 274, + 0, 569, 274, 274, 0, 274, 274, 274, 274, 274, + 274, 0, 274, 268, 0, 209, 0, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 272, 272, 0, 0, 272, 272, 272, 272, 272, - 0, 0, 272, 272, 0, 272, 272, 272, 272, 272, - 272, 0, 272, 0, 222, 211, 0, 273, 268, 220, - 218, 0, 219, 0, 221, 0, 0, 0, 6, 6, - 6, 6, 6, 6, 0, 6, 0, 214, 198, 216, - 208, 0, 0, 0, 0, 0, 0, 0, 6, 6, - 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 270, 270, 0, 0, 270, 270, 270, 270, 270, - 0, 210, 270, 270, 0, 270, 270, 270, 270, 270, - 270, 0, 270, 0, 0, 0, 0, 274, 0, 0, + 0, 0, 598, 0, 262, 262, 0, 0, 262, 262, + 262, 262, 262, 0, 0, 262, 262, 225, 262, 262, + 262, 262, 262, 262, 0, 262, 0, 0, 0, 0, + 0, 617, 222, 211, 0, 0, 488, 220, 218, 0, + 219, 0, 221, 0, 0, 0, 0, 0, 0, 627, + 0, 0, 0, 0, 630, 214, 198, 216, 208, 632, + 0, 0, 0, 0, 0, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 209, 0, 225, 0, 273, 273, 0, 0, 273, - 273, 273, 273, 273, 0, 0, 273, 273, 0, 273, - 273, 273, 273, 273, 273, 262, 273, 0, 0, 0, + 0, 0, 0, 0, 228, 0, 0, 0, 0, 210, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 269, + 269, 0, 0, 269, 269, 269, 269, 269, 0, 0, + 269, 269, 0, 269, 269, 269, 269, 269, 269, 209, + 269, 225, 0, 0, 0, 0, 268, 268, 0, 0, + 268, 268, 268, 268, 268, 0, 0, 268, 268, 0, + 268, 268, 268, 268, 268, 268, 0, 268, 0, 0, + 0, 0, 0, 217, 215, 226, 227, 199, 200, 201, + 202, 204, 0, 263, 212, 213, 263, 196, 197, 203, + 206, 205, 207, 224, 223, 0, 0, 0, 0, 0, + 263, 263, 0, 263, 0, 263, 0, 0, 0, 0, + 0, 0, 228, 0, 222, 211, 0, 0, 0, 220, + 218, 0, 219, 224, 221, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 263, 498, 214, 198, 216, + 208, 0, 228, 0, 0, 0, 0, 0, 0, 222, + 211, 0, 0, 534, 220, 218, 0, 219, 0, 221, + 0, 0, 0, 0, 0, 0, 263, 263, 0, 0, + 0, 210, 214, 198, 216, 208, 0, 0, 0, 0, + 0, 217, 215, 226, 227, 199, 200, 201, 202, 204, + 0, 0, 212, 213, 0, 196, 197, 203, 206, 205, + 207, 209, 223, 225, 0, 0, 210, 0, 0, 0, + 0, 217, 215, 226, 227, 0, 0, 0, 0, 0, + 0, 0, 212, 213, 0, 0, 0, 224, 0, 0, + 0, 0, 223, 0, 0, 0, 209, 0, 225, 0, + 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, + 222, 211, 0, 0, 539, 220, 218, 0, 219, 0, + 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 214, 198, 216, 208, 0, 222, 211, + 0, 0, 540, 220, 218, 0, 219, 0, 221, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, + 0, 214, 198, 216, 208, 0, 0, 210, 0, 0, + 0, 0, 0, 0, 0, 217, 215, 226, 227, 199, + 200, 201, 202, 204, 0, 0, 212, 213, 0, 196, + 197, 203, 206, 205, 207, 210, 223, 209, 0, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 222, 211, 0, 0, - 0, 220, 218, 0, 219, 0, 221, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 417, 214, - 198, 216, 208, 0, 0, 274, 274, 0, 0, 274, - 274, 274, 274, 274, 0, 0, 274, 274, 0, 274, - 274, 274, 274, 274, 274, 0, 274, 0, 0, 0, - 0, 0, 0, 210, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 262, 262, 0, 0, 262, 262, 262, - 262, 262, 0, 0, 262, 262, 0, 262, 262, 262, - 262, 262, 262, 209, 262, 225, 0, 0, 0, 0, - 0, 0, 0, 222, 211, 0, 0, 481, 220, 218, - 0, 219, 0, 221, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 214, 198, 216, 208, - 222, 211, 0, 0, 0, 220, 218, 0, 219, 0, - 221, 0, 0, 0, 0, 0, 0, 0, 0, 224, - 0, 0, 491, 214, 198, 216, 208, 0, 0, 0, - 210, 0, 0, 0, 0, 0, 0, 0, 228, 0, - 222, 211, 0, 0, 526, 220, 218, 0, 219, 0, - 221, 0, 0, 0, 0, 0, 0, 210, 0, 0, - 209, 0, 225, 214, 198, 216, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 209, 0, 225, - 0, 0, 0, 0, 0, 0, 0, 210, 0, 0, + 0, 0, 0, 0, 0, 209, 0, 225, 0, 0, + 0, 0, 0, 0, 0, 222, 211, 0, 0, 587, + 220, 218, 0, 219, 0, 221, 0, 0, 0, 224, + 0, 0, 0, 0, 0, 0, 0, 0, 214, 198, + 216, 208, 0, 0, 0, 0, 0, 0, 228, 0, + 222, 211, 0, 0, 588, 220, 218, 0, 219, 0, + 221, 0, 0, 0, 224, 0, 0, 0, 0, 0, + 0, 0, 210, 214, 198, 216, 208, 0, 0, 0, + 0, 0, 0, 228, 0, 0, 263, 263, 263, 263, + 263, 0, 0, 0, 0, 0, 263, 263, 263, 263, + 263, 263, 209, 0, 225, 0, 0, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 217, 215, 226, 227, 199, 200, 201, 202, 204, 0, 0, 212, 213, 0, 196, 197, 203, 206, 205, 207, 209, 223, 225, - 0, 0, 0, 0, 0, 0, 0, 222, 211, 0, - 0, 531, 220, 218, 0, 219, 0, 221, 0, 0, - 0, 224, 0, 0, 0, 0, 0, 0, 0, 0, - 214, 198, 216, 208, 0, 0, 0, 0, 0, 0, - 228, 0, 222, 211, 0, 0, 532, 220, 218, 0, - 219, 0, 221, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 210, 214, 198, 216, 208, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 209, 0, 225, 0, 0, 210, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 217, - 215, 226, 227, 199, 200, 201, 202, 204, 224, 0, - 212, 213, 0, 196, 197, 203, 206, 205, 207, 209, - 223, 225, 0, 0, 0, 0, 0, 228, 0, 0, - 0, 0, 0, 222, 211, 224, 0, 579, 220, 218, - 0, 219, 0, 221, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 228, 0, 214, 198, 216, 208, - 0, 222, 211, 0, 0, 580, 220, 218, 0, 219, - 0, 221, 0, 0, 0, 224, 0, 0, 0, 0, - 0, 0, 0, 0, 214, 198, 216, 208, 0, 0, - 210, 0, 0, 0, 228, 0, 217, 215, 226, 227, - 199, 200, 201, 202, 204, 0, 0, 212, 213, 0, - 196, 197, 203, 206, 205, 207, 0, 223, 210, 0, - 209, 0, 225, 217, 215, 226, 227, 199, 200, 201, + 0, 0, 217, 215, 226, 227, 199, 200, 201, 202, + 204, 0, 0, 212, 213, 224, 196, 197, 203, 206, + 205, 207, 0, 223, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, + 0, 222, 211, 224, 0, 0, 220, 218, 0, 219, + 0, 221, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 228, 612, 214, 198, 216, 208, 222, 211, + 0, 0, 0, 220, 218, 0, 219, 0, 221, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 626, + 0, 214, 198, 216, 208, 0, 0, 0, 210, 0, + 0, 0, 0, 217, 215, 226, 227, 199, 200, 201, 202, 204, 0, 0, 212, 213, 0, 196, 197, 203, - 206, 205, 207, 0, 223, 0, 0, 0, 209, 0, - 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 206, 205, 207, 0, 223, 210, 0, 0, 209, 0, + 225, 217, 215, 226, 227, 199, 200, 201, 202, 204, + 224, 0, 212, 213, 0, 196, 197, 203, 206, 205, + 207, 0, 223, 0, 0, 209, 0, 225, 0, 228, + 0, 0, 0, 0, 0, 0, 222, 211, 0, 0, + 0, 220, 218, 0, 219, 224, 221, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 214, + 198, 216, 208, 0, 228, 0, 0, 0, 0, 0, + 0, 222, 211, 0, 0, 0, 220, 218, 0, 219, + 0, 221, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 210, 214, 198, 216, 208, 217, 215, + 226, 227, 199, 200, 201, 202, 204, 0, 0, 212, + 213, 0, 196, 197, 203, 206, 205, 207, 0, 223, + 0, 0, 0, 209, 0, 225, 0, 0, 210, 0, 0, 0, 0, 217, 215, 226, 227, 199, 200, 201, - 202, 204, 224, 0, 212, 213, 0, 196, 197, 203, - 206, 205, 207, 0, 223, 0, 0, 0, 0, 0, - 0, 228, 0, 222, 211, 0, 0, 0, 220, 218, - 0, 219, 0, 221, 0, 0, 0, 224, 0, 0, - 0, 0, 0, 0, 0, 604, 214, 198, 216, 208, - 0, 0, 0, 0, 0, 0, 228, 0, 222, 211, + 202, 204, 0, 0, 212, 213, 0, 196, 197, 203, + 206, 205, 207, 0, 223, 0, 0, 0, 209, 0, + 225, 0, 0, 0, 0, 0, 0, 0, 222, 211, 0, 0, 0, 220, 218, 0, 219, 0, 221, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 618, - 210, 214, 198, 216, 208, 0, 0, 0, 0, 0, - 217, 215, 226, 227, 199, 200, 201, 202, 204, 0, - 0, 212, 213, 0, 196, 197, 203, 206, 205, 207, - 209, 223, 225, 0, 0, 210, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 217, 215, 226, 227, 199, - 200, 201, 202, 204, 0, 0, 212, 213, 224, 196, - 197, 203, 206, 205, 207, 209, 223, 225, 269, 269, - 0, 0, 269, 269, 269, 269, 269, 228, 269, 0, - 0, 0, 0, 0, 0, 0, 224, 0, 0, 269, - 269, 269, 269, 269, 269, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 224, 0, 0, 0, + 0, 214, 198, 216, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, 0, - 0, 0, 268, 268, 0, 0, 268, 268, 268, 268, - 268, 0, 268, 0, 269, 269, 0, 0, 0, 0, - 0, 0, 0, 268, 268, 268, 268, 268, 268, 0, - 0, 0, 0, 0, 0, 0, 217, 215, 226, 227, - 199, 200, 201, 202, 204, 269, 269, 212, 213, 0, - 196, 197, 203, 206, 205, 207, 0, 223, 268, 268, + 222, 211, 0, 224, 0, 220, 218, 0, 219, 0, + 221, 0, 0, 0, 0, 210, 0, 0, 0, 0, + 0, 0, 228, 214, 0, 216, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 209, 0, 225, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 210, 0, 0, 0, 0, 0, 0, 217, 215, 226, 227, 199, 200, 201, 202, 204, 0, 0, 212, 213, 0, 196, 197, - 203, 206, 205, 207, 0, 223, 0, 0, 0, 268, - 268, 0, 0, 222, 211, 0, 0, 0, 220, 218, - 0, 219, 0, 221, 0, 0, 0, 0, 224, 0, - 0, 0, 0, 0, 0, 0, 214, 198, 216, 208, - 0, 0, 0, 0, 0, 0, 0, 228, 0, 222, - 211, 0, 0, 0, 220, 218, 0, 219, 0, 221, - 0, 0, 0, 224, 0, 0, 0, 0, 0, 0, - 210, 0, 214, 198, 216, 208, 0, 0, 0, 0, - 0, 0, 228, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 209, 0, 225, 0, 0, 0, 210, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 217, 215, 226, 227, - 199, 200, 201, 202, 204, 0, 0, 212, 213, 0, - 196, 197, 203, 206, 205, 207, 209, 223, 225, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 203, 206, 205, 207, 0, 223, 0, 209, 0, 225, 0, 217, 215, 226, 227, 199, 200, 201, 202, 204, - 0, 0, 212, 213, 0, 196, 197, 203, 206, 205, - 207, 0, 223, 0, 222, 211, 0, 0, 0, 220, - 218, 0, 219, 0, 221, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 214, 198, 216, - 208, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 269, 269, 0, 0, 269, 269, 269, 269, 269, - 0, 0, 269, 269, 0, 269, 269, 269, 269, 269, - 269, 209, 269, 225, 0, 0, 0, 0, 0, 0, + 0, 224, 212, 213, 0, 196, 197, 203, 206, 205, + 207, 0, 223, 0, 0, 0, 0, 0, 0, 0, + 228, 0, 0, 0, 259, 259, 0, 0, 259, 259, + 259, 259, 259, 0, 259, 0, 224, 0, 0, 0, + 0, 0, 0, 0, 0, 259, 259, 259, 259, 259, + 259, 0, 0, 0, 0, 228, 0, 0, 0, 0, + 0, 260, 260, 0, 0, 260, 260, 260, 260, 260, + 0, 260, 0, 0, 0, 0, 0, 0, 0, 0, + 259, 259, 260, 260, 260, 260, 260, 260, 0, 217, + 215, 226, 227, 199, 200, 201, 202, 204, 0, 0, + 212, 213, 0, 196, 197, 203, 206, 205, 207, 0, + 223, 259, 259, 0, 0, 0, 0, 260, 260, 0, + 0, 0, 0, 0, 217, 215, 226, 227, 199, 200, + 201, 202, 204, 224, 0, 212, 213, 0, 0, 197, + 203, 206, 205, 207, 0, 223, 0, 0, 260, 260, + 0, 0, 228, 0, 0, 0, 0, 0, 261, 261, + 0, 0, 261, 261, 261, 261, 261, 0, 261, 0, + 0, 0, 0, 0, 0, 224, 0, 0, 0, 261, + 261, 261, 261, 261, 261, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 268, 268, 0, 224, 268, - 268, 268, 268, 268, 0, 0, 268, 268, 0, 268, - 268, 268, 268, 268, 268, 0, 268, 228, 0, 0, - 0, 259, 259, 0, 0, 259, 259, 259, 259, 259, - 0, 259, 0, 0, 224, 0, 0, 0, 0, 0, - 0, 0, 259, 259, 259, 259, 259, 259, 0, 0, - 0, 0, 0, 228, 0, 0, 0, 0, 260, 260, - 0, 0, 260, 260, 260, 260, 260, 0, 260, 0, - 0, 0, 0, 0, 0, 0, 0, 259, 259, 260, - 260, 260, 260, 260, 260, 0, 217, 215, 226, 227, - 199, 200, 201, 202, 204, 0, 0, 212, 213, 0, - 196, 197, 203, 206, 205, 207, 0, 223, 259, 259, - 0, 0, 0, 0, 260, 260, 0, 0, 0, 0, - 0, 0, 217, 215, 226, 227, 199, 200, 201, 202, - 204, 0, 0, 212, 213, 0, 0, 197, 203, 206, - 205, 207, 0, 223, 0, 260, 260, 261, 261, 0, - 0, 261, 261, 261, 261, 261, 0, 261, 0, 224, - 0, 0, 0, 0, 0, 0, 0, 0, 261, 261, - 261, 261, 261, 261, 257, 0, 0, 257, 228, 257, - 257, 257, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 257, 257, 257, 257, 257, 257, - 0, 0, 0, 261, 261, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 258, 0, 0, 258, - 0, 258, 258, 258, 0, 0, 0, 0, 0, 257, - 257, 0, 0, 0, 261, 261, 258, 258, 258, 258, - 258, 258, 0, 0, 0, 0, 0, 217, 215, 226, - 227, 199, 200, 201, 202, 204, 0, 0, 212, 213, - 257, 257, 0, 203, 206, 205, 207, 251, 223, 0, - 251, 258, 258, 251, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 251, 251, 0, - 251, 250, 251, 0, 250, 0, 0, 250, 0, 0, - 0, 0, 258, 258, 0, 0, 0, 252, 0, 0, - 252, 250, 250, 252, 250, 0, 250, 0, 0, 0, - 0, 0, 251, 251, 0, 0, 0, 252, 252, 0, - 252, 0, 252, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 250, 250, 0, 0, - 0, 0, 0, 251, 251, 0, 0, 0, 0, 0, - 0, 0, 252, 252, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 250, 250, 0, - 0, 0, 0, 0, 259, 259, 0, 0, 259, 259, - 259, 259, 259, 252, 252, 259, 259, 0, 259, 259, - 259, 259, 259, 259, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 261, 261, 0, 0, 0, 0, + 0, 217, 215, 226, 227, 199, 200, 201, 202, 204, + 0, 0, 212, 213, 0, 0, 0, 203, 206, 205, + 207, 0, 223, 0, 259, 261, 261, 257, 0, 0, + 257, 0, 257, 257, 257, 0, 0, 0, 0, 0, + 0, 0, 0, 217, 215, 226, 227, 257, 257, 257, + 257, 257, 257, 258, 212, 213, 258, 0, 258, 258, + 258, 260, 0, 0, 223, 0, 0, 0, 0, 0, + 0, 0, 0, 258, 258, 258, 258, 258, 258, 0, + 0, 0, 257, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 260, 260, 0, 0, 260, 260, 260, 260, 260, - 0, 0, 260, 260, 0, 260, 260, 260, 260, 260, - 260, 0, 0, 0, 267, 0, 0, 267, 0, 0, - 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 267, 267, 0, 267, 0, 267, + 0, 0, 0, 0, 249, 0, 0, 249, 258, 258, + 249, 0, 0, 257, 257, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 249, 249, 0, 249, 0, 249, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, + 258, 251, 0, 0, 251, 0, 0, 251, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 261, 249, + 249, 251, 251, 0, 251, 0, 251, 259, 259, 0, + 0, 259, 259, 259, 259, 259, 0, 0, 259, 259, + 0, 259, 259, 259, 259, 259, 259, 0, 0, 0, + 249, 249, 0, 0, 0, 0, 251, 251, 0, 0, + 0, 0, 0, 0, 260, 260, 0, 0, 260, 260, + 260, 260, 260, 0, 0, 260, 260, 0, 260, 260, + 260, 260, 260, 260, 0, 0, 0, 251, 251, 0, + 0, 0, 0, 0, 0, 250, 0, 0, 250, 0, + 0, 250, 0, 0, 0, 0, 257, 0, 0, 0, + 0, 0, 0, 0, 0, 250, 250, 0, 250, 0, + 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 258, 0, 0, 252, 0, 0, 252, 0, + 0, 252, 0, 0, 0, 0, 0, 0, 0, 0, + 250, 250, 0, 0, 0, 252, 252, 0, 252, 0, + 252, 261, 261, 0, 0, 261, 261, 261, 261, 261, + 0, 0, 261, 261, 0, 261, 261, 261, 261, 261, + 261, 250, 250, 249, 0, 0, 267, 0, 0, 267, + 252, 252, 267, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 267, 267, 0, 267, + 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, + 251, 252, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 248, 0, 0, 248, 0, 0, 248, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 267, - 267, 0, 0, 248, 248, 0, 248, 0, 248, 0, - 261, 261, 0, 0, 261, 261, 261, 261, 261, 0, - 0, 261, 261, 0, 261, 261, 261, 261, 261, 261, - 267, 267, 0, 0, 0, 0, 257, 257, 248, 248, - 257, 257, 257, 257, 257, 0, 0, 257, 257, 0, - 257, 257, 257, 257, 257, 257, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, - 248, 0, 0, 0, 0, 0, 0, 0, 258, 258, - 0, 0, 258, 258, 258, 258, 258, 0, 0, 258, - 258, 0, 258, 258, 258, 258, 258, 258, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 266, 0, 0, - 266, 0, 0, 266, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 266, 266, 0, - 266, 0, 266, 251, 251, 251, 251, 251, 0, 0, - 251, 251, 0, 251, 251, 251, 251, 251, 251, 0, - 0, 0, 0, 0, 0, 0, 0, 250, 250, 250, - 250, 250, 266, 266, 250, 250, 0, 250, 250, 250, - 250, 250, 250, 252, 252, 252, 252, 252, 0, 0, - 252, 252, 0, 252, 252, 252, 252, 252, 252, 247, - 0, 0, 247, 266, 266, 247, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 264, 0, 0, 264, 247, - 247, 264, 247, 0, 247, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 264, 264, 0, 264, 253, - 264, 0, 253, 0, 0, 253, 0, 0, 0, 0, - 0, 0, 0, 0, 247, 247, 0, 0, 0, 253, - 253, 0, 253, 0, 253, 0, 0, 0, 0, 0, - 264, 264, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 247, 247, 0, 0, 0, - 254, 0, 0, 254, 253, 253, 254, 0, 0, 0, - 0, 264, 264, 0, 0, 0, 0, 0, 0, 0, - 254, 254, 0, 254, 0, 254, 0, 0, 0, 0, - 267, 267, 267, 267, 267, 253, 253, 267, 267, 0, - 267, 267, 267, 267, 267, 267, 265, 0, 0, 265, - 0, 0, 0, 0, 0, 254, 254, 0, 0, 0, - 0, 0, 0, 265, 265, 0, 265, 0, 265, 248, - 248, 248, 248, 248, 0, 0, 248, 248, 0, 248, - 248, 248, 248, 248, 248, 0, 254, 254, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 265, 265, + 0, 267, 267, 0, 0, 0, 0, 0, 0, 257, + 257, 0, 0, 257, 257, 257, 257, 257, 0, 0, + 257, 257, 0, 257, 257, 257, 257, 257, 257, 0, + 0, 0, 267, 267, 0, 258, 258, 0, 0, 258, + 258, 258, 258, 258, 0, 0, 258, 258, 0, 258, + 258, 258, 258, 258, 258, 0, 0, 0, 0, 0, + 248, 0, 0, 248, 0, 0, 248, 0, 0, 0, + 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, + 248, 248, 0, 248, 0, 248, 0, 0, 0, 0, + 249, 249, 249, 249, 249, 0, 0, 249, 249, 0, + 249, 249, 249, 249, 249, 249, 0, 0, 0, 0, + 0, 129, 0, 139, 252, 248, 248, 0, 138, 0, + 0, 127, 0, 128, 0, 0, 0, 251, 251, 251, + 251, 251, 0, 0, 251, 251, 126, 251, 251, 251, + 251, 251, 251, 0, 0, 0, 248, 248, 0, 0, + 0, 266, 0, 0, 266, 0, 0, 266, 0, 0, + 0, 0, 0, 0, 0, 267, 0, 0, 0, 83, + 0, 266, 266, 0, 266, 0, 266, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 247, 0, 0, 247, 0, 0, 247, 0, 0, + 0, 0, 0, 0, 130, 0, 266, 266, 0, 0, + 0, 247, 247, 0, 247, 0, 247, 0, 0, 0, + 0, 250, 250, 250, 250, 250, 0, 0, 250, 250, + 0, 250, 250, 250, 250, 250, 250, 266, 266, 0, + 0, 0, 0, 0, 0, 0, 247, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 129, 0, 139, 0, 0, 0, 0, 138, 265, - 265, 127, 0, 128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 296, 0, - 0, 0, 0, 0, 0, 129, 0, 139, 0, 0, - 0, 0, 138, 0, 129, 127, 139, 128, 0, 0, - 0, 138, 0, 0, 127, 0, 128, 0, 0, 83, - 0, 0, 0, 0, 300, 0, 0, 0, 0, 126, - 0, 0, 0, 266, 266, 266, 266, 266, 0, 0, - 266, 266, 0, 266, 266, 266, 266, 266, 266, 0, - 0, 0, 0, 83, 130, 0, 0, 0, 0, 0, - 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, + 0, 252, 252, 252, 252, 252, 0, 0, 252, 252, + 0, 252, 252, 252, 252, 252, 252, 247, 247, 248, + 264, 0, 0, 264, 0, 0, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 130, 0, - 0, 0, 129, 0, 139, 0, 0, 130, 0, 138, - 0, 0, 127, 0, 128, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 247, 247, 247, 247, 247, - 292, 0, 247, 247, 0, 247, 247, 247, 247, 247, - 247, 264, 264, 264, 264, 264, 0, 0, 0, 0, - 0, 264, 264, 264, 264, 264, 264, 0, 0, 0, - 83, 0, 0, 0, 0, 253, 253, 253, 253, 253, - 0, 0, 0, 0, 0, 253, 253, 253, 253, 253, - 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 130, 0, 0, 172, 86, - 87, 88, 89, 90, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 254, 254, 254, 254, - 254, 0, 0, 0, 10, 0, 254, 254, 254, 254, - 254, 254, 172, 86, 87, 88, 89, 90, 0, 0, - 0, 135, 136, 87, 88, 89, 90, 0, 0, 0, - 0, 134, 0, 0, 0, 0, 0, 0, 10, 265, - 265, 265, 265, 265, 0, 0, 0, 10, 0, 265, - 265, 265, 265, 265, 265, 0, 0, 0, 137, 0, - 129, 0, 139, 0, 133, 134, 0, 138, 0, 0, - 127, 0, 128, 0, 134, 129, 0, 139, 0, 0, - 0, 0, 138, 0, 0, 127, 0, 128, 294, 0, - 0, 0, 137, 0, 0, 0, 0, 0, 133, 0, - 0, 137, 0, 0, 0, 0, 0, 133, 0, 172, - 86, 87, 88, 89, 90, 220, 0, 220, 83, 297, - 131, 132, 220, 0, 0, 220, 0, 220, 0, 0, - 129, 0, 139, 83, 0, 10, 0, 138, 0, 0, + 264, 264, 0, 264, 0, 264, 0, 0, 0, 0, + 0, 0, 267, 267, 267, 267, 267, 0, 0, 267, + 267, 0, 267, 267, 267, 267, 267, 267, 253, 0, + 0, 253, 0, 0, 253, 264, 264, 0, 135, 136, + 87, 88, 89, 90, 0, 0, 0, 0, 253, 253, + 0, 253, 0, 253, 0, 0, 254, 0, 0, 254, + 0, 0, 254, 0, 10, 0, 264, 264, 0, 0, + 266, 0, 0, 0, 0, 0, 254, 254, 0, 254, + 0, 254, 0, 253, 253, 0, 0, 0, 0, 0, + 0, 134, 0, 0, 0, 0, 0, 0, 0, 265, + 0, 0, 265, 0, 0, 0, 0, 0, 0, 0, + 247, 254, 254, 0, 253, 253, 265, 265, 137, 265, + 0, 265, 0, 0, 133, 0, 248, 248, 248, 248, + 248, 0, 0, 248, 248, 0, 248, 248, 248, 248, + 248, 248, 254, 254, 0, 0, 0, 0, 0, 0, + 205, 265, 265, 205, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 205, 205, 0, + 205, 0, 205, 0, 0, 0, 0, 0, 0, 0, + 131, 132, 265, 265, 0, 0, 0, 0, 129, 0, + 139, 0, 0, 0, 0, 138, 0, 0, 127, 264, + 128, 0, 205, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 298, 0, 266, 266, 266, + 266, 266, 0, 0, 266, 266, 0, 266, 266, 266, + 266, 266, 266, 0, 205, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 83, 253, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 247, 247, 247, + 247, 247, 0, 0, 247, 247, 0, 247, 247, 247, + 247, 247, 247, 0, 0, 254, 0, 0, 0, 0, + 129, 130, 139, 0, 0, 0, 0, 138, 0, 0, 127, 0, 128, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 301, 130, 131, 132, 0, 0, 0, 0, - 0, 0, 134, 131, 132, 341, 0, 0, 130, 0, - 129, 0, 139, 220, 0, 220, 0, 138, 0, 0, - 127, 0, 128, 0, 0, 0, 0, 0, 83, 137, - 0, 0, 0, 0, 0, 133, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 220, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 302, + 0, 0, 0, 0, 0, 265, 0, 129, 0, 139, + 0, 0, 0, 0, 138, 0, 0, 127, 0, 128, + 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, + 0, 0, 0, 0, 0, 294, 264, 264, 264, 264, + 264, 0, 0, 0, 0, 0, 264, 264, 264, 264, + 264, 264, 0, 0, 0, 0, 205, 0, 0, 0, + 0, 0, 0, 130, 0, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 130, 0, 0, 0, 0, 186, 0, + 0, 0, 0, 0, 253, 253, 253, 253, 253, 0, + 0, 0, 0, 0, 253, 253, 253, 253, 253, 253, + 130, 0, 0, 0, 0, 172, 86, 87, 88, 89, + 90, 0, 254, 254, 254, 254, 254, 0, 0, 0, + 0, 0, 254, 254, 254, 254, 254, 254, 0, 0, + 0, 10, 129, 0, 139, 0, 0, 0, 0, 138, + 0, 0, 127, 0, 128, 0, 0, 0, 0, 0, + 0, 0, 265, 265, 265, 265, 265, 0, 134, 0, + 296, 0, 265, 265, 265, 265, 265, 265, 129, 0, + 139, 0, 0, 0, 0, 138, 0, 0, 127, 0, + 128, 0, 0, 0, 0, 137, 0, 0, 0, 0, + 83, 133, 0, 0, 0, 0, 0, 172, 86, 87, + 88, 89, 90, 205, 205, 205, 205, 205, 0, 0, + 0, 0, 0, 205, 205, 205, 205, 205, 205, 0, + 0, 0, 0, 10, 0, 130, 83, 0, 0, 0, + 0, 0, 0, 0, 172, 86, 87, 88, 89, 90, + 0, 0, 129, 0, 139, 0, 299, 131, 132, 138, + 134, 0, 127, 0, 128, 129, 0, 139, 344, 0, + 10, 130, 138, 0, 0, 127, 0, 128, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 137, 0, 0, + 0, 0, 0, 133, 0, 0, 0, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 186, 137, 0, 0, 0, 0, 0, + 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 130, 0, 303, 0, 131, + 132, 0, 0, 0, 0, 0, 0, 0, 130, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, + 86, 87, 88, 89, 90, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 131, 132, 0, 0, + 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 172, 86, 87, 88, 89, + 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 134, 0, 0, 0, 0, 0, 0, 0, + 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, + 0, 0, 0, 0, 0, 133, 0, 0, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 131, 132, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 130, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, + 86, 87, 88, 89, 90, 137, 0, 0, 0, 0, + 0, 133, 172, 86, 87, 88, 89, 90, 0, 0, + 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, + 0, 131, 132, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 172, 86, 87, - 88, 89, 90, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 172, 86, 87, 88, 89, 90, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, + 0, 0, 134, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 134, 0, 131, 132, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, + 0, 0, 0, 0, 0, 133, 0, 0, 0, 0, + 0, 0, 187, 0, 0, 0, 0, 0, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 134, 0, 220, 220, 220, 220, 220, 220, 0, 0, - 0, 0, 0, 0, 0, 134, 0, 172, 86, 87, - 88, 89, 90, 0, 0, 0, 0, 137, 220, 0, - 0, 0, 0, 133, 0, 0, 0, 0, 0, 0, - 0, 0, 137, 10, 0, 0, 0, 0, 133, 0, - 0, 0, 0, 0, 0, 220, 0, 172, 86, 87, - 88, 89, 90, 0, 0, 0, 0, 0, 0, 0, - 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 220, 10, 0, 0, 0, 0, 220, 131, - 132, 0, 0, 0, 0, 0, 0, 137, 0, 0, - 0, 0, 0, 133, 131, 132, 0, 0, 0, 0, - 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 187, 0, 0, - 0, 0, 0, 133, 220, 220, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, - 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, - 132, + 0, 131, 132, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 131, 132, ); protected static $yyCheck = array(4, - 61, 62, 63, 120, 41, 46, 46, 44, 41, 124, - 60, 41, 154, 91, 46, 41, 91, 63, 44, 59, - 71, 125, 260, 84, 168, 44, 91, 126, 123, 34, - 35, 236, 58, 59, 40, 40, 260, 98, 126, 100, - 59, 40, 44, 37, 41, 91, 466, 44, 42, 43, - 91, 45, 169, 47, 105, 106, 61, 62, 63, 120, - 41, 58, 59, 126, 69, 70, 71, 93, 430, 436, - 44, 125, 37, 303, 91, 93, 300, 42, 59, 84, - 37, 38, 47, 63, 42, 42, 43, 125, 45, 509, - 47, 93, 97, 98, 40, 100, 93, 184, 44, 125, - 105, 106, 340, 60, 260, 62, 125, 125, 169, 314, - 58, 91, 93, 59, 481, 120, 536, 123, 179, 93, - 46, 263, 60, 125, 41, 543, 544, 44, 125, 59, - 286, 304, 126, 138, 40, 61, 91, 94, 44, 91, - 364, 58, 59, 44, 125, 507, 59, 59, 59, 330, - 44, 125, 570, 91, 260, 91, 260, 162, 163, 340, - 165, 126, 40, 224, 169, 37, 38, 124, 46, 126, - 42, 43, 259, 45, 179, 47, 93, 123, 103, 125, - 286, 268, 46, 41, 340, 260, 44, 93, 60, 194, - 62, 335, 93, 123, 336, 260, 338, 125, 403, 93, - 58, 59, 127, 128, 129, 130, 131, 132, 125, 134, - 123, 123, 123, 138, 260, 44, 311, 41, 360, 224, - 44, 286, 94, 228, 312, 340, 332, 257, 37, 154, - 44, 125, 331, 42, 43, 93, 45, 44, 47, 59, - 286, 40, 386, 331, 249, 320, 46, 46, 62, 312, - 46, 60, 59, 62, 126, 397, 181, 332, 183, 58, - 402, 260, 340, 350, 93, 340, 271, 125, 331, 93, - 91, 196, 197, 198, 199, 200, 201, 202, 203, 204, + 61, 62, 63, 154, 120, 60, 46, 41, 46, 40, + 44, 41, 91, 63, 260, 46, 91, 91, 91, 59, + 91, 168, 303, 84, 444, 58, 123, 71, 41, 34, + 35, 44, 124, 59, 59, 40, 304, 98, 125, 100, + 39, 91, 40, 40, 126, 58, 59, 185, 44, 63, + 49, 50, 51, 169, 300, 91, 61, 62, 63, 120, + 91, 105, 106, 59, 69, 70, 71, 260, 488, 91, + 534, 260, 261, 37, 125, 539, 237, 91, 42, 84, + 93, 37, 38, 47, 40, 41, 42, 43, 44, 45, + 46, 47, 97, 98, 340, 100, 125, 123, 123, 42, + 105, 106, 58, 59, 60, 61, 62, 63, 169, 439, + 41, 37, 125, 264, 46, 120, 42, 43, 179, 45, + 41, 47, 260, 44, 588, 260, 123, 44, 44, 125, + 44, 41, 270, 138, 44, 91, 37, 93, 94, 46, + 60, 42, 43, 607, 45, 44, 47, 340, 58, 59, + 271, 286, 44, 59, 618, 316, 59, 162, 163, 60, + 165, 62, 126, 224, 169, 330, 317, 260, 124, 125, + 126, 91, 125, 260, 179, 340, 93, 93, 103, 93, + 44, 44, 260, 93, 514, 260, 260, 260, 339, 194, + 341, 338, 126, 286, 93, 91, 46, 332, 62, 62, + 126, 93, 127, 128, 129, 130, 131, 132, 125, 134, + 260, 286, 286, 138, 311, 125, 367, 123, 356, 224, + 123, 93, 300, 228, 260, 126, 125, 260, 261, 154, + 312, 257, 257, 125, 344, 345, 286, 236, 260, 261, + 262, 263, 264, 265, 257, 250, 393, 320, 340, 331, + 286, 412, 41, 125, 405, 44, 181, 332, 183, 332, + 411, 340, 260, 401, 286, 340, 340, 340, 273, 340, + 391, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, - 215, 216, 217, 218, 219, 220, 221, 222, 223, 91, - 225, 300, 260, 402, 403, 260, 46, 394, 260, 451, - 40, 236, 260, 261, 402, 403, 46, 126, 312, 373, - 374, 61, 260, 340, 260, 261, 262, 263, 264, 265, - 44, 286, 260, 421, 286, 373, 374, 331, 263, 402, - 403, 266, 300, 64, 257, 257, 257, 312, 62, 33, - 286, 35, 260, 261, 441, 312, 40, 46, 286, 43, - 410, 45, 568, 569, 300, 364, 331, 292, 419, 294, - 410, 296, 297, 410, 331, 300, 301, 410, 410, 420, - 332, 260, 320, 525, 91, 340, 93, 593, 414, 314, - 59, 37, 38, 33, 332, 35, 42, 43, 91, 45, - 40, 47, 340, 43, 332, 45, 364, 91, 402, 403, - 346, 336, 39, 338, 60, 420, 62, 414, 415, 58, - 537, 300, 49, 50, 51, 430, 351, 421, 41, 260, - 41, 44, 260, 44, 260, 360, 578, 402, 403, 260, - 312, 125, 126, 400, 401, 402, 403, 58, 59, 471, - 472, 91, 344, 345, 411, 412, 421, 283, 286, 331, - 286, 340, 40, 388, 421, 286, 471, 472, 260, 300, - 41, 46, 397, 44, 300, 59, 537, 402, 403, 59, - 126, 406, 93, 58, 41, 125, 126, 44, 510, 41, - 41, 59, 44, 44, 286, 60, 41, 414, 415, 44, - 91, 41, 507, 312, 44, 510, 431, 59, 33, 514, - 35, 332, 310, 270, 125, 40, 273, 310, 43, 340, - 45, 410, 331, 300, 301, 302, 451, 452, 400, 401, - 402, 403, 537, 594, 459, 460, 41, 37, 364, 411, - 412, 93, 42, 43, 61, 45, 311, 47, 340, 421, - 373, 374, 33, 614, 35, 40, 414, 415, 310, 40, - 13, 14, 43, 488, 45, 123, 91, 260, 261, 262, - 263, 264, 265, 125, 58, 500, 260, 261, 262, 263, - 264, 265, 91, 280, 281, 282, 283, 284, 285, 594, - 287, 400, 401, 402, 403, 123, 41, 44, 123, 44, - 525, 126, 286, 528, 123, 530, 303, 58, 235, 614, - 91, 123, 421, 58, 59, 410, 61, 91, 63, 44, - 260, 261, 262, 263, 264, 265, 126, 93, 91, 313, - 105, 106, 41, 44, 61, 44, 300, 301, 302, 564, - 260, 49, 50, 51, 93, 126, 286, 257, 93, 58, - 59, 41, 61, 578, 63, 44, 340, 341, 342, 343, - 91, 41, 346, 123, 260, 41, 312, 125, 44, 260, - 40, 123, 58, 313, 40, 600, 360, 361, 362, 363, - 125, 365, 366, 59, 93, 331, 370, 371, 372, 373, - 374, 123, 40, 58, 125, 286, 41, 260, 260, 44, - 340, 341, 342, 343, 123, 41, 346, 125, 40, 300, - 301, 302, 93, 40, 59, 124, 125, 93, 402, 403, - 360, 361, 362, 363, 125, 365, 366, 61, 40, 40, - 370, 91, 372, 373, 374, 260, 261, 262, 263, 264, - 265, 332, 61, 41, 123, 41, 430, 125, 93, 125, - 125, 125, 340, 40, 400, 401, 402, 403, 40, 40, - 59, 286, 402, 403, 59, 411, 412, 40, 37, 40, - 340, 59, 40, 42, 43, 421, 45, 260, 47, 260, - 261, 262, 263, 264, 265, 41, 260, 41, 313, 59, - 430, 60, 41, 62, 61, 44, 340, 260, 261, 262, - 263, 264, 265, 414, 415, 286, 361, 59, 61, 58, - 59, 41, 286, 44, 93, 340, 341, 342, 343, 125, - 123, 346, 59, 286, 125, 40, 300, 301, 302, 364, - 44, 123, 313, 321, 91, 360, 361, 362, 363, 260, - 365, 366, 340, 41, 93, 370, 41, 372, 340, 280, - 281, 282, 283, 284, 285, 41, 287, 126, 332, 340, - 341, 342, 343, 123, 125, 346, 125, 59, 125, 371, - 125, 40, 303, 123, 59, 41, 125, 402, 403, 360, - 361, 362, 363, 346, 365, 366, 125, 125, 58, 370, - 125, 372, 41, 41, 37, 38, 44, 40, 41, 42, - 43, 44, 45, 334, 47, 430, 41, 123, 125, 44, - 58, 59, 123, 123, 93, 58, 59, 60, 61, 62, - 63, 402, 403, 58, 59, 41, 41, 257, 125, 58, - 91, 37, 38, 91, 40, 41, 42, 43, 44, 45, - 91, 47, 125, 93, 125, 93, 123, 125, 91, 430, - 93, 94, 58, 59, 59, 61, 62, 63, 93, 404, - 405, 406, 407, 408, 59, 41, 59, 41, 41, 414, - 415, 416, 417, 418, 419, 41, 364, 125, 41, 125, - 123, 124, 125, 126, 125, 91, 7, 93, 94, 6, - 125, 77, 102, 334, 514, 404, 405, 406, 407, 408, - 478, 472, 60, 59, 228, 414, 415, 416, 417, 418, - 419, 109, 489, 586, 501, 179, 550, 123, 124, 125, - 126, 550, 179, 280, 281, 282, 283, 284, 285, 339, - 287, 194, 37, 38, 238, 271, 41, 42, 43, 44, - 45, 46, 47, 312, 234, 165, 303, 31, -1, -1, - -1, -1, -1, 58, 59, 60, 61, 62, 63, 37, - 38, -1, 331, 41, 42, 43, 44, 45, -1, 47, - -1, -1, -1, 41, -1, -1, 44, 334, -1, -1, - 58, 59, 60, 61, 62, 63, 91, 526, 93, 94, - 58, 59, 531, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 41, -1, -1, 44, - -1, -1, -1, 91, 257, 93, 94, 260, -1, 124, - 125, 126, -1, 58, 59, 93, -1, 41, -1, -1, - 44, 400, 401, 402, 403, -1, -1, -1, -1, 91, - -1, 580, 411, 412, 58, 59, 124, 125, 126, 91, - -1, 257, 421, 38, 260, -1, 41, 125, 93, 44, - 599, -1, -1, -1, -1, 414, 415, 310, 311, 312, - 376, 610, -1, 58, 59, -1, 61, 320, 63, 93, - -1, -1, -1, 125, -1, -1, -1, 330, 331, 332, - 125, -1, -1, -1, -1, -1, -1, 340, 41, -1, - -1, 44, -1, 409, 310, 311, 312, -1, 93, 94, - -1, 125, -1, -1, 320, 58, 59, -1, -1, -1, - -1, -1, -1, -1, 330, 331, 332, -1, -1, -1, - -1, -1, -1, -1, 340, -1, -1, -1, 41, 124, - 125, 44, -1, -1, -1, -1, -1, -1, -1, -1, - 93, -1, 257, -1, -1, 58, 59, 400, 401, 402, - 403, 404, 405, 406, 407, 408, -1, 410, 411, 412, - -1, 414, 415, 416, 417, 418, 419, -1, 421, 414, - 415, -1, 125, -1, -1, -1, -1, -1, -1, -1, - 93, -1, -1, -1, 400, 401, 402, 403, 404, 405, - 406, 407, 408, -1, -1, 411, 412, 312, 414, 415, - 416, 417, 418, 419, -1, 421, -1, -1, -1, -1, - 526, -1, 125, -1, -1, 531, 331, -1, 280, 281, - 282, 283, 284, 285, 312, 287, -1, -1, 280, 281, - 282, 283, 284, 285, -1, 287, -1, -1, -1, -1, - -1, 303, -1, 331, -1, -1, -1, -1, -1, -1, - -1, 303, 340, 37, 38, 91, -1, 41, 42, 43, - 44, 45, 46, 47, 580, -1, -1, -1, -1, -1, - -1, -1, 334, -1, 58, 59, 60, 61, 62, 63, - -1, -1, 334, 599, -1, 400, 401, 402, 403, 404, - 405, 406, 407, 408, 610, -1, 411, 412, 97, 414, - 415, 416, 417, 418, 419, 420, 421, 91, -1, 93, - 94, -1, 400, 401, 402, 403, 404, 405, 406, 407, - 408, -1, 410, 411, 412, -1, 414, 415, 416, 417, - 418, 419, 420, 421, -1, -1, 414, 415, -1, 138, - 124, 125, 126, -1, -1, -1, -1, -1, -1, -1, + 215, 216, 217, 218, 219, 220, 221, 222, 223, 46, + 225, 257, 300, 91, 340, 37, 38, 260, 459, 260, + 42, 43, 237, 45, 61, 47, 41, 260, 59, 44, + 402, 403, 373, 374, 346, 33, 257, 35, 60, 64, + 62, 44, 40, 286, 40, 43, 257, 45, 44, 264, + 260, 266, 126, 268, 373, 374, 59, 257, 312, 300, + 46, 257, 490, 474, 46, 410, 312, 300, 373, 374, + 576, 577, 94, 58, 260, 61, 364, 331, 93, 294, + 410, 296, 410, 298, 299, 331, 410, 302, 303, 332, + 410, 46, 533, 91, 428, 601, 312, 93, 59, 420, + 286, 316, 317, 58, 126, 516, 33, 331, 35, 40, + 320, 414, 415, 40, 40, 331, 43, 59, 45, 40, + 46, 312, 332, 364, 339, 46, 341, 125, 126, 41, + 340, 364, 44, 544, 429, 350, 59, 352, 41, 545, + 331, 44, 357, 59, 439, 586, 332, 59, 402, 403, + 41, 60, 367, 44, 400, 401, 402, 403, 404, 405, + 406, 407, 408, 310, 91, 411, 412, 421, 414, 415, + 416, 417, 418, 419, 420, 421, 260, 41, 402, 403, + 395, 93, 260, 37, 479, 480, 402, 403, 42, 43, + 405, 45, 310, 47, 545, 59, 411, 412, 125, 126, + 415, 91, 286, 41, 41, 421, 44, 44, 286, 400, + 401, 402, 403, 125, 414, 415, 479, 480, 61, 514, + 260, 33, 517, 35, 41, 410, 521, 44, 40, 93, + 421, 43, 91, 45, 41, 13, 14, 44, 312, 105, + 106, 58, 59, 283, 459, 460, 286, 300, 301, 302, + 545, 602, 467, 468, 517, 41, 340, 331, 551, 552, + 300, 125, 260, 261, 262, 263, 264, 265, 311, 40, + 40, 622, 126, 123, 44, 46, 93, 40, 310, 91, + 495, 300, 301, 302, 350, 578, 352, 58, 286, 59, + 312, 91, 507, 93, 33, 91, 35, 58, 91, 41, + 123, 40, 44, 44, 43, 123, 45, 602, 125, 331, + 58, 123, 123, 410, 126, 313, 58, 59, 533, 44, + 93, 536, 44, 538, 364, 61, 93, 622, 402, 403, + 49, 50, 51, 260, 261, 262, 263, 264, 265, 257, + 260, 61, 340, 341, 342, 343, 41, 421, 346, 41, + 44, 93, 91, 123, 123, 125, 260, 572, 40, 286, + 125, 123, 360, 361, 362, 363, 123, 365, 366, 257, + 260, 586, 370, 371, 372, 373, 374, 257, 400, 401, + 402, 403, 58, 125, 40, 58, 313, 126, 260, 411, + 412, 260, 123, 608, 40, 40, 286, 41, 41, 421, + 93, 260, 40, 61, 402, 403, 40, 125, 40, 123, + 300, 301, 302, 340, 341, 342, 343, 91, 41, 346, + 91, 280, 281, 282, 283, 284, 285, 286, 287, 125, + 41, 40, 430, 360, 361, 362, 363, 125, 365, 366, + 257, 125, 332, 370, 303, 372, 373, 374, 260, 261, + 262, 263, 264, 265, 340, 125, 37, 38, 40, 40, + 41, 42, 43, 44, 45, 40, 47, 260, 261, 262, + 263, 264, 265, 332, 286, 402, 403, 58, 59, 60, + 61, 62, 63, 37, 38, 59, 40, 41, 42, 43, + 44, 45, 59, 47, 40, 280, 281, 282, 283, 284, + 285, 313, 287, 430, 58, 59, 40, 61, 62, 63, + 91, 340, 93, 94, 40, 257, 59, 260, 303, 41, + 41, 260, 261, 262, 263, 264, 265, 361, 340, 341, + 342, 343, 59, 61, 346, 340, 61, 91, 41, 93, + 94, 59, 123, 124, 125, 126, 91, 286, 360, 361, + 362, 363, 44, 365, 366, 93, 125, 123, 370, 91, + 372, 59, 125, 41, 44, 41, 44, 40, 44, 123, + 124, 125, 126, 364, 313, 123, 321, 260, 41, 41, + 58, 59, 58, 59, 340, 340, 123, 41, 59, 125, + 402, 403, 125, 40, 371, 125, 125, 414, 415, 123, + 59, 340, 341, 342, 343, 125, 41, 346, 58, 280, + 281, 282, 283, 284, 285, 93, 287, 93, 430, 125, + 41, 360, 361, 362, 363, 125, 365, 366, 123, 123, + 123, 370, 303, 372, 41, 93, 37, 38, 41, 125, + 41, 42, 43, 44, 45, 257, 47, 125, 58, 125, + 41, 125, 41, 44, 91, 44, 125, 58, 59, 60, + 61, 62, 63, 402, 403, 91, 91, 58, 59, 58, + 59, 93, 414, 415, 125, 123, 257, 59, 59, 260, + 41, 41, 59, 44, 41, 41, 364, 41, 41, 91, + 91, 430, 93, 94, 125, 125, 41, 58, 59, 44, + 7, 6, 93, 257, 93, 77, 260, 102, 337, 41, + 485, 521, 44, 58, 59, 260, 261, 262, 263, 264, + 265, 480, 60, 124, 125, 126, 59, 59, 260, 310, + 311, 312, 93, 109, 125, 179, 125, 228, 496, 320, + 508, 286, 594, 558, 558, 179, 342, 235, 93, 330, + 331, 332, 194, 165, 286, 300, 310, 311, 312, 340, + 273, 93, 239, 31, 125, -1, 320, -1, 300, 301, + 302, -1, -1, -1, -1, -1, 330, 331, 332, 257, + 125, 257, 91, -1, -1, -1, 340, 41, 37, 38, + 44, 40, 41, 42, 43, 44, 45, 46, 47, -1, + 332, 346, -1, -1, 58, 59, -1, -1, -1, 58, + 59, 60, 61, 62, 63, -1, -1, -1, -1, 400, + 401, 402, 403, 404, 405, 406, 407, 408, -1, 410, + 411, 412, -1, 414, 415, 416, 417, 418, 419, 93, + 421, -1, 91, -1, 93, 94, 400, 401, 402, 403, + 404, 405, 406, 407, 408, -1, 257, 411, 412, -1, + 414, 415, 416, 417, 418, 419, 257, 421, 257, -1, + -1, 125, -1, -1, -1, 124, 125, 126, 280, 281, + 282, 283, 284, 285, 91, 287, -1, -1, -1, -1, + -1, -1, -1, -1, 91, -1, 257, -1, 37, 38, + -1, 303, 41, 42, 43, 44, 45, 46, 47, -1, + -1, 312, 257, -1, -1, -1, -1, -1, 125, 58, + 59, 60, 61, 62, 63, 257, -1, -1, 125, -1, + 331, -1, 334, -1, -1, -1, 414, 415, 414, 340, 37, 38, -1, -1, 41, 42, 43, 44, 45, 46, - 47, -1, -1, -1, 163, -1, 165, -1, -1, 414, - 415, 58, 59, 60, 61, 62, 63, 37, 38, -1, - 179, 41, 42, 43, 44, 45, 46, 47, -1, -1, - 414, 415, -1, -1, -1, 194, -1, -1, 58, 59, - 60, 61, 62, 63, 91, -1, 93, 94, -1, 404, + 47, -1, 91, -1, 93, 94, -1, -1, -1, -1, + -1, 58, 59, 60, 61, 62, 63, -1, -1, -1, + -1, 280, 281, 282, 283, 284, 285, -1, 287, -1, + 41, -1, -1, 44, -1, 124, 125, 126, -1, -1, + -1, 300, 301, 302, 91, 304, 93, 94, 59, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 257, 410, + 411, 412, -1, 414, 415, 416, 417, 418, 419, 420, + 421, -1, -1, 414, 415, 414, 415, 124, 125, 126, + -1, -1, 93, -1, -1, -1, -1, 37, 38, -1, + -1, 41, 42, 43, 44, 45, -1, 47, -1, -1, + -1, -1, -1, 414, 415, -1, -1, -1, 58, 59, + 60, 61, 62, 312, 125, -1, -1, -1, -1, 414, + 415, -1, -1, 280, 281, 282, 283, 284, 285, -1, + 287, -1, 331, 280, 281, 282, 283, 284, 285, -1, + 287, -1, 37, 93, 94, -1, 303, 42, 43, -1, + 45, -1, 47, -1, -1, -1, 303, -1, -1, -1, + -1, -1, -1, -1, -1, 60, -1, 62, 257, -1, + -1, -1, -1, -1, 124, 125, 126, 334, -1, -1, + 41, -1, 41, 44, -1, 44, -1, 334, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 58, 59, 58, + 59, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 257, 41, 411, 412, 44, 414, 415, 416, 417, 418, + 419, 420, 421, 312, -1, -1, -1, -1, 58, 59, + -1, 126, 93, -1, 93, -1, -1, -1, -1, -1, + -1, -1, 331, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 37, 38, -1, -1, 41, 42, 43, 44, + 45, -1, 47, 93, 125, 312, 125, -1, 41, -1, + -1, 44, -1, 58, 59, 60, 61, 62, 63, -1, + -1, -1, -1, -1, 331, 58, 59, -1, -1, -1, + -1, 33, -1, 35, -1, 125, -1, -1, 40, -1, + -1, 43, -1, 45, -1, -1, -1, 257, 93, 94, + -1, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 93, -1, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, -1, -1, -1, -1, -1, -1, 124, + 125, 126, -1, -1, -1, -1, -1, -1, -1, 91, + -1, 93, 125, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 312, -1, 411, 412, -1, 414, 415, 416, + 417, 418, 419, 420, 421, -1, -1, -1, -1, -1, + 330, 331, -1, -1, 126, -1, 41, 37, 38, 44, + 340, 41, 42, 43, 44, 45, 257, 47, 257, -1, + 91, -1, -1, 58, 59, -1, -1, -1, 58, 59, + 60, 61, 62, 63, -1, -1, -1, 312, -1, -1, + -1, -1, -1, 37, 38, -1, 40, 257, 42, 43, + 44, 45, 46, 47, 125, -1, 331, -1, 93, -1, + -1, -1, -1, 93, 94, -1, 60, 61, 62, 63, + 400, 401, 402, 403, 404, 405, 406, 407, 408, -1, + -1, 411, 412, -1, 414, 415, 416, 417, 418, 419, + 125, 421, 257, -1, 124, 125, 126, 91, -1, 93, + 94, -1, -1, -1, 257, -1, -1, -1, 37, 38, + -1, 40, 41, 42, 43, 44, 45, 46, 47, -1, + -1, -1, 383, -1, -1, 400, 401, 402, 403, -1, + 124, 60, 126, 62, 63, -1, 411, 412, 260, 261, + 262, 263, 264, 265, 37, 38, 421, 312, -1, 42, + 43, 44, 45, -1, 47, -1, -1, 418, -1, -1, + -1, -1, 91, -1, 286, 94, 331, 60, 61, 62, + 63, -1, -1, 414, 415, 414, 415, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 313, -1, -1, -1, 124, -1, 126, 91, -1, + 93, 94, -1, -1, 414, 415, -1, -1, -1, 280, + 281, 282, 283, 284, 285, -1, 287, -1, 340, -1, + -1, -1, 257, -1, 346, -1, -1, 257, -1, -1, + -1, 124, 303, 126, -1, 400, 401, 402, 403, 404, 405, 406, 407, 408, -1, -1, 411, 412, -1, 414, - 415, 416, 417, 418, 419, 41, -1, -1, 44, -1, - -1, 91, -1, 93, 94, -1, -1, 124, 125, 126, - -1, -1, 58, 59, 280, 281, 282, 283, 284, 285, - 249, 287, -1, -1, -1, -1, -1, 91, -1, -1, - -1, 414, 415, -1, 124, 125, 126, 303, -1, 91, - -1, -1, 271, -1, 37, 38, -1, 93, 41, 42, + 415, 416, 417, 418, 419, -1, 421, -1, -1, -1, + -1, 414, 415, 334, 37, 38, -1, -1, 41, 42, + 43, 44, 45, 534, 47, -1, -1, -1, 539, -1, + 402, 403, 312, -1, -1, 58, 59, 60, 61, 62, + 63, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 331, -1, -1, -1, -1, -1, -1, -1, 37, + 38, -1, -1, 41, 42, 43, 44, 45, 312, 47, + 93, 94, -1, -1, -1, -1, -1, 588, 257, -1, + 58, 59, 60, 61, 62, 63, -1, 331, -1, -1, + -1, -1, -1, -1, 91, -1, 607, -1, -1, -1, + -1, 124, 125, -1, -1, -1, -1, 618, -1, -1, + -1, -1, -1, -1, -1, 93, 94, -1, -1, -1, + 400, 401, 402, 403, 404, 405, 406, 407, 408, -1, + -1, 411, 412, 312, 414, 415, 416, 417, 418, 419, + -1, 421, -1, -1, -1, -1, 124, 125, -1, -1, + -1, -1, 331, 91, -1, -1, 400, 401, 402, 403, + 404, 405, 406, 407, 408, -1, -1, 411, 412, 312, + 414, 415, 416, 417, 418, 419, 420, 421, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 331, -1, + -1, -1, -1, 37, 38, -1, -1, 41, 42, 43, + 44, 45, -1, 47, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 58, 59, 60, 61, 62, 63, + -1, 400, 401, 402, 403, 404, 405, 406, 407, 408, + -1, -1, 411, 412, 257, 414, 415, 416, 417, 418, + 419, 420, 421, -1, -1, -1, -1, -1, -1, 93, + 94, -1, -1, -1, -1, -1, -1, 400, 401, 402, + 403, 404, 405, 406, 407, 408, -1, 410, 411, 412, + -1, 414, 415, 416, 417, 418, 419, 420, 421, 257, + 124, 125, -1, 280, 281, 282, 283, 284, 285, 312, + 287, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 300, 301, 302, 303, -1, -1, -1, + -1, -1, -1, -1, 37, 38, -1, -1, 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 58, 59, 60, 61, 62, - 37, 38, -1, -1, 41, 42, 43, 44, 45, 125, - 47, -1, -1, -1, -1, 41, -1, -1, 44, -1, - -1, 58, 59, 60, 61, 62, 63, -1, 312, -1, - 93, 94, 58, 59, -1, -1, -1, -1, -1, -1, - -1, -1, 41, -1, -1, 44, -1, 331, -1, -1, - -1, -1, -1, -1, -1, -1, 93, 94, -1, 58, - 59, 124, 125, 126, -1, -1, -1, 93, -1, -1, + -1, -1, -1, -1, 312, 58, 59, 60, 61, 62, + 63, -1, 280, 281, 282, 283, 284, 285, -1, 287, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 124, 125, 126, - -1, -1, -1, -1, 93, -1, -1, -1, -1, 125, + -1, -1, 300, 301, 302, 303, -1, -1, -1, -1, + 93, 94, -1, -1, -1, -1, -1, 400, 401, 97, + -1, 404, 405, 406, 407, 408, -1, -1, 411, 412, + -1, 414, 415, 416, 417, 418, 419, -1, 421, -1, + -1, 124, 125, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 257, -1, -1, -1, -1, -1, -1, + 138, -1, 400, 401, -1, -1, 404, 405, 406, 407, + 408, -1, -1, 411, 412, -1, 414, 415, 416, 417, + 418, 419, -1, 421, -1, 163, -1, 165, 37, 38, + -1, -1, 41, 42, 43, 44, 45, -1, 47, -1, + -1, 179, -1, -1, -1, -1, -1, -1, 312, 58, + 59, 60, 61, 62, 63, -1, 194, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 400, 401, 402, 403, - 404, 405, 406, 407, 408, 312, 125, 411, 412, -1, - 414, 415, 416, 417, 418, 419, 420, 421, 260, -1, - -1, -1, -1, -1, 331, -1, 280, 281, 282, 283, - 284, 285, 312, 287, -1, -1, -1, -1, 280, 281, - 282, 283, 284, 285, 286, 287, 300, 301, 302, -1, - 304, 331, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 303, 37, 38, -1, -1, 41, 42, 43, 44, - 45, 46, 47, -1, -1, -1, -1, -1, -1, -1, - 341, -1, -1, -1, -1, 60, 61, 62, 63, -1, - 332, -1, -1, 400, 401, 402, 403, 404, 405, 406, - 407, 408, -1, -1, 411, 412, -1, 414, 415, 416, - 417, 418, 419, 420, 421, -1, 91, -1, -1, 94, - 400, 401, 402, 403, 404, 405, 406, 407, 408, 312, - -1, 411, 412, -1, 414, 415, 416, 417, 418, 419, - 420, 421, -1, -1, -1, -1, -1, 330, 331, 124, - -1, 126, -1, -1, -1, 312, -1, 340, -1, -1, + -1, 37, 38, -1, -1, 41, 42, 43, 44, 45, + -1, 47, -1, -1, 93, 94, -1, -1, -1, -1, + -1, -1, 58, 59, 60, 61, 62, 63, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 331, -1, -1, -1, 414, 415, - -1, -1, -1, 37, 38, 446, -1, 41, 42, 43, - 44, 45, 453, 47, -1, -1, -1, -1, -1, -1, - -1, 91, -1, -1, 58, 59, 60, 61, 62, 63, - -1, -1, -1, -1, -1, -1, -1, 400, 401, 402, - 403, 404, 405, 406, 407, 408, -1, -1, 411, 412, - -1, 414, 415, 416, 417, 418, 419, -1, 421, 93, - 94, -1, -1, 400, 401, 402, 403, 404, 405, 406, - 407, 408, -1, -1, 411, 412, 517, 414, 415, 416, - 417, 418, 419, 524, 421, -1, -1, -1, 414, 415, - 124, 125, 126, -1, 535, -1, -1, -1, -1, -1, - -1, -1, 257, -1, 37, 38, -1, -1, -1, 42, - 43, 44, 45, -1, 47, 414, 415, -1, -1, -1, - -1, -1, -1, -1, -1, 566, -1, 60, 61, 62, - 63, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 37, 38, -1, -1, -1, 42, 43, 44, 45, 46, - 47, -1, -1, -1, 595, -1, -1, 312, 91, -1, - 93, 94, -1, 60, 61, 62, 63, -1, -1, -1, - -1, -1, 613, -1, -1, -1, 331, 618, -1, -1, - 37, 38, 623, -1, 41, 42, 43, 44, 45, -1, - 47, 124, -1, 126, 91, -1, 93, 94, -1, -1, - -1, 58, 59, 60, 61, 62, 63, -1, -1, -1, - 280, 281, 282, 283, 284, 285, -1, 287, 37, 38, - -1, -1, 41, 42, 43, 44, 45, 124, 47, 126, - 300, 301, 302, 303, -1, -1, 93, 94, -1, 58, - 59, 60, 61, 62, 63, 400, 401, 402, 403, 404, - 405, 406, 407, 408, -1, -1, 411, 412, -1, 414, - 415, 416, 417, 418, 419, 420, 421, 124, 125, -1, - -1, -1, -1, -1, 93, 94, -1, -1, 312, -1, + -1, -1, 250, -1, 257, 124, 125, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 93, 94, -1, + -1, -1, -1, -1, -1, 273, 400, 401, -1, -1, + 404, 405, 406, 407, 408, -1, -1, 411, 412, -1, + 414, 415, 416, 417, 418, 419, -1, 421, 124, 125, + -1, -1, -1, -1, -1, -1, 37, 38, -1, 312, + 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, + 61, 62, 63, 37, 38, -1, -1, 41, 42, 43, + 44, 45, 344, 47, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 58, 59, 60, 61, 62, 63, + 37, 38, 93, 94, 41, 42, 43, -1, 45, -1, + 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 60, 61, 62, 63, -1, 257, 93, + 94, -1, -1, 124, 125, -1, -1, 400, 401, -1, + -1, 404, 405, 406, 407, 408, -1, -1, 411, 412, + -1, 414, 415, 416, 417, 418, 419, 94, 421, -1, + 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 257, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 312, -1, -1, -1, 124, -1, 126, + -1, -1, 454, -1, -1, -1, -1, -1, -1, 461, -1, -1, -1, -1, -1, -1, -1, -1, 37, 38, - -1, -1, 41, 42, 43, 44, 45, 331, 47, -1, - -1, -1, -1, -1, -1, 124, 125, -1, -1, 58, - 59, 60, 61, 62, 63, -1, -1, -1, -1, -1, + -1, -1, -1, 42, 43, -1, 45, -1, 47, -1, + -1, -1, -1, -1, -1, -1, 312, -1, -1, -1, + 59, 60, 61, 62, 63, -1, -1, -1, 37, 38, + -1, -1, -1, 42, 43, -1, 45, -1, 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 37, 38, -1, -1, 41, 42, 43, 44, - 45, -1, 47, -1, 93, 94, -1, -1, -1, -1, - -1, -1, -1, 58, 59, 60, 61, 62, 63, -1, - -1, -1, -1, -1, -1, -1, 400, 401, 402, 403, - 404, 405, 406, 407, 408, 124, 125, 411, 412, 312, - 414, 415, 416, 417, 418, 419, -1, 421, 93, 94, - -1, -1, -1, -1, -1, -1, -1, -1, 331, -1, - -1, -1, 37, 38, -1, -1, 41, 42, 43, 44, - 45, -1, 47, -1, -1, 312, -1, -1, -1, 124, - 125, -1, -1, 58, 59, 60, 61, 62, 63, 91, - -1, -1, -1, -1, 331, -1, -1, -1, -1, -1, - 37, 38, -1, -1, 41, 42, 43, 44, 45, -1, - 47, -1, -1, -1, -1, 312, -1, -1, 93, 94, - -1, 58, 59, 60, 61, 62, 63, 400, 401, 402, - 403, 404, 405, 406, 407, 408, -1, 410, 411, 412, - -1, 414, 415, 416, 417, 418, 419, 420, 421, 124, - 125, -1, -1, 312, -1, -1, 93, 94, -1, -1, - -1, -1, -1, 400, 401, 402, 403, 404, 405, 406, - 407, 408, -1, -1, 411, 412, -1, 414, 415, 416, - 417, 418, 419, 420, 421, -1, -1, 124, 125, -1, + -1, 60, 524, 62, -1, 94, 257, -1, -1, -1, + 532, 400, 401, -1, -1, 404, 405, 406, 407, 408, + -1, 543, 411, 412, -1, 414, 415, 416, 417, 418, + 419, -1, 421, 257, -1, 124, -1, 126, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 400, 401, -1, -1, 404, 405, 406, - 407, 408, -1, -1, 411, 412, -1, 414, 415, 416, - 417, 418, 419, 312, 421, -1, -1, -1, -1, -1, + -1, -1, 574, -1, 400, 401, -1, -1, 404, 405, + 406, 407, 408, -1, -1, 411, 412, 126, 414, 415, + 416, 417, 418, 419, -1, 421, -1, -1, -1, -1, + -1, 603, 37, 38, -1, -1, 41, 42, 43, -1, + 45, -1, 47, -1, -1, -1, -1, -1, -1, 621, + -1, -1, -1, -1, 626, 60, 61, 62, 63, 631, + -1, -1, -1, -1, -1, 312, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 400, 401, -1, -1, 404, 405, 406, 407, 408, + -1, -1, -1, -1, 331, -1, -1, -1, -1, 94, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 400, + 401, -1, -1, 404, 405, 406, 407, 408, -1, -1, + 411, 412, -1, 414, 415, 416, 417, 418, 419, 124, + 421, 126, -1, -1, -1, -1, 400, 401, -1, -1, + 404, 405, 406, 407, 408, -1, -1, 411, 412, -1, + 414, 415, 416, 417, 418, 419, -1, 421, -1, -1, + -1, -1, -1, 400, 401, 402, 403, 404, 405, 406, + 407, 408, -1, 41, 411, 412, 44, 414, 415, 416, + 417, 418, 419, 312, 421, -1, -1, -1, -1, -1, + 58, 59, -1, 61, -1, 63, -1, -1, -1, -1, + -1, -1, 331, -1, 37, 38, -1, -1, -1, 42, + 43, -1, 45, 312, 47, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 93, 59, 60, 61, 62, + 63, -1, 331, -1, -1, -1, -1, -1, -1, 37, + 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, + -1, -1, -1, -1, -1, -1, 124, 125, -1, -1, + -1, 94, 60, 61, 62, 63, -1, -1, -1, -1, + -1, 400, 401, 402, 403, 404, 405, 406, 407, 408, -1, -1, 411, 412, -1, 414, 415, 416, 417, 418, - 419, -1, 421, -1, 37, 38, -1, 312, 41, 42, - 43, -1, 45, -1, 47, -1, -1, -1, 280, 281, - 282, 283, 284, 285, -1, 287, -1, 60, 61, 62, - 63, -1, -1, -1, -1, -1, -1, -1, 300, 301, - 302, 303, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 400, 401, -1, -1, 404, 405, 406, 407, 408, - -1, 94, 411, 412, -1, 414, 415, 416, 417, 418, - 419, -1, 421, -1, -1, -1, -1, 312, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 124, -1, 126, -1, 400, 401, -1, -1, 404, + 419, 124, 421, 126, -1, -1, 94, -1, -1, -1, + -1, 400, 401, 402, 403, -1, -1, -1, -1, -1, + -1, -1, 411, 412, -1, -1, -1, 312, -1, -1, + -1, -1, 421, -1, -1, -1, 124, -1, 126, -1, + -1, -1, -1, -1, -1, -1, 331, -1, -1, -1, + 37, 38, -1, -1, 41, 42, 43, -1, 45, -1, + 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 60, 61, 62, 63, -1, 37, 38, + -1, -1, 41, 42, 43, -1, 45, -1, 47, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 257, + -1, 60, 61, 62, 63, -1, -1, 94, -1, -1, + -1, -1, -1, -1, -1, 400, 401, 402, 403, 404, 405, 406, 407, 408, -1, -1, 411, 412, -1, 414, - 415, 416, 417, 418, 419, 312, 421, -1, -1, -1, + 415, 416, 417, 418, 419, 94, 421, 124, -1, 126, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 37, 38, -1, -1, - -1, 42, 43, -1, 45, -1, 47, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 59, 60, - 61, 62, 63, -1, -1, 400, 401, -1, -1, 404, - 405, 406, 407, 408, -1, -1, 411, 412, -1, 414, - 415, 416, 417, 418, 419, -1, 421, -1, -1, -1, - -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 400, 401, -1, -1, 404, 405, 406, - 407, 408, -1, -1, 411, 412, -1, 414, 415, 416, - 417, 418, 419, 124, 421, 126, -1, -1, -1, -1, - -1, -1, -1, 37, 38, -1, -1, 41, 42, 43, - -1, 45, -1, 47, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 60, 61, 62, 63, - 37, 38, -1, -1, -1, 42, 43, -1, 45, -1, - 47, -1, -1, -1, -1, -1, -1, -1, -1, 312, - -1, -1, 59, 60, 61, 62, 63, -1, -1, -1, - 94, -1, -1, -1, -1, -1, -1, -1, 331, -1, - 37, 38, -1, -1, 41, 42, 43, -1, 45, -1, - 47, -1, -1, -1, -1, -1, -1, 94, -1, -1, - 124, -1, 126, 60, 61, 62, 63, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 124, -1, 126, - -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, + -1, -1, -1, -1, -1, 124, -1, 126, -1, -1, + -1, -1, -1, -1, -1, 37, 38, -1, -1, 41, + 42, 43, -1, 45, -1, 47, -1, -1, -1, 312, + -1, -1, -1, -1, -1, -1, -1, -1, 60, 61, + 62, 63, -1, -1, -1, -1, -1, -1, 331, -1, + 37, 38, -1, -1, 41, 42, 43, -1, 45, -1, + 47, -1, -1, -1, 312, -1, -1, -1, -1, -1, + -1, -1, 94, 60, 61, 62, 63, -1, -1, -1, + -1, -1, -1, 331, -1, -1, 404, 405, 406, 407, + 408, -1, -1, -1, -1, -1, 414, 415, 416, 417, + 418, 419, 124, -1, 126, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, 400, 401, 402, 403, 404, 405, 406, 407, 408, -1, -1, 411, 412, -1, 414, 415, 416, 417, 418, 419, 124, 421, 126, - -1, -1, -1, -1, -1, -1, -1, 37, 38, -1, - -1, 41, 42, 43, -1, 45, -1, 47, -1, -1, - -1, 312, -1, -1, -1, -1, -1, -1, -1, -1, - 60, 61, 62, 63, -1, -1, -1, -1, -1, -1, - 331, -1, 37, 38, -1, -1, 41, 42, 43, -1, - 45, -1, 47, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 94, 60, 61, 62, 63, -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, 124, -1, 126, -1, -1, 94, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 400, - 401, 402, 403, 404, 405, 406, 407, 408, 312, -1, - 411, 412, -1, 414, 415, 416, 417, 418, 419, 124, - 421, 126, -1, -1, -1, -1, -1, 331, -1, -1, - -1, -1, -1, 37, 38, 312, -1, 41, 42, 43, - -1, 45, -1, 47, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 331, -1, 60, 61, 62, 63, - -1, 37, 38, -1, -1, 41, 42, 43, -1, 45, - -1, 47, -1, -1, -1, 312, -1, -1, -1, -1, - -1, -1, -1, -1, 60, 61, 62, 63, -1, -1, - 94, -1, -1, -1, 331, -1, 400, 401, 402, 403, - 404, 405, 406, 407, 408, -1, -1, 411, 412, -1, - 414, 415, 416, 417, 418, 419, -1, 421, 94, -1, - 124, -1, 126, 400, 401, 402, 403, 404, 405, 406, + -1, -1, 400, 401, 402, 403, 404, 405, 406, 407, + 408, -1, -1, 411, 412, 312, 414, 415, 416, 417, + 418, 419, -1, 421, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 331, -1, -1, -1, -1, -1, + -1, 37, 38, 312, -1, -1, 42, 43, -1, 45, + -1, 47, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 331, 59, 60, 61, 62, 63, 37, 38, + -1, -1, -1, 42, 43, -1, 45, -1, 47, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 58, + -1, 60, 61, 62, 63, -1, -1, -1, 94, -1, + -1, -1, -1, 400, 401, 402, 403, 404, 405, 406, 407, 408, -1, -1, 411, 412, -1, 414, 415, 416, - 417, 418, 419, -1, 421, -1, -1, -1, 124, -1, - 126, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 417, 418, 419, -1, 421, 94, -1, -1, 124, -1, + 126, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 312, -1, 411, 412, -1, 414, 415, 416, 417, 418, + 419, -1, 421, -1, -1, 124, -1, 126, -1, 331, + -1, -1, -1, -1, -1, -1, 37, 38, -1, -1, + -1, 42, 43, -1, 45, 312, 47, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, + 61, 62, 63, -1, 331, -1, -1, -1, -1, -1, + -1, 37, 38, -1, -1, -1, 42, 43, -1, 45, + -1, 47, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 94, 60, 61, 62, 63, 400, 401, + 402, 403, 404, 405, 406, 407, 408, -1, -1, 411, + 412, -1, 414, 415, 416, 417, 418, 419, -1, 421, + -1, -1, -1, 124, -1, 126, -1, -1, 94, -1, -1, -1, -1, 400, 401, 402, 403, 404, 405, 406, - 407, 408, 312, -1, 411, 412, -1, 414, 415, 416, - 417, 418, 419, -1, 421, -1, -1, -1, -1, -1, - -1, 331, -1, 37, 38, -1, -1, -1, 42, 43, - -1, 45, -1, 47, -1, -1, -1, 312, -1, -1, - -1, -1, -1, -1, -1, 59, 60, 61, 62, 63, - -1, -1, -1, -1, -1, -1, 331, -1, 37, 38, + 407, 408, -1, -1, 411, 412, -1, 414, 415, 416, + 417, 418, 419, -1, 421, -1, -1, -1, 124, -1, + 126, -1, -1, -1, -1, -1, -1, -1, 37, 38, -1, -1, -1, 42, 43, -1, 45, -1, 47, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 58, - 94, 60, 61, 62, 63, -1, -1, -1, -1, -1, - 400, 401, 402, 403, 404, 405, 406, 407, 408, -1, - -1, 411, 412, -1, 414, 415, 416, 417, 418, 419, - 124, 421, 126, -1, -1, 94, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 400, 401, 402, 403, 404, - 405, 406, 407, 408, -1, -1, 411, 412, 312, 414, - 415, 416, 417, 418, 419, 124, 421, 126, 37, 38, - -1, -1, 41, 42, 43, 44, 45, 331, 47, -1, - -1, -1, -1, -1, -1, -1, 312, -1, -1, 58, - 59, 60, 61, 62, 63, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 312, -1, -1, -1, + -1, 60, 61, 62, 63, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 331, -1, -1, -1, -1, - -1, -1, 37, 38, -1, -1, 41, 42, 43, 44, - 45, -1, 47, -1, 93, 94, -1, -1, -1, -1, - -1, -1, -1, 58, 59, 60, 61, 62, 63, -1, - -1, -1, -1, -1, -1, -1, 400, 401, 402, 403, - 404, 405, 406, 407, 408, 124, 125, 411, 412, -1, - 414, 415, 416, 417, 418, 419, -1, 421, 93, 94, + 37, 38, -1, 312, -1, 42, 43, -1, 45, -1, + 47, -1, -1, -1, -1, 94, -1, -1, -1, -1, + -1, -1, 331, 60, -1, 62, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 124, -1, 126, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, 400, 401, 402, 403, 404, 405, 406, 407, 408, -1, -1, 411, 412, -1, 414, 415, - 416, 417, 418, 419, -1, 421, -1, -1, -1, 124, - 125, -1, -1, 37, 38, -1, -1, -1, 42, 43, - -1, 45, -1, 47, -1, -1, -1, -1, 312, -1, - -1, -1, -1, -1, -1, -1, 60, 61, 62, 63, - -1, -1, -1, -1, -1, -1, -1, 331, -1, 37, - 38, -1, -1, -1, 42, 43, -1, 45, -1, 47, - -1, -1, -1, 312, -1, -1, -1, -1, -1, -1, - 94, -1, 60, 61, 62, 63, -1, -1, -1, -1, - -1, -1, 331, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 124, -1, 126, -1, -1, -1, 94, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 400, 401, 402, 403, - 404, 405, 406, 407, 408, -1, -1, 411, 412, -1, - 414, 415, 416, 417, 418, 419, 124, 421, 126, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 416, 417, 418, 419, -1, 421, -1, 124, -1, 126, -1, 400, 401, 402, 403, 404, 405, 406, 407, 408, - -1, -1, 411, 412, -1, 414, 415, 416, 417, 418, - 419, -1, 421, -1, 37, 38, -1, -1, -1, 42, - 43, -1, 45, -1, 47, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 60, 61, 62, - 63, -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, 94, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 400, 401, -1, -1, 404, 405, 406, 407, 408, - -1, -1, 411, 412, -1, 414, 415, 416, 417, 418, - 419, 124, 421, 126, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 400, 401, -1, 312, 404, - 405, 406, 407, 408, -1, -1, 411, 412, -1, 414, - 415, 416, 417, 418, 419, -1, 421, 331, -1, -1, + -1, 312, 411, 412, -1, 414, 415, 416, 417, 418, + 419, -1, 421, -1, -1, -1, -1, -1, -1, -1, + 331, -1, -1, -1, 37, 38, -1, -1, 41, 42, + 43, 44, 45, -1, 47, -1, 312, -1, -1, -1, + -1, -1, -1, -1, -1, 58, 59, 60, 61, 62, + 63, -1, -1, -1, -1, 331, -1, -1, -1, -1, -1, 37, 38, -1, -1, 41, 42, 43, 44, 45, - -1, 47, -1, -1, 312, -1, -1, -1, -1, -1, - -1, -1, 58, 59, 60, 61, 62, 63, -1, -1, - -1, -1, -1, 331, -1, -1, -1, -1, 37, 38, + -1, 47, -1, -1, -1, -1, -1, -1, -1, -1, + 93, 94, 58, 59, 60, 61, 62, 63, -1, 400, + 401, 402, 403, 404, 405, 406, 407, 408, -1, -1, + 411, 412, -1, 414, 415, 416, 417, 418, 419, -1, + 421, 124, 125, -1, -1, -1, -1, 93, 94, -1, + -1, -1, -1, -1, 400, 401, 402, 403, 404, 405, + 406, 407, 408, 312, -1, 411, 412, -1, -1, 415, + 416, 417, 418, 419, -1, 421, -1, -1, 124, 125, + -1, -1, 331, -1, -1, -1, -1, -1, 37, 38, -1, -1, 41, 42, 43, 44, 45, -1, 47, -1, - -1, -1, -1, -1, -1, -1, -1, 93, 94, 58, - 59, 60, 61, 62, 63, -1, 400, 401, 402, 403, - 404, 405, 406, 407, 408, -1, -1, 411, 412, -1, - 414, 415, 416, 417, 418, 419, -1, 421, 124, 125, + -1, -1, -1, -1, -1, 312, -1, -1, -1, 58, + 59, 60, 61, 62, 63, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 331, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 93, 94, -1, -1, -1, -1, - -1, -1, 400, 401, 402, 403, 404, 405, 406, 407, - 408, -1, -1, 411, 412, -1, -1, 415, 416, 417, - 418, 419, -1, 421, -1, 124, 125, 37, 38, -1, - -1, 41, 42, 43, 44, 45, -1, 47, -1, 312, - -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, - 60, 61, 62, 63, 38, -1, -1, 41, 331, 43, - 44, 45, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 58, 59, 60, 61, 62, 63, - -1, -1, -1, 93, 94, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 38, -1, -1, 41, - -1, 43, 44, 45, -1, -1, -1, -1, -1, 93, - 94, -1, -1, -1, 124, 125, 58, 59, 60, 61, - 62, 63, -1, -1, -1, -1, -1, 400, 401, 402, - 403, 404, 405, 406, 407, 408, -1, -1, 411, 412, - 124, 125, -1, 416, 417, 418, 419, 38, 421, -1, - 41, 93, 94, 44, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 58, 59, -1, - 61, 38, 63, -1, 41, -1, -1, 44, -1, -1, - -1, -1, 124, 125, -1, -1, -1, 38, -1, -1, - 41, 58, 59, 44, 61, -1, 63, -1, -1, -1, - -1, -1, 93, 94, -1, -1, -1, 58, 59, -1, - 61, -1, 63, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 93, 94, -1, -1, - -1, -1, -1, 124, 125, -1, -1, -1, -1, -1, + -1, 400, 401, 402, 403, 404, 405, 406, 407, 408, + -1, -1, 411, 412, -1, -1, -1, 416, 417, 418, + 419, -1, 421, -1, 257, 124, 125, 38, -1, -1, + 41, -1, 43, 44, 45, -1, -1, -1, -1, -1, + -1, -1, -1, 400, 401, 402, 403, 58, 59, 60, + 61, 62, 63, 38, 411, 412, 41, -1, 43, 44, + 45, 257, -1, -1, 421, -1, -1, -1, -1, -1, + -1, -1, -1, 58, 59, 60, 61, 62, 63, -1, -1, -1, 93, 94, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 124, 125, -1, - -1, -1, -1, -1, 400, 401, -1, -1, 404, 405, - 406, 407, 408, 124, 125, 411, 412, -1, 414, 415, - 416, 417, 418, 419, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 400, 401, -1, -1, 404, 405, 406, 407, 408, - -1, -1, 411, 412, -1, 414, 415, 416, 417, 418, - 419, -1, -1, -1, 38, -1, -1, 41, -1, -1, - 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 38, -1, -1, 41, 93, 94, + 44, -1, -1, 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, -1, 61, -1, 63, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 38, -1, -1, 41, -1, -1, 44, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 93, - 94, -1, -1, 58, 59, -1, 61, -1, 63, -1, - 400, 401, -1, -1, 404, 405, 406, 407, 408, -1, - -1, 411, 412, -1, 414, 415, 416, 417, 418, 419, - 124, 125, -1, -1, -1, -1, 400, 401, 93, 94, - 404, 405, 406, 407, 408, -1, -1, 411, 412, -1, - 414, 415, 416, 417, 418, 419, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 124, - 125, -1, -1, -1, -1, -1, -1, -1, 400, 401, - -1, -1, 404, 405, 406, 407, 408, -1, -1, 411, - 412, -1, 414, 415, 416, 417, 418, 419, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 38, -1, -1, - 41, -1, -1, 44, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 58, 59, -1, - 61, -1, 63, 404, 405, 406, 407, 408, -1, -1, + 125, 38, -1, -1, 41, -1, -1, 44, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 257, 93, + 94, 58, 59, -1, 61, -1, 63, 400, 401, -1, + -1, 404, 405, 406, 407, 408, -1, -1, 411, 412, + -1, 414, 415, 416, 417, 418, 419, -1, -1, -1, + 124, 125, -1, -1, -1, -1, 93, 94, -1, -1, + -1, -1, -1, -1, 400, 401, -1, -1, 404, 405, + 406, 407, 408, -1, -1, 411, 412, -1, 414, 415, + 416, 417, 418, 419, -1, -1, -1, 124, 125, -1, + -1, -1, -1, -1, -1, 38, -1, -1, 41, -1, + -1, 44, -1, -1, -1, -1, 257, -1, -1, -1, + -1, -1, -1, -1, -1, 58, 59, -1, 61, -1, + 63, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 257, -1, -1, 38, -1, -1, 41, -1, + -1, 44, -1, -1, -1, -1, -1, -1, -1, -1, + 93, 94, -1, -1, -1, 58, 59, -1, 61, -1, + 63, 400, 401, -1, -1, 404, 405, 406, 407, 408, + -1, -1, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 124, 125, 257, -1, -1, 38, -1, -1, 41, + 93, 94, 44, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 58, 59, -1, 61, + -1, 63, -1, -1, -1, -1, -1, -1, -1, -1, + 257, 124, 125, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 93, 94, -1, -1, -1, -1, -1, -1, 400, + 401, -1, -1, 404, 405, 406, 407, 408, -1, -1, 411, 412, -1, 414, 415, 416, 417, 418, 419, -1, - -1, -1, -1, -1, -1, -1, -1, 404, 405, 406, - 407, 408, 93, 94, 411, 412, -1, 414, 415, 416, - 417, 418, 419, 404, 405, 406, 407, 408, -1, -1, - 411, 412, -1, 414, 415, 416, 417, 418, 419, 38, - -1, -1, 41, 124, 125, 44, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 38, -1, -1, 41, 58, - 59, 44, 61, -1, 63, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 58, 59, -1, 61, 38, - 63, -1, 41, -1, -1, 44, -1, -1, -1, -1, - -1, -1, -1, -1, 93, 94, -1, -1, -1, 58, - 59, -1, 61, -1, 63, -1, -1, -1, -1, -1, - 93, 94, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 124, 125, -1, -1, -1, - 38, -1, -1, 41, 93, 94, 44, -1, -1, -1, - -1, 124, 125, -1, -1, -1, -1, -1, -1, -1, - 58, 59, -1, 61, -1, 63, -1, -1, -1, -1, - 404, 405, 406, 407, 408, 124, 125, 411, 412, -1, - 414, 415, 416, 417, 418, 419, 41, -1, -1, 44, - -1, -1, -1, -1, -1, 93, 94, -1, -1, -1, - -1, -1, -1, 58, 59, -1, 61, -1, 63, 404, + -1, -1, 124, 125, -1, 400, 401, -1, -1, 404, 405, 406, 407, 408, -1, -1, 411, 412, -1, 414, - 415, 416, 417, 418, 419, -1, 124, 125, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 93, 94, + 415, 416, 417, 418, 419, -1, -1, -1, -1, -1, + 38, -1, -1, 41, -1, -1, 44, -1, -1, -1, + -1, -1, -1, -1, 257, -1, -1, -1, -1, -1, + 58, 59, -1, 61, -1, 63, -1, -1, -1, -1, + 404, 405, 406, 407, 408, -1, -1, 411, 412, -1, + 414, 415, 416, 417, 418, 419, -1, -1, -1, -1, + -1, 33, -1, 35, 257, 93, 94, -1, 40, -1, + -1, 43, -1, 45, -1, -1, -1, 404, 405, 406, + 407, 408, -1, -1, 411, 412, 58, 414, 415, 416, + 417, 418, 419, -1, -1, -1, 124, 125, -1, -1, + -1, 38, -1, -1, 41, -1, -1, 44, -1, -1, + -1, -1, -1, -1, -1, 257, -1, -1, -1, 91, + -1, 58, 59, -1, 61, -1, 63, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 38, -1, -1, 41, -1, -1, 44, -1, -1, + -1, -1, -1, -1, 126, -1, 93, 94, -1, -1, + -1, 58, 59, -1, 61, -1, 63, -1, -1, -1, + -1, 404, 405, 406, 407, 408, -1, -1, 411, 412, + -1, 414, 415, 416, 417, 418, 419, 124, 125, -1, + -1, -1, -1, -1, -1, -1, 93, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 33, -1, 35, -1, -1, -1, -1, 40, 124, - 125, 43, -1, 45, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, - -1, -1, -1, -1, -1, 33, -1, 35, -1, -1, - -1, -1, 40, -1, 33, 43, 35, 45, -1, -1, - -1, 40, -1, -1, 43, -1, 45, -1, -1, 91, - -1, -1, -1, -1, 62, -1, -1, -1, -1, 58, - -1, -1, -1, 404, 405, 406, 407, 408, -1, -1, - 411, 412, -1, 414, 415, 416, 417, 418, 419, -1, - -1, -1, -1, 91, 126, -1, -1, -1, -1, -1, - -1, -1, 91, -1, -1, -1, -1, -1, -1, -1, + -1, 404, 405, 406, 407, 408, -1, -1, 411, 412, + -1, 414, 415, 416, 417, 418, 419, 124, 125, 257, + 38, -1, -1, 41, -1, -1, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 126, -1, - -1, -1, 33, -1, 35, -1, -1, 126, -1, 40, - -1, -1, 43, -1, 45, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 404, 405, 406, 407, 408, - 61, -1, 411, 412, -1, 414, 415, 416, 417, 418, - 419, 404, 405, 406, 407, 408, -1, -1, -1, -1, - -1, 414, 415, 416, 417, 418, 419, -1, -1, -1, - 91, -1, -1, -1, -1, 404, 405, 406, 407, 408, - -1, -1, -1, -1, -1, 414, 415, 416, 417, 418, - 419, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 126, -1, -1, 260, 261, - 262, 263, 264, 265, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 404, 405, 406, 407, - 408, -1, -1, -1, 286, -1, 414, 415, 416, 417, - 418, 419, 260, 261, 262, 263, 264, 265, -1, -1, - -1, 260, 261, 262, 263, 264, 265, -1, -1, -1, - -1, 313, -1, -1, -1, -1, -1, -1, 286, 404, - 405, 406, 407, 408, -1, -1, -1, 286, -1, 414, - 415, 416, 417, 418, 419, -1, -1, -1, 340, -1, - 33, -1, 35, -1, 346, 313, -1, 40, -1, -1, - 43, -1, 45, -1, 313, 33, -1, 35, -1, -1, - -1, -1, 40, -1, -1, 43, -1, 45, 61, -1, - -1, -1, 340, -1, -1, -1, -1, -1, 346, -1, - -1, 340, -1, -1, -1, -1, -1, 346, -1, 260, - 261, 262, 263, 264, 265, 33, -1, 35, 91, 401, - 402, 403, 40, -1, -1, 43, -1, 45, -1, -1, - 33, -1, 35, 91, -1, 286, -1, 40, -1, -1, + 58, 59, -1, 61, -1, 63, -1, -1, -1, -1, + -1, -1, 404, 405, 406, 407, 408, -1, -1, 411, + 412, -1, 414, 415, 416, 417, 418, 419, 38, -1, + -1, 41, -1, -1, 44, 93, 94, -1, 260, 261, + 262, 263, 264, 265, -1, -1, -1, -1, 58, 59, + -1, 61, -1, 63, -1, -1, 38, -1, -1, 41, + -1, -1, 44, -1, 286, -1, 124, 125, -1, -1, + 257, -1, -1, -1, -1, -1, 58, 59, -1, 61, + -1, 63, -1, 93, 94, -1, -1, -1, -1, -1, + -1, 313, -1, -1, -1, -1, -1, -1, -1, 41, + -1, -1, 44, -1, -1, -1, -1, -1, -1, -1, + 257, 93, 94, -1, 124, 125, 58, 59, 340, 61, + -1, 63, -1, -1, 346, -1, 404, 405, 406, 407, + 408, -1, -1, 411, 412, -1, 414, 415, 416, 417, + 418, 419, 124, 125, -1, -1, -1, -1, -1, -1, + 41, 93, 94, 44, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 58, 59, -1, + 61, -1, 63, -1, -1, -1, -1, -1, -1, -1, + 402, 403, 124, 125, -1, -1, -1, -1, 33, -1, + 35, -1, -1, -1, -1, 40, -1, -1, 43, 257, + 45, -1, 93, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 60, -1, 404, 405, 406, + 407, 408, -1, -1, 411, 412, -1, 414, 415, 416, + 417, 418, 419, -1, 125, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 91, 257, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 404, 405, 406, + 407, 408, -1, -1, 411, 412, -1, 414, 415, 416, + 417, 418, 419, -1, -1, 257, -1, -1, -1, -1, + 33, 126, 35, -1, -1, -1, -1, 40, -1, -1, 43, -1, 45, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 400, 126, 402, 403, -1, -1, -1, -1, - -1, -1, 313, 402, 403, 123, -1, -1, 126, -1, - 33, -1, 35, 91, -1, 93, -1, 40, -1, -1, - 43, -1, 45, -1, -1, -1, -1, -1, 91, 340, - -1, -1, -1, -1, -1, 346, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 126, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, + -1, -1, -1, -1, -1, 257, -1, 33, -1, 35, + -1, -1, -1, -1, 40, -1, -1, 43, -1, 45, + -1, -1, -1, -1, -1, -1, -1, -1, 91, -1, + -1, -1, -1, -1, -1, 61, 404, 405, 406, 407, + 408, -1, -1, -1, -1, -1, 414, 415, 416, 417, + 418, 419, -1, -1, -1, -1, 257, -1, -1, -1, + -1, -1, -1, 126, -1, 91, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 126, -1, -1, -1, -1, 91, -1, + -1, -1, -1, -1, 404, 405, 406, 407, 408, -1, + -1, -1, -1, -1, 414, 415, 416, 417, 418, 419, + 126, -1, -1, -1, -1, 260, 261, 262, 263, 264, + 265, -1, 404, 405, 406, 407, 408, -1, -1, -1, + -1, -1, 414, 415, 416, 417, 418, 419, -1, -1, + -1, 286, 33, -1, 35, -1, -1, -1, -1, 40, + -1, -1, 43, -1, 45, -1, -1, -1, -1, -1, + -1, -1, 404, 405, 406, 407, 408, -1, 313, -1, + 61, -1, 414, 415, 416, 417, 418, 419, 33, -1, + 35, -1, -1, -1, -1, 40, -1, -1, 43, -1, + 45, -1, -1, -1, -1, 340, -1, -1, -1, -1, + 91, 346, -1, -1, -1, -1, -1, 260, 261, 262, + 263, 264, 265, 404, 405, 406, 407, 408, -1, -1, + -1, -1, -1, 414, 415, 416, 417, 418, 419, -1, + -1, -1, -1, 286, -1, 126, 91, -1, -1, -1, + -1, -1, -1, -1, 260, 261, 262, 263, 264, 265, + -1, -1, 33, -1, 35, -1, 401, 402, 403, 40, + 313, -1, 43, -1, 45, 33, -1, 35, 123, -1, + 286, 126, 40, -1, -1, 43, -1, 45, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 340, -1, -1, + -1, -1, -1, 346, -1, -1, -1, 313, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 91, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 91, 340, -1, -1, -1, -1, -1, + 346, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 126, -1, 400, -1, 402, + 403, -1, -1, -1, -1, -1, -1, -1, 126, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 260, + 261, 262, 263, 264, 265, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 402, 403, -1, -1, + -1, -1, -1, -1, -1, 286, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 260, 261, 262, 263, 264, + 265, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 313, -1, -1, -1, -1, -1, -1, -1, + -1, 286, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 340, + -1, -1, -1, -1, -1, 346, -1, -1, 313, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 402, 403, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 126, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 260, + 261, 262, 263, 264, 265, 340, -1, -1, -1, -1, + -1, 346, 260, 261, 262, 263, 264, 265, -1, -1, + -1, -1, -1, -1, -1, 286, -1, -1, -1, -1, + -1, 402, 403, -1, -1, -1, -1, -1, 286, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 260, 261, 262, - 263, 264, 265, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 260, 261, 262, 263, 264, 265, -1, -1, - -1, -1, -1, 286, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 286, -1, + -1, -1, 313, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 313, -1, 402, 403, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 340, + -1, -1, -1, -1, -1, 346, -1, -1, -1, -1, + -1, -1, 340, -1, -1, -1, -1, -1, 346, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 313, -1, 260, 261, 262, 263, 264, 265, -1, -1, - -1, -1, -1, -1, -1, 313, -1, 260, 261, 262, - 263, 264, 265, -1, -1, -1, -1, 340, 286, -1, - -1, -1, -1, 346, -1, -1, -1, -1, -1, -1, - -1, -1, 340, 286, -1, -1, -1, -1, 346, -1, - -1, -1, -1, -1, -1, 313, -1, 260, 261, 262, - 263, 264, 265, -1, -1, -1, -1, -1, -1, -1, - 313, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 340, 286, -1, -1, -1, -1, 346, 402, - 403, -1, -1, -1, -1, -1, -1, 340, -1, -1, - -1, -1, -1, 346, 402, 403, -1, -1, -1, -1, - 313, -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, 340, -1, -1, - -1, -1, -1, 346, 402, 403, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 402, - 403, -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, 402, - 403, + -1, 402, 403, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 402, 403, ); protected static $yyFinal= 2; protected static $yyName= array( @@ -2443,22 +2476,22 @@ public function yyparse($yyLex) { } break; case 185: #line 771 "src/main/jay/grammars/xp.jay" - { $yyVals[0+$yyTop]= $yyLex->create(new VariableNode($yyVals[0+$yyTop])); } break; + { $yyVals[0+$yyTop]= array('name' => $yyVals[0+$yyTop]); } break; case 186: #line 771 "src/main/jay/grammars/xp.jay" { - if ($yyVals[0+$yyTop]) { - $yyVal= $yyVals[0+$yyTop][0]; - $yyVals[0+$yyTop][1]->target= $yyVals[-2+$yyTop]; - } + $yyVal= $yyLex->create(new LambdaNode(array($yyVals[-3+$yyTop]), $yyVals[0+$yyTop])); } break; - case 187: #line 777 "src/main/jay/grammars/xp.jay" + case 187: #line 774 "src/main/jay/grammars/xp.jay" { $yyVals[0+$yyTop]= $yyLex->create(new VariableNode($yyVals[0+$yyTop])); } break; - case 188: #line 777 "src/main/jay/grammars/xp.jay" + case 188: #line 774 "src/main/jay/grammars/xp.jay" { - $yyVal= $yyLex->create(new LambdaNode(array($yyVals[-2+$yyTop]), $yyVals[0+$yyTop])); + if ($yyVals[0+$yyTop]) { + $yyVal= $yyVals[0+$yyTop][0]; + $yyVals[0+$yyTop][1]->target= $yyVals[-2+$yyTop]; + } } break; case 189: #line 780 "src/main/jay/grammars/xp.jay" @@ -2473,7 +2506,7 @@ public function yyparse($yyLex) { case 190: #line 788 "src/main/jay/grammars/xp.jay" { - $yyVal= $yyLex->create(new LambdaNode($yyVals[-2+$yyTop], $yyVals[0+$yyTop])); + $yyVal= $yyLex->create(new LambdaNode($yyVals[-3+$yyTop], $yyVals[0+$yyTop])); } break; case 191: #line 791 "src/main/jay/grammars/xp.jay" @@ -2595,43 +2628,39 @@ public function yyparse($yyLex) { } break; case 209: #line 870 "src/main/jay/grammars/xp.jay" - { $yyVals[-4+$yyTop]= $yyLex->create(new LambdaNode($yyVals[-2+$yyTop], $yyVals[-1+$yyTop])); } break; + { $yyVals[-5+$yyTop]= $yyLex->create(new LambdaNode($yyVals[-3+$yyTop], $yyVals[-1+$yyTop])); } break; case 210: #line 870 "src/main/jay/grammars/xp.jay" { $this->error(E_WARNING, 'Deprecated lambda syntax used', array('#{ ... }')); if ($yyVals[0+$yyTop]) { $yyVal= $yyVals[0+$yyTop][0]; - $yyVals[0+$yyTop][1]->target= $yyVals[-6+$yyTop]; + $yyVals[0+$yyTop][1]->target= $yyVals[-7+$yyTop]; } } break; case 211: #line 880 "src/main/jay/grammars/xp.jay" - { - $yyVal= array(new ReturnNode($yyVals[0+$yyTop])); - } break; + { $yyVal= array(new ReturnNode($yyVals[0+$yyTop])); } break; - case 212: #line 883 "src/main/jay/grammars/xp.jay" - { - $yyVal= (array)$yyVals[-1+$yyTop]; - } break; + case 212: #line 881 "src/main/jay/grammars/xp.jay" + { $yyVal= (array)$yyVals[-1+$yyTop]; } break; - case 213: #line 889 "src/main/jay/grammars/xp.jay" + case 213: #line 885 "src/main/jay/grammars/xp.jay" { $yyVal= array(); } break; - case 215: #line 894 "src/main/jay/grammars/xp.jay" + case 215: #line 890 "src/main/jay/grammars/xp.jay" { $yyVal= array($yyVals[0+$yyTop]); } break; - case 216: #line 895 "src/main/jay/grammars/xp.jay" + case 216: #line 891 "src/main/jay/grammars/xp.jay" { $yyVal= array_merge($yyVals[-2+$yyTop], array($yyVals[0+$yyTop])); } break; - case 217: #line 899 "src/main/jay/grammars/xp.jay" - { $yyVal= new VariableNode($yyVals[0+$yyTop]); } break; + case 217: #line 895 "src/main/jay/grammars/xp.jay" + { $yyVal= array('name' => $yyVals[-1+$yyTop]); $yyVals[0+$yyTop] && $yyVal['default']= $yyVals[0+$yyTop]; } break; - case 218: #line 900 "src/main/jay/grammars/xp.jay" - { $yyVal= new VariableNode($yyVals[0+$yyTop]); } break; + case 218: #line 896 "src/main/jay/grammars/xp.jay" + { $yyVal= array('name' => $yyVals[-1+$yyTop], 'type' => $yyVals[-2+$yyTop]); $yyVals[-1+$yyTop] && $yyVal['default']= $yyVals[-1+$yyTop]; } break; - case 219: #line 904 "src/main/jay/grammars/xp.jay" + case 219: #line 900 "src/main/jay/grammars/xp.jay" { switch ($yyVals[0+$yyTop]) { case 'true': $yyVal= $yyLex->create(new BooleanNode(TRUE)); break; case 'false': $yyVal= $yyLex->create(new BooleanNode(FALSE)); break; @@ -2639,282 +2668,290 @@ public function yyparse($yyLex) { default: $yyVal= $yyLex->create(new ConstantNode($yyVals[0+$yyTop])); break; }} break; - case 220: #line 910 "src/main/jay/grammars/xp.jay" + case 220: #line 906 "src/main/jay/grammars/xp.jay" { $p= $yyLex->position; } break; - case 221: #line 910 "src/main/jay/grammars/xp.jay" + case 221: #line 906 "src/main/jay/grammars/xp.jay" { $yyVals[-1+$yyTop]->position= $p; $yyVals[-1+$yyTop]->type= NULL; $yyVal= $yyVals[-1+$yyTop]; } break; - case 222: #line 911 "src/main/jay/grammars/xp.jay" + case 222: #line 907 "src/main/jay/grammars/xp.jay" { $yyVal= $yyLex->create(new IntegerNode($yyVals[0+$yyTop])); } break; - case 223: #line 912 "src/main/jay/grammars/xp.jay" + case 223: #line 908 "src/main/jay/grammars/xp.jay" { $yyVal= $yyLex->create(new HexNode($yyVals[0+$yyTop])); } break; - case 224: #line 913 "src/main/jay/grammars/xp.jay" + case 224: #line 909 "src/main/jay/grammars/xp.jay" { $yyVal= $yyLex->create(new OctalNode($yyVals[0+$yyTop])); } break; - case 225: #line 914 "src/main/jay/grammars/xp.jay" + case 225: #line 910 "src/main/jay/grammars/xp.jay" { $yyVal= $yyLex->create(new DecimalNode($yyVals[0+$yyTop])); } break; - case 226: #line 915 "src/main/jay/grammars/xp.jay" + case 226: #line 911 "src/main/jay/grammars/xp.jay" { $yyVal= $yyLex->create(new StringNode($yyVals[0+$yyTop])); } break; - case 227: #line 919 "src/main/jay/grammars/xp.jay" + case 227: #line 915 "src/main/jay/grammars/xp.jay" { $yyVal= $yyLex->create(new ArrayNode(array('values' => (array)$yyVals[0+$yyTop]))); } break; - case 228: #line 922 "src/main/jay/grammars/xp.jay" + case 228: #line 918 "src/main/jay/grammars/xp.jay" { $yyVal= $yyLex->create(new MapNode(array('elements' => (array)$yyVals[0+$yyTop]))); } break; - case 229: #line 928 "src/main/jay/grammars/xp.jay" + case 229: #line 924 "src/main/jay/grammars/xp.jay" { $yyVal= NULL; } break; - case 231: #line 933 "src/main/jay/grammars/xp.jay" + case 231: #line 929 "src/main/jay/grammars/xp.jay" { $yyVal= array($yyVals[0+$yyTop]); } break; - case 232: #line 934 "src/main/jay/grammars/xp.jay" + case 232: #line 930 "src/main/jay/grammars/xp.jay" { $yyVal= $yyVals[0+$yyTop] ? array_merge($yyVals[-2+$yyTop], array($yyVals[0+$yyTop])) : $yyVals[-2+$yyTop]; } break; - case 233: #line 938 "src/main/jay/grammars/xp.jay" + case 233: #line 934 "src/main/jay/grammars/xp.jay" { $yyVal= NULL; } break; - case 235: #line 943 "src/main/jay/grammars/xp.jay" + case 235: #line 939 "src/main/jay/grammars/xp.jay" { $yyVal= array(new StringNode($yyVals[-2+$yyTop]), $yyVals[0+$yyTop]); } break; - case 236: #line 944 "src/main/jay/grammars/xp.jay" + case 236: #line 940 "src/main/jay/grammars/xp.jay" { $yyVal= array(new StringNode($yyVals[-2+$yyTop]), $yyVals[0+$yyTop]); } break; - case 237: #line 948 "src/main/jay/grammars/xp.jay" + case 237: #line 944 "src/main/jay/grammars/xp.jay" { $yyVal= array('variable' => $yyVals[-2+$yyTop], 'expression' => $yyVals[0+$yyTop], 'op' => $yyVals[-1+$yyTop]); } break; - case 238: #line 949 "src/main/jay/grammars/xp.jay" + case 238: #line 945 "src/main/jay/grammars/xp.jay" { $yyVal= array('variable' => $yyVals[-2+$yyTop], 'expression' => $yyVals[0+$yyTop], 'op' => $yyVals[-1+$yyTop]); } break; - case 239: #line 950 "src/main/jay/grammars/xp.jay" + case 239: #line 946 "src/main/jay/grammars/xp.jay" { $yyVal= array('variable' => $yyVals[-2+$yyTop], 'expression' => $yyVals[0+$yyTop], 'op' => $yyVals[-1+$yyTop]); } break; - case 240: #line 951 "src/main/jay/grammars/xp.jay" + case 240: #line 947 "src/main/jay/grammars/xp.jay" { $yyVal= array('variable' => $yyVals[-2+$yyTop], 'expression' => $yyVals[0+$yyTop], 'op' => $yyVals[-1+$yyTop]); } break; - case 241: #line 952 "src/main/jay/grammars/xp.jay" + case 241: #line 948 "src/main/jay/grammars/xp.jay" { $yyVal= array('variable' => $yyVals[-2+$yyTop], 'expression' => $yyVals[0+$yyTop], 'op' => $yyVals[-1+$yyTop]); } break; - case 242: #line 953 "src/main/jay/grammars/xp.jay" + case 242: #line 949 "src/main/jay/grammars/xp.jay" { $yyVal= array('variable' => $yyVals[-2+$yyTop], 'expression' => $yyVals[0+$yyTop], 'op' => $yyVals[-1+$yyTop]); } break; - case 243: #line 954 "src/main/jay/grammars/xp.jay" + case 243: #line 950 "src/main/jay/grammars/xp.jay" { $yyVal= array('variable' => $yyVals[-2+$yyTop], 'expression' => $yyVals[0+$yyTop], 'op' => $yyVals[-1+$yyTop]); } break; - case 244: #line 955 "src/main/jay/grammars/xp.jay" + case 244: #line 951 "src/main/jay/grammars/xp.jay" { $yyVal= array('variable' => $yyVals[-2+$yyTop], 'expression' => $yyVals[0+$yyTop], 'op' => $yyVals[-1+$yyTop]); } break; - case 245: #line 956 "src/main/jay/grammars/xp.jay" + case 245: #line 952 "src/main/jay/grammars/xp.jay" { $yyVal= array('variable' => $yyVals[-2+$yyTop], 'expression' => $yyVals[0+$yyTop], 'op' => $yyVals[-1+$yyTop]); } break; - case 246: #line 957 "src/main/jay/grammars/xp.jay" + case 246: #line 953 "src/main/jay/grammars/xp.jay" { $yyVal= array('variable' => $yyVals[-2+$yyTop], 'expression' => $yyVals[0+$yyTop], 'op' => $yyVals[-1+$yyTop]); } break; - case 247: #line 958 "src/main/jay/grammars/xp.jay" + case 247: #line 954 "src/main/jay/grammars/xp.jay" { $yyVal= array('variable' => $yyVals[-3+$yyTop], 'expression' => $yyVals[0+$yyTop], 'op' => $yyVals[-2+$yyTop].$yyVals[-1+$yyTop]); } break; - case 248: #line 959 "src/main/jay/grammars/xp.jay" + case 248: #line 955 "src/main/jay/grammars/xp.jay" { $yyVal= array('variable' => $yyVals[-3+$yyTop], 'expression' => $yyVals[0+$yyTop], 'op' => $yyVals[-2+$yyTop].$yyVals[-1+$yyTop]); } break; - case 249: #line 963 "src/main/jay/grammars/xp.jay" + case 249: #line 959 "src/main/jay/grammars/xp.jay" { $yyVal= array('lhs' => $yyVals[-2+$yyTop], 'rhs' => $yyVals[0+$yyTop], 'op' => $yyVals[-1+$yyTop]); } break; - case 250: #line 964 "src/main/jay/grammars/xp.jay" + case 250: #line 960 "src/main/jay/grammars/xp.jay" { $yyVal= array('lhs' => $yyVals[-2+$yyTop], 'rhs' => $yyVals[0+$yyTop], 'op' => $yyVals[-1+$yyTop]); } break; - case 251: #line 965 "src/main/jay/grammars/xp.jay" + case 251: #line 961 "src/main/jay/grammars/xp.jay" { $yyVal= array('lhs' => $yyVals[-2+$yyTop], 'rhs' => $yyVals[0+$yyTop], 'op' => $yyVals[-1+$yyTop]); } break; - case 252: #line 966 "src/main/jay/grammars/xp.jay" + case 252: #line 962 "src/main/jay/grammars/xp.jay" { $yyVal= array('lhs' => $yyVals[-2+$yyTop], 'rhs' => $yyVals[0+$yyTop], 'op' => $yyVals[-1+$yyTop]); } break; - case 253: #line 967 "src/main/jay/grammars/xp.jay" + case 253: #line 963 "src/main/jay/grammars/xp.jay" { $yyVal= array('lhs' => $yyVals[-2+$yyTop], 'rhs' => $yyVals[0+$yyTop], 'op' => $yyVals[-1+$yyTop]); } break; - case 254: #line 968 "src/main/jay/grammars/xp.jay" + case 254: #line 964 "src/main/jay/grammars/xp.jay" { $yyVal= array('lhs' => $yyVals[-2+$yyTop], 'rhs' => $yyVals[0+$yyTop], 'op' => $yyVals[-1+$yyTop]); } break; - case 255: #line 969 "src/main/jay/grammars/xp.jay" + case 255: #line 965 "src/main/jay/grammars/xp.jay" { $yyVal= array('lhs' => $yyVals[-3+$yyTop], 'rhs' => $yyVals[0+$yyTop], 'op' => $yyVals[-2+$yyTop].'='); } break; - case 256: #line 970 "src/main/jay/grammars/xp.jay" + case 256: #line 966 "src/main/jay/grammars/xp.jay" { $yyVal= array('lhs' => $yyVals[-3+$yyTop], 'rhs' => $yyVals[0+$yyTop], 'op' => $yyVals[-2+$yyTop].'='); } break; - case 257: #line 974 "src/main/jay/grammars/xp.jay" + case 257: #line 970 "src/main/jay/grammars/xp.jay" { $yyVal= array('lhs' => $yyVals[-2+$yyTop], 'rhs' => $yyVals[0+$yyTop], 'op' => $yyVals[-1+$yyTop]); } break; - case 258: #line 975 "src/main/jay/grammars/xp.jay" + case 258: #line 971 "src/main/jay/grammars/xp.jay" { $yyVal= array('lhs' => $yyVals[-2+$yyTop], 'rhs' => $yyVals[0+$yyTop], 'op' => $yyVals[-1+$yyTop]); } break; - case 259: #line 976 "src/main/jay/grammars/xp.jay" + case 259: #line 972 "src/main/jay/grammars/xp.jay" { $yyVal= array('lhs' => $yyVals[-2+$yyTop], 'rhs' => $yyVals[0+$yyTop], 'op' => $yyVals[-1+$yyTop]); } break; - case 260: #line 977 "src/main/jay/grammars/xp.jay" + case 260: #line 973 "src/main/jay/grammars/xp.jay" { $yyVal= array('lhs' => $yyVals[-2+$yyTop], 'rhs' => $yyVals[0+$yyTop], 'op' => $yyVals[-1+$yyTop]); } break; - case 261: #line 978 "src/main/jay/grammars/xp.jay" + case 261: #line 974 "src/main/jay/grammars/xp.jay" { $yyVal= array('lhs' => $yyVals[-2+$yyTop], 'rhs' => $yyVals[0+$yyTop], 'op' => $yyVals[-1+$yyTop]); } break; - case 262: #line 979 "src/main/jay/grammars/xp.jay" + case 262: #line 975 "src/main/jay/grammars/xp.jay" { $yyVal= array('lhs' => $yyVals[-2+$yyTop], 'rhs' => $yyVals[0+$yyTop], 'op' => $yyVals[-1+$yyTop]); } break; - case 263: #line 980 "src/main/jay/grammars/xp.jay" + case 263: #line 976 "src/main/jay/grammars/xp.jay" { $yyVal= array('lhs' => $yyVals[-2+$yyTop], 'rhs' => $yyVals[0+$yyTop], 'op' => $yyVals[-1+$yyTop]); } break; - case 264: #line 981 "src/main/jay/grammars/xp.jay" + case 264: #line 977 "src/main/jay/grammars/xp.jay" { $yyVal= array('lhs' => $yyVals[-2+$yyTop], 'rhs' => $yyVals[0+$yyTop], 'op' => $yyVals[-1+$yyTop]); } break; - case 265: #line 982 "src/main/jay/grammars/xp.jay" + case 265: #line 978 "src/main/jay/grammars/xp.jay" { $yyVal= array('lhs' => $yyVals[-2+$yyTop], 'rhs' => $yyVals[0+$yyTop], 'op' => $yyVals[-1+$yyTop]); } break; - case 266: #line 983 "src/main/jay/grammars/xp.jay" + case 266: #line 979 "src/main/jay/grammars/xp.jay" { $yyVal= array('lhs' => $yyVals[-3+$yyTop], 'rhs' => $yyVals[0+$yyTop], 'op' => $yyVals[-2+$yyTop].$yyVals[-1+$yyTop]); } break; - case 267: #line 984 "src/main/jay/grammars/xp.jay" + case 267: #line 980 "src/main/jay/grammars/xp.jay" { $yyVal= array('lhs' => $yyVals[-3+$yyTop], 'rhs' => $yyVals[0+$yyTop], 'op' => $yyVals[-2+$yyTop].$yyVals[-1+$yyTop]); } break; - case 268: #line 985 "src/main/jay/grammars/xp.jay" + case 268: #line 981 "src/main/jay/grammars/xp.jay" { $yyVal= array('lhs' => $yyVals[-2+$yyTop], 'rhs' => $yyVals[0+$yyTop], 'op' => $yyVals[-1+$yyTop]); } break; - case 269: #line 989 "src/main/jay/grammars/xp.jay" + case 269: #line 985 "src/main/jay/grammars/xp.jay" { $yyVal= array('expression' => $yyVals[0+$yyTop], 'op' => $yyVals[-1+$yyTop]); } break; - case 270: #line 990 "src/main/jay/grammars/xp.jay" + case 270: #line 986 "src/main/jay/grammars/xp.jay" { $yyVal= array('expression' => $yyVals[0+$yyTop], 'op' => $yyVals[-1+$yyTop]); } break; - case 271: #line 991 "src/main/jay/grammars/xp.jay" + case 271: #line 987 "src/main/jay/grammars/xp.jay" { $yyVal= array('expression' => $yyVals[0+$yyTop], 'op' => $yyVals[-1+$yyTop]); } break; - case 272: #line 992 "src/main/jay/grammars/xp.jay" + case 272: #line 988 "src/main/jay/grammars/xp.jay" { $yyVal= array('expression' => $yyVals[0+$yyTop], 'op' => $yyVals[-1+$yyTop]); } break; - case 273: #line 993 "src/main/jay/grammars/xp.jay" + case 273: #line 989 "src/main/jay/grammars/xp.jay" { $yyVal= array('expression' => $yyVals[0+$yyTop], 'op' => $yyVals[-1+$yyTop]); } break; - case 274: #line 994 "src/main/jay/grammars/xp.jay" + case 274: #line 990 "src/main/jay/grammars/xp.jay" { $yyVal= array('expression' => $yyVals[0+$yyTop], 'op' => $yyVals[-1+$yyTop]); } break; - case 275: #line 998 "src/main/jay/grammars/xp.jay" + case 275: #line 994 "src/main/jay/grammars/xp.jay" { $yyVal= array('expression' => $yyVals[-1+$yyTop], 'op' => $yyVals[0+$yyTop]); } break; - case 276: #line 999 "src/main/jay/grammars/xp.jay" + case 276: #line 995 "src/main/jay/grammars/xp.jay" { $yyVal= array('expression' => $yyVals[-1+$yyTop], 'op' => $yyVals[0+$yyTop]); } break; - case 277: #line 1004 "src/main/jay/grammars/xp.jay" + case 277: #line 1000 "src/main/jay/grammars/xp.jay" { $yyVal= NULL; } break; - case 279: #line 1009 "src/main/jay/grammars/xp.jay" + case 279: #line 1005 "src/main/jay/grammars/xp.jay" { $yyVal= array($yyVals[0+$yyTop], $yyVals[0+$yyTop]); } break; - case 280: #line 1010 "src/main/jay/grammars/xp.jay" + case 280: #line 1006 "src/main/jay/grammars/xp.jay" { $yyVals[0+$yyTop][1]->target= $yyVals[-1+$yyTop]; $yyVal= array($yyVals[0+$yyTop][0], $yyVals[-1+$yyTop]); } break; - case 281: #line 1014 "src/main/jay/grammars/xp.jay" + case 281: #line 1010 "src/main/jay/grammars/xp.jay" { $yyVals[0+$yyTop]= $yyLex->create(new ArrayAccessNode(NULL)); } break; - case 282: #line 1014 "src/main/jay/grammars/xp.jay" + case 282: #line 1010 "src/main/jay/grammars/xp.jay" { $yyVals[-3+$yyTop]->offset= $yyVals[-1+$yyTop]; } break; - case 283: #line 1017 "src/main/jay/grammars/xp.jay" + case 283: #line 1013 "src/main/jay/grammars/xp.jay" { $yyVal= $yyLex->create(new MemberAccessNode(NULL, $yyVals[0+$yyTop], $yyVals[-1+$yyTop])); } break; - case 284: #line 1020 "src/main/jay/grammars/xp.jay" + case 284: #line 1016 "src/main/jay/grammars/xp.jay" { $yyVals[-2+$yyTop]= $yyLex->create(new MethodCallNode(NULL, $yyVals[-1+$yyTop], NULL, $yyVals[-2+$yyTop])); } break; - case 285: #line 1020 "src/main/jay/grammars/xp.jay" + case 285: #line 1016 "src/main/jay/grammars/xp.jay" { $yyVals[-5+$yyTop]->arguments= $yyVals[-1+$yyTop]; } break; - case 286: #line 1023 "src/main/jay/grammars/xp.jay" + case 286: #line 1019 "src/main/jay/grammars/xp.jay" { $yyVals[-1+$yyTop]= $yyLex->create(new InstanceCallNode(NULL, NULL, $yyVals[-1+$yyTop])); } break; - case 287: #line 1023 "src/main/jay/grammars/xp.jay" + case 287: #line 1019 "src/main/jay/grammars/xp.jay" { $yyVals[-4+$yyTop]->arguments= $yyVals[-1+$yyTop]; } break; - case 288: #line 1029 "src/main/jay/grammars/xp.jay" + case 288: #line 1022 "src/main/jay/grammars/xp.jay" + { $yyVals[0+$yyTop]= $yyLex->create(new InstanceCallNode(NULL, NULL, FALSE)); } break; + + case 289: #line 1022 "src/main/jay/grammars/xp.jay" + { + $yyVals[-3+$yyTop]->arguments= $yyVals[-1+$yyTop]; + } break; + + case 290: #line 1028 "src/main/jay/grammars/xp.jay" { $yyVal= FALSE; } break; - case 289: #line 1030 "src/main/jay/grammars/xp.jay" + case 291: #line 1029 "src/main/jay/grammars/xp.jay" { $yyVal= TRUE; } break; - case 296: #line 1048 "src/main/jay/grammars/xp.jay" + case 298: #line 1047 "src/main/jay/grammars/xp.jay" { $yyVal= new TypeName($yyVals[0+$yyTop]); } break; - case 297: #line 1049 "src/main/jay/grammars/xp.jay" + case 299: #line 1048 "src/main/jay/grammars/xp.jay" { $yyVal= new TypeName($yyVals[-3+$yyTop], $yyVals[-1+$yyTop]); } break; - case 298: #line 1053 "src/main/jay/grammars/xp.jay" + case 300: #line 1052 "src/main/jay/grammars/xp.jay" { $yyVal= new TypeName($yyVals[-2+$yyTop]->compoundName().'[]'); } break; - case 299: #line 1057 "src/main/jay/grammars/xp.jay" + case 301: #line 1056 "src/main/jay/grammars/xp.jay" { $yyVal= new TypeName('[:'.$yyVals[-1+$yyTop]->compoundName().']'); } break; - case 300: #line 1061 "src/main/jay/grammars/xp.jay" + case 302: #line 1060 "src/main/jay/grammars/xp.jay" { $yyVal= array($yyVals[0+$yyTop]); } break; - case 301: #line 1062 "src/main/jay/grammars/xp.jay" + case 303: #line 1061 "src/main/jay/grammars/xp.jay" { $yyVal= array_merge($yyVals[-2+$yyTop], array($yyVals[0+$yyTop])); } break; - case 303: #line 1067 "src/main/jay/grammars/xp.jay" + case 305: #line 1066 "src/main/jay/grammars/xp.jay" { $yyVal= new TypeName($yyVals[0+$yyTop].'+'); } break; - case 304: #line 1071 "src/main/jay/grammars/xp.jay" + case 306: #line 1070 "src/main/jay/grammars/xp.jay" { $yyVal= array($yyVals[0+$yyTop]); } break; - case 305: #line 1072 "src/main/jay/grammars/xp.jay" + case 307: #line 1071 "src/main/jay/grammars/xp.jay" { $yyVal= array_merge(array($yyVals[-2+$yyTop]), $yyVals[0+$yyTop]); } break; - case 306: #line 1078 "src/main/jay/grammars/xp.jay" + case 308: #line 1077 "src/main/jay/grammars/xp.jay" { $yyVal= 0; } break; - case 307: #line 1079 "src/main/jay/grammars/xp.jay" + case 309: #line 1078 "src/main/jay/grammars/xp.jay" { $yyVal= $yyVals[0+$yyTop]; } break; - case 308: #line 1083 "src/main/jay/grammars/xp.jay" + case 310: #line 1082 "src/main/jay/grammars/xp.jay" { $yyVal= $yyVals[0+$yyTop]; } break; - case 309: #line 1084 "src/main/jay/grammars/xp.jay" + case 311: #line 1083 "src/main/jay/grammars/xp.jay" { $yyVal= $yyVals[-1+$yyTop] | $yyVals[0+$yyTop]; } break; - case 310: #line 1088 "src/main/jay/grammars/xp.jay" + case 312: #line 1087 "src/main/jay/grammars/xp.jay" { $yyVal= MODIFIER_PUBLIC; } break; - case 311: #line 1089 "src/main/jay/grammars/xp.jay" + case 313: #line 1088 "src/main/jay/grammars/xp.jay" { $yyVal= MODIFIER_PROTECTED; } break; - case 312: #line 1090 "src/main/jay/grammars/xp.jay" + case 314: #line 1089 "src/main/jay/grammars/xp.jay" { $yyVal= MODIFIER_PRIVATE; } break; - case 313: #line 1091 "src/main/jay/grammars/xp.jay" + case 315: #line 1090 "src/main/jay/grammars/xp.jay" { $yyVal= MODIFIER_PACKAGE; } break; - case 314: #line 1092 "src/main/jay/grammars/xp.jay" + case 316: #line 1091 "src/main/jay/grammars/xp.jay" { $yyVal= MODIFIER_STATIC; } break; - case 315: #line 1093 "src/main/jay/grammars/xp.jay" + case 317: #line 1092 "src/main/jay/grammars/xp.jay" { $yyVal= MODIFIER_ABSTRACT; } break; - case 316: #line 1094 "src/main/jay/grammars/xp.jay" + case 318: #line 1093 "src/main/jay/grammars/xp.jay" { $yyVal= MODIFIER_FINAL; } break; - case 317: #line 1095 "src/main/jay/grammars/xp.jay" + case 319: #line 1094 "src/main/jay/grammars/xp.jay" { $yyVal= MODIFIER_INLINE; } break; -#line 2918 "-" +#line 2955 "-" } $yyTop-= self::$yyLen[$yyN]; From 3da2d56c126378d3a610ec853994e47df87b4276 Mon Sep 17 00:00:00 2001 From: Timm Friebe Date: Thu, 31 Jul 2014 16:45:19 +0200 Subject: [PATCH 2/5] Emit lambda parameter defaults if existant --- src/main/php/xp/compiler/emit/php/V52Emitter.class.php | 4 ++-- src/main/php/xp/compiler/emit/php/V53Emitter.class.php | 8 ++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/main/php/xp/compiler/emit/php/V52Emitter.class.php b/src/main/php/xp/compiler/emit/php/V52Emitter.class.php index cf3d6ea1e..d1a86bede 100644 --- a/src/main/php/xp/compiler/emit/php/V52Emitter.class.php +++ b/src/main/php/xp/compiler/emit/php/V52Emitter.class.php @@ -80,8 +80,8 @@ protected function emitLambda($b, $lambda) { $promoter= new LocalsToMemberPromoter(); $parameters= $replaced= array(); foreach ($lambda->parameters as $parameter) { - $parameters[]= array('name' => $parameter->name, 'type' => TypeName::$VAR); - $promoter->exclude($parameter->name); + $parameters[]= $parameter; + $promoter->exclude($parameter['name']); } $promoted= $promoter->promote($lambda); diff --git a/src/main/php/xp/compiler/emit/php/V53Emitter.class.php b/src/main/php/xp/compiler/emit/php/V53Emitter.class.php index 7ad68f1ee..91d5d2e1e 100644 --- a/src/main/php/xp/compiler/emit/php/V53Emitter.class.php +++ b/src/main/php/xp/compiler/emit/php/V53Emitter.class.php @@ -89,8 +89,12 @@ protected function emitLambda($b, $lambda) { $b->append('function('); $s= sizeof($lambda->parameters)- 1; foreach ($lambda->parameters as $i => $param) { - $b->append('$')->append($param->name); - $finder->excluding($param->name); + $b->append('$')->append($param['name']); + if (isset($param['default'])) { + $b->append('='); + $this->emitOne($b, $param['default']); + } + $finder->excluding($param['name']); $i < $s && $b->append(','); } $b->append(')'); From bc04149d2c5dfd3540237bc221fe1fdb411e4529 Mon Sep 17 00:00:00 2001 From: Timm Friebe Date: Thu, 31 Jul 2014 16:45:57 +0200 Subject: [PATCH 3/5] Remove necessity to use the object operator for chaining except when ambiguous --- .../execution/source/LambdaTest.class.php | 4 +- .../tests/syntax/xp/ChainingTest.class.php | 71 ++++++------------- .../xp/DeprecatedLambdaSyntaxTest.class.php | 16 ++--- .../tests/syntax/xp/LambdaTest.class.php | 52 +++++++++++--- 4 files changed, 73 insertions(+), 70 deletions(-) diff --git a/src/test/php/net/xp_lang/tests/execution/source/LambdaTest.class.php b/src/test/php/net/xp_lang/tests/execution/source/LambdaTest.class.php index dcd3e4f9c..7b412dc01 100644 --- a/src/test/php/net/xp_lang/tests/execution/source/LambdaTest.class.php +++ b/src/test/php/net/xp_lang/tests/execution/source/LambdaTest.class.php @@ -32,14 +32,14 @@ public function apply_capturing_local_variable() { #[@test] public function execution() { $this->assertEquals(3, $this->run( - 'return ($a -> $a + 1).(2);' + 'return ($a -> $a + 1)(2);' )); } #[@test] public function execution_via_variable() { $this->assertEquals(3, $this->run( - '$plusone= $a -> $a + 1; return $plusone.(2);' + '$plusone= $a -> $a + 1; return $plusone(2);' )); } } diff --git a/src/test/php/net/xp_lang/tests/syntax/xp/ChainingTest.class.php b/src/test/php/net/xp_lang/tests/syntax/xp/ChainingTest.class.php index 8b5aa7432..a064ac82a 100644 --- a/src/test/php/net/xp_lang/tests/syntax/xp/ChainingTest.class.php +++ b/src/test/php/net/xp_lang/tests/syntax/xp/ChainingTest.class.php @@ -3,6 +3,7 @@ use xp\compiler\ast\MemberAccessNode; use xp\compiler\ast\VariableNode; use xp\compiler\ast\InstanceCreationNode; +use xp\compiler\ast\InstanceCallNode; use xp\compiler\ast\MethodCallNode; use xp\compiler\ast\StaticMethodCallNode; use xp\compiler\ast\BracedExpressionNode; @@ -18,10 +19,6 @@ */ class ChainingTest extends ParserTestCase { - /** - * Test field access - * - */ #[@test] public function fieldAccess() { $this->assertEquals( @@ -30,10 +27,6 @@ public function fieldAccess() { ); } - /** - * Test field access - * - */ #[@test] public function chainedFieldAccess() { $this->assertEquals( @@ -42,10 +35,6 @@ public function chainedFieldAccess() { ); } - /** - * Test field access - * - */ #[@test] public function fieldNamedClassAccess() { $this->assertEquals( @@ -54,36 +43,24 @@ public function fieldNamedClassAccess() { ); } - /** - * Test simple method call on an object - * - */ #[@test] - public function methodCall() { + public function method_call() { $this->assertEquals( - array(new MethodCallNode(new VariableNode('m'), 'invoke', array(new VariableNode('args')))), - $this->parse('$m.invoke($args);') + array(new MethodCallNode(new VariableNode('m'), 'func', array(new VariableNode('args')))), + $this->parse('$m.func($args);') ); } - /** - * Test simple method call on chained fields - * - */ #[@test] - public function methodCallOnChainedFields() { + public function method_call_on_chained_fields() { $this->assertEquals( array(new MethodCallNode(new MemberAccessNode(new MemberAccessNode(new VariableNode('m'), 'member'), 'data'), 'invoke', array(new VariableNode('args')))), $this->parse('$m.member.data.invoke($args);') ); } - /** - * Test chained method calls - * - */ #[@test] - public function chainedMethodCalls() { + public function method_call_on_chained_method_call() { $this->assertEquals( array(new MethodCallNode( new MethodCallNode(new VariableNode('l'), 'withAppender'), @@ -93,10 +70,22 @@ public function chainedMethodCalls() { ); } - /** - * Test chained method calls - * - */ + #[@test] + public function member_instance_call() { + $this->assertEquals( + array(new InstanceCallNode(new MemberAccessNode(new VariableNode('m'), 'func'), array(new VariableNode('args')))), + $this->parse('$m.func.($args);') + ); + } + + #[@test] + public function member_instance_call_chained_to_method_call() { + $this->assertEquals( + array(new InstanceCallNode(new MethodCallNode(new VariableNode('m'), 'func', array(new VariableNode('args'))), array(new VariableNode('n')))), + $this->parse('$m.func($args)($n);') + ); + } + #[@test] public function chainedAfterNew() { $this->assertEquals( @@ -111,10 +100,6 @@ public function chainedAfterNew() { ); } - /** - * Test chained method calls - * - */ #[@test] public function arrayOffsetOnMethod() { $this->assertEquals( @@ -129,10 +114,6 @@ public function arrayOffsetOnMethod() { ); } - /** - * Test chained method calls - * - */ #[@test] public function chainedAfterStaticMethod() { $this->assertEquals( @@ -145,10 +126,6 @@ public function chainedAfterStaticMethod() { ); } - /** - * Test chaining after function calls - * - */ #[@test] public function chainedAfterFunction() { $this->assertEquals( @@ -161,10 +138,6 @@ public function chainedAfterFunction() { ); } - /** - * Test chained after bracing - * - */ #[@test] public function chainedAfterBraced() { $this->assertEquals( diff --git a/src/test/php/net/xp_lang/tests/syntax/xp/DeprecatedLambdaSyntaxTest.class.php b/src/test/php/net/xp_lang/tests/syntax/xp/DeprecatedLambdaSyntaxTest.class.php index 6c6adc3b9..d2c510b98 100755 --- a/src/test/php/net/xp_lang/tests/syntax/xp/DeprecatedLambdaSyntaxTest.class.php +++ b/src/test/php/net/xp_lang/tests/syntax/xp/DeprecatedLambdaSyntaxTest.class.php @@ -22,7 +22,7 @@ class DeprecatedLambdaSyntaxTest extends ParserTestCase { public function expression() { $this->assertEquals( array(new LambdaNode( - array(new VariableNode('a')), + array(array('name' => 'a')), array(new ReturnNode(new BinaryOpNode(array( 'lhs' => new VariableNode('a'), 'rhs' => new IntegerNode('1'), @@ -37,7 +37,7 @@ public function expression() { public function statement() { $this->assertEquals( array(new LambdaNode( - array(new VariableNode('a')), + array(array('name' => 'a')), array(new ReturnNode(new BinaryOpNode(array( 'lhs' => new VariableNode('a'), 'rhs' => new IntegerNode('1'), @@ -52,7 +52,7 @@ public function statement() { public function multipleStatements() { $this->assertEquals( array(new LambdaNode( - array(new VariableNode('a')), + array(array('name' => 'a')), array( new AssignmentNode(array( 'variable' => new VariableNode('a'), @@ -70,7 +70,7 @@ public function multipleStatements() { public function noStatements() { $this->assertEquals( array(new LambdaNode( - array(new VariableNode('a')), + array(array('name' => 'a')), array() )), $this->parse('#{ $a -> { } };') @@ -81,7 +81,7 @@ public function noStatements() { public function typedParameterWithBrackets() { $this->assertEquals( array(new LambdaNode( - array(new VariableNode('a')), + array(array('name' => 'a')), array(new ReturnNode(new BinaryOpNode(array( 'lhs' => new VariableNode('a'), 'rhs' => new IntegerNode('1'), @@ -96,7 +96,7 @@ public function typedParameterWithBrackets() { public function parametersWithBrackets() { $this->assertEquals( array(new LambdaNode( - array(new VariableNode('a'), new VariableNode('b')), + array(array('name' => 'a'), array('name' => 'b')), array(new ReturnNode(new BinaryOpNode(array( 'lhs' => new VariableNode('a'), 'rhs' => new VariableNode('b'), @@ -111,7 +111,7 @@ public function parametersWithBrackets() { public function typedParametersWithBrackets() { $this->assertEquals( array(new LambdaNode( - array(new VariableNode('a'), new VariableNode('b')), + array(array('name' => 'a', 'type' => new TypeName('int')), array('name' => 'b', 'type' => new TypeName('int'))), array(new ReturnNode(new BinaryOpNode(array( 'lhs' => new VariableNode('a'), 'rhs' => new VariableNode('b'), @@ -148,7 +148,7 @@ public function invocation() { array(new StringNode('Hello')) ))) ))), - $this->parse('#{ -> Console::write("Hello") }.();') + $this->parse('#{ -> Console::write("Hello") }();') ); } } diff --git a/src/test/php/net/xp_lang/tests/syntax/xp/LambdaTest.class.php b/src/test/php/net/xp_lang/tests/syntax/xp/LambdaTest.class.php index bb15599ec..227ec553c 100644 --- a/src/test/php/net/xp_lang/tests/syntax/xp/LambdaTest.class.php +++ b/src/test/php/net/xp_lang/tests/syntax/xp/LambdaTest.class.php @@ -7,6 +7,7 @@ use xp\compiler\ast\BinaryOpNode; use xp\compiler\ast\ComparisonNode; use xp\compiler\ast\StringNode; +use xp\compiler\ast\NullNode; use xp\compiler\ast\AssignmentNode; use xp\compiler\ast\StaticMethodCallNode; use xp\compiler\ast\InstanceCallNode; @@ -22,7 +23,7 @@ class LambdaTest extends ParserTestCase { public function binary_expression() { $this->assertEquals( array(new LambdaNode( - array(new VariableNode('a')), + array(array('name' => 'a')), array(new ReturnNode(new BinaryOpNode(array( 'lhs' => new VariableNode('a'), 'rhs' => new IntegerNode('1'), @@ -37,7 +38,7 @@ public function binary_expression() { public function compare_expression() { $this->assertEquals( array(new LambdaNode( - array(new VariableNode('a')), + array(array('name' => 'a')), array(new ReturnNode(new ComparisonNode(array( 'lhs' => new VariableNode('a'), 'rhs' => new IntegerNode('1'), @@ -52,7 +53,7 @@ public function compare_expression() { public function statement_inside_block() { $this->assertEquals( array(new LambdaNode( - array(new VariableNode('a')), + array(array('name' => 'a')), array(new ReturnNode(new BinaryOpNode(array( 'lhs' => new VariableNode('a'), 'rhs' => new IntegerNode('1'), @@ -67,7 +68,7 @@ public function statement_inside_block() { public function multiple_statements_inside_block() { $this->assertEquals( array(new LambdaNode( - array(new VariableNode('a')), + array(array('name' => 'a')), array( new AssignmentNode(array( 'variable' => new VariableNode('a'), @@ -85,7 +86,7 @@ public function multiple_statements_inside_block() { public function no_statements_inside_block() { $this->assertEquals( array(new LambdaNode( - array(new VariableNode('a')), + array(array('name' => 'a')), array() )), $this->parse('$a -> { };') @@ -96,7 +97,7 @@ public function no_statements_inside_block() { public function typed_parameter_with_brackets() { $this->assertEquals( array(new LambdaNode( - array(new VariableNode('a')), + array(array('name' => 'a', 'type' => new TypeName('int'))), array(new ReturnNode(new BinaryOpNode(array( 'lhs' => new VariableNode('a'), 'rhs' => new IntegerNode('1'), @@ -111,7 +112,7 @@ public function typed_parameter_with_brackets() { public function untyped_parameters_with_brackets() { $this->assertEquals( array(new LambdaNode( - array(new VariableNode('a'), new VariableNode('b')), + array(array('name' => 'a'), array('name' => 'b')), array(new ReturnNode(new BinaryOpNode(array( 'lhs' => new VariableNode('a'), 'rhs' => new VariableNode('b'), @@ -126,7 +127,7 @@ public function untyped_parameters_with_brackets() { public function typed_parameters_with_brackets() { $this->assertEquals( array(new LambdaNode( - array(new VariableNode('a'), new VariableNode('b')), + array(array('name' => 'a', 'type' => new TypeName('int')), array('name' => 'b', 'type' => new TypeName('int'))), array(new ReturnNode(new BinaryOpNode(array( 'lhs' => new VariableNode('a'), 'rhs' => new VariableNode('b'), @@ -163,7 +164,25 @@ public function invocation() { array(new StringNode('Hello')) ))) )))), - $this->parse('(() -> Console::write("Hello")).();') + $this->parse('(() -> Console::write("Hello"))();') + ); + } + + #[@test] + public function expression_returning_expression_with_braces() { + $this->assertEquals( + array(new LambdaNode( + array(array('name' => 'a')), + array(new ReturnNode(new BracedExpressionNode(new LambdaNode( + array(array('name' => 'a')), + array(new ReturnNode(new BinaryOpNode(array( + 'lhs' => new VariableNode('a'), + 'rhs' => new IntegerNode('1'), + 'op' => '+' + )))) + )))) + )), + $this->parse('$a -> ($a -> $a + 1);') ); } @@ -171,9 +190,9 @@ public function invocation() { public function expression_returning_expression() { $this->assertEquals( array(new LambdaNode( - array(new VariableNode('a')), + array(array('name' => 'a')), array(new ReturnNode(new LambdaNode( - array(new VariableNode('a')), + array(array('name' => 'a')), array(new ReturnNode(new BinaryOpNode(array( 'lhs' => new VariableNode('a'), 'rhs' => new IntegerNode('1'), @@ -184,4 +203,15 @@ public function expression_returning_expression() { $this->parse('$a -> $a -> $a + 1;') ); } + + #[@test] + public function with_default_value() { + $this->assertEquals( + array(new LambdaNode( + array(array('name' => 'a', 'default' => new NullNode())), + array() + )), + $this->parse('($a= null) -> { };') + ); + } } From 8115305c1085677840404a1296f0a876189d9b29 Mon Sep 17 00:00:00 2001 From: Timm Friebe Date: Fri, 1 Aug 2014 13:53:44 +0200 Subject: [PATCH 4/5] Rewrite grammar slightly, solving 31 shift/reduce conflicts --- src/main/jay/grammars/xp.jay | 20 +- .../xp/compiler/syntax/xp/Parser.class.php | 2414 ++++++++--------- 2 files changed, 1211 insertions(+), 1223 deletions(-) diff --git a/src/main/jay/grammars/xp.jay b/src/main/jay/grammars/xp.jay index 06f63bab8..1533c8e5d 100644 --- a/src/main/jay/grammars/xp.jay +++ b/src/main/jay/grammars/xp.jay @@ -768,8 +768,8 @@ staticmember: ; expression: - T_VARIABLE { $1= array('name' => $1); } T_ARROW lambda_body { - $$= $yyLex->create(new LambdaNode(array($1), $4)); + T_VARIABLE { $1= array('name' => $1); } lambda_body { + $$= $yyLex->create(new LambdaNode(array($1), $3)); } | T_VARIABLE { $1= $yyLex->create(new VariableNode($1)); } chain_opt { if ($3) { @@ -785,8 +785,8 @@ expression: $$= new BracedExpressionNode($2); } } - | '(' lambda_input ')' T_ARROW lambda_body { - $$= $yyLex->create(new LambdaNode($2, $5)); + | '(' lambda_input ')' lambda_body { + $$= $yyLex->create(new LambdaNode($2, $4)); } | literal chain_opt { if ($2) { @@ -867,18 +867,18 @@ expression: $$->expression= $1; $$->type= $3; } - | '#' '{' lambda_input T_ARROW lambda_body '}' { $1= $yyLex->create(new LambdaNode($3, $5)); } chain_opt { + | '#' '{' lambda_input lambda_body '}' { $1= $yyLex->create(new LambdaNode($3, $4)); } chain_opt { $this->error(E_WARNING, 'Deprecated lambda syntax used', array('#{ ... }')); - if ($8) { - $$= $8[0]; - $8[1]->target= $1; + if ($7) { + $$= $7[0]; + $7[1]->target= $1; } } ; lambda_body: - expression { $$= array(new ReturnNode($1)); } - | '{' statements_opt '}' { $$= (array)$2; } + T_ARROW expression { $$= array(new ReturnNode($2)); } + | T_ARROW '{' statements_opt '}' { $$= (array)$3; } ; lambda_input: diff --git a/src/main/php/xp/compiler/syntax/xp/Parser.class.php b/src/main/php/xp/compiler/syntax/xp/Parser.class.php index 924e630a7..436d81db6 100644 --- a/src/main/php/xp/compiler/syntax/xp/Parser.class.php +++ b/src/main/php/xp/compiler/syntax/xp/Parser.class.php @@ -171,10 +171,10 @@ class Parser extends \text\parser\generic\AbstractParser { 83, 82, 84, 82, 63, 63, 64, 85, 64, 76, 76, 86, 86, 90, 89, 91, 91, 87, 87, 92, 88, 55, 55, 93, 93, 60, 60, 94, 94, 94, - 98, 98, 98, 98, 99, 31, 102, 31, 31, 31, + 98, 98, 98, 98, 100, 31, 102, 31, 31, 31, 31, 104, 31, 105, 31, 106, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 112, 31, - 100, 100, 103, 103, 113, 113, 114, 114, 36, 116, + 99, 99, 103, 103, 113, 113, 114, 114, 36, 116, 36, 36, 36, 36, 36, 36, 115, 115, 97, 97, 117, 117, 119, 119, 118, 118, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 108, 108, @@ -205,10 +205,10 @@ class Parser extends \text\parser\generic\AbstractParser { 0, 5, 0, 4, 1, 3, 0, 0, 3, 2, 1, 1, 2, 0, 9, 1, 3, 0, 1, 0, 5, 0, 1, 1, 3, 0, 1, 5, 4, 4, - 1, 4, 1, 1, 0, 4, 0, 3, 4, 5, + 1, 4, 1, 1, 0, 3, 0, 3, 4, 4, 2, 0, 4, 0, 5, 0, 6, 2, 3, 1, - 1, 1, 1, 1, 5, 3, 3, 3, 0, 8, - 1, 3, 0, 1, 1, 3, 2, 3, 1, 0, + 1, 1, 1, 1, 5, 3, 3, 3, 0, 7, + 2, 4, 0, 1, 1, 3, 2, 3, 1, 0, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 0, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 3, 3, @@ -247,1328 +247,1316 @@ class Parser extends \text\parser\generic\AbstractParser { 290, 288, 191, 278, 0, 0, 0, 221, 0, 0, 305, 0, 300, 303, 0, 307, 0, 0, 25, 0, 34, 36, 37, 0, 0, 0, 42, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 188, 0, 217, 0, + 0, 0, 0, 0, 0, 0, 186, 188, 0, 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, 208, 0, 0, 199, 0, 0, 280, 286, 0, - 175, 0, 0, 234, 232, 82, 301, 21, 0, 0, - 0, 0, 0, 0, 0, 23, 0, 35, 0, 193, - 0, 0, 0, 0, 0, 186, 0, 189, 218, 0, + 0, 0, 208, 0, 0, 199, 0, 0, 280, 286, + 0, 175, 0, 0, 234, 232, 82, 301, 21, 0, + 0, 0, 0, 0, 0, 0, 23, 0, 35, 0, + 193, 0, 0, 0, 0, 0, 0, 189, 218, 190, 216, 0, 0, 184, 181, 0, 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 284, 113, 0, 131, 117, 121, 123, 119, 127, 129, 115, 125, 0, 0, 0, 0, 111, 0, 63, 0, 0, 0, 0, 0, 0, 35, 45, 0, 43, 0, 0, 0, 0, - 0, 0, 190, 0, 0, 195, 0, 282, 289, 0, - 0, 0, 133, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 38, 137, 112, 0, 0, 61, - 59, 103, 104, 105, 106, 107, 108, 0, 0, 0, - 0, 0, 0, 0, 179, 180, 197, 212, 209, 0, - 287, 0, 0, 0, 0, 0, 138, 0, 0, 0, - 0, 155, 0, 0, 128, 130, 0, 0, 0, 0, - 142, 219, 0, 0, 93, 0, 0, 0, 0, 0, - 65, 0, 48, 0, 0, 53, 33, 0, 178, 0, - 182, 285, 114, 0, 0, 0, 0, 132, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, - 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 52, 55, 0, 49, 54, 47, 210, 0, 0, - 139, 0, 0, 0, 156, 0, 0, 0, 0, 0, - 0, 143, 0, 0, 0, 0, 94, 96, 95, 0, - 0, 0, 0, 0, 164, 170, 134, 0, 161, 162, - 0, 0, 122, 0, 146, 0, 0, 0, 0, 97, - 102, 0, 85, 0, 64, 0, 0, 0, 56, 0, - 0, 160, 169, 163, 135, 0, 0, 0, 158, 116, - 151, 153, 0, 0, 149, 136, 0, 0, 62, 60, - 0, 0, 0, 0, 124, 120, 0, 0, 0, 126, - 150, 87, 86, 66, 166, 0, 0, 0, 159, 0, - 0, 0, 0, 171, 118, 0, 154, 167, 0, 152, - 0, 0, 165, + 0, 0, 209, 0, 195, 0, 282, 289, 0, 0, + 0, 133, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 38, 137, 112, 0, 0, 61, 59, + 103, 104, 105, 106, 107, 108, 0, 0, 0, 0, + 0, 0, 0, 179, 180, 197, 212, 0, 0, 287, + 0, 0, 0, 0, 0, 138, 0, 0, 0, 0, + 155, 0, 0, 128, 130, 0, 0, 0, 0, 142, + 219, 0, 0, 93, 0, 0, 0, 0, 0, 65, + 0, 48, 0, 0, 53, 33, 0, 178, 210, 182, + 285, 114, 0, 0, 0, 0, 132, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, + 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 52, 55, 0, 49, 54, 47, 0, 0, 139, 0, + 0, 0, 156, 0, 0, 0, 0, 0, 0, 143, + 0, 0, 0, 0, 94, 96, 95, 0, 0, 0, + 0, 0, 164, 170, 134, 0, 161, 162, 0, 0, + 122, 0, 146, 0, 0, 0, 0, 97, 102, 0, + 85, 0, 64, 0, 0, 0, 56, 0, 0, 160, + 169, 163, 135, 0, 0, 0, 158, 116, 151, 153, + 0, 0, 149, 136, 0, 0, 62, 60, 0, 0, + 0, 0, 124, 120, 0, 0, 0, 126, 150, 87, + 86, 66, 166, 0, 0, 0, 159, 0, 0, 0, + 0, 171, 118, 0, 154, 167, 0, 152, 0, 0, + 165, ); protected static $yyDgoto= array(2, 3, 6, 28, 140, 4, 7, 8, 17, 53, 18, 250, 113, 61, 99, 121, 170, 63, 255, 62, 101, - 123, 394, 251, 252, 253, 381, 256, 257, 334, 335, - 382, 314, 269, 392, 485, 142, 475, 486, 518, 480, - 546, 575, 479, 476, 429, 438, 521, 41, 30, 42, - 58, 94, 95, 96, 143, 477, 478, 383, 384, 290, - 412, 422, 463, 590, 416, 419, 504, 417, 418, 423, - 593, 420, 421, 415, 454, 557, 456, 470, 457, 471, - 594, 595, 608, 609, 607, 558, 582, 559, 560, 580, - 616, 581, 144, 260, 115, 116, 145, 356, 184, 346, - 233, 185, 191, 179, 276, 264, 146, 147, 148, 149, - 150, 490, 192, 193, 151, 103, 152, 153, 325, 234, - 235, 316, 236, 411, 367, 317, 117, 118, 31, 32, + 123, 394, 251, 252, 253, 381, 256, 257, 335, 336, + 382, 315, 270, 392, 484, 142, 474, 485, 517, 479, + 544, 573, 478, 475, 428, 437, 520, 41, 30, 42, + 58, 94, 95, 96, 143, 476, 477, 383, 384, 291, + 411, 421, 462, 588, 415, 418, 503, 416, 417, 422, + 591, 419, 420, 414, 453, 555, 455, 469, 456, 470, + 592, 593, 606, 607, 605, 556, 580, 557, 558, 578, + 614, 579, 144, 260, 115, 116, 145, 356, 267, 184, + 233, 185, 191, 179, 277, 264, 146, 147, 148, 149, + 150, 448, 192, 193, 151, 103, 152, 153, 326, 234, + 235, 317, 236, 410, 367, 318, 117, 118, 31, 32, ); - protected static $yySindex = array( -280, - 0, 0, -267, -92, 251, 620, -267, 0, 69, 94, - 260, 0, 50, 50, 0, 0, 151, 0, 266, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 238, 0, - 506, 0, 0, -92, -92, 0, -37, 309, 58, 207, - 85, 0, 0, 0, 0, 0, 0, 0, 58, 58, - 58, 0, 330, 0, 336, 306, 0, 360, 266, 506, - -92, -92, -92, 349, 0, 368, 375, 0, -92, -92, - 746, 0, 0, 382, 144, 173, 144, 0, 0, 0, - 0, 0, 0, -92, 254, 0, 0, 0, 0, 0, - 448, 106, 0, 505, 212, 0, -49, -92, 248, -92, - 441, 248, 4429, 528, -21, -21, -192, 0, -77, 0, - 259, 530, 0, 495, 0, 0, 137, 0, 0, -92, - 468, 550, 0, 0, 473, 0, 5170, 5170, 5170, 5170, - 5170, 5170, 0, 5170, 520, 543, 0, 5183, 480, 194, - 3440, -30, 0, 566, 0, 0, 0, 0, 0, 0, - 518, 569, 0, 5170, 69, 0, 0, 0, 0, 555, - 0, -92, 213, 524, -49, 0, 0, 0, -92, 1084, - 371, 365, 67, 67, -81, 67, 67, 67, 213, 0, - 5170, 0, 5170, 373, -30, 530, 571, -54, 2474, -78, - 596, 597, 0, -73, 0, 5170, 5170, 5170, 5170, 5170, - 5170, 5170, 5170, 5170, 5170, 5170, 5170, 5170, 5170, 5170, - 5170, 4935, 5060, 4806, 5170, 4898, 5170, 5170, 5170, 5170, - 5170, 5170, 5170, -92, 5170, 0, 0, 213, 0, 0, - 0, 0, 0, 0, -30, 3, 5170, 0, -188, 599, - 0, 491, 0, 0, 1094, 0, 522, 387, 0, 105, - 0, 0, 0, 0, 526, 288, 0, 609, 495, -30, - 529, 534, 3440, 5170, 3440, 5096, 0, 5170, 0, -30, - 571, 403, -73, 571, 411, -245, 3475, 3572, 3572, 3572, - 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3572, 3440, 615, - 269, 2612, 1346, 5170, 100, 5170, 100, 5170, 5170, 75, - 75, 5170, 5170, 75, 75, 37, 37, 217, 217, 217, - -81, 0, 67, -13, 0, 5170, 5170, 0, 0, 635, - 0, 618, 543, 0, 0, 0, 0, 0, 552, 419, - 370, 422, -72, 560, 645, 0, 371, 0, 5170, 0, - 5170, -32, 647, 552, 3440, 0, 3440, 0, 0, 5096, - 0, 5096, 646, 0, 0, -30, 5170, 3572, 3572, 75, - 75, 75, 75, 0, 598, 648, 5170, 0, 0, 4, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 653, - 573, 2582, 552, 0, 633, 0, 657, 659, 437, 617, - 571, 577, 0, 0, 5170, 0, 889, 668, 595, 603, - -30, 607, 0, 621, 5170, 0, 3614, 0, 0, 680, - 5170, 5170, 0, 405, 5170, 682, 709, 479, 716, 717, - 724, 745, 757, 462, 0, 0, 0, 498, -35, 0, - 0, 0, 0, 0, 0, 0, 0, 765, -35, 748, - 548, 1550, 2716, 560, 0, 0, 0, 0, 0, 769, - 0, 770, 764, 552, 763, 388, 0, 2878, 5170, 5170, - 552, 0, 457, 486, 0, 0, 5170, 5170, 766, 400, - 0, 0, 773, 305, 0, 788, 799, -164, -74, -74, - 0, 753, 0, 98, -86, 0, 0, 560, 0, -30, - 0, 0, 0, 722, 5170, 405, 725, 0, 793, 2913, - 728, 818, 811, 500, 3014, 3042, 5170, 462, 743, 0, - 608, 0, 546, -35, 535, 571, -35, 828, 799, 829, - -35, 0, 0, 552, 0, 0, 0, 0, -109, 3440, - 0, 552, 5170, 479, 0, 5170, 536, 5170, 479, 754, - 3440, 0, 552, 571, -92, -25, 0, 0, 0, 799, - 546, 546, 837, 755, 0, 0, 0, -109, 0, 0, - 758, 820, 0, 3139, 0, 3174, 514, -14, 761, 0, - 0, 5170, 0, 552, 0, -25, -25, 546, 0, 844, - 767, 0, 0, 0, 0, 5170, 832, 479, 0, 0, - 0, 0, 762, -14, 0, 0, 3315, 771, 0, 0, - -25, -92, 552, 856, 0, 0, 479, 5170, 841, 0, - 0, 0, 0, 0, 0, -91, 785, 479, 0, 3342, - 552, -92, 870, 0, 0, 552, 0, 0, 796, 0, - 552, 791, 0, + protected static $yySindex = array( -258, + 0, 0, -250, -143, 190, 1018, -250, 0, 33, 46, + 3, 0, -156, -156, 0, 0, 100, 0, 134, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, + 793, 0, 0, -143, -143, 0, -29, 181, 2, -163, + -11, 0, 0, 0, 0, 0, 0, 0, 2, 2, + 2, 0, 185, 0, 32, 182, 0, 217, 134, 793, + -143, -143, -143, 270, 0, 277, 306, 0, -143, -143, + 232, 0, 0, 329, 86, 102, 86, 0, 0, 0, + 0, 0, 0, -143, 169, 0, 0, 0, 0, 0, + 358, 19, 0, 416, 208, 0, -35, -143, 156, -143, + 368, 156, 4927, 491, 663, 663, -233, 0, -50, 0, + 225, 487, 0, 459, 0, 0, 307, 0, 0, -143, + 439, 524, 0, 0, 443, 0, 5084, 5084, 5084, 5084, + 5084, 5084, 0, 5084, 441, 521, 0, 5127, 461, 172, + 3301, -30, 0, 546, 0, 0, 0, 0, 0, 0, + 500, 558, 0, 5084, 33, 0, 0, 0, 0, 544, + 0, -143, -17, 519, -35, 0, 0, 0, -143, 422, + 354, 30, -83, -83, -71, -83, -83, -83, -17, 0, + 5084, 0, 5084, 360, -30, 487, 572, -54, 2475, -23, + 596, 606, 0, -39, 0, 5084, 5084, 5084, 5084, 5084, + 5084, 5084, 5084, 5084, 5084, 5084, 5084, 5084, 5084, 5084, + 5084, 5014, 5025, 4780, 5084, 4817, 5084, 5084, 5084, 5084, + 5084, 5084, 5084, -143, 5084, 0, 0, -17, 0, 0, + 0, 0, 0, 0, -30, -1, 5084, 0, -177, 616, + 0, 387, 0, 0, 751, 0, 539, 403, 0, 128, + 0, 0, 0, 0, 562, 382, 0, 652, 459, -30, + 570, 573, 3301, 5084, 3301, 5054, 0, 0, 5084, 0, + -30, 572, 360, -39, 572, 360, -174, 3336, 3465, 3465, + 3465, 3465, 3465, 3465, 3465, 3465, 3465, 3465, 3465, 3301, + 637, 268, 1885, 3369, 5084, 3597, 5084, 3597, 5084, 5084, + 4, 4, 5084, 5084, 4, 4, -5, -5, -78, -78, + -78, -71, 0, -83, 317, 0, 5084, 5084, 0, 0, + 659, 0, 642, 521, 0, 0, 0, 0, 0, 575, + 448, 41, 450, 90, 590, 682, 0, 354, 0, 5084, + 0, 5084, 73, 685, 575, 3301, 3301, 0, 0, 0, + 0, 602, 689, 0, 0, -30, 5084, 3465, 3465, 4, + 4, 4, 4, 0, 640, 693, 5084, 0, 0, 10, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 695, + 611, 2607, 575, 0, 676, 0, 705, 707, 402, 658, + 572, 630, 0, 0, 5084, 0, 670, 714, 635, 646, + -30, 673, 0, 5084, 0, 3500, 0, 0, 718, 5084, + 5084, 0, 465, 5084, 748, 767, 503, 771, 750, 753, + 774, 775, 479, 0, 0, 0, 522, -22, 0, 0, + 0, 0, 0, 0, 0, 0, 784, -22, 770, 571, + 1223, 2644, 590, 0, 0, 0, 0, -30, 789, 0, + 791, 782, 575, 772, 305, 0, 2741, 5084, 5084, 575, + 0, 473, 507, 0, 0, 5084, 5084, 787, 467, 0, + 0, 792, 410, 0, 813, 815, -192, -18, -18, 0, + 777, 0, 16, -107, 0, 0, 590, 0, 0, 0, + 0, 0, 735, 5084, 465, 744, 0, 812, 2776, 747, + 834, 833, 514, 2873, 2908, 5084, 479, 756, 0, 626, + 0, 566, -22, 549, 572, -22, 849, 815, 850, -22, + 0, 0, 575, 0, 0, 0, 279, 3301, 0, 575, + 5084, 503, 0, 5084, 552, 5084, 503, 778, 3301, 0, + 575, 572, -143, -46, 0, 0, 0, 815, 566, 566, + 852, 773, 0, 0, 0, 279, 0, 0, 779, 836, + 0, 3037, 0, 3072, 529, 254, 783, 0, 0, 5084, + 0, 575, 0, -46, -46, 566, 0, 857, 780, 0, + 0, 0, 0, 5084, 843, 503, 0, 0, 0, 0, + 786, 254, 0, 0, 3169, 794, 0, 0, -46, -143, + 575, 866, 0, 0, 503, 5084, 851, 0, 0, 0, + 0, 0, 0, -112, 795, 503, 0, 3204, 575, -143, + 871, 0, 0, 575, 0, 0, 799, 0, 575, 804, + 0, ); - protected static $yyRindex= array( 982, - 0, 0, 1874, 0, 0, 272, 1933, 0, 710, 0, + protected static $yyRindex= array( 992, + 0, 0, 1213, 0, 0, 287, 1946, 0, 732, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 401, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -39, 295, 0, 0, 87, 0, 759, + 0, 0, 0, -37, 327, 0, 0, 74, 0, 430, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 737, -96, 797, -96, 0, 0, 0, - 0, 0, 0, 0, -29, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 798, 0, - 0, 798, 833, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 138, 0, 0, 0, 0, 0, 0, - 0, -24, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1728, 1627, 45, 884, 0, 0, - 379, 1456, 0, 427, 0, 0, 0, 0, 0, 0, - 0, 129, 0, 888, -33, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -134, - 805, 890, 1848, 1893, 2420, 2027, 2148, 2282, 0, 0, - 0, 0, 0, 0, 1456, 1499, 1692, -70, 0, 0, - 0, 70, 0, 679, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 881, 0, 0, + 0, 0, 0, 759, -97, 807, -97, 0, 0, 0, + 0, 0, 0, 0, -34, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 808, 0, + 0, 808, 839, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 347, 0, 0, 0, 0, 0, 0, + 0, -25, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1788, 1624, 924, 893, 0, 0, + 478, 1490, 0, 526, 0, 0, 0, 0, 0, 0, + 0, 67, 0, 898, -33, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, + 817, 1063, 1922, 2012, 2311, 2050, 2087, 2177, 0, 0, + 0, 0, 0, 0, 1490, 5113, 1752, -19, 0, 0, + 0, -20, 0, 686, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1591, 0, 1230, 0, 84, 0, - 0, 0, 0, 0, -134, 0, 432, 0, 0, 0, - 0, 0, 0, 521, 0, 817, 0, 854, 0, 1456, - 865, 866, 102, 888, 109, 0, 0, 0, 0, 1456, - 80, 0, 0, 80, 0, 0, 815, -12, 91, 474, - 549, 813, 900, 902, 930, 946, 1380, 1382, 1037, 0, - 2843, 4709, 4593, 0, 4641, 0, 4669, 0, 0, 4037, - 4074, 0, 0, 4168, 4208, 3960, 3986, 3738, 3775, 3872, - 2447, 0, 2325, 1291, 0, 869, 888, 0, 0, 1152, - 0, 0, 0, 0, 0, 0, 0, 0, 822, 0, - 81, 0, 0, 5, 0, 0, 0, 0, 888, 0, - 840, 0, 0, 822, 1586, 0, 959, 0, 0, 0, - 0, 0, 1194, 0, 0, 1456, 0, 1411, 1468, 4259, - 4373, 4464, 4504, 0, 0, 0, 888, 0, 0, 0, + 0, 0, 0, 0, 1587, 0, 542, 0, 27, 0, + 0, 0, 0, 0, 212, 0, 1581, 0, 0, 0, + 0, 0, 0, 511, 0, 821, 0, 865, 0, 1490, + 867, 868, 69, 898, 389, 0, 0, 0, 0, 0, + 1490, -21, 0, 0, -21, 0, 0, 70, 91, 138, + 142, 343, 466, 653, 769, 855, 935, 1198, 1599, 563, + 0, 4430, 4300, 4523, 0, 4574, 0, 4598, 0, 0, + 47, 3970, 0, 0, 4024, 4061, 3888, 3931, 3635, 3763, + 3800, 2348, 0, 2221, 1363, 0, 870, 898, 0, 0, + 1187, 0, 0, 0, 0, 0, 0, 0, 0, 835, + 0, 108, 0, 0, 92, 0, 0, 0, 0, 898, + 0, 847, 0, 0, 835, 129, 83, 0, 0, 0, + 0, 0, 1325, 0, 0, 1490, 0, 1663, 1828, 4098, + 4190, 4357, 4486, 0, 0, 0, 898, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -50, 0, 0, 0, 0, 843, 0, 0, - 909, 0, 0, 0, 0, 0, 48, 0, 0, 0, - 1456, 0, 0, 0, 888, 0, 4760, 0, 0, 0, - 888, 910, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 931, 0, + 0, 0, -36, 0, 0, 0, 0, 858, 0, 0, + 915, 0, 0, 0, 0, 0, -106, 0, 0, 0, + 1490, 0, 0, 898, 0, 4619, 0, 0, 0, 898, + 916, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 947, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -134, 0, 1042, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 822, 453, 0, 0, 0, 914, 0, - 822, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 276, 0, 0, 934, 0, 935, 935, - 0, 0, 0, 0, 0, 0, 0, 5, 0, 1456, + 212, 0, 1160, 0, 0, 0, 0, 1490, 0, 0, + 0, 0, 835, 476, 0, 0, 0, 931, 0, 835, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 613, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 95, 0, 0, 276, 0, 0, 937, 0, - 931, 0, 0, 822, 0, 0, 0, 0, 0, 454, - 0, 822, 914, 0, 0, 0, 0, 0, 0, 0, - 484, 0, 822, 276, 0, 0, 0, 0, 0, 938, - 95, 95, 0, 0, 0, 0, 0, 293, 0, 0, - 0, 0, 0, 0, 0, 0, 364, 860, 0, 0, - 0, 0, 0, 822, 0, 0, 0, 95, 0, 0, - 0, 0, 0, 0, 0, 888, 0, 0, 0, 0, - 0, 0, 0, 861, 0, 0, 0, 0, 0, 0, - 0, 0, 822, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 81, 0, 0, 950, 0, 954, 954, 0, + 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -28, 0, 0, 0, 0, -28, 0, 0, 0, 0, - 822, 0, 0, + 0, 632, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -24, 0, 0, 81, 0, 0, 956, 0, 947, + 0, 0, 835, 0, 0, 0, 0, 485, 0, 835, + 931, 0, 0, 0, 0, 0, 0, 0, 486, 0, + 835, 81, 0, 0, 0, 0, 0, 957, -24, -24, + 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, + 0, 0, 0, 0, 378, 874, 0, 0, 0, 0, + 0, 835, 0, 0, 0, -24, 0, 0, 0, 0, + 0, 0, 0, 898, 0, 0, 0, 0, 0, 0, + 0, 875, 0, 0, 0, 0, 0, 0, 0, 0, + 835, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -13, 0, + 0, 0, 0, -13, 0, 0, 0, 0, 835, 0, + 0, ); protected static $yyGindex= array(0, - 0, 0, 0, -4, 0, 0, 984, 513, 572, 2, - 986, -60, 0, 919, 896, -146, 0, 0, 0, 0, - -115, -419, 0, 0, 0, 2149, 0, 662, 0, 0, - 76, 2153, -120, 0, 0, -43, -329, 516, 532, 0, - -2, -215, 0, 481, 0, 0, 0, 0, 953, 958, - 0, 425, 0, 915, -150, 28, 800, 0, 1360, -160, - 0, 0, -463, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 533, 523, - 0, 439, 0, 0, 0, 0, 0, 476, 477, 0, - 0, 0, 0, 0, 847, 857, 695, 0, 0, 225, - -137, 0, 849, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 778, 0, 0, 0, 814, 0, 803, - 0, 0, 0, 0, 0, 0, 0, 879, 0, 1023, + 0, 0, 0, -4, 0, 0, 994, 634, 581, 106, + 996, -60, 0, 926, 904, -154, 0, 0, 0, 0, + -116, -340, 0, 0, 0, 4198, 0, 669, 0, 0, + 75, 2582, -27, 0, 0, -42, -413, 527, 531, 0, + -145, -216, 0, 488, 0, 0, 0, 0, 952, 955, + 0, 555, 0, 911, -149, -213, 785, 0, 60, -222, + 0, 0, 112, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 528, 515, + 0, 429, 0, 0, 0, 0, 0, 468, 469, 0, + 0, 0, 0, 0, 848, 860, 687, 0, 285, 0, + -48, 0, 846, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 755, 0, 0, 0, 798, 0, 806, + 0, 0, 0, 0, 0, 0, 0, 880, 0, 1015, ); protected static $yyTable = array(11, - 75, 76, 77, 240, 167, 97, 16, 219, 50, 232, - 219, 219, 164, 111, 353, 231, 112, 112, 164, 13, - 298, 245, 1, 104, 489, 126, 26, 93, 207, 47, - 48, 207, 622, 573, 306, 57, 5, 119, 525, 122, - 54, 112, 319, 414, 225, 207, 207, 267, 32, 364, - 65, 54, 54, 246, 354, 112, 74, 74, 74, 122, - 229, 93, 93, 32, 81, 82, 92, 158, 527, 83, - 563, 322, 323, 222, 110, 567, 321, 164, 220, 74, - 207, 187, 187, 221, 187, 187, 187, 187, 187, 187, - 187, 187, 74, 74, 355, 74, 109, 574, 306, 52, - 92, 92, 187, 187, 187, 187, 187, 187, 122, 482, - 214, 222, 207, 343, 34, 74, 220, 218, 258, 219, - 57, 221, 340, 57, 606, 308, 413, 233, 59, 32, - 71, 237, 348, 188, 237, 187, 222, 187, 187, 35, - 17, 220, 218, 619, 219, 235, 221, 159, 237, 237, - 349, 308, 236, 101, 625, 365, 523, 241, 74, 214, - 74, 216, 225, 312, 74, 515, 366, 9, 187, 187, - 187, 17, 39, 484, 74, 516, 233, 60, 141, 71, - 165, 304, 160, 237, 547, 9, 9, 388, 398, 74, - 399, 397, 225, 10, 235, 112, 39, 308, 166, 304, - 225, 236, 173, 174, 175, 176, 177, 178, 233, 180, - 9, 10, 10, 189, 26, 237, 410, 101, 406, 74, - 524, 230, 91, 74, 9, 225, 235, 322, 323, 141, - 224, 572, 306, 236, 555, 556, 10, 320, 155, 86, - 87, 88, 89, 90, 207, 74, 442, 389, 623, 228, - 10, 453, 110, 230, 450, 109, 263, 517, 265, 390, - 452, 271, 12, 447, 10, 474, 274, 391, 74, 298, - 440, 277, 278, 279, 280, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 291, 292, 293, 295, 297, 300, - 301, 304, 305, 306, 307, 308, 309, 310, 311, 34, - 313, 185, 15, 112, 474, 222, 211, 308, 499, 12, - 220, 218, 289, 219, 105, 221, 57, 12, 36, 57, - 226, 227, 110, 110, 84, 168, 214, 168, 214, 40, - 216, 337, 168, 308, 17, 168, 57, 168, 17, 141, - 17, 345, 225, 347, 109, 109, 338, 237, 224, 15, - 511, 101, 528, 512, 51, 195, 187, 15, 591, 592, - 599, 600, 210, 70, 331, 268, 16, 228, 57, 358, - 16, 359, 49, 360, 361, 187, 17, 362, 363, 308, - 17, 34, 562, 168, 473, 614, 224, 17, 68, 230, - 10, 289, 141, 69, 225, 549, 157, 228, 157, 71, - 17, 207, 207, 157, 182, 228, 157, 78, 157, 386, - 34, 224, 17, 16, 141, 34, 141, 168, 168, 174, - 17, 16, 174, 570, 74, 345, 79, 345, 497, 571, - 228, 496, 407, 80, 74, 604, 332, 174, 226, 227, - 509, 97, 141, 508, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 98, 157, 187, 187, 223, 187, 187, - 187, 187, 187, 187, 187, 187, 55, 173, 226, 227, - 443, 174, 9, 436, 74, 74, 226, 227, 434, 432, - 141, 433, 100, 435, 122, 173, 141, 289, 157, 157, - 458, 309, 10, 140, 141, 223, 140, 141, 10, 217, - 215, 226, 227, 174, 237, 237, 519, 519, 106, 74, - 12, 129, 74, 139, 238, 107, 74, 238, 138, 173, - 223, 127, 316, 128, 144, 37, 38, 144, 224, 156, - 157, 238, 238, 13, 141, 500, 14, 43, 44, 45, - 74, 615, 505, 506, 550, 108, 56, 228, 576, 577, - 15, 173, 168, 168, 168, 168, 168, 168, 120, 182, - 46, 628, 437, 124, 44, 34, 238, 154, 162, 83, - 530, 308, 308, 308, 403, 601, 404, 181, 168, 44, - 224, 164, 541, 327, 129, 164, 139, 163, 83, 239, - 168, 138, 239, 169, 127, 171, 128, 74, 238, 228, - 183, 461, 194, 195, 130, 168, 239, 239, 141, 237, - 238, 564, 239, 566, 16, 105, 243, 74, 226, 227, - 64, 66, 67, 157, 157, 157, 157, 157, 157, 266, - 254, 268, 168, 168, 168, 168, 272, 223, 168, 326, - 273, 239, 83, 44, 329, 44, 330, 597, 339, 157, - 336, 341, 168, 168, 168, 168, 342, 168, 168, 350, - 309, 141, 168, 168, 168, 168, 168, 352, 217, 215, - 226, 227, 357, 239, 368, 181, 157, 130, 385, 212, - 213, 387, 393, 620, 395, 405, 309, 401, 409, 223, - 408, 316, 424, 428, 168, 168, 430, 425, 431, 441, - 309, 309, 309, 157, 157, 157, 157, 439, 444, 157, - 19, 316, 316, 316, 316, 316, 316, 316, 316, 445, - 451, 459, 168, 157, 157, 157, 157, 446, 157, 157, - 238, 448, 309, 157, 316, 157, 157, 157, 172, 86, - 87, 88, 89, 90, 455, 449, 17, 17, 460, 17, - 17, 17, 17, 17, 17, 464, 17, 472, 86, 87, - 88, 89, 90, 316, 10, 157, 157, 17, 17, 17, - 17, 17, 17, 298, 298, 465, 298, 298, 298, 298, - 298, 298, 466, 298, 467, 20, 21, 22, 23, 24, - 25, 134, 26, 157, 298, 298, 468, 298, 298, 298, - 17, 469, 17, 17, 481, 239, 483, 484, 27, 491, - 492, 172, 86, 87, 88, 89, 90, 502, 137, 369, - 370, 371, 493, 495, 133, 503, 507, 298, 513, 298, - 298, 510, 17, 17, 17, 17, 83, 10, 372, 373, - 374, 375, 514, 376, 377, 522, 529, 532, 378, 308, - 379, 533, 535, 240, 537, 206, 240, 536, 206, 298, - 298, 298, 298, 538, 134, 543, 545, 544, 551, 552, - 240, 240, 206, 206, 548, 565, 568, 578, 586, 579, - 131, 132, 585, 602, 589, 596, 610, 238, 238, 603, - 605, 137, 369, 370, 371, 613, 618, 133, 621, 20, - 21, 22, 23, 24, 25, 240, 26, 206, 380, 624, - 629, 372, 373, 374, 375, 633, 376, 377, 631, 30, - 28, 378, 27, 379, 213, 172, 219, 219, 172, 41, - 219, 219, 219, 219, 219, 213, 219, 240, 176, 206, - 241, 40, 243, 241, 295, 243, 109, 219, 219, 17, - 219, 219, 219, 131, 132, 296, 297, 241, 241, 243, - 243, 176, 239, 239, 172, 51, 17, 57, 176, 17, - 242, 91, 172, 242, 92, 88, 145, 90, 89, 19, - 17, 380, 219, 219, 147, 148, 244, 242, 242, 244, - 33, 29, 241, 298, 243, 102, 298, 125, 396, 58, - 526, 553, 58, 244, 244, 85, 86, 87, 88, 89, - 90, 520, 73, 219, 219, 219, 72, 58, 308, 17, - 17, 17, 242, 161, 241, 261, 243, 315, 531, 17, - 542, 10, 611, 583, 584, 262, 400, 318, 244, 17, - 17, 17, 275, 244, 308, 91, 298, 298, 298, 17, - 351, 58, 324, 46, 242, 0, 298, 0, 308, 308, - 308, 0, 0, 0, 0, 0, 298, 298, 298, 240, - 244, 206, 2, 0, 0, 0, 298, 177, 32, 32, - 177, 32, 32, 32, 32, 32, 32, 32, 32, 0, - 308, 84, 0, 0, 177, 177, 0, 0, 0, 32, - 32, 32, 32, 32, 32, 0, 0, 0, 0, 17, - 17, 17, 17, 17, 17, 17, 17, 17, 0, 17, - 17, 17, 0, 17, 17, 17, 17, 17, 17, 177, - 17, 0, 32, 0, 32, 32, 298, 298, 298, 298, - 298, 298, 298, 298, 298, 0, 219, 298, 298, 0, - 298, 298, 298, 298, 298, 298, 241, 298, 243, 0, - 0, 177, 0, 0, 0, 32, 32, 32, 20, 21, - 22, 247, 24, 25, 19, 26, 0, 0, 0, 0, - 0, 0, 0, 0, 19, 0, 242, 0, 283, 283, - 0, 27, 283, 283, 283, 283, 283, 283, 283, 0, - 0, 219, 244, 0, 0, 0, 0, 0, 249, 283, - 283, 283, 283, 283, 283, 58, 0, 0, 328, 0, - 219, 0, 248, 0, 0, 0, 240, 240, 206, 17, - 183, 183, 0, 0, 183, 183, 183, 183, 183, 183, - 183, 0, 283, 0, 283, 283, 0, 0, 0, 0, - 0, 183, 183, 183, 183, 183, 183, 0, 0, 0, - 0, 2, 2, 2, 2, 2, 2, 0, 2, 0, - 176, 0, 0, 176, 0, 283, 283, 283, 0, 0, - 0, 2, 2, 2, 183, 2, 183, 183, 176, 219, - 219, 219, 219, 219, 219, 219, 219, 219, 32, 17, - 219, 219, 0, 219, 219, 219, 219, 219, 219, 219, - 219, 0, 0, 241, 241, 243, 243, 183, 183, 183, - 0, 0, 176, 0, 0, 0, 0, 99, 99, 0, - 0, 99, 99, 99, 99, 99, 0, 99, 0, 0, - 0, 0, 0, 242, 242, 0, 0, 0, 99, 99, - 99, 99, 99, 32, 176, 0, 0, 0, 0, 244, - 244, 0, 0, 20, 21, 22, 247, 24, 25, 0, - 26, 0, 32, 20, 21, 22, 247, 24, 25, 0, - 26, 0, 222, 99, 99, 0, 27, 220, 218, 0, - 219, 0, 221, 0, 0, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 214, 0, 216, 283, 0, - 0, 0, 0, 0, 99, 99, 99, 248, 0, 0, - 245, 0, 246, 245, 0, 246, 0, 248, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 245, 245, 246, - 246, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 183, 255, 32, 32, 255, 32, 32, 32, 32, 32, - 32, 32, 32, 283, 0, 0, 0, 0, 255, 255, - 0, 225, 245, 0, 246, 0, 0, 0, 0, 0, - 0, 0, 283, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 277, 277, 0, 0, 277, 277, 277, 277, - 277, 0, 277, 255, 245, 183, 246, 0, 256, 0, - 0, 256, 0, 277, 277, 277, 277, 277, 277, 0, - 0, 0, 0, 0, 183, 256, 256, 0, 0, 0, - 0, 220, 0, 220, 0, 255, 0, 0, 220, 0, - 0, 220, 0, 220, 0, 0, 0, 99, 277, 277, - 0, 283, 283, 283, 283, 283, 283, 283, 283, 283, - 256, 0, 283, 283, 0, 283, 283, 283, 283, 283, - 283, 283, 283, 0, 0, 0, 0, 0, 0, 277, - 277, 277, 0, 0, 0, 0, 0, 0, 0, 220, - 0, 220, 256, 183, 183, 183, 183, 183, 183, 183, - 183, 183, 99, 0, 183, 183, 0, 183, 183, 183, - 183, 183, 183, 183, 183, 0, 0, 0, 0, 0, - 99, 99, 0, 0, 220, 0, 211, 279, 279, 211, - 99, 279, 279, 279, 279, 279, 245, 279, 246, 0, - 19, 0, 0, 211, 211, 0, 0, 0, 279, 279, - 279, 279, 279, 279, 0, 0, 0, 224, 0, 0, - 0, 0, 0, 226, 226, 0, 226, 255, 226, 226, - 226, 226, 226, 226, 487, 0, 228, 0, 211, 0, - 0, 0, 0, 279, 279, 0, 226, 226, 226, 226, - 99, 99, 99, 99, 99, 99, 99, 99, 99, 0, - 0, 99, 99, 0, 99, 99, 99, 99, 99, 99, - 211, 99, 277, 0, 279, 279, 279, 226, 0, 226, - 226, 0, 0, 0, 256, 0, 0, 0, 187, 187, - 0, 187, 57, 187, 187, 57, 187, 187, 187, 0, - 0, 0, 427, 0, 0, 217, 215, 226, 227, 0, - 226, 187, 226, 187, 187, 0, 212, 213, 220, 220, - 220, 220, 220, 220, 219, 219, 223, 277, 0, 219, - 219, 219, 219, 0, 219, 0, 0, 462, 0, 0, - 0, 0, 187, 0, 220, 187, 277, 219, 219, 219, - 219, 0, 0, 245, 245, 246, 246, 0, 0, 0, + 75, 76, 77, 167, 240, 97, 219, 219, 16, 232, + 219, 620, 571, 245, 322, 231, 50, 524, 39, 57, + 214, 13, 57, 104, 481, 26, 158, 111, 93, 47, + 48, 222, 59, 306, 101, 57, 220, 119, 320, 122, + 222, 221, 225, 52, 1, 220, 218, 225, 219, 413, + 221, 112, 246, 5, 225, 112, 74, 74, 74, 122, + 229, 36, 93, 93, 81, 82, 92, 164, 112, 182, + 233, 298, 112, 112, 522, 34, 572, 34, 34, 74, + 386, 60, 323, 324, 249, 353, 34, 249, 110, 69, + 249, 35, 74, 74, 365, 74, 55, 306, 101, 545, + 92, 92, 488, 12, 249, 249, 159, 249, 122, 249, + 206, 109, 235, 206, 344, 74, 9, 71, 258, 233, + 225, 57, 10, 58, 57, 354, 58, 206, 206, 225, + 126, 207, 412, 188, 207, 32, 268, 514, 523, 249, + 249, 58, 10, 15, 54, 39, 526, 515, 207, 207, + 32, 233, 483, 308, 65, 54, 54, 241, 74, 230, + 74, 235, 206, 313, 74, 355, 71, 17, 366, 211, + 249, 249, 211, 57, 74, 58, 56, 141, 237, 308, + 164, 237, 238, 207, 397, 238, 211, 211, 452, 74, + 398, 230, 399, 235, 206, 237, 237, 40, 17, 238, + 238, 173, 174, 175, 176, 177, 178, 16, 180, 160, + 570, 341, 189, 26, 34, 207, 32, 409, 112, 74, + 9, 211, 348, 74, 9, 308, 51, 621, 141, 105, + 237, 306, 101, 224, 238, 57, 214, 9, 441, 70, + 224, 9, 9, 68, 349, 74, 10, 228, 110, 91, + 10, 109, 228, 211, 449, 263, 71, 265, 12, 228, + 451, 12, 237, 10, 518, 518, 238, 10, 10, 74, + 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 292, 293, 294, 296, 298, 301, 302, + 305, 306, 307, 308, 309, 310, 311, 312, 15, 314, + 275, 15, 548, 249, 222, 211, 224, 405, 498, 220, + 218, 290, 219, 516, 221, 224, 272, 473, 226, 227, + 298, 473, 83, 226, 227, 228, 206, 214, 78, 216, + 226, 227, 323, 324, 228, 79, 110, 110, 141, 58, + 346, 321, 223, 347, 168, 496, 168, 207, 495, 388, + 165, 168, 446, 309, 168, 195, 168, 597, 598, 109, + 109, 210, 16, 439, 80, 16, 17, 17, 166, 358, + 17, 359, 16, 360, 361, 17, 17, 362, 363, 364, + 49, 560, 612, 239, 472, 211, 239, 332, 97, 230, + 304, 290, 141, 225, 237, 98, 226, 227, 238, 489, + 239, 239, 168, 574, 575, 226, 227, 164, 304, 389, + 157, 100, 157, 10, 141, 223, 141, 157, 106, 17, + 157, 390, 157, 74, 223, 338, 569, 17, 107, 391, + 599, 406, 236, 74, 602, 239, 168, 168, 435, 17, + 339, 141, 426, 433, 431, 511, 432, 17, 434, 12, + 249, 249, 249, 249, 249, 510, 108, 249, 249, 333, + 249, 249, 249, 249, 249, 249, 120, 239, 157, 442, + 269, 308, 13, 74, 74, 14, 461, 164, 141, 328, + 182, 236, 122, 206, 141, 290, 34, 547, 457, 15, + 124, 85, 86, 87, 88, 89, 90, 308, 181, 43, + 44, 45, 157, 157, 207, 207, 240, 508, 74, 240, + 507, 74, 19, 236, 568, 74, 140, 10, 174, 140, + 308, 174, 309, 240, 240, 141, 144, 436, 141, 144, + 154, 91, 141, 499, 162, 129, 174, 139, 74, 613, + 504, 505, 138, 308, 163, 127, 249, 128, 309, 164, + 46, 237, 237, 16, 44, 238, 238, 350, 240, 626, + 352, 168, 309, 309, 309, 171, 173, 169, 528, 44, + 174, 168, 168, 168, 168, 168, 168, 84, 183, 224, + 539, 195, 176, 194, 173, 176, 308, 308, 308, 237, + 240, 461, 238, 83, 309, 74, 461, 168, 228, 239, + 176, 239, 174, 177, 105, 141, 177, 129, 562, 139, + 564, 243, 83, 254, 138, 74, 266, 127, 173, 128, + 177, 177, 553, 554, 168, 460, 589, 590, 130, 64, + 66, 67, 269, 44, 176, 44, 273, 157, 157, 157, + 157, 157, 157, 561, 595, 461, 37, 38, 565, 274, + 173, 168, 168, 168, 168, 177, 327, 168, 141, 156, + 157, 330, 331, 157, 461, 83, 176, 217, 215, 226, + 227, 168, 168, 168, 168, 461, 168, 168, 212, 213, + 618, 168, 168, 168, 168, 168, 337, 177, 223, 308, + 157, 340, 342, 241, 357, 343, 241, 604, 368, 181, + 130, 20, 21, 22, 247, 24, 25, 385, 26, 387, + 241, 241, 393, 168, 168, 308, 617, 157, 157, 157, + 157, 395, 240, 157, 27, 401, 403, 623, 404, 308, + 308, 308, 407, 408, 423, 424, 427, 157, 157, 157, + 157, 168, 157, 157, 429, 241, 430, 157, 438, 157, + 157, 157, 440, 83, 443, 248, 239, 239, 450, 444, + 19, 308, 172, 86, 87, 88, 89, 90, 17, 17, + 445, 17, 17, 17, 17, 17, 17, 241, 17, 157, + 157, 471, 86, 87, 88, 89, 90, 458, 10, 17, + 17, 17, 17, 17, 17, 298, 298, 447, 298, 298, + 298, 298, 298, 298, 454, 298, 459, 157, 464, 243, + 463, 465, 243, 466, 467, 134, 298, 298, 468, 298, + 298, 298, 17, 480, 17, 17, 243, 243, 482, 490, + 483, 491, 494, 501, 172, 86, 87, 88, 89, 90, + 492, 19, 137, 369, 370, 371, 502, 506, 133, 298, + 509, 298, 298, 512, 17, 17, 17, 17, 513, 527, + 10, 243, 372, 373, 374, 375, 530, 376, 377, 521, + 531, 533, 378, 534, 379, 329, 535, 536, 541, 240, + 240, 298, 298, 298, 298, 542, 543, 134, 546, 549, + 550, 563, 576, 243, 584, 242, 600, 577, 242, 587, + 566, 603, 601, 583, 131, 132, 616, 594, 619, 241, + 608, 627, 242, 242, 137, 369, 370, 371, 611, 622, + 133, 629, 155, 86, 87, 88, 89, 90, 631, 30, + 28, 172, 380, 213, 372, 373, 374, 375, 172, 376, + 377, 41, 213, 176, 378, 40, 379, 242, 10, 20, + 21, 22, 247, 24, 25, 295, 26, 296, 297, 109, + 187, 187, 176, 187, 187, 187, 187, 187, 187, 187, + 187, 172, 27, 57, 176, 244, 131, 132, 244, 242, + 51, 187, 187, 187, 187, 187, 187, 91, 17, 172, + 92, 17, 244, 244, 88, 145, 90, 89, 147, 148, + 33, 29, 102, 248, 380, 125, 396, 551, 84, 519, + 525, 73, 316, 72, 187, 298, 187, 187, 298, 161, + 609, 540, 529, 581, 582, 243, 261, 244, 351, 400, + 20, 21, 22, 247, 24, 25, 325, 26, 262, 276, + 319, 17, 17, 17, 244, 46, 0, 187, 187, 187, + 0, 17, 0, 27, 0, 0, 0, 0, 0, 244, + 0, 17, 17, 17, 0, 0, 241, 241, 298, 298, + 298, 17, 20, 21, 22, 23, 24, 25, 298, 26, + 0, 0, 2, 0, 248, 0, 0, 0, 298, 298, + 298, 0, 0, 0, 0, 27, 0, 0, 298, 219, + 219, 0, 0, 219, 219, 219, 219, 219, 19, 219, + 0, 242, 0, 0, 0, 0, 0, 0, 0, 0, + 219, 219, 17, 219, 219, 219, 0, 0, 0, 0, + 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 0, 17, 17, 17, 0, 17, 17, 17, 17, 17, + 17, 0, 17, 17, 0, 219, 219, 0, 298, 298, + 298, 298, 298, 298, 298, 298, 298, 0, 0, 298, + 298, 0, 298, 298, 298, 298, 298, 298, 0, 298, + 185, 0, 243, 243, 0, 0, 219, 219, 219, 0, + 0, 244, 0, 0, 0, 0, 32, 32, 0, 32, + 32, 32, 32, 32, 32, 32, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 32, 32, 32, + 32, 32, 32, 283, 283, 0, 0, 283, 283, 283, + 283, 283, 283, 283, 0, 187, 0, 0, 245, 0, + 0, 245, 0, 0, 283, 283, 283, 283, 283, 283, + 32, 0, 32, 32, 187, 245, 245, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 242, 242, + 0, 2, 2, 2, 2, 2, 2, 283, 2, 283, + 283, 0, 0, 32, 32, 32, 0, 0, 0, 0, + 245, 2, 2, 2, 0, 2, 0, 20, 21, 22, + 23, 24, 25, 5, 26, 0, 0, 0, 0, 0, + 283, 283, 283, 19, 0, 0, 0, 0, 0, 219, + 27, 0, 245, 187, 187, 187, 187, 187, 187, 187, + 187, 187, 0, 0, 187, 187, 0, 187, 187, 187, + 187, 187, 187, 187, 187, 0, 0, 486, 244, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 220, 0, 0, 0, 187, 0, 187, 219, 0, - 219, 219, 0, 0, 255, 255, 0, 0, 0, 20, - 21, 22, 247, 24, 25, 0, 26, 0, 220, 0, - 0, 0, 211, 0, 220, 0, 0, 279, 0, 0, - 0, 219, 27, 219, 0, 277, 277, 277, 277, 277, - 277, 277, 277, 277, 0, 0, 277, 277, 0, 277, + 0, 183, 183, 0, 0, 183, 183, 183, 183, 183, + 183, 183, 0, 0, 219, 0, 0, 0, 0, 0, + 0, 0, 183, 183, 183, 183, 183, 183, 0, 0, + 0, 0, 0, 219, 0, 0, 0, 0, 0, 99, + 99, 0, 17, 99, 99, 99, 99, 99, 0, 99, + 0, 0, 0, 0, 0, 183, 32, 183, 183, 0, + 99, 99, 99, 99, 99, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 283, 0, 0, 0, 0, 183, 183, + 183, 0, 0, 0, 245, 99, 99, 0, 0, 0, + 0, 0, 219, 219, 219, 219, 219, 219, 219, 219, + 219, 32, 17, 219, 219, 0, 219, 219, 219, 219, + 219, 219, 219, 219, 0, 0, 99, 99, 99, 0, + 32, 0, 5, 5, 5, 5, 5, 5, 283, 5, + 0, 0, 20, 21, 22, 247, 24, 25, 0, 26, + 0, 0, 5, 5, 5, 5, 0, 283, 0, 0, + 0, 0, 0, 0, 0, 27, 277, 277, 0, 0, 277, 277, 277, 277, 277, 0, 277, 0, 0, 0, - 0, 256, 256, 248, 271, 271, 0, 0, 271, 271, - 271, 271, 271, 462, 271, 0, 0, 0, 462, 0, - 220, 220, 279, 0, 0, 271, 271, 271, 271, 271, - 271, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 279, 0, 0, 0, 0, 0, 0, 0, 272, - 272, 0, 0, 272, 272, 272, 272, 272, 226, 272, - 271, 271, 0, 0, 0, 0, 0, 462, 185, 0, - 272, 272, 272, 272, 272, 272, 0, 226, 0, 0, - 0, 0, 0, 0, 5, 0, 462, 0, 0, 0, - 0, 271, 271, 0, 0, 0, 0, 462, 0, 0, - 0, 0, 0, 0, 0, 272, 272, 0, 0, 0, - 279, 279, 279, 279, 279, 279, 279, 279, 279, 0, - 0, 279, 279, 187, 279, 279, 279, 279, 279, 279, - 0, 279, 0, 0, 0, 0, 272, 272, 0, 0, - 0, 0, 187, 6, 0, 0, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 0, 0, 226, 226, 219, - 226, 226, 226, 226, 226, 226, 226, 226, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 219, 0, - 0, 0, 0, 270, 270, 0, 0, 270, 270, 270, - 270, 270, 0, 270, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 270, 270, 270, 270, 270, 270, + 0, 0, 0, 0, 0, 0, 0, 277, 277, 277, + 277, 277, 277, 0, 0, 0, 248, 0, 0, 32, + 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, + 32, 32, 0, 32, 32, 32, 32, 32, 32, 32, + 32, 183, 277, 277, 0, 0, 283, 283, 283, 283, + 283, 283, 283, 283, 283, 0, 0, 283, 283, 0, + 283, 283, 283, 283, 283, 283, 283, 283, 0, 0, + 0, 245, 245, 277, 277, 277, 0, 0, 0, 99, + 0, 0, 0, 279, 279, 0, 0, 279, 279, 279, + 279, 279, 0, 279, 0, 0, 183, 0, 0, 246, + 0, 0, 246, 0, 279, 279, 279, 279, 279, 279, + 0, 0, 0, 0, 0, 183, 246, 246, 0, 0, + 226, 226, 0, 226, 0, 226, 226, 226, 226, 226, + 226, 316, 0, 0, 99, 0, 0, 0, 0, 279, + 279, 0, 0, 226, 226, 226, 226, 0, 0, 0, + 0, 246, 99, 99, 0, 0, 0, 0, 0, 0, + 0, 0, 99, 255, 0, 0, 255, 0, 0, 0, + 279, 279, 279, 0, 226, 0, 226, 226, 0, 0, + 255, 255, 0, 246, 183, 183, 183, 183, 183, 183, + 183, 183, 183, 0, 0, 183, 183, 0, 183, 183, + 183, 183, 183, 183, 183, 183, 277, 226, 0, 226, + 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, + 0, 0, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 0, 0, 99, 99, 0, 99, 99, 99, 99, + 99, 99, 0, 99, 0, 0, 0, 255, 187, 187, + 0, 187, 57, 187, 187, 57, 187, 187, 187, 0, + 0, 277, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 187, 0, 187, 187, 0, 0, 0, 0, 0, + 277, 0, 0, 0, 219, 219, 0, 0, 0, 219, + 219, 219, 219, 0, 219, 0, 0, 0, 0, 0, + 316, 0, 187, 279, 0, 187, 0, 219, 219, 219, + 219, 0, 0, 0, 0, 246, 0, 0, 0, 0, + 316, 316, 316, 316, 316, 316, 316, 316, 256, 0, + 0, 256, 0, 0, 0, 187, 0, 187, 219, 0, + 219, 219, 0, 316, 0, 256, 256, 0, 0, 277, + 277, 277, 277, 277, 277, 277, 277, 277, 279, 0, + 277, 277, 0, 277, 277, 277, 277, 277, 277, 0, + 277, 219, 316, 219, 0, 0, 0, 279, 0, 255, + 256, 222, 211, 0, 0, 0, 220, 218, 0, 219, + 0, 221, 0, 0, 0, 226, 0, 0, 0, 0, + 0, 0, 0, 0, 214, 0, 216, 0, 0, 0, + 0, 0, 256, 0, 226, 0, 0, 0, 271, 271, + 0, 0, 271, 271, 271, 271, 271, 0, 271, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 271, + 271, 271, 271, 271, 271, 0, 279, 279, 279, 279, + 279, 279, 279, 279, 279, 0, 0, 279, 279, 0, + 279, 279, 279, 279, 279, 279, 0, 279, 185, 0, + 225, 0, 246, 246, 271, 271, 0, 0, 0, 0, + 0, 0, 0, 226, 226, 226, 226, 226, 226, 226, + 226, 226, 0, 0, 226, 226, 6, 226, 226, 226, + 226, 226, 226, 226, 226, 271, 271, 0, 272, 272, + 0, 0, 272, 272, 272, 272, 272, 0, 272, 0, + 0, 0, 0, 187, 0, 0, 0, 0, 0, 272, + 272, 272, 272, 272, 272, 0, 255, 255, 0, 0, + 0, 0, 187, 0, 256, 0, 270, 270, 0, 0, + 270, 270, 270, 270, 270, 0, 270, 0, 0, 219, + 0, 0, 0, 0, 272, 272, 0, 270, 270, 270, + 270, 270, 270, 0, 0, 0, 0, 0, 219, 0, + 0, 0, 0, 273, 273, 0, 0, 273, 273, 273, + 273, 273, 0, 273, 0, 272, 272, 0, 0, 0, + 0, 0, 270, 270, 273, 273, 273, 273, 273, 273, 0, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 0, 0, 187, 187, 271, 187, 187, 187, 187, 187, - 187, 187, 187, 0, 0, 0, 0, 0, 0, 270, - 270, 0, 0, 0, 0, 0, 0, 219, 219, 219, - 219, 219, 219, 219, 219, 219, 0, 17, 219, 219, - 0, 219, 219, 219, 219, 219, 219, 219, 219, 272, - 270, 270, 0, 5, 5, 5, 5, 5, 5, 271, - 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 5, 5, 5, 5, 0, 0, 0, - 0, 0, 0, 0, 273, 273, 0, 0, 273, 273, - 273, 273, 273, 0, 273, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 272, 273, 273, 273, 273, 273, - 273, 0, 6, 6, 6, 6, 6, 6, 0, 6, + 0, 0, 187, 187, 0, 187, 187, 187, 187, 187, + 187, 187, 187, 270, 270, 0, 0, 0, 271, 273, + 273, 0, 0, 0, 0, 0, 0, 219, 219, 219, + 219, 219, 219, 219, 219, 219, 224, 17, 219, 219, + 0, 219, 219, 219, 219, 219, 219, 219, 219, 0, + 273, 273, 0, 274, 274, 228, 0, 274, 274, 274, + 274, 274, 0, 274, 0, 6, 6, 6, 6, 6, + 6, 0, 6, 271, 274, 274, 274, 274, 274, 274, + 0, 256, 256, 0, 0, 6, 6, 6, 6, 0, + 0, 0, 0, 0, 0, 0, 0, 262, 262, 0, + 0, 262, 262, 262, 262, 262, 0, 262, 272, 274, + 274, 0, 0, 0, 0, 0, 0, 0, 262, 262, + 262, 262, 262, 262, 217, 215, 226, 227, 0, 0, + 0, 0, 0, 0, 0, 212, 213, 0, 0, 0, + 274, 274, 0, 0, 0, 223, 270, 0, 0, 0, + 0, 0, 0, 262, 262, 0, 0, 0, 0, 0, + 0, 271, 271, 272, 0, 271, 271, 271, 271, 271, + 0, 0, 271, 271, 0, 271, 271, 271, 271, 271, + 271, 0, 271, 273, 262, 262, 0, 269, 269, 0, + 0, 269, 269, 269, 269, 269, 0, 269, 0, 0, + 0, 270, 0, 0, 0, 0, 0, 0, 269, 269, + 269, 269, 269, 269, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 268, 268, 0, 0, 268, 268, + 268, 268, 268, 0, 268, 0, 0, 0, 273, 0, + 0, 0, 0, 269, 269, 268, 268, 268, 268, 268, + 268, 272, 272, 0, 0, 272, 272, 272, 272, 272, + 0, 0, 272, 272, 0, 272, 272, 272, 272, 272, + 272, 0, 272, 274, 269, 269, 0, 0, 0, 0, + 268, 268, 0, 0, 0, 0, 0, 0, 0, 270, + 270, 0, 0, 270, 270, 270, 270, 270, 0, 0, + 270, 270, 0, 270, 270, 270, 270, 270, 270, 0, + 270, 268, 268, 0, 0, 0, 0, 262, 0, 0, + 0, 0, 0, 0, 0, 0, 273, 273, 274, 0, + 273, 273, 273, 273, 273, 0, 0, 273, 273, 0, + 273, 273, 273, 273, 273, 273, 0, 273, 0, 0, + 0, 222, 211, 0, 0, 271, 220, 218, 0, 219, + 0, 221, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 262, 0, 214, 198, 216, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 6, 6, 6, 6, 0, 0, 0, 0, - 273, 273, 0, 0, 0, 0, 0, 271, 271, 114, - 0, 271, 271, 271, 271, 271, 0, 0, 271, 271, - 0, 271, 271, 271, 271, 271, 271, 0, 271, 0, - 0, 273, 273, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 270, 0, 0, 0, 0, 0, 0, - 190, 0, 272, 272, 0, 0, 272, 272, 272, 272, - 272, 0, 0, 272, 272, 0, 272, 272, 272, 272, - 272, 272, 0, 272, 0, 242, 0, 114, 274, 274, - 0, 0, 274, 274, 274, 274, 274, 0, 274, 0, - 0, 259, 0, 0, 0, 0, 0, 0, 270, 274, - 274, 274, 274, 274, 274, 0, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 262, 262, 0, 0, 262, 262, 262, 262, 262, - 0, 262, 0, 0, 274, 274, 0, 0, 0, 0, - 0, 0, 262, 262, 262, 262, 262, 262, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 269, 210, 0, + 0, 0, 0, 0, 0, 0, 274, 274, 0, 0, + 274, 274, 274, 274, 274, 0, 0, 274, 274, 0, + 274, 274, 274, 274, 274, 274, 0, 274, 209, 0, + 225, 0, 0, 0, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 333, 0, 273, 274, 274, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 262, 262, 0, - 0, 0, 0, 0, 0, 190, 270, 270, 0, 0, - 270, 270, 270, 270, 270, 0, 0, 270, 270, 0, - 270, 270, 270, 270, 270, 270, 0, 270, 262, 262, - 0, 0, 0, 0, 0, 0, 269, 269, 0, 273, - 269, 269, 269, 269, 269, 0, 269, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 269, 269, 269, - 269, 269, 269, 268, 268, 0, 0, 268, 268, 268, - 268, 268, 402, 268, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 268, 268, 268, 268, 268, 268, - 222, 211, 269, 269, 270, 220, 218, 0, 219, 0, + 262, 262, 0, 0, 262, 262, 262, 262, 262, 0, + 0, 262, 262, 0, 262, 262, 262, 262, 262, 262, + 0, 262, 0, 222, 211, 0, 0, 0, 220, 218, + 0, 219, 0, 221, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 425, 214, 198, 216, 208, + 0, 0, 0, 0, 0, 0, 0, 0, 114, 0, + 222, 211, 0, 0, 487, 220, 218, 0, 219, 0, 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 214, 198, 216, 208, 0, 274, 268, - 268, 0, 0, 269, 269, 0, 0, 273, 273, 0, - 0, 273, 273, 273, 273, 273, 0, 0, 273, 273, - 0, 273, 273, 273, 273, 273, 273, 210, 273, 0, - 268, 268, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 262, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 274, 0, 0, 0, 209, 0, 225, - 0, 0, 494, 0, 0, 0, 0, 0, 0, 501, - 0, 0, 0, 0, 0, 0, 0, 0, 222, 211, - 0, 0, 0, 220, 218, 0, 219, 0, 221, 0, - 0, 0, 0, 0, 0, 0, 262, 0, 0, 0, - 426, 214, 198, 216, 208, 0, 0, 0, 222, 211, - 0, 0, 0, 220, 218, 0, 219, 0, 221, 0, + 210, 0, 0, 214, 198, 216, 208, 0, 0, 0, + 269, 269, 0, 0, 269, 269, 269, 269, 269, 190, + 0, 269, 269, 0, 269, 269, 269, 269, 269, 269, + 209, 269, 225, 0, 0, 0, 0, 210, 0, 0, + 0, 0, 0, 0, 242, 0, 114, 268, 268, 0, + 0, 268, 268, 268, 268, 268, 0, 0, 268, 268, + 259, 268, 268, 268, 268, 268, 268, 209, 268, 225, + 0, 0, 0, 0, 0, 190, 0, 222, 211, 0, + 0, 0, 220, 218, 0, 219, 224, 221, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 497, + 214, 198, 216, 208, 0, 228, 0, 0, 0, 0, + 0, 0, 222, 211, 0, 0, 532, 220, 218, 0, + 219, 0, 221, 0, 0, 0, 0, 0, 0, 0, + 0, 334, 0, 0, 210, 214, 198, 216, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 214, 554, 216, 0, 210, 269, 0, 0, 0, - 561, 274, 274, 0, 0, 274, 274, 274, 274, 274, - 0, 569, 274, 274, 0, 274, 274, 274, 274, 274, - 274, 0, 274, 268, 0, 209, 0, 225, 0, 0, + 0, 0, 0, 0, 0, 190, 0, 0, 0, 0, + 0, 0, 0, 0, 209, 0, 225, 0, 0, 210, + 0, 0, 0, 0, 217, 215, 226, 227, 199, 200, + 201, 202, 204, 0, 0, 212, 213, 0, 196, 197, + 203, 206, 205, 207, 0, 223, 0, 0, 0, 209, + 0, 225, 0, 0, 0, 0, 0, 0, 0, 222, + 211, 0, 0, 537, 220, 218, 0, 219, 224, 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 598, 0, 262, 262, 0, 0, 262, 262, - 262, 262, 262, 0, 0, 262, 262, 225, 262, 262, - 262, 262, 262, 262, 0, 262, 0, 0, 0, 0, - 0, 617, 222, 211, 0, 0, 488, 220, 218, 0, - 219, 0, 221, 0, 0, 0, 0, 0, 0, 627, - 0, 0, 0, 0, 630, 214, 198, 216, 208, 632, - 0, 0, 0, 0, 0, 224, 0, 0, 0, 0, + 0, 0, 214, 198, 216, 208, 0, 228, 0, 0, + 0, 0, 0, 0, 222, 211, 0, 0, 538, 220, + 218, 0, 219, 0, 221, 224, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 210, 214, 198, 216, + 208, 0, 0, 0, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 228, 0, 0, 0, 0, 210, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 269, - 269, 0, 0, 269, 269, 269, 269, 269, 0, 0, - 269, 269, 0, 269, 269, 269, 269, 269, 269, 209, - 269, 225, 0, 0, 0, 0, 268, 268, 0, 0, - 268, 268, 268, 268, 268, 0, 0, 268, 268, 0, - 268, 268, 268, 268, 268, 268, 0, 268, 0, 0, + 0, 0, 0, 0, 0, 0, 209, 0, 225, 0, + 0, 210, 0, 0, 0, 0, 217, 215, 226, 227, + 199, 200, 201, 202, 204, 0, 0, 212, 213, 0, + 196, 197, 203, 206, 205, 207, 0, 223, 0, 0, + 0, 209, 0, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 217, 215, 226, 227, 199, 200, 201, - 202, 204, 0, 263, 212, 213, 263, 196, 197, 203, - 206, 205, 207, 224, 223, 0, 0, 0, 0, 0, - 263, 263, 0, 263, 0, 263, 0, 0, 0, 0, - 0, 0, 228, 0, 222, 211, 0, 0, 0, 220, - 218, 0, 219, 224, 221, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 263, 498, 214, 198, 216, - 208, 0, 228, 0, 0, 0, 0, 0, 0, 222, - 211, 0, 0, 534, 220, 218, 0, 219, 0, 221, - 0, 0, 0, 0, 0, 0, 263, 263, 0, 0, - 0, 210, 214, 198, 216, 208, 0, 0, 0, 0, - 0, 217, 215, 226, 227, 199, 200, 201, 202, 204, - 0, 0, 212, 213, 0, 196, 197, 203, 206, 205, - 207, 209, 223, 225, 0, 0, 210, 0, 0, 0, - 0, 217, 215, 226, 227, 0, 0, 0, 0, 0, - 0, 0, 212, 213, 0, 0, 0, 224, 0, 0, - 0, 0, 223, 0, 0, 0, 209, 0, 225, 0, - 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, - 222, 211, 0, 0, 539, 220, 218, 0, 219, 0, - 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 214, 198, 216, 208, 0, 222, 211, - 0, 0, 540, 220, 218, 0, 219, 0, 221, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, - 0, 214, 198, 216, 208, 0, 0, 210, 0, 0, - 0, 0, 0, 0, 0, 217, 215, 226, 227, 199, - 200, 201, 202, 204, 0, 0, 212, 213, 0, 196, - 197, 203, 206, 205, 207, 210, 223, 209, 0, 225, + 202, 204, 224, 0, 212, 213, 0, 196, 197, 203, + 206, 205, 207, 0, 223, 0, 0, 0, 0, 0, + 0, 228, 0, 222, 211, 0, 0, 585, 220, 218, + 0, 219, 0, 221, 0, 0, 0, 224, 0, 0, + 0, 0, 0, 0, 0, 0, 214, 198, 216, 208, + 0, 0, 0, 0, 0, 0, 228, 0, 222, 211, + 0, 0, 586, 220, 218, 0, 219, 0, 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 209, 0, 225, 0, 0, - 0, 0, 0, 0, 0, 222, 211, 0, 0, 587, + 210, 214, 198, 216, 208, 0, 0, 0, 0, 0, + 217, 215, 226, 227, 199, 200, 201, 202, 204, 0, + 0, 212, 213, 0, 196, 197, 203, 206, 205, 207, + 209, 223, 225, 0, 0, 210, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 217, 215, 226, 227, 199, + 200, 201, 202, 204, 224, 0, 212, 213, 0, 196, + 197, 203, 206, 205, 207, 209, 223, 225, 0, 0, + 0, 0, 0, 228, 0, 222, 211, 0, 0, 0, 220, 218, 0, 219, 0, 221, 0, 0, 0, 224, - 0, 0, 0, 0, 0, 0, 0, 0, 214, 198, + 0, 0, 0, 0, 0, 0, 0, 610, 214, 198, 216, 208, 0, 0, 0, 0, 0, 0, 228, 0, - 222, 211, 0, 0, 588, 220, 218, 0, 219, 0, - 221, 0, 0, 0, 224, 0, 0, 0, 0, 0, - 0, 0, 210, 214, 198, 216, 208, 0, 0, 0, - 0, 0, 0, 228, 0, 0, 263, 263, 263, 263, - 263, 0, 0, 0, 0, 0, 263, 263, 263, 263, - 263, 263, 209, 0, 225, 0, 0, 210, 0, 0, + 222, 211, 0, 0, 0, 220, 218, 0, 219, 0, + 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 624, 210, 214, 198, 216, 208, 0, 0, 0, + 0, 0, 217, 215, 226, 227, 199, 200, 201, 202, + 204, 0, 0, 212, 213, 0, 196, 197, 203, 206, + 205, 207, 209, 223, 225, 0, 0, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 217, 215, 226, 227, 199, 200, 201, 202, 204, 0, 0, 212, 213, 0, 196, 197, 203, 206, 205, 207, 209, 223, 225, + 0, 0, 0, 0, 0, 0, 0, 222, 211, 0, + 0, 0, 220, 218, 0, 219, 0, 221, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 217, 215, 226, 227, 199, 200, 201, 202, - 204, 0, 0, 212, 213, 224, 196, 197, 203, 206, - 205, 207, 0, 223, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, - 0, 222, 211, 224, 0, 0, 220, 218, 0, 219, - 0, 221, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 228, 612, 214, 198, 216, 208, 222, 211, - 0, 0, 0, 220, 218, 0, 219, 0, 221, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 626, - 0, 214, 198, 216, 208, 0, 0, 0, 210, 0, - 0, 0, 0, 217, 215, 226, 227, 199, 200, 201, - 202, 204, 0, 0, 212, 213, 0, 196, 197, 203, - 206, 205, 207, 0, 223, 210, 0, 0, 209, 0, - 225, 217, 215, 226, 227, 199, 200, 201, 202, 204, + 214, 198, 216, 208, 0, 0, 0, 228, 0, 0, + 0, 0, 222, 211, 0, 0, 0, 220, 218, 0, + 219, 0, 221, 224, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 210, 214, 198, 216, 208, 0, + 0, 0, 228, 0, 0, 222, 0, 0, 0, 0, + 220, 218, 0, 219, 0, 221, 0, 0, 0, 0, + 0, 0, 0, 0, 209, 0, 225, 0, 214, 210, + 216, 0, 0, 0, 0, 0, 217, 215, 226, 227, + 199, 200, 201, 202, 204, 0, 0, 212, 213, 0, + 196, 197, 203, 206, 205, 207, 0, 223, 0, 209, + 0, 225, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 217, 215, 226, 227, 199, 200, 201, 202, 204, 224, 0, 212, 213, 0, 196, 197, 203, 206, 205, - 207, 0, 223, 0, 0, 209, 0, 225, 0, 228, - 0, 0, 0, 0, 0, 0, 222, 211, 0, 0, - 0, 220, 218, 0, 219, 224, 221, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 214, - 198, 216, 208, 0, 228, 0, 0, 0, 0, 0, + 207, 0, 223, 0, 225, 0, 0, 0, 0, 228, 0, 222, 211, 0, 0, 0, 220, 218, 0, 219, - 0, 221, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 210, 214, 198, 216, 208, 217, 215, + 0, 221, 0, 0, 0, 224, 0, 0, 0, 0, + 0, 0, 0, 0, 214, 198, 216, 208, 0, 0, + 0, 0, 0, 0, 228, 0, 222, 211, 0, 0, + 0, 220, 218, 0, 219, 0, 221, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 210, 214, + 0, 216, 0, 0, 0, 0, 0, 0, 217, 215, 226, 227, 199, 200, 201, 202, 204, 0, 0, 212, - 213, 0, 196, 197, 203, 206, 205, 207, 0, 223, - 0, 0, 0, 209, 0, 225, 0, 0, 210, 0, + 213, 0, 196, 197, 203, 206, 205, 207, 209, 223, + 225, 0, 0, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 217, 215, 226, 227, 199, 200, 201, - 202, 204, 0, 0, 212, 213, 0, 196, 197, 203, - 206, 205, 207, 0, 223, 0, 0, 0, 209, 0, - 225, 0, 0, 0, 0, 0, 0, 0, 222, 211, - 0, 0, 0, 220, 218, 0, 219, 0, 221, 0, - 0, 0, 0, 0, 0, 0, 224, 0, 0, 0, - 0, 214, 198, 216, 208, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 228, 0, 0, 0, 0, - 222, 211, 0, 224, 0, 220, 218, 0, 219, 0, - 221, 0, 0, 0, 0, 210, 0, 0, 0, 0, - 0, 0, 228, 214, 0, 216, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 209, 0, 225, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 210, 0, 0, - 0, 0, 0, 0, 217, 215, 226, 227, 199, 200, - 201, 202, 204, 0, 0, 212, 213, 0, 196, 197, - 203, 206, 205, 207, 0, 223, 0, 209, 0, 225, - 0, 217, 215, 226, 227, 199, 200, 201, 202, 204, - 0, 224, 212, 213, 0, 196, 197, 203, 206, 205, - 207, 0, 223, 0, 0, 0, 0, 0, 0, 0, - 228, 0, 0, 0, 259, 259, 0, 0, 259, 259, - 259, 259, 259, 0, 259, 0, 224, 0, 0, 0, - 0, 0, 0, 0, 0, 259, 259, 259, 259, 259, - 259, 0, 0, 0, 0, 228, 0, 0, 0, 0, - 0, 260, 260, 0, 0, 260, 260, 260, 260, 260, - 0, 260, 0, 0, 0, 0, 0, 0, 0, 0, - 259, 259, 260, 260, 260, 260, 260, 260, 0, 217, - 215, 226, 227, 199, 200, 201, 202, 204, 0, 0, - 212, 213, 0, 196, 197, 203, 206, 205, 207, 0, - 223, 259, 259, 0, 0, 0, 0, 260, 260, 0, - 0, 0, 0, 0, 217, 215, 226, 227, 199, 200, - 201, 202, 204, 224, 0, 212, 213, 0, 0, 197, - 203, 206, 205, 207, 0, 223, 0, 0, 260, 260, - 0, 0, 228, 0, 0, 0, 0, 0, 261, 261, - 0, 0, 261, 261, 261, 261, 261, 0, 261, 0, - 0, 0, 0, 0, 0, 224, 0, 0, 0, 261, - 261, 261, 261, 261, 261, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, + 202, 204, 224, 0, 212, 213, 0, 196, 197, 203, + 206, 205, 207, 209, 223, 225, 0, 0, 0, 0, + 0, 228, 0, 222, 0, 0, 0, 0, 220, 218, + 0, 219, 0, 221, 0, 0, 0, 224, 0, 0, + 0, 0, 0, 0, 0, 0, 214, 0, 216, 0, + 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, + 0, 259, 259, 0, 0, 259, 259, 259, 259, 259, + 224, 259, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 259, 259, 259, 259, 259, 259, 0, 228, + 217, 215, 226, 227, 199, 200, 201, 202, 204, 0, + 0, 212, 213, 0, 196, 197, 203, 206, 205, 207, + 0, 223, 225, 0, 0, 0, 0, 259, 259, 0, + 0, 0, 0, 0, 0, 217, 215, 226, 227, 199, + 200, 201, 202, 204, 0, 0, 212, 213, 0, 0, + 197, 203, 206, 205, 207, 0, 223, 0, 259, 259, + 0, 0, 0, 0, 0, 0, 0, 0, 217, 215, + 226, 227, 0, 0, 0, 0, 224, 0, 0, 212, + 213, 0, 0, 0, 0, 0, 0, 0, 0, 223, + 0, 0, 0, 0, 0, 228, 0, 0, 0, 260, + 260, 0, 0, 260, 260, 260, 260, 260, 0, 260, + 0, 224, 0, 0, 0, 0, 0, 0, 0, 0, + 260, 260, 260, 260, 260, 260, 0, 0, 0, 0, + 228, 0, 0, 0, 0, 0, 261, 261, 0, 0, + 261, 261, 261, 261, 261, 0, 261, 0, 0, 0, + 0, 0, 0, 0, 0, 260, 260, 261, 261, 261, + 261, 261, 261, 0, 217, 215, 226, 227, 199, 200, + 201, 202, 204, 0, 0, 212, 213, 0, 0, 0, + 203, 206, 205, 207, 0, 223, 260, 260, 0, 0, + 0, 259, 261, 261, 0, 0, 0, 0, 0, 217, + 215, 226, 227, 0, 0, 0, 0, 0, 224, 0, + 212, 213, 0, 0, 0, 0, 0, 0, 0, 0, + 223, 0, 0, 261, 261, 257, 0, 228, 257, 0, + 257, 257, 257, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 257, 257, 257, 257, 257, + 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, + 0, 258, 0, 258, 258, 258, 0, 0, 0, 0, + 257, 257, 0, 0, 0, 0, 0, 0, 258, 258, + 258, 258, 258, 258, 0, 0, 217, 215, 226, 227, + 0, 0, 0, 0, 0, 0, 0, 251, 0, 0, + 251, 257, 257, 251, 0, 0, 0, 223, 0, 260, + 0, 0, 0, 258, 258, 0, 0, 251, 251, 0, + 251, 0, 251, 0, 259, 259, 0, 0, 259, 259, + 259, 259, 259, 0, 0, 259, 259, 0, 259, 259, + 259, 259, 259, 259, 258, 258, 261, 0, 0, 0, + 0, 250, 251, 251, 250, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 261, 261, 0, 0, 0, 0, - 0, 217, 215, 226, 227, 199, 200, 201, 202, 204, - 0, 0, 212, 213, 0, 0, 0, 203, 206, 205, - 207, 0, 223, 0, 259, 261, 261, 257, 0, 0, - 257, 0, 257, 257, 257, 0, 0, 0, 0, 0, - 0, 0, 0, 217, 215, 226, 227, 257, 257, 257, - 257, 257, 257, 258, 212, 213, 258, 0, 258, 258, - 258, 260, 0, 0, 223, 0, 0, 0, 0, 0, - 0, 0, 0, 258, 258, 258, 258, 258, 258, 0, - 0, 0, 257, 257, 0, 0, 0, 0, 0, 0, + 0, 250, 250, 0, 250, 0, 250, 0, 0, 0, + 0, 0, 0, 251, 251, 0, 0, 0, 252, 0, + 0, 252, 0, 0, 252, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 250, 250, 252, 252, + 0, 252, 0, 252, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 267, 0, 0, 267, 0, + 0, 267, 0, 0, 257, 0, 0, 250, 250, 0, + 0, 0, 0, 252, 252, 267, 267, 0, 267, 0, + 267, 0, 260, 260, 0, 0, 260, 260, 260, 260, + 260, 0, 0, 260, 260, 0, 260, 260, 260, 260, + 260, 260, 0, 0, 252, 252, 0, 258, 0, 0, + 267, 267, 0, 0, 0, 0, 0, 0, 0, 261, + 261, 0, 0, 261, 261, 261, 261, 261, 0, 0, + 261, 261, 0, 261, 261, 261, 261, 261, 261, 0, + 0, 267, 267, 0, 0, 0, 251, 248, 0, 0, + 248, 0, 0, 248, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 248, 248, 0, + 248, 0, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 249, 0, 0, 249, 258, 258, - 249, 0, 0, 257, 257, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 249, 249, 0, 249, 0, 249, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, - 258, 251, 0, 0, 251, 0, 0, 251, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 261, 249, - 249, 251, 251, 0, 251, 0, 251, 259, 259, 0, - 0, 259, 259, 259, 259, 259, 0, 0, 259, 259, - 0, 259, 259, 259, 259, 259, 259, 0, 0, 0, - 249, 249, 0, 0, 0, 0, 251, 251, 0, 0, - 0, 0, 0, 0, 260, 260, 0, 0, 260, 260, - 260, 260, 260, 0, 0, 260, 260, 0, 260, 260, - 260, 260, 260, 260, 0, 0, 0, 251, 251, 0, - 0, 0, 0, 0, 0, 250, 0, 0, 250, 0, - 0, 250, 0, 0, 0, 0, 257, 0, 0, 0, - 0, 0, 0, 0, 0, 250, 250, 0, 250, 0, - 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 258, 0, 0, 252, 0, 0, 252, 0, - 0, 252, 0, 0, 0, 0, 0, 0, 0, 0, - 250, 250, 0, 0, 0, 252, 252, 0, 252, 0, - 252, 261, 261, 0, 0, 261, 261, 261, 261, 261, - 0, 0, 261, 261, 0, 261, 261, 261, 261, 261, - 261, 250, 250, 249, 0, 0, 267, 0, 0, 267, - 252, 252, 267, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 267, 267, 0, 267, - 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, - 251, 252, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 267, 267, 0, 0, 0, 0, 0, 0, 257, - 257, 0, 0, 257, 257, 257, 257, 257, 0, 0, - 257, 257, 0, 257, 257, 257, 257, 257, 257, 0, - 0, 0, 267, 267, 0, 258, 258, 0, 0, 258, - 258, 258, 258, 258, 0, 0, 258, 258, 0, 258, - 258, 258, 258, 258, 258, 0, 0, 0, 0, 0, - 248, 0, 0, 248, 0, 0, 248, 0, 0, 0, - 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, - 248, 248, 0, 248, 0, 248, 0, 0, 0, 0, - 249, 249, 249, 249, 249, 0, 0, 249, 249, 0, - 249, 249, 249, 249, 249, 249, 0, 0, 0, 0, - 0, 129, 0, 139, 252, 248, 248, 0, 138, 0, - 0, 127, 0, 128, 0, 0, 0, 251, 251, 251, - 251, 251, 0, 0, 251, 251, 126, 251, 251, 251, - 251, 251, 251, 0, 0, 0, 248, 248, 0, 0, - 0, 266, 0, 0, 266, 0, 0, 266, 0, 0, - 0, 0, 0, 0, 0, 267, 0, 0, 0, 83, - 0, 266, 266, 0, 266, 0, 266, 0, 0, 0, + 250, 0, 248, 248, 0, 0, 0, 257, 257, 0, + 0, 257, 257, 257, 257, 257, 0, 0, 257, 257, + 0, 257, 257, 257, 257, 257, 257, 0, 0, 0, + 0, 0, 0, 248, 248, 0, 0, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 247, 0, 0, 247, 0, 0, 247, 0, 0, - 0, 0, 0, 0, 130, 0, 266, 266, 0, 0, - 0, 247, 247, 0, 247, 0, 247, 0, 0, 0, - 0, 250, 250, 250, 250, 250, 0, 0, 250, 250, - 0, 250, 250, 250, 250, 250, 250, 266, 266, 0, - 0, 0, 0, 0, 0, 0, 247, 247, 0, 0, + 258, 258, 0, 0, 258, 258, 258, 258, 258, 0, + 265, 258, 258, 265, 258, 258, 258, 258, 258, 258, + 0, 0, 0, 0, 267, 0, 0, 265, 265, 0, + 265, 0, 265, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 251, 251, 251, 251, 251, 0, 0, + 251, 251, 0, 251, 251, 251, 251, 251, 251, 0, + 0, 0, 265, 265, 266, 0, 0, 266, 0, 0, + 266, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 266, 266, 0, 266, 0, 266, + 0, 0, 0, 265, 265, 0, 0, 250, 250, 250, + 250, 250, 0, 0, 250, 250, 0, 250, 250, 250, + 250, 250, 250, 0, 0, 0, 248, 0, 0, 266, + 266, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 252, 252, 252, 252, 252, 0, + 263, 252, 252, 263, 252, 252, 252, 252, 252, 252, + 266, 266, 0, 0, 0, 0, 0, 263, 263, 0, + 263, 0, 263, 0, 0, 0, 0, 0, 0, 0, + 0, 267, 267, 267, 267, 267, 0, 0, 267, 267, + 0, 267, 267, 267, 267, 267, 267, 0, 0, 0, + 0, 0, 263, 247, 0, 0, 247, 0, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 252, 252, 252, 252, 252, 0, 0, 252, 252, - 0, 252, 252, 252, 252, 252, 252, 247, 247, 248, + 0, 0, 402, 247, 247, 0, 247, 0, 247, 0, + 0, 0, 0, 263, 263, 0, 265, 0, 0, 0, 264, 0, 0, 264, 0, 0, 264, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 247, 247, 264, 264, 0, 264, 0, 264, 0, 0, 0, 0, - 0, 0, 267, 267, 267, 267, 267, 0, 0, 267, - 267, 0, 267, 267, 267, 267, 267, 267, 253, 0, - 0, 253, 0, 0, 253, 264, 264, 0, 135, 136, - 87, 88, 89, 90, 0, 0, 0, 0, 253, 253, - 0, 253, 0, 253, 0, 0, 254, 0, 0, 254, - 0, 0, 254, 0, 10, 0, 264, 264, 0, 0, - 266, 0, 0, 0, 0, 0, 254, 254, 0, 254, - 0, 254, 0, 253, 253, 0, 0, 0, 0, 0, - 0, 134, 0, 0, 0, 0, 0, 0, 0, 265, - 0, 0, 265, 0, 0, 0, 0, 0, 0, 0, - 247, 254, 254, 0, 253, 253, 265, 265, 137, 265, - 0, 265, 0, 0, 133, 0, 248, 248, 248, 248, - 248, 0, 0, 248, 248, 0, 248, 248, 248, 248, - 248, 248, 254, 254, 0, 0, 0, 0, 0, 0, - 205, 265, 265, 205, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 205, 205, 0, - 205, 0, 205, 0, 0, 0, 0, 0, 0, 0, - 131, 132, 265, 265, 0, 0, 0, 0, 129, 0, - 139, 0, 0, 0, 0, 138, 0, 0, 127, 264, - 128, 0, 205, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 298, 0, 266, 266, 266, - 266, 266, 0, 0, 266, 266, 0, 266, 266, 266, - 266, 266, 266, 0, 205, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 83, 253, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 247, 247, 247, - 247, 247, 0, 0, 247, 247, 0, 247, 247, 247, - 247, 247, 247, 0, 0, 254, 0, 0, 0, 0, - 129, 130, 139, 0, 0, 0, 0, 138, 0, 0, - 127, 0, 128, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 302, - 0, 0, 0, 0, 0, 265, 0, 129, 0, 139, - 0, 0, 0, 0, 138, 0, 0, 127, 0, 128, - 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, - 0, 0, 0, 0, 0, 294, 264, 264, 264, 264, - 264, 0, 0, 0, 0, 0, 264, 264, 264, 264, - 264, 264, 0, 0, 0, 0, 205, 0, 0, 0, - 0, 0, 0, 130, 0, 83, 0, 0, 0, 0, + 0, 0, 0, 248, 248, 248, 248, 248, 0, 0, + 248, 248, 0, 248, 248, 248, 248, 248, 248, 247, + 247, 253, 0, 266, 253, 264, 264, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 253, 253, 253, 253, 253, 0, - 0, 0, 0, 0, 253, 253, 253, 253, 253, 253, - 130, 0, 0, 0, 0, 172, 86, 87, 88, 89, - 90, 0, 254, 254, 254, 254, 254, 0, 0, 0, - 0, 0, 254, 254, 254, 254, 254, 254, 0, 0, - 0, 10, 129, 0, 139, 0, 0, 0, 0, 138, - 0, 0, 127, 0, 128, 0, 0, 0, 0, 0, - 0, 0, 265, 265, 265, 265, 265, 0, 134, 0, - 296, 0, 265, 265, 265, 265, 265, 265, 129, 0, - 139, 0, 0, 0, 0, 138, 0, 0, 127, 0, - 128, 0, 0, 0, 0, 137, 0, 0, 0, 0, - 83, 133, 0, 0, 0, 0, 0, 172, 86, 87, - 88, 89, 90, 205, 205, 205, 205, 205, 0, 0, - 0, 0, 0, 205, 205, 205, 205, 205, 205, 0, - 0, 0, 0, 10, 0, 130, 83, 0, 0, 0, - 0, 0, 0, 0, 172, 86, 87, 88, 89, 90, - 0, 0, 129, 0, 139, 0, 299, 131, 132, 138, - 134, 0, 127, 0, 128, 129, 0, 139, 344, 0, - 10, 130, 138, 0, 0, 127, 0, 128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 137, 0, 0, - 0, 0, 0, 133, 0, 0, 0, 134, 0, 0, + 0, 253, 253, 0, 253, 254, 253, 0, 254, 0, + 0, 254, 0, 0, 0, 0, 264, 264, 0, 0, + 493, 0, 0, 0, 0, 254, 254, 500, 254, 205, + 254, 0, 205, 0, 0, 0, 253, 253, 0, 0, + 0, 0, 0, 0, 0, 0, 205, 205, 0, 205, + 0, 205, 0, 0, 0, 0, 263, 0, 0, 0, + 254, 254, 0, 0, 0, 0, 0, 253, 253, 0, + 0, 0, 0, 265, 265, 265, 265, 265, 0, 0, + 0, 205, 0, 265, 265, 265, 265, 265, 265, 0, + 552, 254, 254, 0, 0, 0, 0, 559, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 567, 0, + 0, 0, 247, 205, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 266, 266, 266, 266, 266, 0, 0, 266, 266, 596, + 266, 266, 266, 266, 266, 266, 0, 0, 0, 264, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 615, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 186, 137, 0, 0, 0, 0, 0, - 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 130, 0, 303, 0, 131, - 132, 0, 0, 0, 0, 0, 0, 0, 130, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, - 86, 87, 88, 89, 90, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 131, 132, 0, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 172, 86, 87, 88, 89, - 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 134, 0, 0, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, - 0, 0, 0, 0, 0, 133, 0, 0, 134, 0, + 0, 0, 129, 0, 139, 0, 625, 0, 0, 138, + 0, 628, 127, 0, 128, 0, 630, 0, 0, 0, + 253, 0, 0, 263, 263, 263, 263, 263, 0, 299, + 0, 0, 0, 263, 263, 263, 263, 263, 263, 129, + 0, 139, 0, 0, 254, 0, 138, 0, 0, 127, + 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, + 83, 0, 0, 0, 0, 205, 0, 0, 303, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 247, + 247, 247, 247, 247, 0, 0, 247, 247, 0, 247, + 247, 247, 247, 247, 247, 130, 0, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, - 86, 87, 88, 89, 90, 137, 0, 0, 0, 0, - 0, 133, 172, 86, 87, 88, 89, 90, 0, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, - 0, 131, 132, 0, 0, 0, 0, 0, 10, 0, + 0, 0, 0, 0, 0, 0, 264, 264, 264, 264, + 264, 0, 0, 0, 0, 0, 264, 264, 264, 264, + 264, 264, 130, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, + 0, 139, 0, 0, 0, 0, 138, 0, 0, 127, + 0, 128, 0, 0, 0, 0, 0, 253, 253, 253, + 253, 253, 0, 0, 126, 0, 0, 253, 253, 253, + 253, 253, 253, 0, 0, 0, 0, 0, 0, 0, + 0, 254, 254, 254, 254, 254, 0, 0, 0, 0, + 0, 254, 254, 254, 254, 254, 254, 83, 0, 0, + 0, 0, 205, 205, 205, 205, 205, 0, 0, 0, + 0, 0, 205, 205, 205, 205, 205, 205, 0, 172, + 86, 87, 88, 89, 90, 0, 129, 0, 139, 0, + 0, 0, 130, 138, 0, 0, 127, 129, 128, 139, + 0, 0, 0, 0, 138, 10, 0, 127, 0, 128, + 0, 0, 0, 0, 295, 0, 172, 86, 87, 88, + 89, 90, 0, 0, 0, 297, 129, 0, 139, 0, + 0, 0, 134, 138, 0, 0, 127, 0, 128, 0, + 0, 0, 10, 0, 83, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 83, 129, 0, 139, 137, + 0, 0, 0, 138, 0, 133, 127, 0, 128, 134, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 130, + 0, 0, 0, 0, 83, 220, 0, 220, 0, 0, + 130, 0, 220, 0, 0, 220, 137, 220, 0, 129, + 0, 139, 133, 0, 0, 0, 138, 0, 0, 127, + 0, 128, 0, 0, 83, 0, 345, 0, 0, 130, + 300, 131, 132, 0, 0, 0, 135, 136, 87, 88, + 89, 90, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 220, 0, 220, 0, 0, 0, 130, + 0, 0, 10, 0, 0, 0, 304, 186, 131, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 134, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 134, 0, 131, 132, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, - 0, 0, 0, 0, 0, 133, 0, 0, 0, 0, - 0, 0, 187, 0, 0, 0, 0, 0, 133, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 220, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 130, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 137, 0, 0, 0, + 0, 0, 133, 172, 86, 87, 88, 89, 90, 0, + 0, 0, 0, 0, 172, 86, 87, 88, 89, 90, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 10, 0, 0, 172, 86, 87, 88, 89, 90, 0, + 0, 0, 0, 0, 0, 0, 134, 0, 131, 132, + 0, 0, 0, 0, 0, 0, 0, 134, 0, 10, + 0, 0, 0, 172, 86, 87, 88, 89, 90, 0, + 0, 0, 0, 137, 0, 0, 0, 0, 0, 133, + 0, 0, 0, 0, 137, 0, 134, 0, 0, 10, + 133, 0, 220, 220, 220, 220, 220, 220, 0, 0, + 0, 0, 0, 0, 0, 0, 172, 86, 87, 88, + 89, 90, 0, 137, 0, 0, 134, 0, 220, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 10, 0, 0, 131, 132, 0, 0, 0, + 0, 0, 0, 137, 0, 220, 131, 132, 0, 133, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 131, 132, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 131, 132, + 0, 0, 220, 0, 0, 131, 132, 0, 220, 0, + 0, 0, 0, 0, 0, 0, 187, 0, 0, 0, + 0, 0, 133, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 131, 132, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 220, 220, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 131, 132, ); protected static $yyCheck = array(4, - 61, 62, 63, 154, 120, 60, 46, 41, 46, 40, - 44, 41, 91, 63, 260, 46, 91, 91, 91, 59, - 91, 168, 303, 84, 444, 58, 123, 71, 41, 34, - 35, 44, 124, 59, 59, 40, 304, 98, 125, 100, - 39, 91, 40, 40, 126, 58, 59, 185, 44, 63, - 49, 50, 51, 169, 300, 91, 61, 62, 63, 120, - 91, 105, 106, 59, 69, 70, 71, 260, 488, 91, - 534, 260, 261, 37, 125, 539, 237, 91, 42, 84, - 93, 37, 38, 47, 40, 41, 42, 43, 44, 45, - 46, 47, 97, 98, 340, 100, 125, 123, 123, 42, - 105, 106, 58, 59, 60, 61, 62, 63, 169, 439, - 41, 37, 125, 264, 46, 120, 42, 43, 179, 45, - 41, 47, 260, 44, 588, 260, 123, 44, 44, 125, - 44, 41, 270, 138, 44, 91, 37, 93, 94, 46, - 60, 42, 43, 607, 45, 44, 47, 340, 58, 59, - 271, 286, 44, 59, 618, 316, 59, 162, 163, 60, - 165, 62, 126, 224, 169, 330, 317, 260, 124, 125, - 126, 91, 125, 260, 179, 340, 93, 93, 103, 93, - 44, 44, 260, 93, 514, 260, 260, 260, 339, 194, - 341, 338, 126, 286, 93, 91, 46, 332, 62, 62, - 126, 93, 127, 128, 129, 130, 131, 132, 125, 134, - 260, 286, 286, 138, 311, 125, 367, 123, 356, 224, - 123, 93, 300, 228, 260, 126, 125, 260, 261, 154, - 312, 257, 257, 125, 344, 345, 286, 236, 260, 261, - 262, 263, 264, 265, 257, 250, 393, 320, 340, 331, - 286, 412, 41, 125, 405, 44, 181, 332, 183, 332, - 411, 340, 260, 401, 286, 340, 340, 340, 273, 340, - 391, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, - 215, 216, 217, 218, 219, 220, 221, 222, 223, 46, - 225, 257, 300, 91, 340, 37, 38, 260, 459, 260, - 42, 43, 237, 45, 61, 47, 41, 260, 59, 44, - 402, 403, 373, 374, 346, 33, 257, 35, 60, 64, - 62, 44, 40, 286, 40, 43, 257, 45, 44, 264, - 260, 266, 126, 268, 373, 374, 59, 257, 312, 300, - 46, 257, 490, 474, 46, 410, 312, 300, 373, 374, - 576, 577, 94, 58, 260, 61, 364, 331, 93, 294, - 410, 296, 410, 298, 299, 331, 410, 302, 303, 332, - 410, 46, 533, 91, 428, 601, 312, 93, 59, 420, - 286, 316, 317, 58, 126, 516, 33, 331, 35, 40, - 320, 414, 415, 40, 40, 331, 43, 59, 45, 40, - 46, 312, 332, 364, 339, 46, 341, 125, 126, 41, - 340, 364, 44, 544, 429, 350, 59, 352, 41, 545, - 331, 44, 357, 59, 439, 586, 332, 59, 402, 403, - 41, 60, 367, 44, 400, 401, 402, 403, 404, 405, - 406, 407, 408, 310, 91, 411, 412, 421, 414, 415, - 416, 417, 418, 419, 420, 421, 260, 41, 402, 403, - 395, 93, 260, 37, 479, 480, 402, 403, 42, 43, - 405, 45, 310, 47, 545, 59, 411, 412, 125, 126, - 415, 91, 286, 41, 41, 421, 44, 44, 286, 400, - 401, 402, 403, 125, 414, 415, 479, 480, 61, 514, - 260, 33, 517, 35, 41, 410, 521, 44, 40, 93, - 421, 43, 91, 45, 41, 13, 14, 44, 312, 105, - 106, 58, 59, 283, 459, 460, 286, 300, 301, 302, - 545, 602, 467, 468, 517, 41, 340, 331, 551, 552, - 300, 125, 260, 261, 262, 263, 264, 265, 311, 40, - 40, 622, 126, 123, 44, 46, 93, 40, 310, 91, - 495, 300, 301, 302, 350, 578, 352, 58, 286, 59, - 312, 91, 507, 93, 33, 91, 35, 58, 91, 41, - 123, 40, 44, 44, 43, 123, 45, 602, 125, 331, - 58, 123, 123, 410, 126, 313, 58, 59, 533, 44, - 93, 536, 44, 538, 364, 61, 93, 622, 402, 403, - 49, 50, 51, 260, 261, 262, 263, 264, 265, 257, - 260, 61, 340, 341, 342, 343, 41, 421, 346, 41, - 44, 93, 91, 123, 123, 125, 260, 572, 40, 286, - 125, 123, 360, 361, 362, 363, 123, 365, 366, 257, - 260, 586, 370, 371, 372, 373, 374, 257, 400, 401, - 402, 403, 58, 125, 40, 58, 313, 126, 260, 411, - 412, 260, 123, 608, 40, 40, 286, 41, 41, 421, - 93, 260, 40, 61, 402, 403, 40, 125, 40, 123, - 300, 301, 302, 340, 341, 342, 343, 91, 41, 346, - 91, 280, 281, 282, 283, 284, 285, 286, 287, 125, - 41, 40, 430, 360, 361, 362, 363, 125, 365, 366, - 257, 125, 332, 370, 303, 372, 373, 374, 260, 261, - 262, 263, 264, 265, 340, 125, 37, 38, 40, 40, - 41, 42, 43, 44, 45, 40, 47, 260, 261, 262, - 263, 264, 265, 332, 286, 402, 403, 58, 59, 60, - 61, 62, 63, 37, 38, 59, 40, 41, 42, 43, - 44, 45, 59, 47, 40, 280, 281, 282, 283, 284, - 285, 313, 287, 430, 58, 59, 40, 61, 62, 63, - 91, 340, 93, 94, 40, 257, 59, 260, 303, 41, - 41, 260, 261, 262, 263, 264, 265, 361, 340, 341, - 342, 343, 59, 61, 346, 340, 61, 91, 41, 93, - 94, 59, 123, 124, 125, 126, 91, 286, 360, 361, - 362, 363, 44, 365, 366, 93, 125, 123, 370, 91, - 372, 59, 125, 41, 44, 41, 44, 40, 44, 123, - 124, 125, 126, 364, 313, 123, 321, 260, 41, 41, - 58, 59, 58, 59, 340, 340, 123, 41, 59, 125, - 402, 403, 125, 40, 371, 125, 125, 414, 415, 123, - 59, 340, 341, 342, 343, 125, 41, 346, 58, 280, - 281, 282, 283, 284, 285, 93, 287, 93, 430, 125, - 41, 360, 361, 362, 363, 125, 365, 366, 123, 123, - 123, 370, 303, 372, 41, 93, 37, 38, 41, 125, - 41, 42, 43, 44, 45, 257, 47, 125, 58, 125, - 41, 125, 41, 44, 91, 44, 125, 58, 59, 60, - 61, 62, 63, 402, 403, 91, 91, 58, 59, 58, - 59, 93, 414, 415, 125, 123, 257, 59, 59, 260, - 41, 41, 59, 44, 41, 41, 364, 41, 41, 91, - 91, 430, 93, 94, 125, 125, 41, 58, 59, 44, - 7, 6, 93, 257, 93, 77, 260, 102, 337, 41, - 485, 521, 44, 58, 59, 260, 261, 262, 263, 264, - 265, 480, 60, 124, 125, 126, 59, 59, 260, 310, - 311, 312, 93, 109, 125, 179, 125, 228, 496, 320, - 508, 286, 594, 558, 558, 179, 342, 235, 93, 330, - 331, 332, 194, 165, 286, 300, 310, 311, 312, 340, - 273, 93, 239, 31, 125, -1, 320, -1, 300, 301, - 302, -1, -1, -1, -1, -1, 330, 331, 332, 257, - 125, 257, 91, -1, -1, -1, 340, 41, 37, 38, - 44, 40, 41, 42, 43, 44, 45, 46, 47, -1, - 332, 346, -1, -1, 58, 59, -1, -1, -1, 58, - 59, 60, 61, 62, 63, -1, -1, -1, -1, 400, - 401, 402, 403, 404, 405, 406, 407, 408, -1, 410, - 411, 412, -1, 414, 415, 416, 417, 418, 419, 93, - 421, -1, 91, -1, 93, 94, 400, 401, 402, 403, - 404, 405, 406, 407, 408, -1, 257, 411, 412, -1, - 414, 415, 416, 417, 418, 419, 257, 421, 257, -1, - -1, 125, -1, -1, -1, 124, 125, 126, 280, 281, - 282, 283, 284, 285, 91, 287, -1, -1, -1, -1, - -1, -1, -1, -1, 91, -1, 257, -1, 37, 38, - -1, 303, 41, 42, 43, 44, 45, 46, 47, -1, - -1, 312, 257, -1, -1, -1, -1, -1, 125, 58, - 59, 60, 61, 62, 63, 257, -1, -1, 125, -1, - 331, -1, 334, -1, -1, -1, 414, 415, 414, 340, - 37, 38, -1, -1, 41, 42, 43, 44, 45, 46, - 47, -1, 91, -1, 93, 94, -1, -1, -1, -1, - -1, 58, 59, 60, 61, 62, 63, -1, -1, -1, - -1, 280, 281, 282, 283, 284, 285, -1, 287, -1, - 41, -1, -1, 44, -1, 124, 125, 126, -1, -1, - -1, 300, 301, 302, 91, 304, 93, 94, 59, 400, - 401, 402, 403, 404, 405, 406, 407, 408, 257, 410, - 411, 412, -1, 414, 415, 416, 417, 418, 419, 420, - 421, -1, -1, 414, 415, 414, 415, 124, 125, 126, - -1, -1, 93, -1, -1, -1, -1, 37, 38, -1, - -1, 41, 42, 43, 44, 45, -1, 47, -1, -1, - -1, -1, -1, 414, 415, -1, -1, -1, 58, 59, - 60, 61, 62, 312, 125, -1, -1, -1, -1, 414, - 415, -1, -1, 280, 281, 282, 283, 284, 285, -1, - 287, -1, 331, 280, 281, 282, 283, 284, 285, -1, - 287, -1, 37, 93, 94, -1, 303, 42, 43, -1, - 45, -1, 47, -1, -1, -1, 303, -1, -1, -1, - -1, -1, -1, -1, -1, 60, -1, 62, 257, -1, - -1, -1, -1, -1, 124, 125, 126, 334, -1, -1, - 41, -1, 41, 44, -1, 44, -1, 334, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 58, 59, 58, - 59, 400, 401, 402, 403, 404, 405, 406, 407, 408, - 257, 41, 411, 412, 44, 414, 415, 416, 417, 418, - 419, 420, 421, 312, -1, -1, -1, -1, 58, 59, - -1, 126, 93, -1, 93, -1, -1, -1, -1, -1, - -1, -1, 331, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 37, 38, -1, -1, 41, 42, 43, 44, - 45, -1, 47, 93, 125, 312, 125, -1, 41, -1, - -1, 44, -1, 58, 59, 60, 61, 62, 63, -1, - -1, -1, -1, -1, 331, 58, 59, -1, -1, -1, - -1, 33, -1, 35, -1, 125, -1, -1, 40, -1, - -1, 43, -1, 45, -1, -1, -1, 257, 93, 94, + 61, 62, 63, 120, 154, 60, 41, 41, 46, 40, + 44, 124, 59, 168, 237, 46, 46, 125, 125, 41, + 41, 59, 44, 84, 438, 123, 260, 63, 71, 34, + 35, 37, 44, 59, 59, 40, 42, 98, 40, 100, + 37, 47, 126, 42, 303, 42, 43, 126, 45, 40, + 47, 91, 169, 304, 126, 91, 61, 62, 63, 120, + 91, 59, 105, 106, 69, 70, 71, 91, 91, 40, + 44, 91, 91, 91, 59, 46, 123, 46, 46, 84, + 40, 93, 260, 261, 38, 260, 46, 41, 125, 58, + 44, 46, 97, 98, 317, 100, 260, 123, 123, 513, + 105, 106, 443, 260, 58, 59, 340, 61, 169, 63, + 41, 125, 44, 44, 264, 120, 260, 44, 179, 93, + 126, 41, 286, 41, 44, 300, 44, 58, 59, 126, + 58, 41, 123, 138, 44, 44, 185, 330, 123, 93, + 94, 59, 286, 300, 39, 46, 487, 340, 58, 59, + 59, 125, 260, 260, 49, 50, 51, 162, 163, 93, + 165, 93, 93, 224, 169, 340, 93, 60, 318, 41, + 124, 125, 44, 93, 179, 93, 340, 103, 41, 286, + 91, 44, 41, 93, 339, 44, 58, 59, 411, 194, + 340, 125, 342, 125, 125, 58, 59, 64, 91, 58, + 59, 127, 128, 129, 130, 131, 132, 364, 134, 260, + 257, 260, 138, 311, 46, 125, 125, 367, 91, 224, + 260, 93, 271, 228, 260, 332, 46, 340, 154, 61, + 93, 257, 257, 312, 93, 257, 257, 260, 393, 58, + 312, 260, 260, 59, 272, 250, 286, 331, 41, 300, + 286, 44, 331, 125, 404, 181, 40, 183, 260, 331, + 410, 260, 125, 286, 478, 479, 125, 286, 286, 274, + 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, + 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, + 216, 217, 218, 219, 220, 221, 222, 223, 300, 225, + 340, 300, 516, 257, 37, 38, 312, 356, 458, 42, + 43, 237, 45, 332, 47, 312, 340, 340, 402, 403, + 340, 340, 91, 402, 403, 331, 257, 60, 59, 62, + 402, 403, 260, 261, 331, 59, 373, 374, 264, 257, + 266, 236, 421, 269, 33, 41, 35, 257, 44, 260, + 44, 40, 401, 91, 43, 410, 45, 574, 575, 373, + 374, 94, 364, 391, 59, 364, 40, 260, 62, 295, + 44, 297, 410, 299, 300, 410, 410, 303, 304, 63, + 410, 531, 599, 41, 427, 257, 44, 260, 60, 420, + 44, 317, 318, 126, 257, 310, 402, 403, 257, 448, + 58, 59, 91, 549, 550, 402, 403, 91, 62, 320, + 33, 310, 35, 286, 340, 421, 342, 40, 61, 93, + 43, 332, 45, 428, 421, 44, 543, 320, 410, 340, + 576, 357, 44, 438, 584, 93, 125, 126, 37, 332, + 59, 367, 383, 42, 43, 473, 45, 340, 47, 260, + 404, 405, 406, 407, 408, 46, 41, 411, 412, 332, + 414, 415, 416, 417, 418, 419, 311, 125, 91, 395, + 61, 260, 283, 478, 479, 286, 417, 91, 404, 93, + 40, 93, 543, 414, 410, 411, 46, 515, 414, 300, + 123, 260, 261, 262, 263, 264, 265, 286, 58, 300, + 301, 302, 125, 126, 414, 415, 41, 41, 513, 44, + 44, 516, 91, 125, 542, 520, 41, 286, 41, 44, + 91, 44, 260, 58, 59, 41, 41, 126, 44, 44, + 40, 300, 458, 459, 310, 33, 59, 35, 543, 600, + 466, 467, 40, 332, 58, 43, 125, 45, 286, 91, + 40, 414, 415, 364, 44, 414, 415, 273, 93, 620, + 276, 123, 300, 301, 302, 123, 41, 44, 494, 59, + 93, 260, 261, 262, 263, 264, 265, 346, 58, 312, + 506, 410, 41, 123, 59, 44, 300, 301, 302, 44, + 125, 532, 93, 91, 332, 600, 537, 286, 331, 257, + 59, 44, 125, 41, 61, 531, 44, 33, 534, 35, + 536, 93, 91, 260, 40, 620, 257, 43, 93, 45, + 58, 59, 344, 345, 313, 123, 373, 374, 126, 49, + 50, 51, 61, 123, 93, 125, 41, 260, 261, 262, + 263, 264, 265, 532, 570, 586, 13, 14, 537, 44, + 125, 340, 341, 342, 343, 93, 41, 346, 584, 105, + 106, 123, 260, 286, 605, 91, 125, 400, 401, 402, + 403, 360, 361, 362, 363, 616, 365, 366, 411, 412, + 606, 370, 371, 372, 373, 374, 125, 125, 421, 260, + 313, 40, 123, 41, 58, 123, 44, 586, 40, 58, + 126, 280, 281, 282, 283, 284, 285, 260, 287, 260, + 58, 59, 123, 402, 403, 286, 605, 340, 341, 342, + 343, 40, 257, 346, 303, 41, 125, 616, 40, 300, + 301, 302, 93, 41, 40, 125, 61, 360, 361, 362, + 363, 430, 365, 366, 40, 93, 40, 370, 91, 372, + 373, 374, 123, 91, 41, 334, 414, 415, 41, 125, + 91, 332, 260, 261, 262, 263, 264, 265, 37, 38, + 125, 40, 41, 42, 43, 44, 45, 125, 47, 402, + 403, 260, 261, 262, 263, 264, 265, 40, 286, 58, + 59, 60, 61, 62, 63, 37, 38, 125, 40, 41, + 42, 43, 44, 45, 340, 47, 40, 430, 59, 41, + 40, 59, 44, 40, 40, 313, 58, 59, 340, 61, + 62, 63, 91, 40, 93, 94, 58, 59, 59, 41, + 260, 41, 61, 361, 260, 261, 262, 263, 264, 265, + 59, 91, 340, 341, 342, 343, 340, 61, 346, 91, + 59, 93, 94, 41, 123, 124, 125, 126, 44, 125, + 286, 93, 360, 361, 362, 363, 123, 365, 366, 93, + 59, 125, 370, 40, 372, 125, 44, 364, 123, 414, + 415, 123, 124, 125, 126, 260, 321, 313, 340, 41, + 41, 340, 41, 125, 59, 41, 40, 125, 44, 371, + 123, 59, 123, 125, 402, 403, 41, 125, 58, 257, + 125, 41, 58, 59, 340, 341, 342, 343, 125, 125, + 346, 123, 260, 261, 262, 263, 264, 265, 125, 123, + 123, 93, 430, 41, 360, 361, 362, 363, 41, 365, + 366, 125, 257, 58, 370, 125, 372, 93, 286, 280, + 281, 282, 283, 284, 285, 91, 287, 91, 91, 125, + 37, 38, 93, 40, 41, 42, 43, 44, 45, 46, + 47, 125, 303, 59, 59, 41, 402, 403, 44, 125, + 123, 58, 59, 60, 61, 62, 63, 41, 257, 59, + 41, 260, 58, 59, 41, 364, 41, 41, 125, 125, + 7, 6, 77, 334, 430, 102, 338, 520, 346, 479, + 484, 60, 228, 59, 91, 257, 93, 94, 260, 109, + 592, 507, 495, 556, 556, 257, 179, 93, 274, 343, + 280, 281, 282, 283, 284, 285, 239, 287, 179, 194, + 235, 310, 311, 312, 165, 31, -1, 124, 125, 126, + -1, 320, -1, 303, -1, -1, -1, -1, -1, 125, + -1, 330, 331, 332, -1, -1, 414, 415, 310, 311, + 312, 340, 280, 281, 282, 283, 284, 285, 320, 287, + -1, -1, 91, -1, 334, -1, -1, -1, 330, 331, + 332, -1, -1, -1, -1, 303, -1, -1, 340, 37, + 38, -1, -1, 41, 42, 43, 44, 45, 91, 47, + -1, 257, -1, -1, -1, -1, -1, -1, -1, -1, + 58, 59, 60, 61, 62, 63, -1, -1, -1, -1, -1, 400, 401, 402, 403, 404, 405, 406, 407, 408, - 93, -1, 411, 412, -1, 414, 415, 416, 417, 418, - 419, 420, 421, -1, -1, -1, -1, -1, -1, 124, - 125, 126, -1, -1, -1, -1, -1, -1, -1, 91, - -1, 93, 125, 400, 401, 402, 403, 404, 405, 406, - 407, 408, 312, -1, 411, 412, -1, 414, 415, 416, - 417, 418, 419, 420, 421, -1, -1, -1, -1, -1, - 330, 331, -1, -1, 126, -1, 41, 37, 38, 44, - 340, 41, 42, 43, 44, 45, 257, 47, 257, -1, - 91, -1, -1, 58, 59, -1, -1, -1, 58, 59, - 60, 61, 62, 63, -1, -1, -1, 312, -1, -1, - -1, -1, -1, 37, 38, -1, 40, 257, 42, 43, - 44, 45, 46, 47, 125, -1, 331, -1, 93, -1, - -1, -1, -1, 93, 94, -1, 60, 61, 62, 63, - 400, 401, 402, 403, 404, 405, 406, 407, 408, -1, - -1, 411, 412, -1, 414, 415, 416, 417, 418, 419, - 125, 421, 257, -1, 124, 125, 126, 91, -1, 93, - 94, -1, -1, -1, 257, -1, -1, -1, 37, 38, - -1, 40, 41, 42, 43, 44, 45, 46, 47, -1, - -1, -1, 383, -1, -1, 400, 401, 402, 403, -1, - 124, 60, 126, 62, 63, -1, 411, 412, 260, 261, - 262, 263, 264, 265, 37, 38, 421, 312, -1, 42, - 43, 44, 45, -1, 47, -1, -1, 418, -1, -1, - -1, -1, 91, -1, 286, 94, 331, 60, 61, 62, - 63, -1, -1, 414, 415, 414, 415, -1, -1, -1, + -1, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, -1, 421, 91, -1, 93, 94, -1, 400, 401, + 402, 403, 404, 405, 406, 407, 408, -1, -1, 411, + 412, -1, 414, 415, 416, 417, 418, 419, -1, 421, + 257, -1, 414, 415, -1, -1, 124, 125, 126, -1, + -1, 257, -1, -1, -1, -1, 37, 38, -1, 40, + 41, 42, 43, 44, 45, 46, 47, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, + 61, 62, 63, 37, 38, -1, -1, 41, 42, 43, + 44, 45, 46, 47, -1, 312, -1, -1, 41, -1, + -1, 44, -1, -1, 58, 59, 60, 61, 62, 63, + 91, -1, 93, 94, 331, 58, 59, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 414, 415, + -1, 280, 281, 282, 283, 284, 285, 91, 287, 93, + 94, -1, -1, 124, 125, 126, -1, -1, -1, -1, + 93, 300, 301, 302, -1, 304, -1, 280, 281, 282, + 283, 284, 285, 91, 287, -1, -1, -1, -1, -1, + 124, 125, 126, 91, -1, -1, -1, -1, -1, 257, + 303, -1, 125, 400, 401, 402, 403, 404, 405, 406, + 407, 408, -1, -1, 411, 412, -1, 414, 415, 416, + 417, 418, 419, 420, 421, -1, -1, 125, 414, 415, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 313, -1, -1, -1, 124, -1, 126, 91, -1, - 93, 94, -1, -1, 414, 415, -1, -1, -1, 280, - 281, 282, 283, 284, 285, -1, 287, -1, 340, -1, - -1, -1, 257, -1, 346, -1, -1, 257, -1, -1, - -1, 124, 303, 126, -1, 400, 401, 402, 403, 404, - 405, 406, 407, 408, -1, -1, 411, 412, -1, 414, - 415, 416, 417, 418, 419, -1, 421, -1, -1, -1, - -1, 414, 415, 334, 37, 38, -1, -1, 41, 42, - 43, 44, 45, 534, 47, -1, -1, -1, 539, -1, - 402, 403, 312, -1, -1, 58, 59, 60, 61, 62, - 63, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 331, -1, -1, -1, -1, -1, -1, -1, 37, - 38, -1, -1, 41, 42, 43, 44, 45, 312, 47, - 93, 94, -1, -1, -1, -1, -1, 588, 257, -1, - 58, 59, 60, 61, 62, 63, -1, 331, -1, -1, - -1, -1, -1, -1, 91, -1, 607, -1, -1, -1, - -1, 124, 125, -1, -1, -1, -1, 618, -1, -1, - -1, -1, -1, -1, -1, 93, 94, -1, -1, -1, - 400, 401, 402, 403, 404, 405, 406, 407, 408, -1, - -1, 411, 412, 312, 414, 415, 416, 417, 418, 419, - -1, 421, -1, -1, -1, -1, 124, 125, -1, -1, - -1, -1, 331, 91, -1, -1, 400, 401, 402, 403, - 404, 405, 406, 407, 408, -1, -1, 411, 412, 312, + -1, 37, 38, -1, -1, 41, 42, 43, 44, 45, + 46, 47, -1, -1, 312, -1, -1, -1, -1, -1, + -1, -1, 58, 59, 60, 61, 62, 63, -1, -1, + -1, -1, -1, 331, -1, -1, -1, -1, -1, 37, + 38, -1, 340, 41, 42, 43, 44, 45, -1, 47, + -1, -1, -1, -1, -1, 91, 257, 93, 94, -1, + 58, 59, 60, 61, 62, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 257, -1, -1, -1, -1, 124, 125, + 126, -1, -1, -1, 257, 93, 94, -1, -1, -1, + -1, -1, 400, 401, 402, 403, 404, 405, 406, 407, + 408, 312, 410, 411, 412, -1, 414, 415, 416, 417, + 418, 419, 420, 421, -1, -1, 124, 125, 126, -1, + 331, -1, 280, 281, 282, 283, 284, 285, 312, 287, + -1, -1, 280, 281, 282, 283, 284, 285, -1, 287, + -1, -1, 300, 301, 302, 303, -1, 331, -1, -1, + -1, -1, -1, -1, -1, 303, 37, 38, -1, -1, + 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, + 61, 62, 63, -1, -1, -1, 334, -1, -1, 400, + 401, 402, 403, 404, 405, 406, 407, 408, -1, -1, + 411, 412, -1, 414, 415, 416, 417, 418, 419, 420, + 421, 257, 93, 94, -1, -1, 400, 401, 402, 403, + 404, 405, 406, 407, 408, -1, -1, 411, 412, -1, 414, 415, 416, 417, 418, 419, 420, 421, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 331, -1, + -1, 414, 415, 124, 125, 126, -1, -1, -1, 257, -1, -1, -1, 37, 38, -1, -1, 41, 42, 43, - 44, 45, -1, 47, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 58, 59, 60, 61, 62, 63, + 44, 45, -1, 47, -1, -1, 312, -1, -1, 41, + -1, -1, 44, -1, 58, 59, 60, 61, 62, 63, + -1, -1, -1, -1, -1, 331, 58, 59, -1, -1, + 37, 38, -1, 40, -1, 42, 43, 44, 45, 46, + 47, 91, -1, -1, 312, -1, -1, -1, -1, 93, + 94, -1, -1, 60, 61, 62, 63, -1, -1, -1, + -1, 93, 330, 331, -1, -1, -1, -1, -1, -1, + -1, -1, 340, 41, -1, -1, 44, -1, -1, -1, + 124, 125, 126, -1, 91, -1, 93, 94, -1, -1, + 58, 59, -1, 125, 400, 401, 402, 403, 404, 405, + 406, 407, 408, -1, -1, 411, 412, -1, 414, 415, + 416, 417, 418, 419, 420, 421, 257, 124, -1, 126, + -1, -1, -1, -1, -1, 93, -1, -1, -1, -1, + -1, -1, 400, 401, 402, 403, 404, 405, 406, 407, + 408, -1, -1, 411, 412, -1, 414, 415, 416, 417, + 418, 419, -1, 421, -1, -1, -1, 125, 37, 38, + -1, 40, 41, 42, 43, 44, 45, 46, 47, -1, + -1, 312, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 60, -1, 62, 63, -1, -1, -1, -1, -1, + 331, -1, -1, -1, 37, 38, -1, -1, -1, 42, + 43, 44, 45, -1, 47, -1, -1, -1, -1, -1, + 260, -1, 91, 257, -1, 94, -1, 60, 61, 62, + 63, -1, -1, -1, -1, 257, -1, -1, -1, -1, + 280, 281, 282, 283, 284, 285, 286, 287, 41, -1, + -1, 44, -1, -1, -1, 124, -1, 126, 91, -1, + 93, 94, -1, 303, -1, 58, 59, -1, -1, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 312, -1, + 411, 412, -1, 414, 415, 416, 417, 418, 419, -1, + 421, 124, 332, 126, -1, -1, -1, 331, -1, 257, + 93, 37, 38, -1, -1, -1, 42, 43, -1, 45, + -1, 47, -1, -1, -1, 312, -1, -1, -1, -1, + -1, -1, -1, -1, 60, -1, 62, -1, -1, -1, + -1, -1, 125, -1, 331, -1, -1, -1, 37, 38, + -1, -1, 41, 42, 43, 44, 45, -1, 47, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 58, + 59, 60, 61, 62, 63, -1, 400, 401, 402, 403, + 404, 405, 406, 407, 408, -1, -1, 411, 412, -1, + 414, 415, 416, 417, 418, 419, -1, 421, 257, -1, + 126, -1, 414, 415, 93, 94, -1, -1, -1, -1, + -1, -1, -1, 400, 401, 402, 403, 404, 405, 406, + 407, 408, -1, -1, 411, 412, 91, 414, 415, 416, + 417, 418, 419, 420, 421, 124, 125, -1, 37, 38, + -1, -1, 41, 42, 43, 44, 45, -1, 47, -1, + -1, -1, -1, 312, -1, -1, -1, -1, -1, 58, + 59, 60, 61, 62, 63, -1, 414, 415, -1, -1, + -1, -1, 331, -1, 257, -1, 37, 38, -1, -1, + 41, 42, 43, 44, 45, -1, 47, -1, -1, 312, + -1, -1, -1, -1, 93, 94, -1, 58, 59, 60, + 61, 62, 63, -1, -1, -1, -1, -1, 331, -1, + -1, -1, -1, 37, 38, -1, -1, 41, 42, 43, + 44, 45, -1, 47, -1, 124, 125, -1, -1, -1, + -1, -1, 93, 94, 58, 59, 60, 61, 62, 63, -1, 400, 401, 402, 403, 404, 405, 406, 407, 408, - -1, -1, 411, 412, 257, 414, 415, 416, 417, 418, - 419, 420, 421, -1, -1, -1, -1, -1, -1, 93, + -1, -1, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 124, 125, -1, -1, -1, 257, 93, 94, -1, -1, -1, -1, -1, -1, 400, 401, 402, - 403, 404, 405, 406, 407, 408, -1, 410, 411, 412, - -1, 414, 415, 416, 417, 418, 419, 420, 421, 257, - 124, 125, -1, 280, 281, 282, 283, 284, 285, 312, - 287, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 300, 301, 302, 303, -1, -1, -1, + 403, 404, 405, 406, 407, 408, 312, 410, 411, 412, + -1, 414, 415, 416, 417, 418, 419, 420, 421, -1, + 124, 125, -1, 37, 38, 331, -1, 41, 42, 43, + 44, 45, -1, 47, -1, 280, 281, 282, 283, 284, + 285, -1, 287, 312, 58, 59, 60, 61, 62, 63, + -1, 414, 415, -1, -1, 300, 301, 302, 303, -1, + -1, -1, -1, -1, -1, -1, -1, 37, 38, -1, + -1, 41, 42, 43, 44, 45, -1, 47, 257, 93, + 94, -1, -1, -1, -1, -1, -1, -1, 58, 59, + 60, 61, 62, 63, 400, 401, 402, 403, -1, -1, + -1, -1, -1, -1, -1, 411, 412, -1, -1, -1, + 124, 125, -1, -1, -1, 421, 257, -1, -1, -1, + -1, -1, -1, 93, 94, -1, -1, -1, -1, -1, + -1, 400, 401, 312, -1, 404, 405, 406, 407, 408, + -1, -1, 411, 412, -1, 414, 415, 416, 417, 418, + 419, -1, 421, 257, 124, 125, -1, 37, 38, -1, + -1, 41, 42, 43, 44, 45, -1, 47, -1, -1, + -1, 312, -1, -1, -1, -1, -1, -1, 58, 59, + 60, 61, 62, 63, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 37, 38, -1, -1, 41, 42, - 43, 44, 45, -1, 47, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 312, 58, 59, 60, 61, 62, - 63, -1, 280, 281, 282, 283, 284, 285, -1, 287, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 300, 301, 302, 303, -1, -1, -1, -1, - 93, 94, -1, -1, -1, -1, -1, 400, 401, 97, - -1, 404, 405, 406, 407, 408, -1, -1, 411, 412, - -1, 414, 415, 416, 417, 418, 419, -1, 421, -1, - -1, 124, 125, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 257, -1, -1, -1, -1, -1, -1, - 138, -1, 400, 401, -1, -1, 404, 405, 406, 407, - 408, -1, -1, 411, 412, -1, 414, 415, 416, 417, - 418, 419, -1, 421, -1, 163, -1, 165, 37, 38, - -1, -1, 41, 42, 43, 44, 45, -1, 47, -1, - -1, 179, -1, -1, -1, -1, -1, -1, 312, 58, - 59, 60, 61, 62, 63, -1, 194, -1, -1, -1, + 43, 44, 45, -1, 47, -1, -1, -1, 312, -1, + -1, -1, -1, 93, 94, 58, 59, 60, 61, 62, + 63, 400, 401, -1, -1, 404, 405, 406, 407, 408, + -1, -1, 411, 412, -1, 414, 415, 416, 417, 418, + 419, -1, 421, 257, 124, 125, -1, -1, -1, -1, + 93, 94, -1, -1, -1, -1, -1, -1, -1, 400, + 401, -1, -1, 404, 405, 406, 407, 408, -1, -1, + 411, 412, -1, 414, 415, 416, 417, 418, 419, -1, + 421, 124, 125, -1, -1, -1, -1, 257, -1, -1, + -1, -1, -1, -1, -1, -1, 400, 401, 312, -1, + 404, 405, 406, 407, 408, -1, -1, 411, 412, -1, + 414, 415, 416, 417, 418, 419, -1, 421, -1, -1, + -1, 37, 38, -1, -1, 41, 42, 43, -1, 45, + -1, 47, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 312, -1, 60, 61, 62, 63, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 37, 38, -1, -1, 41, 42, 43, 44, 45, - -1, 47, -1, -1, 93, 94, -1, -1, -1, -1, - -1, -1, 58, 59, 60, 61, 62, 63, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 250, -1, 257, 124, 125, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 93, 94, -1, - -1, -1, -1, -1, -1, 273, 400, 401, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 257, 94, -1, + -1, -1, -1, -1, -1, -1, 400, 401, -1, -1, 404, 405, 406, 407, 408, -1, -1, 411, 412, -1, - 414, 415, 416, 417, 418, 419, -1, 421, 124, 125, - -1, -1, -1, -1, -1, -1, 37, 38, -1, 312, - 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, - 61, 62, 63, 37, 38, -1, -1, 41, 42, 43, - 44, 45, 344, 47, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 58, 59, 60, 61, 62, 63, - 37, 38, 93, 94, 41, 42, 43, -1, 45, -1, + 414, 415, 416, 417, 418, 419, -1, 421, 124, -1, + 126, -1, -1, -1, 257, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 400, 401, -1, -1, 404, 405, 406, 407, 408, -1, + -1, 411, 412, -1, 414, 415, 416, 417, 418, 419, + -1, 421, -1, 37, 38, -1, -1, -1, 42, 43, + -1, 45, -1, 47, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 59, 60, 61, 62, 63, + -1, -1, -1, -1, -1, -1, -1, -1, 97, -1, + 37, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 60, 61, 62, 63, -1, 257, 93, - 94, -1, -1, 124, 125, -1, -1, 400, 401, -1, + 94, -1, -1, 60, 61, 62, 63, -1, -1, -1, + 400, 401, -1, -1, 404, 405, 406, 407, 408, 138, + -1, 411, 412, -1, 414, 415, 416, 417, 418, 419, + 124, 421, 126, -1, -1, -1, -1, 94, -1, -1, + -1, -1, -1, -1, 163, -1, 165, 400, 401, -1, -1, 404, 405, 406, 407, 408, -1, -1, 411, 412, - -1, 414, 415, 416, 417, 418, 419, 94, 421, -1, - 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 257, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 312, -1, -1, -1, 124, -1, 126, - -1, -1, 454, -1, -1, -1, -1, -1, -1, 461, - -1, -1, -1, -1, -1, -1, -1, -1, 37, 38, - -1, -1, -1, 42, 43, -1, 45, -1, 47, -1, - -1, -1, -1, -1, -1, -1, 312, -1, -1, -1, - 59, 60, 61, 62, 63, -1, -1, -1, 37, 38, - -1, -1, -1, 42, 43, -1, 45, -1, 47, -1, + 179, 414, 415, 416, 417, 418, 419, 124, 421, 126, + -1, -1, -1, -1, -1, 194, -1, 37, 38, -1, + -1, -1, 42, 43, -1, 45, 312, 47, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, + 60, 61, 62, 63, -1, 331, -1, -1, -1, -1, + -1, -1, 37, 38, -1, -1, 41, 42, 43, -1, + 45, -1, 47, -1, -1, -1, -1, -1, -1, -1, + -1, 250, -1, -1, 94, 60, 61, 62, 63, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 60, 524, 62, -1, 94, 257, -1, -1, -1, - 532, 400, 401, -1, -1, 404, 405, 406, 407, 408, - -1, 543, 411, 412, -1, 414, 415, 416, 417, 418, - 419, -1, 421, 257, -1, 124, -1, 126, -1, -1, + -1, -1, -1, -1, -1, 274, -1, -1, -1, -1, + -1, -1, -1, -1, 124, -1, 126, -1, -1, 94, + -1, -1, -1, -1, 400, 401, 402, 403, 404, 405, + 406, 407, 408, -1, -1, 411, 412, -1, 414, 415, + 416, 417, 418, 419, -1, 421, -1, -1, -1, 124, + -1, 126, -1, -1, -1, -1, -1, -1, -1, 37, + 38, -1, -1, 41, 42, 43, -1, 45, 312, 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 574, -1, 400, 401, -1, -1, 404, 405, - 406, 407, 408, -1, -1, 411, 412, 126, 414, 415, - 416, 417, 418, 419, -1, 421, -1, -1, -1, -1, - -1, 603, 37, 38, -1, -1, 41, 42, 43, -1, - 45, -1, 47, -1, -1, -1, -1, -1, -1, 621, - -1, -1, -1, -1, 626, 60, 61, 62, 63, 631, - -1, -1, -1, -1, -1, 312, -1, -1, -1, -1, + -1, -1, 60, 61, 62, 63, -1, 331, -1, -1, + -1, -1, -1, -1, 37, 38, -1, -1, 41, 42, + 43, -1, 45, -1, 47, 312, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 94, 60, 61, 62, + 63, -1, -1, -1, 331, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 331, -1, -1, -1, -1, 94, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 400, - 401, -1, -1, 404, 405, 406, 407, 408, -1, -1, - 411, 412, -1, 414, 415, 416, 417, 418, 419, 124, - 421, 126, -1, -1, -1, -1, 400, 401, -1, -1, + -1, -1, -1, -1, -1, -1, 124, -1, 126, -1, + -1, 94, -1, -1, -1, -1, 400, 401, 402, 403, 404, 405, 406, 407, 408, -1, -1, 411, 412, -1, 414, 415, 416, 417, 418, 419, -1, 421, -1, -1, + -1, 124, -1, 126, -1, -1, -1, -1, -1, -1, -1, -1, -1, 400, 401, 402, 403, 404, 405, 406, - 407, 408, -1, 41, 411, 412, 44, 414, 415, 416, - 417, 418, 419, 312, 421, -1, -1, -1, -1, -1, - 58, 59, -1, 61, -1, 63, -1, -1, -1, -1, - -1, -1, 331, -1, 37, 38, -1, -1, -1, 42, - 43, -1, 45, 312, 47, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 93, 59, 60, 61, 62, - 63, -1, 331, -1, -1, -1, -1, -1, -1, 37, - 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, - -1, -1, -1, -1, -1, -1, 124, 125, -1, -1, - -1, 94, 60, 61, 62, 63, -1, -1, -1, -1, - -1, 400, 401, 402, 403, 404, 405, 406, 407, 408, - -1, -1, 411, 412, -1, 414, 415, 416, 417, 418, - 419, 124, 421, 126, -1, -1, 94, -1, -1, -1, - -1, 400, 401, 402, 403, -1, -1, -1, -1, -1, - -1, -1, 411, 412, -1, -1, -1, 312, -1, -1, - -1, -1, 421, -1, -1, -1, 124, -1, 126, -1, - -1, -1, -1, -1, -1, -1, 331, -1, -1, -1, - 37, 38, -1, -1, 41, 42, 43, -1, 45, -1, - 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 60, 61, 62, 63, -1, 37, 38, + 407, 408, 312, -1, 411, 412, -1, 414, 415, 416, + 417, 418, 419, -1, 421, -1, -1, -1, -1, -1, + -1, 331, -1, 37, 38, -1, -1, 41, 42, 43, + -1, 45, -1, 47, -1, -1, -1, 312, -1, -1, + -1, -1, -1, -1, -1, -1, 60, 61, 62, 63, + -1, -1, -1, -1, -1, -1, 331, -1, 37, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 257, - -1, 60, 61, 62, 63, -1, -1, 94, -1, -1, - -1, -1, -1, -1, -1, 400, 401, 402, 403, 404, - 405, 406, 407, 408, -1, -1, 411, 412, -1, 414, - 415, 416, 417, 418, 419, 94, 421, 124, -1, 126, -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, 124, -1, 126, -1, -1, - -1, -1, -1, -1, -1, 37, 38, -1, -1, 41, + 94, 60, 61, 62, 63, -1, -1, -1, -1, -1, + 400, 401, 402, 403, 404, 405, 406, 407, 408, -1, + -1, 411, 412, -1, 414, 415, 416, 417, 418, 419, + 124, 421, 126, -1, -1, 94, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 312, -1, 411, 412, -1, 414, + 415, 416, 417, 418, 419, 124, 421, 126, -1, -1, + -1, -1, -1, 331, -1, 37, 38, -1, -1, -1, 42, 43, -1, 45, -1, 47, -1, -1, -1, 312, - -1, -1, -1, -1, -1, -1, -1, -1, 60, 61, + -1, -1, -1, -1, -1, -1, -1, 59, 60, 61, 62, 63, -1, -1, -1, -1, -1, -1, 331, -1, - 37, 38, -1, -1, 41, 42, 43, -1, 45, -1, - 47, -1, -1, -1, 312, -1, -1, -1, -1, -1, - -1, -1, 94, 60, 61, 62, 63, -1, -1, -1, - -1, -1, -1, 331, -1, -1, 404, 405, 406, 407, - 408, -1, -1, -1, -1, -1, 414, 415, 416, 417, - 418, 419, 124, -1, 126, -1, -1, 94, -1, -1, + 37, 38, -1, -1, -1, 42, 43, -1, 45, -1, + 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 58, 94, 60, 61, 62, 63, -1, -1, -1, + -1, -1, 400, 401, 402, 403, 404, 405, 406, 407, + 408, -1, -1, 411, 412, -1, 414, 415, 416, 417, + 418, 419, 124, 421, 126, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, 400, 401, 402, 403, 404, 405, 406, 407, 408, -1, -1, 411, 412, -1, 414, 415, 416, 417, 418, 419, 124, 421, 126, + -1, -1, -1, -1, -1, -1, -1, 37, 38, -1, + -1, -1, 42, 43, -1, 45, -1, 47, 312, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 400, 401, 402, 403, 404, 405, 406, 407, - 408, -1, -1, 411, 412, 312, 414, 415, 416, 417, - 418, 419, -1, 421, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 331, -1, -1, -1, -1, -1, - -1, 37, 38, 312, -1, -1, 42, 43, -1, 45, - -1, 47, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 331, 59, 60, 61, 62, 63, 37, 38, - -1, -1, -1, 42, 43, -1, 45, -1, 47, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 58, - -1, 60, 61, 62, 63, -1, -1, -1, 94, -1, - -1, -1, -1, 400, 401, 402, 403, 404, 405, 406, - 407, 408, -1, -1, 411, 412, -1, 414, 415, 416, - 417, 418, 419, -1, 421, 94, -1, -1, 124, -1, - 126, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 60, 61, 62, 63, -1, -1, -1, 331, -1, -1, + -1, -1, 37, 38, -1, -1, -1, 42, 43, -1, + 45, -1, 47, 312, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 94, 60, 61, 62, 63, -1, + -1, -1, 331, -1, -1, 37, -1, -1, -1, -1, + 42, 43, -1, 45, -1, 47, -1, -1, -1, -1, + -1, -1, -1, -1, 124, -1, 126, -1, 60, 94, + 62, -1, -1, -1, -1, -1, 400, 401, 402, 403, + 404, 405, 406, 407, 408, -1, -1, 411, 412, -1, + 414, 415, 416, 417, 418, 419, -1, 421, -1, 124, + -1, 126, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 400, 401, 402, 403, 404, 405, 406, 407, 408, 312, -1, 411, 412, -1, 414, 415, 416, 417, 418, - 419, -1, 421, -1, -1, 124, -1, 126, -1, 331, - -1, -1, -1, -1, -1, -1, 37, 38, -1, -1, - -1, 42, 43, -1, 45, 312, 47, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, - 61, 62, 63, -1, 331, -1, -1, -1, -1, -1, + 419, -1, 421, -1, 126, -1, -1, -1, -1, 331, -1, 37, 38, -1, -1, -1, 42, 43, -1, 45, - -1, 47, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 94, 60, 61, 62, 63, 400, 401, + -1, 47, -1, -1, -1, 312, -1, -1, -1, -1, + -1, -1, -1, -1, 60, 61, 62, 63, -1, -1, + -1, -1, -1, -1, 331, -1, 37, 38, -1, -1, + -1, 42, 43, -1, 45, -1, 47, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 94, 60, + -1, 62, -1, -1, -1, -1, -1, -1, 400, 401, 402, 403, 404, 405, 406, 407, 408, -1, -1, 411, - 412, -1, 414, 415, 416, 417, 418, 419, -1, 421, - -1, -1, -1, 124, -1, 126, -1, -1, 94, -1, + 412, -1, 414, 415, 416, 417, 418, 419, 124, 421, + 126, -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, 400, 401, 402, 403, 404, 405, 406, - 407, 408, -1, -1, 411, 412, -1, 414, 415, 416, - 417, 418, 419, -1, 421, -1, -1, -1, 124, -1, - 126, -1, -1, -1, -1, -1, -1, -1, 37, 38, - -1, -1, -1, 42, 43, -1, 45, -1, 47, -1, - -1, -1, -1, -1, -1, -1, 312, -1, -1, -1, - -1, 60, 61, 62, 63, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 331, -1, -1, -1, -1, - 37, 38, -1, 312, -1, 42, 43, -1, 45, -1, - 47, -1, -1, -1, -1, 94, -1, -1, -1, -1, - -1, -1, 331, 60, -1, 62, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 124, -1, 126, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, - -1, -1, -1, -1, 400, 401, 402, 403, 404, 405, - 406, 407, 408, -1, -1, 411, 412, -1, 414, 415, - 416, 417, 418, 419, -1, 421, -1, 124, -1, 126, - -1, 400, 401, 402, 403, 404, 405, 406, 407, 408, - -1, 312, 411, 412, -1, 414, 415, 416, 417, 418, - 419, -1, 421, -1, -1, -1, -1, -1, -1, -1, - 331, -1, -1, -1, 37, 38, -1, -1, 41, 42, - 43, 44, 45, -1, 47, -1, 312, -1, -1, -1, - -1, -1, -1, -1, -1, 58, 59, 60, 61, 62, - 63, -1, -1, -1, -1, 331, -1, -1, -1, -1, + 407, 408, 312, -1, 411, 412, -1, 414, 415, 416, + 417, 418, 419, 124, 421, 126, -1, -1, -1, -1, + -1, 331, -1, 37, -1, -1, -1, -1, 42, 43, + -1, 45, -1, 47, -1, -1, -1, 312, -1, -1, + -1, -1, -1, -1, -1, -1, 60, -1, 62, -1, + -1, -1, -1, -1, -1, -1, 331, -1, -1, -1, -1, 37, 38, -1, -1, 41, 42, 43, 44, 45, - -1, 47, -1, -1, -1, -1, -1, -1, -1, -1, - 93, 94, 58, 59, 60, 61, 62, 63, -1, 400, - 401, 402, 403, 404, 405, 406, 407, 408, -1, -1, + 312, 47, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 58, 59, 60, 61, 62, 63, -1, 331, + 400, 401, 402, 403, 404, 405, 406, 407, 408, -1, + -1, 411, 412, -1, 414, 415, 416, 417, 418, 419, + -1, 421, 126, -1, -1, -1, -1, 93, 94, -1, + -1, -1, -1, -1, -1, 400, 401, 402, 403, 404, + 405, 406, 407, 408, -1, -1, 411, 412, -1, -1, + 415, 416, 417, 418, 419, -1, 421, -1, 124, 125, + -1, -1, -1, -1, -1, -1, -1, -1, 400, 401, + 402, 403, -1, -1, -1, -1, 312, -1, -1, 411, + 412, -1, -1, -1, -1, -1, -1, -1, -1, 421, + -1, -1, -1, -1, -1, 331, -1, -1, -1, 37, + 38, -1, -1, 41, 42, 43, 44, 45, -1, 47, + -1, 312, -1, -1, -1, -1, -1, -1, -1, -1, + 58, 59, 60, 61, 62, 63, -1, -1, -1, -1, + 331, -1, -1, -1, -1, -1, 37, 38, -1, -1, + 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, + -1, -1, -1, -1, -1, 93, 94, 58, 59, 60, + 61, 62, 63, -1, 400, 401, 402, 403, 404, 405, + 406, 407, 408, -1, -1, 411, 412, -1, -1, -1, + 416, 417, 418, 419, -1, 421, 124, 125, -1, -1, + -1, 257, 93, 94, -1, -1, -1, -1, -1, 400, + 401, 402, 403, -1, -1, -1, -1, -1, 312, -1, + 411, 412, -1, -1, -1, -1, -1, -1, -1, -1, + 421, -1, -1, 124, 125, 38, -1, 331, 41, -1, + 43, 44, 45, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 58, 59, 60, 61, 62, + 63, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 38, -1, + -1, 41, -1, 43, 44, 45, -1, -1, -1, -1, + 93, 94, -1, -1, -1, -1, -1, -1, 58, 59, + 60, 61, 62, 63, -1, -1, 400, 401, 402, 403, + -1, -1, -1, -1, -1, -1, -1, 38, -1, -1, + 41, 124, 125, 44, -1, -1, -1, 421, -1, 257, + -1, -1, -1, 93, 94, -1, -1, 58, 59, -1, + 61, -1, 63, -1, 400, 401, -1, -1, 404, 405, + 406, 407, 408, -1, -1, 411, 412, -1, 414, 415, + 416, 417, 418, 419, 124, 125, 257, -1, -1, -1, + -1, 38, 93, 94, 41, -1, -1, 44, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 58, 59, -1, 61, -1, 63, -1, -1, -1, + -1, -1, -1, 124, 125, -1, -1, -1, 38, -1, + -1, 41, -1, -1, 44, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 93, 94, 58, 59, + -1, 61, -1, 63, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 38, -1, -1, 41, -1, + -1, 44, -1, -1, 257, -1, -1, 124, 125, -1, + -1, -1, -1, 93, 94, 58, 59, -1, 61, -1, + 63, -1, 400, 401, -1, -1, 404, 405, 406, 407, + 408, -1, -1, 411, 412, -1, 414, 415, 416, 417, + 418, 419, -1, -1, 124, 125, -1, 257, -1, -1, + 93, 94, -1, -1, -1, -1, -1, -1, -1, 400, + 401, -1, -1, 404, 405, 406, 407, 408, -1, -1, 411, 412, -1, 414, 415, 416, 417, 418, 419, -1, - 421, 124, 125, -1, -1, -1, -1, 93, 94, -1, - -1, -1, -1, -1, 400, 401, 402, 403, 404, 405, - 406, 407, 408, 312, -1, 411, 412, -1, -1, 415, - 416, 417, 418, 419, -1, 421, -1, -1, 124, 125, - -1, -1, 331, -1, -1, -1, -1, -1, 37, 38, - -1, -1, 41, 42, 43, 44, 45, -1, 47, -1, - -1, -1, -1, -1, -1, 312, -1, -1, -1, 58, - 59, 60, 61, 62, 63, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 331, -1, -1, -1, -1, -1, + -1, 124, 125, -1, -1, -1, 257, 38, -1, -1, + 41, -1, -1, 44, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 58, 59, -1, + 61, -1, 63, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 93, 94, -1, -1, -1, -1, - -1, 400, 401, 402, 403, 404, 405, 406, 407, 408, - -1, -1, 411, 412, -1, -1, -1, 416, 417, 418, - 419, -1, 421, -1, 257, 124, 125, 38, -1, -1, - 41, -1, 43, 44, 45, -1, -1, -1, -1, -1, - -1, -1, -1, 400, 401, 402, 403, 58, 59, 60, - 61, 62, 63, 38, 411, 412, 41, -1, 43, 44, - 45, 257, -1, -1, 421, -1, -1, -1, -1, -1, - -1, -1, -1, 58, 59, 60, 61, 62, 63, -1, - -1, -1, 93, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 38, -1, -1, 41, 93, 94, - 44, -1, -1, 124, 125, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 58, 59, -1, 61, -1, 63, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 124, - 125, 38, -1, -1, 41, -1, -1, 44, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 257, 93, - 94, 58, 59, -1, 61, -1, 63, 400, 401, -1, + 257, -1, 93, 94, -1, -1, -1, 400, 401, -1, -1, 404, 405, 406, 407, 408, -1, -1, 411, 412, -1, 414, 415, 416, 417, 418, 419, -1, -1, -1, - 124, 125, -1, -1, -1, -1, 93, 94, -1, -1, - -1, -1, -1, -1, 400, 401, -1, -1, 404, 405, - 406, 407, 408, -1, -1, 411, 412, -1, 414, 415, - 416, 417, 418, 419, -1, -1, -1, 124, 125, -1, - -1, -1, -1, -1, -1, 38, -1, -1, 41, -1, - -1, 44, -1, -1, -1, -1, 257, -1, -1, -1, - -1, -1, -1, -1, -1, 58, 59, -1, 61, -1, - 63, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 257, -1, -1, 38, -1, -1, 41, -1, - -1, 44, -1, -1, -1, -1, -1, -1, -1, -1, - 93, 94, -1, -1, -1, 58, 59, -1, 61, -1, - 63, 400, 401, -1, -1, 404, 405, 406, 407, 408, - -1, -1, 411, 412, -1, 414, 415, 416, 417, 418, - 419, 124, 125, 257, -1, -1, 38, -1, -1, 41, - 93, 94, 44, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 58, 59, -1, 61, - -1, 63, -1, -1, -1, -1, -1, -1, -1, -1, - 257, 124, 125, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 124, 125, -1, -1, 257, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 93, 94, -1, -1, -1, -1, -1, -1, 400, - 401, -1, -1, 404, 405, 406, 407, 408, -1, -1, + 400, 401, -1, -1, 404, 405, 406, 407, 408, -1, + 41, 411, 412, 44, 414, 415, 416, 417, 418, 419, + -1, -1, -1, -1, 257, -1, -1, 58, 59, -1, + 61, -1, 63, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 404, 405, 406, 407, 408, -1, -1, 411, 412, -1, 414, 415, 416, 417, 418, 419, -1, - -1, -1, 124, 125, -1, 400, 401, -1, -1, 404, - 405, 406, 407, 408, -1, -1, 411, 412, -1, 414, - 415, 416, 417, 418, 419, -1, -1, -1, -1, -1, + -1, -1, 93, 94, 38, -1, -1, 41, -1, -1, + 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 58, 59, -1, 61, -1, 63, + -1, -1, -1, 124, 125, -1, -1, 404, 405, 406, + 407, 408, -1, -1, 411, 412, -1, 414, 415, 416, + 417, 418, 419, -1, -1, -1, 257, -1, -1, 93, + 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 404, 405, 406, 407, 408, -1, + 41, 411, 412, 44, 414, 415, 416, 417, 418, 419, + 124, 125, -1, -1, -1, -1, -1, 58, 59, -1, + 61, -1, 63, -1, -1, -1, -1, -1, -1, -1, + -1, 404, 405, 406, 407, 408, -1, -1, 411, 412, + -1, 414, 415, 416, 417, 418, 419, -1, -1, -1, + -1, -1, 93, 38, -1, -1, 41, -1, -1, 44, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 345, 58, 59, -1, 61, -1, 63, -1, + -1, -1, -1, 124, 125, -1, 257, -1, -1, -1, 38, -1, -1, 41, -1, -1, 44, -1, -1, -1, - -1, -1, -1, -1, 257, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 93, 94, 58, 59, -1, 61, -1, 63, -1, -1, -1, -1, - 404, 405, 406, 407, 408, -1, -1, 411, 412, -1, - 414, 415, 416, 417, 418, 419, -1, -1, -1, -1, - -1, 33, -1, 35, 257, 93, 94, -1, 40, -1, - -1, 43, -1, 45, -1, -1, -1, 404, 405, 406, - 407, 408, -1, -1, 411, 412, 58, 414, 415, 416, - 417, 418, 419, -1, -1, -1, 124, 125, -1, -1, - -1, 38, -1, -1, 41, -1, -1, 44, -1, -1, - -1, -1, -1, -1, -1, 257, -1, -1, -1, 91, - -1, 58, 59, -1, 61, -1, 63, -1, -1, -1, + -1, -1, -1, 404, 405, 406, 407, 408, -1, -1, + 411, 412, -1, 414, 415, 416, 417, 418, 419, 124, + 125, 38, -1, 257, 41, 93, 94, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 38, -1, -1, 41, -1, -1, 44, -1, -1, - -1, -1, -1, -1, 126, -1, 93, 94, -1, -1, - -1, 58, 59, -1, 61, -1, 63, -1, -1, -1, - -1, 404, 405, 406, 407, 408, -1, -1, 411, 412, - -1, 414, 415, 416, 417, 418, 419, 124, 125, -1, - -1, -1, -1, -1, -1, -1, 93, 94, -1, -1, + -1, 58, 59, -1, 61, 38, 63, -1, 41, -1, + -1, 44, -1, -1, -1, -1, 124, 125, -1, -1, + 453, -1, -1, -1, -1, 58, 59, 460, 61, 41, + 63, -1, 44, -1, -1, -1, 93, 94, -1, -1, + -1, -1, -1, -1, -1, -1, 58, 59, -1, 61, + -1, 63, -1, -1, -1, -1, 257, -1, -1, -1, + 93, 94, -1, -1, -1, -1, -1, 124, 125, -1, + -1, -1, -1, 404, 405, 406, 407, 408, -1, -1, + -1, 93, -1, 414, 415, 416, 417, 418, 419, -1, + 523, 124, 125, -1, -1, -1, -1, 530, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 541, -1, + -1, -1, 257, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 404, 405, 406, 407, 408, -1, -1, 411, 412, - -1, 414, 415, 416, 417, 418, 419, 124, 125, 257, - 38, -1, -1, 41, -1, -1, 44, -1, -1, -1, + 404, 405, 406, 407, 408, -1, -1, 411, 412, 572, + 414, 415, 416, 417, 418, 419, -1, -1, -1, 257, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 58, 59, -1, 61, -1, 63, -1, -1, -1, -1, - -1, -1, 404, 405, 406, 407, 408, -1, -1, 411, - 412, -1, 414, 415, 416, 417, 418, 419, 38, -1, - -1, 41, -1, -1, 44, 93, 94, -1, 260, 261, - 262, 263, 264, 265, -1, -1, -1, -1, 58, 59, - -1, 61, -1, 63, -1, -1, 38, -1, -1, 41, - -1, -1, 44, -1, 286, -1, 124, 125, -1, -1, - 257, -1, -1, -1, -1, -1, 58, 59, -1, 61, - -1, 63, -1, 93, 94, -1, -1, -1, -1, -1, - -1, 313, -1, -1, -1, -1, -1, -1, -1, 41, - -1, -1, 44, -1, -1, -1, -1, -1, -1, -1, - 257, 93, 94, -1, 124, 125, 58, 59, 340, 61, - -1, 63, -1, -1, 346, -1, 404, 405, 406, 407, - 408, -1, -1, 411, 412, -1, 414, 415, 416, 417, - 418, 419, 124, 125, -1, -1, -1, -1, -1, -1, - 41, 93, 94, 44, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 58, 59, -1, - 61, -1, 63, -1, -1, -1, -1, -1, -1, -1, - 402, 403, 124, 125, -1, -1, -1, -1, 33, -1, - 35, -1, -1, -1, -1, 40, -1, -1, 43, 257, - 45, -1, 93, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 60, -1, 404, 405, 406, - 407, 408, -1, -1, 411, 412, -1, 414, 415, 416, - 417, 418, 419, -1, 125, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 91, 257, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 404, 405, 406, - 407, 408, -1, -1, 411, 412, -1, 414, 415, 416, - 417, 418, 419, -1, -1, 257, -1, -1, -1, -1, - 33, 126, 35, -1, -1, -1, -1, 40, -1, -1, - 43, -1, 45, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, - -1, -1, -1, -1, -1, 257, -1, 33, -1, 35, - -1, -1, -1, -1, 40, -1, -1, 43, -1, 45, - -1, -1, -1, -1, -1, -1, -1, -1, 91, -1, - -1, -1, -1, -1, -1, 61, 404, 405, 406, 407, - 408, -1, -1, -1, -1, -1, 414, 415, 416, 417, - 418, 419, -1, -1, -1, -1, 257, -1, -1, -1, - -1, -1, -1, 126, -1, 91, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 601, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 404, 405, 406, 407, 408, -1, - -1, -1, -1, -1, 414, 415, 416, 417, 418, 419, - 126, -1, -1, -1, -1, 260, 261, 262, 263, 264, - 265, -1, 404, 405, 406, 407, 408, -1, -1, -1, - -1, -1, 414, 415, 416, 417, 418, 419, -1, -1, - -1, 286, 33, -1, 35, -1, -1, -1, -1, 40, - -1, -1, 43, -1, 45, -1, -1, -1, -1, -1, - -1, -1, 404, 405, 406, 407, 408, -1, 313, -1, - 61, -1, 414, 415, 416, 417, 418, 419, 33, -1, - 35, -1, -1, -1, -1, 40, -1, -1, 43, -1, - 45, -1, -1, -1, -1, 340, -1, -1, -1, -1, - 91, 346, -1, -1, -1, -1, -1, 260, 261, 262, - 263, 264, 265, 404, 405, 406, 407, 408, -1, -1, - -1, -1, -1, 414, 415, 416, 417, 418, 419, -1, - -1, -1, -1, 286, -1, 126, 91, -1, -1, -1, - -1, -1, -1, -1, 260, 261, 262, 263, 264, 265, - -1, -1, 33, -1, 35, -1, 401, 402, 403, 40, - 313, -1, 43, -1, 45, 33, -1, 35, 123, -1, - 286, 126, 40, -1, -1, 43, -1, 45, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 340, -1, -1, - -1, -1, -1, 346, -1, -1, -1, 313, -1, -1, + -1, -1, 33, -1, 35, -1, 619, -1, -1, 40, + -1, 624, 43, -1, 45, -1, 629, -1, -1, -1, + 257, -1, -1, 404, 405, 406, 407, 408, -1, 60, + -1, -1, -1, 414, 415, 416, 417, 418, 419, 33, + -1, 35, -1, -1, 257, -1, 40, -1, -1, 43, + -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, + 91, -1, -1, -1, -1, 257, -1, -1, 62, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 404, + 405, 406, 407, 408, -1, -1, 411, 412, -1, 414, + 415, 416, 417, 418, 419, 126, -1, 91, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 91, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 91, 340, -1, -1, -1, -1, -1, - 346, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 126, -1, 400, -1, 402, - 403, -1, -1, -1, -1, -1, -1, -1, 126, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 260, - 261, 262, 263, 264, 265, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 402, 403, -1, -1, - -1, -1, -1, -1, -1, 286, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 260, 261, 262, 263, 264, - 265, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 313, -1, -1, -1, -1, -1, -1, -1, - -1, 286, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 340, - -1, -1, -1, -1, -1, 346, -1, -1, 313, -1, + -1, -1, -1, -1, -1, -1, 404, 405, 406, 407, + 408, -1, -1, -1, -1, -1, 414, 415, 416, 417, + 418, 419, 126, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 33, + -1, 35, -1, -1, -1, -1, 40, -1, -1, 43, + -1, 45, -1, -1, -1, -1, -1, 404, 405, 406, + 407, 408, -1, -1, 58, -1, -1, 414, 415, 416, + 417, 418, 419, -1, -1, -1, -1, -1, -1, -1, + -1, 404, 405, 406, 407, 408, -1, -1, -1, -1, + -1, 414, 415, 416, 417, 418, 419, 91, -1, -1, + -1, -1, 404, 405, 406, 407, 408, -1, -1, -1, + -1, -1, 414, 415, 416, 417, 418, 419, -1, 260, + 261, 262, 263, 264, 265, -1, 33, -1, 35, -1, + -1, -1, 126, 40, -1, -1, 43, 33, 45, 35, + -1, -1, -1, -1, 40, 286, -1, 43, -1, 45, + -1, -1, -1, -1, 61, -1, 260, 261, 262, 263, + 264, 265, -1, -1, -1, 61, 33, -1, 35, -1, + -1, -1, 313, 40, -1, -1, 43, -1, 45, -1, + -1, -1, 286, -1, 91, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 91, 33, -1, 35, 340, + -1, -1, -1, 40, -1, 346, 43, -1, 45, 313, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 126, + -1, -1, -1, -1, 91, 33, -1, 35, -1, -1, + 126, -1, 40, -1, -1, 43, 340, 45, -1, 33, + -1, 35, 346, -1, -1, -1, 40, -1, -1, 43, + -1, 45, -1, -1, 91, -1, 123, -1, -1, 126, + 401, 402, 403, -1, -1, -1, 260, 261, 262, 263, + 264, 265, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 91, -1, 93, -1, -1, -1, 126, + -1, -1, 286, -1, -1, -1, 400, 91, 402, 403, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 126, 313, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 260, - 261, 262, 263, 264, 265, 340, -1, -1, -1, -1, - -1, 346, 260, 261, 262, 263, 264, 265, -1, -1, - -1, -1, -1, -1, -1, 286, -1, -1, -1, -1, - -1, 402, 403, -1, -1, -1, -1, -1, 286, -1, + -1, -1, 126, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 340, -1, -1, -1, + -1, -1, 346, 260, 261, 262, 263, 264, 265, -1, + -1, -1, -1, -1, 260, 261, 262, 263, 264, 265, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 286, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 313, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 313, -1, 402, 403, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 340, - -1, -1, -1, -1, -1, 346, -1, -1, -1, -1, - -1, -1, 340, -1, -1, -1, -1, -1, 346, -1, + 286, -1, -1, 260, 261, 262, 263, 264, 265, -1, + -1, -1, -1, -1, -1, -1, 313, -1, 402, 403, + -1, -1, -1, -1, -1, -1, -1, 313, -1, 286, + -1, -1, -1, 260, 261, 262, 263, 264, 265, -1, + -1, -1, -1, 340, -1, -1, -1, -1, -1, 346, + -1, -1, -1, -1, 340, -1, 313, -1, -1, 286, + 346, -1, 260, 261, 262, 263, 264, 265, -1, -1, + -1, -1, -1, -1, -1, -1, 260, 261, 262, 263, + 264, 265, -1, 340, -1, -1, 313, -1, 286, 346, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 286, -1, -1, 402, 403, -1, -1, -1, + -1, -1, -1, 340, -1, 313, 402, 403, -1, 346, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 340, -1, -1, 402, 403, -1, 346, -1, + -1, -1, -1, -1, -1, -1, 340, -1, -1, -1, + -1, -1, 346, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 402, 403, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 402, 403, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 402, 403, + -1, -1, -1, -1, 402, 403, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 402, 403, ); protected static $yyFinal= 2; protected static $yyName= array( @@ -2480,7 +2468,7 @@ public function yyparse($yyLex) { case 186: #line 771 "src/main/jay/grammars/xp.jay" { - $yyVal= $yyLex->create(new LambdaNode(array($yyVals[-3+$yyTop]), $yyVals[0+$yyTop])); + $yyVal= $yyLex->create(new LambdaNode(array($yyVals[-2+$yyTop]), $yyVals[0+$yyTop])); } break; case 187: #line 774 "src/main/jay/grammars/xp.jay" @@ -2506,7 +2494,7 @@ public function yyparse($yyLex) { case 190: #line 788 "src/main/jay/grammars/xp.jay" { - $yyVal= $yyLex->create(new LambdaNode($yyVals[-3+$yyTop], $yyVals[0+$yyTop])); + $yyVal= $yyLex->create(new LambdaNode($yyVals[-2+$yyTop], $yyVals[0+$yyTop])); } break; case 191: #line 791 "src/main/jay/grammars/xp.jay" @@ -2628,14 +2616,14 @@ public function yyparse($yyLex) { } break; case 209: #line 870 "src/main/jay/grammars/xp.jay" - { $yyVals[-5+$yyTop]= $yyLex->create(new LambdaNode($yyVals[-3+$yyTop], $yyVals[-1+$yyTop])); } break; + { $yyVals[-4+$yyTop]= $yyLex->create(new LambdaNode($yyVals[-2+$yyTop], $yyVals[-1+$yyTop])); } break; case 210: #line 870 "src/main/jay/grammars/xp.jay" { $this->error(E_WARNING, 'Deprecated lambda syntax used', array('#{ ... }')); if ($yyVals[0+$yyTop]) { $yyVal= $yyVals[0+$yyTop][0]; - $yyVals[0+$yyTop][1]->target= $yyVals[-7+$yyTop]; + $yyVals[0+$yyTop][1]->target= $yyVals[-6+$yyTop]; } } break; @@ -2951,7 +2939,7 @@ public function yyparse($yyLex) { case 319: #line 1094 "src/main/jay/grammars/xp.jay" { $yyVal= MODIFIER_INLINE; } break; -#line 2955 "-" +#line 2943 "-" } $yyTop-= self::$yyLen[$yyN]; From f335679f6c5f7ac116c43b281af2df3e3765101e Mon Sep 17 00:00:00 2001 From: Timm Friebe Date: Fri, 1 Aug 2014 16:04:24 +0200 Subject: [PATCH 5/5] Remove funny-looking invoke-operator `$a.()` / `$this.func.()` Replace by `$a()` (obviously), `($this.func)()` to disambiguate --- src/main/jay/grammars/xp.jay | 3 - .../xp/compiler/syntax/xp/Parser.class.php | 2469 ++++++++--------- .../source/NavigationOperatorTest.class.php | 47 +- .../tests/syntax/xp/ChainingTest.class.php | 4 +- 4 files changed, 1236 insertions(+), 1287 deletions(-) diff --git a/src/main/jay/grammars/xp.jay b/src/main/jay/grammars/xp.jay index 1533c8e5d..bbc595212 100644 --- a/src/main/jay/grammars/xp.jay +++ b/src/main/jay/grammars/xp.jay @@ -1016,9 +1016,6 @@ chain: | nav member '(' { $1= $yyLex->create(new MethodCallNode(NULL, $2, NULL, $1)); } expressionlist_opt ')' { $1->arguments= $5; } - | nav '(' { $1= $yyLex->create(new InstanceCallNode(NULL, NULL, $1)); } expressionlist_opt ')' { - $1->arguments= $4; - } | '(' { $1= $yyLex->create(new InstanceCallNode(NULL, NULL, FALSE)); } expressionlist_opt ')' { $1->arguments= $3; } diff --git a/src/main/php/xp/compiler/syntax/xp/Parser.class.php b/src/main/php/xp/compiler/syntax/xp/Parser.class.php index 436d81db6..f818b0024 100644 --- a/src/main/php/xp/compiler/syntax/xp/Parser.class.php +++ b/src/main/php/xp/compiler/syntax/xp/Parser.class.php @@ -181,10 +181,10 @@ class Parser extends \text\parser\generic\AbstractParser { 108, 108, 108, 108, 108, 108, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 110, 110, 110, 110, 110, 110, 111, 111, 101, 101, 120, 120, - 122, 121, 121, 124, 121, 125, 121, 126, 121, 123, - 123, 10, 10, 10, 32, 32, 32, 12, 12, 95, - 96, 127, 127, 128, 128, 21, 21, 49, 49, 129, - 129, 130, 130, 130, 130, 130, 130, 130, 130, + 122, 121, 121, 124, 121, 125, 121, 123, 123, 10, + 10, 10, 32, 32, 32, 12, 12, 95, 96, 126, + 126, 127, 127, 21, 21, 49, 49, 128, 128, 129, + 129, 129, 129, 129, 129, 129, 129, ); protected static $yyLen= array(2, 3, 0, 0, 4, 0, 1, 1, 2, 5, 6, @@ -215,1347 +215,1350 @@ class Parser extends \text\parser\generic\AbstractParser { 3, 3, 3, 3, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 3, 2, 2, 2, 2, 2, 2, 2, 2, 0, 1, 1, 2, - 0, 4, 2, 0, 6, 0, 5, 0, 4, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 4, 3, - 4, 1, 3, 1, 3, 1, 3, 0, 1, 1, - 2, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 4, 2, 0, 6, 0, 4, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 4, 3, 4, 1, + 3, 1, 3, 1, 3, 0, 1, 1, 2, 1, + 1, 1, 1, 1, 1, 1, 1, ); protected static $yyDefRed= array(0, 3, 0, 0, 0, 0, 0, 0, 7, 0, 0, - 0, 292, 0, 0, 294, 293, 0, 15, 0, 312, - 314, 313, 316, 318, 317, 319, 315, 1, 0, 68, - 0, 310, 8, 0, 0, 4, 0, 0, 0, 0, - 0, 69, 20, 24, 22, 311, 18, 19, 0, 0, + 0, 290, 0, 0, 292, 291, 0, 15, 0, 310, + 312, 311, 314, 316, 315, 317, 313, 1, 0, 68, + 0, 308, 8, 0, 0, 4, 0, 0, 0, 0, + 0, 69, 20, 24, 22, 309, 18, 19, 0, 0, 0, 14, 0, 0, 0, 0, 76, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 9, 0, 0, 0, 70, 67, 0, 0, 0, 0, 11, 12, 10, 74, 75, 220, 0, 0, 226, 222, 225, 223, 224, 0, 0, 81, 0, 0, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 0, 73, - 0, 0, 295, 0, 296, 297, 0, 302, 27, 0, + 0, 0, 293, 0, 294, 295, 0, 300, 27, 0, 0, 0, 31, 35, 0, 229, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 227, 0, 228, 200, 201, 202, 203, 204, 0, 0, 231, 0, 0, 79, 80, 83, 84, 0, - 78, 0, 0, 0, 0, 299, 29, 35, 0, 0, + 78, 0, 0, 0, 0, 297, 29, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, 0, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 215, 0, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 275, 276, 0, 281, 291, - 290, 288, 191, 278, 0, 0, 0, 221, 0, 0, - 305, 0, 300, 303, 0, 307, 0, 0, 25, 0, + 0, 0, 0, 0, 0, 275, 276, 0, 281, 289, + 288, 286, 191, 278, 0, 0, 0, 221, 0, 0, + 303, 0, 298, 301, 0, 305, 0, 0, 25, 0, 34, 36, 37, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 186, 188, 0, 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, 208, 0, 0, 199, 0, 0, 280, 286, - 0, 175, 0, 0, 234, 232, 82, 301, 21, 0, - 0, 0, 0, 0, 0, 0, 23, 0, 35, 0, - 193, 0, 0, 0, 0, 0, 0, 189, 218, 190, - 216, 0, 0, 184, 181, 0, 0, 0, 0, 0, - 0, 0, 0, 100, 0, 0, 0, 284, 113, 0, - 131, 117, 121, 123, 119, 127, 129, 115, 125, 0, - 0, 0, 0, 111, 0, 63, 0, 0, 0, 0, - 0, 0, 35, 45, 0, 43, 0, 0, 0, 0, - 0, 0, 209, 0, 195, 0, 282, 289, 0, 0, - 0, 133, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 38, 137, 112, 0, 0, 61, 59, - 103, 104, 105, 106, 107, 108, 0, 0, 0, 0, - 0, 0, 0, 179, 180, 197, 212, 0, 0, 287, - 0, 0, 0, 0, 0, 138, 0, 0, 0, 0, - 155, 0, 0, 128, 130, 0, 0, 0, 0, 142, - 219, 0, 0, 93, 0, 0, 0, 0, 0, 65, - 0, 48, 0, 0, 53, 33, 0, 178, 210, 182, - 285, 114, 0, 0, 0, 0, 132, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, - 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 52, 55, 0, 49, 54, 47, 0, 0, 139, 0, - 0, 0, 156, 0, 0, 0, 0, 0, 0, 143, - 0, 0, 0, 0, 94, 96, 95, 0, 0, 0, - 0, 0, 164, 170, 134, 0, 161, 162, 0, 0, - 122, 0, 146, 0, 0, 0, 0, 97, 102, 0, - 85, 0, 64, 0, 0, 0, 56, 0, 0, 160, - 169, 163, 135, 0, 0, 0, 158, 116, 151, 153, - 0, 0, 149, 136, 0, 0, 62, 60, 0, 0, - 0, 0, 124, 120, 0, 0, 0, 126, 150, 87, - 86, 66, 166, 0, 0, 0, 159, 0, 0, 0, - 0, 171, 118, 0, 154, 167, 0, 152, 0, 0, - 165, + 0, 0, 208, 0, 0, 199, 0, 0, 280, 0, + 175, 0, 0, 234, 232, 82, 299, 21, 0, 0, + 0, 0, 0, 0, 0, 23, 0, 35, 0, 193, + 0, 0, 0, 0, 0, 0, 189, 218, 190, 216, + 0, 0, 184, 181, 0, 0, 0, 0, 0, 0, + 0, 0, 100, 0, 0, 284, 113, 0, 131, 117, + 121, 123, 119, 127, 129, 115, 125, 0, 0, 0, + 0, 111, 0, 63, 0, 0, 0, 0, 0, 0, + 35, 45, 0, 43, 0, 0, 0, 0, 0, 0, + 209, 0, 195, 0, 282, 287, 0, 0, 133, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 38, 137, 112, 0, 0, 61, 59, 103, 104, 105, + 106, 107, 108, 0, 0, 0, 0, 0, 0, 0, + 179, 180, 197, 212, 0, 0, 0, 0, 0, 0, + 0, 138, 0, 0, 0, 0, 155, 0, 0, 128, + 130, 0, 0, 0, 0, 142, 219, 0, 0, 93, + 0, 0, 0, 0, 0, 65, 0, 48, 0, 0, + 53, 33, 0, 178, 210, 182, 285, 114, 0, 0, + 0, 0, 132, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 50, 0, 98, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 52, 55, 0, 49, + 54, 47, 0, 0, 139, 0, 0, 0, 156, 0, + 0, 0, 0, 0, 0, 143, 0, 0, 0, 0, + 94, 96, 95, 0, 0, 0, 0, 0, 164, 170, + 134, 0, 161, 162, 0, 0, 122, 0, 146, 0, + 0, 0, 0, 97, 102, 0, 85, 0, 64, 0, + 0, 0, 56, 0, 0, 160, 169, 163, 135, 0, + 0, 0, 158, 116, 151, 153, 0, 0, 149, 136, + 0, 0, 62, 60, 0, 0, 0, 0, 124, 120, + 0, 0, 0, 126, 150, 87, 86, 66, 166, 0, + 0, 0, 159, 0, 0, 0, 0, 171, 118, 0, + 154, 167, 0, 152, 0, 0, 165, ); protected static $yyDgoto= array(2, 3, 6, 28, 140, 4, 7, 8, 17, 53, 18, 250, 113, 61, 99, 121, 170, 63, 255, 62, 101, - 123, 394, 251, 252, 253, 381, 256, 257, 335, 336, - 382, 315, 270, 392, 484, 142, 474, 485, 517, 479, - 544, 573, 478, 475, 428, 437, 520, 41, 30, 42, - 58, 94, 95, 96, 143, 476, 477, 383, 384, 291, - 411, 421, 462, 588, 415, 418, 503, 416, 417, 422, - 591, 419, 420, 414, 453, 555, 455, 469, 456, 470, - 592, 593, 606, 607, 605, 556, 580, 557, 558, 578, - 614, 579, 144, 260, 115, 116, 145, 356, 267, 184, + 123, 392, 251, 252, 253, 379, 256, 257, 334, 335, + 380, 315, 270, 390, 480, 142, 470, 481, 513, 475, + 540, 569, 474, 471, 425, 434, 516, 41, 30, 42, + 58, 94, 95, 96, 143, 472, 473, 381, 382, 291, + 408, 418, 458, 584, 412, 415, 499, 413, 414, 419, + 587, 416, 417, 411, 449, 551, 451, 465, 452, 466, + 588, 589, 602, 603, 601, 552, 576, 553, 554, 574, + 610, 575, 144, 260, 115, 116, 145, 355, 267, 184, 233, 185, 191, 179, 277, 264, 146, 147, 148, 149, - 150, 448, 192, 193, 151, 103, 152, 153, 326, 234, - 235, 317, 236, 410, 367, 318, 117, 118, 31, 32, + 150, 445, 192, 193, 151, 103, 152, 153, 325, 234, + 235, 317, 236, 407, 318, 117, 118, 31, 32, ); - protected static $yySindex = array( -258, - 0, 0, -250, -143, 190, 1018, -250, 0, 33, 46, - 3, 0, -156, -156, 0, 0, 100, 0, 134, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, - 793, 0, 0, -143, -143, 0, -29, 181, 2, -163, - -11, 0, 0, 0, 0, 0, 0, 0, 2, 2, - 2, 0, 185, 0, 32, 182, 0, 217, 134, 793, - -143, -143, -143, 270, 0, 277, 306, 0, -143, -143, - 232, 0, 0, 329, 86, 102, 86, 0, 0, 0, - 0, 0, 0, -143, 169, 0, 0, 0, 0, 0, - 358, 19, 0, 416, 208, 0, -35, -143, 156, -143, - 368, 156, 4927, 491, 663, 663, -233, 0, -50, 0, - 225, 487, 0, 459, 0, 0, 307, 0, 0, -143, - 439, 524, 0, 0, 443, 0, 5084, 5084, 5084, 5084, - 5084, 5084, 0, 5084, 441, 521, 0, 5127, 461, 172, - 3301, -30, 0, 546, 0, 0, 0, 0, 0, 0, - 500, 558, 0, 5084, 33, 0, 0, 0, 0, 544, - 0, -143, -17, 519, -35, 0, 0, 0, -143, 422, - 354, 30, -83, -83, -71, -83, -83, -83, -17, 0, - 5084, 0, 5084, 360, -30, 487, 572, -54, 2475, -23, - 596, 606, 0, -39, 0, 5084, 5084, 5084, 5084, 5084, - 5084, 5084, 5084, 5084, 5084, 5084, 5084, 5084, 5084, 5084, - 5084, 5014, 5025, 4780, 5084, 4817, 5084, 5084, 5084, 5084, - 5084, 5084, 5084, -143, 5084, 0, 0, -17, 0, 0, - 0, 0, 0, 0, -30, -1, 5084, 0, -177, 616, - 0, 387, 0, 0, 751, 0, 539, 403, 0, 128, - 0, 0, 0, 0, 562, 382, 0, 652, 459, -30, - 570, 573, 3301, 5084, 3301, 5054, 0, 0, 5084, 0, - -30, 572, 360, -39, 572, 360, -174, 3336, 3465, 3465, - 3465, 3465, 3465, 3465, 3465, 3465, 3465, 3465, 3465, 3301, - 637, 268, 1885, 3369, 5084, 3597, 5084, 3597, 5084, 5084, - 4, 4, 5084, 5084, 4, 4, -5, -5, -78, -78, - -78, -71, 0, -83, 317, 0, 5084, 5084, 0, 0, - 659, 0, 642, 521, 0, 0, 0, 0, 0, 575, - 448, 41, 450, 90, 590, 682, 0, 354, 0, 5084, - 0, 5084, 73, 685, 575, 3301, 3301, 0, 0, 0, - 0, 602, 689, 0, 0, -30, 5084, 3465, 3465, 4, - 4, 4, 4, 0, 640, 693, 5084, 0, 0, 10, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 695, - 611, 2607, 575, 0, 676, 0, 705, 707, 402, 658, - 572, 630, 0, 0, 5084, 0, 670, 714, 635, 646, - -30, 673, 0, 5084, 0, 3500, 0, 0, 718, 5084, - 5084, 0, 465, 5084, 748, 767, 503, 771, 750, 753, - 774, 775, 479, 0, 0, 0, 522, -22, 0, 0, - 0, 0, 0, 0, 0, 0, 784, -22, 770, 571, - 1223, 2644, 590, 0, 0, 0, 0, -30, 789, 0, - 791, 782, 575, 772, 305, 0, 2741, 5084, 5084, 575, - 0, 473, 507, 0, 0, 5084, 5084, 787, 467, 0, - 0, 792, 410, 0, 813, 815, -192, -18, -18, 0, - 777, 0, 16, -107, 0, 0, 590, 0, 0, 0, - 0, 0, 735, 5084, 465, 744, 0, 812, 2776, 747, - 834, 833, 514, 2873, 2908, 5084, 479, 756, 0, 626, - 0, 566, -22, 549, 572, -22, 849, 815, 850, -22, - 0, 0, 575, 0, 0, 0, 279, 3301, 0, 575, - 5084, 503, 0, 5084, 552, 5084, 503, 778, 3301, 0, - 575, 572, -143, -46, 0, 0, 0, 815, 566, 566, - 852, 773, 0, 0, 0, 279, 0, 0, 779, 836, - 0, 3037, 0, 3072, 529, 254, 783, 0, 0, 5084, - 0, 575, 0, -46, -46, 566, 0, 857, 780, 0, - 0, 0, 0, 5084, 843, 503, 0, 0, 0, 0, - 786, 254, 0, 0, 3169, 794, 0, 0, -46, -143, - 575, 866, 0, 0, 503, 5084, 851, 0, 0, 0, - 0, 0, 0, -112, 795, 503, 0, 3204, 575, -143, - 871, 0, 0, 575, 0, 0, 799, 0, 575, 804, - 0, + protected static $yySindex = array( -278, + 0, 0, -243, -86, 173, 1140, -243, 0, 29, 36, + 104, 0, -221, -221, 0, 0, 49, 0, 90, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 369, 0, + 1305, 0, 0, -86, -86, 0, -26, 131, 50, -187, + 85, 0, 0, 0, 0, 0, 0, 0, 50, 50, + 50, 0, 126, 0, 69, 187, 0, 226, 90, 1305, + -86, -86, -86, 188, 0, 209, 278, 0, -86, -86, + 564, 0, 0, 281, 37, 77, 37, 0, 0, 0, + 0, 0, 0, -86, 190, 0, 0, 0, 0, 0, + 303, 1, 0, 387, 310, 0, 355, -86, 119, -86, + 318, 119, 2402, 412, 643, 643, -184, 0, -219, 0, + 144, 432, 0, 375, 0, 0, 106, 0, 0, -86, + 401, 466, 0, 0, 403, 0, 5120, 5120, 5120, 5120, + 5120, 5120, 0, 5120, 641, 486, 0, 5157, 439, 157, + 3673, -35, 0, 525, 0, 0, 0, 0, 0, 0, + 481, 547, 0, 5120, 29, 0, 0, 0, 0, 541, + 0, -86, 162, 516, 355, 0, 0, 0, -86, 1187, + 354, 409, -98, -98, 65, -98, -98, -98, 162, 0, + 5120, 0, 5120, 366, -35, 432, 565, -54, 1537, -69, + 584, 593, 0, -73, 0, 5120, 5120, 5120, 5120, 5120, + 5120, 5120, 5120, 5120, 5120, 5120, 5120, 5120, 5120, 5120, + 5120, 2193, 5047, 4803, 5120, 4955, 5120, 5120, 5120, 5120, + 5120, 5120, 5120, -86, 5120, 0, 0, 162, 0, 0, + 0, 0, 0, 0, -35, -221, 5120, 0, 214, 599, + 0, 93, 0, 0, 1366, 0, 521, 394, 0, -84, + 0, 0, 0, 0, 557, 182, 0, 632, 375, -35, + 556, 560, 3673, 5120, 3673, 5061, 0, 0, 5120, 0, + -35, 565, 366, -73, 565, 366, -112, 3786, 3813, 3813, + 3813, 3813, 3813, 3813, 3813, 3813, 3813, 3813, 3813, 3673, + 633, 274, 301, 809, 5120, 180, 5120, 180, 5120, 5120, + 41, 41, 5120, 5120, 41, 41, -5, -5, 55, 55, + 55, 65, 0, -98, 22, 0, 5120, 5120, 0, 652, + 0, 636, 486, 0, 0, 0, 0, 0, 554, 437, + 531, 446, 244, 573, 671, 0, 354, 0, 5120, 0, + 5120, 141, 673, 554, 3673, 3673, 0, 0, 0, 0, + 594, 676, 0, 0, -35, 5120, 3813, 3813, 41, 41, + 41, 41, 0, 627, 682, 0, 0, 12, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 684, 605, 2780, + 554, 0, 672, 0, 692, 698, 207, 648, 565, 618, + 0, 0, 5120, 0, 238, 705, 625, 626, -35, 628, + 0, 5120, 0, 95, 0, 0, 5120, 5120, 0, 416, + 5120, 712, 718, 520, 720, 710, 714, 731, 738, 456, + 0, 0, 0, 739, -22, 0, 0, 0, 0, 0, + 0, 0, 0, 746, -22, 740, 519, 1722, 2807, 573, + 0, 0, 0, 0, -35, 757, 759, 742, 554, 761, + 444, 0, 2935, 5120, 5120, 554, 0, 442, 467, 0, + 0, 5120, 5120, 762, 459, 0, 0, 772, 349, 0, + 793, 791, -268, -17, -17, 0, 743, 0, -32, -90, + 0, 0, 573, 0, 0, 0, 0, 0, 713, 5120, + 416, 716, 0, 788, 2962, 723, 805, 811, 485, 3192, + 3234, 5120, 456, 730, 0, 597, 0, 537, -22, 528, + 565, -22, 818, 791, 824, -22, 0, 0, 554, 0, + 0, 0, 170, 3673, 0, 554, 5120, 520, 0, 5120, + 530, 5120, 520, 749, 3673, 0, 554, 565, -86, 92, + 0, 0, 0, 791, 537, 537, 837, 754, 0, 0, + 0, 170, 0, 0, 763, 825, 0, 3347, 0, 3374, + 518, 160, 766, 0, 0, 5120, 0, 554, 0, 92, + 92, 537, 0, 847, 770, 0, 0, 0, 0, 5120, + 839, 520, 0, 0, 0, 0, 774, 160, 0, 0, + 3401, 776, 0, 0, 92, -86, 554, 861, 0, 0, + 520, 5120, 851, 0, 0, 0, 0, 0, 0, -109, + 787, 520, 0, 3646, 554, -86, 870, 0, 0, 554, + 0, 0, 790, 0, 554, 796, 0, ); - protected static $yyRindex= array( 992, - 0, 0, 1213, 0, 0, 287, 1946, 0, 732, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + protected static $yyRindex= array( 966, + 0, 0, 1409, 0, 0, 408, 1868, 0, 750, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -37, 327, 0, 0, 74, 0, 430, + 658, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 759, -97, 807, -97, 0, 0, 0, - 0, 0, 0, 0, -34, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 808, 0, - 0, 808, 839, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 347, 0, 0, 0, 0, 0, 0, - 0, -25, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1788, 1624, 924, 893, 0, 0, - 478, 1490, 0, 526, 0, 0, 0, 0, 0, 0, - 0, 67, 0, 898, -33, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, - 817, 1063, 1922, 2012, 2311, 2050, 2087, 2177, 0, 0, - 0, 0, 0, 0, 1490, 5113, 1752, -19, 0, 0, - 0, -20, 0, 686, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 886, 0, 0, + 0, 0, 0, -36, 591, 0, 0, 105, 0, 786, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 924, -9, 804, -9, 0, 0, 0, + 0, 0, 0, 0, -28, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 807, 0, + 0, 807, 838, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 172, 0, 0, 0, 0, 0, 0, + 0, 135, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2097, 1973, 982, 891, 0, 0, + 575, 1700, 0, 48, 0, 0, 0, 0, 0, 0, + 0, -48, 0, 892, -27, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, + 812, 1135, 2208, 2235, 2709, 2305, 2507, 2544, 0, 0, + 0, 0, 0, 0, 1700, 5102, 2000, -40, 0, 0, + 0, -20, 0, 679, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 880, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1587, 0, 542, 0, 27, 0, - 0, 0, 0, 0, 212, 0, 1581, 0, 0, 0, - 0, 0, 0, 511, 0, 821, 0, 865, 0, 1490, - 867, 868, 69, 898, 389, 0, 0, 0, 0, 0, - 1490, -21, 0, 0, -21, 0, 0, 70, 91, 138, - 142, 343, 466, 653, 769, 855, 935, 1198, 1599, 563, - 0, 4430, 4300, 4523, 0, 4574, 0, 4598, 0, 0, - 47, 3970, 0, 0, 4024, 4061, 3888, 3931, 3635, 3763, - 3800, 2348, 0, 2221, 1363, 0, 870, 898, 0, 0, - 1187, 0, 0, 0, 0, 0, 0, 0, 0, 835, - 0, 108, 0, 0, 92, 0, 0, 0, 0, 898, - 0, 847, 0, 0, 835, 129, 83, 0, 0, 0, - 0, 0, 1325, 0, 0, 1490, 0, 1663, 1828, 4098, - 4190, 4357, 4486, 0, 0, 0, 898, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -36, 0, 0, 0, 0, 858, 0, 0, - 915, 0, 0, 0, 0, 0, -106, 0, 0, 0, - 1490, 0, 0, 898, 0, 4619, 0, 0, 0, 898, - 916, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 947, 0, 0, + 0, 0, 0, 0, 1801, 0, 1144, 0, 27, 0, + 0, 0, 0, 0, 71, 0, 751, 0, 0, 0, + 0, 0, 0, 473, 0, 814, 0, 849, 0, 1700, + 850, 855, 436, 892, 450, 0, 0, 0, 0, 0, + 1700, 6, 0, 0, 6, 0, 0, 347, -25, 5, + 46, 67, 311, 580, 677, 1090, 1221, 1440, 1574, 87, + 0, 696, 884, 4634, 0, 4705, 0, 4764, 0, 0, + 4102, 4118, 0, 0, 4305, 4373, 3978, 4075, 3840, 3882, + 3909, 2736, 0, 2634, 1579, 0, 856, 892, 0, 1371, + 0, 0, 0, 0, 0, 0, 0, 0, 823, 0, + 169, 0, 0, 11, 0, 0, 0, 0, 892, 0, + 827, 0, 0, 823, 1148, 103, 0, 0, 0, 0, + 0, 1469, 0, 0, 1700, 0, 1708, 1874, 4500, 4516, + 4540, 4608, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 212, 0, 1160, 0, 0, 0, 0, 1490, 0, 0, - 0, 0, 835, 476, 0, 0, 0, 931, 0, 835, + -15, 0, 0, 0, 0, 831, 0, 0, 896, 0, + 0, 0, 0, 0, -77, 0, 0, 0, 1700, 0, + 0, 892, 0, 1400, 0, 0, 892, 904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 81, 0, 0, 950, 0, 954, 954, 0, - 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, + 0, 0, 0, 0, 929, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 71, 0, 1313, + 0, 0, 0, 0, 1700, 0, 0, 0, 823, 501, + 0, 0, 0, 913, 0, 823, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, + 0, 932, 0, 933, 933, 0, 0, 0, 0, 0, + 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 611, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 142, 0, 0, + 125, 0, 0, 935, 0, 929, 0, 0, 823, 0, + 0, 0, 0, 544, 0, 823, 913, 0, 0, 0, + 0, 0, 0, 0, 549, 0, 823, 125, 0, 0, + 0, 0, 0, 938, 142, 142, 0, 0, 0, 0, + 0, 287, 0, 0, 0, 0, 0, 0, 0, 0, + 402, 863, 0, 0, 0, 0, 0, 823, 0, 0, + 0, 142, 0, 0, 0, 0, 0, 0, 0, 892, + 0, 0, 0, 0, 0, 0, 0, 866, 0, 0, + 0, 0, 0, 0, 0, 0, 823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 632, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -24, 0, 0, 81, 0, 0, 956, 0, 947, - 0, 0, 835, 0, 0, 0, 0, 485, 0, 835, - 931, 0, 0, 0, 0, 0, 0, 0, 486, 0, - 835, 81, 0, 0, 0, 0, 0, 957, -24, -24, - 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, - 0, 0, 0, 0, 378, 874, 0, 0, 0, 0, - 0, 835, 0, 0, 0, -24, 0, 0, 0, 0, - 0, 0, 0, 898, 0, 0, 0, 0, 0, 0, - 0, 875, 0, 0, 0, 0, 0, 0, 0, 0, - 835, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -13, 0, - 0, 0, 0, -13, 0, 0, 0, 0, 835, 0, - 0, + 0, 0, 0, 0, -8, 0, 0, 0, 0, -8, + 0, 0, 0, 0, 823, 0, 0, ); protected static $yyGindex= array(0, - 0, 0, 0, -4, 0, 0, 994, 634, 581, 106, - 996, -60, 0, 926, 904, -154, 0, 0, 0, 0, - -116, -340, 0, 0, 0, 4198, 0, 669, 0, 0, - 75, 2582, -27, 0, 0, -42, -413, 527, 531, 0, - -145, -216, 0, 488, 0, 0, 0, 0, 952, 955, - 0, 555, 0, 911, -149, -213, 785, 0, 60, -222, - 0, 0, 112, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 528, 515, - 0, 429, 0, 0, 0, 0, 0, 468, 469, 0, - 0, 0, 0, 0, 848, 860, 687, 0, 285, 0, - -48, 0, 846, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 755, 0, 0, 0, 798, 0, 806, - 0, 0, 0, 0, 0, 0, 0, 880, 0, 1015, + 0, 0, 0, -4, 0, 0, 973, 604, 678, 73, + 975, -60, 0, 915, 894, -156, 0, 0, 0, 0, + -116, -386, 0, 0, 0, 607, 0, 656, 0, 0, + 76, 457, -61, 0, 0, -62, -406, 517, 523, 0, + -121, -132, 0, 489, 0, 0, 0, 0, 946, 953, + 0, 452, 0, 905, -146, -10, 785, 0, 165, -211, + 0, 0, -42, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 539, 513, + 0, 433, 0, 0, 0, 0, 0, 487, 499, 0, + 0, 0, 0, 0, 873, 874, 717, 0, 334, 0, + 54, 0, 864, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 781, 0, 0, 0, 826, 0, 829, + 0, 0, 0, 0, 0, 0, 901, 0, 1036, ); protected static $yyTable = array(11, - 75, 76, 77, 167, 240, 97, 219, 219, 16, 232, - 219, 620, 571, 245, 322, 231, 50, 524, 39, 57, - 214, 13, 57, 104, 481, 26, 158, 111, 93, 47, - 48, 222, 59, 306, 101, 57, 220, 119, 320, 122, - 222, 221, 225, 52, 1, 220, 218, 225, 219, 413, - 221, 112, 246, 5, 225, 112, 74, 74, 74, 122, - 229, 36, 93, 93, 81, 82, 92, 164, 112, 182, - 233, 298, 112, 112, 522, 34, 572, 34, 34, 74, - 386, 60, 323, 324, 249, 353, 34, 249, 110, 69, - 249, 35, 74, 74, 365, 74, 55, 306, 101, 545, - 92, 92, 488, 12, 249, 249, 159, 249, 122, 249, - 206, 109, 235, 206, 344, 74, 9, 71, 258, 233, - 225, 57, 10, 58, 57, 354, 58, 206, 206, 225, - 126, 207, 412, 188, 207, 32, 268, 514, 523, 249, - 249, 58, 10, 15, 54, 39, 526, 515, 207, 207, - 32, 233, 483, 308, 65, 54, 54, 241, 74, 230, - 74, 235, 206, 313, 74, 355, 71, 17, 366, 211, - 249, 249, 211, 57, 74, 58, 56, 141, 237, 308, - 164, 237, 238, 207, 397, 238, 211, 211, 452, 74, - 398, 230, 399, 235, 206, 237, 237, 40, 17, 238, - 238, 173, 174, 175, 176, 177, 178, 16, 180, 160, - 570, 341, 189, 26, 34, 207, 32, 409, 112, 74, - 9, 211, 348, 74, 9, 308, 51, 621, 141, 105, - 237, 306, 101, 224, 238, 57, 214, 9, 441, 70, - 224, 9, 9, 68, 349, 74, 10, 228, 110, 91, - 10, 109, 228, 211, 449, 263, 71, 265, 12, 228, - 451, 12, 237, 10, 518, 518, 238, 10, 10, 74, - 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 292, 293, 294, 296, 298, 301, 302, - 305, 306, 307, 308, 309, 310, 311, 312, 15, 314, - 275, 15, 548, 249, 222, 211, 224, 405, 498, 220, - 218, 290, 219, 516, 221, 224, 272, 473, 226, 227, - 298, 473, 83, 226, 227, 228, 206, 214, 78, 216, - 226, 227, 323, 324, 228, 79, 110, 110, 141, 58, - 346, 321, 223, 347, 168, 496, 168, 207, 495, 388, - 165, 168, 446, 309, 168, 195, 168, 597, 598, 109, - 109, 210, 16, 439, 80, 16, 17, 17, 166, 358, - 17, 359, 16, 360, 361, 17, 17, 362, 363, 364, - 49, 560, 612, 239, 472, 211, 239, 332, 97, 230, - 304, 290, 141, 225, 237, 98, 226, 227, 238, 489, - 239, 239, 168, 574, 575, 226, 227, 164, 304, 389, - 157, 100, 157, 10, 141, 223, 141, 157, 106, 17, - 157, 390, 157, 74, 223, 338, 569, 17, 107, 391, - 599, 406, 236, 74, 602, 239, 168, 168, 435, 17, - 339, 141, 426, 433, 431, 511, 432, 17, 434, 12, - 249, 249, 249, 249, 249, 510, 108, 249, 249, 333, - 249, 249, 249, 249, 249, 249, 120, 239, 157, 442, - 269, 308, 13, 74, 74, 14, 461, 164, 141, 328, - 182, 236, 122, 206, 141, 290, 34, 547, 457, 15, - 124, 85, 86, 87, 88, 89, 90, 308, 181, 43, - 44, 45, 157, 157, 207, 207, 240, 508, 74, 240, - 507, 74, 19, 236, 568, 74, 140, 10, 174, 140, - 308, 174, 309, 240, 240, 141, 144, 436, 141, 144, - 154, 91, 141, 499, 162, 129, 174, 139, 74, 613, - 504, 505, 138, 308, 163, 127, 249, 128, 309, 164, - 46, 237, 237, 16, 44, 238, 238, 350, 240, 626, - 352, 168, 309, 309, 309, 171, 173, 169, 528, 44, - 174, 168, 168, 168, 168, 168, 168, 84, 183, 224, - 539, 195, 176, 194, 173, 176, 308, 308, 308, 237, - 240, 461, 238, 83, 309, 74, 461, 168, 228, 239, - 176, 239, 174, 177, 105, 141, 177, 129, 562, 139, - 564, 243, 83, 254, 138, 74, 266, 127, 173, 128, - 177, 177, 553, 554, 168, 460, 589, 590, 130, 64, - 66, 67, 269, 44, 176, 44, 273, 157, 157, 157, - 157, 157, 157, 561, 595, 461, 37, 38, 565, 274, - 173, 168, 168, 168, 168, 177, 327, 168, 141, 156, - 157, 330, 331, 157, 461, 83, 176, 217, 215, 226, - 227, 168, 168, 168, 168, 461, 168, 168, 212, 213, - 618, 168, 168, 168, 168, 168, 337, 177, 223, 308, - 157, 340, 342, 241, 357, 343, 241, 604, 368, 181, - 130, 20, 21, 22, 247, 24, 25, 385, 26, 387, - 241, 241, 393, 168, 168, 308, 617, 157, 157, 157, - 157, 395, 240, 157, 27, 401, 403, 623, 404, 308, - 308, 308, 407, 408, 423, 424, 427, 157, 157, 157, - 157, 168, 157, 157, 429, 241, 430, 157, 438, 157, - 157, 157, 440, 83, 443, 248, 239, 239, 450, 444, - 19, 308, 172, 86, 87, 88, 89, 90, 17, 17, - 445, 17, 17, 17, 17, 17, 17, 241, 17, 157, - 157, 471, 86, 87, 88, 89, 90, 458, 10, 17, - 17, 17, 17, 17, 17, 298, 298, 447, 298, 298, - 298, 298, 298, 298, 454, 298, 459, 157, 464, 243, - 463, 465, 243, 466, 467, 134, 298, 298, 468, 298, - 298, 298, 17, 480, 17, 17, 243, 243, 482, 490, - 483, 491, 494, 501, 172, 86, 87, 88, 89, 90, - 492, 19, 137, 369, 370, 371, 502, 506, 133, 298, - 509, 298, 298, 512, 17, 17, 17, 17, 513, 527, - 10, 243, 372, 373, 374, 375, 530, 376, 377, 521, - 531, 533, 378, 534, 379, 329, 535, 536, 541, 240, - 240, 298, 298, 298, 298, 542, 543, 134, 546, 549, - 550, 563, 576, 243, 584, 242, 600, 577, 242, 587, - 566, 603, 601, 583, 131, 132, 616, 594, 619, 241, - 608, 627, 242, 242, 137, 369, 370, 371, 611, 622, - 133, 629, 155, 86, 87, 88, 89, 90, 631, 30, - 28, 172, 380, 213, 372, 373, 374, 375, 172, 376, - 377, 41, 213, 176, 378, 40, 379, 242, 10, 20, - 21, 22, 247, 24, 25, 295, 26, 296, 297, 109, - 187, 187, 176, 187, 187, 187, 187, 187, 187, 187, - 187, 172, 27, 57, 176, 244, 131, 132, 244, 242, - 51, 187, 187, 187, 187, 187, 187, 91, 17, 172, - 92, 17, 244, 244, 88, 145, 90, 89, 147, 148, - 33, 29, 102, 248, 380, 125, 396, 551, 84, 519, - 525, 73, 316, 72, 187, 298, 187, 187, 298, 161, - 609, 540, 529, 581, 582, 243, 261, 244, 351, 400, - 20, 21, 22, 247, 24, 25, 325, 26, 262, 276, - 319, 17, 17, 17, 244, 46, 0, 187, 187, 187, - 0, 17, 0, 27, 0, 0, 0, 0, 0, 244, - 0, 17, 17, 17, 0, 0, 241, 241, 298, 298, - 298, 17, 20, 21, 22, 23, 24, 25, 298, 26, - 0, 0, 2, 0, 248, 0, 0, 0, 298, 298, - 298, 0, 0, 0, 0, 27, 0, 0, 298, 219, - 219, 0, 0, 219, 219, 219, 219, 219, 19, 219, - 0, 242, 0, 0, 0, 0, 0, 0, 0, 0, - 219, 219, 17, 219, 219, 219, 0, 0, 0, 0, - 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, - 0, 17, 17, 17, 0, 17, 17, 17, 17, 17, - 17, 0, 17, 17, 0, 219, 219, 0, 298, 298, - 298, 298, 298, 298, 298, 298, 298, 0, 0, 298, - 298, 0, 298, 298, 298, 298, 298, 298, 0, 298, - 185, 0, 243, 243, 0, 0, 219, 219, 219, 0, - 0, 244, 0, 0, 0, 0, 32, 32, 0, 32, - 32, 32, 32, 32, 32, 32, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 32, 32, 32, - 32, 32, 32, 283, 283, 0, 0, 283, 283, 283, - 283, 283, 283, 283, 0, 187, 0, 0, 245, 0, - 0, 245, 0, 0, 283, 283, 283, 283, 283, 283, - 32, 0, 32, 32, 187, 245, 245, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 242, 242, - 0, 2, 2, 2, 2, 2, 2, 283, 2, 283, - 283, 0, 0, 32, 32, 32, 0, 0, 0, 0, - 245, 2, 2, 2, 0, 2, 0, 20, 21, 22, - 23, 24, 25, 5, 26, 0, 0, 0, 0, 0, - 283, 283, 283, 19, 0, 0, 0, 0, 0, 219, - 27, 0, 245, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 0, 0, 187, 187, 0, 187, 187, 187, - 187, 187, 187, 187, 187, 0, 0, 486, 244, 244, + 75, 76, 77, 167, 232, 97, 112, 240, 93, 16, + 231, 245, 219, 219, 616, 207, 219, 112, 207, 50, + 214, 164, 13, 104, 1, 321, 518, 225, 477, 47, + 48, 222, 207, 207, 520, 57, 220, 119, 12, 122, + 160, 221, 93, 93, 230, 237, 57, 39, 237, 57, + 296, 410, 246, 484, 32, 229, 74, 74, 74, 122, + 5, 510, 237, 237, 81, 82, 92, 207, 112, 32, + 233, 511, 55, 112, 34, 158, 230, 222, 15, 74, + 91, 35, 220, 218, 363, 219, 238, 221, 173, 238, + 519, 52, 74, 74, 39, 74, 522, 237, 10, 207, + 92, 92, 541, 238, 238, 364, 173, 239, 122, 110, + 239, 54, 164, 26, 34, 74, 109, 343, 258, 233, + 225, 65, 54, 54, 239, 239, 69, 177, 59, 237, + 177, 222, 211, 188, 409, 32, 220, 218, 238, 219, + 173, 221, 16, 58, 177, 177, 58, 352, 71, 165, + 567, 233, 56, 40, 214, 159, 216, 241, 74, 239, + 74, 58, 36, 313, 74, 57, 225, 166, 57, 479, + 238, 365, 173, 9, 74, 331, 51, 60, 141, 177, + 225, 395, 306, 164, 68, 327, 9, 353, 210, 74, + 225, 239, 396, 304, 397, 58, 448, 71, 126, 10, + 101, 10, 173, 174, 175, 176, 177, 178, 306, 180, + 348, 177, 10, 189, 568, 302, 222, 57, 209, 74, + 225, 220, 218, 74, 219, 337, 221, 354, 17, 141, + 617, 207, 228, 302, 438, 34, 214, 9, 268, 214, + 338, 216, 9, 432, 70, 74, 78, 332, 430, 428, + 105, 429, 112, 431, 306, 446, 263, 304, 265, 17, + 447, 237, 57, 10, 101, 71, 275, 79, 10, 74, + 272, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 292, 293, 294, 296, 298, 301, + 302, 305, 306, 307, 308, 309, 310, 311, 312, 296, + 314, 26, 238, 226, 227, 225, 224, 494, 320, 12, + 222, 211, 290, 340, 512, 220, 218, 469, 219, 168, + 221, 168, 469, 239, 347, 228, 168, 436, 19, 168, + 306, 168, 433, 214, 164, 216, 80, 222, 211, 141, + 97, 345, 220, 218, 346, 219, 98, 221, 566, 15, + 110, 240, 224, 109, 240, 195, 306, 110, 110, 58, + 214, 468, 216, 106, 109, 109, 224, 210, 240, 240, + 357, 228, 358, 16, 359, 360, 224, 168, 361, 362, + 556, 17, 17, 49, 230, 228, 100, 206, 207, 207, + 206, 304, 290, 141, 506, 228, 226, 227, 101, 225, + 322, 323, 306, 240, 206, 206, 224, 507, 403, 269, + 107, 168, 168, 16, 141, 223, 141, 111, 237, 237, + 74, 9, 565, 570, 571, 228, 225, 108, 17, 120, + 74, 404, 12, 598, 157, 240, 157, 593, 594, 206, + 124, 157, 226, 227, 157, 112, 157, 10, 182, 543, + 595, 154, 443, 162, 34, 13, 226, 227, 14, 238, + 238, 223, 608, 514, 514, 164, 226, 227, 439, 74, + 74, 206, 15, 322, 323, 223, 564, 141, 122, 235, + 239, 239, 141, 290, 492, 557, 453, 491, 17, 163, + 561, 224, 157, 236, 217, 215, 226, 227, 485, 504, + 17, 544, 503, 386, 74, 212, 213, 74, 17, 169, + 228, 74, 46, 549, 550, 223, 44, 20, 21, 22, + 247, 24, 25, 168, 26, 171, 157, 157, 235, 141, + 495, 44, 585, 586, 74, 609, 16, 500, 501, 600, + 27, 140, 236, 183, 140, 423, 168, 168, 168, 168, + 168, 168, 129, 114, 139, 622, 156, 157, 613, 138, + 235, 194, 127, 387, 128, 524, 195, 240, 237, 619, + 384, 248, 168, 238, 236, 388, 34, 535, 457, 217, + 215, 226, 227, 389, 141, 224, 129, 141, 139, 144, + 239, 74, 144, 138, 190, 44, 127, 44, 128, 168, + 223, 105, 141, 206, 228, 558, 349, 560, 243, 351, + 83, 74, 224, 254, 9, 174, 37, 38, 174, 242, + 241, 114, 266, 241, 273, 269, 168, 168, 168, 168, + 17, 228, 168, 174, 17, 259, 274, 241, 241, 326, + 10, 591, 456, 329, 83, 130, 168, 168, 168, 168, + 190, 168, 168, 330, 83, 141, 168, 168, 168, 168, + 168, 157, 157, 157, 157, 157, 157, 174, 43, 44, + 45, 339, 241, 217, 215, 226, 227, 614, 341, 130, + 182, 336, 342, 17, 212, 213, 34, 157, 168, 168, + 356, 366, 457, 181, 223, 391, 383, 457, 181, 174, + 217, 215, 226, 227, 241, 385, 333, 306, 306, 306, + 393, 212, 213, 399, 157, 402, 168, 243, 401, 405, + 243, 223, 406, 420, 240, 240, 64, 66, 67, 421, + 190, 426, 424, 83, 243, 243, 263, 427, 435, 263, + 437, 157, 157, 157, 157, 440, 457, 157, 307, 441, + 442, 454, 444, 263, 263, 450, 263, 455, 263, 459, + 206, 157, 157, 157, 157, 457, 157, 157, 460, 243, + 462, 157, 461, 157, 157, 157, 457, 463, 479, 172, + 86, 87, 88, 89, 90, 476, 17, 17, 263, 17, + 17, 17, 17, 17, 17, 464, 17, 486, 478, 487, + 488, 243, 497, 157, 157, 10, 498, 17, 17, 17, + 17, 17, 17, 172, 86, 87, 88, 89, 90, 263, + 263, 490, 502, 85, 86, 87, 88, 89, 90, 83, + 505, 157, 134, 508, 509, 517, 241, 523, 526, 10, + 17, 314, 17, 17, 530, 222, 527, 529, 532, 10, + 220, 218, 537, 219, 531, 221, 538, 539, 545, 137, + 367, 368, 369, 91, 546, 133, 134, 542, 214, 559, + 216, 562, 17, 17, 17, 17, 306, 572, 573, 370, + 371, 372, 373, 580, 374, 375, 596, 579, 583, 376, + 590, 377, 597, 137, 367, 368, 369, 599, 604, 133, + 607, 612, 155, 86, 87, 88, 89, 90, 615, 84, + 623, 618, 625, 370, 371, 372, 373, 307, 374, 375, + 627, 131, 132, 376, 265, 377, 30, 265, 10, 28, + 172, 213, 172, 243, 225, 213, 41, 176, 40, 293, + 294, 265, 265, 307, 265, 295, 265, 109, 176, 378, + 400, 172, 263, 51, 57, 131, 132, 307, 307, 307, + 296, 296, 176, 296, 296, 296, 296, 296, 296, 91, + 296, 172, 92, 88, 145, 90, 265, 265, 89, 33, + 29, 296, 296, 378, 296, 296, 296, 147, 84, 307, + 148, 102, 394, 241, 241, 125, 521, 515, 467, 86, + 87, 88, 89, 90, 547, 73, 17, 265, 265, 17, + 314, 72, 316, 161, 296, 536, 296, 296, 187, 187, + 605, 187, 187, 187, 187, 187, 187, 187, 187, 525, + 314, 314, 314, 314, 314, 314, 314, 314, 577, 187, + 187, 187, 187, 187, 187, 306, 296, 296, 296, 296, + 578, 261, 262, 314, 350, 489, 2, 276, 398, 17, + 17, 17, 496, 319, 324, 244, 46, 0, 0, 17, + 0, 306, 187, 0, 187, 187, 0, 0, 0, 17, + 17, 17, 314, 0, 0, 306, 306, 306, 0, 17, + 243, 243, 0, 0, 0, 0, 0, 0, 0, 263, + 263, 263, 263, 263, 0, 187, 187, 187, 0, 263, + 263, 263, 263, 263, 263, 0, 0, 306, 0, 0, + 224, 0, 0, 0, 0, 548, 0, 0, 0, 0, + 242, 0, 555, 242, 0, 0, 0, 0, 0, 228, + 265, 0, 0, 563, 0, 0, 0, 242, 242, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 0, 17, + 17, 17, 0, 17, 17, 17, 17, 17, 17, 0, + 17, 219, 219, 0, 592, 219, 219, 219, 219, 219, + 296, 219, 242, 296, 176, 0, 0, 176, 211, 0, + 0, 211, 219, 219, 17, 219, 219, 219, 0, 0, + 0, 0, 176, 611, 0, 211, 211, 0, 217, 215, + 226, 227, 0, 0, 242, 0, 0, 0, 0, 212, + 213, 621, 0, 0, 0, 17, 624, 219, 219, 223, + 19, 626, 0, 296, 296, 296, 176, 0, 185, 0, + 211, 0, 0, 296, 0, 2, 2, 2, 2, 2, + 2, 0, 2, 296, 296, 296, 0, 0, 219, 219, + 219, 244, 0, 296, 244, 2, 2, 2, 176, 2, + 0, 0, 211, 0, 0, 0, 0, 19, 244, 244, + 0, 0, 0, 0, 0, 0, 0, 265, 265, 265, + 265, 265, 0, 187, 0, 0, 0, 265, 265, 265, + 265, 265, 265, 0, 0, 0, 0, 0, 0, 0, + 0, 249, 187, 244, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 296, 296, 296, 296, 296, 296, 296, + 296, 296, 0, 0, 296, 296, 0, 296, 296, 296, + 296, 296, 296, 0, 296, 244, 242, 0, 0, 32, + 32, 0, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 183, 183, 0, 0, 183, 183, 183, 183, 183, - 183, 183, 0, 0, 219, 0, 0, 0, 0, 0, - 0, 0, 183, 183, 183, 183, 183, 183, 0, 0, - 0, 0, 0, 219, 0, 0, 0, 0, 0, 99, - 99, 0, 17, 99, 99, 99, 99, 99, 0, 99, - 0, 0, 0, 0, 0, 183, 32, 183, 183, 0, - 99, 99, 99, 99, 99, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 283, 0, 0, 0, 0, 183, 183, - 183, 0, 0, 0, 245, 99, 99, 0, 0, 0, - 0, 0, 219, 219, 219, 219, 219, 219, 219, 219, - 219, 32, 17, 219, 219, 0, 219, 219, 219, 219, - 219, 219, 219, 219, 0, 0, 99, 99, 99, 0, - 32, 0, 5, 5, 5, 5, 5, 5, 283, 5, - 0, 0, 20, 21, 22, 247, 24, 25, 0, 26, - 0, 0, 5, 5, 5, 5, 0, 283, 0, 0, - 0, 0, 0, 0, 0, 27, 277, 277, 0, 0, - 277, 277, 277, 277, 277, 0, 277, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 277, 277, 277, - 277, 277, 277, 0, 0, 0, 248, 0, 0, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, - 32, 32, 0, 32, 32, 32, 32, 32, 32, 32, - 32, 183, 277, 277, 0, 0, 283, 283, 283, 283, - 283, 283, 283, 283, 283, 0, 0, 283, 283, 0, - 283, 283, 283, 283, 283, 283, 283, 283, 0, 0, - 0, 245, 245, 277, 277, 277, 0, 0, 0, 99, - 0, 0, 0, 279, 279, 0, 0, 279, 279, 279, - 279, 279, 0, 279, 0, 0, 183, 0, 0, 246, - 0, 0, 246, 0, 279, 279, 279, 279, 279, 279, - 0, 0, 0, 0, 0, 183, 246, 246, 0, 0, - 226, 226, 0, 226, 0, 226, 226, 226, 226, 226, - 226, 316, 0, 0, 99, 0, 0, 0, 0, 279, - 279, 0, 0, 226, 226, 226, 226, 0, 0, 0, - 0, 246, 99, 99, 0, 0, 0, 0, 0, 0, - 0, 0, 99, 255, 0, 0, 255, 0, 0, 0, - 279, 279, 279, 0, 226, 0, 226, 226, 0, 0, - 255, 255, 0, 246, 183, 183, 183, 183, 183, 183, - 183, 183, 183, 0, 0, 183, 183, 0, 183, 183, - 183, 183, 183, 183, 183, 183, 277, 226, 0, 226, - 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, - 0, 0, 99, 99, 99, 99, 99, 99, 99, 99, - 99, 0, 0, 99, 99, 0, 99, 99, 99, 99, - 99, 99, 0, 99, 0, 0, 0, 255, 187, 187, - 0, 187, 57, 187, 187, 57, 187, 187, 187, 0, - 0, 277, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 187, 0, 187, 187, 0, 0, 0, 0, 0, - 277, 0, 0, 0, 219, 219, 0, 0, 0, 219, - 219, 219, 219, 0, 219, 0, 0, 0, 0, 0, - 316, 0, 187, 279, 0, 187, 0, 219, 219, 219, - 219, 0, 0, 0, 0, 246, 0, 0, 0, 0, - 316, 316, 316, 316, 316, 316, 316, 316, 256, 0, - 0, 256, 0, 0, 0, 187, 0, 187, 219, 0, - 219, 219, 0, 316, 0, 256, 256, 0, 0, 277, - 277, 277, 277, 277, 277, 277, 277, 277, 279, 0, - 277, 277, 0, 277, 277, 277, 277, 277, 277, 0, - 277, 219, 316, 219, 0, 0, 0, 279, 0, 255, - 256, 222, 211, 0, 0, 0, 220, 218, 0, 219, - 0, 221, 0, 0, 0, 226, 0, 0, 0, 0, - 0, 0, 0, 0, 214, 0, 216, 0, 0, 0, - 0, 0, 256, 0, 226, 0, 0, 0, 271, 271, - 0, 0, 271, 271, 271, 271, 271, 0, 271, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 271, - 271, 271, 271, 271, 271, 0, 279, 279, 279, 279, - 279, 279, 279, 279, 279, 0, 0, 279, 279, 0, - 279, 279, 279, 279, 279, 279, 0, 279, 185, 0, - 225, 0, 246, 246, 271, 271, 0, 0, 0, 0, - 0, 0, 0, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 0, 0, 226, 226, 6, 226, 226, 226, - 226, 226, 226, 226, 226, 271, 271, 0, 272, 272, - 0, 0, 272, 272, 272, 272, 272, 0, 272, 0, - 0, 0, 0, 187, 0, 0, 0, 0, 0, 272, - 272, 272, 272, 272, 272, 0, 255, 255, 0, 0, - 0, 0, 187, 0, 256, 0, 270, 270, 0, 0, - 270, 270, 270, 270, 270, 0, 270, 0, 0, 219, - 0, 0, 0, 0, 272, 272, 0, 270, 270, 270, - 270, 270, 270, 0, 0, 0, 0, 0, 219, 0, - 0, 0, 0, 273, 273, 0, 0, 273, 273, 273, - 273, 273, 0, 273, 0, 272, 272, 0, 0, 0, - 0, 0, 270, 270, 273, 273, 273, 273, 273, 273, + 32, 32, 32, 32, 32, 32, 0, 0, 0, 0, 0, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 0, 0, 187, 187, 0, 187, 187, 187, 187, 187, - 187, 187, 187, 270, 270, 0, 0, 0, 271, 273, - 273, 0, 0, 0, 0, 0, 0, 219, 219, 219, - 219, 219, 219, 219, 219, 219, 224, 17, 219, 219, - 0, 219, 219, 219, 219, 219, 219, 219, 219, 0, - 273, 273, 0, 274, 274, 228, 0, 274, 274, 274, - 274, 274, 0, 274, 0, 6, 6, 6, 6, 6, - 6, 0, 6, 271, 274, 274, 274, 274, 274, 274, - 0, 256, 256, 0, 0, 6, 6, 6, 6, 0, - 0, 0, 0, 0, 0, 0, 0, 262, 262, 0, - 0, 262, 262, 262, 262, 262, 0, 262, 272, 274, - 274, 0, 0, 0, 0, 0, 0, 0, 262, 262, - 262, 262, 262, 262, 217, 215, 226, 227, 0, 0, - 0, 0, 0, 0, 0, 212, 213, 0, 0, 0, - 274, 274, 0, 0, 0, 223, 270, 0, 0, 0, - 0, 0, 0, 262, 262, 0, 0, 0, 0, 0, - 0, 271, 271, 272, 0, 271, 271, 271, 271, 271, - 0, 0, 271, 271, 0, 271, 271, 271, 271, 271, - 271, 0, 271, 273, 262, 262, 0, 269, 269, 0, - 0, 269, 269, 269, 269, 269, 0, 269, 0, 0, - 0, 270, 0, 0, 0, 0, 0, 0, 269, 269, - 269, 269, 269, 269, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 268, 268, 0, 0, 268, 268, - 268, 268, 268, 0, 268, 0, 0, 0, 273, 0, - 0, 0, 0, 269, 269, 268, 268, 268, 268, 268, - 268, 272, 272, 0, 0, 272, 272, 272, 272, 272, - 0, 0, 272, 272, 0, 272, 272, 272, 272, 272, - 272, 0, 272, 274, 269, 269, 0, 0, 0, 0, - 268, 268, 0, 0, 0, 0, 0, 0, 0, 270, - 270, 0, 0, 270, 270, 270, 270, 270, 0, 0, - 270, 270, 0, 270, 270, 270, 270, 270, 270, 0, - 270, 268, 268, 0, 0, 0, 0, 262, 0, 0, - 0, 0, 0, 0, 0, 0, 273, 273, 274, 0, + 0, 219, 187, 187, 0, 187, 187, 187, 187, 187, + 187, 187, 187, 32, 211, 32, 32, 283, 283, 0, + 0, 283, 283, 283, 283, 283, 283, 283, 0, 20, + 21, 22, 23, 24, 25, 0, 26, 0, 283, 283, + 283, 283, 283, 283, 0, 0, 32, 32, 32, 0, + 205, 0, 27, 205, 0, 0, 219, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 19, 205, 205, 0, + 205, 283, 205, 283, 283, 219, 20, 21, 22, 247, + 24, 25, 0, 26, 17, 0, 0, 244, 0, 0, + 245, 0, 0, 245, 0, 0, 0, 0, 0, 27, + 328, 0, 205, 0, 283, 283, 283, 245, 245, 5, + 0, 0, 0, 242, 242, 183, 183, 0, 0, 183, + 183, 183, 183, 183, 183, 183, 0, 0, 0, 0, + 248, 0, 0, 0, 205, 0, 183, 183, 183, 183, + 183, 183, 245, 0, 219, 219, 219, 219, 219, 219, + 219, 219, 219, 0, 17, 219, 219, 0, 219, 219, + 219, 219, 219, 219, 219, 219, 0, 0, 0, 183, + 0, 183, 183, 0, 245, 0, 0, 0, 0, 32, + 0, 0, 0, 222, 211, 0, 0, 271, 220, 218, + 0, 219, 0, 221, 20, 21, 22, 23, 24, 25, + 0, 26, 183, 183, 183, 0, 214, 198, 216, 208, + 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, + 0, 0, 0, 0, 246, 99, 99, 246, 0, 99, + 99, 99, 99, 99, 32, 99, 0, 283, 0, 0, + 210, 246, 246, 0, 244, 244, 99, 99, 99, 99, + 99, 0, 0, 32, 0, 20, 21, 22, 247, 24, + 25, 0, 26, 0, 0, 0, 205, 0, 0, 0, + 209, 0, 225, 0, 0, 0, 246, 0, 27, 0, + 0, 99, 99, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 283, 0, 0, 0, 0, 0, 5, 5, + 5, 5, 5, 5, 0, 5, 245, 0, 246, 248, + 0, 283, 99, 99, 99, 0, 0, 0, 5, 5, + 5, 5, 32, 32, 32, 32, 32, 32, 32, 32, + 32, 0, 0, 32, 32, 183, 32, 32, 32, 32, + 32, 32, 32, 32, 0, 0, 277, 277, 0, 0, + 277, 277, 277, 277, 277, 0, 277, 0, 255, 0, + 0, 255, 0, 0, 0, 0, 0, 277, 277, 277, + 277, 277, 277, 0, 0, 255, 255, 0, 0, 0, + 283, 283, 283, 283, 283, 283, 283, 283, 283, 0, + 183, 283, 283, 0, 283, 283, 283, 283, 283, 283, + 283, 283, 277, 277, 0, 0, 0, 0, 0, 183, + 255, 0, 0, 205, 205, 205, 205, 205, 0, 0, + 0, 0, 19, 205, 205, 205, 205, 205, 205, 0, + 0, 0, 0, 277, 277, 277, 0, 0, 0, 0, + 246, 0, 255, 0, 0, 99, 0, 279, 279, 0, + 0, 279, 279, 279, 279, 279, 482, 279, 224, 0, + 0, 0, 0, 245, 245, 0, 0, 0, 279, 279, + 279, 279, 279, 279, 0, 0, 0, 228, 183, 183, + 183, 183, 183, 183, 183, 183, 183, 0, 0, 183, + 183, 0, 183, 183, 183, 183, 183, 183, 183, 183, + 99, 0, 0, 279, 279, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 99, 99, + 0, 0, 0, 0, 256, 0, 0, 256, 99, 0, + 0, 0, 0, 0, 279, 279, 279, 0, 0, 0, + 0, 256, 256, 0, 0, 0, 217, 215, 226, 227, + 199, 200, 201, 202, 204, 0, 0, 212, 213, 0, + 196, 197, 203, 206, 205, 207, 277, 223, 6, 0, + 0, 0, 0, 0, 255, 0, 256, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 246, 246, 99, + 99, 0, 99, 99, 99, 99, 99, 99, 256, 99, + 0, 20, 21, 22, 247, 24, 25, 0, 26, 226, + 226, 277, 226, 0, 226, 226, 226, 226, 226, 226, + 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, + 277, 0, 226, 226, 226, 226, 187, 187, 0, 187, + 57, 187, 187, 57, 187, 187, 187, 0, 0, 0, + 0, 0, 0, 0, 0, 248, 0, 279, 0, 187, + 0, 187, 187, 226, 0, 226, 226, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 187, 0, 0, 187, 0, 0, 226, 0, 226, 277, + 277, 277, 277, 277, 277, 277, 277, 277, 0, 0, + 277, 277, 279, 277, 277, 277, 277, 277, 277, 0, + 277, 255, 255, 187, 0, 187, 0, 0, 0, 0, + 256, 279, 0, 219, 219, 0, 0, 0, 219, 219, + 219, 219, 0, 219, 0, 0, 0, 6, 6, 6, + 6, 6, 6, 0, 6, 0, 219, 219, 219, 219, + 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, + 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 219, 0, 219, + 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 279, 279, 279, 279, 279, 279, 279, 279, 279, 0, + 0, 279, 279, 0, 279, 279, 279, 279, 279, 279, + 219, 279, 219, 0, 0, 129, 0, 139, 0, 0, + 0, 0, 138, 0, 0, 127, 0, 128, 0, 0, + 0, 0, 0, 0, 271, 271, 0, 0, 271, 271, + 271, 271, 271, 295, 271, 0, 185, 0, 0, 0, + 0, 0, 0, 0, 0, 271, 271, 271, 271, 271, + 271, 272, 272, 0, 0, 272, 272, 272, 272, 272, + 0, 272, 0, 83, 226, 0, 0, 256, 256, 0, + 0, 0, 272, 272, 272, 272, 272, 272, 0, 0, + 271, 271, 0, 226, 0, 0, 0, 0, 0, 0, + 0, 187, 0, 0, 0, 0, 0, 0, 130, 0, + 0, 0, 0, 0, 0, 0, 0, 272, 272, 0, + 187, 271, 271, 0, 0, 0, 0, 0, 0, 0, + 0, 270, 270, 0, 0, 270, 270, 270, 270, 270, + 0, 270, 0, 0, 0, 0, 0, 0, 272, 272, + 0, 0, 270, 270, 270, 270, 270, 270, 0, 0, + 0, 0, 226, 226, 226, 226, 226, 226, 226, 226, + 226, 0, 0, 226, 226, 0, 226, 226, 226, 226, + 226, 226, 226, 226, 0, 0, 0, 270, 270, 187, + 187, 187, 187, 187, 187, 187, 187, 187, 219, 0, + 187, 187, 0, 187, 187, 187, 187, 187, 187, 187, + 187, 0, 0, 0, 0, 0, 0, 219, 270, 270, + 0, 0, 0, 0, 129, 0, 139, 0, 0, 0, + 0, 138, 0, 0, 127, 0, 128, 0, 0, 0, + 0, 0, 172, 86, 87, 88, 89, 90, 0, 126, + 0, 0, 0, 0, 271, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 272, 83, 0, 0, 0, 219, 219, 219, 219, + 219, 219, 219, 219, 219, 134, 17, 219, 219, 0, + 219, 219, 219, 219, 219, 219, 219, 219, 0, 271, + 0, 0, 0, 0, 0, 0, 0, 130, 0, 0, + 0, 0, 137, 0, 0, 0, 0, 0, 133, 0, + 0, 0, 0, 273, 273, 0, 272, 273, 273, 273, + 273, 273, 0, 273, 0, 0, 0, 0, 0, 0, + 0, 270, 0, 0, 273, 273, 273, 273, 273, 273, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 274, 274, 0, 0, 274, 274, 274, 274, 274, 0, + 274, 0, 0, 0, 131, 132, 0, 0, 0, 273, + 273, 274, 274, 274, 274, 274, 274, 271, 271, 0, + 0, 271, 271, 271, 271, 271, 270, 0, 271, 271, + 0, 271, 271, 271, 271, 271, 271, 0, 271, 0, + 273, 273, 0, 0, 272, 272, 274, 274, 272, 272, + 272, 272, 272, 0, 0, 272, 272, 0, 272, 272, + 272, 272, 272, 272, 0, 272, 0, 0, 0, 0, + 0, 135, 136, 87, 88, 89, 90, 274, 274, 0, + 262, 262, 0, 0, 262, 262, 262, 262, 262, 0, + 262, 0, 0, 0, 0, 0, 0, 10, 0, 0, + 0, 262, 262, 262, 262, 262, 262, 0, 0, 0, + 0, 0, 0, 0, 270, 270, 0, 0, 270, 270, + 270, 270, 270, 0, 134, 270, 270, 0, 270, 270, + 270, 270, 270, 270, 0, 270, 262, 262, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 137, 0, 0, 0, 269, 269, 133, 0, 269, + 269, 269, 269, 269, 0, 269, 0, 262, 262, 0, + 0, 0, 0, 273, 0, 0, 269, 269, 269, 269, + 269, 269, 268, 268, 0, 0, 268, 268, 268, 268, + 268, 0, 268, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 268, 268, 268, 268, 268, 268, 0, + 274, 269, 269, 131, 132, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 222, 211, 273, 0, + 0, 220, 218, 0, 219, 0, 221, 0, 268, 268, + 0, 0, 269, 269, 0, 0, 0, 0, 422, 214, + 198, 216, 208, 222, 211, 0, 0, 483, 220, 218, + 0, 219, 0, 221, 0, 274, 0, 0, 0, 268, + 268, 0, 0, 0, 0, 0, 214, 198, 216, 208, + 0, 0, 0, 210, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 262, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 210, 0, 0, 209, 0, 225, 273, 273, 0, 0, 273, 273, 273, 273, 273, 0, 0, 273, 273, 0, 273, 273, 273, 273, 273, 273, 0, 273, 0, 0, - 0, 222, 211, 0, 0, 271, 220, 218, 0, 219, + 209, 0, 225, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 274, 274, 262, 0, 274, 274, 274, + 274, 274, 0, 0, 274, 274, 0, 274, 274, 274, + 274, 274, 274, 0, 274, 269, 0, 0, 0, 0, + 0, 222, 211, 0, 0, 0, 220, 218, 0, 219, 0, 221, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 262, 0, 214, 198, 216, 208, 0, 0, + 0, 0, 268, 493, 214, 198, 216, 208, 222, 211, + 0, 0, 528, 220, 218, 0, 219, 0, 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 214, 198, 216, 208, 0, 0, 0, 210, 0, + 0, 0, 0, 262, 262, 0, 0, 262, 262, 262, + 262, 262, 0, 0, 262, 262, 0, 262, 262, 262, + 262, 262, 262, 0, 262, 210, 0, 0, 209, 0, + 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 269, 210, 0, - 0, 0, 0, 0, 0, 0, 274, 274, 0, 0, - 274, 274, 274, 274, 274, 0, 0, 274, 274, 0, - 274, 274, 274, 274, 274, 274, 0, 274, 209, 0, - 225, 0, 0, 0, 268, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 209, 0, 225, 0, 0, + 0, 224, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 269, 269, + 228, 0, 269, 269, 269, 269, 269, 0, 224, 269, + 269, 0, 269, 269, 269, 269, 269, 269, 0, 269, + 0, 0, 0, 0, 0, 268, 268, 228, 0, 268, + 268, 268, 268, 268, 0, 0, 268, 268, 0, 268, + 268, 268, 268, 268, 268, 0, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 262, 262, 0, 0, 262, 262, 262, 262, 262, 0, - 0, 262, 262, 0, 262, 262, 262, 262, 262, 262, - 0, 262, 0, 222, 211, 0, 0, 0, 220, 218, - 0, 219, 0, 221, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 425, 214, 198, 216, 208, - 0, 0, 0, 0, 0, 0, 0, 0, 114, 0, - 222, 211, 0, 0, 487, 220, 218, 0, 219, 0, - 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 210, 0, 0, 214, 198, 216, 208, 0, 0, 0, - 269, 269, 0, 0, 269, 269, 269, 269, 269, 190, - 0, 269, 269, 0, 269, 269, 269, 269, 269, 269, - 209, 269, 225, 0, 0, 0, 0, 210, 0, 0, - 0, 0, 0, 0, 242, 0, 114, 268, 268, 0, - 0, 268, 268, 268, 268, 268, 0, 0, 268, 268, - 259, 268, 268, 268, 268, 268, 268, 209, 268, 225, - 0, 0, 0, 0, 0, 190, 0, 222, 211, 0, - 0, 0, 220, 218, 0, 219, 224, 221, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 497, - 214, 198, 216, 208, 0, 228, 0, 0, 0, 0, - 0, 0, 222, 211, 0, 0, 532, 220, 218, 0, - 219, 0, 221, 0, 0, 0, 0, 0, 0, 0, - 0, 334, 0, 0, 210, 214, 198, 216, 208, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 217, + 215, 226, 227, 199, 200, 201, 202, 204, 0, 0, + 212, 213, 0, 196, 197, 203, 206, 205, 207, 0, + 223, 0, 0, 0, 0, 0, 217, 215, 226, 227, + 199, 200, 201, 202, 204, 0, 0, 212, 213, 0, + 196, 197, 203, 206, 205, 207, 0, 223, 222, 211, + 0, 0, 533, 220, 218, 0, 219, 0, 221, 0, + 0, 0, 0, 0, 0, 0, 224, 0, 0, 0, + 0, 214, 198, 216, 208, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 228, 0, 0, 0, 0, + 222, 211, 0, 224, 534, 220, 218, 0, 219, 0, + 221, 0, 0, 0, 0, 210, 0, 0, 0, 0, + 0, 0, 228, 214, 198, 216, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 190, 0, 0, 0, 0, - 0, 0, 0, 0, 209, 0, 225, 0, 0, 210, + 0, 0, 0, 0, 0, 209, 0, 225, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 210, 0, 0, 0, 0, 0, 0, 217, 215, 226, 227, 199, 200, 201, 202, 204, 0, 0, 212, 213, 0, 196, 197, - 203, 206, 205, 207, 0, 223, 0, 0, 0, 209, - 0, 225, 0, 0, 0, 0, 0, 0, 0, 222, - 211, 0, 0, 537, 220, 218, 0, 219, 224, 221, + 203, 206, 205, 207, 0, 223, 0, 209, 0, 225, + 0, 217, 215, 226, 227, 199, 200, 201, 202, 204, + 0, 0, 212, 213, 0, 196, 197, 203, 206, 205, + 207, 0, 223, 222, 211, 0, 0, 581, 220, 218, + 0, 219, 0, 221, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 214, 198, 216, 208, + 222, 211, 0, 0, 582, 220, 218, 0, 219, 0, + 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 214, 198, 216, 208, 222, 211, 0, + 210, 0, 220, 218, 0, 219, 0, 221, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 606, + 214, 198, 216, 208, 0, 0, 0, 210, 0, 0, + 209, 0, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 214, 198, 216, 208, 0, 228, 0, 0, - 0, 0, 0, 0, 222, 211, 0, 0, 538, 220, - 218, 0, 219, 0, 221, 224, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 210, 214, 198, 216, - 208, 0, 0, 0, 228, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 210, 0, 0, 209, 0, 225, + 0, 0, 0, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 209, 0, 225, 0, - 0, 210, 0, 0, 0, 0, 217, 215, 226, 227, - 199, 200, 201, 202, 204, 0, 0, 212, 213, 0, - 196, 197, 203, 206, 205, 207, 0, 223, 0, 0, - 0, 209, 0, 225, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 217, 215, 226, 227, 199, 200, 201, - 202, 204, 224, 0, 212, 213, 0, 196, 197, 203, - 206, 205, 207, 0, 223, 0, 0, 0, 0, 0, - 0, 228, 0, 222, 211, 0, 0, 585, 220, 218, - 0, 219, 0, 221, 0, 0, 0, 224, 0, 0, - 0, 0, 0, 0, 0, 0, 214, 198, 216, 208, - 0, 0, 0, 0, 0, 0, 228, 0, 222, 211, - 0, 0, 586, 220, 218, 0, 219, 0, 221, 0, + 0, 0, 228, 0, 209, 0, 225, 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, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 210, 214, 198, 216, 208, 0, 0, 0, 0, 0, - 217, 215, 226, 227, 199, 200, 201, 202, 204, 0, - 0, 212, 213, 0, 196, 197, 203, 206, 205, 207, - 209, 223, 225, 0, 0, 210, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 217, 215, 226, 227, 199, - 200, 201, 202, 204, 224, 0, 212, 213, 0, 196, - 197, 203, 206, 205, 207, 209, 223, 225, 0, 0, - 0, 0, 0, 228, 0, 222, 211, 0, 0, 0, - 220, 218, 0, 219, 0, 221, 0, 0, 0, 224, - 0, 0, 0, 0, 0, 0, 0, 610, 214, 198, - 216, 208, 0, 0, 0, 0, 0, 0, 228, 0, - 222, 211, 0, 0, 0, 220, 218, 0, 219, 0, - 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 624, 210, 214, 198, 216, 208, 0, 0, 0, - 0, 0, 217, 215, 226, 227, 199, 200, 201, 202, - 204, 0, 0, 212, 213, 0, 196, 197, 203, 206, - 205, 207, 209, 223, 225, 0, 0, 210, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 217, 215, 226, - 227, 199, 200, 201, 202, 204, 0, 0, 212, 213, - 0, 196, 197, 203, 206, 205, 207, 209, 223, 225, - 0, 0, 0, 0, 0, 0, 0, 222, 211, 0, - 0, 0, 220, 218, 0, 219, 0, 221, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 214, 198, 216, 208, 0, 0, 0, 228, 0, 0, - 0, 0, 222, 211, 0, 0, 0, 220, 218, 0, - 219, 0, 221, 224, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 210, 214, 198, 216, 208, 0, - 0, 0, 228, 0, 0, 222, 0, 0, 0, 0, - 220, 218, 0, 219, 0, 221, 0, 0, 0, 0, - 0, 0, 0, 0, 209, 0, 225, 0, 214, 210, - 216, 0, 0, 0, 0, 0, 217, 215, 226, 227, - 199, 200, 201, 202, 204, 0, 0, 212, 213, 0, - 196, 197, 203, 206, 205, 207, 0, 223, 0, 209, - 0, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 217, 215, 226, 227, 199, 200, 201, 202, 204, - 224, 0, 212, 213, 0, 196, 197, 203, 206, 205, - 207, 0, 223, 0, 225, 0, 0, 0, 0, 228, - 0, 222, 211, 0, 0, 0, 220, 218, 0, 219, - 0, 221, 0, 0, 0, 224, 0, 0, 0, 0, - 0, 0, 0, 0, 214, 198, 216, 208, 0, 0, - 0, 0, 0, 0, 228, 0, 222, 211, 0, 0, - 0, 220, 218, 0, 219, 0, 221, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 210, 214, - 0, 216, 0, 0, 0, 0, 0, 0, 217, 215, - 226, 227, 199, 200, 201, 202, 204, 0, 0, 212, - 213, 0, 196, 197, 203, 206, 205, 207, 209, 223, - 225, 0, 0, 210, 0, 0, 0, 0, 0, 0, + 0, 0, 212, 213, 0, 196, 197, 203, 206, 205, + 207, 0, 223, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 217, 215, 226, 227, 199, 200, 201, - 202, 204, 224, 0, 212, 213, 0, 196, 197, 203, - 206, 205, 207, 209, 223, 225, 0, 0, 0, 0, - 0, 228, 0, 222, 0, 0, 0, 0, 220, 218, - 0, 219, 0, 221, 0, 0, 0, 224, 0, 0, - 0, 0, 0, 0, 0, 0, 214, 0, 216, 0, - 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, - 0, 259, 259, 0, 0, 259, 259, 259, 259, 259, - 224, 259, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 259, 259, 259, 259, 259, 259, 0, 228, + 202, 204, 0, 0, 212, 213, 0, 196, 197, 203, + 206, 205, 207, 0, 223, 0, 0, 0, 224, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 228, 0, 0, + 0, 0, 222, 211, 0, 224, 0, 220, 218, 0, + 219, 0, 221, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 620, 228, 214, 198, 216, 208, 222, + 211, 0, 224, 0, 220, 218, 0, 219, 0, 221, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 228, 214, 198, 216, 208, 0, 0, 0, 210, + 0, 0, 0, 0, 0, 0, 217, 215, 226, 227, + 199, 200, 201, 202, 204, 0, 0, 212, 213, 0, + 196, 197, 203, 206, 205, 207, 210, 223, 0, 209, + 0, 225, 0, 217, 215, 226, 227, 199, 200, 201, + 202, 204, 0, 0, 212, 213, 0, 196, 197, 203, + 206, 205, 207, 0, 223, 0, 209, 0, 225, 0, 217, 215, 226, 227, 199, 200, 201, 202, 204, 0, 0, 212, 213, 0, 196, 197, 203, 206, 205, 207, - 0, 223, 225, 0, 0, 0, 0, 259, 259, 0, - 0, 0, 0, 0, 0, 217, 215, 226, 227, 199, - 200, 201, 202, 204, 0, 0, 212, 213, 0, 0, - 197, 203, 206, 205, 207, 0, 223, 0, 259, 259, - 0, 0, 0, 0, 0, 0, 0, 0, 217, 215, - 226, 227, 0, 0, 0, 0, 224, 0, 0, 212, - 213, 0, 0, 0, 0, 0, 0, 0, 0, 223, - 0, 0, 0, 0, 0, 228, 0, 0, 0, 260, - 260, 0, 0, 260, 260, 260, 260, 260, 0, 260, - 0, 224, 0, 0, 0, 0, 0, 0, 0, 0, - 260, 260, 260, 260, 260, 260, 0, 0, 0, 0, - 228, 0, 0, 0, 0, 0, 261, 261, 0, 0, - 261, 261, 261, 261, 261, 0, 261, 0, 0, 0, - 0, 0, 0, 0, 0, 260, 260, 261, 261, 261, - 261, 261, 261, 0, 217, 215, 226, 227, 199, 200, - 201, 202, 204, 0, 0, 212, 213, 0, 0, 0, - 203, 206, 205, 207, 0, 223, 260, 260, 0, 0, - 0, 259, 261, 261, 0, 0, 0, 0, 0, 217, - 215, 226, 227, 0, 0, 0, 0, 0, 224, 0, - 212, 213, 0, 0, 0, 0, 0, 0, 0, 0, - 223, 0, 0, 261, 261, 257, 0, 228, 257, 0, - 257, 257, 257, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 257, 257, 257, 257, 257, - 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, - 0, 258, 0, 258, 258, 258, 0, 0, 0, 0, - 257, 257, 0, 0, 0, 0, 0, 0, 258, 258, - 258, 258, 258, 258, 0, 0, 217, 215, 226, 227, - 0, 0, 0, 0, 0, 0, 0, 251, 0, 0, - 251, 257, 257, 251, 0, 0, 0, 223, 0, 260, - 0, 0, 0, 258, 258, 0, 0, 251, 251, 0, - 251, 0, 251, 0, 259, 259, 0, 0, 259, 259, - 259, 259, 259, 0, 0, 259, 259, 0, 259, 259, - 259, 259, 259, 259, 258, 258, 261, 0, 0, 0, - 0, 250, 251, 251, 250, 0, 0, 250, 0, 0, + 0, 223, 222, 211, 0, 0, 0, 220, 218, 0, + 219, 0, 221, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 214, 198, 216, 208, 222, + 211, 0, 0, 0, 220, 218, 0, 219, 0, 221, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 214, 198, 216, 208, 259, 259, 0, 210, + 259, 259, 259, 259, 259, 0, 259, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 259, 259, 259, + 259, 259, 259, 0, 0, 0, 210, 0, 0, 209, + 0, 225, 0, 0, 0, 0, 0, 0, 260, 260, + 0, 0, 260, 260, 260, 260, 260, 0, 260, 0, + 0, 0, 259, 259, 0, 0, 209, 0, 225, 260, + 260, 260, 260, 260, 260, 261, 261, 0, 0, 261, + 261, 261, 261, 261, 0, 261, 0, 224, 0, 0, + 0, 0, 0, 259, 259, 0, 261, 261, 261, 261, + 261, 261, 0, 0, 260, 260, 228, 0, 0, 0, + 0, 0, 0, 0, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 250, 250, 0, 250, 0, 250, 0, 0, 0, - 0, 0, 0, 251, 251, 0, 0, 0, 252, 0, - 0, 252, 0, 0, 252, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 250, 250, 252, 252, - 0, 252, 0, 252, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 267, 0, 0, 267, 0, - 0, 267, 0, 0, 257, 0, 0, 250, 250, 0, - 0, 0, 0, 252, 252, 267, 267, 0, 267, 0, - 267, 0, 260, 260, 0, 0, 260, 260, 260, 260, - 260, 0, 0, 260, 260, 0, 260, 260, 260, 260, - 260, 260, 0, 0, 252, 252, 0, 258, 0, 0, - 267, 267, 0, 0, 0, 0, 0, 0, 0, 261, - 261, 0, 0, 261, 261, 261, 261, 261, 0, 0, - 261, 261, 0, 261, 261, 261, 261, 261, 261, 0, - 0, 267, 267, 0, 0, 0, 251, 248, 0, 0, - 248, 0, 0, 248, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 248, 248, 0, - 248, 0, 248, 0, 0, 0, 0, 0, 0, 0, + 0, 261, 261, 228, 0, 260, 260, 0, 0, 0, + 0, 0, 0, 0, 0, 257, 0, 0, 257, 0, + 257, 257, 257, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 261, 261, 0, 257, 257, 257, 257, 257, + 257, 0, 0, 0, 0, 217, 215, 226, 227, 199, + 200, 201, 202, 204, 0, 0, 212, 213, 0, 196, + 197, 203, 206, 205, 207, 0, 223, 0, 0, 0, + 257, 257, 217, 215, 226, 227, 199, 200, 201, 202, + 204, 0, 0, 212, 213, 0, 196, 197, 203, 206, + 205, 207, 0, 223, 0, 0, 259, 224, 0, 0, + 0, 257, 257, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 258, 0, 0, 258, 228, 258, 258, 258, + 0, 0, 0, 0, 224, 0, 0, 0, 0, 0, + 0, 0, 258, 258, 258, 258, 258, 258, 260, 249, + 0, 0, 249, 228, 0, 249, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 251, 0, 0, 251, 249, + 249, 251, 249, 0, 249, 261, 0, 258, 258, 0, + 0, 0, 0, 0, 0, 251, 251, 0, 251, 0, + 251, 0, 0, 0, 0, 217, 215, 226, 227, 199, + 200, 201, 202, 204, 249, 249, 212, 213, 258, 258, + 197, 203, 206, 205, 207, 0, 223, 0, 0, 0, + 251, 251, 217, 215, 226, 227, 199, 200, 201, 202, + 204, 0, 0, 212, 213, 249, 249, 0, 203, 206, + 205, 207, 0, 223, 257, 0, 0, 0, 0, 259, + 259, 251, 251, 259, 259, 259, 259, 259, 0, 0, + 259, 259, 0, 259, 259, 259, 259, 259, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 250, 0, 248, 248, 0, 0, 0, 257, 257, 0, + 0, 260, 260, 0, 0, 260, 260, 260, 260, 260, + 0, 0, 260, 260, 0, 260, 260, 260, 260, 260, + 260, 0, 0, 0, 0, 0, 0, 0, 261, 261, + 0, 0, 261, 261, 261, 261, 261, 0, 0, 261, + 261, 0, 261, 261, 261, 261, 261, 261, 0, 0, + 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 250, 0, 0, 250, 0, 0, 250, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, + 0, 0, 250, 250, 0, 250, 0, 250, 0, 0, + 0, 0, 0, 0, 251, 0, 0, 257, 257, 0, 0, 257, 257, 257, 257, 257, 0, 0, 257, 257, - 0, 257, 257, 257, 257, 257, 257, 0, 0, 0, - 0, 0, 0, 248, 248, 0, 0, 252, 0, 0, + 0, 257, 257, 257, 257, 257, 257, 250, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 258, 258, 0, 0, 258, 258, 258, 258, 258, 0, - 265, 258, 258, 265, 258, 258, 258, 258, 258, 258, - 0, 0, 0, 0, 267, 0, 0, 265, 265, 0, - 265, 0, 265, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 251, 251, 251, 251, 251, 0, 0, - 251, 251, 0, 251, 251, 251, 251, 251, 251, 0, - 0, 0, 265, 265, 266, 0, 0, 266, 0, 0, - 266, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 266, 266, 0, 266, 0, 266, - 0, 0, 0, 265, 265, 0, 0, 250, 250, 250, - 250, 250, 0, 0, 250, 250, 0, 250, 250, 250, - 250, 250, 250, 0, 0, 0, 248, 0, 0, 266, - 266, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 252, 252, 252, 252, 252, 0, - 263, 252, 252, 263, 252, 252, 252, 252, 252, 252, - 266, 266, 0, 0, 0, 0, 0, 263, 263, 0, - 263, 0, 263, 0, 0, 0, 0, 0, 0, 0, - 0, 267, 267, 267, 267, 267, 0, 0, 267, 267, - 0, 267, 267, 267, 267, 267, 267, 0, 0, 0, - 0, 0, 263, 247, 0, 0, 247, 0, 0, 247, + 252, 0, 0, 252, 0, 0, 252, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 250, 250, + 252, 252, 0, 252, 0, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 402, 247, 247, 0, 247, 0, 247, 0, - 0, 0, 0, 263, 263, 0, 265, 0, 0, 0, - 264, 0, 0, 264, 0, 0, 264, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 247, 247, - 264, 264, 0, 264, 0, 264, 0, 0, 0, 0, - 0, 0, 0, 248, 248, 248, 248, 248, 0, 0, - 248, 248, 0, 248, 248, 248, 248, 248, 248, 247, - 247, 253, 0, 266, 253, 264, 264, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 253, 253, 0, 253, 254, 253, 0, 254, 0, - 0, 254, 0, 0, 0, 0, 264, 264, 0, 0, - 493, 0, 0, 0, 0, 254, 254, 500, 254, 205, - 254, 0, 205, 0, 0, 0, 253, 253, 0, 0, - 0, 0, 0, 0, 0, 0, 205, 205, 0, 205, - 0, 205, 0, 0, 0, 0, 263, 0, 0, 0, - 254, 254, 0, 0, 0, 0, 0, 253, 253, 0, - 0, 0, 0, 265, 265, 265, 265, 265, 0, 0, - 0, 205, 0, 265, 265, 265, 265, 265, 265, 0, - 552, 254, 254, 0, 0, 0, 0, 559, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 567, 0, - 0, 0, 247, 205, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 252, 252, 0, 0, 0, + 0, 0, 0, 0, 258, 258, 0, 0, 258, 258, + 258, 258, 258, 0, 0, 258, 258, 0, 258, 258, + 258, 258, 258, 258, 0, 0, 252, 252, 0, 0, + 0, 0, 0, 0, 0, 249, 249, 249, 249, 249, + 0, 0, 249, 249, 0, 249, 249, 249, 249, 249, + 249, 251, 251, 251, 251, 251, 0, 0, 251, 251, + 0, 251, 251, 251, 251, 251, 251, 267, 0, 0, + 267, 0, 0, 267, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 248, 0, 0, 248, 267, 267, 248, + 267, 250, 267, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 248, 248, 0, 248, 266, 248, 0, + 266, 0, 0, 266, 0, 0, 0, 0, 0, 0, + 0, 0, 267, 267, 0, 0, 0, 266, 266, 0, + 266, 0, 266, 0, 0, 0, 0, 0, 248, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 266, 266, 266, 266, 266, 0, 0, 266, 266, 596, - 266, 266, 266, 266, 266, 266, 0, 0, 0, 264, + 0, 0, 0, 267, 267, 0, 0, 0, 0, 252, + 0, 0, 266, 266, 0, 0, 0, 0, 0, 248, + 248, 0, 0, 0, 0, 247, 0, 0, 247, 0, + 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 266, 266, 247, 247, 0, 247, 0, + 247, 264, 0, 0, 264, 0, 0, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 615, 0, + 0, 264, 264, 0, 264, 0, 264, 0, 0, 0, + 247, 247, 0, 0, 0, 0, 0, 0, 250, 250, + 250, 250, 250, 0, 0, 250, 250, 0, 250, 250, + 250, 250, 250, 250, 0, 0, 264, 264, 0, 0, + 0, 247, 247, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 253, 0, 0, 253, 0, 0, 253, 0, + 0, 0, 0, 0, 0, 0, 267, 264, 264, 0, + 0, 0, 253, 253, 0, 253, 0, 253, 0, 0, + 0, 0, 248, 0, 0, 0, 252, 252, 252, 252, + 252, 0, 0, 252, 252, 0, 252, 252, 252, 252, + 252, 252, 0, 0, 0, 0, 266, 253, 253, 0, + 0, 254, 0, 0, 254, 0, 0, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 129, 0, 139, 0, 625, 0, 0, 138, - 0, 628, 127, 0, 128, 0, 630, 0, 0, 0, - 253, 0, 0, 263, 263, 263, 263, 263, 0, 299, - 0, 0, 0, 263, 263, 263, 263, 263, 263, 129, - 0, 139, 0, 0, 254, 0, 138, 0, 0, 127, - 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, - 83, 0, 0, 0, 0, 205, 0, 0, 303, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 247, - 247, 247, 247, 247, 0, 0, 247, 247, 0, 247, - 247, 247, 247, 247, 247, 130, 0, 83, 0, 0, + 0, 254, 254, 0, 254, 0, 254, 0, 253, 253, + 0, 0, 0, 0, 0, 129, 0, 139, 0, 0, + 0, 0, 138, 0, 0, 127, 0, 128, 0, 0, + 0, 0, 0, 0, 0, 0, 254, 254, 0, 0, + 0, 0, 299, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 264, 264, 264, 264, - 264, 0, 0, 0, 0, 0, 264, 264, 264, 264, - 264, 264, 130, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 254, 254, 0, + 264, 0, 0, 83, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 267, 267, 267, 267, 267, 0, 0, + 267, 267, 0, 267, 267, 267, 267, 267, 267, 248, + 248, 248, 248, 248, 0, 0, 248, 248, 130, 248, + 248, 248, 248, 248, 248, 0, 0, 0, 0, 0, + 0, 0, 0, 266, 266, 266, 266, 266, 0, 0, + 266, 266, 0, 266, 266, 266, 266, 266, 266, 0, + 0, 253, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 129, 0, 139, + 0, 0, 0, 0, 138, 0, 0, 127, 0, 128, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 247, 247, 247, 247, 247, 303, 0, 247, 247, + 254, 247, 247, 247, 247, 247, 247, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 264, 264, 264, + 264, 264, 0, 0, 0, 83, 0, 264, 264, 264, + 264, 264, 264, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 172, 86, 87, 88, 89, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, - 0, 139, 0, 0, 0, 0, 138, 0, 0, 127, - 0, 128, 0, 0, 0, 0, 0, 253, 253, 253, - 253, 253, 0, 0, 126, 0, 0, 253, 253, 253, - 253, 253, 253, 0, 0, 0, 0, 0, 0, 0, - 0, 254, 254, 254, 254, 254, 0, 0, 0, 0, - 0, 254, 254, 254, 254, 254, 254, 83, 0, 0, - 0, 0, 205, 205, 205, 205, 205, 0, 0, 0, - 0, 0, 205, 205, 205, 205, 205, 205, 0, 172, - 86, 87, 88, 89, 90, 0, 129, 0, 139, 0, - 0, 0, 130, 138, 0, 0, 127, 129, 128, 139, - 0, 0, 0, 0, 138, 10, 0, 127, 0, 128, - 0, 0, 0, 0, 295, 0, 172, 86, 87, 88, - 89, 90, 0, 0, 0, 297, 129, 0, 139, 0, - 0, 0, 134, 138, 0, 0, 127, 0, 128, 0, - 0, 0, 10, 0, 83, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 83, 129, 0, 139, 137, - 0, 0, 0, 138, 0, 133, 127, 0, 128, 134, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 130, - 0, 0, 0, 0, 83, 220, 0, 220, 0, 0, - 130, 0, 220, 0, 0, 220, 137, 220, 0, 129, - 0, 139, 133, 0, 0, 0, 138, 0, 0, 127, - 0, 128, 0, 0, 83, 0, 345, 0, 0, 130, - 300, 131, 132, 0, 0, 0, 135, 136, 87, 88, - 89, 90, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 220, 0, 220, 0, 0, 0, 130, - 0, 0, 10, 0, 0, 0, 304, 186, 131, 132, + 130, 139, 0, 0, 0, 0, 138, 0, 10, 127, + 0, 128, 0, 129, 0, 139, 0, 0, 0, 0, + 138, 0, 0, 127, 0, 128, 0, 297, 253, 253, + 253, 253, 253, 0, 0, 134, 0, 0, 253, 253, + 253, 253, 253, 253, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 220, 0, 220, 83, 0, 0, + 0, 220, 137, 0, 220, 0, 220, 0, 133, 0, + 0, 83, 129, 0, 139, 0, 0, 0, 0, 138, + 0, 0, 127, 0, 128, 0, 0, 254, 254, 254, + 254, 254, 130, 0, 0, 0, 0, 254, 254, 254, + 254, 254, 254, 344, 0, 0, 130, 0, 0, 129, + 0, 139, 220, 0, 220, 0, 138, 0, 0, 127, + 0, 128, 0, 300, 131, 132, 0, 0, 0, 0, + 83, 0, 0, 0, 172, 86, 87, 88, 89, 90, + 0, 0, 0, 0, 0, 0, 0, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 220, 134, + 10, 0, 0, 0, 0, 130, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 130, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 137, 0, 0, 0, - 0, 0, 133, 172, 86, 87, 88, 89, 90, 0, - 0, 0, 0, 0, 172, 86, 87, 88, 89, 90, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, + 0, 0, 0, 0, 0, 0, 0, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 172, 86, 87, 88, 89, 90, 0, - 0, 0, 0, 0, 0, 0, 134, 0, 131, 132, - 0, 0, 0, 0, 0, 0, 0, 134, 0, 10, - 0, 0, 0, 172, 86, 87, 88, 89, 90, 0, - 0, 0, 0, 137, 0, 0, 0, 0, 0, 133, - 0, 0, 0, 0, 137, 0, 134, 0, 0, 10, - 133, 0, 220, 220, 220, 220, 220, 220, 0, 0, - 0, 0, 0, 0, 0, 0, 172, 86, 87, 88, - 89, 90, 0, 137, 0, 0, 134, 0, 220, 133, + 0, 0, 130, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 137, 0, 0, 0, 0, 0, + 133, 0, 0, 0, 0, 0, 172, 86, 87, 88, + 89, 90, 0, 0, 0, 0, 0, 0, 0, 0, + 172, 86, 87, 88, 89, 90, 0, 0, 0, 0, + 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, + 0, 0, 0, 0, 304, 0, 131, 132, 0, 134, + 0, 220, 220, 220, 220, 220, 220, 0, 0, 0, + 0, 0, 0, 134, 0, 0, 0, 0, 0, 172, + 86, 87, 88, 89, 90, 0, 137, 220, 0, 0, + 0, 0, 133, 0, 0, 0, 0, 0, 0, 0, + 137, 0, 0, 0, 0, 10, 133, 0, 0, 0, + 0, 0, 0, 0, 220, 0, 172, 86, 87, 88, + 89, 90, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 134, 0, 0, 0, 0, 0, 0, 0, + 0, 220, 10, 0, 0, 0, 0, 220, 131, 132, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, + 0, 0, 131, 132, 0, 133, 0, 0, 0, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 131, 132, 0, 0, 0, - 0, 0, 0, 137, 0, 220, 131, 132, 0, 133, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 220, 0, 0, 131, 132, 0, 220, 0, 0, 0, 0, 0, 0, 0, 187, 0, 0, 0, - 0, 0, 133, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 131, 132, 0, 0, 0, + 0, 0, 133, 220, 220, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 131, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 220, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, 132, ); protected static $yyCheck = array(4, - 61, 62, 63, 120, 154, 60, 41, 41, 46, 40, - 44, 124, 59, 168, 237, 46, 46, 125, 125, 41, - 41, 59, 44, 84, 438, 123, 260, 63, 71, 34, - 35, 37, 44, 59, 59, 40, 42, 98, 40, 100, - 37, 47, 126, 42, 303, 42, 43, 126, 45, 40, - 47, 91, 169, 304, 126, 91, 61, 62, 63, 120, - 91, 59, 105, 106, 69, 70, 71, 91, 91, 40, - 44, 91, 91, 91, 59, 46, 123, 46, 46, 84, - 40, 93, 260, 261, 38, 260, 46, 41, 125, 58, - 44, 46, 97, 98, 317, 100, 260, 123, 123, 513, - 105, 106, 443, 260, 58, 59, 340, 61, 169, 63, - 41, 125, 44, 44, 264, 120, 260, 44, 179, 93, - 126, 41, 286, 41, 44, 300, 44, 58, 59, 126, - 58, 41, 123, 138, 44, 44, 185, 330, 123, 93, - 94, 59, 286, 300, 39, 46, 487, 340, 58, 59, - 59, 125, 260, 260, 49, 50, 51, 162, 163, 93, - 165, 93, 93, 224, 169, 340, 93, 60, 318, 41, - 124, 125, 44, 93, 179, 93, 340, 103, 41, 286, - 91, 44, 41, 93, 339, 44, 58, 59, 411, 194, - 340, 125, 342, 125, 125, 58, 59, 64, 91, 58, - 59, 127, 128, 129, 130, 131, 132, 364, 134, 260, - 257, 260, 138, 311, 46, 125, 125, 367, 91, 224, - 260, 93, 271, 228, 260, 332, 46, 340, 154, 61, - 93, 257, 257, 312, 93, 257, 257, 260, 393, 58, - 312, 260, 260, 59, 272, 250, 286, 331, 41, 300, - 286, 44, 331, 125, 404, 181, 40, 183, 260, 331, - 410, 260, 125, 286, 478, 479, 125, 286, 286, 274, - 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, - 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, - 216, 217, 218, 219, 220, 221, 222, 223, 300, 225, - 340, 300, 516, 257, 37, 38, 312, 356, 458, 42, - 43, 237, 45, 332, 47, 312, 340, 340, 402, 403, - 340, 340, 91, 402, 403, 331, 257, 60, 59, 62, - 402, 403, 260, 261, 331, 59, 373, 374, 264, 257, - 266, 236, 421, 269, 33, 41, 35, 257, 44, 260, - 44, 40, 401, 91, 43, 410, 45, 574, 575, 373, - 374, 94, 364, 391, 59, 364, 40, 260, 62, 295, - 44, 297, 410, 299, 300, 410, 410, 303, 304, 63, - 410, 531, 599, 41, 427, 257, 44, 260, 60, 420, - 44, 317, 318, 126, 257, 310, 402, 403, 257, 448, - 58, 59, 91, 549, 550, 402, 403, 91, 62, 320, - 33, 310, 35, 286, 340, 421, 342, 40, 61, 93, - 43, 332, 45, 428, 421, 44, 543, 320, 410, 340, - 576, 357, 44, 438, 584, 93, 125, 126, 37, 332, - 59, 367, 383, 42, 43, 473, 45, 340, 47, 260, - 404, 405, 406, 407, 408, 46, 41, 411, 412, 332, - 414, 415, 416, 417, 418, 419, 311, 125, 91, 395, - 61, 260, 283, 478, 479, 286, 417, 91, 404, 93, - 40, 93, 543, 414, 410, 411, 46, 515, 414, 300, - 123, 260, 261, 262, 263, 264, 265, 286, 58, 300, - 301, 302, 125, 126, 414, 415, 41, 41, 513, 44, - 44, 516, 91, 125, 542, 520, 41, 286, 41, 44, - 91, 44, 260, 58, 59, 41, 41, 126, 44, 44, - 40, 300, 458, 459, 310, 33, 59, 35, 543, 600, - 466, 467, 40, 332, 58, 43, 125, 45, 286, 91, - 40, 414, 415, 364, 44, 414, 415, 273, 93, 620, - 276, 123, 300, 301, 302, 123, 41, 44, 494, 59, - 93, 260, 261, 262, 263, 264, 265, 346, 58, 312, - 506, 410, 41, 123, 59, 44, 300, 301, 302, 44, - 125, 532, 93, 91, 332, 600, 537, 286, 331, 257, - 59, 44, 125, 41, 61, 531, 44, 33, 534, 35, - 536, 93, 91, 260, 40, 620, 257, 43, 93, 45, - 58, 59, 344, 345, 313, 123, 373, 374, 126, 49, - 50, 51, 61, 123, 93, 125, 41, 260, 261, 262, - 263, 264, 265, 532, 570, 586, 13, 14, 537, 44, - 125, 340, 341, 342, 343, 93, 41, 346, 584, 105, - 106, 123, 260, 286, 605, 91, 125, 400, 401, 402, - 403, 360, 361, 362, 363, 616, 365, 366, 411, 412, - 606, 370, 371, 372, 373, 374, 125, 125, 421, 260, - 313, 40, 123, 41, 58, 123, 44, 586, 40, 58, - 126, 280, 281, 282, 283, 284, 285, 260, 287, 260, - 58, 59, 123, 402, 403, 286, 605, 340, 341, 342, - 343, 40, 257, 346, 303, 41, 125, 616, 40, 300, - 301, 302, 93, 41, 40, 125, 61, 360, 361, 362, - 363, 430, 365, 366, 40, 93, 40, 370, 91, 372, - 373, 374, 123, 91, 41, 334, 414, 415, 41, 125, - 91, 332, 260, 261, 262, 263, 264, 265, 37, 38, - 125, 40, 41, 42, 43, 44, 45, 125, 47, 402, - 403, 260, 261, 262, 263, 264, 265, 40, 286, 58, - 59, 60, 61, 62, 63, 37, 38, 125, 40, 41, - 42, 43, 44, 45, 340, 47, 40, 430, 59, 41, - 40, 59, 44, 40, 40, 313, 58, 59, 340, 61, - 62, 63, 91, 40, 93, 94, 58, 59, 59, 41, - 260, 41, 61, 361, 260, 261, 262, 263, 264, 265, - 59, 91, 340, 341, 342, 343, 340, 61, 346, 91, - 59, 93, 94, 41, 123, 124, 125, 126, 44, 125, - 286, 93, 360, 361, 362, 363, 123, 365, 366, 93, - 59, 125, 370, 40, 372, 125, 44, 364, 123, 414, - 415, 123, 124, 125, 126, 260, 321, 313, 340, 41, - 41, 340, 41, 125, 59, 41, 40, 125, 44, 371, - 123, 59, 123, 125, 402, 403, 41, 125, 58, 257, - 125, 41, 58, 59, 340, 341, 342, 343, 125, 125, - 346, 123, 260, 261, 262, 263, 264, 265, 125, 123, - 123, 93, 430, 41, 360, 361, 362, 363, 41, 365, - 366, 125, 257, 58, 370, 125, 372, 93, 286, 280, - 281, 282, 283, 284, 285, 91, 287, 91, 91, 125, - 37, 38, 93, 40, 41, 42, 43, 44, 45, 46, - 47, 125, 303, 59, 59, 41, 402, 403, 44, 125, - 123, 58, 59, 60, 61, 62, 63, 41, 257, 59, - 41, 260, 58, 59, 41, 364, 41, 41, 125, 125, - 7, 6, 77, 334, 430, 102, 338, 520, 346, 479, - 484, 60, 228, 59, 91, 257, 93, 94, 260, 109, - 592, 507, 495, 556, 556, 257, 179, 93, 274, 343, - 280, 281, 282, 283, 284, 285, 239, 287, 179, 194, - 235, 310, 311, 312, 165, 31, -1, 124, 125, 126, - -1, 320, -1, 303, -1, -1, -1, -1, -1, 125, - -1, 330, 331, 332, -1, -1, 414, 415, 310, 311, - 312, 340, 280, 281, 282, 283, 284, 285, 320, 287, - -1, -1, 91, -1, 334, -1, -1, -1, 330, 331, - 332, -1, -1, -1, -1, 303, -1, -1, 340, 37, - 38, -1, -1, 41, 42, 43, 44, 45, 91, 47, - -1, 257, -1, -1, -1, -1, -1, -1, -1, -1, + 61, 62, 63, 120, 40, 60, 91, 154, 71, 46, + 46, 168, 41, 41, 124, 41, 44, 91, 44, 46, + 41, 91, 59, 84, 303, 237, 59, 126, 435, 34, + 35, 37, 58, 59, 125, 40, 42, 98, 260, 100, + 260, 47, 105, 106, 93, 41, 41, 125, 44, 44, + 91, 40, 169, 440, 44, 91, 61, 62, 63, 120, + 304, 330, 58, 59, 69, 70, 71, 93, 91, 59, + 44, 340, 260, 91, 46, 260, 125, 37, 300, 84, + 300, 46, 42, 43, 63, 45, 41, 47, 41, 44, + 123, 42, 97, 98, 46, 100, 483, 93, 286, 125, + 105, 106, 509, 58, 59, 317, 59, 41, 169, 125, + 44, 39, 91, 123, 46, 120, 125, 264, 179, 93, + 126, 49, 50, 51, 58, 59, 58, 41, 44, 125, + 44, 37, 38, 138, 123, 125, 42, 43, 93, 45, + 93, 47, 364, 41, 58, 59, 44, 260, 44, 44, + 59, 125, 340, 64, 60, 340, 62, 162, 163, 93, + 165, 59, 59, 224, 169, 41, 126, 62, 44, 260, + 125, 318, 125, 260, 179, 260, 46, 93, 103, 93, + 126, 338, 260, 91, 59, 93, 260, 300, 94, 194, + 126, 125, 339, 59, 341, 93, 408, 93, 58, 286, + 59, 286, 127, 128, 129, 130, 131, 132, 286, 134, + 272, 125, 286, 138, 123, 44, 37, 93, 124, 224, + 126, 42, 43, 228, 45, 44, 47, 340, 60, 154, + 340, 257, 331, 62, 391, 46, 257, 260, 185, 60, + 59, 62, 260, 37, 58, 250, 59, 332, 42, 43, + 61, 45, 91, 47, 332, 402, 181, 123, 183, 91, + 407, 257, 257, 286, 123, 40, 340, 59, 286, 274, + 340, 196, 197, 198, 199, 200, 201, 202, 203, 204, + 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, + 215, 216, 217, 218, 219, 220, 221, 222, 223, 340, + 225, 311, 257, 402, 403, 126, 312, 454, 236, 260, + 37, 38, 237, 260, 332, 42, 43, 340, 45, 33, + 47, 35, 340, 257, 271, 331, 40, 389, 91, 43, + 260, 45, 126, 60, 91, 62, 59, 37, 38, 264, + 60, 266, 42, 43, 269, 45, 310, 47, 257, 300, + 41, 41, 312, 44, 44, 410, 286, 373, 374, 257, + 60, 424, 62, 61, 373, 374, 312, 94, 58, 59, + 295, 331, 297, 410, 299, 300, 312, 91, 303, 304, + 527, 410, 410, 410, 420, 331, 310, 41, 414, 415, + 44, 257, 317, 318, 46, 331, 402, 403, 257, 126, + 260, 261, 332, 93, 58, 59, 312, 469, 355, 61, + 410, 125, 126, 364, 339, 421, 341, 63, 414, 415, + 425, 260, 539, 545, 546, 331, 126, 41, 260, 311, + 435, 356, 260, 580, 33, 125, 35, 570, 571, 93, + 123, 40, 402, 403, 43, 91, 45, 286, 40, 511, + 572, 40, 399, 310, 46, 283, 402, 403, 286, 414, + 415, 421, 595, 474, 475, 91, 402, 403, 393, 474, + 475, 125, 300, 260, 261, 421, 538, 402, 539, 44, + 414, 415, 407, 408, 41, 528, 411, 44, 320, 58, + 533, 312, 91, 44, 400, 401, 402, 403, 445, 41, + 332, 512, 44, 260, 509, 411, 412, 512, 340, 44, + 331, 516, 40, 344, 345, 421, 44, 280, 281, 282, + 283, 284, 285, 123, 287, 123, 125, 126, 93, 454, + 455, 59, 373, 374, 539, 596, 364, 462, 463, 582, + 303, 41, 93, 58, 44, 381, 260, 261, 262, 263, + 264, 265, 33, 97, 35, 616, 105, 106, 601, 40, + 125, 123, 43, 320, 45, 490, 410, 257, 44, 612, + 40, 334, 286, 93, 125, 332, 46, 502, 414, 400, + 401, 402, 403, 340, 41, 312, 33, 44, 35, 41, + 44, 596, 44, 40, 138, 123, 43, 125, 45, 313, + 421, 61, 527, 257, 331, 530, 273, 532, 93, 276, + 91, 616, 312, 260, 260, 41, 13, 14, 44, 163, + 41, 165, 257, 44, 41, 61, 340, 341, 342, 343, + 40, 331, 346, 59, 44, 179, 44, 58, 59, 41, + 286, 566, 123, 123, 91, 126, 360, 361, 362, 363, + 194, 365, 366, 260, 91, 580, 370, 371, 372, 373, + 374, 260, 261, 262, 263, 264, 265, 93, 300, 301, + 302, 40, 93, 400, 401, 402, 403, 602, 123, 126, + 40, 125, 123, 93, 411, 412, 46, 286, 402, 403, + 58, 40, 528, 58, 421, 123, 260, 533, 58, 125, + 400, 401, 402, 403, 125, 260, 250, 300, 301, 302, + 40, 411, 412, 41, 313, 40, 430, 41, 125, 93, + 44, 421, 41, 40, 414, 415, 49, 50, 51, 125, + 274, 40, 61, 91, 58, 59, 41, 40, 91, 44, + 123, 340, 341, 342, 343, 41, 582, 346, 91, 125, + 125, 40, 125, 58, 59, 340, 61, 40, 63, 40, + 414, 360, 361, 362, 363, 601, 365, 366, 59, 93, + 40, 370, 59, 372, 373, 374, 612, 40, 260, 260, + 261, 262, 263, 264, 265, 40, 37, 38, 93, 40, + 41, 42, 43, 44, 45, 340, 47, 41, 59, 41, + 59, 125, 361, 402, 403, 286, 340, 58, 59, 60, + 61, 62, 63, 260, 261, 262, 263, 264, 265, 124, + 125, 61, 61, 260, 261, 262, 263, 264, 265, 91, + 59, 430, 313, 41, 44, 93, 257, 125, 123, 286, + 91, 91, 93, 94, 40, 37, 59, 125, 364, 286, + 42, 43, 123, 45, 44, 47, 260, 321, 41, 340, + 341, 342, 343, 300, 41, 346, 313, 340, 60, 340, + 62, 123, 123, 124, 125, 126, 91, 41, 125, 360, + 361, 362, 363, 59, 365, 366, 40, 125, 371, 370, + 125, 372, 123, 340, 341, 342, 343, 59, 125, 346, + 125, 41, 260, 261, 262, 263, 264, 265, 58, 346, + 41, 125, 123, 360, 361, 362, 363, 260, 365, 366, + 125, 402, 403, 370, 41, 372, 123, 44, 286, 123, + 93, 41, 41, 257, 126, 257, 125, 58, 125, 91, + 91, 58, 59, 286, 61, 91, 63, 125, 93, 430, + 344, 125, 257, 123, 59, 402, 403, 300, 301, 302, + 37, 38, 59, 40, 41, 42, 43, 44, 45, 41, + 47, 59, 41, 41, 364, 41, 93, 94, 41, 7, + 6, 58, 59, 430, 61, 62, 63, 125, 346, 332, + 125, 77, 337, 414, 415, 102, 480, 475, 260, 261, + 262, 263, 264, 265, 516, 60, 257, 124, 125, 260, + 260, 59, 228, 109, 91, 503, 93, 94, 37, 38, + 588, 40, 41, 42, 43, 44, 45, 46, 47, 491, + 280, 281, 282, 283, 284, 285, 286, 287, 552, 58, + 59, 60, 61, 62, 63, 260, 123, 124, 125, 126, + 552, 179, 179, 303, 274, 449, 91, 194, 342, 310, + 311, 312, 456, 235, 239, 165, 31, -1, -1, 320, + -1, 286, 91, -1, 93, 94, -1, -1, -1, 330, + 331, 332, 332, -1, -1, 300, 301, 302, -1, 340, + 414, 415, -1, -1, -1, -1, -1, -1, -1, 404, + 405, 406, 407, 408, -1, 124, 125, 126, -1, 414, + 415, 416, 417, 418, 419, -1, -1, 332, -1, -1, + 312, -1, -1, -1, -1, 519, -1, -1, -1, -1, + 41, -1, 526, 44, -1, -1, -1, -1, -1, 331, + 257, -1, -1, 537, -1, -1, -1, 58, 59, 400, + 401, 402, 403, 404, 405, 406, 407, 408, -1, 410, + 411, 412, -1, 414, 415, 416, 417, 418, 419, -1, + 421, 37, 38, -1, 568, 41, 42, 43, 44, 45, + 257, 47, 93, 260, 41, -1, -1, 44, 41, -1, + -1, 44, 58, 59, 60, 61, 62, 63, -1, -1, + -1, -1, 59, 597, -1, 58, 59, -1, 400, 401, + 402, 403, -1, -1, 125, -1, -1, -1, -1, 411, + 412, 615, -1, -1, -1, 91, 620, 93, 94, 421, + 91, 625, -1, 310, 311, 312, 93, -1, 257, -1, + 93, -1, -1, 320, -1, 280, 281, 282, 283, 284, + 285, -1, 287, 330, 331, 332, -1, -1, 124, 125, + 126, 41, -1, 340, 44, 300, 301, 302, 125, 304, + -1, -1, 125, -1, -1, -1, -1, 91, 58, 59, + -1, -1, -1, -1, -1, -1, -1, 404, 405, 406, + 407, 408, -1, 312, -1, -1, -1, 414, 415, 416, + 417, 418, 419, -1, -1, -1, -1, -1, -1, -1, + -1, 125, 331, 93, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 400, 401, 402, 403, 404, 405, 406, + 407, 408, -1, -1, 411, 412, -1, 414, 415, 416, + 417, 418, 419, -1, 421, 125, 257, -1, -1, 37, + 38, -1, 40, 41, 42, 43, 44, 45, 46, 47, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, 61, 62, 63, -1, -1, -1, -1, -1, 400, 401, 402, 403, 404, 405, 406, 407, 408, - -1, 410, 411, 412, -1, 414, 415, 416, 417, 418, - 419, -1, 421, 91, -1, 93, 94, -1, 400, 401, + -1, 257, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 91, 257, 93, 94, 37, 38, -1, + -1, 41, 42, 43, 44, 45, 46, 47, -1, 280, + 281, 282, 283, 284, 285, -1, 287, -1, 58, 59, + 60, 61, 62, 63, -1, -1, 124, 125, 126, -1, + 41, -1, 303, 44, -1, -1, 312, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 91, 58, 59, -1, + 61, 91, 63, 93, 94, 331, 280, 281, 282, 283, + 284, 285, -1, 287, 340, -1, -1, 257, -1, -1, + 41, -1, -1, 44, -1, -1, -1, -1, -1, 303, + 125, -1, 93, -1, 124, 125, 126, 58, 59, 91, + -1, -1, -1, 414, 415, 37, 38, -1, -1, 41, + 42, 43, 44, 45, 46, 47, -1, -1, -1, -1, + 334, -1, -1, -1, 125, -1, 58, 59, 60, 61, + 62, 63, 93, -1, 400, 401, 402, 403, 404, 405, + 406, 407, 408, -1, 410, 411, 412, -1, 414, 415, + 416, 417, 418, 419, 420, 421, -1, -1, -1, 91, + -1, 93, 94, -1, 125, -1, -1, -1, -1, 257, + -1, -1, -1, 37, 38, -1, -1, 41, 42, 43, + -1, 45, -1, 47, 280, 281, 282, 283, 284, 285, + -1, 287, 124, 125, 126, -1, 60, 61, 62, 63, + -1, -1, -1, -1, -1, -1, -1, 303, -1, -1, + -1, -1, -1, -1, 41, 37, 38, 44, -1, 41, + 42, 43, 44, 45, 312, 47, -1, 257, -1, -1, + 94, 58, 59, -1, 414, 415, 58, 59, 60, 61, + 62, -1, -1, 331, -1, 280, 281, 282, 283, 284, + 285, -1, 287, -1, -1, -1, 257, -1, -1, -1, + 124, -1, 126, -1, -1, -1, 93, -1, 303, -1, + -1, 93, 94, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 312, -1, -1, -1, -1, -1, 280, 281, + 282, 283, 284, 285, -1, 287, 257, -1, 125, 334, + -1, 331, 124, 125, 126, -1, -1, -1, 300, 301, + 302, 303, 400, 401, 402, 403, 404, 405, 406, 407, + 408, -1, -1, 411, 412, 257, 414, 415, 416, 417, + 418, 419, 420, 421, -1, -1, 37, 38, -1, -1, + 41, 42, 43, 44, 45, -1, 47, -1, 41, -1, + -1, 44, -1, -1, -1, -1, -1, 58, 59, 60, + 61, 62, 63, -1, -1, 58, 59, -1, -1, -1, + 400, 401, 402, 403, 404, 405, 406, 407, 408, -1, + 312, 411, 412, -1, 414, 415, 416, 417, 418, 419, + 420, 421, 93, 94, -1, -1, -1, -1, -1, 331, + 93, -1, -1, 404, 405, 406, 407, 408, -1, -1, + -1, -1, 91, 414, 415, 416, 417, 418, 419, -1, + -1, -1, -1, 124, 125, 126, -1, -1, -1, -1, + 257, -1, 125, -1, -1, 257, -1, 37, 38, -1, + -1, 41, 42, 43, 44, 45, 125, 47, 312, -1, + -1, -1, -1, 414, 415, -1, -1, -1, 58, 59, + 60, 61, 62, 63, -1, -1, -1, 331, 400, 401, 402, 403, 404, 405, 406, 407, 408, -1, -1, 411, - 412, -1, 414, 415, 416, 417, 418, 419, -1, 421, - 257, -1, 414, 415, -1, -1, 124, 125, 126, -1, - -1, 257, -1, -1, -1, -1, 37, 38, -1, 40, + 412, -1, 414, 415, 416, 417, 418, 419, 420, 421, + 312, -1, -1, 93, 94, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 330, 331, + -1, -1, -1, -1, 41, -1, -1, 44, 340, -1, + -1, -1, -1, -1, 124, 125, 126, -1, -1, -1, + -1, 58, 59, -1, -1, -1, 400, 401, 402, 403, + 404, 405, 406, 407, 408, -1, -1, 411, 412, -1, + 414, 415, 416, 417, 418, 419, 257, 421, 91, -1, + -1, -1, -1, -1, 257, -1, 93, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 400, 401, + 402, 403, 404, 405, 406, 407, 408, 414, 415, 411, + 412, -1, 414, 415, 416, 417, 418, 419, 125, 421, + -1, 280, 281, 282, 283, 284, 285, -1, 287, 37, + 38, 312, 40, -1, 42, 43, 44, 45, 46, 47, + -1, -1, -1, -1, 303, -1, -1, -1, -1, -1, + 331, -1, 60, 61, 62, 63, 37, 38, -1, 40, 41, 42, 43, 44, 45, 46, 47, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, - 61, 62, 63, 37, 38, -1, -1, 41, 42, 43, - 44, 45, 46, 47, -1, 312, -1, -1, 41, -1, - -1, 44, -1, -1, 58, 59, 60, 61, 62, 63, - 91, -1, 93, 94, 331, 58, 59, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 414, 415, - -1, 280, 281, 282, 283, 284, 285, 91, 287, 93, - 94, -1, -1, 124, 125, 126, -1, -1, -1, -1, - 93, 300, 301, 302, -1, 304, -1, 280, 281, 282, - 283, 284, 285, 91, 287, -1, -1, -1, -1, -1, - 124, 125, 126, 91, -1, -1, -1, -1, -1, 257, - 303, -1, 125, 400, 401, 402, 403, 404, 405, 406, - 407, 408, -1, -1, 411, 412, -1, 414, 415, 416, - 417, 418, 419, 420, 421, -1, -1, 125, 414, 415, + -1, -1, -1, -1, -1, 334, -1, 257, -1, 60, + -1, 62, 63, 91, -1, 93, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 37, 38, -1, -1, 41, 42, 43, 44, 45, - 46, 47, -1, -1, 312, -1, -1, -1, -1, -1, - -1, -1, 58, 59, 60, 61, 62, 63, -1, -1, - -1, -1, -1, 331, -1, -1, -1, -1, -1, 37, - 38, -1, 340, 41, 42, 43, 44, 45, -1, 47, - -1, -1, -1, -1, -1, 91, 257, 93, 94, -1, - 58, 59, 60, 61, 62, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 257, -1, -1, -1, -1, 124, 125, - 126, -1, -1, -1, 257, 93, 94, -1, -1, -1, - -1, -1, 400, 401, 402, 403, 404, 405, 406, 407, - 408, 312, 410, 411, 412, -1, 414, 415, 416, 417, - 418, 419, 420, 421, -1, -1, 124, 125, 126, -1, - 331, -1, 280, 281, 282, 283, 284, 285, 312, 287, - -1, -1, 280, 281, 282, 283, 284, 285, -1, 287, - -1, -1, 300, 301, 302, 303, -1, 331, -1, -1, - -1, -1, -1, -1, -1, 303, 37, 38, -1, -1, - 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, - 61, 62, 63, -1, -1, -1, 334, -1, -1, 400, + 91, -1, -1, 94, -1, -1, 124, -1, 126, 400, 401, 402, 403, 404, 405, 406, 407, 408, -1, -1, - 411, 412, -1, 414, 415, 416, 417, 418, 419, 420, - 421, 257, 93, 94, -1, -1, 400, 401, 402, 403, - 404, 405, 406, 407, 408, -1, -1, 411, 412, -1, - 414, 415, 416, 417, 418, 419, 420, 421, -1, -1, - -1, 414, 415, 124, 125, 126, -1, -1, -1, 257, - -1, -1, -1, 37, 38, -1, -1, 41, 42, 43, - 44, 45, -1, 47, -1, -1, 312, -1, -1, 41, - -1, -1, 44, -1, 58, 59, 60, 61, 62, 63, - -1, -1, -1, -1, -1, 331, 58, 59, -1, -1, - 37, 38, -1, 40, -1, 42, 43, 44, 45, 46, - 47, 91, -1, -1, 312, -1, -1, -1, -1, 93, - 94, -1, -1, 60, 61, 62, 63, -1, -1, -1, - -1, 93, 330, 331, -1, -1, -1, -1, -1, -1, - -1, -1, 340, 41, -1, -1, 44, -1, -1, -1, - 124, 125, 126, -1, 91, -1, 93, 94, -1, -1, - 58, 59, -1, 125, 400, 401, 402, 403, 404, 405, - 406, 407, 408, -1, -1, 411, 412, -1, 414, 415, - 416, 417, 418, 419, 420, 421, 257, 124, -1, 126, - -1, -1, -1, -1, -1, 93, -1, -1, -1, -1, + 411, 412, 312, 414, 415, 416, 417, 418, 419, -1, + 421, 414, 415, 124, -1, 126, -1, -1, -1, -1, + 257, 331, -1, 37, 38, -1, -1, -1, 42, 43, + 44, 45, -1, 47, -1, -1, -1, 280, 281, 282, + 283, 284, 285, -1, 287, -1, 60, 61, 62, 63, + -1, -1, -1, -1, -1, -1, -1, 300, 301, 302, + 303, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 91, -1, 93, + 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 400, 401, 402, 403, 404, 405, 406, 407, 408, -1, + -1, 411, 412, -1, 414, 415, 416, 417, 418, 419, + 124, 421, 126, -1, -1, 33, -1, 35, -1, -1, + -1, -1, 40, -1, -1, 43, -1, 45, -1, -1, + -1, -1, -1, -1, 37, 38, -1, -1, 41, 42, + 43, 44, 45, 61, 47, -1, 257, -1, -1, -1, + -1, -1, -1, -1, -1, 58, 59, 60, 61, 62, + 63, 37, 38, -1, -1, 41, 42, 43, 44, 45, + -1, 47, -1, 91, 312, -1, -1, 414, 415, -1, + -1, -1, 58, 59, 60, 61, 62, 63, -1, -1, + 93, 94, -1, 331, -1, -1, -1, -1, -1, -1, + -1, 312, -1, -1, -1, -1, -1, -1, 126, -1, + -1, -1, -1, -1, -1, -1, -1, 93, 94, -1, + 331, 124, 125, -1, -1, -1, -1, -1, -1, -1, + -1, 37, 38, -1, -1, 41, 42, 43, 44, 45, + -1, 47, -1, -1, -1, -1, -1, -1, 124, 125, + -1, -1, 58, 59, 60, 61, 62, 63, -1, -1, -1, -1, 400, 401, 402, 403, 404, 405, 406, 407, 408, -1, -1, 411, 412, -1, 414, 415, 416, 417, - 418, 419, -1, 421, -1, -1, -1, 125, 37, 38, - -1, 40, 41, 42, 43, 44, 45, 46, 47, -1, - -1, 312, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 60, -1, 62, 63, -1, -1, -1, -1, -1, - 331, -1, -1, -1, 37, 38, -1, -1, -1, 42, - 43, 44, 45, -1, 47, -1, -1, -1, -1, -1, - 260, -1, 91, 257, -1, 94, -1, 60, 61, 62, - 63, -1, -1, -1, -1, 257, -1, -1, -1, -1, - 280, 281, 282, 283, 284, 285, 286, 287, 41, -1, - -1, 44, -1, -1, -1, 124, -1, 126, 91, -1, - 93, 94, -1, 303, -1, 58, 59, -1, -1, 400, + 418, 419, 420, 421, -1, -1, -1, 93, 94, 400, 401, 402, 403, 404, 405, 406, 407, 408, 312, -1, - 411, 412, -1, 414, 415, 416, 417, 418, 419, -1, - 421, 124, 332, 126, -1, -1, -1, 331, -1, 257, - 93, 37, 38, -1, -1, -1, 42, 43, -1, 45, - -1, 47, -1, -1, -1, 312, -1, -1, -1, -1, - -1, -1, -1, -1, 60, -1, 62, -1, -1, -1, - -1, -1, 125, -1, 331, -1, -1, -1, 37, 38, - -1, -1, 41, 42, 43, 44, 45, -1, 47, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 58, - 59, 60, 61, 62, 63, -1, 400, 401, 402, 403, - 404, 405, 406, 407, 408, -1, -1, 411, 412, -1, - 414, 415, 416, 417, 418, 419, -1, 421, 257, -1, - 126, -1, 414, 415, 93, 94, -1, -1, -1, -1, - -1, -1, -1, 400, 401, 402, 403, 404, 405, 406, - 407, 408, -1, -1, 411, 412, 91, 414, 415, 416, - 417, 418, 419, 420, 421, 124, 125, -1, 37, 38, - -1, -1, 41, 42, 43, 44, 45, -1, 47, -1, - -1, -1, -1, 312, -1, -1, -1, -1, -1, 58, - 59, 60, 61, 62, 63, -1, 414, 415, -1, -1, - -1, -1, 331, -1, 257, -1, 37, 38, -1, -1, - 41, 42, 43, 44, 45, -1, 47, -1, -1, 312, - -1, -1, -1, -1, 93, 94, -1, 58, 59, 60, - 61, 62, 63, -1, -1, -1, -1, -1, 331, -1, - -1, -1, -1, 37, 38, -1, -1, 41, 42, 43, - 44, 45, -1, 47, -1, 124, 125, -1, -1, -1, - -1, -1, 93, 94, 58, 59, 60, 61, 62, 63, - -1, 400, 401, 402, 403, 404, 405, 406, 407, 408, - -1, -1, 411, 412, -1, 414, 415, 416, 417, 418, - 419, 420, 421, 124, 125, -1, -1, -1, 257, 93, - 94, -1, -1, -1, -1, -1, -1, 400, 401, 402, - 403, 404, 405, 406, 407, 408, 312, 410, 411, 412, - -1, 414, 415, 416, 417, 418, 419, 420, 421, -1, - 124, 125, -1, 37, 38, 331, -1, 41, 42, 43, - 44, 45, -1, 47, -1, 280, 281, 282, 283, 284, - 285, -1, 287, 312, 58, 59, 60, 61, 62, 63, - -1, 414, 415, -1, -1, 300, 301, 302, 303, -1, - -1, -1, -1, -1, -1, -1, -1, 37, 38, -1, - -1, 41, 42, 43, 44, 45, -1, 47, 257, 93, - 94, -1, -1, -1, -1, -1, -1, -1, 58, 59, - 60, 61, 62, 63, 400, 401, 402, 403, -1, -1, - -1, -1, -1, -1, -1, 411, 412, -1, -1, -1, - 124, 125, -1, -1, -1, 421, 257, -1, -1, -1, - -1, -1, -1, 93, 94, -1, -1, -1, -1, -1, - -1, 400, 401, 312, -1, 404, 405, 406, 407, 408, - -1, -1, 411, 412, -1, 414, 415, 416, 417, 418, - 419, -1, 421, 257, 124, 125, -1, 37, 38, -1, - -1, 41, 42, 43, 44, 45, -1, 47, -1, -1, - -1, 312, -1, -1, -1, -1, -1, -1, 58, 59, - 60, 61, 62, 63, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 37, 38, -1, -1, 41, 42, - 43, 44, 45, -1, 47, -1, -1, -1, 312, -1, - -1, -1, -1, 93, 94, 58, 59, 60, 61, 62, - 63, 400, 401, -1, -1, 404, 405, 406, 407, 408, - -1, -1, 411, 412, -1, 414, 415, 416, 417, 418, - 419, -1, 421, 257, 124, 125, -1, -1, -1, -1, - 93, 94, -1, -1, -1, -1, -1, -1, -1, 400, - 401, -1, -1, 404, 405, 406, 407, 408, -1, -1, - 411, 412, -1, 414, 415, 416, 417, 418, 419, -1, - 421, 124, 125, -1, -1, -1, -1, 257, -1, -1, - -1, -1, -1, -1, -1, -1, 400, 401, 312, -1, + 411, 412, -1, 414, 415, 416, 417, 418, 419, 420, + 421, -1, -1, -1, -1, -1, -1, 331, 124, 125, + -1, -1, -1, -1, 33, -1, 35, -1, -1, -1, + -1, 40, -1, -1, 43, -1, 45, -1, -1, -1, + -1, -1, 260, 261, 262, 263, 264, 265, -1, 58, + -1, -1, -1, -1, 257, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 286, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 257, 91, -1, -1, -1, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 313, 410, 411, 412, -1, + 414, 415, 416, 417, 418, 419, 420, 421, -1, 312, + -1, -1, -1, -1, -1, -1, -1, 126, -1, -1, + -1, -1, 340, -1, -1, -1, -1, -1, 346, -1, + -1, -1, -1, 37, 38, -1, 312, 41, 42, 43, + 44, 45, -1, 47, -1, -1, -1, -1, -1, -1, + -1, 257, -1, -1, 58, 59, 60, 61, 62, 63, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 37, 38, -1, -1, 41, 42, 43, 44, 45, -1, + 47, -1, -1, -1, 402, 403, -1, -1, -1, 93, + 94, 58, 59, 60, 61, 62, 63, 400, 401, -1, + -1, 404, 405, 406, 407, 408, 312, -1, 411, 412, + -1, 414, 415, 416, 417, 418, 419, -1, 421, -1, + 124, 125, -1, -1, 400, 401, 93, 94, 404, 405, + 406, 407, 408, -1, -1, 411, 412, -1, 414, 415, + 416, 417, 418, 419, -1, 421, -1, -1, -1, -1, + -1, 260, 261, 262, 263, 264, 265, 124, 125, -1, + 37, 38, -1, -1, 41, 42, 43, 44, 45, -1, + 47, -1, -1, -1, -1, -1, -1, 286, -1, -1, + -1, 58, 59, 60, 61, 62, 63, -1, -1, -1, + -1, -1, -1, -1, 400, 401, -1, -1, 404, 405, + 406, 407, 408, -1, 313, 411, 412, -1, 414, 415, + 416, 417, 418, 419, -1, 421, 93, 94, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 340, -1, -1, -1, 37, 38, 346, -1, 41, + 42, 43, 44, 45, -1, 47, -1, 124, 125, -1, + -1, -1, -1, 257, -1, -1, 58, 59, 60, 61, + 62, 63, 37, 38, -1, -1, 41, 42, 43, 44, + 45, -1, 47, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 58, 59, 60, 61, 62, 63, -1, + 257, 93, 94, 402, 403, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 37, 38, 312, -1, + -1, 42, 43, -1, 45, -1, 47, -1, 93, 94, + -1, -1, 124, 125, -1, -1, -1, -1, 59, 60, + 61, 62, 63, 37, 38, -1, -1, 41, 42, 43, + -1, 45, -1, 47, -1, 312, -1, -1, -1, 124, + 125, -1, -1, -1, -1, -1, 60, 61, 62, 63, + -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 257, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 94, -1, -1, 124, -1, 126, 400, 401, -1, -1, 404, 405, 406, 407, 408, -1, -1, 411, 412, -1, 414, 415, 416, 417, 418, 419, -1, 421, -1, -1, - -1, 37, 38, -1, -1, 41, 42, 43, -1, 45, + 124, -1, 126, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 400, 401, 312, -1, 404, 405, 406, + 407, 408, -1, -1, 411, 412, -1, 414, 415, 416, + 417, 418, 419, -1, 421, 257, -1, -1, -1, -1, + -1, 37, 38, -1, -1, -1, 42, 43, -1, 45, -1, 47, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 312, -1, 60, 61, 62, 63, -1, -1, + -1, -1, 257, 59, 60, 61, 62, 63, 37, 38, + -1, -1, 41, 42, 43, -1, 45, -1, 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 60, 61, 62, 63, -1, -1, -1, 94, -1, + -1, -1, -1, 400, 401, -1, -1, 404, 405, 406, + 407, 408, -1, -1, 411, 412, -1, 414, 415, 416, + 417, 418, 419, -1, 421, 94, -1, -1, 124, -1, + 126, -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, 257, 94, -1, - -1, -1, -1, -1, -1, -1, 400, 401, -1, -1, + -1, -1, -1, -1, -1, 124, -1, 126, -1, -1, + -1, 312, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 400, 401, + 331, -1, 404, 405, 406, 407, 408, -1, 312, 411, + 412, -1, 414, 415, 416, 417, 418, 419, -1, 421, + -1, -1, -1, -1, -1, 400, 401, 331, -1, 404, + 405, 406, 407, 408, -1, -1, 411, 412, -1, 414, + 415, 416, 417, 418, 419, -1, 421, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 400, + 401, 402, 403, 404, 405, 406, 407, 408, -1, -1, + 411, 412, -1, 414, 415, 416, 417, 418, 419, -1, + 421, -1, -1, -1, -1, -1, 400, 401, 402, 403, 404, 405, 406, 407, 408, -1, -1, 411, 412, -1, - 414, 415, 416, 417, 418, 419, -1, 421, 124, -1, - 126, -1, -1, -1, 257, -1, -1, -1, -1, -1, + 414, 415, 416, 417, 418, 419, -1, 421, 37, 38, + -1, -1, 41, 42, 43, -1, 45, -1, 47, -1, + -1, -1, -1, -1, -1, -1, 312, -1, -1, -1, + -1, 60, 61, 62, 63, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 331, -1, -1, -1, -1, + 37, 38, -1, 312, 41, 42, 43, -1, 45, -1, + 47, -1, -1, -1, -1, 94, -1, -1, -1, -1, + -1, -1, 331, 60, 61, 62, 63, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 400, 401, -1, -1, 404, 405, 406, 407, 408, -1, - -1, 411, 412, -1, 414, 415, 416, 417, 418, 419, - -1, 421, -1, 37, 38, -1, -1, -1, 42, 43, + -1, -1, -1, -1, -1, 124, -1, 126, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, + -1, -1, -1, -1, 400, 401, 402, 403, 404, 405, + 406, 407, 408, -1, -1, 411, 412, -1, 414, 415, + 416, 417, 418, 419, -1, 421, -1, 124, -1, 126, + -1, 400, 401, 402, 403, 404, 405, 406, 407, 408, + -1, -1, 411, 412, -1, 414, 415, 416, 417, 418, + 419, -1, 421, 37, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 59, 60, 61, 62, 63, - -1, -1, -1, -1, -1, -1, -1, -1, 97, -1, + -1, -1, -1, -1, -1, -1, 60, 61, 62, 63, 37, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 94, -1, -1, 60, 61, 62, 63, -1, -1, -1, - 400, 401, -1, -1, 404, 405, 406, 407, 408, 138, - -1, 411, 412, -1, 414, 415, 416, 417, 418, 419, - 124, 421, 126, -1, -1, -1, -1, 94, -1, -1, - -1, -1, -1, -1, 163, -1, 165, 400, 401, -1, - -1, 404, 405, 406, 407, 408, -1, -1, 411, 412, - 179, 414, 415, 416, 417, 418, 419, 124, 421, 126, - -1, -1, -1, -1, -1, 194, -1, 37, 38, -1, - -1, -1, 42, 43, -1, 45, 312, 47, -1, -1, + -1, -1, -1, 60, 61, 62, 63, 37, 38, -1, + 94, -1, 42, 43, -1, 45, -1, 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, - 60, 61, 62, 63, -1, 331, -1, -1, -1, -1, - -1, -1, 37, 38, -1, -1, 41, 42, 43, -1, - 45, -1, 47, -1, -1, -1, -1, -1, -1, -1, - -1, 250, -1, -1, 94, 60, 61, 62, 63, -1, + 60, 61, 62, 63, -1, -1, -1, 94, -1, -1, + 124, -1, 126, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 274, -1, -1, -1, -1, - -1, -1, -1, -1, 124, -1, 126, -1, -1, 94, - -1, -1, -1, -1, 400, 401, 402, 403, 404, 405, - 406, 407, 408, -1, -1, 411, 412, -1, 414, 415, - 416, 417, 418, 419, -1, 421, -1, -1, -1, 124, - -1, 126, -1, -1, -1, -1, -1, -1, -1, 37, - 38, -1, -1, 41, 42, 43, -1, 45, 312, 47, + -1, -1, -1, -1, 94, -1, -1, 124, -1, 126, + -1, -1, -1, 312, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 60, 61, 62, 63, -1, 331, -1, -1, - -1, -1, -1, -1, 37, 38, -1, -1, 41, 42, - 43, -1, 45, -1, 47, 312, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 94, 60, 61, 62, - 63, -1, -1, -1, 331, -1, -1, -1, -1, -1, + -1, -1, 331, -1, 124, -1, 126, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 124, -1, 126, -1, - -1, 94, -1, -1, -1, -1, 400, 401, 402, 403, - 404, 405, 406, 407, 408, -1, -1, 411, 412, -1, - 414, 415, 416, 417, 418, 419, -1, 421, -1, -1, - -1, 124, -1, 126, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 400, 401, 402, 403, 404, 405, 406, - 407, 408, 312, -1, 411, 412, -1, 414, 415, 416, - 417, 418, 419, -1, 421, -1, -1, -1, -1, -1, - -1, 331, -1, 37, 38, -1, -1, 41, 42, 43, - -1, 45, -1, 47, -1, -1, -1, 312, -1, -1, - -1, -1, -1, -1, -1, -1, 60, 61, 62, 63, - -1, -1, -1, -1, -1, -1, 331, -1, 37, 38, - -1, -1, 41, 42, 43, -1, 45, -1, 47, -1, + -1, -1, -1, -1, -1, 312, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 331, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 94, 60, 61, 62, 63, -1, -1, -1, -1, -1, - 400, 401, 402, 403, 404, 405, 406, 407, 408, -1, - -1, 411, 412, -1, 414, 415, 416, 417, 418, 419, - 124, 421, 126, -1, -1, 94, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 400, 401, 402, 403, 404, - 405, 406, 407, 408, 312, -1, 411, 412, -1, 414, - 415, 416, 417, 418, 419, 124, 421, 126, -1, -1, - -1, -1, -1, 331, -1, 37, 38, -1, -1, -1, - 42, 43, -1, 45, -1, 47, -1, -1, -1, 312, - -1, -1, -1, -1, -1, -1, -1, 59, 60, 61, - 62, 63, -1, -1, -1, -1, -1, -1, 331, -1, - 37, 38, -1, -1, -1, 42, 43, -1, 45, -1, - 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 58, 94, 60, 61, 62, 63, -1, -1, -1, - -1, -1, 400, 401, 402, 403, 404, 405, 406, 407, - 408, -1, -1, 411, 412, -1, 414, 415, 416, 417, - 418, 419, 124, 421, 126, -1, -1, 94, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 400, 401, 402, - 403, 404, 405, 406, 407, 408, -1, -1, 411, 412, - -1, 414, 415, 416, 417, 418, 419, 124, 421, 126, - -1, -1, -1, -1, -1, -1, -1, 37, 38, -1, - -1, -1, 42, 43, -1, 45, -1, 47, 312, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 60, 61, 62, 63, -1, -1, -1, 331, -1, -1, - -1, -1, 37, 38, -1, -1, -1, 42, 43, -1, - 45, -1, 47, 312, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 94, 60, 61, 62, 63, -1, - -1, -1, 331, -1, -1, 37, -1, -1, -1, -1, - 42, 43, -1, 45, -1, 47, -1, -1, -1, -1, - -1, -1, -1, -1, 124, -1, 126, -1, 60, 94, - 62, -1, -1, -1, -1, -1, 400, 401, 402, 403, - 404, 405, 406, 407, 408, -1, -1, 411, 412, -1, - 414, 415, 416, 417, 418, 419, -1, 421, -1, 124, - -1, 126, -1, -1, -1, -1, -1, -1, -1, -1, -1, 400, 401, 402, 403, 404, 405, 406, 407, 408, - 312, -1, 411, 412, -1, 414, 415, 416, 417, 418, - 419, -1, 421, -1, 126, -1, -1, -1, -1, 331, - -1, 37, 38, -1, -1, -1, 42, 43, -1, 45, - -1, 47, -1, -1, -1, 312, -1, -1, -1, -1, - -1, -1, -1, -1, 60, 61, 62, 63, -1, -1, - -1, -1, -1, -1, 331, -1, 37, 38, -1, -1, - -1, 42, 43, -1, 45, -1, 47, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 94, 60, - -1, 62, -1, -1, -1, -1, -1, -1, 400, 401, - 402, 403, 404, 405, 406, 407, 408, -1, -1, 411, - 412, -1, 414, 415, 416, 417, 418, 419, 124, 421, - 126, -1, -1, 94, -1, -1, -1, -1, -1, -1, + -1, -1, 411, 412, -1, 414, 415, 416, 417, 418, + 419, -1, 421, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 400, 401, 402, 403, 404, 405, 406, - 407, 408, 312, -1, 411, 412, -1, 414, 415, 416, - 417, 418, 419, 124, 421, 126, -1, -1, -1, -1, - -1, 331, -1, 37, -1, -1, -1, -1, 42, 43, - -1, 45, -1, 47, -1, -1, -1, 312, -1, -1, - -1, -1, -1, -1, -1, -1, 60, -1, 62, -1, - -1, -1, -1, -1, -1, -1, 331, -1, -1, -1, - -1, 37, 38, -1, -1, 41, 42, 43, 44, 45, - 312, 47, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 58, 59, 60, 61, 62, 63, -1, 331, + 407, 408, -1, -1, 411, 412, -1, 414, 415, 416, + 417, 418, 419, -1, 421, -1, -1, -1, 312, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 331, -1, -1, + -1, -1, 37, 38, -1, 312, -1, 42, 43, -1, + 45, -1, 47, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 58, 331, 60, 61, 62, 63, 37, + 38, -1, 312, -1, 42, 43, -1, 45, -1, 47, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 331, 60, 61, 62, 63, -1, -1, -1, 94, + -1, -1, -1, -1, -1, -1, 400, 401, 402, 403, + 404, 405, 406, 407, 408, -1, -1, 411, 412, -1, + 414, 415, 416, 417, 418, 419, 94, 421, -1, 124, + -1, 126, -1, 400, 401, 402, 403, 404, 405, 406, + 407, 408, -1, -1, 411, 412, -1, 414, 415, 416, + 417, 418, 419, -1, 421, -1, 124, -1, 126, -1, 400, 401, 402, 403, 404, 405, 406, 407, 408, -1, -1, 411, 412, -1, 414, 415, 416, 417, 418, 419, - -1, 421, 126, -1, -1, -1, -1, 93, 94, -1, - -1, -1, -1, -1, -1, 400, 401, 402, 403, 404, - 405, 406, 407, 408, -1, -1, 411, 412, -1, -1, - 415, 416, 417, 418, 419, -1, 421, -1, 124, 125, - -1, -1, -1, -1, -1, -1, -1, -1, 400, 401, - 402, 403, -1, -1, -1, -1, 312, -1, -1, 411, - 412, -1, -1, -1, -1, -1, -1, -1, -1, 421, - -1, -1, -1, -1, -1, 331, -1, -1, -1, 37, - 38, -1, -1, 41, 42, 43, 44, 45, -1, 47, - -1, 312, -1, -1, -1, -1, -1, -1, -1, -1, - 58, 59, 60, 61, 62, 63, -1, -1, -1, -1, - 331, -1, -1, -1, -1, -1, 37, 38, -1, -1, + -1, 421, 37, 38, -1, -1, -1, 42, 43, -1, + 45, -1, 47, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 60, 61, 62, 63, 37, + 38, -1, -1, -1, 42, 43, -1, 45, -1, 47, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 60, 61, 62, 63, 37, 38, -1, 94, 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, - -1, -1, -1, -1, -1, 93, 94, 58, 59, 60, - 61, 62, 63, -1, 400, 401, 402, 403, 404, 405, - 406, 407, 408, -1, -1, 411, 412, -1, -1, -1, - 416, 417, 418, 419, -1, 421, 124, 125, -1, -1, - -1, 257, 93, 94, -1, -1, -1, -1, -1, 400, - 401, 402, 403, -1, -1, -1, -1, -1, 312, -1, - 411, 412, -1, -1, -1, -1, -1, -1, -1, -1, - 421, -1, -1, 124, 125, 38, -1, 331, 41, -1, - 43, 44, 45, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 58, 59, 60, 61, 62, - 63, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 38, -1, - -1, 41, -1, 43, 44, 45, -1, -1, -1, -1, - 93, 94, -1, -1, -1, -1, -1, -1, 58, 59, - 60, 61, 62, 63, -1, -1, 400, 401, 402, 403, - -1, -1, -1, -1, -1, -1, -1, 38, -1, -1, - 41, 124, 125, 44, -1, -1, -1, 421, -1, 257, - -1, -1, -1, 93, 94, -1, -1, 58, 59, -1, - 61, -1, 63, -1, 400, 401, -1, -1, 404, 405, - 406, 407, 408, -1, -1, 411, 412, -1, 414, 415, - 416, 417, 418, 419, 124, 125, 257, -1, -1, -1, - -1, 38, 93, 94, 41, -1, -1, 44, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, + 61, 62, 63, -1, -1, -1, 94, -1, -1, 124, + -1, 126, -1, -1, -1, -1, -1, -1, 37, 38, + -1, -1, 41, 42, 43, 44, 45, -1, 47, -1, + -1, -1, 93, 94, -1, -1, 124, -1, 126, 58, + 59, 60, 61, 62, 63, 37, 38, -1, -1, 41, + 42, 43, 44, 45, -1, 47, -1, 312, -1, -1, + -1, -1, -1, 124, 125, -1, 58, 59, 60, 61, + 62, 63, -1, -1, 93, 94, 331, -1, -1, -1, + -1, -1, -1, -1, 312, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 58, 59, -1, 61, -1, 63, -1, -1, -1, - -1, -1, -1, 124, 125, -1, -1, -1, 38, -1, - -1, 41, -1, -1, 44, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 93, 94, 58, 59, - -1, 61, -1, 63, -1, -1, -1, -1, -1, -1, + -1, 93, 94, 331, -1, 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, 38, -1, -1, 41, -1, - -1, 44, -1, -1, 257, -1, -1, 124, 125, -1, - -1, -1, -1, 93, 94, 58, 59, -1, 61, -1, - 63, -1, 400, 401, -1, -1, 404, 405, 406, 407, + 43, 44, 45, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 124, 125, -1, 58, 59, 60, 61, 62, + 63, -1, -1, -1, -1, 400, 401, 402, 403, 404, + 405, 406, 407, 408, -1, -1, 411, 412, -1, 414, + 415, 416, 417, 418, 419, -1, 421, -1, -1, -1, + 93, 94, 400, 401, 402, 403, 404, 405, 406, 407, 408, -1, -1, 411, 412, -1, 414, 415, 416, 417, - 418, 419, -1, -1, 124, 125, -1, 257, -1, -1, - 93, 94, -1, -1, -1, -1, -1, -1, -1, 400, - 401, -1, -1, 404, 405, 406, 407, 408, -1, -1, + 418, 419, -1, 421, -1, -1, 257, 312, -1, -1, + -1, 124, 125, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 38, -1, -1, 41, 331, 43, 44, 45, + -1, -1, -1, -1, 312, -1, -1, -1, -1, -1, + -1, -1, 58, 59, 60, 61, 62, 63, 257, 38, + -1, -1, 41, 331, -1, 44, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 38, -1, -1, 41, 58, + 59, 44, 61, -1, 63, 257, -1, 93, 94, -1, + -1, -1, -1, -1, -1, 58, 59, -1, 61, -1, + 63, -1, -1, -1, -1, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 93, 94, 411, 412, 124, 125, + 415, 416, 417, 418, 419, -1, 421, -1, -1, -1, + 93, 94, 400, 401, 402, 403, 404, 405, 406, 407, + 408, -1, -1, 411, 412, 124, 125, -1, 416, 417, + 418, 419, -1, 421, 257, -1, -1, -1, -1, 400, + 401, 124, 125, 404, 405, 406, 407, 408, -1, -1, 411, 412, -1, 414, 415, 416, 417, 418, 419, -1, - -1, 124, 125, -1, -1, -1, 257, 38, -1, -1, - 41, -1, -1, 44, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 58, 59, -1, - 61, -1, 63, -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, - 257, -1, 93, 94, -1, -1, -1, 400, 401, -1, - -1, 404, 405, 406, 407, 408, -1, -1, 411, 412, - -1, 414, 415, 416, 417, 418, 419, -1, -1, -1, - -1, -1, -1, 124, 125, -1, -1, 257, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 400, 401, -1, -1, 404, 405, 406, 407, 408, -1, - 41, 411, 412, 44, 414, 415, 416, 417, 418, 419, - -1, -1, -1, -1, 257, -1, -1, 58, 59, -1, - 61, -1, 63, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 404, 405, 406, 407, 408, -1, -1, - 411, 412, -1, 414, 415, 416, 417, 418, 419, -1, - -1, -1, 93, 94, 38, -1, -1, 41, -1, -1, - 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 58, 59, -1, 61, -1, 63, - -1, -1, -1, 124, 125, -1, -1, 404, 405, 406, - 407, 408, -1, -1, 411, 412, -1, 414, 415, 416, - 417, 418, 419, -1, -1, -1, 257, -1, -1, 93, - 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 404, 405, 406, 407, 408, -1, - 41, 411, 412, 44, 414, 415, 416, 417, 418, 419, - 124, 125, -1, -1, -1, -1, -1, 58, 59, -1, - 61, -1, 63, -1, -1, -1, -1, -1, -1, -1, + -1, 400, 401, -1, -1, 404, 405, 406, 407, 408, + -1, -1, 411, 412, -1, 414, 415, 416, 417, 418, + 419, -1, -1, -1, -1, -1, -1, -1, 400, 401, + -1, -1, 404, 405, 406, 407, 408, -1, -1, 411, + 412, -1, 414, 415, 416, 417, 418, 419, -1, -1, + -1, 257, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 38, -1, -1, 41, -1, -1, 44, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 257, -1, + -1, -1, 58, 59, -1, 61, -1, 63, -1, -1, + -1, -1, -1, -1, 257, -1, -1, 400, 401, -1, -1, 404, 405, 406, 407, 408, -1, -1, 411, 412, - -1, 414, 415, 416, 417, 418, 419, -1, -1, -1, - -1, -1, 93, 38, -1, -1, 41, -1, -1, 44, + -1, 414, 415, 416, 417, 418, 419, 93, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 345, 58, 59, -1, 61, -1, 63, -1, - -1, -1, -1, 124, 125, -1, 257, -1, -1, -1, 38, -1, -1, 41, -1, -1, 44, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 93, 94, + -1, -1, -1, -1, -1, -1, -1, -1, 124, 125, 58, 59, -1, 61, -1, 63, -1, -1, -1, -1, - -1, -1, -1, 404, 405, 406, 407, 408, -1, -1, - 411, 412, -1, 414, 415, 416, 417, 418, 419, 124, - 125, 38, -1, 257, 41, 93, 94, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 58, 59, -1, 61, 38, 63, -1, 41, -1, - -1, 44, -1, -1, -1, -1, 124, 125, -1, -1, - 453, -1, -1, -1, -1, 58, 59, 460, 61, 41, - 63, -1, 44, -1, -1, -1, 93, 94, -1, -1, - -1, -1, -1, -1, -1, -1, 58, 59, -1, 61, - -1, 63, -1, -1, -1, -1, 257, -1, -1, -1, - 93, 94, -1, -1, -1, -1, -1, 124, 125, -1, - -1, -1, -1, 404, 405, 406, 407, 408, -1, -1, - -1, 93, -1, 414, 415, 416, 417, 418, 419, -1, - 523, 124, 125, -1, -1, -1, -1, 530, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 541, -1, - -1, -1, 257, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 404, 405, 406, 407, 408, -1, -1, 411, 412, 572, - 414, 415, 416, 417, 418, 419, -1, -1, -1, 257, + -1, -1, -1, -1, -1, 93, 94, -1, -1, -1, + -1, -1, -1, -1, 400, 401, -1, -1, 404, 405, + 406, 407, 408, -1, -1, 411, 412, -1, 414, 415, + 416, 417, 418, 419, -1, -1, 124, 125, -1, -1, + -1, -1, -1, -1, -1, 404, 405, 406, 407, 408, + -1, -1, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 404, 405, 406, 407, 408, -1, -1, 411, 412, + -1, 414, 415, 416, 417, 418, 419, 38, -1, -1, + 41, -1, -1, 44, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 38, -1, -1, 41, 58, 59, 44, + 61, 257, 63, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 58, 59, -1, 61, 38, 63, -1, + 41, -1, -1, 44, -1, -1, -1, -1, -1, -1, + -1, -1, 93, 94, -1, -1, -1, 58, 59, -1, + 61, -1, 63, -1, -1, -1, -1, -1, 93, 94, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 601, -1, + -1, -1, -1, 124, 125, -1, -1, -1, -1, 257, + -1, -1, 93, 94, -1, -1, -1, -1, -1, 124, + 125, -1, -1, -1, -1, 38, -1, -1, 41, -1, + -1, 44, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 124, 125, 58, 59, -1, 61, -1, + 63, 38, -1, -1, 41, -1, -1, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 33, -1, 35, -1, 619, -1, -1, 40, - -1, 624, 43, -1, 45, -1, 629, -1, -1, -1, - 257, -1, -1, 404, 405, 406, 407, 408, -1, 60, - -1, -1, -1, 414, 415, 416, 417, 418, 419, 33, - -1, 35, -1, -1, 257, -1, 40, -1, -1, 43, - -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, - 91, -1, -1, -1, -1, 257, -1, -1, 62, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 404, - 405, 406, 407, 408, -1, -1, 411, 412, -1, 414, - 415, 416, 417, 418, 419, 126, -1, 91, -1, -1, + -1, 58, 59, -1, 61, -1, 63, -1, -1, -1, + 93, 94, -1, -1, -1, -1, -1, -1, 404, 405, + 406, 407, 408, -1, -1, 411, 412, -1, 414, 415, + 416, 417, 418, 419, -1, -1, 93, 94, -1, -1, + -1, 124, 125, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 38, -1, -1, 41, -1, -1, 44, -1, + -1, -1, -1, -1, -1, -1, 257, 124, 125, -1, + -1, -1, 58, 59, -1, 61, -1, 63, -1, -1, + -1, -1, 257, -1, -1, -1, 404, 405, 406, 407, + 408, -1, -1, 411, 412, -1, 414, 415, 416, 417, + 418, 419, -1, -1, -1, -1, 257, 93, 94, -1, + -1, 38, -1, -1, 41, -1, -1, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 404, 405, 406, 407, - 408, -1, -1, -1, -1, -1, 414, 415, 416, 417, - 418, 419, 126, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 33, - -1, 35, -1, -1, -1, -1, 40, -1, -1, 43, - -1, 45, -1, -1, -1, -1, -1, 404, 405, 406, - 407, 408, -1, -1, 58, -1, -1, 414, 415, 416, + -1, 58, 59, -1, 61, -1, 63, -1, 124, 125, + -1, -1, -1, -1, -1, 33, -1, 35, -1, -1, + -1, -1, 40, -1, -1, 43, -1, 45, -1, -1, + -1, -1, -1, -1, -1, -1, 93, 94, -1, -1, + -1, -1, 60, -1, 257, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 124, 125, -1, + 257, -1, -1, 91, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 404, 405, 406, 407, 408, -1, -1, + 411, 412, -1, 414, 415, 416, 417, 418, 419, 404, + 405, 406, 407, 408, -1, -1, 411, 412, 126, 414, + 415, 416, 417, 418, 419, -1, -1, -1, -1, -1, + -1, -1, -1, 404, 405, 406, 407, 408, -1, -1, + 411, 412, -1, 414, 415, 416, 417, 418, 419, -1, + -1, 257, -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, 33, -1, 35, + -1, -1, -1, -1, 40, -1, -1, 43, -1, 45, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 404, 405, 406, 407, 408, 62, -1, 411, 412, + 257, 414, 415, 416, 417, 418, 419, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 404, 405, 406, + 407, 408, -1, -1, -1, 91, -1, 414, 415, 416, 417, 418, 419, -1, -1, -1, -1, -1, -1, -1, - -1, 404, 405, 406, 407, 408, -1, -1, -1, -1, - -1, 414, 415, 416, 417, 418, 419, 91, -1, -1, - -1, -1, 404, 405, 406, 407, 408, -1, -1, -1, - -1, -1, 414, 415, 416, 417, 418, 419, -1, 260, - 261, 262, 263, 264, 265, -1, 33, -1, 35, -1, - -1, -1, 126, 40, -1, -1, 43, 33, 45, 35, - -1, -1, -1, -1, 40, 286, -1, 43, -1, 45, - -1, -1, -1, -1, 61, -1, 260, 261, 262, 263, - 264, 265, -1, -1, -1, 61, 33, -1, 35, -1, - -1, -1, 313, 40, -1, -1, 43, -1, 45, -1, - -1, -1, 286, -1, 91, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 91, 33, -1, 35, 340, - -1, -1, -1, 40, -1, 346, 43, -1, 45, 313, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 126, - -1, -1, -1, -1, 91, 33, -1, 35, -1, -1, - 126, -1, 40, -1, -1, 43, 340, 45, -1, 33, - -1, 35, 346, -1, -1, -1, 40, -1, -1, 43, - -1, 45, -1, -1, 91, -1, 123, -1, -1, 126, - 401, 402, 403, -1, -1, -1, 260, 261, 262, 263, - 264, 265, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 91, -1, 93, -1, -1, -1, 126, - -1, -1, 286, -1, -1, -1, 400, 91, 402, 403, + -1, -1, 260, 261, 262, 263, 264, 265, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 33, + 126, 35, -1, -1, -1, -1, 40, -1, 286, 43, + -1, 45, -1, 33, -1, 35, -1, -1, -1, -1, + 40, -1, -1, 43, -1, 45, -1, 61, 404, 405, + 406, 407, 408, -1, -1, 313, -1, -1, 414, 415, + 416, 417, 418, 419, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 33, -1, 35, 91, -1, -1, + -1, 40, 340, -1, 43, -1, 45, -1, 346, -1, + -1, 91, 33, -1, 35, -1, -1, -1, -1, 40, + -1, -1, 43, -1, 45, -1, -1, 404, 405, 406, + 407, 408, 126, -1, -1, -1, -1, 414, 415, 416, + 417, 418, 419, 123, -1, -1, 126, -1, -1, 33, + -1, 35, 91, -1, 93, -1, 40, -1, -1, 43, + -1, 45, -1, 401, 402, 403, -1, -1, -1, -1, + 91, -1, -1, -1, 260, 261, 262, 263, 264, 265, + -1, -1, -1, -1, -1, -1, -1, 126, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 126, 313, + 286, -1, -1, -1, -1, 126, -1, 91, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 126, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 340, -1, -1, -1, - -1, -1, 346, 260, 261, 262, 263, 264, 265, -1, - -1, -1, -1, -1, 260, 261, 262, 263, 264, 265, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 286, + -1, -1, -1, -1, -1, -1, -1, 313, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 286, -1, -1, 260, 261, 262, 263, 264, 265, -1, - -1, -1, -1, -1, -1, -1, 313, -1, 402, 403, - -1, -1, -1, -1, -1, -1, -1, 313, -1, 286, - -1, -1, -1, 260, 261, 262, 263, 264, 265, -1, - -1, -1, -1, 340, -1, -1, -1, -1, -1, 346, - -1, -1, -1, -1, 340, -1, 313, -1, -1, 286, - 346, -1, 260, 261, 262, 263, 264, 265, -1, -1, - -1, -1, -1, -1, -1, -1, 260, 261, 262, 263, - 264, 265, -1, 340, -1, -1, 313, -1, 286, 346, + -1, -1, 126, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 340, -1, -1, -1, -1, -1, + 346, -1, -1, -1, -1, -1, 260, 261, 262, 263, + 264, 265, -1, -1, -1, -1, -1, -1, -1, -1, + 260, 261, 262, 263, 264, 265, -1, -1, -1, -1, + -1, -1, 286, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 286, -1, -1, -1, + -1, -1, -1, -1, 400, -1, 402, 403, -1, 313, + -1, 260, 261, 262, 263, 264, 265, -1, -1, -1, + -1, -1, -1, 313, -1, -1, -1, -1, -1, 260, + 261, 262, 263, 264, 265, -1, 340, 286, -1, -1, + -1, -1, 346, -1, -1, -1, -1, -1, -1, -1, + 340, -1, -1, -1, -1, 286, 346, -1, -1, -1, + -1, -1, -1, -1, 313, -1, 260, 261, 262, 263, + 264, 265, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 313, -1, -1, -1, -1, -1, -1, -1, + -1, 340, 286, -1, -1, -1, -1, 346, 402, 403, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 340, + -1, -1, 402, 403, -1, 346, -1, -1, -1, 313, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 286, -1, -1, 402, 403, -1, -1, -1, - -1, -1, -1, 340, -1, 313, 402, 403, -1, 346, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 313, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 340, -1, -1, 402, 403, -1, 346, -1, -1, -1, -1, -1, -1, -1, 340, -1, -1, -1, - -1, -1, 346, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 402, 403, -1, -1, -1, + -1, -1, 346, 402, 403, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 402, 403, -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, 402, 403, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 402, 403, ); protected static $yyFinal= 2; @@ -2856,90 +2859,82 @@ public function yyparse($yyLex) { } break; case 286: #line 1019 "src/main/jay/grammars/xp.jay" - { $yyVals[-1+$yyTop]= $yyLex->create(new InstanceCallNode(NULL, NULL, $yyVals[-1+$yyTop])); } break; - - case 287: #line 1019 "src/main/jay/grammars/xp.jay" - { - $yyVals[-4+$yyTop]->arguments= $yyVals[-1+$yyTop]; - } break; - - case 288: #line 1022 "src/main/jay/grammars/xp.jay" { $yyVals[0+$yyTop]= $yyLex->create(new InstanceCallNode(NULL, NULL, FALSE)); } break; - case 289: #line 1022 "src/main/jay/grammars/xp.jay" + case 287: #line 1019 "src/main/jay/grammars/xp.jay" { $yyVals[-3+$yyTop]->arguments= $yyVals[-1+$yyTop]; } break; - case 290: #line 1028 "src/main/jay/grammars/xp.jay" + case 288: #line 1025 "src/main/jay/grammars/xp.jay" { $yyVal= FALSE; } break; - case 291: #line 1029 "src/main/jay/grammars/xp.jay" + case 289: #line 1026 "src/main/jay/grammars/xp.jay" { $yyVal= TRUE; } break; - case 298: #line 1047 "src/main/jay/grammars/xp.jay" + case 296: #line 1044 "src/main/jay/grammars/xp.jay" { $yyVal= new TypeName($yyVals[0+$yyTop]); } break; - case 299: #line 1048 "src/main/jay/grammars/xp.jay" + case 297: #line 1045 "src/main/jay/grammars/xp.jay" { $yyVal= new TypeName($yyVals[-3+$yyTop], $yyVals[-1+$yyTop]); } break; - case 300: #line 1052 "src/main/jay/grammars/xp.jay" + case 298: #line 1049 "src/main/jay/grammars/xp.jay" { $yyVal= new TypeName($yyVals[-2+$yyTop]->compoundName().'[]'); } break; - case 301: #line 1056 "src/main/jay/grammars/xp.jay" + case 299: #line 1053 "src/main/jay/grammars/xp.jay" { $yyVal= new TypeName('[:'.$yyVals[-1+$yyTop]->compoundName().']'); } break; - case 302: #line 1060 "src/main/jay/grammars/xp.jay" + case 300: #line 1057 "src/main/jay/grammars/xp.jay" { $yyVal= array($yyVals[0+$yyTop]); } break; - case 303: #line 1061 "src/main/jay/grammars/xp.jay" + case 301: #line 1058 "src/main/jay/grammars/xp.jay" { $yyVal= array_merge($yyVals[-2+$yyTop], array($yyVals[0+$yyTop])); } break; - case 305: #line 1066 "src/main/jay/grammars/xp.jay" + case 303: #line 1063 "src/main/jay/grammars/xp.jay" { $yyVal= new TypeName($yyVals[0+$yyTop].'+'); } break; - case 306: #line 1070 "src/main/jay/grammars/xp.jay" + case 304: #line 1067 "src/main/jay/grammars/xp.jay" { $yyVal= array($yyVals[0+$yyTop]); } break; - case 307: #line 1071 "src/main/jay/grammars/xp.jay" + case 305: #line 1068 "src/main/jay/grammars/xp.jay" { $yyVal= array_merge(array($yyVals[-2+$yyTop]), $yyVals[0+$yyTop]); } break; - case 308: #line 1077 "src/main/jay/grammars/xp.jay" + case 306: #line 1074 "src/main/jay/grammars/xp.jay" { $yyVal= 0; } break; - case 309: #line 1078 "src/main/jay/grammars/xp.jay" + case 307: #line 1075 "src/main/jay/grammars/xp.jay" { $yyVal= $yyVals[0+$yyTop]; } break; - case 310: #line 1082 "src/main/jay/grammars/xp.jay" + case 308: #line 1079 "src/main/jay/grammars/xp.jay" { $yyVal= $yyVals[0+$yyTop]; } break; - case 311: #line 1083 "src/main/jay/grammars/xp.jay" + case 309: #line 1080 "src/main/jay/grammars/xp.jay" { $yyVal= $yyVals[-1+$yyTop] | $yyVals[0+$yyTop]; } break; - case 312: #line 1087 "src/main/jay/grammars/xp.jay" + case 310: #line 1084 "src/main/jay/grammars/xp.jay" { $yyVal= MODIFIER_PUBLIC; } break; - case 313: #line 1088 "src/main/jay/grammars/xp.jay" + case 311: #line 1085 "src/main/jay/grammars/xp.jay" { $yyVal= MODIFIER_PROTECTED; } break; - case 314: #line 1089 "src/main/jay/grammars/xp.jay" + case 312: #line 1086 "src/main/jay/grammars/xp.jay" { $yyVal= MODIFIER_PRIVATE; } break; - case 315: #line 1090 "src/main/jay/grammars/xp.jay" + case 313: #line 1087 "src/main/jay/grammars/xp.jay" { $yyVal= MODIFIER_PACKAGE; } break; - case 316: #line 1091 "src/main/jay/grammars/xp.jay" + case 314: #line 1088 "src/main/jay/grammars/xp.jay" { $yyVal= MODIFIER_STATIC; } break; - case 317: #line 1092 "src/main/jay/grammars/xp.jay" + case 315: #line 1089 "src/main/jay/grammars/xp.jay" { $yyVal= MODIFIER_ABSTRACT; } break; - case 318: #line 1093 "src/main/jay/grammars/xp.jay" + case 316: #line 1090 "src/main/jay/grammars/xp.jay" { $yyVal= MODIFIER_FINAL; } break; - case 319: #line 1094 "src/main/jay/grammars/xp.jay" + case 317: #line 1091 "src/main/jay/grammars/xp.jay" { $yyVal= MODIFIER_INLINE; } break; -#line 2943 "-" +#line 2938 "-" } $yyTop-= self::$yyLen[$yyN]; diff --git a/src/test/php/net/xp_lang/tests/execution/source/NavigationOperatorTest.class.php b/src/test/php/net/xp_lang/tests/execution/source/NavigationOperatorTest.class.php index 967e84597..2dd7dc736 100644 --- a/src/test/php/net/xp_lang/tests/execution/source/NavigationOperatorTest.class.php +++ b/src/test/php/net/xp_lang/tests/execution/source/NavigationOperatorTest.class.php @@ -1,80 +1,37 @@ assertNull($this->run('$i= null; return $i?.member;')); } - /** - * Test member access - * - */ #[@test] public function member_access_on_self() { $this->assertTrue($this->run('$i= new self() { bool $member= true; }; return $i?.member;')); } - /** - * Test method call - * - */ #[@test] public function method_call_on_null() { $this->assertNull($this->run('$i= null; return $i?.toString();')); } - /** - * Test method call - * - */ #[@test] public function method_call_on_self() { $this->assertEquals('OK', $this->run('$i= new self() { string toString() { return "OK"; } }; return $i?.toString();')); } - /** - * Test method call - * - */ #[@test] public function method_call_on_null_member() { $this->assertNull($this->run('$i= new self() { lang.types.Integer $member= null; }; return $i?.member?.intValue();')); } - /** - * Test method call - * - */ #[@test] public function method_call_on_member() { $this->assertEquals(1, $this->run('$i= new self() { lang.types.Integer $member= new lang.types.Integer(1); }; return $i?.member?.intValue();')); } - - /** - * Test invocation - * - */ - #[@test] - public function invocation_on_null() { - $this->assertNull($this->run('$i= null; return $i?.(true);')); - } - - /** - * Test member access - * - */ - #[@test] - public function invocation_on_lambda() { - $this->assertTrue($this->run('$i= #{ $a -> $a }; return $i?.(true);')); - } } diff --git a/src/test/php/net/xp_lang/tests/syntax/xp/ChainingTest.class.php b/src/test/php/net/xp_lang/tests/syntax/xp/ChainingTest.class.php index a064ac82a..4db878c21 100644 --- a/src/test/php/net/xp_lang/tests/syntax/xp/ChainingTest.class.php +++ b/src/test/php/net/xp_lang/tests/syntax/xp/ChainingTest.class.php @@ -73,8 +73,8 @@ public function method_call_on_chained_method_call() { #[@test] public function member_instance_call() { $this->assertEquals( - array(new InstanceCallNode(new MemberAccessNode(new VariableNode('m'), 'func'), array(new VariableNode('args')))), - $this->parse('$m.func.($args);') + array(new InstanceCallNode(new BracedExpressionNode(new MemberAccessNode(new VariableNode('m'), 'func')), array(new VariableNode('args')))), + $this->parse('($m.func)($args);') ); }