From 2740167100e566cea1c3ffd7d9ed6a6bed5fb13d Mon Sep 17 00:00:00 2001 From: dimitr Date: Tue, 24 Jun 2003 09:28:38 +0000 Subject: [PATCH] Fixed one more limitation in the parser. --- src/dsql/parse.cpp | 7352 +++++++++++++++++++++++--------------------- src/dsql/parse.y | 21 +- 2 files changed, 3835 insertions(+), 3538 deletions(-) diff --git a/src/dsql/parse.cpp b/src/dsql/parse.cpp index d720a17a30..83f4d7f7d8 100644 --- a/src/dsql/parse.cpp +++ b/src/dsql/parse.cpp @@ -72,6 +72,7 @@ static char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93"; * 2003.01.15 Dmitry Yemanov: Added support for runtime trigger action checks. * 2003.02.10 Mike Nordell : Undefined Microsoft introduced macros to get a clean compile. * 2003.05.24 Nickolay Samofatov: Make SKIP and FIRST non-reserved keywords + * 2003.06.13 Nickolay Samofatov: Make INSERTING/UPDATING/DELETING non-reserved keywords */ #if defined(DEV_BUILD) && defined(WIN_NT) && defined(SUPERSERVER) @@ -211,11 +212,13 @@ struct LexerState { TEXT *last_token_bk, *line_start_bk; SSHORT lines, att_charset; SSHORT lines_bk; + int prev_keyword; USHORT param_number; /* Fields to handle FIRST/SKIP as non-reserved keywords */ - bool after_select; /* Check this to detect SKIP/FIRST occurence after SELECT */ bool limit_clause; /* We are inside of limit clause. Need to detect SKIP after FIRST */ bool first_detection; /* Detect FIRST unconditionally */ + /* Fields to handle INSERTING/UPDATING/DELETING as non-reserved keywords */ + bool brace_analysis; /* When this is true lexer is informed not to swallow braces around INSERTING/UPDATING/DELETING */ int yylex ( USHORT client_dialect, @@ -484,6 +487,9 @@ static struct LexerState lex; #define INSERTING 510 #define UPDATING 511 #define DELETING 512 +#define KW_INSERTING 513 +#define KW_UPDATING 514 +#define KW_DELETING 515 #define YYERRCODE 256 static short yylhs[] = { -1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, @@ -521,71 +527,71 @@ static short yylhs[] = { -1, 195, 206, 206, 196, 207, 201, 201, 201, 202, 202, 202, 204, 204, 204, 204, 197, 200, 200, 205, 205, 187, 187, 212, 213, 213, 214, 214, 214, 214, 11, - 216, 216, 216, 217, 217, 217, 217, 217, 217, 71, - 80, 219, 222, 222, 222, 223, 226, 230, 230, 231, - 231, 232, 232, 147, 221, 87, 89, 220, 220, 70, - 83, 235, 235, 235, 236, 239, 239, 240, 240, 240, - 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, - 240, 240, 237, 237, 238, 2, 242, 242, 242, 242, - 242, 242, 242, 250, 251, 248, 248, 252, 252, 252, - 252, 252, 252, 252, 243, 243, 253, 253, 253, 253, - 253, 253, 253, 247, 258, 258, 258, 258, 258, 258, - 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, - 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, - 255, 255, 257, 257, 256, 254, 254, 254, 249, 249, - 245, 246, 246, 260, 260, 260, 260, 261, 261, 244, - 262, 262, 263, 263, 8, 264, 264, 264, 264, 264, - 264, 264, 264, 264, 264, 264, 264, 101, 101, 144, - 144, 267, 267, 270, 270, 272, 272, 53, 53, 269, - 269, 269, 269, 269, 269, 269, 269, 269, 277, 277, - 268, 268, 268, 268, 278, 278, 61, 61, 61, 55, - 55, 274, 274, 274, 271, 271, 271, 282, 282, 282, - 281, 281, 280, 280, 280, 275, 275, 285, 283, 283, - 283, 284, 284, 276, 276, 276, 276, 286, 286, 18, - 18, 18, 288, 288, 288, 16, 16, 16, 290, 291, - 292, 295, 295, 4, 15, 294, 294, 296, 296, 297, - 297, 287, 298, 298, 299, 299, 300, 300, 300, 300, - 301, 301, 302, 302, 303, 303, 305, 305, 305, 306, - 306, 306, 307, 307, 307, 304, 309, 309, 309, 310, - 310, 308, 308, 311, 313, 313, 312, 312, 289, 17, - 314, 314, 314, 315, 315, 318, 318, 319, 65, 65, - 65, 321, 321, 320, 320, 316, 316, 324, 324, 325, - 325, 317, 329, 330, 331, 322, 323, 326, 326, 326, - 326, 332, 332, 332, 333, 333, 333, 224, 224, 225, - 225, 335, 335, 336, 336, 336, 327, 339, 339, 340, - 340, 341, 341, 342, 342, 343, 343, 209, 209, 345, - 345, 233, 233, 31, 234, 234, 234, 234, 234, 234, - 234, 234, 228, 228, 346, 346, 347, 347, 347, 347, - 347, 349, 349, 349, 229, 229, 227, 227, 328, 328, - 353, 354, 354, 354, 354, 354, 355, 355, 356, 356, - 357, 357, 358, 358, 358, 359, 359, 10, 10, 361, - 361, 7, 7, 362, 363, 364, 19, 19, 365, 366, - 367, 367, 188, 337, 337, 3, 3, 369, 369, 369, - 371, 371, 61, 370, 370, 372, 372, 34, 34, 85, - 84, 84, 360, 360, 373, 374, 374, 210, 210, 210, - 146, 368, 368, 111, 111, 111, 111, 376, 376, 376, - 376, 376, 376, 376, 376, 376, 376, 376, 376, 377, - 377, 377, 377, 377, 377, 377, 377, 382, 382, 382, - 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - 382, 382, 382, 389, 389, 378, 378, 379, 379, 379, - 379, 380, 380, 384, 384, 385, 385, 385, 385, 383, - 386, 381, 381, 387, 387, 387, 390, 390, 391, 388, - 393, 88, 88, 88, 88, 88, 88, 88, 88, 88, + 71, 80, 216, 219, 219, 219, 220, 223, 227, 227, + 228, 228, 229, 229, 147, 218, 87, 89, 217, 217, + 70, 83, 232, 232, 232, 233, 236, 236, 237, 237, + 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, + 237, 237, 237, 234, 234, 235, 2, 239, 239, 239, + 239, 239, 239, 239, 247, 248, 245, 245, 249, 249, + 249, 249, 249, 249, 249, 240, 240, 250, 250, 250, + 250, 250, 250, 250, 244, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 252, 252, + 254, 254, 253, 251, 251, 251, 246, 246, 242, 243, + 243, 257, 257, 257, 257, 258, 258, 241, 259, 259, + 260, 260, 8, 261, 261, 261, 261, 261, 261, 261, + 261, 261, 261, 261, 261, 101, 101, 144, 144, 264, + 264, 267, 267, 269, 269, 53, 53, 266, 266, 266, + 266, 266, 266, 266, 266, 266, 274, 274, 265, 265, + 265, 265, 275, 275, 61, 61, 61, 55, 55, 271, + 271, 271, 268, 268, 268, 279, 279, 279, 278, 278, + 277, 277, 277, 272, 272, 282, 280, 280, 280, 281, + 281, 273, 273, 273, 273, 283, 283, 18, 18, 18, + 285, 285, 285, 16, 16, 16, 287, 288, 289, 292, + 292, 4, 15, 291, 291, 293, 293, 294, 294, 284, + 295, 295, 296, 296, 297, 297, 297, 297, 298, 298, + 299, 299, 300, 300, 302, 302, 302, 303, 303, 303, + 304, 304, 304, 301, 306, 306, 306, 307, 307, 305, + 305, 308, 310, 310, 309, 309, 286, 17, 311, 311, + 311, 312, 312, 315, 315, 316, 65, 65, 65, 318, + 318, 317, 317, 313, 313, 321, 321, 322, 322, 314, + 326, 327, 328, 319, 320, 323, 323, 323, 323, 329, + 329, 329, 330, 330, 330, 221, 221, 222, 222, 333, + 333, 334, 334, 334, 324, 337, 337, 338, 338, 339, + 339, 340, 340, 341, 341, 209, 209, 343, 343, 230, + 230, 31, 231, 231, 231, 231, 231, 231, 231, 231, + 225, 225, 344, 344, 345, 345, 345, 345, 345, 347, + 347, 347, 226, 226, 224, 224, 325, 325, 351, 352, + 352, 352, 352, 352, 353, 353, 354, 354, 355, 355, + 356, 356, 356, 357, 357, 10, 10, 359, 359, 7, + 7, 360, 361, 362, 19, 19, 363, 364, 365, 365, + 188, 335, 335, 3, 3, 367, 367, 367, 369, 369, + 61, 368, 368, 370, 370, 34, 34, 85, 84, 84, + 358, 358, 371, 372, 372, 210, 210, 210, 146, 366, + 366, 111, 111, 111, 111, 111, 376, 376, 376, 376, + 376, 376, 375, 375, 375, 378, 378, 378, 378, 378, + 378, 378, 378, 378, 378, 379, 379, 379, 379, 379, + 379, 379, 379, 384, 384, 384, 384, 384, 384, 384, + 384, 384, 384, 384, 384, 384, 384, 384, 384, 390, + 390, 380, 380, 381, 381, 381, 381, 382, 382, 386, + 386, 387, 387, 387, 387, 385, 388, 383, 383, 374, + 374, 374, 377, 377, 377, 391, 391, 392, 389, 394, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, - 88, 88, 88, 88, 88, 88, 88, 156, 156, 156, - 394, 392, 392, 151, 151, 398, 398, 398, 398, 398, - 396, 396, 396, 396, 396, 218, 152, 152, 153, 154, - 154, 154, 154, 154, 51, 51, 20, 20, 241, 399, - 54, 123, 273, 273, 95, 395, 395, 395, 395, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 401, 350, 351, 351, 351, 348, 348, 397, 352, 352, - 403, 403, 404, 404, 405, 405, 408, 408, 406, 406, - 411, 411, 410, 407, 409, 402, 402, 402, 402, 402, - 402, 402, 402, 334, 334, 155, 48, 279, 122, 148, - 375, 165, 211, 266, 63, 60, 215, 112, 66, 338, - 35, 41, 344, 265, 39, 42, 208, 40, 293, 259, - 259, 412, 412, 412, 412, 412, 412, 412, 412, 412, - 412, 412, + 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 156, 156, 156, 395, + 393, 393, 151, 151, 399, 399, 399, 399, 399, 397, + 397, 397, 397, 397, 331, 152, 152, 153, 154, 154, + 154, 154, 154, 51, 51, 20, 20, 238, 400, 54, + 123, 270, 270, 95, 396, 396, 396, 396, 401, 401, + 401, 401, 401, 401, 401, 401, 401, 401, 401, 402, + 348, 349, 349, 349, 346, 346, 398, 350, 350, 404, + 404, 405, 405, 406, 406, 409, 409, 407, 407, 412, + 412, 411, 408, 410, 403, 403, 403, 403, 403, 403, + 403, 403, 332, 332, 155, 48, 276, 122, 148, 373, + 165, 211, 263, 63, 60, 215, 112, 66, 336, 35, + 41, 342, 262, 39, 42, 208, 40, 290, 256, 256, + 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, + 413, 413, 413, 413, }; static short yylen[] = { 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, @@ -623,2777 +629,2764 @@ static short yylen[] = { 2, 4, 2, 0, 4, 2, 1, 3, 0, 2, 4, 0, 1, 1, 3, 3, 6, 2, 2, 3, 0, 1, 2, 4, 1, 3, 2, 2, 2, 1, 4, - 1, 3, 0, 1, 1, 1, 3, 3, 3, 7, - 7, 1, 1, 3, 4, 7, 2, 1, 3, 1, - 1, 6, 3, 0, 0, 0, 0, 3, 0, 9, - 9, 1, 1, 0, 2, 1, 1, 1, 1, 1, - 3, 3, 3, 3, 3, 3, 5, 5, 5, 5, - 5, 5, 2, 0, 4, 2, 3, 3, 2, 2, - 3, 3, 2, 3, 6, 1, 2, 4, 3, 2, - 2, 2, 2, 3, 1, 3, 3, 3, 2, 2, - 4, 4, 5, 1, 1, 1, 1, 1, 1, 1, + 7, 7, 1, 1, 3, 4, 7, 2, 1, 3, + 1, 1, 6, 3, 0, 0, 0, 0, 3, 0, + 9, 9, 1, 1, 0, 2, 1, 1, 1, 1, + 1, 3, 3, 3, 3, 3, 3, 5, 5, 5, + 5, 5, 5, 2, 0, 4, 2, 3, 3, 2, + 2, 3, 3, 2, 3, 6, 1, 2, 4, 3, + 2, 2, 2, 2, 3, 1, 3, 3, 3, 2, + 2, 4, 4, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 2, 2, 1, 1, 1, 0, 2, 2, - 0, 1, 2, 2, 2, 2, 2, 1, 3, 7, - 1, 0, 1, 0, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 3, 2, 2, 2, 1, 1, 1, - 1, 4, 5, 1, 3, 1, 3, 1, 2, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 4, 4, 6, 5, 3, 0, 2, 2, 0, 3, - 0, 4, 1, 5, 4, 1, 4, 1, 2, 2, - 1, 1, 1, 2, 2, 2, 2, 1, 0, 3, - 5, 1, 1, 2, 3, 1, 2, 3, 0, 1, - 1, 1, 5, 5, 6, 1, 1, 1, 2, 3, - 5, 1, 0, 3, 2, 1, 0, 2, 0, 1, - 0, 3, 1, 0, 1, 2, 1, 1, 1, 1, - 2, 2, 1, 2, 3, 1, 1, 3, 3, 1, - 2, 3, 1, 2, 0, 2, 1, 1, 0, 1, - 1, 1, 3, 2, 3, 0, 1, 3, 4, 3, - 1, 3, 4, 3, 0, 1, 3, 3, 1, 1, - 0, 1, 1, 4, 0, 4, 0, 2, 0, 2, - 0, 9, 10, 0, 0, 0, 0, 3, 2, 1, - 0, 3, 5, 3, 2, 5, 2, 1, 1, 1, - 1, 1, 3, 1, 2, 3, 2, 1, 3, 1, - 1, 6, 3, 3, 2, 3, 0, 1, 3, 1, - 1, 1, 2, 1, 1, 1, 2, 1, 2, 1, - 2, 0, 3, 0, 1, 3, 1, 1, 1, 1, - 3, 1, 1, 1, 2, 0, 2, 0, 2, 0, - 4, 1, 2, 1, 1, 0, 1, 3, 2, 1, - 1, 2, 1, 4, 2, 1, 3, 8, 5, 1, - 3, 1, 1, 4, 4, 4, 1, 1, 5, 5, - 1, 3, 3, 1, 1, 7, 7, 5, 3, 0, - 1, 1, 1, 2, 0, 1, 1, 1, 0, 3, - 1, 3, 1, 0, 3, 1, 3, 1, 3, 3, - 1, 1, 3, 1, 3, 3, 2, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 1, 1, 5, 6, 3, 4, 5, - 6, 3, 4, 3, 4, 3, 4, 4, 5, 4, - 4, 3, 4, 1, 1, 1, 1, 3, 3, 10, - 10, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, - 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, - 4, 1, 3, 1, 2, 1, 1, 1, 1, 1, - 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, - 1, 1, 1, 2, 1, 1, 1, 1, 1, 4, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 6, 6, 6, 8, 4, 4, 3, 6, 1, 1, - 6, 6, 1, 1, 4, 6, 4, 5, 3, 5, - 4, 5, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, + 2, 2, 1, 1, 1, 0, 2, 2, 0, 1, + 2, 2, 2, 2, 2, 1, 3, 7, 1, 0, + 1, 0, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 3, 2, 2, 2, 1, 1, 1, 1, 4, + 5, 1, 3, 1, 3, 1, 2, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, + 6, 5, 3, 0, 2, 2, 0, 3, 0, 4, + 1, 5, 4, 1, 4, 1, 2, 2, 1, 1, + 1, 2, 2, 2, 2, 1, 0, 3, 5, 1, + 1, 2, 3, 1, 2, 3, 0, 1, 1, 1, + 5, 5, 6, 1, 1, 1, 2, 3, 5, 1, + 0, 3, 2, 1, 0, 2, 0, 1, 0, 3, + 1, 0, 1, 2, 1, 1, 1, 1, 2, 2, + 1, 2, 3, 1, 1, 3, 3, 1, 2, 3, + 1, 2, 0, 2, 1, 1, 0, 1, 1, 1, + 3, 2, 3, 0, 1, 3, 4, 3, 1, 3, + 4, 3, 0, 1, 3, 3, 1, 1, 0, 1, + 1, 4, 0, 4, 0, 2, 0, 2, 0, 9, + 10, 0, 0, 0, 0, 3, 2, 1, 0, 3, + 5, 3, 2, 5, 2, 1, 1, 1, 1, 1, + 3, 1, 2, 3, 2, 1, 3, 1, 1, 6, + 3, 3, 2, 3, 0, 1, 3, 1, 1, 1, + 2, 1, 1, 1, 2, 1, 2, 1, 2, 0, + 3, 0, 1, 3, 1, 1, 1, 1, 3, 1, + 1, 1, 2, 0, 2, 0, 2, 0, 4, 1, + 2, 1, 1, 0, 1, 3, 2, 1, 1, 2, + 1, 4, 2, 1, 3, 8, 5, 1, 3, 1, + 1, 4, 4, 4, 1, 1, 5, 5, 1, 3, + 3, 1, 1, 7, 7, 5, 3, 0, 1, 1, + 1, 2, 0, 1, 1, 1, 0, 3, 1, 3, + 1, 0, 3, 1, 3, 1, 3, 3, 1, 1, + 3, 1, 2, 1, 3, 3, 1, 2, 3, 3, + 3, 3, 1, 3, 2, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, + 3, 3, 3, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 1, + 1, 5, 6, 3, 4, 5, 6, 3, 4, 3, + 4, 3, 4, 4, 5, 4, 4, 3, 4, 1, + 1, 1, 1, 1, 1, 1, 3, 3, 10, 10, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, + 2, 3, 3, 3, 3, 3, 3, 3, 3, 1, + 1, 1, 1, 3, 1, 1, 1, 1, 1, 4, + 1, 3, 1, 2, 1, 1, 1, 1, 1, 1, + 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, + 1, 1, 2, 1, 1, 1, 1, 1, 4, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, + 6, 6, 8, 4, 4, 3, 6, 1, 1, 6, + 6, 1, 1, 4, 6, 4, 5, 3, 5, 4, + 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, + 1, 1, 1, 1, }; static short yydefred[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 560, - 561, 562, 566, 567, 568, 0, 621, 732, 733, 737, - 738, 471, 0, 0, 0, 0, 0, 0, 406, 576, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 548, + 549, 550, 554, 555, 556, 0, 609, 720, 721, 725, + 726, 459, 0, 0, 0, 0, 0, 0, 397, 564, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 114, 0, 0, 95, 0, 899, 0, 21, 897, 0, + 114, 0, 0, 95, 0, 898, 0, 21, 896, 0, 0, 73, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 485, 0, 0, 37, 34, - 36, 0, 35, 0, 980, 982, 984, 983, 989, 985, - 992, 990, 986, 988, 991, 987, 0, 0, 0, 0, - 32, 68, 66, 972, 981, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 650, 0, - 0, 0, 682, 0, 974, 0, 0, 0, 0, 107, - 979, 569, 0, 2, 0, 0, 0, 0, 436, 437, - 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, - 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, - 458, 459, 460, 0, 434, 435, 0, 965, 0, 413, - 969, 0, 410, 971, 0, 684, 0, 409, 975, 0, - 574, 895, 0, 150, 103, 0, 104, 0, 217, 961, - 771, 0, 102, 145, 968, 0, 0, 98, 0, 105, - 901, 0, 99, 0, 100, 0, 101, 978, 146, 106, - 629, 630, 0, 900, 898, 0, 74, 0, 966, 0, - 964, 493, 486, 0, 492, 497, 487, 488, 495, 489, - 490, 491, 496, 0, 30, 0, 39, 758, 38, 0, + 0, 0, 0, 0, 0, 473, 0, 0, 37, 34, + 36, 0, 35, 0, 979, 981, 983, 982, 988, 984, + 991, 989, 985, 987, 990, 986, 992, 993, 994, 0, + 0, 0, 0, 32, 68, 66, 971, 980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 905, 0, 886, 644, 644, 645, - 655, 657, 954, 658, 0, 659, 649, 645, 0, 0, - 0, 0, 0, 0, 0, 593, 582, 0, 585, 587, - 588, 589, 590, 596, 597, 0, 973, 683, 0, 108, - 0, 109, 0, 110, 570, 0, 0, 622, 0, 620, - 0, 0, 0, 0, 472, 0, 0, 376, 0, 220, - 0, 416, 407, 469, 470, 0, 0, 0, 0, 0, - 0, 425, 0, 382, 383, 0, 580, 578, 896, 0, + 0, 638, 0, 0, 0, 670, 0, 973, 0, 0, + 0, 0, 107, 978, 557, 0, 2, 0, 0, 0, + 0, 427, 428, 429, 430, 431, 432, 433, 434, 435, + 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, + 446, 447, 448, 0, 425, 426, 0, 964, 0, 404, + 968, 0, 401, 970, 0, 672, 0, 400, 974, 0, + 562, 894, 0, 150, 103, 0, 104, 0, 217, 960, + 759, 0, 102, 145, 967, 0, 0, 98, 0, 105, + 900, 0, 99, 0, 100, 0, 101, 977, 146, 106, + 617, 618, 0, 899, 897, 0, 74, 0, 965, 0, + 963, 481, 474, 0, 480, 485, 475, 476, 483, 477, + 478, 479, 484, 0, 30, 0, 39, 746, 38, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 904, 0, 885, 632, 632, 633, + 643, 645, 953, 646, 0, 647, 637, 633, 0, 0, + 0, 0, 0, 0, 0, 581, 570, 0, 573, 575, + 576, 577, 578, 584, 585, 0, 972, 671, 0, 108, + 0, 109, 0, 110, 558, 0, 0, 610, 0, 608, + 0, 0, 0, 0, 460, 0, 0, 367, 0, 220, + 0, 407, 398, 457, 458, 0, 0, 0, 0, 0, + 0, 416, 0, 373, 374, 0, 568, 566, 895, 0, 0, 0, 0, 0, 0, 0, 153, 132, 0, 96, 0, 0, 111, 0, 121, 120, 0, 0, 0, 0, - 0, 0, 957, 75, 0, 0, 0, 734, 735, 494, - 0, 956, 878, 877, 876, 0, 0, 879, 880, 0, - 0, 882, 355, 356, 350, 0, 354, 874, 881, 0, - 761, 0, 0, 27, 0, 0, 0, 71, 69, 976, - 67, 33, 0, 0, 0, 763, 0, 52, 0, 0, - 0, 0, 0, 572, 0, 0, 0, 0, 864, 892, - 0, 0, 866, 0, 0, 893, 0, 887, 0, 0, - 868, 869, 870, 888, 889, 0, 890, 891, 0, 0, - 0, 894, 0, 0, 0, 0, 0, 0, 768, 861, - 862, 863, 867, 847, 0, 846, 0, 0, 850, 908, - 909, 849, 843, 844, 845, 848, 906, 907, 929, 930, - 933, 934, 652, 654, 0, 661, 0, 745, 0, 0, - 662, 0, 648, 0, 619, 0, 594, 0, 591, 0, - 592, 617, 0, 612, 0, 0, 586, 772, 741, 0, - 0, 0, 0, 0, 0, 0, 0, 626, 623, 0, - 185, 0, 0, 129, 477, 172, 173, 0, 475, 0, - 0, 0, 0, 478, 0, 473, 0, 0, 420, 422, - 421, 0, 423, 0, 417, 218, 0, 0, 271, 0, - 0, 0, 0, 429, 430, 0, 462, 0, 0, 0, - 0, 0, 0, 0, 387, 386, 481, 0, 0, 149, - 0, 0, 158, 0, 157, 0, 164, 147, 0, 162, - 165, 166, 154, 0, 0, 516, 552, 519, 0, 553, - 0, 0, 520, 0, 0, 0, 543, 556, 515, 538, - 517, 518, 513, 500, 376, 498, 499, 501, 0, 0, - 510, 511, 512, 514, 0, 0, 0, 0, 0, 112, - 0, 113, 0, 124, 0, 0, 201, 0, 0, 374, - 0, 220, 0, 0, 83, 0, 0, 753, 0, 0, - 0, 0, 0, 834, 835, 836, 0, 0, 0, 774, - 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, - 788, 883, 884, 885, 875, 0, 0, 0, 760, 28, - 0, 0, 44, 72, 0, 0, 26, 0, 766, 0, - 0, 0, 729, 0, 0, 0, 0, 0, 571, 0, + 0, 0, 956, 75, 0, 0, 0, 722, 723, 482, + 0, 0, 0, 0, 863, 891, 0, 955, 0, 865, + 0, 0, 892, 0, 886, 877, 876, 875, 0, 0, + 0, 0, 867, 868, 869, 878, 879, 887, 888, 0, + 889, 890, 0, 0, 0, 893, 0, 0, 0, 0, + 0, 881, 0, 756, 860, 861, 862, 668, 866, 350, + 846, 0, 0, 0, 845, 0, 666, 849, 907, 908, + 848, 842, 843, 844, 847, 880, 905, 906, 928, 929, + 932, 933, 0, 749, 0, 0, 27, 0, 0, 0, + 71, 69, 975, 67, 33, 0, 0, 0, 751, 0, + 52, 0, 0, 0, 0, 0, 560, 0, 0, 0, + 640, 642, 0, 649, 0, 733, 0, 0, 650, 0, + 636, 0, 607, 0, 582, 0, 579, 0, 580, 605, + 0, 600, 0, 0, 574, 760, 729, 0, 0, 0, + 0, 0, 0, 0, 0, 614, 611, 0, 185, 0, + 0, 129, 465, 172, 173, 0, 463, 0, 0, 0, + 0, 466, 0, 461, 0, 0, 411, 413, 412, 0, + 414, 0, 408, 218, 0, 0, 271, 0, 0, 0, + 0, 420, 421, 0, 450, 0, 0, 0, 0, 0, + 0, 0, 378, 377, 469, 0, 0, 149, 0, 0, + 158, 0, 157, 0, 164, 147, 0, 162, 165, 166, + 154, 0, 0, 504, 540, 507, 0, 541, 0, 0, + 508, 0, 0, 0, 531, 544, 503, 526, 505, 506, + 501, 488, 367, 486, 487, 489, 0, 0, 498, 499, + 500, 502, 0, 0, 0, 0, 0, 112, 0, 113, + 0, 124, 0, 0, 201, 0, 0, 365, 0, 220, + 0, 0, 83, 0, 0, 741, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 762, 764, 773, + 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, + 0, 0, 0, 882, 0, 0, 0, 0, 0, 0, + 883, 884, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 325, 976, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 748, 28, + 0, 0, 44, 72, 0, 0, 26, 0, 754, 0, + 0, 0, 717, 0, 0, 0, 0, 0, 559, 0, + 632, 0, 0, 0, 0, 0, 969, 653, 552, 0, + 902, 551, 0, 583, 0, 591, 587, 586, 0, 0, + 0, 602, 590, 0, 0, 727, 728, 0, 0, 0, + 365, 0, 0, 0, 0, 0, 0, 130, 0, 0, + 0, 0, 0, 0, 367, 410, 0, 367, 368, 415, + 496, 0, 273, 0, 267, 269, 365, 240, 961, 0, + 0, 367, 0, 0, 209, 365, 0, 0, 0, 0, + 245, 239, 242, 243, 244, 419, 455, 454, 418, 417, + 0, 0, 0, 0, 0, 0, 376, 0, 367, 0, + 155, 159, 0, 163, 0, 0, 527, 528, 545, 0, + 542, 0, 0, 534, 532, 533, 0, 0, 0, 0, + 497, 0, 0, 0, 0, 535, 0, 0, 365, 0, + 200, 0, 203, 205, 206, 0, 0, 0, 0, 0, + 220, 78, 0, 0, 77, 515, 957, 516, 0, 0, + 0, 0, 763, 775, 0, 0, 833, 834, 835, 0, + 767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 325, 977, 0, 0, 0, 0, 0, 0, 0, 644, - 0, 0, 0, 0, 0, 0, 0, 970, 665, 564, - 0, 903, 563, 0, 595, 0, 603, 599, 598, 0, - 0, 0, 614, 602, 0, 0, 739, 740, 0, 0, - 0, 374, 0, 0, 0, 0, 0, 0, 130, 0, - 0, 0, 0, 0, 0, 376, 419, 0, 376, 377, - 424, 508, 0, 273, 0, 267, 269, 374, 240, 962, - 0, 0, 376, 0, 0, 209, 374, 0, 0, 0, - 0, 245, 239, 242, 243, 244, 428, 467, 466, 427, - 426, 0, 0, 0, 0, 0, 0, 385, 0, 376, - 0, 155, 159, 0, 163, 0, 0, 539, 540, 557, - 0, 554, 0, 0, 546, 544, 545, 0, 0, 0, - 0, 509, 0, 0, 0, 0, 547, 0, 0, 374, - 0, 200, 0, 203, 205, 206, 0, 0, 0, 0, - 0, 220, 78, 0, 0, 77, 527, 958, 528, 0, - 0, 0, 777, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 945, 946, 947, 948, 949, 950, + 951, 952, 0, 0, 0, 0, 0, 0, 938, 0, + 0, 0, 0, 858, 327, 859, 926, 0, 0, 854, + 959, 0, 0, 0, 0, 0, 667, 0, 864, 758, + 757, 750, 0, 0, 0, 0, 0, 0, 0, 0, + 53, 61, 63, 0, 0, 70, 0, 0, 0, 753, + 0, 0, 0, 0, 0, 0, 0, 0, 641, 644, + 0, 0, 0, 0, 658, 659, 0, 0, 651, 654, + 553, 903, 592, 601, 596, 595, 0, 606, 761, 730, + 731, 365, 0, 0, 634, 616, 615, 0, 0, 624, + 181, 175, 182, 0, 178, 0, 0, 177, 0, 188, + 169, 168, 901, 171, 170, 467, 0, 0, 0, 409, + 272, 0, 211, 367, 213, 0, 368, 208, 214, 0, + 0, 0, 0, 422, 423, 367, 365, 368, 0, 0, + 0, 394, 0, 196, 197, 156, 0, 0, 0, 0, + 0, 0, 543, 0, 0, 367, 368, 0, 492, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 352, 358, 359, 357, 762, 0, 0, - 0, 0, 0, 0, 0, 0, 53, 61, 63, 0, - 0, 70, 0, 0, 0, 765, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 946, 947, - 948, 949, 950, 951, 952, 953, 0, 0, 0, 0, - 0, 0, 939, 0, 0, 0, 680, 0, 0, 859, - 860, 927, 0, 0, 855, 960, 0, 0, 0, 0, - 0, 653, 0, 865, 770, 769, 656, 0, 0, 0, - 0, 670, 671, 0, 0, 663, 666, 565, 904, 604, - 613, 608, 607, 0, 618, 773, 742, 743, 374, 0, - 0, 646, 628, 627, 0, 0, 636, 181, 175, 182, - 0, 178, 0, 0, 177, 0, 188, 169, 168, 902, - 171, 170, 479, 0, 0, 0, 418, 272, 0, 211, - 376, 213, 0, 377, 208, 214, 0, 0, 0, 0, - 431, 432, 376, 374, 377, 0, 0, 0, 403, 0, - 196, 197, 156, 0, 0, 0, 0, 0, 0, 555, - 0, 0, 376, 377, 0, 504, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, - 0, 0, 0, 0, 363, 0, 82, 0, 0, 0, - 0, 87, 84, 0, 0, 0, 736, 963, 0, 0, - 789, 0, 0, 0, 815, 814, 0, 0, 0, 822, - 837, 832, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 198, 0, 0, 0, 0, 354, 0, 82, + 0, 0, 0, 0, 87, 84, 0, 0, 0, 724, + 962, 0, 0, 768, 0, 0, 774, 0, 0, 0, + 0, 0, 811, 810, 0, 0, 0, 818, 836, 828, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 776, 0, 65, 57, 58, 64, 59, 60, - 0, 0, 22, 0, 0, 0, 42, 0, 0, 0, - 747, 767, 0, 730, 0, 746, 0, 0, 0, 0, - 0, 0, 220, 0, 910, 0, 0, 925, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 935, 0, 945, 0, 0, 0, 0, 0, 0, 926, - 871, 0, 0, 0, 0, 0, 0, 685, 0, 0, - 0, 0, 0, 610, 611, 615, 0, 199, 0, 0, - 640, 0, 0, 0, 0, 0, 0, 189, 0, 0, - 414, 223, 224, 225, 226, 227, 228, 0, 0, 0, - 276, 0, 221, 0, 0, 0, 0, 246, 0, 463, - 464, 433, 0, 0, 0, 0, 0, 0, 376, 483, - 377, 167, 959, 0, 0, 522, 0, 521, 558, 0, - 550, 0, 0, 0, 502, 0, 530, 0, 0, 532, - 535, 537, 374, 0, 0, 0, 119, 0, 204, 376, - 0, 0, 375, 0, 97, 0, 117, 0, 93, 0, - 0, 0, 0, 86, 0, 830, 831, 0, 0, 0, - 0, 0, 0, 833, 0, 0, 0, 0, 0, 0, - 0, 823, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 56, 62, 54, - 55, 23, 751, 752, 0, 749, 756, 757, 754, 0, - 0, 728, 0, 0, 916, 915, 0, 0, 912, 911, - 0, 920, 919, 918, 917, 914, 913, 0, 0, 941, - 0, 0, 0, 940, 0, 0, 0, 678, 0, 0, - 673, 0, 674, 0, 691, 687, 689, 0, 0, 0, - 0, 0, 375, 632, 633, 647, 0, 183, 179, 0, - 0, 194, 190, 0, 377, 279, 0, 0, 377, 277, - 0, 0, 0, 231, 0, 0, 247, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 480, 524, 0, 525, - 0, 134, 0, 0, 0, 138, 140, 141, 142, 505, - 507, 503, 534, 0, 0, 377, 0, 0, 0, 0, - 360, 0, 364, 376, 88, 0, 0, 90, 0, 0, - 0, 0, 0, 0, 839, 838, 0, 0, 0, 0, + 766, 0, 0, 0, 220, 0, 909, 0, 0, 924, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 40, 0, 0, 731, 219, 928, - 921, 922, 0, 923, 937, 936, 0, 942, 931, 0, - 932, 0, 676, 0, 548, 0, 698, 0, 0, 695, - 699, 700, 702, 703, 704, 0, 0, 642, 377, 361, - 634, 0, 174, 191, 377, 144, 0, 0, 0, 0, + 0, 0, 934, 0, 944, 0, 0, 0, 0, 0, + 0, 925, 870, 65, 57, 58, 64, 59, 60, 0, + 0, 22, 0, 0, 0, 42, 0, 0, 0, 735, + 755, 0, 718, 0, 734, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 673, 0, 0, 0, 0, + 0, 598, 599, 603, 0, 199, 0, 0, 628, 0, + 0, 0, 0, 0, 0, 189, 0, 0, 0, 405, + 223, 224, 225, 226, 227, 228, 873, 0, 0, 0, + 276, 0, 221, 0, 0, 0, 0, 246, 0, 451, + 452, 424, 0, 0, 0, 0, 0, 0, 367, 471, + 368, 167, 958, 0, 0, 510, 0, 509, 546, 0, + 538, 0, 0, 0, 490, 0, 518, 0, 0, 520, + 523, 525, 365, 0, 0, 0, 119, 0, 204, 367, + 0, 0, 366, 0, 97, 0, 117, 0, 93, 0, + 0, 0, 0, 86, 0, 826, 827, 770, 0, 772, + 0, 0, 0, 0, 0, 0, 0, 829, 0, 0, + 0, 0, 0, 0, 0, 819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 284, 289, 283, 0, 0, 0, 293, 294, - 295, 296, 297, 298, 300, 301, 303, 304, 305, 308, - 266, 0, 0, 207, 232, 0, 0, 0, 0, 233, - 236, 0, 0, 377, 401, 402, 398, 397, 400, 399, - 0, 523, 551, 143, 131, 139, 0, 376, 263, 126, - 377, 0, 0, 378, 365, 0, 0, 91, 92, 79, - 0, 801, 809, 0, 802, 810, 805, 813, 0, 0, - 803, 811, 804, 812, 798, 806, 799, 807, 800, 808, - 748, 0, 0, 938, 679, 0, 0, 0, 0, 0, - 712, 714, 0, 709, 0, 264, 184, 415, 0, 311, - 0, 0, 314, 315, 0, 307, 0, 0, 0, 0, - 306, 0, 337, 338, 292, 299, 0, 302, 285, 0, - 290, 0, 341, 291, 210, 215, 234, 0, 0, 237, - 0, 249, 251, 405, 377, 0, 380, 0, 0, 0, - 370, 371, 0, 0, 76, 94, 0, 0, 924, 0, - 0, 701, 696, 713, 0, 0, 282, 0, 309, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 332, - 333, 349, 0, 0, 0, 0, 344, 342, 238, 0, - 0, 0, 0, 0, 265, 377, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 720, 0, 0, 0, - 281, 278, 310, 0, 0, 0, 0, 313, 0, 0, - 0, 0, 321, 0, 324, 0, 348, 347, 967, 346, + 915, 914, 0, 0, 911, 910, 0, 919, 918, 917, + 916, 913, 912, 0, 0, 940, 0, 0, 0, 939, + 0, 0, 0, 0, 0, 0, 56, 62, 54, 55, + 23, 739, 740, 0, 737, 744, 745, 742, 0, 0, + 716, 0, 0, 661, 0, 662, 0, 679, 675, 677, + 0, 0, 0, 0, 0, 366, 620, 621, 635, 0, + 183, 179, 0, 0, 194, 190, 0, 368, 874, 279, + 0, 0, 368, 277, 0, 0, 0, 231, 0, 0, + 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 468, 512, 0, 513, 0, 134, 0, 0, 0, 138, + 140, 141, 142, 493, 495, 491, 522, 0, 0, 368, + 0, 0, 0, 0, 351, 0, 355, 367, 88, 0, + 0, 90, 0, 0, 0, 0, 0, 0, 838, 837, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 219, 927, + 920, 921, 0, 922, 936, 935, 0, 941, 930, 931, + 0, 40, 0, 0, 719, 664, 0, 536, 0, 686, + 0, 0, 683, 687, 688, 690, 691, 692, 0, 0, + 630, 368, 352, 622, 0, 174, 191, 368, 144, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 284, 289, 283, 0, 0, + 0, 293, 294, 295, 296, 297, 298, 300, 301, 303, + 304, 305, 308, 266, 0, 0, 207, 232, 0, 0, + 0, 0, 233, 236, 0, 0, 368, 392, 393, 389, + 388, 391, 390, 0, 511, 539, 143, 131, 139, 0, + 367, 263, 126, 368, 0, 0, 369, 356, 0, 0, + 91, 92, 79, 0, 797, 805, 0, 798, 806, 801, + 809, 0, 0, 799, 807, 800, 808, 794, 802, 795, + 803, 796, 804, 0, 937, 0, 736, 0, 0, 0, + 0, 0, 700, 702, 0, 697, 0, 264, 184, 406, + 0, 311, 0, 0, 314, 315, 0, 307, 0, 0, + 0, 0, 306, 0, 337, 338, 292, 299, 0, 302, + 285, 0, 290, 0, 341, 291, 210, 215, 234, 0, + 0, 237, 0, 249, 251, 396, 368, 0, 371, 0, + 0, 0, 361, 362, 0, 0, 76, 94, 0, 923, + 0, 0, 0, 689, 684, 701, 0, 0, 282, 0, + 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 332, 333, 349, 0, 0, 0, 0, 344, 342, + 238, 0, 0, 0, 0, 0, 265, 368, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 708, 0, + 0, 0, 281, 278, 310, 0, 0, 313, 0, 0, + 0, 0, 321, 0, 324, 0, 348, 347, 966, 346, 0, 0, 0, 0, 0, 248, 0, 255, 0, 254, - 381, 373, 0, 0, 366, 118, 0, 0, 0, 722, - 711, 0, 0, 723, 0, 719, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 335, 334, 343, 345, - 235, 0, 0, 259, 258, 257, 0, 0, 643, 841, - 718, 0, 725, 327, 0, 0, 312, 318, 0, 0, - 0, 0, 336, 262, 260, 261, 0, 0, 0, 0, - 0, 0, 339, 316, 0, 0, 0, 0, 724, 330, - 317, 319, 840, 727, + 372, 364, 0, 0, 357, 118, 0, 0, 0, 710, + 699, 0, 0, 711, 0, 707, 0, 0, 0, 0, + 0, 0, 0, 0, 335, 334, 343, 345, 235, 0, + 0, 259, 258, 257, 0, 0, 840, 631, 706, 0, + 713, 0, 0, 312, 318, 0, 0, 0, 0, 336, + 262, 260, 261, 0, 0, 0, 0, 0, 0, 339, + 316, 0, 0, 0, 0, 712, 330, 317, 319, 839, + 715, }; static short yydgoto[] = { 20, - 21, 22, 23, 24, 25, 26, 1529, 28, 29, 1530, - 31, 32, 33, 34, 35, 36, 1531, 38, 1532, 638, - 117, 403, 895, 1143, 118, 672, 896, 119, 407, 677, - 143, 120, 121, 257, 969, 133, 897, 898, 197, 226, - 122, 899, 123, 409, 82, 237, 374, 457, 633, 1080, - 392, 855, 604, 1495, 832, 634, 635, 636, 1082, 238, - 1333, 74, 187, 75, 233, 1819, 1285, 218, 223, 225, - 227, 213, 205, 207, 220, 230, 150, 310, 312, 314, - 363, 620, 622, 400, 258, 782, 538, 648, 1017, 367, - 625, 1068, 1277, 571, 732, 1043, 523, 524, 553, 359, - 605, 1054, 1424, 1554, 1221, 1425, 1426, 1427, 1428, 1429, - 649, 214, 206, 355, 578, 356, 357, 579, 580, 581, - 582, 1252, 1011, 526, 527, 1001, 999, 528, 1005, 1000, - 1212, 1388, 1006, 1007, 1217, 369, 843, 844, 845, 846, - 784, 1024, 1402, 606, 786, 459, 848, 955, 547, 1348, - 1222, 460, 461, 462, 947, 463, 1403, 1404, 556, 1560, - 1712, 1238, 792, 793, 779, 794, 795, 796, 1713, 1714, - 1795, 337, 551, 1229, 1533, 193, 548, 549, 1230, 1231, - 1397, 1688, 1534, 1535, 1536, 1537, 1652, 1538, 1539, 1540, - 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, - 1735, 1780, 1635, 1699, 1784, 1697, 464, 711, 1367, 465, - 1087, 1653, 1706, 1707, 1748, 395, 396, 466, 1073, 1283, - 1441, 1074, 1075, 285, 489, 1583, 378, 1203, 1381, 1669, - 1670, 1671, 1672, 1201, 346, 567, 810, 1250, 568, 808, - 221, 59, 341, 198, 158, 324, 184, 331, 190, 770, - 767, 332, 342, 800, 343, 563, 1035, 185, 467, 325, - 535, 569, 1251, 96, 196, 242, 607, 608, 772, 1055, - 773, 1056, 1057, 611, 612, 613, 614, 1048, 859, 615, - 616, 617, 825, 618, 1497, 822, 40, 41, 42, 43, - 44, 45, 152, 61, 425, 201, 348, 297, 298, 299, - 300, 301, 302, 303, 304, 305, 738, 503, 984, 1206, - 504, 505, 743, 46, 157, 320, 47, 517, 518, 993, - 1386, 1210, 1511, 756, 997, 137, 725, 1508, 683, 483, - 287, 138, 139, 286, 490, 491, 492, 729, 970, 971, - 972, 973, 1195, 468, 1183, 1499, 1500, 469, 1502, 470, - 471, 472, 1727, 1625, 1728, 1729, 1730, 1776, 1820, 415, - 1155, 48, 49, 379, 50, 51, 511, 512, 904, 1151, - 1335, 1339, 416, 680, 211, 650, 651, 652, 653, 654, - 655, 656, 657, 658, 659, 660, 661, 1302, 1098, 1100, - 1101, 954, 710, 473, 474, 475, 476, 399, 235, 477, - 478, 937, 479, 480, 481, 482, 702, 941, 1184, 1179, - 703, 125, + 21, 22, 23, 24, 25, 26, 1542, 28, 29, 1543, + 31, 32, 33, 34, 35, 36, 1544, 38, 1545, 636, + 120, 456, 949, 1182, 121, 702, 950, 122, 460, 707, + 146, 123, 124, 257, 972, 136, 951, 952, 197, 226, + 125, 953, 126, 462, 82, 237, 374, 421, 631, 1083, + 422, 854, 602, 1508, 831, 632, 633, 634, 1085, 238, + 1372, 74, 187, 75, 233, 1826, 1295, 218, 223, 225, + 227, 213, 205, 207, 220, 230, 153, 310, 312, 314, + 363, 618, 620, 453, 258, 781, 536, 646, 1020, 367, + 623, 1071, 1287, 569, 731, 1046, 521, 522, 551, 359, + 603, 1057, 1438, 1567, 1230, 1439, 1440, 1441, 1442, 1443, + 647, 214, 206, 355, 576, 356, 357, 577, 578, 579, + 580, 1262, 1014, 524, 525, 1004, 1002, 526, 1008, 1003, + 1220, 1401, 1009, 1010, 1225, 369, 842, 843, 844, 845, + 783, 1027, 1416, 604, 785, 424, 847, 930, 545, 1344, + 1231, 425, 426, 427, 428, 429, 1417, 1418, 554, 1573, + 1724, 1248, 791, 792, 778, 793, 794, 795, 1725, 1726, + 1803, 337, 549, 1239, 1546, 193, 546, 547, 1240, 1241, + 1411, 1700, 1547, 1548, 1549, 1550, 1664, 1551, 1552, 1553, + 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, + 430, 1788, 1647, 1711, 1792, 1709, 431, 686, 432, 433, + 1090, 1665, 1718, 1719, 1758, 1076, 1293, 1455, 1077, 1078, + 285, 487, 1596, 378, 1211, 1394, 1681, 1682, 1683, 1684, + 1209, 346, 565, 809, 1260, 566, 807, 221, 59, 341, + 198, 161, 324, 184, 331, 190, 769, 766, 332, 342, + 799, 343, 561, 1038, 185, 434, 325, 533, 567, 1261, + 96, 196, 242, 605, 606, 771, 1058, 772, 1059, 1060, + 609, 610, 611, 612, 1051, 858, 613, 614, 615, 824, + 616, 1510, 821, 40, 41, 42, 43, 44, 45, 155, + 61, 478, 201, 348, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 737, 501, 987, 1214, 502, 503, 742, + 46, 160, 320, 47, 515, 516, 996, 1399, 1218, 1524, + 755, 1000, 140, 724, 1521, 713, 481, 287, 141, 142, + 435, 286, 488, 489, 490, 728, 973, 974, 975, 976, + 1203, 436, 1165, 1512, 1513, 438, 1515, 439, 440, 441, + 1739, 1637, 1740, 1741, 1742, 1786, 1827, 468, 1194, 48, + 49, 379, 50, 51, 509, 510, 958, 1190, 1374, 1378, + 469, 710, 211, 648, 649, 872, 873, 650, 651, 652, + 653, 654, 655, 656, 657, 658, 659, 660, 1316, 1106, + 1108, 1109, 929, 685, 442, 443, 444, 445, 446, 235, + 447, 448, 913, 449, 450, 451, 452, 676, 917, 1166, + 1161, 677, 128, }; -static short yysindex[] = { 4590, - 1618, -205, 5020, 83, 1187, -10, 4209, -42, 5618, 682, - 91, 4522, -205, 1354, 793, 4583, 997, 4583, 242, 0, - 673, 0, 0, 0, 0, 0, 0, 0, 0, 0, +static short yysindex[] = { 7601, + 1386, -90, 3447, 130, 1454, 502, 5115, 548, 3840, 569, + 633, 3079, -90, 1341, 657, 5332, 1343, 5332, 505, 0, + 1037, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 437, 0, 0, 0, 0, - 0, 0, 6377, 4583, 4583, 4583, 4583, 4583, 0, 0, - 363, 1317, 4583, 4583, 4583, 555, 4583, 380, 4583, 4583, - 0, 4583, 4583, 0, 1043, 0, 498, 0, 0, 648, - 4583, 0, 4583, 4583, 4583, 678, 4583, 4583, 4583, 4583, - 380, 4583, 4583, 4583, 4583, 0, 4583, 703, 0, 0, - 0, 1016, 0, 1016, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 737, 802, 142, 1157, - 0, 0, 0, 0, 0, 4583, 4583, 4583, 852, 894, - 926, 164, 1066, 883, 202, 205, 65, 881, 0, 4583, - 1089, 544, 0, 1168, 0, 4583, 4583, 4583, 4583, 0, - 0, 0, 4583, 0, 1362, -33, 1322, 5, 0, 0, + 0, 0, 0, 0, 0, 357, 0, 0, 0, 0, + 0, 0, 8792, 5332, 5332, 5332, 5332, 5332, 0, 0, + 732, 1421, 5332, 5332, 5332, 906, 5332, 715, 5332, 5332, + 0, 5332, 5332, 0, 106, 0, 813, 0, 0, 917, + 5332, 0, 5332, 5332, 5332, 1016, 5332, 5332, 5332, 5332, + 715, 5332, 5332, 5332, 5332, 0, 5332, 947, 0, 0, + 0, 1330, 0, 1330, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1010, + 1085, 112, 1433, 0, 0, 0, 0, 0, 5332, 5332, + 5332, 989, 1135, 1159, 110, 1024, 1057, 183, 195, 991, + 1055, 0, 5332, 1191, 1481, 0, 1170, 0, 5332, 5332, + 5332, 5332, 0, 0, 0, 5332, 0, 1308, 504, 1280, + 529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1051, 0, 0, 1421, 0, 49, 0, + 0, 1584, 0, 0, 1483, 0, 50, 0, 0, 1229, + 0, 0, 1198, 0, 0, 1576, 0, 1399, 0, 0, + 0, 1421, 0, 0, 0, 835, 1584, 0, 44, 0, + 0, 1351, 0, 1375, 0, 1330, 0, 0, 0, 0, + 0, 0, 1376, 0, 0, 1267, 0, 1401, 0, 1296, + 0, 0, 0, 1267, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 8536, 0, 5332, 0, 0, 0, 5019, + 1379, 5100, 5332, 1313, 1466, 1772, 1502, 1524, 5019, 1448, + 5100, 1472, 1511, 1395, 0,10227, 0, 0, 0, 0, + 0, 0, 0, 0, 7808, 0, 0, 0, 1477, 5332, + 1598, 1523, 521, 5332, 1533, 0, 0, 1481, 0, 0, + 0, 0, 0, 0, 0, 5332, 0, 0, 1584, 0, + 1351, 0, 1330, 0, 0,10227, 1555, 0, 1554, 0, + 1168, 1653, 1003, 529, 0, 1727, 1362, 0, 5332, 0, + 1051, 0, 0, 0, 0, 5332, 1604, 4049, 1557, 4113, + 1986, 0, 8792, 0, 0, 901, 0, 0, 0, 1973, + 1973, 1421, 1673, 1421, 1456, 1576, 0, 0, 7774, 0, + 5332, 5332, 0, 1604, 0, 0, 1766, 719, 2014, 5332, + 1792, 5332, 0, 0, 2022, 128, 5396, 0, 0, 0, + 2024, 2026, 2028, 1609, 0, 0, 2031, 0, 2032, 0, + 2033, 2036, 0, 2039, 0, 0, 0, 0, 0, 2042, + 1622, 1625, 0, 0, 0, 0, 0, 0, 0, 2048, + 0, 0, 8633, 2055, 2056, 0,10227,10227, 7906, 5332, + 2057, 0, 2496, 0, 0, 0, 0, 0, 0, 0, + 0, 2058, 2010, 0, 0, 2059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1078, 0, 0, 1317, 0, 41, 0, - 0, 1454, 0, 0, 1579, 0, 58, 0, 0, 1255, - 0, 0, 1208, 0, 0, 1171, 0, 1331, 0, 0, - 0, 1317, 0, 0, 0, 476, 1454, 0, 55, 0, - 0, 1381, 0, 1417, 0, 1016, 0, 0, 0, 0, - 0, 0, 1407, 0, 0, 1325, 0, 1478, 0, 1387, - 0, 0, 0, 1325, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2935, 0, 4583, 0, 0, 0, 4214, - 1441, 4467, 4583, 1045, 1519, 1823, 1550, 1560, 4214, 1480, - 4467, 1513, 1522, 1403, 0, 9886, 0, 0, 0, 0, - 0, 0, 0, 0, 7686, 0, 0, 0, 1477, 4583, - 1553, 1465, 540, 4583, 1493, 0, 0, 544, 0, 0, - 0, 0, 0, 0, 0, 4583, 0, 0, 1454, 0, - 1381, 0, 1016, 0, 0, 9886, 1516, 0, 1496, 0, - 1076, 1585, 1156, 5, 0, 1672, 39, 0, 4583, 0, - 1078, 0, 0, 0, 0, 4583, 1549, 3486, 1495, 3934, - 1924, 0, 6377, 0, 0, 1100, 0, 0, 0, 1917, - 1917, 1317, 1621, 1317, 1488, 1171, 0, 0, 4215, 0, - 4583, 4583, 0, 1549, 0, 0, 1708, 789, 1955, 4583, - 1738, 4583, 0, 0, 1964, 191, 4879, 0, 0, 0, - 1562, 0, 0, 0, 0, 1575, 1576, 0, 0, 1760, - 1176, 0, 0, 0, 0, 1966, 0, 0, 0, 1386, - 0, 4583, 1612, 0, 4583, 4583, 147, 0, 0, 0, - 0, 0, 4583, 4583, 911, 0, 4583, 0, 1729, 4583, - 1977, 4214, 1651, 0, 4583, 2014, 2015, 2018, 0, 0, - 2025, 2026, 0, 2027, 2028, 0, 2031, 0, 0, 2035, - 0, 0, 0, 0, 0, 2037, 0, 0, 8284, 2038, - 2041, 0, 9886, 9886, 8514, 4583, 2048, 1686, 0, 0, - 0, 0, 0, 0, 1998, 0, 0, 2045, 0, 0, + 0, 0, 1823, 0, 5332, 1671, 0, 5332, 5332, 138, + 0, 0, 0, 0, 0, 5332, 5332, -57, 0, 5332, + 0, 1788, 5332, 2060, 5019, 1709, 0, 5332, 8872, 2104, + 0, 0,10227, 0, 2496, 0, 1803, 2081, 0, 2347, + 0, 91, 0, 491, 0, -41, 0, -41, 0, 0, + 2094, 0, 411, 1720, 0, 0, 0, 2106, 87, 2089, + 1604, 2113, 1891, 1591, 2112, 0, 0, 1776, 0, 147, + 1811, 0, 0, 0, 0, 1421, 0, 1973, 1973, 1973, + 1973, 0, 2116, 0, 1883, 1884, 0, 0, 0, 1863, + 0, 7774, 0, 0, 7774, 1831, 0, 1584, 1901, 5332, +12064, 0, 0, 737, 0, 5332, 1113, 1483, 1771, 1736, + 1705, 0, 0, 0, 0, 655, 1779, 0, 1721, 715, + 0, 1421, 0, 1900, 0, 0, 1456, 0, 0, 0, + 0, 324, 1733, 0, 0, 0, 1734, 0, 1787, 2143, + 0, 1840, 2151, 690, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2101, 248, 0, 0, + 0, 0, 155, 2154, 2155, 2151, 1584, 0, 1878, 0, + 1933, 0, 1421, 1421, 0, 4049, 50, 0, 1815, 0, + 1790, 2158, 0, 9046, 907, 0, 1810, 1824, 2165, 5806, + 2172, 0, 0, 0, 5299, 4832, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 9886, 0, 2084, 0, 1774, 2056, - 0, 2449, 0, 119, 0, 803, 0, 618, 0, 618, - 0, 0, 2057, 0, 145, 1676, 0, 0, 0, 2060, - 81, 2046, 1549, 2068, 1846, 1807, 2067, 0, 0, 1732, - 0, 170, 1764, 0, 0, 0, 0, 1317, 0, 1917, - 1917, 1917, 1917, 0, 2069, 0, 1838, 1839, 0, 0, - 0, 1819, 0, 4215, 0, 0, 4215, 1634, 0, 1454, - 1859, 4583,10924, 0, 0, 872, 0, 4583, 619, 1579, - 1733, 1698, 1681, 0, 0, 0, 0, 792, 1755, 0, - 1696, 380, 0, 1317, 0, 1879, 0, 0, 1488, 0, - 0, 0, 0, 130, 1710, 0, 0, 0, 1716, 0, - 1765, 2121, 0, 1818, 2125, -8, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2078, 148, - 0, 0, 0, 0, 150, 2130, 2131, 2125, 1454, 0, - 1855, 0, 1912, 0, 1317, 1317, 0, 3486, 58, 0, - 1795, 0, 1776, 2148, 0, 9622, 1372, 0, 1806, 1817, - 2160, 5356, 2165, 0, 0, 0, 5109, 3561, 15, 0, + 1098, 9111, 710, 0, 5332,10227, 1145, 1164, 1266, 2850, + 0, 0,10227, 5958, 2496, 1763, 40,10227, 9111, 781, + 781, 1341, 2174, 1859, 2191, 0, 0, 9191, 5332,10227, +10227,10227,10227,10227, 9111,10227, 708, 5332, 0, 0, + 4598, 1802, 0, 0, 1770, 5100, 0, 1922, 0, 1865, + 1341, 2207, 0, 1922, 4598, 1932, 1938, 5332, 0, 2174, + 0, 2285, 486, 1813, 9111, 5332, 0, 0, 0, 970, + 0, 0, -33, 0, 1820, 0, 0, 0, 5332, 473, + 5332, 0, 0, 5332, 5332, 0, 0, 9111, 1999, 4049, + 0, 1774,10227, 5332, 1819, 1421, 1421, 0, 636, 1721, + 1721, 1816, 715, 1003, 0, 0, 2243, 0, 0, 0, + 0, 2007, 0, 5332, 0, 0, 0, 0, 0, 2017, + 2255, 0, 1997, 2016, 0, 0, 1958, 1959, 1330, 2035, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1677, 1176, 4583, 0, 0, - 4550, 1775, 0, 0, 1757, 4467, 0, 1906, 0, 1739, - 1354, 2184, 0, 1906, 4550, 1905, 1907, 4583, 0, 944, - 8754, 169, 4583, 9886, 988, 1019, 1165, 3715, 9886, 5356, - 2084, 1778, 655, 9886, 8754, 807, 807, 1354, 1753, 2185, - 0, 0, 8818, 4583, 9886, 9886, 9886, 9886, 9886, 0, - 9886, 445, 2138, 990, 1779, 8754, 4583, 0, 0, 0, - 1053, 0, 0, -37, 0, 1785, 0, 0, 0, 4583, - 1191, 4583, 0, 0, 4583, 4583, 0, 0, 8754, 1972, - 3486, 0, 1745, 9886, 4583, 1794, 1317, 1317, 0, 507, - 1696, 1696, 1798, 380, 1156, 0, 0, 2217, 0, 0, - 0, 0, 1982, 0, 4583, 0, 0, 0, 0, 0, - 1994, 2229, 0, 1975, 1992, 0, 0, 1936, 1940, 1016, - 2005, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 380, 4583,11013, 1899, 1901, 1903, 0, 380, 0, - 1500, 0, 0, 1874, 0, 70, 1877, 0, 0, 0, - 380, 0, 2121, 100, 0, 0, 0, 1995, 100, 1878, - 100, 0, 2259, 380, 380, 380, 0, 1549, 4583, 0, - 1950, 0, 1769, 0, 0, 0, 1100, 1887, 4583, 1816, - 127, 0, 0, 2269, 2040, 0, 0, 0, 0, 191, - 4583, 1895, 0, 1895, 4052, 121, 9886, 9886, 6051, 2275, - -7, 6298, 9886, 6545, 1245, 6630, 6877, 9058, 7124, 7209, - 7456, 5356, 5356, 0, 0, 0, 0, 0, 4583, 4583, - 4583, 4583, 4583, 4583, 162, 2272, 0, 0, 0, 4550, - 1932, 0, 26, 1954, 4583, 0, 65, 8754, 1954, 2278, - 2272, 4550, 3858, 2006, 9886, 9886, 2061, 9886, 2286, 9886, - 2287, 2318, 9886, 9886, 9886, 9886, 9886, 9886, 0, 0, - 0, 0, 0, 0, 0, 0, 2013, 1220, 676, 9886, - 845, 8754, 0, 5356, 2196, 2084, 0, 2290, 65, 0, - 0, 0, 2084, 1824, 0, 0, 2062, 807, 807, 1313, - 1313, 0, 1077, 0, 0, 0, 0, 990, 2296, 2293, - 1285, 0, 0, 5356, 2016, 0, 0, 0, 0, 0, - 0, 0, 0, 321, 0, 0, 0, 0, 0, 1835, - 1887, 0, 0, 0, 2299, 1849, 0, 0, 0, 0, - 1842, 0, 1917, 2085, 0, 507, 0, 0, 0, 0, - 0, 0, 0, 2312, 5356, 2568, 0, 0, 2059, 0, - 0, 0, 2568, 0, 0, 0, 1016, 1016, 1854, 2327, - 0, 0, 0, 0, 0, 405, 689, 1085, 0, 2106, - 0, 0, 0, 4583, 83, 1880, 1949, 1982, 2331, 0, - 1696, 1891, 0, 0, 1114, 0, 2316, 4583, 1132, 380, - 2334, 2335, 2336, 2115, 58, 2059, 1917, 1764, 3486, 0, - 1755, 65, 1927, 1944, 0, 815, 0, 380, 1991, 2089, - 9622, 0, 0, 380, 1911, 2092, 0, 0, 2356, 2363, - 0, 2473, 2084, 2371, 0, 0, 2084, 2372, 9288, 0, - 0, 0, 2063, 2376, 2084, 2379, 1875, 2388, 2084, 2393, - 9886, 9886, 2275, 9886, 9352, 2394, 2084, 2395, 2397, 2084, - 2401, 9886, 2084, 2402, 2084, 2404, 2414, 2084, 2415, 2416, - 2084, 2423, 0, 2151, 0, 0, 0, 0, 0, 0, - 2137, 4550, 0, 4550, 162, 2272, 0, 219, 219, 94, - 0, 0, 7686, 0, 1935, 0, 2278, 2272, 2421, 3858, - 2384, 2444, 0, 2451, 0, 2785, 9886, 0, 2962, 3320, - 3474, 3518, 3528, 3537, 9886, 380, 8754, 2084, 2032, 8754, - 0, 9886, 0, 2158, 783, 9886, 8754, 9886, 9886, 0, - 0, 1285, 2433, 8754, 4583, 990, 2100, 0, 2102, 2107, - 2154, 2206, 2168, 0, 0, 0, 2059, 0, 1927, -163, - 0, 2080, 1317, 2110, 1696, 2112, 1696, 0, 5356, 611, - 0, 0, 0, 0, 0, 0, 0, 2064, 2235, 2059, - 0, 9886, 0, 2220, 2105, 1854, 1043, 0, 5356, 0, - 0, 0, 2123, 2127, 2133, 2135, 2136, 2144, 0, 0, - 0, 0, 0, 2476, 83, 0, 1798, 0, 0, 100, - 0, 2568, 2155, 100, 0, 100, 0, 1982, 2491, 0, - 0, 0, 0, 1100, 2235, 1696, 0, 1764, 0, 0, - 7686, 2256, 0, 477, 0, 2299, 0, 2495, 0, 2497, - 1317, 43, 2498, 0, 1317, 0, 0, 9886, 2119, 2119, - 1354, 2499, 1939, 0, 2119, 2119, 9886, 2119, 2119, 2591, - 2084, 0, 1909, 9886, 2084, 2119, 2119, 2119, 2119, 2084, - 2119, 2119, 2119, 2119, 2119, 2119, 2161, 0, 0, 0, - 0, 0, 0, 0, 2111, 0, 0, 0, 0, 1774, - 8754, 0, 3858, 2421, 0, 0, 4215, 2508, 0, 0, - 3637, 0, 0, 0, 0, 0, 0, 3811, 141, 0, - 8754, 2242, 2116, 0, 8754, 3885, 1941, 0, 1479, 2084, - 0, 1948, 0, 1285, 0, 0, 0, 990, 5303, 5356, - 2156, 2235, 0, 0, 0, 0, 1917, 0, 0, 1317, - 1500, 0, 0, 631, 0, 0, 4583,10804, 0, 0, - 2084, 2274, 2220, 0, 1158, 4583, 0, 2218, 656, 2114, - 2222, 2120, 2260, 2226, 2264, 2059, 0, 0, 2526, 0, - 2527, 0, 2219, 2274, 2155, 0, 0, 0, 0, 0, - 0, 0, 0, 2059, 1755, 0, 1500, 2106, 2249, 2189, - 0, 1887, 0, 0, 0, 2205, 353, 0, 1982, 2210, - 2084, 2541, 2542, 65, 0, 0, 2545, 2551, 2084, 2553, - 2554, 9886, 9886, 2084, 2559, 2560, 2561, 2563, 2564, 2565, - 2567, 2569, 2573, 2575, 0, 219, 1779, 0, 0, 0, - 0, 0, 380, 0, 0, 0, 8754, 0, 0, 8754, - 0, 1779, 0, 1241, 0, 2337, 0, 2572, 2581, 0, - 0, 0, 0, 0, 0, 15, -59, 0, 0, 0, - 0, 1696, 0, 0, 0, 0, 4215, 2088, 999, 2570, - 35, 2590, 2291, 9886, 2578, 2599, 2583, 2585, 2586, 2587, - 2300, 2589, 0, 0, 0, 2342,10726, 2600, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2620, 4583, 0, 0, 2310, 2319, 4583, 1854, 0, - 0, 1016, 4583, 0, 0, 0, 0, 0, 0, 0, - 2235, 0, 0, 0, 0, 0, 2235, 0, 0, 0, - 0, 1326, 1779, 0, 0, 9886, 1317, 0, 0, 0, - 1317, 0, 0, 9886, 0, 0, 0, 0, 2084, 2084, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2016, 2625, 0, 0, 2016, 5356, 4583, 1200, 5303, - 0, 0, 2304, 0, 2634, 0, 0, 0, 167, 0, - 9592, 4583, 0, 0, 9886, 0, 569, 2343, 5356, 2579, - 0, 5356, 0, 0, 0, 0, 1498, 0, 0, 534, - 0, 2225, 0, 0, 0, 0, 0, 1854, 1016, 0, - 2294, 0, 0, 0, 0, 2106, 0, 1326, 2637, 1285, - 0, 0, 2016, 2084, 0, 0, 1479, 2168, 0, 2168, - 15, 0, 0, 0, 3566, 2568, 0, 2626, 0, 2859, - 9656, 1799, 9886, 1498, 704, 9886, 2632, 740, 1378, 0, - 0, 0, 4583, 4583, 83, 226, 0, 0, 0, 2294, - 724, 1854, 2301, 2309, 0, 0, 1285, 2652, 1326, 2351, - 2168, 2654, 1779, 2156, 2156, 4583, 0, 2655, 2656, 1091, - 0, 0, 0, 7784, 2289, 2657, 1498, 0, 1711, 179, - 2267, 2084, 0, 2399, 0, 1498, 0, 0, 0, 0, -10804, 534, 1854, 374, 374, 0, 2407, 0, 2263, 0, - 0, 0, 1285, 1326, 0, 0, 2016, 2323, 2323, 0, - 0, 3566, 2671, 0, 4583, 0, 1753, 2000, 1082, 2659, - 1701, 1498, 2426, 2412,10804,10804, 0, 0, 0, 0, - 0, 2258, 574, 0, 0, 0, 1847, 2168, 0, 0, - 0, 4583, 0, 0, 1498, 2684, 0, 0, 588, 4583, -10804, 2425, 0, 0, 0, 0, 5356, 2156, 2693, 2697, - 2002,10804, 0, 0,10804, 15, 2323, 4583, 0, 0, - 0, 0, 0, 0, + 715, 5332,12110, 1918, 1924, 1925, 0, 715, 0, 1534, + 0, 0, 1896, 0, 88, 1903, 0, 0, 0, 715, + 0, 2143, 136, 0, 0, 0, 2009, 136, 1898, 136, + 0, 2284, 715, 715, 715, 0, 1604, 5332, 0, 1961, + 0, 1873, 0, 0, 0, 901, 1916, 5332, 1874, 162, + 0, 0, 2294, 2061, 0, 0, 0, 0, 128, 5332, + 1931, 6197, 0, 0, 1931, 5806, 0, 0, 0, 4347, + 0, 164, 81,10227,10227, 6294, 2300, 664, 6548,10227, + 6700, 1378, 6809, 7063, 9430, 7215, 7324, 7578, 5958, 5958, +10227,10227, 2077,10227, 2309,10227, 2307, 2302,10227,10227, +10227,10227,10227,10227, 0, 0, 0, 0, 0, 0, + 0, 0, 2040, 810, 8,10227, 634, 9111, 0, 5958, + 1494, 2308, 991, 0, 0, 0, 0, 2496, 1879, 0, + 0, 2075, 781, 781, 120, 120, 0, 265, 0, 0, + 0, 0, 5332, 5332, 5332, 5332, 5332, 5332, 157, 2320, + 0, 0, 0, 4598, 1980, 0, -48, 2001, 5332, 0, + 991, 9111, 2001, 2322, 2320, 4598, 4325, 2049, 0, 0, + 486, 2330, 2327, 1432, 0, 0, 5958, 2044, 0, 0, + 0, 0, 0, 0, 0, 0, 461, 0, 0, 0, + 0, 0, 1892, 1916, 0, 0, 0, 2332, 1869, 0, + 0, 0, 0, 1893, 0, 1973, 2114, 0, 636, 0, + 0, 0, 0, 0, 0, 0, 2338, 5958, 1495, 0, + 0, 2082, 0, 0, 0, 1495, 0, 0, 0, 1330, + 1330, 1881, 2353, 0, 0, 0, 0, 0, -25, -44, + 1002, 0, 2119, 0, 0, 0, 5332, 130, 1944, 1975, + 2007, 2354, 0, 1721, 1956, 0, 0, 1025, 0, 2341, + 5332, 1110, 715, 2359, 2365, 2367, 2145, 50, 2082, 1973, + 1811, 4049, 0, 1779, 991, 1971, 1989, 0, 389, 0, + 715, 2038, 2117, 9046, 0, 0, 715, 1941, 2130, 0, + 0, 2399, 2401, 0, 5958, 5958, 0, 5958, 5958, 1923, + 2496, 2403, 0, 0, 2496, 2407, 9669, 0, 0, 0, + 2099, 2412, 2496, 2416, 1599, 2423, 2496, 2430,10227,10227, + 2300,10227, 9749, 2431, 2496, 2433, 2434, 2496, 2435,10227, + 2496, 2436, 2496, 2437, 2438, 2496, 2440, 2441, 2496, 2442, + 0, 2221, 2316, 2506, 0, 2533, 0, 2609,10227, 0, + 2991, 3031, 3055, 3070, 3116, 3168,10227, 715, 9111, 2496, + 2051, 9111, 0,10227, 0, 2176, 516,10227, 9111,10227, +10227, 0, 0, 0, 0, 0, 0, 0, 0, 2160, + 4598, 0, 4598, 157, 2320, 0, 241, 241, 99, 0, + 0, 7808, 0, 1963, 0, 2322, 2320, 2446, 4325, 1432, + 2450, 9111, 5332, 486, 2107, 0, 2109, 2111, 2149, 2226, + 2170, 0, 0, 0, 2082, 0, 1971, 607, 0, 2080, + 1421, 2120, 1721, 2115, 1721, 0, 5958, 372, 1411, 0, + 0, 0, 0, 0, 0, 0, 0, 2070, 2232, 2082, + 0,10227, 0, 2217, 2100, 1881, 106, 0, 5958, 0, + 0, 0, 2127, 2133, 2134, 2135, 2136, 2138, 0, 0, + 0, 0, 0, 2484, 130, 0, 1816, 0, 0, 136, + 0, 1495, 2148, 136, 0, 136, 0, 2007, 2486, 0, + 0, 0, 0, 901, 2232, 1721, 0, 1811, 0, 0, + 7808, 2251, 0, 604, 0, 2332, 0, 2490, 0, 2491, + 1421, -30, 2492, 0, 1421, 0, 0, 0, 2221, 0, + 2221,10227, 2118, 2118, 1341, 2493, 1964, 0, 2118, 2118, +10227, 2118, 2118, 2182, 2496, 0, 1639,10227, 2496, 2118, + 2118, 2118, 2118, 2496, 2118, 2118, 2118, 2118, 2118, 2118, + 0, 0, 7774, 2495, 0, 0, 3244, 0, 0, 0, + 0, 0, 0, 3366, 413, 0, 9111, 2237, 2122, 0, + 9111, 3560, 1965, 1467, 2496, 2167, 0, 0, 0, 0, + 0, 0, 0, 2124, 0, 0, 0, 0, 1803, 9111, + 0, 4325, 2446, 0, 2002, 0, 1432, 0, 0, 0, + 486, 5533, 5958, 2171, 2232, 0, 0, 0, 0, 1973, + 0, 0, 1421, 1534, 0, 0, 421, 0, 0, 0, + 5332,11890, 0, 0, 2496, 2274, 2217, 0, 1301, 5332, + 0, 2224, 422, 2121, 2233, 2137, 2265, 2234, 2283, 2082, + 0, 0, 2545, 0, 2548, 0, 2238, 2274, 2148, 0, + 0, 0, 0, 0, 0, 0, 0, 2082, 1779, 0, + 1534, 2119, 2271, 2208, 0, 1916, 0, 0, 0, 2223, + -100, 0, 2007, 2227, 2496, 2551, 2558, 991, 0, 0, + 2559, 2561, 2496, 2563, 2565,10227,10227, 2496, 2571, 2575, + 2584, 2585, 2586, 2588, 2589, 2591, 2592, 2594, 0, 0, + 0, 0, 715, 0, 0, 0, 9111, 0, 0, 0, + 1813, 0, 241, 1813, 0, 0, 1528, 0, 2361, 0, + 2597, 2600, 0, 0, 0, 0, 0, 0, 15, 683, + 0, 0, 0, 0, 1721, 0, 0, 0, 0, 7774, + 1100, 785, 2587, -38, 2605, 2313,10227, 2598, 2618, 2602, + 2603, 2606, 2610, 2319, 2611, 0, 0, 0, 2363,11866, + 2617, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2637, 5332, 0, 0, 2333, 2340, + 5332, 1881, 0, 0, 1330, 5332, 0, 0, 0, 0, + 0, 0, 0, 2232, 0, 0, 0, 0, 0, 2232, + 0, 0, 0, 0, 787, 1813, 0, 0,10227, 1421, + 0, 0, 0, 1421, 0, 0,10227, 0, 0, 0, + 0, 2496, 2496, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2646, 0, 2044, 0, 2044, 5958, 5332, + 844, 5533, 0, 0, 2323, 0, 2650, 0, 0, 0, + 151, 0, 9988, 5332, 0, 0,10227, 0, 278, 2348, + 5958, 2343, 0, 5958, 0, 0, 0, 0, 973, 0, + 0, 716, 0, 2247, 0, 0, 0, 0, 0, 1881, + 1330, 0, 2311, 0, 0, 0, 0, 2119, 0, 787, + 2656, 1432, 0, 0, 2044, 2496, 0, 0, 1467, 0, + 2170, 2170, 15, 0, 0, 0, 4871, 1495, 0, 2643, + 0, 2857, 8536, 1393,10227, 973, 654,10227, 2645, 692, + 1320, 0, 0, 0, 5332, 5332, 130, 232, 0, 0, + 0, 2311, 530, 1881, 2328, 2329, 0, 0, 1432, 2664, + 787, 2370, 2170, 2673, 1813, 2171, 2171, 5332, 0, 2679, + 2677, -12, 0, 0, 0, 2335, 973, 0, 1414, 748, + 2295, 2496, 0, 2428, 0, 973, 0, 0, 0, 0, +11890, 716, 1881, 924, 924, 0, 2432, 0, 2296, 0, + 0, 0, 1432, 787, 0, 0, 2044, 2352, 2352, 0, + 0, 4871, 2706, 0, 5332, 0, 733, 2688, 1327, 973, + 2455, 2445,11890,11890, 0, 0, 0, 0, 0, 2287, + 30, 0, 0, 0, 1668, 2170, 0, 0, 0, 5332, + 0, 973, 2708, 0, 0, 436, 5332,11890, 2449, 0, + 0, 0, 0, 5958, 2171, 2713, 2718, 2019,11890, 0, + 0,11890, 15, 2352, 5332, 0, 0, 0, 0, 0, + 0, }; static short yyrindex[] = { 0, - 0, 215, 1001, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 115, 5695, 0, 0, 0, 0, 0, 0, - 2739, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 171, 762, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 127, 1632, 0, 0, 0, 0, 0, 0, + 2760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 456, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 910, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 356, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2403, 0, 0, 0, 0, 0, + 872, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2426, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2358, 0, 0, - 0, 248, 0, 248, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2359, + 0, 0, 0, 0, 0, 0, 0, 2383, 0, 0, + 0, 113, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 864, 0, 0, 8023, 5954, 0, 0, - 0, 919, 0, 0, 0, 2584, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 398, 0, 0, 0, + 0, 0, 2384, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1033, 0, 0, 8145, + 5654, 0, 0, 0, 1120, 0, 0, 0, 2110, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -12, 0, 0, 0, 0, 440, 0, 0, 1194, - 0, 0, 0, 0, 0, 1172, 0, 6294, 0, 0, - 0, 0, 0, 0, 0, 0, -12, 0, -30, 0, - 0, 2705, 0, 0, 0, 2484, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1243, + 0, 611, 0, 0, 0, 0, 766, 0, 0, 1202, + 0, 0, 0, 0, 0, 1517, 0,10089, 0, 0, + 0, 0, 0, 0, 0, 0, 611, 0, -47, 0, + 0, 2728, 0, 0, 0, 2505, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1321, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1198, 0, 0, 0, 0, - 0, 0, 0, 4717, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1246, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1089, 0, 0, 0, 0, + 0, 0, 0, 5557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 171, 0, 0, 1330, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -12, 0, - 2705, 0, 2484, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1335, 0, 2474, 0, 0, 0, 0, - 1348, 0, 0, 0, 0, 0, 2492, 738, 8434, 0, - 1357, 0, 0, 0, 0, 390, 0, 0, 0, 2303, - 2303, 0, 0, 0, 1361, 1301, 0, 0, 0, 0, - 0, 0, 0, 2492, 0, 0, 1442, 0, 0, 0, - 0, 0, 0, 0, 9318, 2374, 0, 0, 0, 0, + 0, 0, 0, 0, 964, 0, 0, 1265, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 611, 0, + 2728, 0, 2505, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1300, 0, 2497, 0, 0, 0, 0, + 1322, 0, 0, 0, 0, 0, 2509, -22, 5894, 0, + 1331, 0, 0, 0, 0, 209, 0, 0, 0, 2312, + 2312, 0, 0, 0, 1335, 2098, 0, 0, 0, 0, + 0, 0, 0, 2509, 0, 0, 1478, 0, 0, 0, + 0, 0, 0, 0, 8080, 2388, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1377, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1395, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1902, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2681, + 0, 0, 0, 2934, 3187, 0, 0, 0, 0, 0, + 0, 0, 393, 0, 0, 0, 0, 0, 0, 0, + 0, 210, 3440, 2375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1456, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1762, 0, - 0, 0, 0, 0, 0, 2347, 0, 0, 0, 2482, - 2838, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2973, 0, 1970, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1361, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 407, 0, 0, 2445, - 0, 176, 0, 0, 0, 0, 0, 749, 0, 749, - 0, 0, 635, 0, 647, 739, 0, 0, 0, 0, - 1243, 0, 2492, 0, 0, 124, 1141, 0, 0, 155, - 0, 2341, 387, 0, 0, 0, 0, 0, 0, 2303, - 2303, 2303, 2303, 0, 438, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2500, - 0, 0, 0, 0, 0, 2474, 0, 0, 1073, 0, - 2298, 0, 0, -108, 0, 0, 0, 0, 216, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1464, 0, - 0, 0, 0, 1134, 932, 0, 0, 0, 5228, 0, - 0, 5472, 0, 0, 5615, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1341, 1866, - 0, 0, 0, 0, 5627, 4700, 0, 5615, -12, 0, - 0, 0, 0, 0, 0, 0, 0, 738, 1380, 0, - 0, 0, 0, 2355, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 163, 0, + 0, 0, 0, 1385, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 623, 0, 0, 2458, 0, 145, + 0, 0, 0, 0, 0, 503, 0, 503, 0, 0, + 1081, 0, 1103, 1252, 0, 0, 0, 0, 1215, 0, + 2509, 0, 0, 105, 824, 0, 0, 119, 0, 3770, + 225, 0, 0, 0, 0, 0, 0, 2312, 2312, 2312, + 2312, 0, 380, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2515, 0, 0, + 0, 0, 0, 2497, 0, 0, 1147, 0, 2317, 0, + 0, 832, 0, 0, 0, 0, 208, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1437, 0, 0, 0, + 0, 2866, 1800, 0, 0, 0, 2231, 0, 0, 1339, + 0, 0, 5922, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2514, 2544, 0, 0, + 0, 0, 8435, 5268, 0, 5922, 611, 0, 0, 0, + 0, 0, 0, 0, 0, -22, 1005, 0, 0, 0, + 0, 2371, 0, 0, 0, 0, 0, 0, 0, 0, + 0,10564,10786,10870, 0, 0, 1520, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +10307, 0,10307, 0, 0, 0,10307,10307,10307, 0, + 0, 0, 0, 0, 2339, 0, 0, 0, 0, 4410, + 4642, 8297, 2739, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 276, 0, 0, - 5695, 0, 0, 276, 0, 0, 0, 0, 0, 9969, - 0, 9969, 0, 0, 9969, 9969, 9969, 0, 0, 0, - 2320, 0, 0, 0, 0, 3955, 4311, 8175, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 163, 0, 0, + 1632, 0, 0, 163, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1256, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 671, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -22, + 0, 1107, 0, 0, 940, 0, 0, 0, 3787, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1129, 0, 0, 0, 0, 0, + 0, 537, 0, 0, 0, 0, 0, 0, 0, 2749, + 0, 0, 3343, 3090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 738, 0, 1069, 0, 0, 418, 0, 0, 0, 3191, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 940, 0, 0, 0, 0, 0, 0, 0, - 2729, 0, 0, 974, 2373, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 465, 701, 767, 0, 0, 0, - 2907, 0, 0, 0, 0, 0, 1161, 0, 0, 0, - 0, 0, 5472, 0, 0, 0, 0, 933, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2492, 0, 0, - 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, -11101, 0, 0, 0, 246, 0, 0, 0, 0, 2463, + 0, 0, 0, 274, 290, 412, 0, 0, 0, 1368, + 0, 0, 0, 0, 0, 3599, 0, 0, 0, 0, + 0, 1339, 0, 0, 0, 0, 399, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2509, 0, 0, 322, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 9604, + 0, 0, 0, 239, 0, 0, 0, 0, 2487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1518, 1546, 0, 0, 0, 0, - 0, 0, 0, 1557, 0, 0, 8023, 0, 1557, 1559, - 1596, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 962, 0, 0, 9969, 0, - 0, 0, 1349, 0, 0, 0, 3329, 4446, 4802, 3464, - 3820, 0, 0, 0, 0, 0, 0, 0, 784, 1797, - 1588, 0, 0, 0, 571, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 166, 0, 0, 0, 0, 0, - 0, 0, 2303, 2317, 0, 3398, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2503, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1730, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1608, - 0, 0, 0, 0, 0, 0, 0, 2279, 0, 0, - 0, 0, 0, 0, 0, 0, 1189, 0, 0, 0, - 0, 0, 0, 0, 1380, 2503, 2303, 1613, 738, 0, - 2513, 8023, 1626, 153, 0, 0, 0, 0,11101, 0, + 0, 0,10307, 0, 0, 0, 0, 1451, 0, 0, + 0, 3672, 4895, 5127, 3925, 4157, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1499, 1513, + 0, 0, 0, 0, 0, 0, 0, 1566, 0, 0, + 8145, 0, 1566, 1571, 1581, 0, 0, 0, 0, 0, + 0, 818, 2228, 2277, 0, 0, 0, 1853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1622, 0, 0, 0, 3719, 0, 0, 0, - 0, 0, 0, 0, 4210, 0, 6295, 0, 7422, 0, - 0, 0, 0, 0, 0, 0, 7662, 0, 0, 7973, - 0, 0, 8834, 0, 9034, 0, 0,10163, 0, 0, -10174, 0, 0, 2118, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1518, 1627, 0, 2345, 350, 0, - 0, 0, 0, 0, 0, 0, 1665, 1673, 1684, 0, + 0, 0, 0, 0, 0, 0, 0, 168, 0, 0, + 0, 0, 0, 0, 0, 2312, 2337, 0, 3863, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2344, 0, 0, + 0, 2522, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1460, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1595, 0, 0, 0, 0, 0, 0, 0, + 2648, 0, 0, 0, 0, 0, 0, 0, 0, 1131, + 0, 0, 0, 0, 0, 0, 0, 1005, 2522, 2312, + 1656, -22, 0, 2535, 8145, 1692, 167, 0, 0, 0, + 0, 9604, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2435, 1869, 0, 3215, 0, 2440, 0, 2442, 2443, - 0, 0, 135, 0, 0, 0, 2503, 0, 1626, 0, - 0, 3866, 0, 0, 0, 2330, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 4775, 0, 2521, - 0, 0, 0, 3088, 0, 1730, 2403, 0, 0, 0, - 0, 0, 799, 806, 831, 898, 901, 928, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 980, 0, 0, 0, 0, 2999, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1687, 0, 0, - 0, 0, 0, 0, 0, 1693, 0, 0, 0, 0, - 0, 132, 0, 0, 0, 0, 0, 0, 0, 0, - 8175, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10237, 0,10257, 0,10320, 0, 0, 0, 0,10365, + 6173, 0, 0, 0, 6499, 0, 0, 0, 0, 0, + 0, 0, 7594, 0,10638, 0,10954, 0, 0, 0, + 0, 0, 0, 0,11026, 0, 0,11100, 0, 0, +11134, 0,11163, 0, 0,11184, 0, 0,11271, 0, + 0, 1111, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2362, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1713, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1499, 1710, 0, 2364, 236, 0, 0, + 0, 0, 0, 0, 0, 1719, 1743, 1762, 0, 2459, + 1272, 0, 2577, 0, 2460, 0, 2463, 2466, 0, 0, + 311, 0, 0, 0, 2522, 0, 1692, 0, 0, 3256, + 0, 0, 0, 2358, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 6025, 0, 2540, + 0, 0, 0, 1488, 0, 1460, 2426, 0, 0, 0, + 0, 0, 649, 661, 753, 779, 789, 815, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1740, - 0, 0, 0, 3116, 0, 0, 0, 0, 0, 0, - 535, 0, 0, 0, 0, 0, 2303, 0, 0, 0, - 2039, 0, 0, 0, 0, 0, 0, 2487, 0, 0, - 2755, 1867, 3490, 0, 2474, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2503, 0, 0, 0, 0, - 0, 0, 0, 1714, 1064, 0, 0, 0, 0, 0, - 0, 0, 0, 2503, 2513, 0, 313, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 152, 0, -10466, 0, 0, 9969, 0, 0, 0, 0,10530, 0, - 0, 0, 0,10593, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 350, 1101, 0, 0, 0, + 0, 0, 836, 0, 0, 0, 0, 3517, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1784, 0, 0, + 0, 0, 0, 0, 0, 1793, 0, 0, 0, 0, + 0, 166, 0, 0, 0, 0, 0, 0, 118, 0, + 269, 0, 0, 0, 8297, 0, 0, 0, 0, 0, + 0, 0, 0, 0,11304, 0,11441, 0,11470, 0, + 0, 0, 0,11504, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 657, 0, 2435, 0, 473, 0, 0, 1009, 0, - 0, 0, 0, 0, 0, 160, 2757, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1486, 1731, 0, 0, - 0, 0, 0, 0, 0, 0, 2496, 0, 0, 0, + 0, 0, 0, 0, 1837, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3039, 0, - 0, 136, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1798, 0, 0, 0, 2279, 0, 0, 0, + 0, 0, 0, 376, 0, 0, 0, 0, 0, 2312, + 0, 0, 0, 2067, 0, 0, 0, 0, 0, 0, + 0, 2511, 0, 0, 2776, 1795, 2959, 0, 2497, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2522, + 0, 0, 0, 0, 0, 0, 0, 1814, 1034, 0, + 0, 0, 0, 0, 0, 0, 0, 2522, 2535, 0, + 337, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 255, 0,11568, 0, 0,10307, 0, 0, + 0, 0,11642, 0, 0, 0, 0,11671, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 238, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,10673,10694, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 969, 0, 0, 0, 138, 0, 0, 0, 0, - 0, 0, 2765, 0, 0, 0, 0, 0, 2749, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2752, + 331, 0, 236, 1047, 0, 0, 2459, 0, 174, 0, + 0, 179, 0, 0, 0, 0, 0, 0, 742, 2780, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2504, 0, 0, 0, 0, 0, 3039, 347, 0, - 143, 0, 0, 0, 0, 0, 0, 0, 234, 229, - 0, 0, 159, 2755, 0, 0, 0, 295, 0, 687, - 3690, 0, 0, 0, 2757, 0, 0, 0, 0, 0, - 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 378, - 0, 1730, 386, 564, 0, 0, 2435, 1965, 0, 0, - 133, 0, 657, 376, 259, 1309, 0, 0, 2775, 0, - 0, 0, 0, 0, 2759, 243, 0, 0, 0, 2515, - 0, 2761, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3039, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 255, 0, 0, 0, 138, 1312, 2780, 0, - 0, 2757, 0, 0, 0, 0, 2787, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1522, + 1545, 0, 0, 0, 0, 0, 0, 0, 0, 2513, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2435, 687, 0, 0, - 0, 0, 0, 0, 0, 2770, 0, 0, 0, 0, - 0,10753, 0, 0, 0, 0, 0, 259, 2783, 0, - 0, 0, 0, 0, 0, 2750, 2780, 0, 0, 0, - 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 3626, 0, 0, 111, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 204, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0,11705,11716, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 471, 0, 873, 0, 0, + 0, 0, 0, 0, 2785, 0, 0, 0, 0, 0, + 2771, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2773, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2525, 0, 0, 0, 0, 0, 3626, + 117, 0, 107, 0, 0, 0, 0, 0, 0, 0, + 428, 282, 0, 0, 214, 2776, 0, 0, 0, 0, + 316, 885, 2764, 0, 0, 0, 2780, 0, 0, 0, + 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 144, 0, 1460, 190, 583, 0, 0, 2459, 1726, + 0, 0, 206, 0, 331, 131, 315, 976, 0, 0, + 2793, 0, 0, 0, 0, 2779, 0, 0, 0, 2537, + 0, 2784, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 3626, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 637, 0, 0, 0, 471, 2810, 1226, 0, + 0, 2780, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2459, 316, 0, 0, 0, 0, + 0, 0, 2795, 0, 0, 0, 0, 0,11792, 0, + 0, 0, 0, 0, 131, 2819, 0, 0, 0, 0, + 0, 0, 2129, 2810, 0, 0, 0, 0, 0, 0, + 0, }; static short yygindex[] = { 0, - 0, 0, 0, 0, 0, 0, 2833, 0, 0, 2834, - 0, 0, 0, 0, 0, 0, 10, 0, 2835, 2, - 300, 14, -531, 1695, 337, -187, 256, 2831, 2574, 0, - -28, 0, 2593, -96, -40, 0, 73, -330, -3, -57, - -22, -139, 2588, 2178, 0, 0, 0, 1525, 0, 0, - -36, 1786, -536, -2, -813, 2234, 2020, -297, 1791, 2786, - -280, 0, -60, 0, -478, -53, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2861, 0, 0, 2863, + 0, 0, 0, 0, 0, 0, 11, 0, 2868, 1, + 305, -50, -599, 1685, 714, -233, 75, 2858, 2601, 0, + -28, 0, 2607, -96, -40, 0, 555, -894, -27, -63, + -36, -200, 2616, 2175, 0, 0, 0, 570, 0, 0, + -52, 1789, -519, -1, -868, 2252, 2037, -298, 1808, 2804, + -258, 0, -60, 0, -472, -53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -550, -1, 1801, -298, 1021, -913, 0, - 0, 0, 0, -333, -121,-1067, 1820, -335, -50, 0, - -518, 0, 0, 1450, -984, 0, 1461, 0, 0, 2549, - -539, -6, 0, 0, 0, 0, 2531, 0, 2311, 2582, - -219, 1831, -690, 0, 0, 0, -705, 0, 0, 0, - 0, 0, 0, 1888, 0, 2597, 2142, 1827, 2576, 2592, - 0, 1281, 0, -513, 2128, -35, -631, -718, 0, 0, - -85, -929, -921, -911, -233, -907, 0, 1520, -991, 0, - 1206,-1138, 1521, 0, 2366, 0, 0, 0, 1207, 1212, - 1173, 105, -254, -135, -801, 0, 0, 2157, 0, 1705, - 0, 0, 274, 0, 0, 0, 0, -154, 0, 0, + 0, 0, 0, -570, -29, 1818, -275, 1137, -929, 0, + 0, 0, 0, -332, -121, -544, 1830, -329, -51, 0, + -517, 0, 0, 1465, -974, 0, 1470, 0, 0, 2593, + -597, -18, 0, 0, 0, 0, 2555, 0, 2336, 2608, + -197, 1854, -662, 0, 0, 0, -666, 0, 0, 0, + 0, 0, 0, 1914, 0, 2613, 2180, 1861, 2599, 2604, + 0, 1290, 0, -512, 2156, -35, -648, -511, 0, 0, + 0, -927, -926, -922, -272, -918, 0, 1521, -904, 0, + 1217,-1181, 1530, 0, 2385, 0, 0, 0, 1221, 1225, + 1187, 306, -250, -755, -336, 0, 0, 2183, 0, 1716, + 0, 0, -259, 0, 0, 0, 0, -161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1300, -14, 0, 0, 240, 0,-1123, -511, - 1130, 1292, 0, 1193, 0, 0, 2555, -112, 1956, 1744, - 1572, 0, -988, -848, -881, 0, -494, -687, -390, 0, - -580, 1288, 1098, -638, -523, -734, -925, -749, 0, 0, - 1, 0, 0, 0, 0, 0, 2616, 0, 0, 0, - 0, 2629, 2405, 0, 0, 0, 0, 0, -9, 2638, - 0, 0, 0, 0, -15, 0, 0, 0, -340, 2132, - -327, 1697, -451, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2346, 0, 0, 2145, 0, 0, 0, 0, - 0, 0, 54, 2956, 0, 0, 0, 0, 0, 2672, - 0, 0, 0, 0, 2480, 0, 2477, 0, 0, 0, - 2238, 0, 0, 0, -951, 0, 93, 0, 2232, 0, - 0, 0, 0, 0, 0, -611, -974, -923, 681, -129, - 1532, 0, 2841, 1277, 0, 2262, -622, 2265, 0, -839, - 2021, 0, 0, -134, -683, 0, 1373,-1176, 0,-1131, --1122,-1118, 1487, 0, 1224, 0, 1274, 0, 1178, 0, - 0, 0, 0, 2490, 0, 0, 0, -352, 2324, 2101, - -971, 0, 0, 0, -680, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3177, 1571, 1900, - 0, -572, 0, 0, 0, -243, 0, 2622, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -32, 1837, - 0, 0, + 1255, 0, 1314, -78, 0, 0, 1106, 0, -381, 245, + 1148, 1298, 0, 1205, 0, 1974, 1753, 1575, 0,-1070, + -811, -914, 0, -495, -757, -242, 0, -575, 1292, 965, + -584, -494, -707, -909,-1258, 0, 0, -3, 0, 0, + 0, 0, 0, 2631, 0, 0, 0, 0, 2651, 2429, + 0, 0, 0, 0, 0, -9, 2660, 0, 0, 0, + 0, -10, 0, 0, 0, -338, 2161, -335, 1712, -457, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2381, + 0, 0, 2184, 0, 0, 0, 0, 0, 0, 55, + 2985, 0, 0, 0, 0, 0, 2709, 0, 0, 0, + 0, 2510, 0, 2512, 0, 0, 0, 2269, 0, 0, + 0, -74, 0, 86, 0, 2258, 0, 0, 0, 0, + 0, 0, -587,-1136, -896, 394, -210, 1115, 0, 2872, + -116, 1381, 0, 2290, -611, 2293, 0, -802, 2052, 0, + 0, -129, -239, 0, 1388,-1150, 0,-1104, -622, -618, + 1508, 0, 1248, 0, 1293, 0, 1200, 0, 0, 0, + 0, 2528, 0, 0, 0, -399, 2325, 2079, -988, 0, + 0, 0, -657, -388, 326, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 3191, 1367, + 1926, 0, -503, 0, 0, 0, -913, 0, 1817, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -240, + 1880, 0, 0, }; -#define YYTABLESIZE 11598 -static short yytable[] = { 124, - 146, 189, 124, 212, 79, 78, 145, 259, 151, 37, - 398, 308, 208, 278, 281, 192, 747, 572, 609, 577, - 394, 948, 279, 282, 243, 204, 217, 209, 195, 542, - 771, 610, 544, 774, 783, 247, 252, 753, 1233, 785, - 222, 966, 733, 186, 188, 191, 194, 145, 199, 248, - 229, 488, 1002, 210, 188, 215, 254, 194, 1153, 145, - 199, 679, 228, 124, 986, 219, 224, 146, 917, 907, - 1372, 239, 253, 145, 241, 188, 250, 239, 215, 191, - 194, 246, 145, 199, 228, 124, 1223, 194, 249, 251, - 265, 313, 267, 1223, 1224, 639, 949, 1407, 266, 856, - 1188, 1224, 863, 534, 1225, 847, 309, 866, 1227, 623, - 1234, 1225, 1071, 1045, 577, 1227, 210, 145, 210, 311, - 991, 1242, 408, 631, 746, 1046, 988, 77, 1192, 371, - 215, 408, 706, 289, 706, 759, 307, 194, 145, 228, - 1263, 397, 256, 151, 1051, 1280, 1019, 398, 963, 484, - 333, 509, 362, 910, 639, 1026, 277, 394, 694, 705, - 939, 1091, 707, 731, 631, 638, 1079, 631, 393, 816, - 600, 510, 89, 577, 77, 360, 759, 1336, 694, 759, - 125, 1484, 631, 256, 328, 263, 256, 759, 742, 834, - 676, 706, 531, 706, 759, 531, 761, 762, 763, 764, - 705, 256, 1501, 707, 995, 1142, 315, 263, 1066, 758, - 919, 362, 609, 639, 577, 404, 515, 694, 705, 664, - 401, 707, 1746, 1281, 638, 610, 317, 1686, 368, 600, - 975, 404, 686, 367, 1258, 77, 495, 708, 831, 125, - 404, 276, 1405, 577, 280, 498, 210, 1503, 318, 60, - 145, 268, 410, 124, 369, 122, 1504, 791, 750, 145, - 1505, 410, 321, 77, 277, 502, 674, 277, 826, 1752, - 508, 1340, 368, 577, 404, 750, 882, 1422, 397, 510, - 191, 277, 419, 1621, 145, 1154, 85, 368, 961, 85, - 1033, 759, 367, 543, 706, 1443, 708, 334, 369, 710, - 546, 326, 209, 817, 559, 393, 828, 561, 1622, 83, - 322, 130, 195, 369, 344, 573, 1447, 575, 631, 210, - 619, 364, 365, 1514, 283, 540, 210, 435, 210, 1384, - 210, 627, 1223, 564, 750, 706, 827, 1417, 541, 1385, - 1224, 629, 1133, 1134, 1102, 1148, 759, 1637, 131, 529, - 1225, 194, 199, 706, 1227, 579, 1374, 1207, 621, 97, - 145, 961, 191, 128, 673, 1477, 1623, 284, 1145, 1580, - 1103, 195, 1052, 670, 335, 710, 79, 256, 508, 673, - 1157, 1159, 882, 14, 678, 252, 474, 759, 684, 482, - 759, 345, 145, 404, 1492, 194, 410, 637, 268, 1439, - 883, 500, 1241, 145, 1185, 759, 744, 145, 529, 519, - 194, 1405, 145, 513, 579, 151, 710, 641, 256, 366, - 1660, 256, 323, 398, 830, 531, 252, 1399, 283, 252, - 122, 122, 272, 886, 710, 687, 256, 476, 757, 384, - 89, 631, 1783, 1501, 252, 474, 712, 744, 482, 811, - 744, 14, 706, 1585, 1432, 625, 637, 488, 1483, 1337, - 531, 1149, 741, 631, 390, 744, 1023, 1014, 694, 273, - 1016, 918, 697, 1436, 706, 1220, 641, 705, 689, 404, - 707, 1516, 728, 271, 1022, 1551, 965, 1552, 1503, 694, - 707, 760, 488, 707, 639, 664, 476, 1504, 384, 705, - 914, 1505, 707, 1368, 1611, 638, 883, 1389, 1448, 1578, - 1368, 1040, 600, 697, 625, 488, 697, 787, 759, 1709, - 1078, 706, 1579, 390, 694, 1286, 1303, 1010, 125, 1751, - 706, 697, 377, 694, 710, 328, 408, 813, 1494, 1435, - 76, 1274, 780, 210, 856, 1013, 705, 600, 780, 707, - 577, 1010, 1152, 1081, 887, 705, 368, 275, 707, 368, - 637, 367, 531, 253, 367, 708, 1420, 1736, 708, 812, - 694, 692, 706, 1756, 706, 600, 275, 262, 600, 1086, - 1509, 885, 369, 1064, 79, 369, 706, 76, 841, 842, - 962, 987, 209, 710, 600, 1626, 833, 692, 694, 705, - 675, 1628, 707, 730, 253, 1594, 362, 253, 639, 979, - 1778, 510, 694, 705, 1791, 1141, 707, 531, 210, 638, - 600, 637, 253, 577, 759, 631, 759, 858, 1344, 694, - 759, 1746, 888, 759, 606, 1590, 759, 79, 857, 1008, - 1009, 1434, 750, 256, 474, 710, 616, 673, 76, 637, - 1663, 1395, 326, 482, 777, 256, 85, 256, 210, 275, - 195, 410, 275, 252, 256, 252, 410, 1667, 368, 1215, - 744, 1515, 252, 367, 488, 410, 76, 708, 194, 1394, - 368, 706, 368, 215, 1513, 367, 921, 367, 1581, 1454, - 706, 708, 474, 606, 369, 476, 1564, 708, 384, 1409, - 388, 1731, 1723, 384, 956, 616, 369, 1588, 369, 384, - 508, 502, 210, 985, 194, 209, 529, 728, 1478, 401, - 998, 998, 1232, 838, 759, 1204, 744, 706, 390, 759, - 145, 154, 145, 1276, 1240, 210, 1442, 637, 601, 546, - 964, 210, 1243, 476, 1741, 210, 759, 153, 605, 1135, - 1792, 1715, 1138, 759, 1262, 256, 1223, 641, 1408, 388, - 1722, 1012, 710, 252, 1224, 210, 389, 1032, 1034, 1664, - 510, 200, 398, 625, 1225, 1665, 1205, 256, 1227, 398, - 1744, 1081, 1226, 677, 256, 252, 482, 759, 1029, 1226, - 697, 1793, 252, 210, 210, 625, 1702, 601, 395, 1031, - 1768, 1769, 1761, 697, 474, 396, 1615, 605, 1421, 1039, - 1065, 1329, 697, 1331, 1431, 216, 1799, 1800, 256, 609, - 1076, 1049, 498, 155, 677, 389, 252, 677, 1479, 145, - 392, 1061, 1062, 1063, 1656, 1139, 384, 76, 1794, 145, - 1506, 253, 677, 253, 1589, 1703, 1244, 759, 718, 1136, - 253, 1088, 710, 719, 256, 476, 1704, 395, 744, 697, - 79, 390, 1003, 575, 396, 1347, 744, 1496, 697, 508, - 609, 1140, 882, 1815, 710, 1833, 156, 361, 256, 410, - 194, 199, 410, 228, 124, 291, 252, 1137, 694, 392, - 410, 1822, 882, 1072, 1827, 744, 744, 391, 744, 1682, - 394, 694, 410, 410, 105, 744, 744, 744, 744, 744, - 694, 744, 697, 362, 744, 744, 1716, 882, 584, 488, - 292, 710, 575, 499, 1678, 1816, 697, 393, 1680, 979, - 1275, 541, 135, 106, 107, 1004, 108, 882, 966, 531, - 911, 253, 759, 109, 110, 111, 112, 113, 293, 114, - 1416, 294, 115, 116, 126, 234, 391, 694, 194, 394, - 1705, 942, 943, 253, 388, 882, 694, 295, 694, 236, - 253, 541, 541, 222, 710, 541, 606, 584, 500, 136, - 531, 1438, 1612, 531, 708, 1721, 393, 708, 616, 1245, - 541, 135, 541, 296, 736, 501, 883, 1616, 531, 244, - 531, 882, 681, 1629, 253, 681, 609, 1368, 693, 694, - 694, 606, 1329, 1633, 222, 241, 883, 222, 398, 610, - 681, 127, 541, 616, 1754, 1235, 1236, 694, 1226, 968, - 389, 1720, 222, 209, 1253, 1334, 1334, 1338, 136, 606, - 401, 883, 606, 708, 882, 79, 1254, 488, 1253, 693, - 1368, 616, 708, 1512, 616, 256, 241, 1269, 606, 210, - 1373, 883, 395, 137, 253, 737, 210, 693, 635, 396, - 616, 1382, 468, 706, 1287, 1289, 1634, 1681, 1720, 1798, - 601, 1293, 706, 798, 606, 799, 714, 1717, 1673, 883, - 605, 715, 805, 1391, 392, 1393, 616, 388, 781, 1695, - 708, 677, 1698, 255, 677, 944, 791, 488, 1496, 635, - 1177, 677, 635, 144, 677, 601, 468, 140, 677, 260, - 1189, 1805, 137, 677, 1720, 883, 677, 635, 708, 806, - 1246, 468, 410, 529, 410, 1701, 626, 241, 1763, 456, - 624, 708, 677, 601, 1360, 1586, 601, 1362, 79, 79, - 410, 1180, 1181, 605, 1437, 1146, 605, 1264, 1720, 708, - 526, 391, 601, 389, 394, 1755, 677, 1158, 883, 1191, - 677, 151, 605, 1359, 529, 1264, 998, 529, 241, 677, - 240, 624, 1701, 1797, 261, 307, 194, 708, 601, 541, - 788, 393, 529, 581, 529, 395, 677, 531, 605, 624, - 264, 526, 396, 283, 526, 541, 1265, 734, 541, 541, - 135, 541, 135, 531, 1328, 541, 1330, 1365, 541, 526, - 390, 526, 141, 677, 1268, 1701, 295, 392, 1767, 142, - 151, 541, 506, 807, 1788, 677, 268, 541, 277, 531, - 541, 965, 708, 677, 1498, 531, 915, 283, 531, 202, - 203, 222, 581, 222, 1446, 79, 1419, 376, 1450, 136, - 222, 718, 716, 510, 717, 115, 719, 1701, 681, 681, - 1701, 789, 677, 677, 105, 677, 269, 1826, 283, 1666, - 1571, 506, 677, 677, 677, 677, 677, 1724, 677, 1725, - 923, 677, 677, 1701, 391, 1182, 458, 394, 1577, 694, - 152, 708, 115, 106, 107, 487, 108, 231, 270, 541, - 135, 625, 790, 109, 110, 111, 112, 113, 274, 114, - 353, 925, 115, 116, 393, 98, 693, 681, 1485, 583, - 1765, 541, 1488, 410, 411, 326, 516, 115, 541, 693, - 508, 376, 541, 137, 232, 99, 1517, 412, 693, 541, - 531, 222, 625, 998, 682, 694, 408, 531, 565, 152, - 160, 209, 508, 1334, 694, 1668, 99, 541, 194, 566, - 625, 681, 541, 222, 136, 531, 351, 1562, 100, 353, - 222, 508, 101, 327, 508, 1247, 635, 210, 583, 872, - 1627, 529, 872, 411, 43, 693, 145, 541, 147, 508, - 1632, 541, 510, 101, 693, 531, 412, 1818, 635, 531, - 529, 529, 681, 529, 222, 408, 77, 529, 526, 160, - 529, 1746, 1248, 521, 283, 290, 669, 1773, 708, 668, - 148, 708, 522, 529, 530, 351, 1745, 526, 526, 529, - 526, 872, 398, 1633, 526, 149, 708, 526, 693, 105, - 151, 102, 1226, 43, 1614, 51, 708, 1631, 624, 708, - 526, 103, 693, 161, 1774, 1661, 526, 927, 708, 701, - 381, 151, 102, 706, 707, 709, 79, 1775, 106, 107, - 624, 108, 103, 1613, 531, 1498, 104, 708, 109, 110, - 111, 112, 113, 336, 114, 328, 708, 115, 116, 714, - 151, 508, 80, 81, 715, 723, 1634, 104, 188, 1662, - 275, 529, 1498, 329, 51, 708, 1111, 41, 532, 151, - 718, 716, 161, 717, 708, 719, 350, 382, 151, 1659, - 1638, 982, 1112, 529, 151, 1556, 533, 978, 526, 1176, - 529, 105, 1089, 956, 1090, 24, 982, 330, 145, 529, - 1675, 529, 151, 191, 1676, 456, 755, 1557, 47, 1498, - 526, 1197, 1710, 351, 1558, 352, 146, 526, 708, 529, - 106, 107, 145, 108, 529, 1198, 41, 1113, 526, 152, - 109, 110, 111, 112, 113, 306, 114, 668, 353, 115, - 116, 1691, 714, 982, 358, 49, 526, 715, 1559, 1199, - 152, 526, 1498, 529, 24, 1197, 1114, 484, 956, 210, - 983, 1498, 127, 354, 764, 755, 510, 47, 508, 1198, - 508, 824, 194, 1617, 508, 379, 25, 508, 668, 152, - 526, 668, 383, 384, 385, 316, 202, 203, 384, 319, - 508, 764, 1747, 1199, 1498, 721, 668, 1498, 152, 384, - 510, 510, 146, 1200, 49, 386, 387, 152, 145, 105, - 388, 389, 824, 152, 48, 824, 484, 865, 349, 1726, - 1498, 127, 50, 1115, 776, 145, 510, 775, 347, 1740, - 824, 152, 721, 45, 379, 25, 128, 510, 106, 107, - 510, 108, 116, 188, 1749, 721, 368, 1200, 109, 110, - 111, 112, 113, 146, 114, 79, 1750, 115, 116, 145, - 1726, 487, 46, 216, 922, 508, 145, 884, 508, 938, - 667, 1803, 1781, 48, 945, 946, 720, 718, 716, 250, - 717, 50, 719, 953, 370, 957, 958, 959, 960, 961, - 508, 953, 45, 372, 1746, 128, 487, 508, 146, 508, - 508, 116, 718, 716, 145, 717, 1726, 719, 714, 1808, - 375, 980, 145, 715, 1806, 191, 530, 1809, 380, 487, - 250, 46, 216, 250, 516, 508, 987, 202, 203, 906, - 873, 508, 905, 873, 373, 105, 508, 576, 250, 508, - 1821, 987, 191, 950, 718, 716, 667, 717, 724, 719, - 1088, 957, 980, 980, 980, 980, 980, 980, 980, 1070, - 1651, 485, 1069, 376, 106, 107, 531, 108, 191, 493, - 980, 980, 980, 980, 109, 110, 111, 112, 113, 76, - 114, 105, 873, 115, 116, 521, 338, 667, 377, 339, - 718, 716, 405, 717, 522, 719, 135, 136, 718, 716, - 532, 717, 980, 719, 980, 667, 1077, 1738, 413, 852, - 106, 107, 414, 108, 1190, 531, 216, 1189, 533, 417, - 109, 110, 111, 112, 113, 1208, 114, 418, 1069, 115, - 116, 420, 1214, 824, 340, 1213, 1700, 1092, 1093, 1097, - 1041, 1042, 1105, 1107, 1109, 422, 1117, 1120, 1123, 1125, - 1128, 1131, 123, 123, 423, 668, 531, 216, 424, 531, - 216, 52, 494, 496, 497, 668, 718, 716, 668, 717, - 1256, 719, 53, 1255, 531, 216, 506, 668, 487, 54, - 692, 1261, 14, 1700, 1260, 1161, 1162, 520, 1164, 824, - 1166, 529, 824, 1169, 1170, 1171, 1172, 1173, 1174, 824, - 718, 716, 824, 717, 55, 719, 824, 105, 537, 550, - 1178, 824, 946, 557, 824, 714, 916, 560, 920, 961, - 715, 924, 926, 928, 668, 1342, 1700, 570, 1341, 1456, - 824, 1491, 1189, 668, 1490, 1787, 106, 107, 1493, 108, - 714, 1490, 574, 624, 628, 715, 109, 110, 111, 112, - 113, 630, 114, 632, 824, 115, 116, 824, 824, 667, - 961, 961, 961, 961, 961, 973, 961, 824, 1700, 56, - 676, 1700, 662, 980, 1789, 980, 980, 668, 961, 961, - 961, 961, 714, 980, 824, 663, 664, 715, 195, 668, - 1804, 980, 1830, 1490, 1700, 1746, 980, 671, 685, 980, - 1782, 57, 688, 690, 691, 58, 824, 692, 1812, 1813, - 961, 824, 961, 980, 693, 694, 695, 696, 980, 980, - 697, 231, 980, 824, 698, 824, 699, 704, 714, 980, - 705, 980, 980, 715, 1824, 980, 714, 713, 721, 980, - 722, 715, 980, 724, 980, 1831, 980, 195, 1832, 726, - 740, 980, 980, 744, 980, 745, 749, 751, 232, 752, - 754, 521, 765, 755, 667, 766, 768, 775, 769, 953, - 980, 980, 778, 980, 667, 718, 716, 667, 717, 802, - 719, 1310, 1311, 803, 1313, 1315, 667, 980, 1737, 980, - 980, 980, 1320, 531, 980, 531, 1630, 980, 980, 531, - 804, 809, 531, 275, 714, 814, 818, 980, 775, 715, - 821, 775, 819, 820, 824, 531, 823, 1197, 829, 835, - 836, 980, 839, 487, 980, 840, 775, 849, 967, 718, - 716, 1198, 717, 667, 719, 1307, 851, 1351, 714, 670, - 980, 852, 667, 715, 860, 1358, 980, 946, 861, 862, - 946, 980, 1178, 670, 864, 1199, 1366, 946, 1369, 1370, - 900, 670, 980, 980, 946, 980, 383, 384, 385, 1463, - 901, 980, 903, 908, 912, 951, 913, 670, 940, 1817, - 974, 961, 980, 961, 961, 989, 667, 718, 716, 1186, - 717, 961, 719, 531, 388, 389, 992, 996, 667, 961, - 980, 980, 1401, 980, 961, 1010, 1015, 961, 830, 1200, - 980, 980, 980, 980, 980, 531, 980, 1020, 1021, 980, - 980, 961, 531, 961, 1023, 781, 961, 961, 531, 1027, - 961, 670, 1030, 1028, 1036, 370, 1037, 961, 1038, 961, - 961, 1044, 1047, 961, 1053, 1058, 195, 961, 1060, 370, - 961, 487, 961, 1072, 961, 1067, 531, 370, 1084, 961, - 961, 681, 961, 1085, 1099, 1144, 1147, 195, 1451, 531, - 1150, 1142, 531, 370, 1163, 1160, 1165, 1459, 961, 961, - 1167, 961, 1175, 1187, 1464, 1194, 1196, 531, 195, 531, - 176, 714, 668, 1202, 195, 961, 984, 961, 961, 961, - 1216, 1219, 961, 1211, 1237, 961, 961, 1228, 1168, 718, - 716, 487, 717, 714, 719, 961, 1239, 195, 715, 1249, - 1257, 1259, 498, 1266, 1270, 1271, 1272, 370, 1273, 961, - 1282, 946, 961, 1284, 1078, 946, 195, 984, 984, 984, - 984, 984, 984, 984, 195, 195, 1296, 1291, 961, 176, - 1295, 195, 1294, 1297, 961, 984, 984, 984, 984, 961, - 1299, 1300, 882, 498, 1304, 1305, 498, 714, 1306, 195, - 961, 961, 715, 961, 1345, 718, 716, 1308, 717, 961, - 719, 498, 1309, 1316, 1317, 775, 1318, 984, 775, 984, - 1319, 1321, 1106, 1322, 1110, 775, 1118, 1121, 775, 1126, - 1129, 1132, 775, 1323, 1324, 1325, 195, 775, 961, 961, - 775, 961, 1326, 1327, 1343, 1364, 1361, 195, 961, 961, - 961, 961, 961, 1371, 961, 714, 775, 961, 961, 1379, - 715, 989, 1599, 1600, 1346, 718, 716, 1375, 717, 1376, - 719, 1349, 718, 716, 1377, 717, 1378, 719, 1380, 1390, - 775, 1387, 1392, 775, 775, 1398, 552, 946, 1410, 1396, - 946, 1406, 1411, 775, 718, 716, 1418, 717, 1412, 719, - 1413, 1414, 989, 989, 989, 989, 989, 989, 989, 1415, - 775, 1433, 1423, 1440, 1444, 1301, 531, 1445, 1449, 1455, - 989, 989, 989, 989, 1640, 1475, 1476, 105, 1480, 1486, - 1487, 1507, 775, 1553, 1563, 1565, 531, 775, 531, 1566, - 1568, 1567, 531, 1569, 1570, 531, 1572, 1573, 1582, 775, - 1574, 775, 989, 1584, 989, 1587, 106, 107, 531, 108, - 1591, 1592, 1593, 684, 531, 1595, 109, 110, 111, 112, - 113, 1596, 114, 1597, 1598, 115, 116, 714, 176, 1601, - 1602, 1603, 715, 1604, 1605, 1606, 1674, 1607, 984, 1608, - 984, 984, 390, 1609, 1677, 1610, 1618, 1619, 984, 176, - 718, 716, 1696, 717, 1620, 719, 984, 684, 1636, 1639, - 127, 984, 718, 716, 984, 717, 1641, 719, 1642, 1647, - 176, 1643, 684, 1644, 1645, 1646, 176, 1648, 984, 1649, - 498, 1690, 498, 984, 984, 1692, 531, 984, 1654, 498, - 1655, 1657, 1658, 714, 984, 1679, 984, 984, 715, 176, - 984, 1684, 498, 1685, 984, 1650, 1711, 984, 531, 984, - 1719, 984, 1694, 1757, 1732, 531, 984, 984, 176, 984, - 1743, 1759, 1762, 1764, 1766, 1771, 531, 176, 1779, 1772, - 1490, 1785, 1786, 176, 1755, 984, 984, 1754, 984, 155, - 1802, 946, 727, 1739, 531, 1811, 1742, 1807, 1810, 531, - 1814, 176, 984, 714, 984, 984, 984, 1746, 715, 984, - 714, 1825, 984, 984, 1298, 715, 1828, 1829, 1, 631, - 29, 31, 984, 989, 202, 989, 989, 759, 531, 372, - 498, 376, 714, 989, 1777, 270, 984, 715, 176, 984, - 148, 989, 529, 268, 660, 81, 989, 465, 212, 989, - 944, 529, 498, 275, 192, 984, 404, 692, 943, 498, - 529, 984, 690, 989, 686, 688, 984, 193, 989, 989, - 372, 274, 989, 372, 288, 377, 716, 984, 984, 989, - 984, 989, 989, 286, 715, 989, 984, 222, 372, 989, - 323, 287, 989, 498, 989, 717, 989, 331, 340, 322, - 625, 989, 989, 726, 989, 1350, 718, 716, 329, 717, - 681, 719, 27, 30, 39, 984, 984, 985, 984, 1332, - 989, 989, 132, 989, 421, 984, 984, 984, 984, 984, - 411, 984, 1462, 902, 984, 984, 412, 989, 714, 989, - 989, 989, 381, 715, 989, 850, 1292, 989, 989, 1290, - 714, 1083, 245, 1575, 539, 715, 1288, 989, 985, 985, - 985, 985, 985, 985, 985, 1576, 583, 1278, 1267, 815, - 430, 989, 990, 1218, 989, 1279, 985, 985, 985, 985, - 718, 716, 525, 717, 684, 719, 195, 514, 105, 1687, - 989, 684, 1025, 554, 684, 1753, 989, 1733, 684, 382, - 1760, 989, 1555, 797, 1758, 1561, 684, 1796, 985, 555, - 985, 1018, 989, 989, 1400, 989, 1693, 106, 107, 1823, - 108, 989, 684, 1708, 1790, 666, 1209, 109, 110, 111, - 112, 113, 1383, 114, 1510, 1718, 115, 116, 562, 545, - 1430, 536, 1059, 837, 801, 195, 684, 1050, 134, 507, - 989, 989, 842, 989, 391, 735, 739, 981, 288, 390, - 989, 989, 989, 989, 989, 994, 989, 976, 1193, 989, - 989, 977, 1683, 1624, 436, 1801, 684, 277, 531, 1770, - 748, 684, 1352, 718, 716, 1834, 717, 909, 719, 1156, - 438, 665, 1312, 842, 842, 842, 842, 842, 1363, 842, - 0, 0, 0, 684, 383, 384, 385, 0, 202, 203, - 0, 842, 842, 842, 842, 684, 0, 684, 250, 531, - 0, 0, 531, 0, 0, 0, 0, 386, 387, 441, - 442, 443, 388, 389, 444, 445, 0, 531, 0, 0, - 0, 0, 447, 448, 714, 842, 0, 0, 0, 715, - 372, 452, 0, 0, 0, 0, 0, 372, 0, 250, - 372, 0, 250, 0, 372, 0, 0, 229, 0, 0, - 0, 0, 372, 0, 0, 0, 0, 250, 0, 985, - 0, 985, 985, 0, 0, 0, 0, 0, 372, 985, - 0, 0, 0, 0, 0, 669, 0, 985, 0, 0, - 0, 0, 985, 0, 0, 985, 0, 0, 229, 0, - 0, 229, 372, 0, 0, 0, 0, 0, 714, 985, - 0, 0, 0, 715, 985, 985, 229, 0, 985, 0, - 0, 0, 0, 0, 0, 985, 669, 985, 985, 669, - 0, 985, 372, 0, 0, 985, 0, 0, 985, 0, - 985, 0, 985, 0, 669, 0, 0, 985, 985, 0, - 985, 0, 0, 0, 0, 195, 0, 0, 0, 372, - 186, 0, 0, 0, 0, 0, 985, 985, 0, 985, - 0, 372, 0, 372, 0, 0, 195, 0, 0, 0, - 0, 0, 0, 985, 675, 985, 985, 985, 0, 0, - 985, 0, 0, 985, 985, 0, 0, 0, 0, 381, - 0, 0, 0, 985, 842, 195, 842, 842, 0, 0, - 0, 714, 0, 0, 842, 0, 715, 985, 0, 186, - 985, 0, 842, 0, 195, 675, 0, 842, 675, 0, - 842, 0, 195, 195, 0, 0, 985, 0, 0, 195, - 0, 0, 985, 675, 842, 0, 531, 985, 531, 842, - 842, 0, 0, 842, 0, 531, 382, 195, 985, 985, - 842, 985, 842, 842, 0, 0, 842, 985, 531, 195, - 842, 195, 0, 842, 0, 842, 0, 842, 0, 0, - 0, 0, 842, 842, 0, 842, 250, 0, 250, 0, - 0, 0, 0, 0, 195, 250, 985, 985, 854, 985, - 0, 842, 842, 0, 842, 0, 985, 985, 985, 985, - 985, 0, 985, 0, 0, 985, 985, 0, 842, 195, - 842, 842, 842, 0, 0, 842, 0, 0, 842, 842, - 1353, 718, 716, 0, 717, 241, 719, 229, 842, 854, - 854, 854, 854, 854, 0, 854, 531, 0, 0, 0, - 0, 0, 842, 0, 0, 842, 0, 854, 854, 854, - 854, 383, 384, 385, 0, 202, 203, 187, 531, 0, - 0, 842, 0, 0, 0, 531, 0, 842, 0, 0, - 0, 0, 842, 0, 386, 387, 250, 0, 0, 388, - 389, 854, 0, 842, 842, 0, 842, 0, 0, 0, - 0, 0, 842, 669, 0, 0, 0, 0, 250, 531, - 0, 0, 0, 669, 0, 250, 669, 0, 186, 0, - 0, 0, 0, 0, 0, 669, 187, 0, 692, 0, - 0, 842, 842, 857, 842, 241, 0, 0, 0, 186, - 0, 842, 842, 842, 842, 842, 0, 842, 0, 250, - 842, 842, 0, 0, 0, 0, 0, 241, 0, 230, - 186, 0, 0, 0, 241, 0, 186, 0, 0, 0, - 0, 0, 669, 0, 857, 857, 857, 857, 857, 0, - 857, 669, 0, 0, 1354, 718, 716, 0, 717, 186, - 719, 0, 857, 857, 857, 857, 0, 0, 241, 0, - 230, 0, 675, 230, 0, 675, 0, 0, 186, 0, - 0, 0, 675, 0, 0, 675, 0, 186, 230, 675, - 0, 0, 0, 186, 675, 669, 857, 675, 1355, 718, - 716, 0, 717, 0, 719, 0, 0, 669, 1356, 718, - 716, 186, 717, 675, 719, 0, 0, 1357, 718, 716, - 0, 717, 0, 719, 0, 0, 0, 0, 0, 0, - 854, 0, 854, 854, 0, 0, 0, 675, 0, 714, - 854, 675, 718, 716, 715, 717, 0, 719, 186, 0, - 675, 0, 0, 854, 0, 0, 854, 0, 0, 0, - 880, 879, 881, 0, 0, 0, 0, 675, 0, 0, - 854, 0, 0, 0, 0, 854, 854, 0, 0, 854, - 0, 0, 0, 0, 0, 0, 854, 0, 854, 854, - 0, 0, 854, 0, 675, 187, 854, 0, 0, 854, - 0, 854, 0, 854, 0, 0, 675, 0, 854, 854, - 0, 854, 0, 0, 0, 0, 187, 1481, 718, 716, - 0, 717, 0, 719, 0, 0, 0, 854, 854, 672, - 854, 0, 0, 0, 0, 0, 0, 187, 0, 0, - 0, 0, 0, 187, 854, 0, 854, 854, 854, 0, - 0, 854, 0, 0, 854, 854, 0, 0, 793, 0, - 0, 0, 0, 0, 854, 857, 187, 857, 857, 0, - 672, 0, 0, 672, 0, 857, 0, 0, 854, 0, - 0, 854, 0, 0, 0, 187, 0, 0, 672, 0, - 0, 857, 0, 714, 187, 0, 0, 854, 715, 793, - 187, 0, 793, 854, 0, 857, 0, 241, 854, 230, - 857, 857, 552, 0, 857, 0, 0, 793, 187, 854, - 854, 857, 854, 857, 857, 0, 0, 857, 854, 0, - 0, 857, 0, 0, 857, 0, 857, 714, 857, 0, - 0, 0, 715, 857, 857, 0, 857, 714, 0, 0, - 0, 0, 715, 0, 0, 187, 714, 854, 854, 858, - 854, 715, 857, 857, 0, 857, 0, 854, 854, 854, - 854, 854, 867, 854, 0, 0, 854, 854, 0, 857, - 714, 857, 857, 857, 0, 715, 857, 0, 868, 857, - 857, 1482, 718, 716, 0, 717, 0, 719, 0, 857, - 858, 858, 858, 858, 858, 180, 858, 241, 0, 0, - 0, 0, 0, 857, 0, 0, 857, 0, 858, 858, - 858, 858, 0, 0, 869, 0, 0, 0, 0, 241, - 0, 0, 857, 870, 0, 0, 241, 0, 857, 0, - 0, 871, 0, 857, 0, 0, 180, 0, 1621, 180, - 0, 0, 858, 0, 857, 857, 714, 857, 0, 0, - 872, 715, 873, 857, 180, 1489, 718, 716, 0, 717, - 241, 719, 0, 1622, 0, 0, 874, 0, 875, 876, - 877, 0, 0, 0, 0, 105, 0, 0, 0, 0, - 0, 0, 857, 857, 852, 857, 0, 0, 0, 0, - 0, 0, 857, 857, 857, 857, 857, 0, 857, 0, - 0, 857, 857, 0, 106, 107, 0, 108, 0, 0, - 793, 0, 0, 0, 109, 110, 111, 112, 113, 878, - 114, 1623, 0, 115, 116, 852, 0, 852, 852, 852, - 0, 0, 0, 0, 0, 0, 0, 672, 0, 0, - 672, 0, 0, 852, 852, 852, 852, 672, 0, 0, - 672, 0, 0, 0, 672, 105, 0, 0, 0, 672, - 0, 0, 672, 0, 0, 0, 793, 0, 0, 793, - 0, 0, 0, 0, 0, 0, 793, 852, 672, 793, - 0, 0, 0, 793, 106, 107, 0, 108, 793, 0, - 0, 793, 0, 0, 109, 110, 111, 112, 113, 0, - 114, 0, 672, 115, 116, 0, 672, 793, 0, 0, - 0, 858, 0, 858, 858, 672, 0, 0, 0, 0, - 714, 858, 950, 718, 716, 715, 717, 0, 719, 0, - 0, 793, 672, 0, 793, 793, 0, 858, 0, 0, - 0, 880, 879, 881, 793, 0, 0, 0, 0, 0, - 0, 858, 0, 180, 0, 0, 858, 858, 0, 672, - 858, 793, 0, 0, 0, 0, 0, 858, 0, 858, - 858, 672, 0, 858, 180, 0, 0, 858, 0, 0, - 858, 0, 858, 793, 858, 0, 0, 0, 793, 858, - 858, 0, 858, 0, 714, 180, 0, 0, 0, 715, - 793, 180, 793, 0, 0, 0, 0, 0, 858, 858, - 0, 858, 0, 0, 0, 889, 929, 930, 931, 932, - 933, 934, 935, 936, 180, 858, 0, 858, 858, 858, - 0, 0, 858, 0, 0, 858, 858, 0, 0, 794, - 0, 0, 0, 180, 0, 858, 852, 0, 852, 852, - 558, 0, 180, 0, 0, 0, 852, 0, 180, 858, - 0, 0, 858, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 852, 0, 0, 0, 180, 0, 858, 0, - 794, 0, 0, 794, 858, 0, 852, 0, 0, 858, - 0, 852, 852, 0, 0, 852, 0, 0, 794, 0, - 858, 858, 852, 858, 852, 852, 0, 0, 852, 858, - 0, 0, 852, 180, 0, 852, 0, 852, 0, 852, - 0, 0, 0, 0, 852, 852, 0, 852, 0, 0, - 892, 0, 0, 0, 0, 0, 0, 0, 858, 858, - 851, 858, 0, 852, 852, 0, 852, 105, 858, 858, - 858, 858, 858, 867, 858, 0, 0, 858, 858, 0, - 852, 714, 852, 852, 852, 0, 715, 852, 0, 868, - 852, 852, 0, 0, 0, 0, 106, 107, 0, 108, - 852, 851, 0, 851, 851, 851, 109, 110, 111, 112, - 113, 0, 114, 0, 852, 115, 116, 852, 0, 851, - 851, 851, 851, 0, 0, 869, 0, 0, 0, 0, - 0, 0, 0, 852, 870, 0, 0, 0, 0, 852, - 0, 0, 871, 105, 852, 0, 0, 0, 0, 0, - 0, 0, 0, 851, 0, 852, 852, 0, 852, 0, - 0, 872, 0, 873, 852, 0, 0, 0, 0, 0, - 0, 0, 106, 107, 0, 108, 0, 874, 0, 875, - 876, 877, 109, 110, 111, 112, 113, 0, 114, 0, - 0, 115, 116, 852, 852, 853, 852, 0, 0, 0, - 0, 0, 0, 852, 852, 852, 852, 852, 0, 852, - 0, 0, 852, 852, 0, 0, 0, 0, 0, 0, - 0, 794, 0, 0, 0, 1452, 1453, 0, 0, 0, - 878, 1457, 1458, 0, 1460, 1461, 853, 584, 853, 853, - 853, 585, 1465, 1466, 1467, 1468, 0, 1469, 1470, 1471, - 1472, 1473, 1474, 0, 853, 853, 853, 853, 0, 586, - 0, 0, 587, 84, 0, 0, 0, 0, 0, 0, - 85, 0, 0, 0, 86, 87, 0, 794, 0, 0, - 794, 0, 0, 88, 0, 0, 0, 794, 853, 0, - 794, 0, 0, 0, 794, 89, 0, 0, 0, 794, - 0, 0, 794, 588, 0, 0, 0, 0, 0, 589, - 590, 591, 0, 592, 593, 594, 0, 595, 794, 0, - 0, 0, 851, 0, 851, 851, 0, 0, 0, 0, - 0, 0, 851, 0, 0, 0, 0, 596, 0, 597, - 0, 0, 794, 0, 0, 794, 794, 0, 851, 0, - 0, 0, 0, 0, 0, 794, 0, 0, 0, 0, - 90, 0, 851, 0, 0, 0, 0, 851, 851, 0, - 598, 851, 794, 0, 0, 0, 0, 91, 851, 0, - 851, 851, 0, 0, 851, 0, 0, 599, 851, 0, - 0, 851, 92, 851, 794, 851, 93, 402, 0, 794, - 851, 851, 0, 851, 0, 0, 0, 94, 0, 600, - 0, 794, 0, 794, 0, 0, 0, 0, 0, 851, - 851, 0, 851, 105, 0, 0, 95, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 851, 0, 851, 851, - 851, 0, 0, 851, 601, 602, 851, 851, 0, 536, - 0, 0, 106, 107, 0, 108, 851, 853, 0, 853, - 853, 603, 109, 110, 111, 112, 113, 853, 114, 0, - 851, 115, 116, 851, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 853, 0, 0, 0, 0, 0, 851, - 536, 0, 0, 536, 0, 851, 0, 853, 0, 0, - 851, 0, 853, 853, 0, 0, 853, 0, 536, 0, - 536, 851, 851, 853, 851, 853, 853, 0, 0, 853, - 851, 0, 0, 853, 0, 0, 853, 0, 853, 0, - 853, 98, 0, 0, 0, 853, 853, 0, 853, 0, - 536, 0, 0, 0, 0, 0, 0, 0, 0, 851, - 851, 856, 851, 0, 853, 853, 0, 853, 0, 851, - 851, 851, 851, 851, 0, 851, 0, 0, 851, 851, - 0, 853, 99, 853, 853, 853, 0, 0, 853, 0, - 0, 853, 853, 0, 100, 0, 0, 0, 0, 0, - 0, 853, 856, 0, 856, 856, 856, 0, 129, 0, - 1, 0, 0, 0, 0, 853, 0, 0, 853, 101, - 856, 856, 856, 856, 0, 0, 0, 0, 0, 0, - 0, 2, 0, 0, 853, 0, 0, 889, 0, 3, - 853, 0, 0, 0, 0, 853, 4, 0, 5, 0, - 6, 0, 0, 0, 856, 7, 853, 853, 0, 853, - 0, 0, 8, 0, 0, 853, 0, 0, 0, 406, - 0, 0, 0, 0, 0, 0, 9, 0, 647, 0, - 0, 453, 0, 454, 0, 0, 105, 10, 102, 0, - 0, 0, 0, 0, 853, 853, 456, 853, 103, 0, - 0, 277, 0, 0, 853, 853, 853, 853, 853, 0, - 853, 890, 0, 853, 853, 106, 107, 536, 108, 0, - 0, 0, 0, 104, 0, 109, 110, 111, 112, 113, - 0, 114, 0, 536, 115, 116, 536, 536, 0, 536, - 0, 105, 0, 536, 0, 0, 536, 891, 0, 0, - 0, 0, 892, 0, 11, 0, 0, 0, 893, 536, - 0, 12, 0, 0, 13, 536, 14, 15, 536, 105, - 106, 107, 0, 108, 0, 0, 0, 894, 0, 0, - 109, 110, 111, 112, 113, 0, 114, 0, 0, 115, - 116, 16, 0, 0, 0, 0, 0, 0, 106, 107, - 0, 108, 105, 0, 0, 0, 0, 0, 109, 110, - 111, 112, 113, 0, 114, 0, 0, 115, 116, 0, - 0, 0, 0, 856, 0, 856, 856, 0, 0, 0, - 0, 106, 107, 856, 108, 0, 0, 536, 0, 0, - 17, 109, 110, 111, 112, 113, 0, 114, 0, 856, - 115, 116, 0, 0, 0, 18, 19, 0, 0, 536, - 0, 0, 0, 856, 0, 0, 536, 0, 856, 856, - 536, 0, 856, 0, 0, 0, 0, 536, 0, 856, - 0, 856, 856, 0, 0, 856, 0, 0, 0, 856, - 0, 0, 856, 0, 856, 536, 856, 0, 0, 0, - 536, 856, 856, 0, 856, 426, 0, 0, 647, 0, - 0, 453, 0, 454, 427, 0, 0, 0, 0, 0, - 856, 856, 0, 856, 0, 536, 456, 428, 0, 536, - 640, 277, 0, 381, 429, 0, 573, 856, 0, 856, - 856, 856, 0, 0, 856, 0, 0, 856, 856, 0, - 0, 0, 641, 0, 0, 0, 0, 856, 0, 0, - 0, 430, 0, 0, 431, 573, 573, 0, 573, 0, - 0, 856, 0, 0, 856, 573, 573, 573, 573, 573, - 0, 573, 0, 0, 573, 573, 0, 542, 0, 0, - 856, 0, 432, 433, 280, 0, 856, 0, 0, 0, - 0, 856, 0, 0, 434, 0, 0, 0, 435, 0, - 0, 0, 856, 856, 0, 856, 642, 0, 0, 0, - 0, 856, 0, 280, 280, 0, 280, 542, 542, 0, - 0, 542, 0, 280, 280, 280, 280, 280, 0, 280, - 0, 0, 280, 280, 0, 0, 542, 0, 542, 0, - 856, 856, 0, 856, 0, 0, 0, 0, 0, 643, - 856, 856, 856, 856, 856, 436, 856, 0, 0, 856, - 856, 437, 0, 62, 0, 0, 0, 0, 542, 0, - 0, 438, 0, 0, 63, 0, 0, 0, 0, 0, - 0, 64, 0, 0, 0, 383, 384, 385, 439, 202, - 203, 0, 0, 0, 65, 0, 0, 0, 0, 440, - 0, 0, 0, 0, 0, 0, 0, 0, 386, 387, - 441, 442, 443, 388, 389, 444, 445, 106, 446, 0, - 108, 0, 0, 447, 448, 426, 449, 450, 451, 111, - 112, 113, 452, 114, 427, 0, 115, 116, 644, 645, - 646, 0, 0, 0, 0, 647, 0, 428, 453, 0, - 454, 0, 0, 381, 429, 66, 0, 0, 0, 0, - 0, 0, 0, 456, 0, 0, 0, 0, 277, 0, - 0, 67, 641, 0, 0, 0, 0, 0, 0, 0, - 0, 430, 0, 0, 431, 0, 0, 0, 68, 0, +#define YYTABLESIZE 12622 +static short yytable[] = { 127, + 79, 189, 127, 212, 78, 149, 148, 259, 154, 204, + 37, 208, 486, 746, 437, 192, 278, 281, 570, 308, + 607, 279, 282, 608, 243, 575, 217, 209, 195, 770, + 252, 542, 773, 782, 732, 247, 229, 684, 784, 941, + 222, 752, 224, 186, 188, 191, 194, 148, 199, 248, + 893, 1243, 540, 210, 188, 215, 254, 194, 253, 148, + 199, 461, 228, 127, 1421, 251, 219, 709, 482, 246, + 461, 239, 149, 148, 241, 188, 915, 239, 215, 191, + 194, 250, 148, 199, 228, 127, 989, 194, 313, 249, + 1005, 1232, 1233, 265, 923, 267, 1234, 1244, 1232, 1233, + 1236, 266, 994, 1234, 619, 1237, 256, 1236, 1252, 309, + 747, 1170, 1237, 621, 855, 964, 747, 637, 627, 210, + 148, 210, 311, 961, 289, 532, 565, 1273, 1022, 371, + 745, 1048, 846, 215, 333, 730, 991, 1029, 1074, 307, + 194, 148, 228, 256, 507, 619, 154, 256, 619, 1192, + 256, 747, 1049, 263, 747, 263, 747, 747, 769, 360, + 747, 277, 738, 619, 1290, 256, 353, 626, 1200, 747, + 565, 698, 77, 685, 77, 747, 508, 627, 681, 437, + 1054, 706, 1268, 998, 256, 565, 757, 256, 652, 252, + 1069, 758, 938, 1594, 833, 760, 761, 762, 763, 1375, + 1181, 1082, 256, 696, 1097, 694, 89, 395, 470, 326, + 315, 1698, 607, 682, 685, 608, 513, 685, 472, 681, + 454, 738, 276, 1457, 462, 353, 626, 1501, 978, 565, + 252, 457, 685, 252, 280, 517, 493, 681, 122, 716, + 457, 1514, 1504, 1461, 318, 277, 210, 575, 252, 496, + 148, 863, 463, 127, 1601, 241, 1255, 277, 704, 148, + 749, 463, 696, 1291, 694, 500, 395, 470, 326, 889, + 506, 1187, 682, 381, 1649, 1762, 889, 1379, 790, 85, + 191, 359, 85, 462, 148, 77, 1368, 1516, 1370, 379, + 1036, 1141, 1142, 541, 517, 519, 241, 1436, 519, 571, + 544, 573, 209, 277, 557, 334, 344, 559, 1171, 771, + 694, 365, 1253, 1285, 698, 625, 133, 328, 629, 210, + 617, 125, 1167, 816, 1783, 359, 210, 827, 210, 1822, + 210, 1431, 381, 562, 619, 735, 195, 508, 830, 1419, + 359, 627, 1098, 1215, 1232, 1233, 918, 919, 379, 1234, + 1193, 194, 199, 1236, 1184, 698, 694, 1173, 1237, 711, + 148, 1784, 191, 815, 60, 1055, 1196, 1198, 77, 694, + 231, 696, 79, 698, 1785, 698, 1453, 241, 14, 464, + 125, 1823, 335, 345, 625, 1598, 712, 1188, 1251, 486, + 1672, 1602, 669, 890, 747, 195, 747, 1256, 135, 689, + 890, 1387, 517, 747, 690, 498, 736, 232, 366, 1446, + 687, 380, 1408, 122, 122, 756, 1254, 703, 241, 1728, + 1228, 256, 619, 256, 717, 1095, 700, 358, 256, 271, + 256, 506, 703, 669, 698, 1462, 669, 708, 464, 922, + 272, 714, 1159, 625, 619, 148, 457, 810, 194, 463, + 1026, 669, 486, 1494, 741, 937, 148, 135, 627, 1395, + 148, 1528, 1577, 194, 652, 148, 1099, 252, 154, 252, + 380, 395, 470, 759, 89, 486, 252, 1094, 1529, 1756, + 727, 1514, 462, 1564, 968, 1565, 358, 1368, 1721, 1017, + 920, 685, 1019, 747, 747, 747, 681, 1308, 1309, 747, + 1310, 1311, 593, 769, 685, 461, 1025, 626, 1296, 681, + 969, 682, 1419, 685, 1627, 786, 747, 698, 681, 812, + 1592, 256, 364, 747, 829, 971, 1376, 1516, 519, 738, + 462, 696, 719, 1043, 696, 1761, 519, 381, 377, 1591, + 779, 210, 1766, 256, 682, 1013, 779, 262, 275, 1096, + 256, 1084, 1735, 379, 1402, 1081, 1013, 747, 635, 1191, + 685, 593, 565, 519, 855, 681, 1016, 252, 811, 685, + 840, 841, 627, 1284, 681, 729, 1449, 519, 79, 565, + 519, 1799, 253, 990, 256, 76, 1067, 76, 1507, 252, + 209, 705, 1638, 275, 1603, 519, 252, 519, 1640, 1383, + 1089, 832, 517, 1317, 1434, 470, 619, 256, 982, 359, + 1180, 747, 359, 685, 511, 508, 210, 747, 681, 326, + 353, 626, 732, 253, 680, 857, 253, 685, 694, 1407, + 252, 79, 681, 889, 1448, 856, 360, 464, 1011, 1012, + 275, 253, 462, 696, 256, 694, 897, 1675, 386, 85, + 694, 1423, 275, 682, 771, 215, 1607, 696, 696, 694, + 387, 696, 942, 732, 1679, 519, 732, 682, 328, 125, + 381, 635, 780, 1223, 1584, 380, 135, 703, 135, 931, + 360, 732, 889, 889, 195, 464, 379, 210, 210, 486, + 252, 463, 1590, 698, 1751, 360, 463, 694, 76, 669, + 669, 698, 694, 1001, 1001, 463, 694, 386, 194, 506, + 500, 694, 988, 194, 209, 698, 727, 696, 454, 387, + 519, 359, 1645, 1743, 625, 134, 696, 1468, 740, 148, + 1493, 148, 1754, 359, 210, 359, 1526, 1286, 544, 1829, + 210, 693, 1174, 158, 210, 1177, 1235, 1727, 1242, 940, + 694, 895, 383, 1235, 635, 358, 1734, 890, 358, 1032, + 1250, 1015, 698, 317, 210, 375, 1035, 1037, 1505, 1517, + 1232, 1233, 1812, 1518, 1422, 1234, 135, 889, 382, 1236, + 1272, 76, 693, 1084, 1237, 1646, 321, 1363, 385, 965, + 420, 1756, 210, 210, 519, 1519, 159, 464, 1771, 1034, + 693, 682, 669, 496, 1042, 375, 890, 890, 380, 1068, + 519, 383, 1435, 380, 384, 698, 1052, 665, 1445, 1079, + 1385, 83, 693, 612, 375, 1489, 1680, 694, 148, 508, + 1764, 1064, 1065, 1066, 322, 136, 519, 382, 148, 1778, + 1779, 129, 519, 669, 593, 519, 1343, 385, 105, 273, + 1091, 693, 691, 776, 692, 79, 694, 682, 665, 1527, + 253, 665, 253, 1456, 612, 1212, 682, 358, 1691, 253, + 1692, 567, 682, 384, 268, 985, 665, 106, 107, 358, + 108, 358, 612, 1178, 694, 940, 732, 109, 110, 111, + 112, 113, 986, 114, 136, 733, 115, 116, 117, 118, + 119, 890, 1413, 1175, 497, 131, 1593, 593, 130, 613, + 593, 1179, 386, 682, 295, 889, 1213, 1176, 1356, 486, + 14, 1358, 837, 506, 387, 694, 593, 1733, 1834, 437, + 567, 682, 982, 463, 194, 199, 463, 228, 127, 629, + 1162, 1163, 732, 694, 463, 105, 323, 519, 1450, 97, + 1361, 77, 593, 889, 519, 804, 463, 463, 758, 498, + 253, 194, 437, 588, 360, 864, 825, 360, 613, 283, + 871, 1765, 519, 941, 106, 107, 499, 108, 1714, 680, + 147, 143, 253, 1430, 109, 110, 111, 112, 113, 253, + 114, 1006, 805, 115, 116, 117, 118, 119, 629, 1235, + 1245, 1246, 519, 939, 607, 1626, 519, 608, 1628, 1517, + 156, 1791, 894, 1518, 1452, 1110, 383, 1641, 486, 1806, + 1075, 268, 588, 253, 375, 1633, 115, 1715, 1185, 375, + 420, 1693, 563, 137, 826, 375, 209, 1263, 1716, 890, + 1197, 1111, 382, 454, 79, 386, 696, 240, 1264, 1297, + 1634, 1263, 385, 1707, 1668, 787, 1710, 387, 1522, 693, + 689, 1279, 210, 115, 1007, 690, 624, 1525, 1274, 210, + 1373, 1373, 1377, 1386, 732, 597, 360, 890, 384, 1299, + 594, 693, 732, 253, 1164, 1303, 144, 696, 360, 689, + 360, 563, 137, 145, 690, 157, 806, 1732, 115, 1397, + 1685, 1404, 604, 1406, 1729, 696, 623, 486, 1635, 1398, + 765, 732, 732, 367, 732, 136, 1495, 1275, 1694, 572, + 1498, 732, 732, 732, 732, 732, 597, 732, 693, 1158, + 732, 732, 732, 732, 732, 665, 788, 693, 665, 594, + 200, 612, 1717, 790, 1732, 665, 456, 623, 665, 383, + 623, 765, 665, 1274, 765, 1773, 1355, 665, 1642, 563, + 665, 604, 375, 612, 1451, 623, 216, 105, 1001, 765, + 564, 463, 76, 463, 494, 382, 665, 789, 572, 202, + 203, 693, 1599, 79, 79, 385, 1644, 864, 1732, 463, + 456, 864, 105, 307, 194, 693, 106, 107, 1805, 108, + 665, 569, 1278, 682, 665, 456, 109, 110, 111, 112, + 113, 384, 114, 665, 696, 115, 116, 117, 118, 119, + 1732, 106, 107, 494, 108, 613, 1833, 613, 960, 1645, + 665, 109, 110, 111, 112, 113, 361, 114, 236, 1777, + 115, 116, 117, 118, 119, 328, 105, 1676, 1460, 613, + 283, 589, 1464, 1677, 1092, 696, 1625, 665, 1093, 682, + 569, 79, 1511, 375, 571, 1433, 613, 426, 682, 665, + 234, 694, 362, 696, 375, 106, 107, 665, 108, 629, + 694, 528, 508, 98, 613, 109, 110, 111, 112, 113, + 1663, 114, 1646, 284, 115, 116, 117, 118, 119, 402, + 1800, 960, 1257, 105, 328, 588, 665, 665, 326, 665, + 589, 367, 709, 137, 696, 1678, 665, 665, 665, 665, + 665, 403, 665, 571, 99, 665, 665, 665, 665, 665, + 399, 529, 106, 107, 160, 108, 100, 244, 547, 1258, + 588, 1801, 109, 110, 111, 112, 113, 255, 114, 709, + 1001, 115, 116, 117, 118, 119, 327, 283, 402, 1530, + 43, 101, 709, 1756, 76, 530, 105, 195, 588, 256, + 1756, 588, 463, 268, 696, 209, 506, 696, 1755, 547, + 403, 194, 547, 531, 51, 1815, 1373, 588, 1802, 399, + 423, 1575, 260, 160, 483, 106, 107, 547, 108, 547, + 891, 210, 491, 1639, 283, 109, 110, 111, 112, 113, + 148, 114, 480, 588, 115, 116, 117, 118, 119, 43, + 508, 485, 594, 283, 623, 1235, 195, 275, 765, 547, + 102, 765, 105, 696, 693, 691, 161, 692, 765, 694, + 103, 765, 696, 51, 604, 765, 623, 899, 1736, 1737, + 765, 1748, 514, 765, 981, 693, 691, 594, 692, 250, + 694, 106, 107, 437, 108, 104, 901, 261, 328, 765, + 1643, 109, 110, 111, 112, 113, 264, 114, 1673, 604, + 115, 116, 117, 118, 119, 594, 329, 229, 594, 1624, + 1775, 871, 274, 765, 871, 161, 765, 765, 41, 79, + 250, 1797, 1511, 250, 594, 752, 765, 604, 693, 691, + 604, 692, 24, 694, 506, 519, 151, 269, 250, 695, + 330, 188, 1674, 765, 520, 283, 604, 290, 229, 1511, + 594, 229, 752, 1819, 1820, 693, 691, 1168, 692, 1229, + 694, 270, 1671, 871, 1650, 765, 229, 1687, 139, 675, + 765, 1688, 604, 680, 681, 683, 931, 41, 1831, 105, + 695, 148, 765, 1825, 765, 743, 191, 981, 903, 1838, + 47, 24, 1839, 696, 1722, 151, 1511, 797, 695, 798, + 49, 316, 981, 696, 149, 148, 696, 306, 106, 107, + 986, 108, 658, 589, 472, 696, 547, 319, 109, 110, + 111, 112, 113, 1703, 114, 986, 658, 115, 116, 117, + 118, 119, 547, 99, 658, 720, 547, 1511, 547, 722, + 931, 210, 547, 336, 743, 547, 1511, 1750, 589, 47, + 658, 508, 693, 691, 194, 692, 1509, 694, 547, 49, + 693, 691, 696, 692, 547, 694, 195, 547, 538, 1119, + 101, 696, 347, 472, 1757, 127, 589, 1511, 349, 589, + 1511, 539, 358, 508, 508, 1120, 368, 195, 1789, 149, + 148, 639, 689, 639, 639, 589, 639, 690, 1569, 52, + 693, 691, 1511, 692, 658, 694, 1738, 148, 508, 639, + 53, 370, 370, 689, 639, 696, 195, 54, 690, 508, + 1570, 589, 508, 1807, 1808, 188, 1759, 1571, 1813, 25, + 1121, 1816, 372, 79, 127, 195, 547, 1760, 48, 102, + 149, 148, 55, 195, 195, 506, 373, 1738, 148, 103, + 195, 1811, 1747, 1828, 528, 1367, 376, 1369, 547, 1122, + 338, 1572, 50, 339, 150, 547, 689, 377, 195, 547, + 370, 690, 1205, 1790, 104, 574, 547, 506, 506, 1840, + 195, 45, 195, 149, 148, 241, 1206, 229, 25, 80, + 81, 1738, 148, 689, 547, 191, 151, 48, 690, 547, + 458, 870, 506, 128, 529, 195, 723, 56, 340, 384, + 1207, 152, 116, 506, 216, 151, 506, 46, 485, 529, + 191, 50, 898, 519, 547, 466, 1123, 1091, 547, 914, + 195, 467, 520, 216, 921, 423, 151, 386, 530, 57, + 45, 470, 291, 58, 928, 191, 932, 933, 934, 935, + 936, 423, 928, 138, 139, 216, 531, 695, 216, 529, + 529, 471, 128, 529, 1208, 151, 388, 695, 1205, 473, + 695, 116, 682, 216, 475, 231, 46, 292, 529, 695, + 529, 485, 1206, 699, 151, 241, 698, 396, 397, 398, + 689, 775, 216, 151, 774, 690, 1509, 872, 689, 151, + 872, 202, 203, 690, 485, 293, 1207, 241, 294, 514, + 529, 639, 232, 476, 241, 406, 407, 151, 639, 925, + 477, 979, 695, 1713, 295, 960, 695, 639, 959, 1321, + 1629, 682, 492, 1073, 1080, 695, 1072, 851, 689, 1172, + 639, 393, 1171, 690, 1044, 1045, 639, 639, 241, 872, + 296, 350, 1216, 1222, 639, 1072, 1221, 395, 123, 123, + 1208, 956, 979, 979, 979, 979, 979, 979, 979, 1477, + 1713, 396, 397, 398, 639, 202, 203, 639, 494, 695, + 979, 979, 979, 979, 693, 691, 504, 692, 351, 694, + 352, 14, 495, 695, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 639, 1266, 639, 639, 1265, 1205, 411, + 412, 1713, 979, 353, 979, 518, 1271, 639, 416, 1270, + 1796, 639, 1206, 1381, 1470, 1500, 1380, 1171, 695, 527, + 1100, 1101, 1105, 535, 548, 1113, 1115, 1117, 354, 1125, + 1128, 1131, 1133, 1136, 1139, 555, 1207, 1143, 1144, 558, + 1146, 1713, 1148, 568, 1713, 1151, 1152, 1153, 1154, 1155, + 1156, 892, 1506, 896, 572, 695, 361, 900, 902, 904, + 1824, 622, 1160, 626, 423, 628, 1713, 529, 639, 1837, + 361, 630, 1756, 661, 639, 662, 195, 663, 361, 664, + 665, 666, 667, 529, 639, 668, 529, 529, 669, 529, + 1208, 670, 671, 529, 361, 672, 529, 673, 639, 639, + 639, 639, 639, 639, 678, 679, 688, 152, 485, 529, + 696, 695, 639, 706, 697, 529, 701, 715, 529, 672, + 718, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 723, 639, 725, 195, 639, 639, 363, 639, + 639, 639, 639, 639, 639, 639, 639, 739, 361, 639, + 639, 639, 639, 639, 721, 693, 691, 743, 692, 748, + 694, 744, 750, 672, 751, 753, 152, 754, 519, 764, + 765, 767, 768, 979, 777, 979, 979, 801, 672, 363, + 682, 802, 363, 979, 803, 808, 813, 529, 275, 817, + 818, 979, 820, 682, 1312, 819, 979, 363, 822, 979, + 823, 828, 682, 834, 835, 838, 839, 848, 859, 529, + 850, 851, 689, 979, 861, 860, 529, 690, 979, 979, + 529, 865, 979, 916, 924, 693, 691, 529, 692, 979, + 694, 979, 979, 693, 691, 979, 692, 655, 694, 979, + 530, 926, 979, 955, 979, 529, 979, 954, 957, 682, + 529, 979, 979, 928, 979, 1114, 962, 1118, 682, 1126, + 1129, 966, 1134, 1137, 1140, 1324, 1325, 967, 1327, 1329, + 979, 979, 992, 979, 977, 529, 1334, 983, 655, 529, + 530, 530, 999, 1013, 530, 995, 656, 979, 657, 979, + 979, 979, 1018, 829, 979, 1347, 655, 979, 979, 530, + 1023, 530, 682, 1354, 1024, 423, 1026, 979, 423, 780, + 1160, 1030, 1031, 1039, 1362, 423, 1364, 1365, 1056, 1040, + 1041, 979, 1033, 1047, 979, 1061, 1070, 656, 1050, 657, + 656, 530, 657, 1063, 195, 970, 693, 691, 485, 692, + 979, 694, 1075, 1087, 1088, 656, 979, 657, 423, 1107, + 1145, 979, 1150, 693, 691, 195, 692, 711, 694, 1147, + 1149, 1169, 979, 979, 689, 979, 1341, 693, 691, 1157, + 692, 979, 694, 1183, 1186, 1181, 195, 1189, 1199, 1202, + 1204, 1210, 195, 1219, 960, 698, 152, 1227, 1415, 1224, + 1238, 1247, 1259, 689, 693, 691, 1708, 692, 690, 694, + 979, 979, 1249, 979, 1269, 195, 1267, 152, 1276, 1280, + 979, 979, 979, 979, 979, 1281, 979, 1282, 1283, 979, + 979, 979, 979, 979, 195, 960, 960, 960, 960, 960, + 972, 960, 195, 195, 1292, 1301, 152, 485, 1294, 195, + 672, 1081, 1304, 960, 960, 960, 960, 672, 1305, 1306, + 672, 1307, 1313, 1476, 672, 152, 1314, 195, 1465, 363, + 1318, 1319, 672, 689, 152, 1320, 363, 1473, 690, 363, + 152, 689, 1322, 363, 1478, 960, 690, 960, 672, 1323, + 1330, 363, 1331, 1332, 1333, 1335, 1336, 1337, 152, 1338, + 1339, 1340, 889, 1360, 195, 1357, 1366, 363, 530, 1382, + 1384, 1391, 672, 423, 1388, 195, 1389, 423, 1390, 1392, + 1393, 1400, 1412, 550, 530, 1405, 1420, 530, 530, 1403, + 530, 363, 1424, 496, 530, 1410, 485, 530, 1425, 1426, + 1427, 1428, 672, 1429, 1432, 1437, 1447, 672, 1454, 1458, + 530, 1459, 1463, 1469, 1315, 1490, 530, 693, 691, 530, + 692, 363, 694, 519, 1496, 655, 1342, 693, 691, 672, + 692, 1502, 694, 1566, 496, 655, 1497, 496, 655, 1503, + 1576, 672, 1578, 672, 689, 1581, 1520, 655, 363, 690, + 1579, 1582, 496, 1345, 693, 691, 663, 692, 1580, 694, + 363, 689, 363, 1583, 519, 1585, 690, 519, 1586, 1587, + 1595, 1605, 1597, 1600, 656, 689, 657, 1604, 1606, 1608, + 690, 1609, 519, 1610, 656, 1611, 657, 656, 530, 657, + 726, 1614, 1612, 1613, 655, 1615, 656, 663, 657, 680, + 663, 680, 689, 655, 1616, 1617, 1618, 690, 1619, 1620, + 530, 1621, 1622, 423, 1623, 663, 960, 530, 960, 960, + 1630, 530, 1631, 1632, 1651, 1648, 960, 519, 530, 1346, + 693, 691, 130, 692, 960, 694, 1653, 1654, 1659, 960, + 1655, 1656, 960, 656, 1657, 657, 530, 655, 1658, 1660, + 1661, 530, 656, 1652, 657, 1666, 960, 1667, 960, 655, + 983, 960, 960, 1670, 1669, 960, 1690, 1706, 519, 1697, + 1696, 519, 960, 1723, 960, 960, 530, 1662, 960, 1731, + 530, 1744, 960, 1753, 1772, 960, 519, 960, 519, 960, + 1767, 1769, 1774, 1776, 960, 960, 656, 960, 657, 1781, + 1782, 983, 983, 983, 983, 983, 983, 983, 656, 1793, + 657, 1794, 1764, 960, 960, 1686, 960, 1765, 158, 983, + 983, 983, 983, 1689, 1787, 1810, 1814, 1817, 1818, 1821, + 960, 1756, 960, 960, 960, 1832, 1835, 960, 1836, 1, + 960, 960, 619, 660, 1712, 29, 31, 202, 747, 148, + 960, 983, 270, 983, 367, 689, 517, 648, 268, 1702, + 690, 81, 669, 1704, 960, 689, 453, 960, 212, 943, + 690, 496, 275, 496, 192, 517, 942, 496, 395, 517, + 496, 680, 678, 960, 660, 674, 105, 660, 676, 960, + 274, 1712, 689, 496, 960, 193, 368, 690, 288, 704, + 286, 519, 660, 519, 703, 960, 960, 519, 960, 222, + 519, 323, 287, 705, 960, 106, 107, 331, 108, 423, + 340, 1749, 322, 519, 1752, 109, 110, 111, 112, 113, + 613, 114, 1712, 329, 115, 116, 117, 118, 119, 714, + 27, 1795, 30, 960, 960, 517, 960, 39, 1371, 135, + 465, 474, 1302, 960, 960, 960, 960, 960, 464, 960, + 956, 849, 960, 960, 960, 960, 960, 1086, 689, 1300, + 245, 496, 1712, 690, 663, 1712, 1298, 663, 693, 691, + 1288, 692, 1588, 694, 663, 519, 517, 663, 1589, 517, + 581, 663, 814, 496, 1277, 1745, 663, 1712, 537, 663, + 496, 519, 1226, 512, 517, 519, 517, 519, 523, 993, + 1699, 519, 1289, 988, 519, 663, 552, 1568, 1763, 1028, + 796, 553, 983, 519, 983, 983, 1770, 519, 1574, 1768, + 519, 1804, 983, 519, 496, 1414, 1021, 1746, 230, 663, + 983, 1720, 1705, 663, 1830, 983, 1798, 1217, 983, 1396, + 1523, 1730, 663, 560, 988, 988, 988, 988, 988, 988, + 988, 543, 983, 534, 519, 1444, 800, 983, 983, 663, + 1062, 983, 988, 988, 988, 988, 836, 137, 983, 230, + 983, 983, 230, 734, 983, 1053, 505, 984, 983, 738, + 997, 983, 288, 983, 979, 983, 663, 230, 980, 1695, + 983, 983, 1201, 983, 988, 519, 988, 1636, 663, 1809, + 1780, 1348, 693, 691, 1841, 692, 747, 694, 963, 983, + 983, 1195, 983, 1359, 0, 1409, 1326, 519, 0, 0, + 0, 0, 0, 0, 519, 0, 983, 0, 983, 983, + 983, 0, 0, 983, 0, 519, 983, 983, 0, 0, + 0, 1349, 693, 691, 0, 692, 983, 694, 0, 0, + 0, 660, 0, 519, 660, 0, 0, 0, 519, 486, + 983, 660, 0, 983, 660, 1350, 693, 691, 660, 692, + 0, 694, 0, 660, 0, 0, 660, 0, 0, 983, + 1351, 693, 691, 0, 692, 983, 694, 519, 0, 0, + 983, 0, 660, 517, 0, 0, 0, 0, 0, 0, + 486, 983, 983, 486, 983, 0, 689, 0, 0, 0, + 983, 690, 517, 517, 0, 517, 660, 0, 486, 517, + 660, 0, 517, 0, 0, 0, 1352, 693, 691, 660, + 692, 0, 694, 0, 0, 517, 0, 0, 0, 983, + 983, 517, 983, 0, 0, 0, 660, 0, 0, 983, + 983, 983, 983, 983, 0, 983, 984, 0, 983, 983, + 983, 983, 983, 0, 0, 988, 0, 988, 988, 0, + 0, 0, 0, 660, 0, 988, 0, 0, 1353, 693, + 691, 0, 692, 988, 694, 660, 0, 0, 988, 0, + 0, 988, 0, 0, 0, 0, 0, 984, 984, 984, + 984, 984, 984, 984, 0, 988, 241, 0, 230, 0, + 988, 988, 0, 517, 988, 984, 984, 984, 984, 0, + 0, 988, 0, 988, 988, 180, 0, 988, 0, 0, + 0, 988, 0, 0, 988, 517, 988, 0, 988, 0, + 689, 0, 517, 988, 988, 690, 988, 984, 0, 984, + 0, 517, 0, 517, 1491, 693, 691, 0, 692, 0, + 694, 0, 988, 988, 0, 988, 180, 0, 0, 180, + 0, 517, 0, 0, 0, 0, 517, 0, 0, 988, + 689, 988, 988, 988, 180, 690, 988, 0, 0, 988, + 988, 905, 906, 907, 908, 909, 910, 911, 912, 988, + 0, 0, 0, 0, 689, 517, 241, 0, 98, 690, + 0, 0, 222, 988, 0, 0, 988, 0, 0, 689, + 0, 0, 0, 0, 690, 0, 0, 0, 241, 0, + 0, 0, 988, 0, 0, 241, 0, 486, 988, 486, + 0, 0, 0, 988, 0, 0, 486, 0, 0, 99, + 0, 0, 0, 222, 988, 988, 222, 988, 0, 486, + 0, 100, 0, 988, 0, 689, 0, 0, 0, 241, + 690, 222, 0, 0, 0, 132, 1492, 693, 691, 0, + 692, 0, 694, 0, 0, 0, 101, 0, 0, 0, + 0, 0, 988, 988, 0, 988, 0, 0, 0, 0, + 0, 0, 988, 988, 988, 988, 988, 0, 988, 841, + 0, 988, 988, 988, 988, 988, 0, 689, 984, 0, + 984, 984, 690, 0, 0, 0, 0, 0, 984, 0, + 0, 0, 0, 0, 0, 0, 984, 486, 0, 0, + 0, 984, 0, 0, 984, 0, 0, 0, 0, 0, + 841, 841, 841, 841, 841, 102, 841, 0, 984, 486, + 0, 0, 0, 984, 984, 103, 486, 984, 841, 841, + 841, 841, 0, 0, 984, 0, 984, 984, 0, 0, + 984, 0, 0, 180, 984, 0, 519, 984, 0, 984, + 104, 984, 0, 689, 0, 0, 984, 984, 690, 984, + 486, 0, 841, 0, 180, 0, 0, 0, 105, 0, + 0, 0, 0, 0, 0, 984, 984, 0, 984, 0, + 0, 0, 0, 0, 0, 180, 0, 519, 0, 0, + 519, 180, 984, 0, 984, 984, 984, 106, 107, 984, + 108, 0, 984, 984, 0, 519, 0, 109, 110, 111, + 112, 113, 984, 114, 180, 0, 115, 116, 117, 118, + 119, 0, 0, 0, 0, 0, 984, 0, 514, 984, + 1499, 693, 691, 180, 692, 0, 694, 0, 0, 0, + 0, 0, 180, 0, 0, 984, 0, 0, 180, 0, + 222, 984, 222, 0, 0, 250, 984, 0, 0, 222, + 0, 0, 0, 0, 0, 0, 180, 984, 984, 514, + 984, 0, 514, 0, 0, 689, 984, 0, 0, 0, + 690, 0, 0, 0, 0, 0, 0, 514, 0, 514, + 0, 0, 0, 0, 0, 0, 250, 0, 0, 250, + 0, 853, 0, 180, 0, 984, 984, 0, 984, 0, + 0, 0, 0, 0, 250, 984, 984, 984, 984, 984, + 0, 984, 0, 0, 984, 984, 984, 984, 984, 0, + 0, 841, 0, 841, 841, 0, 0, 0, 0, 0, + 0, 841, 853, 853, 853, 853, 853, 0, 853, 841, + 222, 0, 0, 0, 841, 0, 0, 841, 0, 0, + 853, 853, 853, 853, 0, 0, 0, 0, 0, 0, + 62, 841, 222, 0, 0, 0, 841, 841, 0, 222, + 841, 63, 0, 0, 0, 0, 0, 841, 64, 841, + 841, 0, 0, 841, 853, 0, 0, 841, 0, 176, + 841, 65, 841, 0, 841, 0, 0, 0, 0, 841, + 841, 0, 841, 222, 0, 0, 186, 0, 0, 0, + 0, 0, 0, 0, 519, 0, 519, 0, 841, 841, + 0, 841, 0, 519, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 841, 519, 841, 841, 841, + 0, 0, 841, 0, 0, 841, 841, 0, 176, 0, + 0, 0, 66, 0, 0, 841, 0, 0, 0, 689, + 0, 0, 0, 0, 690, 186, 0, 0, 67, 841, + 0, 0, 841, 0, 0, 0, 514, 0, 0, 0, + 0, 0, 187, 0, 0, 68, 0, 0, 841, 0, + 0, 0, 0, 0, 841, 514, 514, 0, 514, 841, + 69, 0, 514, 0, 70, 514, 0, 71, 0, 0, + 841, 841, 0, 841, 519, 72, 0, 0, 514, 841, + 0, 0, 0, 250, 514, 250, 0, 0, 0, 0, + 0, 0, 250, 0, 73, 0, 519, 0, 0, 0, + 0, 187, 0, 519, 856, 0, 0, 0, 841, 841, + 0, 841, 0, 853, 0, 853, 853, 0, 841, 841, + 841, 841, 841, 853, 841, 0, 0, 841, 841, 841, + 841, 841, 0, 0, 0, 0, 853, 519, 0, 853, + 0, 0, 0, 0, 0, 856, 856, 856, 856, 856, + 0, 856, 0, 853, 0, 0, 514, 0, 853, 853, + 0, 0, 853, 856, 856, 856, 856, 0, 0, 853, + 0, 853, 853, 0, 0, 853, 0, 0, 514, 853, + 0, 0, 853, 250, 853, 514, 853, 0, 0, 0, + 0, 853, 853, 0, 853, 0, 514, 856, 0, 0, + 0, 0, 0, 0, 0, 250, 0, 176, 0, 0, + 853, 853, 250, 853, 514, 0, 0, 0, 0, 514, + 0, 0, 0, 0, 186, 0, 0, 853, 176, 853, + 853, 853, 0, 0, 853, 0, 0, 853, 853, 0, + 0, 0, 0, 0, 0, 186, 250, 853, 514, 176, + 0, 0, 0, 0, 0, 176, 0, 0, 0, 0, + 0, 853, 0, 0, 853, 0, 186, 0, 0, 0, + 0, 0, 186, 0, 0, 0, 0, 0, 176, 98, + 853, 0, 0, 0, 0, 0, 853, 0, 0, 0, + 0, 853, 0, 0, 0, 186, 0, 176, 0, 0, + 187, 0, 853, 853, 0, 853, 176, 0, 0, 0, + 0, 853, 176, 0, 186, 0, 0, 0, 0, 0, + 99, 187, 0, 186, 0, 0, 0, 0, 0, 186, + 176, 0, 100, 0, 0, 0, 857, 0, 0, 0, + 853, 853, 187, 853, 0, 0, 0, 186, 187, 0, + 853, 853, 853, 853, 853, 0, 853, 101, 0, 853, + 853, 853, 853, 853, 0, 0, 856, 176, 856, 856, + 0, 187, 0, 0, 0, 0, 856, 857, 857, 857, + 857, 857, 0, 857, 186, 0, 0, 0, 0, 0, + 187, 0, 856, 0, 0, 857, 857, 857, 857, 187, + 0, 0, 0, 0, 0, 187, 856, 0, 0, 0, + 0, 856, 856, 0, 0, 856, 0, 0, 0, 0, + 0, 0, 856, 187, 856, 856, 102, 0, 856, 857, + 0, 0, 856, 0, 0, 856, 103, 856, 0, 856, + 0, 0, 0, 0, 856, 856, 0, 856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 69, 0, 0, 0, 70, 0, 0, - 71, 0, 432, 433, 0, 0, 0, 0, 72, 0, - 0, 559, 0, 0, 434, 0, 0, 0, 435, 0, - 0, 0, 0, 0, 0, 542, 642, 73, 0, 0, + 187, 104, 0, 856, 856, 0, 856, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, + 856, 0, 856, 856, 856, 0, 0, 856, 0, 0, + 856, 856, 0, 0, 0, 0, 0, 0, 0, 0, + 856, 0, 0, 0, 0, 0, 0, 0, 106, 107, + 0, 108, 0, 0, 856, 550, 0, 856, 109, 110, + 111, 112, 113, 0, 114, 0, 0, 115, 116, 117, + 118, 119, 0, 856, 0, 0, 0, 0, 0, 856, + 0, 0, 0, 0, 856, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 856, 856, 0, 856, 0, + 0, 0, 0, 0, 856, 0, 0, 924, 693, 691, + 0, 692, 0, 694, 0, 0, 0, 0, 0, 556, + 0, 0, 0, 0, 0, 0, 887, 886, 888, 851, + 0, 0, 0, 856, 856, 0, 856, 0, 857, 0, + 857, 857, 0, 856, 856, 856, 856, 856, 857, 856, + 0, 0, 856, 856, 856, 856, 856, 0, 0, 0, + 0, 0, 0, 0, 857, 0, 0, 0, 0, 0, + 851, 0, 851, 851, 851, 0, 0, 0, 857, 0, + 0, 0, 0, 857, 857, 0, 0, 857, 851, 851, + 851, 851, 0, 0, 857, 0, 857, 857, 0, 0, + 857, 0, 0, 0, 857, 0, 0, 857, 0, 857, + 0, 857, 0, 0, 0, 0, 857, 857, 0, 857, + 0, 0, 851, 1466, 1467, 0, 0, 0, 105, 1471, + 1472, 0, 1474, 1475, 0, 857, 857, 0, 857, 0, + 1479, 1480, 1481, 1482, 0, 1483, 1484, 1485, 1486, 1487, + 1488, 0, 857, 0, 857, 857, 857, 106, 107, 857, + 108, 0, 857, 857, 0, 0, 0, 109, 110, 111, + 112, 113, 857, 114, 0, 0, 115, 116, 117, 118, + 119, 0, 0, 0, 0, 0, 857, 0, 0, 857, + 0, 0, 105, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 857, 0, 0, 0, 0, + 0, 857, 0, 0, 0, 0, 857, 0, 0, 0, + 0, 106, 107, 0, 108, 0, 0, 857, 857, 0, + 857, 109, 110, 111, 112, 113, 857, 114, 874, 0, + 115, 116, 117, 118, 119, 0, 689, 0, 0, 0, + 0, 690, 0, 0, 875, 0, 0, 0, 0, 0, + 0, 850, 0, 0, 0, 857, 857, 0, 857, 0, + 0, 0, 943, 0, 0, 857, 857, 857, 857, 857, + 0, 857, 0, 0, 857, 857, 857, 857, 857, 0, + 876, 851, 0, 851, 851, 0, 0, 0, 0, 877, + 0, 851, 850, 0, 850, 850, 850, 878, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 851, 0, 0, + 850, 850, 850, 850, 0, 0, 879, 0, 880, 0, + 0, 851, 0, 0, 0, 0, 851, 851, 0, 0, + 851, 0, 881, 0, 882, 883, 884, 851, 0, 851, + 851, 0, 0, 851, 850, 0, 0, 851, 0, 0, + 851, 0, 851, 0, 851, 0, 0, 0, 0, 851, + 851, 0, 851, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 946, 851, 851, + 0, 851, 0, 0, 0, 885, 0, 0, 0, 0, + 0, 0, 0, 0, 105, 851, 0, 851, 851, 851, + 0, 0, 851, 0, 0, 851, 851, 0, 0, 0, + 0, 0, 0, 0, 0, 851, 0, 0, 0, 0, + 0, 0, 0, 106, 107, 0, 108, 0, 0, 851, + 0, 0, 851, 109, 110, 111, 112, 113, 0, 114, + 0, 0, 115, 116, 117, 118, 119, 0, 851, 0, + 0, 0, 0, 0, 851, 0, 0, 0, 0, 851, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 542, 0, 0, 542, 542, 0, 542, 0, 0, - 0, 542, 559, 0, 542, 559, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 708, 0, 542, 0, 643, - 559, 0, 559, 542, 0, 436, 542, 0, 0, 0, - 0, 437, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 438, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 559, 0, 0, 383, 384, 385, 439, 202, - 203, 0, 0, 0, 0, 0, 0, 0, 0, 440, - 0, 0, 0, 0, 0, 0, 0, 0, 386, 387, - 441, 442, 443, 388, 389, 444, 445, 106, 446, 0, - 108, 0, 0, 447, 448, 542, 449, 450, 451, 111, - 112, 113, 452, 114, 549, 0, 115, 116, 644, 645, - 646, 0, 426, 0, 0, 0, 533, 542, 0, 0, - 0, 427, 0, 0, 542, 0, 0, 0, 542, 0, - 0, 0, 0, 0, 428, 542, 0, 0, 0, 0, - 381, 429, 0, 0, 0, 549, 432, 0, 549, 0, - 0, 0, 0, 542, 0, 0, 0, 533, 542, 641, - 533, 0, 0, 549, 0, 549, 0, 0, 430, 0, - 0, 431, 0, 0, 0, 533, 0, 533, 0, 0, - 0, 0, 0, 542, 0, 0, 0, 542, 0, 0, - 0, 0, 0, 0, 0, 549, 0, 0, 0, 432, - 433, 0, 0, 0, 0, 0, 0, 533, 0, 0, - 0, 434, 0, 0, 0, 435, 0, 0, 0, 559, - 0, 0, 0, 642, 651, 0, 651, 651, 0, 651, - 0, 0, 0, 0, 0, 559, 0, 0, 0, 559, - 0, 559, 651, 0, 0, 559, 0, 651, 559, 0, - 76, 0, 439, 0, 0, 0, 0, 0, 0, 0, - 0, 559, 0, 440, 0, 0, 643, 559, 0, 0, - 559, 0, 436, 0, 0, 0, 0, 0, 437, 0, - 0, 106, 446, 0, 108, 0, 0, 0, 438, 0, - 449, 450, 451, 111, 112, 113, 0, 114, 0, 0, - 115, 116, 383, 384, 385, 439, 202, 203, 0, 0, - 0, 0, 0, 0, 0, 0, 440, 0, 0, 0, - 0, 0, 0, 0, 0, 386, 387, 441, 442, 443, - 388, 389, 444, 445, 106, 446, 0, 108, 0, 559, - 447, 448, 0, 449, 450, 451, 111, 112, 113, 452, - 114, 0, 0, 115, 116, 644, 645, 646, 0, 0, - 0, 559, 549, 0, 0, 0, 0, 98, 559, 0, - 0, 0, 559, 0, 533, 0, 0, 0, 549, 559, - 0, 0, 549, 0, 549, 0, 0, 0, 549, 0, - 533, 549, 0, 0, 533, 0, 533, 559, 0, 0, - 533, 0, 559, 533, 549, 0, 0, 0, 99, 0, - 549, 0, 0, 549, 0, 0, 533, 0, 0, 0, - 100, 0, 533, 0, 0, 533, 0, 559, 0, 0, - 0, 559, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 651, 101, 0, 0, 0, 0, - 0, 651, 0, 0, 0, 0, 0, 0, 0, 0, - 651, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 651, 0, 0, 0, 0, 0, 651, - 651, 0, 549, 645, 0, 645, 645, 651, 645, 0, - 0, 0, 0, 0, 533, 0, 0, 0, 0, 0, - 0, 645, 0, 0, 549, 0, 645, 651, 0, 0, - 651, 549, 0, 0, 102, 549, 533, 0, 0, 0, - 0, 0, 549, 533, 103, 0, 0, 533, 0, 0, - 0, 0, 0, 0, 533, 0, 651, 0, 651, 651, - 549, 0, 0, 0, 0, 549, 0, 0, 0, 104, - 651, 0, 533, 0, 651, 0, 0, 533, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 105, 0, 0, - 549, 0, 0, 0, 549, 0, 0, 0, 0, 0, - 455, 0, 533, 453, 0, 454, 533, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 106, 107, 456, 108, - 0, 0, 0, 277, 0, 0, 109, 110, 111, 112, - 113, 651, 114, 0, 0, 115, 116, 651, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 651, 0, 0, + 851, 851, 0, 851, 0, 0, 0, 0, 0, 851, + 0, 0, 0, 693, 691, 0, 692, 0, 694, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 651, 651, 651, 651, 651, 651, 0, 0, 0, - 0, 0, 0, 0, 0, 651, 0, 0, 0, 0, - 0, 0, 0, 0, 651, 651, 651, 651, 651, 651, - 651, 651, 651, 651, 651, 0, 651, 0, 0, 651, - 651, 0, 651, 651, 651, 651, 651, 651, 651, 651, - 0, 0, 651, 651, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 645, 0, 0, 0, 0, 0, 0, - 645, 0, 0, 0, 0, 0, 0, 0, 0, 645, + 0, 887, 886, 888, 852, 0, 0, 0, 851, 851, + 0, 851, 0, 850, 0, 850, 850, 0, 851, 851, + 851, 851, 851, 850, 851, 0, 0, 851, 851, 851, + 851, 851, 0, 0, 0, 943, 0, 0, 0, 850, + 0, 0, 0, 0, 0, 852, 0, 852, 852, 852, + 0, 0, 0, 850, 0, 0, 0, 0, 850, 850, + 0, 0, 850, 852, 852, 852, 852, 0, 0, 850, + 0, 850, 850, 0, 0, 850, 0, 0, 0, 850, + 0, 0, 850, 0, 850, 0, 850, 0, 0, 0, + 0, 850, 850, 0, 850, 0, 0, 852, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 944, + 850, 850, 0, 850, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 850, 0, 850, + 850, 850, 0, 0, 850, 0, 0, 850, 850, 0, + 0, 0, 0, 0, 0, 945, 0, 850, 0, 0, + 946, 0, 0, 0, 0, 0, 947, 0, 0, 0, + 0, 850, 0, 0, 850, 0, 0, 105, 0, 0, + 0, 0, 0, 0, 0, 948, 0, 0, 0, 0, + 850, 0, 0, 0, 0, 0, 850, 0, 0, 0, + 0, 850, 0, 0, 0, 0, 106, 107, 0, 108, + 0, 0, 850, 850, 0, 850, 109, 110, 111, 112, + 113, 850, 114, 874, 0, 115, 116, 117, 118, 119, + 0, 689, 0, 0, 0, 0, 690, 0, 0, 875, + 0, 0, 0, 0, 0, 0, 855, 0, 0, 0, + 850, 850, 0, 850, 0, 0, 0, 0, 0, 0, + 850, 850, 850, 850, 850, 0, 850, 0, 0, 850, + 850, 850, 850, 850, 0, 876, 852, 0, 852, 852, + 0, 0, 0, 0, 877, 0, 852, 855, 0, 855, + 855, 855, 878, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 852, 0, 0, 855, 855, 855, 855, 0, + 0, 879, 0, 880, 0, 0, 852, 0, 0, 0, + 0, 852, 852, 0, 0, 852, 0, 881, 0, 882, + 883, 884, 852, 1633, 852, 852, 0, 0, 852, 855, + 0, 0, 852, 0, 0, 852, 0, 852, 0, 852, + 0, 0, 0, 0, 852, 852, 0, 852, 1634, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 645, 0, 0, 0, 0, 0, 645, 645, - 0, 0, 0, 0, 0, 0, 645, 0, 0, 0, + 0, 0, 0, 852, 852, 0, 852, 0, 0, 0, + 885, 0, 0, 0, 0, 0, 0, 524, 0, 0, + 852, 0, 852, 852, 852, 0, 0, 852, 0, 0, + 852, 852, 0, 0, 0, 0, 0, 0, 0, 0, + 852, 0, 0, 0, 0, 0, 1635, 0, 0, 0, + 0, 0, 0, 0, 852, 0, 0, 852, 524, 0, + 0, 524, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 852, 0, 0, 524, 0, 524, 852, + 105, 0, 0, 0, 852, 0, 0, 0, 645, 0, + 0, 417, 0, 418, 0, 852, 852, 0, 852, 0, + 0, 0, 0, 0, 852, 0, 420, 0, 524, 106, + 107, 277, 108, 0, 0, 0, 0, 0, 0, 109, + 110, 111, 112, 113, 0, 114, 0, 0, 115, 116, + 117, 118, 119, 852, 852, 0, 852, 0, 855, 0, + 855, 855, 0, 852, 852, 852, 852, 852, 855, 852, + 0, 0, 852, 852, 852, 852, 852, 0, 0, 0, + 0, 0, 0, 0, 855, 0, 0, 0, 0, 84, + 0, 0, 0, 0, 0, 0, 85, 0, 855, 0, + 86, 87, 0, 855, 855, 645, 0, 855, 417, 88, + 418, 0, 0, 0, 855, 0, 855, 855, 0, 0, + 855, 89, 455, 420, 855, 0, 0, 855, 277, 855, + 0, 855, 0, 0, 0, 0, 855, 855, 0, 855, + 0, 0, 0, 0, 0, 0, 0, 0, 105, 0, + 0, 0, 0, 0, 0, 855, 855, 0, 855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 645, 0, 0, 645, + 0, 0, 855, 0, 855, 855, 855, 106, 107, 855, + 108, 0, 855, 855, 0, 0, 90, 109, 110, 111, + 112, 113, 855, 114, 0, 524, 115, 116, 117, 118, + 119, 0, 0, 91, 0, 0, 855, 0, 0, 855, + 0, 524, 459, 0, 524, 524, 0, 524, 92, 0, + 0, 524, 93, 0, 524, 855, 0, 0, 0, 105, + 0, 855, 0, 94, 0, 381, 855, 524, 0, 0, + 0, 0, 0, 524, 382, 0, 524, 855, 855, 0, + 855, 0, 95, 0, 0, 0, 855, 383, 106, 107, + 0, 108, 0, 384, 385, 0, 0, 0, 109, 110, + 111, 112, 113, 0, 114, 0, 0, 115, 116, 117, + 118, 119, 639, 0, 0, 855, 855, 0, 855, 0, + 0, 386, 0, 0, 387, 855, 855, 855, 855, 855, + 0, 855, 0, 0, 855, 855, 855, 855, 855, 0, + 0, 0, 0, 0, 0, 524, 0, 0, 0, 0, + 0, 0, 389, 390, 0, 0, 0, 0, 0, 0, + 0, 0, 381, 0, 391, 0, 0, 524, 392, 0, + 0, 382, 0, 0, 524, 0, 866, 0, 524, 0, + 0, 0, 0, 0, 383, 524, 0, 638, 0, 0, + 384, 385, 0, 633, 0, 633, 633, 0, 633, 0, + 0, 0, 0, 524, 0, 0, 0, 0, 524, 639, + 0, 633, 0, 0, 0, 682, 633, 0, 386, 641, + 0, 387, 0, 0, 0, 393, 0, 0, 0, 0, + 0, 394, 0, 524, 0, 0, 0, 524, 0, 0, + 0, 395, 0, 0, 0, 0, 0, 0, 0, 389, + 390, 0, 0, 0, 0, 396, 397, 398, 399, 202, + 203, 391, 0, 0, 0, 392, 0, 0, 0, 400, + 0, 0, 0, 640, 0, 0, 0, 0, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 106, 410, 0, + 108, 105, 0, 411, 412, 0, 413, 414, 415, 111, + 112, 113, 416, 114, 0, 0, 115, 116, 117, 118, + 119, 867, 868, 869, 0, 0, 641, 0, 0, 0, + 106, 107, 393, 108, 0, 0, 0, 0, 394, 0, + 109, 110, 111, 112, 113, 0, 114, 0, 395, 115, + 116, 117, 118, 119, 0, 645, 0, 0, 417, 0, + 418, 0, 396, 397, 398, 399, 202, 203, 0, 0, + 0, 0, 0, 420, 0, 0, 400, 0, 277, 0, + 0, 0, 0, 0, 0, 401, 402, 403, 404, 405, + 406, 407, 408, 409, 106, 410, 389, 108, 0, 0, + 411, 412, 0, 413, 414, 415, 111, 112, 113, 416, + 114, 0, 0, 115, 116, 642, 643, 644, 0, 0, + 0, 0, 0, 633, 0, 0, 0, 0, 0, 0, + 633, 537, 0, 0, 0, 0, 0, 0, 0, 633, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 818, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 645, 0, 645, 645, 0, - 1094, 0, 0, 1095, 0, 0, 0, 426, 0, 645, - 0, 0, 0, 645, 0, 0, 427, 0, 0, 0, - 0, 0, 0, 0, 0, 818, 0, 455, 818, 428, - 453, 0, 454, 0, 0, 381, 429, 0, 0, 0, - 0, 0, 0, 818, 0, 456, 0, 0, 0, 0, - 277, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 430, 0, 0, 431, 0, 0, 0, - 645, 0, 0, 0, 0, 0, 645, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 645, 0, 0, 0, - 0, 0, 0, 0, 432, 433, 0, 0, 0, 0, - 645, 645, 645, 645, 645, 645, 434, 0, 0, 0, - 435, 0, 0, 0, 645, 0, 0, 0, 0, 0, - 0, 0, 0, 645, 645, 645, 645, 645, 645, 645, - 645, 645, 645, 645, 0, 645, 0, 0, 645, 645, - 0, 645, 645, 645, 645, 645, 645, 645, 645, 0, - 0, 645, 645, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1096, 0, 436, 0, 0, - 0, 0, 0, 437, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 438, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, - 439, 202, 203, 0, 0, 0, 0, 0, 0, 0, - 0, 440, 0, 0, 0, 0, 0, 0, 0, 0, - 386, 387, 441, 442, 443, 388, 389, 444, 445, 106, - 446, 0, 108, 0, 0, 447, 448, 0, 449, 450, - 451, 111, 112, 113, 452, 114, 818, 1104, 115, 116, - 1095, 0, 0, 0, 426, 0, 133, 0, 0, 0, - 133, 0, 0, 427, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 455, 0, 428, 453, 133, 454, - 0, 133, 381, 429, 0, 0, 0, 0, 0, 0, - 0, 0, 456, 0, 0, 0, 0, 277, 0, 0, - 0, 0, 818, 0, 0, 818, 0, 0, 0, 0, - 430, 0, 818, 431, 0, 818, 0, 0, 0, 818, - 0, 0, 133, 0, 818, 0, 0, 818, 133, 133, - 133, 0, 133, 133, 133, 0, 133, 0, 0, 0, - 0, 432, 433, 818, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 434, 0, 0, 133, 435, 133, 455, - 0, 0, 453, 0, 454, 0, 0, 818, 0, 0, - 818, 818, 0, 0, 0, 0, 0, 456, 0, 0, - 818, 0, 277, 0, 0, 0, 0, 0, 0, 133, - 0, 0, 0, 0, 0, 0, 0, 818, 0, 0, - 0, 0, 0, 0, 0, 0, 133, 0, 0, 0, - 0, 0, 1096, 0, 436, 0, 0, 0, 0, 818, - 437, 0, 0, 0, 818, 0, 0, 0, 133, 0, - 438, 0, 0, 0, 0, 0, 818, 0, 818, 0, - 0, 0, 0, 0, 383, 384, 385, 439, 202, 203, - 0, 0, 0, 0, 0, 0, 0, 0, 440, 0, - 0, 0, 0, 133, 133, 0, 0, 386, 387, 441, - 442, 443, 388, 389, 444, 445, 106, 446, 0, 108, - 133, 0, 447, 448, 0, 449, 450, 451, 111, 112, - 113, 452, 114, 0, 1108, 115, 116, 1095, 0, 0, - 0, 426, 0, 0, 0, 0, 0, 0, 0, 0, - 427, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 428, 0, 0, 105, 0, 0, 381, - 429, 0, 0, 0, 0, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, - 174, 0, 0, 175, 176, 106, 107, 430, 108, 0, - 431, 177, 178, 0, 0, 109, 110, 111, 112, 113, - 179, 114, 180, 0, 115, 116, 181, 182, 183, 1116, - 0, 0, 1095, 0, 0, 0, 426, 0, 432, 433, - 0, 0, 0, 0, 0, 427, 0, 0, 0, 0, - 434, 0, 0, 0, 435, 0, 455, 0, 428, 453, - 0, 454, 0, 0, 381, 429, 0, 0, 0, 0, - 0, 0, 0, 0, 456, 0, 0, 0, 0, 277, + 0, 0, 633, 0, 0, 0, 0, 0, 633, 633, + 0, 0, 0, 0, 0, 0, 633, 0, 0, 0, + 0, 0, 537, 0, 0, 537, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 633, 0, 0, 633, + 537, 0, 537, 0, 0, 0, 0, 0, 0, 0, + 76, 0, 399, 0, 0, 0, 0, 645, 0, 0, + 417, 0, 418, 400, 0, 633, 0, 633, 633, 0, + 0, 0, 537, 0, 0, 420, 561, 0, 0, 633, + 277, 106, 410, 633, 108, 0, 0, 0, 0, 0, + 413, 414, 415, 111, 112, 113, 0, 114, 0, 0, + 115, 116, 117, 118, 119, 561, 561, 0, 561, 0, + 0, 0, 0, 0, 0, 561, 561, 561, 561, 561, + 0, 561, 0, 0, 561, 561, 561, 561, 561, 0, + 0, 0, 381, 0, 0, 0, 0, 0, 0, 0, + 633, 382, 0, 0, 0, 0, 633, 0, 0, 0, + 0, 0, 0, 0, 383, 0, 633, 0, 0, 0, + 384, 385, 0, 0, 0, 0, 0, 0, 0, 0, + 633, 633, 633, 633, 633, 633, 0, 0, 0, 639, + 0, 0, 0, 0, 633, 0, 0, 0, 386, 0, + 0, 387, 0, 633, 633, 633, 633, 633, 633, 633, + 633, 633, 633, 633, 0, 633, 0, 0, 633, 633, + 0, 633, 633, 633, 633, 633, 633, 633, 633, 389, + 390, 633, 633, 633, 633, 633, 0, 0, 0, 0, + 0, 391, 820, 0, 0, 392, 0, 0, 0, 537, + 0, 0, 0, 862, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 537, 0, 0, 0, 537, + 0, 537, 0, 0, 0, 537, 0, 0, 537, 0, + 0, 0, 0, 820, 0, 0, 820, 0, 0, 0, + 0, 537, 0, 0, 381, 0, 641, 537, 0, 0, + 537, 820, 393, 382, 0, 0, 645, 0, 394, 417, + 0, 418, 0, 0, 0, 0, 383, 0, 395, 0, + 0, 0, 384, 385, 420, 0, 0, 0, 0, 277, + 0, 0, 396, 397, 398, 399, 202, 203, 0, 0, + 0, 639, 0, 0, 0, 0, 400, 0, 0, 0, + 386, 0, 0, 387, 0, 401, 402, 403, 404, 405, + 406, 407, 408, 409, 106, 410, 0, 108, 0, 537, + 411, 412, 0, 413, 414, 415, 111, 112, 113, 416, + 114, 389, 390, 115, 116, 642, 643, 644, 0, 0, + 0, 537, 0, 391, 0, 0, 0, 392, 537, 0, + 0, 0, 537, 479, 0, 640, 417, 0, 418, 537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 430, 0, 0, 431, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1096, - 0, 436, 0, 0, 0, 0, 0, 437, 0, 0, - 0, 0, 0, 432, 433, 0, 0, 438, 0, 0, - 0, 0, 0, 0, 0, 434, 0, 0, 0, 435, - 0, 383, 384, 385, 439, 202, 203, 0, 0, 0, - 0, 0, 0, 0, 0, 440, 0, 0, 0, 0, - 0, 0, 0, 0, 386, 387, 441, 442, 443, 388, - 389, 444, 445, 106, 446, 0, 108, 0, 0, 447, - 448, 0, 449, 450, 451, 111, 112, 113, 452, 114, - 0, 0, 115, 116, 1096, 0, 436, 0, 0, 0, - 0, 0, 437, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 438, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 383, 384, 385, 439, - 202, 203, 0, 0, 0, 0, 0, 0, 0, 0, - 440, 0, 0, 0, 0, 0, 0, 0, 0, 386, - 387, 441, 442, 443, 388, 389, 444, 445, 106, 446, - 0, 108, 0, 0, 447, 448, 0, 449, 450, 451, - 111, 112, 113, 452, 114, 0, 1119, 115, 116, 1095, - 0, 0, 0, 426, 0, 0, 0, 0, 0, 0, - 0, 0, 427, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 455, 0, 428, 453, 0, 454, 0, - 0, 381, 429, 0, 0, 0, 0, 0, 0, 0, - 0, 456, 0, 0, 0, 0, 277, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 430, - 0, 0, 431, 0, 0, 0, 0, 0, 0, 0, + 0, 420, 0, 449, 0, 0, 277, 537, 0, 0, + 0, 0, 537, 449, 449, 449, 449, 449, 449, 449, + 449, 449, 449, 449, 449, 449, 449, 449, 641, 0, + 449, 449, 449, 449, 393, 449, 0, 537, 449, 449, + 394, 537, 449, 449, 449, 449, 449, 449, 449, 449, + 395, 449, 449, 449, 449, 449, 0, 0, 0, 0, + 0, 0, 0, 0, 396, 397, 398, 399, 202, 203, + 0, 0, 0, 0, 0, 0, 0, 0, 400, 0, + 0, 0, 0, 0, 820, 0, 0, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 106, 410, 0, 108, + 0, 0, 411, 412, 0, 413, 414, 415, 111, 112, + 113, 416, 114, 381, 0, 115, 116, 642, 643, 644, + 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 280, 383, 0, 0, 0, 0, + 820, 384, 385, 820, 0, 0, 0, 0, 789, 0, + 820, 0, 0, 820, 0, 0, 0, 820, 0, 0, + 639, 0, 820, 280, 280, 820, 280, 0, 0, 386, + 0, 0, 387, 280, 280, 280, 280, 280, 0, 280, + 0, 820, 280, 280, 280, 280, 280, 0, 0, 789, + 0, 0, 789, 0, 0, 0, 0, 0, 0, 0, + 389, 390, 0, 1102, 0, 820, 1103, 789, 820, 820, + 381, 0, 391, 0, 0, 0, 392, 0, 820, 382, + 0, 0, 0, 0, 862, 0, 0, 0, 0, 0, + 0, 0, 383, 0, 0, 820, 0, 479, 384, 385, + 417, 0, 418, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 420, 0, 820, 0, 0, + 277, 0, 820, 0, 0, 0, 386, 641, 0, 387, + 0, 0, 0, 393, 820, 0, 820, 0, 0, 394, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 395, + 0, 0, 0, 0, 0, 0, 0, 389, 390, 0, + 0, 0, 0, 396, 397, 398, 399, 202, 203, 391, + 0, 0, 0, 392, 0, 0, 0, 400, 0, 0, + 0, 0, 0, 0, 0, 0, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 106, 410, 0, 108, 0, + 0, 411, 412, 0, 413, 414, 415, 111, 112, 113, + 416, 114, 0, 0, 115, 116, 117, 118, 119, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1104, 0, + 393, 0, 0, 0, 0, 0, 394, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 395, 0, 0, 479, + 0, 0, 417, 0, 418, 0, 0, 0, 0, 0, + 396, 397, 398, 399, 202, 203, 0, 420, 0, 0, + 789, 0, 277, 0, 400, 0, 0, 0, 0, 0, + 0, 0, 0, 401, 402, 403, 404, 405, 406, 407, + 408, 409, 106, 410, 0, 108, 0, 0, 411, 412, + 0, 413, 414, 415, 111, 112, 113, 416, 114, 0, + 0, 115, 116, 117, 118, 119, 0, 1112, 0, 0, + 1103, 0, 0, 0, 381, 0, 789, 0, 0, 789, + 0, 0, 0, 382, 0, 0, 789, 0, 0, 789, + 0, 0, 0, 789, 0, 0, 383, 0, 789, 0, + 0, 789, 384, 385, 0, 0, 0, 0, 479, 0, + 0, 417, 0, 418, 0, 0, 0, 789, 0, 0, + 0, 0, 0, 0, 0, 0, 420, 0, 0, 0, + 386, 277, 0, 387, 0, 0, 0, 0, 0, 0, + 0, 789, 0, 0, 789, 789, 0, 0, 0, 0, + 0, 0, 0, 0, 789, 0, 0, 0, 0, 0, + 0, 389, 390, 0, 0, 0, 0, 0, 0, 0, + 0, 789, 0, 391, 0, 0, 0, 392, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 789, 0, 0, 0, 0, 789, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 789, 0, 789, 0, 0, 0, 0, 0, 0, 1116, + 0, 0, 1103, 0, 0, 0, 381, 0, 0, 0, + 0, 0, 1104, 0, 393, 382, 0, 0, 0, 0, + 394, 0, 0, 0, 0, 0, 0, 0, 383, 0, + 395, 0, 0, 0, 384, 385, 0, 0, 0, 0, + 0, 0, 0, 0, 396, 397, 398, 399, 202, 203, + 0, 0, 0, 0, 0, 0, 0, 0, 400, 0, + 0, 0, 386, 0, 0, 387, 0, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 106, 410, 0, 108, + 0, 0, 411, 412, 0, 413, 414, 415, 111, 112, + 113, 416, 114, 389, 390, 115, 116, 117, 118, 119, + 0, 0, 0, 0, 0, 391, 0, 0, 1124, 392, + 0, 1103, 0, 0, 0, 381, 0, 0, 0, 0, + 0, 0, 0, 0, 382, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 383, 0, 0, + 0, 0, 479, 384, 385, 417, 0, 418, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 420, 0, 0, 0, 1104, 277, 393, 0, 0, 0, + 0, 386, 394, 0, 387, 0, 0, 0, 0, 0, + 0, 0, 395, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 396, 397, 398, 399, + 202, 203, 389, 390, 0, 0, 0, 0, 0, 0, + 400, 0, 0, 0, 391, 0, 0, 0, 392, 401, + 402, 403, 404, 405, 406, 407, 408, 409, 106, 410, + 0, 108, 0, 0, 411, 412, 0, 413, 414, 415, + 111, 112, 113, 416, 114, 0, 0, 115, 116, 117, + 118, 119, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1104, 0, 393, 0, 0, 0, 0, + 0, 394, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 395, 0, 0, 479, 0, 0, 417, 0, 418, + 0, 0, 0, 0, 0, 396, 397, 398, 399, 202, + 203, 0, 420, 0, 0, 0, 0, 277, 0, 400, + 0, 0, 0, 0, 0, 0, 0, 0, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 106, 410, 0, + 108, 0, 0, 411, 412, 0, 413, 414, 415, 111, + 112, 113, 416, 114, 0, 0, 115, 116, 117, 118, + 119, 0, 1127, 0, 0, 1103, 0, 0, 0, 381, + 0, 0, 0, 0, 0, 0, 0, 0, 382, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 383, 0, 0, 0, 0, 0, 384, 385, 0, + 0, 0, 0, 479, 0, 0, 417, 0, 418, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 420, 0, 0, 0, 386, 277, 0, 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 432, 433, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 434, 0, 0, 0, 435, 0, 455, 0, - 0, 453, 0, 454, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 456, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 389, 390, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 391, 0, + 0, 0, 392, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1132, 0, 0, 1103, 0, 0, + 0, 381, 0, 0, 0, 0, 0, 1104, 0, 393, + 382, 0, 0, 0, 0, 394, 0, 0, 0, 0, + 0, 0, 0, 383, 0, 395, 0, 0, 0, 384, + 385, 0, 0, 0, 0, 0, 0, 0, 0, 396, + 397, 398, 399, 202, 203, 0, 0, 0, 0, 0, + 0, 0, 0, 400, 0, 0, 0, 386, 0, 0, + 387, 0, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 106, 410, 0, 108, 0, 0, 411, 412, 0, + 413, 414, 415, 111, 112, 113, 416, 114, 389, 390, + 115, 116, 117, 118, 119, 0, 0, 0, 0, 0, + 391, 0, 0, 1135, 392, 0, 1103, 0, 0, 0, + 381, 0, 0, 790, 0, 0, 0, 0, 0, 382, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 383, 0, 0, 0, 0, 479, 384, 385, + 417, 0, 418, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 790, 420, 0, 790, 0, 1104, + 277, 393, 0, 0, 0, 0, 386, 394, 0, 387, + 0, 0, 790, 0, 0, 0, 0, 395, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 396, 397, 398, 399, 202, 203, 389, 390, 0, + 0, 0, 0, 0, 0, 400, 0, 0, 0, 391, + 0, 0, 0, 392, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 106, 410, 0, 108, 0, 0, 411, + 412, 0, 413, 414, 415, 111, 112, 113, 416, 114, + 0, 0, 115, 116, 117, 118, 119, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1104, 0, + 393, 0, 0, 0, 0, 0, 394, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 395, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 396, 397, 398, 399, 202, 203, 0, 0, 0, 0, + 0, 0, 0, 0, 400, 0, 0, 0, 0, 0, + 0, 0, 0, 401, 402, 403, 404, 405, 406, 407, + 408, 409, 106, 410, 0, 108, 0, 0, 411, 412, + 0, 413, 414, 415, 111, 112, 113, 416, 114, 0, + 0, 115, 116, 117, 118, 119, 0, 1138, 0, 0, + 1103, 0, 0, 0, 381, 0, 0, 479, 0, 484, + 417, 0, 418, 382, 0, 790, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 420, 383, 0, 0, 0, + 277, 0, 384, 385, 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, 0, 4, 0, 5, + 386, 6, 0, 387, 0, 0, 7, 0, 0, 0, + 0, 790, 0, 8, 790, 0, 0, 0, 0, 0, + 0, 790, 0, 0, 790, 0, 0, 9, 790, 0, + 0, 389, 390, 790, 0, 0, 790, 0, 10, 0, + 0, 0, 0, 391, 0, 479, 0, 392, 417, 0, + 418, 0, 790, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 420, 0, 0, 0, 0, 277, 0, + 0, 0, 0, 0, 0, 0, 790, 0, 0, 790, + 790, 0, 0, 0, 0, 0, 0, 0, 0, 790, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1104, 0, 393, 11, 790, 0, 0, 0, + 394, 0, 12, 0, 0, 13, 0, 14, 15, 0, + 395, 0, 0, 0, 0, 0, 0, 0, 790, 0, + 0, 0, 0, 790, 396, 397, 398, 399, 202, 203, + 0, 0, 16, 0, 0, 790, 582, 790, 400, 0, + 583, 0, 0, 0, 0, 0, 0, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 106, 410, 584, 108, + 0, 585, 411, 412, 381, 413, 414, 415, 111, 112, + 113, 416, 114, 382, 0, 115, 116, 117, 118, 119, + 0, 17, 0, 0, 0, 0, 383, 0, 0, 0, + 0, 0, 384, 385, 0, 0, 18, 19, 0, 0, + 0, 0, 586, 0, 0, 0, 0, 0, 587, 588, + 589, 0, 590, 591, 592, 0, 593, 0, 0, 0, + 386, 0, 0, 387, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 594, 0, 595, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 388, + 0, 389, 390, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 381, 391, 0, 0, 0, 392, 0, 596, + 0, 382, 0, 0, 954, 0, 954, 954, 0, 954, + 0, 0, 0, 0, 383, 0, 597, 0, 0, 0, + 384, 385, 954, 0, 0, 0, 0, 954, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 598, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 386, 0, + 0, 387, 0, 0, 393, 0, 0, 0, 0, 0, + 394, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 395, 0, 0, 599, 600, 0, 0, 388, 0, 389, + 390, 0, 0, 0, 396, 397, 398, 399, 202, 203, + 601, 391, 0, 0, 0, 392, 0, 0, 400, 0, + 0, 0, 0, 0, 0, 0, 0, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 106, 410, 0, 108, + 0, 0, 411, 412, 0, 413, 414, 415, 111, 112, + 113, 416, 114, 0, 0, 115, 116, 117, 118, 119, + 0, 0, 682, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 393, 0, 0, 0, 639, 0, 394, 639, + 0, 639, 0, 0, 0, 0, 0, 0, 395, 0, + 0, 0, 220, 0, 639, 0, 220, 0, 0, 639, + 0, 0, 396, 397, 398, 399, 202, 203, 0, 0, + 220, 0, 0, 0, 220, 0, 400, 220, 0, 0, + 0, 0, 0, 0, 0, 401, 402, 403, 404, 405, + 406, 407, 408, 409, 106, 410, 0, 108, 0, 0, + 411, 412, 0, 413, 414, 415, 111, 112, 113, 416, + 114, 954, 0, 115, 116, 117, 118, 119, 220, 0, + 954, 0, 0, 0, 220, 220, 220, 0, 220, 220, + 220, 0, 220, 954, 521, 0, 0, 0, 0, 954, + 954, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 220, 0, 220, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 954, 0, 0, + 954, 0, 0, 0, 0, 521, 0, 0, 521, 0, + 0, 0, 0, 0, 0, 220, 0, 0, 0, 0, + 80, 0, 0, 521, 0, 521, 954, 0, 954, 954, + 0, 0, 220, 0, 0, 0, 0, 0, 0, 0, + 954, 0, 0, 0, 954, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 220, 521, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 639, 0, 0, 220, + 220, 0, 0, 639, 0, 0, 0, 0, 0, 0, + 0, 954, 639, 0, 0, 419, 220, 954, 417, 0, + 418, 0, 0, 0, 0, 639, 0, 954, 0, 0, + 0, 639, 639, 420, 0, 0, 0, 0, 277, 639, + 0, 954, 954, 954, 954, 954, 954, 0, 0, 0, + 0, 0, 0, 0, 0, 954, 0, 0, 0, 639, + 0, 0, 639, 0, 954, 954, 954, 954, 954, 954, + 954, 954, 954, 954, 954, 0, 954, 0, 0, 954, + 954, 0, 954, 954, 954, 954, 954, 954, 954, 954, + 639, 639, 954, 954, 954, 954, 954, 0, 0, 0, + 0, 0, 639, 0, 0, 0, 639, 0, 0, 0, + 0, 0, 479, 0, 0, 417, 0, 418, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 420, 0, 521, 0, 0, 277, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 521, 0, + 0, 0, 521, 0, 521, 0, 0, 0, 521, 0, + 0, 521, 0, 639, 0, 0, 0, 0, 0, 639, + 0, 0, 0, 0, 521, 0, 0, 0, 0, 639, + 521, 0, 0, 521, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 639, 639, 639, 639, 639, 639, 0, + 0, 0, 0, 0, 0, 0, 0, 639, 0, 0, + 0, 0, 0, 0, 0, 0, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 0, 639, 0, + 0, 639, 639, 0, 639, 639, 639, 639, 639, 639, + 639, 639, 381, 0, 639, 639, 639, 639, 639, 0, + 0, 382, 521, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 383, 0, 0, 0, 0, 0, + 384, 385, 0, 0, 521, 0, 0, 0, 0, 0, + 0, 521, 0, 0, 0, 521, 0, 0, 0, 0, + 0, 0, 521, 0, 0, 0, 0, 0, 386, 0, + 0, 387, 0, 0, 0, 0, 0, 0, 0, 0, + 521, 0, 0, 0, 0, 521, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 388, 0, 389, + 390, 0, 0, 0, 0, 0, 0, 0, 0, 381, + 521, 391, 0, 0, 521, 392, 0, 0, 382, 0, + 0, 479, 0, 0, 417, 0, 418, 0, 0, 0, + 0, 383, 0, 0, 0, 0, 0, 384, 385, 420, + 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 386, 0, 0, 387, 0, + 0, 0, 393, 0, 0, 0, 0, 0, 394, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 395, 0, + 0, 0, 0, 0, 0, 0, 389, 390, 0, 0, + 0, 0, 396, 397, 398, 399, 202, 203, 391, 0, + 0, 0, 392, 0, 0, 0, 400, 0, 0, 0, + 0, 0, 0, 0, 0, 401, 402, 403, 404, 405, + 406, 407, 408, 409, 106, 410, 0, 108, 0, 0, + 411, 412, 0, 413, 414, 415, 111, 112, 113, 416, + 114, 0, 0, 115, 116, 117, 118, 119, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 393, + 0, 0, 0, 0, 0, 394, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 395, 0, 0, 0, 0, + 0, 0, 0, 674, 0, 0, 0, 0, 0, 396, + 397, 398, 399, 202, 203, 0, 0, 0, 0, 0, + 0, 0, 0, 400, 0, 0, 0, 0, 0, 0, + 0, 0, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 106, 410, 0, 108, 0, 0, 411, 412, 0, + 413, 414, 415, 111, 112, 113, 416, 114, 381, 0, + 115, 116, 117, 118, 119, 0, 0, 382, 0, 0, + 479, 0, 0, 417, 0, 418, 0, 0, 0, 0, + 383, 0, 0, 0, 0, 0, 384, 385, 420, 0, + 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 386, 0, 0, 387, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 389, 390, 0, 0, 0, + 479, 927, 0, 417, 0, 418, 0, 391, 0, 0, + 0, 392, 0, 0, 0, 0, 0, 0, 420, 0, + 0, 105, 0, 277, 0, 0, 0, 0, 0, 0, + 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, 173, 174, 175, 176, 177, 0, 0, 178, 179, + 106, 107, 0, 108, 0, 0, 180, 181, 682, 0, + 109, 110, 111, 112, 113, 182, 114, 183, 393, 115, + 116, 117, 118, 119, 394, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 395, 0, 0, 0, 852, 0, + 0, 0, 583, 0, 0, 0, 0, 0, 396, 397, + 398, 399, 202, 203, 0, 0, 853, 0, 0, 0, + 584, 0, 400, 585, 0, 0, 0, 0, 0, 0, + 0, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 106, 410, 0, 108, 0, 0, 411, 412, 0, 413, + 414, 415, 111, 112, 113, 416, 114, 381, 0, 115, + 116, 117, 118, 119, 586, 0, 382, 0, 0, 0, + 587, 588, 589, 0, 590, 591, 592, 0, 593, 383, + 0, 0, 0, 0, 0, 384, 385, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 594, 0, + 595, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 386, 0, 0, 387, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 596, 0, 0, 0, 0, 0, 381, 0, 0, + 0, 0, 388, 0, 389, 390, 382, 0, 597, 479, + 0, 0, 417, 0, 418, 0, 391, 0, 0, 383, + 392, 0, 0, 0, 0, 384, 385, 420, 0, 0, + 598, 0, 277, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 386, 0, 0, 387, 0, 0, 0, + 0, 0, 0, 0, 0, 599, 600, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 393, 0, 0, + 0, 0, 601, 394, 389, 390, 0, 0, 0, 0, + 0, 0, 0, 395, 0, 0, 391, 0, 0, 0, + 392, 0, 0, 0, 0, 0, 0, 396, 397, 398, + 399, 202, 203, 0, 0, 0, 0, 0, 0, 0, + 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 106, + 410, 0, 108, 0, 0, 411, 412, 0, 413, 414, + 415, 111, 112, 113, 416, 114, 0, 393, 115, 116, + 117, 118, 119, 394, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 395, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 396, 397, 398, + 399, 202, 203, 0, 0, 0, 0, 0, 0, 0, + 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 106, + 410, 0, 108, 0, 0, 411, 412, 0, 413, 414, + 415, 111, 112, 113, 416, 114, 381, 0, 115, 116, + 117, 118, 119, 0, 0, 382, 0, 0, 479, 0, + 0, 417, 0, 418, 0, 0, 0, 0, 383, 0, + 0, 0, 0, 0, 384, 385, 420, 0, 0, 0, + 0, 277, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 386, 0, 0, 387, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 389, 390, 0, 0, 0, 479, 0, + 0, 417, 0, 418, 0, 391, 0, 0, 0, 392, + 0, 0, 0, 0, 0, 0, 420, 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1096, 0, 436, 0, 0, 0, 0, 0, 437, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 438, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 383, 384, 385, 439, 202, 203, 0, - 0, 0, 0, 0, 0, 0, 0, 440, 0, 0, - 0, 0, 0, 0, 0, 0, 386, 387, 441, 442, - 443, 388, 389, 444, 445, 106, 446, 0, 108, 0, - 0, 447, 448, 0, 449, 450, 451, 111, 112, 113, - 452, 114, 0, 1124, 115, 116, 1095, 0, 0, 0, - 426, 0, 0, 0, 0, 0, 0, 0, 0, 427, + 0, 0, 0, 0, 0, 0, 393, 0, 0, 0, + 0, 0, 394, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 395, 0, 0, 0, 220, 0, 0, 0, + 220, 0, 0, 1130, 0, 0, 396, 397, 398, 399, + 202, 203, 0, 0, 220, 0, 0, 0, 220, 0, + 400, 220, 0, 0, 0, 0, 0, 0, 0, 401, + 402, 403, 404, 405, 406, 407, 408, 409, 106, 410, + 0, 108, 0, 0, 411, 412, 0, 413, 414, 415, + 111, 112, 113, 416, 114, 381, 0, 115, 116, 117, + 118, 119, 220, 0, 382, 0, 0, 0, 220, 220, + 220, 0, 220, 220, 220, 0, 220, 383, 0, 0, + 0, 0, 0, 384, 385, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 220, 0, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 428, 0, 0, 0, 0, 0, 381, 429, - 0, 797, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 386, 0, 0, 387, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 220, + 0, 0, 0, 0, 0, 381, 0, 0, 0, 0, + 0, 0, 389, 390, 382, 0, 220, 479, 0, 0, + 417, 0, 418, 0, 391, 0, 0, 383, 392, 0, + 0, 0, 0, 384, 385, 420, 1701, 0, 220, 0, + 277, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 430, 0, 0, 431, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 797, 0, 0, 797, 0, 0, 1127, 0, - 0, 1095, 0, 0, 0, 426, 0, 432, 433, 0, - 797, 0, 0, 0, 427, 0, 0, 0, 0, 434, - 0, 0, 0, 435, 0, 455, 0, 428, 453, 0, - 454, 0, 0, 381, 429, 0, 0, 0, 0, 0, - 0, 0, 0, 456, 0, 0, 0, 0, 277, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 430, 0, 0, 431, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1096, 0, - 436, 0, 0, 0, 0, 0, 437, 0, 0, 0, - 0, 0, 432, 433, 0, 0, 438, 0, 0, 0, - 0, 0, 0, 0, 434, 0, 0, 0, 435, 0, - 383, 384, 385, 439, 202, 203, 0, 0, 0, 0, - 0, 0, 0, 0, 440, 0, 0, 0, 0, 0, - 0, 0, 0, 386, 387, 441, 442, 443, 388, 389, - 444, 445, 106, 446, 0, 108, 0, 0, 447, 448, - 0, 449, 450, 451, 111, 112, 113, 452, 114, 0, - 0, 115, 116, 1096, 0, 436, 0, 0, 0, 0, - 0, 437, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 438, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 795, 0, 0, 0, 383, 384, 385, 439, 202, - 203, 0, 0, 0, 0, 0, 0, 0, 0, 440, - 0, 0, 0, 797, 0, 0, 0, 0, 386, 387, - 441, 442, 443, 388, 389, 444, 445, 106, 446, 0, - 108, 0, 795, 447, 448, 795, 449, 450, 451, 111, - 112, 113, 452, 114, 0, 1130, 115, 116, 1095, 0, - 795, 0, 426, 0, 0, 455, 0, 486, 453, 0, - 454, 427, 0, 0, 0, 0, 0, 0, 0, 797, - 0, 0, 797, 456, 428, 0, 0, 0, 277, 797, - 381, 429, 797, 0, 0, 0, 797, 0, 0, 0, - 0, 797, 0, 0, 797, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 430, 0, - 797, 431, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 797, 0, 0, 797, 797, 432, - 433, 0, 0, 0, 0, 0, 0, 797, 0, 0, - 0, 434, 0, 455, 0, 435, 453, 0, 454, 0, - 0, 0, 0, 0, 797, 0, 0, 0, 0, 0, - 0, 456, 0, 0, 0, 0, 277, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 797, 0, 0, 0, - 0, 797, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 797, 0, 797, 0, 0, 0, 0, - 1096, 0, 436, 0, 0, 0, 0, 0, 437, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 438, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 383, 384, 385, 439, 202, 203, 0, 0, - 0, 0, 0, 795, 0, 0, 440, 0, 0, 0, - 0, 0, 0, 0, 0, 386, 387, 441, 442, 443, - 388, 389, 444, 445, 106, 446, 0, 108, 0, 0, - 447, 448, 426, 449, 450, 451, 111, 112, 113, 452, - 114, 427, 0, 115, 116, 0, 0, 0, 0, 0, - 0, 0, 796, 0, 428, 0, 0, 0, 0, 795, - 381, 429, 795, 0, 0, 0, 0, 0, 0, 795, - 0, 0, 795, 0, 0, 0, 795, 0, 0, 0, - 0, 795, 0, 0, 795, 0, 0, 0, 430, 0, - 0, 431, 0, 796, 0, 0, 796, 0, 0, 0, - 795, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 796, 0, 0, 0, 0, 0, 382, 0, 432, - 433, 0, 0, 0, 795, 0, 0, 795, 795, 0, - 426, 434, 0, 0, 0, 435, 0, 795, 0, 427, - 0, 0, 955, 0, 955, 955, 0, 955, 0, 0, - 0, 0, 428, 0, 795, 0, 0, 0, 381, 429, - 955, 0, 0, 0, 0, 955, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 795, 0, 0, 0, - 0, 795, 0, 0, 0, 0, 430, 0, 0, 431, - 0, 0, 436, 795, 0, 795, 0, 0, 437, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 438, 0, - 0, 0, 0, 0, 0, 382, 0, 432, 433, 0, - 0, 0, 383, 384, 385, 439, 202, 203, 0, 434, - 0, 0, 0, 435, 0, 0, 440, 0, 0, 0, - 0, 0, 0, 0, 0, 386, 387, 441, 442, 443, - 388, 389, 444, 445, 106, 446, 0, 108, 0, 0, - 447, 448, 0, 449, 450, 451, 111, 112, 113, 452, - 114, 0, 0, 115, 116, 0, 0, 0, 0, 0, - 708, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 436, 0, 0, 0, 651, 0, 437, 651, 0, 651, - 0, 0, 0, 0, 0, 0, 438, 0, 0, 0, - 0, 0, 651, 0, 796, 0, 0, 651, 0, 0, - 383, 384, 385, 439, 202, 203, 0, 0, 0, 0, - 0, 0, 0, 0, 440, 0, 0, 0, 0, 0, - 0, 0, 0, 386, 387, 441, 442, 443, 388, 389, - 444, 445, 106, 446, 0, 108, 0, 0, 447, 448, - 0, 449, 450, 451, 111, 112, 113, 452, 114, 955, - 796, 115, 116, 796, 0, 0, 0, 0, 955, 0, - 796, 0, 0, 796, 0, 0, 0, 796, 0, 0, - 0, 955, 796, 0, 0, 796, 0, 955, 955, 0, - 0, 0, 0, 455, 0, 0, 453, 0, 454, 0, - 0, 796, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 456, 0, 0, 0, 955, 277, 0, 955, 0, - 0, 0, 0, 0, 0, 796, 0, 0, 796, 796, - 0, 0, 0, 0, 0, 0, 0, 0, 796, 0, - 0, 0, 0, 0, 955, 0, 955, 955, 0, 0, - 0, 0, 0, 0, 0, 796, 0, 0, 955, 0, - 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 796, 0, 0, - 0, 0, 796, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 796, 0, 796, 0, 0, 0, - 0, 0, 0, 0, 651, 0, 0, 0, 0, 0, - 0, 651, 0, 0, 0, 0, 0, 0, 0, 955, - 651, 0, 0, 0, 0, 955, 0, 0, 0, 0, - 0, 0, 0, 651, 0, 955, 0, 0, 0, 651, - 651, 0, 0, 0, 0, 0, 0, 651, 0, 955, - 955, 955, 955, 955, 955, 0, 0, 0, 0, 0, - 0, 0, 0, 955, 0, 0, 0, 651, 0, 0, - 651, 0, 955, 955, 955, 955, 955, 955, 955, 955, - 955, 955, 955, 0, 955, 0, 0, 955, 955, 0, - 955, 955, 955, 955, 955, 955, 955, 955, 651, 651, - 955, 955, 0, 0, 0, 0, 0, 0, 0, 0, - 651, 0, 0, 0, 651, 0, 0, 0, 0, 0, - 426, 0, 0, 455, 0, 0, 453, 0, 454, 427, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 456, 428, 0, 0, 0, 277, 0, 381, 429, + 0, 386, 0, 0, 387, 0, 0, 0, 0, 0, + 0, 0, 0, 220, 220, 1315, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 393, 0, 0, 0, 0, + 220, 394, 389, 390, 0, 0, 0, 0, 0, 0, + 0, 395, 0, 0, 391, 0, 0, 0, 392, 0, + 0, 0, 0, 0, 0, 396, 397, 398, 399, 202, + 203, 0, 0, 0, 0, 0, 0, 0, 0, 400, + 0, 0, 0, 0, 0, 0, 0, 0, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 106, 410, 0, + 108, 0, 0, 411, 412, 0, 413, 414, 415, 111, + 112, 113, 416, 114, 0, 393, 115, 116, 117, 118, + 119, 394, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 395, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1328, 0, 0, 396, 397, 398, 399, 202, + 203, 0, 0, 0, 0, 0, 0, 0, 0, 400, + 0, 0, 0, 0, 0, 0, 0, 0, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 106, 410, 0, + 108, 0, 0, 411, 412, 0, 413, 414, 415, 111, + 112, 113, 416, 114, 381, 0, 115, 116, 117, 118, + 119, 0, 0, 382, 0, 0, 479, 0, 0, 417, + 0, 418, 0, 0, 0, 0, 383, 0, 0, 0, + 0, 0, 384, 385, 420, 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 651, 0, 0, 0, 0, 430, 651, 0, 431, - 0, 0, 0, 0, 0, 0, 0, 651, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 651, 651, 651, 651, 651, 651, 432, 433, 0, - 0, 0, 0, 0, 0, 651, 0, 0, 0, 434, - 0, 0, 0, 435, 651, 651, 651, 651, 651, 651, - 651, 651, 651, 651, 651, 0, 651, 0, 0, 651, - 651, 0, 651, 651, 651, 651, 651, 651, 651, 651, - 0, 0, 651, 651, 0, 0, 0, 0, 0, 0, + 386, 0, 0, 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 436, 0, 0, 0, 0, 0, 437, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 438, 0, 0, 0, - 0, 0, 0, 0, 700, 0, 0, 0, 0, 0, - 383, 384, 385, 439, 202, 203, 0, 0, 0, 0, - 0, 0, 0, 0, 440, 0, 0, 0, 0, 0, - 0, 0, 0, 386, 387, 441, 442, 443, 388, 389, - 444, 445, 106, 446, 0, 108, 0, 0, 447, 448, - 426, 449, 450, 451, 111, 112, 113, 452, 114, 427, - 0, 115, 116, 455, 0, 0, 453, 0, 454, 0, - 0, 0, 428, 0, 0, 0, 0, 0, 381, 429, - 0, 456, 0, 0, 0, 0, 277, 0, 0, 0, + 0, 389, 390, 0, 0, 0, 954, 0, 0, 954, + 0, 954, 0, 391, 0, 0, 0, 392, 0, 0, + 0, 133, 0, 0, 954, 133, 0, 0, 0, 954, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 826, 0, 0, 430, 0, 0, 431, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 455, 952, 0, - 453, 0, 454, 0, 0, 0, 0, 432, 433, 0, - 0, 0, 0, 0, 826, 456, 0, 826, 0, 434, - 277, 0, 0, 435, 0, 0, 0, 0, 0, 0, - 0, 0, 826, 461, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 461, 461, 461, 461, 461, 461, 461, - 461, 461, 461, 461, 461, 461, 461, 461, 0, 0, - 461, 461, 461, 461, 0, 461, 0, 0, 461, 461, - 708, 0, 461, 461, 461, 461, 461, 461, 461, 461, - 436, 461, 461, 461, 461, 461, 437, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 438, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 383, 384, 385, 439, 202, 203, 0, 0, 0, 0, - 0, 0, 0, 0, 440, 0, 0, 0, 0, 0, - 0, 0, 0, 386, 387, 441, 442, 443, 388, 389, - 444, 445, 106, 446, 0, 108, 0, 0, 447, 448, - 0, 449, 450, 451, 111, 112, 113, 452, 114, 0, - 426, 115, 116, 0, 0, 0, 0, 0, 0, 427, - 0, 0, 0, 790, 0, 0, 0, 0, 0, 0, - 0, 0, 428, 0, 0, 0, 0, 0, 381, 429, + 0, 0, 0, 133, 0, 0, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 790, 0, 430, 790, 0, 431, - 0, 0, 0, 0, 426, 0, 0, 0, 0, 0, - 0, 0, 790, 427, 0, 826, 0, 455, 0, 0, - 453, 0, 454, 0, 0, 382, 428, 432, 433, 0, - 0, 0, 381, 429, 0, 456, 0, 0, 0, 434, - 277, 0, 0, 435, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 393, 0, 0, 0, 0, 0, + 394, 0, 0, 0, 0, 0, 0, 133, 0, 0, + 395, 0, 0, 133, 133, 133, 0, 133, 133, 133, + 0, 133, 0, 0, 396, 397, 398, 399, 202, 203, + 0, 0, 0, 0, 0, 0, 0, 0, 400, 0, + 0, 133, 0, 133, 0, 0, 0, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 106, 410, 0, 108, + 0, 0, 411, 412, 0, 413, 414, 415, 111, 112, + 113, 416, 114, 381, 133, 115, 116, 117, 118, 119, + 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, + 0, 133, 0, 0, 0, 383, 0, 0, 0, 0, + 0, 384, 385, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 133, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 386, + 0, 0, 387, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 830, 0, 0, 0, 0, 133, 133, + 0, 0, 0, 954, 0, 0, 0, 0, 0, 0, + 389, 390, 954, 0, 0, 133, 0, 0, 0, 0, + 0, 0, 391, 0, 0, 954, 392, 0, 0, 0, + 0, 954, 954, 0, 830, 992, 992, 830, 992, 992, + 992, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 830, 992, 992, 992, 0, 0, 0, 954, + 0, 0, 954, 0, 0, 0, 0, 814, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 430, 0, 0, 431, 0, 0, 0, 0, 0, 0, - 0, 826, 0, 0, 826, 0, 0, 0, 0, 0, - 0, 826, 0, 0, 826, 0, 0, 0, 826, 0, - 0, 432, 433, 826, 0, 0, 826, 0, 0, 0, - 436, 0, 0, 434, 0, 0, 437, 435, 0, 0, - 0, 0, 826, 0, 0, 0, 438, 0, 0, 0, + 0, 0, 0, 393, 992, 0, 0, 0, 0, 394, + 954, 954, 0, 0, 0, 0, 0, 0, 0, 395, + 0, 0, 954, 0, 0, 0, 954, 0, 814, 0, + 0, 814, 0, 396, 397, 398, 399, 202, 203, 0, + 0, 0, 0, 0, 0, 0, 814, 400, 0, 0, + 0, 0, 0, 0, 0, 0, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 106, 410, 0, 108, 0, + 0, 411, 412, 0, 413, 414, 415, 111, 112, 113, + 416, 114, 0, 954, 115, 116, 117, 118, 119, 954, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 954, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 383, 384, 385, 439, 202, 203, 826, 0, 0, 826, - 826, 0, 0, 0, 440, 0, 0, 0, 0, 826, - 0, 0, 0, 386, 387, 441, 442, 443, 388, 389, - 444, 445, 106, 446, 436, 108, 826, 0, 447, 448, - 437, 449, 450, 451, 111, 112, 113, 452, 114, 0, - 438, 115, 116, 0, 0, 0, 0, 0, 826, 0, - 0, 0, 0, 826, 383, 384, 385, 439, 202, 203, - 0, 0, 0, 0, 0, 826, 0, 826, 440, 0, - 0, 0, 0, 0, 0, 790, 0, 386, 387, 441, - 442, 443, 388, 389, 444, 445, 106, 446, 0, 108, - 0, 0, 447, 448, 0, 449, 450, 451, 111, 112, - 113, 452, 114, 0, 426, 115, 116, 455, 0, 0, - 453, 0, 454, 427, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 456, 428, 0, 0, 0, - 277, 790, 381, 429, 790, 0, 0, 0, 0, 0, - 0, 790, 0, 0, 790, 0, 0, 0, 790, 0, - 0, 0, 0, 790, 0, 0, 790, 0, 0, 0, - 430, 0, 0, 431, 0, 0, 0, 0, 0, 0, - 0, 455, 790, 0, 453, 0, 454, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 456, - 0, 432, 433, 0, 277, 0, 790, 0, 0, 790, - 790, 0, 0, 434, 0, 0, 0, 435, 0, 790, + 0, 0, 0, 954, 954, 954, 954, 954, 954, 0, + 0, 0, 0, 0, 0, 0, 0, 954, 0, 0, + 0, 0, 0, 0, 0, 831, 954, 954, 954, 954, + 954, 954, 954, 954, 954, 954, 954, 0, 954, 0, + 0, 954, 954, 0, 954, 954, 954, 954, 954, 954, + 954, 954, 0, 0, 954, 954, 954, 954, 954, 0, + 0, 0, 0, 0, 0, 830, 831, 993, 993, 831, + 993, 993, 993, 0, 0, 992, 0, 0, 0, 0, + 0, 0, 0, 992, 831, 993, 993, 993, 992, 0, + 0, 992, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 832, + 0, 0, 0, 0, 0, 0, 993, 0, 0, 0, + 0, 830, 0, 0, 830, 0, 0, 992, 0, 0, + 0, 830, 0, 0, 830, 0, 992, 0, 830, 814, + 0, 0, 0, 830, 992, 0, 830, 0, 0, 0, + 832, 994, 994, 832, 994, 994, 994, 0, 0, 0, + 0, 0, 830, 992, 0, 992, 0, 0, 832, 994, + 994, 994, 0, 0, 0, 0, 0, 0, 0, 992, + 0, 992, 992, 992, 0, 0, 830, 0, 0, 830, + 830, 0, 0, 793, 0, 814, 0, 0, 814, 830, + 994, 0, 0, 0, 0, 814, 0, 0, 814, 0, + 0, 0, 814, 0, 0, 0, 830, 814, 0, 0, + 814, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 992, 0, 793, 0, 814, 793, 830, 0, + 0, 0, 0, 830, 0, 0, 0, 0, 0, 0, + 0, 0, 793, 0, 0, 830, 0, 830, 0, 0, + 814, 0, 0, 814, 814, 791, 0, 0, 0, 0, + 0, 0, 0, 814, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 831, 0, 0, + 814, 0, 0, 0, 0, 0, 0, 993, 0, 0, + 0, 0, 0, 0, 0, 993, 791, 0, 0, 791, + 993, 0, 814, 993, 0, 0, 0, 814, 0, 0, + 0, 0, 0, 0, 791, 0, 0, 0, 0, 814, + 0, 814, 0, 0, 0, 0, 0, 0, 0, 792, + 0, 0, 0, 831, 0, 0, 831, 0, 0, 993, + 0, 0, 0, 831, 0, 0, 831, 0, 993, 0, + 831, 0, 0, 0, 0, 831, 993, 0, 831, 0, + 0, 832, 0, 822, 0, 0, 0, 0, 0, 0, + 792, 994, 0, 792, 831, 993, 0, 993, 0, 994, + 0, 0, 0, 0, 994, 0, 0, 994, 792, 0, + 0, 993, 786, 993, 993, 993, 0, 0, 831, 0, + 0, 831, 831, 0, 822, 0, 0, 822, 0, 0, + 0, 831, 0, 787, 0, 0, 0, 832, 0, 0, + 832, 0, 822, 994, 0, 0, 0, 832, 831, 0, + 832, 0, 994, 786, 832, 0, 786, 0, 0, 832, + 994, 0, 832, 0, 993, 793, 0, 0, 0, 0, + 831, 786, 0, 0, 787, 831, 0, 787, 832, 994, + 0, 994, 0, 0, 0, 0, 0, 831, 0, 831, + 0, 0, 787, 0, 0, 994, 0, 994, 994, 994, + 0, 0, 832, 0, 0, 832, 832, 0, 0, 0, + 0, 0, 0, 0, 0, 832, 0, 0, 0, 0, + 788, 793, 0, 0, 793, 0, 0, 0, 0, 0, + 0, 793, 832, 0, 793, 0, 0, 791, 793, 0, + 0, 0, 0, 793, 0, 0, 793, 0, 994, 0, + 0, 0, 0, 821, 832, 0, 0, 0, 0, 832, + 0, 788, 793, 0, 788, 0, 0, 0, 0, 0, + 0, 832, 0, 832, 0, 0, 0, 0, 0, 788, + 0, 0, 0, 0, 0, 0, 793, 0, 0, 793, + 793, 0, 0, 791, 821, 0, 791, 821, 0, 793, + 0, 0, 0, 791, 0, 0, 791, 0, 0, 0, + 791, 792, 821, 0, 0, 791, 793, 0, 791, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 790, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 790, 0, - 0, 0, 0, 790, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 436, 790, 0, 790, 0, 0, - 437, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 438, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1122, 0, 0, 383, 384, 385, 439, 202, 203, - 0, 0, 0, 0, 0, 0, 0, 0, 440, 0, - 0, 0, 0, 0, 0, 0, 0, 386, 387, 441, - 442, 443, 388, 389, 444, 445, 106, 446, 0, 108, - 0, 0, 447, 448, 426, 449, 450, 451, 111, 112, - 113, 452, 114, 427, 0, 115, 116, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 428, 0, 0, 0, - 0, 0, 381, 429, 0, 0, 0, 0, 0, 0, - 220, 0, 0, 0, 220, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 220, 0, - 430, 0, 220, 431, 0, 220, 0, 0, 426, 0, - 0, 0, 0, 0, 0, 0, 0, 427, 0, 0, - 0, 455, 0, 0, 453, 0, 454, 0, 0, 0, - 428, 432, 433, 0, 0, 0, 381, 429, 0, 456, - 1689, 0, 0, 434, 277, 0, 220, 435, 0, 0, - 0, 0, 220, 220, 220, 0, 220, 220, 220, 0, - 220, 0, 0, 0, 430, 0, 0, 431, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 220, 0, 220, 0, 0, 1734, 0, 0, 453, 0, - 454, 0, 0, 0, 1301, 432, 433, 0, 0, 0, - 0, 0, 0, 456, 436, 0, 0, 434, 277, 0, - 437, 435, 0, 220, 0, 0, 0, 0, 80, 0, - 438, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 220, 0, 0, 0, 383, 384, 385, 439, 202, 203, - 0, 0, 0, 0, 0, 0, 0, 0, 440, 0, - 0, 0, 220, 0, 0, 0, 0, 386, 387, 441, - 442, 443, 388, 389, 444, 445, 106, 446, 436, 108, - 0, 0, 447, 448, 437, 449, 450, 451, 111, 112, - 113, 452, 114, 0, 438, 115, 116, 220, 220, 0, - 0, 0, 0, 0, 0, 1314, 0, 0, 383, 384, - 385, 439, 202, 203, 220, 0, 0, 0, 0, 0, - 0, 0, 440, 0, 0, 0, 0, 0, 0, 0, - 0, 386, 387, 441, 442, 443, 388, 389, 444, 445, - 106, 446, 0, 108, 0, 0, 447, 448, 0, 449, - 450, 451, 111, 112, 113, 452, 114, 0, 426, 115, - 116, 0, 0, 0, 0, 0, 0, 427, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 428, 0, 0, 0, 0, 0, 381, 429, 0, 0, - 0, 0, 0, 0, 853, 0, 0, 0, 585, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 854, 0, 430, 0, 586, 431, 0, 587, - 0, 0, 426, 0, 0, 455, 0, 0, 453, 0, - 454, 427, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 456, 428, 432, 433, 0, 277, 0, - 381, 429, 0, 0, 0, 0, 0, 434, 0, 0, - 588, 435, 0, 0, 0, 0, 589, 590, 591, 0, - 592, 593, 594, 0, 595, 0, 0, 0, 430, 0, - 0, 431, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 596, 0, 597, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 382, 955, 432, - 433, 955, 0, 955, 0, 0, 0, 0, 436, 0, - 0, 434, 0, 0, 437, 435, 955, 598, 0, 0, - 0, 955, 0, 0, 438, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 599, 0, 0, 0, 383, 384, - 385, 439, 202, 203, 0, 0, 0, 0, 0, 0, - 0, 0, 440, 0, 0, 0, 600, 0, 0, 0, - 0, 386, 387, 441, 442, 443, 388, 389, 444, 445, - 106, 446, 436, 108, 0, 0, 447, 448, 437, 449, - 450, 451, 111, 112, 113, 452, 114, 0, 438, 115, - 116, 601, 602, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 383, 384, 385, 439, 202, 203, 603, 0, - 0, 0, 0, 0, 0, 0, 440, 0, 0, 0, - 0, 0, 0, 0, 0, 386, 387, 441, 442, 443, - 388, 389, 444, 445, 106, 446, 0, 108, 0, 0, - 447, 448, 426, 449, 450, 451, 111, 112, 113, 452, - 114, 427, 791, 115, 116, 0, 0, 0, 0, 0, - 0, 0, 0, 792, 428, 0, 0, 0, 0, 0, - 381, 429, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 791, 0, 0, 791, 0, 430, 0, - 0, 431, 0, 0, 792, 0, 0, 792, 0, 0, - 0, 791, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 792, 0, 0, 955, 825, 0, 0, 432, - 433, 0, 0, 0, 955, 0, 0, 0, 0, 0, - 0, 434, 0, 0, 0, 435, 819, 955, 0, 0, - 0, 0, 0, 955, 955, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 825, 0, 0, + 0, 0, 0, 0, 791, 0, 0, 0, 793, 0, + 0, 0, 0, 793, 0, 822, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 793, 0, 793, 791, 0, + 0, 791, 791, 0, 0, 0, 0, 792, 0, 0, + 792, 791, 0, 0, 786, 0, 0, 792, 0, 0, + 792, 0, 0, 0, 792, 0, 0, 0, 791, 792, + 815, 0, 792, 0, 0, 787, 0, 0, 0, 0, + 0, 822, 0, 0, 822, 0, 0, 0, 792, 0, + 791, 822, 0, 0, 822, 791, 0, 0, 822, 823, + 0, 0, 0, 822, 0, 0, 822, 791, 0, 791, + 786, 815, 792, 786, 815, 792, 792, 0, 0, 0, + 786, 0, 822, 786, 0, 792, 0, 786, 0, 815, + 0, 787, 786, 824, 787, 786, 0, 0, 0, 0, + 823, 787, 792, 823, 787, 0, 822, 0, 787, 822, + 822, 786, 0, 787, 0, 0, 787, 0, 823, 822, + 0, 0, 788, 0, 792, 0, 0, 0, 0, 792, + 0, 0, 787, 0, 824, 786, 822, 824, 786, 786, + 0, 792, 0, 792, 0, 0, 0, 0, 786, 0, + 0, 0, 824, 0, 0, 821, 787, 812, 822, 787, + 787, 0, 0, 822, 0, 786, 0, 0, 0, 787, + 0, 0, 0, 0, 0, 822, 0, 822, 788, 0, + 0, 788, 0, 0, 0, 0, 787, 786, 788, 0, + 0, 788, 786, 0, 0, 788, 0, 0, 812, 0, + 788, 812, 0, 788, 786, 0, 786, 0, 787, 0, + 0, 821, 0, 787, 821, 0, 812, 0, 0, 788, + 0, 821, 0, 0, 821, 787, 0, 787, 821, 0, + 0, 816, 0, 821, 0, 0, 821, 0, 0, 0, + 0, 0, 0, 788, 0, 0, 788, 788, 0, 0, + 0, 0, 821, 0, 0, 0, 788, 0, 0, 0, 825, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 955, 0, 0, 955, 825, 0, 819, 0, 0, - 819, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 436, 0, 0, 819, 0, 0, 437, 827, - 0, 0, 955, 955, 0, 0, 0, 0, 438, 0, - 0, 0, 0, 0, 955, 0, 0, 0, 955, 0, - 0, 0, 383, 384, 385, 439, 202, 203, 0, 0, - 0, 0, 0, 0, 0, 0, 440, 0, 0, 0, - 827, 0, 0, 827, 828, 386, 387, 441, 442, 443, - 388, 389, 444, 445, 106, 446, 0, 108, 827, 0, - 447, 448, 0, 449, 450, 451, 111, 112, 113, 452, - 114, 0, 0, 115, 116, 955, 0, 0, 0, 0, - 0, 955, 0, 0, 0, 828, 0, 0, 828, 0, - 0, 955, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 828, 791, 955, 955, 955, 955, 955, - 955, 0, 0, 0, 0, 792, 0, 0, 0, 955, - 0, 0, 0, 0, 0, 0, 0, 0, 955, 955, - 955, 955, 955, 955, 955, 955, 955, 955, 955, 0, - 955, 0, 0, 955, 955, 816, 955, 955, 955, 955, - 955, 955, 955, 955, 0, 0, 955, 955, 0, 0, - 791, 0, 0, 791, 0, 0, 0, 0, 0, 0, - 791, 792, 0, 791, 792, 0, 0, 791, 825, 0, - 0, 792, 791, 0, 792, 791, 816, 0, 792, 816, - 0, 0, 0, 792, 0, 0, 792, 0, 819, 0, - 0, 791, 0, 0, 816, 0, 0, 0, 0, 820, - 0, 0, 792, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 791, 0, 0, 791, 791, - 0, 0, 0, 0, 825, 0, 792, 825, 791, 792, - 792, 0, 0, 0, 825, 0, 0, 825, 0, 792, - 820, 825, 0, 820, 819, 791, 825, 819, 0, 825, - 0, 827, 0, 0, 819, 0, 792, 819, 820, 0, - 0, 819, 829, 0, 0, 825, 819, 791, 0, 819, - 0, 0, 791, 0, 0, 0, 0, 0, 792, 0, - 0, 0, 0, 792, 791, 819, 791, 0, 0, 825, - 0, 0, 825, 825, 0, 792, 828, 792, 0, 0, - 0, 0, 825, 829, 0, 0, 829, 827, 0, 819, - 827, 0, 819, 819, 0, 0, 0, 827, 0, 825, - 827, 829, 819, 0, 827, 0, 0, 0, 0, 827, - 0, 0, 827, 0, 0, 0, 0, 0, 0, 819, - 0, 825, 817, 0, 0, 0, 825, 0, 827, 0, - 0, 0, 828, 0, 0, 828, 0, 0, 825, 0, - 825, 819, 828, 821, 0, 828, 819, 0, 0, 828, - 0, 0, 827, 0, 828, 827, 827, 828, 819, 0, - 819, 0, 0, 817, 0, 827, 817, 0, 0, 0, - 0, 0, 0, 828, 0, 0, 0, 816, 0, 0, - 0, 817, 827, 0, 821, 0, 0, 821, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 828, 0, 0, - 828, 828, 821, 0, 827, 0, 0, 0, 0, 827, - 828, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 827, 0, 827, 0, 0, 0, 828, 0, 0, - 0, 0, 0, 816, 0, 0, 816, 0, 0, 0, - 0, 820, 0, 816, 0, 0, 816, 0, 0, 828, - 816, 0, 0, 0, 828, 816, 0, 0, 816, 0, - 0, 0, 0, 0, 0, 0, 828, 0, 828, 0, - 0, 0, 0, 0, 816, 0, 0, 0, 0, 0, + 0, 0, 816, 788, 0, 816, 821, 0, 0, 821, + 821, 0, 0, 0, 0, 0, 0, 0, 0, 821, + 816, 0, 815, 0, 813, 788, 0, 0, 0, 0, + 788, 825, 0, 0, 825, 817, 821, 0, 0, 0, + 0, 0, 788, 0, 788, 0, 0, 0, 0, 825, + 0, 823, 0, 0, 0, 0, 0, 0, 821, 0, + 0, 0, 0, 821, 0, 813, 0, 0, 813, 0, + 0, 0, 0, 0, 0, 821, 817, 821, 815, 817, + 0, 815, 0, 813, 0, 824, 0, 0, 815, 0, + 0, 815, 0, 0, 817, 815, 0, 0, 0, 0, + 815, 0, 0, 815, 0, 0, 0, 823, 0, 0, + 823, 0, 0, 0, 0, 0, 0, 823, 0, 815, + 823, 0, 0, 0, 823, 0, 0, 0, 0, 823, + 0, 0, 823, 0, 0, 0, 0, 0, 0, 0, + 0, 824, 0, 815, 824, 0, 815, 815, 823, 812, + 0, 824, 0, 0, 824, 0, 815, 0, 824, 0, + 0, 0, 0, 824, 0, 0, 824, 0, 0, 0, + 0, 0, 823, 815, 0, 823, 823, 0, 0, 0, + 0, 0, 824, 0, 0, 823, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 815, 0, 0, 0, 0, + 815, 0, 823, 0, 0, 812, 824, 0, 812, 824, + 824, 0, 815, 0, 815, 812, 0, 0, 812, 824, + 0, 0, 812, 816, 823, 0, 0, 812, 0, 823, + 812, 0, 0, 0, 0, 0, 824, 0, 0, 0, + 0, 823, 0, 823, 0, 0, 812, 0, 0, 0, + 0, 0, 825, 0, 0, 0, 0, 0, 824, 0, + 0, 0, 0, 824, 0, 0, 0, 0, 0, 0, + 812, 0, 0, 812, 812, 824, 0, 824, 0, 816, + 0, 0, 816, 812, 0, 0, 813, 0, 0, 816, + 0, 0, 816, 0, 0, 0, 816, 817, 0, 0, + 812, 816, 0, 0, 816, 0, 0, 0, 825, 0, + 0, 825, 0, 0, 0, 0, 0, 0, 825, 0, + 816, 825, 812, 0, 0, 825, 0, 812, 0, 0, + 825, 0, 0, 825, 0, 0, 0, 0, 0, 812, + 0, 812, 813, 0, 816, 813, 0, 816, 816, 825, + 0, 0, 813, 817, 0, 813, 817, 816, 0, 813, + 0, 0, 0, 817, 813, 0, 817, 813, 0, 0, + 817, 0, 0, 825, 816, 817, 825, 825, 817, 0, + 0, 0, 320, 813, 0, 0, 825, 0, 0, 0, + 0, 0, 0, 0, 817, 0, 816, 0, 0, 0, + 0, 816, 0, 825, 0, 0, 0, 813, 0, 0, + 813, 813, 320, 816, 0, 816, 0, 0, 817, 320, + 813, 817, 817, 320, 320, 825, 320, 0, 0, 320, + 825, 817, 0, 0, 0, 0, 0, 813, 0, 0, + 0, 0, 825, 320, 825, 0, 0, 0, 817, 320, + 0, 0, 0, 0, 0, 0, 1412, 0, 0, 813, + 0, 0, 0, 0, 813, 0, 0, 0, 0, 0, + 817, 0, 0, 0, 0, 817, 813, 0, 813, 0, + 1412, 0, 0, 0, 0, 0, 6, 817, 0, 817, + 0, 0, 0, 0, 0, 0, 0, 1531, 1532, 0, + 1533, 0, 0, 1534, 0, 0, 0, 0, 0, 320, + 6, 0, 0, 0, 0, 0, 0, 1535, 0, 0, + 0, 1531, 1532, 1536, 1533, 0, 0, 1534, 320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 820, 816, 0, - 820, 816, 816, 0, 829, 0, 0, 820, 0, 0, - 820, 816, 0, 0, 820, 0, 0, 0, 0, 820, - 0, 0, 820, 0, 0, 0, 0, 0, 816, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 820, 0, + 0, 1535, 0, 320, 0, 0, 0, 1536, 0, 0, + 0, 0, 0, 320, 0, 0, 0, 0, 0, 0, + 0, 0, 320, 0, 320, 0, 0, 0, 0, 0, + 0, 320, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 816, 0, 0, 0, 0, 816, 0, 0, 0, 0, - 829, 0, 820, 829, 0, 820, 820, 816, 0, 816, - 829, 0, 0, 829, 0, 820, 0, 829, 0, 0, - 0, 0, 829, 0, 817, 829, 0, 0, 0, 0, - 0, 0, 820, 0, 0, 0, 0, 0, 0, 0, - 0, 829, 0, 0, 0, 821, 0, 0, 0, 0, - 0, 0, 0, 0, 820, 0, 0, 0, 0, 820, - 0, 0, 0, 0, 0, 829, 0, 0, 829, 829, - 0, 820, 0, 820, 0, 0, 0, 0, 829, 0, - 817, 0, 0, 817, 0, 0, 1398, 0, 0, 0, - 817, 0, 0, 817, 0, 829, 0, 817, 0, 0, - 0, 821, 817, 0, 821, 817, 0, 0, 0, 0, - 0, 821, 0, 320, 821, 0, 6, 829, 821, 0, - 0, 817, 829, 821, 0, 0, 821, 1518, 1519, 0, - 1520, 0, 0, 1521, 829, 0, 829, 0, 0, 0, - 0, 0, 821, 320, 0, 817, 0, 1522, 817, 817, - 320, 0, 0, 1523, 320, 320, 0, 320, 817, 0, - 320, 0, 0, 0, 1398, 0, 821, 0, 0, 821, - 821, 0, 0, 0, 320, 817, 0, 0, 0, 821, - 320, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 6, 0, 821, 817, 0, 0, - 0, 0, 817, 0, 0, 1518, 1519, 0, 1520, 0, - 0, 1521, 0, 1524, 817, 0, 817, 0, 821, 0, - 0, 0, 0, 821, 0, 1522, 0, 0, 0, 0, - 0, 1523, 14, 0, 0, 821, 0, 821, 0, 0, - 320, 0, 0, 0, 0, 0, 0, 1525, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 16, 0, 320, - 0, 0, 0, 0, 0, 0, 1650, 0, 1526, 0, - 0, 0, 0, 0, 320, 105, 0, 0, 0, 0, - 0, 0, 0, 0, 320, 0, 584, 0, 0, 0, - 585, 1524, 0, 320, 0, 320, 0, 781, 0, 0, - 0, 0, 320, 0, 1527, 107, 0, 108, 586, 0, - 14, 587, 0, 0, 109, 110, 111, 112, 113, 0, - 114, 0, 0, 115, 1528, 1525, 0, 0, 0, 0, - 0, 320, 320, 0, 320, 16, 0, 0, 0, 0, - 0, 320, 320, 320, 320, 320, 1526, 320, 0, 0, - 320, 320, 588, 105, 0, 0, 0, 0, 589, 590, - 591, 0, 592, 593, 594, 0, 595, 0, 0, 0, - 0, 0, 0, 0, 0, 584, 0, 0, 0, 585, - 0, 0, 1527, 107, 0, 108, 596, 0, 597, 0, - 0, 0, 109, 110, 111, 112, 113, 586, 114, 0, - 587, 115, 1528, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 598, + 320, 320, 14, 320, 0, 0, 0, 1537, 0, 0, + 320, 320, 320, 320, 320, 0, 320, 1538, 0, 320, + 320, 320, 320, 320, 0, 0, 14, 16, 0, 0, + 0, 0, 0, 0, 0, 0, 1662, 0, 1539, 0, + 0, 1538, 0, 0, 0, 105, 0, 0, 0, 0, + 0, 16, 0, 0, 0, 0, 582, 0, 0, 0, + 583, 0, 1539, 0, 0, 0, 0, 780, 0, 105, + 0, 0, 0, 0, 1540, 107, 0, 108, 584, 0, + 0, 585, 0, 0, 109, 110, 111, 112, 113, 0, + 114, 0, 0, 115, 1541, 117, 118, 119, 1540, 107, + 0, 108, 582, 0, 0, 0, 583, 0, 109, 110, + 111, 112, 113, 0, 114, 0, 0, 115, 1541, 117, + 118, 119, 586, 0, 584, 0, 0, 585, 587, 588, + 589, 0, 590, 591, 592, 0, 593, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 599, 0, 0, 0, - 0, 588, 0, 0, 0, 0, 0, 589, 590, 591, - 0, 592, 593, 594, 0, 595, 0, 0, 600, 0, - 0, 0, 0, 220, 0, 0, 0, 220, 0, 0, - 0, 0, 0, 105, 0, 596, 0, 597, 0, 0, - 0, 220, 0, 0, 0, 220, 0, 0, 220, 0, - 0, 0, 0, 601, 602, 0, 0, 0, 0, 0, - 0, 0, 106, 107, 0, 108, 0, 0, 598, 0, - 603, 0, 109, 110, 111, 112, 113, 0, 114, 0, - 0, 115, 116, 0, 0, 599, 0, 0, 0, 220, - 0, 0, 0, 0, 0, 220, 220, 220, 0, 220, - 220, 220, 0, 220, 0, 0, 0, 600, 0, 0, + 0, 0, 0, 0, 0, 0, 594, 0, 595, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 586, 0, + 0, 0, 0, 0, 587, 588, 589, 0, 590, 591, + 592, 0, 593, 0, 0, 0, 0, 0, 0, 596, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 105, 220, 0, 220, 0, 0, 0, 0, + 0, 0, 594, 0, 595, 0, 597, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 601, 602, 0, 0, 0, 0, 0, 0, - 0, 106, 107, 0, 108, 0, 220, 0, 0, 603, - 0, 109, 110, 111, 112, 113, 0, 114, 0, 0, - 115, 116, 0, 220, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 0, 0, 0, 220, + 0, 0, 0, 0, 0, 0, 0, 0, 598, 0, + 0, 0, 0, 0, 0, 596, 0, 0, 0, 0, + 0, 0, 0, 105, 0, 0, 0, 0, 0, 0, + 0, 0, 597, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 599, 600, 0, 0, 0, 0, 0, + 0, 0, 106, 107, 598, 108, 0, 0, 0, 0, + 601, 0, 109, 110, 111, 112, 113, 0, 114, 105, + 0, 115, 116, 117, 118, 119, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 599, + 600, 0, 0, 0, 0, 0, 0, 0, 106, 107, + 0, 108, 0, 0, 0, 0, 601, 0, 109, 110, + 111, 112, 113, 0, 114, 0, 0, 115, 116, 117, + 118, 119, }; static short yycheck[] = { 9, - 16, 55, 12, 64, 4, 4, 16, 104, 18, 0, - 254, 146, 63, 135, 136, 56, 511, 351, 359, 355, - 254, 705, 135, 136, 85, 62, 67, 63, 57, 328, - 544, 359, 330, 547, 553, 89, 94, 516, 1023, 553, - 69, 722, 494, 53, 54, 55, 56, 57, 58, 90, - 73, 285, 758, 63, 64, 65, 97, 67, 907, 69, - 70, 414, 72, 73, 745, 68, 70, 83, 691, 681, - 1194, 81, 95, 83, 84, 85, 92, 87, 88, 89, - 90, 88, 92, 93, 94, 95, 1016, 97, 91, 93, - 126, 149, 128, 1023, 1016, 376, 708, 1236, 127, 636, - 949, 1023, 642, 323, 1016, 629, 147, 647, 1016, 364, - 1024, 1023, 847, 44, 0, 1023, 126, 127, 128, 148, - 752, 1035, 262, 0, 44, 816, 749, 45, 968, 226, - 140, 271, 0, 140, 0, 0, 146, 147, 148, 149, - 1054, 254, 0, 153, 45, 1071, 778, 391, 721, 279, - 187, 306, 0, 685, 0, 787, 63, 391, 0, 0, - 700, 41, 0, 45, 41, 0, 40, 44, 254, 40, - 0, 306, 41, 59, 45, 212, 41, 1149, 41, 44, - 0, 41, 59, 41, 59, 44, 44, 523, 44, 40, - 44, 59, 41, 59, 59, 44, 530, 531, 532, 533, - 41, 59, 1379, 41, 755, 44, 153, 44, 840, 40, - 42, 59, 553, 59, 0, 0, 313, 59, 59, 44, - 256, 59, 44, 1072, 59, 553, 260, 61, 0, 59, - 725, 260, 420, 0, 1048, 45, 290, 0, 91, 59, - 269, 40, 1234, 579, 40, 283, 256, 1379, 156, 455, - 260, 264, 262, 263, 0, 286, 1379, 556, 513, 269, - 1379, 271, 258, 45, 63, 294, 406, 63, 277, 44, - 306, 1153, 44, 59, 59, 0, 262, 1262, 391, 414, - 290, 63, 269, 343, 294, 908, 41, 59, 397, 44, - 804, 44, 59, 329, 0, 1284, 59, 257, 44, 41, - 336, 59, 338, 584, 340, 391, 605, 343, 368, 320, - 306, 12, 0, 59, 257, 352, 274, 354, 372, 329, - 361, 217, 268, 1391, 260, 287, 336, 436, 338, 493, - 340, 368, 1262, 343, 59, 41, 345, 1251, 300, 503, - 1262, 370, 882, 883, 352, 320, 0, 313, 12, 0, - 1262, 361, 362, 59, 1262, 0, 1196, 989, 362, 402, - 370, 470, 372, 273, 405, 1340, 426, 303, 900, 1437, - 378, 59, 824, 402, 334, 0, 376, 0, 414, 420, - 912, 913, 262, 417, 413, 0, 0, 41, 417, 0, - 44, 334, 402, 422, 1369, 405, 406, 0, 411, 1281, - 386, 439, 1034, 413, 944, 59, 0, 417, 59, 317, - 420, 1403, 422, 309, 59, 425, 41, 0, 41, 365, - 1559, 44, 418, 667, 277, 274, 41, 1229, 260, 44, - 461, 462, 133, 667, 59, 422, 59, 0, 269, 0, - 309, 318, 264, 1620, 59, 59, 456, 41, 59, 571, - 44, 417, 318, 1442, 1268, 0, 59, 691, 318, 1150, - 309, 436, 318, 340, 0, 59, 300, 766, 331, 133, - 769, 303, 0, 1275, 340, 1015, 59, 318, 425, 264, - 318, 1395, 492, 320, 783, 1399, 42, 1401, 1620, 331, - 328, 528, 726, 331, 340, 320, 59, 1620, 59, 340, - 688, 1620, 340, 1187, 1476, 340, 386, 1213, 466, 1435, - 1194, 810, 342, 41, 59, 749, 44, 553, 383, 1658, - 394, 387, 1436, 59, 387, 1076, 1099, 458, 348, 304, - 396, 59, 452, 396, 0, 410, 676, 574, 1378, 1274, - 458, 1065, 552, 553, 1081, 765, 387, 377, 558, 387, - 436, 458, 905, 851, 667, 396, 328, 458, 396, 331, - 431, 328, 411, 0, 331, 328, 1257, 1691, 331, 572, - 0, 343, 440, 1712, 440, 405, 458, 436, 408, 860, - 1382, 667, 328, 838, 584, 331, 454, 458, 625, 626, - 720, 746, 628, 59, 424, 1509, 447, 343, 440, 440, - 454, 1515, 440, 485, 41, 1454, 454, 44, 454, 731, - 1734, 746, 454, 454, 1753, 454, 454, 466, 628, 454, - 450, 431, 59, 409, 278, 502, 280, 637, 1160, 59, - 383, 44, 668, 287, 0, 1449, 501, 637, 637, 761, - 762, 1273, 367, 501, 258, 387, 0, 688, 458, 431, - 1564, 41, 410, 264, 550, 278, 411, 280, 668, 458, - 348, 671, 458, 278, 287, 280, 676, 1581, 440, 1003, - 264, 41, 287, 440, 908, 685, 458, 440, 688, 1219, - 452, 387, 454, 693, 1390, 452, 693, 454, 1438, 1301, - 396, 454, 306, 59, 440, 258, 41, 41, 259, 1239, - 0, 1686, 1677, 264, 714, 59, 452, 355, 454, 270, - 746, 740, 722, 742, 724, 751, 367, 727, 1341, 755, - 757, 758, 1021, 619, 378, 405, 320, 41, 264, 383, - 740, 59, 742, 1067, 1033, 745, 260, 340, 0, 775, - 296, 751, 338, 306, 41, 755, 400, 506, 0, 889, - 377, 1665, 892, 407, 1053, 378, 1686, 340, 1237, 59, - 1674, 764, 387, 378, 1686, 775, 0, 803, 804, 1571, - 905, 409, 1016, 318, 1686, 1577, 456, 400, 1686, 1023, - 41, 1079, 1016, 0, 407, 400, 397, 441, 790, 1023, - 318, 418, 407, 803, 804, 340, 263, 59, 0, 802, - 1724, 1725, 1716, 331, 418, 0, 1490, 59, 1260, 809, - 839, 1142, 340, 1144, 1266, 261, 1768, 1769, 441, 405, - 849, 821, 283, 387, 41, 59, 441, 44, 1347, 839, - 0, 834, 835, 836, 1553, 893, 397, 458, 465, 849, - 1380, 278, 59, 280, 492, 312, 442, 501, 42, 890, - 287, 861, 318, 47, 40, 418, 323, 59, 452, 387, - 860, 397, 356, 0, 59, 1163, 460, 1379, 396, 905, - 456, 894, 262, 300, 340, 1827, 440, 402, 501, 889, - 890, 891, 892, 893, 894, 342, 501, 891, 318, 59, - 900, 304, 262, 417, 1818, 489, 490, 0, 492, 1618, - 0, 331, 912, 913, 460, 499, 500, 501, 502, 503, - 340, 505, 440, 438, 508, 509, 1666, 262, 0, 1153, - 377, 387, 59, 384, 1612, 352, 454, 0, 1616, 1051, - 1066, 0, 0, 489, 490, 429, 492, 262, 1619, 0, - 685, 378, 1278, 499, 500, 501, 502, 503, 405, 505, - 1249, 408, 508, 509, 273, 458, 59, 387, 968, 59, - 427, 307, 308, 400, 264, 262, 396, 424, 0, 322, - 407, 40, 41, 0, 440, 44, 342, 59, 439, 0, - 41, 1280, 1477, 44, 328, 1673, 59, 331, 342, 301, - 59, 59, 61, 450, 377, 456, 386, 1492, 59, 322, - 61, 262, 41, 1517, 441, 44, 1347, 1691, 0, 41, - 440, 377, 1343, 445, 41, 278, 386, 44, 1262, 1347, - 59, 340, 91, 377, 301, 1027, 1028, 59, 1262, 40, - 264, 1670, 59, 1069, 1044, 1148, 1149, 1150, 59, 405, - 1076, 386, 408, 387, 262, 1045, 1045, 1281, 1058, 41, - 1734, 405, 396, 1387, 408, 40, 319, 1060, 424, 1069, - 1195, 386, 264, 0, 501, 448, 1076, 59, 0, 264, - 424, 1207, 0, 387, 1076, 1078, 508, 1617, 1717, 1767, - 342, 1084, 396, 465, 450, 467, 280, 1668, 1583, 386, - 342, 285, 301, 1215, 264, 1217, 450, 397, 284, 1639, - 0, 318, 1642, 401, 321, 451, 1405, 1341, 1620, 41, - 435, 328, 44, 16, 331, 377, 44, 325, 335, 383, - 44, 40, 59, 340, 1763, 386, 343, 59, 0, 338, - 442, 59, 1142, 0, 1144, 1647, 348, 400, 1719, 58, - 0, 41, 359, 405, 1177, 1444, 408, 1180, 1148, 1149, - 1160, 307, 308, 405, 1276, 900, 408, 44, 1797, 59, - 0, 264, 424, 397, 264, 442, 383, 912, 386, 93, - 387, 0, 424, 1176, 41, 44, 1213, 44, 441, 396, - 83, 41, 1694, 1764, 383, 1195, 1196, 59, 450, 258, - 319, 264, 59, 0, 61, 397, 413, 258, 450, 59, - 44, 41, 397, 260, 44, 274, 93, 405, 277, 278, - 278, 280, 280, 274, 1142, 284, 1144, 435, 287, 59, - 45, 61, 430, 440, 93, 1737, 424, 397, 1723, 437, - 59, 300, 44, 442, 1746, 452, 385, 306, 63, 300, - 309, 42, 0, 460, 1379, 306, 303, 260, 309, 461, - 462, 278, 59, 280, 1291, 1255, 1255, 278, 1295, 280, - 287, 42, 43, 1398, 45, 265, 47, 1779, 307, 308, - 1782, 400, 489, 490, 460, 492, 383, 1817, 260, 1578, - 1416, 93, 499, 500, 501, 502, 503, 1678, 505, 1680, - 303, 508, 509, 1805, 397, 451, 276, 397, 1434, 331, - 0, 59, 302, 489, 490, 285, 492, 265, 383, 378, - 378, 0, 441, 499, 500, 501, 502, 503, 436, 505, - 0, 303, 508, 509, 397, 260, 318, 417, 1361, 0, - 1721, 400, 1365, 1343, 0, 258, 316, 337, 407, 331, - 0, 278, 411, 280, 302, 301, 1397, 0, 340, 418, - 411, 378, 41, 1390, 444, 387, 0, 418, 259, 59, - 0, 1397, 1398, 1476, 396, 40, 301, 436, 1378, 270, - 59, 410, 441, 400, 494, 436, 0, 1406, 313, 59, - 407, 41, 338, 306, 44, 301, 318, 1397, 59, 41, - 1512, 258, 44, 59, 0, 387, 1406, 466, 402, 59, - 402, 470, 1537, 338, 396, 466, 59, 1798, 340, 470, - 277, 278, 451, 280, 441, 59, 45, 284, 258, 59, - 287, 44, 338, 348, 260, 337, 41, 337, 328, 44, - 434, 331, 357, 300, 279, 59, 59, 277, 278, 306, - 280, 93, 1686, 445, 284, 449, 318, 287, 440, 460, - 279, 407, 1686, 59, 1487, 0, 328, 1518, 318, 331, - 300, 417, 454, 0, 374, 1562, 306, 303, 340, 449, - 295, 300, 407, 453, 454, 455, 1476, 387, 489, 490, - 340, 492, 417, 1483, 329, 1620, 442, 387, 499, 500, - 501, 502, 503, 40, 505, 418, 396, 508, 509, 280, - 329, 1537, 316, 317, 285, 485, 508, 442, 1518, 1563, - 458, 378, 1647, 436, 59, 387, 272, 0, 363, 348, - 42, 43, 59, 45, 396, 47, 356, 352, 357, 1558, - 1521, 46, 288, 400, 363, 378, 381, 485, 378, 320, - 407, 460, 862, 1553, 864, 0, 61, 470, 1558, 416, - 1587, 418, 381, 1563, 1591, 58, 0, 400, 0, 1694, - 400, 321, 1659, 393, 407, 395, 1582, 407, 440, 436, - 489, 490, 1582, 492, 441, 335, 59, 333, 418, 279, - 499, 500, 501, 502, 503, 418, 505, 0, 418, 508, - 509, 1632, 280, 403, 264, 0, 436, 285, 441, 359, - 300, 441, 1737, 470, 59, 321, 362, 0, 1618, 1619, - 420, 1746, 0, 443, 417, 59, 1751, 59, 278, 335, - 280, 0, 1632, 383, 284, 0, 0, 287, 41, 329, - 470, 44, 457, 458, 459, 274, 461, 462, 259, 318, - 300, 444, 1703, 359, 1779, 337, 59, 1782, 348, 270, - 1785, 1786, 1668, 413, 59, 480, 481, 357, 1668, 460, - 485, 486, 41, 363, 0, 44, 59, 647, 461, 1685, - 1805, 59, 0, 429, 41, 1685, 1811, 44, 424, 1694, - 59, 381, 374, 0, 59, 59, 0, 1822, 489, 490, - 1825, 492, 0, 1703, 1704, 387, 316, 413, 499, 500, - 501, 502, 503, 1719, 505, 1705, 1705, 508, 509, 1719, - 1726, 691, 0, 0, 694, 1751, 1726, 41, 378, 699, - 44, 1775, 1737, 59, 704, 705, 41, 42, 43, 0, - 45, 59, 47, 713, 318, 715, 716, 717, 718, 719, - 400, 721, 59, 337, 44, 59, 726, 407, 1764, 1785, - 1786, 59, 42, 43, 1764, 45, 1772, 47, 280, 59, - 236, 0, 1772, 285, 1779, 1775, 279, 1782, 244, 749, - 41, 59, 59, 44, 754, 1811, 46, 461, 462, 41, - 41, 441, 44, 44, 460, 460, 1822, 300, 59, 1825, - 1805, 61, 1802, 41, 42, 43, 0, 45, 320, 47, - 1810, 40, 41, 42, 43, 44, 45, 46, 47, 41, - 1537, 280, 44, 336, 489, 490, 329, 492, 1828, 288, - 59, 60, 61, 62, 499, 500, 501, 502, 503, 458, - 505, 460, 93, 508, 509, 348, 258, 41, 452, 261, - 42, 43, 402, 45, 357, 47, 493, 494, 42, 43, - 363, 45, 91, 47, 93, 59, 41, 59, 340, 44, - 489, 490, 40, 492, 41, 0, 0, 44, 381, 320, - 499, 500, 501, 502, 503, 41, 505, 318, 44, 508, - 509, 402, 41, 262, 306, 44, 1647, 867, 868, 869, - 391, 392, 872, 873, 874, 383, 876, 877, 878, 879, - 880, 881, 461, 462, 383, 318, 41, 41, 506, 44, - 44, 294, 436, 361, 450, 328, 42, 43, 331, 45, - 41, 47, 305, 44, 59, 59, 434, 340, 908, 312, - 343, 41, 417, 1694, 44, 915, 916, 442, 918, 318, - 920, 357, 321, 923, 924, 925, 926, 927, 928, 328, - 42, 43, 331, 45, 337, 47, 335, 460, 287, 411, - 940, 340, 942, 469, 343, 280, 690, 44, 692, 0, - 285, 695, 696, 697, 387, 41, 1737, 61, 44, 41, - 359, 41, 44, 396, 44, 1746, 489, 490, 41, 492, - 280, 44, 372, 286, 40, 285, 499, 500, 501, 502, - 503, 264, 505, 40, 383, 508, 509, 386, 387, 44, - 41, 42, 43, 44, 45, 46, 47, 396, 1779, 402, - 44, 1782, 461, 262, 1751, 264, 265, 440, 59, 60, - 61, 62, 280, 272, 413, 461, 461, 285, 0, 452, - 41, 280, 41, 44, 1805, 44, 285, 436, 320, 288, - 340, 434, 402, 40, 40, 438, 435, 40, 1785, 1786, - 91, 440, 93, 302, 40, 40, 40, 40, 307, 308, - 40, 265, 311, 452, 40, 454, 40, 40, 280, 318, - 40, 320, 321, 285, 1811, 324, 280, 40, 91, 328, - 46, 285, 331, 320, 333, 1822, 335, 59, 1825, 44, - 44, 340, 341, 428, 343, 46, 61, 40, 302, 264, - 44, 348, 44, 382, 318, 278, 278, 0, 300, 1099, - 359, 360, 264, 362, 328, 42, 43, 331, 45, 397, - 47, 1111, 1112, 436, 1114, 1115, 340, 376, 340, 378, - 379, 380, 1122, 278, 383, 280, 59, 386, 387, 284, - 470, 397, 287, 458, 280, 277, 447, 396, 41, 285, - 40, 44, 447, 399, 40, 300, 349, 321, 91, 40, - 40, 410, 318, 1153, 413, 264, 59, 383, 41, 42, - 43, 335, 45, 387, 47, 311, 411, 1167, 280, 321, - 429, 44, 396, 285, 389, 1175, 435, 1177, 382, 40, - 1180, 440, 1182, 335, 40, 359, 1186, 1187, 1188, 1189, - 436, 343, 451, 452, 1194, 454, 457, 458, 459, 311, - 464, 460, 317, 40, 320, 41, 320, 359, 451, 383, - 452, 262, 448, 264, 265, 264, 440, 42, 43, 44, - 45, 272, 47, 378, 485, 486, 502, 454, 452, 280, - 489, 490, 1232, 492, 285, 458, 40, 288, 277, 413, - 499, 500, 501, 502, 503, 400, 505, 274, 40, 508, - 509, 302, 407, 304, 300, 284, 307, 308, 0, 344, - 311, 413, 278, 344, 386, 321, 386, 318, 386, 320, - 321, 418, 416, 324, 300, 418, 258, 328, 40, 335, - 331, 1281, 333, 417, 335, 356, 441, 343, 40, 340, - 341, 417, 343, 274, 40, 44, 385, 279, 1298, 41, - 367, 44, 44, 359, 264, 320, 41, 1307, 359, 360, - 44, 362, 320, 44, 1314, 40, 44, 59, 300, 61, - 0, 280, 44, 328, 306, 376, 0, 378, 379, 380, - 266, 40, 383, 505, 501, 386, 387, 299, 41, 42, - 43, 1341, 45, 280, 47, 396, 40, 329, 285, 264, - 422, 41, 0, 58, 41, 41, 41, 413, 264, 410, - 454, 1361, 413, 440, 394, 1365, 348, 41, 42, 43, - 44, 45, 46, 47, 356, 357, 41, 309, 429, 59, - 309, 363, 492, 41, 435, 59, 60, 61, 62, 440, - 40, 40, 262, 41, 352, 40, 44, 280, 40, 381, - 451, 452, 285, 454, 41, 42, 43, 40, 45, 460, - 47, 59, 40, 40, 40, 318, 40, 91, 321, 93, - 40, 40, 872, 40, 874, 328, 876, 877, 331, 879, - 880, 881, 335, 40, 40, 40, 418, 340, 489, 490, - 343, 492, 40, 327, 44, 308, 435, 429, 499, 500, - 501, 502, 503, 41, 505, 280, 359, 508, 509, 274, - 285, 0, 1462, 1463, 41, 42, 43, 388, 45, 388, - 47, 41, 42, 43, 388, 45, 343, 47, 331, 390, - 383, 422, 391, 386, 387, 271, 287, 1487, 386, 446, - 1490, 407, 386, 396, 42, 43, 41, 45, 386, 47, - 386, 386, 41, 42, 43, 44, 45, 46, 47, 386, - 413, 41, 378, 278, 40, 417, 258, 41, 41, 41, - 59, 60, 61, 62, 1524, 385, 436, 460, 41, 308, - 435, 396, 435, 280, 337, 442, 278, 440, 280, 338, - 301, 442, 284, 338, 301, 287, 41, 41, 320, 452, - 352, 454, 91, 385, 93, 371, 489, 490, 300, 492, - 371, 41, 41, 0, 306, 41, 499, 500, 501, 502, - 503, 41, 505, 41, 41, 508, 509, 280, 258, 41, - 41, 41, 285, 41, 41, 41, 1586, 41, 262, 41, - 264, 265, 45, 41, 1594, 41, 280, 46, 272, 279, - 42, 43, 44, 45, 44, 47, 280, 44, 59, 40, - 340, 285, 42, 43, 288, 45, 59, 47, 40, 340, - 300, 59, 59, 59, 59, 59, 306, 59, 302, 308, - 278, 1631, 280, 307, 308, 1635, 378, 311, 59, 287, - 41, 352, 344, 280, 318, 41, 320, 321, 285, 329, - 324, 368, 300, 40, 328, 451, 383, 331, 400, 333, - 44, 335, 340, 383, 59, 407, 340, 341, 348, 343, - 59, 383, 41, 343, 41, 41, 418, 357, 410, 44, - 44, 435, 304, 363, 442, 359, 360, 301, 362, 387, - 40, 1691, 264, 1693, 436, 304, 1696, 59, 293, 441, - 463, 381, 376, 280, 378, 379, 380, 44, 285, 383, - 280, 307, 386, 387, 262, 285, 44, 41, 0, 337, - 383, 383, 396, 262, 40, 264, 265, 264, 470, 0, - 378, 278, 280, 272, 1734, 264, 410, 285, 418, 413, - 458, 280, 389, 264, 320, 411, 285, 470, 40, 288, - 451, 309, 400, 271, 458, 429, 264, 343, 435, 407, - 436, 435, 343, 302, 343, 343, 440, 458, 307, 308, - 41, 271, 311, 44, 308, 41, 40, 451, 452, 318, - 454, 320, 321, 308, 40, 324, 460, 59, 59, 328, - 59, 308, 331, 441, 333, 41, 335, 59, 304, 59, - 41, 340, 341, 41, 343, 41, 42, 43, 59, 45, - 44, 47, 0, 0, 0, 489, 490, 0, 492, 1145, - 359, 360, 12, 362, 271, 499, 500, 501, 502, 503, - 263, 505, 262, 676, 508, 509, 264, 376, 280, 378, - 379, 380, 295, 285, 383, 632, 1081, 386, 387, 1079, - 280, 852, 87, 1424, 326, 285, 1076, 396, 41, 42, - 43, 44, 45, 46, 47, 1425, 356, 1068, 1058, 579, - 323, 410, 751, 1006, 413, 1069, 59, 60, 61, 62, - 42, 43, 321, 45, 321, 47, 0, 311, 460, 1629, - 429, 328, 785, 338, 331, 1710, 435, 59, 335, 352, - 1714, 440, 1403, 558, 1713, 1405, 343, 1755, 91, 338, - 93, 775, 451, 452, 1230, 454, 1637, 489, 490, 1810, - 492, 460, 359, 1652, 1752, 391, 991, 499, 500, 501, - 502, 503, 1209, 505, 1383, 1668, 508, 509, 343, 331, - 1264, 324, 831, 618, 560, 59, 383, 823, 13, 298, - 489, 490, 0, 492, 40, 496, 500, 740, 138, 45, - 499, 500, 501, 502, 503, 754, 505, 726, 968, 508, - 509, 727, 1620, 1507, 427, 1772, 413, 63, 0, 1726, - 511, 418, 41, 42, 43, 1828, 45, 684, 47, 909, - 443, 390, 1113, 41, 42, 43, 44, 45, 1182, 47, - -1, -1, -1, 440, 457, 458, 459, -1, 461, 462, - -1, 59, 60, 61, 62, 452, -1, 454, 0, 41, - -1, -1, 44, -1, -1, -1, -1, 480, 481, 482, - 483, 484, 485, 486, 487, 488, -1, 59, -1, -1, - -1, -1, 495, 496, 280, 93, -1, -1, -1, 285, - 321, 504, -1, -1, -1, -1, -1, 328, -1, 41, - 331, -1, 44, -1, 335, -1, -1, 0, -1, -1, - -1, -1, 343, -1, -1, -1, -1, 59, -1, 262, - -1, 264, 265, -1, -1, -1, -1, -1, 359, 272, - -1, -1, -1, -1, -1, 0, -1, 280, -1, -1, - -1, -1, 285, -1, -1, 288, -1, -1, 41, -1, - -1, 44, 383, -1, -1, -1, -1, -1, 280, 302, - -1, -1, -1, 285, 307, 308, 59, -1, 311, -1, - -1, -1, -1, -1, -1, 318, 41, 320, 321, 44, - -1, 324, 413, -1, -1, 328, -1, -1, 331, -1, - 333, -1, 335, -1, 59, -1, -1, 340, 341, -1, - 343, -1, -1, -1, -1, 279, -1, -1, -1, 440, - 0, -1, -1, -1, -1, -1, 359, 360, -1, 362, - -1, 452, -1, 454, -1, -1, 300, -1, -1, -1, - -1, -1, -1, 376, 0, 378, 379, 380, -1, -1, - 383, -1, -1, 386, 387, -1, -1, -1, -1, 295, - -1, -1, -1, 396, 262, 329, 264, 265, -1, -1, - -1, 280, -1, -1, 272, -1, 285, 410, -1, 59, - 413, -1, 280, -1, 348, 41, -1, 285, 44, -1, - 288, -1, 356, 357, -1, -1, 429, -1, -1, 363, - -1, -1, 435, 59, 302, -1, 278, 440, 280, 307, - 308, -1, -1, 311, -1, 287, 352, 381, 451, 452, - 318, 454, 320, 321, -1, -1, 324, 460, 300, 393, - 328, 395, -1, 331, -1, 333, -1, 335, -1, -1, - -1, -1, 340, 341, -1, 343, 278, -1, 280, -1, - -1, -1, -1, -1, 418, 287, 489, 490, 0, 492, - -1, 359, 360, -1, 362, -1, 499, 500, 501, 502, - 503, -1, 505, -1, -1, 508, 509, -1, 376, 443, - 378, 379, 380, -1, -1, 383, -1, -1, 386, 387, - 41, 42, 43, -1, 45, 278, 47, 280, 396, 41, - 42, 43, 44, 45, -1, 47, 378, -1, -1, -1, - -1, -1, 410, -1, -1, 413, -1, 59, 60, 61, - 62, 457, 458, 459, -1, 461, 462, 0, 400, -1, - -1, 429, -1, -1, -1, 407, -1, 435, -1, -1, - -1, -1, 440, -1, 480, 481, 378, -1, -1, 485, - 486, 93, -1, 451, 452, -1, 454, -1, -1, -1, - -1, -1, 460, 318, -1, -1, -1, -1, 400, 441, - -1, -1, -1, 328, -1, 407, 331, -1, 258, -1, - -1, -1, -1, -1, -1, 340, 59, -1, 343, -1, - -1, 489, 490, 0, 492, 378, -1, -1, -1, 279, - -1, 499, 500, 501, 502, 503, -1, 505, -1, 441, - 508, 509, -1, -1, -1, -1, -1, 400, -1, 0, - 300, -1, -1, -1, 407, -1, 306, -1, -1, -1, - -1, -1, 387, -1, 41, 42, 43, 44, 45, -1, - 47, 396, -1, -1, 41, 42, 43, -1, 45, 329, - 47, -1, 59, 60, 61, 62, -1, -1, 441, -1, - 41, -1, 318, 44, -1, 321, -1, -1, 348, -1, - -1, -1, 328, -1, -1, 331, -1, 357, 59, 335, - -1, -1, -1, 363, 340, 440, 93, 343, 41, 42, - 43, -1, 45, -1, 47, -1, -1, 452, 41, 42, - 43, 381, 45, 359, 47, -1, -1, 41, 42, 43, - -1, 45, -1, 47, -1, -1, -1, -1, -1, -1, - 262, -1, 264, 265, -1, -1, -1, 383, -1, 280, - 272, 387, 42, 43, 285, 45, -1, 47, 418, -1, - 396, -1, -1, 285, -1, -1, 288, -1, -1, -1, - 60, 61, 62, -1, -1, -1, -1, 413, -1, -1, - 302, -1, -1, -1, -1, 307, 308, -1, -1, 311, - -1, -1, -1, -1, -1, -1, 318, -1, 320, 321, - -1, -1, 324, -1, 440, 258, 328, -1, -1, 331, - -1, 333, -1, 335, -1, -1, 452, -1, 340, 341, - -1, 343, -1, -1, -1, -1, 279, 41, 42, 43, - -1, 45, -1, 47, -1, -1, -1, 359, 360, 0, - 362, -1, -1, -1, -1, -1, -1, 300, -1, -1, - -1, -1, -1, 306, 376, -1, 378, 379, 380, -1, - -1, 383, -1, -1, 386, 387, -1, -1, 0, -1, - -1, -1, -1, -1, 396, 262, 329, 264, 265, -1, - 41, -1, -1, 44, -1, 272, -1, -1, 410, -1, - -1, 413, -1, -1, -1, 348, -1, -1, 59, -1, - -1, 288, -1, 280, 357, -1, -1, 429, 285, 41, - 363, -1, 44, 435, -1, 302, -1, 278, 440, 280, - 307, 308, 287, -1, 311, -1, -1, 59, 381, 451, - 452, 318, 454, 320, 321, -1, -1, 324, 460, -1, - -1, 328, -1, -1, 331, -1, 333, 280, 335, -1, - -1, -1, 285, 340, 341, -1, 343, 280, -1, -1, - -1, -1, 285, -1, -1, 418, 280, 489, 490, 0, - 492, 285, 359, 360, -1, 362, -1, 499, 500, 501, - 502, 503, 272, 505, -1, -1, 508, 509, -1, 376, - 280, 378, 379, 380, -1, 285, 383, -1, 288, 386, - 387, 41, 42, 43, -1, 45, -1, 47, -1, 396, - 41, 42, 43, 44, 45, 0, 47, 378, -1, -1, - -1, -1, -1, 410, -1, -1, 413, -1, 59, 60, - 61, 62, -1, -1, 324, -1, -1, -1, -1, 400, - -1, -1, 429, 333, -1, -1, 407, -1, 435, -1, - -1, 341, -1, 440, -1, -1, 41, -1, 343, 44, - -1, -1, 93, -1, 451, 452, 280, 454, -1, -1, - 360, 285, 362, 460, 59, 41, 42, 43, -1, 45, - 441, 47, -1, 368, -1, -1, 376, -1, 378, 379, - 380, -1, -1, -1, -1, 460, -1, -1, -1, -1, - -1, -1, 489, 490, 0, 492, -1, -1, -1, -1, - -1, -1, 499, 500, 501, 502, 503, -1, 505, -1, - -1, 508, 509, -1, 489, 490, -1, 492, -1, -1, - 262, -1, -1, -1, 499, 500, 501, 502, 503, 429, - 505, 426, -1, 508, 509, 41, -1, 43, 44, 45, - -1, -1, -1, -1, -1, -1, -1, 318, -1, -1, - 321, -1, -1, 59, 60, 61, 62, 328, -1, -1, - 331, -1, -1, -1, 335, 460, -1, -1, -1, 340, - -1, -1, 343, -1, -1, -1, 318, -1, -1, 321, - -1, -1, -1, -1, -1, -1, 328, 93, 359, 331, - -1, -1, -1, 335, 489, 490, -1, 492, 340, -1, - -1, 343, -1, -1, 499, 500, 501, 502, 503, -1, - 505, -1, 383, 508, 509, -1, 387, 359, -1, -1, - -1, 262, -1, 264, 265, 396, -1, -1, -1, -1, - 280, 272, 41, 42, 43, 285, 45, -1, 47, -1, - -1, 383, 413, -1, 386, 387, -1, 288, -1, -1, - -1, 60, 61, 62, 396, -1, -1, -1, -1, -1, - -1, 302, -1, 258, -1, -1, 307, 308, -1, 440, - 311, 413, -1, -1, -1, -1, -1, 318, -1, 320, - 321, 452, -1, 324, 279, -1, -1, 328, -1, -1, - 331, -1, 333, 435, 335, -1, -1, -1, 440, 340, - 341, -1, 343, -1, 280, 300, -1, -1, -1, 285, - 452, 306, 454, -1, -1, -1, -1, -1, 359, 360, - -1, 362, -1, -1, -1, 328, 472, 473, 474, 475, - 476, 477, 478, 479, 329, 376, -1, 378, 379, 380, - -1, -1, 383, -1, -1, 386, 387, -1, -1, 0, - -1, -1, -1, 348, -1, 396, 262, -1, 264, 265, - 287, -1, 357, -1, -1, -1, 272, -1, 363, 410, - -1, -1, 413, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 288, -1, -1, -1, 381, -1, 429, -1, - 41, -1, -1, 44, 435, -1, 302, -1, -1, 440, - -1, 307, 308, -1, -1, 311, -1, -1, 59, -1, - 451, 452, 318, 454, 320, 321, -1, -1, 324, 460, - -1, -1, 328, 418, -1, 331, -1, 333, -1, 335, - -1, -1, -1, -1, 340, 341, -1, 343, -1, -1, - 443, -1, -1, -1, -1, -1, -1, -1, 489, 490, - 0, 492, -1, 359, 360, -1, 362, 460, 499, 500, - 501, 502, 503, 272, 505, -1, -1, 508, 509, -1, - 376, 280, 378, 379, 380, -1, 285, 383, -1, 288, - 386, 387, -1, -1, -1, -1, 489, 490, -1, 492, - 396, 41, -1, 43, 44, 45, 499, 500, 501, 502, - 503, -1, 505, -1, 410, 508, 509, 413, -1, 59, - 60, 61, 62, -1, -1, 324, -1, -1, -1, -1, - -1, -1, -1, 429, 333, -1, -1, -1, -1, 435, - -1, -1, 341, 460, 440, -1, -1, -1, -1, -1, - -1, -1, -1, 93, -1, 451, 452, -1, 454, -1, - -1, 360, -1, 362, 460, -1, -1, -1, -1, -1, - -1, -1, 489, 490, -1, 492, -1, 376, -1, 378, - 379, 380, 499, 500, 501, 502, 503, -1, 505, -1, - -1, 508, 509, 489, 490, 0, 492, -1, -1, -1, - -1, -1, -1, 499, 500, 501, 502, 503, -1, 505, - -1, -1, 508, 509, -1, -1, -1, -1, -1, -1, - -1, 262, -1, -1, -1, 1299, 1300, -1, -1, -1, - 429, 1305, 1306, -1, 1308, 1309, 41, 273, 43, 44, - 45, 277, 1316, 1317, 1318, 1319, -1, 1321, 1322, 1323, - 1324, 1325, 1326, -1, 59, 60, 61, 62, -1, 295, - -1, -1, 298, 305, -1, -1, -1, -1, -1, -1, - 312, -1, -1, -1, 316, 317, -1, 318, -1, -1, - 321, -1, -1, 325, -1, -1, -1, 328, 93, -1, - 331, -1, -1, -1, 335, 337, -1, -1, -1, 340, - -1, -1, 343, 339, -1, -1, -1, -1, -1, 345, - 346, 347, -1, 349, 350, 351, -1, 353, 359, -1, - -1, -1, 262, -1, 264, 265, -1, -1, -1, -1, - -1, -1, 272, -1, -1, -1, -1, 373, -1, 375, - -1, -1, 383, -1, -1, 386, 387, -1, 288, -1, - -1, -1, -1, -1, -1, 396, -1, -1, -1, -1, - 402, -1, 302, -1, -1, -1, -1, 307, 308, -1, - 406, 311, 413, -1, -1, -1, -1, 419, 318, -1, - 320, 321, -1, -1, 324, -1, -1, 423, 328, -1, - -1, 331, 434, 333, 435, 335, 438, 434, -1, 440, - 340, 341, -1, 343, -1, -1, -1, 449, -1, 445, - -1, 452, -1, 454, -1, -1, -1, -1, -1, 359, - 360, -1, 362, 460, -1, -1, 468, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 376, -1, 378, 379, - 380, -1, -1, 383, 480, 481, 386, 387, -1, 0, - -1, -1, 489, 490, -1, 492, 396, 262, -1, 264, - 265, 497, 499, 500, 501, 502, 503, 272, 505, -1, - 410, 508, 509, 413, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 288, -1, -1, -1, -1, -1, 429, - 41, -1, -1, 44, -1, 435, -1, 302, -1, -1, - 440, -1, 307, 308, -1, -1, 311, -1, 59, -1, - 61, 451, 452, 318, 454, 320, 321, -1, -1, 324, - 460, -1, -1, 328, -1, -1, 331, -1, 333, -1, - 335, 260, -1, -1, -1, 340, 341, -1, 343, -1, - 91, -1, -1, -1, -1, -1, -1, -1, -1, 489, - 490, 0, 492, -1, 359, 360, -1, 362, -1, 499, - 500, 501, 502, 503, -1, 505, -1, -1, 508, 509, - -1, 376, 301, 378, 379, 380, -1, -1, 383, -1, - -1, 386, 387, -1, 313, -1, -1, -1, -1, -1, - -1, 396, 41, -1, 43, 44, 45, -1, 327, -1, - 261, -1, -1, -1, -1, 410, -1, -1, 413, 338, + 4, 55, 12, 64, 4, 16, 16, 104, 18, 62, + 0, 63, 285, 509, 254, 56, 138, 139, 351, 149, + 359, 138, 139, 359, 85, 355, 67, 63, 57, 542, + 94, 330, 545, 551, 492, 89, 73, 419, 551, 697, + 69, 514, 70, 53, 54, 55, 56, 57, 58, 90, + 662, 1026, 328, 63, 64, 65, 97, 67, 95, 69, + 70, 262, 72, 73, 1246, 93, 68, 467, 279, 88, + 271, 81, 83, 83, 84, 85, 674, 87, 88, 89, + 90, 92, 92, 93, 94, 95, 744, 97, 152, 91, + 757, 1019, 1019, 129, 682, 131, 1019, 1027, 1026, 1026, + 1019, 130, 751, 1026, 0, 1019, 0, 1026, 1038, 150, + 0, 923, 1026, 364, 634, 715, 0, 376, 0, 129, + 130, 131, 151, 711, 143, 323, 0, 1057, 777, 226, + 44, 44, 627, 143, 187, 45, 748, 786, 846, 149, + 150, 151, 152, 0, 306, 41, 156, 41, 44, 961, + 44, 41, 815, 44, 44, 44, 44, 41, 41, 212, + 44, 63, 0, 59, 1074, 59, 0, 0, 971, 59, + 0, 41, 45, 0, 45, 59, 306, 59, 0, 419, + 45, 44, 1051, 754, 41, 59, 40, 44, 44, 0, + 839, 521, 696, 1452, 40, 528, 529, 530, 531, 1188, + 44, 40, 59, 0, 41, 0, 41, 0, 0, 0, + 156, 61, 551, 0, 41, 551, 313, 44, 269, 41, + 256, 59, 40, 1294, 0, 59, 59, 1364, 724, 59, + 41, 260, 59, 44, 40, 0, 290, 59, 286, 473, + 269, 1392, 1379, 274, 159, 63, 256, 577, 59, 283, + 260, 640, 262, 263, 355, 278, 301, 63, 459, 269, + 511, 271, 59, 1075, 59, 294, 59, 59, 59, 262, + 306, 320, 59, 0, 313, 44, 262, 1192, 554, 41, + 290, 0, 44, 59, 294, 45, 1181, 1392, 1183, 0, + 803, 889, 890, 329, 59, 41, 319, 1272, 44, 352, + 336, 354, 338, 63, 340, 257, 257, 343, 44, 41, + 0, 268, 338, 1069, 0, 368, 12, 59, 372, 329, + 361, 0, 920, 582, 337, 44, 336, 603, 338, 300, + 340, 1261, 59, 343, 362, 377, 0, 467, 91, 1244, + 59, 370, 262, 992, 1272, 1272, 307, 308, 59, 1272, + 962, 361, 362, 1272, 954, 41, 41, 93, 1272, 417, + 370, 374, 372, 40, 455, 823, 966, 967, 45, 59, + 265, 41, 376, 59, 387, 0, 1291, 400, 417, 0, + 59, 352, 334, 334, 0, 1456, 444, 436, 1037, 662, + 1572, 492, 0, 386, 278, 59, 280, 442, 0, 280, + 386, 1204, 317, 287, 285, 439, 448, 302, 365, 1278, + 420, 0, 41, 461, 462, 269, 442, 458, 441, 1678, + 1018, 278, 318, 280, 475, 262, 455, 0, 40, 320, + 287, 467, 473, 41, 59, 466, 44, 466, 59, 679, + 136, 470, 435, 59, 340, 455, 475, 569, 458, 459, + 300, 59, 725, 41, 44, 695, 466, 59, 340, 1215, + 470, 41, 41, 473, 320, 475, 386, 278, 478, 280, + 59, 264, 264, 526, 309, 748, 287, 866, 1408, 44, + 490, 1632, 258, 1413, 718, 1415, 59, 1382, 1670, 765, + 451, 318, 768, 383, 378, 383, 318, 1095, 1096, 383, + 1098, 1099, 0, 386, 331, 706, 782, 340, 1079, 331, + 721, 41, 1417, 340, 1503, 551, 400, 387, 340, 572, + 1450, 378, 217, 407, 277, 40, 1189, 1632, 274, 367, + 306, 328, 478, 809, 331, 304, 0, 264, 452, 1449, + 550, 551, 1724, 400, 331, 458, 556, 436, 458, 386, + 407, 850, 1689, 264, 1221, 394, 458, 441, 431, 959, + 387, 59, 436, 309, 1084, 387, 764, 378, 570, 396, + 623, 624, 454, 1068, 396, 485, 1284, 41, 582, 409, + 44, 1763, 0, 745, 441, 458, 837, 458, 1391, 400, + 626, 454, 1522, 458, 1463, 59, 407, 61, 1528, 1199, + 859, 447, 367, 1107, 1267, 397, 502, 501, 730, 328, + 454, 501, 331, 440, 309, 745, 626, 501, 440, 410, + 454, 454, 0, 41, 343, 635, 44, 454, 318, 1227, + 441, 635, 454, 262, 1283, 635, 0, 258, 760, 761, + 458, 59, 418, 440, 501, 440, 665, 1577, 0, 411, + 340, 1249, 458, 440, 386, 665, 1468, 454, 328, 454, + 0, 331, 698, 41, 1594, 411, 44, 454, 410, 348, + 397, 431, 284, 1006, 1430, 264, 278, 718, 280, 689, + 44, 59, 262, 262, 348, 306, 397, 697, 698, 962, + 501, 701, 1448, 318, 41, 59, 706, 387, 458, 307, + 308, 387, 387, 756, 757, 715, 396, 59, 718, 745, + 739, 396, 741, 723, 750, 340, 726, 387, 754, 59, + 466, 440, 445, 1698, 340, 12, 396, 1315, 318, 739, + 318, 741, 41, 452, 744, 454, 1403, 1070, 774, 304, + 750, 0, 943, 387, 754, 946, 1019, 1677, 1024, 42, + 440, 42, 0, 1026, 431, 328, 1686, 386, 331, 789, + 1036, 763, 387, 260, 774, 0, 802, 803, 1380, 1392, + 1698, 1698, 40, 1392, 1247, 1698, 378, 262, 0, 1698, + 1056, 458, 41, 1082, 1698, 508, 258, 1169, 0, 715, + 58, 44, 802, 803, 258, 1393, 440, 418, 1728, 801, + 59, 331, 410, 283, 808, 236, 386, 386, 397, 838, + 274, 59, 1270, 244, 0, 440, 820, 0, 1276, 848, + 1202, 320, 42, 0, 59, 1343, 40, 47, 838, 959, + 301, 833, 834, 835, 306, 0, 300, 59, 848, 1736, + 1737, 273, 306, 451, 342, 309, 1145, 59, 460, 136, + 860, 42, 43, 548, 45, 859, 47, 387, 41, 1404, + 278, 44, 280, 260, 41, 405, 396, 440, 1626, 287, + 1628, 0, 0, 59, 264, 403, 59, 489, 490, 452, + 492, 454, 59, 947, 0, 42, 264, 499, 500, 501, + 502, 503, 420, 505, 59, 405, 508, 509, 510, 511, + 512, 386, 1239, 944, 384, 273, 1451, 405, 340, 0, + 408, 948, 264, 41, 424, 262, 456, 945, 1159, 1192, + 417, 1162, 617, 959, 264, 41, 424, 1685, 1825, 1169, + 59, 59, 1054, 943, 944, 945, 946, 947, 948, 0, + 307, 308, 320, 59, 954, 460, 418, 411, 1285, 402, + 435, 45, 450, 262, 418, 301, 966, 967, 1288, 439, + 378, 971, 1202, 0, 328, 640, 277, 331, 59, 260, + 645, 442, 436, 1631, 489, 490, 456, 492, 263, 343, + 16, 325, 400, 1259, 499, 500, 501, 502, 503, 407, + 505, 356, 338, 508, 509, 510, 511, 512, 59, 1272, + 1030, 1031, 466, 296, 1343, 1501, 470, 1343, 1504, 1632, + 506, 264, 303, 1632, 1290, 352, 264, 1530, 1291, 1777, + 417, 411, 59, 441, 259, 343, 265, 312, 954, 264, + 58, 1629, 0, 0, 345, 270, 1072, 1047, 323, 386, + 966, 378, 264, 1079, 1048, 397, 0, 83, 1048, 1079, + 368, 1061, 264, 1651, 1566, 319, 1654, 397, 1395, 318, + 280, 1063, 1072, 302, 429, 285, 348, 1400, 44, 1079, + 1187, 1188, 1189, 1203, 452, 405, 440, 386, 264, 1081, + 0, 340, 460, 501, 451, 1087, 430, 41, 452, 280, + 454, 59, 59, 437, 285, 59, 442, 1682, 337, 493, + 1596, 1223, 0, 1225, 1680, 59, 0, 1380, 426, 503, + 0, 489, 490, 278, 492, 280, 1357, 93, 1630, 0, + 1361, 499, 500, 501, 502, 503, 456, 505, 387, 320, + 508, 509, 510, 511, 512, 318, 400, 396, 321, 59, + 409, 318, 427, 1419, 1729, 328, 0, 41, 331, 397, + 44, 41, 335, 44, 44, 1731, 1158, 340, 59, 259, + 343, 59, 397, 340, 1286, 59, 261, 460, 1221, 59, + 270, 1181, 458, 1183, 44, 397, 359, 441, 59, 461, + 462, 440, 1458, 1187, 1188, 397, 402, 862, 1773, 1199, + 44, 866, 460, 1203, 1204, 454, 489, 490, 1774, 492, + 383, 0, 93, 331, 387, 59, 499, 500, 501, 502, + 503, 397, 505, 396, 0, 508, 509, 510, 511, 512, + 1805, 489, 490, 93, 492, 0, 1824, 318, 397, 445, + 413, 499, 500, 501, 502, 503, 402, 505, 322, 1735, + 508, 509, 510, 511, 512, 0, 460, 1584, 1301, 340, + 260, 0, 1305, 1590, 861, 0, 1497, 440, 865, 387, + 59, 1265, 1392, 259, 0, 1265, 41, 436, 396, 452, + 458, 387, 438, 59, 270, 489, 490, 460, 492, 340, + 396, 279, 1412, 260, 59, 499, 500, 501, 502, 503, + 1550, 505, 508, 303, 508, 509, 510, 511, 512, 0, + 377, 470, 301, 460, 59, 342, 489, 490, 258, 492, + 59, 278, 337, 280, 59, 1591, 499, 500, 501, 502, + 503, 0, 505, 59, 301, 508, 509, 510, 511, 512, + 0, 329, 489, 490, 0, 492, 313, 322, 0, 338, + 377, 418, 499, 500, 501, 502, 503, 401, 505, 374, + 1403, 508, 509, 510, 511, 512, 306, 260, 59, 1411, + 0, 338, 387, 44, 458, 363, 460, 0, 405, 40, + 44, 408, 1382, 385, 328, 1411, 1412, 331, 59, 41, + 59, 1391, 44, 381, 0, 59, 1503, 424, 465, 59, + 254, 1420, 383, 59, 280, 489, 490, 59, 492, 61, + 303, 1411, 288, 1525, 260, 499, 500, 501, 502, 503, + 1420, 505, 276, 450, 508, 509, 510, 511, 512, 59, + 1550, 285, 342, 260, 318, 1698, 59, 458, 318, 91, + 407, 321, 460, 387, 42, 43, 0, 45, 328, 47, + 417, 331, 396, 59, 342, 335, 340, 303, 1691, 1692, + 340, 59, 316, 343, 485, 42, 43, 377, 45, 0, + 47, 489, 490, 1703, 492, 442, 303, 383, 418, 359, + 1531, 499, 500, 501, 502, 503, 44, 505, 1575, 377, + 508, 509, 510, 511, 512, 405, 436, 0, 408, 1493, + 1733, 41, 436, 383, 44, 59, 386, 387, 0, 1503, + 41, 1761, 1632, 44, 424, 417, 396, 405, 42, 43, + 408, 45, 0, 47, 1550, 348, 0, 383, 59, 0, + 470, 1531, 1576, 413, 357, 260, 424, 337, 41, 1659, + 450, 44, 444, 1793, 1794, 42, 43, 44, 45, 45, + 47, 383, 1571, 93, 1534, 435, 59, 1600, 494, 413, + 440, 1604, 450, 417, 418, 419, 1566, 59, 1818, 460, + 41, 1571, 452, 1806, 454, 0, 1576, 46, 303, 1829, + 0, 59, 1832, 318, 1671, 59, 1706, 465, 59, 467, + 0, 274, 61, 328, 1595, 1595, 331, 418, 489, 490, + 46, 492, 321, 342, 0, 340, 258, 318, 499, 500, + 501, 502, 503, 1644, 505, 61, 335, 508, 509, 510, + 511, 512, 274, 301, 343, 479, 278, 1747, 280, 483, + 1630, 1631, 284, 40, 59, 287, 1756, 1706, 377, 59, + 359, 1761, 42, 43, 1644, 45, 1392, 47, 300, 59, + 42, 43, 387, 45, 306, 47, 279, 309, 287, 272, + 338, 396, 424, 59, 1715, 0, 405, 1787, 461, 408, + 1790, 300, 264, 1793, 1794, 288, 316, 300, 1747, 1680, + 1680, 40, 280, 42, 43, 424, 45, 285, 378, 294, + 42, 43, 1812, 45, 413, 47, 1697, 1697, 1818, 58, + 305, 0, 318, 280, 63, 440, 329, 312, 285, 1829, + 400, 450, 1832, 1778, 1779, 1715, 1716, 407, 1787, 0, + 333, 1790, 337, 1717, 59, 348, 378, 1717, 0, 407, + 1731, 1731, 337, 356, 357, 1761, 460, 1738, 1738, 417, + 363, 1785, 340, 1812, 279, 1181, 336, 1183, 400, 362, + 258, 441, 0, 261, 402, 407, 280, 452, 381, 411, + 59, 285, 321, 340, 442, 300, 418, 1793, 1794, 1834, + 393, 0, 395, 1774, 1774, 278, 335, 280, 59, 316, + 317, 1782, 1782, 280, 436, 1785, 434, 59, 285, 441, + 402, 645, 1818, 0, 329, 418, 320, 402, 306, 295, + 359, 449, 0, 1829, 0, 279, 1832, 0, 662, 0, + 1810, 59, 666, 348, 466, 340, 429, 1817, 470, 673, + 443, 40, 357, 0, 678, 679, 300, 323, 363, 434, + 59, 320, 342, 438, 688, 1835, 690, 691, 692, 693, + 694, 695, 696, 493, 494, 41, 381, 318, 44, 40, + 41, 318, 59, 44, 413, 329, 352, 328, 321, 402, + 331, 59, 0, 59, 383, 265, 59, 377, 59, 340, + 61, 725, 335, 41, 348, 378, 44, 457, 458, 459, + 280, 41, 59, 357, 44, 285, 1632, 41, 280, 363, + 44, 461, 462, 285, 748, 405, 359, 400, 408, 753, + 91, 260, 302, 383, 407, 485, 486, 381, 267, 41, + 506, 0, 44, 1659, 424, 41, 387, 276, 44, 311, + 383, 59, 436, 41, 41, 396, 44, 44, 280, 41, + 289, 427, 44, 285, 391, 392, 295, 296, 441, 93, + 450, 356, 41, 41, 303, 44, 44, 443, 461, 462, + 413, 40, 41, 42, 43, 44, 45, 46, 47, 311, + 1706, 457, 458, 459, 323, 461, 462, 326, 361, 440, + 59, 60, 61, 62, 42, 43, 434, 45, 393, 47, + 395, 417, 450, 454, 480, 481, 482, 483, 484, 485, + 486, 487, 488, 352, 41, 354, 355, 44, 321, 495, + 496, 1747, 91, 418, 93, 442, 41, 366, 504, 44, + 1756, 370, 335, 41, 41, 41, 44, 44, 44, 357, + 874, 875, 876, 287, 411, 879, 880, 881, 443, 883, + 884, 885, 886, 887, 888, 469, 359, 891, 892, 44, + 894, 1787, 896, 61, 1790, 899, 900, 901, 902, 903, + 904, 661, 41, 663, 372, 44, 321, 667, 668, 669, + 383, 286, 916, 40, 918, 264, 1812, 258, 427, 41, + 335, 40, 44, 40, 433, 40, 0, 40, 343, 461, + 40, 40, 40, 274, 443, 40, 277, 278, 40, 280, + 413, 40, 461, 284, 359, 461, 287, 40, 457, 458, + 459, 460, 461, 462, 40, 40, 40, 0, 962, 300, + 91, 44, 471, 44, 46, 306, 436, 320, 309, 0, + 402, 480, 481, 482, 483, 484, 485, 486, 487, 488, + 489, 490, 320, 492, 44, 59, 495, 496, 0, 498, + 499, 500, 501, 502, 503, 504, 505, 44, 413, 508, + 509, 510, 511, 512, 41, 42, 43, 428, 45, 61, + 47, 46, 40, 44, 264, 44, 59, 382, 348, 44, + 278, 278, 300, 262, 264, 264, 265, 397, 59, 41, + 318, 436, 44, 272, 470, 397, 277, 378, 458, 447, + 447, 280, 40, 331, 262, 399, 285, 59, 349, 288, + 40, 91, 340, 40, 40, 318, 264, 383, 389, 400, + 411, 44, 280, 302, 40, 382, 407, 285, 307, 308, + 411, 40, 311, 451, 41, 42, 43, 418, 45, 318, + 47, 320, 321, 42, 43, 324, 45, 0, 47, 328, + 0, 41, 331, 464, 333, 436, 335, 436, 317, 387, + 441, 340, 341, 1107, 343, 879, 40, 881, 396, 883, + 884, 320, 886, 887, 888, 1119, 1120, 320, 1122, 1123, + 359, 360, 264, 362, 452, 466, 1130, 448, 41, 470, + 40, 41, 454, 458, 44, 502, 0, 376, 0, 378, + 379, 380, 40, 277, 383, 1149, 59, 386, 387, 59, + 274, 61, 440, 1157, 40, 1159, 300, 396, 1162, 284, + 1164, 344, 344, 386, 1168, 1169, 1170, 1171, 300, 386, + 386, 410, 278, 418, 413, 418, 356, 41, 416, 41, + 44, 91, 44, 40, 258, 41, 42, 43, 1192, 45, + 429, 47, 417, 40, 274, 59, 435, 59, 1202, 40, + 264, 440, 41, 42, 43, 279, 45, 417, 47, 41, + 44, 44, 451, 452, 280, 454, 41, 42, 43, 320, + 45, 460, 47, 44, 385, 44, 300, 367, 320, 40, + 44, 328, 306, 505, 0, 44, 279, 40, 1242, 266, + 299, 501, 264, 280, 42, 43, 44, 45, 285, 47, + 489, 490, 40, 492, 41, 329, 422, 300, 58, 41, + 499, 500, 501, 502, 503, 41, 505, 41, 264, 508, + 509, 510, 511, 512, 348, 41, 42, 43, 44, 45, + 46, 47, 356, 357, 454, 309, 329, 1291, 440, 363, + 321, 394, 492, 59, 60, 61, 62, 328, 309, 41, + 331, 41, 40, 262, 335, 348, 40, 381, 1312, 321, + 352, 40, 343, 280, 357, 40, 328, 1321, 285, 331, + 363, 280, 40, 335, 1328, 91, 285, 93, 359, 40, + 40, 343, 40, 40, 40, 40, 40, 40, 381, 40, + 40, 40, 262, 308, 418, 435, 327, 359, 258, 44, + 41, 343, 383, 1357, 388, 429, 388, 1361, 388, 274, + 331, 422, 271, 287, 274, 391, 407, 277, 278, 390, + 280, 383, 386, 0, 284, 446, 1380, 287, 386, 386, + 386, 386, 413, 386, 41, 378, 41, 418, 278, 40, + 300, 41, 41, 41, 417, 41, 306, 42, 43, 309, + 45, 413, 47, 0, 308, 318, 41, 42, 43, 440, + 45, 385, 47, 280, 41, 328, 435, 44, 331, 436, + 337, 452, 442, 454, 280, 301, 396, 340, 440, 285, + 338, 338, 59, 41, 42, 43, 0, 45, 442, 47, + 452, 280, 454, 301, 41, 41, 285, 44, 41, 352, + 320, 41, 385, 371, 318, 280, 318, 371, 41, 41, + 285, 41, 59, 41, 328, 41, 328, 331, 378, 331, + 264, 41, 1476, 1477, 387, 41, 340, 41, 340, 343, + 44, 343, 280, 396, 41, 41, 41, 285, 41, 41, + 400, 41, 41, 1497, 41, 59, 262, 407, 264, 265, + 280, 411, 46, 44, 40, 59, 272, 0, 418, 41, + 42, 43, 340, 45, 280, 47, 59, 40, 340, 285, + 59, 59, 288, 387, 59, 387, 436, 440, 59, 59, + 308, 441, 396, 1537, 396, 59, 302, 41, 304, 452, + 0, 307, 308, 344, 352, 311, 41, 340, 41, 40, + 368, 44, 318, 383, 320, 321, 466, 451, 324, 44, + 470, 59, 328, 59, 41, 331, 59, 333, 61, 335, + 383, 383, 343, 41, 340, 341, 440, 343, 440, 41, + 44, 41, 42, 43, 44, 45, 46, 47, 452, 435, + 452, 304, 301, 359, 360, 1599, 362, 442, 387, 59, + 60, 61, 62, 1607, 410, 40, 59, 293, 304, 463, + 376, 44, 378, 379, 380, 307, 44, 383, 41, 0, + 386, 387, 337, 0, 1659, 383, 383, 40, 264, 458, + 396, 91, 264, 93, 278, 280, 389, 320, 264, 1643, + 285, 411, 44, 1647, 410, 280, 470, 413, 40, 451, + 285, 278, 271, 280, 458, 309, 435, 284, 264, 436, + 287, 343, 343, 429, 41, 343, 460, 44, 343, 435, + 271, 1706, 280, 300, 440, 458, 41, 285, 308, 40, + 308, 278, 59, 280, 40, 451, 452, 284, 454, 59, + 287, 59, 308, 41, 460, 489, 490, 59, 492, 1703, + 304, 1705, 59, 300, 1708, 499, 500, 501, 502, 503, + 41, 505, 1747, 59, 508, 509, 510, 511, 512, 41, + 0, 1756, 0, 489, 490, 0, 492, 0, 1184, 12, + 264, 271, 1084, 499, 500, 501, 502, 503, 263, 505, + 706, 630, 508, 509, 510, 511, 512, 851, 280, 1082, + 87, 378, 1787, 285, 318, 1790, 1079, 321, 42, 43, + 1071, 45, 1438, 47, 328, 258, 41, 331, 1439, 44, + 356, 335, 577, 400, 1061, 59, 340, 1812, 326, 343, + 407, 378, 1009, 311, 59, 278, 61, 280, 321, 750, + 1641, 284, 1072, 0, 287, 359, 338, 1417, 1722, 784, + 556, 338, 262, 400, 264, 265, 1726, 300, 1419, 1725, + 407, 1765, 272, 306, 441, 1240, 774, 1703, 0, 383, + 280, 1664, 1649, 387, 1817, 285, 1762, 994, 288, 1217, + 1396, 1680, 396, 343, 41, 42, 43, 44, 45, 46, + 47, 331, 302, 324, 441, 1274, 558, 307, 308, 413, + 830, 311, 59, 60, 61, 62, 616, 13, 318, 41, + 320, 321, 44, 494, 324, 822, 298, 739, 328, 498, + 753, 331, 141, 333, 725, 335, 440, 59, 726, 1632, + 340, 341, 971, 343, 91, 378, 93, 1520, 452, 1782, + 1738, 41, 42, 43, 1835, 45, 509, 47, 714, 359, + 360, 963, 362, 1164, -1, 1229, 1121, 400, -1, -1, + -1, -1, -1, -1, 407, -1, 376, -1, 378, 379, + 380, -1, -1, 383, -1, 418, 386, 387, -1, -1, + -1, 41, 42, 43, -1, 45, 396, 47, -1, -1, + -1, 318, -1, 436, 321, -1, -1, -1, 441, 0, + 410, 328, -1, 413, 331, 41, 42, 43, 335, 45, + -1, 47, -1, 340, -1, -1, 343, -1, -1, 429, + 41, 42, 43, -1, 45, 435, 47, 470, -1, -1, + 440, -1, 359, 258, -1, -1, -1, -1, -1, -1, + 41, 451, 452, 44, 454, -1, 280, -1, -1, -1, + 460, 285, 277, 278, -1, 280, 383, -1, 59, 284, + 387, -1, 287, -1, -1, -1, 41, 42, 43, 396, + 45, -1, 47, -1, -1, 300, -1, -1, -1, 489, + 490, 306, 492, -1, -1, -1, 413, -1, -1, 499, + 500, 501, 502, 503, -1, 505, 0, -1, 508, 509, + 510, 511, 512, -1, -1, 262, -1, 264, 265, -1, + -1, -1, -1, 440, -1, 272, -1, -1, 41, 42, + 43, -1, 45, 280, 47, 452, -1, -1, 285, -1, + -1, 288, -1, -1, -1, -1, -1, 41, 42, 43, + 44, 45, 46, 47, -1, 302, 278, -1, 280, -1, + 307, 308, -1, 378, 311, 59, 60, 61, 62, -1, + -1, 318, -1, 320, 321, 0, -1, 324, -1, -1, + -1, 328, -1, -1, 331, 400, 333, -1, 335, -1, + 280, -1, 407, 340, 341, 285, 343, 91, -1, 93, + -1, 416, -1, 418, 41, 42, 43, -1, 45, -1, + 47, -1, 359, 360, -1, 362, 41, -1, -1, 44, + -1, 436, -1, -1, -1, -1, 441, -1, -1, 376, + 280, 378, 379, 380, 59, 285, 383, -1, -1, 386, + 387, 472, 473, 474, 475, 476, 477, 478, 479, 396, + -1, -1, -1, -1, 280, 470, 378, -1, 260, 285, + -1, -1, 0, 410, -1, -1, 413, -1, -1, 280, + -1, -1, -1, -1, 285, -1, -1, -1, 400, -1, + -1, -1, 429, -1, -1, 407, -1, 278, 435, 280, + -1, -1, -1, 440, -1, -1, 287, -1, -1, 301, + -1, -1, -1, 41, 451, 452, 44, 454, -1, 300, + -1, 313, -1, 460, -1, 280, -1, -1, -1, 441, + 285, 59, -1, -1, -1, 327, 41, 42, 43, -1, + 45, -1, 47, -1, -1, -1, 338, -1, -1, -1, + -1, -1, 489, 490, -1, 492, -1, -1, -1, -1, + -1, -1, 499, 500, 501, 502, 503, -1, 505, 0, + -1, 508, 509, 510, 511, 512, -1, 280, 262, -1, + 264, 265, 285, -1, -1, -1, -1, -1, 272, -1, + -1, -1, -1, -1, -1, -1, 280, 378, -1, -1, + -1, 285, -1, -1, 288, -1, -1, -1, -1, -1, + 41, 42, 43, 44, 45, 407, 47, -1, 302, 400, + -1, -1, -1, 307, 308, 417, 407, 311, 59, 60, + 61, 62, -1, -1, 318, -1, 320, 321, -1, -1, + 324, -1, -1, 258, 328, -1, 0, 331, -1, 333, + 442, 335, -1, 280, -1, -1, 340, 341, 285, 343, + 441, -1, 93, -1, 279, -1, -1, -1, 460, -1, + -1, -1, -1, -1, -1, 359, 360, -1, 362, -1, + -1, -1, -1, -1, -1, 300, -1, 41, -1, -1, + 44, 306, 376, -1, 378, 379, 380, 489, 490, 383, + 492, -1, 386, 387, -1, 59, -1, 499, 500, 501, + 502, 503, 396, 505, 329, -1, 508, 509, 510, 511, + 512, -1, -1, -1, -1, -1, 410, -1, 0, 413, + 41, 42, 43, 348, 45, -1, 47, -1, -1, -1, + -1, -1, 357, -1, -1, 429, -1, -1, 363, -1, + 278, 435, 280, -1, -1, 0, 440, -1, -1, 287, + -1, -1, -1, -1, -1, -1, 381, 451, 452, 41, + 454, -1, 44, -1, -1, 280, 460, -1, -1, -1, + 285, -1, -1, -1, -1, -1, -1, 59, -1, 61, + -1, -1, -1, -1, -1, -1, 41, -1, -1, 44, + -1, 0, -1, 418, -1, 489, 490, -1, 492, -1, + -1, -1, -1, -1, 59, 499, 500, 501, 502, 503, + -1, 505, -1, -1, 508, 509, 510, 511, 512, -1, + -1, 262, -1, 264, 265, -1, -1, -1, -1, -1, + -1, 272, 41, 42, 43, 44, 45, -1, 47, 280, + 378, -1, -1, -1, 285, -1, -1, 288, -1, -1, 59, 60, 61, 62, -1, -1, -1, -1, -1, -1, - -1, 282, -1, -1, 429, -1, -1, 328, -1, 290, - 435, -1, -1, -1, -1, 440, 297, -1, 299, -1, - 301, -1, -1, -1, 93, 306, 451, 452, -1, 454, - -1, -1, 313, -1, -1, 460, -1, -1, -1, 443, - -1, -1, -1, -1, -1, -1, 327, -1, 40, -1, - -1, 43, -1, 45, -1, -1, 460, 338, 407, -1, - -1, -1, -1, -1, 489, 490, 58, 492, 417, -1, - -1, 63, -1, -1, 499, 500, 501, 502, 503, -1, - 505, 402, -1, 508, 509, 489, 490, 258, 492, -1, - -1, -1, -1, 442, -1, 499, 500, 501, 502, 503, - -1, 505, -1, 274, 508, 509, 277, 278, -1, 280, - -1, 460, -1, 284, -1, -1, 287, 438, -1, -1, - -1, -1, 443, -1, 405, -1, -1, -1, 449, 300, - -1, 412, -1, -1, 415, 306, 417, 418, 309, 460, - 489, 490, -1, 492, -1, -1, -1, 468, -1, -1, - 499, 500, 501, 502, 503, -1, 505, -1, -1, 508, - 509, 442, -1, -1, -1, -1, -1, -1, 489, 490, - -1, 492, 460, -1, -1, -1, -1, -1, 499, 500, - 501, 502, 503, -1, 505, -1, -1, 508, 509, -1, - -1, -1, -1, 262, -1, 264, 265, -1, -1, -1, - -1, 489, 490, 272, 492, -1, -1, 378, -1, -1, - 491, 499, 500, 501, 502, 503, -1, 505, -1, 288, - 508, 509, -1, -1, -1, 506, 507, -1, -1, 400, - -1, -1, -1, 302, -1, -1, 407, -1, 307, 308, - 411, -1, 311, -1, -1, -1, -1, 418, -1, 318, - -1, 320, 321, -1, -1, 324, -1, -1, -1, 328, - -1, -1, 331, -1, 333, 436, 335, -1, -1, -1, - 441, 340, 341, -1, 343, 267, -1, -1, 40, -1, - -1, 43, -1, 45, 276, -1, -1, -1, -1, -1, - 359, 360, -1, 362, -1, 466, 58, 289, -1, 470, - 292, 63, -1, 295, 296, -1, 460, 376, -1, 378, + 294, 302, 400, -1, -1, -1, 307, 308, -1, 407, + 311, 305, -1, -1, -1, -1, -1, 318, 312, 320, + 321, -1, -1, 324, 93, -1, -1, 328, -1, 0, + 331, 325, 333, -1, 335, -1, -1, -1, -1, 340, + 341, -1, 343, 441, -1, -1, 0, -1, -1, -1, + -1, -1, -1, -1, 278, -1, 280, -1, 359, 360, + -1, 362, -1, 287, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 376, 300, 378, 379, 380, + -1, -1, 383, -1, -1, 386, 387, -1, 59, -1, + -1, -1, 386, -1, -1, 396, -1, -1, -1, 280, + -1, -1, -1, -1, 285, 59, -1, -1, 402, 410, + -1, -1, 413, -1, -1, -1, 258, -1, -1, -1, + -1, -1, 0, -1, -1, 419, -1, -1, 429, -1, + -1, -1, -1, -1, 435, 277, 278, -1, 280, 440, + 434, -1, 284, -1, 438, 287, -1, 441, -1, -1, + 451, 452, -1, 454, 378, 449, -1, -1, 300, 460, + -1, -1, -1, 278, 306, 280, -1, -1, -1, -1, + -1, -1, 287, -1, 468, -1, 400, -1, -1, -1, + -1, 59, -1, 407, 0, -1, -1, -1, 489, 490, + -1, 492, -1, 262, -1, 264, 265, -1, 499, 500, + 501, 502, 503, 272, 505, -1, -1, 508, 509, 510, + 511, 512, -1, -1, -1, -1, 285, 441, -1, 288, + -1, -1, -1, -1, -1, 41, 42, 43, 44, 45, + -1, 47, -1, 302, -1, -1, 378, -1, 307, 308, + -1, -1, 311, 59, 60, 61, 62, -1, -1, 318, + -1, 320, 321, -1, -1, 324, -1, -1, 400, 328, + -1, -1, 331, 378, 333, 407, 335, -1, -1, -1, + -1, 340, 341, -1, 343, -1, 418, 93, -1, -1, + -1, -1, -1, -1, -1, 400, -1, 258, -1, -1, + 359, 360, 407, 362, 436, -1, -1, -1, -1, 441, + -1, -1, -1, -1, 258, -1, -1, 376, 279, 378, 379, 380, -1, -1, 383, -1, -1, 386, 387, -1, - -1, -1, 314, -1, -1, -1, -1, 396, -1, -1, - -1, 323, -1, -1, 326, 489, 490, -1, 492, -1, - -1, 410, -1, -1, 413, 499, 500, 501, 502, 503, - -1, 505, -1, -1, 508, 509, -1, 0, -1, -1, - 429, -1, 354, 355, 460, -1, 435, -1, -1, -1, - -1, 440, -1, -1, 366, -1, -1, -1, 370, -1, - -1, -1, 451, 452, -1, 454, 378, -1, -1, -1, - -1, 460, -1, 489, 490, -1, 492, 40, 41, -1, - -1, 44, -1, 499, 500, 501, 502, 503, -1, 505, - -1, -1, 508, 509, -1, -1, 59, -1, 61, -1, - 489, 490, -1, 492, -1, -1, -1, -1, -1, 421, - 499, 500, 501, 502, 503, 427, 505, -1, -1, 508, - 509, 433, -1, 294, -1, -1, -1, -1, 91, -1, - -1, 443, -1, -1, 305, -1, -1, -1, -1, -1, - -1, 312, -1, -1, -1, 457, 458, 459, 460, 461, - 462, -1, -1, -1, 325, -1, -1, -1, -1, 471, - -1, -1, -1, -1, -1, -1, -1, -1, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, - 492, -1, -1, 495, 496, 267, 498, 499, 500, 501, - 502, 503, 504, 505, 276, -1, 508, 509, 510, 511, - 512, -1, -1, -1, -1, 40, -1, 289, 43, -1, - 45, -1, -1, 295, 296, 386, -1, -1, -1, -1, - -1, -1, -1, 58, -1, -1, -1, -1, 63, -1, - -1, 402, 314, -1, -1, -1, -1, -1, -1, -1, - -1, 323, -1, -1, 326, -1, -1, -1, 419, -1, + -1, -1, -1, -1, -1, 279, 441, 396, 470, 300, + -1, -1, -1, -1, -1, 306, -1, -1, -1, -1, + -1, 410, -1, -1, 413, -1, 300, -1, -1, -1, + -1, -1, 306, -1, -1, -1, -1, -1, 329, 260, + 429, -1, -1, -1, -1, -1, 435, -1, -1, -1, + -1, 440, -1, -1, -1, 329, -1, 348, -1, -1, + 258, -1, 451, 452, -1, 454, 357, -1, -1, -1, + -1, 460, 363, -1, 348, -1, -1, -1, -1, -1, + 301, 279, -1, 357, -1, -1, -1, -1, -1, 363, + 381, -1, 313, -1, -1, -1, 0, -1, -1, -1, + 489, 490, 300, 492, -1, -1, -1, 381, 306, -1, + 499, 500, 501, 502, 503, -1, 505, 338, -1, 508, + 509, 510, 511, 512, -1, -1, 262, 418, 264, 265, + -1, 329, -1, -1, -1, -1, 272, 41, 42, 43, + 44, 45, -1, 47, 418, -1, -1, -1, -1, -1, + 348, -1, 288, -1, -1, 59, 60, 61, 62, 357, + -1, -1, -1, -1, -1, 363, 302, -1, -1, -1, + -1, 307, 308, -1, -1, 311, -1, -1, -1, -1, + -1, -1, 318, 381, 320, 321, 407, -1, 324, 93, + -1, -1, 328, -1, -1, 331, 417, 333, -1, 335, + -1, -1, -1, -1, 340, 341, -1, 343, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 434, -1, -1, -1, 438, -1, -1, - 441, -1, 354, 355, -1, -1, -1, -1, 449, -1, - -1, 0, -1, -1, 366, -1, -1, -1, 370, -1, - -1, -1, -1, -1, -1, 258, 378, 468, -1, -1, + 418, 442, -1, 359, 360, -1, 362, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 460, + 376, -1, 378, 379, 380, -1, -1, 383, -1, -1, + 386, 387, -1, -1, -1, -1, -1, -1, -1, -1, + 396, -1, -1, -1, -1, -1, -1, -1, 489, 490, + -1, 492, -1, -1, 410, 287, -1, 413, 499, 500, + 501, 502, 503, -1, 505, -1, -1, 508, 509, 510, + 511, 512, -1, 429, -1, -1, -1, -1, -1, 435, + -1, -1, -1, -1, 440, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 451, 452, -1, 454, -1, + -1, -1, -1, -1, 460, -1, -1, 41, 42, 43, + -1, 45, -1, 47, -1, -1, -1, -1, -1, 287, + -1, -1, -1, -1, -1, -1, 60, 61, 62, 0, + -1, -1, -1, 489, 490, -1, 492, -1, 262, -1, + 264, 265, -1, 499, 500, 501, 502, 503, 272, 505, + -1, -1, 508, 509, 510, 511, 512, -1, -1, -1, + -1, -1, -1, -1, 288, -1, -1, -1, -1, -1, + 41, -1, 43, 44, 45, -1, -1, -1, 302, -1, + -1, -1, -1, 307, 308, -1, -1, 311, 59, 60, + 61, 62, -1, -1, 318, -1, 320, 321, -1, -1, + 324, -1, -1, -1, 328, -1, -1, 331, -1, 333, + -1, 335, -1, -1, -1, -1, 340, 341, -1, 343, + -1, -1, 93, 1313, 1314, -1, -1, -1, 460, 1319, + 1320, -1, 1322, 1323, -1, 359, 360, -1, 362, -1, + 1330, 1331, 1332, 1333, -1, 1335, 1336, 1337, 1338, 1339, + 1340, -1, 376, -1, 378, 379, 380, 489, 490, 383, + 492, -1, 386, 387, -1, -1, -1, 499, 500, 501, + 502, 503, 396, 505, -1, -1, 508, 509, 510, 511, + 512, -1, -1, -1, -1, -1, 410, -1, -1, 413, + -1, -1, 460, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 429, -1, -1, -1, -1, + -1, 435, -1, -1, -1, -1, 440, -1, -1, -1, + -1, 489, 490, -1, 492, -1, -1, 451, 452, -1, + 454, 499, 500, 501, 502, 503, 460, 505, 272, -1, + 508, 509, 510, 511, 512, -1, 280, -1, -1, -1, + -1, 285, -1, -1, 288, -1, -1, -1, -1, -1, + -1, 0, -1, -1, -1, 489, 490, -1, 492, -1, + -1, -1, 328, -1, -1, 499, 500, 501, 502, 503, + -1, 505, -1, -1, 508, 509, 510, 511, 512, -1, + 324, 262, -1, 264, 265, -1, -1, -1, -1, 333, + -1, 272, 41, -1, 43, 44, 45, 341, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 288, -1, -1, + 59, 60, 61, 62, -1, -1, 360, -1, 362, -1, + -1, 302, -1, -1, -1, -1, 307, 308, -1, -1, + 311, -1, 376, -1, 378, 379, 380, 318, -1, 320, + 321, -1, -1, 324, 93, -1, -1, 328, -1, -1, + 331, -1, 333, -1, 335, -1, -1, -1, -1, 340, + 341, -1, 343, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 443, 359, 360, + -1, 362, -1, -1, -1, 429, -1, -1, -1, -1, + -1, -1, -1, -1, 460, 376, -1, 378, 379, 380, + -1, -1, 383, -1, -1, 386, 387, -1, -1, -1, + -1, -1, -1, -1, -1, 396, -1, -1, -1, -1, + -1, -1, -1, 489, 490, -1, 492, -1, -1, 410, + -1, -1, 413, 499, 500, 501, 502, 503, -1, 505, + -1, -1, 508, 509, 510, 511, 512, -1, 429, -1, + -1, -1, -1, -1, 435, -1, -1, -1, -1, 440, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 274, -1, -1, 277, 278, -1, 280, -1, -1, - -1, 284, 41, -1, 287, 44, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 417, -1, 300, -1, 421, - 59, -1, 61, 306, -1, 427, 309, -1, -1, -1, - -1, 433, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 443, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 91, -1, -1, 457, 458, 459, 460, 461, - 462, -1, -1, -1, -1, -1, -1, -1, -1, 471, - -1, -1, -1, -1, -1, -1, -1, -1, 480, 481, + 451, 452, -1, 454, -1, -1, -1, -1, -1, 460, + -1, -1, -1, 42, 43, -1, 45, -1, 47, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 60, 61, 62, 0, -1, -1, -1, 489, 490, + -1, 492, -1, 262, -1, 264, 265, -1, 499, 500, + 501, 502, 503, 272, 505, -1, -1, 508, 509, 510, + 511, 512, -1, -1, -1, 328, -1, -1, -1, 288, + -1, -1, -1, -1, -1, 41, -1, 43, 44, 45, + -1, -1, -1, 302, -1, -1, -1, -1, 307, 308, + -1, -1, 311, 59, 60, 61, 62, -1, -1, 318, + -1, 320, 321, -1, -1, 324, -1, -1, -1, 328, + -1, -1, 331, -1, 333, -1, 335, -1, -1, -1, + -1, 340, 341, -1, 343, -1, -1, 93, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 402, + 359, 360, -1, 362, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 376, -1, 378, + 379, 380, -1, -1, 383, -1, -1, 386, 387, -1, + -1, -1, -1, -1, -1, 438, -1, 396, -1, -1, + 443, -1, -1, -1, -1, -1, 449, -1, -1, -1, + -1, 410, -1, -1, 413, -1, -1, 460, -1, -1, + -1, -1, -1, -1, -1, 468, -1, -1, -1, -1, + 429, -1, -1, -1, -1, -1, 435, -1, -1, -1, + -1, 440, -1, -1, -1, -1, 489, 490, -1, 492, + -1, -1, 451, 452, -1, 454, 499, 500, 501, 502, + 503, 460, 505, 272, -1, 508, 509, 510, 511, 512, + -1, 280, -1, -1, -1, -1, 285, -1, -1, 288, + -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, + 489, 490, -1, 492, -1, -1, -1, -1, -1, -1, + 499, 500, 501, 502, 503, -1, 505, -1, -1, 508, + 509, 510, 511, 512, -1, 324, 262, -1, 264, 265, + -1, -1, -1, -1, 333, -1, 272, 41, -1, 43, + 44, 45, 341, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 288, -1, -1, 59, 60, 61, 62, -1, + -1, 360, -1, 362, -1, -1, 302, -1, -1, -1, + -1, 307, 308, -1, -1, 311, -1, 376, -1, 378, + 379, 380, 318, 343, 320, 321, -1, -1, 324, 93, + -1, -1, 328, -1, -1, 331, -1, 333, -1, 335, + -1, -1, -1, -1, 340, 341, -1, 343, 368, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 359, 360, -1, 362, -1, -1, -1, + 429, -1, -1, -1, -1, -1, -1, 0, -1, -1, + 376, -1, 378, 379, 380, -1, -1, 383, -1, -1, + 386, 387, -1, -1, -1, -1, -1, -1, -1, -1, + 396, -1, -1, -1, -1, -1, 426, -1, -1, -1, + -1, -1, -1, -1, 410, -1, -1, 413, 41, -1, + -1, 44, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 429, -1, -1, 59, -1, 61, 435, + 460, -1, -1, -1, 440, -1, -1, -1, 40, -1, + -1, 43, -1, 45, -1, 451, 452, -1, 454, -1, + -1, -1, -1, -1, 460, -1, 58, -1, 91, 489, + 490, 63, 492, -1, -1, -1, -1, -1, -1, 499, + 500, 501, 502, 503, -1, 505, -1, -1, 508, 509, + 510, 511, 512, 489, 490, -1, 492, -1, 262, -1, + 264, 265, -1, 499, 500, 501, 502, 503, 272, 505, + -1, -1, 508, 509, 510, 511, 512, -1, -1, -1, + -1, -1, -1, -1, 288, -1, -1, -1, -1, 305, + -1, -1, -1, -1, -1, -1, 312, -1, 302, -1, + 316, 317, -1, 307, 308, 40, -1, 311, 43, 325, + 45, -1, -1, -1, 318, -1, 320, 321, -1, -1, + 324, 337, 434, 58, 328, -1, -1, 331, 63, 333, + -1, 335, -1, -1, -1, -1, 340, 341, -1, 343, + -1, -1, -1, -1, -1, -1, -1, -1, 460, -1, + -1, -1, -1, -1, -1, 359, 360, -1, 362, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 376, -1, 378, 379, 380, 489, 490, 383, + 492, -1, 386, 387, -1, -1, 402, 499, 500, 501, + 502, 503, 396, 505, -1, 258, 508, 509, 510, 511, + 512, -1, -1, 419, -1, -1, 410, -1, -1, 413, + -1, 274, 443, -1, 277, 278, -1, 280, 434, -1, + -1, 284, 438, -1, 287, 429, -1, -1, -1, 460, + -1, 435, -1, 449, -1, 267, 440, 300, -1, -1, + -1, -1, -1, 306, 276, -1, 309, 451, 452, -1, + 454, -1, 468, -1, -1, -1, 460, 289, 489, 490, + -1, 492, -1, 295, 296, -1, -1, -1, 499, 500, + 501, 502, 503, -1, 505, -1, -1, 508, 509, 510, + 511, 512, 314, -1, -1, 489, 490, -1, 492, -1, + -1, 323, -1, -1, 326, 499, 500, 501, 502, 503, + -1, 505, -1, -1, 508, 509, 510, 511, 512, -1, + -1, -1, -1, -1, -1, 378, -1, -1, -1, -1, + -1, -1, 354, 355, -1, -1, -1, -1, -1, -1, + -1, -1, 267, -1, 366, -1, -1, 400, 370, -1, + -1, 276, -1, -1, 407, -1, 378, -1, 411, -1, + -1, -1, -1, -1, 289, 418, -1, 292, -1, -1, + 295, 296, -1, 40, -1, 42, 43, -1, 45, -1, + -1, -1, -1, 436, -1, -1, -1, -1, 441, 314, + -1, 58, -1, -1, -1, 417, 63, -1, 323, 421, + -1, 326, -1, -1, -1, 427, -1, -1, -1, -1, + -1, 433, -1, 466, -1, -1, -1, 470, -1, -1, + -1, 443, -1, -1, -1, -1, -1, -1, -1, 354, + 355, -1, -1, -1, -1, 457, 458, 459, 460, 461, + 462, 366, -1, -1, -1, 370, -1, -1, -1, 471, + -1, -1, -1, 378, -1, -1, -1, -1, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, - 492, -1, -1, 495, 496, 378, 498, 499, 500, 501, - 502, 503, 504, 505, 0, -1, 508, 509, 510, 511, - 512, -1, 267, -1, -1, -1, 0, 400, -1, -1, - -1, 276, -1, -1, 407, -1, -1, -1, 411, -1, - -1, -1, -1, -1, 289, 418, -1, -1, -1, -1, - 295, 296, -1, -1, -1, 41, 354, -1, 44, -1, - -1, -1, -1, 436, -1, -1, -1, 41, 441, 314, - 44, -1, -1, 59, -1, 61, -1, -1, 323, -1, - -1, 326, -1, -1, -1, 59, -1, 61, -1, -1, - -1, -1, -1, 466, -1, -1, -1, 470, -1, -1, - -1, -1, -1, -1, -1, 91, -1, -1, -1, 354, - 355, -1, -1, -1, -1, -1, -1, 91, -1, -1, - -1, 366, -1, -1, -1, 370, -1, -1, -1, 258, - -1, -1, -1, 378, 40, -1, 42, 43, -1, 45, - -1, -1, -1, -1, -1, 274, -1, -1, -1, 278, - -1, 280, 58, -1, -1, 284, -1, 63, 287, -1, - 458, -1, 460, -1, -1, -1, -1, -1, -1, -1, - -1, 300, -1, 471, -1, -1, 421, 306, -1, -1, - 309, -1, 427, -1, -1, -1, -1, -1, 433, -1, - -1, 489, 490, -1, 492, -1, -1, -1, 443, -1, - 498, 499, 500, 501, 502, 503, -1, 505, -1, -1, - 508, 509, 457, 458, 459, 460, 461, 462, -1, -1, - -1, -1, -1, -1, -1, -1, 471, -1, -1, -1, + 492, 460, -1, 495, 496, -1, 498, 499, 500, 501, + 502, 503, 504, 505, -1, -1, 508, 509, 510, 511, + 512, 513, 514, 515, -1, -1, 421, -1, -1, -1, + 489, 490, 427, 492, -1, -1, -1, -1, 433, -1, + 499, 500, 501, 502, 503, -1, 505, -1, 443, 508, + 509, 510, 511, 512, -1, 40, -1, -1, 43, -1, + 45, -1, 457, 458, 459, 460, 461, 462, -1, -1, + -1, -1, -1, 58, -1, -1, 471, -1, 63, -1, -1, -1, -1, -1, -1, 480, 481, 482, 483, 484, - 485, 486, 487, 488, 489, 490, -1, 492, -1, 378, + 485, 486, 487, 488, 489, 490, 354, 492, -1, -1, 495, 496, -1, 498, 499, 500, 501, 502, 503, 504, 505, -1, -1, 508, 509, 510, 511, 512, -1, -1, - -1, 400, 258, -1, -1, -1, -1, 260, 407, -1, - -1, -1, 411, -1, 258, -1, -1, -1, 274, 418, - -1, -1, 278, -1, 280, -1, -1, -1, 284, -1, - 274, 287, -1, -1, 278, -1, 280, 436, -1, -1, - 284, -1, 441, 287, 300, -1, -1, -1, 301, -1, - 306, -1, -1, 309, -1, -1, 300, -1, -1, -1, - 313, -1, 306, -1, -1, 309, -1, 466, -1, -1, - -1, 470, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 260, 338, -1, -1, -1, -1, - -1, 267, -1, -1, -1, -1, -1, -1, -1, -1, - 276, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 289, -1, -1, -1, -1, -1, 295, - 296, -1, 378, 40, -1, 42, 43, 303, 45, -1, - -1, -1, -1, -1, 378, -1, -1, -1, -1, -1, - -1, 58, -1, -1, 400, -1, 63, 323, -1, -1, - 326, 407, -1, -1, 407, 411, 400, -1, -1, -1, - -1, -1, 418, 407, 417, -1, -1, 411, -1, -1, - -1, -1, -1, -1, 418, -1, 352, -1, 354, 355, - 436, -1, -1, -1, -1, 441, -1, -1, -1, 442, - 366, -1, 436, -1, 370, -1, -1, 441, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 460, -1, -1, - 466, -1, -1, -1, 470, -1, -1, -1, -1, -1, - 40, -1, 466, 43, -1, 45, 470, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 489, 490, 58, 492, - -1, -1, -1, 63, -1, -1, 499, 500, 501, 502, - 503, 427, 505, -1, -1, 508, 509, 433, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 443, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 457, 458, 459, 460, 461, 462, -1, -1, -1, - -1, -1, -1, -1, -1, 471, -1, -1, -1, -1, - -1, -1, -1, -1, 480, 481, 482, 483, 484, 485, - 486, 487, 488, 489, 490, -1, 492, -1, -1, 495, - 496, -1, 498, 499, 500, 501, 502, 503, 504, 505, - -1, -1, 508, 509, -1, -1, -1, -1, -1, -1, -1, -1, -1, 260, -1, -1, -1, -1, -1, -1, - 267, -1, -1, -1, -1, -1, -1, -1, -1, 276, + 267, 0, -1, -1, -1, -1, -1, -1, -1, 276, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 289, -1, -1, -1, -1, -1, 295, 296, -1, -1, -1, -1, -1, -1, 303, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 41, -1, -1, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 323, -1, -1, 326, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 352, -1, 354, 355, -1, - 260, -1, -1, 263, -1, -1, -1, 267, -1, 366, - -1, -1, -1, 370, -1, -1, 276, -1, -1, -1, - -1, -1, -1, -1, -1, 41, -1, 40, 44, 289, - 43, -1, 45, -1, -1, 295, 296, -1, -1, -1, - -1, -1, -1, 59, -1, 58, -1, -1, -1, -1, - 63, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 323, -1, -1, 326, -1, -1, -1, - 427, -1, -1, -1, -1, -1, 433, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 443, -1, -1, -1, - -1, -1, -1, -1, 354, 355, -1, -1, -1, -1, - 457, 458, 459, 460, 461, 462, 366, -1, -1, -1, - 370, -1, -1, -1, 471, -1, -1, -1, -1, -1, - -1, -1, -1, 480, 481, 482, 483, 484, 485, 486, + 59, -1, 61, -1, -1, -1, -1, -1, -1, -1, + 458, -1, 460, -1, -1, -1, -1, 40, -1, -1, + 43, -1, 45, 471, -1, 352, -1, 354, 355, -1, + -1, -1, 91, -1, -1, 58, 460, -1, -1, 366, + 63, 489, 490, 370, 492, -1, -1, -1, -1, -1, + 498, 499, 500, 501, 502, 503, -1, 505, -1, -1, + 508, 509, 510, 511, 512, 489, 490, -1, 492, -1, + -1, -1, -1, -1, -1, 499, 500, 501, 502, 503, + -1, 505, -1, -1, 508, 509, 510, 511, 512, -1, + -1, -1, 267, -1, -1, -1, -1, -1, -1, -1, + 427, 276, -1, -1, -1, -1, 433, -1, -1, -1, + -1, -1, -1, -1, 289, -1, 443, -1, -1, -1, + 295, 296, -1, -1, -1, -1, -1, -1, -1, -1, + 457, 458, 459, 460, 461, 462, -1, -1, -1, 314, + -1, -1, -1, -1, 471, -1, -1, -1, 323, -1, + -1, 326, -1, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, 492, -1, -1, 495, 496, - -1, 498, 499, 500, 501, 502, 503, 504, 505, -1, - -1, 508, 509, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 425, -1, 427, -1, -1, - -1, -1, -1, 433, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 443, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 457, 458, 459, - 460, 461, 462, -1, -1, -1, -1, -1, -1, -1, - -1, 471, -1, -1, -1, -1, -1, -1, -1, -1, - 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, - 490, -1, 492, -1, -1, 495, 496, -1, 498, 499, - 500, 501, 502, 503, 504, 505, 262, 260, 508, 509, - 263, -1, -1, -1, 267, -1, 273, -1, -1, -1, - 277, -1, -1, 276, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 40, -1, 289, 43, 295, 45, - -1, 298, 295, 296, -1, -1, -1, -1, -1, -1, - -1, -1, 58, -1, -1, -1, -1, 63, -1, -1, - -1, -1, 318, -1, -1, 321, -1, -1, -1, -1, - 323, -1, 328, 326, -1, 331, -1, -1, -1, 335, - -1, -1, 339, -1, 340, -1, -1, 343, 345, 346, - 347, -1, 349, 350, 351, -1, 353, -1, -1, -1, - -1, 354, 355, 359, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 366, -1, -1, 373, 370, 375, 40, - -1, -1, 43, -1, 45, -1, -1, 383, -1, -1, - 386, 387, -1, -1, -1, -1, -1, 58, -1, -1, - 396, -1, 63, -1, -1, -1, -1, -1, -1, 406, - -1, -1, -1, -1, -1, -1, -1, 413, -1, -1, - -1, -1, -1, -1, -1, -1, 423, -1, -1, -1, - -1, -1, 425, -1, 427, -1, -1, -1, -1, 435, - 433, -1, -1, -1, 440, -1, -1, -1, 445, -1, - 443, -1, -1, -1, -1, -1, 452, -1, 454, -1, + -1, 498, 499, 500, 501, 502, 503, 504, 505, 354, + 355, 508, 509, 510, 511, 512, -1, -1, -1, -1, + -1, 366, 0, -1, -1, 370, -1, -1, -1, 258, + -1, -1, -1, 378, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 274, -1, -1, -1, 278, + -1, 280, -1, -1, -1, 284, -1, -1, 287, -1, + -1, -1, -1, 41, -1, -1, 44, -1, -1, -1, + -1, 300, -1, -1, 267, -1, 421, 306, -1, -1, + 309, 59, 427, 276, -1, -1, 40, -1, 433, 43, + -1, 45, -1, -1, -1, -1, 289, -1, 443, -1, + -1, -1, 295, 296, 58, -1, -1, -1, -1, 63, + -1, -1, 457, 458, 459, 460, 461, 462, -1, -1, + -1, 314, -1, -1, -1, -1, 471, -1, -1, -1, + 323, -1, -1, 326, -1, 480, 481, 482, 483, 484, + 485, 486, 487, 488, 489, 490, -1, 492, -1, 378, + 495, 496, -1, 498, 499, 500, 501, 502, 503, 504, + 505, 354, 355, 508, 509, 510, 511, 512, -1, -1, + -1, 400, -1, 366, -1, -1, -1, 370, 407, -1, + -1, -1, 411, 40, -1, 378, 43, -1, 45, 418, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 58, -1, 460, -1, -1, 63, 436, -1, -1, + -1, -1, 441, 470, 471, 472, 473, 474, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 421, -1, + 487, 488, 489, 490, 427, 492, -1, 466, 495, 496, + 433, 470, 499, 500, 501, 502, 503, 504, 505, 506, + 443, 508, 509, 510, 511, 512, -1, -1, -1, -1, -1, -1, -1, -1, 457, 458, 459, 460, 461, 462, -1, -1, -1, -1, -1, -1, -1, -1, 471, -1, - -1, -1, -1, 480, 481, -1, -1, 480, 481, 482, + -1, -1, -1, -1, 262, -1, -1, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, 492, - 497, -1, 495, 496, -1, 498, 499, 500, 501, 502, - 503, 504, 505, -1, 260, 508, 509, 263, -1, -1, - -1, 267, -1, -1, -1, -1, -1, -1, -1, -1, - 276, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 289, -1, -1, 460, -1, -1, 295, - 296, -1, -1, -1, -1, 469, 470, 471, 472, 473, - 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, - 484, -1, -1, 487, 488, 489, 490, 323, 492, -1, - 326, 495, 496, -1, -1, 499, 500, 501, 502, 503, - 504, 505, 506, -1, 508, 509, 510, 511, 512, 260, - -1, -1, 263, -1, -1, -1, 267, -1, 354, 355, - -1, -1, -1, -1, -1, 276, -1, -1, -1, -1, - 366, -1, -1, -1, 370, -1, 40, -1, 289, 43, - -1, 45, -1, -1, 295, 296, -1, -1, -1, -1, - -1, -1, -1, -1, 58, -1, -1, -1, -1, 63, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 323, -1, -1, 326, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 425, - -1, 427, -1, -1, -1, -1, -1, 433, -1, -1, - -1, -1, -1, 354, 355, -1, -1, 443, -1, -1, - -1, -1, -1, -1, -1, 366, -1, -1, -1, 370, - -1, 457, 458, 459, 460, 461, 462, -1, -1, -1, - -1, -1, -1, -1, -1, 471, -1, -1, -1, -1, - -1, -1, -1, -1, 480, 481, 482, 483, 484, 485, - 486, 487, 488, 489, 490, -1, 492, -1, -1, 495, - 496, -1, 498, 499, 500, 501, 502, 503, 504, 505, - -1, -1, 508, 509, 425, -1, 427, -1, -1, -1, - -1, -1, 433, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 443, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 457, 458, 459, 460, - 461, 462, -1, -1, -1, -1, -1, -1, -1, -1, - 471, -1, -1, -1, -1, -1, -1, -1, -1, 480, - 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, - -1, 492, -1, -1, 495, 496, -1, 498, 499, 500, - 501, 502, 503, 504, 505, -1, 260, 508, 509, 263, - -1, -1, -1, 267, -1, -1, -1, -1, -1, -1, + -1, -1, 495, 496, -1, 498, 499, 500, 501, 502, + 503, 504, 505, 267, -1, 508, 509, 510, 511, 512, -1, -1, 276, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 40, -1, 289, 43, -1, 45, -1, - -1, 295, 296, -1, -1, -1, -1, -1, -1, -1, - -1, 58, -1, -1, -1, -1, 63, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 323, - -1, -1, 326, -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, - 354, 355, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 366, -1, -1, -1, 370, -1, 40, -1, - -1, 43, -1, 45, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 58, -1, -1, -1, - -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, -1, - -1, 425, -1, 427, -1, -1, -1, -1, -1, 433, + -1, -1, -1, -1, 460, 289, -1, -1, -1, -1, + 318, 295, 296, 321, -1, -1, -1, -1, 0, -1, + 328, -1, -1, 331, -1, -1, -1, 335, -1, -1, + 314, -1, 340, 489, 490, 343, 492, -1, -1, 323, + -1, -1, 326, 499, 500, 501, 502, 503, -1, 505, + -1, 359, 508, 509, 510, 511, 512, -1, -1, 41, + -1, -1, 44, -1, -1, -1, -1, -1, -1, -1, + 354, 355, -1, 260, -1, 383, 263, 59, 386, 387, + 267, -1, 366, -1, -1, -1, 370, -1, 396, 276, + -1, -1, -1, -1, 378, -1, -1, -1, -1, -1, + -1, -1, 289, -1, -1, 413, -1, 40, 295, 296, + 43, -1, 45, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 58, -1, 435, -1, -1, + 63, -1, 440, -1, -1, -1, 323, 421, -1, 326, + -1, -1, -1, 427, 452, -1, 454, -1, -1, 433, -1, -1, -1, -1, -1, -1, -1, -1, -1, 443, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 457, 458, 459, 460, 461, 462, -1, - -1, -1, -1, -1, -1, -1, -1, 471, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 354, 355, -1, + -1, -1, -1, 457, 458, 459, 460, 461, 462, 366, + -1, -1, -1, 370, -1, -1, -1, 471, -1, -1, -1, -1, -1, -1, -1, -1, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, 492, -1, -1, 495, 496, -1, 498, 499, 500, 501, 502, 503, - 504, 505, -1, 260, 508, 509, 263, -1, -1, -1, - 267, -1, -1, -1, -1, -1, -1, -1, -1, 276, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 289, -1, -1, -1, -1, -1, 295, 296, - -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 323, -1, -1, 326, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 41, -1, -1, 44, -1, -1, 260, -1, - -1, 263, -1, -1, -1, 267, -1, 354, 355, -1, - 59, -1, -1, -1, 276, -1, -1, -1, -1, 366, - -1, -1, -1, 370, -1, 40, -1, 289, 43, -1, - 45, -1, -1, 295, 296, -1, -1, -1, -1, -1, - -1, -1, -1, 58, -1, -1, -1, -1, 63, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 323, -1, -1, 326, -1, -1, -1, -1, -1, + 504, 505, -1, -1, 508, 509, 510, 511, 512, -1, -1, -1, -1, -1, -1, -1, -1, -1, 425, -1, 427, -1, -1, -1, -1, -1, 433, -1, -1, -1, - -1, -1, 354, 355, -1, -1, 443, -1, -1, -1, - -1, -1, -1, -1, 366, -1, -1, -1, 370, -1, - 457, 458, 459, 460, 461, 462, -1, -1, -1, -1, - -1, -1, -1, -1, 471, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 443, -1, -1, 40, + -1, -1, 43, -1, 45, -1, -1, -1, -1, -1, + 457, 458, 459, 460, 461, 462, -1, 58, -1, -1, + 262, -1, 63, -1, 471, -1, -1, -1, -1, -1, -1, -1, -1, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, 492, -1, -1, 495, 496, -1, 498, 499, 500, 501, 502, 503, 504, 505, -1, - -1, 508, 509, 425, -1, 427, -1, -1, -1, -1, + -1, 508, 509, 510, 511, 512, -1, 260, -1, -1, + 263, -1, -1, -1, 267, -1, 318, -1, -1, 321, + -1, -1, -1, 276, -1, -1, 328, -1, -1, 331, + -1, -1, -1, 335, -1, -1, 289, -1, 340, -1, + -1, 343, 295, 296, -1, -1, -1, -1, 40, -1, + -1, 43, -1, 45, -1, -1, -1, 359, -1, -1, + -1, -1, -1, -1, -1, -1, 58, -1, -1, -1, + 323, 63, -1, 326, -1, -1, -1, -1, -1, -1, + -1, 383, -1, -1, 386, 387, -1, -1, -1, -1, + -1, -1, -1, -1, 396, -1, -1, -1, -1, -1, + -1, 354, 355, -1, -1, -1, -1, -1, -1, -1, + -1, 413, -1, 366, -1, -1, -1, 370, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 435, -1, -1, -1, -1, 440, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 452, -1, 454, -1, -1, -1, -1, -1, -1, 260, + -1, -1, 263, -1, -1, -1, 267, -1, -1, -1, + -1, -1, 425, -1, 427, 276, -1, -1, -1, -1, + 433, -1, -1, -1, -1, -1, -1, -1, 289, -1, + 443, -1, -1, -1, 295, 296, -1, -1, -1, -1, + -1, -1, -1, -1, 457, 458, 459, 460, 461, 462, + -1, -1, -1, -1, -1, -1, -1, -1, 471, -1, + -1, -1, 323, -1, -1, 326, -1, 480, 481, 482, + 483, 484, 485, 486, 487, 488, 489, 490, -1, 492, + -1, -1, 495, 496, -1, 498, 499, 500, 501, 502, + 503, 504, 505, 354, 355, 508, 509, 510, 511, 512, + -1, -1, -1, -1, -1, 366, -1, -1, 260, 370, + -1, 263, -1, -1, -1, 267, -1, -1, -1, -1, + -1, -1, -1, -1, 276, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 289, -1, -1, + -1, -1, 40, 295, 296, 43, -1, 45, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 58, -1, -1, -1, 425, 63, 427, -1, -1, -1, + -1, 323, 433, -1, 326, -1, -1, -1, -1, -1, + -1, -1, 443, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 457, 458, 459, 460, + 461, 462, 354, 355, -1, -1, -1, -1, -1, -1, + 471, -1, -1, -1, 366, -1, -1, -1, 370, 480, + 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, + -1, 492, -1, -1, 495, 496, -1, 498, 499, 500, + 501, 502, 503, 504, 505, -1, -1, 508, 509, 510, + 511, 512, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 425, -1, 427, -1, -1, -1, -1, -1, 433, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 443, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 0, -1, -1, -1, 457, 458, 459, 460, 461, - 462, -1, -1, -1, -1, -1, -1, -1, -1, 471, - -1, -1, -1, 262, -1, -1, -1, -1, 480, 481, + -1, 443, -1, -1, 40, -1, -1, 43, -1, 45, + -1, -1, -1, -1, -1, 457, 458, 459, 460, 461, + 462, -1, 58, -1, -1, -1, -1, 63, -1, 471, + -1, -1, -1, -1, -1, -1, -1, -1, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, - 492, -1, 41, 495, 496, 44, 498, 499, 500, 501, - 502, 503, 504, 505, -1, 260, 508, 509, 263, -1, - 59, -1, 267, -1, -1, 40, -1, 42, 43, -1, - 45, 276, -1, -1, -1, -1, -1, -1, -1, 318, - -1, -1, 321, 58, 289, -1, -1, -1, 63, 328, - 295, 296, 331, -1, -1, -1, 335, -1, -1, -1, - -1, 340, -1, -1, 343, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 323, -1, - 359, 326, -1, -1, -1, -1, -1, -1, -1, -1, + 492, -1, -1, 495, 496, -1, 498, 499, 500, 501, + 502, 503, 504, 505, -1, -1, 508, 509, 510, 511, + 512, -1, 260, -1, -1, 263, -1, -1, -1, 267, + -1, -1, -1, -1, -1, -1, -1, -1, 276, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 383, -1, -1, 386, 387, 354, - 355, -1, -1, -1, -1, -1, -1, 396, -1, -1, - -1, 366, -1, 40, -1, 370, 43, -1, 45, -1, - -1, -1, -1, -1, 413, -1, -1, -1, -1, -1, - -1, 58, -1, -1, -1, -1, 63, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 435, -1, -1, -1, - -1, 440, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 452, -1, 454, -1, -1, -1, -1, - 425, -1, 427, -1, -1, -1, -1, -1, 433, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 443, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 457, 458, 459, 460, 461, 462, -1, -1, - -1, -1, -1, 262, -1, -1, 471, -1, -1, -1, - -1, -1, -1, -1, -1, 480, 481, 482, 483, 484, - 485, 486, 487, 488, 489, 490, -1, 492, -1, -1, - 495, 496, 267, 498, 499, 500, 501, 502, 503, 504, - 505, 276, -1, 508, 509, -1, -1, -1, -1, -1, - -1, -1, 0, -1, 289, -1, -1, -1, -1, 318, - 295, 296, 321, -1, -1, -1, -1, -1, -1, 328, - -1, -1, 331, -1, -1, -1, 335, -1, -1, -1, - -1, 340, -1, -1, 343, -1, -1, -1, 323, -1, - -1, 326, -1, 41, -1, -1, 44, -1, -1, -1, - 359, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 59, -1, -1, -1, -1, -1, 352, -1, 354, - 355, -1, -1, -1, 383, -1, -1, 386, 387, -1, - 267, 366, -1, -1, -1, 370, -1, 396, -1, 276, - -1, -1, 40, -1, 42, 43, -1, 45, -1, -1, - -1, -1, 289, -1, 413, -1, -1, -1, 295, 296, - 58, -1, -1, -1, -1, 63, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 435, -1, -1, -1, - -1, 440, -1, -1, -1, -1, 323, -1, -1, 326, - -1, -1, 427, 452, -1, 454, -1, -1, 433, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 443, -1, - -1, -1, -1, -1, -1, 352, -1, 354, 355, -1, - -1, -1, 457, 458, 459, 460, 461, 462, -1, 366, - -1, -1, -1, 370, -1, -1, 471, -1, -1, -1, - -1, -1, -1, -1, -1, 480, 481, 482, 483, 484, - 485, 486, 487, 488, 489, 490, -1, 492, -1, -1, - 495, 496, -1, 498, 499, 500, 501, 502, 503, 504, - 505, -1, -1, 508, 509, -1, -1, -1, -1, -1, - 417, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 427, -1, -1, -1, 40, -1, 433, 43, -1, 45, - -1, -1, -1, -1, -1, -1, 443, -1, -1, -1, - -1, -1, 58, -1, 262, -1, -1, 63, -1, -1, - 457, 458, 459, 460, 461, 462, -1, -1, -1, -1, - -1, -1, -1, -1, 471, -1, -1, -1, -1, -1, - -1, -1, -1, 480, 481, 482, 483, 484, 485, 486, - 487, 488, 489, 490, -1, 492, -1, -1, 495, 496, - -1, 498, 499, 500, 501, 502, 503, 504, 505, 267, - 318, 508, 509, 321, -1, -1, -1, -1, 276, -1, - 328, -1, -1, 331, -1, -1, -1, 335, -1, -1, - -1, 289, 340, -1, -1, 343, -1, 295, 296, -1, + -1, 289, -1, -1, -1, -1, -1, 295, 296, -1, -1, -1, -1, 40, -1, -1, 43, -1, 45, -1, - -1, 359, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 58, -1, -1, -1, 323, 63, -1, 326, -1, - -1, -1, -1, -1, -1, 383, -1, -1, 386, 387, - -1, -1, -1, -1, -1, -1, -1, -1, 396, -1, - -1, -1, -1, -1, 352, -1, 354, 355, -1, -1, - -1, -1, -1, -1, -1, 413, -1, -1, 366, -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, 354, 355, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 366, -1, -1, -1, 370, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 435, -1, -1, - -1, -1, 440, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 452, -1, 454, -1, -1, -1, - -1, -1, -1, -1, 260, -1, -1, -1, -1, -1, - -1, 267, -1, -1, -1, -1, -1, -1, -1, 427, + -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, 260, -1, -1, 263, -1, -1, + -1, 267, -1, -1, -1, -1, -1, 425, -1, 427, 276, -1, -1, -1, -1, 433, -1, -1, -1, -1, -1, -1, -1, 289, -1, 443, -1, -1, -1, 295, - 296, -1, -1, -1, -1, -1, -1, 303, -1, 457, + 296, -1, -1, -1, -1, -1, -1, -1, -1, 457, 458, 459, 460, 461, 462, -1, -1, -1, -1, -1, -1, -1, -1, 471, -1, -1, -1, 323, -1, -1, 326, -1, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, 492, -1, -1, 495, 496, -1, 498, 499, 500, 501, 502, 503, 504, 505, 354, 355, - 508, 509, -1, -1, -1, -1, -1, -1, -1, -1, - 366, -1, -1, -1, 370, -1, -1, -1, -1, -1, - 267, -1, -1, 40, -1, -1, 43, -1, 45, 276, + 508, 509, 510, 511, 512, -1, -1, -1, -1, -1, + 366, -1, -1, 260, 370, -1, 263, -1, -1, -1, + 267, -1, -1, 0, -1, -1, -1, -1, -1, 276, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 58, 289, -1, -1, -1, 63, -1, 295, 296, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 427, -1, -1, -1, -1, 323, 433, -1, 326, - -1, -1, -1, -1, -1, -1, -1, 443, -1, -1, + -1, -1, 289, -1, -1, -1, -1, 40, 295, 296, + 43, -1, 45, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 41, 58, -1, 44, -1, 425, + 63, 427, -1, -1, -1, -1, 323, 433, -1, 326, + -1, -1, 59, -1, -1, -1, -1, 443, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 457, 458, 459, 460, 461, 462, 354, 355, -1, -1, -1, -1, -1, -1, 471, -1, -1, -1, 366, -1, -1, -1, 370, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, 492, -1, -1, 495, 496, -1, 498, 499, 500, 501, 502, 503, 504, 505, - -1, -1, 508, 509, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 508, 509, 510, 511, 512, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 425, -1, 427, -1, -1, -1, -1, -1, 433, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 443, -1, -1, -1, - -1, -1, -1, -1, 451, -1, -1, -1, -1, -1, - 457, 458, 459, 460, 461, 462, -1, -1, -1, -1, - -1, -1, -1, -1, 471, -1, -1, -1, -1, -1, - -1, -1, -1, 480, 481, 482, 483, 484, 485, 486, - 487, 488, 489, 490, -1, 492, -1, -1, 495, 496, - 267, 498, 499, 500, 501, 502, 503, 504, 505, 276, - -1, 508, 509, 40, -1, -1, 43, -1, 45, -1, - -1, -1, 289, -1, -1, -1, -1, -1, 295, 296, - -1, 58, -1, -1, -1, -1, 63, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 0, -1, -1, 323, -1, -1, 326, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 40, 41, -1, - 43, -1, 45, -1, -1, -1, -1, 354, 355, -1, - -1, -1, -1, -1, 41, 58, -1, 44, -1, 366, - 63, -1, -1, 370, -1, -1, -1, -1, -1, -1, - -1, -1, 59, 460, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 470, 471, 472, 473, 474, 475, 476, - 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, - 487, 488, 489, 490, -1, 492, -1, -1, 495, 496, - 417, -1, 499, 500, 501, 502, 503, 504, 505, 506, - 427, 508, 509, 510, 511, 512, 433, -1, -1, -1, -1, -1, -1, -1, -1, -1, 443, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 457, 458, 459, 460, 461, 462, -1, -1, -1, -1, @@ -3401,270 +3394,492 @@ static short yycheck[] = { 9, -1, -1, -1, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, 492, -1, -1, 495, 496, -1, 498, 499, 500, 501, 502, 503, 504, 505, -1, - 267, 508, 509, -1, -1, -1, -1, -1, -1, 276, - -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, - -1, -1, 289, -1, -1, -1, -1, -1, 295, 296, + -1, 508, 509, 510, 511, 512, -1, 260, -1, -1, + 263, -1, -1, -1, 267, -1, -1, 40, -1, 42, + 43, -1, 45, 276, -1, 262, -1, -1, -1, -1, + -1, 261, -1, -1, -1, 58, 289, -1, -1, -1, + 63, -1, 295, 296, -1, -1, -1, -1, -1, -1, + -1, -1, 282, -1, -1, -1, -1, -1, -1, -1, + 290, -1, -1, -1, -1, -1, -1, 297, -1, 299, + 323, 301, -1, 326, -1, -1, 306, -1, -1, -1, + -1, 318, -1, 313, 321, -1, -1, -1, -1, -1, + -1, 328, -1, -1, 331, -1, -1, 327, 335, -1, + -1, 354, 355, 340, -1, -1, 343, -1, 338, -1, + -1, -1, -1, 366, -1, 40, -1, 370, 43, -1, + 45, -1, 359, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 58, -1, -1, -1, -1, 63, -1, + -1, -1, -1, -1, -1, -1, 383, -1, -1, 386, + 387, -1, -1, -1, -1, -1, -1, -1, -1, 396, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 41, -1, 323, 44, -1, 326, - -1, -1, -1, -1, 267, -1, -1, -1, -1, -1, - -1, -1, 59, 276, -1, 262, -1, 40, -1, -1, - 43, -1, 45, -1, -1, 352, 289, 354, 355, -1, - -1, -1, 295, 296, -1, 58, -1, -1, -1, 366, - 63, -1, -1, 370, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 323, -1, -1, 326, -1, -1, -1, -1, -1, -1, - -1, 318, -1, -1, 321, -1, -1, -1, -1, -1, - -1, 328, -1, -1, 331, -1, -1, -1, 335, -1, - -1, 354, 355, 340, -1, -1, 343, -1, -1, -1, - 427, -1, -1, 366, -1, -1, 433, 370, -1, -1, - -1, -1, 359, -1, -1, -1, 443, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 457, 458, 459, 460, 461, 462, 383, -1, -1, 386, - 387, -1, -1, -1, 471, -1, -1, -1, -1, 396, - -1, -1, -1, 480, 481, 482, 483, 484, 485, 486, - 487, 488, 489, 490, 427, 492, 413, -1, 495, 496, - 433, 498, 499, 500, 501, 502, 503, 504, 505, -1, - 443, 508, 509, -1, -1, -1, -1, -1, 435, -1, + -1, -1, 425, -1, 427, 405, 413, -1, -1, -1, + 433, -1, 412, -1, -1, 415, -1, 417, 418, -1, + 443, -1, -1, -1, -1, -1, -1, -1, 435, -1, -1, -1, -1, 440, 457, 458, 459, 460, 461, 462, - -1, -1, -1, -1, -1, 452, -1, 454, 471, -1, - -1, -1, -1, -1, -1, 262, -1, 480, 481, 482, - 483, 484, 485, 486, 487, 488, 489, 490, -1, 492, - -1, -1, 495, 496, -1, 498, 499, 500, 501, 502, - 503, 504, 505, -1, 267, 508, 509, 40, -1, -1, - 43, -1, 45, 276, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 58, 289, -1, -1, -1, - 63, 318, 295, 296, 321, -1, -1, -1, -1, -1, - -1, 328, -1, -1, 331, -1, -1, -1, 335, -1, - -1, -1, -1, 340, -1, -1, 343, -1, -1, -1, + -1, -1, 442, -1, -1, 452, 273, 454, 471, -1, + 277, -1, -1, -1, -1, -1, -1, 480, 481, 482, + 483, 484, 485, 486, 487, 488, 489, 490, 295, 492, + -1, 298, 495, 496, 267, 498, 499, 500, 501, 502, + 503, 504, 505, 276, -1, 508, 509, 510, 511, 512, + -1, 491, -1, -1, -1, -1, 289, -1, -1, -1, + -1, -1, 295, 296, -1, -1, 506, 507, -1, -1, + -1, -1, 339, -1, -1, -1, -1, -1, 345, 346, + 347, -1, 349, 350, 351, -1, 353, -1, -1, -1, 323, -1, -1, 326, -1, -1, -1, -1, -1, -1, - -1, 40, 359, -1, 43, -1, 45, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 58, - -1, 354, 355, -1, 63, -1, 383, -1, -1, 386, - 387, -1, -1, 366, -1, -1, -1, 370, -1, 396, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 413, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 435, -1, - -1, -1, -1, 440, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 427, 452, -1, 454, -1, -1, + -1, -1, -1, -1, -1, -1, 373, -1, 375, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 352, + -1, 354, 355, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 267, 366, -1, -1, -1, 370, -1, 406, + -1, 276, -1, -1, 40, -1, 42, 43, -1, 45, + -1, -1, -1, -1, 289, -1, 423, -1, -1, -1, + 295, 296, 58, -1, -1, -1, -1, 63, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 445, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 323, -1, + -1, 326, -1, -1, 427, -1, -1, -1, -1, -1, 433, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 443, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 454, -1, -1, 457, 458, 459, 460, 461, 462, - -1, -1, -1, -1, -1, -1, -1, -1, 471, -1, + 443, -1, -1, 480, 481, -1, -1, 352, -1, 354, + 355, -1, -1, -1, 457, 458, 459, 460, 461, 462, + 497, 366, -1, -1, -1, 370, -1, -1, 471, -1, -1, -1, -1, -1, -1, -1, -1, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, 492, - -1, -1, 495, 496, 267, 498, 499, 500, 501, 502, - 503, 504, 505, 276, -1, 508, 509, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 289, -1, -1, -1, - -1, -1, 295, 296, -1, -1, -1, -1, -1, -1, - 273, -1, -1, -1, 277, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 291, -1, - 323, -1, 295, 326, -1, 298, -1, -1, 267, -1, - -1, -1, -1, -1, -1, -1, -1, 276, -1, -1, - -1, 40, -1, -1, 43, -1, 45, -1, -1, -1, - 289, 354, 355, -1, -1, -1, 295, 296, -1, 58, - 59, -1, -1, 366, 63, -1, 339, 370, -1, -1, - -1, -1, 345, 346, 347, -1, 349, 350, 351, -1, - 353, -1, -1, -1, 323, -1, -1, 326, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 373, -1, 375, -1, -1, 40, -1, -1, 43, -1, - 45, -1, -1, -1, 417, 354, 355, -1, -1, -1, - -1, -1, -1, 58, 427, -1, -1, 366, 63, -1, - 433, 370, -1, 406, -1, -1, -1, -1, 411, -1, - 443, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 423, -1, -1, -1, 457, 458, 459, 460, 461, 462, - -1, -1, -1, -1, -1, -1, -1, -1, 471, -1, - -1, -1, 445, -1, -1, -1, -1, 480, 481, 482, - 483, 484, 485, 486, 487, 488, 489, 490, 427, 492, - -1, -1, 495, 496, 433, 498, 499, 500, 501, 502, - 503, 504, 505, -1, 443, 508, 509, 480, 481, -1, - -1, -1, -1, -1, -1, 454, -1, -1, 457, 458, - 459, 460, 461, 462, 497, -1, -1, -1, -1, -1, - -1, -1, 471, -1, -1, -1, -1, -1, -1, -1, - -1, 480, 481, 482, 483, 484, 485, 486, 487, 488, - 489, 490, -1, 492, -1, -1, 495, 496, -1, 498, - 499, 500, 501, 502, 503, 504, 505, -1, 267, 508, - 509, -1, -1, -1, -1, -1, -1, 276, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 289, -1, -1, -1, -1, -1, 295, 296, -1, -1, - -1, -1, -1, -1, 273, -1, -1, -1, 277, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 291, -1, 323, -1, 295, 326, -1, 298, - -1, -1, 267, -1, -1, 40, -1, -1, 43, -1, - 45, 276, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 58, 289, 354, 355, -1, 63, -1, - 295, 296, -1, -1, -1, -1, -1, 366, -1, -1, - 339, 370, -1, -1, -1, -1, 345, 346, 347, -1, - 349, 350, 351, -1, 353, -1, -1, -1, 323, -1, - -1, 326, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 373, -1, 375, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 352, 40, 354, - 355, 43, -1, 45, -1, -1, -1, -1, 427, -1, - -1, 366, -1, -1, 433, 370, 58, 406, -1, -1, - -1, 63, -1, -1, 443, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 423, -1, -1, -1, 457, 458, - 459, 460, 461, 462, -1, -1, -1, -1, -1, -1, - -1, -1, 471, -1, -1, -1, 445, -1, -1, -1, - -1, 480, 481, 482, 483, 484, 485, 486, 487, 488, - 489, 490, 427, 492, -1, -1, 495, 496, 433, 498, - 499, 500, 501, 502, 503, 504, 505, -1, 443, 508, - 509, 480, 481, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 457, 458, 459, 460, 461, 462, 497, -1, - -1, -1, -1, -1, -1, -1, 471, -1, -1, -1, + -1, -1, 495, 496, -1, 498, 499, 500, 501, 502, + 503, 504, 505, -1, -1, 508, 509, 510, 511, 512, + -1, -1, 417, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 427, -1, -1, -1, 40, -1, 433, 43, + -1, 45, -1, -1, -1, -1, -1, -1, 443, -1, + -1, -1, 273, -1, 58, -1, 277, -1, -1, 63, + -1, -1, 457, 458, 459, 460, 461, 462, -1, -1, + 291, -1, -1, -1, 295, -1, 471, 298, -1, -1, -1, -1, -1, -1, -1, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, 492, -1, -1, - 495, 496, 267, 498, 499, 500, 501, 502, 503, 504, - 505, 276, 0, 508, 509, -1, -1, -1, -1, -1, - -1, -1, -1, 0, 289, -1, -1, -1, -1, -1, - 295, 296, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 41, -1, -1, 44, -1, 323, -1, - -1, 326, -1, -1, 41, -1, -1, 44, -1, -1, - -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 59, -1, -1, 267, 0, -1, -1, 354, - 355, -1, -1, -1, 276, -1, -1, -1, -1, -1, - -1, 366, -1, -1, -1, 370, 0, 289, -1, -1, - -1, -1, -1, 295, 296, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 41, -1, -1, - 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 323, -1, -1, 326, 59, -1, 41, -1, -1, - 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 427, -1, -1, 59, -1, -1, 433, 0, - -1, -1, 354, 355, -1, -1, -1, -1, 443, -1, - -1, -1, -1, -1, 366, -1, -1, -1, 370, -1, - -1, -1, 457, 458, 459, 460, 461, 462, -1, -1, - -1, -1, -1, -1, -1, -1, 471, -1, -1, -1, - 41, -1, -1, 44, 0, 480, 481, 482, 483, 484, - 485, 486, 487, 488, 489, 490, -1, 492, 59, -1, 495, 496, -1, 498, 499, 500, 501, 502, 503, 504, - 505, -1, -1, 508, 509, 427, -1, -1, -1, -1, - -1, 433, -1, -1, -1, 41, -1, -1, 44, -1, - -1, 443, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 59, 262, 457, 458, 459, 460, 461, - 462, -1, -1, -1, -1, 262, -1, -1, -1, 471, + 505, 267, -1, 508, 509, 510, 511, 512, 339, -1, + 276, -1, -1, -1, 345, 346, 347, -1, 349, 350, + 351, -1, 353, 289, 0, -1, -1, -1, -1, 295, + 296, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 373, -1, 375, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 323, -1, -1, + 326, -1, -1, -1, -1, 41, -1, -1, 44, -1, + -1, -1, -1, -1, -1, 406, -1, -1, -1, -1, + 411, -1, -1, 59, -1, 61, 352, -1, 354, 355, + -1, -1, 423, -1, -1, -1, -1, -1, -1, -1, + 366, -1, -1, -1, 370, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 445, 91, -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, 260, -1, -1, 480, + 481, -1, -1, 267, -1, -1, -1, -1, -1, -1, + -1, 427, 276, -1, -1, 40, 497, 433, 43, -1, + 45, -1, -1, -1, -1, 289, -1, 443, -1, -1, + -1, 295, 296, 58, -1, -1, -1, -1, 63, 303, + -1, 457, 458, 459, 460, 461, 462, -1, -1, -1, + -1, -1, -1, -1, -1, 471, -1, -1, -1, 323, + -1, -1, 326, -1, 480, 481, 482, 483, 484, 485, + 486, 487, 488, 489, 490, -1, 492, -1, -1, 495, + 496, -1, 498, 499, 500, 501, 502, 503, 504, 505, + 354, 355, 508, 509, 510, 511, 512, -1, -1, -1, + -1, -1, 366, -1, -1, -1, 370, -1, -1, -1, + -1, -1, 40, -1, -1, 43, -1, 45, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 58, -1, 258, -1, -1, 63, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 274, -1, + -1, -1, 278, -1, 280, -1, -1, -1, 284, -1, + -1, 287, -1, 427, -1, -1, -1, -1, -1, 433, + -1, -1, -1, -1, 300, -1, -1, -1, -1, 443, + 306, -1, -1, 309, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 457, 458, 459, 460, 461, 462, -1, + -1, -1, -1, -1, -1, -1, -1, 471, -1, -1, + -1, -1, -1, -1, -1, -1, 480, 481, 482, 483, + 484, 485, 486, 487, 488, 489, 490, -1, 492, -1, + -1, 495, 496, -1, 498, 499, 500, 501, 502, 503, + 504, 505, 267, -1, 508, 509, 510, 511, 512, -1, + -1, 276, 378, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 289, -1, -1, -1, -1, -1, + 295, 296, -1, -1, 400, -1, -1, -1, -1, -1, + -1, 407, -1, -1, -1, 411, -1, -1, -1, -1, + -1, -1, 418, -1, -1, -1, -1, -1, 323, -1, + -1, 326, -1, -1, -1, -1, -1, -1, -1, -1, + 436, -1, -1, -1, -1, 441, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 352, -1, 354, + 355, -1, -1, -1, -1, -1, -1, -1, -1, 267, + 466, 366, -1, -1, 470, 370, -1, -1, 276, -1, + -1, 40, -1, -1, 43, -1, 45, -1, -1, -1, + -1, 289, -1, -1, -1, -1, -1, 295, 296, 58, + -1, -1, -1, -1, 63, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 323, -1, -1, 326, -1, + -1, -1, 427, -1, -1, -1, -1, -1, 433, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 443, -1, + -1, -1, -1, -1, -1, -1, 354, 355, -1, -1, + -1, -1, 457, 458, 459, 460, 461, 462, 366, -1, + -1, -1, 370, -1, -1, -1, 471, -1, -1, -1, + -1, -1, -1, -1, -1, 480, 481, 482, 483, 484, + 485, 486, 487, 488, 489, 490, -1, 492, -1, -1, + 495, 496, -1, 498, 499, 500, 501, 502, 503, 504, + 505, -1, -1, 508, 509, 510, 511, 512, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 427, + -1, -1, -1, -1, -1, 433, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 443, -1, -1, -1, -1, + -1, -1, -1, 451, -1, -1, -1, -1, -1, 457, + 458, 459, 460, 461, 462, -1, -1, -1, -1, -1, + -1, -1, -1, 471, -1, -1, -1, -1, -1, -1, + -1, -1, 480, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, -1, 492, -1, -1, 495, 496, -1, + 498, 499, 500, 501, 502, 503, 504, 505, 267, -1, + 508, 509, 510, 511, 512, -1, -1, 276, -1, -1, + 40, -1, -1, 43, -1, 45, -1, -1, -1, -1, + 289, -1, -1, -1, -1, -1, 295, 296, 58, -1, + -1, -1, -1, 63, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 323, -1, -1, 326, -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, 354, 355, -1, -1, -1, + 40, 41, -1, 43, -1, 45, -1, 366, -1, -1, + -1, 370, -1, -1, -1, -1, -1, -1, 58, -1, + -1, 460, -1, 63, -1, -1, -1, -1, -1, -1, + 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, + 479, 480, 481, 482, 483, 484, -1, -1, 487, 488, + 489, 490, -1, 492, -1, -1, 495, 496, 417, -1, + 499, 500, 501, 502, 503, 504, 505, 506, 427, 508, + 509, 510, 511, 512, 433, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 443, -1, -1, -1, 273, -1, + -1, -1, 277, -1, -1, -1, -1, -1, 457, 458, + 459, 460, 461, 462, -1, -1, 291, -1, -1, -1, + 295, -1, 471, 298, -1, -1, -1, -1, -1, -1, + -1, 480, 481, 482, 483, 484, 485, 486, 487, 488, + 489, 490, -1, 492, -1, -1, 495, 496, -1, 498, + 499, 500, 501, 502, 503, 504, 505, 267, -1, 508, + 509, 510, 511, 512, 339, -1, 276, -1, -1, -1, + 345, 346, 347, -1, 349, 350, 351, -1, 353, 289, + -1, -1, -1, -1, -1, 295, 296, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 373, -1, + 375, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 323, -1, -1, 326, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 406, -1, -1, -1, -1, -1, 267, -1, -1, + -1, -1, 352, -1, 354, 355, 276, -1, 423, 40, + -1, -1, 43, -1, 45, -1, 366, -1, -1, 289, + 370, -1, -1, -1, -1, 295, 296, 58, -1, -1, + 445, -1, 63, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 323, -1, -1, 326, -1, -1, -1, + -1, -1, -1, -1, -1, 480, 481, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 427, -1, -1, + -1, -1, 497, 433, 354, 355, -1, -1, -1, -1, + -1, -1, -1, 443, -1, -1, 366, -1, -1, -1, + 370, -1, -1, -1, -1, -1, -1, 457, 458, 459, + 460, 461, 462, -1, -1, -1, -1, -1, -1, -1, + -1, 471, -1, -1, -1, -1, -1, -1, -1, -1, + 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, + 490, -1, 492, -1, -1, 495, 496, -1, 498, 499, + 500, 501, 502, 503, 504, 505, -1, 427, 508, 509, + 510, 511, 512, 433, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 443, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 457, 458, 459, + 460, 461, 462, -1, -1, -1, -1, -1, -1, -1, + -1, 471, -1, -1, -1, -1, -1, -1, -1, -1, + 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, + 490, -1, 492, -1, -1, 495, 496, -1, 498, 499, + 500, 501, 502, 503, 504, 505, 267, -1, 508, 509, + 510, 511, 512, -1, -1, 276, -1, -1, 40, -1, + -1, 43, -1, 45, -1, -1, -1, -1, 289, -1, + -1, -1, -1, -1, 295, 296, 58, -1, -1, -1, + -1, 63, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 323, -1, -1, 326, -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, 354, 355, -1, -1, -1, 40, -1, + -1, 43, -1, 45, -1, 366, -1, -1, -1, 370, + -1, -1, -1, -1, -1, -1, 58, -1, -1, -1, + -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, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 427, -1, -1, -1, + -1, -1, 433, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 443, -1, -1, -1, 273, -1, -1, -1, + 277, -1, -1, 454, -1, -1, 457, 458, 459, 460, + 461, 462, -1, -1, 291, -1, -1, -1, 295, -1, + 471, 298, -1, -1, -1, -1, -1, -1, -1, 480, + 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, + -1, 492, -1, -1, 495, 496, -1, 498, 499, 500, + 501, 502, 503, 504, 505, 267, -1, 508, 509, 510, + 511, 512, 339, -1, 276, -1, -1, -1, 345, 346, + 347, -1, 349, 350, 351, -1, 353, 289, -1, -1, + -1, -1, -1, 295, 296, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 373, -1, 375, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 323, -1, -1, 326, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 406, + -1, -1, -1, -1, -1, 267, -1, -1, -1, -1, + -1, -1, 354, 355, 276, -1, 423, 40, -1, -1, + 43, -1, 45, -1, 366, -1, -1, 289, 370, -1, + -1, -1, -1, 295, 296, 58, 59, -1, 445, -1, + 63, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 323, -1, -1, 326, -1, -1, -1, -1, -1, + -1, -1, -1, 480, 481, 417, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 427, -1, -1, -1, -1, + 497, 433, 354, 355, -1, -1, -1, -1, -1, -1, + -1, 443, -1, -1, 366, -1, -1, -1, 370, -1, + -1, -1, -1, -1, -1, 457, 458, 459, 460, 461, + 462, -1, -1, -1, -1, -1, -1, -1, -1, 471, -1, -1, -1, -1, -1, -1, -1, -1, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, - 492, -1, -1, 495, 496, 0, 498, 499, 500, 501, - 502, 503, 504, 505, -1, -1, 508, 509, -1, -1, - 318, -1, -1, 321, -1, -1, -1, -1, -1, -1, - 328, 318, -1, 331, 321, -1, -1, 335, 262, -1, - -1, 328, 340, -1, 331, 343, 41, -1, 335, 44, - -1, -1, -1, 340, -1, -1, 343, -1, 262, -1, - -1, 359, -1, -1, 59, -1, -1, -1, -1, 0, - -1, -1, 359, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 383, -1, -1, 386, 387, - -1, -1, -1, -1, 318, -1, 383, 321, 396, 386, - 387, -1, -1, -1, 328, -1, -1, 331, -1, 396, - 41, 335, -1, 44, 318, 413, 340, 321, -1, 343, - -1, 262, -1, -1, 328, -1, 413, 331, 59, -1, - -1, 335, 0, -1, -1, 359, 340, 435, -1, 343, - -1, -1, 440, -1, -1, -1, -1, -1, 435, -1, - -1, -1, -1, 440, 452, 359, 454, -1, -1, 383, - -1, -1, 386, 387, -1, 452, 262, 454, -1, -1, - -1, -1, 396, 41, -1, -1, 44, 318, -1, 383, - 321, -1, 386, 387, -1, -1, -1, 328, -1, 413, - 331, 59, 396, -1, 335, -1, -1, -1, -1, 340, - -1, -1, 343, -1, -1, -1, -1, -1, -1, 413, - -1, 435, 0, -1, -1, -1, 440, -1, 359, -1, - -1, -1, 318, -1, -1, 321, -1, -1, 452, -1, - 454, 435, 328, 0, -1, 331, 440, -1, -1, 335, - -1, -1, 383, -1, 340, 386, 387, 343, 452, -1, - 454, -1, -1, 41, -1, 396, 44, -1, -1, -1, - -1, -1, -1, 359, -1, -1, -1, 262, -1, -1, - -1, 59, 413, -1, 41, -1, -1, 44, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 383, -1, -1, - 386, 387, 59, -1, 435, -1, -1, -1, -1, 440, - 396, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 452, -1, 454, -1, -1, -1, 413, -1, -1, - -1, -1, -1, 318, -1, -1, 321, -1, -1, -1, - -1, 262, -1, 328, -1, -1, 331, -1, -1, 435, - 335, -1, -1, -1, 440, 340, -1, -1, 343, -1, - -1, -1, -1, -1, -1, -1, 452, -1, 454, -1, - -1, -1, -1, -1, 359, -1, -1, -1, -1, -1, + 492, -1, -1, 495, 496, -1, 498, 499, 500, 501, + 502, 503, 504, 505, -1, 427, 508, 509, 510, 511, + 512, 433, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 443, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 454, -1, -1, 457, 458, 459, 460, 461, + 462, -1, -1, -1, -1, -1, -1, -1, -1, 471, + -1, -1, -1, -1, -1, -1, -1, -1, 480, 481, + 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, + 492, -1, -1, 495, 496, -1, 498, 499, 500, 501, + 502, 503, 504, 505, 267, -1, 508, 509, 510, 511, + 512, -1, -1, 276, -1, -1, 40, -1, -1, 43, + -1, 45, -1, -1, -1, -1, 289, -1, -1, -1, + -1, -1, 295, 296, 58, -1, -1, -1, -1, 63, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 318, 383, -1, - 321, 386, 387, -1, 262, -1, -1, 328, -1, -1, - 331, 396, -1, -1, 335, -1, -1, -1, -1, 340, - -1, -1, 343, -1, -1, -1, -1, -1, 413, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 359, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 435, -1, -1, -1, -1, 440, -1, -1, -1, -1, - 318, -1, 383, 321, -1, 386, 387, 452, -1, 454, - 328, -1, -1, 331, -1, 396, -1, 335, -1, -1, - -1, -1, 340, -1, 262, 343, -1, -1, -1, -1, - -1, -1, 413, -1, -1, -1, -1, -1, -1, -1, - -1, 359, -1, -1, -1, 262, -1, -1, -1, -1, - -1, -1, -1, -1, 435, -1, -1, -1, -1, 440, - -1, -1, -1, -1, -1, 383, -1, -1, 386, 387, + 323, -1, -1, 326, -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, 354, 355, -1, -1, -1, 40, -1, -1, 43, + -1, 45, -1, 366, -1, -1, -1, 370, -1, -1, + -1, 273, -1, -1, 58, 277, -1, -1, -1, 63, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 295, -1, -1, 298, -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, 427, -1, -1, -1, -1, -1, + 433, -1, -1, -1, -1, -1, -1, 339, -1, -1, + 443, -1, -1, 345, 346, 347, -1, 349, 350, 351, + -1, 353, -1, -1, 457, 458, 459, 460, 461, 462, + -1, -1, -1, -1, -1, -1, -1, -1, 471, -1, + -1, 373, -1, 375, -1, -1, -1, 480, 481, 482, + 483, 484, 485, 486, 487, 488, 489, 490, -1, 492, + -1, -1, 495, 496, -1, 498, 499, 500, 501, 502, + 503, 504, 505, 267, 406, 508, 509, 510, 511, 512, + -1, -1, 276, -1, -1, -1, -1, -1, -1, -1, + -1, 423, -1, -1, -1, 289, -1, -1, -1, -1, + -1, 295, 296, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 445, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 323, + -1, -1, 326, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 0, -1, -1, -1, -1, 480, 481, + -1, -1, -1, 267, -1, -1, -1, -1, -1, -1, + 354, 355, 276, -1, -1, 497, -1, -1, -1, -1, + -1, -1, 366, -1, -1, 289, 370, -1, -1, -1, + -1, 295, 296, -1, 41, 42, 43, 44, 45, 46, + 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 59, 60, 61, 62, -1, -1, -1, 323, + -1, -1, 326, -1, -1, -1, -1, 0, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 427, 91, -1, -1, -1, -1, 433, + 354, 355, -1, -1, -1, -1, -1, -1, -1, 443, + -1, -1, 366, -1, -1, -1, 370, -1, 41, -1, + -1, 44, -1, 457, 458, 459, 460, 461, 462, -1, + -1, -1, -1, -1, -1, -1, 59, 471, -1, -1, + -1, -1, -1, -1, -1, -1, 480, 481, 482, 483, + 484, 485, 486, 487, 488, 489, 490, -1, 492, -1, + -1, 495, 496, -1, 498, 499, 500, 501, 502, 503, + 504, 505, -1, 427, 508, 509, 510, 511, 512, 433, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 443, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 457, 458, 459, 460, 461, 462, -1, + -1, -1, -1, -1, -1, -1, -1, 471, -1, -1, + -1, -1, -1, -1, -1, 0, 480, 481, 482, 483, + 484, 485, 486, 487, 488, 489, 490, -1, 492, -1, + -1, 495, 496, -1, 498, 499, 500, 501, 502, 503, + 504, 505, -1, -1, 508, 509, 510, 511, 512, -1, + -1, -1, -1, -1, -1, 262, 41, 42, 43, 44, + 45, 46, 47, -1, -1, 272, -1, -1, -1, -1, + -1, -1, -1, 280, 59, 60, 61, 62, 285, -1, + -1, 288, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, + -1, -1, -1, -1, -1, -1, 91, -1, -1, -1, + -1, 318, -1, -1, 321, -1, -1, 324, -1, -1, + -1, 328, -1, -1, 331, -1, 333, -1, 335, 262, + -1, -1, -1, 340, 341, -1, 343, -1, -1, -1, + 41, 42, 43, 44, 45, 46, 47, -1, -1, -1, + -1, -1, 359, 360, -1, 362, -1, -1, 59, 60, + 61, 62, -1, -1, -1, -1, -1, -1, -1, 376, + -1, 378, 379, 380, -1, -1, 383, -1, -1, 386, + 387, -1, -1, 0, -1, 318, -1, -1, 321, 396, + 91, -1, -1, -1, -1, 328, -1, -1, 331, -1, + -1, -1, 335, -1, -1, -1, 413, 340, -1, -1, + 343, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 429, -1, 41, -1, 359, 44, 435, -1, + -1, -1, -1, 440, -1, -1, -1, -1, -1, -1, + -1, -1, 59, -1, -1, 452, -1, 454, -1, -1, + 383, -1, -1, 386, 387, 0, -1, -1, -1, -1, + -1, -1, -1, 396, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 262, -1, -1, + 413, -1, -1, -1, -1, -1, -1, 272, -1, -1, + -1, -1, -1, -1, -1, 280, 41, -1, -1, 44, + 285, -1, 435, 288, -1, -1, -1, 440, -1, -1, + -1, -1, -1, -1, 59, -1, -1, -1, -1, 452, + -1, 454, -1, -1, -1, -1, -1, -1, -1, 0, + -1, -1, -1, 318, -1, -1, 321, -1, -1, 324, + -1, -1, -1, 328, -1, -1, 331, -1, 333, -1, + 335, -1, -1, -1, -1, 340, 341, -1, 343, -1, + -1, 262, -1, 0, -1, -1, -1, -1, -1, -1, + 41, 272, -1, 44, 359, 360, -1, 362, -1, 280, + -1, -1, -1, -1, 285, -1, -1, 288, 59, -1, + -1, 376, 0, 378, 379, 380, -1, -1, 383, -1, + -1, 386, 387, -1, 41, -1, -1, 44, -1, -1, + -1, 396, -1, 0, -1, -1, -1, 318, -1, -1, + 321, -1, 59, 324, -1, -1, -1, 328, 413, -1, + 331, -1, 333, 41, 335, -1, 44, -1, -1, 340, + 341, -1, 343, -1, 429, 262, -1, -1, -1, -1, + 435, 59, -1, -1, 41, 440, -1, 44, 359, 360, + -1, 362, -1, -1, -1, -1, -1, 452, -1, 454, + -1, -1, 59, -1, -1, 376, -1, 378, 379, 380, + -1, -1, 383, -1, -1, 386, 387, -1, -1, -1, + -1, -1, -1, -1, -1, 396, -1, -1, -1, -1, + 0, 318, -1, -1, 321, -1, -1, -1, -1, -1, + -1, 328, 413, -1, 331, -1, -1, 262, 335, -1, + -1, -1, -1, 340, -1, -1, 343, -1, 429, -1, + -1, -1, -1, 0, 435, -1, -1, -1, -1, 440, + -1, 41, 359, -1, 44, -1, -1, -1, -1, -1, + -1, 452, -1, 454, -1, -1, -1, -1, -1, 59, + -1, -1, -1, -1, -1, -1, 383, -1, -1, 386, + 387, -1, -1, 318, 41, -1, 321, 44, -1, 396, + -1, -1, -1, 328, -1, -1, 331, -1, -1, -1, + 335, 262, 59, -1, -1, 340, 413, -1, 343, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 359, -1, -1, -1, 435, -1, + -1, -1, -1, 440, -1, 262, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 452, -1, 454, 383, -1, + -1, 386, 387, -1, -1, -1, -1, 318, -1, -1, + 321, 396, -1, -1, 262, -1, -1, 328, -1, -1, + 331, -1, -1, -1, 335, -1, -1, -1, 413, 340, + 0, -1, 343, -1, -1, 262, -1, -1, -1, -1, + -1, 318, -1, -1, 321, -1, -1, -1, 359, -1, + 435, 328, -1, -1, 331, 440, -1, -1, 335, 0, + -1, -1, -1, 340, -1, -1, 343, 452, -1, 454, + 318, 41, 383, 321, 44, 386, 387, -1, -1, -1, + 328, -1, 359, 331, -1, 396, -1, 335, -1, 59, + -1, 318, 340, 0, 321, 343, -1, -1, -1, -1, + 41, 328, 413, 44, 331, -1, 383, -1, 335, 386, + 387, 359, -1, 340, -1, -1, 343, -1, 59, 396, + -1, -1, 262, -1, 435, -1, -1, -1, -1, 440, + -1, -1, 359, -1, 41, 383, 413, 44, 386, 387, -1, 452, -1, 454, -1, -1, -1, -1, 396, -1, - 318, -1, -1, 321, -1, -1, 271, -1, -1, -1, - 328, -1, -1, 331, -1, 413, -1, 335, -1, -1, - -1, 318, 340, -1, 321, 343, -1, -1, -1, -1, - -1, 328, -1, 271, 331, -1, 301, 435, 335, -1, - -1, 359, 440, 340, -1, -1, 343, 312, 313, -1, - 315, -1, -1, 318, 452, -1, 454, -1, -1, -1, - -1, -1, 359, 301, -1, 383, -1, 332, 386, 387, - 308, -1, -1, 338, 312, 313, -1, 315, 396, -1, - 318, -1, -1, -1, 271, -1, 383, -1, -1, 386, - 387, -1, -1, -1, 332, 413, -1, -1, -1, 396, - 338, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 301, -1, 413, 435, -1, -1, - -1, -1, 440, -1, -1, 312, 313, -1, 315, -1, - -1, 318, -1, 398, 452, -1, 454, -1, 435, -1, - -1, -1, -1, 440, -1, 332, -1, -1, -1, -1, - -1, 338, 417, -1, -1, 452, -1, 454, -1, -1, - 398, -1, -1, -1, -1, -1, -1, 432, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 442, -1, 417, + -1, -1, 59, -1, -1, 262, 383, 0, 435, 386, + 387, -1, -1, 440, -1, 413, -1, -1, -1, 396, + -1, -1, -1, -1, -1, 452, -1, 454, 318, -1, + -1, 321, -1, -1, -1, -1, 413, 435, 328, -1, + -1, 331, 440, -1, -1, 335, -1, -1, 41, -1, + 340, 44, -1, 343, 452, -1, 454, -1, 435, -1, + -1, 318, -1, 440, 321, -1, 59, -1, -1, 359, + -1, 328, -1, -1, 331, 452, -1, 454, 335, -1, + -1, 0, -1, 340, -1, -1, 343, -1, -1, -1, + -1, -1, -1, 383, -1, -1, 386, 387, -1, -1, + -1, -1, 359, -1, -1, -1, 396, -1, -1, -1, + 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 41, 413, -1, 44, 383, -1, -1, 386, + 387, -1, -1, -1, -1, -1, -1, -1, -1, 396, + 59, -1, 262, -1, 0, 435, -1, -1, -1, -1, + 440, 41, -1, -1, 44, 0, 413, -1, -1, -1, + -1, -1, 452, -1, 454, -1, -1, -1, -1, 59, + -1, 262, -1, -1, -1, -1, -1, -1, 435, -1, + -1, -1, -1, 440, -1, 41, -1, -1, 44, -1, + -1, -1, -1, -1, -1, 452, 41, 454, 318, 44, + -1, 321, -1, 59, -1, 262, -1, -1, 328, -1, + -1, 331, -1, -1, 59, 335, -1, -1, -1, -1, + 340, -1, -1, 343, -1, -1, -1, 318, -1, -1, + 321, -1, -1, -1, -1, -1, -1, 328, -1, 359, + 331, -1, -1, -1, 335, -1, -1, -1, -1, 340, + -1, -1, 343, -1, -1, -1, -1, -1, -1, -1, + -1, 318, -1, 383, 321, -1, 386, 387, 359, 262, + -1, 328, -1, -1, 331, -1, 396, -1, 335, -1, + -1, -1, -1, 340, -1, -1, 343, -1, -1, -1, + -1, -1, 383, 413, -1, 386, 387, -1, -1, -1, + -1, -1, 359, -1, -1, 396, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 435, -1, -1, -1, -1, + 440, -1, 413, -1, -1, 318, 383, -1, 321, 386, + 387, -1, 452, -1, 454, 328, -1, -1, 331, 396, + -1, -1, 335, 262, 435, -1, -1, 340, -1, 440, + 343, -1, -1, -1, -1, -1, 413, -1, -1, -1, + -1, 452, -1, 454, -1, -1, 359, -1, -1, -1, + -1, -1, 262, -1, -1, -1, -1, -1, 435, -1, + -1, -1, -1, 440, -1, -1, -1, -1, -1, -1, + 383, -1, -1, 386, 387, 452, -1, 454, -1, 318, + -1, -1, 321, 396, -1, -1, 262, -1, -1, 328, + -1, -1, 331, -1, -1, -1, 335, 262, -1, -1, + 413, 340, -1, -1, 343, -1, -1, -1, 318, -1, + -1, 321, -1, -1, -1, -1, -1, -1, 328, -1, + 359, 331, 435, -1, -1, 335, -1, 440, -1, -1, + 340, -1, -1, 343, -1, -1, -1, -1, -1, 452, + -1, 454, 318, -1, 383, 321, -1, 386, 387, 359, + -1, -1, 328, 318, -1, 331, 321, 396, -1, 335, + -1, -1, -1, 328, 340, -1, 331, 343, -1, -1, + 335, -1, -1, 383, 413, 340, 386, 387, 343, -1, + -1, -1, 271, 359, -1, -1, 396, -1, -1, -1, + -1, -1, -1, -1, 359, -1, 435, -1, -1, -1, + -1, 440, -1, 413, -1, -1, -1, 383, -1, -1, + 386, 387, 301, 452, -1, 454, -1, -1, 383, 308, + 396, 386, 387, 312, 313, 435, 315, -1, -1, 318, + 440, 396, -1, -1, -1, -1, -1, 413, -1, -1, + -1, -1, 452, 332, 454, -1, -1, -1, 413, 338, + -1, -1, -1, -1, -1, -1, 271, -1, -1, 435, + -1, -1, -1, -1, 440, -1, -1, -1, -1, -1, + 435, -1, -1, -1, -1, 440, 452, -1, 454, -1, + 271, -1, -1, -1, -1, -1, 301, 452, -1, 454, + -1, -1, -1, -1, -1, -1, -1, 312, 313, -1, + 315, -1, -1, 318, -1, -1, -1, -1, -1, 398, + 301, -1, -1, -1, -1, -1, -1, 332, -1, -1, + -1, 312, 313, 338, 315, -1, -1, 318, 417, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 332, -1, 432, -1, -1, -1, 338, -1, -1, + -1, -1, -1, 442, -1, -1, -1, -1, -1, -1, + -1, -1, 451, -1, 453, -1, -1, -1, -1, -1, + -1, 460, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 398, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 489, 490, 417, 492, -1, -1, -1, 398, -1, -1, + 499, 500, 501, 502, 503, -1, 505, 432, -1, 508, + 509, 510, 511, 512, -1, -1, 417, 442, -1, -1, -1, -1, -1, -1, -1, -1, 451, -1, 453, -1, - -1, -1, -1, -1, 432, 460, -1, -1, -1, -1, - -1, -1, -1, -1, 442, -1, 273, -1, -1, -1, - 277, 398, -1, 451, -1, 453, -1, 284, -1, -1, - -1, -1, 460, -1, 489, 490, -1, 492, 295, -1, - 417, 298, -1, -1, 499, 500, 501, 502, 503, -1, - 505, -1, -1, 508, 509, 432, -1, -1, -1, -1, - -1, 489, 490, -1, 492, 442, -1, -1, -1, -1, - -1, 499, 500, 501, 502, 503, 453, 505, -1, -1, - 508, 509, 339, 460, -1, -1, -1, -1, 345, 346, + -1, 432, -1, -1, -1, 460, -1, -1, -1, -1, + -1, 442, -1, -1, -1, -1, 273, -1, -1, -1, + 277, -1, 453, -1, -1, -1, -1, 284, -1, 460, + -1, -1, -1, -1, 489, 490, -1, 492, 295, -1, + -1, 298, -1, -1, 499, 500, 501, 502, 503, -1, + 505, -1, -1, 508, 509, 510, 511, 512, 489, 490, + -1, 492, 273, -1, -1, -1, 277, -1, 499, 500, + 501, 502, 503, -1, 505, -1, -1, 508, 509, 510, + 511, 512, 339, -1, 295, -1, -1, 298, 345, 346, 347, -1, 349, 350, 351, -1, 353, -1, -1, -1, - -1, -1, -1, -1, -1, 273, -1, -1, -1, 277, - -1, -1, 489, 490, -1, 492, 373, -1, 375, -1, - -1, -1, 499, 500, 501, 502, 503, 295, 505, -1, - 298, 508, 509, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 406, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 423, -1, -1, -1, - -1, 339, -1, -1, -1, -1, -1, 345, 346, 347, - -1, 349, 350, 351, -1, 353, -1, -1, 445, -1, - -1, -1, -1, 273, -1, -1, -1, 277, -1, -1, - -1, -1, -1, 460, -1, 373, -1, 375, -1, -1, - -1, 291, -1, -1, -1, 295, -1, -1, 298, -1, + -1, -1, -1, -1, -1, -1, 373, -1, 375, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 339, -1, + -1, -1, -1, -1, 345, 346, 347, -1, 349, 350, + 351, -1, 353, -1, -1, -1, -1, -1, -1, 406, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 373, -1, 375, -1, 423, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 445, -1, + -1, -1, -1, -1, -1, 406, -1, -1, -1, -1, + -1, -1, -1, 460, -1, -1, -1, -1, -1, -1, + -1, -1, 423, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 480, 481, -1, -1, -1, -1, -1, - -1, -1, 489, 490, -1, 492, -1, -1, 406, -1, - 497, -1, 499, 500, 501, 502, 503, -1, 505, -1, - -1, 508, 509, -1, -1, 423, -1, -1, -1, 339, - -1, -1, -1, -1, -1, 345, 346, 347, -1, 349, - 350, 351, -1, 353, -1, -1, -1, 445, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 460, 373, -1, 375, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 480, 481, -1, -1, -1, -1, -1, -1, - -1, 489, 490, -1, 492, -1, 406, -1, -1, 497, - -1, 499, 500, 501, 502, 503, -1, 505, -1, -1, - 508, 509, -1, 423, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 445, -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, - 480, 481, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 497, + -1, -1, 489, 490, 445, 492, -1, -1, -1, -1, + 497, -1, 499, 500, 501, 502, 503, -1, 505, 460, + -1, 508, 509, 510, 511, 512, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 480, + 481, -1, -1, -1, -1, -1, -1, -1, 489, 490, + -1, 492, -1, -1, -1, -1, 497, -1, 499, 500, + 501, 502, 503, -1, 505, -1, -1, 508, 509, 510, + 511, 512, }; #define YYFINAL 20 #ifndef YYDEBUG #define YYDEBUG 0 #endif -#define YYMAXTOKEN 512 +#define YYMAXTOKEN 515 #if YYDEBUG char *yyname[] = { "end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, @@ -3706,7 +3921,8 @@ char *yyname[] = { "CURRENT_USER","CURRENT_ROLE","KW_BREAK","SUBSTRING","RECREATE","KW_DESCRIPTOR", "FIRST","SKIP","CURRENT_CONNECTION","CURRENT_TRANSACTION","BIGINT","CASE", "NULLIF","COALESCE","USING","NULLS","LAST","ROW_COUNT","LOCK","SAVEPOINT", -"RELEASE","STATEMENT","LEAVE","INSERTING","UPDATING","DELETING", +"RELEASE","STATEMENT","LEAVE","INSERTING","UPDATING","DELETING","KW_INSERTING", +"KW_UPDATING","KW_DELETING", }; char *yyrule[] = { "$accept : top", @@ -4059,16 +4275,7 @@ char *yyrule[] = { "err : GDSCODE symbol_gdscode_name", "err : EXCEPTION symbol_exception_name", "err : ANY", -"invoke_procedure : EXECUTE PROCEDURE symbol_procedure_name prc_inputs", -"prc_inputs : prm_const_list", -"prc_inputs : '(' prm_const_list ')'", -"prc_inputs :", -"prm_const_list : parameter", -"prm_const_list : constant", -"prm_const_list : null_value", -"prm_const_list : prm_const_list ',' parameter", -"prm_const_list : prm_const_list ',' constant", -"prm_const_list : prm_const_list ',' null_value", +"invoke_procedure : EXECUTE PROCEDURE symbol_procedure_name proc_inputs", "view_clause : symbol_view_name column_parens_opt AS begin_string union_view check_opt end_string", "rview_clause : symbol_view_name column_parens_opt AS begin_string union_view check_opt end_string", "union_view : union_view_expr", @@ -4167,9 +4374,6 @@ char *yyrule[] = { "keyword_or_column : CURRENT_TRANSACTION", "keyword_or_column : ROW_COUNT", "keyword_or_column : SAVEPOINT", -"keyword_or_column : INSERTING", -"keyword_or_column : UPDATING", -"keyword_or_column : DELETING", "col_opt : ALTER", "col_opt : ALTER COLUMN", "alter_data_type_or_domain : non_array_type begin_trigger", @@ -4483,10 +4687,20 @@ char *yyrule[] = { "simple_column_name : symbol_column_name", "update_column_name : simple_column_name", "update_column_name : symbol_table_alias_name '.' symbol_column_name", -"search_condition : predicate", +"search_condition : trigger_action_predicate", +"search_condition : NOT trigger_action_predicate", +"search_condition : simple_search_condition", "search_condition : search_condition OR search_condition", "search_condition : search_condition AND search_condition", -"search_condition : NOT search_condition", +"bracable_search_condition : simple_search_condition", +"bracable_search_condition : NOT trigger_action_predicate", +"bracable_search_condition : bracable_search_condition OR search_condition", +"bracable_search_condition : bracable_search_condition AND search_condition", +"bracable_search_condition : special_trigger_action_predicate OR search_condition", +"bracable_search_condition : special_trigger_action_predicate AND search_condition", +"simple_search_condition : predicate", +"simple_search_condition : '(' bracable_search_condition ')'", +"simple_search_condition : NOT simple_search_condition", "predicate : comparison_predicate", "predicate : between_predicate", "predicate : like_predicate", @@ -4497,8 +4711,6 @@ char *yyrule[] = { "predicate : containing_predicate", "predicate : starting_predicate", "predicate : unique_predicate", -"predicate : trigger_action_predicate", -"predicate : '(' search_condition ')'", "comparison_predicate : value '=' value", "comparison_predicate : value '<' value", "comparison_predicate : value '>' value", @@ -4546,6 +4758,9 @@ char *yyrule[] = { "trigger_action_predicate : INSERTING", "trigger_action_predicate : UPDATING", "trigger_action_predicate : DELETING", +"special_trigger_action_predicate : KW_INSERTING", +"special_trigger_action_predicate : KW_UPDATING", +"special_trigger_action_predicate : KW_DELETING", "in_predicate_value : table_subquery", "in_predicate_value : '(' value_list ')'", "table_subquery : '(' column_select ')'", @@ -4702,6 +4917,9 @@ char *yyrule[] = { "non_reserved_word : NULLS", "non_reserved_word : STATEMENT", "non_reserved_word : USING", +"non_reserved_word : INSERTING", +"non_reserved_word : UPDATING", +"non_reserved_word : DELETING", }; #endif #ifndef YYSTYPE @@ -4795,9 +5013,10 @@ void LEX_string ( lex.line_start_bk = lex.line_start; lex.lines_bk = lex.lines; lex.param_number = 1; - lex.after_select = false; + lex.prev_keyword = -1; lex.limit_clause = false; lex.first_detection = false; + lex.brace_analysis = false; #ifdef DEV_BUILD if (DSQL_debug & 32) printf("%.*s\n", (int)length, string); @@ -5272,7 +5491,9 @@ inline static int yylex ( USHORT parser_version, BOOLEAN *stmt_ambiguous) { - return lex.yylex(client_dialect, db_dialect, parser_version, stmt_ambiguous); + int temp = lex.yylex(client_dialect, db_dialect, parser_version, stmt_ambiguous); + lex.prev_keyword = temp; + return temp; } int LexerState::yylex ( @@ -5301,8 +5522,6 @@ SSHORT c; USHORT buffer_len; STR delimited_id_str; -bool was_after_select = after_select; -after_select = false; /* Find end of white space and skip comments */ @@ -5665,6 +5884,35 @@ if (tok_class & CHR_LETTER) CHECK_BOUND(p); *p = 0; sym = HSHD_lookup (NULL_PTR, (TEXT *) string, (SSHORT)(p - string), SYM_keyword, parser_version); + if (sym) + { + /* 13 June 2003. Nickolay Samofatov + * Detect INSERTING/UPDATING/DELETING as non-reserved keywords. + * We need to help parser from lexer because our grammar is not LARL(1) in this case + */ + if (prev_keyword == '(' && !brace_analysis && + (sym->sym_keyword == INSERTING || + sym->sym_keyword == UPDATING || + sym->sym_keyword == DELETING + )) + { + LexerState savedState = lex; + int nextToken = yylex(client_dialect,db_dialect,parser_version,stmt_ambiguous); + lex = savedState; + if (nextToken==OR || nextToken==AND) { + switch(sym->sym_keyword) { + case INSERTING: + yylval = (DSQL_NOD) sym->sym_object; + return KW_INSERTING; + case UPDATING: + yylval = (DSQL_NOD) sym->sym_object; + return KW_UPDATING; + case DELETING: + yylval = (DSQL_NOD) sym->sym_object; + return KW_DELETING; + } + } + } /* 23 May 2003. Nickolay Samofatov * Detect FIRST/SKIP as non-reserved keywords * 1. We detect FIRST or SKIP as keywords if they appear just after SELECT and @@ -5673,10 +5921,8 @@ if (tok_class & CHR_LETTER) * 3. We detect FIRST if we are explicitly asked for (such as in NULLS FIRST/LAST clause) * 4. In all other cases we return them as SYMBOL */ - if (sym) - { if ((sym->sym_keyword == FIRST && !first_detection) || sym->sym_keyword == SKIP) { - if (was_after_select || limit_clause) { + if (prev_keyword == SELECT || limit_clause) { LexerState savedState = lex; int nextToken = yylex(client_dialect,db_dialect,parser_version,stmt_ambiguous); lex = savedState; @@ -5693,8 +5939,6 @@ if (tok_class & CHR_LETTER) } /* else fall down and return token as SYMBOL */ } else { yylval = (DSQL_NOD) sym->sym_object; - if (sym->sym_keyword == SELECT) - after_select = true; return sym->sym_keyword; } } @@ -5716,6 +5960,60 @@ if (last_token + 1 < end) return sym->sym_keyword; } } + +/* We need to swallow braces around INSERTING/UPDATING/DELETING keywords */ +/* This algorithm is not perfect, but it is ok for now. + It should be dropped when BOOLEAN datatype is introduced in Firebird */ +if ( c == '(' && !brace_analysis ) { + LexerState savedState = lex; + brace_analysis = true; + int openCount = 0; + int nextToken; + do { + openCount++; + nextToken = yylex(client_dialect,db_dialect,parser_version,stmt_ambiguous); + } while (nextToken == '('); + DSQL_NOD temp_val = yylval; + if (nextToken == INSERTING || nextToken == UPDATING || nextToken == DELETING) + { + /* Skip closing braces. */ + while ( openCount && + yylex(client_dialect,db_dialect, + parser_version,stmt_ambiguous) == ')') + { + openCount--; + } + if (openCount) { + /* Not enough closing braces. Restore status quo. */ + lex = savedState; + } + else { + /* Cool! We successfully swallowed braces ! */ + brace_analysis = false; + yylval = temp_val; + /* Check if we need to handle LR(2) grammar case */ + if (prev_keyword == '(') { + savedState = lex; + int token = yylex(client_dialect,db_dialect,parser_version,stmt_ambiguous); + lex = savedState; + if (token==OR || token==AND) { + switch(nextToken) { + case INSERTING: + return KW_INSERTING; + case UPDATING: + return KW_UPDATING; + case DELETING: + return KW_DELETING; + } + } + } + return nextToken; + } + } else { + /* Restore status quo. */ + lex = savedState; + } +} /* Single character punctuation are simply passed on */ @@ -6772,375 +7070,357 @@ case 350: yyvsp[0], make_node (nod_all, (int) 0, NULL)); } break; case 351: -{ yyval = make_list (yyvsp[0]); } -break; -case 352: -{ yyval = make_list (yyvsp[-1]); } -break; -case 353: -{ yyval = NULL; } -break; -case 357: -{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } -break; -case 358: -{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } -break; -case 359: -{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } -break; -case 360: { yyval = make_node (nod_def_view, (int) e_view_count, yyvsp[-6], yyvsp[-5], yyvsp[-2], yyvsp[-1], yyvsp[0]); } break; -case 361: +case 352: { yyval = make_node (nod_redef_view, (int) e_view_count, yyvsp[-6], yyvsp[-5], yyvsp[-2], yyvsp[-1], yyvsp[0]); } break; -case 362: +case 353: { yyval = make_node (nod_select, (int) 2, yyvsp[0], NULL); } break; -case 363: +case 354: { yyval = make_node (nod_list, (int) 1, yyvsp[0]); } break; -case 364: +case 355: { yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; -case 365: +case 356: { yyval = make_flag_node (nod_list, NOD_UNION_ALL, 2, yyvsp[-3], yyvsp[0]); } break; -case 366: +case 357: { yyval = make_node (nod_select_expr, e_sel_count, NULL, yyvsp[-5], yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0], NULL, NULL); } break; -case 367: +case 358: { yyval = make_list (yyvsp[0]); } break; -case 369: +case 360: { yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; -case 372: +case 363: { yyval = make_node (nod_join, (int) e_join_count, yyvsp[-5], yyvsp[-4], yyvsp[-2], yyvsp[0]); } break; -case 373: +case 364: { yyval = yyvsp[-1]; } break; -case 374: +case 365: { lex.beginning = lex_position(); } break; -case 375: +case 366: { yyval = (DSQL_NOD) MAKE_string(lex.beginning, (lex_position() == lex.end) ? lex_position()-lex.beginning : lex.last_token-lex.beginning);} break; -case 376: +case 367: { lex.beginning = lex.last_token; } break; -case 377: +case 368: { yyval = (DSQL_NOD) MAKE_string(lex.beginning, lex_position()-lex.beginning); } break; -case 378: +case 369: { yyval = make_node (nod_def_constraint, (int) e_cnstr_count, MAKE_string(NULL_STRING, 0), NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); } break; -case 379: +case 370: { yyval = 0; } break; -case 380: +case 371: { yyval = make_node (nod_def_trigger, (int) e_trg_count, yyvsp[-8], yyvsp[-6], yyvsp[-5], yyvsp[-4], yyvsp[-3], yyvsp[-1], yyvsp[0], NULL, NULL); } break; -case 381: +case 372: { yyval = make_node (nod_replace_trigger, (int) e_trg_count, yyvsp[-8], yyvsp[-6], yyvsp[-5], yyvsp[-4], yyvsp[-3], yyvsp[-1], yyvsp[0], NULL, NULL); } break; -case 382: +case 373: { yyval = MAKE_constant ((STR) 0, CONSTANT_SLONG); } break; -case 383: +case 374: { yyval = MAKE_constant ((STR) 1, CONSTANT_SLONG); } break; -case 384: +case 375: { yyval = NULL; } break; -case 385: +case 376: { yyval = MAKE_trigger_type (yyvsp[-1], yyvsp[0]); } break; -case 386: +case 377: { yyval = MAKE_constant ((STR) 0, CONSTANT_SLONG); } break; -case 387: +case 378: { yyval = MAKE_constant ((STR) 1, CONSTANT_SLONG); } break; -case 388: +case 379: { yyval = MAKE_constant ((STR) TRIGGER_TYPE_SUFFIX (1, 0, 0), CONSTANT_SLONG); } break; -case 389: +case 380: { yyval = MAKE_constant ((STR) TRIGGER_TYPE_SUFFIX (2, 0, 0), CONSTANT_SLONG); } break; -case 390: +case 381: { yyval = MAKE_constant ((STR) TRIGGER_TYPE_SUFFIX (3, 0, 0), CONSTANT_SLONG); } break; -case 391: +case 382: { yyval = MAKE_constant ((STR) TRIGGER_TYPE_SUFFIX (1, 2, 0), CONSTANT_SLONG); } break; -case 392: +case 383: { yyval = MAKE_constant ((STR) TRIGGER_TYPE_SUFFIX (1, 3, 0), CONSTANT_SLONG); } break; -case 393: +case 384: { yyval = MAKE_constant ((STR) TRIGGER_TYPE_SUFFIX (2, 1, 0), CONSTANT_SLONG); } break; -case 394: +case 385: { yyval = MAKE_constant ((STR) TRIGGER_TYPE_SUFFIX (2, 3, 0), CONSTANT_SLONG); } break; -case 395: +case 386: { yyval = MAKE_constant ((STR) TRIGGER_TYPE_SUFFIX (3, 1, 0), CONSTANT_SLONG); } break; -case 396: +case 387: { yyval = MAKE_constant ((STR) TRIGGER_TYPE_SUFFIX (3, 2, 0), CONSTANT_SLONG); } break; -case 397: +case 388: { yyval = MAKE_constant ((STR) TRIGGER_TYPE_SUFFIX (1, 2, 3), CONSTANT_SLONG); } break; -case 398: +case 389: { yyval = MAKE_constant ((STR) TRIGGER_TYPE_SUFFIX (1, 3, 2), CONSTANT_SLONG); } break; -case 399: +case 390: { yyval = MAKE_constant ((STR) TRIGGER_TYPE_SUFFIX (2, 1, 3), CONSTANT_SLONG); } break; -case 400: +case 391: { yyval = MAKE_constant ((STR) TRIGGER_TYPE_SUFFIX (2, 3, 1), CONSTANT_SLONG); } break; -case 401: +case 392: { yyval = MAKE_constant ((STR) TRIGGER_TYPE_SUFFIX (3, 1, 2), CONSTANT_SLONG); } break; -case 402: +case 393: { yyval = MAKE_constant ((STR) TRIGGER_TYPE_SUFFIX (3, 2, 1), CONSTANT_SLONG); } break; -case 403: +case 394: { yyval = MAKE_constant ((STR) yyvsp[0], CONSTANT_SLONG); } break; -case 404: +case 395: { yyval = NULL; } break; -case 405: +case 396: { yyval = make_node (nod_list, 2, yyvsp[-1], yyvsp[0]); } break; -case 406: +case 397: { yyval = yyvsp[0]; } break; -case 407: +case 398: { yyval = make_node (nod_mod_exception, (int) e_xcp_count, yyvsp[-1], yyvsp[0]); } break; -case 408: +case 399: { yyval = make_node (nod_mod_relation, (int) e_alt_count, yyvsp[-1], make_list (yyvsp[0])); } break; -case 409: +case 400: { yyval = yyvsp[0]; } break; +case 401: +{ yyval = yyvsp[0]; } +break; +case 402: +{ yyval = make_node (nod_mod_database, (int) e_adb_count, + make_list (yyvsp[0])); } +break; +case 403: +{ yyval = make_node (nod_mod_domain, (int) e_alt_count, + yyvsp[-1], make_list (yyvsp[0])); } +break; +case 404: +{ yyval = make_node (nod_mod_index, + (int) e_mod_idx_count, yyvsp[0]); } +break; +case 405: +{ yyval = yyvsp[0]; } +break; +case 406: +{ yyval = make_node (nod_def_constraint, + (int) e_cnstr_count, MAKE_string(NULL_STRING, 0), NULL, + NULL, NULL, yyvsp[-2], NULL, yyvsp[0], NULL, NULL); } +break; +case 408: +{ yyval = make_node (nod_list, 2, yyvsp[-1], yyvsp[0]); } +break; +case 409: +{ yyval = make_node (nod_def_default, (int) e_dft_count, + yyvsp[-1], yyvsp[0]); } +break; case 410: { yyval = yyvsp[0]; } break; case 411: -{ yyval = make_node (nod_mod_database, (int) e_adb_count, - make_list (yyvsp[0])); } +{ yyval = yyvsp[0]; } break; case 412: -{ yyval = make_node (nod_mod_domain, (int) e_alt_count, - yyvsp[-1], make_list (yyvsp[0])); } +{yyval = make_node (nod_del_default, (int) 0, NULL); } break; case 413: -{ yyval = make_node (nod_mod_index, - (int) e_mod_idx_count, yyvsp[0]); } +{ yyval = make_node (nod_delete_rel_constraint, (int) 1, NULL); } break; case 414: { yyval = yyvsp[0]; } break; case 415: -{ yyval = make_node (nod_def_constraint, - (int) e_cnstr_count, MAKE_string(NULL_STRING, 0), NULL, - NULL, NULL, yyvsp[-2], NULL, yyvsp[0], NULL, NULL); } +{ yyval = make_node (nod_mod_domain_type, 2, yyvsp[-1]); } break; case 417: -{ yyval = make_node (nod_list, 2, yyvsp[-1], yyvsp[0]); } +{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; case 418: -{ yyval = make_node (nod_def_default, (int) e_dft_count, - yyvsp[-1], yyvsp[0]); } +{ yyval = make_node (nod_del_field, 2, yyvsp[-1], yyvsp[0]); } break; case 419: -{ yyval = yyvsp[0]; } +{ yyval = make_node (nod_delete_rel_constraint, (int) 1, yyvsp[0]);} break; case 420: { yyval = yyvsp[0]; } break; case 421: -{yyval = make_node (nod_del_default, (int) 0, NULL); } +{ yyval = yyvsp[0]; } break; case 422: -{ yyval = make_node (nod_delete_rel_constraint, (int) 1, NULL); } -break; -case 423: -{ yyval = yyvsp[0]; } -break; -case 424: -{ yyval = make_node (nod_mod_domain_type, 2, yyvsp[-1]); } -break; -case 426: -{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } -break; -case 427: -{ yyval = make_node (nod_del_field, 2, yyvsp[-1], yyvsp[0]); } -break; -case 428: -{ yyval = make_node (nod_delete_rel_constraint, (int) 1, yyvsp[0]);} -break; -case 429: -{ yyval = yyvsp[0]; } -break; -case 430: -{ yyval = yyvsp[0]; } -break; -case 431: { yyval = make_node (nod_mod_field_pos, 2, yyvsp[-2], MAKE_constant ((STR) yyvsp[0], CONSTANT_SLONG)); } break; -case 432: +case 423: { yyval = make_node (nod_mod_field_name, 2, yyvsp[-2], yyvsp[0]); } break; -case 433: +case 424: { yyval = make_node (nod_mod_field_type, 3, yyvsp[-3], yyvsp[0], yyvsp[-1]); } break; -case 434: +case 425: { yyval = make_node (nod_field_name, (int) e_fln_count, NULL, yyvsp[0]); } break; -case 461: +case 449: { yyval = NULL; } break; -case 462: +case 450: { yyval = NULL; } break; -case 463: +case 451: { yyval = NULL; } break; -case 464: +case 452: { yyval = make_node (nod_def_domain, (int) e_dom_count, yyvsp[-1], NULL, NULL, NULL, NULL); } break; -case 465: +case 453: { lex.g_field_name = yyvsp[0]; lex.g_field = make_field (yyvsp[0]); yyval = (DSQL_NOD) lex.g_field; } break; -case 466: +case 454: { yyval = make_node (nod_restrict, 0, NULL); } break; -case 467: +case 455: { yyval = make_node (nod_cascade, 0, NULL); } break; -case 468: +case 456: { yyval = make_node (nod_restrict, 0, NULL); } break; -case 469: +case 457: { yyval = make_node (nod_idx_active, 1, yyvsp[-1]); } break; -case 470: +case 458: { yyval = make_node (nod_idx_inactive, 1, yyvsp[-1]); } break; -case 471: +case 459: { lex.log_defined = FALSE; lex.cache_defined = FALSE; yyval = (DSQL_NOD) NULL; } break; -case 473: +case 461: { yyval = make_node (nod_list, (int) 2, yyvsp[-1], yyvsp[0]); } break; -case 474: +case 462: { yyval = yyvsp[0]; } break; -case 475: +case 463: { yyval = make_node (nod_drop_log, (int) 0, NULL); } break; -case 476: +case 464: { yyval = yyvsp[0]; } break; -case 477: +case 465: { yyval = yyvsp[0]; } break; -case 479: +case 467: { yyval = make_node (nod_list, (int) 2, yyvsp[-2], yyvsp[0]); } break; -case 480: +case 468: { yyval = make_node (nod_mod_trigger, (int) e_trg_count, yyvsp[-6], NULL, yyvsp[-5], yyvsp[-4], yyvsp[-3], yyvsp[-1], yyvsp[0], NULL, NULL); } break; -case 482: +case 470: { yyval = NULL; } break; -case 484: +case 472: { yyval = NULL; } break; -case 485: +case 473: { yyval = yyvsp[0]; } break; -case 486: +case 474: { yyval = make_node (nod_del_exception, 1, yyvsp[0]); } break; -case 487: +case 475: { yyval = make_node (nod_del_index, (int) 1, yyvsp[0]); } break; -case 488: +case 476: { yyval = make_node (nod_del_procedure, (int) 1, yyvsp[0]); } break; -case 489: +case 477: { yyval = make_node (nod_del_relation, (int) 1, yyvsp[0]); } break; -case 490: +case 478: { yyval = make_node (nod_del_trigger, (int) 1, yyvsp[0]); } break; -case 491: +case 479: { yyval = make_node (nod_del_view, (int) 1, yyvsp[0]); } break; -case 492: +case 480: { yyval = make_node (nod_del_filter, (int) 1, yyvsp[0]); } break; -case 493: +case 481: { yyval = make_node (nod_del_domain, (int) 1, yyvsp[0]); } break; -case 494: +case 482: { yyval = make_node (nod_del_udf, (int) 1, yyvsp[0]); } break; -case 495: +case 483: { yyval = make_node (nod_del_shadow, (int) 1, yyvsp[0]); } break; -case 496: +case 484: { yyval = make_node (nod_del_role, (int) 1, yyvsp[0]); } break; -case 497: +case 485: { yyval = make_node (nod_del_generator, (int) 1, yyvsp[0]); } break; -case 502: +case 490: { lex.g_field->fld_ranges = make_list (yyvsp[-1]); lex.g_field->fld_dimensions = lex.g_field->fld_ranges->nod_count / 2; lex.g_field->fld_element_dtype = lex.g_field->fld_dtype; yyval = yyvsp[-3]; } break; -case 503: +case 491: { lex.g_field->fld_ranges = make_list (yyvsp[-2]); lex.g_field->fld_dimensions = lex.g_field->fld_ranges->nod_count / 2; lex.g_field->fld_element_dtype = lex.g_field->fld_dtype; yyval = yyvsp[-4]; } break; -case 505: +case 493: { yyval = make_node (nod_list, (int) 2, yyvsp[-2], yyvsp[0]); } break; -case 506: +case 494: { if ((SLONG) yyvsp[0] < 1) yyval = make_node (nod_list, (int) 2, MAKE_constant ((STR) yyvsp[0], CONSTANT_SLONG), @@ -7150,12 +7430,12 @@ case 506: MAKE_constant ((STR) 1, CONSTANT_SLONG), MAKE_constant ((STR) yyvsp[0], CONSTANT_SLONG) ); } break; -case 507: +case 495: { yyval = make_node (nod_list, (int) 2, MAKE_constant ((STR) yyvsp[-2], CONSTANT_SLONG), MAKE_constant ((STR) yyvsp[0], CONSTANT_SLONG)); } break; -case 513: +case 501: { if (client_dialect < SQL_DIALECT_V6_TRANSITION) ERRD_post (gds_sqlerr, gds_arg_number, (SLONG) -104, @@ -7173,19 +7453,19 @@ case 513: lex.g_field->fld_length = sizeof (SINT64); } break; -case 514: +case 502: { lex.g_field->fld_dtype = dtype_long; lex.g_field->fld_length = sizeof (SLONG); } break; -case 515: +case 503: { lex.g_field->fld_dtype = dtype_short; lex.g_field->fld_length = sizeof (SSHORT); } break; -case 516: +case 504: { *stmt_ambiguous = TRUE; if (client_dialect <= SQL_DIALECT_V5) @@ -7205,7 +7485,7 @@ case 516: } } break; -case 517: +case 505: { if (client_dialect < SQL_DIALECT_V6_TRANSITION) ERRD_post (gds_sqlerr, gds_arg_number, (SLONG) -104, @@ -7223,113 +7503,113 @@ case 517: lex.g_field->fld_length = sizeof (SLONG); } break; -case 518: +case 506: { lex.g_field->fld_dtype = dtype_timestamp; lex.g_field->fld_length = sizeof (GDS_TIMESTAMP); } break; -case 521: +case 509: { lex.g_field->fld_dtype = dtype_blob; } break; -case 522: +case 510: { lex.g_field->fld_dtype = dtype_blob; lex.g_field->fld_seg_length = (USHORT) yyvsp[-1]; lex.g_field->fld_sub_type = 0; } break; -case 523: +case 511: { lex.g_field->fld_dtype = dtype_blob; lex.g_field->fld_seg_length = (USHORT) yyvsp[-3]; lex.g_field->fld_sub_type = (USHORT) yyvsp[-1]; } break; -case 524: +case 512: { lex.g_field->fld_dtype = dtype_blob; lex.g_field->fld_seg_length = 80; lex.g_field->fld_sub_type = (USHORT) yyvsp[-1]; } break; -case 525: +case 513: { lex.g_field->fld_seg_length = (USHORT) yyvsp[0]; } break; -case 526: +case 514: { lex.g_field->fld_seg_length = (USHORT) 80; } break; -case 527: +case 515: { lex.g_field->fld_sub_type = (USHORT) yyvsp[0]; } break; -case 528: +case 516: { lex.g_field->fld_sub_type_name = yyvsp[0]; } break; -case 529: +case 517: { lex.g_field->fld_sub_type = (USHORT) 0; } break; -case 530: +case 518: { lex.g_field->fld_character_set = yyvsp[0]; } break; -case 532: +case 520: { lex.g_field->fld_dtype = dtype_text; lex.g_field->fld_character_length = (USHORT) yyvsp[-1]; lex.g_field->fld_flags |= FLD_national; } break; -case 533: +case 521: { lex.g_field->fld_dtype = dtype_text; lex.g_field->fld_character_length = 1; lex.g_field->fld_flags |= FLD_national; } break; +case 522: +{ + lex.g_field->fld_dtype = dtype_varying; + lex.g_field->fld_character_length = (USHORT) yyvsp[-1]; + lex.g_field->fld_flags |= FLD_national; + } +break; +case 523: +{ + lex.g_field->fld_dtype = dtype_text; + lex.g_field->fld_character_length = (USHORT) yyvsp[-1]; + } +break; +case 524: +{ + lex.g_field->fld_dtype = dtype_text; + lex.g_field->fld_character_length = 1; + } +break; +case 525: +{ + lex.g_field->fld_dtype = dtype_varying; + lex.g_field->fld_character_length = (USHORT) yyvsp[-1]; + } +break; case 534: -{ - lex.g_field->fld_dtype = dtype_varying; - lex.g_field->fld_character_length = (USHORT) yyvsp[-1]; - lex.g_field->fld_flags |= FLD_national; - } -break; -case 535: -{ - lex.g_field->fld_dtype = dtype_text; - lex.g_field->fld_character_length = (USHORT) yyvsp[-1]; - } -break; -case 536: -{ - lex.g_field->fld_dtype = dtype_text; - lex.g_field->fld_character_length = 1; - } -break; -case 537: -{ - lex.g_field->fld_dtype = dtype_varying; - lex.g_field->fld_character_length = (USHORT) yyvsp[-1]; - } -break; -case 546: { lex.g_field->fld_sub_type = dsc_num_type_numeric; } break; -case 547: +case 535: { lex.g_field->fld_sub_type = dsc_num_type_decimal; if (lex.g_field->fld_dtype == dtype_short) @@ -7339,17 +7619,17 @@ case 547: }; } break; -case 548: +case 536: { yyval = make_node (nod_position, 1, yyvsp[0]); } break; -case 549: +case 537: { lex.g_field->fld_dtype = dtype_long; lex.g_field->fld_length = sizeof (SLONG); lex.g_field->fld_precision = 9; } break; -case 550: +case 538: { if ( ((SLONG) yyvsp[-1] < 1) || ((SLONG) yyvsp[-1] > 18) ) yyabandon (-842, isc_precision_err); @@ -7404,7 +7684,7 @@ case 550: lex.g_field->fld_precision = (USHORT) yyvsp[-1]; } break; -case 551: +case 539: { if ( ((SLONG) yyvsp[-3] < 1) || ((SLONG) yyvsp[-3] > 18) ) yyabandon (-842, isc_precision_err); @@ -7465,7 +7745,7 @@ case 551: lex.g_field->fld_scale = - (SSHORT) yyvsp[-1]; } break; -case 554: +case 542: { if ((SLONG) yyvsp[0] > 7) { @@ -7479,693 +7759,729 @@ case 554: } } break; -case 555: +case 543: { lex.g_field->fld_dtype = dtype_double; lex.g_field->fld_length = sizeof (double); } break; -case 556: +case 544: { lex.g_field->fld_dtype = dtype_real; lex.g_field->fld_length = sizeof (float); } break; -case 557: +case 545: { lex.g_field->fld_dtype = dtype_double; lex.g_field->fld_length = sizeof (double); } break; -case 558: +case 546: { yyval = yyvsp[-1]; } break; -case 559: +case 547: { yyval = 0; } break; -case 563: +case 551: { yyval = make_node (nod_set_generator2,e_gen_id_count,yyvsp[-2], MAKE_constant ((STR) yyvsp[0], CONSTANT_SLONG)); } break; -case 564: +case 552: { yyval = make_node (nod_set_generator2,e_gen_id_count,yyvsp[-2], MAKE_constant((STR)yyvsp[0], CONSTANT_SINT64)); } break; -case 565: +case 553: { yyval = make_node (nod_set_generator2, e_gen_id_count, yyvsp[-3], make_node(nod_negate, 1, MAKE_constant((STR)yyvsp[0], CONSTANT_SINT64))); } break; -case 569: +case 557: { yyval = make_node (nod_user_savepoint, 1, yyvsp[0]); } break; -case 570: +case 558: { yyval = make_node (nod_release_savepoint, 1, yyvsp[0]); } break; -case 571: +case 559: { yyval = make_node (nod_undo_savepoint, 1, yyvsp[0]); } break; -case 574: +case 562: { yyval = make_node (nod_commit, 1, yyvsp[0]); } break; -case 575: +case 563: { yyval = make_node (nod_rollback, 0, NULL); } break; -case 578: +case 566: { yyval = make_node (nod_commit_retain, 0, NULL); } break; -case 579: +case 567: { yyval = (DSQL_NOD) NULL; } break; -case 581: +case 569: { yyval = (DSQL_NOD) NULL; } break; -case 582: +case 570: {yyval = make_node (nod_trans, 1, make_list (yyvsp[0])); } break; -case 584: +case 572: { yyval = (DSQL_NOD) NULL; } break; -case 586: +case 574: { yyval = make_node (nod_list, (int) 2, yyvsp[-1], yyvsp[0]); } break; -case 591: +case 579: { yyval = make_flag_node (nod_access, NOD_READ_ONLY, (int) 0, NULL); } break; -case 592: +case 580: { yyval = make_flag_node (nod_access, NOD_READ_WRITE, (int) 0, NULL); } break; -case 593: +case 581: { yyval = make_flag_node (nod_wait, NOD_WAIT, (int) 0, NULL); } break; -case 594: +case 582: { yyval = make_flag_node (nod_wait, NOD_NO_WAIT, (int) 0, NULL); } break; -case 595: +case 583: { yyval = yyvsp[0];} break; -case 597: +case 585: { yyval = yyvsp[0];} break; -case 598: +case 586: { yyval = make_flag_node (nod_isolation, NOD_READ_COMMITTED, 1, yyvsp[0]); } break; -case 599: +case 587: { yyval = make_flag_node (nod_isolation, NOD_READ_COMMITTED, 1, yyvsp[0]); } break; -case 600: +case 588: { yyval = make_flag_node (nod_isolation, NOD_CONCURRENCY, 0, NULL); } break; -case 601: +case 589: { yyval = make_flag_node (nod_isolation, NOD_CONSISTENCY, 0, NULL); } break; -case 602: +case 590: { yyval = make_flag_node (nod_isolation, NOD_CONSISTENCY, 0, NULL); } break; -case 603: +case 591: { yyval = make_flag_node (nod_version, NOD_VERSION, 0, NULL); } break; -case 604: +case 592: { yyval = make_flag_node (nod_version, NOD_NO_VERSION, 0, NULL); } break; -case 605: +case 593: +{ yyval = 0; } +break; +case 594: +{ yyval = make_node (nod_reserve, 1, make_list (yyvsp[0])); } +break; +case 595: +{ yyval = (DSQL_NOD) NOD_SHARED; } +break; +case 596: +{ yyval = (DSQL_NOD) NOD_PROTECTED ; } +break; +case 597: +{ yyval = (DSQL_NOD) 0; } +break; +case 598: +{ yyval = (DSQL_NOD) NOD_READ; } +break; +case 599: +{ yyval = (DSQL_NOD) NOD_WRITE; } +break; +case 601: +{ yyval = make_node (nod_list, (int) 2, yyvsp[-2], yyvsp[0]); } +break; +case 602: +{ yyval = make_node (nod_table_lock, (int) 2, make_list (yyvsp[-1]), yyvsp[0]); } +break; +case 603: +{ yyval = make_flag_node (nod_lock_mode, (SSHORT) ((SSHORT) yyvsp[-1] | (SSHORT) yyvsp[0]), (SSHORT) 0, NULL); } +break; +case 604: { yyval = 0; } break; case 606: -{ yyval = make_node (nod_reserve, 1, make_list (yyvsp[0])); } +{ yyval = make_node (nod_list, (int) 2, yyvsp[-2], yyvsp[0]); } break; case 607: -{ yyval = (DSQL_NOD) NOD_SHARED; } -break; -case 608: -{ yyval = (DSQL_NOD) NOD_PROTECTED ; } -break; -case 609: -{ yyval = (DSQL_NOD) 0; } -break; -case 610: -{ yyval = (DSQL_NOD) NOD_READ; } -break; -case 611: -{ yyval = (DSQL_NOD) NOD_WRITE; } -break; -case 613: -{ yyval = make_node (nod_list, (int) 2, yyvsp[-2], yyvsp[0]); } -break; -case 614: -{ yyval = make_node (nod_table_lock, (int) 2, make_list (yyvsp[-1]), yyvsp[0]); } -break; -case 615: -{ yyval = make_flag_node (nod_lock_mode, (SSHORT) ((SSHORT) yyvsp[-1] | (SSHORT) yyvsp[0]), (SSHORT) 0, NULL); } -break; -case 616: -{ yyval = 0; } -break; -case 618: -{ yyval = make_node (nod_list, (int) 2, yyvsp[-2], yyvsp[0]); } -break; -case 619: {yyval = make_node (nod_set_statistics, (int)e_stat_count, yyvsp[0]); } break; -case 620: +case 608: { yyval = make_node (nod_select, 3, yyvsp[-2], yyvsp[-1], yyvsp[0]); } break; -case 621: +case 609: { yyval = make_node (nod_list, 1, yyvsp[0]); } break; -case 622: +case 610: { yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; -case 623: +case 611: { yyval = make_flag_node (nod_list, NOD_UNION_ALL, 2, yyvsp[-3], yyvsp[0]); } break; -case 624: +case 612: { yyval = make_list (yyvsp[0]); } break; +case 613: +{ yyval = 0; } +break; +case 615: +{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } +break; +case 616: +{ yyval = make_node (nod_order, e_order_count, yyvsp[-2], yyvsp[-1], yyvsp[0]); } +break; +case 617: +{ yyval = 0; } +break; +case 618: +{ yyval = make_node (nod_flag, 0, NULL); } +break; +case 619: +{ yyval = 0; } +break; +case 620: +{ yyval = make_node (nod_flag, 0, NULL); } +break; +case 621: +{ yyval = 0; } +break; +case 622: +{ yyval = yyvsp[-1]; } +break; +case 623: +{ yyval = 0; } +break; +case 624: +{ yyval = make_node (nod_for_update, 2, yyvsp[-1], yyvsp[0]); } +break; case 625: { yyval = 0; } break; +case 626: +{ yyval = yyvsp[0]; } +break; case 627: -{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } +{ yyval = make_node (nod_flag, 0, NULL); } break; case 628: -{ yyval = make_node (nod_order, e_order_count, yyvsp[-2], yyvsp[-1], yyvsp[0]); } +{ yyval = make_node (nod_flag, 0, NULL); } break; case 629: { yyval = 0; } break; case 630: -{ yyval = make_node (nod_flag, 0, NULL); } -break; -case 631: -{ yyval = 0; } -break; -case 632: -{ yyval = make_node (nod_flag, 0, NULL); } -break; -case 633: -{ yyval = 0; } -break; -case 634: -{ yyval = yyvsp[-1]; } -break; -case 635: -{ yyval = 0; } -break; -case 636: -{ yyval = make_node (nod_for_update, 2, yyvsp[-1], yyvsp[0]); } -break; -case 637: -{ yyval = 0; } -break; -case 638: -{ yyval = yyvsp[0]; } -break; -case 639: -{ yyval = make_node (nod_flag, 0, NULL); } -break; -case 640: -{ yyval = make_node (nod_flag, 0, NULL); } -break; -case 641: -{ yyval = 0; } -break; -case 642: { yyval = make_node (nod_select_expr, e_sel_count, yyvsp[-7], yyvsp[-6], yyvsp[-5], yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0], NULL, NULL); } break; -case 643: +case 631: { yyval = make_node (nod_select_expr, e_sel_count, yyvsp[-8], yyvsp[-7], yyvsp[-6], yyvsp[-5], yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0], NULL); } break; -case 644: +case 632: { lex.limit_clause = true; } break; -case 645: +case 633: { lex.limit_clause = false; } break; -case 646: +case 634: { lex.first_detection = true; } break; -case 647: +case 635: { lex.first_detection = false; } break; -case 648: +case 636: { yyval = make_node (nod_limit, e_limit_count, yyvsp[-1], yyvsp[-2]); } break; -case 649: +case 637: { yyval = make_node (nod_limit, e_limit_count, NULL, yyvsp[-1]); } break; -case 650: +case 638: { yyval = make_node (nod_limit, e_limit_count, yyvsp[0], NULL); } break; -case 651: +case 639: { yyval = 0; } break; -case 652: +case 640: { yyval = MAKE_constant ((STR) yyvsp[-1], CONSTANT_SLONG); } break; -case 653: +case 641: { yyval = yyvsp[-2]; } break; -case 654: +case 642: { yyval = yyvsp[-1]; } break; -case 655: +case 643: { yyval = MAKE_constant ((STR) yyvsp[0], CONSTANT_SLONG); } break; -case 656: +case 644: { yyval = yyvsp[-1]; } break; -case 657: +case 645: { yyval = yyvsp[0]; } break; -case 658: +case 646: { yyval = make_node (nod_flag, 0, NULL); } break; -case 659: +case 647: { yyval = 0; } break; -case 660: +case 648: { yyval = make_list (yyvsp[0]); } break; -case 661: +case 649: { yyval = 0; } break; -case 663: +case 651: { yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; -case 665: +case 653: { yyval = make_node (nod_alias, 2, yyvsp[-1], yyvsp[0]); } break; -case 666: +case 654: { yyval = make_node (nod_alias, 2, yyvsp[-2], yyvsp[0]); } break; -case 667: +case 655: { yyval = make_list (yyvsp[0]); } break; -case 669: +case 657: { yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; -case 672: +case 660: { yyval = make_node (nod_join, (int) e_join_count, yyvsp[-5], yyvsp[-4], yyvsp[-2], yyvsp[0]); } break; -case 673: +case 661: { yyval = yyvsp[-1]; } break; -case 674: +case 662: { yyval = make_node (nod_rel_proc_name, (int) e_rpn_count, yyvsp[-2], yyvsp[0], yyvsp[-1]); } break; -case 675: +case 663: { yyval = make_node (nod_rel_proc_name, (int) e_rpn_count, yyvsp[-1], NULL, yyvsp[0]); } break; -case 676: +case 664: { yyval = make_list (yyvsp[-1]); } break; -case 677: +case 665: { yyval = NULL; } break; -case 679: +case 667: { yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; -case 683: +case 671: { yyval = make_node (nod_relation_name, (int) e_rln_count, yyvsp[-1], yyvsp[0]); } break; -case 684: +case 672: { yyval = make_node (nod_relation_name, (int) e_rln_count, yyvsp[0], NULL); } break; -case 685: +case 673: { yyval = make_node (nod_join_inner, (int) 0, NULL); } break; -case 686: +case 674: { yyval = make_node (nod_join_left, (int) 0, NULL); } break; -case 687: +case 675: { yyval = make_node (nod_join_left, (int) 0, NULL); } break; -case 688: +case 676: { yyval = make_node (nod_join_right, (int) 0, NULL); } break; +case 677: +{ yyval = make_node (nod_join_right, (int) 0, NULL); } +break; +case 678: +{ yyval = make_node (nod_join_full, (int) 0, NULL); } +break; +case 679: +{ yyval = make_node (nod_join_full, (int) 0, NULL); } +break; +case 680: +{ yyval = make_node (nod_join_inner, (int) 0, NULL); } +break; +case 681: +{ yyval = make_list (yyvsp[0]); } +break; +case 682: +{ yyval = 0; } +break; +case 684: +{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } +break; case 689: -{ yyval = make_node (nod_join_right, (int) 0, NULL); } -break; -case 690: -{ yyval = make_node (nod_join_full, (int) 0, NULL); } -break; -case 691: -{ yyval = make_node (nod_join_full, (int) 0, NULL); } -break; -case 692: -{ yyval = make_node (nod_join_inner, (int) 0, NULL); } +{ yyval = make_node (nod_collate, e_coll_count, (DSQL_NOD) yyvsp[0], yyvsp[-2]); } break; case 693: -{ yyval = make_list (yyvsp[0]); } +{ yyval = yyvsp[0]; } break; case 694: { yyval = 0; } break; +case 695: +{ yyval = yyvsp[0]; } +break; case 696: -{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } -break; -case 701: -{ yyval = make_node (nod_collate, e_coll_count, (DSQL_NOD) yyvsp[0], yyvsp[-2]); } -break; -case 705: -{ yyval = yyvsp[0]; } -break; -case 706: { yyval = 0; } break; -case 707: +case 697: { yyval = yyvsp[0]; } break; -case 708: +case 698: { yyval = 0; } break; -case 709: -{ yyval = yyvsp[0]; } -break; -case 710: -{ yyval = 0; } -break; -case 711: +case 699: { yyval = make_node (nod_plan_expr, 2, yyvsp[-3], make_list (yyvsp[-1])); } break; -case 712: +case 700: { yyval = 0; } break; -case 713: +case 701: { yyval = make_node (nod_merge, (int) 0, NULL); } break; -case 714: +case 702: { yyval = make_node (nod_merge, (int) 0, NULL); } break; -case 715: +case 703: { yyval = 0; } break; -case 716: +case 704: { yyval = 0; } break; -case 718: +case 706: { yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; -case 719: +case 707: { yyval = make_node (nod_plan_item, 2, make_list (yyvsp[-1]), yyvsp[0]); } break; -case 722: +case 710: { yyval = make_node (nod_list, 2, yyvsp[-1], yyvsp[0]); } break; -case 723: +case 711: { yyval = make_node (nod_natural, (int) 0, NULL); } break; -case 724: +case 712: { yyval = make_node (nod_index, 1, make_list (yyvsp[-1])); } break; -case 725: +case 713: { yyval = make_node (nod_index_order, 1, yyvsp[0]); } break; -case 727: +case 715: { yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; -case 728: +case 716: { yyval = make_node (nod_insert, e_ins_count, yyvsp[-5], make_list (yyvsp[-4]), make_list (yyvsp[-1]), NULL); } break; -case 729: +case 717: { yyval = make_node (nod_insert, e_ins_count, yyvsp[-2], yyvsp[-1], NULL, yyvsp[0]); } break; -case 731: +case 719: { yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; -case 734: +case 722: { yyval = make_node (nod_delete, e_del_count, yyvsp[-1], yyvsp[0], NULL); } break; -case 735: +case 723: { yyval = make_node (nod_delete, e_del_count, yyvsp[-1], NULL, yyvsp[0]); } break; -case 736: +case 724: { yyval = make_node (nod_cursor, e_cur_count, yyvsp[0], NULL, NULL); } break; -case 739: +case 727: { yyval = make_node (nod_update, e_upd_count, yyvsp[-3], make_list (yyvsp[-1]), yyvsp[0], NULL); } break; -case 740: +case 728: { yyval = make_node (nod_update, e_upd_count, yyvsp[-3], make_list (yyvsp[-1]), NULL, yyvsp[0]); } break; -case 742: +case 730: { yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; -case 743: +case 731: { yyval = make_node (nod_assign, 2, yyvsp[0], yyvsp[-2]); } break; -case 746: +case 734: { yyval = make_node (nod_get_segment, e_blb_count, yyvsp[-4], yyvsp[-2], yyvsp[-1], yyvsp[0]); } break; -case 747: +case 735: { yyval = make_node (nod_put_segment, e_blb_count, yyvsp[-4], yyvsp[-2], yyvsp[-1], yyvsp[0]); } break; -case 748: +case 736: { yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; -case 749: +case 737: { yyval = make_node (nod_list, 2, NULL, yyvsp[0]); } break; -case 753: +case 741: { yyval = MAKE_constant ((STR) yyvsp[0], CONSTANT_SLONG); } break; -case 754: +case 742: { yyval = yyvsp[0]; } break; -case 756: +case 744: { yyval = MAKE_constant ((STR) yyvsp[0], CONSTANT_SLONG); } break; -case 759: +case 747: { yyval = NULL; } break; -case 760: +case 748: { yyval = make_list (yyvsp[-1]); } break; -case 762: +case 750: { yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; -case 764: +case 752: { yyval = NULL; } break; -case 765: +case 753: { yyval = make_list (yyvsp[-1]); } break; -case 767: +case 755: { yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; -case 769: +case 757: { yyval = make_node (nod_field_name, (int) e_fln_count, yyvsp[-2], yyvsp[0]); } break; -case 770: +case 758: { yyval = make_node (nod_field_name, (int) e_fln_count, yyvsp[-2], NULL); } break; -case 771: +case 759: { yyval = make_node (nod_field_name, (int) e_fln_count, NULL, yyvsp[0]); } break; -case 773: +case 761: { yyval = make_node (nod_field_name, (int) e_fln_count, yyvsp[-2], yyvsp[0]); } break; -case 775: -{ yyval = make_node (nod_or, 2, yyvsp[-2], yyvsp[0]); } -break; -case 776: -{ yyval = make_node (nod_and, 2, yyvsp[-2], yyvsp[0]); } -break; -case 777: +case 763: { yyval = make_node (nod_not, 1, yyvsp[0]); } break; -case 789: +case 765: +{ yyval = make_node (nod_or, 2, yyvsp[-2], yyvsp[0]); } +break; +case 766: +{ yyval = make_node (nod_and, 2, yyvsp[-2], yyvsp[0]); } +break; +case 768: +{ yyval = make_node (nod_not, 1, yyvsp[0]); } +break; +case 769: +{ yyval = make_node (nod_or, 2, yyvsp[-2], yyvsp[0]); } +break; +case 770: +{ yyval = make_node (nod_and, 2, yyvsp[-2], yyvsp[0]); } +break; +case 771: +{ yyval = make_node (nod_or, 2, yyvsp[-2], yyvsp[0]); } +break; +case 772: +{ yyval = make_node (nod_and, 2, yyvsp[-2], yyvsp[0]); } +break; +case 774: { yyval = yyvsp[-1]; } break; -case 790: +case 775: +{ yyval = make_node (nod_not, 1, yyvsp[0]); } +break; +case 786: { yyval = make_node (nod_eql, 2, yyvsp[-2], yyvsp[0]); } break; -case 791: +case 787: { yyval = make_node (nod_lss, 2, yyvsp[-2], yyvsp[0]); } break; -case 792: +case 788: { yyval = make_node (nod_gtr, 2, yyvsp[-2], yyvsp[0]); } break; +case 789: +{ yyval = make_node (nod_geq, 2, yyvsp[-2], yyvsp[0]); } +break; +case 790: +{ yyval = make_node (nod_leq, 2, yyvsp[-2], yyvsp[0]); } +break; +case 791: +{ yyval = make_node (nod_leq, 2, yyvsp[-2], yyvsp[0]); } +break; +case 792: +{ yyval = make_node (nod_geq, 2, yyvsp[-2], yyvsp[0]); } +break; case 793: -{ yyval = make_node (nod_geq, 2, yyvsp[-2], yyvsp[0]); } -break; -case 794: -{ yyval = make_node (nod_leq, 2, yyvsp[-2], yyvsp[0]); } -break; -case 795: -{ yyval = make_node (nod_leq, 2, yyvsp[-2], yyvsp[0]); } -break; -case 796: -{ yyval = make_node (nod_geq, 2, yyvsp[-2], yyvsp[0]); } -break; -case 797: { yyval = make_node (nod_neq, 2, yyvsp[-2], yyvsp[0]); } break; -case 798: +case 794: { yyval = make_node (nod_eql_all, 2, yyvsp[-5], yyvsp[-1]); } break; -case 799: +case 795: { yyval = make_node (nod_lss_all, 2, yyvsp[-5], yyvsp[-1]); } break; -case 800: +case 796: { yyval = make_node (nod_gtr_all, 2, yyvsp[-5], yyvsp[-1]); } break; +case 797: +{ yyval = make_node (nod_geq_all, 2, yyvsp[-5], yyvsp[-1]); } +break; +case 798: +{ yyval = make_node (nod_leq_all, 2, yyvsp[-5], yyvsp[-1]); } +break; +case 799: +{ yyval = make_node (nod_leq_all, 2, yyvsp[-5], yyvsp[-1]); } +break; +case 800: +{ yyval = make_node (nod_geq_all, 2, yyvsp[-5], yyvsp[-1]); } +break; case 801: -{ yyval = make_node (nod_geq_all, 2, yyvsp[-5], yyvsp[-1]); } -break; -case 802: -{ yyval = make_node (nod_leq_all, 2, yyvsp[-5], yyvsp[-1]); } -break; -case 803: -{ yyval = make_node (nod_leq_all, 2, yyvsp[-5], yyvsp[-1]); } -break; -case 804: -{ yyval = make_node (nod_geq_all, 2, yyvsp[-5], yyvsp[-1]); } -break; -case 805: { yyval = make_node (nod_neq_all, 2, yyvsp[-5], yyvsp[-1]); } break; -case 806: +case 802: { yyval = make_node (nod_eql_any, 2, yyvsp[-5], yyvsp[-1]); } break; -case 807: +case 803: { yyval = make_node (nod_lss_any, 2, yyvsp[-5], yyvsp[-1]); } break; -case 808: +case 804: { yyval = make_node (nod_gtr_any, 2, yyvsp[-5], yyvsp[-1]); } break; +case 805: +{ yyval = make_node (nod_geq_any, 2, yyvsp[-5], yyvsp[-1]); } +break; +case 806: +{ yyval = make_node (nod_leq_any, 2, yyvsp[-5], yyvsp[-1]); } +break; +case 807: +{ yyval = make_node (nod_leq_any, 2, yyvsp[-5], yyvsp[-1]); } +break; +case 808: +{ yyval = make_node (nod_geq_any, 2, yyvsp[-5], yyvsp[-1]); } +break; case 809: -{ yyval = make_node (nod_geq_any, 2, yyvsp[-5], yyvsp[-1]); } -break; -case 810: -{ yyval = make_node (nod_leq_any, 2, yyvsp[-5], yyvsp[-1]); } -break; -case 811: -{ yyval = make_node (nod_leq_any, 2, yyvsp[-5], yyvsp[-1]); } -break; -case 812: -{ yyval = make_node (nod_geq_any, 2, yyvsp[-5], yyvsp[-1]); } -break; -case 813: { yyval = make_node (nod_neq_any, 2, yyvsp[-5], yyvsp[-1]); } break; -case 816: +case 812: { yyval = make_node (nod_between, 3, yyvsp[-4], yyvsp[-2], yyvsp[0]); } break; -case 817: +case 813: { yyval = make_node (nod_not, 1, make_node (nod_between, 3, yyvsp[-5], yyvsp[-2], yyvsp[0])); } break; -case 818: +case 814: { yyval = make_node (nod_like, 2, yyvsp[-2], yyvsp[0]); } break; -case 819: +case 815: { yyval = make_node (nod_not, 1, make_node (nod_like, 2, yyvsp[-3], yyvsp[0])); } break; -case 820: +case 816: { yyval = make_node (nod_like, 3, yyvsp[-4], yyvsp[-2], yyvsp[0]); } break; -case 821: +case 817: { yyval = make_node (nod_not, 1, make_node (nod_like, 3, yyvsp[-5], yyvsp[-2], yyvsp[0])); } break; -case 822: +case 818: { yyval = make_node (nod_eql_any, 2, yyvsp[-2], yyvsp[0]); } break; -case 823: +case 819: { yyval = make_node (nod_not, 1, make_node (nod_eql_any, 2, yyvsp[-3], yyvsp[0])); } break; -case 824: +case 820: { yyval = make_node (nod_containing, 2, yyvsp[-2], yyvsp[0]); } break; -case 825: +case 821: { yyval = make_node (nod_not, 1, make_node (nod_containing, 2, yyvsp[-3], yyvsp[0])); } break; -case 826: +case 822: { yyval = make_node (nod_starting, 2, yyvsp[-2], yyvsp[0]); } break; -case 827: +case 823: { yyval = make_node (nod_not, 1, make_node (nod_starting, 2, yyvsp[-3], yyvsp[0])); } break; -case 828: +case 824: { yyval = make_node (nod_starting, 2, yyvsp[-3], yyvsp[0]); } break; -case 829: +case 825: { yyval = make_node (nod_not, 1, make_node (nod_starting, 2, yyvsp[-4], yyvsp[0])); } break; -case 830: +case 826: { yyval = make_node (nod_exists, 1, yyvsp[-1]); } break; -case 831: +case 827: { yyval = make_node (nod_singular, 1, yyvsp[-1]); } break; -case 832: +case 828: { yyval = make_node (nod_missing, 1, yyvsp[-2]); } break; -case 833: +case 829: { yyval = make_node (nod_not, 1, make_node (nod_missing, 1, yyvsp[-3])); } break; -case 834: +case 830: { yyval = make_node (nod_eql, 2, make_node (nod_internal_info, e_internal_info_count, MAKE_constant ((STR) internal_trigger_action, CONSTANT_SLONG)), MAKE_constant ((STR) 1, CONSTANT_SLONG)); } break; -case 835: +case 831: { yyval = make_node (nod_eql, 2, make_node (nod_internal_info, e_internal_info_count, MAKE_constant ((STR) internal_trigger_action, CONSTANT_SLONG)), MAKE_constant ((STR) 2, CONSTANT_SLONG)); } break; -case 836: +case 832: { yyval = make_node (nod_eql, 2, make_node (nod_internal_info, e_internal_info_count, MAKE_constant ((STR) internal_trigger_action, CONSTANT_SLONG)), MAKE_constant ((STR) 3, CONSTANT_SLONG)); } break; -case 838: +case 833: +{ yyval = make_node (nod_eql, 2, + make_node (nod_internal_info, e_internal_info_count, + MAKE_constant ((STR) internal_trigger_action, CONSTANT_SLONG)), + MAKE_constant ((STR) 1, CONSTANT_SLONG)); } +break; +case 834: +{ yyval = make_node (nod_eql, 2, + make_node (nod_internal_info, e_internal_info_count, + MAKE_constant ((STR) internal_trigger_action, CONSTANT_SLONG)), + MAKE_constant ((STR) 2, CONSTANT_SLONG)); } +break; +case 835: +{ yyval = make_node (nod_eql, 2, + make_node (nod_internal_info, e_internal_info_count, + MAKE_constant ((STR) internal_trigger_action, CONSTANT_SLONG)), + MAKE_constant ((STR) 3, CONSTANT_SLONG)); } +break; +case 837: { yyval = make_list (yyvsp[-1]); } break; -case 839: +case 838: { yyval = yyvsp[-1]; } break; -case 840: +case 839: { yyval = make_node (nod_select_expr, e_sel_count, yyvsp[-8], yyvsp[-7], make_list (yyvsp[-6]), yyvsp[-5], yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0], NULL); } break; -case 841: +case 840: { yyval = make_node (nod_select_expr, e_sel_count, yyvsp[-8], yyvsp[-7], make_list (yyvsp[-6]), yyvsp[-5], yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0], MAKE_constant ((STR) 1, CONSTANT_SLONG)); } break; -case 851: +case 850: { yyval = make_node (nod_negate, 1, yyvsp[0]); } break; -case 852: +case 851: { yyval = yyvsp[0]; } break; -case 853: +case 852: { if (client_dialect >= SQL_DIALECT_V6_TRANSITION) yyval = make_node (nod_add2, 2, yyvsp[-2], yyvsp[0]); @@ -8173,13 +8489,13 @@ case 853: yyval = make_node (nod_add, 2, yyvsp[-2], yyvsp[0]); } break; -case 854: +case 853: { yyval = make_node (nod_concatenate, 2, yyvsp[-2], yyvsp[0]); } break; -case 855: +case 854: { yyval = make_node (nod_collate, e_coll_count, (DSQL_NOD) yyvsp[0], yyvsp[-2]); } break; -case 856: +case 855: { if (client_dialect >= SQL_DIALECT_V6_TRANSITION) yyval = make_node (nod_subtract2, 2, yyvsp[-2], yyvsp[0]); @@ -8187,7 +8503,7 @@ case 856: yyval = make_node (nod_subtract, 2, yyvsp[-2], yyvsp[0]); } break; -case 857: +case 856: { if (client_dialect >= SQL_DIALECT_V6_TRANSITION) yyval = make_node (nod_multiply2, 2, yyvsp[-2], yyvsp[0]); @@ -8195,7 +8511,7 @@ case 857: yyval = make_node (nod_multiply, 2, yyvsp[-2], yyvsp[0]); } break; -case 858: +case 857: { if (client_dialect >= SQL_DIALECT_V6_TRANSITION) yyval = make_node (nod_divide2, 2, yyvsp[-2], yyvsp[0]); @@ -8203,27 +8519,27 @@ case 858: yyval = make_node (nod_divide, 2, yyvsp[-2], yyvsp[0]); } break; +case 858: +{ yyval = yyvsp[-1]; } +break; case 859: { yyval = yyvsp[-1]; } break; -case 860: -{ yyval = yyvsp[-1]; } -break; -case 864: +case 863: { yyval = make_node (nod_dbkey, 1, NULL); } break; -case 865: +case 864: { yyval = make_node (nod_dbkey, 1, yyvsp[-2]); } break; -case 866: +case 865: { yyval = make_node (nod_dom_value, 0, NULL); } break; -case 867: +case 866: { yyval = yyvsp[0]; } break; -case 868: +case 867: { if (client_dialect < SQL_DIALECT_V6_TRANSITION) ERRD_post (gds_sqlerr, gds_arg_number, (SLONG) -104, @@ -8240,7 +8556,7 @@ case 868: yyval = make_node (nod_current_date, 0, NULL); } break; -case 869: +case 868: { if (client_dialect < SQL_DIALECT_V6_TRANSITION) ERRD_post (gds_sqlerr, gds_arg_number, (SLONG) -104, @@ -8257,37 +8573,37 @@ case 869: yyval = make_node (nod_current_time, 0, NULL); } break; -case 870: +case 869: { yyval = make_node (nod_current_timestamp, 0, NULL); } break; -case 871: +case 870: { yyval = make_node (nod_array, 2, yyvsp[-3], make_list (yyvsp[-1])); } break; -case 873: +case 872: { yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; -case 875: +case 874: { yyval = make_node (nod_negate, 1, yyvsp[0]); } break; -case 876: +case 875: { yyval = MAKE_constant ((STR) yyvsp[0], CONSTANT_STRING); } break; -case 877: +case 876: { yyval = MAKE_constant ((STR) yyvsp[0], CONSTANT_SLONG); } break; -case 878: +case 877: { yyval = MAKE_constant ((STR) yyvsp[0], CONSTANT_DOUBLE); } break; +case 878: +{ yyval = MAKE_constant ((STR) yyvsp[0], CONSTANT_SINT64); } +break; case 879: { yyval = MAKE_constant ((STR) yyvsp[0], CONSTANT_SINT64); } break; -case 880: -{ yyval = MAKE_constant ((STR) yyvsp[0], CONSTANT_SINT64); } -break; -case 882: +case 881: { yyval = MAKE_str_constant ((STR) yyvsp[0], lex.att_charset); } break; -case 883: +case 882: { if (client_dialect < SQL_DIALECT_V6_TRANSITION) ERRD_post (gds_sqlerr, gds_arg_number, (SLONG) -104, @@ -8304,7 +8620,7 @@ case 883: yyval = MAKE_constant ((STR) yyvsp[0], CONSTANT_DATE); } break; -case 884: +case 883: { if (client_dialect < SQL_DIALECT_V6_TRANSITION) ERRD_post (gds_sqlerr, gds_arg_number, (SLONG) -104, @@ -8321,92 +8637,92 @@ case 884: yyval = MAKE_constant ((STR) yyvsp[0], CONSTANT_TIME); } break; -case 885: +case 884: { yyval = MAKE_constant ((STR) yyvsp[0], CONSTANT_TIMESTAMP); } break; -case 886: +case 885: { yyval = make_parameter (); } break; +case 886: +{ yyval = make_node (nod_user_name, 0, NULL); } +break; case 887: { yyval = make_node (nod_user_name, 0, NULL); } break; case 888: -{ yyval = make_node (nod_user_name, 0, NULL); } -break; -case 889: { yyval = make_node (nod_current_role, 0, NULL); } break; -case 890: +case 889: { yyval = make_node (nod_internal_info, e_internal_info_count, MAKE_constant ((STR) internal_connection_id, CONSTANT_SLONG)); } break; -case 891: +case 890: { yyval = make_node (nod_internal_info, e_internal_info_count, MAKE_constant ((STR) internal_transaction_id, CONSTANT_SLONG)); } break; -case 892: +case 891: { yyval = make_node (nod_internal_info, e_internal_info_count, MAKE_constant ((STR) internal_gdscode, CONSTANT_SLONG)); } break; -case 893: +case 892: { yyval = make_node (nod_internal_info, e_internal_info_count, MAKE_constant ((STR) internal_sqlcode, CONSTANT_SLONG)); } break; -case 894: +case 893: { yyval = make_node (nod_internal_info, e_internal_info_count, MAKE_constant ((STR) internal_rows_affected, CONSTANT_SLONG)); } break; -case 895: +case 894: { yyval = yyvsp[0]; } break; -case 896: +case 895: { ((STR) yyvsp[0])->str_charset = (TEXT *) yyvsp[-1]; yyval = yyvsp[0]; } break; -case 898: +case 897: { yyval = (DSQL_NOD) - (SLONG) yyvsp[0]; } break; -case 899: +case 898: { if ((SLONG) yyvsp[0] > SHRT_POS_MAX) yyabandon (-842, isc_expec_short); /* Short integer expected */ yyval = yyvsp[0];} break; -case 900: +case 899: { if ((SLONG) yyvsp[0] > SHRT_NEG_MAX) yyabandon (-842, isc_expec_short); /* Short integer expected */ yyval = yyvsp[0];} break; -case 901: +case 900: { if ((SLONG) yyvsp[0] == 0) yyabandon (-842, isc_expec_positive); /* Positive number expected */ yyval = yyvsp[0];} break; -case 902: +case 901: { if ((SLONG) yyvsp[0] > SHRT_UNSIGNED_MAX) yyabandon (-842, isc_expec_ushort); /* Unsigned short integer expected */ yyval = yyvsp[0];} break; -case 904: +case 903: { yyval = (DSQL_NOD) - (SLONG) yyvsp[0]; } break; -case 905: +case 904: { yyval = yyvsp[0];} break; -case 910: +case 909: { yyval = make_node (nod_agg_count, 0, NULL); } break; -case 911: +case 910: { yyval = make_node (nod_agg_count, 1, yyvsp[-1]); } break; -case 912: +case 911: { yyval = make_flag_node (nod_agg_count, NOD_AGG_DISTINCT, 1, yyvsp[-1]); } break; -case 913: +case 912: { if (client_dialect >= SQL_DIALECT_V6_TRANSITION) yyval = make_node (nod_agg_total2, 1, yyvsp[-1]); @@ -8414,7 +8730,7 @@ case 913: yyval = make_node (nod_agg_total, 1, yyvsp[-1]); } break; -case 914: +case 913: { if (client_dialect >= SQL_DIALECT_V6_TRANSITION) yyval = make_flag_node (nod_agg_total2, @@ -8424,7 +8740,7 @@ case 914: NOD_AGG_DISTINCT, 1, yyvsp[-1]); } break; -case 915: +case 914: { if (client_dialect >= SQL_DIALECT_V6_TRANSITION) yyval = make_node (nod_agg_average2, 1, yyvsp[-1]); @@ -8432,7 +8748,7 @@ case 915: yyval = make_node (nod_agg_average, 1, yyvsp[-1]); } break; -case 916: +case 915: { if (client_dialect >= SQL_DIALECT_V6_TRANSITION) yyval = make_flag_node (nod_agg_average2, @@ -8442,19 +8758,19 @@ case 916: NOD_AGG_DISTINCT, 1, yyvsp[-1]); } break; +case 916: +{ yyval = make_node (nod_agg_min, 1, yyvsp[-1]); } +break; case 917: { yyval = make_node (nod_agg_min, 1, yyvsp[-1]); } break; case 918: -{ yyval = make_node (nod_agg_min, 1, yyvsp[-1]); } +{ yyval = make_node (nod_agg_max, 1, yyvsp[-1]); } break; case 919: { yyval = make_node (nod_agg_max, 1, yyvsp[-1]); } break; case 920: -{ yyval = make_node (nod_agg_max, 1, yyvsp[-1]); } -break; -case 921: { if (client_dialect >= SQL_DIALECT_V6_TRANSITION) yyval = make_node (nod_gen_id2, 2, yyvsp[-3], yyvsp[-1]); @@ -8462,88 +8778,88 @@ case 921: yyval = make_node (nod_gen_id, 2, yyvsp[-3], yyvsp[-1]); } break; -case 922: +case 921: { yyval = make_node (nod_extract, e_extract_count, yyvsp[-3], yyvsp[-1]); } break; -case 923: +case 922: { yyval = make_node (nod_substr, e_substr_count, yyvsp[-3], MAKE_constant ((STR) ((SLONG)(yyvsp[-1]) - 1), CONSTANT_SLONG), MAKE_constant ((STR) SHRT_POS_MAX, CONSTANT_SLONG)); } break; -case 924: +case 923: { yyval = make_node (nod_substr, e_substr_count, yyvsp[-5], MAKE_constant ((STR) ((SLONG)(yyvsp[-3]) - 1), CONSTANT_SLONG), MAKE_constant ((STR) (yyvsp[-1]), CONSTANT_SLONG)); } break; -case 925: +case 924: { yyval = make_node (nod_upcase, 1, yyvsp[-1]); } break; -case 926: +case 925: { yyval = make_node (nod_udf, 2, yyvsp[-3], yyvsp[-1]); } break; -case 927: +case 926: { yyval = make_node (nod_udf, 1, yyvsp[-2]); } break; -case 928: +case 927: { yyval = make_node (nod_cast, e_cast_count, yyvsp[-1], yyvsp[-3]); } break; -case 931: +case 930: { yyval = make_node (nod_searched_case, 2, make_node (nod_list, 2, make_node (nod_eql, 2, yyvsp[-3], yyvsp[-1]), make_node (nod_null, 0, NULL)), yyvsp[-3]); } break; -case 932: +case 931: { yyval = make_node (nod_coalesce, 2, yyvsp[-3], yyvsp[-1]); } break; -case 935: +case 934: { yyval = make_node (nod_simple_case, 3, yyvsp[-2], make_list(yyvsp[-1]), make_node (nod_null, 0, NULL)); } break; -case 936: +case 935: { yyval = make_node (nod_simple_case, 3, yyvsp[-4], make_list(yyvsp[-3]), yyvsp[-1]); } break; -case 937: +case 936: { yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; +case 937: +{ yyval = make_node (nod_list, 2, yyvsp[-4], make_node (nod_list, 2, yyvsp[-2], yyvsp[0])); } +break; case 938: -{ yyval = make_node (nod_list, 2, yyvsp[-4], make_node (nod_list, 2, yyvsp[-2], yyvsp[0])); } -break; -case 939: { yyval = make_node (nod_searched_case, 2, make_list(yyvsp[-1]), make_node (nod_null, 0, NULL)); } break; -case 940: +case 939: { yyval = make_node (nod_searched_case, 2, make_list(yyvsp[-3]), yyvsp[-1]); } break; -case 941: +case 940: { yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; -case 942: +case 941: { yyval = make_node (nod_list, 2, yyvsp[-4], make_node (nod_list, 2, yyvsp[-2], yyvsp[0])); } break; -case 946: +case 945: { yyval = MAKE_constant ((STR)blr_extract_year, CONSTANT_SLONG); } break; -case 947: +case 946: { yyval = MAKE_constant ((STR)blr_extract_month, CONSTANT_SLONG); } break; -case 948: +case 947: { yyval = MAKE_constant ((STR)blr_extract_day, CONSTANT_SLONG); } break; -case 949: +case 948: { yyval = MAKE_constant ((STR)blr_extract_hour, CONSTANT_SLONG); } break; -case 950: +case 949: { yyval = MAKE_constant ((STR)blr_extract_minute, CONSTANT_SLONG); } break; -case 951: +case 950: { yyval = MAKE_constant ((STR)blr_extract_second, CONSTANT_SLONG); } break; -case 952: +case 951: { yyval = MAKE_constant ((STR)blr_extract_weekday, CONSTANT_SLONG); } break; -case 953: +case 952: { yyval = MAKE_constant ((STR)blr_extract_yearday, CONSTANT_SLONG); } break; -case 956: +case 955: { yyval = make_node (nod_null, 0, NULL); } break; } diff --git a/src/dsql/parse.y b/src/dsql/parse.y index 088d7e9679..9cf6135a2d 100644 --- a/src/dsql/parse.y +++ b/src/dsql/parse.y @@ -1718,30 +1718,11 @@ err : SQLCODE signed_short_integer /* Direct EXECUTE PROCEDURE */ -invoke_procedure : EXECUTE PROCEDURE symbol_procedure_name prc_inputs +invoke_procedure : EXECUTE PROCEDURE symbol_procedure_name proc_inputs { $$ = make_node (nod_exec_procedure, e_exe_count, $3, $4, make_node (nod_all, (int) 0, NULL)); } ; -prc_inputs : prm_const_list - { $$ = make_list ($1); } - | '(' prm_const_list ')' - { $$ = make_list ($2); } - | - { $$ = NULL; } - ; - -prm_const_list : parameter - | constant - | null_value - | prm_const_list ',' parameter - { $$ = make_node (nod_list, 2, $1, $3); } - | prm_const_list ',' constant - { $$ = make_node (nod_list, 2, $1, $3); } - | prm_const_list ',' null_value - { $$ = make_node (nod_list, 2, $1, $3); } - ; - /* CREATE VIEW */