X-Git-Url: http://nitlanguage.org diff --git a/src/parser/lexer.nit b/src/parser/lexer.nit index bc2de48..3fea0b2 100644 --- a/src/parser/lexer.nit +++ b/src/parser/lexer.nit @@ -173,9 +173,9 @@ redef class TKwmeth return 10 end - init init_tk(fname: String, line: Int, pos: Int) + init init_tk(text: String, fname: String, line: Int, pos: Int) do - _text = once "meth" + _text = text _filename = fname _line = line _pos = pos @@ -1536,7 +1536,8 @@ class Lexer return token end if accept_token == 11 then - var token = new TKwmeth.init_tk(_filename, start_line + 1, start_pos + 1) + var token_text = _text.substring(0, accept_length) + var token = new TKwmeth.init_tk(token_text, _filename, start_line + 1, start_pos + 1) push_back(accept_length) _pos = accept_pos _line = accept_line @@ -2301,7 +2302,9 @@ class Lexer [97, 97, 86] , [98, 110, 74] , [111, 111, 87] , - [112, 122, 74] + [112, 116, 74] , + [117, 117, 88] , + [118, 122, 74] ] , [ [48, 95, -29] , @@ -2310,96 +2313,96 @@ class Lexer [ [48, 95, -29] , [97, 101, 74] , - [102, 102, 88] , + [102, 102, 89] , [103, 108, 74] , - [109, 109, 89] , - [110, 110, 90] , + [109, 109, 90] , + [110, 110, 91] , [111, 114, 74] , - [115, 115, 91] , + [115, 115, 92] , [116, 122, 74] ] , [ [48, 95, -29] , [97, 100, 74] , - [101, 101, 92] , + [101, 101, 93] , [102, 122, 74] ] , [ [48, 100, -37] , - [101, 101, 93] , + [101, 101, 94] , [102, 110, 74] , - [111, 111, 94] , + [111, 111, 95] , [112, 116, 74] , - [117, 117, 95] , + [117, 117, 96] , [118, 122, 74] ] , [ [48, 95, -29] , [97, 109, 74] , - [110, 110, 96] , + [110, 110, 97] , [111, 113, 74] , - [114, 114, 97] , + [114, 114, 98] , [115, 122, 74] ] , [ [48, 95, -29] , - [97, 97, 98] , + [97, 97, 99] , [98, 113, 74] , - [114, 114, 99] , + [114, 114, 100] , [115, 122, 74] ] , [ [48, 100, -37] , - [101, 101, 100] , + [101, 101, 101] , [102, 122, 74] ] , [ [48, 100, -37] , - [101, 101, 101] , + [101, 101, 102] , [102, 111, 74] , - [112, 112, 102] , + [112, 112, 103] , [113, 116, 74] , - [117, 117, 103] , + [117, 117, 104] , [118, 122, 74] ] , [ [48, 95, -29] , [97, 103, 74] , - [104, 104, 104] , + [104, 104, 105] , [105, 113, 74] , - [114, 114, 105] , + [114, 114, 106] , [115, 120, 74] , - [121, 121, 106] , + [121, 121, 107] , [122, 122, 74] ] , [ [48, 109, -39] , - [110, 110, 107] , + [110, 110, 108] , [111, 122, 74] ] , [ [48, 95, -29] , - [97, 97, 108] , + [97, 97, 109] , [98, 122, 74] ] , [ [48, 103, -43] , - [104, 104, 109] , - [105, 105, 110] , + [104, 104, 110] , + [105, 105, 111] , [106, 113, 74] , - [114, 114, 111] , + [114, 114, 112] , [115, 122, 74] ] , [ - [0, 9, 112] , - [11, 12, 112] , - [14, 33, 112] , - [34, 34, 113] , - [35, 91, 112] , - [92, 92, 114] , - [93, 122, 112] , - [123, 123, 115] , - [124, 255, 112] + [0, 9, 113] , + [11, 12, 113] , + [14, 33, 113] , + [34, 34, 114] , + [35, 91, 113] , + [92, 92, 115] , + [93, 122, 113] , + [123, 123, 116] , + [124, 255, 113] ] , nil_array , nil_array , @@ -2408,9 +2411,9 @@ class Lexer ] , nil_array , [ - [0, 9, 116] , - [11, 12, 116] , - [14, 255, 116] + [0, 9, 117] , + [11, 12, 117] , + [14, 255, 117] ] , nil_array , [ @@ -2418,7 +2421,7 @@ class Lexer ] , nil_array , [ - [10, 10, 117] + [10, 10, 118] ] , [ [0, 255, -11] @@ -2427,7 +2430,7 @@ class Lexer nil_array , nil_array , [ - [46, 46, 118] + [46, 46, 119] ] , [ [48, 57, 60] @@ -2437,7 +2440,7 @@ class Lexer ] , nil_array , [ - [62, 62, 119] + [62, 62, 120] ] , nil_array , nil_array , @@ -2454,10 +2457,10 @@ class Lexer [48, 122, -25] ] , [ - [48, 57, 120] , - [65, 90, 121] , - [95, 95, 122] , - [97, 122, 123] + [48, 57, 121] , + [65, 90, 122] , + [95, 95, 123] , + [97, 122, 124] ] , [ [48, 122, -35] @@ -2473,42 +2476,42 @@ class Lexer ] , [ [48, 110, -32] , - [111, 111, 124] , + [111, 111, 125] , [112, 114, 74] , - [115, 115, 125] , + [115, 115, 126] , [116, 122, 74] ] , [ [48, 95, -29] , [97, 99, 74] , - [100, 100, 126] , + [100, 100, 127] , [101, 122, 74] ] , [ [48, 95, -29] , [97, 114, 74] , - [115, 115, 127] , + [115, 115, 128] , [116, 122, 74] ] , [ [48, 95, -29] , [97, 115, 74] , - [116, 116, 128] , + [116, 116, 129] , [117, 122, 74] ] , [ [48, 100, -37] , - [101, 101, 129] , + [101, 101, 130] , [102, 122, 74] ] , [ [48, 95, -29] , - [97, 97, 130] , + [97, 97, 131] , [98, 122, 74] ] , [ [48, 109, -39] , - [110, 110, 131] , + [110, 110, 132] , [111, 122, 74] ] , [ @@ -2516,156 +2519,161 @@ class Lexer ] , [ [48, 114, -79] , - [115, 115, 132] , + [115, 115, 133] , [116, 122, 74] ] , [ [48, 99, -78] , - [100, 100, 133] , + [100, 100, 134] , [101, 122, 74] ] , [ [48, 115, -80] , - [116, 116, 134] , + [116, 116, 135] , [117, 122, 74] ] , [ [48, 107, -31] , - [108, 108, 135] , + [108, 108, 136] , [109, 122, 74] ] , [ [48, 113, -30] , - [114, 114, 136] , + [114, 114, 137] , [115, 122, 74] ] , [ + [48, 109, -39] , + [110, 110, 138] , + [111, 122, 74] + ] , + [ [48, 122, -35] ] , [ [48, 95, -29] , [97, 111, 74] , - [112, 112, 137] , + [112, 112, 139] , [113, 122, 74] ] , [ [48, 95, -29] , [97, 104, 74] , - [105, 105, 138] , + [105, 105, 140] , [106, 115, 74] , - [116, 116, 139] , + [116, 116, 141] , [117, 122, 74] ] , [ [48, 95, -29] , - [97, 97, 140] , + [97, 97, 142] , [98, 122, 74] ] , [ [48, 115, -80] , - [116, 116, 141] , + [116, 116, 143] , [117, 122, 74] ] , [ [48, 95, -29] , [97, 118, 74] , - [119, 119, 142] , + [119, 119, 144] , [120, 122, 74] ] , [ [48, 115, -80] , - [116, 116, 143] , + [116, 116, 145] , [117, 122, 74] ] , [ [48, 107, -31] , - [108, 108, 144] , + [108, 108, 146] , [109, 122, 74] ] , [ [48, 95, -29] , [97, 98, 74] , - [99, 99, 145] , + [99, 99, 147] , [100, 122, 74] ] , [ [48, 122, -35] ] , [ - [48, 98, -98] , - [99, 99, 146] , + [48, 98, -99] , + [99, 99, 148] , [100, 122, 74] ] , [ - [48, 104, -92] , - [105, 105, 147] , + [48, 104, -93] , + [105, 105, 149] , [106, 110, 74] , - [111, 111, 148] , + [111, 111, 150] , [112, 122, 74] ] , [ [48, 95, -29] , - [97, 97, 149] , + [97, 97, 151] , [98, 99, 74] , - [100, 100, 150] , + [100, 100, 152] , [101, 115, 74] , - [116, 116, 151] , + [116, 116, 153] , [117, 122, 74] ] , [ [48, 107, -31] , - [108, 108, 152] , + [108, 108, 154] , [109, 122, 74] ] , [ [48, 100, -37] , - [101, 101, 153] , + [101, 101, 155] , [102, 122, 74] ] , [ - [48, 111, -91] , - [112, 112, 154] , + [48, 111, -92] , + [112, 112, 156] , [113, 122, 74] ] , [ [48, 100, -37] , - [101, 101, 155] , + [101, 101, 157] , [102, 122, 74] ] , [ [48, 95, -29] , [97, 116, 74] , - [117, 117, 156] , + [117, 117, 158] , [118, 122, 74] ] , [ - [48, 111, -91] , - [112, 112, 157] , + [48, 111, -92] , + [112, 112, 159] , [113, 122, 74] ] , [ - [48, 104, -92] , - [105, 105, 158] , + [48, 104, -93] , + [105, 105, 160] , [106, 122, 74] ] , [ [48, 113, -30] , - [114, 114, 159] , + [114, 114, 161] , [115, 122, 74] ] , [ - [48, 104, -92] , - [105, 105, 160] , + [48, 104, -93] , + [105, 105, 162] , [106, 122, 74] ] , [ [48, 115, -80] , - [116, 116, 161] , + [116, 116, 163] , [117, 122, 74] ] , [ - [48, 104, -92] , - [105, 105, 162] , + [48, 104, -93] , + [105, 105, 164] , [106, 122, 74] ] , [ @@ -2673,9 +2681,9 @@ class Lexer ] , nil_array , [ - [0, 9, 163] , - [11, 12, 163] , - [14, 255, 163] + [0, 9, 165] , + [11, 12, 165] , + [14, 255, 165] ] , nil_array , [ @@ -2698,12 +2706,12 @@ class Lexer ] , [ [48, 113, -30] , - [114, 114, 164] , + [114, 114, 166] , [115, 122, 74] ] , [ [48, 115, -80] , - [116, 116, 165] , + [116, 116, 167] , [117, 122, 74] ] , [ @@ -2711,32 +2719,32 @@ class Lexer ] , [ [48, 100, -37] , - [101, 101, 166] , + [101, 101, 168] , [102, 122, 74] ] , [ [48, 113, -30] , - [114, 114, 167] , + [114, 114, 169] , [115, 122, 74] ] , [ [48, 95, -29] , - [97, 97, 168] , + [97, 97, 170] , [98, 122, 74] ] , [ [48, 114, -79] , - [115, 115, 169] , + [115, 115, 171] , [116, 122, 74] ] , [ [48, 115, -80] , - [116, 116, 170] , + [116, 116, 172] , [117, 122, 74] ] , [ [48, 100, -37] , - [101, 101, 171] , + [101, 101, 173] , [102, 122, 74] ] , [ @@ -2744,32 +2752,35 @@ class Lexer ] , [ [48, 100, -37] , - [101, 101, 172] , + [101, 101, 174] , [102, 122, 74] ] , [ [48, 114, -79] , - [115, 115, 173] , + [115, 115, 175] , [116, 122, 74] ] , [ [48, 122, -35] ] , [ + [48, 122, -35] + ] , + [ [48, 110, -32] , - [111, 111, 174] , + [111, 111, 176] , [112, 122, 74] ] , [ [48, 115, -80] , - [116, 116, 175] , + [116, 116, 177] , [117, 122, 74] ] , [ [48, 100, -37] , - [101, 101, 176] , + [101, 101, 178] , [102, 113, 74] , - [114, 114, 177] , + [114, 114, 179] , [115, 122, 74] ] , [ @@ -2777,7 +2788,7 @@ class Lexer ] , [ [48, 103, -43] , - [104, 104, 178] , + [104, 104, 180] , [105, 122, 74] ] , [ @@ -2788,79 +2799,79 @@ class Lexer ] , [ [48, 107, -31] , - [108, 108, 179] , + [108, 108, 181] , [109, 122, 74] ] , [ [48, 100, -37] , - [101, 101, 180] , + [101, 101, 182] , [102, 122, 74] ] , [ [48, 95, -29] , [97, 106, 74] , - [107, 107, 181] , + [107, 107, 183] , [108, 122, 74] ] , [ [48, 95, -29] , [97, 117, 74] , - [118, 118, 182] , + [118, 118, 184] , [119, 122, 74] ] , [ [48, 115, -80] , - [116, 116, 183] , + [116, 116, 185] , [117, 122, 74] ] , [ [48, 99, -78] , - [100, 100, 184] , + [100, 100, 186] , [101, 122, 74] ] , [ [48, 100, -37] , - [101, 101, 185] , + [101, 101, 187] , [102, 122, 74] ] , [ - [48, 116, -107] , - [117, 117, 186] , + [48, 116, -108] , + [117, 117, 188] , [118, 122, 74] ] , [ [48, 101, -36] , - [102, 102, 187] , + [102, 102, 189] , [103, 122, 74] ] , [ - [48, 98, -98] , - [99, 99, 188] , + [48, 98, -99] , + [99, 99, 190] , [100, 122, 74] ] , [ [48, 100, -37] , - [101, 101, 189] , + [101, 101, 191] , [102, 122, 74] ] , [ [48, 109, -39] , - [110, 110, 190] , + [110, 110, 192] , [111, 122, 74] ] , [ [48, 100, -37] , - [101, 101, 191] , + [101, 101, 193] , [102, 122, 74] ] , [ [48, 100, -37] , - [101, 101, 192] , + [101, 101, 194] , [102, 122, 74] ] , [ - [48, 117, -149] , - [118, 118, 193] , + [48, 117, -151] , + [118, 118, 195] , [119, 122, 74] ] , [ @@ -2868,17 +2879,17 @@ class Lexer ] , [ [48, 107, -31] , - [108, 108, 194] , + [108, 108, 196] , [109, 122, 74] ] , [ [48, 103, -43] , - [104, 104, 195] , + [104, 104, 197] , [105, 122, 74] ] , [ [48, 115, -80] , - [116, 116, 196] , + [116, 116, 198] , [117, 122, 74] ] , [ @@ -2886,35 +2897,35 @@ class Lexer ] , [ [48, 115, -80] , - [116, 116, 197] , + [116, 116, 199] , [117, 122, 74] ] , [ [48, 113, -30] , - [114, 114, 198] , + [114, 114, 200] , [115, 122, 74] ] , [ [48, 113, -30] , - [114, 114, 199] , + [114, 114, 201] , [115, 122, 74] ] , [ [48, 122, -35] ] , [ - [48, 106, -148] , - [107, 107, 200] , + [48, 106, -150] , + [107, 107, 202] , [108, 122, 74] ] , [ [48, 114, -79] , - [115, 115, 201] , + [115, 115, 203] , [116, 122, 74] ] , [ - [48, 104, -92] , - [105, 105, 202] , + [48, 104, -93] , + [105, 105, 204] , [106, 122, 74] ] , [ @@ -2922,17 +2933,17 @@ class Lexer ] , [ [48, 113, -30] , - [114, 114, 203] , + [114, 114, 205] , [115, 122, 74] ] , [ [48, 100, -37] , - [101, 101, 204] , + [101, 101, 206] , [102, 122, 74] ] , [ [48, 113, -30] , - [114, 114, 205] , + [114, 114, 207] , [115, 122, 74] ] , [ @@ -2940,12 +2951,12 @@ class Lexer ] , [ [48, 113, -30] , - [114, 114, 206] , + [114, 114, 208] , [115, 122, 74] ] , [ - [48, 116, -107] , - [117, 117, 207] , + [48, 116, -108] , + [117, 117, 209] , [118, 122, 74] ] , [ @@ -2959,45 +2970,45 @@ class Lexer ] , [ [48, 95, -29] , - [97, 97, 208] , + [97, 97, 210] , [98, 122, 74] ] , [ [48, 95, -29] , - [97, 97, 209] , + [97, 97, 211] , [98, 122, 74] ] , [ [48, 100, -37] , - [101, 101, 210] , + [101, 101, 212] , [102, 122, 74] ] , [ [48, 95, -29] , - [97, 97, 211] , + [97, 97, 213] , [98, 122, 74] ] , [ [48, 101, -36] , - [102, 102, 212] , + [102, 102, 214] , [103, 122, 74] ] , [ [48, 113, -30] , - [114, 114, 213] , + [114, 114, 215] , [115, 122, 74] ] , [ [48, 122, -35] ] , [ - [48, 104, -92] , - [105, 105, 214] , + [48, 104, -93] , + [105, 105, 216] , [106, 122, 74] ] , [ [48, 113, -30] , - [114, 114, 215] , + [114, 114, 217] , [115, 122, 74] ] , [ @@ -3011,12 +3022,12 @@ class Lexer ] , [ [48, 100, -37] , - [101, 101, 216] , + [101, 101, 218] , [102, 122, 74] ] , [ [48, 100, -37] , - [101, 101, 217] , + [101, 101, 219] , [102, 122, 74] ] , [ @@ -3024,7 +3035,7 @@ class Lexer ] , [ [48, 95, -29] , - [97, 97, 218] , + [97, 97, 220] , [98, 122, 74] ] , [ @@ -3032,12 +3043,12 @@ class Lexer ] , [ [48, 95, -29] , - [97, 97, 219] , + [97, 97, 221] , [98, 122, 74] ] , [ [48, 115, -80] , - [116, 116, 220] , + [116, 116, 222] , [117, 122, 74] ] , [ @@ -3048,12 +3059,12 @@ class Lexer ] , [ [48, 109, -39] , - [110, 110, 221] , + [110, 110, 223] , [111, 122, 74] ] , [ [48, 109, -39] , - [110, 110, 222] , + [110, 110, 224] , [111, 122, 74] ] , [ @@ -3061,40 +3072,40 @@ class Lexer ] , [ [48, 115, -80] , - [116, 116, 223] , + [116, 116, 225] , [117, 122, 74] ] , [ [48, 101, -36] , - [102, 102, 224] , + [102, 102, 226] , [103, 109, 74] , - [110, 110, 225] , + [110, 110, 227] , [111, 122, 74] ] , [ [48, 99, -78] , - [100, 100, 226] , + [100, 100, 228] , [101, 122, 74] ] , [ [48, 95, -29] , [97, 102, 74] , - [103, 103, 227] , + [103, 103, 229] , [104, 122, 74] ] , [ [48, 115, -80] , - [116, 116, 228] , + [116, 116, 230] , [117, 122, 74] ] , [ - [48, 98, -98] , - [99, 99, 229] , + [48, 98, -99] , + [99, 99, 231] , [100, 122, 74] ] , [ [48, 97, -29] , - [98, 98, 230] , + [98, 98, 232] , [99, 122, 74] ] , [ @@ -3102,12 +3113,12 @@ class Lexer ] , [ [48, 109, -39] , - [110, 110, 231] , + [110, 110, 233] , [111, 122, 74] ] , [ [48, 95, -29] , - [97, 97, 232] , + [97, 97, 234] , [98, 122, 74] ] , [ @@ -3115,7 +3126,7 @@ class Lexer ] , [ [48, 113, -30] , - [114, 114, 233] , + [114, 114, 235] , [115, 122, 74] ] , [ @@ -3123,20 +3134,20 @@ class Lexer ] , [ [48, 97, -29] , - [98, 98, 234] , + [98, 98, 236] , [99, 122, 74] ] , [ - [48, 98, -98] , - [99, 99, 235] , + [48, 98, -99] , + [99, 99, 237] , [100, 122, 74] ] , [ [48, 122, -35] ] , [ - [48, 116, -107] , - [117, 117, 236] , + [48, 116, -108] , + [117, 117, 238] , [118, 122, 74] ] , [ @@ -3147,7 +3158,7 @@ class Lexer ] , [ [48, 95, -29] , - [97, 97, 237] , + [97, 97, 239] , [98, 122, 74] ] , [ @@ -3155,27 +3166,27 @@ class Lexer ] , [ [48, 100, -37] , - [101, 101, 238] , + [101, 101, 240] , [102, 122, 74] ] , [ [48, 100, -37] , - [101, 101, 239] , + [101, 101, 241] , [102, 122, 74] ] , [ [48, 100, -37] , - [101, 101, 240] , + [101, 101, 242] , [102, 122, 74] ] , [ [48, 115, -80] , - [116, 116, 241] , + [116, 116, 243] , [117, 122, 74] ] , [ [48, 107, -31] , - [108, 108, 242] , + [108, 108, 244] , [109, 122, 74] ] , [ @@ -3183,32 +3194,32 @@ class Lexer ] , [ [48, 107, -31] , - [108, 108, 243] , + [108, 108, 245] , [109, 122, 74] ] , [ [48, 114, -79] , - [115, 115, 244] , + [115, 115, 246] , [116, 122, 74] ] , [ [48, 107, -31] , - [108, 108, 245] , + [108, 108, 247] , [109, 122, 74] ] , [ [48, 115, -80] , - [116, 116, 246] , + [116, 116, 248] , [117, 122, 74] ] , [ [48, 100, -37] , - [101, 101, 247] , + [101, 101, 249] , [102, 122, 74] ] , [ - [48, 98, -98] , - [99, 99, 248] , + [48, 98, -99] , + [99, 99, 250] , [100, 122, 74] ] , [ @@ -3222,12 +3233,12 @@ class Lexer ] , [ [48, 100, -37] , - [101, 101, 249] , + [101, 101, 251] , [102, 122, 74] ] , [ [48, 100, -37] , - [101, 101, 250] , + [101, 101, 252] , [102, 122, 74] ] , [ @@ -3235,12 +3246,12 @@ class Lexer ] , [ [48, 95, -29] , - [97, 97, 251] , + [97, 97, 253] , [98, 122, 74] ] , [ [48, 100, -37] , - [101, 101, 252] , + [101, 101, 254] , [102, 122, 74] ] , [ @@ -3251,12 +3262,12 @@ class Lexer ] , [ [48, 100, -37] , - [101, 101, 253] , + [101, 101, 255] , [102, 122, 74] ] , [ [48, 99, -78] , - [100, 100, 254] , + [100, 100, 256] , [101, 122, 74] ] , [ @@ -3264,7 +3275,7 @@ class Lexer ] , [ [48, 107, -31] , - [108, 108, 255] , + [108, 108, 257] , [109, 122, 74] ] , [ @@ -3292,7 +3303,7 @@ class Lexer private meth build_accept_table do _accept_table = once [ [ - -1 , 0 , 1 , 1 , 0 , -1 , -1 , -1 , 67 , -1 , 50 , 51 , 65 , 63 , 54 , 64 , 62 , 66 , 78 , 55 , 70 , 57 , 72 , 75 , 52 , 53 , -1 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , -1 , 1 , 69 , -1 , 81 , -1 , 82 , -1 , 2 , 2 , -1 , 80 , 58 , 59 , 61 , 79 , -1 , 56 , 71 , 68 , 73 , 75 , 75 , 75 , 75 , 77 , 76 , 76 , 76 , 76 , 76 , 76 , 48 , 76 , 76 , 76 , 76 , 17 , 76 , 76 , 76 , 76 , 76 , 26 , 76 , 31 , 16 , 76 , 76 , 76 , 76 , 76 , 33 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , -1 , 84 , -1 , 83 , -1 , 2 , 60 , 74 , 77 , 77 , 77 , 77 , 76 , 76 , 32 , 76 , 76 , 76 , 76 , 76 , 76 , 10 , 76 , 76 , 30 , 76 , 76 , 76 , 41 , 76 , 40 , 34 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 20 , 76 , 76 , 76 , -1 , 76 , 76 , 76 , 13 , 76 , 76 , 76 , 28 , 76 , 76 , 76 , 14 , 76 , 76 , 11 , 47 , 42 , 76 , 76 , 76 , 76 , 76 , 76 , 44 , 76 , 76 , 27 , 45 , 12 , 76 , 76 , 49 , 76 , 38 , 76 , 76 , 37 , 5 , 76 , 76 , 46 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 15 , 76 , 76 , 43 , 76 , 29 , 76 , 76 , 39 , 76 , 22 , 4 , 76 , 21 , 76 , 76 , 76 , 76 , 76 , 35 , 76 , 76 , 76 , 76 , 76 , 76 , 25 , 3 , 24 , 76 , 76 , 9 , 76 , 76 , 6 , 36 , 76 , 76 , 18 , 76 , 19 , 7 , 23 , 8 + -1 , 0 , 1 , 1 , 0 , -1 , -1 , -1 , 67 , -1 , 50 , 51 , 65 , 63 , 54 , 64 , 62 , 66 , 78 , 55 , 70 , 57 , 72 , 75 , 52 , 53 , -1 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , -1 , 1 , 69 , -1 , 81 , -1 , 82 , -1 , 2 , 2 , -1 , 80 , 58 , 59 , 61 , 79 , -1 , 56 , 71 , 68 , 73 , 75 , 75 , 75 , 75 , 77 , 76 , 76 , 76 , 76 , 76 , 76 , 48 , 76 , 76 , 76 , 76 , 17 , 76 , 76 , 76 , 76 , 76 , 76 , 26 , 76 , 31 , 16 , 76 , 76 , 76 , 76 , 76 , 33 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , -1 , 84 , -1 , 83 , -1 , 2 , 60 , 74 , 77 , 77 , 77 , 77 , 76 , 76 , 32 , 76 , 76 , 76 , 76 , 76 , 76 , 10 , 76 , 76 , 30 , 11 , 76 , 76 , 76 , 41 , 76 , 40 , 34 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 20 , 76 , 76 , 76 , -1 , 76 , 76 , 76 , 13 , 76 , 76 , 76 , 28 , 76 , 76 , 76 , 14 , 76 , 76 , 11 , 47 , 42 , 76 , 76 , 76 , 76 , 76 , 76 , 44 , 76 , 76 , 27 , 45 , 12 , 76 , 76 , 49 , 76 , 38 , 76 , 76 , 37 , 5 , 76 , 76 , 46 , 76 , 76 , 76 , 76 , 76 , 76 , 76 , 15 , 76 , 76 , 43 , 76 , 29 , 76 , 76 , 39 , 76 , 22 , 4 , 76 , 21 , 76 , 76 , 76 , 76 , 76 , 35 , 76 , 76 , 76 , 76 , 76 , 76 , 25 , 3 , 24 , 76 , 76 , 9 , 76 , 76 , 6 , 36 , 76 , 76 , 18 , 76 , 19 , 7 , 23 , 8 ] ]