Skip to content

Instantly share code, notes, and snippets.

@8secz-johndpope
Last active June 12, 2019 13:37
Show Gist options
  • Save 8secz-johndpope/30868ccd59f211f0000b90e6176dead7 to your computer and use it in GitHub Desktop.
Save 8secz-johndpope/30868ccd59f211f0000b90e6176dead7 to your computer and use it in GitHub Desktop.
// Code generated from SmaliLexer.g4 by ANTLR 4.7.2. DO NOT EDIT.
package parser
import (
"fmt"
"unicode"
"github.com/antlr/antlr4/runtime/Go/antlr"
)
// Suppress unused import error
var _ = fmt.Printf
var _ = unicode.IsLetter
var serializedLexerAtn = []uint16{
3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 308, 4100,
8, 1, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7,
9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12,
4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4,
18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23,
9, 23, 4, 24, 9, 24, 4, 25, 9, 25, 4, 26, 9, 26, 4, 27, 9, 27, 4, 28, 9,
28, 4, 29, 9, 29, 4, 30, 9, 30, 4, 31, 9, 31, 4, 32, 9, 32, 4, 33, 9, 33,
4, 34, 9, 34, 4, 35, 9, 35, 4, 36, 9, 36, 4, 37, 9, 37, 4, 38, 9, 38, 4,
39, 9, 39, 4, 40, 9, 40, 4, 41, 9, 41, 4, 42, 9, 42, 4, 43, 9, 43, 4, 44,
9, 44, 4, 45, 9, 45, 4, 46, 9, 46, 4, 47, 9, 47, 4, 48, 9, 48, 4, 49, 9,
49, 4, 50, 9, 50, 4, 51, 9, 51, 4, 52, 9, 52, 4, 53, 9, 53, 4, 54, 9, 54,
4, 55, 9, 55, 4, 56, 9, 56, 4, 57, 9, 57, 4, 58, 9, 58, 4, 59, 9, 59, 4,
60, 9, 60, 4, 61, 9, 61, 4, 62, 9, 62, 4, 63, 9, 63, 4, 64, 9, 64, 4, 65,
9, 65, 4, 66, 9, 66, 4, 67, 9, 67, 4, 68, 9, 68, 4, 69, 9, 69, 4, 70, 9,
70, 4, 71, 9, 71, 4, 72, 9, 72, 4, 73, 9, 73, 4, 74, 9, 74, 4, 75, 9, 75,
4, 76, 9, 76, 4, 77, 9, 77, 4, 78, 9, 78, 4, 79, 9, 79, 4, 80, 9, 80, 4,
81, 9, 81, 4, 82, 9, 82, 4, 83, 9, 83, 4, 84, 9, 84, 4, 85, 9, 85, 4, 86,
9, 86, 4, 87, 9, 87, 4, 88, 9, 88, 4, 89, 9, 89, 4, 90, 9, 90, 4, 91, 9,
91, 4, 92, 9, 92, 4, 93, 9, 93, 4, 94, 9, 94, 4, 95, 9, 95, 4, 96, 9, 96,
4, 97, 9, 97, 4, 98, 9, 98, 4, 99, 9, 99, 4, 100, 9, 100, 4, 101, 9, 101,
4, 102, 9, 102, 4, 103, 9, 103, 4, 104, 9, 104, 4, 105, 9, 105, 4, 106,
9, 106, 4, 107, 9, 107, 4, 108, 9, 108, 4, 109, 9, 109, 4, 110, 9, 110,
4, 111, 9, 111, 4, 112, 9, 112, 4, 113, 9, 113, 4, 114, 9, 114, 4, 115,
9, 115, 4, 116, 9, 116, 4, 117, 9, 117, 4, 118, 9, 118, 4, 119, 9, 119,
4, 120, 9, 120, 4, 121, 9, 121, 4, 122, 9, 122, 4, 123, 9, 123, 4, 124,
9, 124, 4, 125, 9, 125, 4, 126, 9, 126, 4, 127, 9, 127, 4, 128, 9, 128,
4, 129, 9, 129, 4, 130, 9, 130, 4, 131, 9, 131, 4, 132, 9, 132, 4, 133,
9, 133, 4, 134, 9, 134, 4, 135, 9, 135, 4, 136, 9, 136, 4, 137, 9, 137,
4, 138, 9, 138, 4, 139, 9, 139, 4, 140, 9, 140, 4, 141, 9, 141, 4, 142,
9, 142, 4, 143, 9, 143, 4, 144, 9, 144, 4, 145, 9, 145, 4, 146, 9, 146,
4, 147, 9, 147, 4, 148, 9, 148, 4, 149, 9, 149, 4, 150, 9, 150, 4, 151,
9, 151, 4, 152, 9, 152, 4, 153, 9, 153, 4, 154, 9, 154, 4, 155, 9, 155,
4, 156, 9, 156, 4, 157, 9, 157, 4, 158, 9, 158, 4, 159, 9, 159, 4, 160,
9, 160, 4, 161, 9, 161, 4, 162, 9, 162, 4, 163, 9, 163, 4, 164, 9, 164,
4, 165, 9, 165, 4, 166, 9, 166, 4, 167, 9, 167, 4, 168, 9, 168, 4, 169,
9, 169, 4, 170, 9, 170, 4, 171, 9, 171, 4, 172, 9, 172, 4, 173, 9, 173,
4, 174, 9, 174, 4, 175, 9, 175, 4, 176, 9, 176, 4, 177, 9, 177, 4, 178,
9, 178, 4, 179, 9, 179, 4, 180, 9, 180, 4, 181, 9, 181, 4, 182, 9, 182,
4, 183, 9, 183, 4, 184, 9, 184, 4, 185, 9, 185, 4, 186, 9, 186, 4, 187,
9, 187, 4, 188, 9, 188, 4, 189, 9, 189, 4, 190, 9, 190, 4, 191, 9, 191,
4, 192, 9, 192, 4, 193, 9, 193, 4, 194, 9, 194, 4, 195, 9, 195, 4, 196,
9, 196, 4, 197, 9, 197, 4, 198, 9, 198, 4, 199, 9, 199, 4, 200, 9, 200,
4, 201, 9, 201, 4, 202, 9, 202, 4, 203, 9, 203, 4, 204, 9, 204, 4, 205,
9, 205, 4, 206, 9, 206, 4, 207, 9, 207, 4, 208, 9, 208, 4, 209, 9, 209,
4, 210, 9, 210, 4, 211, 9, 211, 4, 212, 9, 212, 4, 213, 9, 213, 4, 214,
9, 214, 4, 215, 9, 215, 4, 216, 9, 216, 4, 217, 9, 217, 4, 218, 9, 218,
4, 219, 9, 219, 4, 220, 9, 220, 4, 221, 9, 221, 4, 222, 9, 222, 4, 223,
9, 223, 4, 224, 9, 224, 4, 225, 9, 225, 4, 226, 9, 226, 4, 227, 9, 227,
4, 228, 9, 228, 4, 229, 9, 229, 4, 230, 9, 230, 4, 231, 9, 231, 4, 232,
9, 232, 4, 233, 9, 233, 4, 234, 9, 234, 4, 235, 9, 235, 4, 236, 9, 236,
4, 237, 9, 237, 4, 238, 9, 238, 4, 239, 9, 239, 4, 240, 9, 240, 4, 241,
9, 241, 4, 242, 9, 242, 4, 243, 9, 243, 4, 244, 9, 244, 4, 245, 9, 245,
4, 246, 9, 246, 4, 247, 9, 247, 4, 248, 9, 248, 4, 249, 9, 249, 4, 250,
9, 250, 4, 251, 9, 251, 4, 252, 9, 252, 4, 253, 9, 253, 4, 254, 9, 254,
4, 255, 9, 255, 4, 256, 9, 256, 4, 257, 9, 257, 4, 258, 9, 258, 4, 259,
9, 259, 4, 260, 9, 260, 4, 261, 9, 261, 4, 262, 9, 262, 4, 263, 9, 263,
4, 264, 9, 264, 4, 265, 9, 265, 4, 266, 9, 266, 4, 267, 9, 267, 4, 268,
9, 268, 4, 269, 9, 269, 4, 270, 9, 270, 4, 271, 9, 271, 4, 272, 9, 272,
4, 273, 9, 273, 4, 274, 9, 274, 4, 275, 9, 275, 4, 276, 9, 276, 4, 277,
9, 277, 4, 278, 9, 278, 4, 279, 9, 279, 4, 280, 9, 280, 4, 281, 9, 281,
4, 282, 9, 282, 4, 283, 9, 283, 4, 284, 9, 284, 4, 285, 9, 285, 4, 286,
9, 286, 4, 287, 9, 287, 4, 288, 9, 288, 4, 289, 9, 289, 4, 290, 9, 290,
4, 291, 9, 291, 4, 292, 9, 292, 4, 293, 9, 293, 4, 294, 9, 294, 4, 295,
9, 295, 4, 296, 9, 296, 4, 297, 9, 297, 4, 298, 9, 298, 4, 299, 9, 299,
4, 300, 9, 300, 4, 301, 9, 301, 4, 302, 9, 302, 4, 303, 9, 303, 4, 304,
9, 304, 4, 305, 9, 305, 4, 306, 9, 306, 4, 307, 9, 307, 4, 308, 9, 308,
4, 309, 9, 309, 4, 310, 9, 310, 4, 311, 9, 311, 4, 312, 9, 312, 4, 313,
9, 313, 4, 314, 9, 314, 4, 315, 9, 315, 4, 316, 9, 316, 3, 2, 3, 2, 3,
2, 3, 2, 3, 2, 7, 2, 639, 10, 2, 12, 2, 14, 2, 642, 11, 2, 3, 2, 3, 2,
3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 7, 2, 651, 10, 2, 12, 2, 14, 2, 654, 11,
2, 3, 2, 3, 2, 5, 2, 658, 10, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3,
2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 5, 2, 673, 10, 2, 3, 3, 3, 3, 3,
4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 9, 3, 9, 3,
10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12,
3, 12, 6, 12, 701, 10, 12, 13, 12, 14, 12, 702, 3, 12, 3, 12, 3, 13, 3,
13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 3, 18, 3, 18,
3, 19, 3, 19, 3, 20, 3, 20, 3, 21, 3, 21, 3, 22, 3, 22, 3, 23, 3, 23, 3,
24, 3, 24, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28,
3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 30, 3, 30, 3,
30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 31,
3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 32, 3, 32, 3, 32, 3, 32, 3,
32, 3, 32, 3, 32, 3, 32, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33,
3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 35, 3, 35, 3, 35, 3,
35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 36, 3, 36, 3, 36,
3, 36, 3, 36, 3, 36, 3, 36, 3, 36, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3,
37, 3, 37, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 39, 3, 39, 3, 39,
3, 39, 3, 39, 3, 39, 3, 39, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3,
40, 3, 40, 3, 40, 3, 40, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41,
3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3,
42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42,
3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 44, 3, 44, 3, 44, 3,
44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 44, 3, 45, 3, 45, 3, 45,
3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3,
45, 3, 45, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46,
3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 46, 3, 47, 3, 47, 3, 47, 3, 47, 3,
47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47,
3, 47, 3, 47, 3, 47, 3, 47, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3,
48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49,
3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, 3,
49, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 50,
3, 50, 3, 50, 3, 50, 3, 50, 3, 50, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3,
51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51,
3, 51, 3, 51, 3, 51, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3, 52, 3,
52, 3, 52, 3, 52, 3, 52, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53, 3, 53,
3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 54, 3, 55, 3, 55, 3,
55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 56, 3, 56, 3, 56,
3, 56, 3, 56, 3, 56, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3,
57, 3, 57, 3, 57, 3, 57, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 58,
3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3,
60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60, 3, 60,
3, 60, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3,
62, 3, 62, 3, 62, 3, 62, 3, 62, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63,
3, 63, 3, 63, 3, 63, 3, 63, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64, 3,
64, 3, 64, 3, 64, 3, 64, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 65,
3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3,
66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66,
3, 66, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 67, 3,
68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 69, 3, 69,
3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 69, 3, 70, 3, 70, 3, 70, 3, 70, 3,
70, 3, 70, 3, 70, 3, 71, 3, 71, 3, 71, 3, 71, 3, 72, 3, 72, 3, 72, 3, 72,
3, 72, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3, 73, 3,
73, 3, 73, 3, 73, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74,
3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3, 75, 3,
76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76,
3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 77, 3, 77, 3, 77, 3, 77, 3,
77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 77, 3, 78, 3, 78,
3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3,
79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79,
3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 79, 3, 80, 3, 80, 3,
80, 3, 80, 3, 80, 3, 80, 3, 80, 3, 80, 3, 80, 3, 80, 3, 80, 3, 80, 3, 80,
3, 80, 3, 80, 3, 81, 3, 81, 3, 81, 3, 81, 3, 81, 3, 81, 3, 81, 3, 81, 3,
81, 3, 81, 3, 81, 3, 81, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82,
3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3,
83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83,
3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 83, 3, 84, 3, 84, 3,
84, 3, 84, 3, 84, 3, 84, 3, 84, 3, 84, 3, 84, 3, 84, 3, 84, 3, 84, 3, 84,
3, 84, 3, 84, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85, 3,
85, 3, 85, 3, 85, 3, 85, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 3, 86,
3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3,
87, 3, 87, 3, 88, 3, 88, 3, 88, 3, 88, 3, 88, 3, 88, 3, 88, 3, 88, 3, 88,
3, 88, 3, 88, 3, 88, 3, 88, 3, 88, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3,
89, 3, 89, 3, 89, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90, 3, 90,
3, 90, 3, 91, 3, 91, 3, 91, 3, 91, 3, 91, 3, 91, 3, 92, 3, 92, 3, 92, 3,
92, 3, 92, 3, 92, 3, 92, 3, 92, 3, 92, 3, 92, 3, 92, 3, 92, 3, 92, 3, 93,
3, 93, 3, 93, 3, 93, 3, 93, 3, 93, 3, 93, 3, 93, 3, 93, 3, 93, 3, 93, 3,
93, 3, 93, 3, 93, 3, 94, 3, 94, 3, 94, 3, 94, 3, 94, 3, 94, 3, 94, 3, 94,
3, 94, 3, 94, 3, 94, 3, 94, 3, 94, 3, 94, 3, 95, 3, 95, 3, 95, 3, 95, 3,
95, 3, 95, 3, 95, 3, 95, 3, 95, 3, 95, 3, 95, 3, 96, 3, 96, 3, 96, 3, 96,
3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3, 96, 3,
96, 3, 96, 3, 96, 3, 96, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97,
3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 98, 3, 98, 3, 98, 3, 98, 3,
98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98, 3, 98,
3, 98, 3, 98, 3, 98, 3, 98, 3, 99, 3, 99, 3, 99, 3, 99, 3, 99, 3, 99, 3,
99, 3, 99, 3, 99, 3, 99, 3, 99, 3, 99, 3, 100, 3, 100, 3, 100, 3, 100,
3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100, 3, 100,
3, 100, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101,
3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 102, 3, 102, 3, 102, 3, 102,
3, 102, 3, 102, 3, 102, 3, 102, 3, 102, 3, 102, 3, 102, 3, 103, 3, 103,
3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103,
3, 103, 3, 104, 3, 104, 3, 104, 3, 104, 3, 104, 3, 104, 3, 104, 3, 104,
3, 104, 3, 104, 3, 104, 3, 104, 3, 104, 3, 105, 3, 105, 3, 105, 3, 105,
3, 105, 3, 105, 3, 105, 3, 105, 3, 105, 3, 105, 3, 105, 3, 105, 3, 105,
3, 106, 3, 106, 3, 106, 3, 106, 3, 106, 3, 106, 3, 106, 3, 106, 3, 106,
3, 106, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107,
3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107, 3, 107,
3, 108, 3, 108, 3, 108, 3, 108, 3, 108, 3, 108, 3, 108, 3, 108, 3, 108,
3, 108, 3, 108, 3, 108, 3, 108, 3, 108, 3, 108, 3, 108, 3, 108, 3, 108,
3, 108, 3, 108, 3, 108, 3, 108, 3, 108, 3, 109, 3, 109, 3, 109, 3, 109,
3, 109, 3, 109, 3, 109, 3, 109, 3, 109, 3, 109, 3, 109, 3, 109, 3, 109,
3, 109, 3, 109, 3, 109, 3, 110, 3, 110, 3, 110, 3, 110, 3, 110, 3, 110,
3, 111, 3, 111, 3, 111, 3, 111, 3, 111, 3, 112, 3, 112, 3, 112, 3, 112,
3, 112, 3, 112, 3, 112, 3, 112, 3, 113, 3, 113, 3, 113, 3, 113, 3, 113,
3, 113, 3, 113, 3, 113, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114,
3, 114, 3, 114, 3, 114, 3, 114, 3, 114, 3, 115, 3, 115, 3, 115, 3, 115,
3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 116, 3, 116,
3, 116, 3, 116, 3, 116, 3, 116, 3, 116, 3, 116, 3, 116, 3, 116, 3, 116,
3, 116, 3, 117, 3, 117, 3, 117, 3, 117, 3, 117, 3, 117, 3, 117, 3, 117,
3, 117, 3, 117, 3, 117, 3, 117, 3, 118, 3, 118, 3, 118, 3, 118, 3, 118,
3, 118, 3, 118, 3, 118, 3, 118, 3, 119, 3, 119, 3, 119, 3, 119, 3, 119,
3, 119, 3, 120, 3, 120, 3, 120, 3, 120, 3, 120, 3, 120, 3, 121, 3, 121,
3, 121, 3, 121, 3, 121, 3, 121, 3, 122, 3, 122, 3, 122, 3, 122, 3, 122,
3, 122, 3, 123, 3, 123, 3, 123, 3, 123, 3, 123, 3, 123, 3, 124, 3, 124,
3, 124, 3, 124, 3, 124, 3, 124, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125,
3, 125, 3, 125, 3, 126, 3, 126, 3, 126, 3, 126, 3, 126, 3, 126, 3, 126,
3, 127, 3, 127, 3, 127, 3, 127, 3, 127, 3, 127, 3, 127, 3, 128, 3, 128,
3, 128, 3, 128, 3, 128, 3, 128, 3, 128, 3, 129, 3, 129, 3, 129, 3, 129,
3, 129, 3, 129, 3, 129, 3, 130, 3, 130, 3, 130, 3, 130, 3, 130, 3, 130,
3, 130, 3, 131, 3, 131, 3, 131, 3, 131, 3, 131, 3, 132, 3, 132, 3, 132,
3, 132, 3, 132, 3, 132, 3, 132, 3, 132, 3, 132, 3, 132, 3, 133, 3, 133,
3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133,
3, 133, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134,
3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 135, 3, 135, 3, 135, 3, 135,
3, 135, 3, 135, 3, 135, 3, 135, 3, 135, 3, 135, 3, 136, 3, 136, 3, 136,
3, 136, 3, 136, 3, 136, 3, 136, 3, 136, 3, 136, 3, 136, 3, 137, 3, 137,
3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137,
3, 138, 3, 138, 3, 138, 3, 138, 3, 138, 3, 139, 3, 139, 3, 139, 3, 139,
3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 140, 3, 140, 3, 140,
3, 140, 3, 140, 3, 140, 3, 140, 3, 140, 3, 140, 3, 140, 3, 140, 3, 140,
3, 141, 3, 141, 3, 141, 3, 141, 3, 141, 3, 141, 3, 141, 3, 141, 3, 141,
3, 141, 3, 141, 3, 141, 3, 141, 3, 142, 3, 142, 3, 142, 3, 142, 3, 142,
3, 142, 3, 142, 3, 142, 3, 142, 3, 142, 3, 143, 3, 143, 3, 143, 3, 143,
3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 143, 3, 144, 3, 144, 3, 144,
3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 145,
3, 145, 3, 145, 3, 145, 3, 145, 3, 146, 3, 146, 3, 146, 3, 146, 3, 146,
3, 146, 3, 146, 3, 146, 3, 146, 3, 146, 3, 147, 3, 147, 3, 147, 3, 147,
3, 147, 3, 147, 3, 147, 3, 147, 3, 147, 3, 147, 3, 147, 3, 147, 3, 148,
3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148,
3, 148, 3, 148, 3, 148, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149, 3, 149,
3, 149, 3, 149, 3, 149, 3, 149, 3, 150, 3, 150, 3, 150, 3, 150, 3, 150,
3, 150, 3, 150, 3, 150, 3, 150, 3, 150, 3, 151, 3, 151, 3, 151, 3, 151,
3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 152, 3, 152,
3, 152, 3, 152, 3, 152, 3, 153, 3, 153, 3, 153, 3, 153, 3, 153, 3, 153,
3, 153, 3, 153, 3, 153, 3, 153, 3, 154, 3, 154, 3, 154, 3, 154, 3, 154,
3, 154, 3, 154, 3, 154, 3, 154, 3, 154, 3, 154, 3, 154, 3, 155, 3, 155,
3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155,
3, 155, 3, 155, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156, 3, 156,
3, 156, 3, 156, 3, 156, 3, 157, 3, 157, 3, 157, 3, 157, 3, 157, 3, 157,
3, 157, 3, 157, 3, 157, 3, 157, 3, 158, 3, 158, 3, 158, 3, 158, 3, 158,
3, 158, 3, 158, 3, 158, 3, 158, 3, 158, 3, 158, 3, 159, 3, 159, 3, 159,
3, 159, 3, 159, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 160,
3, 160, 3, 160, 3, 160, 3, 161, 3, 161, 3, 161, 3, 161, 3, 161, 3, 161,
3, 161, 3, 161, 3, 161, 3, 161, 3, 161, 3, 161, 3, 162, 3, 162, 3, 162,
3, 162, 3, 162, 3, 162, 3, 162, 3, 162, 3, 162, 3, 162, 3, 162, 3, 162,
3, 162, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163, 3, 163,
3, 163, 3, 163, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164,
3, 164, 3, 164, 3, 164, 3, 165, 3, 165, 3, 165, 3, 165, 3, 165, 3, 165,
3, 165, 3, 165, 3, 165, 3, 165, 3, 165, 3, 166, 3, 166, 3, 166, 3, 166,
3, 166, 3, 167, 3, 167, 3, 167, 3, 167, 3, 167, 3, 167, 3, 167, 3, 167,
3, 167, 3, 167, 3, 168, 3, 168, 3, 168, 3, 168, 3, 168, 3, 168, 3, 168,
3, 168, 3, 168, 3, 168, 3, 168, 3, 168, 3, 169, 3, 169, 3, 169, 3, 169,
3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169,
3, 170, 3, 170, 3, 170, 3, 170, 3, 170, 3, 170, 3, 170, 3, 170, 3, 170,
3, 170, 3, 171, 3, 171, 3, 171, 3, 171, 3, 171, 3, 171, 3, 171, 3, 171,
3, 171, 3, 171, 3, 172, 3, 172, 3, 172, 3, 172, 3, 172, 3, 172, 3, 172,
3, 172, 3, 172, 3, 172, 3, 172, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173,
3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173,
3, 173, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 174,
3, 174, 3, 174, 3, 174, 3, 174, 3, 174, 3, 175, 3, 175, 3, 175, 3, 175,
3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175, 3, 175,
3, 175, 3, 176, 3, 176, 3, 176, 3, 176, 3, 176, 3, 176, 3, 176, 3, 176,
3, 176, 3, 176, 3, 176, 3, 176, 3, 176, 3, 176, 3, 177, 3, 177, 3, 177,
3, 177, 3, 177, 3, 177, 3, 177, 3, 177, 3, 177, 3, 177, 3, 177, 3, 177,
3, 177, 3, 177, 3, 177, 3, 177, 3, 177, 3, 178, 3, 178, 3, 178, 3, 178,
3, 178, 3, 178, 3, 178, 3, 178, 3, 178, 3, 178, 3, 178, 3, 178, 3, 178,
3, 178, 3, 178, 3, 178, 3, 178, 3, 178, 3, 178, 3, 178, 3, 178, 3, 179,
3, 179, 3, 179, 3, 179, 3, 179, 3, 179, 3, 179, 3, 179, 3, 179, 3, 179,
3, 179, 3, 179, 3, 179, 3, 179, 3, 179, 3, 179, 3, 179, 3, 179, 3, 179,
3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180,
3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180, 3, 180,
3, 180, 3, 180, 3, 181, 3, 181, 3, 181, 3, 181, 3, 181, 3, 181, 3, 181,
3, 181, 3, 181, 3, 181, 3, 181, 3, 181, 3, 181, 3, 181, 3, 181, 3, 181,
3, 181, 3, 181, 3, 181, 3, 181, 3, 182, 3, 182, 3, 182, 3, 182, 3, 182,
3, 182, 3, 182, 3, 182, 3, 182, 3, 182, 3, 182, 3, 182, 3, 182, 3, 182,
3, 182, 3, 182, 3, 182, 3, 182, 3, 182, 3, 182, 3, 182, 3, 182, 3, 182,
3, 183, 3, 183, 3, 183, 3, 183, 3, 183, 3, 183, 3, 183, 3, 183, 3, 184,
3, 184, 3, 184, 3, 184, 3, 184, 3, 184, 3, 184, 3, 184, 3, 185, 3, 185,
3, 185, 3, 185, 3, 185, 3, 185, 3, 185, 3, 185, 3, 185, 3, 186, 3, 186,
3, 186, 3, 186, 3, 186, 3, 186, 3, 186, 3, 186, 3, 186, 3, 187, 3, 187,
3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 188,
3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188,
3, 188, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189, 3, 189,
3, 189, 3, 189, 3, 189, 3, 189, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190,
3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190, 3, 191,
3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191,
3, 191, 3, 191, 3, 191, 3, 191, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192,
3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 193, 3, 193,
3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 193,
3, 193, 3, 193, 3, 193, 3, 194, 3, 194, 3, 194, 3, 194, 3, 194, 3, 194,
3, 194, 3, 194, 3, 194, 3, 194, 3, 194, 3, 194, 3, 194, 3, 194, 3, 194,
3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195,
3, 195, 3, 195, 3, 195, 3, 195, 3, 196, 3, 196, 3, 196, 3, 196, 3, 196,
3, 196, 3, 196, 3, 196, 3, 196, 3, 196, 3, 196, 3, 196, 3, 196, 3, 196,
3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197,
3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 198, 3, 198,
3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198, 3, 198,
3, 198, 3, 198, 3, 198, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199,
3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199,
3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200,
3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 201, 3, 201,
3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201,
3, 201, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 202,
3, 202, 3, 202, 3, 202, 3, 202, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203,
3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 203, 3, 204,
3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 205, 3, 205,
3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 206, 3, 206, 3, 206,
3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 207, 3, 207, 3, 207, 3, 207,
3, 207, 3, 207, 3, 207, 3, 207, 3, 208, 3, 208, 3, 208, 3, 208, 3, 208,
3, 208, 3, 208, 3, 208, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209,
3, 209, 3, 209, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210,
3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 212,
3, 212, 3, 212, 3, 212, 3, 212, 3, 212, 3, 212, 3, 212, 3, 213, 3, 213,
3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 214, 3, 214, 3, 214,
3, 214, 3, 214, 3, 214, 3, 214, 3, 214, 3, 214, 3, 215, 3, 215, 3, 215,
3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 3, 216, 3, 216, 3, 216,
3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 216, 3, 217, 3, 217, 3, 217,
3, 217, 3, 217, 3, 217, 3, 217, 3, 217, 3, 217, 3, 218, 3, 218, 3, 218,
3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 219, 3, 219, 3, 219,
3, 219, 3, 219, 3, 219, 3, 219, 3, 219, 3, 219, 3, 220, 3, 220, 3, 220,
3, 220, 3, 220, 3, 220, 3, 220, 3, 220, 3, 220, 3, 221, 3, 221, 3, 221,
3, 221, 3, 221, 3, 221, 3, 221, 3, 221, 3, 222, 3, 222, 3, 222, 3, 222,
3, 222, 3, 222, 3, 222, 3, 222, 3, 222, 3, 223, 3, 223, 3, 223, 3, 223,
3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 224, 3, 224, 3, 224, 3, 224,
3, 224, 3, 224, 3, 224, 3, 224, 3, 224, 3, 225, 3, 225, 3, 225, 3, 225,
3, 225, 3, 225, 3, 225, 3, 225, 3, 225, 3, 225, 3, 226, 3, 226, 3, 226,
3, 226, 3, 226, 3, 226, 3, 226, 3, 226, 3, 226, 3, 226, 3, 227, 3, 227,
3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 3, 228,
3, 228, 3, 228, 3, 228, 3, 228, 3, 228, 3, 228, 3, 228, 3, 228, 3, 228,
3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 229,
3, 229, 3, 230, 3, 230, 3, 230, 3, 230, 3, 230, 3, 230, 3, 230, 3, 230,
3, 230, 3, 230, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231,
3, 231, 3, 231, 3, 231, 3, 231, 3, 232, 3, 232, 3, 232, 3, 232, 3, 232,
3, 232, 3, 232, 3, 232, 3, 232, 3, 232, 3, 232, 3, 233, 3, 233, 3, 233,
3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 234,
3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234, 3, 234,
3, 234, 3, 235, 3, 235, 3, 235, 3, 235, 3, 235, 3, 235, 3, 235, 3, 235,
3, 235, 3, 235, 3, 235, 3, 236, 3, 236, 3, 236, 3, 236, 3, 236, 3, 236,
3, 236, 3, 236, 3, 236, 3, 236, 3, 236, 3, 236, 3, 236, 3, 236, 3, 237,
3, 237, 3, 237, 3, 237, 3, 237, 3, 237, 3, 237, 3, 237, 3, 237, 3, 237,
3, 237, 3, 237, 3, 237, 3, 237, 3, 238, 3, 238, 3, 238, 3, 238, 3, 238,
3, 238, 3, 238, 3, 238, 3, 238, 3, 238, 3, 238, 3, 238, 3, 238, 3, 238,
3, 239, 3, 239, 3, 239, 3, 239, 3, 239, 3, 239, 3, 239, 3, 239, 3, 239,
3, 239, 3, 239, 3, 239, 3, 239, 3, 239, 3, 240, 3, 240, 3, 240, 3, 240,
3, 240, 3, 240, 3, 240, 3, 240, 3, 240, 3, 240, 3, 240, 3, 240, 3, 240,
3, 240, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241,
3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 242, 3, 242, 3, 242,
3, 242, 3, 242, 3, 242, 3, 242, 3, 242, 3, 242, 3, 242, 3, 242, 3, 242,
3, 242, 3, 243, 3, 243, 3, 243, 3, 243, 3, 243, 3, 243, 3, 243, 3, 243,
3, 243, 3, 243, 3, 243, 3, 243, 3, 243, 3, 243, 3, 244, 3, 244, 3, 244,
3, 244, 3, 244, 3, 244, 3, 244, 3, 244, 3, 244, 3, 244, 3, 244, 3, 244,
3, 244, 3, 244, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245,
3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 246, 3, 246,
3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246,
3, 246, 3, 246, 3, 246, 3, 246, 3, 247, 3, 247, 3, 247, 3, 247, 3, 247,
3, 247, 3, 247, 3, 247, 3, 247, 3, 247, 3, 247, 3, 247, 3, 247, 3, 247,
3, 247, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248,
3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 248, 3, 249, 3, 249,
3, 249, 3, 249, 3, 249, 3, 249, 3, 249, 3, 249, 3, 249, 3, 249, 3, 249,
3, 249, 3, 249, 3, 249, 3, 249, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250,
3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250,
3, 250, 3, 251, 3, 251, 3, 251, 3, 251, 3, 251, 3, 251, 3, 251, 3, 251,
3, 251, 3, 251, 3, 251, 3, 251, 3, 251, 3, 251, 3, 251, 3, 252, 3, 252,
3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252, 3, 252,
3, 252, 3, 252, 3, 252, 3, 252, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253,
3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253,
3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254,
3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 255, 3, 255, 3, 255,
3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255,
3, 255, 3, 255, 3, 255, 3, 256, 3, 256, 3, 256, 3, 256, 3, 256, 3, 256,
3, 256, 3, 256, 3, 256, 3, 256, 3, 256, 3, 256, 3, 256, 3, 256, 3, 256,
3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257,
3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 3, 257, 3, 258, 3, 258,
3, 258, 3, 258, 3, 258, 3, 258, 3, 258, 3, 258, 3, 258, 3, 258, 3, 258,
3, 258, 3, 258, 3, 258, 3, 258, 3, 258, 3, 259, 3, 259, 3, 259, 3, 259,
3, 259, 3, 259, 3, 259, 3, 259, 3, 259, 3, 259, 3, 259, 3, 259, 3, 259,
3, 259, 3, 259, 3, 259, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260,
3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260, 3, 260,
3, 260, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261,
3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 3, 262,
3, 262, 3, 262, 3, 262, 3, 262, 3, 262, 3, 262, 3, 262, 3, 262, 3, 262,
3, 262, 3, 262, 3, 262, 3, 262, 3, 262, 3, 262, 3, 263, 3, 263, 3, 263,
3, 263, 3, 263, 3, 263, 3, 263, 3, 263, 3, 263, 3, 263, 3, 263, 3, 263,
3, 263, 3, 263, 3, 263, 3, 263, 3, 263, 3, 264, 3, 264, 3, 264, 3, 264,
3, 264, 3, 264, 3, 264, 3, 264, 3, 264, 3, 264, 3, 264, 3, 264, 3, 264,
3, 264, 3, 264, 3, 264, 3, 264, 3, 265, 3, 265, 3, 265, 3, 265, 3, 265,
3, 265, 3, 265, 3, 265, 3, 265, 3, 265, 3, 265, 3, 265, 3, 265, 3, 265,
3, 265, 3, 265, 3, 265, 3, 266, 3, 266, 3, 266, 3, 266, 3, 266, 3, 266,
3, 266, 3, 266, 3, 266, 3, 266, 3, 266, 3, 266, 3, 266, 3, 266, 3, 266,
3, 266, 3, 266, 3, 267, 3, 267, 3, 267, 3, 267, 3, 267, 3, 267, 3, 267,
3, 267, 3, 267, 3, 267, 3, 267, 3, 267, 3, 267, 3, 267, 3, 267, 3, 267,
3, 267, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268,
3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 268, 3, 269, 3, 269, 3, 269,
3, 269, 3, 269, 3, 269, 3, 269, 3, 269, 3, 269, 3, 270, 3, 270, 3, 270,
3, 270, 3, 270, 3, 270, 3, 270, 3, 270, 3, 270, 3, 270, 3, 270, 3, 270,
3, 270, 3, 270, 3, 271, 3, 271, 3, 271, 3, 271, 3, 271, 3, 271, 3, 271,
3, 271, 3, 271, 3, 271, 3, 271, 3, 271, 3, 271, 3, 271, 3, 272, 3, 272,
3, 272, 3, 272, 3, 272, 3, 272, 3, 272, 3, 272, 3, 272, 3, 272, 3, 272,
3, 272, 3, 272, 3, 272, 3, 273, 3, 273, 3, 273, 3, 273, 3, 273, 3, 273,
3, 273, 3, 273, 3, 273, 3, 273, 3, 273, 3, 273, 3, 273, 3, 273, 3, 274,
3, 274, 3, 274, 3, 274, 3, 274, 3, 274, 3, 274, 3, 274, 3, 274, 3, 274,
3, 274, 3, 274, 3, 274, 3, 275, 3, 275, 3, 275, 3, 275, 3, 275, 3, 275,
3, 275, 3, 275, 3, 275, 3, 275, 3, 275, 3, 275, 3, 275, 3, 275, 3, 276,
3, 276, 3, 276, 3, 276, 3, 276, 3, 276, 3, 276, 3, 276, 3, 276, 3, 276,
3, 276, 3, 276, 3, 276, 3, 277, 3, 277, 3, 277, 3, 277, 3, 277, 3, 277,
3, 277, 3, 277, 3, 277, 3, 277, 3, 277, 3, 277, 3, 277, 3, 277, 3, 278,
3, 278, 3, 278, 3, 278, 3, 278, 3, 278, 3, 278, 3, 278, 3, 278, 3, 278,
3, 278, 3, 278, 3, 278, 3, 279, 3, 279, 3, 279, 3, 279, 3, 279, 3, 279,
3, 279, 3, 279, 3, 279, 3, 279, 3, 279, 3, 279, 3, 279, 3, 280, 3, 280,
3, 280, 3, 280, 3, 280, 3, 280, 3, 280, 3, 280, 3, 280, 3, 280, 3, 280,
3, 280, 3, 280, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281,
3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 282, 3, 282, 3, 282,
3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282, 3, 282,
3, 283, 3, 283, 3, 283, 3, 283, 3, 283, 3, 283, 3, 283, 3, 283, 3, 283,
3, 283, 3, 283, 3, 283, 3, 283, 3, 284, 3, 284, 3, 284, 3, 284, 3, 284,
3, 284, 3, 284, 3, 284, 3, 284, 3, 284, 3, 284, 3, 284, 3, 284, 3, 285,
3, 285, 3, 285, 3, 285, 3, 285, 3, 285, 3, 285, 3, 285, 3, 285, 3, 285,
3, 285, 3, 285, 3, 285, 3, 286, 3, 286, 3, 286, 3, 286, 3, 286, 3, 286,
3, 286, 3, 286, 3, 286, 3, 286, 3, 286, 3, 286, 3, 286, 3, 286, 3, 287,
3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287,
3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287, 3, 287,
3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288,
3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288,
3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 289, 3, 289,
3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289,
3, 289, 3, 289, 3, 289, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290,
3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290,
3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 291, 3, 291, 3, 291, 3, 291,
3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291,
3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 291, 3, 292, 3, 292,
3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292,
3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 292, 3, 293, 3, 293,
3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293, 3, 293,
3, 293, 3, 293, 3, 293, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294,
3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 294, 3, 295,
3, 295, 3, 295, 5, 295, 3870, 10, 295, 3, 295, 6, 295, 3873, 10, 295, 13,
295, 14, 295, 3874, 3, 295, 5, 295, 3878, 10, 295, 5, 295, 3880, 10, 295,
3, 295, 5, 295, 3883, 10, 295, 3, 296, 3, 296, 3, 296, 3, 296, 7, 296,
3889, 10, 296, 12, 296, 14, 296, 3892, 11, 296, 3, 296, 5, 296, 3895, 10,
296, 3, 296, 5, 296, 3898, 10, 296, 3, 297, 3, 297, 7, 297, 3902, 10, 297,
12, 297, 14, 297, 3905, 11, 297, 3, 297, 3, 297, 7, 297, 3909, 10, 297,
12, 297, 14, 297, 3912, 11, 297, 3, 297, 5, 297, 3915, 10, 297, 3, 297,
5, 297, 3918, 10, 297, 3, 298, 3, 298, 3, 298, 3, 298, 7, 298, 3924, 10,
298, 12, 298, 14, 298, 3927, 11, 298, 3, 298, 5, 298, 3930, 10, 298, 3,
298, 5, 298, 3933, 10, 298, 3, 299, 3, 299, 3, 299, 5, 299, 3938, 10, 299,
3, 299, 3, 299, 5, 299, 3942, 10, 299, 3, 299, 5, 299, 3945, 10, 299, 3,
299, 5, 299, 3948, 10, 299, 3, 299, 3, 299, 3, 299, 5, 299, 3953, 10, 299,
3, 299, 5, 299, 3956, 10, 299, 5, 299, 3958, 10, 299, 3, 300, 3, 300, 3,
300, 3, 300, 5, 300, 3964, 10, 300, 3, 300, 5, 300, 3967, 10, 300, 3, 300,
3, 300, 5, 300, 3971, 10, 300, 3, 300, 3, 300, 5, 300, 3975, 10, 300, 3,
300, 3, 300, 5, 300, 3979, 10, 300, 3, 301, 3, 301, 3, 301, 3, 301, 3,
301, 3, 301, 3, 301, 3, 301, 3, 301, 5, 301, 3990, 10, 301, 3, 302, 3,
302, 3, 302, 3, 302, 3, 302, 3, 303, 3, 303, 3, 303, 3, 303, 3, 304, 3,
304, 7, 304, 4003, 10, 304, 12, 304, 14, 304, 4006, 11, 304, 3, 304, 3,
304, 3, 305, 3, 305, 3, 306, 3, 306, 5, 306, 4014, 10, 306, 3, 307, 6,
307, 4017, 10, 307, 13, 307, 14, 307, 4018, 3, 307, 3, 307, 3, 308, 3,
308, 7, 308, 4025, 10, 308, 12, 308, 14, 308, 4028, 11, 308, 3, 308, 3,
308, 3, 309, 3, 309, 7, 309, 4034, 10, 309, 12, 309, 14, 309, 4037, 11,
309, 3, 310, 3, 310, 5, 310, 4041, 10, 310, 3, 310, 3, 310, 3, 311, 3,
311, 3, 311, 3, 311, 5, 311, 4049, 10, 311, 3, 311, 5, 311, 4052, 10, 311,
3, 311, 3, 311, 3, 311, 6, 311, 4057, 10, 311, 13, 311, 14, 311, 4058,
3, 311, 3, 311, 3, 311, 3, 311, 3, 311, 5, 311, 4066, 10, 311, 3, 312,
3, 312, 3, 312, 7, 312, 4071, 10, 312, 12, 312, 14, 312, 4074, 11, 312,
3, 312, 5, 312, 4077, 10, 312, 3, 313, 3, 313, 3, 314, 3, 314, 7, 314,
4083, 10, 314, 12, 314, 14, 314, 4086, 11, 314, 3, 314, 5, 314, 4089, 10,
314, 3, 315, 3, 315, 5, 315, 4093, 10, 315, 3, 316, 3, 316, 3, 316, 3,
316, 5, 316, 4099, 10, 316, 2, 2, 317, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13,
8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17,
33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26,
51, 27, 53, 28, 55, 29, 57, 30, 59, 31, 61, 32, 63, 33, 65, 34, 67, 35,
69, 36, 71, 37, 73, 38, 75, 39, 77, 40, 79, 41, 81, 42, 83, 43, 85, 44,
87, 45, 89, 46, 91, 47, 93, 48, 95, 49, 97, 50, 99, 51, 101, 52, 103, 53,
105, 54, 107, 55, 109, 56, 111, 57, 113, 58, 115, 59, 117, 60, 119, 61,
121, 62, 123, 63, 125, 64, 127, 65, 129, 66, 131, 67, 133, 68, 135, 69,
137, 70, 139, 71, 141, 72, 143, 73, 145, 74, 147, 75, 149, 76, 151, 77,
153, 78, 155, 79, 157, 80, 159, 81, 161, 82, 163, 83, 165, 84, 167, 85,
169, 86, 171, 87, 173, 88, 175, 89, 177, 90, 179, 91, 181, 92, 183, 93,
185, 94, 187, 95, 189, 96, 191, 97, 193, 98, 195, 99, 197, 100, 199, 101,
201, 102, 203, 103, 205, 104, 207, 105, 209, 106, 211, 107, 213, 108, 215,
109, 217, 110, 219, 111, 221, 112, 223, 113, 225, 114, 227, 115, 229, 116,
231, 117, 233, 118, 235, 119, 237, 120, 239, 121, 241, 122, 243, 123, 245,
124, 247, 125, 249, 126, 251, 127, 253, 128, 255, 129, 257, 130, 259, 131,
261, 132, 263, 133, 265, 134, 267, 135, 269, 136, 271, 137, 273, 138, 275,
139, 277, 140, 279, 141, 281, 142, 283, 143, 285, 144, 287, 145, 289, 146,
291, 147, 293, 148, 295, 149, 297, 150, 299, 151, 301, 152, 303, 153, 305,
154, 307, 155, 309, 156, 311, 157, 313, 158, 315, 159, 317, 160, 319, 161,
321, 162, 323, 163, 325, 164, 327, 165, 329, 166, 331, 167, 333, 168, 335,
169, 337, 170, 339, 171, 341, 172, 343, 173, 345, 174, 347, 175, 349, 176,
351, 177, 353, 178, 355, 179, 357, 180, 359, 181, 361, 182, 363, 183, 365,
184, 367, 185, 369, 186, 371, 187, 373, 188, 375, 189, 377, 190, 379, 191,
381, 192, 383, 193, 385, 194, 387, 195, 389, 196, 391, 197, 393, 198, 395,
199, 397, 200, 399, 201, 401, 202, 403, 203, 405, 204, 407, 205, 409, 206,
411, 207, 413, 208, 415, 209, 417, 210, 419, 211, 421, 212, 423, 213, 425,
214, 427, 215, 429, 216, 431, 217, 433, 218, 435, 219, 437, 220, 439, 221,
441, 222, 443, 223, 445, 224, 447, 225, 449, 226, 451, 227, 453, 228, 455,
229, 457, 230, 459, 231, 461, 232, 463, 233, 465, 234, 467, 235, 469, 236,
471, 237, 473, 238, 475, 239, 477, 240, 479, 241, 481, 242, 483, 243, 485,
244, 487, 245, 489, 246, 491, 247, 493, 248, 495, 249, 497, 250, 499, 251,
501, 252, 503, 253, 505, 254, 507, 255, 509, 256, 511, 257, 513, 258, 515,
259, 517, 260, 519, 261, 521, 262, 523, 263, 525, 264, 527, 265, 529, 266,
531, 267, 533, 268, 535, 269, 537, 270, 539, 271, 541, 272, 543, 273, 545,
274, 547, 275, 549, 276, 551, 277, 553, 278, 555, 279, 557, 280, 559, 281,
561, 282, 563, 283, 565, 284, 567, 285, 569, 286, 571, 287, 573, 288, 575,
289, 577, 290, 579, 291, 581, 292, 583, 293, 585, 294, 587, 295, 589, 296,
591, 297, 593, 298, 595, 299, 597, 300, 599, 301, 601, 302, 603, 303, 605,
304, 607, 305, 609, 306, 611, 2, 613, 307, 615, 308, 617, 2, 619, 2, 621,
2, 623, 2, 625, 2, 627, 2, 629, 2, 631, 2, 3, 2, 27, 3, 2, 51, 59, 4, 2,
78, 78, 110, 110, 4, 2, 90, 90, 122, 122, 5, 2, 50, 59, 67, 72, 99, 104,
6, 2, 50, 59, 67, 72, 97, 97, 99, 104, 3, 2, 50, 57, 4, 2, 50, 57, 97,
97, 4, 2, 68, 68, 100, 100, 3, 2, 50, 51, 4, 2, 50, 51, 97, 97, 6, 2, 70,
70, 72, 72, 102, 102, 104, 104, 4, 2, 82, 82, 114, 114, 4, 2, 45, 45, 47,
47, 6, 2, 12, 12, 15, 15, 41, 41, 94, 94, 5, 2, 11, 12, 14, 15, 34, 34,
4, 2, 12, 12, 15, 15, 4, 2, 71, 71, 103, 103, 10, 2, 36, 36, 41, 41, 94,
94, 100, 100, 104, 104, 112, 112, 116, 116, 118, 118, 3, 2, 50, 53, 3,
2, 50, 59, 4, 2, 50, 59, 97, 97, 6, 2, 38, 38, 67, 92, 97, 97, 99, 124,
4, 2, 2, 129, 55298, 56321, 3, 2, 55298, 56321, 3, 2, 56322, 57345, 2,
4149, 2, 3, 3, 2, 2, 2, 2, 5, 3, 2, 2, 2, 2, 7, 3, 2, 2, 2, 2, 9, 3, 2,
2, 2, 2, 11, 3, 2, 2, 2, 2, 13, 3, 2, 2, 2, 2, 15, 3, 2, 2, 2, 2, 17, 3,
2, 2, 2, 2, 19, 3, 2, 2, 2, 2, 21, 3, 2, 2, 2, 2, 23, 3, 2, 2, 2, 2, 25,
3, 2, 2, 2, 2, 27, 3, 2, 2, 2, 2, 29, 3, 2, 2, 2, 2, 31, 3, 2, 2, 2, 2,
33, 3, 2, 2, 2, 2, 35, 3, 2, 2, 2, 2, 37, 3, 2, 2, 2, 2, 39, 3, 2, 2, 2,
2, 41, 3, 2, 2, 2, 2, 43, 3, 2, 2, 2, 2, 45, 3, 2, 2, 2, 2, 47, 3, 2, 2,
2, 2, 49, 3, 2, 2, 2, 2, 51, 3, 2, 2, 2, 2, 53, 3, 2, 2, 2, 2, 55, 3, 2,
2, 2, 2, 57, 3, 2, 2, 2, 2, 59, 3, 2, 2, 2, 2, 61, 3, 2, 2, 2, 2, 63, 3,
2, 2, 2, 2, 65, 3, 2, 2, 2, 2, 67, 3, 2, 2, 2, 2, 69, 3, 2, 2, 2, 2, 71,
3, 2, 2, 2, 2, 73, 3, 2, 2, 2, 2, 75, 3, 2, 2, 2, 2, 77, 3, 2, 2, 2, 2,
79, 3, 2, 2, 2, 2, 81, 3, 2, 2, 2, 2, 83, 3, 2, 2, 2, 2, 85, 3, 2, 2, 2,
2, 87, 3, 2, 2, 2, 2, 89, 3, 2, 2, 2, 2, 91, 3, 2, 2, 2, 2, 93, 3, 2, 2,
2, 2, 95, 3, 2, 2, 2, 2, 97, 3, 2, 2, 2, 2, 99, 3, 2, 2, 2, 2, 101, 3,
2, 2, 2, 2, 103, 3, 2, 2, 2, 2, 105, 3, 2, 2, 2, 2, 107, 3, 2, 2, 2, 2,
109, 3, 2, 2, 2, 2, 111, 3, 2, 2, 2, 2, 113, 3, 2, 2, 2, 2, 115, 3, 2,
2, 2, 2, 117, 3, 2, 2, 2, 2, 119, 3, 2, 2, 2, 2, 121, 3, 2, 2, 2, 2, 123,
3, 2, 2, 2, 2, 125, 3, 2, 2, 2, 2, 127, 3, 2, 2, 2, 2, 129, 3, 2, 2, 2,
2, 131, 3, 2, 2, 2, 2, 133, 3, 2, 2, 2, 2, 135, 3, 2, 2, 2, 2, 137, 3,
2, 2, 2, 2, 139, 3, 2, 2, 2, 2, 141, 3, 2, 2, 2, 2, 143, 3, 2, 2, 2, 2,
145, 3, 2, 2, 2, 2, 147, 3, 2, 2, 2, 2, 149, 3, 2, 2, 2, 2, 151, 3, 2,
2, 2, 2, 153, 3, 2, 2, 2, 2, 155, 3, 2, 2, 2, 2, 157, 3, 2, 2, 2, 2, 159,
3, 2, 2, 2, 2, 161, 3, 2, 2, 2, 2, 163, 3, 2, 2, 2, 2, 165, 3, 2, 2, 2,
2, 167, 3, 2, 2, 2, 2, 169, 3, 2, 2, 2, 2, 171, 3, 2, 2, 2, 2, 173, 3,
2, 2, 2, 2, 175, 3, 2, 2, 2, 2, 177, 3, 2, 2, 2, 2, 179, 3, 2, 2, 2, 2,
181, 3, 2, 2, 2, 2, 183, 3, 2, 2, 2, 2, 185, 3, 2, 2, 2, 2, 187, 3, 2,
2, 2, 2, 189, 3, 2, 2, 2, 2, 191, 3, 2, 2, 2, 2, 193, 3, 2, 2, 2, 2, 195,
3, 2, 2, 2, 2, 197, 3, 2, 2, 2, 2, 199, 3, 2, 2, 2, 2, 201, 3, 2, 2, 2,
2, 203, 3, 2, 2, 2, 2, 205, 3, 2, 2, 2, 2, 207, 3, 2, 2, 2, 2, 209, 3,
2, 2, 2, 2, 211, 3, 2, 2, 2, 2, 213, 3, 2, 2, 2, 2, 215, 3, 2, 2, 2, 2,
217, 3, 2, 2, 2, 2, 219, 3, 2, 2, 2, 2, 221, 3, 2, 2, 2, 2, 223, 3, 2,
2, 2, 2, 225, 3, 2, 2, 2, 2, 227, 3, 2, 2, 2, 2, 229, 3, 2, 2, 2, 2, 231,
3, 2, 2, 2, 2, 233, 3, 2, 2, 2, 2, 235, 3, 2, 2, 2, 2, 237, 3, 2, 2, 2,
2, 239, 3, 2, 2, 2, 2, 241, 3, 2, 2, 2, 2, 243, 3, 2, 2, 2, 2, 245, 3,
2, 2, 2, 2, 247, 3, 2, 2, 2, 2, 249, 3, 2, 2, 2, 2, 251, 3, 2, 2, 2, 2,
253, 3, 2, 2, 2, 2, 255, 3, 2, 2, 2, 2, 257, 3, 2, 2, 2, 2, 259, 3, 2,
2, 2, 2, 261, 3, 2, 2, 2, 2, 263, 3, 2, 2, 2, 2, 265, 3, 2, 2, 2, 2, 267,
3, 2, 2, 2, 2, 269, 3, 2, 2, 2, 2, 271, 3, 2, 2, 2, 2, 273, 3, 2, 2, 2,
2, 275, 3, 2, 2, 2, 2, 277, 3, 2, 2, 2, 2, 279, 3, 2, 2, 2, 2, 281, 3,
2, 2, 2, 2, 283, 3, 2, 2, 2, 2, 285, 3, 2, 2, 2, 2, 287, 3, 2, 2, 2, 2,
289, 3, 2, 2, 2, 2, 291, 3, 2, 2, 2, 2, 293, 3, 2, 2, 2, 2, 295, 3, 2,
2, 2, 2, 297, 3, 2, 2, 2, 2, 299, 3, 2, 2, 2, 2, 301, 3, 2, 2, 2, 2, 303,
3, 2, 2, 2, 2, 305, 3, 2, 2, 2, 2, 307, 3, 2, 2, 2, 2, 309, 3, 2, 2, 2,
2, 311, 3, 2, 2, 2, 2, 313, 3, 2, 2, 2, 2, 315, 3, 2, 2, 2, 2, 317, 3,
2, 2, 2, 2, 319, 3, 2, 2, 2, 2, 321, 3, 2, 2, 2, 2, 323, 3, 2, 2, 2, 2,
325, 3, 2, 2, 2, 2, 327, 3, 2, 2, 2, 2, 329, 3, 2, 2, 2, 2, 331, 3, 2,
2, 2, 2, 333, 3, 2, 2, 2, 2, 335, 3, 2, 2, 2, 2, 337, 3, 2, 2, 2, 2, 339,
3, 2, 2, 2, 2, 341, 3, 2, 2, 2, 2, 343, 3, 2, 2, 2, 2, 345, 3, 2, 2, 2,
2, 347, 3, 2, 2, 2, 2, 349, 3, 2, 2, 2, 2, 351, 3, 2, 2, 2, 2, 353, 3,
2, 2, 2, 2, 355, 3, 2, 2, 2, 2, 357, 3, 2, 2, 2, 2, 359, 3, 2, 2, 2, 2,
361, 3, 2, 2, 2, 2, 363, 3, 2, 2, 2, 2, 365, 3, 2, 2, 2, 2, 367, 3, 2,
2, 2, 2, 369, 3, 2, 2, 2, 2, 371, 3, 2, 2, 2, 2, 373, 3, 2, 2, 2, 2, 375,
3, 2, 2, 2, 2, 377, 3, 2, 2, 2, 2, 379, 3, 2, 2, 2, 2, 381, 3, 2, 2, 2,
2, 383, 3, 2, 2, 2, 2, 385, 3, 2, 2, 2, 2, 387, 3, 2, 2, 2, 2, 389, 3,
2, 2, 2, 2, 391, 3, 2, 2, 2, 2, 393, 3, 2, 2, 2, 2, 395, 3, 2, 2, 2, 2,
397, 3, 2, 2, 2, 2, 399, 3, 2, 2, 2, 2, 401, 3, 2, 2, 2, 2, 403, 3, 2,
2, 2, 2, 405, 3, 2, 2, 2, 2, 407, 3, 2, 2, 2, 2, 409, 3, 2, 2, 2, 2, 411,
3, 2, 2, 2, 2, 413, 3, 2, 2, 2, 2, 415, 3, 2, 2, 2, 2, 417, 3, 2, 2, 2,
2, 419, 3, 2, 2, 2, 2, 421, 3, 2, 2, 2, 2, 423, 3, 2, 2, 2, 2, 425, 3,
2, 2, 2, 2, 427, 3, 2, 2, 2, 2, 429, 3, 2, 2, 2, 2, 431, 3, 2, 2, 2, 2,
433, 3, 2, 2, 2, 2, 435, 3, 2, 2, 2, 2, 437, 3, 2, 2, 2, 2, 439, 3, 2,
2, 2, 2, 441, 3, 2, 2, 2, 2, 443, 3, 2, 2, 2, 2, 445, 3, 2, 2, 2, 2, 447,
3, 2, 2, 2, 2, 449, 3, 2, 2, 2, 2, 451, 3, 2, 2, 2, 2, 453, 3, 2, 2, 2,
2, 455, 3, 2, 2, 2, 2, 457, 3, 2, 2, 2, 2, 459, 3, 2, 2, 2, 2, 461, 3,
2, 2, 2, 2, 463, 3, 2, 2, 2, 2, 465, 3, 2, 2, 2, 2, 467, 3, 2, 2, 2, 2,
469, 3, 2, 2, 2, 2, 471, 3, 2, 2, 2, 2, 473, 3, 2, 2, 2, 2, 475, 3, 2,
2, 2, 2, 477, 3, 2, 2, 2, 2, 479, 3, 2, 2, 2, 2, 481, 3, 2, 2, 2, 2, 483,
3, 2, 2, 2, 2, 485, 3, 2, 2, 2, 2, 487, 3, 2, 2, 2, 2, 489, 3, 2, 2, 2,
2, 491, 3, 2, 2, 2, 2, 493, 3, 2, 2, 2, 2, 495, 3, 2, 2, 2, 2, 497, 3,
2, 2, 2, 2, 499, 3, 2, 2, 2, 2, 501, 3, 2, 2, 2, 2, 503, 3, 2, 2, 2, 2,
505, 3, 2, 2, 2, 2, 507, 3, 2, 2, 2, 2, 509, 3, 2, 2, 2, 2, 511, 3, 2,
2, 2, 2, 513, 3, 2, 2, 2, 2, 515, 3, 2, 2, 2, 2, 517, 3, 2, 2, 2, 2, 519,
3, 2, 2, 2, 2, 521, 3, 2, 2, 2, 2, 523, 3, 2, 2, 2, 2, 525, 3, 2, 2, 2,
2, 527, 3, 2, 2, 2, 2, 529, 3, 2, 2, 2, 2, 531, 3, 2, 2, 2, 2, 533, 3,
2, 2, 2, 2, 535, 3, 2, 2, 2, 2, 537, 3, 2, 2, 2, 2, 539, 3, 2, 2, 2, 2,
541, 3, 2, 2, 2, 2, 543, 3, 2, 2, 2, 2, 545, 3, 2, 2, 2, 2, 547, 3, 2,
2, 2, 2, 549, 3, 2, 2, 2, 2, 551, 3, 2, 2, 2, 2, 553, 3, 2, 2, 2, 2, 555,
3, 2, 2, 2, 2, 557, 3, 2, 2, 2, 2, 559, 3, 2, 2, 2, 2, 561, 3, 2, 2, 2,
2, 563, 3, 2, 2, 2, 2, 565, 3, 2, 2, 2, 2, 567, 3, 2, 2, 2, 2, 569, 3,
2, 2, 2, 2, 571, 3, 2, 2, 2, 2, 573, 3, 2, 2, 2, 2, 575, 3, 2, 2, 2, 2,
577, 3, 2, 2, 2, 2, 579, 3, 2, 2, 2, 2, 581, 3, 2, 2, 2, 2, 583, 3, 2,
2, 2, 2, 585, 3, 2, 2, 2, 2, 587, 3, 2, 2, 2, 2, 589, 3, 2, 2, 2, 2, 591,
3, 2, 2, 2, 2, 593, 3, 2, 2, 2, 2, 595, 3, 2, 2, 2, 2, 597, 3, 2, 2, 2,
2, 599, 3, 2, 2, 2, 2, 601, 3, 2, 2, 2, 2, 603, 3, 2, 2, 2, 2, 605, 3,
2, 2, 2, 2, 607, 3, 2, 2, 2, 2, 609, 3, 2, 2, 2, 2, 613, 3, 2, 2, 2, 2,
615, 3, 2, 2, 2, 3, 672, 3, 2, 2, 2, 5, 674, 3, 2, 2, 2, 7, 676, 3, 2,
2, 2, 9, 678, 3, 2, 2, 2, 11, 680, 3, 2, 2, 2, 13, 682, 3, 2, 2, 2, 15,
684, 3, 2, 2, 2, 17, 686, 3, 2, 2, 2, 19, 688, 3, 2, 2, 2, 21, 690, 3,
2, 2, 2, 23, 700, 3, 2, 2, 2, 25, 706, 3, 2, 2, 2, 27, 708, 3, 2, 2, 2,
29, 710, 3, 2, 2, 2, 31, 712, 3, 2, 2, 2, 33, 714, 3, 2, 2, 2, 35, 716,
3, 2, 2, 2, 37, 718, 3, 2, 2, 2, 39, 720, 3, 2, 2, 2, 41, 722, 3, 2, 2,
2, 43, 724, 3, 2, 2, 2, 45, 726, 3, 2, 2, 2, 47, 728, 3, 2, 2, 2, 49, 730,
3, 2, 2, 2, 51, 732, 3, 2, 2, 2, 53, 734, 3, 2, 2, 2, 55, 737, 3, 2, 2,
2, 57, 739, 3, 2, 2, 2, 59, 747, 3, 2, 2, 2, 61, 759, 3, 2, 2, 2, 63, 766,
3, 2, 2, 2, 65, 774, 3, 2, 2, 2, 67, 781, 3, 2, 2, 2, 69, 788, 3, 2, 2,
2, 71, 799, 3, 2, 2, 2, 73, 807, 3, 2, 2, 2, 75, 814, 3, 2, 2, 2, 77, 820,
3, 2, 2, 2, 79, 827, 3, 2, 2, 2, 81, 837, 3, 2, 2, 2, 83, 849, 3, 2, 2,
2, 85, 865, 3, 2, 2, 2, 87, 872, 3, 2, 2, 2, 89, 883, 3, 2, 2, 2, 91, 898,
3, 2, 2, 2, 93, 913, 3, 2, 2, 2, 95, 932, 3, 2, 2, 2, 97, 944, 3, 2, 2,
2, 99, 960, 3, 2, 2, 2, 101, 975, 3, 2, 2, 2, 103, 994, 3, 2, 2, 2, 105,
1005, 3, 2, 2, 2, 107, 1012, 3, 2, 2, 2, 109, 1020, 3, 2, 2, 2, 111, 1030,
3, 2, 2, 2, 113, 1036, 3, 2, 2, 2, 115, 1047, 3, 2, 2, 2, 117, 1054, 3,
2, 2, 2, 119, 1064, 3, 2, 2, 2, 121, 1076, 3, 2, 2, 2, 123, 1085, 3, 2,
2, 2, 125, 1090, 3, 2, 2, 2, 127, 1100, 3, 2, 2, 2, 129, 1110, 3, 2, 2,
2, 131, 1117, 3, 2, 2, 2, 133, 1139, 3, 2, 2, 2, 135, 1148, 3, 2, 2, 2,
137, 1157, 3, 2, 2, 2, 139, 1165, 3, 2, 2, 2, 141, 1172, 3, 2, 2, 2, 143,
1176, 3, 2, 2, 2, 145, 1181, 3, 2, 2, 2, 147, 1193, 3, 2, 2, 2, 149, 1201,
3, 2, 2, 2, 151, 1211, 3, 2, 2, 2, 153, 1228, 3, 2, 2, 2, 155, 1241, 3,
2, 2, 2, 157, 1253, 3, 2, 2, 2, 159, 1272, 3, 2, 2, 2, 161, 1287, 3, 2,
2, 2, 163, 1299, 3, 2, 2, 2, 165, 1316, 3, 2, 2, 2, 167, 1335, 3, 2, 2,
2, 169, 1350, 3, 2, 2, 2, 171, 1362, 3, 2, 2, 2, 173, 1369, 3, 2, 2, 2,
175, 1381, 3, 2, 2, 2, 177, 1395, 3, 2, 2, 2, 179, 1403, 3, 2, 2, 2, 181,
1412, 3, 2, 2, 2, 183, 1418, 3, 2, 2, 2, 185, 1431, 3, 2, 2, 2, 187, 1445,
3, 2, 2, 2, 189, 1459, 3, 2, 2, 2, 191, 1470, 3, 2, 2, 2, 193, 1488, 3,
2, 2, 2, 195, 1501, 3, 2, 2, 2, 197, 1520, 3, 2, 2, 2, 199, 1532, 3, 2,
2, 2, 201, 1546, 3, 2, 2, 2, 203, 1559, 3, 2, 2, 2, 205, 1570, 3, 2, 2,
2, 207, 1582, 3, 2, 2, 2, 209, 1595, 3, 2, 2, 2, 211, 1608, 3, 2, 2, 2,
213, 1618, 3, 2, 2, 2, 215, 1635, 3, 2, 2, 2, 217, 1658, 3, 2, 2, 2, 219,
1674, 3, 2, 2, 2, 221, 1680, 3, 2, 2, 2, 223, 1685, 3, 2, 2, 2, 225, 1693,
3, 2, 2, 2, 227, 1701, 3, 2, 2, 2, 229, 1712, 3, 2, 2, 2, 231, 1723, 3,
2, 2, 2, 233, 1735, 3, 2, 2, 2, 235, 1747, 3, 2, 2, 2, 237, 1756, 3, 2,
2, 2, 239, 1762, 3, 2, 2, 2, 241, 1768, 3, 2, 2, 2, 243, 1774, 3, 2, 2,
2, 245, 1780, 3, 2, 2, 2, 247, 1786, 3, 2, 2, 2, 249, 1792, 3, 2, 2, 2,
251, 1799, 3, 2, 2, 2, 253, 1806, 3, 2, 2, 2, 255, 1813, 3, 2, 2, 2, 257,
1820, 3, 2, 2, 2, 259, 1827, 3, 2, 2, 2, 261, 1834, 3, 2, 2, 2, 263, 1839,
3, 2, 2, 2, 265, 1849, 3, 2, 2, 2, 267, 1861, 3, 2, 2, 2, 269, 1874, 3,
2, 2, 2, 271, 1884, 3, 2, 2, 2, 273, 1894, 3, 2, 2, 2, 275, 1905, 3, 2,
2, 2, 277, 1910, 3, 2, 2, 2, 279, 1920, 3, 2, 2, 2, 281, 1932, 3, 2, 2,
2, 283, 1945, 3, 2, 2, 2, 285, 1955, 3, 2, 2, 2, 287, 1965, 3, 2, 2, 2,
289, 1976, 3, 2, 2, 2, 291, 1981, 3, 2, 2, 2, 293, 1991, 3, 2, 2, 2, 295,
2003, 3, 2, 2, 2, 297, 2016, 3, 2, 2, 2, 299, 2026, 3, 2, 2, 2, 301, 2036,
3, 2, 2, 2, 303, 2047, 3, 2, 2, 2, 305, 2052, 3, 2, 2, 2, 307, 2062, 3,
2, 2, 2, 309, 2074, 3, 2, 2, 2, 311, 2087, 3, 2, 2, 2, 313, 2097, 3, 2,
2, 2, 315, 2107, 3, 2, 2, 2, 317, 2118, 3, 2, 2, 2, 319, 2123, 3, 2, 2,
2, 321, 2133, 3, 2, 2, 2, 323, 2145, 3, 2, 2, 2, 325, 2158, 3, 2, 2, 2,
327, 2168, 3, 2, 2, 2, 329, 2178, 3, 2, 2, 2, 331, 2189, 3, 2, 2, 2, 333,
2194, 3, 2, 2, 2, 335, 2204, 3, 2, 2, 2, 337, 2216, 3, 2, 2, 2, 339, 2229,
3, 2, 2, 2, 341, 2239, 3, 2, 2, 2, 343, 2249, 3, 2, 2, 2, 345, 2260, 3,
2, 2, 2, 347, 2275, 3, 2, 2, 2, 349, 2288, 3, 2, 2, 2, 351, 2302, 3, 2,
2, 2, 353, 2316, 3, 2, 2, 2, 355, 2333, 3, 2, 2, 2, 357, 2354, 3, 2, 2,
2, 359, 2373, 3, 2, 2, 2, 361, 2393, 3, 2, 2, 2, 363, 2413, 3, 2, 2, 2,
365, 2436, 3, 2, 2, 2, 367, 2444, 3, 2, 2, 2, 369, 2452, 3, 2, 2, 2, 371,
2461, 3, 2, 2, 2, 373, 2470, 3, 2, 2, 2, 375, 2480, 3, 2, 2, 2, 377, 2491,
3, 2, 2, 2, 379, 2503, 3, 2, 2, 2, 381, 2516, 3, 2, 2, 2, 383, 2530, 3,
2, 2, 2, 385, 2542, 3, 2, 2, 2, 387, 2556, 3, 2, 2, 2, 389, 2571, 3, 2,
2, 2, 391, 2584, 3, 2, 2, 2, 393, 2598, 3, 2, 2, 2, 395, 2614, 3, 2, 2,
2, 397, 2628, 3, 2, 2, 2, 399, 2643, 3, 2, 2, 2, 401, 2659, 3, 2, 2, 2,
403, 2671, 3, 2, 2, 2, 405, 2683, 3, 2, 2, 2, 407, 2696, 3, 2, 2, 2, 409,
2704, 3, 2, 2, 2, 411, 2712, 3, 2, 2, 2, 413, 2720, 3, 2, 2, 2, 415, 2728,
3, 2, 2, 2, 417, 2736, 3, 2, 2, 2, 419, 2744, 3, 2, 2, 2, 421, 2751, 3,
2, 2, 2, 423, 2759, 3, 2, 2, 2, 425, 2767, 3, 2, 2, 2, 427, 2775, 3, 2,
2, 2, 429, 2784, 3, 2, 2, 2, 431, 2793, 3, 2, 2, 2, 433, 2802, 3, 2, 2,
2, 435, 2811, 3, 2, 2, 2, 437, 2820, 3, 2, 2, 2, 439, 2829, 3, 2, 2, 2,
441, 2838, 3, 2, 2, 2, 443, 2846, 3, 2, 2, 2, 445, 2855, 3, 2, 2, 2, 447,
2864, 3, 2, 2, 2, 449, 2873, 3, 2, 2, 2, 451, 2883, 3, 2, 2, 2, 453, 2893,
3, 2, 2, 2, 455, 2903, 3, 2, 2, 2, 457, 2913, 3, 2, 2, 2, 459, 2923, 3,
2, 2, 2, 461, 2933, 3, 2, 2, 2, 463, 2944, 3, 2, 2, 2, 465, 2955, 3, 2,
2, 2, 467, 2966, 3, 2, 2, 2, 469, 2977, 3, 2, 2, 2, 471, 2988, 3, 2, 2,
2, 473, 3002, 3, 2, 2, 2, 475, 3016, 3, 2, 2, 2, 477, 3030, 3, 2, 2, 2,
479, 3044, 3, 2, 2, 2, 481, 3058, 3, 2, 2, 2, 483, 3072, 3, 2, 2, 2, 485,
3085, 3, 2, 2, 2, 487, 3099, 3, 2, 2, 2, 489, 3113, 3, 2, 2, 2, 491, 3127,
3, 2, 2, 2, 493, 3142, 3, 2, 2, 2, 495, 3157, 3, 2, 2, 2, 497, 3172, 3,
2, 2, 2, 499, 3187, 3, 2, 2, 2, 501, 3202, 3, 2, 2, 2, 503, 3217, 3, 2,
2, 2, 505, 3232, 3, 2, 2, 2, 507, 3246, 3, 2, 2, 2, 509, 3261, 3, 2, 2,
2, 511, 3276, 3, 2, 2, 2, 513, 3291, 3, 2, 2, 2, 515, 3307, 3, 2, 2, 2,
517, 3323, 3, 2, 2, 2, 519, 3339, 3, 2, 2, 2, 521, 3355, 3, 2, 2, 2, 523,
3371, 3, 2, 2, 2, 525, 3387, 3, 2, 2, 2, 527, 3404, 3, 2, 2, 2, 529, 3421,
3, 2, 2, 2, 531, 3438, 3, 2, 2, 2, 533, 3455, 3, 2, 2, 2, 535, 3472, 3,
2, 2, 2, 537, 3486, 3, 2, 2, 2, 539, 3495, 3, 2, 2, 2, 541, 3509, 3, 2,
2, 2, 543, 3523, 3, 2, 2, 2, 545, 3537, 3, 2, 2, 2, 547, 3551, 3, 2, 2,
2, 549, 3564, 3, 2, 2, 2, 551, 3578, 3, 2, 2, 2, 553, 3591, 3, 2, 2, 2,
555, 3605, 3, 2, 2, 2, 557, 3618, 3, 2, 2, 2, 559, 3631, 3, 2, 2, 2, 561,
3644, 3, 2, 2, 2, 563, 3657, 3, 2, 2, 2, 565, 3669, 3, 2, 2, 2, 567, 3682,
3, 2, 2, 2, 569, 3695, 3, 2, 2, 2, 571, 3708, 3, 2, 2, 2, 573, 3722, 3,
2, 2, 2, 575, 3741, 3, 2, 2, 2, 577, 3766, 3, 2, 2, 2, 579, 3780, 3, 2,
2, 2, 581, 3800, 3, 2, 2, 2, 583, 3820, 3, 2, 2, 2, 585, 3838, 3, 2, 2,
2, 587, 3852, 3, 2, 2, 2, 589, 3879, 3, 2, 2, 2, 591, 3884, 3, 2, 2, 2,
593, 3899, 3, 2, 2, 2, 595, 3919, 3, 2, 2, 2, 597, 3957, 3, 2, 2, 2, 599,
3959, 3, 2, 2, 2, 601, 3989, 3, 2, 2, 2, 603, 3991, 3, 2, 2, 2, 605, 3996,
3, 2, 2, 2, 607, 4000, 3, 2, 2, 2, 609, 4009, 3, 2, 2, 2, 611, 4013, 3,
2, 2, 2, 613, 4016, 3, 2, 2, 2, 615, 4022, 3, 2, 2, 2, 617, 4031, 3, 2,
2, 2, 619, 4038, 3, 2, 2, 2, 621, 4065, 3, 2, 2, 2, 623, 4067, 3, 2, 2,
2, 625, 4078, 3, 2, 2, 2, 627, 4080, 3, 2, 2, 2, 629, 4092, 3, 2, 2, 2,
631, 4098, 3, 2, 2, 2, 633, 634, 7, 78, 2, 2, 634, 640, 5, 617, 309, 2,
635, 636, 5, 47, 24, 2, 636, 637, 5, 617, 309, 2, 637, 639, 3, 2, 2, 2,
638, 635, 3, 2, 2, 2, 639, 642, 3, 2, 2, 2, 640, 638, 3, 2, 2, 2, 640,
641, 3, 2, 2, 2, 641, 643, 3, 2, 2, 2, 642, 640, 3, 2, 2, 2, 643, 644,
7, 61, 2, 2, 644, 673, 3, 2, 2, 2, 645, 657, 7, 78, 2, 2, 646, 652, 5,
617, 309, 2, 647, 648, 5, 47, 24, 2, 648, 649, 5, 617, 309, 2, 649, 651,
3, 2, 2, 2, 650, 647, 3, 2, 2, 2, 651, 654, 3, 2, 2, 2, 652, 650, 3, 2,
2, 2, 652, 653, 3, 2, 2, 2, 653, 655, 3, 2, 2, 2, 654, 652, 3, 2, 2, 2,
655, 656, 5, 47, 24, 2, 656, 658, 3, 2, 2, 2, 657, 646, 3, 2, 2, 2, 657,
658, 3, 2, 2, 2, 658, 659, 3, 2, 2, 2, 659, 660, 7, 114, 2, 2, 660, 661,
7, 99, 2, 2, 661, 662, 7, 101, 2, 2, 662, 663, 7, 109, 2, 2, 663, 664,
7, 99, 2, 2, 664, 665, 7, 105, 2, 2, 665, 666, 7, 103, 2, 2, 666, 667,
7, 47, 2, 2, 667, 668, 7, 107, 2, 2, 668, 669, 7, 112, 2, 2, 669, 670,
7, 104, 2, 2, 670, 671, 7, 113, 2, 2, 671, 673, 7, 61, 2, 2, 672, 633,
3, 2, 2, 2, 672, 645, 3, 2, 2, 2, 673, 4, 3, 2, 2, 2, 674, 675, 7, 88,
2, 2, 675, 6, 3, 2, 2, 2, 676, 677, 7, 92, 2, 2, 677, 8, 3, 2, 2, 2, 678,
679, 7, 68, 2, 2, 679, 10, 3, 2, 2, 2, 680, 681, 7, 85, 2, 2, 681, 12,
3, 2, 2, 2, 682, 683, 7, 69, 2, 2, 683, 14, 3, 2, 2, 2, 684, 685, 7, 75,
2, 2, 685, 16, 3, 2, 2, 2, 686, 687, 7, 76, 2, 2, 687, 18, 3, 2, 2, 2,
688, 689, 7, 72, 2, 2, 689, 20, 3, 2, 2, 2, 690, 691, 7, 70, 2, 2, 691,
22, 3, 2, 2, 2, 692, 701, 5, 7, 4, 2, 693, 701, 5, 9, 5, 2, 694, 701, 5,
11, 6, 2, 695, 701, 5, 13, 7, 2, 696, 701, 5, 15, 8, 2, 697, 701, 5, 17,
9, 2, 698, 701, 5, 19, 10, 2, 699, 701, 5, 21, 11, 2, 700, 692, 3, 2, 2,
2, 700, 693, 3, 2, 2, 2, 700, 694, 3, 2, 2, 2, 700, 695, 3, 2, 2, 2, 700,
696, 3, 2, 2, 2, 700, 697, 3, 2, 2, 2, 700, 698, 3, 2, 2, 2, 700, 699,
3, 2, 2, 2, 701, 702, 3, 2, 2, 2, 702, 700, 3, 2, 2, 2, 702, 703, 3, 2,
2, 2, 703, 704, 3, 2, 2, 2, 704, 705, 5, 3, 2, 2, 705, 24, 3, 2, 2, 2,
706, 707, 7, 93, 2, 2, 707, 26, 3, 2, 2, 2, 708, 709, 7, 95, 2, 2, 709,
28, 3, 2, 2, 2, 710, 711, 7, 42, 2, 2, 711, 30, 3, 2, 2, 2, 712, 713, 7,
43, 2, 2, 713, 32, 3, 2, 2, 2, 714, 715, 7, 125, 2, 2, 715, 34, 3, 2, 2,
2, 716, 717, 7, 127, 2, 2, 717, 36, 3, 2, 2, 2, 718, 719, 7, 60, 2, 2,
719, 38, 3, 2, 2, 2, 720, 721, 7, 63, 2, 2, 721, 40, 3, 2, 2, 2, 722, 723,
7, 48, 2, 2, 723, 42, 3, 2, 2, 2, 724, 725, 7, 47, 2, 2, 725, 44, 3, 2,
2, 2, 726, 727, 7, 46, 2, 2, 727, 46, 3, 2, 2, 2, 728, 729, 7, 49, 2, 2,
729, 48, 3, 2, 2, 2, 730, 731, 7, 62, 2, 2, 731, 50, 3, 2, 2, 2, 732, 733,
7, 64, 2, 2, 733, 52, 3, 2, 2, 2, 734, 735, 7, 47, 2, 2, 735, 736, 7, 64,
2, 2, 736, 54, 3, 2, 2, 2, 737, 738, 7, 61, 2, 2, 738, 56, 3, 2, 2, 2,
739, 740, 7, 48, 2, 2, 740, 741, 7, 111, 2, 2, 741, 742, 7, 103, 2, 2,
742, 743, 7, 118, 2, 2, 743, 744, 7, 106, 2, 2, 744, 745, 7, 113, 2, 2,
745, 746, 7, 102, 2, 2, 746, 58, 3, 2, 2, 2, 747, 748, 7, 48, 2, 2, 748,
749, 7, 103, 2, 2, 749, 750, 7, 112, 2, 2, 750, 751, 7, 102, 2, 2, 751,
752, 7, 34, 2, 2, 752, 753, 7, 111, 2, 2, 753, 754, 7, 103, 2, 2, 754,
755, 7, 118, 2, 2, 755, 756, 7, 106, 2, 2, 756, 757, 7, 113, 2, 2, 757,
758, 7, 102, 2, 2, 758, 60, 3, 2, 2, 2, 759, 760, 7, 48, 2, 2, 760, 761,
7, 101, 2, 2, 761, 762, 7, 110, 2, 2, 762, 763, 7, 99, 2, 2, 763, 764,
7, 117, 2, 2, 764, 765, 7, 117, 2, 2, 765, 62, 3, 2, 2, 2, 766, 767, 7,
48, 2, 2, 767, 768, 7, 117, 2, 2, 768, 769, 7, 113, 2, 2, 769, 770, 7,
119, 2, 2, 770, 771, 7, 116, 2, 2, 771, 772, 7, 101, 2, 2, 772, 773, 7,
103, 2, 2, 773, 64, 3, 2, 2, 2, 774, 775, 7, 48, 2, 2, 775, 776, 7, 117,
2, 2, 776, 777, 7, 119, 2, 2, 777, 778, 7, 114, 2, 2, 778, 779, 7, 103,
2, 2, 779, 780, 7, 116, 2, 2, 780, 66, 3, 2, 2, 2, 781, 782, 7, 48, 2,
2, 782, 783, 7, 104, 2, 2, 783, 784, 7, 107, 2, 2, 784, 785, 7, 103, 2,
2, 785, 786, 7, 110, 2, 2, 786, 787, 7, 102, 2, 2, 787, 68, 3, 2, 2, 2,
788, 789, 7, 48, 2, 2, 789, 790, 7, 116, 2, 2, 790, 791, 7, 103, 2, 2,
791, 792, 7, 105, 2, 2, 792, 793, 7, 107, 2, 2, 793, 794, 7, 117, 2, 2,
794, 795, 7, 118, 2, 2, 795, 796, 7, 103, 2, 2, 796, 797, 7, 116, 2, 2,
797, 798, 7, 117, 2, 2, 798, 70, 3, 2, 2, 2, 799, 800, 7, 48, 2, 2, 800,
801, 7, 110, 2, 2, 801, 802, 7, 113, 2, 2, 802, 803, 7, 101, 2, 2, 803,
804, 7, 99, 2, 2, 804, 805, 7, 110, 2, 2, 805, 806, 7, 117, 2, 2, 806,
72, 3, 2, 2, 2, 807, 808, 7, 48, 2, 2, 808, 809, 7, 114, 2, 2, 809, 810,
7, 99, 2, 2, 810, 811, 7, 116, 2, 2, 811, 812, 7, 99, 2, 2, 812, 813, 7,
111, 2, 2, 813, 74, 3, 2, 2, 2, 814, 815, 7, 48, 2, 2, 815, 816, 7, 110,
2, 2, 816, 817, 7, 107, 2, 2, 817, 818, 7, 112, 2, 2, 818, 819, 7, 103,
2, 2, 819, 76, 3, 2, 2, 2, 820, 821, 7, 48, 2, 2, 821, 822, 7, 101, 2,
2, 822, 823, 7, 99, 2, 2, 823, 824, 7, 118, 2, 2, 824, 825, 7, 101, 2,
2, 825, 826, 7, 106, 2, 2, 826, 78, 3, 2, 2, 2, 827, 828, 7, 48, 2, 2,
828, 829, 7, 101, 2, 2, 829, 830, 7, 99, 2, 2, 830, 831, 7, 118, 2, 2,
831, 832, 7, 101, 2, 2, 832, 833, 7, 106, 2, 2, 833, 834, 7, 99, 2, 2,
834, 835, 7, 110, 2, 2, 835, 836, 7, 110, 2, 2, 836, 80, 3, 2, 2, 2, 837,
838, 7, 48, 2, 2, 838, 839, 7, 99, 2, 2, 839, 840, 7, 112, 2, 2, 840, 841,
7, 112, 2, 2, 841, 842, 7, 113, 2, 2, 842, 843, 7, 118, 2, 2, 843, 844,
7, 99, 2, 2, 844, 845, 7, 118, 2, 2, 845, 846, 7, 107, 2, 2, 846, 847,
7, 113, 2, 2, 847, 848, 7, 112, 2, 2, 848, 82, 3, 2, 2, 2, 849, 850, 7,
48, 2, 2, 850, 851, 7, 103, 2, 2, 851, 852, 7, 112, 2, 2, 852, 853, 7,
102, 2, 2, 853, 854, 7, 34, 2, 2, 854, 855, 7, 99, 2, 2, 855, 856, 7, 112,
2, 2, 856, 857, 7, 112, 2, 2, 857, 858, 7, 113, 2, 2, 858, 859, 7, 118,
2, 2, 859, 860, 7, 99, 2, 2, 860, 861, 7, 118, 2, 2, 861, 862, 7, 107,
2, 2, 862, 863, 7, 113, 2, 2, 863, 864, 7, 112, 2, 2, 864, 84, 3, 2, 2,
2, 865, 866, 7, 48, 2, 2, 866, 867, 7, 110, 2, 2, 867, 868, 7, 113, 2,
2, 868, 869, 7, 101, 2, 2, 869, 870, 7, 99, 2, 2, 870, 871, 7, 110, 2,
2, 871, 86, 3, 2, 2, 2, 872, 873, 7, 48, 2, 2, 873, 874, 7, 103, 2, 2,
874, 875, 7, 112, 2, 2, 875, 876, 7, 102, 2, 2, 876, 877, 7, 34, 2, 2,
877, 878, 7, 110, 2, 2, 878, 879, 7, 113, 2, 2, 879, 880, 7, 101, 2, 2,
880, 881, 7, 99, 2, 2, 881, 882, 7, 110, 2, 2, 882, 88, 3, 2, 2, 2, 883,
884, 7, 48, 2, 2, 884, 885, 7, 116, 2, 2, 885, 886, 7, 103, 2, 2, 886,
887, 7, 117, 2, 2, 887, 888, 7, 118, 2, 2, 888, 889, 7, 99, 2, 2, 889,
890, 7, 116, 2, 2, 890, 891, 7, 118, 2, 2, 891, 892, 7, 34, 2, 2, 892,
893, 7, 110, 2, 2, 893, 894, 7, 113, 2, 2, 894, 895, 7, 101, 2, 2, 895,
896, 7, 99, 2, 2, 896, 897, 7, 110, 2, 2, 897, 90, 3, 2, 2, 2, 898, 899,
7, 48, 2, 2, 899, 900, 7, 114, 2, 2, 900, 901, 7, 99, 2, 2, 901, 902, 7,
101, 2, 2, 902, 903, 7, 109, 2, 2, 903, 904, 7, 103, 2, 2, 904, 905, 7,
102, 2, 2, 905, 906, 7, 47, 2, 2, 906, 907, 7, 117, 2, 2, 907, 908, 7,
121, 2, 2, 908, 909, 7, 107, 2, 2, 909, 910, 7, 118, 2, 2, 910, 911, 7,
101, 2, 2, 911, 912, 7, 106, 2, 2, 912, 92, 3, 2, 2, 2, 913, 914, 7, 48,
2, 2, 914, 915, 7, 103, 2, 2, 915, 916, 7, 112, 2, 2, 916, 917, 7, 102,
2, 2, 917, 918, 7, 34, 2, 2, 918, 919, 7, 114, 2, 2, 919, 920, 7, 99, 2,
2, 920, 921, 7, 101, 2, 2, 921, 922, 7, 109, 2, 2, 922, 923, 7, 103, 2,
2, 923, 924, 7, 102, 2, 2, 924, 925, 7, 47, 2, 2, 925, 926, 7, 117, 2,
2, 926, 927, 7, 121, 2, 2, 927, 928, 7, 107, 2, 2, 928, 929, 7, 118, 2,
2, 929, 930, 7, 101, 2, 2, 930, 931, 7, 106, 2, 2, 931, 94, 3, 2, 2, 2,
932, 933, 7, 48, 2, 2, 933, 934, 7, 99, 2, 2, 934, 935, 7, 116, 2, 2, 935,
936, 7, 116, 2, 2, 936, 937, 7, 99, 2, 2, 937, 938, 7, 123, 2, 2, 938,
939, 7, 47, 2, 2, 939, 940, 7, 102, 2, 2, 940, 941, 7, 99, 2, 2, 941, 942,
7, 118, 2, 2, 942, 943, 7, 99, 2, 2, 943, 96, 3, 2, 2, 2, 944, 945, 7,
48, 2, 2, 945, 946, 7, 103, 2, 2, 946, 947, 7, 112, 2, 2, 947, 948, 7,
102, 2, 2, 948, 949, 7, 34, 2, 2, 949, 950, 7, 99, 2, 2, 950, 951, 7, 116,
2, 2, 951, 952, 7, 116, 2, 2, 952, 953, 7, 99, 2, 2, 953, 954, 7, 123,
2, 2, 954, 955, 7, 47, 2, 2, 955, 956, 7, 102, 2, 2, 956, 957, 7, 99, 2,
2, 957, 958, 7, 118, 2, 2, 958, 959, 7, 99, 2, 2, 959, 98, 3, 2, 2, 2,
960, 961, 7, 48, 2, 2, 961, 962, 7, 117, 2, 2, 962, 963, 7, 114, 2, 2,
963, 964, 7, 99, 2, 2, 964, 965, 7, 116, 2, 2, 965, 966, 7, 117, 2, 2,
966, 967, 7, 103, 2, 2, 967, 968, 7, 47, 2, 2, 968, 969, 7, 117, 2, 2,
969, 970, 7, 121, 2, 2, 970, 971, 7, 107, 2, 2, 971, 972, 7, 118, 2, 2,
972, 973, 7, 101, 2, 2, 973, 974, 7, 106, 2, 2, 974, 100, 3, 2, 2, 2, 975,
976, 7, 48, 2, 2, 976, 977, 7, 103, 2, 2, 977, 978, 7, 112, 2, 2, 978,
979, 7, 102, 2, 2, 979, 980, 7, 34, 2, 2, 980, 981, 7, 117, 2, 2, 981,
982, 7, 114, 2, 2, 982, 983, 7, 99, 2, 2, 983, 984, 7, 116, 2, 2, 984,
985, 7, 117, 2, 2, 985, 986, 7, 103, 2, 2, 986, 987, 7, 47, 2, 2, 987,
988, 7, 117, 2, 2, 988, 989, 7, 121, 2, 2, 989, 990, 7, 107, 2, 2, 990,
991, 7, 118, 2, 2, 991, 992, 7, 101, 2, 2, 992, 993, 7, 106, 2, 2, 993,
102, 3, 2, 2, 2, 994, 995, 7, 48, 2, 2, 995, 996, 7, 103, 2, 2, 996, 997,
7, 112, 2, 2, 997, 998, 7, 102, 2, 2, 998, 999, 7, 34, 2, 2, 999, 1000,
7, 114, 2, 2, 1000, 1001, 7, 99, 2, 2, 1001, 1002, 7, 116, 2, 2, 1002,
1003, 7, 99, 2, 2, 1003, 1004, 7, 111, 2, 2, 1004, 104, 3, 2, 2, 2, 1005,
1006, 7, 114, 2, 2, 1006, 1007, 7, 119, 2, 2, 1007, 1008, 7, 100, 2, 2,
1008, 1009, 7, 110, 2, 2, 1009, 1010, 7, 107, 2, 2, 1010, 1011, 7, 101,
2, 2, 1011, 106, 3, 2, 2, 2, 1012, 1013, 7, 114, 2, 2, 1013, 1014, 7, 116,
2, 2, 1014, 1015, 7, 107, 2, 2, 1015, 1016, 7, 120, 2, 2, 1016, 1017, 7,
99, 2, 2, 1017, 1018, 7, 118, 2, 2, 1018, 1019, 7, 103, 2, 2, 1019, 108,
3, 2, 2, 2, 1020, 1021, 7, 114, 2, 2, 1021, 1022, 7, 116, 2, 2, 1022, 1023,
7, 113, 2, 2, 1023, 1024, 7, 118, 2, 2, 1024, 1025, 7, 103, 2, 2, 1025,
1026, 7, 101, 2, 2, 1026, 1027, 7, 118, 2, 2, 1027, 1028, 7, 103, 2, 2,
1028, 1029, 7, 102, 2, 2, 1029, 110, 3, 2, 2, 2, 1030, 1031, 7, 104, 2,
2, 1031, 1032, 7, 107, 2, 2, 1032, 1033, 7, 112, 2, 2, 1033, 1034, 7, 99,
2, 2, 1034, 1035, 7, 110, 2, 2, 1035, 112, 3, 2, 2, 2, 1036, 1037, 7, 99,
2, 2, 1037, 1038, 7, 112, 2, 2, 1038, 1039, 7, 112, 2, 2, 1039, 1040, 7,
113, 2, 2, 1040, 1041, 7, 118, 2, 2, 1041, 1042, 7, 99, 2, 2, 1042, 1043,
7, 118, 2, 2, 1043, 1044, 7, 107, 2, 2, 1044, 1045, 7, 113, 2, 2, 1045,
1046, 7, 112, 2, 2, 1046, 114, 3, 2, 2, 2, 1047, 1048, 7, 117, 2, 2, 1048,
1049, 7, 118, 2, 2, 1049, 1050, 7, 99, 2, 2, 1050, 1051, 7, 118, 2, 2,
1051, 1052, 7, 107, 2, 2, 1052, 1053, 7, 101, 2, 2, 1053, 116, 3, 2, 2,
2, 1054, 1055, 7, 117, 2, 2, 1055, 1056, 7, 123, 2, 2, 1056, 1057, 7, 112,
2, 2, 1057, 1058, 7, 118, 2, 2, 1058, 1059, 7, 106, 2, 2, 1059, 1060, 7,
103, 2, 2, 1060, 1061, 7, 118, 2, 2, 1061, 1062, 7, 107, 2, 2, 1062, 1063,
7, 101, 2, 2, 1063, 118, 3, 2, 2, 2, 1064, 1065, 7, 101, 2, 2, 1065, 1066,
7, 113, 2, 2, 1066, 1067, 7, 112, 2, 2, 1067, 1068, 7, 117, 2, 2, 1068,
1069, 7, 118, 2, 2, 1069, 1070, 7, 116, 2, 2, 1070, 1071, 7, 119, 2, 2,
1071, 1072, 7, 101, 2, 2, 1072, 1073, 7, 118, 2, 2, 1073, 1074, 7, 113,
2, 2, 1074, 1075, 7, 116, 2, 2, 1075, 120, 3, 2, 2, 2, 1076, 1077, 7, 99,
2, 2, 1077, 1078, 7, 100, 2, 2, 1078, 1079, 7, 117, 2, 2, 1079, 1080, 7,
118, 2, 2, 1080, 1081, 7, 116, 2, 2, 1081, 1082, 7, 99, 2, 2, 1082, 1083,
7, 101, 2, 2, 1083, 1084, 7, 118, 2, 2, 1084, 122, 3, 2, 2, 2, 1085, 1086,
7, 103, 2, 2, 1086, 1087, 7, 112, 2, 2, 1087, 1088, 7, 119, 2, 2, 1088,
1089, 7, 111, 2, 2, 1089, 124, 3, 2, 2, 2, 1090, 1091, 7, 107, 2, 2, 1091,
1092, 7, 112, 2, 2, 1092, 1093, 7, 118, 2, 2, 1093, 1094, 7, 103, 2, 2,
1094, 1095, 7, 116, 2, 2, 1095, 1096, 7, 104, 2, 2, 1096, 1097, 7, 99,
2, 2, 1097, 1098, 7, 101, 2, 2, 1098, 1099, 7, 103, 2, 2, 1099, 126, 3,
2, 2, 2, 1100, 1101, 7, 118, 2, 2, 1101, 1102, 7, 116, 2, 2, 1102, 1103,
7, 99, 2, 2, 1103, 1104, 7, 112, 2, 2, 1104, 1105, 7, 117, 2, 2, 1105,
1106, 7, 107, 2, 2, 1106, 1107, 7, 103, 2, 2, 1107, 1108, 7, 112, 2, 2,
1108, 1109, 7, 118, 2, 2, 1109, 128, 3, 2, 2, 2, 1110, 1111, 7, 100, 2,
2, 1111, 1112, 7, 116, 2, 2, 1112, 1113, 7, 107, 2, 2, 1113, 1114, 7, 102,
2, 2, 1114, 1115, 7, 105, 2, 2, 1115, 1116, 7, 103, 2, 2, 1116, 130, 3,
2, 2, 2, 1117, 1118, 7, 102, 2, 2, 1118, 1119, 7, 103, 2, 2, 1119, 1120,
7, 101, 2, 2, 1120, 1121, 7, 110, 2, 2, 1121, 1122, 7, 99, 2, 2, 1122,
1123, 7, 116, 2, 2, 1123, 1124, 7, 103, 2, 2, 1124, 1125, 7, 102, 2, 2,
1125, 1126, 7, 47, 2, 2, 1126, 1127, 7, 117, 2, 2, 1127, 1128, 7, 123,
2, 2, 1128, 1129, 7, 112, 2, 2, 1129, 1130, 7, 101, 2, 2, 1130, 1131, 7,
106, 2, 2, 1131, 1132, 7, 116, 2, 2, 1132, 1133, 7, 113, 2, 2, 1133, 1134,
7, 112, 2, 2, 1134, 1135, 7, 107, 2, 2, 1135, 1136, 7, 124, 2, 2, 1136,
1137, 7, 103, 2, 2, 1137, 1138, 7, 102, 2, 2, 1138, 132, 3, 2, 2, 2, 1139,
1140, 7, 120, 2, 2, 1140, 1141, 7, 113, 2, 2, 1141, 1142, 7, 110, 2, 2,
1142, 1143, 7, 99, 2, 2, 1143, 1144, 7, 118, 2, 2, 1144, 1145, 7, 107,
2, 2, 1145, 1146, 7, 110, 2, 2, 1146, 1147, 7, 103, 2, 2, 1147, 134, 3,
2, 2, 2, 1148, 1149, 7, 117, 2, 2, 1149, 1150, 7, 118, 2, 2, 1150, 1151,
7, 116, 2, 2, 1151, 1152, 7, 107, 2, 2, 1152, 1153, 7, 101, 2, 2, 1153,
1154, 7, 118, 2, 2, 1154, 1155, 7, 104, 2, 2, 1155, 1156, 7, 114, 2, 2,
1156, 136, 3, 2, 2, 2, 1157, 1158, 7, 120, 2, 2, 1158, 1159, 7, 99, 2,
2, 1159, 1160, 7, 116, 2, 2, 1160, 1161, 7, 99, 2, 2, 1161, 1162, 7, 116,
2, 2, 1162, 1163, 7, 105, 2, 2, 1163, 1164, 7, 117, 2, 2, 1164, 138, 3,
2, 2, 2, 1165, 1166, 7, 112, 2, 2, 1166, 1167, 7, 99, 2, 2, 1167, 1168,
7, 118, 2, 2, 1168, 1169, 7, 107, 2, 2, 1169, 1170, 7, 120, 2, 2, 1170,
1171, 7, 103, 2, 2, 1171, 140, 3, 2, 2, 2, 1172, 1173, 7, 112, 2, 2, 1173,
1174, 7, 113, 2, 2, 1174, 1175, 7, 114, 2, 2, 1175, 142, 3, 2, 2, 2, 1176,
1177, 7, 111, 2, 2, 1177, 1178, 7, 113, 2, 2, 1178, 1179, 7, 120, 2, 2,
1179, 1180, 7, 103, 2, 2, 1180, 144, 3, 2, 2, 2, 1181, 1182, 7, 111, 2,
2, 1182, 1183, 7, 113, 2, 2, 1183, 1184, 7, 120, 2, 2, 1184, 1185, 7, 103,
2, 2, 1185, 1186, 7, 49, 2, 2, 1186, 1187, 7, 104, 2, 2, 1187, 1188, 7,
116, 2, 2, 1188, 1189, 7, 113, 2, 2, 1189, 1190, 7, 111, 2, 2, 1190, 1191,
7, 51, 2, 2, 1191, 1192, 7, 56, 2, 2, 1192, 146, 3, 2, 2, 2, 1193, 1194,
7, 111, 2, 2, 1194, 1195, 7, 113, 2, 2, 1195, 1196, 7, 120, 2, 2, 1196,
1197, 7, 103, 2, 2, 1197, 1198, 7, 49, 2, 2, 1198, 1199, 7, 51, 2, 2, 1199,
1200, 7, 56, 2, 2, 1200, 148, 3, 2, 2, 2, 1201, 1202, 7, 111, 2, 2, 1202,
1203, 7, 113, 2, 2, 1203, 1204, 7, 120, 2, 2, 1204, 1205, 7, 103, 2, 2,
1205, 1206, 7, 47, 2, 2, 1206, 1207, 7, 121, 2, 2, 1207, 1208, 7, 107,
2, 2, 1208, 1209, 7, 102, 2, 2, 1209, 1210, 7, 103, 2, 2, 1210, 150, 3,
2, 2, 2, 1211, 1212, 7, 111, 2, 2, 1212, 1213, 7, 113, 2, 2, 1213, 1214,
7, 120, 2, 2, 1214, 1215, 7, 103, 2, 2, 1215, 1216, 7, 47, 2, 2, 1216,
1217, 7, 121, 2, 2, 1217, 1218, 7, 107, 2, 2, 1218, 1219, 7, 102, 2, 2,
1219, 1220, 7, 103, 2, 2, 1220, 1221, 7, 49, 2, 2, 1221, 1222, 7, 104,
2, 2, 1222, 1223, 7, 116, 2, 2, 1223, 1224, 7, 113, 2, 2, 1224, 1225, 7,
111, 2, 2, 1225, 1226, 7, 51, 2, 2, 1226, 1227, 7, 56, 2, 2, 1227, 152,
3, 2, 2, 2, 1228, 1229, 7, 111, 2, 2, 1229, 1230, 7, 113, 2, 2, 1230, 1231,
7, 120, 2, 2, 1231, 1232, 7, 103, 2, 2, 1232, 1233, 7, 47, 2, 2, 1233,
1234, 7, 121, 2, 2, 1234, 1235, 7, 107, 2, 2, 1235, 1236, 7, 102, 2, 2,
1236, 1237, 7, 103, 2, 2, 1237, 1238, 7, 49, 2, 2, 1238, 1239, 7, 51, 2,
2, 1239, 1240, 7, 56, 2, 2, 1240, 154, 3, 2, 2, 2, 1241, 1242, 7, 111,
2, 2, 1242, 1243, 7, 113, 2, 2, 1243, 1244, 7, 120, 2, 2, 1244, 1245, 7,
103, 2, 2, 1245, 1246, 7, 47, 2, 2, 1246, 1247, 7, 113, 2, 2, 1247, 1248,
7, 100, 2, 2, 1248, 1249, 7, 108, 2, 2, 1249, 1250, 7, 103, 2, 2, 1250,
1251, 7, 101, 2, 2, 1251, 1252, 7, 118, 2, 2, 1252, 156, 3, 2, 2, 2, 1253,
1254, 7, 111, 2, 2, 1254, 1255, 7, 113, 2, 2, 1255, 1256, 7, 120, 2, 2,
1256, 1257, 7, 103, 2, 2, 1257, 1258, 7, 47, 2, 2, 1258, 1259, 7, 113,
2, 2, 1259, 1260, 7, 100, 2, 2, 1260, 1261, 7, 108, 2, 2, 1261, 1262, 7,
103, 2, 2, 1262, 1263, 7, 101, 2, 2, 1263, 1264, 7, 118, 2, 2, 1264, 1265,
7, 49, 2, 2, 1265, 1266, 7, 104, 2, 2, 1266, 1267, 7, 116, 2, 2, 1267,
1268, 7, 113, 2, 2, 1268, 1269, 7, 111, 2, 2, 1269, 1270, 7, 51, 2, 2,
1270, 1271, 7, 56, 2, 2, 1271, 158, 3, 2, 2, 2, 1272, 1273, 7, 111, 2,
2, 1273, 1274, 7, 113, 2, 2, 1274, 1275, 7, 120, 2, 2, 1275, 1276, 7, 103,
2, 2, 1276, 1277, 7, 47, 2, 2, 1277, 1278, 7, 113, 2, 2, 1278, 1279, 7,
100, 2, 2, 1279, 1280, 7, 108, 2, 2, 1280, 1281, 7, 103, 2, 2, 1281, 1282,
7, 101, 2, 2, 1282, 1283, 7, 118, 2, 2, 1283, 1284, 7, 49, 2, 2, 1284,
1285, 7, 51, 2, 2, 1285, 1286, 7, 56, 2, 2, 1286, 160, 3, 2, 2, 2, 1287,
1288, 7, 111, 2, 2, 1288, 1289, 7, 113, 2, 2, 1289, 1290, 7, 120, 2, 2,
1290, 1291, 7, 103, 2, 2, 1291, 1292, 7, 47, 2, 2, 1292, 1293, 7, 116,
2, 2, 1293, 1294, 7, 103, 2, 2, 1294, 1295, 7, 117, 2, 2, 1295, 1296, 7,
119, 2, 2, 1296, 1297, 7, 110, 2, 2, 1297, 1298, 7, 118, 2, 2, 1298, 162,
3, 2, 2, 2, 1299, 1300, 7, 111, 2, 2, 1300, 1301, 7, 113, 2, 2, 1301, 1302,
7, 120, 2, 2, 1302, 1303, 7, 103, 2, 2, 1303, 1304, 7, 47, 2, 2, 1304,
1305, 7, 116, 2, 2, 1305, 1306, 7, 103, 2, 2, 1306, 1307, 7, 117, 2, 2,
1307, 1308, 7, 119, 2, 2, 1308, 1309, 7, 110, 2, 2, 1309, 1310, 7, 118,
2, 2, 1310, 1311, 7, 47, 2, 2, 1311, 1312, 7, 121, 2, 2, 1312, 1313, 7,
107, 2, 2, 1313, 1314, 7, 102, 2, 2, 1314, 1315, 7, 103, 2, 2, 1315, 164,
3, 2, 2, 2, 1316, 1317, 7, 111, 2, 2, 1317, 1318, 7, 113, 2, 2, 1318, 1319,
7, 120, 2, 2, 1319, 1320, 7, 103, 2, 2, 1320, 1321, 7, 47, 2, 2, 1321,
1322, 7, 116, 2, 2, 1322, 1323, 7, 103, 2, 2, 1323, 1324, 7, 117, 2, 2,
1324, 1325, 7, 119, 2, 2, 1325, 1326, 7, 110, 2, 2, 1326, 1327, 7, 118,
2, 2, 1327, 1328, 7, 47, 2, 2, 1328, 1329, 7, 113, 2, 2, 1329, 1330, 7,
100, 2, 2, 1330, 1331, 7, 108, 2, 2, 1331, 1332, 7, 103, 2, 2, 1332, 1333,
7, 101, 2, 2, 1333, 1334, 7, 118, 2, 2, 1334, 166, 3, 2, 2, 2, 1335, 1336,
7, 111, 2, 2, 1336, 1337, 7, 113, 2, 2, 1337, 1338, 7, 120, 2, 2, 1338,
1339, 7, 103, 2, 2, 1339, 1340, 7, 47, 2, 2, 1340, 1341, 7, 103, 2, 2,
1341, 1342, 7, 122, 2, 2, 1342, 1343, 7, 101, 2, 2, 1343, 1344, 7, 103,
2, 2, 1344, 1345, 7, 114, 2, 2, 1345, 1346, 7, 118, 2, 2, 1346, 1347, 7,
107, 2, 2, 1347, 1348, 7, 113, 2, 2, 1348, 1349, 7, 112, 2, 2, 1349, 168,
3, 2, 2, 2, 1350, 1351, 7, 116, 2, 2, 1351, 1352, 7, 103, 2, 2, 1352, 1353,
7, 118, 2, 2, 1353, 1354, 7, 119, 2, 2, 1354, 1355, 7, 116, 2, 2, 1355,
1356, 7, 112, 2, 2, 1356, 1357, 7, 47, 2, 2, 1357, 1358, 7, 120, 2, 2,
1358, 1359, 7, 113, 2, 2, 1359, 1360, 7, 107, 2, 2, 1360, 1361, 7, 102,
2, 2, 1361, 170, 3, 2, 2, 2, 1362, 1363, 7, 116, 2, 2, 1363, 1364, 7, 103,
2, 2, 1364, 1365, 7, 118, 2, 2, 1365, 1366, 7, 119, 2, 2, 1366, 1367, 7,
116, 2, 2, 1367, 1368, 7, 112, 2, 2, 1368, 172, 3, 2, 2, 2, 1369, 1370,
7, 116, 2, 2, 1370, 1371, 7, 103, 2, 2, 1371, 1372, 7, 118, 2, 2, 1372,
1373, 7, 119, 2, 2, 1373, 1374, 7, 116, 2, 2, 1374, 1375, 7, 112, 2, 2,
1375, 1376, 7, 47, 2, 2, 1376, 1377, 7, 121, 2, 2, 1377, 1378, 7, 107,
2, 2, 1378, 1379, 7, 102, 2, 2, 1379, 1380, 7, 103, 2, 2, 1380, 174, 3,
2, 2, 2, 1381, 1382, 7, 116, 2, 2, 1382, 1383, 7, 103, 2, 2, 1383, 1384,
7, 118, 2, 2, 1384, 1385, 7, 119, 2, 2, 1385, 1386, 7, 116, 2, 2, 1386,
1387, 7, 112, 2, 2, 1387, 1388, 7, 47, 2, 2, 1388, 1389, 7, 113, 2, 2,
1389, 1390, 7, 100, 2, 2, 1390, 1391, 7, 108, 2, 2, 1391, 1392, 7, 103,
2, 2, 1392, 1393, 7, 101, 2, 2, 1393, 1394, 7, 118, 2, 2, 1394, 176, 3,
2, 2, 2, 1395, 1396, 7, 101, 2, 2, 1396, 1397, 7, 113, 2, 2, 1397, 1398,
7, 112, 2, 2, 1398, 1399, 7, 117, 2, 2, 1399, 1400, 7, 118, 2, 2, 1400,
1401, 7, 49, 2, 2, 1401, 1402, 7, 54, 2, 2, 1402, 178, 3, 2, 2, 2, 1403,
1404, 7, 101, 2, 2, 1404, 1405, 7, 113, 2, 2, 1405, 1406, 7, 112, 2, 2,
1406, 1407, 7, 117, 2, 2, 1407, 1408, 7, 118, 2, 2, 1408, 1409, 7, 49,
2, 2, 1409, 1410, 7, 51, 2, 2, 1410, 1411, 7, 56, 2, 2, 1411, 180, 3, 2,
2, 2, 1412, 1413, 7, 101, 2, 2, 1413, 1414, 7, 113, 2, 2, 1414, 1415, 7,
112, 2, 2, 1415, 1416, 7, 117, 2, 2, 1416, 1417, 7, 118, 2, 2, 1417, 182,
3, 2, 2, 2, 1418, 1419, 7, 101, 2, 2, 1419, 1420, 7, 113, 2, 2, 1420, 1421,
7, 112, 2, 2, 1421, 1422, 7, 117, 2, 2, 1422, 1423, 7, 118, 2, 2, 1423,
1424, 7, 49, 2, 2, 1424, 1425, 7, 106, 2, 2, 1425, 1426, 7, 107, 2, 2,
1426, 1427, 7, 105, 2, 2, 1427, 1428, 7, 106, 2, 2, 1428, 1429, 7, 51,
2, 2, 1429, 1430, 7, 56, 2, 2, 1430, 184, 3, 2, 2, 2, 1431, 1432, 7, 101,
2, 2, 1432, 1433, 7, 113, 2, 2, 1433, 1434, 7, 112, 2, 2, 1434, 1435, 7,
117, 2, 2, 1435, 1436, 7, 118, 2, 2, 1436, 1437, 7, 47, 2, 2, 1437, 1438,
7, 121, 2, 2, 1438, 1439, 7, 107, 2, 2, 1439, 1440, 7, 102, 2, 2, 1440,
1441, 7, 103, 2, 2, 1441, 1442, 7, 49, 2, 2, 1442, 1443, 7, 51, 2, 2, 1443,
1444, 7, 56, 2, 2, 1444, 186, 3, 2, 2, 2, 1445, 1446, 7, 101, 2, 2, 1446,
1447, 7, 113, 2, 2, 1447, 1448, 7, 112, 2, 2, 1448, 1449, 7, 117, 2, 2,
1449, 1450, 7, 118, 2, 2, 1450, 1451, 7, 47, 2, 2, 1451, 1452, 7, 121,
2, 2, 1452, 1453, 7, 107, 2, 2, 1453, 1454, 7, 102, 2, 2, 1454, 1455, 7,
103, 2, 2, 1455, 1456, 7, 49, 2, 2, 1456, 1457, 7, 53, 2, 2, 1457, 1458,
7, 52, 2, 2, 1458, 188, 3, 2, 2, 2, 1459, 1460, 7, 101, 2, 2, 1460, 1461,
7, 113, 2, 2, 1461, 1462, 7, 112, 2, 2, 1462, 1463, 7, 117, 2, 2, 1463,
1464, 7, 118, 2, 2, 1464, 1465, 7, 47, 2, 2, 1465, 1466, 7, 121, 2, 2,
1466, 1467, 7, 107, 2, 2, 1467, 1468, 7, 102, 2, 2, 1468, 1469, 7, 103,
2, 2, 1469, 190, 3, 2, 2, 2, 1470, 1471, 7, 101, 2, 2, 1471, 1472, 7, 113,
2, 2, 1472, 1473, 7, 112, 2, 2, 1473, 1474, 7, 117, 2, 2, 1474, 1475, 7,
118, 2, 2, 1475, 1476, 7, 47, 2, 2, 1476, 1477, 7, 121, 2, 2, 1477, 1478,
7, 107, 2, 2, 1478, 1479, 7, 102, 2, 2, 1479, 1480, 7, 103, 2, 2, 1480,
1481, 7, 49, 2, 2, 1481, 1482, 7, 106, 2, 2, 1482, 1483, 7, 107, 2, 2,
1483, 1484, 7, 105, 2, 2, 1484, 1485, 7, 106, 2, 2, 1485, 1486, 7, 51,
2, 2, 1486, 1487, 7, 56, 2, 2, 1487, 192, 3, 2, 2, 2, 1488, 1489, 7, 101,
2, 2, 1489, 1490, 7, 113, 2, 2, 1490, 1491, 7, 112, 2, 2, 1491, 1492, 7,
117, 2, 2, 1492, 1493, 7, 118, 2, 2, 1493, 1494, 7, 47, 2, 2, 1494, 1495,
7, 117, 2, 2, 1495, 1496, 7, 118, 2, 2, 1496, 1497, 7, 116, 2, 2, 1497,
1498, 7, 107, 2, 2, 1498, 1499, 7, 112, 2, 2, 1499, 1500, 7, 105, 2, 2,
1500, 194, 3, 2, 2, 2, 1501, 1502, 7, 101, 2, 2, 1502, 1503, 7, 113, 2,
2, 1503, 1504, 7, 112, 2, 2, 1504, 1505, 7, 117, 2, 2, 1505, 1506, 7, 118,
2, 2, 1506, 1507, 7, 47, 2, 2, 1507, 1508, 7, 117, 2, 2, 1508, 1509, 7,
118, 2, 2, 1509, 1510, 7, 116, 2, 2, 1510, 1511, 7, 107, 2, 2, 1511, 1512,
7, 112, 2, 2, 1512, 1513, 7, 105, 2, 2, 1513, 1514, 7, 49, 2, 2, 1514,
1515, 7, 108, 2, 2, 1515, 1516, 7, 119, 2, 2, 1516, 1517, 7, 111, 2, 2,
1517, 1518, 7, 100, 2, 2, 1518, 1519, 7, 113, 2, 2, 1519, 196, 3, 2, 2,
2, 1520, 1521, 7, 101, 2, 2, 1521, 1522, 7, 113, 2, 2, 1522, 1523, 7, 112,
2, 2, 1523, 1524, 7, 117, 2, 2, 1524, 1525, 7, 118, 2, 2, 1525, 1526, 7,
47, 2, 2, 1526, 1527, 7, 101, 2, 2, 1527, 1528, 7, 110, 2, 2, 1528, 1529,
7, 99, 2, 2, 1529, 1530, 7, 117, 2, 2, 1530, 1531, 7, 117, 2, 2, 1531,
198, 3, 2, 2, 2, 1532, 1533, 7, 111, 2, 2, 1533, 1534, 7, 113, 2, 2, 1534,
1535, 7, 112, 2, 2, 1535, 1536, 7, 107, 2, 2, 1536, 1537, 7, 118, 2, 2,
1537, 1538, 7, 113, 2, 2, 1538, 1539, 7, 116, 2, 2, 1539, 1540, 7, 47,
2, 2, 1540, 1541, 7, 103, 2, 2, 1541, 1542, 7, 112, 2, 2, 1542, 1543, 7,
118, 2, 2, 1543, 1544, 7, 103, 2, 2, 1544, 1545, 7, 116, 2, 2, 1545, 200,
3, 2, 2, 2, 1546, 1547, 7, 111, 2, 2, 1547, 1548, 7, 113, 2, 2, 1548, 1549,
7, 112, 2, 2, 1549, 1550, 7, 107, 2, 2, 1550, 1551, 7, 118, 2, 2, 1551,
1552, 7, 113, 2, 2, 1552, 1553, 7, 116, 2, 2, 1553, 1554, 7, 47, 2, 2,
1554, 1555, 7, 103, 2, 2, 1555, 1556, 7, 122, 2, 2, 1556, 1557, 7, 107,
2, 2, 1557, 1558, 7, 118, 2, 2, 1558, 202, 3, 2, 2, 2, 1559, 1560, 7, 101,
2, 2, 1560, 1561, 7, 106, 2, 2, 1561, 1562, 7, 103, 2, 2, 1562, 1563, 7,
101, 2, 2, 1563, 1564, 7, 109, 2, 2, 1564, 1565, 7, 47, 2, 2, 1565, 1566,
7, 101, 2, 2, 1566, 1567, 7, 99, 2, 2, 1567, 1568, 7, 117, 2, 2, 1568,
1569, 7, 118, 2, 2, 1569, 204, 3, 2, 2, 2, 1570, 1571, 7, 107, 2, 2, 1571,
1572, 7, 112, 2, 2, 1572, 1573, 7, 117, 2, 2, 1573, 1574, 7, 118, 2, 2,
1574, 1575, 7, 99, 2, 2, 1575, 1576, 7, 112, 2, 2, 1576, 1577, 7, 101,
2, 2, 1577, 1578, 7, 103, 2, 2, 1578, 1579, 7, 47, 2, 2, 1579, 1580, 7,
113, 2, 2, 1580, 1581, 7, 104, 2, 2, 1581, 206, 3, 2, 2, 2, 1582, 1583,
7, 99, 2, 2, 1583, 1584, 7, 116, 2, 2, 1584, 1585, 7, 116, 2, 2, 1585,
1586, 7, 99, 2, 2, 1586, 1587, 7, 123, 2, 2, 1587, 1588, 7, 47, 2, 2, 1588,
1589, 7, 110, 2, 2, 1589, 1590, 7, 103, 2, 2, 1590, 1591, 7, 112, 2, 2,
1591, 1592, 7, 105, 2, 2, 1592, 1593, 7, 118, 2, 2, 1593, 1594, 7, 106,
2, 2, 1594, 208, 3, 2, 2, 2, 1595, 1596, 7, 112, 2, 2, 1596, 1597, 7, 103,
2, 2, 1597, 1598, 7, 121, 2, 2, 1598, 1599, 7, 47, 2, 2, 1599, 1600, 7,
107, 2, 2, 1600, 1601, 7, 112, 2, 2, 1601, 1602, 7, 117, 2, 2, 1602, 1603,
7, 118, 2, 2, 1603, 1604, 7, 99, 2, 2, 1604, 1605, 7, 112, 2, 2, 1605,
1606, 7, 101, 2, 2, 1606, 1607, 7, 103, 2, 2, 1607, 210, 3, 2, 2, 2, 1608,
1609, 7, 112, 2, 2, 1609, 1610, 7, 103, 2, 2, 1610, 1611, 7, 121, 2, 2,
1611, 1612, 7, 47, 2, 2, 1612, 1613, 7, 99, 2, 2, 1613, 1614, 7, 116, 2,
2, 1614, 1615, 7, 116, 2, 2, 1615, 1616, 7, 99, 2, 2, 1616, 1617, 7, 123,
2, 2, 1617, 212, 3, 2, 2, 2, 1618, 1619, 7, 104, 2, 2, 1619, 1620, 7, 107,
2, 2, 1620, 1621, 7, 110, 2, 2, 1621, 1622, 7, 110, 2, 2, 1622, 1623, 7,
103, 2, 2, 1623, 1624, 7, 102, 2, 2, 1624, 1625, 7, 47, 2, 2, 1625, 1626,
7, 112, 2, 2, 1626, 1627, 7, 103, 2, 2, 1627, 1628, 7, 121, 2, 2, 1628,
1629, 7, 47, 2, 2, 1629, 1630, 7, 99, 2, 2, 1630, 1631, 7, 116, 2, 2, 1631,
1632, 7, 116, 2, 2, 1632, 1633, 7, 99, 2, 2, 1633, 1634, 7, 123, 2, 2,
1634, 214, 3, 2, 2, 2, 1635, 1636, 7, 104, 2, 2, 1636, 1637, 7, 107, 2,
2, 1637, 1638, 7, 110, 2, 2, 1638, 1639, 7, 110, 2, 2, 1639, 1640, 7, 103,
2, 2, 1640, 1641, 7, 102, 2, 2, 1641, 1642, 7, 47, 2, 2, 1642, 1643, 7,
112, 2, 2, 1643, 1644, 7, 103, 2, 2, 1644, 1645, 7, 121, 2, 2, 1645, 1646,
7, 47, 2, 2, 1646, 1647, 7, 99, 2, 2, 1647, 1648, 7, 116, 2, 2, 1648, 1649,
7, 116, 2, 2, 1649, 1650, 7, 99, 2, 2, 1650, 1651, 7, 123, 2, 2, 1651,
1652, 7, 49, 2, 2, 1652, 1653, 7, 116, 2, 2, 1653, 1654, 7, 99, 2, 2, 1654,
1655, 7, 112, 2, 2, 1655, 1656, 7, 105, 2, 2, 1656, 1657, 7, 103, 2, 2,
1657, 216, 3, 2, 2, 2, 1658, 1659, 7, 104, 2, 2, 1659, 1660, 7, 107, 2,
2, 1660, 1661, 7, 110, 2, 2, 1661, 1662, 7, 110, 2, 2, 1662, 1663, 7, 47,
2, 2, 1663, 1664, 7, 99, 2, 2, 1664, 1665, 7, 116, 2, 2, 1665, 1666, 7,
116, 2, 2, 1666, 1667, 7, 99, 2, 2, 1667, 1668, 7, 123, 2, 2, 1668, 1669,
7, 47, 2, 2, 1669, 1670, 7, 102, 2, 2, 1670, 1671, 7, 99, 2, 2, 1671, 1672,
7, 118, 2, 2, 1672, 1673, 7, 99, 2, 2, 1673, 218, 3, 2, 2, 2, 1674, 1675,
7, 118, 2, 2, 1675, 1676, 7, 106, 2, 2, 1676, 1677, 7, 116, 2, 2, 1677,
1678, 7, 113, 2, 2, 1678, 1679, 7, 121, 2, 2, 1679, 220, 3, 2, 2, 2, 1680,
1681, 7, 105, 2, 2, 1681, 1682, 7, 113, 2, 2, 1682, 1683, 7, 118, 2, 2,
1683, 1684, 7, 113, 2, 2, 1684, 222, 3, 2, 2, 2, 1685, 1686, 7, 105, 2,
2, 1686, 1687, 7, 113, 2, 2, 1687, 1688, 7, 118, 2, 2, 1688, 1689, 7, 113,
2, 2, 1689, 1690, 7, 49, 2, 2, 1690, 1691, 7, 51, 2, 2, 1691, 1692, 7,
56, 2, 2, 1692, 224, 3, 2, 2, 2, 1693, 1694, 7, 105, 2, 2, 1694, 1695,
7, 113, 2, 2, 1695, 1696, 7, 118, 2, 2, 1696, 1697, 7, 113, 2, 2, 1697,
1698, 7, 49, 2, 2, 1698, 1699, 7, 53, 2, 2, 1699, 1700, 7, 52, 2, 2, 1700,
226, 3, 2, 2, 2, 1701, 1702, 7, 101, 2, 2, 1702, 1703, 7, 111, 2, 2, 1703,
1704, 7, 114, 2, 2, 1704, 1705, 7, 110, 2, 2, 1705, 1706, 7, 47, 2, 2,
1706, 1707, 7, 104, 2, 2, 1707, 1708, 7, 110, 2, 2, 1708, 1709, 7, 113,
2, 2, 1709, 1710, 7, 99, 2, 2, 1710, 1711, 7, 118, 2, 2, 1711, 228, 3,
2, 2, 2, 1712, 1713, 7, 101, 2, 2, 1713, 1714, 7, 111, 2, 2, 1714, 1715,
7, 114, 2, 2, 1715, 1716, 7, 105, 2, 2, 1716, 1717, 7, 47, 2, 2, 1717,
1718, 7, 104, 2, 2, 1718, 1719, 7, 110, 2, 2, 1719, 1720, 7, 113, 2, 2,
1720, 1721, 7, 99, 2, 2, 1721, 1722, 7, 118, 2, 2, 1722, 230, 3, 2, 2,
2, 1723, 1724, 7, 101, 2, 2, 1724, 1725, 7, 111, 2, 2, 1725, 1726, 7, 114,
2, 2, 1726, 1727, 7, 110, 2, 2, 1727, 1728, 7, 47, 2, 2, 1728, 1729, 7,
102, 2, 2, 1729, 1730, 7, 113, 2, 2, 1730, 1731, 7, 119, 2, 2, 1731, 1732,
7, 100, 2, 2, 1732, 1733, 7, 110, 2, 2, 1733, 1734, 7, 103, 2, 2, 1734,
232, 3, 2, 2, 2, 1735, 1736, 7, 101, 2, 2, 1736, 1737, 7, 111, 2, 2, 1737,
1738, 7, 114, 2, 2, 1738, 1739, 7, 105, 2, 2, 1739, 1740, 7, 47, 2, 2,
1740, 1741, 7, 102, 2, 2, 1741, 1742, 7, 113, 2, 2, 1742, 1743, 7, 119,
2, 2, 1743, 1744, 7, 100, 2, 2, 1744, 1745, 7, 110, 2, 2, 1745, 1746, 7,
103, 2, 2, 1746, 234, 3, 2, 2, 2, 1747, 1748, 7, 101, 2, 2, 1748, 1749,
7, 111, 2, 2, 1749, 1750, 7, 114, 2, 2, 1750, 1751, 7, 47, 2, 2, 1751,
1752, 7, 110, 2, 2, 1752, 1753, 7, 113, 2, 2, 1753, 1754, 7, 112, 2, 2,
1754, 1755, 7, 105, 2, 2, 1755, 236, 3, 2, 2, 2, 1756, 1757, 7, 107, 2,
2, 1757, 1758, 7, 104, 2, 2, 1758, 1759, 7, 47, 2, 2, 1759, 1760, 7, 103,
2, 2, 1760, 1761, 7, 115, 2, 2, 1761, 238, 3, 2, 2, 2, 1762, 1763, 7, 107,
2, 2, 1763, 1764, 7, 104, 2, 2, 1764, 1765, 7, 47, 2, 2, 1765, 1766, 7,
112, 2, 2, 1766, 1767, 7, 103, 2, 2, 1767, 240, 3, 2, 2, 2, 1768, 1769,
7, 107, 2, 2, 1769, 1770, 7, 104, 2, 2, 1770, 1771, 7, 47, 2, 2, 1771,
1772, 7, 110, 2, 2, 1772, 1773, 7, 118, 2, 2, 1773, 242, 3, 2, 2, 2, 1774,
1775, 7, 107, 2, 2, 1775, 1776, 7, 104, 2, 2, 1776, 1777, 7, 47, 2, 2,
1777, 1778, 7, 105, 2, 2, 1778, 1779, 7, 103, 2, 2, 1779, 244, 3, 2, 2,
2, 1780, 1781, 7, 107, 2, 2, 1781, 1782, 7, 104, 2, 2, 1782, 1783, 7, 47,
2, 2, 1783, 1784, 7, 105, 2, 2, 1784, 1785, 7, 118, 2, 2, 1785, 246, 3,
2, 2, 2, 1786, 1787, 7, 107, 2, 2, 1787, 1788, 7, 104, 2, 2, 1788, 1789,
7, 47, 2, 2, 1789, 1790, 7, 110, 2, 2, 1790, 1791, 7, 103, 2, 2, 1791,
248, 3, 2, 2, 2, 1792, 1793, 7, 107, 2, 2, 1793, 1794, 7, 104, 2, 2, 1794,
1795, 7, 47, 2, 2, 1795, 1796, 7, 103, 2, 2, 1796, 1797, 7, 115, 2, 2,
1797, 1798, 7, 124, 2, 2, 1798, 250, 3, 2, 2, 2, 1799, 1800, 7, 107, 2,
2, 1800, 1801, 7, 104, 2, 2, 1801, 1802, 7, 47, 2, 2, 1802, 1803, 7, 112,
2, 2, 1803, 1804, 7, 103, 2, 2, 1804, 1805, 7, 124, 2, 2, 1805, 252, 3,
2, 2, 2, 1806, 1807, 7, 107, 2, 2, 1807, 1808, 7, 104, 2, 2, 1808, 1809,
7, 47, 2, 2, 1809, 1810, 7, 110, 2, 2, 1810, 1811, 7, 118, 2, 2, 1811,
1812, 7, 124, 2, 2, 1812, 254, 3, 2, 2, 2, 1813, 1814, 7, 107, 2, 2, 1814,
1815, 7, 104, 2, 2, 1815, 1816, 7, 47, 2, 2, 1816, 1817, 7, 105, 2, 2,
1817, 1818, 7, 103, 2, 2, 1818, 1819, 7, 124, 2, 2, 1819, 256, 3, 2, 2,
2, 1820, 1821, 7, 107, 2, 2, 1821, 1822, 7, 104, 2, 2, 1822, 1823, 7, 47,
2, 2, 1823, 1824, 7, 105, 2, 2, 1824, 1825, 7, 118, 2, 2, 1825, 1826, 7,
124, 2, 2, 1826, 258, 3, 2, 2, 2, 1827, 1828, 7, 107, 2, 2, 1828, 1829,
7, 104, 2, 2, 1829, 1830, 7, 47, 2, 2, 1830, 1831, 7, 110, 2, 2, 1831,
1832, 7, 103, 2, 2, 1832, 1833, 7, 124, 2, 2, 1833, 260, 3, 2, 2, 2, 1834,
1835, 7, 99, 2, 2, 1835, 1836, 7, 105, 2, 2, 1836, 1837, 7, 103, 2, 2,
1837, 1838, 7, 118, 2, 2, 1838, 262, 3, 2, 2, 2, 1839, 1840, 7, 99, 2,
2, 1840, 1841, 7, 105, 2, 2, 1841, 1842, 7, 103, 2, 2, 1842, 1843, 7, 118,
2, 2, 1843, 1844, 7, 47, 2, 2, 1844, 1845, 7, 121, 2, 2, 1845, 1846, 7,
107, 2, 2, 1846, 1847, 7, 102, 2, 2, 1847, 1848, 7, 103, 2, 2, 1848, 264,
3, 2, 2, 2, 1849, 1850, 7, 99, 2, 2, 1850, 1851, 7, 105, 2, 2, 1851, 1852,
7, 103, 2, 2, 1852, 1853, 7, 118, 2, 2, 1853, 1854, 7, 47, 2, 2, 1854,
1855, 7, 113, 2, 2, 1855, 1856, 7, 100, 2, 2, 1856, 1857, 7, 108, 2, 2,
1857, 1858, 7, 103, 2, 2, 1858, 1859, 7, 101, 2, 2, 1859, 1860, 7, 118,
2, 2, 1860, 266, 3, 2, 2, 2, 1861, 1862, 7, 99, 2, 2, 1862, 1863, 7, 105,
2, 2, 1863, 1864, 7, 103, 2, 2, 1864, 1865, 7, 118, 2, 2, 1865, 1866, 7,
47, 2, 2, 1866, 1867, 7, 100, 2, 2, 1867, 1868, 7, 113, 2, 2, 1868, 1869,
7, 113, 2, 2, 1869, 1870, 7, 110, 2, 2, 1870, 1871, 7, 103, 2, 2, 1871,
1872, 7, 99, 2, 2, 1872, 1873, 7, 112, 2, 2, 1873, 268, 3, 2, 2, 2, 1874,
1875, 7, 99, 2, 2, 1875, 1876, 7, 105, 2, 2, 1876, 1877, 7, 103, 2, 2,
1877, 1878, 7, 118, 2, 2, 1878, 1879, 7, 47, 2, 2, 1879, 1880, 7, 100,
2, 2, 1880, 1881, 7, 123, 2, 2, 1881, 1882, 7, 118, 2, 2, 1882, 1883, 7,
103, 2, 2, 1883, 270, 3, 2, 2, 2, 1884, 1885, 7, 99, 2, 2, 1885, 1886,
7, 105, 2, 2, 1886, 1887, 7, 103, 2, 2, 1887, 1888, 7, 118, 2, 2, 1888,
1889, 7, 47, 2, 2, 1889, 1890, 7, 101, 2, 2, 1890, 1891, 7, 106, 2, 2,
1891, 1892, 7, 99, 2, 2, 1892, 1893, 7, 116, 2, 2, 1893, 272, 3, 2, 2,
2, 1894, 1895, 7, 99, 2, 2, 1895, 1896, 7, 105, 2, 2, 1896, 1897, 7, 103,
2, 2, 1897, 1898, 7, 118, 2, 2, 1898, 1899, 7, 47, 2, 2, 1899, 1900, 7,
117, 2, 2, 1900, 1901, 7, 106, 2, 2, 1901, 1902, 7, 113, 2, 2, 1902, 1903,
7, 116, 2, 2, 1903, 1904, 7, 118, 2, 2, 1904, 274, 3, 2, 2, 2, 1905, 1906,
7, 99, 2, 2, 1906, 1907, 7, 114, 2, 2, 1907, 1908, 7, 119, 2, 2, 1908,
1909, 7, 118, 2, 2, 1909, 276, 3, 2, 2, 2, 1910, 1911, 7, 99, 2, 2, 1911,
1912, 7, 114, 2, 2, 1912, 1913, 7, 119, 2, 2, 1913, 1914, 7, 118, 2, 2,
1914, 1915, 7, 47, 2, 2, 1915, 1916, 7, 121, 2, 2, 1916, 1917, 7, 107,
2, 2, 1917, 1918, 7, 102, 2, 2, 1918, 1919, 7, 103, 2, 2, 1919, 278, 3,
2, 2, 2, 1920, 1921, 7, 99, 2, 2, 1921, 1922, 7, 114, 2, 2, 1922, 1923,
7, 119, 2, 2, 1923, 1924, 7, 118, 2, 2, 1924, 1925, 7, 47, 2, 2, 1925,
1926, 7, 113, 2, 2, 1926, 1927, 7, 100, 2, 2, 1927, 1928, 7, 108, 2, 2,
1928, 1929, 7, 103, 2, 2, 1929, 1930, 7, 101, 2, 2, 1930, 1931, 7, 118,
2, 2, 1931, 280, 3, 2, 2, 2, 1932, 1933, 7, 99, 2, 2, 1933, 1934, 7, 114,
2, 2, 1934, 1935, 7, 119, 2, 2, 1935, 1936, 7, 118, 2, 2, 1936, 1937, 7,
47, 2, 2, 1937, 1938, 7, 100, 2, 2, 1938, 1939, 7, 113, 2, 2, 1939, 1940,
7, 113, 2, 2, 1940, 1941, 7, 110, 2, 2, 1941, 1942, 7, 103, 2, 2, 1942,
1943, 7, 99, 2, 2, 1943, 1944, 7, 112, 2, 2, 1944, 282, 3, 2, 2, 2, 1945,
1946, 7, 99, 2, 2, 1946, 1947, 7, 114, 2, 2, 1947, 1948, 7, 119, 2, 2,
1948, 1949, 7, 118, 2, 2, 1949, 1950, 7, 47, 2, 2, 1950, 1951, 7, 100,
2, 2, 1951, 1952, 7, 123, 2, 2, 1952, 1953, 7, 118, 2, 2, 1953, 1954, 7,
103, 2, 2, 1954, 284, 3, 2, 2, 2, 1955, 1956, 7, 99, 2, 2, 1956, 1957,
7, 114, 2, 2, 1957, 1958, 7, 119, 2, 2, 1958, 1959, 7, 118, 2, 2, 1959,
1960, 7, 47, 2, 2, 1960, 1961, 7, 101, 2, 2, 1961, 1962, 7, 106, 2, 2,
1962, 1963, 7, 99, 2, 2, 1963, 1964, 7, 116, 2, 2, 1964, 286, 3, 2, 2,
2, 1965, 1966, 7, 99, 2, 2, 1966, 1967, 7, 114, 2, 2, 1967, 1968, 7, 119,
2, 2, 1968, 1969, 7, 118, 2, 2, 1969, 1970, 7, 47, 2, 2, 1970, 1971, 7,
117, 2, 2, 1971, 1972, 7, 106, 2, 2, 1972, 1973, 7, 113, 2, 2, 1973, 1974,
7, 116, 2, 2, 1974, 1975, 7, 118, 2, 2, 1975, 288, 3, 2, 2, 2, 1976, 1977,
7, 107, 2, 2, 1977, 1978, 7, 105, 2, 2, 1978, 1979, 7, 103, 2, 2, 1979,
1980, 7, 118, 2, 2, 1980, 290, 3, 2, 2, 2, 1981, 1982, 7, 107, 2, 2, 1982,
1983, 7, 105, 2, 2, 1983, 1984, 7, 103, 2, 2, 1984, 1985, 7, 118, 2, 2,
1985, 1986, 7, 47, 2, 2, 1986, 1987, 7, 121, 2, 2, 1987, 1988, 7, 107,
2, 2, 1988, 1989, 7, 102, 2, 2, 1989, 1990, 7, 103, 2, 2, 1990, 292, 3,
2, 2, 2, 1991, 1992, 7, 107, 2, 2, 1992, 1993, 7, 105, 2, 2, 1993, 1994,
7, 103, 2, 2, 1994, 1995, 7, 118, 2, 2, 1995, 1996, 7, 47, 2, 2, 1996,
1997, 7, 113, 2, 2, 1997, 1998, 7, 100, 2, 2, 1998, 1999, 7, 108, 2, 2,
1999, 2000, 7, 103, 2, 2, 2000, 2001, 7, 101, 2, 2, 2001, 2002, 7, 118,
2, 2, 2002, 294, 3, 2, 2, 2, 2003, 2004, 7, 107, 2, 2, 2004, 2005, 7, 105,
2, 2, 2005, 2006, 7, 103, 2, 2, 2006, 2007, 7, 118, 2, 2, 2007, 2008, 7,
47, 2, 2, 2008, 2009, 7, 100, 2, 2, 2009, 2010, 7, 113, 2, 2, 2010, 2011,
7, 113, 2, 2, 2011, 2012, 7, 110, 2, 2, 2012, 2013, 7, 103, 2, 2, 2013,
2014, 7, 99, 2, 2, 2014, 2015, 7, 112, 2, 2, 2015, 296, 3, 2, 2, 2, 2016,
2017, 7, 107, 2, 2, 2017, 2018, 7, 105, 2, 2, 2018, 2019, 7, 103, 2, 2,
2019, 2020, 7, 118, 2, 2, 2020, 2021, 7, 47, 2, 2, 2021, 2022, 7, 100,
2, 2, 2022, 2023, 7, 123, 2, 2, 2023, 2024, 7, 118, 2, 2, 2024, 2025, 7,
103, 2, 2, 2025, 298, 3, 2, 2, 2, 2026, 2027, 7, 107, 2, 2, 2027, 2028,
7, 105, 2, 2, 2028, 2029, 7, 103, 2, 2, 2029, 2030, 7, 118, 2, 2, 2030,
2031, 7, 47, 2, 2, 2031, 2032, 7, 101, 2, 2, 2032, 2033, 7, 106, 2, 2,
2033, 2034, 7, 99, 2, 2, 2034, 2035, 7, 116, 2, 2, 2035, 300, 3, 2, 2,
2, 2036, 2037, 7, 107, 2, 2, 2037, 2038, 7, 105, 2, 2, 2038, 2039, 7, 103,
2, 2, 2039, 2040, 7, 118, 2, 2, 2040, 2041, 7, 47, 2, 2, 2041, 2042, 7,
117, 2, 2, 2042, 2043, 7, 106, 2, 2, 2043, 2044, 7, 113, 2, 2, 2044, 2045,
7, 116, 2, 2, 2045, 2046, 7, 118, 2, 2, 2046, 302, 3, 2, 2, 2, 2047, 2048,
7, 107, 2, 2, 2048, 2049, 7, 114, 2, 2, 2049, 2050, 7, 119, 2, 2, 2050,
2051, 7, 118, 2, 2, 2051, 304, 3, 2, 2, 2, 2052, 2053, 7, 107, 2, 2, 2053,
2054, 7, 114, 2, 2, 2054, 2055, 7, 119, 2, 2, 2055, 2056, 7, 118, 2, 2,
2056, 2057, 7, 47, 2, 2, 2057, 2058, 7, 121, 2, 2, 2058, 2059, 7, 107,
2, 2, 2059, 2060, 7, 102, 2, 2, 2060, 2061, 7, 103, 2, 2, 2061, 306, 3,
2, 2, 2, 2062, 2063, 7, 107, 2, 2, 2063, 2064, 7, 114, 2, 2, 2064, 2065,
7, 119, 2, 2, 2065, 2066, 7, 118, 2, 2, 2066, 2067, 7, 47, 2, 2, 2067,
2068, 7, 113, 2, 2, 2068, 2069, 7, 100, 2, 2, 2069, 2070, 7, 108, 2, 2,
2070, 2071, 7, 103, 2, 2, 2071, 2072, 7, 101, 2, 2, 2072, 2073, 7, 118,
2, 2, 2073, 308, 3, 2, 2, 2, 2074, 2075, 7, 107, 2, 2, 2075, 2076, 7, 114,
2, 2, 2076, 2077, 7, 119, 2, 2, 2077, 2078, 7, 118, 2, 2, 2078, 2079, 7,
47, 2, 2, 2079, 2080, 7, 100, 2, 2, 2080, 2081, 7, 113, 2, 2, 2081, 2082,
7, 113, 2, 2, 2082, 2083, 7, 110, 2, 2, 2083, 2084, 7, 103, 2, 2, 2084,
2085, 7, 99, 2, 2, 2085, 2086, 7, 112, 2, 2, 2086, 310, 3, 2, 2, 2, 2087,
2088, 7, 107, 2, 2, 2088, 2089, 7, 114, 2, 2, 2089, 2090, 7, 119, 2, 2,
2090, 2091, 7, 118, 2, 2, 2091, 2092, 7, 47, 2, 2, 2092, 2093, 7, 100,
2, 2, 2093, 2094, 7, 123, 2, 2, 2094, 2095, 7, 118, 2, 2, 2095, 2096, 7,
103, 2, 2, 2096, 312, 3, 2, 2, 2, 2097, 2098, 7, 107, 2, 2, 2098, 2099,
7, 114, 2, 2, 2099, 2100, 7, 119, 2, 2, 2100, 2101, 7, 118, 2, 2, 2101,
2102, 7, 47, 2, 2, 2102, 2103, 7, 101, 2, 2, 2103, 2104, 7, 106, 2, 2,
2104, 2105, 7, 99, 2, 2, 2105, 2106, 7, 116, 2, 2, 2106, 314, 3, 2, 2,
2, 2107, 2108, 7, 107, 2, 2, 2108, 2109, 7, 114, 2, 2, 2109, 2110, 7, 119,
2, 2, 2110, 2111, 7, 118, 2, 2, 2111, 2112, 7, 47, 2, 2, 2112, 2113, 7,
117, 2, 2, 2113, 2114, 7, 106, 2, 2, 2114, 2115, 7, 113, 2, 2, 2115, 2116,
7, 116, 2, 2, 2116, 2117, 7, 118, 2, 2, 2117, 316, 3, 2, 2, 2, 2118, 2119,
7, 117, 2, 2, 2119, 2120, 7, 105, 2, 2, 2120, 2121, 7, 103, 2, 2, 2121,
2122, 7, 118, 2, 2, 2122, 318, 3, 2, 2, 2, 2123, 2124, 7, 117, 2, 2, 2124,
2125, 7, 105, 2, 2, 2125, 2126, 7, 103, 2, 2, 2126, 2127, 7, 118, 2, 2,
2127, 2128, 7, 47, 2, 2, 2128, 2129, 7, 121, 2, 2, 2129, 2130, 7, 107,
2, 2, 2130, 2131, 7, 102, 2, 2, 2131, 2132, 7, 103, 2, 2, 2132, 320, 3,
2, 2, 2, 2133, 2134, 7, 117, 2, 2, 2134, 2135, 7, 105, 2, 2, 2135, 2136,
7, 103, 2, 2, 2136, 2137, 7, 118, 2, 2, 2137, 2138, 7, 47, 2, 2, 2138,
2139, 7, 113, 2, 2, 2139, 2140, 7, 100, 2, 2, 2140, 2141, 7, 108, 2, 2,
2141, 2142, 7, 103, 2, 2, 2142, 2143, 7, 101, 2, 2, 2143, 2144, 7, 118,
2, 2, 2144, 322, 3, 2, 2, 2, 2145, 2146, 7, 117, 2, 2, 2146, 2147, 7, 105,
2, 2, 2147, 2148, 7, 103, 2, 2, 2148, 2149, 7, 118, 2, 2, 2149, 2150, 7,
47, 2, 2, 2150, 2151, 7, 100, 2, 2, 2151, 2152, 7, 113, 2, 2, 2152, 2153,
7, 113, 2, 2, 2153, 2154, 7, 110, 2, 2, 2154, 2155, 7, 103, 2, 2, 2155,
2156, 7, 99, 2, 2, 2156, 2157, 7, 112, 2, 2, 2157, 324, 3, 2, 2, 2, 2158,
2159, 7, 117, 2, 2, 2159, 2160, 7, 105, 2, 2, 2160, 2161, 7, 103, 2, 2,
2161, 2162, 7, 118, 2, 2, 2162, 2163, 7, 47, 2, 2, 2163, 2164, 7, 100,
2, 2, 2164, 2165, 7, 123, 2, 2, 2165, 2166, 7, 118, 2, 2, 2166, 2167, 7,
103, 2, 2, 2167, 326, 3, 2, 2, 2, 2168, 2169, 7, 117, 2, 2, 2169, 2170,
7, 105, 2, 2, 2170, 2171, 7, 103, 2, 2, 2171, 2172, 7, 118, 2, 2, 2172,
2173, 7, 47, 2, 2, 2173, 2174, 7, 101, 2, 2, 2174, 2175, 7, 106, 2, 2,
2175, 2176, 7, 99, 2, 2, 2176, 2177, 7, 116, 2, 2, 2177, 328, 3, 2, 2,
2, 2178, 2179, 7, 117, 2, 2, 2179, 2180, 7, 105, 2, 2, 2180, 2181, 7, 103,
2, 2, 2181, 2182, 7, 118, 2, 2, 2182, 2183, 7, 47, 2, 2, 2183, 2184, 7,
117, 2, 2, 2184, 2185, 7, 106, 2, 2, 2185, 2186, 7, 113, 2, 2, 2186, 2187,
7, 116, 2, 2, 2187, 2188, 7, 118, 2, 2, 2188, 330, 3, 2, 2, 2, 2189, 2190,
7, 117, 2, 2, 2190, 2191, 7, 114, 2, 2, 2191, 2192, 7, 119, 2, 2, 2192,
2193, 7, 118, 2, 2, 2193, 332, 3, 2, 2, 2, 2194, 2195, 7, 117, 2, 2, 2195,
2196, 7, 114, 2, 2, 2196, 2197, 7, 119, 2, 2, 2197, 2198, 7, 118, 2, 2,
2198, 2199, 7, 47, 2, 2, 2199, 2200, 7, 121, 2, 2, 2200, 2201, 7, 107,
2, 2, 2201, 2202, 7, 102, 2, 2, 2202, 2203, 7, 103, 2, 2, 2203, 334, 3,
2, 2, 2, 2204, 2205, 7, 117, 2, 2, 2205, 2206, 7, 114, 2, 2, 2206, 2207,
7, 119, 2, 2, 2207, 2208, 7, 118, 2, 2, 2208, 2209, 7, 47, 2, 2, 2209,
2210, 7, 113, 2, 2, 2210, 2211, 7, 100, 2, 2, 2211, 2212, 7, 108, 2, 2,
2212, 2213, 7, 103, 2, 2, 2213, 2214, 7, 101, 2, 2, 2214, 2215, 7, 118,
2, 2, 2215, 336, 3, 2, 2, 2, 2216, 2217, 7, 117, 2, 2, 2217, 2218, 7, 114,
2, 2, 2218, 2219, 7, 119, 2, 2, 2219, 2220, 7, 118, 2, 2, 2220, 2221, 7,
47, 2, 2, 2221, 2222, 7, 100, 2, 2, 2222, 2223, 7, 113, 2, 2, 2223, 2224,
7, 113, 2, 2, 2224, 2225, 7, 110, 2, 2, 2225, 2226, 7, 103, 2, 2, 2226,
2227, 7, 99, 2, 2, 2227, 2228, 7, 112, 2, 2, 2228, 338, 3, 2, 2, 2, 2229,
2230, 7, 117, 2, 2, 2230, 2231, 7, 114, 2, 2, 2231, 2232, 7, 119, 2, 2,
2232, 2233, 7, 118, 2, 2, 2233, 2234, 7, 47, 2, 2, 2234, 2235, 7, 100,
2, 2, 2235, 2236, 7, 123, 2, 2, 2236, 2237, 7, 118, 2, 2, 2237, 2238, 7,
103, 2, 2, 2238, 340, 3, 2, 2, 2, 2239, 2240, 7, 117, 2, 2, 2240, 2241,
7, 114, 2, 2, 2241, 2242, 7, 119, 2, 2, 2242, 2243, 7, 118, 2, 2, 2243,
2244, 7, 47, 2, 2, 2244, 2245, 7, 101, 2, 2, 2245, 2246, 7, 106, 2, 2,
2246, 2247, 7, 99, 2, 2, 2247, 2248, 7, 116, 2, 2, 2248, 342, 3, 2, 2,
2, 2249, 2250, 7, 117, 2, 2, 2250, 2251, 7, 114, 2, 2, 2251, 2252, 7, 119,
2, 2, 2252, 2253, 7, 118, 2, 2, 2253, 2254, 7, 47, 2, 2, 2254, 2255, 7,
117, 2, 2, 2255, 2256, 7, 106, 2, 2, 2256, 2257, 7, 113, 2, 2, 2257, 2258,
7, 116, 2, 2, 2258, 2259, 7, 118, 2, 2, 2259, 344, 3, 2, 2, 2, 2260, 2261,
7, 107, 2, 2, 2261, 2262, 7, 112, 2, 2, 2262, 2263, 7, 120, 2, 2, 2263,
2264, 7, 113, 2, 2, 2264, 2265, 7, 109, 2, 2, 2265, 2266, 7, 103, 2, 2,
2266, 2267, 7, 47, 2, 2, 2267, 2268, 7, 120, 2, 2, 2268, 2269, 7, 107,
2, 2, 2269, 2270, 7, 116, 2, 2, 2270, 2271, 7, 118, 2, 2, 2271, 2272, 7,
119, 2, 2, 2272, 2273, 7, 99, 2, 2, 2273, 2274, 7, 110, 2, 2, 2274, 346,
3, 2, 2, 2, 2275, 2276, 7, 107, 2, 2, 2276, 2277, 7, 112, 2, 2, 2277, 2278,
7, 120, 2, 2, 2278, 2279, 7, 113, 2, 2, 2279, 2280, 7, 109, 2, 2, 2280,
2281, 7, 103, 2, 2, 2281, 2282, 7, 47, 2, 2, 2282, 2283, 7, 117, 2, 2,
2283, 2284, 7, 119, 2, 2, 2284, 2285, 7, 114, 2, 2, 2285, 2286, 7, 103,
2, 2, 2286, 2287, 7, 116, 2, 2, 2287, 348, 3, 2, 2, 2, 2288, 2289, 7, 107,
2, 2, 2289, 2290, 7, 112, 2, 2, 2290, 2291, 7, 120, 2, 2, 2291, 2292, 7,
113, 2, 2, 2292, 2293, 7, 109, 2, 2, 2293, 2294, 7, 103, 2, 2, 2294, 2295,
7, 47, 2, 2, 2295, 2296, 7, 102, 2, 2, 2296, 2297, 7, 107, 2, 2, 2297,
2298, 7, 116, 2, 2, 2298, 2299, 7, 103, 2, 2, 2299, 2300, 7, 101, 2, 2,
2300, 2301, 7, 118, 2, 2, 2301, 350, 3, 2, 2, 2, 2302, 2303, 7, 107, 2,
2, 2303, 2304, 7, 112, 2, 2, 2304, 2305, 7, 120, 2, 2, 2305, 2306, 7, 113,
2, 2, 2306, 2307, 7, 109, 2, 2, 2307, 2308, 7, 103, 2, 2, 2308, 2309, 7,
47, 2, 2, 2309, 2310, 7, 117, 2, 2, 2310, 2311, 7, 118, 2, 2, 2311, 2312,
7, 99, 2, 2, 2312, 2313, 7, 118, 2, 2, 2313, 2314, 7, 107, 2, 2, 2314,
2315, 7, 101, 2, 2, 2315, 352, 3, 2, 2, 2, 2316, 2317, 7, 107, 2, 2, 2317,
2318, 7, 112, 2, 2, 2318, 2319, 7, 120, 2, 2, 2319, 2320, 7, 113, 2, 2,
2320, 2321, 7, 109, 2, 2, 2321, 2322, 7, 103, 2, 2, 2322, 2323, 7, 47,
2, 2, 2323, 2324, 7, 107, 2, 2, 2324, 2325, 7, 112, 2, 2, 2325, 2326, 7,
118, 2, 2, 2326, 2327, 7, 103, 2, 2, 2327, 2328, 7, 116, 2, 2, 2328, 2329,
7, 104, 2, 2, 2329, 2330, 7, 99, 2, 2, 2330, 2331, 7, 101, 2, 2, 2331,
2332, 7, 103, 2, 2, 2332, 354, 3, 2, 2, 2, 2333, 2334, 7, 107, 2, 2, 2334,
2335, 7, 112, 2, 2, 2335, 2336, 7, 120, 2, 2, 2336, 2337, 7, 113, 2, 2,
2337, 2338, 7, 109, 2, 2, 2338, 2339, 7, 103, 2, 2, 2339, 2340, 7, 47,
2, 2, 2340, 2341, 7, 120, 2, 2, 2341, 2342, 7, 107, 2, 2, 2342, 2343, 7,
116, 2, 2, 2343, 2344, 7, 118, 2, 2, 2344, 2345, 7, 119, 2, 2, 2345, 2346,
7, 99, 2, 2, 2346, 2347, 7, 110, 2, 2, 2347, 2348, 7, 49, 2, 2, 2348, 2349,
7, 116, 2, 2, 2349, 2350, 7, 99, 2, 2, 2350, 2351, 7, 112, 2, 2, 2351,
2352, 7, 105, 2, 2, 2352, 2353, 7, 103, 2, 2, 2353, 356, 3, 2, 2, 2, 2354,
2355, 7, 107, 2, 2, 2355, 2356, 7, 112, 2, 2, 2356, 2357, 7, 120, 2, 2,
2357, 2358, 7, 113, 2, 2, 2358, 2359, 7, 109, 2, 2, 2359, 2360, 7, 103,
2, 2, 2360, 2361, 7, 47, 2, 2, 2361, 2362, 7, 117, 2, 2, 2362, 2363, 7,
119, 2, 2, 2363, 2364, 7, 114, 2, 2, 2364, 2365, 7, 103, 2, 2, 2365, 2366,
7, 116, 2, 2, 2366, 2367, 7, 49, 2, 2, 2367, 2368, 7, 116, 2, 2, 2368,
2369, 7, 99, 2, 2, 2369, 2370, 7, 112, 2, 2, 2370, 2371, 7, 105, 2, 2,
2371, 2372, 7, 103, 2, 2, 2372, 358, 3, 2, 2, 2, 2373, 2374, 7, 107, 2,
2, 2374, 2375, 7, 112, 2, 2, 2375, 2376, 7, 120, 2, 2, 2376, 2377, 7, 113,
2, 2, 2377, 2378, 7, 109, 2, 2, 2378, 2379, 7, 103, 2, 2, 2379, 2380, 7,
47, 2, 2, 2380, 2381, 7, 102, 2, 2, 2381, 2382, 7, 107, 2, 2, 2382, 2383,
7, 116, 2, 2, 2383, 2384, 7, 103, 2, 2, 2384, 2385, 7, 101, 2, 2, 2385,
2386, 7, 118, 2, 2, 2386, 2387, 7, 49, 2, 2, 2387, 2388, 7, 116, 2, 2,
2388, 2389, 7, 99, 2, 2, 2389, 2390, 7, 112, 2, 2, 2390, 2391, 7, 105,
2, 2, 2391, 2392, 7, 103, 2, 2, 2392, 360, 3, 2, 2, 2, 2393, 2394, 7, 107,
2, 2, 2394, 2395, 7, 112, 2, 2, 2395, 2396, 7, 120, 2, 2, 2396, 2397, 7,
113, 2, 2, 2397, 2398, 7, 109, 2, 2, 2398, 2399, 7, 103, 2, 2, 2399, 2400,
7, 47, 2, 2, 2400, 2401, 7, 117, 2, 2, 2401, 2402, 7, 118, 2, 2, 2402,
2403, 7, 99, 2, 2, 2403, 2404, 7, 118, 2, 2, 2404, 2405, 7, 107, 2, 2,
2405, 2406, 7, 101, 2, 2, 2406, 2407, 7, 49, 2, 2, 2407, 2408, 7, 116,
2, 2, 2408, 2409, 7, 99, 2, 2, 2409, 2410, 7, 112, 2, 2, 2410, 2411, 7,
105, 2, 2, 2411, 2412, 7, 103, 2, 2, 2412, 362, 3, 2, 2, 2, 2413, 2414,
7, 107, 2, 2, 2414, 2415, 7, 112, 2, 2, 2415, 2416, 7, 120, 2, 2, 2416,
2417, 7, 113, 2, 2, 2417, 2418, 7, 109, 2, 2, 2418, 2419, 7, 103, 2, 2,
2419, 2420, 7, 47, 2, 2, 2420, 2421, 7, 107, 2, 2, 2421, 2422, 7, 112,
2, 2, 2422, 2423, 7, 118, 2, 2, 2423, 2424, 7, 103, 2, 2, 2424, 2425, 7,
116, 2, 2, 2425, 2426, 7, 104, 2, 2, 2426, 2427, 7, 99, 2, 2, 2427, 2428,
7, 101, 2, 2, 2428, 2429, 7, 103, 2, 2, 2429, 2430, 7, 49, 2, 2, 2430,
2431, 7, 116, 2, 2, 2431, 2432, 7, 99, 2, 2, 2432, 2433, 7, 112, 2, 2,
2433, 2434, 7, 105, 2, 2, 2434, 2435, 7, 103, 2, 2, 2435, 364, 3, 2, 2,
2, 2436, 2437, 7, 112, 2, 2, 2437, 2438, 7, 103, 2, 2, 2438, 2439, 7, 105,
2, 2, 2439, 2440, 7, 47, 2, 2, 2440, 2441, 7, 107, 2, 2, 2441, 2442, 7,
112, 2, 2, 2442, 2443, 7, 118, 2, 2, 2443, 366, 3, 2, 2, 2, 2444, 2445,
7, 112, 2, 2, 2445, 2446, 7, 113, 2, 2, 2446, 2447, 7, 118, 2, 2, 2447,
2448, 7, 47, 2, 2, 2448, 2449, 7, 107, 2, 2, 2449, 2450, 7, 112, 2, 2,
2450, 2451, 7, 118, 2, 2, 2451, 368, 3, 2, 2, 2, 2452, 2453, 7, 112, 2,
2, 2453, 2454, 7, 103, 2, 2, 2454, 2455, 7, 105, 2, 2, 2455, 2456, 7, 47,
2, 2, 2456, 2457, 7, 110, 2, 2, 2457, 2458, 7, 113, 2, 2, 2458, 2459, 7,
112, 2, 2, 2459, 2460, 7, 105, 2, 2, 2460, 370, 3, 2, 2, 2, 2461, 2462,
7, 112, 2, 2, 2462, 2463, 7, 113, 2, 2, 2463, 2464, 7, 118, 2, 2, 2464,
2465, 7, 47, 2, 2, 2465, 2466, 7, 110, 2, 2, 2466, 2467, 7, 113, 2, 2,
2467, 2468, 7, 112, 2, 2, 2468, 2469, 7, 105, 2, 2, 2469, 372, 3, 2, 2,
2, 2470, 2471, 7, 112, 2, 2, 2471, 2472, 7, 103, 2, 2, 2472, 2473, 7, 105,
2, 2, 2473, 2474, 7, 47, 2, 2, 2474, 2475, 7, 104, 2, 2, 2475, 2476, 7,
110, 2, 2, 2476, 2477, 7, 113, 2, 2, 2477, 2478, 7, 99, 2, 2, 2478, 2479,
7, 118, 2, 2, 2479, 374, 3, 2, 2, 2, 2480, 2481, 7, 112, 2, 2, 2481, 2482,
7, 103, 2, 2, 2482, 2483, 7, 105, 2, 2, 2483, 2484, 7, 47, 2, 2, 2484,
2485, 7, 102, 2, 2, 2485, 2486, 7, 113, 2, 2, 2486, 2487, 7, 119, 2, 2,
2487, 2488, 7, 100, 2, 2, 2488, 2489, 7, 110, 2, 2, 2489, 2490, 7, 103,
2, 2, 2490, 376, 3, 2, 2, 2, 2491, 2492, 7, 107, 2, 2, 2492, 2493, 7, 112,
2, 2, 2493, 2494, 7, 118, 2, 2, 2494, 2495, 7, 47, 2, 2, 2495, 2496, 7,
118, 2, 2, 2496, 2497, 7, 113, 2, 2, 2497, 2498, 7, 47, 2, 2, 2498, 2499,
7, 110, 2, 2, 2499, 2500, 7, 113, 2, 2, 2500, 2501, 7, 112, 2, 2, 2501,
2502, 7, 105, 2, 2, 2502, 378, 3, 2, 2, 2, 2503, 2504, 7, 107, 2, 2, 2504,
2505, 7, 112, 2, 2, 2505, 2506, 7, 118, 2, 2, 2506, 2507, 7, 47, 2, 2,
2507, 2508, 7, 118, 2, 2, 2508, 2509, 7, 113, 2, 2, 2509, 2510, 7, 47,
2, 2, 2510, 2511, 7, 104, 2, 2, 2511, 2512, 7, 110, 2, 2, 2512, 2513, 7,
113, 2, 2, 2513, 2514, 7, 99, 2, 2, 2514, 2515, 7, 118, 2, 2, 2515, 380,
3, 2, 2, 2, 2516, 2517, 7, 107, 2, 2, 2517, 2518, 7, 112, 2, 2, 2518, 2519,
7, 118, 2, 2, 2519, 2520, 7, 47, 2, 2, 2520, 2521, 7, 118, 2, 2, 2521,
2522, 7, 113, 2, 2, 2522, 2523, 7, 47, 2, 2, 2523, 2524, 7, 102, 2, 2,
2524, 2525, 7, 113, 2, 2, 2525, 2526, 7, 119, 2, 2, 2526, 2527, 7, 100,
2, 2, 2527, 2528, 7, 110, 2, 2, 2528, 2529, 7, 103, 2, 2, 2529, 382, 3,
2, 2, 2, 2530, 2531, 7, 110, 2, 2, 2531, 2532, 7, 113, 2, 2, 2532, 2533,
7, 112, 2, 2, 2533, 2534, 7, 105, 2, 2, 2534, 2535, 7, 47, 2, 2, 2535,
2536, 7, 118, 2, 2, 2536, 2537, 7, 113, 2, 2, 2537, 2538, 7, 47, 2, 2,
2538, 2539, 7, 107, 2, 2, 2539, 2540, 7, 112, 2, 2, 2540, 2541, 7, 118,
2, 2, 2541, 384, 3, 2, 2, 2, 2542, 2543, 7, 110, 2, 2, 2543, 2544, 7, 113,
2, 2, 2544, 2545, 7, 112, 2, 2, 2545, 2546, 7, 105, 2, 2, 2546, 2547, 7,
47, 2, 2, 2547, 2548, 7, 118, 2, 2, 2548, 2549, 7, 113, 2, 2, 2549, 2550,
7, 47, 2, 2, 2550, 2551, 7, 104, 2, 2, 2551, 2552, 7, 110, 2, 2, 2552,
2553, 7, 113, 2, 2, 2553, 2554, 7, 99, 2, 2, 2554, 2555, 7, 118, 2, 2,
2555, 386, 3, 2, 2, 2, 2556, 2557, 7, 110, 2, 2, 2557, 2558, 7, 113, 2,
2, 2558, 2559, 7, 112, 2, 2, 2559, 2560, 7, 105, 2, 2, 2560, 2561, 7, 47,
2, 2, 2561, 2562, 7, 118, 2, 2, 2562, 2563, 7, 113, 2, 2, 2563, 2564, 7,
47, 2, 2, 2564, 2565, 7, 102, 2, 2, 2565, 2566, 7, 113, 2, 2, 2566, 2567,
7, 119, 2, 2, 2567, 2568, 7, 100, 2, 2, 2568, 2569, 7, 110, 2, 2, 2569,
2570, 7, 103, 2, 2, 2570, 388, 3, 2, 2, 2, 2571, 2572, 7, 104, 2, 2, 2572,
2573, 7, 110, 2, 2, 2573, 2574, 7, 113, 2, 2, 2574, 2575, 7, 99, 2, 2,
2575, 2576, 7, 118, 2, 2, 2576, 2577, 7, 47, 2, 2, 2577, 2578, 7, 118,
2, 2, 2578, 2579, 7, 113, 2, 2, 2579, 2580, 7, 47, 2, 2, 2580, 2581, 7,
107, 2, 2, 2581, 2582, 7, 112, 2, 2, 2582, 2583, 7, 118, 2, 2, 2583, 390,
3, 2, 2, 2, 2584, 2585, 7, 104, 2, 2, 2585, 2586, 7, 110, 2, 2, 2586, 2587,
7, 113, 2, 2, 2587, 2588, 7, 99, 2, 2, 2588, 2589, 7, 118, 2, 2, 2589,
2590, 7, 47, 2, 2, 2590, 2591, 7, 118, 2, 2, 2591, 2592, 7, 113, 2, 2,
2592, 2593, 7, 47, 2, 2, 2593, 2594, 7, 110, 2, 2, 2594, 2595, 7, 113,
2, 2, 2595, 2596, 7, 112, 2, 2, 2596, 2597, 7, 105, 2, 2, 2597, 392, 3,
2, 2, 2, 2598, 2599, 7, 104, 2, 2, 2599, 2600, 7, 110, 2, 2, 2600, 2601,
7, 113, 2, 2, 2601, 2602, 7, 99, 2, 2, 2602, 2603, 7, 118, 2, 2, 2603,
2604, 7, 47, 2, 2, 2604, 2605, 7, 118, 2, 2, 2605, 2606, 7, 113, 2, 2,
2606, 2607, 7, 47, 2, 2, 2607, 2608, 7, 102, 2, 2, 2608, 2609, 7, 113,
2, 2, 2609, 2610, 7, 119, 2, 2, 2610, 2611, 7, 100, 2, 2, 2611, 2612, 7,
110, 2, 2, 2612, 2613, 7, 103, 2, 2, 2613, 394, 3, 2, 2, 2, 2614, 2615,
7, 102, 2, 2, 2615, 2616, 7, 113, 2, 2, 2616, 2617, 7, 119, 2, 2, 2617,
2618, 7, 100, 2, 2, 2618, 2619, 7, 110, 2, 2, 2619, 2620, 7, 103, 2, 2,
2620, 2621, 7, 47, 2, 2, 2621, 2622, 7, 118, 2, 2, 2622, 2623, 7, 113,
2, 2, 2623, 2624, 7, 47, 2, 2, 2624, 2625, 7, 107, 2, 2, 2625, 2626, 7,
112, 2, 2, 2626, 2627, 7, 118, 2, 2, 2627, 396, 3, 2, 2, 2, 2628, 2629,
7, 102, 2, 2, 2629, 2630, 7, 113, 2, 2, 2630, 2631, 7, 119, 2, 2, 2631,
2632, 7, 100, 2, 2, 2632, 2633, 7, 110, 2, 2, 2633, 2634, 7, 103, 2, 2,
2634, 2635, 7, 47, 2, 2, 2635, 2636, 7, 118, 2, 2, 2636, 2637, 7, 113,
2, 2, 2637, 2638, 7, 47, 2, 2, 2638, 2639, 7, 110, 2, 2, 2639, 2640, 7,
113, 2, 2, 2640, 2641, 7, 112, 2, 2, 2641, 2642, 7, 105, 2, 2, 2642, 398,
3, 2, 2, 2, 2643, 2644, 7, 102, 2, 2, 2644, 2645, 7, 113, 2, 2, 2645, 2646,
7, 119, 2, 2, 2646, 2647, 7, 100, 2, 2, 2647, 2648, 7, 110, 2, 2, 2648,
2649, 7, 103, 2, 2, 2649, 2650, 7, 47, 2, 2, 2650, 2651, 7, 118, 2, 2,
2651, 2652, 7, 113, 2, 2, 2652, 2653, 7, 47, 2, 2, 2653, 2654, 7, 104,
2, 2, 2654, 2655, 7, 110, 2, 2, 2655, 2656, 7, 113, 2, 2, 2656, 2657, 7,
99, 2, 2, 2657, 2658, 7, 118, 2, 2, 2658, 400, 3, 2, 2, 2, 2659, 2660,
7, 107, 2, 2, 2660, 2661, 7, 112, 2, 2, 2661, 2662, 7, 118, 2, 2, 2662,
2663, 7, 47, 2, 2, 2663, 2664, 7, 118, 2, 2, 2664, 2665, 7, 113, 2, 2,
2665, 2666, 7, 47, 2, 2, 2666, 2667, 7, 100, 2, 2, 2667, 2668, 7, 123,
2, 2, 2668, 2669, 7, 118, 2, 2, 2669, 2670, 7, 103, 2, 2, 2670, 402, 3,
2, 2, 2, 2671, 2672, 7, 107, 2, 2, 2672, 2673, 7, 112, 2, 2, 2673, 2674,
7, 118, 2, 2, 2674, 2675, 7, 47, 2, 2, 2675, 2676, 7, 118, 2, 2, 2676,
2677, 7, 113, 2, 2, 2677, 2678, 7, 47, 2, 2, 2678, 2679, 7, 101, 2, 2,
2679, 2680, 7, 106, 2, 2, 2680, 2681, 7, 99, 2, 2, 2681, 2682, 7, 116,
2, 2, 2682, 404, 3, 2, 2, 2, 2683, 2684, 7, 107, 2, 2, 2684, 2685, 7, 112,
2, 2, 2685, 2686, 7, 118, 2, 2, 2686, 2687, 7, 47, 2, 2, 2687, 2688, 7,
118, 2, 2, 2688, 2689, 7, 113, 2, 2, 2689, 2690, 7, 47, 2, 2, 2690, 2691,
7, 117, 2, 2, 2691, 2692, 7, 106, 2, 2, 2692, 2693, 7, 113, 2, 2, 2693,
2694, 7, 116, 2, 2, 2694, 2695, 7, 118, 2, 2, 2695, 406, 3, 2, 2, 2, 2696,
2697, 7, 99, 2, 2, 2697, 2698, 7, 102, 2, 2, 2698, 2699, 7, 102, 2, 2,
2699, 2700, 7, 47, 2, 2, 2700, 2701, 7, 107, 2, 2, 2701, 2702, 7, 112,
2, 2, 2702, 2703, 7, 118, 2, 2, 2703, 408, 3, 2, 2, 2, 2704, 2705, 7, 117,
2, 2, 2705, 2706, 7, 119, 2, 2, 2706, 2707, 7, 100, 2, 2, 2707, 2708, 7,
47, 2, 2, 2708, 2709, 7, 107, 2, 2, 2709, 2710, 7, 112, 2, 2, 2710, 2711,
7, 118, 2, 2, 2711, 410, 3, 2, 2, 2, 2712, 2713, 7, 111, 2, 2, 2713, 2714,
7, 119, 2, 2, 2714, 2715, 7, 110, 2, 2, 2715, 2716, 7, 47, 2, 2, 2716,
2717, 7, 107, 2, 2, 2717, 2718, 7, 112, 2, 2, 2718, 2719, 7, 118, 2, 2,
2719, 412, 3, 2, 2, 2, 2720, 2721, 7, 102, 2, 2, 2721, 2722, 7, 107, 2,
2, 2722, 2723, 7, 120, 2, 2, 2723, 2724, 7, 47, 2, 2, 2724, 2725, 7, 107,
2, 2, 2725, 2726, 7, 112, 2, 2, 2726, 2727, 7, 118, 2, 2, 2727, 414, 3,
2, 2, 2, 2728, 2729, 7, 116, 2, 2, 2729, 2730, 7, 103, 2, 2, 2730, 2731,
7, 111, 2, 2, 2731, 2732, 7, 47, 2, 2, 2732, 2733, 7, 107, 2, 2, 2733,
2734, 7, 112, 2, 2, 2734, 2735, 7, 118, 2, 2, 2735, 416, 3, 2, 2, 2, 2736,
2737, 7, 99, 2, 2, 2737, 2738, 7, 112, 2, 2, 2738, 2739, 7, 102, 2, 2,
2739, 2740, 7, 47, 2, 2, 2740, 2741, 7, 107, 2, 2, 2741, 2742, 7, 112,
2, 2, 2742, 2743, 7, 118, 2, 2, 2743, 418, 3, 2, 2, 2, 2744, 2745, 7, 113,
2, 2, 2745, 2746, 7, 116, 2, 2, 2746, 2747, 7, 47, 2, 2, 2747, 2748, 7,
107, 2, 2, 2748, 2749, 7, 112, 2, 2, 2749, 2750, 7, 118, 2, 2, 2750, 420,
3, 2, 2, 2, 2751, 2752, 7, 122, 2, 2, 2752, 2753, 7, 113, 2, 2, 2753, 2754,
7, 116, 2, 2, 2754, 2755, 7, 47, 2, 2, 2755, 2756, 7, 107, 2, 2, 2756,
2757, 7, 112, 2, 2, 2757, 2758, 7, 118, 2, 2, 2758, 422, 3, 2, 2, 2, 2759,
2760, 7, 117, 2, 2, 2760, 2761, 7, 106, 2, 2, 2761, 2762, 7, 110, 2, 2,
2762, 2763, 7, 47, 2, 2, 2763, 2764, 7, 107, 2, 2, 2764, 2765, 7, 112,
2, 2, 2765, 2766, 7, 118, 2, 2, 2766, 424, 3, 2, 2, 2, 2767, 2768, 7, 117,
2, 2, 2768, 2769, 7, 106, 2, 2, 2769, 2770, 7, 116, 2, 2, 2770, 2771, 7,
47, 2, 2, 2771, 2772, 7, 107, 2, 2, 2772, 2773, 7, 112, 2, 2, 2773, 2774,
7, 118, 2, 2, 2774, 426, 3, 2, 2, 2, 2775, 2776, 7, 119, 2, 2, 2776, 2777,
7, 117, 2, 2, 2777, 2778, 7, 106, 2, 2, 2778, 2779, 7, 116, 2, 2, 2779,
2780, 7, 47, 2, 2, 2780, 2781, 7, 107, 2, 2, 2781, 2782, 7, 112, 2, 2,
2782, 2783, 7, 118, 2, 2, 2783, 428, 3, 2, 2, 2, 2784, 2785, 7, 99, 2,
2, 2785, 2786, 7, 102, 2, 2, 2786, 2787, 7, 102, 2, 2, 2787, 2788, 7, 47,
2, 2, 2788, 2789, 7, 110, 2, 2, 2789, 2790, 7, 113, 2, 2, 2790, 2791, 7,
112, 2, 2, 2791, 2792, 7, 105, 2, 2, 2792, 430, 3, 2, 2, 2, 2793, 2794,
7, 117, 2, 2, 2794, 2795, 7, 119, 2, 2, 2795, 2796, 7, 100, 2, 2, 2796,
2797, 7, 47, 2, 2, 2797, 2798, 7, 110, 2, 2, 2798, 2799, 7, 113, 2, 2,
2799, 2800, 7, 112, 2, 2, 2800, 2801, 7, 105, 2, 2, 2801, 432, 3, 2, 2,
2, 2802, 2803, 7, 111, 2, 2, 2803, 2804, 7, 119, 2, 2, 2804, 2805, 7, 110,
2, 2, 2805, 2806, 7, 47, 2, 2, 2806, 2807, 7, 110, 2, 2, 2807, 2808, 7,
113, 2, 2, 2808, 2809, 7, 112, 2, 2, 2809, 2810, 7, 105, 2, 2, 2810, 434,
3, 2, 2, 2, 2811, 2812, 7, 102, 2, 2, 2812, 2813, 7, 107, 2, 2, 2813, 2814,
7, 120, 2, 2, 2814, 2815, 7, 47, 2, 2, 2815, 2816, 7, 110, 2, 2, 2816,
2817, 7, 113, 2, 2, 2817, 2818, 7, 112, 2, 2, 2818, 2819, 7, 105, 2, 2,
2819, 436, 3, 2, 2, 2, 2820, 2821, 7, 116, 2, 2, 2821, 2822, 7, 103, 2,
2, 2822, 2823, 7, 111, 2, 2, 2823, 2824, 7, 47, 2, 2, 2824, 2825, 7, 110,
2, 2, 2825, 2826, 7, 113, 2, 2, 2826, 2827, 7, 112, 2, 2, 2827, 2828, 7,
105, 2, 2, 2828, 438, 3, 2, 2, 2, 2829, 2830, 7, 99, 2, 2, 2830, 2831,
7, 112, 2, 2, 2831, 2832, 7, 102, 2, 2, 2832, 2833, 7, 47, 2, 2, 2833,
2834, 7, 110, 2, 2, 2834, 2835, 7, 113, 2, 2, 2835, 2836, 7, 112, 2, 2,
2836, 2837, 7, 105, 2, 2, 2837, 440, 3, 2, 2, 2, 2838, 2839, 7, 113, 2,
2, 2839, 2840, 7, 116, 2, 2, 2840, 2841, 7, 47, 2, 2, 2841, 2842, 7, 110,
2, 2, 2842, 2843, 7, 113, 2, 2, 2843, 2844, 7, 112, 2, 2, 2844, 2845, 7,
105, 2, 2, 2845, 442, 3, 2, 2, 2, 2846, 2847, 7, 122, 2, 2, 2847, 2848,
7, 113, 2, 2, 2848, 2849, 7, 116, 2, 2, 2849, 2850, 7, 47, 2, 2, 2850,
2851, 7, 110, 2, 2, 2851, 2852, 7, 113, 2, 2, 2852, 2853, 7, 112, 2, 2,
2853, 2854, 7, 105, 2, 2, 2854, 444, 3, 2, 2, 2, 2855, 2856, 7, 117, 2,
2, 2856, 2857, 7, 106, 2, 2, 2857, 2858, 7, 110, 2, 2, 2858, 2859, 7, 47,
2, 2, 2859, 2860, 7, 110, 2, 2, 2860, 2861, 7, 113, 2, 2, 2861, 2862, 7,
112, 2, 2, 2862, 2863, 7, 105, 2, 2, 2863, 446, 3, 2, 2, 2, 2864, 2865,
7, 117, 2, 2, 2865, 2866, 7, 106, 2, 2, 2866, 2867, 7, 116, 2, 2, 2867,
2868, 7, 47, 2, 2, 2868, 2869, 7, 110, 2, 2, 2869, 2870, 7, 113, 2, 2,
2870, 2871, 7, 112, 2, 2, 2871, 2872, 7, 105, 2, 2, 2872, 448, 3, 2, 2,
2, 2873, 2874, 7, 119, 2, 2, 2874, 2875, 7, 117, 2, 2, 2875, 2876, 7, 106,
2, 2, 2876, 2877, 7, 116, 2, 2, 2877, 2878, 7, 47, 2, 2, 2878, 2879, 7,
110, 2, 2, 2879, 2880, 7, 113, 2, 2, 2880, 2881, 7, 112, 2, 2, 2881, 2882,
7, 105, 2, 2, 2882, 450, 3, 2, 2, 2, 2883, 2884, 7, 99, 2, 2, 2884, 2885,
7, 102, 2, 2, 2885, 2886, 7, 102, 2, 2, 2886, 2887, 7, 47, 2, 2, 2887,
2888, 7, 104, 2, 2, 2888, 2889, 7, 110, 2, 2, 2889, 2890, 7, 113, 2, 2,
2890, 2891, 7, 99, 2, 2, 2891, 2892, 7, 118, 2, 2, 2892, 452, 3, 2, 2,
2, 2893, 2894, 7, 117, 2, 2, 2894, 2895, 7, 119, 2, 2, 2895, 2896, 7, 100,
2, 2, 2896, 2897, 7, 47, 2, 2, 2897, 2898, 7, 104, 2, 2, 2898, 2899, 7,
110, 2, 2, 2899, 2900, 7, 113, 2, 2, 2900, 2901, 7, 99, 2, 2, 2901, 2902,
7, 118, 2, 2, 2902, 454, 3, 2, 2, 2, 2903, 2904, 7, 111, 2, 2, 2904, 2905,
7, 119, 2, 2, 2905, 2906, 7, 110, 2, 2, 2906, 2907, 7, 47, 2, 2, 2907,
2908, 7, 104, 2, 2, 2908, 2909, 7, 110, 2, 2, 2909, 2910, 7, 113, 2, 2,
2910, 2911, 7, 99, 2, 2, 2911, 2912, 7, 118, 2, 2, 2912, 456, 3, 2, 2,
2, 2913, 2914, 7, 102, 2, 2, 2914, 2915, 7, 107, 2, 2, 2915, 2916, 7, 120,
2, 2, 2916, 2917, 7, 47, 2, 2, 2917, 2918, 7, 104, 2, 2, 2918, 2919, 7,
110, 2, 2, 2919, 2920, 7, 113, 2, 2, 2920, 2921, 7, 99, 2, 2, 2921, 2922,
7, 118, 2, 2, 2922, 458, 3, 2, 2, 2, 2923, 2924, 7, 116, 2, 2, 2924, 2925,
7, 103, 2, 2, 2925, 2926, 7, 111, 2, 2, 2926, 2927, 7, 47, 2, 2, 2927,
2928, 7, 104, 2, 2, 2928, 2929, 7, 110, 2, 2, 2929, 2930, 7, 113, 2, 2,
2930, 2931, 7, 99, 2, 2, 2931, 2932, 7, 118, 2, 2, 2932, 460, 3, 2, 2,
2, 2933, 2934, 7, 99, 2, 2, 2934, 2935, 7, 102, 2, 2, 2935, 2936, 7, 102,
2, 2, 2936, 2937, 7, 47, 2, 2, 2937, 2938, 7, 102, 2, 2, 2938, 2939, 7,
113, 2, 2, 2939, 2940, 7, 119, 2, 2, 2940, 2941, 7, 100, 2, 2, 2941, 2942,
7, 110, 2, 2, 2942, 2943, 7, 103, 2, 2, 2943, 462, 3, 2, 2, 2, 2944, 2945,
7, 117, 2, 2, 2945, 2946, 7, 119, 2, 2, 2946, 2947, 7, 100, 2, 2, 2947,
2948, 7, 47, 2, 2, 2948, 2949, 7, 102, 2, 2, 2949, 2950, 7, 113, 2, 2,
2950, 2951, 7, 119, 2, 2, 2951, 2952, 7, 100, 2, 2, 2952, 2953, 7, 110,
2, 2, 2953, 2954, 7, 103, 2, 2, 2954, 464, 3, 2, 2, 2, 2955, 2956, 7, 111,
2, 2, 2956, 2957, 7, 119, 2, 2, 2957, 2958, 7, 110, 2, 2, 2958, 2959, 7,
47, 2, 2, 2959, 2960, 7, 102, 2, 2, 2960, 2961, 7, 113, 2, 2, 2961, 2962,
7, 119, 2, 2, 2962, 2963, 7, 100, 2, 2, 2963, 2964, 7, 110, 2, 2, 2964,
2965, 7, 103, 2, 2, 2965, 466, 3, 2, 2, 2, 2966, 2967, 7, 102, 2, 2, 2967,
2968, 7, 107, 2, 2, 2968, 2969, 7, 120, 2, 2, 2969, 2970, 7, 47, 2, 2,
2970, 2971, 7, 102, 2, 2, 2971, 2972, 7, 113, 2, 2, 2972, 2973, 7, 119,
2, 2, 2973, 2974, 7, 100, 2, 2, 2974, 2975, 7, 110, 2, 2, 2975, 2976, 7,
103, 2, 2, 2976, 468, 3, 2, 2, 2, 2977, 2978, 7, 116, 2, 2, 2978, 2979,
7, 103, 2, 2, 2979, 2980, 7, 111, 2, 2, 2980, 2981, 7, 47, 2, 2, 2981,
2982, 7, 102, 2, 2, 2982, 2983, 7, 113, 2, 2, 2983, 2984, 7, 119, 2, 2,
2984, 2985, 7, 100, 2, 2, 2985, 2986, 7, 110, 2, 2, 2986, 2987, 7, 103,
2, 2, 2987, 470, 3, 2, 2, 2, 2988, 2989, 7, 99, 2, 2, 2989, 2990, 7, 102,
2, 2, 2990, 2991, 7, 102, 2, 2, 2991, 2992, 7, 47, 2, 2, 2992, 2993, 7,
107, 2, 2, 2993, 2994, 7, 112, 2, 2, 2994, 2995, 7, 118, 2, 2, 2995, 2996,
7, 49, 2, 2, 2996, 2997, 7, 52, 2, 2, 2997, 2998, 7, 99, 2, 2, 2998, 2999,
7, 102, 2, 2, 2999, 3000, 7, 102, 2, 2, 3000, 3001, 7, 116, 2, 2, 3001,
472, 3, 2, 2, 2, 3002, 3003, 7, 117, 2, 2, 3003, 3004, 7, 119, 2, 2, 3004,
3005, 7, 100, 2, 2, 3005, 3006, 7, 47, 2, 2, 3006, 3007, 7, 107, 2, 2,
3007, 3008, 7, 112, 2, 2, 3008, 3009, 7, 118, 2, 2, 3009, 3010, 7, 49,
2, 2, 3010, 3011, 7, 52, 2, 2, 3011, 3012, 7, 99, 2, 2, 3012, 3013, 7,
102, 2, 2, 3013, 3014, 7, 102, 2, 2, 3014, 3015, 7, 116, 2, 2, 3015, 474,
3, 2, 2, 2, 3016, 3017, 7, 111, 2, 2, 3017, 3018, 7, 119, 2, 2, 3018, 3019,
7, 110, 2, 2, 3019, 3020, 7, 47, 2, 2, 3020, 3021, 7, 107, 2, 2, 3021,
3022, 7, 112, 2, 2, 3022, 3023, 7, 118, 2, 2, 3023, 3024, 7, 49, 2, 2,
3024, 3025, 7, 52, 2, 2, 3025, 3026, 7, 99, 2, 2, 3026, 3027, 7, 102, 2,
2, 3027, 3028, 7, 102, 2, 2, 3028, 3029, 7, 116, 2, 2, 3029, 476, 3, 2,
2, 2, 3030, 3031, 7, 102, 2, 2, 3031, 3032, 7, 107, 2, 2, 3032, 3033, 7,
120, 2, 2, 3033, 3034, 7, 47, 2, 2, 3034, 3035, 7, 107, 2, 2, 3035, 3036,
7, 112, 2, 2, 3036, 3037, 7, 118, 2, 2, 3037, 3038, 7, 49, 2, 2, 3038,
3039, 7, 52, 2, 2, 3039, 3040, 7, 99, 2, 2, 3040, 3041, 7, 102, 2, 2, 3041,
3042, 7, 102, 2, 2, 3042, 3043, 7, 116, 2, 2, 3043, 478, 3, 2, 2, 2, 3044,
3045, 7, 116, 2, 2, 3045, 3046, 7, 103, 2, 2, 3046, 3047, 7, 111, 2, 2,
3047, 3048, 7, 47, 2, 2, 3048, 3049, 7, 107, 2, 2, 3049, 3050, 7, 112,
2, 2, 3050, 3051, 7, 118, 2, 2, 3051, 3052, 7, 49, 2, 2, 3052, 3053, 7,
52, 2, 2, 3053, 3054, 7, 99, 2, 2, 3054, 3055, 7, 102, 2, 2, 3055, 3056,
7, 102, 2, 2, 3056, 3057, 7, 116, 2, 2, 3057, 480, 3, 2, 2, 2, 3058, 3059,
7, 99, 2, 2, 3059, 3060, 7, 112, 2, 2, 3060, 3061, 7, 102, 2, 2, 3061,
3062, 7, 47, 2, 2, 3062, 3063, 7, 107, 2, 2, 3063, 3064, 7, 112, 2, 2,
3064, 3065, 7, 118, 2, 2, 3065, 3066, 7, 49, 2, 2, 3066, 3067, 7, 52, 2,
2, 3067, 3068, 7, 99, 2, 2, 3068, 3069, 7, 102, 2, 2, 3069, 3070, 7, 102,
2, 2, 3070, 3071, 7, 116, 2, 2, 3071, 482, 3, 2, 2, 2, 3072, 3073, 7, 113,
2, 2, 3073, 3074, 7, 116, 2, 2, 3074, 3075, 7, 47, 2, 2, 3075, 3076, 7,
107, 2, 2, 3076, 3077, 7, 112, 2, 2, 3077, 3078, 7, 118, 2, 2, 3078, 3079,
7, 49, 2, 2, 3079, 3080, 7, 52, 2, 2, 3080, 3081, 7, 99, 2, 2, 3081, 3082,
7, 102, 2, 2, 3082, 3083, 7, 102, 2, 2, 3083, 3084, 7, 116, 2, 2, 3084,
484, 3, 2, 2, 2, 3085, 3086, 7, 122, 2, 2, 3086, 3087, 7, 113, 2, 2, 3087,
3088, 7, 116, 2, 2, 3088, 3089, 7, 47, 2, 2, 3089, 3090, 7, 107, 2, 2,
3090, 3091, 7, 112, 2, 2, 3091, 3092, 7, 118, 2, 2, 3092, 3093, 7, 49,
2, 2, 3093, 3094, 7, 52, 2, 2, 3094, 3095, 7, 99, 2, 2, 3095, 3096, 7,
102, 2, 2, 3096, 3097, 7, 102, 2, 2, 3097, 3098, 7, 116, 2, 2, 3098, 486,
3, 2, 2, 2, 3099, 3100, 7, 117, 2, 2, 3100, 3101, 7, 106, 2, 2, 3101, 3102,
7, 110, 2, 2, 3102, 3103, 7, 47, 2, 2, 3103, 3104, 7, 107, 2, 2, 3104,
3105, 7, 112, 2, 2, 3105, 3106, 7, 118, 2, 2, 3106, 3107, 7, 49, 2, 2,
3107, 3108, 7, 52, 2, 2, 3108, 3109, 7, 99, 2, 2, 3109, 3110, 7, 102, 2,
2, 3110, 3111, 7, 102, 2, 2, 3111, 3112, 7, 116, 2, 2, 3112, 488, 3, 2,
2, 2, 3113, 3114, 7, 117, 2, 2, 3114, 3115, 7, 106, 2, 2, 3115, 3116, 7,
116, 2, 2, 3116, 3117, 7, 47, 2, 2, 3117, 3118, 7, 107, 2, 2, 3118, 3119,
7, 112, 2, 2, 3119, 3120, 7, 118, 2, 2, 3120, 3121, 7, 49, 2, 2, 3121,
3122, 7, 52, 2, 2, 3122, 3123, 7, 99, 2, 2, 3123, 3124, 7, 102, 2, 2, 3124,
3125, 7, 102, 2, 2, 3125, 3126, 7, 116, 2, 2, 3126, 490, 3, 2, 2, 2, 3127,
3128, 7, 119, 2, 2, 3128, 3129, 7, 117, 2, 2, 3129, 3130, 7, 106, 2, 2,
3130, 3131, 7, 116, 2, 2, 3131, 3132, 7, 47, 2, 2, 3132, 3133, 7, 107,
2, 2, 3133, 3134, 7, 112, 2, 2, 3134, 3135, 7, 118, 2, 2, 3135, 3136, 7,
49, 2, 2, 3136, 3137, 7, 52, 2, 2, 3137, 3138, 7, 99, 2, 2, 3138, 3139,
7, 102, 2, 2, 3139, 3140, 7, 102, 2, 2, 3140, 3141, 7, 116, 2, 2, 3141,
492, 3, 2, 2, 2, 3142, 3143, 7, 99, 2, 2, 3143, 3144, 7, 102, 2, 2, 3144,
3145, 7, 102, 2, 2, 3145, 3146, 7, 47, 2, 2, 3146, 3147, 7, 110, 2, 2,
3147, 3148, 7, 113, 2, 2, 3148, 3149, 7, 112, 2, 2, 3149, 3150, 7, 105,
2, 2, 3150, 3151, 7, 49, 2, 2, 3151, 3152, 7, 52, 2, 2, 3152, 3153, 7,
99, 2, 2, 3153, 3154, 7, 102, 2, 2, 3154, 3155, 7, 102, 2, 2, 3155, 3156,
7, 116, 2, 2, 3156, 494, 3, 2, 2, 2, 3157, 3158, 7, 117, 2, 2, 3158, 3159,
7, 119, 2, 2, 3159, 3160, 7, 100, 2, 2, 3160, 3161, 7, 47, 2, 2, 3161,
3162, 7, 110, 2, 2, 3162, 3163, 7, 113, 2, 2, 3163, 3164, 7, 112, 2, 2,
3164, 3165, 7, 105, 2, 2, 3165, 3166, 7, 49, 2, 2, 3166, 3167, 7, 52, 2,
2, 3167, 3168, 7, 99, 2, 2, 3168, 3169, 7, 102, 2, 2, 3169, 3170, 7, 102,
2, 2, 3170, 3171, 7, 116, 2, 2, 3171, 496, 3, 2, 2, 2, 3172, 3173, 7, 111,
2, 2, 3173, 3174, 7, 119, 2, 2, 3174, 3175, 7, 110, 2, 2, 3175, 3176, 7,
47, 2, 2, 3176, 3177, 7, 110, 2, 2, 3177, 3178, 7, 113, 2, 2, 3178, 3179,
7, 112, 2, 2, 3179, 3180, 7, 105, 2, 2, 3180, 3181, 7, 49, 2, 2, 3181,
3182, 7, 52, 2, 2, 3182, 3183, 7, 99, 2, 2, 3183, 3184, 7, 102, 2, 2, 3184,
3185, 7, 102, 2, 2, 3185, 3186, 7, 116, 2, 2, 3186, 498, 3, 2, 2, 2, 3187,
3188, 7, 102, 2, 2, 3188, 3189, 7, 107, 2, 2, 3189, 3190, 7, 120, 2, 2,
3190, 3191, 7, 47, 2, 2, 3191, 3192, 7, 110, 2, 2, 3192, 3193, 7, 113,
2, 2, 3193, 3194, 7, 112, 2, 2, 3194, 3195, 7, 105, 2, 2, 3195, 3196, 7,
49, 2, 2, 3196, 3197, 7, 52, 2, 2, 3197, 3198, 7, 99, 2, 2, 3198, 3199,
7, 102, 2, 2, 3199, 3200, 7, 102, 2, 2, 3200, 3201, 7, 116, 2, 2, 3201,
500, 3, 2, 2, 2, 3202, 3203, 7, 116, 2, 2, 3203, 3204, 7, 103, 2, 2, 3204,
3205, 7, 111, 2, 2, 3205, 3206, 7, 47, 2, 2, 3206, 3207, 7, 110, 2, 2,
3207, 3208, 7, 113, 2, 2, 3208, 3209, 7, 112, 2, 2, 3209, 3210, 7, 105,
2, 2, 3210, 3211, 7, 49, 2, 2, 3211, 3212, 7, 52, 2, 2, 3212, 3213, 7,
99, 2, 2, 3213, 3214, 7, 102, 2, 2, 3214, 3215, 7, 102, 2, 2, 3215, 3216,
7, 116, 2, 2, 3216, 502, 3, 2, 2, 2, 3217, 3218, 7, 99, 2, 2, 3218, 3219,
7, 112, 2, 2, 3219, 3220, 7, 102, 2, 2, 3220, 3221, 7, 47, 2, 2, 3221,
3222, 7, 110, 2, 2, 3222, 3223, 7, 113, 2, 2, 3223, 3224, 7, 112, 2, 2,
3224, 3225, 7, 105, 2, 2, 3225, 3226, 7, 49, 2, 2, 3226, 3227, 7, 52, 2,
2, 3227, 3228, 7, 99, 2, 2, 3228, 3229, 7, 102, 2, 2, 3229, 3230, 7, 102,
2, 2, 3230, 3231, 7, 116, 2, 2, 3231, 504, 3, 2, 2, 2, 3232, 3233, 7, 113,
2, 2, 3233, 3234, 7, 116, 2, 2, 3234, 3235, 7, 47, 2, 2, 3235, 3236, 7,
110, 2, 2, 3236, 3237, 7, 113, 2, 2, 3237, 3238, 7, 112, 2, 2, 3238, 3239,
7, 105, 2, 2, 3239, 3240, 7, 49, 2, 2, 3240, 3241, 7, 52, 2, 2, 3241, 3242,
7, 99, 2, 2, 3242, 3243, 7, 102, 2, 2, 3243, 3244, 7, 102, 2, 2, 3244,
3245, 7, 116, 2, 2, 3245, 506, 3, 2, 2, 2, 3246, 3247, 7, 122, 2, 2, 3247,
3248, 7, 113, 2, 2, 3248, 3249, 7, 116, 2, 2, 3249, 3250, 7, 47, 2, 2,
3250, 3251, 7, 110, 2, 2, 3251, 3252, 7, 113, 2, 2, 3252, 3253, 7, 112,
2, 2, 3253, 3254, 7, 105, 2, 2, 3254, 3255, 7, 49, 2, 2, 3255, 3256, 7,
52, 2, 2, 3256, 3257, 7, 99, 2, 2, 3257, 3258, 7, 102, 2, 2, 3258, 3259,
7, 102, 2, 2, 3259, 3260, 7, 116, 2, 2, 3260, 508, 3, 2, 2, 2, 3261, 3262,
7, 117, 2, 2, 3262, 3263, 7, 106, 2, 2, 3263, 3264, 7, 110, 2, 2, 3264,
3265, 7, 47, 2, 2, 3265, 3266, 7, 110, 2, 2, 3266, 3267, 7, 113, 2, 2,
3267, 3268, 7, 112, 2, 2, 3268, 3269, 7, 105, 2, 2, 3269, 3270, 7, 49,
2, 2, 3270, 3271, 7, 52, 2, 2, 3271, 3272, 7, 99, 2, 2, 3272, 3273, 7,
102, 2, 2, 3273, 3274, 7, 102, 2, 2, 3274, 3275, 7, 116, 2, 2, 3275, 510,
3, 2, 2, 2, 3276, 3277, 7, 117, 2, 2, 3277, 3278, 7, 106, 2, 2, 3278, 3279,
7, 116, 2, 2, 3279, 3280, 7, 47, 2, 2, 3280, 3281, 7, 110, 2, 2, 3281,
3282, 7, 113, 2, 2, 3282, 3283, 7, 112, 2, 2, 3283, 3284, 7, 105, 2, 2,
3284, 3285, 7, 49, 2, 2, 3285, 3286, 7, 52, 2, 2, 3286, 3287, 7, 99, 2,
2, 3287, 3288, 7, 102, 2, 2, 3288, 3289, 7, 102, 2, 2, 3289, 3290, 7, 116,
2, 2, 3290, 512, 3, 2, 2, 2, 3291, 3292, 7, 119, 2, 2, 3292, 3293, 7, 117,
2, 2, 3293, 3294, 7, 106, 2, 2, 3294, 3295, 7, 116, 2, 2, 3295, 3296, 7,
47, 2, 2, 3296, 3297, 7, 110, 2, 2, 3297, 3298, 7, 113, 2, 2, 3298, 3299,
7, 112, 2, 2, 3299, 3300, 7, 105, 2, 2, 3300, 3301, 7, 49, 2, 2, 3301,
3302, 7, 52, 2, 2, 3302, 3303, 7, 99, 2, 2, 3303, 3304, 7, 102, 2, 2, 3304,
3305, 7, 102, 2, 2, 3305, 3306, 7, 116, 2, 2, 3306, 514, 3, 2, 2, 2, 3307,
3308, 7, 99, 2, 2, 3308, 3309, 7, 102, 2, 2, 3309, 3310, 7, 102, 2, 2,
3310, 3311, 7, 47, 2, 2, 3311, 3312, 7, 104, 2, 2, 3312, 3313, 7, 110,
2, 2, 3313, 3314, 7, 113, 2, 2, 3314, 3315, 7, 99, 2, 2, 3315, 3316, 7,
118, 2, 2, 3316, 3317, 7, 49, 2, 2, 3317, 3318, 7, 52, 2, 2, 3318, 3319,
7, 99, 2, 2, 3319, 3320, 7, 102, 2, 2, 3320, 3321, 7, 102, 2, 2, 3321,
3322, 7, 116, 2, 2, 3322, 516, 3, 2, 2, 2, 3323, 3324, 7, 117, 2, 2, 3324,
3325, 7, 119, 2, 2, 3325, 3326, 7, 100, 2, 2, 3326, 3327, 7, 47, 2, 2,
3327, 3328, 7, 104, 2, 2, 3328, 3329, 7, 110, 2, 2, 3329, 3330, 7, 113,
2, 2, 3330, 3331, 7, 99, 2, 2, 3331, 3332, 7, 118, 2, 2, 3332, 3333, 7,
49, 2, 2, 3333, 3334, 7, 52, 2, 2, 3334, 3335, 7, 99, 2, 2, 3335, 3336,
7, 102, 2, 2, 3336, 3337, 7, 102, 2, 2, 3337, 3338, 7, 116, 2, 2, 3338,
518, 3, 2, 2, 2, 3339, 3340, 7, 111, 2, 2, 3340, 3341, 7, 119, 2, 2, 3341,
3342, 7, 110, 2, 2, 3342, 3343, 7, 47, 2, 2, 3343, 3344, 7, 104, 2, 2,
3344, 3345, 7, 110, 2, 2, 3345, 3346, 7, 113, 2, 2, 3346, 3347, 7, 99,
2, 2, 3347, 3348, 7, 118, 2, 2, 3348, 3349, 7, 49, 2, 2, 3349, 3350, 7,
52, 2, 2, 3350, 3351, 7, 99, 2, 2, 3351, 3352, 7, 102, 2, 2, 3352, 3353,
7, 102, 2, 2, 3353, 3354, 7, 116, 2, 2, 3354, 520, 3, 2, 2, 2, 3355, 3356,
7, 102, 2, 2, 3356, 3357, 7, 107, 2, 2, 3357, 3358, 7, 120, 2, 2, 3358,
3359, 7, 47, 2, 2, 3359, 3360, 7, 104, 2, 2, 3360, 3361, 7, 110, 2, 2,
3361, 3362, 7, 113, 2, 2, 3362, 3363, 7, 99, 2, 2, 3363, 3364, 7, 118,
2, 2, 3364, 3365, 7, 49, 2, 2, 3365, 3366, 7, 52, 2, 2, 3366, 3367, 7,
99, 2, 2, 3367, 3368, 7, 102, 2, 2, 3368, 3369, 7, 102, 2, 2, 3369, 3370,
7, 116, 2, 2, 3370, 522, 3, 2, 2, 2, 3371, 3372, 7, 116, 2, 2, 3372, 3373,
7, 103, 2, 2, 3373, 3374, 7, 111, 2, 2, 3374, 3375, 7, 47, 2, 2, 3375,
3376, 7, 104, 2, 2, 3376, 3377, 7, 110, 2, 2, 3377, 3378, 7, 113, 2, 2,
3378, 3379, 7, 99, 2, 2, 3379, 3380, 7, 118, 2, 2, 3380, 3381, 7, 49, 2,
2, 3381, 3382, 7, 52, 2, 2, 3382, 3383, 7, 99, 2, 2, 3383, 3384, 7, 102,
2, 2, 3384, 3385, 7, 102, 2, 2, 3385, 3386, 7, 116, 2, 2, 3386, 524, 3,
2, 2, 2, 3387, 3388, 7, 99, 2, 2, 3388, 3389, 7, 102, 2, 2, 3389, 3390,
7, 102, 2, 2, 3390, 3391, 7, 47, 2, 2, 3391, 3392, 7, 102, 2, 2, 3392,
3393, 7, 113, 2, 2, 3393, 3394, 7, 119, 2, 2, 3394, 3395, 7, 100, 2, 2,
3395, 3396, 7, 110, 2, 2, 3396, 3397, 7, 103, 2, 2, 3397, 3398, 7, 49,
2, 2, 3398, 3399, 7, 52, 2, 2, 3399, 3400, 7, 99, 2, 2, 3400, 3401, 7,
102, 2, 2, 3401, 3402, 7, 102, 2, 2, 3402, 3403, 7, 116, 2, 2, 3403, 526,
3, 2, 2, 2, 3404, 3405, 7, 117, 2, 2, 3405, 3406, 7, 119, 2, 2, 3406, 3407,
7, 100, 2, 2, 3407, 3408, 7, 47, 2, 2, 3408, 3409, 7, 102, 2, 2, 3409,
3410, 7, 113, 2, 2, 3410, 3411, 7, 119, 2, 2, 3411, 3412, 7, 100, 2, 2,
3412, 3413, 7, 110, 2, 2, 3413, 3414, 7, 103, 2, 2, 3414, 3415, 7, 49,
2, 2, 3415, 3416, 7, 52, 2, 2, 3416, 3417, 7, 99, 2, 2, 3417, 3418, 7,
102, 2, 2, 3418, 3419, 7, 102, 2, 2, 3419, 3420, 7, 116, 2, 2, 3420, 528,
3, 2, 2, 2, 3421, 3422, 7, 111, 2, 2, 3422, 3423, 7, 119, 2, 2, 3423, 3424,
7, 110, 2, 2, 3424, 3425, 7, 47, 2, 2, 3425, 3426, 7, 102, 2, 2, 3426,
3427, 7, 113, 2, 2, 3427, 3428, 7, 119, 2, 2, 3428, 3429, 7, 100, 2, 2,
3429, 3430, 7, 110, 2, 2, 3430, 3431, 7, 103, 2, 2, 3431, 3432, 7, 49,
2, 2, 3432, 3433, 7, 52, 2, 2, 3433, 3434, 7, 99, 2, 2, 3434, 3435, 7,
102, 2, 2, 3435, 3436, 7, 102, 2, 2, 3436, 3437, 7, 116, 2, 2, 3437, 530,
3, 2, 2, 2, 3438, 3439, 7, 102, 2, 2, 3439, 3440, 7, 107, 2, 2, 3440, 3441,
7, 120, 2, 2, 3441, 3442, 7, 47, 2, 2, 3442, 3443, 7, 102, 2, 2, 3443,
3444, 7, 113, 2, 2, 3444, 3445, 7, 119, 2, 2, 3445, 3446, 7, 100, 2, 2,
3446, 3447, 7, 110, 2, 2, 3447, 3448, 7, 103, 2, 2, 3448, 3449, 7, 49,
2, 2, 3449, 3450, 7, 52, 2, 2, 3450, 3451, 7, 99, 2, 2, 3451, 3452, 7,
102, 2, 2, 3452, 3453, 7, 102, 2, 2, 3453, 3454, 7, 116, 2, 2, 3454, 532,
3, 2, 2, 2, 3455, 3456, 7, 116, 2, 2, 3456, 3457, 7, 103, 2, 2, 3457, 3458,
7, 111, 2, 2, 3458, 3459, 7, 47, 2, 2, 3459, 3460, 7, 102, 2, 2, 3460,
3461, 7, 113, 2, 2, 3461, 3462, 7, 119, 2, 2, 3462, 3463, 7, 100, 2, 2,
3463, 3464, 7, 110, 2, 2, 3464, 3465, 7, 103, 2, 2, 3465, 3466, 7, 49,
2, 2, 3466, 3467, 7, 52, 2, 2, 3467, 3468, 7, 99, 2, 2, 3468, 3469, 7,
102, 2, 2, 3469, 3470, 7, 102, 2, 2, 3470, 3471, 7, 116, 2, 2, 3471, 534,
3, 2, 2, 2, 3472, 3473, 7, 99, 2, 2, 3473, 3474, 7, 102, 2, 2, 3474, 3475,
7, 102, 2, 2, 3475, 3476, 7, 47, 2, 2, 3476, 3477, 7, 107, 2, 2, 3477,
3478, 7, 112, 2, 2, 3478, 3479, 7, 118, 2, 2, 3479, 3480, 7, 49, 2, 2,
3480, 3481, 7, 110, 2, 2, 3481, 3482, 7, 107, 2, 2, 3482, 3483, 7, 118,
2, 2, 3483, 3484, 7, 51, 2, 2, 3484, 3485, 7, 56, 2, 2, 3485, 536, 3, 2,
2, 2, 3486, 3487, 7, 116, 2, 2, 3487, 3488, 7, 117, 2, 2, 3488, 3489, 7,
119, 2, 2, 3489, 3490, 7, 100, 2, 2, 3490, 3491, 7, 47, 2, 2, 3491, 3492,
7, 107, 2, 2, 3492, 3493, 7, 112, 2, 2, 3493, 3494, 7, 118, 2, 2, 3494,
538, 3, 2, 2, 2, 3495, 3496, 7, 111, 2, 2, 3496, 3497, 7, 119, 2, 2, 3497,
3498, 7, 110, 2, 2, 3498, 3499, 7, 47, 2, 2, 3499, 3500, 7, 107, 2, 2,
3500, 3501, 7, 112, 2, 2, 3501, 3502, 7, 118, 2, 2, 3502, 3503, 7, 49,
2, 2, 3503, 3504, 7, 110, 2, 2, 3504, 3505, 7, 107, 2, 2, 3505, 3506, 7,
118, 2, 2, 3506, 3507, 7, 51, 2, 2, 3507, 3508, 7, 56, 2, 2, 3508, 540,
3, 2, 2, 2, 3509, 3510, 7, 102, 2, 2, 3510, 3511, 7, 107, 2, 2, 3511, 3512,
7, 120, 2, 2, 3512, 3513, 7, 47, 2, 2, 3513, 3514, 7, 107, 2, 2, 3514,
3515, 7, 112, 2, 2, 3515, 3516, 7, 118, 2, 2, 3516, 3517, 7, 49, 2, 2,
3517, 3518, 7, 110, 2, 2, 3518, 3519, 7, 107, 2, 2, 3519, 3520, 7, 118,
2, 2, 3520, 3521, 7, 51, 2, 2, 3521, 3522, 7, 56, 2, 2, 3522, 542, 3, 2,
2, 2, 3523, 3524, 7, 116, 2, 2, 3524, 3525, 7, 103, 2, 2, 3525, 3526, 7,
111, 2, 2, 3526, 3527, 7, 47, 2, 2, 3527, 3528, 7, 107, 2, 2, 3528, 3529,
7, 112, 2, 2, 3529, 3530, 7, 118, 2, 2, 3530, 3531, 7, 49, 2, 2, 3531,
3532, 7, 110, 2, 2, 3532, 3533, 7, 107, 2, 2, 3533, 3534, 7, 118, 2, 2,
3534, 3535, 7, 51, 2, 2, 3535, 3536, 7, 56, 2, 2, 3536, 544, 3, 2, 2, 2,
3537, 3538, 7, 99, 2, 2, 3538, 3539, 7, 112, 2, 2, 3539, 3540, 7, 102,
2, 2, 3540, 3541, 7, 47, 2, 2, 3541, 3542, 7, 107, 2, 2, 3542, 3543, 7,
112, 2, 2, 3543, 3544, 7, 118, 2, 2, 3544, 3545, 7, 49, 2, 2, 3545, 3546,
7, 110, 2, 2, 3546, 3547, 7, 107, 2, 2, 3547, 3548, 7, 118, 2, 2, 3548,
3549, 7, 51, 2, 2, 3549, 3550, 7, 56, 2, 2, 3550, 546, 3, 2, 2, 2, 3551,
3552, 7, 113, 2, 2, 3552, 3553, 7, 116, 2, 2, 3553, 3554, 7, 47, 2, 2,
3554, 3555, 7, 107, 2, 2, 3555, 3556, 7, 112, 2, 2, 3556, 3557, 7, 118,
2, 2, 3557, 3558, 7, 49, 2, 2, 3558, 3559, 7, 110, 2, 2, 3559, 3560, 7,
107, 2, 2, 3560, 3561, 7, 118, 2, 2, 3561, 3562, 7, 51, 2, 2, 3562, 3563,
7, 56, 2, 2, 3563, 548, 3, 2, 2, 2, 3564, 3565, 7, 122, 2, 2, 3565, 3566,
7, 113, 2, 2, 3566, 3567, 7, 116, 2, 2, 3567, 3568, 7, 47, 2, 2, 3568,
3569, 7, 107, 2, 2, 3569, 3570, 7, 112, 2, 2, 3570, 3571, 7, 118, 2, 2,
3571, 3572, 7, 49, 2, 2, 3572, 3573, 7, 110, 2, 2, 3573, 3574, 7, 107,
2, 2, 3574, 3575, 7, 118, 2, 2, 3575, 3576, 7, 51, 2, 2, 3576, 3577, 7,
56, 2, 2, 3577, 550, 3, 2, 2, 2, 3578, 3579, 7, 99, 2, 2, 3579, 3580, 7,
102, 2, 2, 3580, 3581, 7, 102, 2, 2, 3581, 3582, 7, 47, 2, 2, 3582, 3583,
7, 107, 2, 2, 3583, 3584, 7, 112, 2, 2, 3584, 3585, 7, 118, 2, 2, 3585,
3586, 7, 49, 2, 2, 3586, 3587, 7, 110, 2, 2, 3587, 3588, 7, 107, 2, 2,
3588, 3589, 7, 118, 2, 2, 3589, 3590, 7, 58, 2, 2, 3590, 552, 3, 2, 2,
2, 3591, 3592, 7, 116, 2, 2, 3592, 3593, 7, 117, 2, 2, 3593, 3594, 7, 119,
2, 2, 3594, 3595, 7, 100, 2, 2, 3595, 3596, 7, 47, 2, 2, 3596, 3597, 7,
107, 2, 2, 3597, 3598, 7, 112, 2, 2, 3598, 3599, 7, 118, 2, 2, 3599, 3600,
7, 49, 2, 2, 3600, 3601, 7, 110, 2, 2, 3601, 3602, 7, 107, 2, 2, 3602,
3603, 7, 118, 2, 2, 3603, 3604, 7, 58, 2, 2, 3604, 554, 3, 2, 2, 2, 3605,
3606, 7, 111, 2, 2, 3606, 3607, 7, 119, 2, 2, 3607, 3608, 7, 110, 2, 2,
3608, 3609, 7, 47, 2, 2, 3609, 3610, 7, 107, 2, 2, 3610, 3611, 7, 112,
2, 2, 3611, 3612, 7, 118, 2, 2, 3612, 3613, 7, 49, 2, 2, 3613, 3614, 7,
110, 2, 2, 3614, 3615, 7, 107, 2, 2, 3615, 3616, 7, 118, 2, 2, 3616, 3617,
7, 58, 2, 2, 3617, 556, 3, 2, 2, 2, 3618, 3619, 7, 102, 2, 2, 3619, 3620,
7, 107, 2, 2, 3620, 3621, 7, 120, 2, 2, 3621, 3622, 7, 47, 2, 2, 3622,
3623, 7, 107, 2, 2, 3623, 3624, 7, 112, 2, 2, 3624, 3625, 7, 118, 2, 2,
3625, 3626, 7, 49, 2, 2, 3626, 3627, 7, 110, 2, 2, 3627, 3628, 7, 107,
2, 2, 3628, 3629, 7, 118, 2, 2, 3629, 3630, 7, 58, 2, 2, 3630, 558, 3,
2, 2, 2, 3631, 3632, 7, 116, 2, 2, 3632, 3633, 7, 103, 2, 2, 3633, 3634,
7, 111, 2, 2, 3634, 3635, 7, 47, 2, 2, 3635, 3636, 7, 107, 2, 2, 3636,
3637, 7, 112, 2, 2, 3637, 3638, 7, 118, 2, 2, 3638, 3639, 7, 49, 2, 2,
3639, 3640, 7, 110, 2, 2, 3640, 3641, 7, 107, 2, 2, 3641, 3642, 7, 118,
2, 2, 3642, 3643, 7, 58, 2, 2, 3643, 560, 3, 2, 2, 2, 3644, 3645, 7, 99,
2, 2, 3645, 3646, 7, 112, 2, 2, 3646, 3647, 7, 102, 2, 2, 3647, 3648, 7,
47, 2, 2, 3648, 3649, 7, 107, 2, 2, 3649, 3650, 7, 112, 2, 2, 3650, 3651,
7, 118, 2, 2, 3651, 3652, 7, 49, 2, 2, 3652, 3653, 7, 110, 2, 2, 3653,
3654, 7, 107, 2, 2, 3654, 3655, 7, 118, 2, 2, 3655, 3656, 7, 58, 2, 2,
3656, 562, 3, 2, 2, 2, 3657, 3658, 7, 113, 2, 2, 3658, 3659, 7, 116, 2,
2, 3659, 3660, 7, 47, 2, 2, 3660, 3661, 7, 107, 2, 2, 3661, 3662, 7, 112,
2, 2, 3662, 3663, 7, 118, 2, 2, 3663, 3664, 7, 49, 2, 2, 3664, 3665, 7,
110, 2, 2, 3665, 3666, 7, 107, 2, 2, 3666, 3667, 7, 118, 2, 2, 3667, 3668,
7, 58, 2, 2, 3668, 564, 3, 2, 2, 2, 3669, 3670, 7, 122, 2, 2, 3670, 3671,
7, 113, 2, 2, 3671, 3672, 7, 116, 2, 2, 3672, 3673, 7, 47, 2, 2, 3673,
3674, 7, 107, 2, 2, 3674, 3675, 7, 112, 2, 2, 3675, 3676, 7, 118, 2, 2,
3676, 3677, 7, 49, 2, 2, 3677, 3678, 7, 110, 2, 2, 3678, 3679, 7, 107,
2, 2, 3679, 3680, 7, 118, 2, 2, 3680, 3681, 7, 58, 2, 2, 3681, 566, 3,
2, 2, 2, 3682, 3683, 7, 117, 2, 2, 3683, 3684, 7, 106, 2, 2, 3684, 3685,
7, 110, 2, 2, 3685, 3686, 7, 47, 2, 2, 3686, 3687, 7, 107, 2, 2, 3687,
3688, 7, 112, 2, 2, 3688, 3689, 7, 118, 2, 2, 3689, 3690, 7, 49, 2, 2,
3690, 3691, 7, 110, 2, 2, 3691, 3692, 7, 107, 2, 2, 3692, 3693, 7, 118,
2, 2, 3693, 3694, 7, 58, 2, 2, 3694, 568, 3, 2, 2, 2, 3695, 3696, 7, 117,
2, 2, 3696, 3697, 7, 106, 2, 2, 3697, 3698, 7, 116, 2, 2, 3698, 3699, 7,
47, 2, 2, 3699, 3700, 7, 107, 2, 2, 3700, 3701, 7, 112, 2, 2, 3701, 3702,
7, 118, 2, 2, 3702, 3703, 7, 49, 2, 2, 3703, 3704, 7, 110, 2, 2, 3704,
3705, 7, 107, 2, 2, 3705, 3706, 7, 118, 2, 2, 3706, 3707, 7, 58, 2, 2,
3707, 570, 3, 2, 2, 2, 3708, 3709, 7, 119, 2, 2, 3709, 3710, 7, 117, 2,
2, 3710, 3711, 7, 106, 2, 2, 3711, 3712, 7, 116, 2, 2, 3712, 3713, 7, 47,
2, 2, 3713, 3714, 7, 107, 2, 2, 3714, 3715, 7, 112, 2, 2, 3715, 3716, 7,
118, 2, 2, 3716, 3717, 7, 49, 2, 2, 3717, 3718, 7, 110, 2, 2, 3718, 3719,
7, 107, 2, 2, 3719, 3720, 7, 118, 2, 2, 3720, 3721, 7, 58, 2, 2, 3721,
572, 3, 2, 2, 2, 3722, 3723, 7, 107, 2, 2, 3723, 3724, 7, 112, 2, 2, 3724,
3725, 7, 120, 2, 2, 3725, 3726, 7, 113, 2, 2, 3726, 3727, 7, 109, 2, 2,
3727, 3728, 7, 103, 2, 2, 3728, 3729, 7, 47, 2, 2, 3729, 3730, 7, 114,
2, 2, 3730, 3731, 7, 113, 2, 2, 3731, 3732, 7, 110, 2, 2, 3732, 3733, 7,
123, 2, 2, 3733, 3734, 7, 111, 2, 2, 3734, 3735, 7, 113, 2, 2, 3735, 3736,
7, 116, 2, 2, 3736, 3737, 7, 114, 2, 2, 3737, 3738, 7, 106, 2, 2, 3738,
3739, 7, 107, 2, 2, 3739, 3740, 7, 101, 2, 2, 3740, 574, 3, 2, 2, 2, 3741,
3742, 7, 107, 2, 2, 3742, 3743, 7, 112, 2, 2, 3743, 3744, 7, 120, 2, 2,
3744, 3745, 7, 113, 2, 2, 3745, 3746, 7, 109, 2, 2, 3746, 3747, 7, 103,
2, 2, 3747, 3748, 7, 47, 2, 2, 3748, 3749, 7, 114, 2, 2, 3749, 3750, 7,
113, 2, 2, 3750, 3751, 7, 110, 2, 2, 3751, 3752, 7, 123, 2, 2, 3752, 3753,
7, 111, 2, 2, 3753, 3754, 7, 113, 2, 2, 3754, 3755, 7, 116, 2, 2, 3755,
3756, 7, 114, 2, 2, 3756, 3757, 7, 106, 2, 2, 3757, 3758, 7, 107, 2, 2,
3758, 3759, 7, 101, 2, 2, 3759, 3760, 7, 49, 2, 2, 3760, 3761, 7, 116,
2, 2, 3761, 3762, 7, 99, 2, 2, 3762, 3763, 7, 112, 2, 2, 3763, 3764, 7,
105, 2, 2, 3764, 3765, 7, 103, 2, 2, 3765, 576, 3, 2, 2, 2, 3766, 3767,
7, 107, 2, 2, 3767, 3768, 7, 112, 2, 2, 3768, 3769, 7, 120, 2, 2, 3769,
3770, 7, 113, 2, 2, 3770, 3771, 7, 109, 2, 2, 3771, 3772, 7, 103, 2, 2,
3772, 3773, 7, 47, 2, 2, 3773, 3774, 7, 101, 2, 2, 3774, 3775, 7, 119,
2, 2, 3775, 3776, 7, 117, 2, 2, 3776, 3777, 7, 118, 2, 2, 3777, 3778, 7,
113, 2, 2, 3778, 3779, 7, 111, 2, 2, 3779, 578, 3, 2, 2, 2, 3780, 3781,
7, 107, 2, 2, 3781, 3782, 7, 112, 2, 2, 3782, 3783, 7, 120, 2, 2, 3783,
3784, 7, 113, 2, 2, 3784, 3785, 7, 109, 2, 2, 3785, 3786, 7, 103, 2, 2,
3786, 3787, 7, 47, 2, 2, 3787, 3788, 7, 101, 2, 2, 3788, 3789, 7, 119,
2, 2, 3789, 3790, 7, 117, 2, 2, 3790, 3791, 7, 118, 2, 2, 3791, 3792, 7,
113, 2, 2, 3792, 3793, 7, 111, 2, 2, 3793, 3794, 7, 49, 2, 2, 3794, 3795,
7, 116, 2, 2, 3795, 3796, 7, 99, 2, 2, 3796, 3797, 7, 112, 2, 2, 3797,
3798, 7, 105, 2, 2, 3798, 3799, 7, 103, 2, 2, 3799, 580, 3, 2, 2, 2, 3800,
3801, 7, 101, 2, 2, 3801, 3802, 7, 113, 2, 2, 3802, 3803, 7, 112, 2, 2,
3803, 3804, 7, 117, 2, 2, 3804, 3805, 7, 118, 2, 2, 3805, 3806, 7, 47,
2, 2, 3806, 3807, 7, 111, 2, 2, 3807, 3808, 7, 103, 2, 2, 3808, 3809, 7,
118, 2, 2, 3809, 3810, 7, 106, 2, 2, 3810, 3811, 7, 113, 2, 2, 3811, 3812,
7, 102, 2, 2, 3812, 3813, 7, 47, 2, 2, 3813, 3814, 7, 106, 2, 2, 3814,
3815, 7, 99, 2, 2, 3815, 3816, 7, 112, 2, 2, 3816, 3817, 7, 102, 2, 2,
3817, 3818, 7, 110, 2, 2, 3818, 3819, 7, 103, 2, 2, 3819, 582, 3, 2, 2,
2, 3820, 3821, 7, 101, 2, 2, 3821, 3822, 7, 113, 2, 2, 3822, 3823, 7, 112,
2, 2, 3823, 3824, 7, 117, 2, 2, 3824, 3825, 7, 118, 2, 2, 3825, 3826, 7,
47, 2, 2, 3826, 3827, 7, 111, 2, 2, 3827, 3828, 7, 103, 2, 2, 3828, 3829,
7, 118, 2, 2, 3829, 3830, 7, 106, 2, 2, 3830, 3831, 7, 113, 2, 2, 3831,
3832, 7, 102, 2, 2, 3832, 3833, 7, 47, 2, 2, 3833, 3834, 7, 118, 2, 2,
3834, 3835, 7, 123, 2, 2, 3835, 3836, 7, 114, 2, 2, 3836, 3837, 7, 103,
2, 2, 3837, 584, 3, 2, 2, 2, 3838, 3839, 7, 114, 2, 2, 3839, 3840, 7, 99,
2, 2, 3840, 3841, 7, 101, 2, 2, 3841, 3842, 7, 109, 2, 2, 3842, 3843, 7,
103, 2, 2, 3843, 3844, 7, 102, 2, 2, 3844, 3845, 7, 47, 2, 2, 3845, 3846,
7, 117, 2, 2, 3846, 3847, 7, 121, 2, 2, 3847, 3848, 7, 107, 2, 2, 3848,
3849, 7, 118, 2, 2, 3849, 3850, 7, 101, 2, 2, 3850, 3851, 7, 106, 2, 2,
3851, 586, 3, 2, 2, 2, 3852, 3853, 7, 117, 2, 2, 3853, 3854, 7, 114, 2,
2, 3854, 3855, 7, 99, 2, 2, 3855, 3856, 7, 116, 2, 2, 3856, 3857, 7, 117,
2, 2, 3857, 3858, 7, 103, 2, 2, 3858, 3859, 7, 47, 2, 2, 3859, 3860, 7,
117, 2, 2, 3860, 3861, 7, 121, 2, 2, 3861, 3862, 7, 107, 2, 2, 3862, 3863,
7, 118, 2, 2, 3863, 3864, 7, 101, 2, 2, 3864, 3865, 7, 106, 2, 2, 3865,
588, 3, 2, 2, 2, 3866, 3880, 7, 50, 2, 2, 3867, 3877, 9, 2, 2, 2, 3868,
3870, 5, 627, 314, 2, 3869, 3868, 3, 2, 2, 2, 3869, 3870, 3, 2, 2, 2, 3870,
3878, 3, 2, 2, 2, 3871, 3873, 7, 97, 2, 2, 3872, 3871, 3, 2, 2, 2, 3873,
3874, 3, 2, 2, 2, 3874, 3872, 3, 2, 2, 2, 3874, 3875, 3, 2, 2, 2, 3875,
3876, 3, 2, 2, 2, 3876, 3878, 5, 627, 314, 2, 3877, 3869, 3, 2, 2, 2, 3877,
3872, 3, 2, 2, 2, 3878, 3880, 3, 2, 2, 2, 3879, 3866, 3, 2, 2, 2, 3879,
3867, 3, 2, 2, 2, 3880, 3882, 3, 2, 2, 2, 3881, 3883, 9, 3, 2, 2, 3882,
3881, 3, 2, 2, 2, 3882, 3883, 3, 2, 2, 2, 3883, 590, 3, 2, 2, 2, 3884,
3885, 7, 50, 2, 2, 3885, 3886, 9, 4, 2, 2, 3886, 3894, 9, 5, 2, 2, 3887,
3889, 9, 6, 2, 2, 3888, 3887, 3, 2, 2, 2, 3889, 3892, 3, 2, 2, 2, 3890,
3888, 3, 2, 2, 2, 3890, 3891, 3, 2, 2, 2, 3891, 3893, 3, 2, 2, 2, 3892,
3890, 3, 2, 2, 2, 3893, 3895, 9, 5, 2, 2, 3894, 3890, 3, 2, 2, 2, 3894,
3895, 3, 2, 2, 2, 3895, 3897, 3, 2, 2, 2, 3896, 3898, 9, 3, 2, 2, 3897,
3896, 3, 2, 2, 2, 3897, 3898, 3, 2, 2, 2, 3898, 592, 3, 2, 2, 2, 3899,
3903, 7, 50, 2, 2, 3900, 3902, 7, 97, 2, 2, 3901, 3900, 3, 2, 2, 2, 3902,
3905, 3, 2, 2, 2, 3903, 3901, 3, 2, 2, 2, 3903, 3904, 3, 2, 2, 2, 3904,
3906, 3, 2, 2, 2, 3905, 3903, 3, 2, 2, 2, 3906, 3914, 9, 7, 2, 2, 3907,
3909, 9, 8, 2, 2, 3908, 3907, 3, 2, 2, 2, 3909, 3912, 3, 2, 2, 2, 3910,
3908, 3, 2, 2, 2, 3910, 3911, 3, 2, 2, 2, 3911, 3913, 3, 2, 2, 2, 3912,
3910, 3, 2, 2, 2, 3913, 3915, 9, 7, 2, 2, 3914, 3910, 3, 2, 2, 2, 3914,
3915, 3, 2, 2, 2, 3915, 3917, 3, 2, 2, 2, 3916, 3918, 9, 3, 2, 2, 3917,
3916, 3, 2, 2, 2, 3917, 3918, 3, 2, 2, 2, 3918, 594, 3, 2, 2, 2, 3919,
3920, 7, 50, 2, 2, 3920, 3921, 9, 9, 2, 2, 3921, 3929, 9, 10, 2, 2, 3922,
3924, 9, 11, 2, 2, 3923, 3922, 3, 2, 2, 2, 3924, 3927, 3, 2, 2, 2, 3925,
3923, 3, 2, 2, 2, 3925, 3926, 3, 2, 2, 2, 3926, 3928, 3, 2, 2, 2, 3927,
3925, 3, 2, 2, 2, 3928, 3930, 9, 10, 2, 2, 3929, 3925, 3, 2, 2, 2, 3929,
3930, 3, 2, 2, 2, 3930, 3932, 3, 2, 2, 2, 3931, 3933, 9, 3, 2, 2, 3932,
3931, 3, 2, 2, 2, 3932, 3933, 3, 2, 2, 2, 3933, 596, 3, 2, 2, 2, 3934,
3935, 5, 627, 314, 2, 3935, 3937, 7, 48, 2, 2, 3936, 3938, 5, 627, 314,
2, 3937, 3936, 3, 2, 2, 2, 3937, 3938, 3, 2, 2, 2, 3938, 3942, 3, 2, 2,
2, 3939, 3940, 7, 48, 2, 2, 3940, 3942, 5, 627, 314, 2, 3941, 3934, 3,
2, 2, 2, 3941, 3939, 3, 2, 2, 2, 3942, 3944, 3, 2, 2, 2, 3943, 3945, 5,
619, 310, 2, 3944, 3943, 3, 2, 2, 2, 3944, 3945, 3, 2, 2, 2, 3945, 3947,
3, 2, 2, 2, 3946, 3948, 9, 12, 2, 2, 3947, 3946, 3, 2, 2, 2, 3947, 3948,
3, 2, 2, 2, 3948, 3958, 3, 2, 2, 2, 3949, 3955, 5, 627, 314, 2, 3950, 3952,
5, 619, 310, 2, 3951, 3953, 9, 12, 2, 2, 3952, 3951, 3, 2, 2, 2, 3952,
3953, 3, 2, 2, 2, 3953, 3956, 3, 2, 2, 2, 3954, 3956, 9, 12, 2, 2, 3955,
3950, 3, 2, 2, 2, 3955, 3954, 3, 2, 2, 2, 3956, 3958, 3, 2, 2, 2, 3957,
3941, 3, 2, 2, 2, 3957, 3949, 3, 2, 2, 2, 3958, 598, 3, 2, 2, 2, 3959,
3960, 7, 50, 2, 2, 3960, 3970, 9, 4, 2, 2, 3961, 3963, 5, 623, 312, 2,
3962, 3964, 7, 48, 2, 2, 3963, 3962, 3, 2, 2, 2, 3963, 3964, 3, 2, 2, 2,
3964, 3971, 3, 2, 2, 2, 3965, 3967, 5, 623, 312, 2, 3966, 3965, 3, 2, 2,
2, 3966, 3967, 3, 2, 2, 2, 3967, 3968, 3, 2, 2, 2, 3968, 3969, 7, 48, 2,
2, 3969, 3971, 5, 623, 312, 2, 3970, 3961, 3, 2, 2, 2, 3970, 3966, 3, 2,
2, 2, 3971, 3972, 3, 2, 2, 2, 3972, 3974, 9, 13, 2, 2, 3973, 3975, 9, 14,
2, 2, 3974, 3973, 3, 2, 2, 2, 3974, 3975, 3, 2, 2, 2, 3975, 3976, 3, 2,
2, 2, 3976, 3978, 5, 627, 314, 2, 3977, 3979, 9, 12, 2, 2, 3978, 3977,
3, 2, 2, 2, 3978, 3979, 3, 2, 2, 2, 3979, 600, 3, 2, 2, 2, 3980, 3981,
7, 118, 2, 2, 3981, 3982, 7, 116, 2, 2, 3982, 3983, 7, 119, 2, 2, 3983,
3990, 7, 103, 2, 2, 3984, 3985, 7, 104, 2, 2, 3985, 3986, 7, 99, 2, 2,
3986, 3987, 7, 110, 2, 2, 3987, 3988, 7, 117, 2, 2, 3988, 3990, 7, 103,
2, 2, 3989, 3980, 3, 2, 2, 2, 3989, 3984, 3, 2, 2, 2, 3990, 602, 3, 2,
2, 2, 3991, 3992, 7, 112, 2, 2, 3992, 3993, 7, 119, 2, 2, 3993, 3994, 7,
110, 2, 2, 3994, 3995, 7, 110, 2, 2, 3995, 604, 3, 2, 2, 2, 3996, 3997,
7, 41, 2, 2, 3997, 3998, 5, 611, 306, 2, 3998, 3999, 7, 41, 2, 2, 3999,
606, 3, 2, 2, 2, 4000, 4004, 7, 36, 2, 2, 4001, 4003, 5, 611, 306, 2, 4002,
4001, 3, 2, 2, 2, 4003, 4006, 3, 2, 2, 2, 4004, 4002, 3, 2, 2, 2, 4004,
4005, 3, 2, 2, 2, 4005, 4007, 3, 2, 2, 2, 4006, 4004, 3, 2, 2, 2, 4007,
4008, 7, 36, 2, 2, 4008, 608, 3, 2, 2, 2, 4009, 4010, 5, 617, 309, 2, 4010,
610, 3, 2, 2, 2, 4011, 4014, 10, 15, 2, 2, 4012, 4014, 5, 621, 311, 2,
4013, 4011, 3, 2, 2, 2, 4013, 4012, 3, 2, 2, 2, 4014, 612, 3, 2, 2, 2,
4015, 4017, 9, 16, 2, 2, 4016, 4015, 3, 2, 2, 2, 4017, 4018, 3, 2, 2, 2,
4018, 4016, 3, 2, 2, 2, 4018, 4019, 3, 2, 2, 2, 4019, 4020, 3, 2, 2, 2,
4020, 4021, 8, 307, 2, 2, 4021, 614, 3, 2, 2, 2, 4022, 4026, 7, 37, 2,
2, 4023, 4025, 10, 17, 2, 2, 4024, 4023, 3, 2, 2, 2, 4025, 4028, 3, 2,
2, 2, 4026, 4024, 3, 2, 2, 2, 4026, 4027, 3, 2, 2, 2, 4027, 4029, 3, 2,
2, 2, 4028, 4026, 3, 2, 2, 2, 4029, 4030, 8, 308, 3, 2, 4030, 616, 3, 2,
2, 2, 4031, 4035, 5, 631, 316, 2, 4032, 4034, 5, 629, 315, 2, 4033, 4032,
3, 2, 2, 2, 4034, 4037, 3, 2, 2, 2, 4035, 4033, 3, 2, 2, 2, 4035, 4036,
3, 2, 2, 2, 4036, 618, 3, 2, 2, 2, 4037, 4035, 3, 2, 2, 2, 4038, 4040,
9, 18, 2, 2, 4039, 4041, 9, 14, 2, 2, 4040, 4039, 3, 2, 2, 2, 4040, 4041,
3, 2, 2, 2, 4041, 4042, 3, 2, 2, 2, 4042, 4043, 5, 627, 314, 2, 4043, 620,
3, 2, 2, 2, 4044, 4045, 7, 94, 2, 2, 4045, 4066, 9, 19, 2, 2, 4046, 4051,
7, 94, 2, 2, 4047, 4049, 9, 20, 2, 2, 4048, 4047, 3, 2, 2, 2, 4048, 4049,
3, 2, 2, 2, 4049, 4050, 3, 2, 2, 2, 4050, 4052, 9, 7, 2, 2, 4051, 4048,
3, 2, 2, 2, 4051, 4052, 3, 2, 2, 2, 4052, 4053, 3, 2, 2, 2, 4053, 4066,
9, 7, 2, 2, 4054, 4056, 7, 94, 2, 2, 4055, 4057, 7, 119, 2, 2, 4056, 4055,
3, 2, 2, 2, 4057, 4058, 3, 2, 2, 2, 4058, 4056, 3, 2, 2, 2, 4058, 4059,
3, 2, 2, 2, 4059, 4060, 3, 2, 2, 2, 4060, 4061, 5, 625, 313, 2, 4061, 4062,
5, 625, 313, 2, 4062, 4063, 5, 625, 313, 2, 4063, 4064, 5, 625, 313, 2,
4064, 4066, 3, 2, 2, 2, 4065, 4044, 3, 2, 2, 2, 4065, 4046, 3, 2, 2, 2,
4065, 4054, 3, 2, 2, 2, 4066, 622, 3, 2, 2, 2, 4067, 4076, 5, 625, 313,
2, 4068, 4071, 5, 625, 313, 2, 4069, 4071, 7, 97, 2, 2, 4070, 4068, 3,
2, 2, 2, 4070, 4069, 3, 2, 2, 2, 4071, 4074, 3, 2, 2, 2, 4072, 4070, 3,
2, 2, 2, 4072, 4073, 3, 2, 2, 2, 4073, 4075, 3, 2, 2, 2, 4074, 4072, 3,
2, 2, 2, 4075, 4077, 5, 625, 313, 2, 4076, 4072, 3, 2, 2, 2, 4076, 4077,
3, 2, 2, 2, 4077, 624, 3, 2, 2, 2, 4078, 4079, 9, 5, 2, 2, 4079, 626, 3,
2, 2, 2, 4080, 4088, 9, 21, 2, 2, 4081, 4083, 9, 22, 2, 2, 4082, 4081,
3, 2, 2, 2, 4083, 4086, 3, 2, 2, 2, 4084, 4082, 3, 2, 2, 2, 4084, 4085,
3, 2, 2, 2, 4085, 4087, 3, 2, 2, 2, 4086, 4084, 3, 2, 2, 2, 4087, 4089,
9, 21, 2, 2, 4088, 4084, 3, 2, 2, 2, 4088, 4089, 3, 2, 2, 2, 4089, 628,
3, 2, 2, 2, 4090, 4093, 5, 631, 316, 2, 4091, 4093, 9, 21, 2, 2, 4092,
4090, 3, 2, 2, 2, 4092, 4091, 3, 2, 2, 2, 4093, 630, 3, 2, 2, 2, 4094,
4099, 9, 23, 2, 2, 4095, 4099, 10, 24, 2, 2, 4096, 4097, 9, 25, 2, 2, 4097,
4099, 9, 26, 2, 2, 4098, 4094, 3, 2, 2, 2, 4098, 4095, 3, 2, 2, 2, 4098,
4096, 3, 2, 2, 2, 4099, 632, 3, 2, 2, 2, 54, 2, 640, 652, 657, 672, 700,
702, 3869, 3874, 3877, 3879, 3882, 3890, 3894, 3897, 3903, 3910, 3914,
3917, 3925, 3929, 3932, 3937, 3941, 3944, 3947, 3952, 3955, 3957, 3963,
3966, 3970, 3974, 3978, 3989, 4004, 4013, 4018, 4026, 4035, 4040, 4048,
4051, 4058, 4065, 4070, 4072, 4076, 4084, 4088, 4092, 4098, 4, 8, 2, 2,
2, 3, 2,
}
var lexerDeserializer = antlr.NewATNDeserializer(nil)
var lexerAtn = lexerDeserializer.DeserializeFromUInt16(serializedLexerAtn)
var lexerChannelNames = []string{
"DEFAULT_TOKEN_CHANNEL", "HIDDEN",
}
var lexerModeNames = []string{
"DEFAULT_MODE",
}
var lexerLiteralNames = []string{
"", "", "'V'", "'Z'", "'B'", "'S'", "'C'", "'I'", "'J'", "'F'", "'D'",
"", "'['", "']'", "'('", "')'", "'{'", "'}'", "':'", "'='", "'.'", "'-'",
"','", "'/'", "'<'", "'>'", "'->'", "';'", "'.method'", "'.end method'",
"'.class'", "'.source'", "'.super'", "'.field'", "'.registers'", "'.locals'",
"'.param'", "'.line'", "'.catch'", "'.catchall'", "'.annotation'", "'.end annotation'",
"'.local'", "'.end local'", "'.restart local'", "'.packed-switch'", "'.end packed-switch'",
"'.array-data'", "'.end array-data'", "'.sparse-switch'", "'.end sparse-switch'",
"'.end param'", "'public'", "'private'", "'protected'", "'final'", "'annotation'",
"'static'", "'synthetic'", "'constructor'", "'abstract'", "'enum'", "'interface'",
"'transient'", "'bridge'", "'declared-synchronized'", "'volatile'", "'strictfp'",
"'varargs'", "'native'", "'nop'", "'move'", "'move/from16'", "'move/16'",
"'move-wide'", "'move-wide/from16'", "'move-wide/16'", "'move-object'",
"'move-object/from16'", "'move-object/16'", "'move-result'", "'move-result-wide'",
"'move-result-object'", "'move-exception'", "'return-void'", "'return'",
"'return-wide'", "'return-object'", "'const/4'", "'const/16'", "'const'",
"'const/high16'", "'const-wide/16'", "'const-wide/32'", "'const-wide'",
"'const-wide/high16'", "'const-string'", "'const-string/jumbo'", "'const-class'",
"'monitor-enter'", "'monitor-exit'", "'check-cast'", "'instance-of'", "'array-length'",
"'new-instance'", "'new-array'", "'filled-new-array'", "'filled-new-array/range'",
"'fill-array-data'", "'throw'", "'goto'", "'goto/16'", "'goto/32'", "'cmpl-float'",
"'cmpg-float'", "'cmpl-double'", "'cmpg-double'", "'cmp-long'", "'if-eq'",
"'if-ne'", "'if-lt'", "'if-ge'", "'if-gt'", "'if-le'", "'if-eqz'", "'if-nez'",
"'if-ltz'", "'if-gez'", "'if-gtz'", "'if-lez'", "'aget'", "'aget-wide'",
"'aget-object'", "'aget-boolean'", "'aget-byte'", "'aget-char'", "'aget-short'",
"'aput'", "'aput-wide'", "'aput-object'", "'aput-boolean'", "'aput-byte'",
"'aput-char'", "'aput-short'", "'iget'", "'iget-wide'", "'iget-object'",
"'iget-boolean'", "'iget-byte'", "'iget-char'", "'iget-short'", "'iput'",
"'iput-wide'", "'iput-object'", "'iput-boolean'", "'iput-byte'", "'iput-char'",
"'iput-short'", "'sget'", "'sget-wide'", "'sget-object'", "'sget-boolean'",
"'sget-byte'", "'sget-char'", "'sget-short'", "'sput'", "'sput-wide'",
"'sput-object'", "'sput-boolean'", "'sput-byte'", "'sput-char'", "'sput-short'",
"'invoke-virtual'", "'invoke-super'", "'invoke-direct'", "'invoke-static'",
"'invoke-interface'", "'invoke-virtual/range'", "'invoke-super/range'",
"'invoke-direct/range'", "'invoke-static/range'", "'invoke-interface/range'",
"'neg-int'", "'not-int'", "'neg-long'", "'not-long'", "'neg-float'", "'neg-double'",
"'int-to-long'", "'int-to-float'", "'int-to-double'", "'long-to-int'",
"'long-to-float'", "'long-to-double'", "'float-to-int'", "'float-to-long'",
"'float-to-double'", "'double-to-int'", "'double-to-long'", "'double-to-float'",
"'int-to-byte'", "'int-to-char'", "'int-to-short'", "'add-int'", "'sub-int'",
"'mul-int'", "'div-int'", "'rem-int'", "'and-int'", "'or-int'", "'xor-int'",
"'shl-int'", "'shr-int'", "'ushr-int'", "'add-long'", "'sub-long'", "'mul-long'",
"'div-long'", "'rem-long'", "'and-long'", "'or-long'", "'xor-long'", "'shl-long'",
"'shr-long'", "'ushr-long'", "'add-float'", "'sub-float'", "'mul-float'",
"'div-float'", "'rem-float'", "'add-double'", "'sub-double'", "'mul-double'",
"'div-double'", "'rem-double'", "'add-int/2addr'", "'sub-int/2addr'", "'mul-int/2addr'",
"'div-int/2addr'", "'rem-int/2addr'", "'and-int/2addr'", "'or-int/2addr'",
"'xor-int/2addr'", "'shl-int/2addr'", "'shr-int/2addr'", "'ushr-int/2addr'",
"'add-long/2addr'", "'sub-long/2addr'", "'mul-long/2addr'", "'div-long/2addr'",
"'rem-long/2addr'", "'and-long/2addr'", "'or-long/2addr'", "'xor-long/2addr'",
"'shl-long/2addr'", "'shr-long/2addr'", "'ushr-long/2addr'", "'add-float/2addr'",
"'sub-float/2addr'", "'mul-float/2addr'", "'div-float/2addr'", "'rem-float/2addr'",
"'add-double/2addr'", "'sub-double/2addr'", "'mul-double/2addr'", "'div-double/2addr'",
"'rem-double/2addr'", "'add-int/lit16'", "'rsub-int'", "'mul-int/lit16'",
"'div-int/lit16'", "'rem-int/lit16'", "'and-int/lit16'", "'or-int/lit16'",
"'xor-int/lit16'", "'add-int/lit8'", "'rsub-int/lit8'", "'mul-int/lit8'",
"'div-int/lit8'", "'rem-int/lit8'", "'and-int/lit8'", "'or-int/lit8'",
"'xor-int/lit8'", "'shl-int/lit8'", "'shr-int/lit8'", "'ushr-int/lit8'",
"'invoke-polymorphic'", "'invoke-polymorphic/range'", "'invoke-custom'",
"'invoke-custom/range'", "'const-method-handle'", "'const-method-type'",
"'packed-switch'", "'sparse-switch'", "", "", "", "", "", "", "", "'null'",
}
var lexerSymbolicNames = []string{
"", "QUALIFIED_TYPE_NAME", "VOID_TYPE", "BOOLEAN_TYPE", "BYTE_TYPE", "SHORT_TYPE",
"CHAR_TYPE", "INT_TYPE", "LONG_TYPE", "FLOAT_TYPE", "DOUBLE_TYPE", "COMPOUND_METHOD_ARG_LITERAL",
"LBRACK", "RBRACK", "LPAREN", "RPAREN", "LBRACE", "RBRACE", "COLON", "ASSIGN",
"DOT", "SUB", "COMMA", "SLASH", "LT", "GT", "ARROW", "SEMI", "METHOD_DIRECTIVE",
"METHOD_END_DIRECTIVE", "CLASS_DIRECTIVE", "SOURCE_DIRECTIVE", "SUPER_DIRECTIVE",
"FIELD_DIRECTIVE", "REGISTERS_DIRECTIVE", "LOCALS_DIRECTIVE", "PARAM_DIRECTIVE",
"LINE_DIRECTIVE", "CATCH_DIRECTIVE", "CATCHALL_DIRECTIVE", "ANNOTATION_DIRECTIVE",
"ANNOTATION_END_DIRECTIVE", "LOCAL_DIRECTIVE", "LOCAL_END_DIRECTIVE", "RESTART_LOCAL_DIRECTIVE",
"PACKED_SWITCH_DIRECTIVE", "PACKED_SWITCH_END_DIRECTIVE", "ARRAY_DATA_DIRECTIVE",
"ARRAY_DATA_END_DIRECTIVE", "SPARSE_SWITCH_DIRECTIVE", "SPARSE_SWITCH_END_DIRECTIVE",
"PARAM_END_DIRECTIVE", "PUBLIC", "PRIVATE", "PROTECTED", "FINAL", "ANNOTATION",
"STATIC", "SYNTHETIC", "CONSTRUCTOR", "ABSTRACT", "ENUM", "INTERFACE",
"TRANSIENT", "BRIDGE", "DECLARED_SYNCHRONIZED", "VOLATILE", "STRICTFP",
"VARARGS", "NATIVE", "OP_NOP", "OP_MOVE", "OP_MOVE_FROM16", "OP_MOVE_16",
"OP_MOVE_WIDE", "OP_MOVE_WIDE_FROM16", "OP_MOVE_WIDE_16", "OP_MOVE_OBJECT",
"OP_MOVE_OBJECT_FROM16", "OP_MOVE_OBJECT_16", "OP_MOVE_RESULT", "OP_MOVE_RESULT_WIDE",
"OP_MOVE_RESULT_OBJECT", "OP_MOVE_EXCEPTION", "OP_RETURN_VOID", "OP_RETURN",
"OP_RETURN_WIDE", "OP_RETURN_OBJECT", "OP_CONST_4", "OP_CONST_16", "OP_CONST",
"OP_CONST_HIGH16", "OP_CONST_WIDE_16", "OP_CONST_WIDE_32", "OP_CONST_WIDE",
"OP_CONST_WIDE_HIGH16", "OP_CONST_STRING", "OP_CONST_STRING_JUMBO", "OP_CONST_CLASS",
"OP_MONITOR_ENTER", "OP_MONITOR_EXIT", "OP_CHECK_CAST", "OP_INSTANCE_OF",
"OP_ARRAY_LENGTH", "OP_NEW_INSTANCE", "OP_NEW_ARRAY", "OP_FILLED_NEW_ARRAY",
"OP_FILLED_NEW_ARRAY_RANGE", "OP_FILL_ARRAY_DATA", "OP_THROW", "OP_GOTO",
"OP_GOTO_16", "OP_GOTO_32", "OP_CMPL_FLOAT", "OP_CMPG_FLOAT", "OP_CMPL_DOUBLE",
"OP_CMPG_DOUBLE", "OP_CMP_LONG", "OP_IF_EQ", "OP_IF_NE", "OP_IF_LT", "OP_IF_GE",
"OP_IF_GT", "OP_IF_LE", "OP_IF_EQZ", "OP_IF_NEZ", "OP_IF_LTZ", "OP_IF_GEZ",
"OP_IF_GTZ", "OP_IF_LEZ", "OP_AGET", "OP_AGET_WIDE", "OP_AGET_OBJECT",
"OP_AGET_BOOLEAN", "OP_AGET_BYTE", "OP_AGET_CHAR", "OP_AGET_SHORT", "OP_APUT",
"OP_APUT_WIDE", "OP_APUT_OBJECT", "OP_APUT_BOOLEAN", "OP_APUT_BYTE", "OP_APUT_CHAR",
"OP_APUT_SHORT", "OP_IGET", "OP_IGET_WIDE", "OP_IGET_OBJECT", "OP_IGET_BOOLEAN",
"OP_IGET_BYTE", "OP_IGET_CHAR", "OP_IGET_SHORT", "OP_IPUT", "OP_IPUT_WIDE",
"OP_IPUT_OBJECT", "OP_IPUT_BOOLEAN", "OP_IPUT_BYTE", "OP_IPUT_CHAR", "OP_IPUT_SHORT",
"OP_SGET", "OP_SGET_WIDE", "OP_SGET_OBJECT", "OP_SGET_BOOLEAN", "OP_SGET_BYTE",
"OP_SGET_CHAR", "OP_SGET_SHORT", "OP_SPUT", "OP_SPUT_WIDE", "OP_SPUT_OBJECT",
"OP_SPUT_BOOLEAN", "OP_SPUT_BYTE", "OP_SPUT_CHAR", "OP_SPUT_SHORT", "OP_INVOKE_VIRTUAL",
"OP_INVOKE_SUPER", "OP_INVOKE_DIRECT", "OP_INVOKE_STATIC", "OP_INVOKE_INTERFACE",
"OP_INVOKE_VIRTUAL_RANGE", "OP_INVOKE_SUPER_RANGE", "OP_INVOKE_DIRECT_RANGE",
"OP_INVOKE_STATIC_RANGE", "OP_INVOKE_INTERFACE_RANGE", "OP_NEG_INT", "OP_NOT_INT",
"OP_NEG_LONG", "OP_NOT_LONG", "OP_NEG_FLOAT", "OP_NEG_DOUBLE", "OP_INT_TO_LONG",
"OP_INT_TO_FLOAT", "OP_INT_TO_DOUBLE", "OP_LONG_TO_INT", "OP_LONG_TO_FLOAT",
"OP_LONG_TO_DOUBLE", "OP_FLOAT_TO_INT", "OP_FLOAT_TO_LONG", "OP_FLOAT_TO_DOUBLE",
"OP_DOUBLE_TO_INT", "OP_DOUBLE_TO_LONG", "OP_DOUBLE_TO_FLOAT", "OP_INT_TO_BYTE",
"OP_INT_TO_CHAR", "OP_INT_TO_SHORT", "OP_ADD_INT", "OP_SUB_INT", "OP_MUL_INT",
"OP_DIV_INT", "OP_REM_INT", "OP_AND_INT", "OP_OR_INT", "OP_XOR_INT", "OP_SHL_INT",
"OP_SHR_INT", "OP_USHR_INT", "OP_ADD_LONG", "OP_SUB_LONG", "OP_MUL_LONG",
"OP_DIV_LONG", "OP_REM_LONG", "OP_AND_LONG", "OP_OR_LONG", "OP_XOR_LONG",
"OP_SHL_LONG", "OP_SHR_LONG", "OP_USHR_LONG", "OP_ADD_FLOAT", "OP_SUB_FLOAT",
"OP_MUL_FLOAT", "OP_DIV_FLOAT", "OP_REM_FLOAT", "OP_ADD_DOUBLE", "OP_SUB_DOUBLE",
"OP_MUL_DOUBLE", "OP_DIV_DOUBLE", "OP_REM_DOUBLE", "OP_ADD_INT_2ADDR",
"OP_SUB_INT_2ADDR", "OP_MUL_INT_2ADDR", "OP_DIV_INT_2ADDR", "OP_REM_INT_2ADDR",
"OP_AND_INT_2ADDR", "OP_OR_INT_2ADDR", "OP_XOR_INT_2ADDR", "OP_SHL_INT_2ADDR",
"OP_SHR_INT_2ADDR", "OP_USHR_INT_2ADDR", "OP_ADD_LONG_2ADDR", "OP_SUB_LONG_2ADDR",
"OP_MUL_LONG_2ADDR", "OP_DIV_LONG_2ADDR", "OP_REM_LONG_2ADDR", "OP_AND_LONG_2ADDR",
"OP_OR_LONG_2ADDR", "OP_XOR_LONG_2ADDR", "OP_SHL_LONG_2ADDR", "OP_SHR_LONG_2ADDR",
"OP_USHR_LONG_2ADDR", "OP_ADD_FLOAT_2ADDR", "OP_SUB_FLOAT_2ADDR", "OP_MUL_FLOAT_2ADDR",
"OP_DIV_FLOAT_2ADDR", "OP_REM_FLOAT_2ADDR", "OP_ADD_DOUBLE_2ADDR", "OP_SUB_DOUBLE_2ADDR",
"OP_MUL_DOUBLE_2ADDR", "OP_DIV_DOUBLE_2ADDR", "OP_REM_DOUBLE_2ADDR", "OP_ADD_INT_LIT16",
"OP_RSUB_INT", "OP_MUL_INT_LIT16", "OP_DIV_INT_LIT16", "OP_REM_INT_LIT16",
"OP_AND_INT_LIT16", "OP_OR_INT_LIT16", "OP_XOR_INT_LIT16", "OP_ADD_INT_LIT8",
"OP_RSUB_INT_LIT8", "OP_MUL_INT_LIT8", "OP_DIV_INT_LIT8", "OP_REM_INT_LIT8",
"OP_AND_INT_LIT8", "OP_OR_INT_LIT8", "OP_XOR_INT_LIT8", "OP_SHL_INT_LIT8",
"OP_SHR_INT_LIT8", "OP_USHR_INT_LIT8", "OP_INVOKE_POLYMORPHIC", "OP_INVOKE_POLYMORPHIC_RANGE",
"OP_INVOKE_CUSTOM", "OP_INVOKE_CUSTOM_RANGE", "OP_CONST_METHOD_HANDLE",
"OP_CONST_METHOD_TYPE", "OP_PACKED_SWITCH", "OP_SPARSE_SWITCH", "DECIMAL_LITERAL",
"HEX_LITERAL", "OCT_LITERAL", "BINARY_LITERAL", "FLOAT_LITERAL", "HEX_FLOAT_LITERAL",
"BOOL_LITERAL", "NULL_LITERAL", "CHAR_LITERAL", "STRING_LITERAL", "IDENTIFIER",
"WS", "LINE_COMMENT",
}
var lexerRuleNames = []string{
"QUALIFIED_TYPE_NAME", "VOID_TYPE", "BOOLEAN_TYPE", "BYTE_TYPE", "SHORT_TYPE",
"CHAR_TYPE", "INT_TYPE", "LONG_TYPE", "FLOAT_TYPE", "DOUBLE_TYPE", "COMPOUND_METHOD_ARG_LITERAL",
"LBRACK", "RBRACK", "LPAREN", "RPAREN", "LBRACE", "RBRACE", "COLON", "ASSIGN",
"DOT", "SUB", "COMMA", "SLASH", "LT", "GT", "ARROW", "SEMI", "METHOD_DIRECTIVE",
"METHOD_END_DIRECTIVE", "CLASS_DIRECTIVE", "SOURCE_DIRECTIVE", "SUPER_DIRECTIVE",
"FIELD_DIRECTIVE", "REGISTERS_DIRECTIVE", "LOCALS_DIRECTIVE", "PARAM_DIRECTIVE",
"LINE_DIRECTIVE", "CATCH_DIRECTIVE", "CATCHALL_DIRECTIVE", "ANNOTATION_DIRECTIVE",
"ANNOTATION_END_DIRECTIVE", "LOCAL_DIRECTIVE", "LOCAL_END_DIRECTIVE", "RESTART_LOCAL_DIRECTIVE",
"PACKED_SWITCH_DIRECTIVE", "PACKED_SWITCH_END_DIRECTIVE", "ARRAY_DATA_DIRECTIVE",
"ARRAY_DATA_END_DIRECTIVE", "SPARSE_SWITCH_DIRECTIVE", "SPARSE_SWITCH_END_DIRECTIVE",
"PARAM_END_DIRECTIVE", "PUBLIC", "PRIVATE", "PROTECTED", "FINAL", "ANNOTATION",
"STATIC", "SYNTHETIC", "CONSTRUCTOR", "ABSTRACT", "ENUM", "INTERFACE",
"TRANSIENT", "BRIDGE", "DECLARED_SYNCHRONIZED", "VOLATILE", "STRICTFP",
"VARARGS", "NATIVE", "OP_NOP", "OP_MOVE", "OP_MOVE_FROM16", "OP_MOVE_16",
"OP_MOVE_WIDE", "OP_MOVE_WIDE_FROM16", "OP_MOVE_WIDE_16", "OP_MOVE_OBJECT",
"OP_MOVE_OBJECT_FROM16", "OP_MOVE_OBJECT_16", "OP_MOVE_RESULT", "OP_MOVE_RESULT_WIDE",
"OP_MOVE_RESULT_OBJECT", "OP_MOVE_EXCEPTION", "OP_RETURN_VOID", "OP_RETURN",
"OP_RETURN_WIDE", "OP_RETURN_OBJECT", "OP_CONST_4", "OP_CONST_16", "OP_CONST",
"OP_CONST_HIGH16", "OP_CONST_WIDE_16", "OP_CONST_WIDE_32", "OP_CONST_WIDE",
"OP_CONST_WIDE_HIGH16", "OP_CONST_STRING", "OP_CONST_STRING_JUMBO", "OP_CONST_CLASS",
"OP_MONITOR_ENTER", "OP_MONITOR_EXIT", "OP_CHECK_CAST", "OP_INSTANCE_OF",
"OP_ARRAY_LENGTH", "OP_NEW_INSTANCE", "OP_NEW_ARRAY", "OP_FILLED_NEW_ARRAY",
"OP_FILLED_NEW_ARRAY_RANGE", "OP_FILL_ARRAY_DATA", "OP_THROW", "OP_GOTO",
"OP_GOTO_16", "OP_GOTO_32", "OP_CMPL_FLOAT", "OP_CMPG_FLOAT", "OP_CMPL_DOUBLE",
"OP_CMPG_DOUBLE", "OP_CMP_LONG", "OP_IF_EQ", "OP_IF_NE", "OP_IF_LT", "OP_IF_GE",
"OP_IF_GT", "OP_IF_LE", "OP_IF_EQZ", "OP_IF_NEZ", "OP_IF_LTZ", "OP_IF_GEZ",
"OP_IF_GTZ", "OP_IF_LEZ", "OP_AGET", "OP_AGET_WIDE", "OP_AGET_OBJECT",
"OP_AGET_BOOLEAN", "OP_AGET_BYTE", "OP_AGET_CHAR", "OP_AGET_SHORT", "OP_APUT",
"OP_APUT_WIDE", "OP_APUT_OBJECT", "OP_APUT_BOOLEAN", "OP_APUT_BYTE", "OP_APUT_CHAR",
"OP_APUT_SHORT", "OP_IGET", "OP_IGET_WIDE", "OP_IGET_OBJECT", "OP_IGET_BOOLEAN",
"OP_IGET_BYTE", "OP_IGET_CHAR", "OP_IGET_SHORT", "OP_IPUT", "OP_IPUT_WIDE",
"OP_IPUT_OBJECT", "OP_IPUT_BOOLEAN", "OP_IPUT_BYTE", "OP_IPUT_CHAR", "OP_IPUT_SHORT",
"OP_SGET", "OP_SGET_WIDE", "OP_SGET_OBJECT", "OP_SGET_BOOLEAN", "OP_SGET_BYTE",
"OP_SGET_CHAR", "OP_SGET_SHORT", "OP_SPUT", "OP_SPUT_WIDE", "OP_SPUT_OBJECT",
"OP_SPUT_BOOLEAN", "OP_SPUT_BYTE", "OP_SPUT_CHAR", "OP_SPUT_SHORT", "OP_INVOKE_VIRTUAL",
"OP_INVOKE_SUPER", "OP_INVOKE_DIRECT", "OP_INVOKE_STATIC", "OP_INVOKE_INTERFACE",
"OP_INVOKE_VIRTUAL_RANGE", "OP_INVOKE_SUPER_RANGE", "OP_INVOKE_DIRECT_RANGE",
"OP_INVOKE_STATIC_RANGE", "OP_INVOKE_INTERFACE_RANGE", "OP_NEG_INT", "OP_NOT_INT",
"OP_NEG_LONG", "OP_NOT_LONG", "OP_NEG_FLOAT", "OP_NEG_DOUBLE", "OP_INT_TO_LONG",
"OP_INT_TO_FLOAT", "OP_INT_TO_DOUBLE", "OP_LONG_TO_INT", "OP_LONG_TO_FLOAT",
"OP_LONG_TO_DOUBLE", "OP_FLOAT_TO_INT", "OP_FLOAT_TO_LONG", "OP_FLOAT_TO_DOUBLE",
"OP_DOUBLE_TO_INT", "OP_DOUBLE_TO_LONG", "OP_DOUBLE_TO_FLOAT", "OP_INT_TO_BYTE",
"OP_INT_TO_CHAR", "OP_INT_TO_SHORT", "OP_ADD_INT", "OP_SUB_INT", "OP_MUL_INT",
"OP_DIV_INT", "OP_REM_INT", "OP_AND_INT", "OP_OR_INT", "OP_XOR_INT", "OP_SHL_INT",
"OP_SHR_INT", "OP_USHR_INT", "OP_ADD_LONG", "OP_SUB_LONG", "OP_MUL_LONG",
"OP_DIV_LONG", "OP_REM_LONG", "OP_AND_LONG", "OP_OR_LONG", "OP_XOR_LONG",
"OP_SHL_LONG", "OP_SHR_LONG", "OP_USHR_LONG", "OP_ADD_FLOAT", "OP_SUB_FLOAT",
"OP_MUL_FLOAT", "OP_DIV_FLOAT", "OP_REM_FLOAT", "OP_ADD_DOUBLE", "OP_SUB_DOUBLE",
"OP_MUL_DOUBLE", "OP_DIV_DOUBLE", "OP_REM_DOUBLE", "OP_ADD_INT_2ADDR",
"OP_SUB_INT_2ADDR", "OP_MUL_INT_2ADDR", "OP_DIV_INT_2ADDR", "OP_REM_INT_2ADDR",
"OP_AND_INT_2ADDR", "OP_OR_INT_2ADDR", "OP_XOR_INT_2ADDR", "OP_SHL_INT_2ADDR",
"OP_SHR_INT_2ADDR", "OP_USHR_INT_2ADDR", "OP_ADD_LONG_2ADDR", "OP_SUB_LONG_2ADDR",
"OP_MUL_LONG_2ADDR", "OP_DIV_LONG_2ADDR", "OP_REM_LONG_2ADDR", "OP_AND_LONG_2ADDR",
"OP_OR_LONG_2ADDR", "OP_XOR_LONG_2ADDR", "OP_SHL_LONG_2ADDR", "OP_SHR_LONG_2ADDR",
"OP_USHR_LONG_2ADDR", "OP_ADD_FLOAT_2ADDR", "OP_SUB_FLOAT_2ADDR", "OP_MUL_FLOAT_2ADDR",
"OP_DIV_FLOAT_2ADDR", "OP_REM_FLOAT_2ADDR", "OP_ADD_DOUBLE_2ADDR", "OP_SUB_DOUBLE_2ADDR",
"OP_MUL_DOUBLE_2ADDR", "OP_DIV_DOUBLE_2ADDR", "OP_REM_DOUBLE_2ADDR", "OP_ADD_INT_LIT16",
"OP_RSUB_INT", "OP_MUL_INT_LIT16", "OP_DIV_INT_LIT16", "OP_REM_INT_LIT16",
"OP_AND_INT_LIT16", "OP_OR_INT_LIT16", "OP_XOR_INT_LIT16", "OP_ADD_INT_LIT8",
"OP_RSUB_INT_LIT8", "OP_MUL_INT_LIT8", "OP_DIV_INT_LIT8", "OP_REM_INT_LIT8",
"OP_AND_INT_LIT8", "OP_OR_INT_LIT8", "OP_XOR_INT_LIT8", "OP_SHL_INT_LIT8",
"OP_SHR_INT_LIT8", "OP_USHR_INT_LIT8", "OP_INVOKE_POLYMORPHIC", "OP_INVOKE_POLYMORPHIC_RANGE",
"OP_INVOKE_CUSTOM", "OP_INVOKE_CUSTOM_RANGE", "OP_CONST_METHOD_HANDLE",
"OP_CONST_METHOD_TYPE", "OP_PACKED_SWITCH", "OP_SPARSE_SWITCH", "DECIMAL_LITERAL",
"HEX_LITERAL", "OCT_LITERAL", "BINARY_LITERAL", "FLOAT_LITERAL", "HEX_FLOAT_LITERAL",
"BOOL_LITERAL", "NULL_LITERAL", "CHAR_LITERAL", "STRING_LITERAL", "IDENTIFIER",
"CHARACTER", "WS", "LINE_COMMENT", "SimpleName", "ExponentPart", "EscapeSequence",
"HexDigits", "HexDigit", "Digits", "LetterOrDigit", "Letter",
}
type SmaliLexer struct {
*antlr.BaseLexer
channelNames []string
modeNames []string
// TODO: EOF string
}
var lexerDecisionToDFA = make([]*antlr.DFA, len(lexerAtn.DecisionToState))
func init() {
for index, ds := range lexerAtn.DecisionToState {
lexerDecisionToDFA[index] = antlr.NewDFA(ds, index)
}
}
func NewSmaliLexer(input antlr.CharStream) *SmaliLexer {
l := new(SmaliLexer)
l.BaseLexer = antlr.NewBaseLexer(input)
l.Interpreter = antlr.NewLexerATNSimulator(l, lexerAtn, lexerDecisionToDFA, antlr.NewPredictionContextCache())
l.channelNames = lexerChannelNames
l.modeNames = lexerModeNames
l.RuleNames = lexerRuleNames
l.LiteralNames = lexerLiteralNames
l.SymbolicNames = lexerSymbolicNames
l.GrammarFileName = "SmaliLexer.g4"
// TODO: l.EOF = antlr.TokenEOF
return l
}
// SmaliLexer tokens.
const (
SmaliLexerQUALIFIED_TYPE_NAME = 1
SmaliLexerVOID_TYPE = 2
SmaliLexerBOOLEAN_TYPE = 3
SmaliLexerBYTE_TYPE = 4
SmaliLexerSHORT_TYPE = 5
SmaliLexerCHAR_TYPE = 6
SmaliLexerINT_TYPE = 7
SmaliLexerLONG_TYPE = 8
SmaliLexerFLOAT_TYPE = 9
SmaliLexerDOUBLE_TYPE = 10
SmaliLexerCOMPOUND_METHOD_ARG_LITERAL = 11
SmaliLexerLBRACK = 12
SmaliLexerRBRACK = 13
SmaliLexerLPAREN = 14
SmaliLexerRPAREN = 15
SmaliLexerLBRACE = 16
SmaliLexerRBRACE = 17
SmaliLexerCOLON = 18
SmaliLexerASSIGN = 19
SmaliLexerDOT = 20
SmaliLexerSUB = 21
SmaliLexerCOMMA = 22
SmaliLexerSLASH = 23
SmaliLexerLT = 24
SmaliLexerGT = 25
SmaliLexerARROW = 26
SmaliLexerSEMI = 27
SmaliLexerMETHOD_DIRECTIVE = 28
SmaliLexerMETHOD_END_DIRECTIVE = 29
SmaliLexerCLASS_DIRECTIVE = 30
SmaliLexerSOURCE_DIRECTIVE = 31
SmaliLexerSUPER_DIRECTIVE = 32
SmaliLexerFIELD_DIRECTIVE = 33
SmaliLexerREGISTERS_DIRECTIVE = 34
SmaliLexerLOCALS_DIRECTIVE = 35
SmaliLexerPARAM_DIRECTIVE = 36
SmaliLexerLINE_DIRECTIVE = 37
SmaliLexerCATCH_DIRECTIVE = 38
SmaliLexerCATCHALL_DIRECTIVE = 39
SmaliLexerANNOTATION_DIRECTIVE = 40
SmaliLexerANNOTATION_END_DIRECTIVE = 41
SmaliLexerLOCAL_DIRECTIVE = 42
SmaliLexerLOCAL_END_DIRECTIVE = 43
SmaliLexerRESTART_LOCAL_DIRECTIVE = 44
SmaliLexerPACKED_SWITCH_DIRECTIVE = 45
SmaliLexerPACKED_SWITCH_END_DIRECTIVE = 46
SmaliLexerARRAY_DATA_DIRECTIVE = 47
SmaliLexerARRAY_DATA_END_DIRECTIVE = 48
SmaliLexerSPARSE_SWITCH_DIRECTIVE = 49
SmaliLexerSPARSE_SWITCH_END_DIRECTIVE = 50
SmaliLexerPARAM_END_DIRECTIVE = 51
SmaliLexerPUBLIC = 52
SmaliLexerPRIVATE = 53
SmaliLexerPROTECTED = 54
SmaliLexerFINAL = 55
SmaliLexerANNOTATION = 56
SmaliLexerSTATIC = 57
SmaliLexerSYNTHETIC = 58
SmaliLexerCONSTRUCTOR = 59
SmaliLexerABSTRACT = 60
SmaliLexerENUM = 61
SmaliLexerINTERFACE = 62
SmaliLexerTRANSIENT = 63
SmaliLexerBRIDGE = 64
SmaliLexerDECLARED_SYNCHRONIZED = 65
SmaliLexerVOLATILE = 66
SmaliLexerSTRICTFP = 67
SmaliLexerVARARGS = 68
SmaliLexerNATIVE = 69
SmaliLexerOP_NOP = 70
SmaliLexerOP_MOVE = 71
SmaliLexerOP_MOVE_FROM16 = 72
SmaliLexerOP_MOVE_16 = 73
SmaliLexerOP_MOVE_WIDE = 74
SmaliLexerOP_MOVE_WIDE_FROM16 = 75
SmaliLexerOP_MOVE_WIDE_16 = 76
SmaliLexerOP_MOVE_OBJECT = 77
SmaliLexerOP_MOVE_OBJECT_FROM16 = 78
SmaliLexerOP_MOVE_OBJECT_16 = 79
SmaliLexerOP_MOVE_RESULT = 80
SmaliLexerOP_MOVE_RESULT_WIDE = 81
SmaliLexerOP_MOVE_RESULT_OBJECT = 82
SmaliLexerOP_MOVE_EXCEPTION = 83
SmaliLexerOP_RETURN_VOID = 84
SmaliLexerOP_RETURN = 85
SmaliLexerOP_RETURN_WIDE = 86
SmaliLexerOP_RETURN_OBJECT = 87
SmaliLexerOP_CONST_4 = 88
SmaliLexerOP_CONST_16 = 89
SmaliLexerOP_CONST = 90
SmaliLexerOP_CONST_HIGH16 = 91
SmaliLexerOP_CONST_WIDE_16 = 92
SmaliLexerOP_CONST_WIDE_32 = 93
SmaliLexerOP_CONST_WIDE = 94
SmaliLexerOP_CONST_WIDE_HIGH16 = 95
SmaliLexerOP_CONST_STRING = 96
SmaliLexerOP_CONST_STRING_JUMBO = 97
SmaliLexerOP_CONST_CLASS = 98
SmaliLexerOP_MONITOR_ENTER = 99
SmaliLexerOP_MONITOR_EXIT = 100
SmaliLexerOP_CHECK_CAST = 101
SmaliLexerOP_INSTANCE_OF = 102
SmaliLexerOP_ARRAY_LENGTH = 103
SmaliLexerOP_NEW_INSTANCE = 104
SmaliLexerOP_NEW_ARRAY = 105
SmaliLexerOP_FILLED_NEW_ARRAY = 106
SmaliLexerOP_FILLED_NEW_ARRAY_RANGE = 107
SmaliLexerOP_FILL_ARRAY_DATA = 108
SmaliLexerOP_THROW = 109
SmaliLexerOP_GOTO = 110
SmaliLexerOP_GOTO_16 = 111
SmaliLexerOP_GOTO_32 = 112
SmaliLexerOP_CMPL_FLOAT = 113
SmaliLexerOP_CMPG_FLOAT = 114
SmaliLexerOP_CMPL_DOUBLE = 115
SmaliLexerOP_CMPG_DOUBLE = 116
SmaliLexerOP_CMP_LONG = 117
SmaliLexerOP_IF_EQ = 118
SmaliLexerOP_IF_NE = 119
SmaliLexerOP_IF_LT = 120
SmaliLexerOP_IF_GE = 121
SmaliLexerOP_IF_GT = 122
SmaliLexerOP_IF_LE = 123
SmaliLexerOP_IF_EQZ = 124
SmaliLexerOP_IF_NEZ = 125
SmaliLexerOP_IF_LTZ = 126
SmaliLexerOP_IF_GEZ = 127
SmaliLexerOP_IF_GTZ = 128
SmaliLexerOP_IF_LEZ = 129
SmaliLexerOP_AGET = 130
SmaliLexerOP_AGET_WIDE = 131
SmaliLexerOP_AGET_OBJECT = 132
SmaliLexerOP_AGET_BOOLEAN = 133
SmaliLexerOP_AGET_BYTE = 134
SmaliLexerOP_AGET_CHAR = 135
SmaliLexerOP_AGET_SHORT = 136
SmaliLexerOP_APUT = 137
SmaliLexerOP_APUT_WIDE = 138
SmaliLexerOP_APUT_OBJECT = 139
SmaliLexerOP_APUT_BOOLEAN = 140
SmaliLexerOP_APUT_BYTE = 141
SmaliLexerOP_APUT_CHAR = 142
SmaliLexerOP_APUT_SHORT = 143
SmaliLexerOP_IGET = 144
SmaliLexerOP_IGET_WIDE = 145
SmaliLexerOP_IGET_OBJECT = 146
SmaliLexerOP_IGET_BOOLEAN = 147
SmaliLexerOP_IGET_BYTE = 148
SmaliLexerOP_IGET_CHAR = 149
SmaliLexerOP_IGET_SHORT = 150
SmaliLexerOP_IPUT = 151
SmaliLexerOP_IPUT_WIDE = 152
SmaliLexerOP_IPUT_OBJECT = 153
SmaliLexerOP_IPUT_BOOLEAN = 154
SmaliLexerOP_IPUT_BYTE = 155
SmaliLexerOP_IPUT_CHAR = 156
SmaliLexerOP_IPUT_SHORT = 157
SmaliLexerOP_SGET = 158
SmaliLexerOP_SGET_WIDE = 159
SmaliLexerOP_SGET_OBJECT = 160
SmaliLexerOP_SGET_BOOLEAN = 161
SmaliLexerOP_SGET_BYTE = 162
SmaliLexerOP_SGET_CHAR = 163
SmaliLexerOP_SGET_SHORT = 164
SmaliLexerOP_SPUT = 165
SmaliLexerOP_SPUT_WIDE = 166
SmaliLexerOP_SPUT_OBJECT = 167
SmaliLexerOP_SPUT_BOOLEAN = 168
SmaliLexerOP_SPUT_BYTE = 169
SmaliLexerOP_SPUT_CHAR = 170
SmaliLexerOP_SPUT_SHORT = 171
SmaliLexerOP_INVOKE_VIRTUAL = 172
SmaliLexerOP_INVOKE_SUPER = 173
SmaliLexerOP_INVOKE_DIRECT = 174
SmaliLexerOP_INVOKE_STATIC = 175
SmaliLexerOP_INVOKE_INTERFACE = 176
SmaliLexerOP_INVOKE_VIRTUAL_RANGE = 177
SmaliLexerOP_INVOKE_SUPER_RANGE = 178
SmaliLexerOP_INVOKE_DIRECT_RANGE = 179
SmaliLexerOP_INVOKE_STATIC_RANGE = 180
SmaliLexerOP_INVOKE_INTERFACE_RANGE = 181
SmaliLexerOP_NEG_INT = 182
SmaliLexerOP_NOT_INT = 183
SmaliLexerOP_NEG_LONG = 184
SmaliLexerOP_NOT_LONG = 185
SmaliLexerOP_NEG_FLOAT = 186
SmaliLexerOP_NEG_DOUBLE = 187
SmaliLexerOP_INT_TO_LONG = 188
SmaliLexerOP_INT_TO_FLOAT = 189
SmaliLexerOP_INT_TO_DOUBLE = 190
SmaliLexerOP_LONG_TO_INT = 191
SmaliLexerOP_LONG_TO_FLOAT = 192
SmaliLexerOP_LONG_TO_DOUBLE = 193
SmaliLexerOP_FLOAT_TO_INT = 194
SmaliLexerOP_FLOAT_TO_LONG = 195
SmaliLexerOP_FLOAT_TO_DOUBLE = 196
SmaliLexerOP_DOUBLE_TO_INT = 197
SmaliLexerOP_DOUBLE_TO_LONG = 198
SmaliLexerOP_DOUBLE_TO_FLOAT = 199
SmaliLexerOP_INT_TO_BYTE = 200
SmaliLexerOP_INT_TO_CHAR = 201
SmaliLexerOP_INT_TO_SHORT = 202
SmaliLexerOP_ADD_INT = 203
SmaliLexerOP_SUB_INT = 204
SmaliLexerOP_MUL_INT = 205
SmaliLexerOP_DIV_INT = 206
SmaliLexerOP_REM_INT = 207
SmaliLexerOP_AND_INT = 208
SmaliLexerOP_OR_INT = 209
SmaliLexerOP_XOR_INT = 210
SmaliLexerOP_SHL_INT = 211
SmaliLexerOP_SHR_INT = 212
SmaliLexerOP_USHR_INT = 213
SmaliLexerOP_ADD_LONG = 214
SmaliLexerOP_SUB_LONG = 215
SmaliLexerOP_MUL_LONG = 216
SmaliLexerOP_DIV_LONG = 217
SmaliLexerOP_REM_LONG = 218
SmaliLexerOP_AND_LONG = 219
SmaliLexerOP_OR_LONG = 220
SmaliLexerOP_XOR_LONG = 221
SmaliLexerOP_SHL_LONG = 222
SmaliLexerOP_SHR_LONG = 223
SmaliLexerOP_USHR_LONG = 224
SmaliLexerOP_ADD_FLOAT = 225
SmaliLexerOP_SUB_FLOAT = 226
SmaliLexerOP_MUL_FLOAT = 227
SmaliLexerOP_DIV_FLOAT = 228
SmaliLexerOP_REM_FLOAT = 229
SmaliLexerOP_ADD_DOUBLE = 230
SmaliLexerOP_SUB_DOUBLE = 231
SmaliLexerOP_MUL_DOUBLE = 232
SmaliLexerOP_DIV_DOUBLE = 233
SmaliLexerOP_REM_DOUBLE = 234
SmaliLexerOP_ADD_INT_2ADDR = 235
SmaliLexerOP_SUB_INT_2ADDR = 236
SmaliLexerOP_MUL_INT_2ADDR = 237
SmaliLexerOP_DIV_INT_2ADDR = 238
SmaliLexerOP_REM_INT_2ADDR = 239
SmaliLexerOP_AND_INT_2ADDR = 240
SmaliLexerOP_OR_INT_2ADDR = 241
SmaliLexerOP_XOR_INT_2ADDR = 242
SmaliLexerOP_SHL_INT_2ADDR = 243
SmaliLexerOP_SHR_INT_2ADDR = 244
SmaliLexerOP_USHR_INT_2ADDR = 245
SmaliLexerOP_ADD_LONG_2ADDR = 246
SmaliLexerOP_SUB_LONG_2ADDR = 247
SmaliLexerOP_MUL_LONG_2ADDR = 248
SmaliLexerOP_DIV_LONG_2ADDR = 249
SmaliLexerOP_REM_LONG_2ADDR = 250
SmaliLexerOP_AND_LONG_2ADDR = 251
SmaliLexerOP_OR_LONG_2ADDR = 252
SmaliLexerOP_XOR_LONG_2ADDR = 253
SmaliLexerOP_SHL_LONG_2ADDR = 254
SmaliLexerOP_SHR_LONG_2ADDR = 255
SmaliLexerOP_USHR_LONG_2ADDR = 256
SmaliLexerOP_ADD_FLOAT_2ADDR = 257
SmaliLexerOP_SUB_FLOAT_2ADDR = 258
SmaliLexerOP_MUL_FLOAT_2ADDR = 259
SmaliLexerOP_DIV_FLOAT_2ADDR = 260
SmaliLexerOP_REM_FLOAT_2ADDR = 261
SmaliLexerOP_ADD_DOUBLE_2ADDR = 262
SmaliLexerOP_SUB_DOUBLE_2ADDR = 263
SmaliLexerOP_MUL_DOUBLE_2ADDR = 264
SmaliLexerOP_DIV_DOUBLE_2ADDR = 265
SmaliLexerOP_REM_DOUBLE_2ADDR = 266
SmaliLexerOP_ADD_INT_LIT16 = 267
SmaliLexerOP_RSUB_INT = 268
SmaliLexerOP_MUL_INT_LIT16 = 269
SmaliLexerOP_DIV_INT_LIT16 = 270
SmaliLexerOP_REM_INT_LIT16 = 271
SmaliLexerOP_AND_INT_LIT16 = 272
SmaliLexerOP_OR_INT_LIT16 = 273
SmaliLexerOP_XOR_INT_LIT16 = 274
SmaliLexerOP_ADD_INT_LIT8 = 275
SmaliLexerOP_RSUB_INT_LIT8 = 276
SmaliLexerOP_MUL_INT_LIT8 = 277
SmaliLexerOP_DIV_INT_LIT8 = 278
SmaliLexerOP_REM_INT_LIT8 = 279
SmaliLexerOP_AND_INT_LIT8 = 280
SmaliLexerOP_OR_INT_LIT8 = 281
SmaliLexerOP_XOR_INT_LIT8 = 282
SmaliLexerOP_SHL_INT_LIT8 = 283
SmaliLexerOP_SHR_INT_LIT8 = 284
SmaliLexerOP_USHR_INT_LIT8 = 285
SmaliLexerOP_INVOKE_POLYMORPHIC = 286
SmaliLexerOP_INVOKE_POLYMORPHIC_RANGE = 287
SmaliLexerOP_INVOKE_CUSTOM = 288
SmaliLexerOP_INVOKE_CUSTOM_RANGE = 289
SmaliLexerOP_CONST_METHOD_HANDLE = 290
SmaliLexerOP_CONST_METHOD_TYPE = 291
SmaliLexerOP_PACKED_SWITCH = 292
SmaliLexerOP_SPARSE_SWITCH = 293
SmaliLexerDECIMAL_LITERAL = 294
SmaliLexerHEX_LITERAL = 295
SmaliLexerOCT_LITERAL = 296
SmaliLexerBINARY_LITERAL = 297
SmaliLexerFLOAT_LITERAL = 298
SmaliLexerHEX_FLOAT_LITERAL = 299
SmaliLexerBOOL_LITERAL = 300
SmaliLexerNULL_LITERAL = 301
SmaliLexerCHAR_LITERAL = 302
SmaliLexerSTRING_LITERAL = 303
SmaliLexerIDENTIFIER = 304
SmaliLexerWS = 305
SmaliLexerLINE_COMMENT = 306
)
This file has been truncated, but you can view the full file.
// Code generated from SmaliParser.g4 by ANTLR 4.7.2. DO NOT EDIT.
package parser // SmaliParser
import (
"fmt"
"reflect"
"strconv"
"github.com/antlr/antlr4/runtime/Go/antlr"
)
// Suppress unused import errors
var _ = fmt.Printf
var _ = reflect.Copy
var _ = strconv.Itoa
var parserATN = []uint16{
3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 308, 2647,
4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7,
4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13,
9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9,
18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23,
4, 24, 9, 24, 4, 25, 9, 25, 4, 26, 9, 26, 4, 27, 9, 27, 4, 28, 9, 28, 4,
29, 9, 29, 4, 30, 9, 30, 4, 31, 9, 31, 4, 32, 9, 32, 4, 33, 9, 33, 4, 34,
9, 34, 4, 35, 9, 35, 4, 36, 9, 36, 4, 37, 9, 37, 4, 38, 9, 38, 4, 39, 9,
39, 4, 40, 9, 40, 4, 41, 9, 41, 4, 42, 9, 42, 4, 43, 9, 43, 4, 44, 9, 44,
4, 45, 9, 45, 4, 46, 9, 46, 4, 47, 9, 47, 4, 48, 9, 48, 4, 49, 9, 49, 4,
50, 9, 50, 4, 51, 9, 51, 4, 52, 9, 52, 4, 53, 9, 53, 4, 54, 9, 54, 4, 55,
9, 55, 4, 56, 9, 56, 4, 57, 9, 57, 4, 58, 9, 58, 4, 59, 9, 59, 4, 60, 9,
60, 4, 61, 9, 61, 4, 62, 9, 62, 4, 63, 9, 63, 4, 64, 9, 64, 4, 65, 9, 65,
4, 66, 9, 66, 4, 67, 9, 67, 4, 68, 9, 68, 4, 69, 9, 69, 4, 70, 9, 70, 4,
71, 9, 71, 4, 72, 9, 72, 4, 73, 9, 73, 4, 74, 9, 74, 4, 75, 9, 75, 4, 76,
9, 76, 4, 77, 9, 77, 4, 78, 9, 78, 4, 79, 9, 79, 4, 80, 9, 80, 4, 81, 9,
81, 4, 82, 9, 82, 4, 83, 9, 83, 4, 84, 9, 84, 4, 85, 9, 85, 4, 86, 9, 86,
4, 87, 9, 87, 4, 88, 9, 88, 4, 89, 9, 89, 4, 90, 9, 90, 4, 91, 9, 91, 4,
92, 9, 92, 4, 93, 9, 93, 4, 94, 9, 94, 4, 95, 9, 95, 4, 96, 9, 96, 4, 97,
9, 97, 4, 98, 9, 98, 4, 99, 9, 99, 4, 100, 9, 100, 4, 101, 9, 101, 4, 102,
9, 102, 4, 103, 9, 103, 4, 104, 9, 104, 4, 105, 9, 105, 4, 106, 9, 106,
4, 107, 9, 107, 4, 108, 9, 108, 4, 109, 9, 109, 4, 110, 9, 110, 4, 111,
9, 111, 4, 112, 9, 112, 4, 113, 9, 113, 4, 114, 9, 114, 4, 115, 9, 115,
4, 116, 9, 116, 4, 117, 9, 117, 4, 118, 9, 118, 4, 119, 9, 119, 4, 120,
9, 120, 4, 121, 9, 121, 4, 122, 9, 122, 4, 123, 9, 123, 4, 124, 9, 124,
4, 125, 9, 125, 4, 126, 9, 126, 4, 127, 9, 127, 4, 128, 9, 128, 4, 129,
9, 129, 4, 130, 9, 130, 4, 131, 9, 131, 4, 132, 9, 132, 4, 133, 9, 133,
4, 134, 9, 134, 4, 135, 9, 135, 4, 136, 9, 136, 4, 137, 9, 137, 4, 138,
9, 138, 4, 139, 9, 139, 4, 140, 9, 140, 4, 141, 9, 141, 4, 142, 9, 142,
4, 143, 9, 143, 4, 144, 9, 144, 4, 145, 9, 145, 4, 146, 9, 146, 4, 147,
9, 147, 4, 148, 9, 148, 4, 149, 9, 149, 4, 150, 9, 150, 4, 151, 9, 151,
4, 152, 9, 152, 4, 153, 9, 153, 4, 154, 9, 154, 4, 155, 9, 155, 4, 156,
9, 156, 4, 157, 9, 157, 4, 158, 9, 158, 4, 159, 9, 159, 4, 160, 9, 160,
4, 161, 9, 161, 4, 162, 9, 162, 4, 163, 9, 163, 4, 164, 9, 164, 4, 165,
9, 165, 4, 166, 9, 166, 4, 167, 9, 167, 4, 168, 9, 168, 4, 169, 9, 169,
4, 170, 9, 170, 4, 171, 9, 171, 4, 172, 9, 172, 4, 173, 9, 173, 4, 174,
9, 174, 4, 175, 9, 175, 4, 176, 9, 176, 4, 177, 9, 177, 4, 178, 9, 178,
4, 179, 9, 179, 4, 180, 9, 180, 4, 181, 9, 181, 4, 182, 9, 182, 4, 183,
9, 183, 4, 184, 9, 184, 4, 185, 9, 185, 4, 186, 9, 186, 4, 187, 9, 187,
4, 188, 9, 188, 4, 189, 9, 189, 4, 190, 9, 190, 4, 191, 9, 191, 4, 192,
9, 192, 4, 193, 9, 193, 4, 194, 9, 194, 4, 195, 9, 195, 4, 196, 9, 196,
4, 197, 9, 197, 4, 198, 9, 198, 4, 199, 9, 199, 4, 200, 9, 200, 4, 201,
9, 201, 4, 202, 9, 202, 4, 203, 9, 203, 4, 204, 9, 204, 4, 205, 9, 205,
4, 206, 9, 206, 4, 207, 9, 207, 4, 208, 9, 208, 4, 209, 9, 209, 4, 210,
9, 210, 4, 211, 9, 211, 4, 212, 9, 212, 4, 213, 9, 213, 4, 214, 9, 214,
4, 215, 9, 215, 4, 216, 9, 216, 4, 217, 9, 217, 4, 218, 9, 218, 4, 219,
9, 219, 4, 220, 9, 220, 4, 221, 9, 221, 4, 222, 9, 222, 4, 223, 9, 223,
4, 224, 9, 224, 4, 225, 9, 225, 4, 226, 9, 226, 4, 227, 9, 227, 4, 228,
9, 228, 4, 229, 9, 229, 4, 230, 9, 230, 4, 231, 9, 231, 4, 232, 9, 232,
4, 233, 9, 233, 4, 234, 9, 234, 4, 235, 9, 235, 4, 236, 9, 236, 4, 237,
9, 237, 4, 238, 9, 238, 4, 239, 9, 239, 4, 240, 9, 240, 4, 241, 9, 241,
4, 242, 9, 242, 4, 243, 9, 243, 4, 244, 9, 244, 4, 245, 9, 245, 4, 246,
9, 246, 4, 247, 9, 247, 4, 248, 9, 248, 4, 249, 9, 249, 4, 250, 9, 250,
4, 251, 9, 251, 4, 252, 9, 252, 4, 253, 9, 253, 4, 254, 9, 254, 4, 255,
9, 255, 4, 256, 9, 256, 4, 257, 9, 257, 4, 258, 9, 258, 4, 259, 9, 259,
4, 260, 9, 260, 4, 261, 9, 261, 4, 262, 9, 262, 4, 263, 9, 263, 4, 264,
9, 264, 4, 265, 9, 265, 4, 266, 9, 266, 4, 267, 9, 267, 4, 268, 9, 268,
4, 269, 9, 269, 4, 270, 9, 270, 4, 271, 9, 271, 4, 272, 9, 272, 4, 273,
9, 273, 4, 274, 9, 274, 4, 275, 9, 275, 4, 276, 9, 276, 4, 277, 9, 277,
4, 278, 9, 278, 4, 279, 9, 279, 4, 280, 9, 280, 4, 281, 9, 281, 4, 282,
9, 282, 4, 283, 9, 283, 4, 284, 9, 284, 4, 285, 9, 285, 4, 286, 9, 286,
4, 287, 9, 287, 4, 288, 9, 288, 4, 289, 9, 289, 4, 290, 9, 290, 4, 291,
9, 291, 4, 292, 9, 292, 4, 293, 9, 293, 4, 294, 9, 294, 4, 295, 9, 295,
4, 296, 9, 296, 4, 297, 9, 297, 4, 298, 9, 298, 4, 299, 9, 299, 4, 300,
9, 300, 4, 301, 9, 301, 4, 302, 9, 302, 4, 303, 9, 303, 4, 304, 9, 304,
4, 305, 9, 305, 4, 306, 9, 306, 4, 307, 9, 307, 4, 308, 9, 308, 4, 309,
9, 309, 4, 310, 9, 310, 4, 311, 9, 311, 4, 312, 9, 312, 4, 313, 9, 313,
4, 314, 9, 314, 4, 315, 9, 315, 4, 316, 9, 316, 4, 317, 9, 317, 4, 318,
9, 318, 4, 319, 9, 319, 4, 320, 9, 320, 4, 321, 9, 321, 4, 322, 9, 322,
4, 323, 9, 323, 4, 324, 9, 324, 4, 325, 9, 325, 4, 326, 9, 326, 4, 327,
9, 327, 4, 328, 9, 328, 4, 329, 9, 329, 4, 330, 9, 330, 4, 331, 9, 331,
4, 332, 9, 332, 4, 333, 9, 333, 4, 334, 9, 334, 4, 335, 9, 335, 4, 336,
9, 336, 4, 337, 9, 337, 4, 338, 9, 338, 4, 339, 9, 339, 4, 340, 9, 340,
4, 341, 9, 341, 4, 342, 9, 342, 4, 343, 9, 343, 4, 344, 9, 344, 4, 345,
9, 345, 4, 346, 9, 346, 4, 347, 9, 347, 3, 2, 3, 2, 3, 3, 3, 3, 3, 4, 3,
4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 9, 3, 9, 3,
10, 3, 10, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 5, 11, 720, 10, 11,
3, 12, 3, 12, 5, 12, 724, 10, 12, 3, 13, 6, 13, 727, 10, 13, 13, 13, 14,
13, 728, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 3, 18,
3, 18, 3, 19, 3, 19, 3, 20, 3, 20, 3, 21, 3, 21, 3, 22, 3, 22, 3, 23, 3,
23, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 5, 24, 759,
10, 24, 3, 25, 3, 25, 5, 25, 763, 10, 25, 3, 26, 3, 26, 3, 27, 3, 27, 3,
27, 3, 27, 5, 27, 771, 10, 27, 3, 28, 3, 28, 5, 28, 775, 10, 28, 3, 29,
3, 29, 5, 29, 779, 10, 29, 3, 30, 3, 30, 3, 30, 5, 30, 784, 10, 30, 3,
31, 3, 31, 3, 32, 3, 32, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 5, 33, 795,
10, 33, 3, 34, 3, 34, 3, 35, 3, 35, 3, 36, 3, 36, 3, 37, 3, 37, 3, 38,
3, 38, 3, 38, 3, 39, 3, 39, 3, 40, 3, 40, 3, 41, 3, 41, 3, 41, 7, 41, 815,
10, 41, 12, 41, 14, 41, 818, 11, 41, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42,
3, 42, 3, 42, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 3, 43, 5, 43, 833, 10,
43, 3, 44, 3, 44, 3, 44, 3, 45, 3, 45, 3, 45, 3, 46, 3, 46, 3, 46, 3, 47,
3, 47, 3, 47, 3, 48, 3, 48, 3, 48, 3, 49, 3, 49, 3, 49, 3, 50, 3, 50, 3,
50, 3, 51, 3, 51, 3, 51, 3, 52, 3, 52, 3, 52, 3, 53, 3, 53, 3, 53, 3, 54,
3, 54, 3, 54, 3, 55, 3, 55, 3, 55, 3, 56, 3, 56, 3, 56, 3, 57, 3, 57, 3,
58, 3, 58, 3, 59, 3, 59, 3, 59, 3, 59, 3, 59, 3, 60, 3, 60, 3, 60, 3, 60,
3, 60, 3, 61, 3, 61, 3, 61, 3, 61, 3, 61, 3, 62, 3, 62, 3, 62, 3, 62, 3,
62, 3, 63, 3, 63, 3, 63, 3, 63, 3, 63, 3, 64, 3, 64, 3, 64, 3, 64, 3, 64,
3, 65, 3, 65, 3, 65, 3, 65, 3, 65, 3, 66, 3, 66, 3, 66, 3, 66, 3, 66, 3,
67, 3, 67, 3, 67, 3, 67, 3, 67, 3, 68, 3, 68, 3, 68, 3, 68, 3, 68, 3, 69,
3, 69, 3, 69, 3, 69, 3, 69, 3, 70, 3, 70, 3, 70, 3, 70, 3, 70, 3, 71, 3,
71, 3, 71, 3, 71, 3, 71, 3, 72, 3, 72, 3, 72, 3, 72, 3, 72, 3, 73, 3, 73,
3, 73, 3, 73, 3, 73, 3, 74, 3, 74, 3, 74, 3, 74, 3, 74, 3, 75, 3, 75, 3,
75, 3, 75, 3, 75, 3, 76, 3, 76, 3, 76, 3, 76, 3, 76, 3, 77, 3, 77, 3, 77,
3, 77, 3, 77, 3, 78, 3, 78, 3, 78, 3, 78, 3, 78, 3, 79, 3, 79, 3, 79, 3,
79, 3, 79, 3, 80, 3, 80, 3, 80, 3, 80, 3, 80, 3, 81, 3, 81, 3, 81, 3, 81,
3, 81, 3, 82, 3, 82, 3, 82, 3, 82, 3, 82, 3, 83, 3, 83, 3, 83, 3, 83, 3,
83, 3, 84, 3, 84, 3, 84, 3, 84, 3, 84, 3, 85, 3, 85, 3, 85, 3, 85, 3, 85,
3, 86, 3, 86, 3, 86, 3, 86, 3, 86, 3, 87, 3, 87, 3, 87, 3, 87, 3, 87, 3,
88, 3, 88, 3, 88, 3, 88, 3, 88, 3, 89, 3, 89, 3, 89, 3, 89, 3, 89, 3, 90,
3, 90, 3, 90, 3, 90, 3, 90, 3, 91, 3, 91, 3, 91, 3, 91, 3, 91, 3, 92, 3,
92, 3, 92, 3, 92, 3, 92, 3, 93, 3, 93, 3, 93, 3, 93, 3, 93, 3, 94, 3, 94,
3, 94, 3, 94, 3, 94, 3, 95, 3, 95, 3, 95, 3, 95, 3, 95, 3, 96, 3, 96, 3,
96, 3, 96, 3, 96, 3, 97, 3, 97, 3, 97, 3, 97, 3, 97, 3, 98, 3, 98, 3, 98,
3, 98, 3, 98, 3, 99, 3, 99, 3, 99, 3, 99, 3, 99, 3, 100, 3, 100, 3, 100,
3, 100, 3, 100, 3, 101, 3, 101, 3, 101, 3, 101, 3, 101, 3, 102, 3, 102,
3, 102, 3, 102, 3, 102, 3, 103, 3, 103, 3, 103, 3, 103, 3, 103, 3, 104,
3, 104, 3, 104, 3, 104, 3, 104, 3, 105, 3, 105, 3, 105, 3, 105, 3, 105,
3, 106, 3, 106, 3, 106, 3, 106, 3, 106, 3, 107, 3, 107, 3, 107, 3, 107,
3, 107, 3, 108, 3, 108, 3, 108, 3, 108, 3, 108, 3, 109, 3, 109, 3, 109,
3, 109, 3, 109, 3, 110, 3, 110, 3, 110, 3, 110, 3, 110, 3, 111, 3, 111,
3, 111, 3, 111, 3, 111, 3, 112, 3, 112, 3, 112, 3, 112, 3, 112, 3, 113,
3, 113, 3, 113, 3, 113, 3, 113, 3, 114, 3, 114, 3, 114, 3, 114, 3, 114,
3, 115, 3, 115, 3, 115, 3, 115, 3, 115, 3, 116, 3, 116, 3, 116, 3, 116,
3, 116, 3, 117, 3, 117, 3, 117, 3, 117, 3, 117, 3, 118, 3, 118, 3, 119,
3, 119, 3, 119, 3, 119, 3, 119, 3, 120, 3, 120, 3, 120, 3, 120, 3, 120,
3, 121, 3, 121, 3, 121, 3, 121, 3, 121, 3, 122, 3, 122, 3, 122, 3, 122,
3, 122, 3, 123, 3, 123, 3, 123, 3, 123, 3, 123, 3, 124, 3, 124, 3, 124,
3, 124, 3, 124, 3, 125, 3, 125, 3, 125, 3, 125, 3, 125, 3, 126, 3, 126,
3, 126, 3, 126, 3, 126, 3, 127, 3, 127, 3, 127, 3, 127, 3, 127, 3, 128,
3, 128, 3, 128, 3, 128, 3, 128, 3, 129, 3, 129, 3, 129, 3, 129, 3, 129,
3, 130, 3, 130, 3, 130, 3, 130, 3, 130, 3, 131, 3, 131, 3, 131, 3, 131,
3, 131, 3, 131, 3, 131, 3, 132, 3, 132, 3, 132, 3, 132, 3, 132, 3, 132,
3, 132, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 133, 3, 134,
3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 134, 3, 135, 3, 135, 3, 135,
3, 135, 3, 135, 3, 135, 3, 135, 3, 136, 3, 136, 3, 136, 3, 136, 3, 136,
3, 136, 3, 136, 3, 137, 3, 137, 3, 137, 3, 137, 3, 137, 3, 138, 3, 138,
3, 138, 3, 138, 3, 138, 3, 139, 3, 139, 3, 139, 3, 139, 3, 139, 3, 140,
3, 140, 3, 140, 3, 140, 3, 140, 3, 141, 3, 141, 3, 141, 3, 141, 3, 141,
3, 142, 3, 142, 3, 142, 3, 142, 3, 142, 3, 143, 3, 143, 3, 143, 3, 143,
3, 143, 3, 144, 3, 144, 3, 144, 3, 144, 3, 144, 3, 145, 3, 145, 3, 145,
3, 145, 3, 145, 3, 146, 3, 146, 3, 146, 3, 146, 3, 146, 3, 147, 3, 147,
3, 147, 3, 147, 3, 147, 3, 148, 3, 148, 3, 148, 3, 148, 3, 148, 3, 149,
3, 149, 3, 149, 3, 149, 3, 149, 3, 150, 3, 150, 3, 150, 3, 150, 3, 150,
3, 151, 3, 151, 3, 151, 3, 151, 3, 151, 3, 152, 3, 152, 3, 152, 3, 152,
3, 152, 3, 153, 3, 153, 3, 153, 3, 153, 3, 153, 3, 154, 3, 154, 3, 154,
3, 154, 3, 154, 3, 155, 3, 155, 3, 155, 3, 155, 3, 155, 3, 156, 3, 156,
3, 156, 3, 156, 3, 156, 3, 157, 3, 157, 3, 157, 3, 157, 3, 157, 3, 158,
3, 158, 3, 158, 3, 158, 3, 158, 3, 159, 3, 159, 3, 159, 3, 159, 3, 159,
3, 160, 3, 160, 3, 160, 3, 160, 3, 160, 3, 161, 3, 161, 3, 161, 3, 161,
3, 161, 3, 162, 3, 162, 3, 162, 3, 162, 3, 162, 3, 163, 3, 163, 3, 163,
3, 163, 3, 163, 3, 164, 3, 164, 3, 164, 3, 164, 3, 164, 3, 165, 3, 165,
3, 165, 3, 165, 3, 165, 3, 166, 3, 166, 3, 166, 3, 166, 3, 166, 3, 167,
3, 167, 3, 167, 3, 167, 3, 167, 3, 168, 3, 168, 3, 168, 3, 168, 3, 168,
3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 169, 3, 170, 3, 170,
3, 170, 3, 170, 3, 170, 3, 170, 3, 170, 3, 171, 3, 171, 3, 171, 3, 171,
3, 171, 3, 171, 3, 171, 3, 172, 3, 172, 3, 172, 3, 172, 3, 172, 3, 172,
3, 172, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 173, 3, 174,
3, 174, 3, 175, 3, 175, 3, 176, 3, 176, 3, 177, 3, 177, 3, 178, 3, 178,
3, 179, 3, 179, 3, 180, 3, 180, 3, 181, 3, 181, 3, 181, 3, 181, 3, 181,
3, 181, 3, 181, 3, 182, 3, 182, 3, 182, 3, 182, 3, 182, 3, 182, 3, 182,
3, 183, 3, 183, 3, 183, 3, 183, 3, 183, 3, 183, 3, 183, 3, 184, 3, 184,
3, 184, 3, 184, 3, 184, 3, 184, 3, 184, 3, 185, 3, 185, 3, 185, 3, 185,
3, 185, 3, 185, 3, 185, 3, 186, 3, 186, 3, 186, 3, 186, 3, 186, 3, 186,
3, 186, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 187, 3, 188,
3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 188, 3, 189, 3, 189, 3, 189,
3, 189, 3, 189, 3, 189, 3, 189, 3, 190, 3, 190, 3, 190, 3, 190, 3, 190,
3, 190, 3, 190, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191, 3, 191,
3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 192, 3, 193, 3, 193,
3, 193, 3, 193, 3, 193, 3, 193, 3, 193, 3, 194, 3, 194, 3, 194, 3, 194,
3, 194, 3, 194, 3, 194, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195, 3, 195,
3, 195, 3, 196, 3, 196, 3, 196, 3, 196, 3, 196, 3, 196, 3, 196, 3, 197,
3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 197, 3, 198, 3, 198, 3, 198,
3, 198, 3, 198, 3, 198, 3, 198, 3, 199, 3, 199, 3, 199, 3, 199, 3, 199,
3, 199, 3, 199, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200, 3, 200,
3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 201, 3, 202, 3, 202,
3, 202, 3, 202, 3, 202, 3, 202, 3, 202, 3, 203, 3, 203, 3, 203, 3, 203,
3, 203, 3, 203, 3, 203, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204, 3, 204,
3, 204, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 205, 3, 206,
3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 206, 3, 207, 3, 207, 3, 207,
3, 207, 3, 207, 3, 207, 3, 207, 3, 208, 3, 208, 3, 208, 3, 208, 3, 208,
3, 208, 3, 208, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209, 3, 209,
3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 210, 3, 211, 3, 211,
3, 211, 3, 211, 3, 211, 3, 211, 3, 211, 3, 212, 3, 212, 3, 212, 3, 212,
3, 212, 3, 212, 3, 212, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213, 3, 213,
3, 213, 3, 214, 3, 214, 3, 214, 3, 214, 3, 214, 3, 214, 3, 214, 3, 215,
3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 3, 215, 3, 216, 3, 216, 3, 216,
3, 216, 3, 216, 3, 216, 3, 216, 3, 217, 3, 217, 3, 217, 3, 217, 3, 217,
3, 217, 3, 217, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218, 3, 218,
3, 219, 3, 219, 3, 219, 3, 219, 3, 219, 3, 219, 3, 219, 3, 220, 3, 220,
3, 220, 3, 220, 3, 220, 3, 220, 3, 220, 3, 221, 3, 221, 3, 221, 3, 221,
3, 221, 3, 221, 3, 221, 3, 222, 3, 222, 3, 222, 3, 222, 3, 222, 3, 222,
3, 222, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 223, 3, 224,
3, 224, 3, 224, 3, 224, 3, 224, 3, 224, 3, 224, 3, 225, 3, 225, 3, 225,
3, 225, 3, 225, 3, 225, 3, 225, 3, 226, 3, 226, 3, 226, 3, 226, 3, 226,
3, 226, 3, 226, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227, 3, 227,
3, 228, 3, 228, 3, 228, 3, 228, 3, 228, 3, 228, 3, 228, 3, 229, 3, 229,
3, 229, 3, 229, 3, 229, 3, 229, 3, 229, 3, 230, 3, 230, 3, 230, 3, 230,
3, 230, 3, 230, 3, 230, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231, 3, 231,
3, 231, 3, 232, 3, 232, 3, 232, 3, 232, 3, 232, 3, 232, 3, 232, 3, 233,
3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 233, 3, 234, 3, 234, 3, 234,
3, 234, 3, 234, 3, 234, 3, 234, 3, 235, 3, 235, 3, 235, 3, 235, 3, 235,
3, 235, 3, 235, 3, 236, 3, 236, 3, 236, 3, 236, 3, 236, 3, 236, 3, 236,
3, 237, 3, 237, 3, 237, 3, 237, 3, 237, 3, 237, 3, 237, 3, 238, 3, 238,
3, 238, 3, 238, 3, 238, 3, 238, 3, 238, 3, 239, 3, 239, 3, 239, 3, 239,
3, 239, 3, 239, 3, 239, 3, 240, 3, 240, 3, 240, 3, 240, 3, 240, 3, 240,
3, 240, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 241, 3, 242,
3, 242, 3, 242, 3, 242, 3, 242, 3, 242, 3, 242, 3, 243, 3, 243, 3, 243,
3, 243, 3, 243, 3, 243, 3, 243, 3, 244, 3, 244, 3, 244, 3, 244, 3, 244,
3, 244, 3, 244, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245, 3, 245,
3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 246, 3, 247, 3, 247,
3, 247, 3, 247, 3, 247, 3, 247, 3, 247, 3, 248, 3, 248, 3, 248, 3, 248,
3, 248, 3, 248, 3, 248, 3, 249, 3, 249, 3, 249, 3, 249, 3, 249, 3, 249,
3, 249, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 250, 3, 251,
3, 251, 3, 251, 3, 251, 3, 251, 3, 251, 3, 251, 3, 252, 3, 252, 3, 252,
3, 252, 3, 252, 3, 252, 3, 252, 3, 253, 3, 253, 3, 253, 3, 253, 3, 253,
3, 253, 3, 253, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254, 3, 254,
3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 255, 3, 256, 3, 256,
3, 256, 3, 256, 3, 256, 3, 256, 3, 256, 3, 257, 3, 257, 3, 257, 3, 257,
3, 257, 3, 257, 3, 257, 3, 258, 3, 258, 3, 258, 3, 258, 3, 258, 3, 258,
3, 258, 3, 259, 3, 259, 3, 259, 3, 259, 3, 259, 3, 259, 3, 259, 3, 260,
3, 260, 3, 261, 3, 261, 3, 261, 3, 261, 3, 261, 3, 262, 3, 262, 3, 263,
3, 263, 3, 263, 3, 263, 3, 263, 3, 264, 3, 264, 3, 264, 3, 264, 3, 264,
3, 265, 3, 265, 3, 266, 3, 266, 3, 267, 3, 267, 3, 268, 3, 268, 3, 268,
3, 268, 3, 268, 3, 269, 3, 269, 3, 269, 3, 269, 3, 269, 3, 270, 3, 270,
3, 271, 3, 271, 3, 271, 3, 271, 3, 271, 3, 272, 3, 272, 3, 273, 3, 273,
3, 273, 3, 273, 3, 273, 3, 273, 3, 273, 3, 274, 3, 274, 3, 275, 3, 275,
3, 275, 3, 275, 3, 275, 3, 275, 3, 275, 3, 276, 3, 276, 3, 277, 3, 277,
3, 278, 3, 278, 3, 279, 3, 279, 3, 280, 3, 280, 3, 280, 3, 280, 3, 280,
3, 281, 3, 281, 3, 281, 3, 281, 3, 281, 3, 282, 3, 282, 3, 283, 3, 283,
3, 284, 3, 284, 3, 285, 3, 285, 3, 286, 3, 286, 3, 287, 3, 287, 3, 288,
3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288,
3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288,
3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288,
3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288,
3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288,
3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288,
3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288,
3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288,
3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288,
3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288,
3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288,
3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288,
3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288, 3, 288,
3, 288, 3, 288, 3, 288, 3, 288, 5, 288, 2251, 10, 288, 3, 289, 3, 289,
3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289,
3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289,
3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289,
3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289,
3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289,
3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289,
3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289,
3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289,
3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289, 3, 289,
3, 289, 3, 289, 3, 289, 3, 289, 5, 289, 2340, 10, 289, 3, 290, 3, 290,
3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290,
3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 3, 290, 5, 290, 2359, 10, 290,
3, 291, 3, 291, 3, 291, 3, 291, 3, 292, 3, 292, 3, 292, 3, 292, 3, 293,
3, 293, 3, 294, 3, 294, 3, 295, 3, 295, 3, 295, 3, 295, 3, 296, 3, 296,
7, 296, 2379, 10, 296, 12, 296, 14, 296, 2382, 11, 296, 3, 296, 3, 296,
3, 296, 5, 296, 2387, 10, 296, 3, 297, 3, 297, 3, 298, 3, 298, 7, 298,
2393, 10, 298, 12, 298, 14, 298, 2396, 11, 298, 3, 298, 3, 298, 3, 299,
3, 299, 3, 300, 3, 300, 3, 300, 3, 301, 3, 301, 3, 302, 3, 302, 3, 302,
3, 303, 3, 303, 3, 303, 3, 303, 3, 303, 5, 303, 2415, 10, 303, 3, 304,
3, 304, 3, 305, 3, 305, 5, 305, 2421, 10, 305, 3, 306, 6, 306, 2424, 10,
306, 13, 306, 14, 306, 2425, 3, 307, 3, 307, 3, 307, 5, 307, 2431, 10,
307, 3, 307, 3, 307, 3, 307, 3, 308, 7, 308, 2437, 10, 308, 12, 308, 14,
308, 2440, 11, 308, 3, 308, 3, 308, 3, 309, 3, 309, 3, 310, 3, 310, 3,
311, 3, 311, 5, 311, 2450, 10, 311, 3, 312, 3, 312, 3, 312, 3, 312, 7,
312, 2456, 10, 312, 12, 312, 14, 312, 2459, 11, 312, 5, 312, 2461, 10,
312, 3, 312, 3, 312, 3, 313, 3, 313, 3, 313, 3, 313, 5, 313, 2469, 10,
313, 3, 314, 3, 314, 3, 314, 3, 314, 7, 314, 2475, 10, 314, 12, 314, 14,
314, 2478, 11, 314, 3, 314, 3, 314, 3, 315, 3, 315, 3, 316, 3, 316, 3,
317, 3, 317, 3, 318, 3, 318, 3, 319, 3, 319, 3, 319, 3, 319, 3, 319, 3,
319, 5, 319, 2496, 10, 319, 3, 319, 3, 319, 5, 319, 2500, 10, 319, 3, 320,
3, 320, 3, 320, 3, 321, 3, 321, 3, 321, 3, 322, 3, 322, 3, 323, 3, 323,
3, 323, 3, 323, 3, 323, 3, 323, 3, 323, 3, 323, 3, 323, 3, 323, 3, 323,
3, 323, 3, 323, 3, 323, 3, 323, 5, 323, 2525, 10, 323, 3, 324, 6, 324,
2528, 10, 324, 13, 324, 14, 324, 2529, 3, 325, 3, 325, 3, 326, 3, 326,
3, 327, 6, 327, 2537, 10, 327, 13, 327, 14, 327, 2538, 3, 328, 3, 328,
3, 328, 5, 328, 2544, 10, 328, 3, 328, 3, 328, 3, 329, 3, 329, 3, 329,
5, 329, 2551, 10, 329, 3, 329, 3, 329, 3, 330, 3, 330, 3, 330, 3, 331,
3, 331, 3, 331, 3, 332, 3, 332, 3, 332, 3, 333, 7, 333, 2565, 10, 333,
12, 333, 14, 333, 2568, 11, 333, 3, 333, 3, 333, 3, 334, 3, 334, 3, 334,
3, 334, 5, 334, 2576, 10, 334, 3, 335, 3, 335, 3, 335, 3, 336, 3, 336,
3, 337, 3, 337, 3, 338, 3, 338, 3, 339, 3, 339, 3, 340, 3, 340, 3, 340,
3, 340, 3, 340, 3, 340, 3, 340, 3, 340, 3, 340, 3, 340, 3, 341, 3, 341,
3, 341, 3, 341, 3, 341, 3, 341, 3, 341, 3, 341, 3, 341, 3, 342, 3, 342,
3, 342, 7, 342, 2611, 10, 342, 12, 342, 14, 342, 2614, 11, 342, 3, 342,
3, 342, 3, 343, 3, 343, 5, 343, 2620, 10, 343, 3, 344, 3, 344, 3, 344,
3, 344, 3, 345, 3, 345, 7, 345, 2628, 10, 345, 12, 345, 14, 345, 2631,
11, 345, 3, 345, 3, 345, 3, 346, 3, 346, 3, 346, 3, 346, 3, 346, 5, 346,
2640, 10, 346, 3, 347, 6, 347, 2643, 10, 347, 13, 347, 14, 347, 2644, 3,
347, 2, 2, 348, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30,
32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66,
68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102,
104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132,
134, 136, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158, 160, 162,
164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192,
194, 196, 198, 200, 202, 204, 206, 208, 210, 212, 214, 216, 218, 220, 222,
224, 226, 228, 230, 232, 234, 236, 238, 240, 242, 244, 246, 248, 250, 252,
254, 256, 258, 260, 262, 264, 266, 268, 270, 272, 274, 276, 278, 280, 282,
284, 286, 288, 290, 292, 294, 296, 298, 300, 302, 304, 306, 308, 310, 312,
314, 316, 318, 320, 322, 324, 326, 328, 330, 332, 334, 336, 338, 340, 342,
344, 346, 348, 350, 352, 354, 356, 358, 360, 362, 364, 366, 368, 370, 372,
374, 376, 378, 380, 382, 384, 386, 388, 390, 392, 394, 396, 398, 400, 402,
404, 406, 408, 410, 412, 414, 416, 418, 420, 422, 424, 426, 428, 430, 432,
434, 436, 438, 440, 442, 444, 446, 448, 450, 452, 454, 456, 458, 460, 462,
464, 466, 468, 470, 472, 474, 476, 478, 480, 482, 484, 486, 488, 490, 492,
494, 496, 498, 500, 502, 504, 506, 508, 510, 512, 514, 516, 518, 520, 522,
524, 526, 528, 530, 532, 534, 536, 538, 540, 542, 544, 546, 548, 550, 552,
554, 556, 558, 560, 562, 564, 566, 568, 570, 572, 574, 576, 578, 580, 582,
584, 586, 588, 590, 592, 594, 596, 598, 600, 602, 604, 606, 608, 610, 612,
614, 616, 618, 620, 622, 624, 626, 628, 630, 632, 634, 636, 638, 640, 642,
644, 646, 648, 650, 652, 654, 656, 658, 660, 662, 664, 666, 668, 670, 672,
674, 676, 678, 680, 682, 684, 686, 688, 690, 692, 2, 7, 8, 2, 4, 12, 58,
58, 60, 61, 66, 66, 70, 71, 306, 306, 4, 2, 13, 13, 306, 306, 4, 2, 54,
60, 62, 64, 6, 2, 54, 57, 59, 62, 66, 67, 69, 71, 7, 2, 54, 57, 59, 60,
63, 63, 65, 65, 68, 68, 2, 2593, 2, 694, 3, 2, 2, 2, 4, 696, 3, 2, 2, 2,
6, 698, 3, 2, 2, 2, 8, 701, 3, 2, 2, 2, 10, 703, 3, 2, 2, 2, 12, 705, 3,
2, 2, 2, 14, 707, 3, 2, 2, 2, 16, 709, 3, 2, 2, 2, 18, 711, 3, 2, 2, 2,
20, 719, 3, 2, 2, 2, 22, 723, 3, 2, 2, 2, 24, 726, 3, 2, 2, 2, 26, 730,
3, 2, 2, 2, 28, 732, 3, 2, 2, 2, 30, 734, 3, 2, 2, 2, 32, 736, 3, 2, 2,
2, 34, 738, 3, 2, 2, 2, 36, 740, 3, 2, 2, 2, 38, 742, 3, 2, 2, 2, 40, 744,
3, 2, 2, 2, 42, 746, 3, 2, 2, 2, 44, 748, 3, 2, 2, 2, 46, 758, 3, 2, 2,
2, 48, 762, 3, 2, 2, 2, 50, 764, 3, 2, 2, 2, 52, 766, 3, 2, 2, 2, 54, 774,
3, 2, 2, 2, 56, 778, 3, 2, 2, 2, 58, 783, 3, 2, 2, 2, 60, 785, 3, 2, 2,
2, 62, 787, 3, 2, 2, 2, 64, 794, 3, 2, 2, 2, 66, 796, 3, 2, 2, 2, 68, 798,
3, 2, 2, 2, 70, 800, 3, 2, 2, 2, 72, 802, 3, 2, 2, 2, 74, 804, 3, 2, 2,
2, 76, 807, 3, 2, 2, 2, 78, 809, 3, 2, 2, 2, 80, 811, 3, 2, 2, 2, 82, 819,
3, 2, 2, 2, 84, 832, 3, 2, 2, 2, 86, 834, 3, 2, 2, 2, 88, 837, 3, 2, 2,
2, 90, 840, 3, 2, 2, 2, 92, 843, 3, 2, 2, 2, 94, 846, 3, 2, 2, 2, 96, 849,
3, 2, 2, 2, 98, 852, 3, 2, 2, 2, 100, 855, 3, 2, 2, 2, 102, 858, 3, 2,
2, 2, 104, 861, 3, 2, 2, 2, 106, 864, 3, 2, 2, 2, 108, 867, 3, 2, 2, 2,
110, 870, 3, 2, 2, 2, 112, 873, 3, 2, 2, 2, 114, 875, 3, 2, 2, 2, 116,
877, 3, 2, 2, 2, 118, 882, 3, 2, 2, 2, 120, 887, 3, 2, 2, 2, 122, 892,
3, 2, 2, 2, 124, 897, 3, 2, 2, 2, 126, 902, 3, 2, 2, 2, 128, 907, 3, 2,
2, 2, 130, 912, 3, 2, 2, 2, 132, 917, 3, 2, 2, 2, 134, 922, 3, 2, 2, 2,
136, 927, 3, 2, 2, 2, 138, 932, 3, 2, 2, 2, 140, 937, 3, 2, 2, 2, 142,
942, 3, 2, 2, 2, 144, 947, 3, 2, 2, 2, 146, 952, 3, 2, 2, 2, 148, 957,
3, 2, 2, 2, 150, 962, 3, 2, 2, 2, 152, 967, 3, 2, 2, 2, 154, 972, 3, 2,
2, 2, 156, 977, 3, 2, 2, 2, 158, 982, 3, 2, 2, 2, 160, 987, 3, 2, 2, 2,
162, 992, 3, 2, 2, 2, 164, 997, 3, 2, 2, 2, 166, 1002, 3, 2, 2, 2, 168,
1007, 3, 2, 2, 2, 170, 1012, 3, 2, 2, 2, 172, 1017, 3, 2, 2, 2, 174, 1022,
3, 2, 2, 2, 176, 1027, 3, 2, 2, 2, 178, 1032, 3, 2, 2, 2, 180, 1037, 3,
2, 2, 2, 182, 1042, 3, 2, 2, 2, 184, 1047, 3, 2, 2, 2, 186, 1052, 3, 2,
2, 2, 188, 1057, 3, 2, 2, 2, 190, 1062, 3, 2, 2, 2, 192, 1067, 3, 2, 2,
2, 194, 1072, 3, 2, 2, 2, 196, 1077, 3, 2, 2, 2, 198, 1082, 3, 2, 2, 2,
200, 1087, 3, 2, 2, 2, 202, 1092, 3, 2, 2, 2, 204, 1097, 3, 2, 2, 2, 206,
1102, 3, 2, 2, 2, 208, 1107, 3, 2, 2, 2, 210, 1112, 3, 2, 2, 2, 212, 1117,
3, 2, 2, 2, 214, 1122, 3, 2, 2, 2, 216, 1127, 3, 2, 2, 2, 218, 1132, 3,
2, 2, 2, 220, 1137, 3, 2, 2, 2, 222, 1142, 3, 2, 2, 2, 224, 1147, 3, 2,
2, 2, 226, 1152, 3, 2, 2, 2, 228, 1157, 3, 2, 2, 2, 230, 1162, 3, 2, 2,
2, 232, 1167, 3, 2, 2, 2, 234, 1172, 3, 2, 2, 2, 236, 1174, 3, 2, 2, 2,
238, 1179, 3, 2, 2, 2, 240, 1184, 3, 2, 2, 2, 242, 1189, 3, 2, 2, 2, 244,
1194, 3, 2, 2, 2, 246, 1199, 3, 2, 2, 2, 248, 1204, 3, 2, 2, 2, 250, 1209,
3, 2, 2, 2, 252, 1214, 3, 2, 2, 2, 254, 1219, 3, 2, 2, 2, 256, 1224, 3,
2, 2, 2, 258, 1229, 3, 2, 2, 2, 260, 1234, 3, 2, 2, 2, 262, 1241, 3, 2,
2, 2, 264, 1248, 3, 2, 2, 2, 266, 1255, 3, 2, 2, 2, 268, 1262, 3, 2, 2,
2, 270, 1269, 3, 2, 2, 2, 272, 1276, 3, 2, 2, 2, 274, 1281, 3, 2, 2, 2,
276, 1286, 3, 2, 2, 2, 278, 1291, 3, 2, 2, 2, 280, 1296, 3, 2, 2, 2, 282,
1301, 3, 2, 2, 2, 284, 1306, 3, 2, 2, 2, 286, 1311, 3, 2, 2, 2, 288, 1316,
3, 2, 2, 2, 290, 1321, 3, 2, 2, 2, 292, 1326, 3, 2, 2, 2, 294, 1331, 3,
2, 2, 2, 296, 1336, 3, 2, 2, 2, 298, 1341, 3, 2, 2, 2, 300, 1346, 3, 2,
2, 2, 302, 1351, 3, 2, 2, 2, 304, 1356, 3, 2, 2, 2, 306, 1361, 3, 2, 2,
2, 308, 1366, 3, 2, 2, 2, 310, 1371, 3, 2, 2, 2, 312, 1376, 3, 2, 2, 2,
314, 1381, 3, 2, 2, 2, 316, 1386, 3, 2, 2, 2, 318, 1391, 3, 2, 2, 2, 320,
1396, 3, 2, 2, 2, 322, 1401, 3, 2, 2, 2, 324, 1406, 3, 2, 2, 2, 326, 1411,
3, 2, 2, 2, 328, 1416, 3, 2, 2, 2, 330, 1421, 3, 2, 2, 2, 332, 1426, 3,
2, 2, 2, 334, 1431, 3, 2, 2, 2, 336, 1436, 3, 2, 2, 2, 338, 1443, 3, 2,
2, 2, 340, 1450, 3, 2, 2, 2, 342, 1457, 3, 2, 2, 2, 344, 1464, 3, 2, 2,
2, 346, 1471, 3, 2, 2, 2, 348, 1473, 3, 2, 2, 2, 350, 1475, 3, 2, 2, 2,
352, 1477, 3, 2, 2, 2, 354, 1479, 3, 2, 2, 2, 356, 1481, 3, 2, 2, 2, 358,
1483, 3, 2, 2, 2, 360, 1485, 3, 2, 2, 2, 362, 1492, 3, 2, 2, 2, 364, 1499,
3, 2, 2, 2, 366, 1506, 3, 2, 2, 2, 368, 1513, 3, 2, 2, 2, 370, 1520, 3,
2, 2, 2, 372, 1527, 3, 2, 2, 2, 374, 1534, 3, 2, 2, 2, 376, 1541, 3, 2,
2, 2, 378, 1548, 3, 2, 2, 2, 380, 1555, 3, 2, 2, 2, 382, 1562, 3, 2, 2,
2, 384, 1569, 3, 2, 2, 2, 386, 1576, 3, 2, 2, 2, 388, 1583, 3, 2, 2, 2,
390, 1590, 3, 2, 2, 2, 392, 1597, 3, 2, 2, 2, 394, 1604, 3, 2, 2, 2, 396,
1611, 3, 2, 2, 2, 398, 1618, 3, 2, 2, 2, 400, 1625, 3, 2, 2, 2, 402, 1632,
3, 2, 2, 2, 404, 1639, 3, 2, 2, 2, 406, 1646, 3, 2, 2, 2, 408, 1653, 3,
2, 2, 2, 410, 1660, 3, 2, 2, 2, 412, 1667, 3, 2, 2, 2, 414, 1674, 3, 2,
2, 2, 416, 1681, 3, 2, 2, 2, 418, 1688, 3, 2, 2, 2, 420, 1695, 3, 2, 2,
2, 422, 1702, 3, 2, 2, 2, 424, 1709, 3, 2, 2, 2, 426, 1716, 3, 2, 2, 2,
428, 1723, 3, 2, 2, 2, 430, 1730, 3, 2, 2, 2, 432, 1737, 3, 2, 2, 2, 434,
1744, 3, 2, 2, 2, 436, 1751, 3, 2, 2, 2, 438, 1758, 3, 2, 2, 2, 440, 1765,
3, 2, 2, 2, 442, 1772, 3, 2, 2, 2, 444, 1779, 3, 2, 2, 2, 446, 1786, 3,
2, 2, 2, 448, 1793, 3, 2, 2, 2, 450, 1800, 3, 2, 2, 2, 452, 1807, 3, 2,
2, 2, 454, 1814, 3, 2, 2, 2, 456, 1821, 3, 2, 2, 2, 458, 1828, 3, 2, 2,
2, 460, 1835, 3, 2, 2, 2, 462, 1842, 3, 2, 2, 2, 464, 1849, 3, 2, 2, 2,
466, 1856, 3, 2, 2, 2, 468, 1863, 3, 2, 2, 2, 470, 1870, 3, 2, 2, 2, 472,
1877, 3, 2, 2, 2, 474, 1884, 3, 2, 2, 2, 476, 1891, 3, 2, 2, 2, 478, 1898,
3, 2, 2, 2, 480, 1905, 3, 2, 2, 2, 482, 1912, 3, 2, 2, 2, 484, 1919, 3,
2, 2, 2, 486, 1926, 3, 2, 2, 2, 488, 1933, 3, 2, 2, 2, 490, 1940, 3, 2,
2, 2, 492, 1947, 3, 2, 2, 2, 494, 1954, 3, 2, 2, 2, 496, 1961, 3, 2, 2,
2, 498, 1968, 3, 2, 2, 2, 500, 1975, 3, 2, 2, 2, 502, 1982, 3, 2, 2, 2,
504, 1989, 3, 2, 2, 2, 506, 1996, 3, 2, 2, 2, 508, 2003, 3, 2, 2, 2, 510,
2010, 3, 2, 2, 2, 512, 2017, 3, 2, 2, 2, 514, 2024, 3, 2, 2, 2, 516, 2031,
3, 2, 2, 2, 518, 2038, 3, 2, 2, 2, 520, 2040, 3, 2, 2, 2, 522, 2045, 3,
2, 2, 2, 524, 2047, 3, 2, 2, 2, 526, 2052, 3, 2, 2, 2, 528, 2057, 3, 2,
2, 2, 530, 2059, 3, 2, 2, 2, 532, 2061, 3, 2, 2, 2, 534, 2063, 3, 2, 2,
2, 536, 2068, 3, 2, 2, 2, 538, 2073, 3, 2, 2, 2, 540, 2075, 3, 2, 2, 2,
542, 2080, 3, 2, 2, 2, 544, 2082, 3, 2, 2, 2, 546, 2089, 3, 2, 2, 2, 548,
2091, 3, 2, 2, 2, 550, 2098, 3, 2, 2, 2, 552, 2100, 3, 2, 2, 2, 554, 2102,
3, 2, 2, 2, 556, 2104, 3, 2, 2, 2, 558, 2106, 3, 2, 2, 2, 560, 2111, 3,
2, 2, 2, 562, 2116, 3, 2, 2, 2, 564, 2118, 3, 2, 2, 2, 566, 2120, 3, 2,
2, 2, 568, 2122, 3, 2, 2, 2, 570, 2124, 3, 2, 2, 2, 572, 2126, 3, 2, 2,
2, 574, 2250, 3, 2, 2, 2, 576, 2339, 3, 2, 2, 2, 578, 2358, 3, 2, 2, 2,
580, 2360, 3, 2, 2, 2, 582, 2364, 3, 2, 2, 2, 584, 2368, 3, 2, 2, 2, 586,
2370, 3, 2, 2, 2, 588, 2372, 3, 2, 2, 2, 590, 2376, 3, 2, 2, 2, 592, 2388,
3, 2, 2, 2, 594, 2390, 3, 2, 2, 2, 596, 2399, 3, 2, 2, 2, 598, 2401, 3,
2, 2, 2, 600, 2404, 3, 2, 2, 2, 602, 2406, 3, 2, 2, 2, 604, 2414, 3, 2,
2, 2, 606, 2416, 3, 2, 2, 2, 608, 2420, 3, 2, 2, 2, 610, 2423, 3, 2, 2,
2, 612, 2427, 3, 2, 2, 2, 614, 2438, 3, 2, 2, 2, 616, 2443, 3, 2, 2, 2,
618, 2445, 3, 2, 2, 2, 620, 2449, 3, 2, 2, 2, 622, 2451, 3, 2, 2, 2, 624,
2464, 3, 2, 2, 2, 626, 2470, 3, 2, 2, 2, 628, 2481, 3, 2, 2, 2, 630, 2483,
3, 2, 2, 2, 632, 2485, 3, 2, 2, 2, 634, 2487, 3, 2, 2, 2, 636, 2489, 3,
2, 2, 2, 638, 2501, 3, 2, 2, 2, 640, 2504, 3, 2, 2, 2, 642, 2507, 3, 2,
2, 2, 644, 2524, 3, 2, 2, 2, 646, 2527, 3, 2, 2, 2, 648, 2531, 3, 2, 2,
2, 650, 2533, 3, 2, 2, 2, 652, 2536, 3, 2, 2, 2, 654, 2540, 3, 2, 2, 2,
656, 2547, 3, 2, 2, 2, 658, 2554, 3, 2, 2, 2, 660, 2557, 3, 2, 2, 2, 662,
2560, 3, 2, 2, 2, 664, 2566, 3, 2, 2, 2, 666, 2571, 3, 2, 2, 2, 668, 2577,
3, 2, 2, 2, 670, 2580, 3, 2, 2, 2, 672, 2582, 3, 2, 2, 2, 674, 2584, 3,
2, 2, 2, 676, 2586, 3, 2, 2, 2, 678, 2588, 3, 2, 2, 2, 680, 2598, 3, 2,
2, 2, 682, 2607, 3, 2, 2, 2, 684, 2617, 3, 2, 2, 2, 686, 2621, 3, 2, 2,
2, 688, 2625, 3, 2, 2, 2, 690, 2639, 3, 2, 2, 2, 692, 2642, 3, 2, 2, 2,
694, 695, 7, 306, 2, 2, 695, 3, 3, 2, 2, 2, 696, 697, 7, 305, 2, 2, 697,
5, 3, 2, 2, 2, 698, 699, 7, 23, 2, 2, 699, 700, 5, 20, 11, 2, 700, 7, 3,
2, 2, 2, 701, 702, 7, 296, 2, 2, 702, 9, 3, 2, 2, 2, 703, 704, 7, 297,
2, 2, 704, 11, 3, 2, 2, 2, 705, 706, 7, 298, 2, 2, 706, 13, 3, 2, 2, 2,
707, 708, 7, 299, 2, 2, 708, 15, 3, 2, 2, 2, 709, 710, 7, 300, 2, 2, 710,
17, 3, 2, 2, 2, 711, 712, 7, 301, 2, 2, 712, 19, 3, 2, 2, 2, 713, 720,
5, 8, 5, 2, 714, 720, 5, 10, 6, 2, 715, 720, 5, 12, 7, 2, 716, 720, 5,
14, 8, 2, 717, 720, 5, 16, 9, 2, 718, 720, 5, 18, 10, 2, 719, 713, 3, 2,
2, 2, 719, 714, 3, 2, 2, 2, 719, 715, 3, 2, 2, 2, 719, 716, 3, 2, 2, 2,
719, 717, 3, 2, 2, 2, 719, 718, 3, 2, 2, 2, 720, 21, 3, 2, 2, 2, 721, 724,
5, 6, 4, 2, 722, 724, 5, 20, 11, 2, 723, 721, 3, 2, 2, 2, 723, 722, 3,
2, 2, 2, 724, 23, 3, 2, 2, 2, 725, 727, 9, 2, 2, 2, 726, 725, 3, 2, 2,
2, 727, 728, 3, 2, 2, 2, 728, 726, 3, 2, 2, 2, 728, 729, 3, 2, 2, 2, 729,
25, 3, 2, 2, 2, 730, 731, 7, 3, 2, 2, 731, 27, 3, 2, 2, 2, 732, 733, 7,
4, 2, 2, 733, 29, 3, 2, 2, 2, 734, 735, 7, 5, 2, 2, 735, 31, 3, 2, 2, 2,
736, 737, 7, 6, 2, 2, 737, 33, 3, 2, 2, 2, 738, 739, 7, 7, 2, 2, 739, 35,
3, 2, 2, 2, 740, 741, 7, 8, 2, 2, 741, 37, 3, 2, 2, 2, 742, 743, 7, 9,
2, 2, 743, 39, 3, 2, 2, 2, 744, 745, 7, 10, 2, 2, 745, 41, 3, 2, 2, 2,
746, 747, 7, 11, 2, 2, 747, 43, 3, 2, 2, 2, 748, 749, 7, 12, 2, 2, 749,
45, 3, 2, 2, 2, 750, 759, 5, 30, 16, 2, 751, 759, 5, 32, 17, 2, 752, 759,
5, 34, 18, 2, 753, 759, 5, 36, 19, 2, 754, 759, 5, 38, 20, 2, 755, 759,
5, 40, 21, 2, 756, 759, 5, 42, 22, 2, 757, 759, 5, 44, 23, 2, 758, 750,
3, 2, 2, 2, 758, 751, 3, 2, 2, 2, 758, 752, 3, 2, 2, 2, 758, 753, 3, 2,
2, 2, 758, 754, 3, 2, 2, 2, 758, 755, 3, 2, 2, 2, 758, 756, 3, 2, 2, 2,
758, 757, 3, 2, 2, 2, 759, 47, 3, 2, 2, 2, 760, 763, 5, 46, 24, 2, 761,
763, 5, 26, 14, 2, 762, 760, 3, 2, 2, 2, 762, 761, 3, 2, 2, 2, 763, 49,
3, 2, 2, 2, 764, 765, 9, 3, 2, 2, 765, 51, 3, 2, 2, 2, 766, 770, 7, 14,
2, 2, 767, 771, 5, 48, 25, 2, 768, 771, 5, 52, 27, 2, 769, 771, 5, 50,
26, 2, 770, 767, 3, 2, 2, 2, 770, 768, 3, 2, 2, 2, 770, 769, 3, 2, 2, 2,
771, 53, 3, 2, 2, 2, 772, 775, 5, 26, 14, 2, 773, 775, 5, 52, 27, 2, 774,
772, 3, 2, 2, 2, 774, 773, 3, 2, 2, 2, 775, 55, 3, 2, 2, 2, 776, 779, 5,
48, 25, 2, 777, 779, 5, 52, 27, 2, 778, 776, 3, 2, 2, 2, 778, 777, 3, 2,
2, 2, 779, 57, 3, 2, 2, 2, 780, 784, 5, 56, 29, 2, 781, 784, 5, 28, 15,
2, 782, 784, 5, 52, 27, 2, 783, 780, 3, 2, 2, 2, 783, 781, 3, 2, 2, 2,
783, 782, 3, 2, 2, 2, 784, 59, 3, 2, 2, 2, 785, 786, 7, 303, 2, 2, 786,
61, 3, 2, 2, 2, 787, 788, 7, 302, 2, 2, 788, 63, 3, 2, 2, 2, 789, 795,
5, 58, 30, 2, 790, 795, 5, 4, 3, 2, 791, 795, 5, 22, 12, 2, 792, 795, 5,
60, 31, 2, 793, 795, 5, 62, 32, 2, 794, 789, 3, 2, 2, 2, 794, 790, 3, 2,
2, 2, 794, 791, 3, 2, 2, 2, 794, 792, 3, 2, 2, 2, 794, 793, 3, 2, 2, 2,
795, 65, 3, 2, 2, 2, 796, 797, 9, 4, 2, 2, 797, 67, 3, 2, 2, 2, 798, 799,
9, 5, 2, 2, 799, 69, 3, 2, 2, 2, 800, 801, 9, 6, 2, 2, 801, 71, 3, 2, 2,
2, 802, 803, 5, 24, 13, 2, 803, 73, 3, 2, 2, 2, 804, 805, 7, 20, 2, 2,
805, 806, 5, 72, 37, 2, 806, 75, 3, 2, 2, 2, 807, 808, 5, 2, 2, 2, 808,
77, 3, 2, 2, 2, 809, 810, 5, 2, 2, 2, 810, 79, 3, 2, 2, 2, 811, 816, 5,
2, 2, 2, 812, 813, 7, 24, 2, 2, 813, 815, 5, 2, 2, 2, 814, 812, 3, 2, 2,
2, 815, 818, 3, 2, 2, 2, 816, 814, 3, 2, 2, 2, 816, 817, 3, 2, 2, 2, 817,
81, 3, 2, 2, 2, 818, 816, 3, 2, 2, 2, 819, 820, 7, 18, 2, 2, 820, 821,
5, 76, 39, 2, 821, 822, 7, 22, 2, 2, 822, 823, 7, 22, 2, 2, 823, 824, 5,
78, 40, 2, 824, 825, 7, 19, 2, 2, 825, 83, 3, 2, 2, 2, 826, 827, 7, 18,
2, 2, 827, 833, 7, 19, 2, 2, 828, 829, 7, 18, 2, 2, 829, 830, 5, 80, 41,
2, 830, 831, 7, 19, 2, 2, 831, 833, 3, 2, 2, 2, 832, 826, 3, 2, 2, 2, 832,
828, 3, 2, 2, 2, 833, 85, 3, 2, 2, 2, 834, 835, 7, 112, 2, 2, 835, 836,
5, 74, 38, 2, 836, 87, 3, 2, 2, 2, 837, 838, 7, 113, 2, 2, 838, 839, 5,
74, 38, 2, 839, 89, 3, 2, 2, 2, 840, 841, 7, 114, 2, 2, 841, 842, 5, 74,
38, 2, 842, 91, 3, 2, 2, 2, 843, 844, 7, 82, 2, 2, 844, 845, 5, 2, 2, 2,
845, 93, 3, 2, 2, 2, 846, 847, 7, 83, 2, 2, 847, 848, 5, 2, 2, 2, 848,
95, 3, 2, 2, 2, 849, 850, 7, 84, 2, 2, 850, 851, 5, 2, 2, 2, 851, 97, 3,
2, 2, 2, 852, 853, 7, 85, 2, 2, 853, 854, 5, 2, 2, 2, 854, 99, 3, 2, 2,
2, 855, 856, 7, 87, 2, 2, 856, 857, 5, 2, 2, 2, 857, 101, 3, 2, 2, 2, 858,
859, 7, 88, 2, 2, 859, 860, 5, 2, 2, 2, 860, 103, 3, 2, 2, 2, 861, 862,
7, 89, 2, 2, 862, 863, 5, 2, 2, 2, 863, 105, 3, 2, 2, 2, 864, 865, 7, 101,
2, 2, 865, 866, 5, 2, 2, 2, 866, 107, 3, 2, 2, 2, 867, 868, 7, 102, 2,
2, 868, 869, 5, 2, 2, 2, 869, 109, 3, 2, 2, 2, 870, 871, 7, 111, 2, 2,
871, 872, 5, 2, 2, 2, 872, 111, 3, 2, 2, 2, 873, 874, 7, 86, 2, 2, 874,
113, 3, 2, 2, 2, 875, 876, 7, 72, 2, 2, 876, 115, 3, 2, 2, 2, 877, 878,
7, 73, 2, 2, 878, 879, 5, 76, 39, 2, 879, 880, 7, 24, 2, 2, 880, 881, 5,
78, 40, 2, 881, 117, 3, 2, 2, 2, 882, 883, 7, 74, 2, 2, 883, 884, 5, 76,
39, 2, 884, 885, 7, 24, 2, 2, 885, 886, 5, 78, 40, 2, 886, 119, 3, 2, 2,
2, 887, 888, 7, 75, 2, 2, 888, 889, 5, 76, 39, 2, 889, 890, 7, 24, 2, 2,
890, 891, 5, 78, 40, 2, 891, 121, 3, 2, 2, 2, 892, 893, 7, 76, 2, 2, 893,
894, 5, 76, 39, 2, 894, 895, 7, 24, 2, 2, 895, 896, 5, 78, 40, 2, 896,
123, 3, 2, 2, 2, 897, 898, 7, 77, 2, 2, 898, 899, 5, 76, 39, 2, 899, 900,
7, 24, 2, 2, 900, 901, 5, 78, 40, 2, 901, 125, 3, 2, 2, 2, 902, 903, 7,
78, 2, 2, 903, 904, 5, 76, 39, 2, 904, 905, 7, 24, 2, 2, 905, 906, 5, 78,
40, 2, 906, 127, 3, 2, 2, 2, 907, 908, 7, 79, 2, 2, 908, 909, 5, 76, 39,
2, 909, 910, 7, 24, 2, 2, 910, 911, 5, 78, 40, 2, 911, 129, 3, 2, 2, 2,
912, 913, 7, 80, 2, 2, 913, 914, 5, 76, 39, 2, 914, 915, 7, 24, 2, 2, 915,
916, 5, 78, 40, 2, 916, 131, 3, 2, 2, 2, 917, 918, 7, 81, 2, 2, 918, 919,
5, 76, 39, 2, 919, 920, 7, 24, 2, 2, 920, 921, 5, 78, 40, 2, 921, 133,
3, 2, 2, 2, 922, 923, 7, 92, 2, 2, 923, 924, 5, 2, 2, 2, 924, 925, 7, 24,
2, 2, 925, 926, 5, 22, 12, 2, 926, 135, 3, 2, 2, 2, 927, 928, 7, 90, 2,
2, 928, 929, 5, 2, 2, 2, 929, 930, 7, 24, 2, 2, 930, 931, 5, 22, 12, 2,
931, 137, 3, 2, 2, 2, 932, 933, 7, 91, 2, 2, 933, 934, 5, 2, 2, 2, 934,
935, 7, 24, 2, 2, 935, 936, 5, 22, 12, 2, 936, 139, 3, 2, 2, 2, 937, 938,
7, 93, 2, 2, 938, 939, 5, 2, 2, 2, 939, 940, 7, 24, 2, 2, 940, 941, 5,
22, 12, 2, 941, 141, 3, 2, 2, 2, 942, 943, 7, 94, 2, 2, 943, 944, 5, 2,
2, 2, 944, 945, 7, 24, 2, 2, 945, 946, 5, 22, 12, 2, 946, 143, 3, 2, 2,
2, 947, 948, 7, 95, 2, 2, 948, 949, 5, 2, 2, 2, 949, 950, 7, 24, 2, 2,
950, 951, 5, 22, 12, 2, 951, 145, 3, 2, 2, 2, 952, 953, 7, 96, 2, 2, 953,
954, 5, 2, 2, 2, 954, 955, 7, 24, 2, 2, 955, 956, 5, 22, 12, 2, 956, 147,
3, 2, 2, 2, 957, 958, 7, 97, 2, 2, 958, 959, 5, 2, 2, 2, 959, 960, 7, 24,
2, 2, 960, 961, 5, 22, 12, 2, 961, 149, 3, 2, 2, 2, 962, 963, 7, 98, 2,
2, 963, 964, 5, 2, 2, 2, 964, 965, 7, 24, 2, 2, 965, 966, 5, 4, 3, 2, 966,
151, 3, 2, 2, 2, 967, 968, 7, 99, 2, 2, 968, 969, 5, 2, 2, 2, 969, 970,
7, 24, 2, 2, 970, 971, 5, 4, 3, 2, 971, 153, 3, 2, 2, 2, 972, 973, 7, 100,
2, 2, 973, 974, 5, 2, 2, 2, 974, 975, 7, 24, 2, 2, 975, 976, 5, 54, 28,
2, 976, 155, 3, 2, 2, 2, 977, 978, 7, 160, 2, 2, 978, 979, 5, 2, 2, 2,
979, 980, 7, 24, 2, 2, 980, 981, 5, 582, 292, 2, 981, 157, 3, 2, 2, 2,
982, 983, 7, 161, 2, 2, 983, 984, 5, 2, 2, 2, 984, 985, 7, 24, 2, 2, 985,
986, 5, 582, 292, 2, 986, 159, 3, 2, 2, 2, 987, 988, 7, 162, 2, 2, 988,
989, 5, 2, 2, 2, 989, 990, 7, 24, 2, 2, 990, 991, 5, 582, 292, 2, 991,
161, 3, 2, 2, 2, 992, 993, 7, 163, 2, 2, 993, 994, 5, 2, 2, 2, 994, 995,
7, 24, 2, 2, 995, 996, 5, 582, 292, 2, 996, 163, 3, 2, 2, 2, 997, 998,
7, 164, 2, 2, 998, 999, 5, 2, 2, 2, 999, 1000, 7, 24, 2, 2, 1000, 1001,
5, 582, 292, 2, 1001, 165, 3, 2, 2, 2, 1002, 1003, 7, 165, 2, 2, 1003,
1004, 5, 2, 2, 2, 1004, 1005, 7, 24, 2, 2, 1005, 1006, 5, 582, 292, 2,
1006, 167, 3, 2, 2, 2, 1007, 1008, 7, 166, 2, 2, 1008, 1009, 5, 2, 2, 2,
1009, 1010, 7, 24, 2, 2, 1010, 1011, 5, 582, 292, 2, 1011, 169, 3, 2, 2,
2, 1012, 1013, 7, 167, 2, 2, 1013, 1014, 5, 2, 2, 2, 1014, 1015, 7, 24,
2, 2, 1015, 1016, 5, 582, 292, 2, 1016, 171, 3, 2, 2, 2, 1017, 1018, 7,
168, 2, 2, 1018, 1019, 5, 2, 2, 2, 1019, 1020, 7, 24, 2, 2, 1020, 1021,
5, 582, 292, 2, 1021, 173, 3, 2, 2, 2, 1022, 1023, 7, 169, 2, 2, 1023,
1024, 5, 2, 2, 2, 1024, 1025, 7, 24, 2, 2, 1025, 1026, 5, 582, 292, 2,
1026, 175, 3, 2, 2, 2, 1027, 1028, 7, 170, 2, 2, 1028, 1029, 5, 2, 2, 2,
1029, 1030, 7, 24, 2, 2, 1030, 1031, 5, 582, 292, 2, 1031, 177, 3, 2, 2,
2, 1032, 1033, 7, 171, 2, 2, 1033, 1034, 5, 2, 2, 2, 1034, 1035, 7, 24,
2, 2, 1035, 1036, 5, 582, 292, 2, 1036, 179, 3, 2, 2, 2, 1037, 1038, 7,
172, 2, 2, 1038, 1039, 5, 2, 2, 2, 1039, 1040, 7, 24, 2, 2, 1040, 1041,
5, 582, 292, 2, 1041, 181, 3, 2, 2, 2, 1042, 1043, 7, 173, 2, 2, 1043,
1044, 5, 2, 2, 2, 1044, 1045, 7, 24, 2, 2, 1045, 1046, 5, 582, 292, 2,
1046, 183, 3, 2, 2, 2, 1047, 1048, 7, 174, 2, 2, 1048, 1049, 5, 84, 43,
2, 1049, 1050, 7, 24, 2, 2, 1050, 1051, 5, 580, 291, 2, 1051, 185, 3, 2,
2, 2, 1052, 1053, 7, 175, 2, 2, 1053, 1054, 5, 84, 43, 2, 1054, 1055, 7,
24, 2, 2, 1055, 1056, 5, 580, 291, 2, 1056, 187, 3, 2, 2, 2, 1057, 1058,
7, 176, 2, 2, 1058, 1059, 5, 84, 43, 2, 1059, 1060, 7, 24, 2, 2, 1060,
1061, 5, 580, 291, 2, 1061, 189, 3, 2, 2, 2, 1062, 1063, 7, 177, 2, 2,
1063, 1064, 5, 84, 43, 2, 1064, 1065, 7, 24, 2, 2, 1065, 1066, 5, 580,
291, 2, 1066, 191, 3, 2, 2, 2, 1067, 1068, 7, 178, 2, 2, 1068, 1069, 5,
84, 43, 2, 1069, 1070, 7, 24, 2, 2, 1070, 1071, 5, 580, 291, 2, 1071, 193,
3, 2, 2, 2, 1072, 1073, 7, 179, 2, 2, 1073, 1074, 5, 82, 42, 2, 1074, 1075,
7, 24, 2, 2, 1075, 1076, 5, 580, 291, 2, 1076, 195, 3, 2, 2, 2, 1077, 1078,
7, 180, 2, 2, 1078, 1079, 5, 82, 42, 2, 1079, 1080, 7, 24, 2, 2, 1080,
1081, 5, 580, 291, 2, 1081, 197, 3, 2, 2, 2, 1082, 1083, 7, 181, 2, 2,
1083, 1084, 5, 82, 42, 2, 1084, 1085, 7, 24, 2, 2, 1085, 1086, 5, 580,
291, 2, 1086, 199, 3, 2, 2, 2, 1087, 1088, 7, 182, 2, 2, 1088, 1089, 5,
82, 42, 2, 1089, 1090, 7, 24, 2, 2, 1090, 1091, 5, 580, 291, 2, 1091, 201,
3, 2, 2, 2, 1092, 1093, 7, 183, 2, 2, 1093, 1094, 5, 82, 42, 2, 1094, 1095,
7, 24, 2, 2, 1095, 1096, 5, 580, 291, 2, 1096, 203, 3, 2, 2, 2, 1097, 1098,
7, 190, 2, 2, 1098, 1099, 5, 76, 39, 2, 1099, 1100, 7, 24, 2, 2, 1100,
1101, 5, 78, 40, 2, 1101, 205, 3, 2, 2, 2, 1102, 1103, 7, 191, 2, 2, 1103,
1104, 5, 76, 39, 2, 1104, 1105, 7, 24, 2, 2, 1105, 1106, 5, 78, 40, 2,
1106, 207, 3, 2, 2, 2, 1107, 1108, 7, 192, 2, 2, 1108, 1109, 5, 76, 39,
2, 1109, 1110, 7, 24, 2, 2, 1110, 1111, 5, 78, 40, 2, 1111, 209, 3, 2,
2, 2, 1112, 1113, 7, 193, 2, 2, 1113, 1114, 5, 76, 39, 2, 1114, 1115, 7,
24, 2, 2, 1115, 1116, 5, 78, 40, 2, 1116, 211, 3, 2, 2, 2, 1117, 1118,
7, 194, 2, 2, 1118, 1119, 5, 76, 39, 2, 1119, 1120, 7, 24, 2, 2, 1120,
1121, 5, 78, 40, 2, 1121, 213, 3, 2, 2, 2, 1122, 1123, 7, 195, 2, 2, 1123,
1124, 5, 76, 39, 2, 1124, 1125, 7, 24, 2, 2, 1125, 1126, 5, 78, 40, 2,
1126, 215, 3, 2, 2, 2, 1127, 1128, 7, 196, 2, 2, 1128, 1129, 5, 76, 39,
2, 1129, 1130, 7, 24, 2, 2, 1130, 1131, 5, 78, 40, 2, 1131, 217, 3, 2,
2, 2, 1132, 1133, 7, 197, 2, 2, 1133, 1134, 5, 76, 39, 2, 1134, 1135, 7,
24, 2, 2, 1135, 1136, 5, 78, 40, 2, 1136, 219, 3, 2, 2, 2, 1137, 1138,
7, 198, 2, 2, 1138, 1139, 5, 76, 39, 2, 1139, 1140, 7, 24, 2, 2, 1140,
1141, 5, 78, 40, 2, 1141, 221, 3, 2, 2, 2, 1142, 1143, 7, 199, 2, 2, 1143,
1144, 5, 76, 39, 2, 1144, 1145, 7, 24, 2, 2, 1145, 1146, 5, 78, 40, 2,
1146, 223, 3, 2, 2, 2, 1147, 1148, 7, 200, 2, 2, 1148, 1149, 5, 76, 39,
2, 1149, 1150, 7, 24, 2, 2, 1150, 1151, 5, 78, 40, 2, 1151, 225, 3, 2,
2, 2, 1152, 1153, 7, 201, 2, 2, 1153, 1154, 5, 76, 39, 2, 1154, 1155, 7,
24, 2, 2, 1155, 1156, 5, 78, 40, 2, 1156, 227, 3, 2, 2, 2, 1157, 1158,
7, 202, 2, 2, 1158, 1159, 5, 76, 39, 2, 1159, 1160, 7, 24, 2, 2, 1160,
1161, 5, 78, 40, 2, 1161, 229, 3, 2, 2, 2, 1162, 1163, 7, 203, 2, 2, 1163,
1164, 5, 76, 39, 2, 1164, 1165, 7, 24, 2, 2, 1165, 1166, 5, 78, 40, 2,
1166, 231, 3, 2, 2, 2, 1167, 1168, 7, 204, 2, 2, 1168, 1169, 5, 76, 39,
2, 1169, 1170, 7, 24, 2, 2, 1170, 1171, 5, 78, 40, 2, 1171, 233, 3, 2,
2, 2, 1172, 1173, 5, 74, 38, 2, 1173, 235, 3, 2, 2, 2, 1174, 1175, 7, 126,
2, 2, 1175, 1176, 5, 2, 2, 2, 1176, 1177, 7, 24, 2, 2, 1177, 1178, 5, 234,
118, 2, 1178, 237, 3, 2, 2, 2, 1179, 1180, 7, 127, 2, 2, 1180, 1181, 5,
2, 2, 2, 1181, 1182, 7, 24, 2, 2, 1182, 1183, 5, 234, 118, 2, 1183, 239,
3, 2, 2, 2, 1184, 1185, 7, 128, 2, 2, 1185, 1186, 5, 2, 2, 2, 1186, 1187,
7, 24, 2, 2, 1187, 1188, 5, 234, 118, 2, 1188, 241, 3, 2, 2, 2, 1189, 1190,
7, 129, 2, 2, 1190, 1191, 5, 2, 2, 2, 1191, 1192, 7, 24, 2, 2, 1192, 1193,
5, 234, 118, 2, 1193, 243, 3, 2, 2, 2, 1194, 1195, 7, 130, 2, 2, 1195,
1196, 5, 2, 2, 2, 1196, 1197, 7, 24, 2, 2, 1197, 1198, 5, 234, 118, 2,
1198, 245, 3, 2, 2, 2, 1199, 1200, 7, 131, 2, 2, 1200, 1201, 5, 2, 2, 2,
1201, 1202, 7, 24, 2, 2, 1202, 1203, 5, 234, 118, 2, 1203, 247, 3, 2, 2,
2, 1204, 1205, 7, 184, 2, 2, 1205, 1206, 5, 76, 39, 2, 1206, 1207, 7, 24,
2, 2, 1207, 1208, 5, 78, 40, 2, 1208, 249, 3, 2, 2, 2, 1209, 1210, 7, 185,
2, 2, 1210, 1211, 5, 76, 39, 2, 1211, 1212, 7, 24, 2, 2, 1212, 1213, 5,
78, 40, 2, 1213, 251, 3, 2, 2, 2, 1214, 1215, 7, 186, 2, 2, 1215, 1216,
5, 76, 39, 2, 1216, 1217, 7, 24, 2, 2, 1217, 1218, 5, 78, 40, 2, 1218,
253, 3, 2, 2, 2, 1219, 1220, 7, 187, 2, 2, 1220, 1221, 5, 76, 39, 2, 1221,
1222, 7, 24, 2, 2, 1222, 1223, 5, 78, 40, 2, 1223, 255, 3, 2, 2, 2, 1224,
1225, 7, 188, 2, 2, 1225, 1226, 5, 76, 39, 2, 1226, 1227, 7, 24, 2, 2,
1227, 1228, 5, 78, 40, 2, 1228, 257, 3, 2, 2, 2, 1229, 1230, 7, 189, 2,
2, 1230, 1231, 5, 76, 39, 2, 1231, 1232, 7, 24, 2, 2, 1232, 1233, 5, 78,
40, 2, 1233, 259, 3, 2, 2, 2, 1234, 1235, 7, 120, 2, 2, 1235, 1236, 5,
76, 39, 2, 1236, 1237, 7, 24, 2, 2, 1237, 1238, 5, 78, 40, 2, 1238, 1239,
7, 24, 2, 2, 1239, 1240, 5, 234, 118, 2, 1240, 261, 3, 2, 2, 2, 1241, 1242,
7, 121, 2, 2, 1242, 1243, 5, 76, 39, 2, 1243, 1244, 7, 24, 2, 2, 1244,
1245, 5, 78, 40, 2, 1245, 1246, 7, 24, 2, 2, 1246, 1247, 5, 234, 118, 2,
1247, 263, 3, 2, 2, 2, 1248, 1249, 7, 122, 2, 2, 1249, 1250, 5, 76, 39,
2, 1250, 1251, 7, 24, 2, 2, 1251, 1252, 5, 78, 40, 2, 1252, 1253, 7, 24,
2, 2, 1253, 1254, 5, 234, 118, 2, 1254, 265, 3, 2, 2, 2, 1255, 1256, 7,
123, 2, 2, 1256, 1257, 5, 76, 39, 2, 1257, 1258, 7, 24, 2, 2, 1258, 1259,
5, 78, 40, 2, 1259, 1260, 7, 24, 2, 2, 1260, 1261, 5, 234, 118, 2, 1261,
267, 3, 2, 2, 2, 1262, 1263, 7, 124, 2, 2, 1263, 1264, 5, 76, 39, 2, 1264,
1265, 7, 24, 2, 2, 1265, 1266, 5, 78, 40, 2, 1266, 1267, 7, 24, 2, 2, 1267,
1268, 5, 234, 118, 2, 1268, 269, 3, 2, 2, 2, 1269, 1270, 7, 125, 2, 2,
1270, 1271, 5, 76, 39, 2, 1271, 1272, 7, 24, 2, 2, 1272, 1273, 5, 78, 40,
2, 1273, 1274, 7, 24, 2, 2, 1274, 1275, 5, 234, 118, 2, 1275, 271, 3, 2,
2, 2, 1276, 1277, 7, 237, 2, 2, 1277, 1278, 5, 76, 39, 2, 1278, 1279, 7,
24, 2, 2, 1279, 1280, 5, 78, 40, 2, 1280, 273, 3, 2, 2, 2, 1281, 1282,
7, 238, 2, 2, 1282, 1283, 5, 76, 39, 2, 1283, 1284, 7, 24, 2, 2, 1284,
1285, 5, 78, 40, 2, 1285, 275, 3, 2, 2, 2, 1286, 1287, 7, 239, 2, 2, 1287,
1288, 5, 76, 39, 2, 1288, 1289, 7, 24, 2, 2, 1289, 1290, 5, 78, 40, 2,
1290, 277, 3, 2, 2, 2, 1291, 1292, 7, 240, 2, 2, 1292, 1293, 5, 76, 39,
2, 1293, 1294, 7, 24, 2, 2, 1294, 1295, 5, 78, 40, 2, 1295, 279, 3, 2,
2, 2, 1296, 1297, 7, 241, 2, 2, 1297, 1298, 5, 76, 39, 2, 1298, 1299, 7,
24, 2, 2, 1299, 1300, 5, 78, 40, 2, 1300, 281, 3, 2, 2, 2, 1301, 1302,
7, 242, 2, 2, 1302, 1303, 5, 76, 39, 2, 1303, 1304, 7, 24, 2, 2, 1304,
1305, 5, 78, 40, 2, 1305, 283, 3, 2, 2, 2, 1306, 1307, 7, 243, 2, 2, 1307,
1308, 5, 76, 39, 2, 1308, 1309, 7, 24, 2, 2, 1309, 1310, 5, 78, 40, 2,
1310, 285, 3, 2, 2, 2, 1311, 1312, 7, 244, 2, 2, 1312, 1313, 5, 76, 39,
2, 1313, 1314, 7, 24, 2, 2, 1314, 1315, 5, 78, 40, 2, 1315, 287, 3, 2,
2, 2, 1316, 1317, 7, 245, 2, 2, 1317, 1318, 5, 76, 39, 2, 1318, 1319, 7,
24, 2, 2, 1319, 1320, 5, 78, 40, 2, 1320, 289, 3, 2, 2, 2, 1321, 1322,
7, 246, 2, 2, 1322, 1323, 5, 76, 39, 2, 1323, 1324, 7, 24, 2, 2, 1324,
1325, 5, 78, 40, 2, 1325, 291, 3, 2, 2, 2, 1326, 1327, 7, 247, 2, 2, 1327,
1328, 5, 76, 39, 2, 1328, 1329, 7, 24, 2, 2, 1329, 1330, 5, 78, 40, 2,
1330, 293, 3, 2, 2, 2, 1331, 1332, 7, 248, 2, 2, 1332, 1333, 5, 76, 39,
2, 1333, 1334, 7, 24, 2, 2, 1334, 1335, 5, 78, 40, 2, 1335, 295, 3, 2,
2, 2, 1336, 1337, 7, 249, 2, 2, 1337, 1338, 5, 76, 39, 2, 1338, 1339, 7,
24, 2, 2, 1339, 1340, 5, 78, 40, 2, 1340, 297, 3, 2, 2, 2, 1341, 1342,
7, 250, 2, 2, 1342, 1343, 5, 76, 39, 2, 1343, 1344, 7, 24, 2, 2, 1344,
1345, 5, 78, 40, 2, 1345, 299, 3, 2, 2, 2, 1346, 1347, 7, 251, 2, 2, 1347,
1348, 5, 76, 39, 2, 1348, 1349, 7, 24, 2, 2, 1349, 1350, 5, 78, 40, 2,
1350, 301, 3, 2, 2, 2, 1351, 1352, 7, 252, 2, 2, 1352, 1353, 5, 76, 39,
2, 1353, 1354, 7, 24, 2, 2, 1354, 1355, 5, 78, 40, 2, 1355, 303, 3, 2,
2, 2, 1356, 1357, 7, 253, 2, 2, 1357, 1358, 5, 76, 39, 2, 1358, 1359, 7,
24, 2, 2, 1359, 1360, 5, 78, 40, 2, 1360, 305, 3, 2, 2, 2, 1361, 1362,
7, 254, 2, 2, 1362, 1363, 5, 76, 39, 2, 1363, 1364, 7, 24, 2, 2, 1364,
1365, 5, 78, 40, 2, 1365, 307, 3, 2, 2, 2, 1366, 1367, 7, 255, 2, 2, 1367,
1368, 5, 76, 39, 2, 1368, 1369, 7, 24, 2, 2, 1369, 1370, 5, 78, 40, 2,
1370, 309, 3, 2, 2, 2, 1371, 1372, 7, 256, 2, 2, 1372, 1373, 5, 76, 39,
2, 1373, 1374, 7, 24, 2, 2, 1374, 1375, 5, 78, 40, 2, 1375, 311, 3, 2,
2, 2, 1376, 1377, 7, 257, 2, 2, 1377, 1378, 5, 76, 39, 2, 1378, 1379, 7,
24, 2, 2, 1379, 1380, 5, 78, 40, 2, 1380, 313, 3, 2, 2, 2, 1381, 1382,
7, 258, 2, 2, 1382, 1383, 5, 76, 39, 2, 1383, 1384, 7, 24, 2, 2, 1384,
1385, 5, 78, 40, 2, 1385, 315, 3, 2, 2, 2, 1386, 1387, 7, 259, 2, 2, 1387,
1388, 5, 76, 39, 2, 1388, 1389, 7, 24, 2, 2, 1389, 1390, 5, 78, 40, 2,
1390, 317, 3, 2, 2, 2, 1391, 1392, 7, 260, 2, 2, 1392, 1393, 5, 76, 39,
2, 1393, 1394, 7, 24, 2, 2, 1394, 1395, 5, 78, 40, 2, 1395, 319, 3, 2,
2, 2, 1396, 1397, 7, 261, 2, 2, 1397, 1398, 5, 76, 39, 2, 1398, 1399, 7,
24, 2, 2, 1399, 1400, 5, 78, 40, 2, 1400, 321, 3, 2, 2, 2, 1401, 1402,
7, 262, 2, 2, 1402, 1403, 5, 76, 39, 2, 1403, 1404, 7, 24, 2, 2, 1404,
1405, 5, 78, 40, 2, 1405, 323, 3, 2, 2, 2, 1406, 1407, 7, 263, 2, 2, 1407,
1408, 5, 76, 39, 2, 1408, 1409, 7, 24, 2, 2, 1409, 1410, 5, 78, 40, 2,
1410, 325, 3, 2, 2, 2, 1411, 1412, 7, 264, 2, 2, 1412, 1413, 5, 76, 39,
2, 1413, 1414, 7, 24, 2, 2, 1414, 1415, 5, 78, 40, 2, 1415, 327, 3, 2,
2, 2, 1416, 1417, 7, 265, 2, 2, 1417, 1418, 5, 76, 39, 2, 1418, 1419, 7,
24, 2, 2, 1419, 1420, 5, 78, 40, 2, 1420, 329, 3, 2, 2, 2, 1421, 1422,
7, 266, 2, 2, 1422, 1423, 5, 76, 39, 2, 1423, 1424, 7, 24, 2, 2, 1424,
1425, 5, 78, 40, 2, 1425, 331, 3, 2, 2, 2, 1426, 1427, 7, 267, 2, 2, 1427,
1428, 5, 76, 39, 2, 1428, 1429, 7, 24, 2, 2, 1429, 1430, 5, 78, 40, 2,
1430, 333, 3, 2, 2, 2, 1431, 1432, 7, 268, 2, 2, 1432, 1433, 5, 76, 39,
2, 1433, 1434, 7, 24, 2, 2, 1434, 1435, 5, 78, 40, 2, 1435, 335, 3, 2,
2, 2, 1436, 1437, 7, 115, 2, 2, 1437, 1438, 5, 356, 179, 2, 1438, 1439,
7, 24, 2, 2, 1439, 1440, 5, 76, 39, 2, 1440, 1441, 7, 24, 2, 2, 1441, 1442,
5, 78, 40, 2, 1442, 337, 3, 2, 2, 2, 1443, 1444, 7, 116, 2, 2, 1444, 1445,
5, 356, 179, 2, 1445, 1446, 7, 24, 2, 2, 1446, 1447, 5, 76, 39, 2, 1447,
1448, 7, 24, 2, 2, 1448, 1449, 5, 78, 40, 2, 1449, 339, 3, 2, 2, 2, 1450,
1451, 7, 117, 2, 2, 1451, 1452, 5, 356, 179, 2, 1452, 1453, 7, 24, 2, 2,
1453, 1454, 5, 76, 39, 2, 1454, 1455, 7, 24, 2, 2, 1455, 1456, 5, 78, 40,
2, 1456, 341, 3, 2, 2, 2, 1457, 1458, 7, 118, 2, 2, 1458, 1459, 5, 356,
179, 2, 1459, 1460, 7, 24, 2, 2, 1460, 1461, 5, 76, 39, 2, 1461, 1462,
7, 24, 2, 2, 1462, 1463, 5, 78, 40, 2, 1463, 343, 3, 2, 2, 2, 1464, 1465,
7, 119, 2, 2, 1465, 1466, 5, 356, 179, 2, 1466, 1467, 7, 24, 2, 2, 1467,
1468, 5, 76, 39, 2, 1468, 1469, 7, 24, 2, 2, 1469, 1470, 5, 78, 40, 2,
1470, 345, 3, 2, 2, 2, 1471, 1472, 5, 2, 2, 2, 1472, 347, 3, 2, 2, 2, 1473,
1474, 5, 2, 2, 2, 1474, 349, 3, 2, 2, 2, 1475, 1476, 5, 2, 2, 2, 1476,
351, 3, 2, 2, 2, 1477, 1478, 5, 2, 2, 2, 1478, 353, 3, 2, 2, 2, 1479, 1480,
5, 2, 2, 2, 1480, 355, 3, 2, 2, 2, 1481, 1482, 5, 2, 2, 2, 1482, 357, 3,
2, 2, 2, 1483, 1484, 5, 582, 292, 2, 1484, 359, 3, 2, 2, 2, 1485, 1486,
7, 132, 2, 2, 1486, 1487, 5, 356, 179, 2, 1487, 1488, 7, 24, 2, 2, 1488,
1489, 5, 348, 175, 2, 1489, 1490, 7, 24, 2, 2, 1490, 1491, 5, 350, 176,
2, 1491, 361, 3, 2, 2, 2, 1492, 1493, 7, 133, 2, 2, 1493, 1494, 5, 356,
179, 2, 1494, 1495, 7, 24, 2, 2, 1495, 1496, 5, 348, 175, 2, 1496, 1497,
7, 24, 2, 2, 1497, 1498, 5, 350, 176, 2, 1498, 363, 3, 2, 2, 2, 1499, 1500,
7, 134, 2, 2, 1500, 1501, 5, 356, 179, 2, 1501, 1502, 7, 24, 2, 2, 1502,
1503, 5, 348, 175, 2, 1503, 1504, 7, 24, 2, 2, 1504, 1505, 5, 350, 176,
2, 1505, 365, 3, 2, 2, 2, 1506, 1507, 7, 135, 2, 2, 1507, 1508, 5, 356,
179, 2, 1508, 1509, 7, 24, 2, 2, 1509, 1510, 5, 348, 175, 2, 1510, 1511,
7, 24, 2, 2, 1511, 1512, 5, 350, 176, 2, 1512, 367, 3, 2, 2, 2, 1513, 1514,
7, 136, 2, 2, 1514, 1515, 5, 356, 179, 2, 1515, 1516, 7, 24, 2, 2, 1516,
1517, 5, 348, 175, 2, 1517, 1518, 7, 24, 2, 2, 1518, 1519, 5, 350, 176,
2, 1519, 369, 3, 2, 2, 2, 1520, 1521, 7, 137, 2, 2, 1521, 1522, 5, 356,
179, 2, 1522, 1523, 7, 24, 2, 2, 1523, 1524, 5, 348, 175, 2, 1524, 1525,
7, 24, 2, 2, 1525, 1526, 5, 350, 176, 2, 1526, 371, 3, 2, 2, 2, 1527, 1528,
7, 138, 2, 2, 1528, 1529, 5, 356, 179, 2, 1529, 1530, 7, 24, 2, 2, 1530,
1531, 5, 348, 175, 2, 1531, 1532, 7, 24, 2, 2, 1532, 1533, 5, 350, 176,
2, 1533, 373, 3, 2, 2, 2, 1534, 1535, 7, 139, 2, 2, 1535, 1536, 5, 354,
178, 2, 1536, 1537, 7, 24, 2, 2, 1537, 1538, 5, 348, 175, 2, 1538, 1539,
7, 24, 2, 2, 1539, 1540, 5, 350, 176, 2, 1540, 375, 3, 2, 2, 2, 1541, 1542,
7, 140, 2, 2, 1542, 1543, 5, 354, 178, 2, 1543, 1544, 7, 24, 2, 2, 1544,
1545, 5, 348, 175, 2, 1545, 1546, 7, 24, 2, 2, 1546, 1547, 5, 350, 176,
2, 1547, 377, 3, 2, 2, 2, 1548, 1549, 7, 141, 2, 2, 1549, 1550, 5, 354,
178, 2, 1550, 1551, 7, 24, 2, 2, 1551, 1552, 5, 348, 175, 2, 1552, 1553,
7, 24, 2, 2, 1553, 1554, 5, 350, 176, 2, 1554, 379, 3, 2, 2, 2, 1555, 1556,
7, 142, 2, 2, 1556, 1557, 5, 354, 178, 2, 1557, 1558, 7, 24, 2, 2, 1558,
1559, 5, 348, 175, 2, 1559, 1560, 7, 24, 2, 2, 1560, 1561, 5, 350, 176,
2, 1561, 381, 3, 2, 2, 2, 1562, 1563, 7, 143, 2, 2, 1563, 1564, 5, 354,
178, 2, 1564, 1565, 7, 24, 2, 2, 1565, 1566, 5, 348, 175, 2, 1566, 1567,
7, 24, 2, 2, 1567, 1568, 5, 350, 176, 2, 1568, 383, 3, 2, 2, 2, 1569, 1570,
7, 144, 2, 2, 1570, 1571, 5, 354, 178, 2, 1571, 1572, 7, 24, 2, 2, 1572,
1573, 5, 348, 175, 2, 1573, 1574, 7, 24, 2, 2, 1574, 1575, 5, 350, 176,
2, 1575, 385, 3, 2, 2, 2, 1576, 1577, 7, 145, 2, 2, 1577, 1578, 5, 354,
178, 2, 1578, 1579, 7, 24, 2, 2, 1579, 1580, 5, 348, 175, 2, 1580, 1581,
7, 24, 2, 2, 1581, 1582, 5, 350, 176, 2, 1582, 387, 3, 2, 2, 2, 1583, 1584,
7, 146, 2, 2, 1584, 1585, 5, 356, 179, 2, 1585, 1586, 7, 24, 2, 2, 1586,
1587, 5, 352, 177, 2, 1587, 1588, 7, 24, 2, 2, 1588, 1589, 5, 358, 180,
2, 1589, 389, 3, 2, 2, 2, 1590, 1591, 7, 147, 2, 2, 1591, 1592, 5, 356,
179, 2, 1592, 1593, 7, 24, 2, 2, 1593, 1594, 5, 352, 177, 2, 1594, 1595,
7, 24, 2, 2, 1595, 1596, 5, 358, 180, 2, 1596, 391, 3, 2, 2, 2, 1597, 1598,
7, 148, 2, 2, 1598, 1599, 5, 356, 179, 2, 1599, 1600, 7, 24, 2, 2, 1600,
1601, 5, 352, 177, 2, 1601, 1602, 7, 24, 2, 2, 1602, 1603, 5, 358, 180,
2, 1603, 393, 3, 2, 2, 2, 1604, 1605, 7, 149, 2, 2, 1605, 1606, 5, 356,
179, 2, 1606, 1607, 7, 24, 2, 2, 1607, 1608, 5, 352, 177, 2, 1608, 1609,
7, 24, 2, 2, 1609, 1610, 5, 358, 180, 2, 1610, 395, 3, 2, 2, 2, 1611, 1612,
7, 150, 2, 2, 1612, 1613, 5, 356, 179, 2, 1613, 1614, 7, 24, 2, 2, 1614,
1615, 5, 352, 177, 2, 1615, 1616, 7, 24, 2, 2, 1616, 1617, 5, 358, 180,
2, 1617, 397, 3, 2, 2, 2, 1618, 1619, 7, 151, 2, 2, 1619, 1620, 5, 356,
179, 2, 1620, 1621, 7, 24, 2, 2, 1621, 1622, 5, 352, 177, 2, 1622, 1623,
7, 24, 2, 2, 1623, 1624, 5, 358, 180, 2, 1624, 399, 3, 2, 2, 2, 1625, 1626,
7, 152, 2, 2, 1626, 1627, 5, 356, 179, 2, 1627, 1628, 7, 24, 2, 2, 1628,
1629, 5, 352, 177, 2, 1629, 1630, 7, 24, 2, 2, 1630, 1631, 5, 358, 180,
2, 1631, 401, 3, 2, 2, 2, 1632, 1633, 7, 153, 2, 2, 1633, 1634, 5, 354,
178, 2, 1634, 1635, 7, 24, 2, 2, 1635, 1636, 5, 352, 177, 2, 1636, 1637,
7, 24, 2, 2, 1637, 1638, 5, 358, 180, 2, 1638, 403, 3, 2, 2, 2, 1639, 1640,
7, 154, 2, 2, 1640, 1641, 5, 354, 178, 2, 1641, 1642, 7, 24, 2, 2, 1642,
1643, 5, 352, 177, 2, 1643, 1644, 7, 24, 2, 2, 1644, 1645, 5, 358, 180,
2, 1645, 405, 3, 2, 2, 2, 1646, 1647, 7, 155, 2, 2, 1647, 1648, 5, 354,
178, 2, 1648, 1649, 7, 24, 2, 2, 1649, 1650, 5, 352, 177, 2, 1650, 1651,
7, 24, 2, 2, 1651, 1652, 5, 358, 180, 2, 1652, 407, 3, 2, 2, 2, 1653, 1654,
7, 156, 2, 2, 1654, 1655, 5, 354, 178, 2, 1655, 1656, 7, 24, 2, 2, 1656,
1657, 5, 352, 177, 2, 1657, 1658, 7, 24, 2, 2, 1658, 1659, 5, 358, 180,
2, 1659, 409, 3, 2, 2, 2, 1660, 1661, 7, 157, 2, 2, 1661, 1662, 5, 354,
178, 2, 1662, 1663, 7, 24, 2, 2, 1663, 1664, 5, 352, 177, 2, 1664, 1665,
7, 24, 2, 2, 1665, 1666, 5, 358, 180, 2, 1666, 411, 3, 2, 2, 2, 1667, 1668,
7, 158, 2, 2, 1668, 1669, 5, 354, 178, 2, 1669, 1670, 7, 24, 2, 2, 1670,
1671, 5, 352, 177, 2, 1671, 1672, 7, 24, 2, 2, 1672, 1673, 5, 358, 180,
2, 1673, 413, 3, 2, 2, 2, 1674, 1675, 7, 159, 2, 2, 1675, 1676, 5, 354,
178, 2, 1676, 1677, 7, 24, 2, 2, 1677, 1678, 5, 352, 177, 2, 1678, 1679,
7, 24, 2, 2, 1679, 1680, 5, 358, 180, 2, 1680, 415, 3, 2, 2, 2, 1681, 1682,
7, 205, 2, 2, 1682, 1683, 5, 356, 179, 2, 1683, 1684, 7, 24, 2, 2, 1684,
1685, 5, 76, 39, 2, 1685, 1686, 7, 24, 2, 2, 1686, 1687, 5, 78, 40, 2,
1687, 417, 3, 2, 2, 2, 1688, 1689, 7, 206, 2, 2, 1689, 1690, 5, 356, 179,
2, 1690, 1691, 7, 24, 2, 2, 1691, 1692, 5, 76, 39, 2, 1692, 1693, 7, 24,
2, 2, 1693, 1694, 5, 78, 40, 2, 1694, 419, 3, 2, 2, 2, 1695, 1696, 7, 207,
2, 2, 1696, 1697, 5, 356, 179, 2, 1697, 1698, 7, 24, 2, 2, 1698, 1699,
5, 76, 39, 2, 1699, 1700, 7, 24, 2, 2, 1700, 1701, 5, 78, 40, 2, 1701,
421, 3, 2, 2, 2, 1702, 1703, 7, 208, 2, 2, 1703, 1704, 5, 356, 179, 2,
1704, 1705, 7, 24, 2, 2, 1705, 1706, 5, 76, 39, 2, 1706, 1707, 7, 24, 2,
2, 1707, 1708, 5, 78, 40, 2, 1708, 423, 3, 2, 2, 2, 1709, 1710, 7, 209,
2, 2, 1710, 1711, 5, 356, 179, 2, 1711, 1712, 7, 24, 2, 2, 1712, 1713,
5, 76, 39, 2, 1713, 1714, 7, 24, 2, 2, 1714, 1715, 5, 78, 40, 2, 1715,
425, 3, 2, 2, 2, 1716, 1717, 7, 210, 2, 2, 1717, 1718, 5, 356, 179, 2,
1718, 1719, 7, 24, 2, 2, 1719, 1720, 5, 76, 39, 2, 1720, 1721, 7, 24, 2,
2, 1721, 1722, 5, 78, 40, 2, 1722, 427, 3, 2, 2, 2, 1723, 1724, 7, 211,
2, 2, 1724, 1725, 5, 356, 179, 2, 1725, 1726, 7, 24, 2, 2, 1726, 1727,
5, 76, 39, 2, 1727, 1728, 7, 24, 2, 2, 1728, 1729, 5, 78, 40, 2, 1729,
429, 3, 2, 2, 2, 1730, 1731, 7, 212, 2, 2, 1731, 1732, 5, 356, 179, 2,
1732, 1733, 7, 24, 2, 2, 1733, 1734, 5, 76, 39, 2, 1734, 1735, 7, 24, 2,
2, 1735, 1736, 5, 78, 40, 2, 1736, 431, 3, 2, 2, 2, 1737, 1738, 7, 213,
2, 2, 1738, 1739, 5, 356, 179, 2, 1739, 1740, 7, 24, 2, 2, 1740, 1741,
5, 76, 39, 2, 1741, 1742, 7, 24, 2, 2, 1742, 1743, 5, 78, 40, 2, 1743,
433, 3, 2, 2, 2, 1744, 1745, 7, 214, 2, 2, 1745, 1746, 5, 356, 179, 2,
1746, 1747, 7, 24, 2, 2, 1747, 1748, 5, 76, 39, 2, 1748, 1749, 7, 24, 2,
2, 1749, 1750, 5, 78, 40, 2, 1750, 435, 3, 2, 2, 2, 1751, 1752, 7, 215,
2, 2, 1752, 1753, 5, 356, 179, 2, 1753, 1754, 7, 24, 2, 2, 1754, 1755,
5, 76, 39, 2, 1755, 1756, 7, 24, 2, 2, 1756, 1757, 5, 78, 40, 2, 1757,
437, 3, 2, 2, 2, 1758, 1759, 7, 270, 2, 2, 1759, 1760, 5, 356, 179, 2,
1760, 1761, 7, 24, 2, 2, 1761, 1762, 5, 76, 39, 2, 1762, 1763, 7, 24, 2,
2, 1763, 1764, 5, 78, 40, 2, 1764, 439, 3, 2, 2, 2, 1765, 1766, 7, 216,
2, 2, 1766, 1767, 5, 356, 179, 2, 1767, 1768, 7, 24, 2, 2, 1768, 1769,
5, 76, 39, 2, 1769, 1770, 7, 24, 2, 2, 1770, 1771, 5, 78, 40, 2, 1771,
441, 3, 2, 2, 2, 1772, 1773, 7, 217, 2, 2, 1773, 1774, 5, 356, 179, 2,
1774, 1775, 7, 24, 2, 2, 1775, 1776, 5, 76, 39, 2, 1776, 1777, 7, 24, 2,
2, 1777, 1778, 5, 78, 40, 2, 1778, 443, 3, 2, 2, 2, 1779, 1780, 7, 218,
2, 2, 1780, 1781, 5, 356, 179, 2, 1781, 1782, 7, 24, 2, 2, 1782, 1783,
5, 76, 39, 2, 1783, 1784, 7, 24, 2, 2, 1784, 1785, 5, 78, 40, 2, 1785,
445, 3, 2, 2, 2, 1786, 1787, 7, 219, 2, 2, 1787, 1788, 5, 356, 179, 2,
1788, 1789, 7, 24, 2, 2, 1789, 1790, 5, 76, 39, 2, 1790, 1791, 7, 24, 2,
2, 1791, 1792, 5, 78, 40, 2, 1792, 447, 3, 2, 2, 2, 1793, 1794, 7, 220,
2, 2, 1794, 1795, 5, 356, 179, 2, 1795, 1796, 7, 24, 2, 2, 1796, 1797,
5, 76, 39, 2, 1797, 1798, 7, 24, 2, 2, 1798, 1799, 5, 78, 40, 2, 1799,
449, 3, 2, 2, 2, 1800, 1801, 7, 221, 2, 2, 1801, 1802, 5, 356, 179, 2,
1802, 1803, 7, 24, 2, 2, 1803, 1804, 5, 76, 39, 2, 1804, 1805, 7, 24, 2,
2, 1805, 1806, 5, 78, 40, 2, 1806, 451, 3, 2, 2, 2, 1807, 1808, 7, 222,
2, 2, 1808, 1809, 5, 356, 179, 2, 1809, 1810, 7, 24, 2, 2, 1810, 1811,
5, 76, 39, 2, 1811, 1812, 7, 24, 2, 2, 1812, 1813, 5, 78, 40, 2, 1813,
453, 3, 2, 2, 2, 1814, 1815, 7, 223, 2, 2, 1815, 1816, 5, 356, 179, 2,
1816, 1817, 7, 24, 2, 2, 1817, 1818, 5, 76, 39, 2, 1818, 1819, 7, 24, 2,
2, 1819, 1820, 5, 78, 40, 2, 1820, 455, 3, 2, 2, 2, 1821, 1822, 7, 224,
2, 2, 1822, 1823, 5, 356, 179, 2, 1823, 1824, 7, 24, 2, 2, 1824, 1825,
5, 76, 39, 2, 1825, 1826, 7, 24, 2, 2, 1826, 1827, 5, 78, 40, 2, 1827,
457, 3, 2, 2, 2, 1828, 1829, 7, 225, 2, 2, 1829, 1830, 5, 356, 179, 2,
1830, 1831, 7, 24, 2, 2, 1831, 1832, 5, 76, 39, 2, 1832, 1833, 7, 24, 2,
2, 1833, 1834, 5, 78, 40, 2, 1834, 459, 3, 2, 2, 2, 1835, 1836, 7, 226,
2, 2, 1836, 1837, 5, 356, 179, 2, 1837, 1838, 7, 24, 2, 2, 1838, 1839,
5, 76, 39, 2, 1839, 1840, 7, 24, 2, 2, 1840, 1841, 5, 78, 40, 2, 1841,
461, 3, 2, 2, 2, 1842, 1843, 7, 227, 2, 2, 1843, 1844, 5, 356, 179, 2,
1844, 1845, 7, 24, 2, 2, 1845, 1846, 5, 76, 39, 2, 1846, 1847, 7, 24, 2,
2, 1847, 1848, 5, 78, 40, 2, 1848, 463, 3, 2, 2, 2, 1849, 1850, 7, 228,
2, 2, 1850, 1851, 5, 356, 179, 2, 1851, 1852, 7, 24, 2, 2, 1852, 1853,
5, 76, 39, 2, 1853, 1854, 7, 24, 2, 2, 1854, 1855, 5, 78, 40, 2, 1855,
465, 3, 2, 2, 2, 1856, 1857, 7, 229, 2, 2, 1857, 1858, 5, 356, 179, 2,
1858, 1859, 7, 24, 2, 2, 1859, 1860, 5, 76, 39, 2, 1860, 1861, 7, 24, 2,
2, 1861, 1862, 5, 78, 40, 2, 1862, 467, 3, 2, 2, 2, 1863, 1864, 7, 230,
2, 2, 1864, 1865, 5, 356, 179, 2, 1865, 1866, 7, 24, 2, 2, 1866, 1867,
5, 76, 39, 2, 1867, 1868, 7, 24, 2, 2, 1868, 1869, 5, 78, 40, 2, 1869,
469, 3, 2, 2, 2, 1870, 1871, 7, 231, 2, 2, 1871, 1872, 5, 356, 179, 2,
1872, 1873, 7, 24, 2, 2, 1873, 1874, 5, 76, 39, 2, 1874, 1875, 7, 24, 2,
2, 1875, 1876, 5, 78, 40, 2, 1876, 471, 3, 2, 2, 2, 1877, 1878, 7, 232,
2, 2, 1878, 1879, 5, 356, 179, 2, 1879, 1880, 7, 24, 2, 2, 1880, 1881,
5, 76, 39, 2, 1881, 1882, 7, 24, 2, 2, 1882, 1883, 5, 78, 40, 2, 1883,
473, 3, 2, 2, 2, 1884, 1885, 7, 233, 2, 2, 1885, 1886, 5, 356, 179, 2,
1886, 1887, 7, 24, 2, 2, 1887, 1888, 5, 76, 39, 2, 1888, 1889, 7, 24, 2,
2, 1889, 1890, 5, 78, 40, 2, 1890, 475, 3, 2, 2, 2, 1891, 1892, 7, 234,
2, 2, 1892, 1893, 5, 356, 179, 2, 1893, 1894, 7, 24, 2, 2, 1894, 1895,
5, 76, 39, 2, 1895, 1896, 7, 24, 2, 2, 1896, 1897, 5, 78, 40, 2, 1897,
477, 3, 2, 2, 2, 1898, 1899, 7, 235, 2, 2, 1899, 1900, 5, 356, 179, 2,
1900, 1901, 7, 24, 2, 2, 1901, 1902, 5, 76, 39, 2, 1902, 1903, 7, 24, 2,
2, 1903, 1904, 5, 78, 40, 2, 1904, 479, 3, 2, 2, 2, 1905, 1906, 7, 236,
2, 2, 1906, 1907, 5, 356, 179, 2, 1907, 1908, 7, 24, 2, 2, 1908, 1909,
5, 76, 39, 2, 1909, 1910, 7, 24, 2, 2, 1910, 1911, 5, 78, 40, 2, 1911,
481, 3, 2, 2, 2, 1912, 1913, 7, 269, 2, 2, 1913, 1914, 5, 356, 179, 2,
1914, 1915, 7, 24, 2, 2, 1915, 1916, 5, 76, 39, 2, 1916, 1917, 7, 24, 2,
2, 1917, 1918, 5, 22, 12, 2, 1918, 483, 3, 2, 2, 2, 1919, 1920, 7, 271,
2, 2, 1920, 1921, 5, 356, 179, 2, 1921, 1922, 7, 24, 2, 2, 1922, 1923,
5, 76, 39, 2, 1923, 1924, 7, 24, 2, 2, 1924, 1925, 5, 22, 12, 2, 1925,
485, 3, 2, 2, 2, 1926, 1927, 7, 272, 2, 2, 1927, 1928, 5, 356, 179, 2,
1928, 1929, 7, 24, 2, 2, 1929, 1930, 5, 76, 39, 2, 1930, 1931, 7, 24, 2,
2, 1931, 1932, 5, 22, 12, 2, 1932, 487, 3, 2, 2, 2, 1933, 1934, 7, 273,
2, 2, 1934, 1935, 5, 356, 179, 2, 1935, 1936, 7, 24, 2, 2, 1936, 1937,
5, 76, 39, 2, 1937, 1938, 7, 24, 2, 2, 1938, 1939, 5, 22, 12, 2, 1939,
489, 3, 2, 2, 2, 1940, 1941, 7, 274, 2, 2, 1941, 1942, 5, 356, 179, 2,
1942, 1943, 7, 24, 2, 2, 1943, 1944, 5, 76, 39, 2, 1944, 1945, 7, 24, 2,
2, 1945, 1946, 5, 22, 12, 2, 1946, 491, 3, 2, 2, 2, 1947, 1948, 7, 275,
2, 2, 1948, 1949, 5, 356, 179, 2, 1949, 1950, 7, 24, 2, 2, 1950, 1951,
5, 76, 39, 2, 1951, 1952, 7, 24, 2, 2, 1952, 1953, 5, 22, 12, 2, 1953,
493, 3, 2, 2, 2, 1954, 1955, 7, 276, 2, 2, 1955, 1956, 5, 356, 179, 2,
1956, 1957, 7, 24, 2, 2, 1957, 1958, 5, 76, 39, 2, 1958, 1959, 7, 24, 2,
2, 1959, 1960, 5, 22, 12, 2, 1960, 495, 3, 2, 2, 2, 1961, 1962, 7, 277,
2, 2, 1962, 1963, 5, 356, 179, 2, 1963, 1964, 7, 24, 2, 2, 1964, 1965,
5, 76, 39, 2, 1965, 1966, 7, 24, 2, 2, 1966, 1967, 5, 22, 12, 2, 1967,
497, 3, 2, 2, 2, 1968, 1969, 7, 278, 2, 2, 1969, 1970, 5, 356, 179, 2,
1970, 1971, 7, 24, 2, 2, 1971, 1972, 5, 76, 39, 2, 1972, 1973, 7, 24, 2,
2, 1973, 1974, 5, 22, 12, 2, 1974, 499, 3, 2, 2, 2, 1975, 1976, 7, 279,
2, 2, 1976, 1977, 5, 356, 179, 2, 1977, 1978, 7, 24, 2, 2, 1978, 1979,
5, 76, 39, 2, 1979, 1980, 7, 24, 2, 2, 1980, 1981, 5, 22, 12, 2, 1981,
501, 3, 2, 2, 2, 1982, 1983, 7, 280, 2, 2, 1983, 1984, 5, 356, 179, 2,
1984, 1985, 7, 24, 2, 2, 1985, 1986, 5, 76, 39, 2, 1986, 1987, 7, 24, 2,
2, 1987, 1988, 5, 22, 12, 2, 1988, 503, 3, 2, 2, 2, 1989, 1990, 7, 281,
2, 2, 1990, 1991, 5, 356, 179, 2, 1991, 1992, 7, 24, 2, 2, 1992, 1993,
5, 76, 39, 2, 1993, 1994, 7, 24, 2, 2, 1994, 1995, 5, 22, 12, 2, 1995,
505, 3, 2, 2, 2, 1996, 1997, 7, 282, 2, 2, 1997, 1998, 5, 356, 179, 2,
1998, 1999, 7, 24, 2, 2, 1999, 2000, 5, 76, 39, 2, 2000, 2001, 7, 24, 2,
2, 2001, 2002, 5, 22, 12, 2, 2002, 507, 3, 2, 2, 2, 2003, 2004, 7, 283,
2, 2, 2004, 2005, 5, 356, 179, 2, 2005, 2006, 7, 24, 2, 2, 2006, 2007,
5, 76, 39, 2, 2007, 2008, 7, 24, 2, 2, 2008, 2009, 5, 22, 12, 2, 2009,
509, 3, 2, 2, 2, 2010, 2011, 7, 284, 2, 2, 2011, 2012, 5, 356, 179, 2,
2012, 2013, 7, 24, 2, 2, 2013, 2014, 5, 76, 39, 2, 2014, 2015, 7, 24, 2,
2, 2015, 2016, 5, 22, 12, 2, 2016, 511, 3, 2, 2, 2, 2017, 2018, 7, 285,
2, 2, 2018, 2019, 5, 356, 179, 2, 2019, 2020, 7, 24, 2, 2, 2020, 2021,
5, 76, 39, 2, 2021, 2022, 7, 24, 2, 2, 2022, 2023, 5, 22, 12, 2, 2023,
513, 3, 2, 2, 2, 2024, 2025, 7, 286, 2, 2, 2025, 2026, 5, 356, 179, 2,
2026, 2027, 7, 24, 2, 2, 2027, 2028, 5, 76, 39, 2, 2028, 2029, 7, 24, 2,
2, 2029, 2030, 5, 22, 12, 2, 2030, 515, 3, 2, 2, 2, 2031, 2032, 7, 287,
2, 2, 2032, 2033, 5, 356, 179, 2, 2033, 2034, 7, 24, 2, 2, 2034, 2035,
5, 76, 39, 2, 2035, 2036, 7, 24, 2, 2, 2036, 2037, 5, 22, 12, 2, 2037,
517, 3, 2, 2, 2, 2038, 2039, 5, 26, 14, 2, 2039, 519, 3, 2, 2, 2, 2040,
2041, 7, 106, 2, 2, 2041, 2042, 5, 356, 179, 2, 2042, 2043, 7, 24, 2, 2,
2043, 2044, 5, 518, 260, 2, 2044, 521, 3, 2, 2, 2, 2045, 2046, 5, 54, 28,
2, 2046, 523, 3, 2, 2, 2, 2047, 2048, 7, 103, 2, 2, 2048, 2049, 5, 356,
179, 2, 2049, 2050, 7, 24, 2, 2, 2050, 2051, 5, 522, 262, 2, 2051, 525,
3, 2, 2, 2, 2052, 2053, 7, 105, 2, 2, 2053, 2054, 5, 356, 179, 2, 2054,
2055, 7, 24, 2, 2, 2055, 2056, 5, 348, 175, 2, 2056, 527, 3, 2, 2, 2, 2057,
2058, 5, 56, 29, 2, 2058, 529, 3, 2, 2, 2, 2059, 2060, 5, 82, 42, 2, 2060,
531, 3, 2, 2, 2, 2061, 2062, 5, 84, 43, 2, 2062, 533, 3, 2, 2, 2, 2063,
2064, 7, 109, 2, 2, 2064, 2065, 5, 530, 266, 2, 2065, 2066, 7, 24, 2, 2,
2066, 2067, 5, 528, 265, 2, 2067, 535, 3, 2, 2, 2, 2068, 2069, 7, 108,
2, 2, 2069, 2070, 5, 532, 267, 2, 2070, 2071, 7, 24, 2, 2, 2071, 2072,
5, 528, 265, 2, 2072, 537, 3, 2, 2, 2, 2073, 2074, 5, 74, 38, 2, 2074,
539, 3, 2, 2, 2, 2075, 2076, 7, 110, 2, 2, 2076, 2077, 5, 356, 179, 2,
2077, 2078, 7, 24, 2, 2, 2078, 2079, 5, 538, 270, 2, 2079, 541, 3, 2, 2,
2, 2080, 2081, 5, 56, 29, 2, 2081, 543, 3, 2, 2, 2, 2082, 2083, 7, 104,
2, 2, 2083, 2084, 5, 356, 179, 2, 2084, 2085, 7, 24, 2, 2, 2085, 2086,
5, 352, 177, 2, 2086, 2087, 7, 24, 2, 2, 2087, 2088, 5, 542, 272, 2, 2088,
545, 3, 2, 2, 2, 2089, 2090, 5, 2, 2, 2, 2090, 547, 3, 2, 2, 2, 2091, 2092,
7, 107, 2, 2, 2092, 2093, 5, 356, 179, 2, 2093, 2094, 7, 24, 2, 2, 2094,
2095, 5, 546, 274, 2, 2095, 2096, 7, 24, 2, 2, 2096, 2097, 5, 528, 265,
2, 2097, 549, 3, 2, 2, 2, 2098, 2099, 5, 2, 2, 2, 2099, 551, 3, 2, 2, 2,
2100, 2101, 5, 74, 38, 2, 2101, 553, 3, 2, 2, 2, 2102, 2103, 5, 2, 2, 2,
2103, 555, 3, 2, 2, 2, 2104, 2105, 5, 74, 38, 2, 2105, 557, 3, 2, 2, 2,
2106, 2107, 7, 294, 2, 2, 2107, 2108, 5, 550, 276, 2, 2108, 2109, 7, 24,
2, 2, 2109, 2110, 5, 552, 277, 2, 2110, 559, 3, 2, 2, 2, 2111, 2112, 7,
295, 2, 2, 2112, 2113, 5, 554, 278, 2, 2113, 2114, 7, 24, 2, 2, 2114, 2115,
5, 556, 279, 2, 2115, 561, 3, 2, 2, 2, 2116, 2117, 7, 288, 2, 2, 2117,
563, 3, 2, 2, 2, 2118, 2119, 7, 289, 2, 2, 2119, 565, 3, 2, 2, 2, 2120,
2121, 7, 290, 2, 2, 2121, 567, 3, 2, 2, 2, 2122, 2123, 7, 291, 2, 2, 2123,
569, 3, 2, 2, 2, 2124, 2125, 7, 292, 2, 2, 2125, 571, 3, 2, 2, 2, 2126,
2127, 7, 293, 2, 2, 2127, 573, 3, 2, 2, 2, 2128, 2251, 5, 534, 268, 2,
2129, 2251, 5, 536, 269, 2, 2130, 2251, 5, 540, 271, 2, 2131, 2251, 5,
526, 264, 2, 2132, 2251, 5, 558, 280, 2, 2133, 2251, 5, 560, 281, 2, 2134,
2251, 5, 520, 261, 2, 2135, 2251, 5, 524, 263, 2, 2136, 2251, 5, 116, 59,
2, 2137, 2251, 5, 118, 60, 2, 2138, 2251, 5, 120, 61, 2, 2139, 2251, 5,
122, 62, 2, 2140, 2251, 5, 124, 63, 2, 2141, 2251, 5, 126, 64, 2, 2142,
2251, 5, 128, 65, 2, 2143, 2251, 5, 130, 66, 2, 2144, 2251, 5, 132, 67,
2, 2145, 2251, 5, 134, 68, 2, 2146, 2251, 5, 136, 69, 2, 2147, 2251, 5,
138, 70, 2, 2148, 2251, 5, 140, 71, 2, 2149, 2251, 5, 142, 72, 2, 2150,
2251, 5, 144, 73, 2, 2151, 2251, 5, 146, 74, 2, 2152, 2251, 5, 148, 75,
2, 2153, 2251, 5, 150, 76, 2, 2154, 2251, 5, 152, 77, 2, 2155, 2251, 5,
154, 78, 2, 2156, 2251, 5, 156, 79, 2, 2157, 2251, 5, 158, 80, 2, 2158,
2251, 5, 160, 81, 2, 2159, 2251, 5, 162, 82, 2, 2160, 2251, 5, 164, 83,
2, 2161, 2251, 5, 166, 84, 2, 2162, 2251, 5, 168, 85, 2, 2163, 2251, 5,
170, 86, 2, 2164, 2251, 5, 172, 87, 2, 2165, 2251, 5, 174, 88, 2, 2166,
2251, 5, 176, 89, 2, 2167, 2251, 5, 178, 90, 2, 2168, 2251, 5, 180, 91,
2, 2169, 2251, 5, 182, 92, 2, 2170, 2251, 5, 184, 93, 2, 2171, 2251, 5,
186, 94, 2, 2172, 2251, 5, 188, 95, 2, 2173, 2251, 5, 190, 96, 2, 2174,
2251, 5, 192, 97, 2, 2175, 2251, 5, 194, 98, 2, 2176, 2251, 5, 196, 99,
2, 2177, 2251, 5, 198, 100, 2, 2178, 2251, 5, 200, 101, 2, 2179, 2251,
5, 202, 102, 2, 2180, 2251, 5, 204, 103, 2, 2181, 2251, 5, 206, 104, 2,
2182, 2251, 5, 208, 105, 2, 2183, 2251, 5, 210, 106, 2, 2184, 2251, 5,
212, 107, 2, 2185, 2251, 5, 214, 108, 2, 2186, 2251, 5, 216, 109, 2, 2187,
2251, 5, 218, 110, 2, 2188, 2251, 5, 220, 111, 2, 2189, 2251, 5, 222, 112,
2, 2190, 2251, 5, 224, 113, 2, 2191, 2251, 5, 226, 114, 2, 2192, 2251,
5, 228, 115, 2, 2193, 2251, 5, 230, 116, 2, 2194, 2251, 5, 232, 117, 2,
2195, 2251, 5, 236, 119, 2, 2196, 2251, 5, 238, 120, 2, 2197, 2251, 5,
240, 121, 2, 2198, 2251, 5, 242, 122, 2, 2199, 2251, 5, 244, 123, 2, 2200,
2251, 5, 246, 124, 2, 2201, 2251, 5, 248, 125, 2, 2202, 2251, 5, 250, 126,
2, 2203, 2251, 5, 252, 127, 2, 2204, 2251, 5, 254, 128, 2, 2205, 2251,
5, 256, 129, 2, 2206, 2251, 5, 258, 130, 2, 2207, 2251, 5, 260, 131, 2,
2208, 2251, 5, 262, 132, 2, 2209, 2251, 5, 264, 133, 2, 2210, 2251, 5,
266, 134, 2, 2211, 2251, 5, 268, 135, 2, 2212, 2251, 5, 270, 136, 2, 2213,
2251, 5, 272, 137, 2, 2214, 2251, 5, 274, 138, 2, 2215, 2251, 5, 276, 139,
2, 2216, 2251, 5, 278, 140, 2, 2217, 2251, 5, 280, 141, 2, 2218, 2251,
5, 282, 142, 2, 2219, 2251, 5, 284, 143, 2, 2220, 2251, 5, 286, 144, 2,
2221, 2251, 5, 288, 145, 2, 2222, 2251, 5, 290, 146, 2, 2223, 2251, 5,
292, 147, 2, 2224, 2251, 5, 294, 148, 2, 2225, 2251, 5, 296, 149, 2, 2226,
2251, 5, 298, 150, 2, 2227, 2251, 5, 300, 151, 2, 2228, 2251, 5, 302, 152,
2, 2229, 2251, 5, 304, 153, 2, 2230, 2251, 5, 306, 154, 2, 2231, 2251,
5, 308, 155, 2, 2232, 2251, 5, 310, 156, 2, 2233, 2251, 5, 312, 157, 2,
2234, 2251, 5, 314, 158, 2, 2235, 2251, 5, 316, 159, 2, 2236, 2251, 5,
318, 160, 2, 2237, 2251, 5, 320, 161, 2, 2238, 2251, 5, 322, 162, 2, 2239,
2251, 5, 324, 163, 2, 2240, 2251, 5, 326, 164, 2, 2241, 2251, 5, 328, 165,
2, 2242, 2251, 5, 330, 166, 2, 2243, 2251, 5, 332, 167, 2, 2244, 2251,
5, 334, 168, 2, 2245, 2251, 5, 336, 169, 2, 2246, 2251, 5, 338, 170, 2,
2247, 2251, 5, 340, 171, 2, 2248, 2251, 5, 342, 172, 2, 2249, 2251, 5,
344, 173, 2, 2250, 2128, 3, 2, 2, 2, 2250, 2129, 3, 2, 2, 2, 2250, 2130,
3, 2, 2, 2, 2250, 2131, 3, 2, 2, 2, 2250, 2132, 3, 2, 2, 2, 2250, 2133,
3, 2, 2, 2, 2250, 2134, 3, 2, 2, 2, 2250, 2135, 3, 2, 2, 2, 2250, 2136,
3, 2, 2, 2, 2250, 2137, 3, 2, 2, 2, 2250, 2138, 3, 2, 2, 2, 2250, 2139,
3, 2, 2, 2, 2250, 2140, 3, 2, 2, 2, 2250, 2141, 3, 2, 2, 2, 2250, 2142,
3, 2, 2, 2, 2250, 2143, 3, 2, 2, 2, 2250, 2144, 3, 2, 2, 2, 2250, 2145,
3, 2, 2, 2, 2250, 2146, 3, 2, 2, 2, 2250, 2147, 3, 2, 2, 2, 2250, 2148,
3, 2, 2, 2, 2250, 2149, 3, 2, 2, 2, 2250, 2150, 3, 2, 2, 2, 2250, 2151,
3, 2, 2, 2, 2250, 2152, 3, 2, 2, 2, 2250, 2153, 3, 2, 2, 2, 2250, 2154,
3, 2, 2, 2, 2250, 2155, 3, 2, 2, 2, 2250, 2156, 3, 2, 2, 2, 2250, 2157,
3, 2, 2, 2, 2250, 2158, 3, 2, 2, 2, 2250, 2159, 3, 2, 2, 2, 2250, 2160,
3, 2, 2, 2, 2250, 2161, 3, 2, 2, 2, 2250, 2162, 3, 2, 2, 2, 2250, 2163,
3, 2, 2, 2, 2250, 2164, 3, 2, 2, 2, 2250, 2165, 3, 2, 2, 2, 2250, 2166,
3, 2, 2, 2, 2250, 2167, 3, 2, 2, 2, 2250, 2168, 3, 2, 2, 2, 2250, 2169,
3, 2, 2, 2, 2250, 2170, 3, 2, 2, 2, 2250, 2171, 3, 2, 2, 2, 2250, 2172,
3, 2, 2, 2, 2250, 2173, 3, 2, 2, 2, 2250, 2174, 3, 2, 2, 2, 2250, 2175,
3, 2, 2, 2, 2250, 2176, 3, 2, 2, 2, 2250, 2177, 3, 2, 2, 2, 2250, 2178,
3, 2, 2, 2, 2250, 2179, 3, 2, 2, 2, 2250, 2180, 3, 2, 2, 2, 2250, 2181,
3, 2, 2, 2, 2250, 2182, 3, 2, 2, 2, 2250, 2183, 3, 2, 2, 2, 2250, 2184,
3, 2, 2, 2, 2250, 2185, 3, 2, 2, 2, 2250, 2186, 3, 2, 2, 2, 2250, 2187,
3, 2, 2, 2, 2250, 2188, 3, 2, 2, 2, 2250, 2189, 3, 2, 2, 2, 2250, 2190,
3, 2, 2, 2, 2250, 2191, 3, 2, 2, 2, 2250, 2192, 3, 2, 2, 2, 2250, 2193,
3, 2, 2, 2, 2250, 2194, 3, 2, 2, 2, 2250, 2195, 3, 2, 2, 2, 2250, 2196,
3, 2, 2, 2, 2250, 2197, 3, 2, 2, 2, 2250, 2198, 3, 2, 2, 2, 2250, 2199,
3, 2, 2, 2, 2250, 2200, 3, 2, 2, 2, 2250, 2201, 3, 2, 2, 2, 2250, 2202,
3, 2, 2, 2, 2250, 2203, 3, 2, 2, 2, 2250, 2204, 3, 2, 2, 2, 2250, 2205,
3, 2, 2, 2, 2250, 2206, 3, 2, 2, 2, 2250, 2207, 3, 2, 2, 2, 2250, 2208,
3, 2, 2, 2, 2250, 2209, 3, 2, 2, 2, 2250, 2210, 3, 2, 2, 2, 2250, 2211,
3, 2, 2, 2, 2250, 2212, 3, 2, 2, 2, 2250, 2213, 3, 2, 2, 2, 2250, 2214,
3, 2, 2, 2, 2250, 2215, 3, 2, 2, 2, 2250, 2216, 3, 2, 2, 2, 2250, 2217,
3, 2, 2, 2, 2250, 2218, 3, 2, 2, 2, 2250, 2219, 3, 2, 2, 2, 2250, 2220,
3, 2, 2, 2, 2250, 2221, 3, 2, 2, 2, 2250, 2222, 3, 2, 2, 2, 2250, 2223,
3, 2, 2, 2, 2250, 2224, 3, 2, 2, 2, 2250, 2225, 3, 2, 2, 2, 2250, 2226,
3, 2, 2, 2, 2250, 2227, 3, 2, 2, 2, 2250, 2228, 3, 2, 2, 2, 2250, 2229,
3, 2, 2, 2, 2250, 2230, 3, 2, 2, 2, 2250, 2231, 3, 2, 2, 2, 2250, 2232,
3, 2, 2, 2, 2250, 2233, 3, 2, 2, 2, 2250, 2234, 3, 2, 2, 2, 2250, 2235,
3, 2, 2, 2, 2250, 2236, 3, 2, 2, 2, 2250, 2237, 3, 2, 2, 2, 2250, 2238,
3, 2, 2, 2, 2250, 2239, 3, 2, 2, 2, 2250, 2240, 3, 2, 2, 2, 2250, 2241,
3, 2, 2, 2, 2250, 2242, 3, 2, 2, 2, 2250, 2243, 3, 2, 2, 2, 2250, 2244,
3, 2, 2, 2, 2250, 2245, 3, 2, 2, 2, 2250, 2246, 3, 2, 2, 2, 2250, 2247,
3, 2, 2, 2, 2250, 2248, 3, 2, 2, 2, 2250, 2249, 3, 2, 2, 2, 2251, 575,
3, 2, 2, 2, 2252, 2340, 5, 562, 282, 2, 2253, 2340, 5, 564, 283, 2, 2254,
2340, 5, 566, 284, 2, 2255, 2340, 5, 568, 285, 2, 2256, 2340, 5, 570, 286,
2, 2257, 2340, 5, 572, 287, 2, 2258, 2340, 5, 544, 273, 2, 2259, 2340,
5, 548, 275, 2, 2260, 2340, 5, 360, 181, 2, 2261, 2340, 5, 362, 182, 2,
2262, 2340, 5, 364, 183, 2, 2263, 2340, 5, 366, 184, 2, 2264, 2340, 5,
368, 185, 2, 2265, 2340, 5, 370, 186, 2, 2266, 2340, 5, 372, 187, 2, 2267,
2340, 5, 374, 188, 2, 2268, 2340, 5, 376, 189, 2, 2269, 2340, 5, 378, 190,
2, 2270, 2340, 5, 380, 191, 2, 2271, 2340, 5, 382, 192, 2, 2272, 2340,
5, 384, 193, 2, 2273, 2340, 5, 386, 194, 2, 2274, 2340, 5, 388, 195, 2,
2275, 2340, 5, 390, 196, 2, 2276, 2340, 5, 392, 197, 2, 2277, 2340, 5,
394, 198, 2, 2278, 2340, 5, 396, 199, 2, 2279, 2340, 5, 398, 200, 2, 2280,
2340, 5, 400, 201, 2, 2281, 2340, 5, 402, 202, 2, 2282, 2340, 5, 404, 203,
2, 2283, 2340, 5, 406, 204, 2, 2284, 2340, 5, 408, 205, 2, 2285, 2340,
5, 410, 206, 2, 2286, 2340, 5, 412, 207, 2, 2287, 2340, 5, 414, 208, 2,
2288, 2340, 5, 416, 209, 2, 2289, 2340, 5, 418, 210, 2, 2290, 2340, 5,
420, 211, 2, 2291, 2340, 5, 422, 212, 2, 2292, 2340, 5, 424, 213, 2, 2293,
2340, 5, 426, 214, 2, 2294, 2340, 5, 428, 215, 2, 2295, 2340, 5, 430, 216,
2, 2296, 2340, 5, 432, 217, 2, 2297, 2340, 5, 434, 218, 2, 2298, 2340,
5, 436, 219, 2, 2299, 2340, 5, 438, 220, 2, 2300, 2340, 5, 440, 221, 2,
2301, 2340, 5, 442, 222, 2, 2302, 2340, 5, 444, 223, 2, 2303, 2340, 5,
446, 224, 2, 2304, 2340, 5, 448, 225, 2, 2305, 2340, 5, 450, 226, 2, 2306,
2340, 5, 452, 227, 2, 2307, 2340, 5, 454, 228, 2, 2308, 2340, 5, 456, 229,
2, 2309, 2340, 5, 458, 230, 2, 2310, 2340, 5, 460, 231, 2, 2311, 2340,
5, 462, 232, 2, 2312, 2340, 5, 464, 233, 2, 2313, 2340, 5, 466, 234, 2,
2314, 2340, 5, 468, 235, 2, 2315, 2340, 5, 470, 236, 2, 2316, 2340, 5,
472, 237, 2, 2317, 2340, 5, 474, 238, 2, 2318, 2340, 5, 476, 239, 2, 2319,
2340, 5, 478, 240, 2, 2320, 2340, 5, 480, 241, 2, 2321, 2340, 5, 482, 242,
2, 2322, 2340, 5, 484, 243, 2, 2323, 2340, 5, 486, 244, 2, 2324, 2340,
5, 488, 245, 2, 2325, 2340, 5, 490, 246, 2, 2326, 2340, 5, 492, 247, 2,
2327, 2340, 5, 494, 248, 2, 2328, 2340, 5, 496, 249, 2, 2329, 2340, 5,
498, 250, 2, 2330, 2340, 5, 500, 251, 2, 2331, 2340, 5, 502, 252, 2, 2332,
2340, 5, 504, 253, 2, 2333, 2340, 5, 506, 254, 2, 2334, 2340, 5, 508, 255,
2, 2335, 2340, 5, 510, 256, 2, 2336, 2340, 5, 512, 257, 2, 2337, 2340,
5, 514, 258, 2, 2338, 2340, 5, 516, 259, 2, 2339, 2252, 3, 2, 2, 2, 2339,
2253, 3, 2, 2, 2, 2339, 2254, 3, 2, 2, 2, 2339, 2255, 3, 2, 2, 2, 2339,
2256, 3, 2, 2, 2, 2339, 2257, 3, 2, 2, 2, 2339, 2258, 3, 2, 2, 2, 2339,
2259, 3, 2, 2, 2, 2339, 2260, 3, 2, 2, 2, 2339, 2261, 3, 2, 2, 2, 2339,
2262, 3, 2, 2, 2, 2339, 2263, 3, 2, 2, 2, 2339, 2264, 3, 2, 2, 2, 2339,
2265, 3, 2, 2, 2, 2339, 2266, 3, 2, 2, 2, 2339, 2267, 3, 2, 2, 2, 2339,
2268, 3, 2, 2, 2, 2339, 2269, 3, 2, 2, 2, 2339, 2270, 3, 2, 2, 2, 2339,
2271, 3, 2, 2, 2, 2339, 2272, 3, 2, 2, 2, 2339, 2273, 3, 2, 2, 2, 2339,
2274, 3, 2, 2, 2, 2339, 2275, 3, 2, 2, 2, 2339, 2276, 3, 2, 2, 2, 2339,
2277, 3, 2, 2, 2, 2339, 2278, 3, 2, 2, 2, 2339, 2279, 3, 2, 2, 2, 2339,
2280, 3, 2, 2, 2, 2339, 2281, 3, 2, 2, 2, 2339, 2282, 3, 2, 2, 2, 2339,
2283, 3, 2, 2, 2, 2339, 2284, 3, 2, 2, 2, 2339, 2285, 3, 2, 2, 2, 2339,
2286, 3, 2, 2, 2, 2339, 2287, 3, 2, 2, 2, 2339, 2288, 3, 2, 2, 2, 2339,
2289, 3, 2, 2, 2, 2339, 2290, 3, 2, 2, 2, 2339, 2291, 3, 2, 2, 2, 2339,
2292, 3, 2, 2, 2, 2339, 2293, 3, 2, 2, 2, 2339, 2294, 3, 2, 2, 2, 2339,
2295, 3, 2, 2, 2, 2339, 2296, 3, 2, 2, 2, 2339, 2297, 3, 2, 2, 2, 2339,
2298, 3, 2, 2, 2, 2339, 2299, 3, 2, 2, 2, 2339, 2300, 3, 2, 2, 2, 2339,
2301, 3, 2, 2, 2, 2339, 2302, 3, 2, 2, 2, 2339, 2303, 3, 2, 2, 2, 2339,
2304, 3, 2, 2, 2, 2339, 2305, 3, 2, 2, 2, 2339, 2306, 3, 2, 2, 2, 2339,
2307, 3, 2, 2, 2, 2339, 2308, 3, 2, 2, 2, 2339, 2309, 3, 2, 2, 2, 2339,
2310, 3, 2, 2, 2, 2339, 2311, 3, 2, 2, 2, 2339, 2312, 3, 2, 2, 2, 2339,
2313, 3, 2, 2, 2, 2339, 2314, 3, 2, 2, 2, 2339, 2315, 3, 2, 2, 2, 2339,
2316, 3, 2, 2, 2, 2339, 2317, 3, 2, 2, 2, 2339, 2318, 3, 2, 2, 2, 2339,
2319, 3, 2, 2, 2, 2339, 2320, 3, 2, 2, 2, 2339, 2321, 3, 2, 2, 2, 2339,
2322, 3, 2, 2, 2, 2339, 2323, 3, 2, 2, 2, 2339, 2324, 3, 2, 2, 2, 2339,
2325, 3, 2, 2, 2, 2339, 2326, 3, 2, 2, 2, 2339, 2327, 3, 2, 2, 2, 2339,
2328, 3, 2, 2, 2, 2339, 2329, 3, 2, 2, 2, 2339, 2330, 3, 2, 2, 2, 2339,
2331, 3, 2, 2, 2, 2339, 2332, 3, 2, 2, 2, 2339, 2333, 3, 2, 2, 2, 2339,
2334, 3, 2, 2, 2, 2339, 2335, 3, 2, 2, 2, 2339, 2336, 3, 2, 2, 2, 2339,
2337, 3, 2, 2, 2, 2339, 2338, 3, 2, 2, 2, 2340, 577, 3, 2, 2, 2, 2341,
2359, 5, 576, 289, 2, 2342, 2359, 5, 574, 288, 2, 2343, 2359, 5, 112, 57,
2, 2344, 2359, 5, 114, 58, 2, 2345, 2359, 5, 86, 44, 2, 2346, 2359, 5,
88, 45, 2, 2347, 2359, 5, 90, 46, 2, 2348, 2359, 5, 92, 47, 2, 2349, 2359,
5, 94, 48, 2, 2350, 2359, 5, 96, 49, 2, 2351, 2359, 5, 98, 50, 2, 2352,
2359, 5, 100, 51, 2, 2353, 2359, 5, 102, 52, 2, 2354, 2359, 5, 104, 53,
2, 2355, 2359, 5, 106, 54, 2, 2356, 2359, 5, 108, 55, 2, 2357, 2359, 5,
110, 56, 2, 2358, 2341, 3, 2, 2, 2, 2358, 2342, 3, 2, 2, 2, 2358, 2343,
3, 2, 2, 2, 2358, 2344, 3, 2, 2, 2, 2358, 2345, 3, 2, 2, 2, 2358, 2346,
3, 2, 2, 2, 2358, 2347, 3, 2, 2, 2, 2358, 2348, 3, 2, 2, 2, 2358, 2349,
3, 2, 2, 2, 2358, 2350, 3, 2, 2, 2, 2358, 2351, 3, 2, 2, 2, 2358, 2352,
3, 2, 2, 2, 2358, 2353, 3, 2, 2, 2, 2358, 2354, 3, 2, 2, 2, 2358, 2355,
3, 2, 2, 2, 2358, 2356, 3, 2, 2, 2, 2358, 2357, 3, 2, 2, 2, 2359, 579,
3, 2, 2, 2, 2360, 2361, 5, 54, 28, 2, 2361, 2362, 7, 28, 2, 2, 2362, 2363,
5, 612, 307, 2, 2363, 581, 3, 2, 2, 2, 2364, 2365, 5, 54, 28, 2, 2365,
2366, 7, 28, 2, 2, 2366, 2367, 5, 588, 295, 2, 2367, 583, 3, 2, 2, 2, 2368,
2369, 5, 24, 13, 2, 2369, 585, 3, 2, 2, 2, 2370, 2371, 5, 58, 30, 2, 2371,
587, 3, 2, 2, 2, 2372, 2373, 5, 584, 293, 2, 2373, 2374, 7, 20, 2, 2, 2374,
2375, 5, 586, 294, 2, 2375, 589, 3, 2, 2, 2, 2376, 2380, 7, 35, 2, 2, 2377,
2379, 5, 70, 36, 2, 2378, 2377, 3, 2, 2, 2, 2379, 2382, 3, 2, 2, 2, 2380,
2378, 3, 2, 2, 2, 2380, 2381, 3, 2, 2, 2, 2381, 2383, 3, 2, 2, 2, 2382,
2380, 3, 2, 2, 2, 2383, 2386, 5, 588, 295, 2, 2384, 2385, 7, 21, 2, 2,
2385, 2387, 5, 64, 33, 2, 2386, 2384, 3, 2, 2, 2, 2386, 2387, 3, 2, 2,
2, 2387, 591, 3, 2, 2, 2, 2388, 2389, 5, 26, 14, 2, 2389, 593, 3, 2, 2,
2, 2390, 2394, 7, 32, 2, 2, 2391, 2393, 5, 66, 34, 2, 2392, 2391, 3, 2,
2, 2, 2393, 2396, 3, 2, 2, 2, 2394, 2392, 3, 2, 2, 2, 2394, 2395, 3, 2,
2, 2, 2395, 2397, 3, 2, 2, 2, 2396, 2394, 3, 2, 2, 2, 2397, 2398, 5, 592,
297, 2, 2398, 595, 3, 2, 2, 2, 2399, 2400, 5, 26, 14, 2, 2400, 597, 3,
2, 2, 2, 2401, 2402, 7, 34, 2, 2, 2402, 2403, 5, 596, 299, 2, 2403, 599,
3, 2, 2, 2, 2404, 2405, 5, 4, 3, 2, 2405, 601, 3, 2, 2, 2, 2406, 2407,
7, 33, 2, 2, 2407, 2408, 5, 600, 301, 2, 2408, 603, 3, 2, 2, 2, 2409, 2415,
5, 24, 13, 2, 2410, 2411, 7, 26, 2, 2, 2411, 2412, 5, 24, 13, 2, 2412,
2413, 7, 27, 2, 2, 2413, 2415, 3, 2, 2, 2, 2414, 2409, 3, 2, 2, 2, 2414,
2410, 3, 2, 2, 2, 2415, 605, 3, 2, 2, 2, 2416, 2417, 5, 58, 30, 2, 2417,
607, 3, 2, 2, 2, 2418, 2421, 5, 56, 29, 2, 2419, 2421, 5, 50, 26, 2, 2420,
2418, 3, 2, 2, 2, 2420, 2419, 3, 2, 2, 2, 2421, 609, 3, 2, 2, 2, 2422,
2424, 5, 608, 305, 2, 2423, 2422, 3, 2, 2, 2, 2424, 2425, 3, 2, 2, 2, 2425,
2423, 3, 2, 2, 2, 2425, 2426, 3, 2, 2, 2, 2426, 611, 3, 2, 2, 2, 2427,
2428, 5, 604, 303, 2, 2428, 2430, 7, 16, 2, 2, 2429, 2431, 5, 610, 306,
2, 2430, 2429, 3, 2, 2, 2, 2430, 2431, 3, 2, 2, 2, 2431, 2432, 3, 2, 2,
2, 2432, 2433, 7, 17, 2, 2, 2433, 2434, 5, 606, 304, 2, 2434, 613, 3, 2,
2, 2, 2435, 2437, 5, 68, 35, 2, 2436, 2435, 3, 2, 2, 2, 2437, 2440, 3,
2, 2, 2, 2438, 2436, 3, 2, 2, 2, 2438, 2439, 3, 2, 2, 2, 2439, 2441, 3,
2, 2, 2, 2440, 2438, 3, 2, 2, 2, 2441, 2442, 5, 612, 307, 2, 2442, 615,
3, 2, 2, 2, 2443, 2444, 7, 306, 2, 2, 2444, 617, 3, 2, 2, 2, 2445, 2446,
5, 26, 14, 2, 2446, 619, 3, 2, 2, 2, 2447, 2450, 5, 64, 33, 2, 2448, 2450,
5, 26, 14, 2, 2449, 2447, 3, 2, 2, 2, 2449, 2448, 3, 2, 2, 2, 2450, 621,
3, 2, 2, 2, 2451, 2460, 7, 18, 2, 2, 2452, 2457, 5, 620, 311, 2, 2453,
2454, 7, 24, 2, 2, 2454, 2456, 5, 620, 311, 2, 2455, 2453, 3, 2, 2, 2,
2456, 2459, 3, 2, 2, 2, 2457, 2455, 3, 2, 2, 2, 2457, 2458, 3, 2, 2, 2,
2458, 2461, 3, 2, 2, 2, 2459, 2457, 3, 2, 2, 2, 2460, 2452, 3, 2, 2, 2,
2460, 2461, 3, 2, 2, 2, 2461, 2462, 3, 2, 2, 2, 2462, 2463, 7, 19, 2, 2,
2463, 623, 3, 2, 2, 2, 2464, 2465, 5, 584, 293, 2, 2465, 2468, 7, 21, 2,
2, 2466, 2469, 5, 620, 311, 2, 2467, 2469, 5, 622, 312, 2, 2468, 2466,
3, 2, 2, 2, 2468, 2467, 3, 2, 2, 2, 2469, 625, 3, 2, 2, 2, 2470, 2471,
7, 42, 2, 2, 2471, 2472, 5, 616, 309, 2, 2472, 2476, 5, 618, 310, 2, 2473,
2475, 5, 624, 313, 2, 2474, 2473, 3, 2, 2, 2, 2475, 2478, 3, 2, 2, 2, 2476,
2474, 3, 2, 2, 2, 2476, 2477, 3, 2, 2, 2, 2477, 2479, 3, 2, 2, 2, 2478,
2476, 3, 2, 2, 2, 2479, 2480, 7, 43, 2, 2, 2480, 627, 3, 2, 2, 2, 2481,
2482, 5, 4, 3, 2, 2482, 629, 3, 2, 2, 2, 2483, 2484, 5, 56, 29, 2, 2484,
631, 3, 2, 2, 2, 2485, 2486, 5, 4, 3, 2, 2486, 633, 3, 2, 2, 2, 2487, 2488,
5, 2, 2, 2, 2488, 635, 3, 2, 2, 2, 2489, 2490, 7, 44, 2, 2, 2490, 2491,
5, 634, 318, 2, 2491, 2492, 7, 24, 2, 2, 2492, 2495, 5, 628, 315, 2, 2493,
2494, 7, 20, 2, 2, 2494, 2496, 5, 630, 316, 2, 2495, 2493, 3, 2, 2, 2,
2495, 2496, 3, 2, 2, 2, 2496, 2499, 3, 2, 2, 2, 2497, 2498, 7, 24, 2, 2,
2498, 2500, 5, 632, 317, 2, 2499, 2497, 3, 2, 2, 2, 2499, 2500, 3, 2, 2,
2, 2500, 637, 3, 2, 2, 2, 2501, 2502, 7, 45, 2, 2, 2502, 2503, 5, 2, 2,
2, 2503, 639, 3, 2, 2, 2, 2504, 2505, 7, 46, 2, 2, 2505, 2506, 5, 2, 2,
2, 2506, 641, 3, 2, 2, 2, 2507, 2508, 5, 74, 38, 2, 2508, 643, 3, 2, 2,
2, 2509, 2525, 5, 658, 330, 2, 2510, 2525, 5, 660, 331, 2, 2511, 2525,
5, 666, 334, 2, 2512, 2525, 5, 668, 335, 2, 2513, 2525, 5, 578, 290, 2,
2514, 2525, 5, 642, 322, 2, 2515, 2525, 5, 678, 340, 2, 2516, 2525, 5,
680, 341, 2, 2517, 2525, 5, 626, 314, 2, 2518, 2525, 5, 636, 319, 2, 2519,
2525, 5, 638, 320, 2, 2520, 2525, 5, 640, 321, 2, 2521, 2525, 5, 654, 328,
2, 2522, 2525, 5, 682, 342, 2, 2523, 2525, 5, 688, 345, 2, 2524, 2509,
3, 2, 2, 2, 2524, 2510, 3, 2, 2, 2, 2524, 2511, 3, 2, 2, 2, 2524, 2512,
3, 2, 2, 2, 2524, 2513, 3, 2, 2, 2, 2524, 2514, 3, 2, 2, 2, 2524, 2515,
3, 2, 2, 2, 2524, 2516, 3, 2, 2, 2, 2524, 2517, 3, 2, 2, 2, 2524, 2518,
3, 2, 2, 2, 2524, 2519, 3, 2, 2, 2, 2524, 2520, 3, 2, 2, 2, 2524, 2521,
3, 2, 2, 2, 2524, 2522, 3, 2, 2, 2, 2524, 2523, 3, 2, 2, 2, 2525, 645,
3, 2, 2, 2, 2526, 2528, 5, 644, 323, 2, 2527, 2526, 3, 2, 2, 2, 2528, 2529,
3, 2, 2, 2, 2529, 2527, 3, 2, 2, 2, 2529, 2530, 3, 2, 2, 2, 2530, 647,
3, 2, 2, 2, 2531, 2532, 5, 22, 12, 2, 2532, 649, 3, 2, 2, 2, 2533, 2534,
5, 74, 38, 2, 2534, 651, 3, 2, 2, 2, 2535, 2537, 5, 650, 326, 2, 2536,
2535, 3, 2, 2, 2, 2537, 2538, 3, 2, 2, 2, 2538, 2536, 3, 2, 2, 2, 2538,
2539, 3, 2, 2, 2, 2539, 653, 3, 2, 2, 2, 2540, 2541, 7, 47, 2, 2, 2541,
2543, 5, 648, 325, 2, 2542, 2544, 5, 652, 327, 2, 2543, 2542, 3, 2, 2,
2, 2543, 2544, 3, 2, 2, 2, 2544, 2545, 3, 2, 2, 2, 2545, 2546, 7, 48, 2,
2, 2546, 655, 3, 2, 2, 2, 2547, 2548, 7, 30, 2, 2, 2548, 2550, 5, 614,
308, 2, 2549, 2551, 5, 646, 324, 2, 2550, 2549, 3, 2, 2, 2, 2550, 2551,
3, 2, 2, 2, 2551, 2552, 3, 2, 2, 2, 2552, 2553, 7, 31, 2, 2, 2553, 657,
3, 2, 2, 2, 2554, 2555, 7, 36, 2, 2, 2555, 2556, 5, 22, 12, 2, 2556, 659,
3, 2, 2, 2, 2557, 2558, 7, 37, 2, 2, 2558, 2559, 5, 22, 12, 2, 2559, 661,
3, 2, 2, 2, 2560, 2561, 7, 24, 2, 2, 2561, 2562, 5, 4, 3, 2, 2562, 663,
3, 2, 2, 2, 2563, 2565, 5, 626, 314, 2, 2564, 2563, 3, 2, 2, 2, 2565, 2568,
3, 2, 2, 2, 2566, 2564, 3, 2, 2, 2, 2566, 2567, 3, 2, 2, 2, 2567, 2569,
3, 2, 2, 2, 2568, 2566, 3, 2, 2, 2, 2569, 2570, 7, 53, 2, 2, 2570, 665,
3, 2, 2, 2, 2571, 2572, 7, 38, 2, 2, 2572, 2575, 5, 2, 2, 2, 2573, 2576,
5, 664, 333, 2, 2574, 2576, 5, 662, 332, 2, 2575, 2573, 3, 2, 2, 2, 2575,
2574, 3, 2, 2, 2, 2576, 667, 3, 2, 2, 2, 2577, 2578, 7, 39, 2, 2, 2578,
2579, 5, 22, 12, 2, 2579, 669, 3, 2, 2, 2, 2580, 2581, 5, 74, 38, 2, 2581,
671, 3, 2, 2, 2, 2582, 2583, 5, 74, 38, 2, 2583, 673, 3, 2, 2, 2, 2584,
2585, 5, 74, 38, 2, 2585, 675, 3, 2, 2, 2, 2586, 2587, 5, 26, 14, 2, 2587,
677, 3, 2, 2, 2, 2588, 2589, 7, 40, 2, 2, 2589, 2590, 5, 676, 339, 2, 2590,
2591, 7, 18, 2, 2, 2591, 2592, 5, 670, 336, 2, 2592, 2593, 7, 22, 2, 2,
2593, 2594, 7, 22, 2, 2, 2594, 2595, 5, 672, 337, 2, 2595, 2596, 7, 19,
2, 2, 2596, 2597, 5, 674, 338, 2, 2597, 679, 3, 2, 2, 2, 2598, 2599, 7,
41, 2, 2, 2599, 2600, 7, 18, 2, 2, 2600, 2601, 5, 670, 336, 2, 2601, 2602,
7, 22, 2, 2, 2602, 2603, 7, 22, 2, 2, 2603, 2604, 5, 672, 337, 2, 2604,
2605, 7, 19, 2, 2, 2605, 2606, 5, 674, 338, 2, 2606, 681, 3, 2, 2, 2, 2607,
2608, 7, 49, 2, 2, 2608, 2612, 5, 22, 12, 2, 2609, 2611, 5, 684, 343, 2,
2610, 2609, 3, 2, 2, 2, 2611, 2614, 3, 2, 2, 2, 2612, 2610, 3, 2, 2, 2,
2612, 2613, 3, 2, 2, 2, 2613, 2615, 3, 2, 2, 2, 2614, 2612, 3, 2, 2, 2,
2615, 2616, 7, 50, 2, 2, 2616, 683, 3, 2, 2, 2, 2617, 2619, 5, 22, 12,
2, 2618, 2620, 7, 306, 2, 2, 2619, 2618, 3, 2, 2, 2, 2619, 2620, 3, 2,
2, 2, 2620, 685, 3, 2, 2, 2, 2621, 2622, 5, 22, 12, 2, 2622, 2623, 7, 28,
2, 2, 2623, 2624, 5, 74, 38, 2, 2624, 687, 3, 2, 2, 2, 2625, 2629, 7, 51,
2, 2, 2626, 2628, 5, 686, 344, 2, 2627, 2626, 3, 2, 2, 2, 2628, 2631, 3,
2, 2, 2, 2629, 2627, 3, 2, 2, 2, 2629, 2630, 3, 2, 2, 2, 2630, 2632, 3,
2, 2, 2, 2631, 2629, 3, 2, 2, 2, 2632, 2633, 7, 52, 2, 2, 2633, 689, 3,
2, 2, 2, 2634, 2640, 5, 594, 298, 2, 2635, 2640, 5, 598, 300, 2, 2636,
2640, 5, 602, 302, 2, 2637, 2640, 5, 590, 296, 2, 2638, 2640, 5, 656, 329,
2, 2639, 2634, 3, 2, 2, 2, 2639, 2635, 3, 2, 2, 2, 2639, 2636, 3, 2, 2,
2, 2639, 2637, 3, 2, 2, 2, 2639, 2638, 3, 2, 2, 2, 2640, 691, 3, 2, 2,
2, 2641, 2643, 5, 690, 346, 2, 2642, 2641, 3, 2, 2, 2, 2643, 2644, 3, 2,
2, 2, 2644, 2642, 3, 2, 2, 2, 2644, 2645, 3, 2, 2, 2, 2645, 693, 3, 2,
2, 2, 44, 719, 723, 728, 758, 762, 770, 774, 778, 783, 794, 816, 832, 2250,
2339, 2358, 2380, 2386, 2394, 2414, 2420, 2425, 2430, 2438, 2449, 2457,
2460, 2468, 2476, 2495, 2499, 2524, 2529, 2538, 2543, 2550, 2566, 2575,
2612, 2619, 2629, 2639, 2644,
}
var deserializer = antlr.NewATNDeserializer(nil)
var deserializedATN = deserializer.DeserializeFromUInt16(parserATN)
var literalNames = []string{
"", "", "'V'", "'Z'", "'B'", "'S'", "'C'", "'I'", "'J'", "'F'", "'D'",
"", "'['", "']'", "'('", "')'", "'{'", "'}'", "':'", "'='", "'.'", "'-'",
"','", "'/'", "'<'", "'>'", "'->'", "';'", "'.method'", "'.end method'",
"'.class'", "'.source'", "'.super'", "'.field'", "'.registers'", "'.locals'",
"'.param'", "'.line'", "'.catch'", "'.catchall'", "'.annotation'", "'.end annotation'",
"'.local'", "'.end local'", "'.restart local'", "'.packed-switch'", "'.end packed-switch'",
"'.array-data'", "'.end array-data'", "'.sparse-switch'", "'.end sparse-switch'",
"'.end param'", "'public'", "'private'", "'protected'", "'final'", "'annotation'",
"'static'", "'synthetic'", "'constructor'", "'abstract'", "'enum'", "'interface'",
"'transient'", "'bridge'", "'declared-synchronized'", "'volatile'", "'strictfp'",
"'varargs'", "'native'", "'nop'", "'move'", "'move/from16'", "'move/16'",
"'move-wide'", "'move-wide/from16'", "'move-wide/16'", "'move-object'",
"'move-object/from16'", "'move-object/16'", "'move-result'", "'move-result-wide'",
"'move-result-object'", "'move-exception'", "'return-void'", "'return'",
"'return-wide'", "'return-object'", "'const/4'", "'const/16'", "'const'",
"'const/high16'", "'const-wide/16'", "'const-wide/32'", "'const-wide'",
"'const-wide/high16'", "'const-string'", "'const-string/jumbo'", "'const-class'",
"'monitor-enter'", "'monitor-exit'", "'check-cast'", "'instance-of'", "'array-length'",
"'new-instance'", "'new-array'", "'filled-new-array'", "'filled-new-array/range'",
"'fill-array-data'", "'throw'", "'goto'", "'goto/16'", "'goto/32'", "'cmpl-float'",
"'cmpg-float'", "'cmpl-double'", "'cmpg-double'", "'cmp-long'", "'if-eq'",
"'if-ne'", "'if-lt'", "'if-ge'", "'if-gt'", "'if-le'", "'if-eqz'", "'if-nez'",
"'if-ltz'", "'if-gez'", "'if-gtz'", "'if-lez'", "'aget'", "'aget-wide'",
"'aget-object'", "'aget-boolean'", "'aget-byte'", "'aget-char'", "'aget-short'",
"'aput'", "'aput-wide'", "'aput-object'", "'aput-boolean'", "'aput-byte'",
"'aput-char'", "'aput-short'", "'iget'", "'iget-wide'", "'iget-object'",
"'iget-boolean'", "'iget-byte'", "'iget-char'", "'iget-short'", "'iput'",
"'iput-wide'", "'iput-object'", "'iput-boolean'", "'iput-byte'", "'iput-char'",
"'iput-short'", "'sget'", "'sget-wide'", "'sget-object'", "'sget-boolean'",
"'sget-byte'", "'sget-char'", "'sget-short'", "'sput'", "'sput-wide'",
"'sput-object'", "'sput-boolean'", "'sput-byte'", "'sput-char'", "'sput-short'",
"'invoke-virtual'", "'invoke-super'", "'invoke-direct'", "'invoke-static'",
"'invoke-interface'", "'invoke-virtual/range'", "'invoke-super/range'",
"'invoke-direct/range'", "'invoke-static/range'", "'invoke-interface/range'",
"'neg-int'", "'not-int'", "'neg-long'", "'not-long'", "'neg-float'", "'neg-double'",
"'int-to-long'", "'int-to-float'", "'int-to-double'", "'long-to-int'",
"'long-to-float'", "'long-to-double'", "'float-to-int'", "'float-to-long'",
"'float-to-double'", "'double-to-int'", "'double-to-long'", "'double-to-float'",
"'int-to-byte'", "'int-to-char'", "'int-to-short'", "'add-int'", "'sub-int'",
"'mul-int'", "'div-int'", "'rem-int'", "'and-int'", "'or-int'", "'xor-int'",
"'shl-int'", "'shr-int'", "'ushr-int'", "'add-long'", "'sub-long'", "'mul-long'",
"'div-long'", "'rem-long'", "'and-long'", "'or-long'", "'xor-long'", "'shl-long'",
"'shr-long'", "'ushr-long'", "'add-float'", "'sub-float'", "'mul-float'",
"'div-float'", "'rem-float'", "'add-double'", "'sub-double'", "'mul-double'",
"'div-double'", "'rem-double'", "'add-int/2addr'", "'sub-int/2addr'", "'mul-int/2addr'",
"'div-int/2addr'", "'rem-int/2addr'", "'and-int/2addr'", "'or-int/2addr'",
"'xor-int/2addr'", "'shl-int/2addr'", "'shr-int/2addr'", "'ushr-int/2addr'",
"'add-long/2addr'", "'sub-long/2addr'", "'mul-long/2addr'", "'div-long/2addr'",
"'rem-long/2addr'", "'and-long/2addr'", "'or-long/2addr'", "'xor-long/2addr'",
"'shl-long/2addr'", "'shr-long/2addr'", "'ushr-long/2addr'", "'add-float/2addr'",
"'sub-float/2addr'", "'mul-float/2addr'", "'div-float/2addr'", "'rem-float/2addr'",
"'add-double/2addr'", "'sub-double/2addr'", "'mul-double/2addr'", "'div-double/2addr'",
"'rem-double/2addr'", "'add-int/lit16'", "'rsub-int'", "'mul-int/lit16'",
"'div-int/lit16'", "'rem-int/lit16'", "'and-int/lit16'", "'or-int/lit16'",
"'xor-int/lit16'", "'add-int/lit8'", "'rsub-int/lit8'", "'mul-int/lit8'",
"'div-int/lit8'", "'rem-int/lit8'", "'and-int/lit8'", "'or-int/lit8'",
"'xor-int/lit8'", "'shl-int/lit8'", "'shr-int/lit8'", "'ushr-int/lit8'",
"'invoke-polymorphic'", "'invoke-polymorphic/range'", "'invoke-custom'",
"'invoke-custom/range'", "'const-method-handle'", "'const-method-type'",
"'packed-switch'", "'sparse-switch'", "", "", "", "", "", "", "", "'null'",
}
var symbolicNames = []string{
"", "QUALIFIED_TYPE_NAME", "VOID_TYPE", "BOOLEAN_TYPE", "BYTE_TYPE", "SHORT_TYPE",
"CHAR_TYPE", "INT_TYPE", "LONG_TYPE", "FLOAT_TYPE", "DOUBLE_TYPE", "COMPOUND_METHOD_ARG_LITERAL",
"LBRACK", "RBRACK", "LPAREN", "RPAREN", "LBRACE", "RBRACE", "COLON", "ASSIGN",
"DOT", "SUB", "COMMA", "SLASH", "LT", "GT", "ARROW", "SEMI", "METHOD_DIRECTIVE",
"METHOD_END_DIRECTIVE", "CLASS_DIRECTIVE", "SOURCE_DIRECTIVE", "SUPER_DIRECTIVE",
"FIELD_DIRECTIVE", "REGISTERS_DIRECTIVE", "LOCALS_DIRECTIVE", "PARAM_DIRECTIVE",
"LINE_DIRECTIVE", "CATCH_DIRECTIVE", "CATCHALL_DIRECTIVE", "ANNOTATION_DIRECTIVE",
"ANNOTATION_END_DIRECTIVE", "LOCAL_DIRECTIVE", "LOCAL_END_DIRECTIVE", "RESTART_LOCAL_DIRECTIVE",
"PACKED_SWITCH_DIRECTIVE", "PACKED_SWITCH_END_DIRECTIVE", "ARRAY_DATA_DIRECTIVE",
"ARRAY_DATA_END_DIRECTIVE", "SPARSE_SWITCH_DIRECTIVE", "SPARSE_SWITCH_END_DIRECTIVE",
"PARAM_END_DIRECTIVE", "PUBLIC", "PRIVATE", "PROTECTED", "FINAL", "ANNOTATION",
"STATIC", "SYNTHETIC", "CONSTRUCTOR", "ABSTRACT", "ENUM", "INTERFACE",
"TRANSIENT", "BRIDGE", "DECLARED_SYNCHRONIZED", "VOLATILE", "STRICTFP",
"VARARGS", "NATIVE", "OP_NOP", "OP_MOVE", "OP_MOVE_FROM16", "OP_MOVE_16",
"OP_MOVE_WIDE", "OP_MOVE_WIDE_FROM16", "OP_MOVE_WIDE_16", "OP_MOVE_OBJECT",
"OP_MOVE_OBJECT_FROM16", "OP_MOVE_OBJECT_16", "OP_MOVE_RESULT", "OP_MOVE_RESULT_WIDE",
"OP_MOVE_RESULT_OBJECT", "OP_MOVE_EXCEPTION", "OP_RETURN_VOID", "OP_RETURN",
"OP_RETURN_WIDE", "OP_RETURN_OBJECT", "OP_CONST_4", "OP_CONST_16", "OP_CONST",
"OP_CONST_HIGH16", "OP_CONST_WIDE_16", "OP_CONST_WIDE_32", "OP_CONST_WIDE",
"OP_CONST_WIDE_HIGH16", "OP_CONST_STRING", "OP_CONST_STRING_JUMBO", "OP_CONST_CLASS",
"OP_MONITOR_ENTER", "OP_MONITOR_EXIT", "OP_CHECK_CAST", "OP_INSTANCE_OF",
"OP_ARRAY_LENGTH", "OP_NEW_INSTANCE", "OP_NEW_ARRAY", "OP_FILLED_NEW_ARRAY",
"OP_FILLED_NEW_ARRAY_RANGE", "OP_FILL_ARRAY_DATA", "OP_THROW", "OP_GOTO",
"OP_GOTO_16", "OP_GOTO_32", "OP_CMPL_FLOAT", "OP_CMPG_FLOAT", "OP_CMPL_DOUBLE",
"OP_CMPG_DOUBLE", "OP_CMP_LONG", "OP_IF_EQ", "OP_IF_NE", "OP_IF_LT", "OP_IF_GE",
"OP_IF_GT", "OP_IF_LE", "OP_IF_EQZ", "OP_IF_NEZ", "OP_IF_LTZ", "OP_IF_GEZ",
"OP_IF_GTZ", "OP_IF_LEZ", "OP_AGET", "OP_AGET_WIDE", "OP_AGET_OBJECT",
"OP_AGET_BOOLEAN", "OP_AGET_BYTE", "OP_AGET_CHAR", "OP_AGET_SHORT", "OP_APUT",
"OP_APUT_WIDE", "OP_APUT_OBJECT", "OP_APUT_BOOLEAN", "OP_APUT_BYTE", "OP_APUT_CHAR",
"OP_APUT_SHORT", "OP_IGET", "OP_IGET_WIDE", "OP_IGET_OBJECT", "OP_IGET_BOOLEAN",
"OP_IGET_BYTE", "OP_IGET_CHAR", "OP_IGET_SHORT", "OP_IPUT", "OP_IPUT_WIDE",
"OP_IPUT_OBJECT", "OP_IPUT_BOOLEAN", "OP_IPUT_BYTE", "OP_IPUT_CHAR", "OP_IPUT_SHORT",
"OP_SGET", "OP_SGET_WIDE", "OP_SGET_OBJECT", "OP_SGET_BOOLEAN", "OP_SGET_BYTE",
"OP_SGET_CHAR", "OP_SGET_SHORT", "OP_SPUT", "OP_SPUT_WIDE", "OP_SPUT_OBJECT",
"OP_SPUT_BOOLEAN", "OP_SPUT_BYTE", "OP_SPUT_CHAR", "OP_SPUT_SHORT", "OP_INVOKE_VIRTUAL",
"OP_INVOKE_SUPER", "OP_INVOKE_DIRECT", "OP_INVOKE_STATIC", "OP_INVOKE_INTERFACE",
"OP_INVOKE_VIRTUAL_RANGE", "OP_INVOKE_SUPER_RANGE", "OP_INVOKE_DIRECT_RANGE",
"OP_INVOKE_STATIC_RANGE", "OP_INVOKE_INTERFACE_RANGE", "OP_NEG_INT", "OP_NOT_INT",
"OP_NEG_LONG", "OP_NOT_LONG", "OP_NEG_FLOAT", "OP_NEG_DOUBLE", "OP_INT_TO_LONG",
"OP_INT_TO_FLOAT", "OP_INT_TO_DOUBLE", "OP_LONG_TO_INT", "OP_LONG_TO_FLOAT",
"OP_LONG_TO_DOUBLE", "OP_FLOAT_TO_INT", "OP_FLOAT_TO_LONG", "OP_FLOAT_TO_DOUBLE",
"OP_DOUBLE_TO_INT", "OP_DOUBLE_TO_LONG", "OP_DOUBLE_TO_FLOAT", "OP_INT_TO_BYTE",
"OP_INT_TO_CHAR", "OP_INT_TO_SHORT", "OP_ADD_INT", "OP_SUB_INT", "OP_MUL_INT",
"OP_DIV_INT", "OP_REM_INT", "OP_AND_INT", "OP_OR_INT", "OP_XOR_INT", "OP_SHL_INT",
"OP_SHR_INT", "OP_USHR_INT", "OP_ADD_LONG", "OP_SUB_LONG", "OP_MUL_LONG",
"OP_DIV_LONG", "OP_REM_LONG", "OP_AND_LONG", "OP_OR_LONG", "OP_XOR_LONG",
"OP_SHL_LONG", "OP_SHR_LONG", "OP_USHR_LONG", "OP_ADD_FLOAT", "OP_SUB_FLOAT",
"OP_MUL_FLOAT", "OP_DIV_FLOAT", "OP_REM_FLOAT", "OP_ADD_DOUBLE", "OP_SUB_DOUBLE",
"OP_MUL_DOUBLE", "OP_DIV_DOUBLE", "OP_REM_DOUBLE", "OP_ADD_INT_2ADDR",
"OP_SUB_INT_2ADDR", "OP_MUL_INT_2ADDR", "OP_DIV_INT_2ADDR", "OP_REM_INT_2ADDR",
"OP_AND_INT_2ADDR", "OP_OR_INT_2ADDR", "OP_XOR_INT_2ADDR", "OP_SHL_INT_2ADDR",
"OP_SHR_INT_2ADDR", "OP_USHR_INT_2ADDR", "OP_ADD_LONG_2ADDR", "OP_SUB_LONG_2ADDR",
"OP_MUL_LONG_2ADDR", "OP_DIV_LONG_2ADDR", "OP_REM_LONG_2ADDR", "OP_AND_LONG_2ADDR",
"OP_OR_LONG_2ADDR", "OP_XOR_LONG_2ADDR", "OP_SHL_LONG_2ADDR", "OP_SHR_LONG_2ADDR",
"OP_USHR_LONG_2ADDR", "OP_ADD_FLOAT_2ADDR", "OP_SUB_FLOAT_2ADDR", "OP_MUL_FLOAT_2ADDR",
"OP_DIV_FLOAT_2ADDR", "OP_REM_FLOAT_2ADDR", "OP_ADD_DOUBLE_2ADDR", "OP_SUB_DOUBLE_2ADDR",
"OP_MUL_DOUBLE_2ADDR", "OP_DIV_DOUBLE_2ADDR", "OP_REM_DOUBLE_2ADDR", "OP_ADD_INT_LIT16",
"OP_RSUB_INT", "OP_MUL_INT_LIT16", "OP_DIV_INT_LIT16", "OP_REM_INT_LIT16",
"OP_AND_INT_LIT16", "OP_OR_INT_LIT16", "OP_XOR_INT_LIT16", "OP_ADD_INT_LIT8",
"OP_RSUB_INT_LIT8", "OP_MUL_INT_LIT8", "OP_DIV_INT_LIT8", "OP_REM_INT_LIT8",
"OP_AND_INT_LIT8", "OP_OR_INT_LIT8", "OP_XOR_INT_LIT8", "OP_SHL_INT_LIT8",
"OP_SHR_INT_LIT8", "OP_USHR_INT_LIT8", "OP_INVOKE_POLYMORPHIC", "OP_INVOKE_POLYMORPHIC_RANGE",
"OP_INVOKE_CUSTOM", "OP_INVOKE_CUSTOM_RANGE", "OP_CONST_METHOD_HANDLE",
"OP_CONST_METHOD_TYPE", "OP_PACKED_SWITCH", "OP_SPARSE_SWITCH", "DECIMAL_LITERAL",
"HEX_LITERAL", "OCT_LITERAL", "BINARY_LITERAL", "FLOAT_LITERAL", "HEX_FLOAT_LITERAL",
"BOOL_LITERAL", "NULL_LITERAL", "CHAR_LITERAL", "STRING_LITERAL", "IDENTIFIER",
"WS", "LINE_COMMENT",
}
var ruleNames = []string{
"registerIdentifier", "stringLiteral", "negativeNumericLiteral", "decimalNumericLiteral",
"hexNumericLiteral", "octNumericLiteral", "binaryNumericLiteral", "floatNumericLiteral",
"hexFloatLiteral", "positiveNumericLiteral", "numericLiteral", "identifier",
"referenceType", "voidType", "booleanType", "byteType", "shortType", "charType",
"intType", "longType", "floatType", "doubleType", "primitiveType", "nonArrayType",
"methodParameterLiteral", "arrayType", "referenceOrArrayType", "nonVoidType",
"anyType", "nullLiteral", "booleanLiteral", "assignableValue", "classModifier",
"methodModifier", "fieldModifier", "labelName", "label", "leftRegister",
"rightRegister", "registerListRegisters", "registerRange", "registerList",
"gotoInstruction", "goto16Instruction", "goto32Instruction", "moveResultInstruction",
"moveResultWideInstruction", "moveResultObjectInstruction", "moveExceptionInstruction",
"returnInstruction", "returnWideInstruction", "returnObjectInstruction",
"monitorEnterInstruction", "monitorExitInstruction", "throwInstruction",
"returnVoidInstruction", "nopInstruction", "moveInstruction", "moveFrom16Instruction",
"move16Instruction", "moveWideInstruction", "moveWideFrom16Instruction",
"moveWide16Instruction", "moveObjectInstruction", "moveObjectFrom16Instruction",
"moveObject16Instruction", "constInstruction", "const4Instruction", "const16Instruction",
"constHigh16Instruction", "constWide16Instruction", "constWide32Instruction",
"constWideInstruction", "constWideHigh16Instruction", "constString", "constStringJumbo",
"constClass", "sGetInstruction", "sGetWideInstruction", "sGetObjectInstruction",
"sGetBooleanInstruction", "sGetByteInstruction", "sGetCharInstruction",
"sGetShortInstruction", "sPutInstruction", "sPutWideInstruction", "sPutObjectInstruction",
"sPutBooleanInstruction", "sPutByteInstruction", "sPutCharInstruction",
"sPutShortInstruction", "invokeVirtualInstruction", "invokeSuperInstruction",
"invokeDirectInstruction", "invokeStaticInstruction", "invokeInterfaceInstruction",
"invokeVirtualRangeInstruction", "invokeSuperRangeInstruction", "invokeDirectRangeInstruction",
"invokeStaticRangeInstruction", "invokeInterfaceRangeInstruction", "intToLongInstruction",
"intToFloatInstruction", "intToDoubleInstruction", "longToIntInstruction",
"longToFloatInstruction", "longToDoubleInstruction", "floatToIntInstruction",
"floatToLongInstruction", "floatToDoubleInstruction", "doubleToIntInstruction",
"doubleToLongInstruction", "doubleToFloatInstruction", "intToByteInstruction",
"intToCharInstruction", "intToShortInstruction", "ifLabel", "ifEqzInstruction",
"ifNezInstruction", "ifLtzInstruction", "ifGezInstruction", "ifGtzInstruction",
"ifLezInstruction", "negIntInstruction", "notIntInstruction", "negLongInstruction",
"notLongInstruction", "negFloatInstruction", "negDoubleInstruction", "ifEqInstruction",
"ifNeInstruction", "ifLtInstruction", "ifGeInstruction", "ifGtInstruction",
"ifLeInstruction", "addInt2addrInstruction", "subInt2addrInstruction",
"mulInt2addrInstruction", "divInt2addrInstruction", "remInt2addrInstruction",
"andInt2addrInstruction", "orInt2addrInstruction", "xorInt2addrInstruction",
"shlInt2addrInstruction", "shrInt2addrInstruction", "ushrInt2addrInstruction",
"addLong2addrInstruction", "subLong2addrInstruction", "mulLong2addrInstruction",
"divLong2addrInstruction", "remLong2addrInstruction", "andLong2addrInstruction",
"orLong2addrInstruction", "xorLong2addrInstruction", "shlLong2addrInstruction",
"shrLong2addrInstruction", "ushrLong2addrInstruction", "addFloat2addrInstruction",
"subFloat2addrInstruction", "mulFloat2addrInstruction", "divFloat2addrInstruction",
"remFloat2addrInstruction", "addDouble2addrInstruction", "subDouble2addrInstruction",
"mulDouble2addrInstruction", "divDouble2addrInstruction", "remDouble2addrInstruction",
"cmplFloatInstruction", "cmpgFloatInstruction", "cmplDoubleInstruction",
"cmpgDoubleInstruction", "cmpLongInstruction", "field", "arrayRegister",
"indexRegister", "instanceRegister", "sourceRegister", "targetRegister",
"instanceField", "agetInstruction", "agetWideInstruction", "agetObjectInstruction",
"agetBooleanInstruction", "agetByteInstruction", "agetCharInstruction",
"agetShortInstruction", "aputInstruction", "aputWideInstruction", "aputObjectInstruction",
"aputBooleanInstruction", "aputByteInstruction", "aputCharInstruction",
"aputShortInstruction", "igetInstruction", "igetWideInstruction", "igetObjectInstruction",
"igetBooleanInstruction", "igetByteInstruction", "igetCharInstruction",
"igetShortInstruction", "iputInstruction", "iputWideInstruction", "iputObjectInstruction",
"iputBooleanInstruction", "iputByteInstruction", "iputCharInstruction",
"iputShortInstruction", "addIntInstruction", "subIntInstruction", "mulIntInstruction",
"divIntInstruction", "remIntInstruction", "andIntInstruction", "orIntInstruction",
"xorIntInstruction", "shlIntInstruction", "shrIntInstruction", "ushrIntInstruction",
"rsubIntInstruction", "addLongInstruction", "subLongInstruction", "mulLongInstruction",
"divLongInstruction", "remLongInstruction", "andLongInstruction", "orLongInstruction",
"xorLongInstruction", "shlLongInstruction", "shrLongInstruction", "ushrLongInstruction",
"addFloatInstruction", "subFloatInstruction", "mulFloatInstruction", "divFloatInstruction",
"remFloatInstruction", "addDoubleInstruction", "subDoubleInstruction",
"mulDoubleInstruction", "divDoubleInstruction", "remDoubleInstruction",
"addIntLit16Instruction", "mulIntLit16Instruction", "divIntLit16Instruction",
"remIntLit16Instruction", "andIntLit16Instruction", "orIntLit16Instruction",
"xorIntLit16Instruction", "addIntLit8Instruction", "rsubIntLit8Instruction",
"mulIntLit8Instruction", "divIntLit8Instruction", "remIntLit8Instruction",
"andIntLit8Instruction", "orIntLit8Instruction", "xorIntLit8Instruction",
"shlIntLit8Instruction", "shrIntLit8Instruction", "ushrIntLit8Instruction",
"newInstanceType", "newInstanceInstruction", "checkCastType", "checkCastInstruction",
"arrayLengthInstruction", "arrayElementType", "arrayElementRegisterRange",
"arrayElementRegisters", "filledNewArrayRangeInstruction", "filledNewArrayInstruction",
"filledArrayDataLabel", "fillArrayDataInstruction", "checkInstanceType",
"instanceOfInstruction", "arraySizeRegister", "newArrayInstruction", "packedSwitchRegister",
"packedSwitchLabel", "sparseSwitchRegister", "sparseSwitchLabel", "packedSwitchInstruction",
"sparseSwitchInstruction", "invokePolymorphicInstruction", "invokePolymorphicRangeInstruction",
"invokeCustomInstruction", "invokeCustomRangeInstruction", "invokeConstMethodHandleInstruction",
"invokeConstMethodTypeInstruction", "binaryInstruction", "ternaryInstruction",
"instruction", "methodInvocationTarget", "fieldInvocationTarget", "fieldName",
"fieldType", "fieldNameAndType", "fieldDirective", "className", "classDirective",
"superName", "superDirective", "sourceName", "sourceDirective", "methodIdentifier",
"methodReturnType", "methodParameterType", "methodArguments", "methodSignature",
"methodDeclaration", "annotationScope", "annotationType", "annotationFieldValue",
"annotationValueScoped", "annotationField", "annotationDirective", "locaDirectiveVariableName",
"localDirectiveType", "localDirectiveGenericHint", "localDirectiveRegister",
"localDirective", "localEndDirective", "localRestartDirective", "lineLabel",
"methodBodyStatement", "methodBody", "packedSwitchIdent", "packedSwitchDirectiveLabel",
"packedSwitchDirectiveLabels", "packedSwitchDirective", "methodDirective",
"registersDirective", "localsDirective", "simpleParamDirective", "extendedParamDirective",
"paramDirective", "lineDirective", "catchFromLabel", "catchToLabel", "catchGotoLabel",
"catchExceptionType", "catchDirective", "catchAllDirective", "arrayDataDirective",
"arrayDataEntry", "sparseSwitchDirectiveValue", "sparseSwitchDirective",
"statement", "parse",
}
var decisionToDFA = make([]*antlr.DFA, len(deserializedATN.DecisionToState))
func init() {
for index, ds := range deserializedATN.DecisionToState {
decisionToDFA[index] = antlr.NewDFA(ds, index)
}
}
type SmaliParser struct {
*antlr.BaseParser
}
func NewSmaliParser(input antlr.TokenStream) *SmaliParser {
this := new(SmaliParser)
this.BaseParser = antlr.NewBaseParser(input)
this.Interpreter = antlr.NewParserATNSimulator(this, deserializedATN, decisionToDFA, antlr.NewPredictionContextCache())
this.RuleNames = ruleNames
this.LiteralNames = literalNames
this.SymbolicNames = symbolicNames
this.GrammarFileName = "SmaliParser.g4"
return this
}
// SmaliParser tokens.
const (
SmaliParserEOF = antlr.TokenEOF
SmaliParserQUALIFIED_TYPE_NAME = 1
SmaliParserVOID_TYPE = 2
SmaliParserBOOLEAN_TYPE = 3
SmaliParserBYTE_TYPE = 4
SmaliParserSHORT_TYPE = 5
SmaliParserCHAR_TYPE = 6
SmaliParserINT_TYPE = 7
SmaliParserLONG_TYPE = 8
SmaliParserFLOAT_TYPE = 9
SmaliParserDOUBLE_TYPE = 10
SmaliParserCOMPOUND_METHOD_ARG_LITERAL = 11
SmaliParserLBRACK = 12
SmaliParserRBRACK = 13
SmaliParserLPAREN = 14
SmaliParserRPAREN = 15
SmaliParserLBRACE = 16
SmaliParserRBRACE = 17
SmaliParserCOLON = 18
SmaliParserASSIGN = 19
SmaliParserDOT = 20
SmaliParserSUB = 21
SmaliParserCOMMA = 22
SmaliParserSLASH = 23
SmaliParserLT = 24
SmaliParserGT = 25
SmaliParserARROW = 26
SmaliParserSEMI = 27
SmaliParserMETHOD_DIRECTIVE = 28
SmaliParserMETHOD_END_DIRECTIVE = 29
SmaliParserCLASS_DIRECTIVE = 30
SmaliParserSOURCE_DIRECTIVE = 31
SmaliParserSUPER_DIRECTIVE = 32
SmaliParserFIELD_DIRECTIVE = 33
SmaliParserREGISTERS_DIRECTIVE = 34
SmaliParserLOCALS_DIRECTIVE = 35
SmaliParserPARAM_DIRECTIVE = 36
SmaliParserLINE_DIRECTIVE = 37
SmaliParserCATCH_DIRECTIVE = 38
SmaliParserCATCHALL_DIRECTIVE = 39
SmaliParserANNOTATION_DIRECTIVE = 40
SmaliParserANNOTATION_END_DIRECTIVE = 41
SmaliParserLOCAL_DIRECTIVE = 42
SmaliParserLOCAL_END_DIRECTIVE = 43
SmaliParserRESTART_LOCAL_DIRECTIVE = 44
SmaliParserPACKED_SWITCH_DIRECTIVE = 45
SmaliParserPACKED_SWITCH_END_DIRECTIVE = 46
SmaliParserARRAY_DATA_DIRECTIVE = 47
SmaliParserARRAY_DATA_END_DIRECTIVE = 48
SmaliParserSPARSE_SWITCH_DIRECTIVE = 49
SmaliParserSPARSE_SWITCH_END_DIRECTIVE = 50
SmaliParserPARAM_END_DIRECTIVE = 51
SmaliParserPUBLIC = 52
SmaliParserPRIVATE = 53
SmaliParserPROTECTED = 54
SmaliParserFINAL = 55
SmaliParserANNOTATION = 56
SmaliParserSTATIC = 57
SmaliParserSYNTHETIC = 58
SmaliParserCONSTRUCTOR = 59
SmaliParserABSTRACT = 60
SmaliParserENUM = 61
SmaliParserINTERFACE = 62
SmaliParserTRANSIENT = 63
SmaliParserBRIDGE = 64
SmaliParserDECLARED_SYNCHRONIZED = 65
SmaliParserVOLATILE = 66
SmaliParserSTRICTFP = 67
SmaliParserVARARGS = 68
SmaliParserNATIVE = 69
SmaliParserOP_NOP = 70
SmaliParserOP_MOVE = 71
SmaliParserOP_MOVE_FROM16 = 72
SmaliParserOP_MOVE_16 = 73
SmaliParserOP_MOVE_WIDE = 74
SmaliParserOP_MOVE_WIDE_FROM16 = 75
SmaliParserOP_MOVE_WIDE_16 = 76
SmaliParserOP_MOVE_OBJECT = 77
SmaliParserOP_MOVE_OBJECT_FROM16 = 78
SmaliParserOP_MOVE_OBJECT_16 = 79
SmaliParserOP_MOVE_RESULT = 80
SmaliParserOP_MOVE_RESULT_WIDE = 81
SmaliParserOP_MOVE_RESULT_OBJECT = 82
SmaliParserOP_MOVE_EXCEPTION = 83
SmaliParserOP_RETURN_VOID = 84
SmaliParserOP_RETURN = 85
SmaliParserOP_RETURN_WIDE = 86
SmaliParserOP_RETURN_OBJECT = 87
SmaliParserOP_CONST_4 = 88
SmaliParserOP_CONST_16 = 89
SmaliParserOP_CONST = 90
SmaliParserOP_CONST_HIGH16 = 91
SmaliParserOP_CONST_WIDE_16 = 92
SmaliParserOP_CONST_WIDE_32 = 93
SmaliParserOP_CONST_WIDE = 94
SmaliParserOP_CONST_WIDE_HIGH16 = 95
SmaliParserOP_CONST_STRING = 96
SmaliParserOP_CONST_STRING_JUMBO = 97
SmaliParserOP_CONST_CLASS = 98
SmaliParserOP_MONITOR_ENTER = 99
SmaliParserOP_MONITOR_EXIT = 100
SmaliParserOP_CHECK_CAST = 101
SmaliParserOP_INSTANCE_OF = 102
SmaliParserOP_ARRAY_LENGTH = 103
SmaliParserOP_NEW_INSTANCE = 104
SmaliParserOP_NEW_ARRAY = 105
SmaliParserOP_FILLED_NEW_ARRAY = 106
SmaliParserOP_FILLED_NEW_ARRAY_RANGE = 107
SmaliParserOP_FILL_ARRAY_DATA = 108
SmaliParserOP_THROW = 109
SmaliParserOP_GOTO = 110
SmaliParserOP_GOTO_16 = 111
SmaliParserOP_GOTO_32 = 112
SmaliParserOP_CMPL_FLOAT = 113
SmaliParserOP_CMPG_FLOAT = 114
SmaliParserOP_CMPL_DOUBLE = 115
SmaliParserOP_CMPG_DOUBLE = 116
SmaliParserOP_CMP_LONG = 117
SmaliParserOP_IF_EQ = 118
SmaliParserOP_IF_NE = 119
SmaliParserOP_IF_LT = 120
SmaliParserOP_IF_GE = 121
SmaliParserOP_IF_GT = 122
SmaliParserOP_IF_LE = 123
SmaliParserOP_IF_EQZ = 124
SmaliParserOP_IF_NEZ = 125
SmaliParserOP_IF_LTZ = 126
SmaliParserOP_IF_GEZ = 127
SmaliParserOP_IF_GTZ = 128
SmaliParserOP_IF_LEZ = 129
SmaliParserOP_AGET = 130
SmaliParserOP_AGET_WIDE = 131
SmaliParserOP_AGET_OBJECT = 132
SmaliParserOP_AGET_BOOLEAN = 133
SmaliParserOP_AGET_BYTE = 134
SmaliParserOP_AGET_CHAR = 135
SmaliParserOP_AGET_SHORT = 136
SmaliParserOP_APUT = 137
SmaliParserOP_APUT_WIDE = 138
SmaliParserOP_APUT_OBJECT = 139
SmaliParserOP_APUT_BOOLEAN = 140
SmaliParserOP_APUT_BYTE = 141
SmaliParserOP_APUT_CHAR = 142
SmaliParserOP_APUT_SHORT = 143
SmaliParserOP_IGET = 144
SmaliParserOP_IGET_WIDE = 145
SmaliParserOP_IGET_OBJECT = 146
SmaliParserOP_IGET_BOOLEAN = 147
SmaliParserOP_IGET_BYTE = 148
SmaliParserOP_IGET_CHAR = 149
SmaliParserOP_IGET_SHORT = 150
SmaliParserOP_IPUT = 151
SmaliParserOP_IPUT_WIDE = 152
SmaliParserOP_IPUT_OBJECT = 153
SmaliParserOP_IPUT_BOOLEAN = 154
SmaliParserOP_IPUT_BYTE = 155
SmaliParserOP_IPUT_CHAR = 156
SmaliParserOP_IPUT_SHORT = 157
SmaliParserOP_SGET = 158
SmaliParserOP_SGET_WIDE = 159
SmaliParserOP_SGET_OBJECT = 160
SmaliParserOP_SGET_BOOLEAN = 161
SmaliParserOP_SGET_BYTE = 162
SmaliParserOP_SGET_CHAR = 163
SmaliParserOP_SGET_SHORT = 164
SmaliParserOP_SPUT = 165
SmaliParserOP_SPUT_WIDE = 166
SmaliParserOP_SPUT_OBJECT = 167
SmaliParserOP_SPUT_BOOLEAN = 168
SmaliParserOP_SPUT_BYTE = 169
SmaliParserOP_SPUT_CHAR = 170
SmaliParserOP_SPUT_SHORT = 171
SmaliParserOP_INVOKE_VIRTUAL = 172
SmaliParserOP_INVOKE_SUPER = 173
SmaliParserOP_INVOKE_DIRECT = 174
SmaliParserOP_INVOKE_STATIC = 175
SmaliParserOP_INVOKE_INTERFACE = 176
SmaliParserOP_INVOKE_VIRTUAL_RANGE = 177
SmaliParserOP_INVOKE_SUPER_RANGE = 178
SmaliParserOP_INVOKE_DIRECT_RANGE = 179
SmaliParserOP_INVOKE_STATIC_RANGE = 180
SmaliParserOP_INVOKE_INTERFACE_RANGE = 181
SmaliParserOP_NEG_INT = 182
SmaliParserOP_NOT_INT = 183
SmaliParserOP_NEG_LONG = 184
SmaliParserOP_NOT_LONG = 185
SmaliParserOP_NEG_FLOAT = 186
SmaliParserOP_NEG_DOUBLE = 187
SmaliParserOP_INT_TO_LONG = 188
SmaliParserOP_INT_TO_FLOAT = 189
SmaliParserOP_INT_TO_DOUBLE = 190
SmaliParserOP_LONG_TO_INT = 191
SmaliParserOP_LONG_TO_FLOAT = 192
SmaliParserOP_LONG_TO_DOUBLE = 193
SmaliParserOP_FLOAT_TO_INT = 194
SmaliParserOP_FLOAT_TO_LONG = 195
SmaliParserOP_FLOAT_TO_DOUBLE = 196
SmaliParserOP_DOUBLE_TO_INT = 197
SmaliParserOP_DOUBLE_TO_LONG = 198
SmaliParserOP_DOUBLE_TO_FLOAT = 199
SmaliParserOP_INT_TO_BYTE = 200
SmaliParserOP_INT_TO_CHAR = 201
SmaliParserOP_INT_TO_SHORT = 202
SmaliParserOP_ADD_INT = 203
SmaliParserOP_SUB_INT = 204
SmaliParserOP_MUL_INT = 205
SmaliParserOP_DIV_INT = 206
SmaliParserOP_REM_INT = 207
SmaliParserOP_AND_INT = 208
SmaliParserOP_OR_INT = 209
SmaliParserOP_XOR_INT = 210
SmaliParserOP_SHL_INT = 211
SmaliParserOP_SHR_INT = 212
SmaliParserOP_USHR_INT = 213
SmaliParserOP_ADD_LONG = 214
SmaliParserOP_SUB_LONG = 215
SmaliParserOP_MUL_LONG = 216
SmaliParserOP_DIV_LONG = 217
SmaliParserOP_REM_LONG = 218
SmaliParserOP_AND_LONG = 219
SmaliParserOP_OR_LONG = 220
SmaliParserOP_XOR_LONG = 221
SmaliParserOP_SHL_LONG = 222
SmaliParserOP_SHR_LONG = 223
SmaliParserOP_USHR_LONG = 224
SmaliParserOP_ADD_FLOAT = 225
SmaliParserOP_SUB_FLOAT = 226
SmaliParserOP_MUL_FLOAT = 227
SmaliParserOP_DIV_FLOAT = 228
SmaliParserOP_REM_FLOAT = 229
SmaliParserOP_ADD_DOUBLE = 230
SmaliParserOP_SUB_DOUBLE = 231
SmaliParserOP_MUL_DOUBLE = 232
SmaliParserOP_DIV_DOUBLE = 233
SmaliParserOP_REM_DOUBLE = 234
SmaliParserOP_ADD_INT_2ADDR = 235
SmaliParserOP_SUB_INT_2ADDR = 236
SmaliParserOP_MUL_INT_2ADDR = 237
SmaliParserOP_DIV_INT_2ADDR = 238
SmaliParserOP_REM_INT_2ADDR = 239
SmaliParserOP_AND_INT_2ADDR = 240
SmaliParserOP_OR_INT_2ADDR = 241
SmaliParserOP_XOR_INT_2ADDR = 242
SmaliParserOP_SHL_INT_2ADDR = 243
SmaliParserOP_SHR_INT_2ADDR = 244
SmaliParserOP_USHR_INT_2ADDR = 245
SmaliParserOP_ADD_LONG_2ADDR = 246
SmaliParserOP_SUB_LONG_2ADDR = 247
SmaliParserOP_MUL_LONG_2ADDR = 248
SmaliParserOP_DIV_LONG_2ADDR = 249
SmaliParserOP_REM_LONG_2ADDR = 250
SmaliParserOP_AND_LONG_2ADDR = 251
SmaliParserOP_OR_LONG_2ADDR = 252
SmaliParserOP_XOR_LONG_2ADDR = 253
SmaliParserOP_SHL_LONG_2ADDR = 254
SmaliParserOP_SHR_LONG_2ADDR = 255
SmaliParserOP_USHR_LONG_2ADDR = 256
SmaliParserOP_ADD_FLOAT_2ADDR = 257
SmaliParserOP_SUB_FLOAT_2ADDR = 258
SmaliParserOP_MUL_FLOAT_2ADDR = 259
SmaliParserOP_DIV_FLOAT_2ADDR = 260
SmaliParserOP_REM_FLOAT_2ADDR = 261
SmaliParserOP_ADD_DOUBLE_2ADDR = 262
SmaliParserOP_SUB_DOUBLE_2ADDR = 263
SmaliParserOP_MUL_DOUBLE_2ADDR = 264
SmaliParserOP_DIV_DOUBLE_2ADDR = 265
SmaliParserOP_REM_DOUBLE_2ADDR = 266
SmaliParserOP_ADD_INT_LIT16 = 267
SmaliParserOP_RSUB_INT = 268
SmaliParserOP_MUL_INT_LIT16 = 269
SmaliParserOP_DIV_INT_LIT16 = 270
SmaliParserOP_REM_INT_LIT16 = 271
SmaliParserOP_AND_INT_LIT16 = 272
SmaliParserOP_OR_INT_LIT16 = 273
SmaliParserOP_XOR_INT_LIT16 = 274
SmaliParserOP_ADD_INT_LIT8 = 275
SmaliParserOP_RSUB_INT_LIT8 = 276
SmaliParserOP_MUL_INT_LIT8 = 277
SmaliParserOP_DIV_INT_LIT8 = 278
SmaliParserOP_REM_INT_LIT8 = 279
SmaliParserOP_AND_INT_LIT8 = 280
SmaliParserOP_OR_INT_LIT8 = 281
SmaliParserOP_XOR_INT_LIT8 = 282
SmaliParserOP_SHL_INT_LIT8 = 283
SmaliParserOP_SHR_INT_LIT8 = 284
SmaliParserOP_USHR_INT_LIT8 = 285
SmaliParserOP_INVOKE_POLYMORPHIC = 286
SmaliParserOP_INVOKE_POLYMORPHIC_RANGE = 287
SmaliParserOP_INVOKE_CUSTOM = 288
SmaliParserOP_INVOKE_CUSTOM_RANGE = 289
SmaliParserOP_CONST_METHOD_HANDLE = 290
SmaliParserOP_CONST_METHOD_TYPE = 291
SmaliParserOP_PACKED_SWITCH = 292
SmaliParserOP_SPARSE_SWITCH = 293
SmaliParserDECIMAL_LITERAL = 294
SmaliParserHEX_LITERAL = 295
SmaliParserOCT_LITERAL = 296
SmaliParserBINARY_LITERAL = 297
SmaliParserFLOAT_LITERAL = 298
SmaliParserHEX_FLOAT_LITERAL = 299
SmaliParserBOOL_LITERAL = 300
SmaliParserNULL_LITERAL = 301
SmaliParserCHAR_LITERAL = 302
SmaliParserSTRING_LITERAL = 303
SmaliParserIDENTIFIER = 304
SmaliParserWS = 305
SmaliParserLINE_COMMENT = 306
)
// SmaliParser rules.
const (
SmaliParserRULE_registerIdentifier = 0
SmaliParserRULE_stringLiteral = 1
SmaliParserRULE_negativeNumericLiteral = 2
SmaliParserRULE_decimalNumericLiteral = 3
SmaliParserRULE_hexNumericLiteral = 4
SmaliParserRULE_octNumericLiteral = 5
SmaliParserRULE_binaryNumericLiteral = 6
SmaliParserRULE_floatNumericLiteral = 7
SmaliParserRULE_hexFloatLiteral = 8
SmaliParserRULE_positiveNumericLiteral = 9
SmaliParserRULE_numericLiteral = 10
SmaliParserRULE_identifier = 11
SmaliParserRULE_referenceType = 12
SmaliParserRULE_voidType = 13
SmaliParserRULE_booleanType = 14
SmaliParserRULE_byteType = 15
SmaliParserRULE_shortType = 16
SmaliParserRULE_charType = 17
SmaliParserRULE_intType = 18
SmaliParserRULE_longType = 19
SmaliParserRULE_floatType = 20
SmaliParserRULE_doubleType = 21
SmaliParserRULE_primitiveType = 22
SmaliParserRULE_nonArrayType = 23
SmaliParserRULE_methodParameterLiteral = 24
SmaliParserRULE_arrayType = 25
SmaliParserRULE_referenceOrArrayType = 26
SmaliParserRULE_nonVoidType = 27
SmaliParserRULE_anyType = 28
SmaliParserRULE_nullLiteral = 29
SmaliParserRULE_booleanLiteral = 30
SmaliParserRULE_assignableValue = 31
SmaliParserRULE_classModifier = 32
SmaliParserRULE_methodModifier = 33
SmaliParserRULE_fieldModifier = 34
SmaliParserRULE_labelName = 35
SmaliParserRULE_label = 36
SmaliParserRULE_leftRegister = 37
SmaliParserRULE_rightRegister = 38
SmaliParserRULE_registerListRegisters = 39
SmaliParserRULE_registerRange = 40
SmaliParserRULE_registerList = 41
SmaliParserRULE_gotoInstruction = 42
SmaliParserRULE_goto16Instruction = 43
SmaliParserRULE_goto32Instruction = 44
SmaliParserRULE_moveResultInstruction = 45
SmaliParserRULE_moveResultWideInstruction = 46
SmaliParserRULE_moveResultObjectInstruction = 47
SmaliParserRULE_moveExceptionInstruction = 48
SmaliParserRULE_returnInstruction = 49
SmaliParserRULE_returnWideInstruction = 50
SmaliParserRULE_returnObjectInstruction = 51
SmaliParserRULE_monitorEnterInstruction = 52
SmaliParserRULE_monitorExitInstruction = 53
SmaliParserRULE_throwInstruction = 54
SmaliParserRULE_returnVoidInstruction = 55
SmaliParserRULE_nopInstruction = 56
SmaliParserRULE_moveInstruction = 57
SmaliParserRULE_moveFrom16Instruction = 58
SmaliParserRULE_move16Instruction = 59
SmaliParserRULE_moveWideInstruction = 60
SmaliParserRULE_moveWideFrom16Instruction = 61
SmaliParserRULE_moveWide16Instruction = 62
SmaliParserRULE_moveObjectInstruction = 63
SmaliParserRULE_moveObjectFrom16Instruction = 64
SmaliParserRULE_moveObject16Instruction = 65
SmaliParserRULE_constInstruction = 66
SmaliParserRULE_const4Instruction = 67
SmaliParserRULE_const16Instruction = 68
SmaliParserRULE_constHigh16Instruction = 69
SmaliParserRULE_constWide16Instruction = 70
SmaliParserRULE_constWide32Instruction = 71
SmaliParserRULE_constWideInstruction = 72
SmaliParserRULE_constWideHigh16Instruction = 73
SmaliParserRULE_constString = 74
SmaliParserRULE_constStringJumbo = 75
SmaliParserRULE_constClass = 76
SmaliParserRULE_sGetInstruction = 77
SmaliParserRULE_sGetWideInstruction = 78
SmaliParserRULE_sGetObjectInstruction = 79
SmaliParserRULE_sGetBooleanInstruction = 80
SmaliParserRULE_sGetByteInstruction = 81
SmaliParserRULE_sGetCharInstruction = 82
SmaliParserRULE_sGetShortInstruction = 83
SmaliParserRULE_sPutInstruction = 84
SmaliParserRULE_sPutWideInstruction = 85
SmaliParserRULE_sPutObjectInstruction = 86
SmaliParserRULE_sPutBooleanInstruction = 87
SmaliParserRULE_sPutByteInstruction = 88
SmaliParserRULE_sPutCharInstruction = 89
SmaliParserRULE_sPutShortInstruction = 90
SmaliParserRULE_invokeVirtualInstruction = 91
SmaliParserRULE_invokeSuperInstruction = 92
SmaliParserRULE_invokeDirectInstruction = 93
SmaliParserRULE_invokeStaticInstruction = 94
SmaliParserRULE_invokeInterfaceInstruction = 95
SmaliParserRULE_invokeVirtualRangeInstruction = 96
SmaliParserRULE_invokeSuperRangeInstruction = 97
SmaliParserRULE_invokeDirectRangeInstruction = 98
SmaliParserRULE_invokeStaticRangeInstruction = 99
SmaliParserRULE_invokeInterfaceRangeInstruction = 100
SmaliParserRULE_intToLongInstruction = 101
SmaliParserRULE_intToFloatInstruction = 102
SmaliParserRULE_intToDoubleInstruction = 103
SmaliParserRULE_longToIntInstruction = 104
SmaliParserRULE_longToFloatInstruction = 105
SmaliParserRULE_longToDoubleInstruction = 106
SmaliParserRULE_floatToIntInstruction = 107
SmaliParserRULE_floatToLongInstruction = 108
SmaliParserRULE_floatToDoubleInstruction = 109
SmaliParserRULE_doubleToIntInstruction = 110
SmaliParserRULE_doubleToLongInstruction = 111
SmaliParserRULE_doubleToFloatInstruction = 112
SmaliParserRULE_intToByteInstruction = 113
SmaliParserRULE_intToCharInstruction = 114
SmaliParserRULE_intToShortInstruction = 115
SmaliParserRULE_ifLabel = 116
SmaliParserRULE_ifEqzInstruction = 117
SmaliParserRULE_ifNezInstruction = 118
SmaliParserRULE_ifLtzInstruction = 119
SmaliParserRULE_ifGezInstruction = 120
SmaliParserRULE_ifGtzInstruction = 121
SmaliParserRULE_ifLezInstruction = 122
SmaliParserRULE_negIntInstruction = 123
SmaliParserRULE_notIntInstruction = 124
SmaliParserRULE_negLongInstruction = 125
SmaliParserRULE_notLongInstruction = 126
SmaliParserRULE_negFloatInstruction = 127
SmaliParserRULE_negDoubleInstruction = 128
SmaliParserRULE_ifEqInstruction = 129
SmaliParserRULE_ifNeInstruction = 130
SmaliParserRULE_ifLtInstruction = 131
SmaliParserRULE_ifGeInstruction = 132
SmaliParserRULE_ifGtInstruction = 133
SmaliParserRULE_ifLeInstruction = 134
SmaliParserRULE_addInt2addrInstruction = 135
SmaliParserRULE_subInt2addrInstruction = 136
SmaliParserRULE_mulInt2addrInstruction = 137
SmaliParserRULE_divInt2addrInstruction = 138
SmaliParserRULE_remInt2addrInstruction = 139
SmaliParserRULE_andInt2addrInstruction = 140
SmaliParserRULE_orInt2addrInstruction = 141
SmaliParserRULE_xorInt2addrInstruction = 142
SmaliParserRULE_shlInt2addrInstruction = 143
SmaliParserRULE_shrInt2addrInstruction = 144
SmaliParserRULE_ushrInt2addrInstruction = 145
SmaliParserRULE_addLong2addrInstruction = 146
SmaliParserRULE_subLong2addrInstruction = 147
SmaliParserRULE_mulLong2addrInstruction = 148
SmaliParserRULE_divLong2addrInstruction = 149
SmaliParserRULE_remLong2addrInstruction = 150
SmaliParserRULE_andLong2addrInstruction = 151
SmaliParserRULE_orLong2addrInstruction = 152
SmaliParserRULE_xorLong2addrInstruction = 153
SmaliParserRULE_shlLong2addrInstruction = 154
SmaliParserRULE_shrLong2addrInstruction = 155
SmaliParserRULE_ushrLong2addrInstruction = 156
SmaliParserRULE_addFloat2addrInstruction = 157
SmaliParserRULE_subFloat2addrInstruction = 158
SmaliParserRULE_mulFloat2addrInstruction = 159
SmaliParserRULE_divFloat2addrInstruction = 160
SmaliParserRULE_remFloat2addrInstruction = 161
SmaliParserRULE_addDouble2addrInstruction = 162
SmaliParserRULE_subDouble2addrInstruction = 163
SmaliParserRULE_mulDouble2addrInstruction = 164
SmaliParserRULE_divDouble2addrInstruction = 165
SmaliParserRULE_remDouble2addrInstruction = 166
SmaliParserRULE_cmplFloatInstruction = 167
SmaliParserRULE_cmpgFloatInstruction = 168
SmaliParserRULE_cmplDoubleInstruction = 169
SmaliParserRULE_cmpgDoubleInstruction = 170
SmaliParserRULE_cmpLongInstruction = 171
SmaliParserRULE_field = 172
SmaliParserRULE_arrayRegister = 173
SmaliParserRULE_indexRegister = 174
SmaliParserRULE_instanceRegister = 175
SmaliParserRULE_sourceRegister = 176
SmaliParserRULE_targetRegister = 177
SmaliParserRULE_instanceField = 178
SmaliParserRULE_agetInstruction = 179
SmaliParserRULE_agetWideInstruction = 180
SmaliParserRULE_agetObjectInstruction = 181
SmaliParserRULE_agetBooleanInstruction = 182
SmaliParserRULE_agetByteInstruction = 183
SmaliParserRULE_agetCharInstruction = 184
SmaliParserRULE_agetShortInstruction = 185
SmaliParserRULE_aputInstruction = 186
SmaliParserRULE_aputWideInstruction = 187
SmaliParserRULE_aputObjectInstruction = 188
SmaliParserRULE_aputBooleanInstruction = 189
SmaliParserRULE_aputByteInstruction = 190
SmaliParserRULE_aputCharInstruction = 191
SmaliParserRULE_aputShortInstruction = 192
SmaliParserRULE_igetInstruction = 193
SmaliParserRULE_igetWideInstruction = 194
SmaliParserRULE_igetObjectInstruction = 195
SmaliParserRULE_igetBooleanInstruction = 196
SmaliParserRULE_igetByteInstruction = 197
SmaliParserRULE_igetCharInstruction = 198
SmaliParserRULE_igetShortInstruction = 199
SmaliParserRULE_iputInstruction = 200
SmaliParserRULE_iputWideInstruction = 201
SmaliParserRULE_iputObjectInstruction = 202
SmaliParserRULE_iputBooleanInstruction = 203
SmaliParserRULE_iputByteInstruction = 204
SmaliParserRULE_iputCharInstruction = 205
SmaliParserRULE_iputShortInstruction = 206
SmaliParserRULE_addIntInstruction = 207
SmaliParserRULE_subIntInstruction = 208
SmaliParserRULE_mulIntInstruction = 209
SmaliParserRULE_divIntInstruction = 210
SmaliParserRULE_remIntInstruction = 211
SmaliParserRULE_andIntInstruction = 212
SmaliParserRULE_orIntInstruction = 213
SmaliParserRULE_xorIntInstruction = 214
SmaliParserRULE_shlIntInstruction = 215
SmaliParserRULE_shrIntInstruction = 216
SmaliParserRULE_ushrIntInstruction = 217
SmaliParserRULE_rsubIntInstruction = 218
SmaliParserRULE_addLongInstruction = 219
SmaliParserRULE_subLongInstruction = 220
SmaliParserRULE_mulLongInstruction = 221
SmaliParserRULE_divLongInstruction = 222
SmaliParserRULE_remLongInstruction = 223
SmaliParserRULE_andLongInstruction = 224
SmaliParserRULE_orLongInstruction = 225
SmaliParserRULE_xorLongInstruction = 226
SmaliParserRULE_shlLongInstruction = 227
SmaliParserRULE_shrLongInstruction = 228
SmaliParserRULE_ushrLongInstruction = 229
SmaliParserRULE_addFloatInstruction = 230
SmaliParserRULE_subFloatInstruction = 231
SmaliParserRULE_mulFloatInstruction = 232
SmaliParserRULE_divFloatInstruction = 233
SmaliParserRULE_remFloatInstruction = 234
SmaliParserRULE_addDoubleInstruction = 235
SmaliParserRULE_subDoubleInstruction = 236
SmaliParserRULE_mulDoubleInstruction = 237
SmaliParserRULE_divDoubleInstruction = 238
SmaliParserRULE_remDoubleInstruction = 239
SmaliParserRULE_addIntLit16Instruction = 240
SmaliParserRULE_mulIntLit16Instruction = 241
SmaliParserRULE_divIntLit16Instruction = 242
SmaliParserRULE_remIntLit16Instruction = 243
SmaliParserRULE_andIntLit16Instruction = 244
SmaliParserRULE_orIntLit16Instruction = 245
SmaliParserRULE_xorIntLit16Instruction = 246
SmaliParserRULE_addIntLit8Instruction = 247
SmaliParserRULE_rsubIntLit8Instruction = 248
SmaliParserRULE_mulIntLit8Instruction = 249
SmaliParserRULE_divIntLit8Instruction = 250
SmaliParserRULE_remIntLit8Instruction = 251
SmaliParserRULE_andIntLit8Instruction = 252
SmaliParserRULE_orIntLit8Instruction = 253
SmaliParserRULE_xorIntLit8Instruction = 254
SmaliParserRULE_shlIntLit8Instruction = 255
SmaliParserRULE_shrIntLit8Instruction = 256
SmaliParserRULE_ushrIntLit8Instruction = 257
SmaliParserRULE_newInstanceType = 258
SmaliParserRULE_newInstanceInstruction = 259
SmaliParserRULE_checkCastType = 260
SmaliParserRULE_checkCastInstruction = 261
SmaliParserRULE_arrayLengthInstruction = 262
SmaliParserRULE_arrayElementType = 263
SmaliParserRULE_arrayElementRegisterRange = 264
SmaliParserRULE_arrayElementRegisters = 265
SmaliParserRULE_filledNewArrayRangeInstruction = 266
SmaliParserRULE_filledNewArrayInstruction = 267
SmaliParserRULE_filledArrayDataLabel = 268
SmaliParserRULE_fillArrayDataInstruction = 269
SmaliParserRULE_checkInstanceType = 270
SmaliParserRULE_instanceOfInstruction = 271
SmaliParserRULE_arraySizeRegister = 272
SmaliParserRULE_newArrayInstruction = 273
SmaliParserRULE_packedSwitchRegister = 274
SmaliParserRULE_packedSwitchLabel = 275
SmaliParserRULE_sparseSwitchRegister = 276
SmaliParserRULE_sparseSwitchLabel = 277
SmaliParserRULE_packedSwitchInstruction = 278
SmaliParserRULE_sparseSwitchInstruction = 279
SmaliParserRULE_invokePolymorphicInstruction = 280
SmaliParserRULE_invokePolymorphicRangeInstruction = 281
SmaliParserRULE_invokeCustomInstruction = 282
SmaliParserRULE_invokeCustomRangeInstruction = 283
SmaliParserRULE_invokeConstMethodHandleInstruction = 284
SmaliParserRULE_invokeConstMethodTypeInstruction = 285
SmaliParserRULE_binaryInstruction = 286
SmaliParserRULE_ternaryInstruction = 287
SmaliParserRULE_instruction = 288
SmaliParserRULE_methodInvocationTarget = 289
SmaliParserRULE_fieldInvocationTarget = 290
SmaliParserRULE_fieldName = 291
SmaliParserRULE_fieldType = 292
SmaliParserRULE_fieldNameAndType = 293
SmaliParserRULE_fieldDirective = 294
SmaliParserRULE_className = 295
SmaliParserRULE_classDirective = 296
SmaliParserRULE_superName = 297
SmaliParserRULE_superDirective = 298
SmaliParserRULE_sourceName = 299
SmaliParserRULE_sourceDirective = 300
SmaliParserRULE_methodIdentifier = 301
SmaliParserRULE_methodReturnType = 302
SmaliParserRULE_methodParameterType = 303
SmaliParserRULE_methodArguments = 304
SmaliParserRULE_methodSignature = 305
SmaliParserRULE_methodDeclaration = 306
SmaliParserRULE_annotationScope = 307
SmaliParserRULE_annotationType = 308
SmaliParserRULE_annotationFieldValue = 309
SmaliParserRULE_annotationValueScoped = 310
SmaliParserRULE_annotationField = 311
SmaliParserRULE_annotationDirective = 312
SmaliParserRULE_locaDirectiveVariableName = 313
SmaliParserRULE_localDirectiveType = 314
SmaliParserRULE_localDirectiveGenericHint = 315
SmaliParserRULE_localDirectiveRegister = 316
SmaliParserRULE_localDirective = 317
SmaliParserRULE_localEndDirective = 318
SmaliParserRULE_localRestartDirective = 319
SmaliParserRULE_lineLabel = 320
SmaliParserRULE_methodBodyStatement = 321
SmaliParserRULE_methodBody = 322
SmaliParserRULE_packedSwitchIdent = 323
SmaliParserRULE_packedSwitchDirectiveLabel = 324
SmaliParserRULE_packedSwitchDirectiveLabels = 325
SmaliParserRULE_packedSwitchDirective = 326
SmaliParserRULE_methodDirective = 327
SmaliParserRULE_registersDirective = 328
SmaliParserRULE_localsDirective = 329
SmaliParserRULE_simpleParamDirective = 330
SmaliParserRULE_extendedParamDirective = 331
SmaliParserRULE_paramDirective = 332
SmaliParserRULE_lineDirective = 333
SmaliParserRULE_catchFromLabel = 334
SmaliParserRULE_catchToLabel = 335
SmaliParserRULE_catchGotoLabel = 336
SmaliParserRULE_catchExceptionType = 337
SmaliParserRULE_catchDirective = 338
SmaliParserRULE_catchAllDirective = 339
SmaliParserRULE_arrayDataDirective = 340
SmaliParserRULE_arrayDataEntry = 341
SmaliParserRULE_sparseSwitchDirectiveValue = 342
SmaliParserRULE_sparseSwitchDirective = 343
SmaliParserRULE_statement = 344
SmaliParserRULE_parse = 345
)
// IRegisterIdentifierContext is an interface to support dynamic dispatch.
type IRegisterIdentifierContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsRegisterIdentifierContext differentiates from other interfaces.
IsRegisterIdentifierContext()
}
type RegisterIdentifierContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyRegisterIdentifierContext() *RegisterIdentifierContext {
var p = new(RegisterIdentifierContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_registerIdentifier
return p
}
func (*RegisterIdentifierContext) IsRegisterIdentifierContext() {}
func NewRegisterIdentifierContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *RegisterIdentifierContext {
var p = new(RegisterIdentifierContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_registerIdentifier
return p
}
func (s *RegisterIdentifierContext) GetParser() antlr.Parser { return s.parser }
func (s *RegisterIdentifierContext) IDENTIFIER() antlr.TerminalNode {
return s.GetToken(SmaliParserIDENTIFIER, 0)
}
func (s *RegisterIdentifierContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *RegisterIdentifierContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *RegisterIdentifierContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterRegisterIdentifier(s)
}
}
func (s *RegisterIdentifierContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitRegisterIdentifier(s)
}
}
func (s *RegisterIdentifierContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitRegisterIdentifier(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) RegisterIdentifier() (localctx IRegisterIdentifierContext) {
localctx = NewRegisterIdentifierContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 0, SmaliParserRULE_registerIdentifier)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(692)
p.Match(SmaliParserIDENTIFIER)
}
return localctx
}
// IStringLiteralContext is an interface to support dynamic dispatch.
type IStringLiteralContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsStringLiteralContext differentiates from other interfaces.
IsStringLiteralContext()
}
type StringLiteralContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyStringLiteralContext() *StringLiteralContext {
var p = new(StringLiteralContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_stringLiteral
return p
}
func (*StringLiteralContext) IsStringLiteralContext() {}
func NewStringLiteralContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *StringLiteralContext {
var p = new(StringLiteralContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_stringLiteral
return p
}
func (s *StringLiteralContext) GetParser() antlr.Parser { return s.parser }
func (s *StringLiteralContext) STRING_LITERAL() antlr.TerminalNode {
return s.GetToken(SmaliParserSTRING_LITERAL, 0)
}
func (s *StringLiteralContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *StringLiteralContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *StringLiteralContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterStringLiteral(s)
}
}
func (s *StringLiteralContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitStringLiteral(s)
}
}
func (s *StringLiteralContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitStringLiteral(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) StringLiteral() (localctx IStringLiteralContext) {
localctx = NewStringLiteralContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 2, SmaliParserRULE_stringLiteral)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(694)
p.Match(SmaliParserSTRING_LITERAL)
}
return localctx
}
// INegativeNumericLiteralContext is an interface to support dynamic dispatch.
type INegativeNumericLiteralContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsNegativeNumericLiteralContext differentiates from other interfaces.
IsNegativeNumericLiteralContext()
}
type NegativeNumericLiteralContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyNegativeNumericLiteralContext() *NegativeNumericLiteralContext {
var p = new(NegativeNumericLiteralContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_negativeNumericLiteral
return p
}
func (*NegativeNumericLiteralContext) IsNegativeNumericLiteralContext() {}
func NewNegativeNumericLiteralContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *NegativeNumericLiteralContext {
var p = new(NegativeNumericLiteralContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_negativeNumericLiteral
return p
}
func (s *NegativeNumericLiteralContext) GetParser() antlr.Parser { return s.parser }
func (s *NegativeNumericLiteralContext) SUB() antlr.TerminalNode {
return s.GetToken(SmaliParserSUB, 0)
}
func (s *NegativeNumericLiteralContext) PositiveNumericLiteral() IPositiveNumericLiteralContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IPositiveNumericLiteralContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IPositiveNumericLiteralContext)
}
func (s *NegativeNumericLiteralContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *NegativeNumericLiteralContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *NegativeNumericLiteralContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterNegativeNumericLiteral(s)
}
}
func (s *NegativeNumericLiteralContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitNegativeNumericLiteral(s)
}
}
func (s *NegativeNumericLiteralContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitNegativeNumericLiteral(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) NegativeNumericLiteral() (localctx INegativeNumericLiteralContext) {
localctx = NewNegativeNumericLiteralContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 4, SmaliParserRULE_negativeNumericLiteral)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(696)
p.Match(SmaliParserSUB)
}
{
p.SetState(697)
p.PositiveNumericLiteral()
}
return localctx
}
// IDecimalNumericLiteralContext is an interface to support dynamic dispatch.
type IDecimalNumericLiteralContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsDecimalNumericLiteralContext differentiates from other interfaces.
IsDecimalNumericLiteralContext()
}
type DecimalNumericLiteralContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyDecimalNumericLiteralContext() *DecimalNumericLiteralContext {
var p = new(DecimalNumericLiteralContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_decimalNumericLiteral
return p
}
func (*DecimalNumericLiteralContext) IsDecimalNumericLiteralContext() {}
func NewDecimalNumericLiteralContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DecimalNumericLiteralContext {
var p = new(DecimalNumericLiteralContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_decimalNumericLiteral
return p
}
func (s *DecimalNumericLiteralContext) GetParser() antlr.Parser { return s.parser }
func (s *DecimalNumericLiteralContext) DECIMAL_LITERAL() antlr.TerminalNode {
return s.GetToken(SmaliParserDECIMAL_LITERAL, 0)
}
func (s *DecimalNumericLiteralContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *DecimalNumericLiteralContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *DecimalNumericLiteralContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterDecimalNumericLiteral(s)
}
}
func (s *DecimalNumericLiteralContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitDecimalNumericLiteral(s)
}
}
func (s *DecimalNumericLiteralContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitDecimalNumericLiteral(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) DecimalNumericLiteral() (localctx IDecimalNumericLiteralContext) {
localctx = NewDecimalNumericLiteralContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 6, SmaliParserRULE_decimalNumericLiteral)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(699)
p.Match(SmaliParserDECIMAL_LITERAL)
}
return localctx
}
// IHexNumericLiteralContext is an interface to support dynamic dispatch.
type IHexNumericLiteralContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsHexNumericLiteralContext differentiates from other interfaces.
IsHexNumericLiteralContext()
}
type HexNumericLiteralContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyHexNumericLiteralContext() *HexNumericLiteralContext {
var p = new(HexNumericLiteralContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_hexNumericLiteral
return p
}
func (*HexNumericLiteralContext) IsHexNumericLiteralContext() {}
func NewHexNumericLiteralContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *HexNumericLiteralContext {
var p = new(HexNumericLiteralContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_hexNumericLiteral
return p
}
func (s *HexNumericLiteralContext) GetParser() antlr.Parser { return s.parser }
func (s *HexNumericLiteralContext) HEX_LITERAL() antlr.TerminalNode {
return s.GetToken(SmaliParserHEX_LITERAL, 0)
}
func (s *HexNumericLiteralContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *HexNumericLiteralContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *HexNumericLiteralContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterHexNumericLiteral(s)
}
}
func (s *HexNumericLiteralContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitHexNumericLiteral(s)
}
}
func (s *HexNumericLiteralContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitHexNumericLiteral(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) HexNumericLiteral() (localctx IHexNumericLiteralContext) {
localctx = NewHexNumericLiteralContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 8, SmaliParserRULE_hexNumericLiteral)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(701)
p.Match(SmaliParserHEX_LITERAL)
}
return localctx
}
// IOctNumericLiteralContext is an interface to support dynamic dispatch.
type IOctNumericLiteralContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsOctNumericLiteralContext differentiates from other interfaces.
IsOctNumericLiteralContext()
}
type OctNumericLiteralContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyOctNumericLiteralContext() *OctNumericLiteralContext {
var p = new(OctNumericLiteralContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_octNumericLiteral
return p
}
func (*OctNumericLiteralContext) IsOctNumericLiteralContext() {}
func NewOctNumericLiteralContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *OctNumericLiteralContext {
var p = new(OctNumericLiteralContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_octNumericLiteral
return p
}
func (s *OctNumericLiteralContext) GetParser() antlr.Parser { return s.parser }
func (s *OctNumericLiteralContext) OCT_LITERAL() antlr.TerminalNode {
return s.GetToken(SmaliParserOCT_LITERAL, 0)
}
func (s *OctNumericLiteralContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *OctNumericLiteralContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *OctNumericLiteralContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterOctNumericLiteral(s)
}
}
func (s *OctNumericLiteralContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitOctNumericLiteral(s)
}
}
func (s *OctNumericLiteralContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitOctNumericLiteral(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) OctNumericLiteral() (localctx IOctNumericLiteralContext) {
localctx = NewOctNumericLiteralContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 10, SmaliParserRULE_octNumericLiteral)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(703)
p.Match(SmaliParserOCT_LITERAL)
}
return localctx
}
// IBinaryNumericLiteralContext is an interface to support dynamic dispatch.
type IBinaryNumericLiteralContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsBinaryNumericLiteralContext differentiates from other interfaces.
IsBinaryNumericLiteralContext()
}
type BinaryNumericLiteralContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyBinaryNumericLiteralContext() *BinaryNumericLiteralContext {
var p = new(BinaryNumericLiteralContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_binaryNumericLiteral
return p
}
func (*BinaryNumericLiteralContext) IsBinaryNumericLiteralContext() {}
func NewBinaryNumericLiteralContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *BinaryNumericLiteralContext {
var p = new(BinaryNumericLiteralContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_binaryNumericLiteral
return p
}
func (s *BinaryNumericLiteralContext) GetParser() antlr.Parser { return s.parser }
func (s *BinaryNumericLiteralContext) BINARY_LITERAL() antlr.TerminalNode {
return s.GetToken(SmaliParserBINARY_LITERAL, 0)
}
func (s *BinaryNumericLiteralContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *BinaryNumericLiteralContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *BinaryNumericLiteralContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterBinaryNumericLiteral(s)
}
}
func (s *BinaryNumericLiteralContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitBinaryNumericLiteral(s)
}
}
func (s *BinaryNumericLiteralContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitBinaryNumericLiteral(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) BinaryNumericLiteral() (localctx IBinaryNumericLiteralContext) {
localctx = NewBinaryNumericLiteralContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 12, SmaliParserRULE_binaryNumericLiteral)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(705)
p.Match(SmaliParserBINARY_LITERAL)
}
return localctx
}
// IFloatNumericLiteralContext is an interface to support dynamic dispatch.
type IFloatNumericLiteralContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsFloatNumericLiteralContext differentiates from other interfaces.
IsFloatNumericLiteralContext()
}
type FloatNumericLiteralContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyFloatNumericLiteralContext() *FloatNumericLiteralContext {
var p = new(FloatNumericLiteralContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_floatNumericLiteral
return p
}
func (*FloatNumericLiteralContext) IsFloatNumericLiteralContext() {}
func NewFloatNumericLiteralContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *FloatNumericLiteralContext {
var p = new(FloatNumericLiteralContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_floatNumericLiteral
return p
}
func (s *FloatNumericLiteralContext) GetParser() antlr.Parser { return s.parser }
func (s *FloatNumericLiteralContext) FLOAT_LITERAL() antlr.TerminalNode {
return s.GetToken(SmaliParserFLOAT_LITERAL, 0)
}
func (s *FloatNumericLiteralContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *FloatNumericLiteralContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *FloatNumericLiteralContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterFloatNumericLiteral(s)
}
}
func (s *FloatNumericLiteralContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitFloatNumericLiteral(s)
}
}
func (s *FloatNumericLiteralContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitFloatNumericLiteral(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) FloatNumericLiteral() (localctx IFloatNumericLiteralContext) {
localctx = NewFloatNumericLiteralContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 14, SmaliParserRULE_floatNumericLiteral)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(707)
p.Match(SmaliParserFLOAT_LITERAL)
}
return localctx
}
// IHexFloatLiteralContext is an interface to support dynamic dispatch.
type IHexFloatLiteralContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsHexFloatLiteralContext differentiates from other interfaces.
IsHexFloatLiteralContext()
}
type HexFloatLiteralContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyHexFloatLiteralContext() *HexFloatLiteralContext {
var p = new(HexFloatLiteralContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_hexFloatLiteral
return p
}
func (*HexFloatLiteralContext) IsHexFloatLiteralContext() {}
func NewHexFloatLiteralContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *HexFloatLiteralContext {
var p = new(HexFloatLiteralContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_hexFloatLiteral
return p
}
func (s *HexFloatLiteralContext) GetParser() antlr.Parser { return s.parser }
func (s *HexFloatLiteralContext) HEX_FLOAT_LITERAL() antlr.TerminalNode {
return s.GetToken(SmaliParserHEX_FLOAT_LITERAL, 0)
}
func (s *HexFloatLiteralContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *HexFloatLiteralContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *HexFloatLiteralContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterHexFloatLiteral(s)
}
}
func (s *HexFloatLiteralContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitHexFloatLiteral(s)
}
}
func (s *HexFloatLiteralContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitHexFloatLiteral(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) HexFloatLiteral() (localctx IHexFloatLiteralContext) {
localctx = NewHexFloatLiteralContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 16, SmaliParserRULE_hexFloatLiteral)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(709)
p.Match(SmaliParserHEX_FLOAT_LITERAL)
}
return localctx
}
// IPositiveNumericLiteralContext is an interface to support dynamic dispatch.
type IPositiveNumericLiteralContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsPositiveNumericLiteralContext differentiates from other interfaces.
IsPositiveNumericLiteralContext()
}
type PositiveNumericLiteralContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyPositiveNumericLiteralContext() *PositiveNumericLiteralContext {
var p = new(PositiveNumericLiteralContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_positiveNumericLiteral
return p
}
func (*PositiveNumericLiteralContext) IsPositiveNumericLiteralContext() {}
func NewPositiveNumericLiteralContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *PositiveNumericLiteralContext {
var p = new(PositiveNumericLiteralContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_positiveNumericLiteral
return p
}
func (s *PositiveNumericLiteralContext) GetParser() antlr.Parser { return s.parser }
func (s *PositiveNumericLiteralContext) DecimalNumericLiteral() IDecimalNumericLiteralContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IDecimalNumericLiteralContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IDecimalNumericLiteralContext)
}
func (s *PositiveNumericLiteralContext) HexNumericLiteral() IHexNumericLiteralContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IHexNumericLiteralContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IHexNumericLiteralContext)
}
func (s *PositiveNumericLiteralContext) OctNumericLiteral() IOctNumericLiteralContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IOctNumericLiteralContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IOctNumericLiteralContext)
}
func (s *PositiveNumericLiteralContext) BinaryNumericLiteral() IBinaryNumericLiteralContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IBinaryNumericLiteralContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IBinaryNumericLiteralContext)
}
func (s *PositiveNumericLiteralContext) FloatNumericLiteral() IFloatNumericLiteralContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IFloatNumericLiteralContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IFloatNumericLiteralContext)
}
func (s *PositiveNumericLiteralContext) HexFloatLiteral() IHexFloatLiteralContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IHexFloatLiteralContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IHexFloatLiteralContext)
}
func (s *PositiveNumericLiteralContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *PositiveNumericLiteralContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *PositiveNumericLiteralContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterPositiveNumericLiteral(s)
}
}
func (s *PositiveNumericLiteralContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitPositiveNumericLiteral(s)
}
}
func (s *PositiveNumericLiteralContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitPositiveNumericLiteral(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) PositiveNumericLiteral() (localctx IPositiveNumericLiteralContext) {
localctx = NewPositiveNumericLiteralContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 18, SmaliParserRULE_positiveNumericLiteral)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.SetState(717)
p.GetErrorHandler().Sync(p)
switch p.GetTokenStream().LA(1) {
case SmaliParserDECIMAL_LITERAL:
p.EnterOuterAlt(localctx, 1)
{
p.SetState(711)
p.DecimalNumericLiteral()
}
case SmaliParserHEX_LITERAL:
p.EnterOuterAlt(localctx, 2)
{
p.SetState(712)
p.HexNumericLiteral()
}
case SmaliParserOCT_LITERAL:
p.EnterOuterAlt(localctx, 3)
{
p.SetState(713)
p.OctNumericLiteral()
}
case SmaliParserBINARY_LITERAL:
p.EnterOuterAlt(localctx, 4)
{
p.SetState(714)
p.BinaryNumericLiteral()
}
case SmaliParserFLOAT_LITERAL:
p.EnterOuterAlt(localctx, 5)
{
p.SetState(715)
p.FloatNumericLiteral()
}
case SmaliParserHEX_FLOAT_LITERAL:
p.EnterOuterAlt(localctx, 6)
{
p.SetState(716)
p.HexFloatLiteral()
}
default:
panic(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil))
}
return localctx
}
// INumericLiteralContext is an interface to support dynamic dispatch.
type INumericLiteralContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsNumericLiteralContext differentiates from other interfaces.
IsNumericLiteralContext()
}
type NumericLiteralContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyNumericLiteralContext() *NumericLiteralContext {
var p = new(NumericLiteralContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_numericLiteral
return p
}
func (*NumericLiteralContext) IsNumericLiteralContext() {}
func NewNumericLiteralContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *NumericLiteralContext {
var p = new(NumericLiteralContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_numericLiteral
return p
}
func (s *NumericLiteralContext) GetParser() antlr.Parser { return s.parser }
func (s *NumericLiteralContext) NegativeNumericLiteral() INegativeNumericLiteralContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*INegativeNumericLiteralContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(INegativeNumericLiteralContext)
}
func (s *NumericLiteralContext) PositiveNumericLiteral() IPositiveNumericLiteralContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IPositiveNumericLiteralContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IPositiveNumericLiteralContext)
}
func (s *NumericLiteralContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *NumericLiteralContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *NumericLiteralContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterNumericLiteral(s)
}
}
func (s *NumericLiteralContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitNumericLiteral(s)
}
}
func (s *NumericLiteralContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitNumericLiteral(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) NumericLiteral() (localctx INumericLiteralContext) {
localctx = NewNumericLiteralContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 20, SmaliParserRULE_numericLiteral)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.SetState(721)
p.GetErrorHandler().Sync(p)
switch p.GetTokenStream().LA(1) {
case SmaliParserSUB:
p.EnterOuterAlt(localctx, 1)
{
p.SetState(719)
p.NegativeNumericLiteral()
}
case SmaliParserDECIMAL_LITERAL, SmaliParserHEX_LITERAL, SmaliParserOCT_LITERAL, SmaliParserBINARY_LITERAL, SmaliParserFLOAT_LITERAL, SmaliParserHEX_FLOAT_LITERAL:
p.EnterOuterAlt(localctx, 2)
{
p.SetState(720)
p.PositiveNumericLiteral()
}
default:
panic(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil))
}
return localctx
}
// IIdentifierContext is an interface to support dynamic dispatch.
type IIdentifierContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsIdentifierContext differentiates from other interfaces.
IsIdentifierContext()
}
type IdentifierContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyIdentifierContext() *IdentifierContext {
var p = new(IdentifierContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_identifier
return p
}
func (*IdentifierContext) IsIdentifierContext() {}
func NewIdentifierContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *IdentifierContext {
var p = new(IdentifierContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_identifier
return p
}
func (s *IdentifierContext) GetParser() antlr.Parser { return s.parser }
func (s *IdentifierContext) AllIDENTIFIER() []antlr.TerminalNode {
return s.GetTokens(SmaliParserIDENTIFIER)
}
func (s *IdentifierContext) IDENTIFIER(i int) antlr.TerminalNode {
return s.GetToken(SmaliParserIDENTIFIER, i)
}
func (s *IdentifierContext) AllVOID_TYPE() []antlr.TerminalNode {
return s.GetTokens(SmaliParserVOID_TYPE)
}
func (s *IdentifierContext) VOID_TYPE(i int) antlr.TerminalNode {
return s.GetToken(SmaliParserVOID_TYPE, i)
}
func (s *IdentifierContext) AllBOOLEAN_TYPE() []antlr.TerminalNode {
return s.GetTokens(SmaliParserBOOLEAN_TYPE)
}
func (s *IdentifierContext) BOOLEAN_TYPE(i int) antlr.TerminalNode {
return s.GetToken(SmaliParserBOOLEAN_TYPE, i)
}
func (s *IdentifierContext) AllBYTE_TYPE() []antlr.TerminalNode {
return s.GetTokens(SmaliParserBYTE_TYPE)
}
func (s *IdentifierContext) BYTE_TYPE(i int) antlr.TerminalNode {
return s.GetToken(SmaliParserBYTE_TYPE, i)
}
func (s *IdentifierContext) AllSHORT_TYPE() []antlr.TerminalNode {
return s.GetTokens(SmaliParserSHORT_TYPE)
}
func (s *IdentifierContext) SHORT_TYPE(i int) antlr.TerminalNode {
return s.GetToken(SmaliParserSHORT_TYPE, i)
}
func (s *IdentifierContext) AllCHAR_TYPE() []antlr.TerminalNode {
return s.GetTokens(SmaliParserCHAR_TYPE)
}
func (s *IdentifierContext) CHAR_TYPE(i int) antlr.TerminalNode {
return s.GetToken(SmaliParserCHAR_TYPE, i)
}
func (s *IdentifierContext) AllINT_TYPE() []antlr.TerminalNode {
return s.GetTokens(SmaliParserINT_TYPE)
}
func (s *IdentifierContext) INT_TYPE(i int) antlr.TerminalNode {
return s.GetToken(SmaliParserINT_TYPE, i)
}
func (s *IdentifierContext) AllLONG_TYPE() []antlr.TerminalNode {
return s.GetTokens(SmaliParserLONG_TYPE)
}
func (s *IdentifierContext) LONG_TYPE(i int) antlr.TerminalNode {
return s.GetToken(SmaliParserLONG_TYPE, i)
}
func (s *IdentifierContext) AllFLOAT_TYPE() []antlr.TerminalNode {
return s.GetTokens(SmaliParserFLOAT_TYPE)
}
func (s *IdentifierContext) FLOAT_TYPE(i int) antlr.TerminalNode {
return s.GetToken(SmaliParserFLOAT_TYPE, i)
}
func (s *IdentifierContext) AllDOUBLE_TYPE() []antlr.TerminalNode {
return s.GetTokens(SmaliParserDOUBLE_TYPE)
}
func (s *IdentifierContext) DOUBLE_TYPE(i int) antlr.TerminalNode {
return s.GetToken(SmaliParserDOUBLE_TYPE, i)
}
func (s *IdentifierContext) AllCONSTRUCTOR() []antlr.TerminalNode {
return s.GetTokens(SmaliParserCONSTRUCTOR)
}
func (s *IdentifierContext) CONSTRUCTOR(i int) antlr.TerminalNode {
return s.GetToken(SmaliParserCONSTRUCTOR, i)
}
func (s *IdentifierContext) AllANNOTATION() []antlr.TerminalNode {
return s.GetTokens(SmaliParserANNOTATION)
}
func (s *IdentifierContext) ANNOTATION(i int) antlr.TerminalNode {
return s.GetToken(SmaliParserANNOTATION, i)
}
func (s *IdentifierContext) AllBRIDGE() []antlr.TerminalNode {
return s.GetTokens(SmaliParserBRIDGE)
}
func (s *IdentifierContext) BRIDGE(i int) antlr.TerminalNode {
return s.GetToken(SmaliParserBRIDGE, i)
}
func (s *IdentifierContext) AllNATIVE() []antlr.TerminalNode {
return s.GetTokens(SmaliParserNATIVE)
}
func (s *IdentifierContext) NATIVE(i int) antlr.TerminalNode {
return s.GetToken(SmaliParserNATIVE, i)
}
func (s *IdentifierContext) AllVARARGS() []antlr.TerminalNode {
return s.GetTokens(SmaliParserVARARGS)
}
func (s *IdentifierContext) VARARGS(i int) antlr.TerminalNode {
return s.GetToken(SmaliParserVARARGS, i)
}
func (s *IdentifierContext) AllSYNTHETIC() []antlr.TerminalNode {
return s.GetTokens(SmaliParserSYNTHETIC)
}
func (s *IdentifierContext) SYNTHETIC(i int) antlr.TerminalNode {
return s.GetToken(SmaliParserSYNTHETIC, i)
}
func (s *IdentifierContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *IdentifierContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *IdentifierContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterIdentifier(s)
}
}
func (s *IdentifierContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitIdentifier(s)
}
}
func (s *IdentifierContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitIdentifier(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) Identifier() (localctx IIdentifierContext) {
localctx = NewIdentifierContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 22, SmaliParserRULE_identifier)
var _la int
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
p.SetState(724)
p.GetErrorHandler().Sync(p)
_la = p.GetTokenStream().LA(1)
for ok := true; ok; ok = (((_la)&-(0x1f+1)) == 0 && ((1<<uint(_la))&((1<<SmaliParserVOID_TYPE)|(1<<SmaliParserBOOLEAN_TYPE)|(1<<SmaliParserBYTE_TYPE)|(1<<SmaliParserSHORT_TYPE)|(1<<SmaliParserCHAR_TYPE)|(1<<SmaliParserINT_TYPE)|(1<<SmaliParserLONG_TYPE)|(1<<SmaliParserFLOAT_TYPE)|(1<<SmaliParserDOUBLE_TYPE))) != 0) || (((_la-56)&-(0x1f+1)) == 0 && ((1<<uint((_la-56)))&((1<<(SmaliParserANNOTATION-56))|(1<<(SmaliParserSYNTHETIC-56))|(1<<(SmaliParserCONSTRUCTOR-56))|(1<<(SmaliParserBRIDGE-56))|(1<<(SmaliParserVARARGS-56))|(1<<(SmaliParserNATIVE-56)))) != 0) || _la == SmaliParserIDENTIFIER {
{
p.SetState(723)
_la = p.GetTokenStream().LA(1)
if !((((_la)&-(0x1f+1)) == 0 && ((1<<uint(_la))&((1<<SmaliParserVOID_TYPE)|(1<<SmaliParserBOOLEAN_TYPE)|(1<<SmaliParserBYTE_TYPE)|(1<<SmaliParserSHORT_TYPE)|(1<<SmaliParserCHAR_TYPE)|(1<<SmaliParserINT_TYPE)|(1<<SmaliParserLONG_TYPE)|(1<<SmaliParserFLOAT_TYPE)|(1<<SmaliParserDOUBLE_TYPE))) != 0) || (((_la-56)&-(0x1f+1)) == 0 && ((1<<uint((_la-56)))&((1<<(SmaliParserANNOTATION-56))|(1<<(SmaliParserSYNTHETIC-56))|(1<<(SmaliParserCONSTRUCTOR-56))|(1<<(SmaliParserBRIDGE-56))|(1<<(SmaliParserVARARGS-56))|(1<<(SmaliParserNATIVE-56)))) != 0) || _la == SmaliParserIDENTIFIER) {
p.GetErrorHandler().RecoverInline(p)
} else {
p.GetErrorHandler().ReportMatch(p)
p.Consume()
}
}
p.SetState(726)
p.GetErrorHandler().Sync(p)
_la = p.GetTokenStream().LA(1)
}
return localctx
}
// IReferenceTypeContext is an interface to support dynamic dispatch.
type IReferenceTypeContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsReferenceTypeContext differentiates from other interfaces.
IsReferenceTypeContext()
}
type ReferenceTypeContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyReferenceTypeContext() *ReferenceTypeContext {
var p = new(ReferenceTypeContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_referenceType
return p
}
func (*ReferenceTypeContext) IsReferenceTypeContext() {}
func NewReferenceTypeContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ReferenceTypeContext {
var p = new(ReferenceTypeContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_referenceType
return p
}
func (s *ReferenceTypeContext) GetParser() antlr.Parser { return s.parser }
func (s *ReferenceTypeContext) QUALIFIED_TYPE_NAME() antlr.TerminalNode {
return s.GetToken(SmaliParserQUALIFIED_TYPE_NAME, 0)
}
func (s *ReferenceTypeContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *ReferenceTypeContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *ReferenceTypeContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterReferenceType(s)
}
}
func (s *ReferenceTypeContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitReferenceType(s)
}
}
func (s *ReferenceTypeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitReferenceType(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) ReferenceType() (localctx IReferenceTypeContext) {
localctx = NewReferenceTypeContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 24, SmaliParserRULE_referenceType)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(728)
p.Match(SmaliParserQUALIFIED_TYPE_NAME)
}
return localctx
}
// IVoidTypeContext is an interface to support dynamic dispatch.
type IVoidTypeContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsVoidTypeContext differentiates from other interfaces.
IsVoidTypeContext()
}
type VoidTypeContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyVoidTypeContext() *VoidTypeContext {
var p = new(VoidTypeContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_voidType
return p
}
func (*VoidTypeContext) IsVoidTypeContext() {}
func NewVoidTypeContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *VoidTypeContext {
var p = new(VoidTypeContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_voidType
return p
}
func (s *VoidTypeContext) GetParser() antlr.Parser { return s.parser }
func (s *VoidTypeContext) VOID_TYPE() antlr.TerminalNode {
return s.GetToken(SmaliParserVOID_TYPE, 0)
}
func (s *VoidTypeContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *VoidTypeContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *VoidTypeContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterVoidType(s)
}
}
func (s *VoidTypeContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitVoidType(s)
}
}
func (s *VoidTypeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitVoidType(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) VoidType() (localctx IVoidTypeContext) {
localctx = NewVoidTypeContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 26, SmaliParserRULE_voidType)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(730)
p.Match(SmaliParserVOID_TYPE)
}
return localctx
}
// IBooleanTypeContext is an interface to support dynamic dispatch.
type IBooleanTypeContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsBooleanTypeContext differentiates from other interfaces.
IsBooleanTypeContext()
}
type BooleanTypeContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyBooleanTypeContext() *BooleanTypeContext {
var p = new(BooleanTypeContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_booleanType
return p
}
func (*BooleanTypeContext) IsBooleanTypeContext() {}
func NewBooleanTypeContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *BooleanTypeContext {
var p = new(BooleanTypeContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_booleanType
return p
}
func (s *BooleanTypeContext) GetParser() antlr.Parser { return s.parser }
func (s *BooleanTypeContext) BOOLEAN_TYPE() antlr.TerminalNode {
return s.GetToken(SmaliParserBOOLEAN_TYPE, 0)
}
func (s *BooleanTypeContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *BooleanTypeContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *BooleanTypeContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterBooleanType(s)
}
}
func (s *BooleanTypeContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitBooleanType(s)
}
}
func (s *BooleanTypeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitBooleanType(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) BooleanType() (localctx IBooleanTypeContext) {
localctx = NewBooleanTypeContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 28, SmaliParserRULE_booleanType)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(732)
p.Match(SmaliParserBOOLEAN_TYPE)
}
return localctx
}
// IByteTypeContext is an interface to support dynamic dispatch.
type IByteTypeContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsByteTypeContext differentiates from other interfaces.
IsByteTypeContext()
}
type ByteTypeContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyByteTypeContext() *ByteTypeContext {
var p = new(ByteTypeContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_byteType
return p
}
func (*ByteTypeContext) IsByteTypeContext() {}
func NewByteTypeContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ByteTypeContext {
var p = new(ByteTypeContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_byteType
return p
}
func (s *ByteTypeContext) GetParser() antlr.Parser { return s.parser }
func (s *ByteTypeContext) BYTE_TYPE() antlr.TerminalNode {
return s.GetToken(SmaliParserBYTE_TYPE, 0)
}
func (s *ByteTypeContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *ByteTypeContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *ByteTypeContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterByteType(s)
}
}
func (s *ByteTypeContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitByteType(s)
}
}
func (s *ByteTypeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitByteType(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) ByteType() (localctx IByteTypeContext) {
localctx = NewByteTypeContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 30, SmaliParserRULE_byteType)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(734)
p.Match(SmaliParserBYTE_TYPE)
}
return localctx
}
// IShortTypeContext is an interface to support dynamic dispatch.
type IShortTypeContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsShortTypeContext differentiates from other interfaces.
IsShortTypeContext()
}
type ShortTypeContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyShortTypeContext() *ShortTypeContext {
var p = new(ShortTypeContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_shortType
return p
}
func (*ShortTypeContext) IsShortTypeContext() {}
func NewShortTypeContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ShortTypeContext {
var p = new(ShortTypeContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_shortType
return p
}
func (s *ShortTypeContext) GetParser() antlr.Parser { return s.parser }
func (s *ShortTypeContext) SHORT_TYPE() antlr.TerminalNode {
return s.GetToken(SmaliParserSHORT_TYPE, 0)
}
func (s *ShortTypeContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *ShortTypeContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *ShortTypeContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterShortType(s)
}
}
func (s *ShortTypeContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitShortType(s)
}
}
func (s *ShortTypeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitShortType(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) ShortType() (localctx IShortTypeContext) {
localctx = NewShortTypeContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 32, SmaliParserRULE_shortType)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(736)
p.Match(SmaliParserSHORT_TYPE)
}
return localctx
}
// ICharTypeContext is an interface to support dynamic dispatch.
type ICharTypeContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsCharTypeContext differentiates from other interfaces.
IsCharTypeContext()
}
type CharTypeContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyCharTypeContext() *CharTypeContext {
var p = new(CharTypeContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_charType
return p
}
func (*CharTypeContext) IsCharTypeContext() {}
func NewCharTypeContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *CharTypeContext {
var p = new(CharTypeContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_charType
return p
}
func (s *CharTypeContext) GetParser() antlr.Parser { return s.parser }
func (s *CharTypeContext) CHAR_TYPE() antlr.TerminalNode {
return s.GetToken(SmaliParserCHAR_TYPE, 0)
}
func (s *CharTypeContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *CharTypeContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *CharTypeContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterCharType(s)
}
}
func (s *CharTypeContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitCharType(s)
}
}
func (s *CharTypeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitCharType(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) CharType() (localctx ICharTypeContext) {
localctx = NewCharTypeContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 34, SmaliParserRULE_charType)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(738)
p.Match(SmaliParserCHAR_TYPE)
}
return localctx
}
// IIntTypeContext is an interface to support dynamic dispatch.
type IIntTypeContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsIntTypeContext differentiates from other interfaces.
IsIntTypeContext()
}
type IntTypeContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyIntTypeContext() *IntTypeContext {
var p = new(IntTypeContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_intType
return p
}
func (*IntTypeContext) IsIntTypeContext() {}
func NewIntTypeContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *IntTypeContext {
var p = new(IntTypeContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_intType
return p
}
func (s *IntTypeContext) GetParser() antlr.Parser { return s.parser }
func (s *IntTypeContext) INT_TYPE() antlr.TerminalNode {
return s.GetToken(SmaliParserINT_TYPE, 0)
}
func (s *IntTypeContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *IntTypeContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *IntTypeContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterIntType(s)
}
}
func (s *IntTypeContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitIntType(s)
}
}
func (s *IntTypeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitIntType(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) IntType() (localctx IIntTypeContext) {
localctx = NewIntTypeContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 36, SmaliParserRULE_intType)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(740)
p.Match(SmaliParserINT_TYPE)
}
return localctx
}
// ILongTypeContext is an interface to support dynamic dispatch.
type ILongTypeContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsLongTypeContext differentiates from other interfaces.
IsLongTypeContext()
}
type LongTypeContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyLongTypeContext() *LongTypeContext {
var p = new(LongTypeContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_longType
return p
}
func (*LongTypeContext) IsLongTypeContext() {}
func NewLongTypeContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *LongTypeContext {
var p = new(LongTypeContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_longType
return p
}
func (s *LongTypeContext) GetParser() antlr.Parser { return s.parser }
func (s *LongTypeContext) LONG_TYPE() antlr.TerminalNode {
return s.GetToken(SmaliParserLONG_TYPE, 0)
}
func (s *LongTypeContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *LongTypeContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *LongTypeContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterLongType(s)
}
}
func (s *LongTypeContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitLongType(s)
}
}
func (s *LongTypeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitLongType(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) LongType() (localctx ILongTypeContext) {
localctx = NewLongTypeContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 38, SmaliParserRULE_longType)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(742)
p.Match(SmaliParserLONG_TYPE)
}
return localctx
}
// IFloatTypeContext is an interface to support dynamic dispatch.
type IFloatTypeContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsFloatTypeContext differentiates from other interfaces.
IsFloatTypeContext()
}
type FloatTypeContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyFloatTypeContext() *FloatTypeContext {
var p = new(FloatTypeContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_floatType
return p
}
func (*FloatTypeContext) IsFloatTypeContext() {}
func NewFloatTypeContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *FloatTypeContext {
var p = new(FloatTypeContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_floatType
return p
}
func (s *FloatTypeContext) GetParser() antlr.Parser { return s.parser }
func (s *FloatTypeContext) FLOAT_TYPE() antlr.TerminalNode {
return s.GetToken(SmaliParserFLOAT_TYPE, 0)
}
func (s *FloatTypeContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *FloatTypeContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *FloatTypeContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterFloatType(s)
}
}
func (s *FloatTypeContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitFloatType(s)
}
}
func (s *FloatTypeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitFloatType(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) FloatType() (localctx IFloatTypeContext) {
localctx = NewFloatTypeContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 40, SmaliParserRULE_floatType)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(744)
p.Match(SmaliParserFLOAT_TYPE)
}
return localctx
}
// IDoubleTypeContext is an interface to support dynamic dispatch.
type IDoubleTypeContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsDoubleTypeContext differentiates from other interfaces.
IsDoubleTypeContext()
}
type DoubleTypeContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyDoubleTypeContext() *DoubleTypeContext {
var p = new(DoubleTypeContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_doubleType
return p
}
func (*DoubleTypeContext) IsDoubleTypeContext() {}
func NewDoubleTypeContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DoubleTypeContext {
var p = new(DoubleTypeContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_doubleType
return p
}
func (s *DoubleTypeContext) GetParser() antlr.Parser { return s.parser }
func (s *DoubleTypeContext) DOUBLE_TYPE() antlr.TerminalNode {
return s.GetToken(SmaliParserDOUBLE_TYPE, 0)
}
func (s *DoubleTypeContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *DoubleTypeContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *DoubleTypeContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterDoubleType(s)
}
}
func (s *DoubleTypeContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitDoubleType(s)
}
}
func (s *DoubleTypeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitDoubleType(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) DoubleType() (localctx IDoubleTypeContext) {
localctx = NewDoubleTypeContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 42, SmaliParserRULE_doubleType)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(746)
p.Match(SmaliParserDOUBLE_TYPE)
}
return localctx
}
// IPrimitiveTypeContext is an interface to support dynamic dispatch.
type IPrimitiveTypeContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsPrimitiveTypeContext differentiates from other interfaces.
IsPrimitiveTypeContext()
}
type PrimitiveTypeContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyPrimitiveTypeContext() *PrimitiveTypeContext {
var p = new(PrimitiveTypeContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_primitiveType
return p
}
func (*PrimitiveTypeContext) IsPrimitiveTypeContext() {}
func NewPrimitiveTypeContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *PrimitiveTypeContext {
var p = new(PrimitiveTypeContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_primitiveType
return p
}
func (s *PrimitiveTypeContext) GetParser() antlr.Parser { return s.parser }
func (s *PrimitiveTypeContext) BooleanType() IBooleanTypeContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IBooleanTypeContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IBooleanTypeContext)
}
func (s *PrimitiveTypeContext) ByteType() IByteTypeContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IByteTypeContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IByteTypeContext)
}
func (s *PrimitiveTypeContext) ShortType() IShortTypeContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IShortTypeContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IShortTypeContext)
}
func (s *PrimitiveTypeContext) CharType() ICharTypeContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ICharTypeContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ICharTypeContext)
}
func (s *PrimitiveTypeContext) IntType() IIntTypeContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IIntTypeContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IIntTypeContext)
}
func (s *PrimitiveTypeContext) LongType() ILongTypeContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILongTypeContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILongTypeContext)
}
func (s *PrimitiveTypeContext) FloatType() IFloatTypeContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IFloatTypeContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IFloatTypeContext)
}
func (s *PrimitiveTypeContext) DoubleType() IDoubleTypeContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IDoubleTypeContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IDoubleTypeContext)
}
func (s *PrimitiveTypeContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *PrimitiveTypeContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *PrimitiveTypeContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterPrimitiveType(s)
}
}
func (s *PrimitiveTypeContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitPrimitiveType(s)
}
}
func (s *PrimitiveTypeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitPrimitiveType(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) PrimitiveType() (localctx IPrimitiveTypeContext) {
localctx = NewPrimitiveTypeContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 44, SmaliParserRULE_primitiveType)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.SetState(756)
p.GetErrorHandler().Sync(p)
switch p.GetTokenStream().LA(1) {
case SmaliParserBOOLEAN_TYPE:
p.EnterOuterAlt(localctx, 1)
{
p.SetState(748)
p.BooleanType()
}
case SmaliParserBYTE_TYPE:
p.EnterOuterAlt(localctx, 2)
{
p.SetState(749)
p.ByteType()
}
case SmaliParserSHORT_TYPE:
p.EnterOuterAlt(localctx, 3)
{
p.SetState(750)
p.ShortType()
}
case SmaliParserCHAR_TYPE:
p.EnterOuterAlt(localctx, 4)
{
p.SetState(751)
p.CharType()
}
case SmaliParserINT_TYPE:
p.EnterOuterAlt(localctx, 5)
{
p.SetState(752)
p.IntType()
}
case SmaliParserLONG_TYPE:
p.EnterOuterAlt(localctx, 6)
{
p.SetState(753)
p.LongType()
}
case SmaliParserFLOAT_TYPE:
p.EnterOuterAlt(localctx, 7)
{
p.SetState(754)
p.FloatType()
}
case SmaliParserDOUBLE_TYPE:
p.EnterOuterAlt(localctx, 8)
{
p.SetState(755)
p.DoubleType()
}
default:
panic(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil))
}
return localctx
}
// INonArrayTypeContext is an interface to support dynamic dispatch.
type INonArrayTypeContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsNonArrayTypeContext differentiates from other interfaces.
IsNonArrayTypeContext()
}
type NonArrayTypeContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyNonArrayTypeContext() *NonArrayTypeContext {
var p = new(NonArrayTypeContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_nonArrayType
return p
}
func (*NonArrayTypeContext) IsNonArrayTypeContext() {}
func NewNonArrayTypeContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *NonArrayTypeContext {
var p = new(NonArrayTypeContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_nonArrayType
return p
}
func (s *NonArrayTypeContext) GetParser() antlr.Parser { return s.parser }
func (s *NonArrayTypeContext) PrimitiveType() IPrimitiveTypeContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IPrimitiveTypeContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IPrimitiveTypeContext)
}
func (s *NonArrayTypeContext) ReferenceType() IReferenceTypeContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IReferenceTypeContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IReferenceTypeContext)
}
func (s *NonArrayTypeContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *NonArrayTypeContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *NonArrayTypeContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterNonArrayType(s)
}
}
func (s *NonArrayTypeContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitNonArrayType(s)
}
}
func (s *NonArrayTypeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitNonArrayType(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) NonArrayType() (localctx INonArrayTypeContext) {
localctx = NewNonArrayTypeContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 46, SmaliParserRULE_nonArrayType)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.SetState(760)
p.GetErrorHandler().Sync(p)
switch p.GetTokenStream().LA(1) {
case SmaliParserBOOLEAN_TYPE, SmaliParserBYTE_TYPE, SmaliParserSHORT_TYPE, SmaliParserCHAR_TYPE, SmaliParserINT_TYPE, SmaliParserLONG_TYPE, SmaliParserFLOAT_TYPE, SmaliParserDOUBLE_TYPE:
p.EnterOuterAlt(localctx, 1)
{
p.SetState(758)
p.PrimitiveType()
}
case SmaliParserQUALIFIED_TYPE_NAME:
p.EnterOuterAlt(localctx, 2)
{
p.SetState(759)
p.ReferenceType()
}
default:
panic(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil))
}
return localctx
}
// IMethodParameterLiteralContext is an interface to support dynamic dispatch.
type IMethodParameterLiteralContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsMethodParameterLiteralContext differentiates from other interfaces.
IsMethodParameterLiteralContext()
}
type MethodParameterLiteralContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyMethodParameterLiteralContext() *MethodParameterLiteralContext {
var p = new(MethodParameterLiteralContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_methodParameterLiteral
return p
}
func (*MethodParameterLiteralContext) IsMethodParameterLiteralContext() {}
func NewMethodParameterLiteralContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *MethodParameterLiteralContext {
var p = new(MethodParameterLiteralContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_methodParameterLiteral
return p
}
func (s *MethodParameterLiteralContext) GetParser() antlr.Parser { return s.parser }
func (s *MethodParameterLiteralContext) COMPOUND_METHOD_ARG_LITERAL() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMPOUND_METHOD_ARG_LITERAL, 0)
}
func (s *MethodParameterLiteralContext) IDENTIFIER() antlr.TerminalNode {
return s.GetToken(SmaliParserIDENTIFIER, 0)
}
func (s *MethodParameterLiteralContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *MethodParameterLiteralContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *MethodParameterLiteralContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterMethodParameterLiteral(s)
}
}
func (s *MethodParameterLiteralContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitMethodParameterLiteral(s)
}
}
func (s *MethodParameterLiteralContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitMethodParameterLiteral(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) MethodParameterLiteral() (localctx IMethodParameterLiteralContext) {
localctx = NewMethodParameterLiteralContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 48, SmaliParserRULE_methodParameterLiteral)
var _la int
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(762)
_la = p.GetTokenStream().LA(1)
if !(_la == SmaliParserCOMPOUND_METHOD_ARG_LITERAL || _la == SmaliParserIDENTIFIER) {
p.GetErrorHandler().RecoverInline(p)
} else {
p.GetErrorHandler().ReportMatch(p)
p.Consume()
}
}
return localctx
}
// IArrayTypeContext is an interface to support dynamic dispatch.
type IArrayTypeContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsArrayTypeContext differentiates from other interfaces.
IsArrayTypeContext()
}
type ArrayTypeContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyArrayTypeContext() *ArrayTypeContext {
var p = new(ArrayTypeContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_arrayType
return p
}
func (*ArrayTypeContext) IsArrayTypeContext() {}
func NewArrayTypeContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ArrayTypeContext {
var p = new(ArrayTypeContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_arrayType
return p
}
func (s *ArrayTypeContext) GetParser() antlr.Parser { return s.parser }
func (s *ArrayTypeContext) LBRACK() antlr.TerminalNode {
return s.GetToken(SmaliParserLBRACK, 0)
}
func (s *ArrayTypeContext) NonArrayType() INonArrayTypeContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*INonArrayTypeContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(INonArrayTypeContext)
}
func (s *ArrayTypeContext) ArrayType() IArrayTypeContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IArrayTypeContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IArrayTypeContext)
}
func (s *ArrayTypeContext) MethodParameterLiteral() IMethodParameterLiteralContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IMethodParameterLiteralContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IMethodParameterLiteralContext)
}
func (s *ArrayTypeContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *ArrayTypeContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *ArrayTypeContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterArrayType(s)
}
}
func (s *ArrayTypeContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitArrayType(s)
}
}
func (s *ArrayTypeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitArrayType(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) ArrayType() (localctx IArrayTypeContext) {
localctx = NewArrayTypeContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 50, SmaliParserRULE_arrayType)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(764)
p.Match(SmaliParserLBRACK)
}
p.SetState(768)
p.GetErrorHandler().Sync(p)
switch p.GetTokenStream().LA(1) {
case SmaliParserQUALIFIED_TYPE_NAME, SmaliParserBOOLEAN_TYPE, SmaliParserBYTE_TYPE, SmaliParserSHORT_TYPE, SmaliParserCHAR_TYPE, SmaliParserINT_TYPE, SmaliParserLONG_TYPE, SmaliParserFLOAT_TYPE, SmaliParserDOUBLE_TYPE:
{
p.SetState(765)
p.NonArrayType()
}
case SmaliParserLBRACK:
{
p.SetState(766)
p.ArrayType()
}
case SmaliParserCOMPOUND_METHOD_ARG_LITERAL, SmaliParserIDENTIFIER:
{
p.SetState(767)
p.MethodParameterLiteral()
}
default:
panic(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil))
}
return localctx
}
// IReferenceOrArrayTypeContext is an interface to support dynamic dispatch.
type IReferenceOrArrayTypeContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsReferenceOrArrayTypeContext differentiates from other interfaces.
IsReferenceOrArrayTypeContext()
}
type ReferenceOrArrayTypeContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyReferenceOrArrayTypeContext() *ReferenceOrArrayTypeContext {
var p = new(ReferenceOrArrayTypeContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_referenceOrArrayType
return p
}
func (*ReferenceOrArrayTypeContext) IsReferenceOrArrayTypeContext() {}
func NewReferenceOrArrayTypeContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ReferenceOrArrayTypeContext {
var p = new(ReferenceOrArrayTypeContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_referenceOrArrayType
return p
}
func (s *ReferenceOrArrayTypeContext) GetParser() antlr.Parser { return s.parser }
func (s *ReferenceOrArrayTypeContext) ReferenceType() IReferenceTypeContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IReferenceTypeContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IReferenceTypeContext)
}
func (s *ReferenceOrArrayTypeContext) ArrayType() IArrayTypeContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IArrayTypeContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IArrayTypeContext)
}
func (s *ReferenceOrArrayTypeContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *ReferenceOrArrayTypeContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *ReferenceOrArrayTypeContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterReferenceOrArrayType(s)
}
}
func (s *ReferenceOrArrayTypeContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitReferenceOrArrayType(s)
}
}
func (s *ReferenceOrArrayTypeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitReferenceOrArrayType(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) ReferenceOrArrayType() (localctx IReferenceOrArrayTypeContext) {
localctx = NewReferenceOrArrayTypeContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 52, SmaliParserRULE_referenceOrArrayType)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.SetState(772)
p.GetErrorHandler().Sync(p)
switch p.GetTokenStream().LA(1) {
case SmaliParserQUALIFIED_TYPE_NAME:
p.EnterOuterAlt(localctx, 1)
{
p.SetState(770)
p.ReferenceType()
}
case SmaliParserLBRACK:
p.EnterOuterAlt(localctx, 2)
{
p.SetState(771)
p.ArrayType()
}
default:
panic(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil))
}
return localctx
}
// INonVoidTypeContext is an interface to support dynamic dispatch.
type INonVoidTypeContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsNonVoidTypeContext differentiates from other interfaces.
IsNonVoidTypeContext()
}
type NonVoidTypeContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyNonVoidTypeContext() *NonVoidTypeContext {
var p = new(NonVoidTypeContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_nonVoidType
return p
}
func (*NonVoidTypeContext) IsNonVoidTypeContext() {}
func NewNonVoidTypeContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *NonVoidTypeContext {
var p = new(NonVoidTypeContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_nonVoidType
return p
}
func (s *NonVoidTypeContext) GetParser() antlr.Parser { return s.parser }
func (s *NonVoidTypeContext) NonArrayType() INonArrayTypeContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*INonArrayTypeContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(INonArrayTypeContext)
}
func (s *NonVoidTypeContext) ArrayType() IArrayTypeContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IArrayTypeContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IArrayTypeContext)
}
func (s *NonVoidTypeContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *NonVoidTypeContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *NonVoidTypeContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterNonVoidType(s)
}
}
func (s *NonVoidTypeContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitNonVoidType(s)
}
}
func (s *NonVoidTypeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitNonVoidType(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) NonVoidType() (localctx INonVoidTypeContext) {
localctx = NewNonVoidTypeContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 54, SmaliParserRULE_nonVoidType)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.SetState(776)
p.GetErrorHandler().Sync(p)
switch p.GetTokenStream().LA(1) {
case SmaliParserQUALIFIED_TYPE_NAME, SmaliParserBOOLEAN_TYPE, SmaliParserBYTE_TYPE, SmaliParserSHORT_TYPE, SmaliParserCHAR_TYPE, SmaliParserINT_TYPE, SmaliParserLONG_TYPE, SmaliParserFLOAT_TYPE, SmaliParserDOUBLE_TYPE:
p.EnterOuterAlt(localctx, 1)
{
p.SetState(774)
p.NonArrayType()
}
case SmaliParserLBRACK:
p.EnterOuterAlt(localctx, 2)
{
p.SetState(775)
p.ArrayType()
}
default:
panic(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil))
}
return localctx
}
// IAnyTypeContext is an interface to support dynamic dispatch.
type IAnyTypeContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsAnyTypeContext differentiates from other interfaces.
IsAnyTypeContext()
}
type AnyTypeContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyAnyTypeContext() *AnyTypeContext {
var p = new(AnyTypeContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_anyType
return p
}
func (*AnyTypeContext) IsAnyTypeContext() {}
func NewAnyTypeContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *AnyTypeContext {
var p = new(AnyTypeContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_anyType
return p
}
func (s *AnyTypeContext) GetParser() antlr.Parser { return s.parser }
func (s *AnyTypeContext) NonVoidType() INonVoidTypeContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*INonVoidTypeContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(INonVoidTypeContext)
}
func (s *AnyTypeContext) VoidType() IVoidTypeContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IVoidTypeContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IVoidTypeContext)
}
func (s *AnyTypeContext) ArrayType() IArrayTypeContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IArrayTypeContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IArrayTypeContext)
}
func (s *AnyTypeContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *AnyTypeContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *AnyTypeContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterAnyType(s)
}
}
func (s *AnyTypeContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitAnyType(s)
}
}
func (s *AnyTypeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitAnyType(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) AnyType() (localctx IAnyTypeContext) {
localctx = NewAnyTypeContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 56, SmaliParserRULE_anyType)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.SetState(781)
p.GetErrorHandler().Sync(p)
switch p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 8, p.GetParserRuleContext()) {
case 1:
p.EnterOuterAlt(localctx, 1)
{
p.SetState(778)
p.NonVoidType()
}
case 2:
p.EnterOuterAlt(localctx, 2)
{
p.SetState(779)
p.VoidType()
}
case 3:
p.EnterOuterAlt(localctx, 3)
{
p.SetState(780)
p.ArrayType()
}
}
return localctx
}
// INullLiteralContext is an interface to support dynamic dispatch.
type INullLiteralContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsNullLiteralContext differentiates from other interfaces.
IsNullLiteralContext()
}
type NullLiteralContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyNullLiteralContext() *NullLiteralContext {
var p = new(NullLiteralContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_nullLiteral
return p
}
func (*NullLiteralContext) IsNullLiteralContext() {}
func NewNullLiteralContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *NullLiteralContext {
var p = new(NullLiteralContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_nullLiteral
return p
}
func (s *NullLiteralContext) GetParser() antlr.Parser { return s.parser }
func (s *NullLiteralContext) NULL_LITERAL() antlr.TerminalNode {
return s.GetToken(SmaliParserNULL_LITERAL, 0)
}
func (s *NullLiteralContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *NullLiteralContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *NullLiteralContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterNullLiteral(s)
}
}
func (s *NullLiteralContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitNullLiteral(s)
}
}
func (s *NullLiteralContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitNullLiteral(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) NullLiteral() (localctx INullLiteralContext) {
localctx = NewNullLiteralContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 58, SmaliParserRULE_nullLiteral)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(783)
p.Match(SmaliParserNULL_LITERAL)
}
return localctx
}
// IBooleanLiteralContext is an interface to support dynamic dispatch.
type IBooleanLiteralContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsBooleanLiteralContext differentiates from other interfaces.
IsBooleanLiteralContext()
}
type BooleanLiteralContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyBooleanLiteralContext() *BooleanLiteralContext {
var p = new(BooleanLiteralContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_booleanLiteral
return p
}
func (*BooleanLiteralContext) IsBooleanLiteralContext() {}
func NewBooleanLiteralContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *BooleanLiteralContext {
var p = new(BooleanLiteralContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_booleanLiteral
return p
}
func (s *BooleanLiteralContext) GetParser() antlr.Parser { return s.parser }
func (s *BooleanLiteralContext) BOOL_LITERAL() antlr.TerminalNode {
return s.GetToken(SmaliParserBOOL_LITERAL, 0)
}
func (s *BooleanLiteralContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *BooleanLiteralContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *BooleanLiteralContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterBooleanLiteral(s)
}
}
func (s *BooleanLiteralContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitBooleanLiteral(s)
}
}
func (s *BooleanLiteralContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitBooleanLiteral(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) BooleanLiteral() (localctx IBooleanLiteralContext) {
localctx = NewBooleanLiteralContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 60, SmaliParserRULE_booleanLiteral)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(785)
p.Match(SmaliParserBOOL_LITERAL)
}
return localctx
}
// IAssignableValueContext is an interface to support dynamic dispatch.
type IAssignableValueContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsAssignableValueContext differentiates from other interfaces.
IsAssignableValueContext()
}
type AssignableValueContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyAssignableValueContext() *AssignableValueContext {
var p = new(AssignableValueContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_assignableValue
return p
}
func (*AssignableValueContext) IsAssignableValueContext() {}
func NewAssignableValueContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *AssignableValueContext {
var p = new(AssignableValueContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_assignableValue
return p
}
func (s *AssignableValueContext) GetParser() antlr.Parser { return s.parser }
func (s *AssignableValueContext) AnyType() IAnyTypeContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IAnyTypeContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IAnyTypeContext)
}
func (s *AssignableValueContext) StringLiteral() IStringLiteralContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IStringLiteralContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IStringLiteralContext)
}
func (s *AssignableValueContext) NumericLiteral() INumericLiteralContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*INumericLiteralContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(INumericLiteralContext)
}
func (s *AssignableValueContext) NullLiteral() INullLiteralContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*INullLiteralContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(INullLiteralContext)
}
func (s *AssignableValueContext) BooleanLiteral() IBooleanLiteralContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IBooleanLiteralContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IBooleanLiteralContext)
}
func (s *AssignableValueContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *AssignableValueContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *AssignableValueContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterAssignableValue(s)
}
}
func (s *AssignableValueContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitAssignableValue(s)
}
}
func (s *AssignableValueContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitAssignableValue(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) AssignableValue() (localctx IAssignableValueContext) {
localctx = NewAssignableValueContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 62, SmaliParserRULE_assignableValue)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.SetState(792)
p.GetErrorHandler().Sync(p)
switch p.GetTokenStream().LA(1) {
case SmaliParserQUALIFIED_TYPE_NAME, SmaliParserVOID_TYPE, SmaliParserBOOLEAN_TYPE, SmaliParserBYTE_TYPE, SmaliParserSHORT_TYPE, SmaliParserCHAR_TYPE, SmaliParserINT_TYPE, SmaliParserLONG_TYPE, SmaliParserFLOAT_TYPE, SmaliParserDOUBLE_TYPE, SmaliParserLBRACK:
p.EnterOuterAlt(localctx, 1)
{
p.SetState(787)
p.AnyType()
}
case SmaliParserSTRING_LITERAL:
p.EnterOuterAlt(localctx, 2)
{
p.SetState(788)
p.StringLiteral()
}
case SmaliParserSUB, SmaliParserDECIMAL_LITERAL, SmaliParserHEX_LITERAL, SmaliParserOCT_LITERAL, SmaliParserBINARY_LITERAL, SmaliParserFLOAT_LITERAL, SmaliParserHEX_FLOAT_LITERAL:
p.EnterOuterAlt(localctx, 3)
{
p.SetState(789)
p.NumericLiteral()
}
case SmaliParserNULL_LITERAL:
p.EnterOuterAlt(localctx, 4)
{
p.SetState(790)
p.NullLiteral()
}
case SmaliParserBOOL_LITERAL:
p.EnterOuterAlt(localctx, 5)
{
p.SetState(791)
p.BooleanLiteral()
}
default:
panic(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil))
}
return localctx
}
// IClassModifierContext is an interface to support dynamic dispatch.
type IClassModifierContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsClassModifierContext differentiates from other interfaces.
IsClassModifierContext()
}
type ClassModifierContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyClassModifierContext() *ClassModifierContext {
var p = new(ClassModifierContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_classModifier
return p
}
func (*ClassModifierContext) IsClassModifierContext() {}
func NewClassModifierContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ClassModifierContext {
var p = new(ClassModifierContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_classModifier
return p
}
func (s *ClassModifierContext) GetParser() antlr.Parser { return s.parser }
func (s *ClassModifierContext) PUBLIC() antlr.TerminalNode {
return s.GetToken(SmaliParserPUBLIC, 0)
}
func (s *ClassModifierContext) PRIVATE() antlr.TerminalNode {
return s.GetToken(SmaliParserPRIVATE, 0)
}
func (s *ClassModifierContext) PROTECTED() antlr.TerminalNode {
return s.GetToken(SmaliParserPROTECTED, 0)
}
func (s *ClassModifierContext) FINAL() antlr.TerminalNode {
return s.GetToken(SmaliParserFINAL, 0)
}
func (s *ClassModifierContext) ANNOTATION() antlr.TerminalNode {
return s.GetToken(SmaliParserANNOTATION, 0)
}
func (s *ClassModifierContext) SYNTHETIC() antlr.TerminalNode {
return s.GetToken(SmaliParserSYNTHETIC, 0)
}
func (s *ClassModifierContext) STATIC() antlr.TerminalNode {
return s.GetToken(SmaliParserSTATIC, 0)
}
func (s *ClassModifierContext) ABSTRACT() antlr.TerminalNode {
return s.GetToken(SmaliParserABSTRACT, 0)
}
func (s *ClassModifierContext) ENUM() antlr.TerminalNode {
return s.GetToken(SmaliParserENUM, 0)
}
func (s *ClassModifierContext) INTERFACE() antlr.TerminalNode {
return s.GetToken(SmaliParserINTERFACE, 0)
}
func (s *ClassModifierContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *ClassModifierContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *ClassModifierContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterClassModifier(s)
}
}
func (s *ClassModifierContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitClassModifier(s)
}
}
func (s *ClassModifierContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitClassModifier(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) ClassModifier() (localctx IClassModifierContext) {
localctx = NewClassModifierContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 64, SmaliParserRULE_classModifier)
var _la int
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(794)
_la = p.GetTokenStream().LA(1)
if !(((_la-52)&-(0x1f+1)) == 0 && ((1<<uint((_la-52)))&((1<<(SmaliParserPUBLIC-52))|(1<<(SmaliParserPRIVATE-52))|(1<<(SmaliParserPROTECTED-52))|(1<<(SmaliParserFINAL-52))|(1<<(SmaliParserANNOTATION-52))|(1<<(SmaliParserSTATIC-52))|(1<<(SmaliParserSYNTHETIC-52))|(1<<(SmaliParserABSTRACT-52))|(1<<(SmaliParserENUM-52))|(1<<(SmaliParserINTERFACE-52)))) != 0) {
p.GetErrorHandler().RecoverInline(p)
} else {
p.GetErrorHandler().ReportMatch(p)
p.Consume()
}
}
return localctx
}
// IMethodModifierContext is an interface to support dynamic dispatch.
type IMethodModifierContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsMethodModifierContext differentiates from other interfaces.
IsMethodModifierContext()
}
type MethodModifierContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyMethodModifierContext() *MethodModifierContext {
var p = new(MethodModifierContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_methodModifier
return p
}
func (*MethodModifierContext) IsMethodModifierContext() {}
func NewMethodModifierContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *MethodModifierContext {
var p = new(MethodModifierContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_methodModifier
return p
}
func (s *MethodModifierContext) GetParser() antlr.Parser { return s.parser }
func (s *MethodModifierContext) PUBLIC() antlr.TerminalNode {
return s.GetToken(SmaliParserPUBLIC, 0)
}
func (s *MethodModifierContext) PRIVATE() antlr.TerminalNode {
return s.GetToken(SmaliParserPRIVATE, 0)
}
func (s *MethodModifierContext) PROTECTED() antlr.TerminalNode {
return s.GetToken(SmaliParserPROTECTED, 0)
}
func (s *MethodModifierContext) FINAL() antlr.TerminalNode {
return s.GetToken(SmaliParserFINAL, 0)
}
func (s *MethodModifierContext) SYNTHETIC() antlr.TerminalNode {
return s.GetToken(SmaliParserSYNTHETIC, 0)
}
func (s *MethodModifierContext) STATIC() antlr.TerminalNode {
return s.GetToken(SmaliParserSTATIC, 0)
}
func (s *MethodModifierContext) ABSTRACT() antlr.TerminalNode {
return s.GetToken(SmaliParserABSTRACT, 0)
}
func (s *MethodModifierContext) CONSTRUCTOR() antlr.TerminalNode {
return s.GetToken(SmaliParserCONSTRUCTOR, 0)
}
func (s *MethodModifierContext) BRIDGE() antlr.TerminalNode {
return s.GetToken(SmaliParserBRIDGE, 0)
}
func (s *MethodModifierContext) DECLARED_SYNCHRONIZED() antlr.TerminalNode {
return s.GetToken(SmaliParserDECLARED_SYNCHRONIZED, 0)
}
func (s *MethodModifierContext) STRICTFP() antlr.TerminalNode {
return s.GetToken(SmaliParserSTRICTFP, 0)
}
func (s *MethodModifierContext) VARARGS() antlr.TerminalNode {
return s.GetToken(SmaliParserVARARGS, 0)
}
func (s *MethodModifierContext) NATIVE() antlr.TerminalNode {
return s.GetToken(SmaliParserNATIVE, 0)
}
func (s *MethodModifierContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *MethodModifierContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *MethodModifierContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterMethodModifier(s)
}
}
func (s *MethodModifierContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitMethodModifier(s)
}
}
func (s *MethodModifierContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitMethodModifier(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) MethodModifier() (localctx IMethodModifierContext) {
localctx = NewMethodModifierContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 66, SmaliParserRULE_methodModifier)
var _la int
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(796)
_la = p.GetTokenStream().LA(1)
if !(((_la-52)&-(0x1f+1)) == 0 && ((1<<uint((_la-52)))&((1<<(SmaliParserPUBLIC-52))|(1<<(SmaliParserPRIVATE-52))|(1<<(SmaliParserPROTECTED-52))|(1<<(SmaliParserFINAL-52))|(1<<(SmaliParserSTATIC-52))|(1<<(SmaliParserSYNTHETIC-52))|(1<<(SmaliParserCONSTRUCTOR-52))|(1<<(SmaliParserABSTRACT-52))|(1<<(SmaliParserBRIDGE-52))|(1<<(SmaliParserDECLARED_SYNCHRONIZED-52))|(1<<(SmaliParserSTRICTFP-52))|(1<<(SmaliParserVARARGS-52))|(1<<(SmaliParserNATIVE-52)))) != 0) {
p.GetErrorHandler().RecoverInline(p)
} else {
p.GetErrorHandler().ReportMatch(p)
p.Consume()
}
}
return localctx
}
// IFieldModifierContext is an interface to support dynamic dispatch.
type IFieldModifierContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsFieldModifierContext differentiates from other interfaces.
IsFieldModifierContext()
}
type FieldModifierContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyFieldModifierContext() *FieldModifierContext {
var p = new(FieldModifierContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_fieldModifier
return p
}
func (*FieldModifierContext) IsFieldModifierContext() {}
func NewFieldModifierContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *FieldModifierContext {
var p = new(FieldModifierContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_fieldModifier
return p
}
func (s *FieldModifierContext) GetParser() antlr.Parser { return s.parser }
func (s *FieldModifierContext) PUBLIC() antlr.TerminalNode {
return s.GetToken(SmaliParserPUBLIC, 0)
}
func (s *FieldModifierContext) PRIVATE() antlr.TerminalNode {
return s.GetToken(SmaliParserPRIVATE, 0)
}
func (s *FieldModifierContext) PROTECTED() antlr.TerminalNode {
return s.GetToken(SmaliParserPROTECTED, 0)
}
func (s *FieldModifierContext) FINAL() antlr.TerminalNode {
return s.GetToken(SmaliParserFINAL, 0)
}
func (s *FieldModifierContext) SYNTHETIC() antlr.TerminalNode {
return s.GetToken(SmaliParserSYNTHETIC, 0)
}
func (s *FieldModifierContext) STATIC() antlr.TerminalNode {
return s.GetToken(SmaliParserSTATIC, 0)
}
func (s *FieldModifierContext) TRANSIENT() antlr.TerminalNode {
return s.GetToken(SmaliParserTRANSIENT, 0)
}
func (s *FieldModifierContext) VOLATILE() antlr.TerminalNode {
return s.GetToken(SmaliParserVOLATILE, 0)
}
func (s *FieldModifierContext) ENUM() antlr.TerminalNode {
return s.GetToken(SmaliParserENUM, 0)
}
func (s *FieldModifierContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *FieldModifierContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *FieldModifierContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterFieldModifier(s)
}
}
func (s *FieldModifierContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitFieldModifier(s)
}
}
func (s *FieldModifierContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitFieldModifier(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) FieldModifier() (localctx IFieldModifierContext) {
localctx = NewFieldModifierContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 68, SmaliParserRULE_fieldModifier)
var _la int
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(798)
_la = p.GetTokenStream().LA(1)
if !(((_la-52)&-(0x1f+1)) == 0 && ((1<<uint((_la-52)))&((1<<(SmaliParserPUBLIC-52))|(1<<(SmaliParserPRIVATE-52))|(1<<(SmaliParserPROTECTED-52))|(1<<(SmaliParserFINAL-52))|(1<<(SmaliParserSTATIC-52))|(1<<(SmaliParserSYNTHETIC-52))|(1<<(SmaliParserENUM-52))|(1<<(SmaliParserTRANSIENT-52))|(1<<(SmaliParserVOLATILE-52)))) != 0) {
p.GetErrorHandler().RecoverInline(p)
} else {
p.GetErrorHandler().ReportMatch(p)
p.Consume()
}
}
return localctx
}
// ILabelNameContext is an interface to support dynamic dispatch.
type ILabelNameContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsLabelNameContext differentiates from other interfaces.
IsLabelNameContext()
}
type LabelNameContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyLabelNameContext() *LabelNameContext {
var p = new(LabelNameContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_labelName
return p
}
func (*LabelNameContext) IsLabelNameContext() {}
func NewLabelNameContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *LabelNameContext {
var p = new(LabelNameContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_labelName
return p
}
func (s *LabelNameContext) GetParser() antlr.Parser { return s.parser }
func (s *LabelNameContext) Identifier() IIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IIdentifierContext)
}
func (s *LabelNameContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *LabelNameContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *LabelNameContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterLabelName(s)
}
}
func (s *LabelNameContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitLabelName(s)
}
}
func (s *LabelNameContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitLabelName(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) LabelName() (localctx ILabelNameContext) {
localctx = NewLabelNameContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 70, SmaliParserRULE_labelName)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(800)
p.Identifier()
}
return localctx
}
// ILabelContext is an interface to support dynamic dispatch.
type ILabelContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsLabelContext differentiates from other interfaces.
IsLabelContext()
}
type LabelContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyLabelContext() *LabelContext {
var p = new(LabelContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_label
return p
}
func (*LabelContext) IsLabelContext() {}
func NewLabelContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *LabelContext {
var p = new(LabelContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_label
return p
}
func (s *LabelContext) GetParser() antlr.Parser { return s.parser }
func (s *LabelContext) COLON() antlr.TerminalNode {
return s.GetToken(SmaliParserCOLON, 0)
}
func (s *LabelContext) LabelName() ILabelNameContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILabelNameContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILabelNameContext)
}
func (s *LabelContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *LabelContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *LabelContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterLabel(s)
}
}
func (s *LabelContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitLabel(s)
}
}
func (s *LabelContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitLabel(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) Label() (localctx ILabelContext) {
localctx = NewLabelContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 72, SmaliParserRULE_label)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(802)
p.Match(SmaliParserCOLON)
}
{
p.SetState(803)
p.LabelName()
}
return localctx
}
// ILeftRegisterContext is an interface to support dynamic dispatch.
type ILeftRegisterContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsLeftRegisterContext differentiates from other interfaces.
IsLeftRegisterContext()
}
type LeftRegisterContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyLeftRegisterContext() *LeftRegisterContext {
var p = new(LeftRegisterContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_leftRegister
return p
}
func (*LeftRegisterContext) IsLeftRegisterContext() {}
func NewLeftRegisterContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *LeftRegisterContext {
var p = new(LeftRegisterContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_leftRegister
return p
}
func (s *LeftRegisterContext) GetParser() antlr.Parser { return s.parser }
func (s *LeftRegisterContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *LeftRegisterContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *LeftRegisterContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *LeftRegisterContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterLeftRegister(s)
}
}
func (s *LeftRegisterContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitLeftRegister(s)
}
}
func (s *LeftRegisterContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitLeftRegister(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) LeftRegister() (localctx ILeftRegisterContext) {
localctx = NewLeftRegisterContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 74, SmaliParserRULE_leftRegister)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(805)
p.RegisterIdentifier()
}
return localctx
}
// IRightRegisterContext is an interface to support dynamic dispatch.
type IRightRegisterContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsRightRegisterContext differentiates from other interfaces.
IsRightRegisterContext()
}
type RightRegisterContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyRightRegisterContext() *RightRegisterContext {
var p = new(RightRegisterContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_rightRegister
return p
}
func (*RightRegisterContext) IsRightRegisterContext() {}
func NewRightRegisterContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *RightRegisterContext {
var p = new(RightRegisterContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_rightRegister
return p
}
func (s *RightRegisterContext) GetParser() antlr.Parser { return s.parser }
func (s *RightRegisterContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *RightRegisterContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *RightRegisterContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *RightRegisterContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterRightRegister(s)
}
}
func (s *RightRegisterContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitRightRegister(s)
}
}
func (s *RightRegisterContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitRightRegister(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) RightRegister() (localctx IRightRegisterContext) {
localctx = NewRightRegisterContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 76, SmaliParserRULE_rightRegister)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(807)
p.RegisterIdentifier()
}
return localctx
}
// IRegisterListRegistersContext is an interface to support dynamic dispatch.
type IRegisterListRegistersContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsRegisterListRegistersContext differentiates from other interfaces.
IsRegisterListRegistersContext()
}
type RegisterListRegistersContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyRegisterListRegistersContext() *RegisterListRegistersContext {
var p = new(RegisterListRegistersContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_registerListRegisters
return p
}
func (*RegisterListRegistersContext) IsRegisterListRegistersContext() {}
func NewRegisterListRegistersContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *RegisterListRegistersContext {
var p = new(RegisterListRegistersContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_registerListRegisters
return p
}
func (s *RegisterListRegistersContext) GetParser() antlr.Parser { return s.parser }
func (s *RegisterListRegistersContext) AllRegisterIdentifier() []IRegisterIdentifierContext {
var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem())
var tst = make([]IRegisterIdentifierContext, len(ts))
for i, t := range ts {
if t != nil {
tst[i] = t.(IRegisterIdentifierContext)
}
}
return tst
}
func (s *RegisterListRegistersContext) RegisterIdentifier(i int) IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), i)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *RegisterListRegistersContext) AllCOMMA() []antlr.TerminalNode {
return s.GetTokens(SmaliParserCOMMA)
}
func (s *RegisterListRegistersContext) COMMA(i int) antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, i)
}
func (s *RegisterListRegistersContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *RegisterListRegistersContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *RegisterListRegistersContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterRegisterListRegisters(s)
}
}
func (s *RegisterListRegistersContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitRegisterListRegisters(s)
}
}
func (s *RegisterListRegistersContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitRegisterListRegisters(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) RegisterListRegisters() (localctx IRegisterListRegistersContext) {
localctx = NewRegisterListRegistersContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 78, SmaliParserRULE_registerListRegisters)
var _la int
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(809)
p.RegisterIdentifier()
}
p.SetState(814)
p.GetErrorHandler().Sync(p)
_la = p.GetTokenStream().LA(1)
for _la == SmaliParserCOMMA {
{
p.SetState(810)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(811)
p.RegisterIdentifier()
}
p.SetState(816)
p.GetErrorHandler().Sync(p)
_la = p.GetTokenStream().LA(1)
}
return localctx
}
// IRegisterRangeContext is an interface to support dynamic dispatch.
type IRegisterRangeContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsRegisterRangeContext differentiates from other interfaces.
IsRegisterRangeContext()
}
type RegisterRangeContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyRegisterRangeContext() *RegisterRangeContext {
var p = new(RegisterRangeContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_registerRange
return p
}
func (*RegisterRangeContext) IsRegisterRangeContext() {}
func NewRegisterRangeContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *RegisterRangeContext {
var p = new(RegisterRangeContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_registerRange
return p
}
func (s *RegisterRangeContext) GetParser() antlr.Parser { return s.parser }
func (s *RegisterRangeContext) LBRACE() antlr.TerminalNode {
return s.GetToken(SmaliParserLBRACE, 0)
}
func (s *RegisterRangeContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *RegisterRangeContext) AllDOT() []antlr.TerminalNode {
return s.GetTokens(SmaliParserDOT)
}
func (s *RegisterRangeContext) DOT(i int) antlr.TerminalNode {
return s.GetToken(SmaliParserDOT, i)
}
func (s *RegisterRangeContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *RegisterRangeContext) RBRACE() antlr.TerminalNode {
return s.GetToken(SmaliParserRBRACE, 0)
}
func (s *RegisterRangeContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *RegisterRangeContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *RegisterRangeContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterRegisterRange(s)
}
}
func (s *RegisterRangeContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitRegisterRange(s)
}
}
func (s *RegisterRangeContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitRegisterRange(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) RegisterRange() (localctx IRegisterRangeContext) {
localctx = NewRegisterRangeContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 80, SmaliParserRULE_registerRange)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(817)
p.Match(SmaliParserLBRACE)
}
{
p.SetState(818)
p.LeftRegister()
}
{
p.SetState(819)
p.Match(SmaliParserDOT)
}
{
p.SetState(820)
p.Match(SmaliParserDOT)
}
{
p.SetState(821)
p.RightRegister()
}
{
p.SetState(822)
p.Match(SmaliParserRBRACE)
}
return localctx
}
// IRegisterListContext is an interface to support dynamic dispatch.
type IRegisterListContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsRegisterListContext differentiates from other interfaces.
IsRegisterListContext()
}
type RegisterListContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyRegisterListContext() *RegisterListContext {
var p = new(RegisterListContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_registerList
return p
}
func (*RegisterListContext) IsRegisterListContext() {}
func NewRegisterListContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *RegisterListContext {
var p = new(RegisterListContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_registerList
return p
}
func (s *RegisterListContext) GetParser() antlr.Parser { return s.parser }
func (s *RegisterListContext) LBRACE() antlr.TerminalNode {
return s.GetToken(SmaliParserLBRACE, 0)
}
func (s *RegisterListContext) RBRACE() antlr.TerminalNode {
return s.GetToken(SmaliParserRBRACE, 0)
}
func (s *RegisterListContext) RegisterListRegisters() IRegisterListRegistersContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterListRegistersContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterListRegistersContext)
}
func (s *RegisterListContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *RegisterListContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *RegisterListContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterRegisterList(s)
}
}
func (s *RegisterListContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitRegisterList(s)
}
}
func (s *RegisterListContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitRegisterList(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) RegisterList() (localctx IRegisterListContext) {
localctx = NewRegisterListContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 82, SmaliParserRULE_registerList)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.SetState(830)
p.GetErrorHandler().Sync(p)
switch p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 11, p.GetParserRuleContext()) {
case 1:
p.EnterOuterAlt(localctx, 1)
{
p.SetState(824)
p.Match(SmaliParserLBRACE)
}
{
p.SetState(825)
p.Match(SmaliParserRBRACE)
}
case 2:
p.EnterOuterAlt(localctx, 2)
{
p.SetState(826)
p.Match(SmaliParserLBRACE)
}
{
p.SetState(827)
p.RegisterListRegisters()
}
{
p.SetState(828)
p.Match(SmaliParserRBRACE)
}
}
return localctx
}
// IGotoInstructionContext is an interface to support dynamic dispatch.
type IGotoInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsGotoInstructionContext differentiates from other interfaces.
IsGotoInstructionContext()
}
type GotoInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyGotoInstructionContext() *GotoInstructionContext {
var p = new(GotoInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_gotoInstruction
return p
}
func (*GotoInstructionContext) IsGotoInstructionContext() {}
func NewGotoInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *GotoInstructionContext {
var p = new(GotoInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_gotoInstruction
return p
}
func (s *GotoInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *GotoInstructionContext) OP_GOTO() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_GOTO, 0)
}
func (s *GotoInstructionContext) Label() ILabelContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILabelContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILabelContext)
}
func (s *GotoInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *GotoInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *GotoInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterGotoInstruction(s)
}
}
func (s *GotoInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitGotoInstruction(s)
}
}
func (s *GotoInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitGotoInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) GotoInstruction() (localctx IGotoInstructionContext) {
localctx = NewGotoInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 84, SmaliParserRULE_gotoInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(832)
p.Match(SmaliParserOP_GOTO)
}
{
p.SetState(833)
p.Label()
}
return localctx
}
// IGoto16InstructionContext is an interface to support dynamic dispatch.
type IGoto16InstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsGoto16InstructionContext differentiates from other interfaces.
IsGoto16InstructionContext()
}
type Goto16InstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyGoto16InstructionContext() *Goto16InstructionContext {
var p = new(Goto16InstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_goto16Instruction
return p
}
func (*Goto16InstructionContext) IsGoto16InstructionContext() {}
func NewGoto16InstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Goto16InstructionContext {
var p = new(Goto16InstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_goto16Instruction
return p
}
func (s *Goto16InstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *Goto16InstructionContext) OP_GOTO_16() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_GOTO_16, 0)
}
func (s *Goto16InstructionContext) Label() ILabelContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILabelContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILabelContext)
}
func (s *Goto16InstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *Goto16InstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *Goto16InstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterGoto16Instruction(s)
}
}
func (s *Goto16InstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitGoto16Instruction(s)
}
}
func (s *Goto16InstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitGoto16Instruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) Goto16Instruction() (localctx IGoto16InstructionContext) {
localctx = NewGoto16InstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 86, SmaliParserRULE_goto16Instruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(835)
p.Match(SmaliParserOP_GOTO_16)
}
{
p.SetState(836)
p.Label()
}
return localctx
}
// IGoto32InstructionContext is an interface to support dynamic dispatch.
type IGoto32InstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsGoto32InstructionContext differentiates from other interfaces.
IsGoto32InstructionContext()
}
type Goto32InstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyGoto32InstructionContext() *Goto32InstructionContext {
var p = new(Goto32InstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_goto32Instruction
return p
}
func (*Goto32InstructionContext) IsGoto32InstructionContext() {}
func NewGoto32InstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Goto32InstructionContext {
var p = new(Goto32InstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_goto32Instruction
return p
}
func (s *Goto32InstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *Goto32InstructionContext) OP_GOTO_32() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_GOTO_32, 0)
}
func (s *Goto32InstructionContext) Label() ILabelContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILabelContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILabelContext)
}
func (s *Goto32InstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *Goto32InstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *Goto32InstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterGoto32Instruction(s)
}
}
func (s *Goto32InstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitGoto32Instruction(s)
}
}
func (s *Goto32InstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitGoto32Instruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) Goto32Instruction() (localctx IGoto32InstructionContext) {
localctx = NewGoto32InstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 88, SmaliParserRULE_goto32Instruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(838)
p.Match(SmaliParserOP_GOTO_32)
}
{
p.SetState(839)
p.Label()
}
return localctx
}
// IMoveResultInstructionContext is an interface to support dynamic dispatch.
type IMoveResultInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsMoveResultInstructionContext differentiates from other interfaces.
IsMoveResultInstructionContext()
}
type MoveResultInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyMoveResultInstructionContext() *MoveResultInstructionContext {
var p = new(MoveResultInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_moveResultInstruction
return p
}
func (*MoveResultInstructionContext) IsMoveResultInstructionContext() {}
func NewMoveResultInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *MoveResultInstructionContext {
var p = new(MoveResultInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_moveResultInstruction
return p
}
func (s *MoveResultInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *MoveResultInstructionContext) OP_MOVE_RESULT() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_MOVE_RESULT, 0)
}
func (s *MoveResultInstructionContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *MoveResultInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *MoveResultInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *MoveResultInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterMoveResultInstruction(s)
}
}
func (s *MoveResultInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitMoveResultInstruction(s)
}
}
func (s *MoveResultInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitMoveResultInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) MoveResultInstruction() (localctx IMoveResultInstructionContext) {
localctx = NewMoveResultInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 90, SmaliParserRULE_moveResultInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(841)
p.Match(SmaliParserOP_MOVE_RESULT)
}
{
p.SetState(842)
p.RegisterIdentifier()
}
return localctx
}
// IMoveResultWideInstructionContext is an interface to support dynamic dispatch.
type IMoveResultWideInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsMoveResultWideInstructionContext differentiates from other interfaces.
IsMoveResultWideInstructionContext()
}
type MoveResultWideInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyMoveResultWideInstructionContext() *MoveResultWideInstructionContext {
var p = new(MoveResultWideInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_moveResultWideInstruction
return p
}
func (*MoveResultWideInstructionContext) IsMoveResultWideInstructionContext() {}
func NewMoveResultWideInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *MoveResultWideInstructionContext {
var p = new(MoveResultWideInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_moveResultWideInstruction
return p
}
func (s *MoveResultWideInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *MoveResultWideInstructionContext) OP_MOVE_RESULT_WIDE() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_MOVE_RESULT_WIDE, 0)
}
func (s *MoveResultWideInstructionContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *MoveResultWideInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *MoveResultWideInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *MoveResultWideInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterMoveResultWideInstruction(s)
}
}
func (s *MoveResultWideInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitMoveResultWideInstruction(s)
}
}
func (s *MoveResultWideInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitMoveResultWideInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) MoveResultWideInstruction() (localctx IMoveResultWideInstructionContext) {
localctx = NewMoveResultWideInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 92, SmaliParserRULE_moveResultWideInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(844)
p.Match(SmaliParserOP_MOVE_RESULT_WIDE)
}
{
p.SetState(845)
p.RegisterIdentifier()
}
return localctx
}
// IMoveResultObjectInstructionContext is an interface to support dynamic dispatch.
type IMoveResultObjectInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsMoveResultObjectInstructionContext differentiates from other interfaces.
IsMoveResultObjectInstructionContext()
}
type MoveResultObjectInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyMoveResultObjectInstructionContext() *MoveResultObjectInstructionContext {
var p = new(MoveResultObjectInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_moveResultObjectInstruction
return p
}
func (*MoveResultObjectInstructionContext) IsMoveResultObjectInstructionContext() {}
func NewMoveResultObjectInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *MoveResultObjectInstructionContext {
var p = new(MoveResultObjectInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_moveResultObjectInstruction
return p
}
func (s *MoveResultObjectInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *MoveResultObjectInstructionContext) OP_MOVE_RESULT_OBJECT() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_MOVE_RESULT_OBJECT, 0)
}
func (s *MoveResultObjectInstructionContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *MoveResultObjectInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *MoveResultObjectInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *MoveResultObjectInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterMoveResultObjectInstruction(s)
}
}
func (s *MoveResultObjectInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitMoveResultObjectInstruction(s)
}
}
func (s *MoveResultObjectInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitMoveResultObjectInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) MoveResultObjectInstruction() (localctx IMoveResultObjectInstructionContext) {
localctx = NewMoveResultObjectInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 94, SmaliParserRULE_moveResultObjectInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(847)
p.Match(SmaliParserOP_MOVE_RESULT_OBJECT)
}
{
p.SetState(848)
p.RegisterIdentifier()
}
return localctx
}
// IMoveExceptionInstructionContext is an interface to support dynamic dispatch.
type IMoveExceptionInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsMoveExceptionInstructionContext differentiates from other interfaces.
IsMoveExceptionInstructionContext()
}
type MoveExceptionInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyMoveExceptionInstructionContext() *MoveExceptionInstructionContext {
var p = new(MoveExceptionInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_moveExceptionInstruction
return p
}
func (*MoveExceptionInstructionContext) IsMoveExceptionInstructionContext() {}
func NewMoveExceptionInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *MoveExceptionInstructionContext {
var p = new(MoveExceptionInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_moveExceptionInstruction
return p
}
func (s *MoveExceptionInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *MoveExceptionInstructionContext) OP_MOVE_EXCEPTION() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_MOVE_EXCEPTION, 0)
}
func (s *MoveExceptionInstructionContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *MoveExceptionInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *MoveExceptionInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *MoveExceptionInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterMoveExceptionInstruction(s)
}
}
func (s *MoveExceptionInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitMoveExceptionInstruction(s)
}
}
func (s *MoveExceptionInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitMoveExceptionInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) MoveExceptionInstruction() (localctx IMoveExceptionInstructionContext) {
localctx = NewMoveExceptionInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 96, SmaliParserRULE_moveExceptionInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(850)
p.Match(SmaliParserOP_MOVE_EXCEPTION)
}
{
p.SetState(851)
p.RegisterIdentifier()
}
return localctx
}
// IReturnInstructionContext is an interface to support dynamic dispatch.
type IReturnInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsReturnInstructionContext differentiates from other interfaces.
IsReturnInstructionContext()
}
type ReturnInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyReturnInstructionContext() *ReturnInstructionContext {
var p = new(ReturnInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_returnInstruction
return p
}
func (*ReturnInstructionContext) IsReturnInstructionContext() {}
func NewReturnInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ReturnInstructionContext {
var p = new(ReturnInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_returnInstruction
return p
}
func (s *ReturnInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *ReturnInstructionContext) OP_RETURN() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_RETURN, 0)
}
func (s *ReturnInstructionContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *ReturnInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *ReturnInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *ReturnInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterReturnInstruction(s)
}
}
func (s *ReturnInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitReturnInstruction(s)
}
}
func (s *ReturnInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitReturnInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) ReturnInstruction() (localctx IReturnInstructionContext) {
localctx = NewReturnInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 98, SmaliParserRULE_returnInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(853)
p.Match(SmaliParserOP_RETURN)
}
{
p.SetState(854)
p.RegisterIdentifier()
}
return localctx
}
// IReturnWideInstructionContext is an interface to support dynamic dispatch.
type IReturnWideInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsReturnWideInstructionContext differentiates from other interfaces.
IsReturnWideInstructionContext()
}
type ReturnWideInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyReturnWideInstructionContext() *ReturnWideInstructionContext {
var p = new(ReturnWideInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_returnWideInstruction
return p
}
func (*ReturnWideInstructionContext) IsReturnWideInstructionContext() {}
func NewReturnWideInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ReturnWideInstructionContext {
var p = new(ReturnWideInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_returnWideInstruction
return p
}
func (s *ReturnWideInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *ReturnWideInstructionContext) OP_RETURN_WIDE() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_RETURN_WIDE, 0)
}
func (s *ReturnWideInstructionContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *ReturnWideInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *ReturnWideInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *ReturnWideInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterReturnWideInstruction(s)
}
}
func (s *ReturnWideInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitReturnWideInstruction(s)
}
}
func (s *ReturnWideInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitReturnWideInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) ReturnWideInstruction() (localctx IReturnWideInstructionContext) {
localctx = NewReturnWideInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 100, SmaliParserRULE_returnWideInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(856)
p.Match(SmaliParserOP_RETURN_WIDE)
}
{
p.SetState(857)
p.RegisterIdentifier()
}
return localctx
}
// IReturnObjectInstructionContext is an interface to support dynamic dispatch.
type IReturnObjectInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsReturnObjectInstructionContext differentiates from other interfaces.
IsReturnObjectInstructionContext()
}
type ReturnObjectInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyReturnObjectInstructionContext() *ReturnObjectInstructionContext {
var p = new(ReturnObjectInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_returnObjectInstruction
return p
}
func (*ReturnObjectInstructionContext) IsReturnObjectInstructionContext() {}
func NewReturnObjectInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ReturnObjectInstructionContext {
var p = new(ReturnObjectInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_returnObjectInstruction
return p
}
func (s *ReturnObjectInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *ReturnObjectInstructionContext) OP_RETURN_OBJECT() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_RETURN_OBJECT, 0)
}
func (s *ReturnObjectInstructionContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *ReturnObjectInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *ReturnObjectInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *ReturnObjectInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterReturnObjectInstruction(s)
}
}
func (s *ReturnObjectInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitReturnObjectInstruction(s)
}
}
func (s *ReturnObjectInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitReturnObjectInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) ReturnObjectInstruction() (localctx IReturnObjectInstructionContext) {
localctx = NewReturnObjectInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 102, SmaliParserRULE_returnObjectInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(859)
p.Match(SmaliParserOP_RETURN_OBJECT)
}
{
p.SetState(860)
p.RegisterIdentifier()
}
return localctx
}
// IMonitorEnterInstructionContext is an interface to support dynamic dispatch.
type IMonitorEnterInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsMonitorEnterInstructionContext differentiates from other interfaces.
IsMonitorEnterInstructionContext()
}
type MonitorEnterInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyMonitorEnterInstructionContext() *MonitorEnterInstructionContext {
var p = new(MonitorEnterInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_monitorEnterInstruction
return p
}
func (*MonitorEnterInstructionContext) IsMonitorEnterInstructionContext() {}
func NewMonitorEnterInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *MonitorEnterInstructionContext {
var p = new(MonitorEnterInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_monitorEnterInstruction
return p
}
func (s *MonitorEnterInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *MonitorEnterInstructionContext) OP_MONITOR_ENTER() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_MONITOR_ENTER, 0)
}
func (s *MonitorEnterInstructionContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *MonitorEnterInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *MonitorEnterInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *MonitorEnterInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterMonitorEnterInstruction(s)
}
}
func (s *MonitorEnterInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitMonitorEnterInstruction(s)
}
}
func (s *MonitorEnterInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitMonitorEnterInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) MonitorEnterInstruction() (localctx IMonitorEnterInstructionContext) {
localctx = NewMonitorEnterInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 104, SmaliParserRULE_monitorEnterInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(862)
p.Match(SmaliParserOP_MONITOR_ENTER)
}
{
p.SetState(863)
p.RegisterIdentifier()
}
return localctx
}
// IMonitorExitInstructionContext is an interface to support dynamic dispatch.
type IMonitorExitInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsMonitorExitInstructionContext differentiates from other interfaces.
IsMonitorExitInstructionContext()
}
type MonitorExitInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyMonitorExitInstructionContext() *MonitorExitInstructionContext {
var p = new(MonitorExitInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_monitorExitInstruction
return p
}
func (*MonitorExitInstructionContext) IsMonitorExitInstructionContext() {}
func NewMonitorExitInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *MonitorExitInstructionContext {
var p = new(MonitorExitInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_monitorExitInstruction
return p
}
func (s *MonitorExitInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *MonitorExitInstructionContext) OP_MONITOR_EXIT() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_MONITOR_EXIT, 0)
}
func (s *MonitorExitInstructionContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *MonitorExitInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *MonitorExitInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *MonitorExitInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterMonitorExitInstruction(s)
}
}
func (s *MonitorExitInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitMonitorExitInstruction(s)
}
}
func (s *MonitorExitInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitMonitorExitInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) MonitorExitInstruction() (localctx IMonitorExitInstructionContext) {
localctx = NewMonitorExitInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 106, SmaliParserRULE_monitorExitInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(865)
p.Match(SmaliParserOP_MONITOR_EXIT)
}
{
p.SetState(866)
p.RegisterIdentifier()
}
return localctx
}
// IThrowInstructionContext is an interface to support dynamic dispatch.
type IThrowInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsThrowInstructionContext differentiates from other interfaces.
IsThrowInstructionContext()
}
type ThrowInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyThrowInstructionContext() *ThrowInstructionContext {
var p = new(ThrowInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_throwInstruction
return p
}
func (*ThrowInstructionContext) IsThrowInstructionContext() {}
func NewThrowInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ThrowInstructionContext {
var p = new(ThrowInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_throwInstruction
return p
}
func (s *ThrowInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *ThrowInstructionContext) OP_THROW() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_THROW, 0)
}
func (s *ThrowInstructionContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *ThrowInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *ThrowInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *ThrowInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterThrowInstruction(s)
}
}
func (s *ThrowInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitThrowInstruction(s)
}
}
func (s *ThrowInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitThrowInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) ThrowInstruction() (localctx IThrowInstructionContext) {
localctx = NewThrowInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 108, SmaliParserRULE_throwInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(868)
p.Match(SmaliParserOP_THROW)
}
{
p.SetState(869)
p.RegisterIdentifier()
}
return localctx
}
// IReturnVoidInstructionContext is an interface to support dynamic dispatch.
type IReturnVoidInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsReturnVoidInstructionContext differentiates from other interfaces.
IsReturnVoidInstructionContext()
}
type ReturnVoidInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyReturnVoidInstructionContext() *ReturnVoidInstructionContext {
var p = new(ReturnVoidInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_returnVoidInstruction
return p
}
func (*ReturnVoidInstructionContext) IsReturnVoidInstructionContext() {}
func NewReturnVoidInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ReturnVoidInstructionContext {
var p = new(ReturnVoidInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_returnVoidInstruction
return p
}
func (s *ReturnVoidInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *ReturnVoidInstructionContext) OP_RETURN_VOID() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_RETURN_VOID, 0)
}
func (s *ReturnVoidInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *ReturnVoidInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *ReturnVoidInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterReturnVoidInstruction(s)
}
}
func (s *ReturnVoidInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitReturnVoidInstruction(s)
}
}
func (s *ReturnVoidInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitReturnVoidInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) ReturnVoidInstruction() (localctx IReturnVoidInstructionContext) {
localctx = NewReturnVoidInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 110, SmaliParserRULE_returnVoidInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(871)
p.Match(SmaliParserOP_RETURN_VOID)
}
return localctx
}
// INopInstructionContext is an interface to support dynamic dispatch.
type INopInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsNopInstructionContext differentiates from other interfaces.
IsNopInstructionContext()
}
type NopInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyNopInstructionContext() *NopInstructionContext {
var p = new(NopInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_nopInstruction
return p
}
func (*NopInstructionContext) IsNopInstructionContext() {}
func NewNopInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *NopInstructionContext {
var p = new(NopInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_nopInstruction
return p
}
func (s *NopInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *NopInstructionContext) OP_NOP() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_NOP, 0)
}
func (s *NopInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *NopInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *NopInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterNopInstruction(s)
}
}
func (s *NopInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitNopInstruction(s)
}
}
func (s *NopInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitNopInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) NopInstruction() (localctx INopInstructionContext) {
localctx = NewNopInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 112, SmaliParserRULE_nopInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(873)
p.Match(SmaliParserOP_NOP)
}
return localctx
}
// IMoveInstructionContext is an interface to support dynamic dispatch.
type IMoveInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsMoveInstructionContext differentiates from other interfaces.
IsMoveInstructionContext()
}
type MoveInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyMoveInstructionContext() *MoveInstructionContext {
var p = new(MoveInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_moveInstruction
return p
}
func (*MoveInstructionContext) IsMoveInstructionContext() {}
func NewMoveInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *MoveInstructionContext {
var p = new(MoveInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_moveInstruction
return p
}
func (s *MoveInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *MoveInstructionContext) OP_MOVE() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_MOVE, 0)
}
func (s *MoveInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *MoveInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *MoveInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *MoveInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *MoveInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *MoveInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterMoveInstruction(s)
}
}
func (s *MoveInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitMoveInstruction(s)
}
}
func (s *MoveInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitMoveInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) MoveInstruction() (localctx IMoveInstructionContext) {
localctx = NewMoveInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 114, SmaliParserRULE_moveInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(875)
p.Match(SmaliParserOP_MOVE)
}
{
p.SetState(876)
p.LeftRegister()
}
{
p.SetState(877)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(878)
p.RightRegister()
}
return localctx
}
// IMoveFrom16InstructionContext is an interface to support dynamic dispatch.
type IMoveFrom16InstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsMoveFrom16InstructionContext differentiates from other interfaces.
IsMoveFrom16InstructionContext()
}
type MoveFrom16InstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyMoveFrom16InstructionContext() *MoveFrom16InstructionContext {
var p = new(MoveFrom16InstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_moveFrom16Instruction
return p
}
func (*MoveFrom16InstructionContext) IsMoveFrom16InstructionContext() {}
func NewMoveFrom16InstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *MoveFrom16InstructionContext {
var p = new(MoveFrom16InstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_moveFrom16Instruction
return p
}
func (s *MoveFrom16InstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *MoveFrom16InstructionContext) OP_MOVE_FROM16() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_MOVE_FROM16, 0)
}
func (s *MoveFrom16InstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *MoveFrom16InstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *MoveFrom16InstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *MoveFrom16InstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *MoveFrom16InstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *MoveFrom16InstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterMoveFrom16Instruction(s)
}
}
func (s *MoveFrom16InstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitMoveFrom16Instruction(s)
}
}
func (s *MoveFrom16InstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitMoveFrom16Instruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) MoveFrom16Instruction() (localctx IMoveFrom16InstructionContext) {
localctx = NewMoveFrom16InstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 116, SmaliParserRULE_moveFrom16Instruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(880)
p.Match(SmaliParserOP_MOVE_FROM16)
}
{
p.SetState(881)
p.LeftRegister()
}
{
p.SetState(882)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(883)
p.RightRegister()
}
return localctx
}
// IMove16InstructionContext is an interface to support dynamic dispatch.
type IMove16InstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsMove16InstructionContext differentiates from other interfaces.
IsMove16InstructionContext()
}
type Move16InstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyMove16InstructionContext() *Move16InstructionContext {
var p = new(Move16InstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_move16Instruction
return p
}
func (*Move16InstructionContext) IsMove16InstructionContext() {}
func NewMove16InstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Move16InstructionContext {
var p = new(Move16InstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_move16Instruction
return p
}
func (s *Move16InstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *Move16InstructionContext) OP_MOVE_16() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_MOVE_16, 0)
}
func (s *Move16InstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *Move16InstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *Move16InstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *Move16InstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *Move16InstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *Move16InstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterMove16Instruction(s)
}
}
func (s *Move16InstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitMove16Instruction(s)
}
}
func (s *Move16InstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitMove16Instruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) Move16Instruction() (localctx IMove16InstructionContext) {
localctx = NewMove16InstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 118, SmaliParserRULE_move16Instruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(885)
p.Match(SmaliParserOP_MOVE_16)
}
{
p.SetState(886)
p.LeftRegister()
}
{
p.SetState(887)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(888)
p.RightRegister()
}
return localctx
}
// IMoveWideInstructionContext is an interface to support dynamic dispatch.
type IMoveWideInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsMoveWideInstructionContext differentiates from other interfaces.
IsMoveWideInstructionContext()
}
type MoveWideInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyMoveWideInstructionContext() *MoveWideInstructionContext {
var p = new(MoveWideInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_moveWideInstruction
return p
}
func (*MoveWideInstructionContext) IsMoveWideInstructionContext() {}
func NewMoveWideInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *MoveWideInstructionContext {
var p = new(MoveWideInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_moveWideInstruction
return p
}
func (s *MoveWideInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *MoveWideInstructionContext) OP_MOVE_WIDE() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_MOVE_WIDE, 0)
}
func (s *MoveWideInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *MoveWideInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *MoveWideInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *MoveWideInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *MoveWideInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *MoveWideInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterMoveWideInstruction(s)
}
}
func (s *MoveWideInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitMoveWideInstruction(s)
}
}
func (s *MoveWideInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitMoveWideInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) MoveWideInstruction() (localctx IMoveWideInstructionContext) {
localctx = NewMoveWideInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 120, SmaliParserRULE_moveWideInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(890)
p.Match(SmaliParserOP_MOVE_WIDE)
}
{
p.SetState(891)
p.LeftRegister()
}
{
p.SetState(892)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(893)
p.RightRegister()
}
return localctx
}
// IMoveWideFrom16InstructionContext is an interface to support dynamic dispatch.
type IMoveWideFrom16InstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsMoveWideFrom16InstructionContext differentiates from other interfaces.
IsMoveWideFrom16InstructionContext()
}
type MoveWideFrom16InstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyMoveWideFrom16InstructionContext() *MoveWideFrom16InstructionContext {
var p = new(MoveWideFrom16InstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_moveWideFrom16Instruction
return p
}
func (*MoveWideFrom16InstructionContext) IsMoveWideFrom16InstructionContext() {}
func NewMoveWideFrom16InstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *MoveWideFrom16InstructionContext {
var p = new(MoveWideFrom16InstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_moveWideFrom16Instruction
return p
}
func (s *MoveWideFrom16InstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *MoveWideFrom16InstructionContext) OP_MOVE_WIDE_FROM16() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_MOVE_WIDE_FROM16, 0)
}
func (s *MoveWideFrom16InstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *MoveWideFrom16InstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *MoveWideFrom16InstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *MoveWideFrom16InstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *MoveWideFrom16InstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *MoveWideFrom16InstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterMoveWideFrom16Instruction(s)
}
}
func (s *MoveWideFrom16InstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitMoveWideFrom16Instruction(s)
}
}
func (s *MoveWideFrom16InstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitMoveWideFrom16Instruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) MoveWideFrom16Instruction() (localctx IMoveWideFrom16InstructionContext) {
localctx = NewMoveWideFrom16InstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 122, SmaliParserRULE_moveWideFrom16Instruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(895)
p.Match(SmaliParserOP_MOVE_WIDE_FROM16)
}
{
p.SetState(896)
p.LeftRegister()
}
{
p.SetState(897)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(898)
p.RightRegister()
}
return localctx
}
// IMoveWide16InstructionContext is an interface to support dynamic dispatch.
type IMoveWide16InstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsMoveWide16InstructionContext differentiates from other interfaces.
IsMoveWide16InstructionContext()
}
type MoveWide16InstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyMoveWide16InstructionContext() *MoveWide16InstructionContext {
var p = new(MoveWide16InstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_moveWide16Instruction
return p
}
func (*MoveWide16InstructionContext) IsMoveWide16InstructionContext() {}
func NewMoveWide16InstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *MoveWide16InstructionContext {
var p = new(MoveWide16InstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_moveWide16Instruction
return p
}
func (s *MoveWide16InstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *MoveWide16InstructionContext) OP_MOVE_WIDE_16() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_MOVE_WIDE_16, 0)
}
func (s *MoveWide16InstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *MoveWide16InstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *MoveWide16InstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *MoveWide16InstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *MoveWide16InstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *MoveWide16InstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterMoveWide16Instruction(s)
}
}
func (s *MoveWide16InstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitMoveWide16Instruction(s)
}
}
func (s *MoveWide16InstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitMoveWide16Instruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) MoveWide16Instruction() (localctx IMoveWide16InstructionContext) {
localctx = NewMoveWide16InstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 124, SmaliParserRULE_moveWide16Instruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(900)
p.Match(SmaliParserOP_MOVE_WIDE_16)
}
{
p.SetState(901)
p.LeftRegister()
}
{
p.SetState(902)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(903)
p.RightRegister()
}
return localctx
}
// IMoveObjectInstructionContext is an interface to support dynamic dispatch.
type IMoveObjectInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsMoveObjectInstructionContext differentiates from other interfaces.
IsMoveObjectInstructionContext()
}
type MoveObjectInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyMoveObjectInstructionContext() *MoveObjectInstructionContext {
var p = new(MoveObjectInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_moveObjectInstruction
return p
}
func (*MoveObjectInstructionContext) IsMoveObjectInstructionContext() {}
func NewMoveObjectInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *MoveObjectInstructionContext {
var p = new(MoveObjectInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_moveObjectInstruction
return p
}
func (s *MoveObjectInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *MoveObjectInstructionContext) OP_MOVE_OBJECT() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_MOVE_OBJECT, 0)
}
func (s *MoveObjectInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *MoveObjectInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *MoveObjectInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *MoveObjectInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *MoveObjectInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *MoveObjectInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterMoveObjectInstruction(s)
}
}
func (s *MoveObjectInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitMoveObjectInstruction(s)
}
}
func (s *MoveObjectInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitMoveObjectInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) MoveObjectInstruction() (localctx IMoveObjectInstructionContext) {
localctx = NewMoveObjectInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 126, SmaliParserRULE_moveObjectInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(905)
p.Match(SmaliParserOP_MOVE_OBJECT)
}
{
p.SetState(906)
p.LeftRegister()
}
{
p.SetState(907)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(908)
p.RightRegister()
}
return localctx
}
// IMoveObjectFrom16InstructionContext is an interface to support dynamic dispatch.
type IMoveObjectFrom16InstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsMoveObjectFrom16InstructionContext differentiates from other interfaces.
IsMoveObjectFrom16InstructionContext()
}
type MoveObjectFrom16InstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyMoveObjectFrom16InstructionContext() *MoveObjectFrom16InstructionContext {
var p = new(MoveObjectFrom16InstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_moveObjectFrom16Instruction
return p
}
func (*MoveObjectFrom16InstructionContext) IsMoveObjectFrom16InstructionContext() {}
func NewMoveObjectFrom16InstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *MoveObjectFrom16InstructionContext {
var p = new(MoveObjectFrom16InstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_moveObjectFrom16Instruction
return p
}
func (s *MoveObjectFrom16InstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *MoveObjectFrom16InstructionContext) OP_MOVE_OBJECT_FROM16() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_MOVE_OBJECT_FROM16, 0)
}
func (s *MoveObjectFrom16InstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *MoveObjectFrom16InstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *MoveObjectFrom16InstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *MoveObjectFrom16InstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *MoveObjectFrom16InstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *MoveObjectFrom16InstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterMoveObjectFrom16Instruction(s)
}
}
func (s *MoveObjectFrom16InstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitMoveObjectFrom16Instruction(s)
}
}
func (s *MoveObjectFrom16InstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitMoveObjectFrom16Instruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) MoveObjectFrom16Instruction() (localctx IMoveObjectFrom16InstructionContext) {
localctx = NewMoveObjectFrom16InstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 128, SmaliParserRULE_moveObjectFrom16Instruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(910)
p.Match(SmaliParserOP_MOVE_OBJECT_FROM16)
}
{
p.SetState(911)
p.LeftRegister()
}
{
p.SetState(912)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(913)
p.RightRegister()
}
return localctx
}
// IMoveObject16InstructionContext is an interface to support dynamic dispatch.
type IMoveObject16InstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsMoveObject16InstructionContext differentiates from other interfaces.
IsMoveObject16InstructionContext()
}
type MoveObject16InstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyMoveObject16InstructionContext() *MoveObject16InstructionContext {
var p = new(MoveObject16InstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_moveObject16Instruction
return p
}
func (*MoveObject16InstructionContext) IsMoveObject16InstructionContext() {}
func NewMoveObject16InstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *MoveObject16InstructionContext {
var p = new(MoveObject16InstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_moveObject16Instruction
return p
}
func (s *MoveObject16InstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *MoveObject16InstructionContext) OP_MOVE_OBJECT_16() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_MOVE_OBJECT_16, 0)
}
func (s *MoveObject16InstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *MoveObject16InstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *MoveObject16InstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *MoveObject16InstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *MoveObject16InstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *MoveObject16InstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterMoveObject16Instruction(s)
}
}
func (s *MoveObject16InstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitMoveObject16Instruction(s)
}
}
func (s *MoveObject16InstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitMoveObject16Instruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) MoveObject16Instruction() (localctx IMoveObject16InstructionContext) {
localctx = NewMoveObject16InstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 130, SmaliParserRULE_moveObject16Instruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(915)
p.Match(SmaliParserOP_MOVE_OBJECT_16)
}
{
p.SetState(916)
p.LeftRegister()
}
{
p.SetState(917)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(918)
p.RightRegister()
}
return localctx
}
// IConstInstructionContext is an interface to support dynamic dispatch.
type IConstInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsConstInstructionContext differentiates from other interfaces.
IsConstInstructionContext()
}
type ConstInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyConstInstructionContext() *ConstInstructionContext {
var p = new(ConstInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_constInstruction
return p
}
func (*ConstInstructionContext) IsConstInstructionContext() {}
func NewConstInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ConstInstructionContext {
var p = new(ConstInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_constInstruction
return p
}
func (s *ConstInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *ConstInstructionContext) OP_CONST() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_CONST, 0)
}
func (s *ConstInstructionContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *ConstInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *ConstInstructionContext) NumericLiteral() INumericLiteralContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*INumericLiteralContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(INumericLiteralContext)
}
func (s *ConstInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *ConstInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *ConstInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterConstInstruction(s)
}
}
func (s *ConstInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitConstInstruction(s)
}
}
func (s *ConstInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitConstInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) ConstInstruction() (localctx IConstInstructionContext) {
localctx = NewConstInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 132, SmaliParserRULE_constInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(920)
p.Match(SmaliParserOP_CONST)
}
{
p.SetState(921)
p.RegisterIdentifier()
}
{
p.SetState(922)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(923)
p.NumericLiteral()
}
return localctx
}
// IConst4InstructionContext is an interface to support dynamic dispatch.
type IConst4InstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsConst4InstructionContext differentiates from other interfaces.
IsConst4InstructionContext()
}
type Const4InstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyConst4InstructionContext() *Const4InstructionContext {
var p = new(Const4InstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_const4Instruction
return p
}
func (*Const4InstructionContext) IsConst4InstructionContext() {}
func NewConst4InstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Const4InstructionContext {
var p = new(Const4InstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_const4Instruction
return p
}
func (s *Const4InstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *Const4InstructionContext) OP_CONST_4() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_CONST_4, 0)
}
func (s *Const4InstructionContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *Const4InstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *Const4InstructionContext) NumericLiteral() INumericLiteralContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*INumericLiteralContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(INumericLiteralContext)
}
func (s *Const4InstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *Const4InstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *Const4InstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterConst4Instruction(s)
}
}
func (s *Const4InstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitConst4Instruction(s)
}
}
func (s *Const4InstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitConst4Instruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) Const4Instruction() (localctx IConst4InstructionContext) {
localctx = NewConst4InstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 134, SmaliParserRULE_const4Instruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(925)
p.Match(SmaliParserOP_CONST_4)
}
{
p.SetState(926)
p.RegisterIdentifier()
}
{
p.SetState(927)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(928)
p.NumericLiteral()
}
return localctx
}
// IConst16InstructionContext is an interface to support dynamic dispatch.
type IConst16InstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsConst16InstructionContext differentiates from other interfaces.
IsConst16InstructionContext()
}
type Const16InstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyConst16InstructionContext() *Const16InstructionContext {
var p = new(Const16InstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_const16Instruction
return p
}
func (*Const16InstructionContext) IsConst16InstructionContext() {}
func NewConst16InstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *Const16InstructionContext {
var p = new(Const16InstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_const16Instruction
return p
}
func (s *Const16InstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *Const16InstructionContext) OP_CONST_16() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_CONST_16, 0)
}
func (s *Const16InstructionContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *Const16InstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *Const16InstructionContext) NumericLiteral() INumericLiteralContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*INumericLiteralContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(INumericLiteralContext)
}
func (s *Const16InstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *Const16InstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *Const16InstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterConst16Instruction(s)
}
}
func (s *Const16InstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitConst16Instruction(s)
}
}
func (s *Const16InstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitConst16Instruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) Const16Instruction() (localctx IConst16InstructionContext) {
localctx = NewConst16InstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 136, SmaliParserRULE_const16Instruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(930)
p.Match(SmaliParserOP_CONST_16)
}
{
p.SetState(931)
p.RegisterIdentifier()
}
{
p.SetState(932)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(933)
p.NumericLiteral()
}
return localctx
}
// IConstHigh16InstructionContext is an interface to support dynamic dispatch.
type IConstHigh16InstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsConstHigh16InstructionContext differentiates from other interfaces.
IsConstHigh16InstructionContext()
}
type ConstHigh16InstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyConstHigh16InstructionContext() *ConstHigh16InstructionContext {
var p = new(ConstHigh16InstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_constHigh16Instruction
return p
}
func (*ConstHigh16InstructionContext) IsConstHigh16InstructionContext() {}
func NewConstHigh16InstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ConstHigh16InstructionContext {
var p = new(ConstHigh16InstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_constHigh16Instruction
return p
}
func (s *ConstHigh16InstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *ConstHigh16InstructionContext) OP_CONST_HIGH16() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_CONST_HIGH16, 0)
}
func (s *ConstHigh16InstructionContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *ConstHigh16InstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *ConstHigh16InstructionContext) NumericLiteral() INumericLiteralContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*INumericLiteralContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(INumericLiteralContext)
}
func (s *ConstHigh16InstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *ConstHigh16InstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *ConstHigh16InstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterConstHigh16Instruction(s)
}
}
func (s *ConstHigh16InstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitConstHigh16Instruction(s)
}
}
func (s *ConstHigh16InstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitConstHigh16Instruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) ConstHigh16Instruction() (localctx IConstHigh16InstructionContext) {
localctx = NewConstHigh16InstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 138, SmaliParserRULE_constHigh16Instruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(935)
p.Match(SmaliParserOP_CONST_HIGH16)
}
{
p.SetState(936)
p.RegisterIdentifier()
}
{
p.SetState(937)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(938)
p.NumericLiteral()
}
return localctx
}
// IConstWide16InstructionContext is an interface to support dynamic dispatch.
type IConstWide16InstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsConstWide16InstructionContext differentiates from other interfaces.
IsConstWide16InstructionContext()
}
type ConstWide16InstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyConstWide16InstructionContext() *ConstWide16InstructionContext {
var p = new(ConstWide16InstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_constWide16Instruction
return p
}
func (*ConstWide16InstructionContext) IsConstWide16InstructionContext() {}
func NewConstWide16InstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ConstWide16InstructionContext {
var p = new(ConstWide16InstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_constWide16Instruction
return p
}
func (s *ConstWide16InstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *ConstWide16InstructionContext) OP_CONST_WIDE_16() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_CONST_WIDE_16, 0)
}
func (s *ConstWide16InstructionContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *ConstWide16InstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *ConstWide16InstructionContext) NumericLiteral() INumericLiteralContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*INumericLiteralContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(INumericLiteralContext)
}
func (s *ConstWide16InstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *ConstWide16InstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *ConstWide16InstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterConstWide16Instruction(s)
}
}
func (s *ConstWide16InstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitConstWide16Instruction(s)
}
}
func (s *ConstWide16InstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitConstWide16Instruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) ConstWide16Instruction() (localctx IConstWide16InstructionContext) {
localctx = NewConstWide16InstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 140, SmaliParserRULE_constWide16Instruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(940)
p.Match(SmaliParserOP_CONST_WIDE_16)
}
{
p.SetState(941)
p.RegisterIdentifier()
}
{
p.SetState(942)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(943)
p.NumericLiteral()
}
return localctx
}
// IConstWide32InstructionContext is an interface to support dynamic dispatch.
type IConstWide32InstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsConstWide32InstructionContext differentiates from other interfaces.
IsConstWide32InstructionContext()
}
type ConstWide32InstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyConstWide32InstructionContext() *ConstWide32InstructionContext {
var p = new(ConstWide32InstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_constWide32Instruction
return p
}
func (*ConstWide32InstructionContext) IsConstWide32InstructionContext() {}
func NewConstWide32InstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ConstWide32InstructionContext {
var p = new(ConstWide32InstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_constWide32Instruction
return p
}
func (s *ConstWide32InstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *ConstWide32InstructionContext) OP_CONST_WIDE_32() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_CONST_WIDE_32, 0)
}
func (s *ConstWide32InstructionContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *ConstWide32InstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *ConstWide32InstructionContext) NumericLiteral() INumericLiteralContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*INumericLiteralContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(INumericLiteralContext)
}
func (s *ConstWide32InstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *ConstWide32InstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *ConstWide32InstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterConstWide32Instruction(s)
}
}
func (s *ConstWide32InstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitConstWide32Instruction(s)
}
}
func (s *ConstWide32InstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitConstWide32Instruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) ConstWide32Instruction() (localctx IConstWide32InstructionContext) {
localctx = NewConstWide32InstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 142, SmaliParserRULE_constWide32Instruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(945)
p.Match(SmaliParserOP_CONST_WIDE_32)
}
{
p.SetState(946)
p.RegisterIdentifier()
}
{
p.SetState(947)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(948)
p.NumericLiteral()
}
return localctx
}
// IConstWideInstructionContext is an interface to support dynamic dispatch.
type IConstWideInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsConstWideInstructionContext differentiates from other interfaces.
IsConstWideInstructionContext()
}
type ConstWideInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyConstWideInstructionContext() *ConstWideInstructionContext {
var p = new(ConstWideInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_constWideInstruction
return p
}
func (*ConstWideInstructionContext) IsConstWideInstructionContext() {}
func NewConstWideInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ConstWideInstructionContext {
var p = new(ConstWideInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_constWideInstruction
return p
}
func (s *ConstWideInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *ConstWideInstructionContext) OP_CONST_WIDE() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_CONST_WIDE, 0)
}
func (s *ConstWideInstructionContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *ConstWideInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *ConstWideInstructionContext) NumericLiteral() INumericLiteralContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*INumericLiteralContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(INumericLiteralContext)
}
func (s *ConstWideInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *ConstWideInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *ConstWideInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterConstWideInstruction(s)
}
}
func (s *ConstWideInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitConstWideInstruction(s)
}
}
func (s *ConstWideInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitConstWideInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) ConstWideInstruction() (localctx IConstWideInstructionContext) {
localctx = NewConstWideInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 144, SmaliParserRULE_constWideInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(950)
p.Match(SmaliParserOP_CONST_WIDE)
}
{
p.SetState(951)
p.RegisterIdentifier()
}
{
p.SetState(952)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(953)
p.NumericLiteral()
}
return localctx
}
// IConstWideHigh16InstructionContext is an interface to support dynamic dispatch.
type IConstWideHigh16InstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsConstWideHigh16InstructionContext differentiates from other interfaces.
IsConstWideHigh16InstructionContext()
}
type ConstWideHigh16InstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyConstWideHigh16InstructionContext() *ConstWideHigh16InstructionContext {
var p = new(ConstWideHigh16InstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_constWideHigh16Instruction
return p
}
func (*ConstWideHigh16InstructionContext) IsConstWideHigh16InstructionContext() {}
func NewConstWideHigh16InstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ConstWideHigh16InstructionContext {
var p = new(ConstWideHigh16InstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_constWideHigh16Instruction
return p
}
func (s *ConstWideHigh16InstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *ConstWideHigh16InstructionContext) OP_CONST_WIDE_HIGH16() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_CONST_WIDE_HIGH16, 0)
}
func (s *ConstWideHigh16InstructionContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *ConstWideHigh16InstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *ConstWideHigh16InstructionContext) NumericLiteral() INumericLiteralContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*INumericLiteralContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(INumericLiteralContext)
}
func (s *ConstWideHigh16InstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *ConstWideHigh16InstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *ConstWideHigh16InstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterConstWideHigh16Instruction(s)
}
}
func (s *ConstWideHigh16InstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitConstWideHigh16Instruction(s)
}
}
func (s *ConstWideHigh16InstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitConstWideHigh16Instruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) ConstWideHigh16Instruction() (localctx IConstWideHigh16InstructionContext) {
localctx = NewConstWideHigh16InstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 146, SmaliParserRULE_constWideHigh16Instruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(955)
p.Match(SmaliParserOP_CONST_WIDE_HIGH16)
}
{
p.SetState(956)
p.RegisterIdentifier()
}
{
p.SetState(957)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(958)
p.NumericLiteral()
}
return localctx
}
// IConstStringContext is an interface to support dynamic dispatch.
type IConstStringContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsConstStringContext differentiates from other interfaces.
IsConstStringContext()
}
type ConstStringContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyConstStringContext() *ConstStringContext {
var p = new(ConstStringContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_constString
return p
}
func (*ConstStringContext) IsConstStringContext() {}
func NewConstStringContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ConstStringContext {
var p = new(ConstStringContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_constString
return p
}
func (s *ConstStringContext) GetParser() antlr.Parser { return s.parser }
func (s *ConstStringContext) OP_CONST_STRING() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_CONST_STRING, 0)
}
func (s *ConstStringContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *ConstStringContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *ConstStringContext) StringLiteral() IStringLiteralContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IStringLiteralContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IStringLiteralContext)
}
func (s *ConstStringContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *ConstStringContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *ConstStringContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterConstString(s)
}
}
func (s *ConstStringContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitConstString(s)
}
}
func (s *ConstStringContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitConstString(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) ConstString() (localctx IConstStringContext) {
localctx = NewConstStringContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 148, SmaliParserRULE_constString)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(960)
p.Match(SmaliParserOP_CONST_STRING)
}
{
p.SetState(961)
p.RegisterIdentifier()
}
{
p.SetState(962)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(963)
p.StringLiteral()
}
return localctx
}
// IConstStringJumboContext is an interface to support dynamic dispatch.
type IConstStringJumboContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsConstStringJumboContext differentiates from other interfaces.
IsConstStringJumboContext()
}
type ConstStringJumboContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyConstStringJumboContext() *ConstStringJumboContext {
var p = new(ConstStringJumboContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_constStringJumbo
return p
}
func (*ConstStringJumboContext) IsConstStringJumboContext() {}
func NewConstStringJumboContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ConstStringJumboContext {
var p = new(ConstStringJumboContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_constStringJumbo
return p
}
func (s *ConstStringJumboContext) GetParser() antlr.Parser { return s.parser }
func (s *ConstStringJumboContext) OP_CONST_STRING_JUMBO() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_CONST_STRING_JUMBO, 0)
}
func (s *ConstStringJumboContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *ConstStringJumboContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *ConstStringJumboContext) StringLiteral() IStringLiteralContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IStringLiteralContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IStringLiteralContext)
}
func (s *ConstStringJumboContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *ConstStringJumboContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *ConstStringJumboContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterConstStringJumbo(s)
}
}
func (s *ConstStringJumboContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitConstStringJumbo(s)
}
}
func (s *ConstStringJumboContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitConstStringJumbo(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) ConstStringJumbo() (localctx IConstStringJumboContext) {
localctx = NewConstStringJumboContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 150, SmaliParserRULE_constStringJumbo)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(965)
p.Match(SmaliParserOP_CONST_STRING_JUMBO)
}
{
p.SetState(966)
p.RegisterIdentifier()
}
{
p.SetState(967)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(968)
p.StringLiteral()
}
return localctx
}
// IConstClassContext is an interface to support dynamic dispatch.
type IConstClassContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsConstClassContext differentiates from other interfaces.
IsConstClassContext()
}
type ConstClassContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyConstClassContext() *ConstClassContext {
var p = new(ConstClassContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_constClass
return p
}
func (*ConstClassContext) IsConstClassContext() {}
func NewConstClassContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ConstClassContext {
var p = new(ConstClassContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_constClass
return p
}
func (s *ConstClassContext) GetParser() antlr.Parser { return s.parser }
func (s *ConstClassContext) OP_CONST_CLASS() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_CONST_CLASS, 0)
}
func (s *ConstClassContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *ConstClassContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *ConstClassContext) ReferenceOrArrayType() IReferenceOrArrayTypeContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IReferenceOrArrayTypeContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IReferenceOrArrayTypeContext)
}
func (s *ConstClassContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *ConstClassContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *ConstClassContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterConstClass(s)
}
}
func (s *ConstClassContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitConstClass(s)
}
}
func (s *ConstClassContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitConstClass(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) ConstClass() (localctx IConstClassContext) {
localctx = NewConstClassContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 152, SmaliParserRULE_constClass)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(970)
p.Match(SmaliParserOP_CONST_CLASS)
}
{
p.SetState(971)
p.RegisterIdentifier()
}
{
p.SetState(972)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(973)
p.ReferenceOrArrayType()
}
return localctx
}
// ISGetInstructionContext is an interface to support dynamic dispatch.
type ISGetInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsSGetInstructionContext differentiates from other interfaces.
IsSGetInstructionContext()
}
type SGetInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptySGetInstructionContext() *SGetInstructionContext {
var p = new(SGetInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_sGetInstruction
return p
}
func (*SGetInstructionContext) IsSGetInstructionContext() {}
func NewSGetInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *SGetInstructionContext {
var p = new(SGetInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_sGetInstruction
return p
}
func (s *SGetInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *SGetInstructionContext) OP_SGET() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_SGET, 0)
}
func (s *SGetInstructionContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *SGetInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *SGetInstructionContext) FieldInvocationTarget() IFieldInvocationTargetContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IFieldInvocationTargetContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IFieldInvocationTargetContext)
}
func (s *SGetInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *SGetInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *SGetInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterSGetInstruction(s)
}
}
func (s *SGetInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitSGetInstruction(s)
}
}
func (s *SGetInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitSGetInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) SGetInstruction() (localctx ISGetInstructionContext) {
localctx = NewSGetInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 154, SmaliParserRULE_sGetInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(975)
p.Match(SmaliParserOP_SGET)
}
{
p.SetState(976)
p.RegisterIdentifier()
}
{
p.SetState(977)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(978)
p.FieldInvocationTarget()
}
return localctx
}
// ISGetWideInstructionContext is an interface to support dynamic dispatch.
type ISGetWideInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsSGetWideInstructionContext differentiates from other interfaces.
IsSGetWideInstructionContext()
}
type SGetWideInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptySGetWideInstructionContext() *SGetWideInstructionContext {
var p = new(SGetWideInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_sGetWideInstruction
return p
}
func (*SGetWideInstructionContext) IsSGetWideInstructionContext() {}
func NewSGetWideInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *SGetWideInstructionContext {
var p = new(SGetWideInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_sGetWideInstruction
return p
}
func (s *SGetWideInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *SGetWideInstructionContext) OP_SGET_WIDE() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_SGET_WIDE, 0)
}
func (s *SGetWideInstructionContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *SGetWideInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *SGetWideInstructionContext) FieldInvocationTarget() IFieldInvocationTargetContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IFieldInvocationTargetContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IFieldInvocationTargetContext)
}
func (s *SGetWideInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *SGetWideInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *SGetWideInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterSGetWideInstruction(s)
}
}
func (s *SGetWideInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitSGetWideInstruction(s)
}
}
func (s *SGetWideInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitSGetWideInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) SGetWideInstruction() (localctx ISGetWideInstructionContext) {
localctx = NewSGetWideInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 156, SmaliParserRULE_sGetWideInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(980)
p.Match(SmaliParserOP_SGET_WIDE)
}
{
p.SetState(981)
p.RegisterIdentifier()
}
{
p.SetState(982)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(983)
p.FieldInvocationTarget()
}
return localctx
}
// ISGetObjectInstructionContext is an interface to support dynamic dispatch.
type ISGetObjectInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsSGetObjectInstructionContext differentiates from other interfaces.
IsSGetObjectInstructionContext()
}
type SGetObjectInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptySGetObjectInstructionContext() *SGetObjectInstructionContext {
var p = new(SGetObjectInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_sGetObjectInstruction
return p
}
func (*SGetObjectInstructionContext) IsSGetObjectInstructionContext() {}
func NewSGetObjectInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *SGetObjectInstructionContext {
var p = new(SGetObjectInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_sGetObjectInstruction
return p
}
func (s *SGetObjectInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *SGetObjectInstructionContext) OP_SGET_OBJECT() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_SGET_OBJECT, 0)
}
func (s *SGetObjectInstructionContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *SGetObjectInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *SGetObjectInstructionContext) FieldInvocationTarget() IFieldInvocationTargetContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IFieldInvocationTargetContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IFieldInvocationTargetContext)
}
func (s *SGetObjectInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *SGetObjectInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *SGetObjectInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterSGetObjectInstruction(s)
}
}
func (s *SGetObjectInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitSGetObjectInstruction(s)
}
}
func (s *SGetObjectInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitSGetObjectInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) SGetObjectInstruction() (localctx ISGetObjectInstructionContext) {
localctx = NewSGetObjectInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 158, SmaliParserRULE_sGetObjectInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(985)
p.Match(SmaliParserOP_SGET_OBJECT)
}
{
p.SetState(986)
p.RegisterIdentifier()
}
{
p.SetState(987)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(988)
p.FieldInvocationTarget()
}
return localctx
}
// ISGetBooleanInstructionContext is an interface to support dynamic dispatch.
type ISGetBooleanInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsSGetBooleanInstructionContext differentiates from other interfaces.
IsSGetBooleanInstructionContext()
}
type SGetBooleanInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptySGetBooleanInstructionContext() *SGetBooleanInstructionContext {
var p = new(SGetBooleanInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_sGetBooleanInstruction
return p
}
func (*SGetBooleanInstructionContext) IsSGetBooleanInstructionContext() {}
func NewSGetBooleanInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *SGetBooleanInstructionContext {
var p = new(SGetBooleanInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_sGetBooleanInstruction
return p
}
func (s *SGetBooleanInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *SGetBooleanInstructionContext) OP_SGET_BOOLEAN() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_SGET_BOOLEAN, 0)
}
func (s *SGetBooleanInstructionContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *SGetBooleanInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *SGetBooleanInstructionContext) FieldInvocationTarget() IFieldInvocationTargetContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IFieldInvocationTargetContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IFieldInvocationTargetContext)
}
func (s *SGetBooleanInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *SGetBooleanInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *SGetBooleanInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterSGetBooleanInstruction(s)
}
}
func (s *SGetBooleanInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitSGetBooleanInstruction(s)
}
}
func (s *SGetBooleanInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitSGetBooleanInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) SGetBooleanInstruction() (localctx ISGetBooleanInstructionContext) {
localctx = NewSGetBooleanInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 160, SmaliParserRULE_sGetBooleanInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(990)
p.Match(SmaliParserOP_SGET_BOOLEAN)
}
{
p.SetState(991)
p.RegisterIdentifier()
}
{
p.SetState(992)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(993)
p.FieldInvocationTarget()
}
return localctx
}
// ISGetByteInstructionContext is an interface to support dynamic dispatch.
type ISGetByteInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsSGetByteInstructionContext differentiates from other interfaces.
IsSGetByteInstructionContext()
}
type SGetByteInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptySGetByteInstructionContext() *SGetByteInstructionContext {
var p = new(SGetByteInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_sGetByteInstruction
return p
}
func (*SGetByteInstructionContext) IsSGetByteInstructionContext() {}
func NewSGetByteInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *SGetByteInstructionContext {
var p = new(SGetByteInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_sGetByteInstruction
return p
}
func (s *SGetByteInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *SGetByteInstructionContext) OP_SGET_BYTE() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_SGET_BYTE, 0)
}
func (s *SGetByteInstructionContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *SGetByteInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *SGetByteInstructionContext) FieldInvocationTarget() IFieldInvocationTargetContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IFieldInvocationTargetContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IFieldInvocationTargetContext)
}
func (s *SGetByteInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *SGetByteInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *SGetByteInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterSGetByteInstruction(s)
}
}
func (s *SGetByteInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitSGetByteInstruction(s)
}
}
func (s *SGetByteInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitSGetByteInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) SGetByteInstruction() (localctx ISGetByteInstructionContext) {
localctx = NewSGetByteInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 162, SmaliParserRULE_sGetByteInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(995)
p.Match(SmaliParserOP_SGET_BYTE)
}
{
p.SetState(996)
p.RegisterIdentifier()
}
{
p.SetState(997)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(998)
p.FieldInvocationTarget()
}
return localctx
}
// ISGetCharInstructionContext is an interface to support dynamic dispatch.
type ISGetCharInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsSGetCharInstructionContext differentiates from other interfaces.
IsSGetCharInstructionContext()
}
type SGetCharInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptySGetCharInstructionContext() *SGetCharInstructionContext {
var p = new(SGetCharInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_sGetCharInstruction
return p
}
func (*SGetCharInstructionContext) IsSGetCharInstructionContext() {}
func NewSGetCharInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *SGetCharInstructionContext {
var p = new(SGetCharInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_sGetCharInstruction
return p
}
func (s *SGetCharInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *SGetCharInstructionContext) OP_SGET_CHAR() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_SGET_CHAR, 0)
}
func (s *SGetCharInstructionContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *SGetCharInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *SGetCharInstructionContext) FieldInvocationTarget() IFieldInvocationTargetContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IFieldInvocationTargetContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IFieldInvocationTargetContext)
}
func (s *SGetCharInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *SGetCharInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *SGetCharInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterSGetCharInstruction(s)
}
}
func (s *SGetCharInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitSGetCharInstruction(s)
}
}
func (s *SGetCharInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitSGetCharInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) SGetCharInstruction() (localctx ISGetCharInstructionContext) {
localctx = NewSGetCharInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 164, SmaliParserRULE_sGetCharInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1000)
p.Match(SmaliParserOP_SGET_CHAR)
}
{
p.SetState(1001)
p.RegisterIdentifier()
}
{
p.SetState(1002)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1003)
p.FieldInvocationTarget()
}
return localctx
}
// ISGetShortInstructionContext is an interface to support dynamic dispatch.
type ISGetShortInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsSGetShortInstructionContext differentiates from other interfaces.
IsSGetShortInstructionContext()
}
type SGetShortInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptySGetShortInstructionContext() *SGetShortInstructionContext {
var p = new(SGetShortInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_sGetShortInstruction
return p
}
func (*SGetShortInstructionContext) IsSGetShortInstructionContext() {}
func NewSGetShortInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *SGetShortInstructionContext {
var p = new(SGetShortInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_sGetShortInstruction
return p
}
func (s *SGetShortInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *SGetShortInstructionContext) OP_SGET_SHORT() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_SGET_SHORT, 0)
}
func (s *SGetShortInstructionContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *SGetShortInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *SGetShortInstructionContext) FieldInvocationTarget() IFieldInvocationTargetContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IFieldInvocationTargetContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IFieldInvocationTargetContext)
}
func (s *SGetShortInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *SGetShortInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *SGetShortInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterSGetShortInstruction(s)
}
}
func (s *SGetShortInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitSGetShortInstruction(s)
}
}
func (s *SGetShortInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitSGetShortInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) SGetShortInstruction() (localctx ISGetShortInstructionContext) {
localctx = NewSGetShortInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 166, SmaliParserRULE_sGetShortInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1005)
p.Match(SmaliParserOP_SGET_SHORT)
}
{
p.SetState(1006)
p.RegisterIdentifier()
}
{
p.SetState(1007)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1008)
p.FieldInvocationTarget()
}
return localctx
}
// ISPutInstructionContext is an interface to support dynamic dispatch.
type ISPutInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsSPutInstructionContext differentiates from other interfaces.
IsSPutInstructionContext()
}
type SPutInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptySPutInstructionContext() *SPutInstructionContext {
var p = new(SPutInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_sPutInstruction
return p
}
func (*SPutInstructionContext) IsSPutInstructionContext() {}
func NewSPutInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *SPutInstructionContext {
var p = new(SPutInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_sPutInstruction
return p
}
func (s *SPutInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *SPutInstructionContext) OP_SPUT() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_SPUT, 0)
}
func (s *SPutInstructionContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *SPutInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *SPutInstructionContext) FieldInvocationTarget() IFieldInvocationTargetContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IFieldInvocationTargetContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IFieldInvocationTargetContext)
}
func (s *SPutInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *SPutInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *SPutInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterSPutInstruction(s)
}
}
func (s *SPutInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitSPutInstruction(s)
}
}
func (s *SPutInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitSPutInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) SPutInstruction() (localctx ISPutInstructionContext) {
localctx = NewSPutInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 168, SmaliParserRULE_sPutInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1010)
p.Match(SmaliParserOP_SPUT)
}
{
p.SetState(1011)
p.RegisterIdentifier()
}
{
p.SetState(1012)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1013)
p.FieldInvocationTarget()
}
return localctx
}
// ISPutWideInstructionContext is an interface to support dynamic dispatch.
type ISPutWideInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsSPutWideInstructionContext differentiates from other interfaces.
IsSPutWideInstructionContext()
}
type SPutWideInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptySPutWideInstructionContext() *SPutWideInstructionContext {
var p = new(SPutWideInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_sPutWideInstruction
return p
}
func (*SPutWideInstructionContext) IsSPutWideInstructionContext() {}
func NewSPutWideInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *SPutWideInstructionContext {
var p = new(SPutWideInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_sPutWideInstruction
return p
}
func (s *SPutWideInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *SPutWideInstructionContext) OP_SPUT_WIDE() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_SPUT_WIDE, 0)
}
func (s *SPutWideInstructionContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *SPutWideInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *SPutWideInstructionContext) FieldInvocationTarget() IFieldInvocationTargetContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IFieldInvocationTargetContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IFieldInvocationTargetContext)
}
func (s *SPutWideInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *SPutWideInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *SPutWideInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterSPutWideInstruction(s)
}
}
func (s *SPutWideInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitSPutWideInstruction(s)
}
}
func (s *SPutWideInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitSPutWideInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) SPutWideInstruction() (localctx ISPutWideInstructionContext) {
localctx = NewSPutWideInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 170, SmaliParserRULE_sPutWideInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1015)
p.Match(SmaliParserOP_SPUT_WIDE)
}
{
p.SetState(1016)
p.RegisterIdentifier()
}
{
p.SetState(1017)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1018)
p.FieldInvocationTarget()
}
return localctx
}
// ISPutObjectInstructionContext is an interface to support dynamic dispatch.
type ISPutObjectInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsSPutObjectInstructionContext differentiates from other interfaces.
IsSPutObjectInstructionContext()
}
type SPutObjectInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptySPutObjectInstructionContext() *SPutObjectInstructionContext {
var p = new(SPutObjectInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_sPutObjectInstruction
return p
}
func (*SPutObjectInstructionContext) IsSPutObjectInstructionContext() {}
func NewSPutObjectInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *SPutObjectInstructionContext {
var p = new(SPutObjectInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_sPutObjectInstruction
return p
}
func (s *SPutObjectInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *SPutObjectInstructionContext) OP_SPUT_OBJECT() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_SPUT_OBJECT, 0)
}
func (s *SPutObjectInstructionContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *SPutObjectInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *SPutObjectInstructionContext) FieldInvocationTarget() IFieldInvocationTargetContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IFieldInvocationTargetContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IFieldInvocationTargetContext)
}
func (s *SPutObjectInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *SPutObjectInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *SPutObjectInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterSPutObjectInstruction(s)
}
}
func (s *SPutObjectInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitSPutObjectInstruction(s)
}
}
func (s *SPutObjectInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitSPutObjectInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) SPutObjectInstruction() (localctx ISPutObjectInstructionContext) {
localctx = NewSPutObjectInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 172, SmaliParserRULE_sPutObjectInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1020)
p.Match(SmaliParserOP_SPUT_OBJECT)
}
{
p.SetState(1021)
p.RegisterIdentifier()
}
{
p.SetState(1022)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1023)
p.FieldInvocationTarget()
}
return localctx
}
// ISPutBooleanInstructionContext is an interface to support dynamic dispatch.
type ISPutBooleanInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsSPutBooleanInstructionContext differentiates from other interfaces.
IsSPutBooleanInstructionContext()
}
type SPutBooleanInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptySPutBooleanInstructionContext() *SPutBooleanInstructionContext {
var p = new(SPutBooleanInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_sPutBooleanInstruction
return p
}
func (*SPutBooleanInstructionContext) IsSPutBooleanInstructionContext() {}
func NewSPutBooleanInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *SPutBooleanInstructionContext {
var p = new(SPutBooleanInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_sPutBooleanInstruction
return p
}
func (s *SPutBooleanInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *SPutBooleanInstructionContext) OP_SPUT_BOOLEAN() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_SPUT_BOOLEAN, 0)
}
func (s *SPutBooleanInstructionContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *SPutBooleanInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *SPutBooleanInstructionContext) FieldInvocationTarget() IFieldInvocationTargetContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IFieldInvocationTargetContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IFieldInvocationTargetContext)
}
func (s *SPutBooleanInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *SPutBooleanInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *SPutBooleanInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterSPutBooleanInstruction(s)
}
}
func (s *SPutBooleanInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitSPutBooleanInstruction(s)
}
}
func (s *SPutBooleanInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitSPutBooleanInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) SPutBooleanInstruction() (localctx ISPutBooleanInstructionContext) {
localctx = NewSPutBooleanInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 174, SmaliParserRULE_sPutBooleanInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1025)
p.Match(SmaliParserOP_SPUT_BOOLEAN)
}
{
p.SetState(1026)
p.RegisterIdentifier()
}
{
p.SetState(1027)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1028)
p.FieldInvocationTarget()
}
return localctx
}
// ISPutByteInstructionContext is an interface to support dynamic dispatch.
type ISPutByteInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsSPutByteInstructionContext differentiates from other interfaces.
IsSPutByteInstructionContext()
}
type SPutByteInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptySPutByteInstructionContext() *SPutByteInstructionContext {
var p = new(SPutByteInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_sPutByteInstruction
return p
}
func (*SPutByteInstructionContext) IsSPutByteInstructionContext() {}
func NewSPutByteInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *SPutByteInstructionContext {
var p = new(SPutByteInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_sPutByteInstruction
return p
}
func (s *SPutByteInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *SPutByteInstructionContext) OP_SPUT_BYTE() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_SPUT_BYTE, 0)
}
func (s *SPutByteInstructionContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *SPutByteInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *SPutByteInstructionContext) FieldInvocationTarget() IFieldInvocationTargetContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IFieldInvocationTargetContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IFieldInvocationTargetContext)
}
func (s *SPutByteInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *SPutByteInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *SPutByteInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterSPutByteInstruction(s)
}
}
func (s *SPutByteInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitSPutByteInstruction(s)
}
}
func (s *SPutByteInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitSPutByteInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) SPutByteInstruction() (localctx ISPutByteInstructionContext) {
localctx = NewSPutByteInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 176, SmaliParserRULE_sPutByteInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1030)
p.Match(SmaliParserOP_SPUT_BYTE)
}
{
p.SetState(1031)
p.RegisterIdentifier()
}
{
p.SetState(1032)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1033)
p.FieldInvocationTarget()
}
return localctx
}
// ISPutCharInstructionContext is an interface to support dynamic dispatch.
type ISPutCharInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsSPutCharInstructionContext differentiates from other interfaces.
IsSPutCharInstructionContext()
}
type SPutCharInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptySPutCharInstructionContext() *SPutCharInstructionContext {
var p = new(SPutCharInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_sPutCharInstruction
return p
}
func (*SPutCharInstructionContext) IsSPutCharInstructionContext() {}
func NewSPutCharInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *SPutCharInstructionContext {
var p = new(SPutCharInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_sPutCharInstruction
return p
}
func (s *SPutCharInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *SPutCharInstructionContext) OP_SPUT_CHAR() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_SPUT_CHAR, 0)
}
func (s *SPutCharInstructionContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *SPutCharInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *SPutCharInstructionContext) FieldInvocationTarget() IFieldInvocationTargetContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IFieldInvocationTargetContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IFieldInvocationTargetContext)
}
func (s *SPutCharInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *SPutCharInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *SPutCharInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterSPutCharInstruction(s)
}
}
func (s *SPutCharInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitSPutCharInstruction(s)
}
}
func (s *SPutCharInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitSPutCharInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) SPutCharInstruction() (localctx ISPutCharInstructionContext) {
localctx = NewSPutCharInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 178, SmaliParserRULE_sPutCharInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1035)
p.Match(SmaliParserOP_SPUT_CHAR)
}
{
p.SetState(1036)
p.RegisterIdentifier()
}
{
p.SetState(1037)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1038)
p.FieldInvocationTarget()
}
return localctx
}
// ISPutShortInstructionContext is an interface to support dynamic dispatch.
type ISPutShortInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsSPutShortInstructionContext differentiates from other interfaces.
IsSPutShortInstructionContext()
}
type SPutShortInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptySPutShortInstructionContext() *SPutShortInstructionContext {
var p = new(SPutShortInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_sPutShortInstruction
return p
}
func (*SPutShortInstructionContext) IsSPutShortInstructionContext() {}
func NewSPutShortInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *SPutShortInstructionContext {
var p = new(SPutShortInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_sPutShortInstruction
return p
}
func (s *SPutShortInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *SPutShortInstructionContext) OP_SPUT_SHORT() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_SPUT_SHORT, 0)
}
func (s *SPutShortInstructionContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *SPutShortInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *SPutShortInstructionContext) FieldInvocationTarget() IFieldInvocationTargetContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IFieldInvocationTargetContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IFieldInvocationTargetContext)
}
func (s *SPutShortInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *SPutShortInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *SPutShortInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterSPutShortInstruction(s)
}
}
func (s *SPutShortInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitSPutShortInstruction(s)
}
}
func (s *SPutShortInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitSPutShortInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) SPutShortInstruction() (localctx ISPutShortInstructionContext) {
localctx = NewSPutShortInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 180, SmaliParserRULE_sPutShortInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1040)
p.Match(SmaliParserOP_SPUT_SHORT)
}
{
p.SetState(1041)
p.RegisterIdentifier()
}
{
p.SetState(1042)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1043)
p.FieldInvocationTarget()
}
return localctx
}
// IInvokeVirtualInstructionContext is an interface to support dynamic dispatch.
type IInvokeVirtualInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsInvokeVirtualInstructionContext differentiates from other interfaces.
IsInvokeVirtualInstructionContext()
}
type InvokeVirtualInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyInvokeVirtualInstructionContext() *InvokeVirtualInstructionContext {
var p = new(InvokeVirtualInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_invokeVirtualInstruction
return p
}
func (*InvokeVirtualInstructionContext) IsInvokeVirtualInstructionContext() {}
func NewInvokeVirtualInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *InvokeVirtualInstructionContext {
var p = new(InvokeVirtualInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_invokeVirtualInstruction
return p
}
func (s *InvokeVirtualInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *InvokeVirtualInstructionContext) OP_INVOKE_VIRTUAL() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_INVOKE_VIRTUAL, 0)
}
func (s *InvokeVirtualInstructionContext) RegisterList() IRegisterListContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterListContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterListContext)
}
func (s *InvokeVirtualInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *InvokeVirtualInstructionContext) MethodInvocationTarget() IMethodInvocationTargetContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IMethodInvocationTargetContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IMethodInvocationTargetContext)
}
func (s *InvokeVirtualInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *InvokeVirtualInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *InvokeVirtualInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterInvokeVirtualInstruction(s)
}
}
func (s *InvokeVirtualInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitInvokeVirtualInstruction(s)
}
}
func (s *InvokeVirtualInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitInvokeVirtualInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) InvokeVirtualInstruction() (localctx IInvokeVirtualInstructionContext) {
localctx = NewInvokeVirtualInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 182, SmaliParserRULE_invokeVirtualInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1045)
p.Match(SmaliParserOP_INVOKE_VIRTUAL)
}
{
p.SetState(1046)
p.RegisterList()
}
{
p.SetState(1047)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1048)
p.MethodInvocationTarget()
}
return localctx
}
// IInvokeSuperInstructionContext is an interface to support dynamic dispatch.
type IInvokeSuperInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsInvokeSuperInstructionContext differentiates from other interfaces.
IsInvokeSuperInstructionContext()
}
type InvokeSuperInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyInvokeSuperInstructionContext() *InvokeSuperInstructionContext {
var p = new(InvokeSuperInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_invokeSuperInstruction
return p
}
func (*InvokeSuperInstructionContext) IsInvokeSuperInstructionContext() {}
func NewInvokeSuperInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *InvokeSuperInstructionContext {
var p = new(InvokeSuperInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_invokeSuperInstruction
return p
}
func (s *InvokeSuperInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *InvokeSuperInstructionContext) OP_INVOKE_SUPER() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_INVOKE_SUPER, 0)
}
func (s *InvokeSuperInstructionContext) RegisterList() IRegisterListContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterListContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterListContext)
}
func (s *InvokeSuperInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *InvokeSuperInstructionContext) MethodInvocationTarget() IMethodInvocationTargetContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IMethodInvocationTargetContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IMethodInvocationTargetContext)
}
func (s *InvokeSuperInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *InvokeSuperInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *InvokeSuperInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterInvokeSuperInstruction(s)
}
}
func (s *InvokeSuperInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitInvokeSuperInstruction(s)
}
}
func (s *InvokeSuperInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitInvokeSuperInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) InvokeSuperInstruction() (localctx IInvokeSuperInstructionContext) {
localctx = NewInvokeSuperInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 184, SmaliParserRULE_invokeSuperInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1050)
p.Match(SmaliParserOP_INVOKE_SUPER)
}
{
p.SetState(1051)
p.RegisterList()
}
{
p.SetState(1052)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1053)
p.MethodInvocationTarget()
}
return localctx
}
// IInvokeDirectInstructionContext is an interface to support dynamic dispatch.
type IInvokeDirectInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsInvokeDirectInstructionContext differentiates from other interfaces.
IsInvokeDirectInstructionContext()
}
type InvokeDirectInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyInvokeDirectInstructionContext() *InvokeDirectInstructionContext {
var p = new(InvokeDirectInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_invokeDirectInstruction
return p
}
func (*InvokeDirectInstructionContext) IsInvokeDirectInstructionContext() {}
func NewInvokeDirectInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *InvokeDirectInstructionContext {
var p = new(InvokeDirectInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_invokeDirectInstruction
return p
}
func (s *InvokeDirectInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *InvokeDirectInstructionContext) OP_INVOKE_DIRECT() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_INVOKE_DIRECT, 0)
}
func (s *InvokeDirectInstructionContext) RegisterList() IRegisterListContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterListContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterListContext)
}
func (s *InvokeDirectInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *InvokeDirectInstructionContext) MethodInvocationTarget() IMethodInvocationTargetContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IMethodInvocationTargetContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IMethodInvocationTargetContext)
}
func (s *InvokeDirectInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *InvokeDirectInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *InvokeDirectInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterInvokeDirectInstruction(s)
}
}
func (s *InvokeDirectInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitInvokeDirectInstruction(s)
}
}
func (s *InvokeDirectInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitInvokeDirectInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) InvokeDirectInstruction() (localctx IInvokeDirectInstructionContext) {
localctx = NewInvokeDirectInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 186, SmaliParserRULE_invokeDirectInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1055)
p.Match(SmaliParserOP_INVOKE_DIRECT)
}
{
p.SetState(1056)
p.RegisterList()
}
{
p.SetState(1057)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1058)
p.MethodInvocationTarget()
}
return localctx
}
// IInvokeStaticInstructionContext is an interface to support dynamic dispatch.
type IInvokeStaticInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsInvokeStaticInstructionContext differentiates from other interfaces.
IsInvokeStaticInstructionContext()
}
type InvokeStaticInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyInvokeStaticInstructionContext() *InvokeStaticInstructionContext {
var p = new(InvokeStaticInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_invokeStaticInstruction
return p
}
func (*InvokeStaticInstructionContext) IsInvokeStaticInstructionContext() {}
func NewInvokeStaticInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *InvokeStaticInstructionContext {
var p = new(InvokeStaticInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_invokeStaticInstruction
return p
}
func (s *InvokeStaticInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *InvokeStaticInstructionContext) OP_INVOKE_STATIC() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_INVOKE_STATIC, 0)
}
func (s *InvokeStaticInstructionContext) RegisterList() IRegisterListContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterListContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterListContext)
}
func (s *InvokeStaticInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *InvokeStaticInstructionContext) MethodInvocationTarget() IMethodInvocationTargetContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IMethodInvocationTargetContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IMethodInvocationTargetContext)
}
func (s *InvokeStaticInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *InvokeStaticInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *InvokeStaticInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterInvokeStaticInstruction(s)
}
}
func (s *InvokeStaticInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitInvokeStaticInstruction(s)
}
}
func (s *InvokeStaticInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitInvokeStaticInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) InvokeStaticInstruction() (localctx IInvokeStaticInstructionContext) {
localctx = NewInvokeStaticInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 188, SmaliParserRULE_invokeStaticInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1060)
p.Match(SmaliParserOP_INVOKE_STATIC)
}
{
p.SetState(1061)
p.RegisterList()
}
{
p.SetState(1062)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1063)
p.MethodInvocationTarget()
}
return localctx
}
// IInvokeInterfaceInstructionContext is an interface to support dynamic dispatch.
type IInvokeInterfaceInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsInvokeInterfaceInstructionContext differentiates from other interfaces.
IsInvokeInterfaceInstructionContext()
}
type InvokeInterfaceInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyInvokeInterfaceInstructionContext() *InvokeInterfaceInstructionContext {
var p = new(InvokeInterfaceInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_invokeInterfaceInstruction
return p
}
func (*InvokeInterfaceInstructionContext) IsInvokeInterfaceInstructionContext() {}
func NewInvokeInterfaceInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *InvokeInterfaceInstructionContext {
var p = new(InvokeInterfaceInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_invokeInterfaceInstruction
return p
}
func (s *InvokeInterfaceInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *InvokeInterfaceInstructionContext) OP_INVOKE_INTERFACE() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_INVOKE_INTERFACE, 0)
}
func (s *InvokeInterfaceInstructionContext) RegisterList() IRegisterListContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterListContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterListContext)
}
func (s *InvokeInterfaceInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *InvokeInterfaceInstructionContext) MethodInvocationTarget() IMethodInvocationTargetContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IMethodInvocationTargetContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IMethodInvocationTargetContext)
}
func (s *InvokeInterfaceInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *InvokeInterfaceInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *InvokeInterfaceInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterInvokeInterfaceInstruction(s)
}
}
func (s *InvokeInterfaceInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitInvokeInterfaceInstruction(s)
}
}
func (s *InvokeInterfaceInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitInvokeInterfaceInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) InvokeInterfaceInstruction() (localctx IInvokeInterfaceInstructionContext) {
localctx = NewInvokeInterfaceInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 190, SmaliParserRULE_invokeInterfaceInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1065)
p.Match(SmaliParserOP_INVOKE_INTERFACE)
}
{
p.SetState(1066)
p.RegisterList()
}
{
p.SetState(1067)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1068)
p.MethodInvocationTarget()
}
return localctx
}
// IInvokeVirtualRangeInstructionContext is an interface to support dynamic dispatch.
type IInvokeVirtualRangeInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsInvokeVirtualRangeInstructionContext differentiates from other interfaces.
IsInvokeVirtualRangeInstructionContext()
}
type InvokeVirtualRangeInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyInvokeVirtualRangeInstructionContext() *InvokeVirtualRangeInstructionContext {
var p = new(InvokeVirtualRangeInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_invokeVirtualRangeInstruction
return p
}
func (*InvokeVirtualRangeInstructionContext) IsInvokeVirtualRangeInstructionContext() {}
func NewInvokeVirtualRangeInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *InvokeVirtualRangeInstructionContext {
var p = new(InvokeVirtualRangeInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_invokeVirtualRangeInstruction
return p
}
func (s *InvokeVirtualRangeInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *InvokeVirtualRangeInstructionContext) OP_INVOKE_VIRTUAL_RANGE() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_INVOKE_VIRTUAL_RANGE, 0)
}
func (s *InvokeVirtualRangeInstructionContext) RegisterRange() IRegisterRangeContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterRangeContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterRangeContext)
}
func (s *InvokeVirtualRangeInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *InvokeVirtualRangeInstructionContext) MethodInvocationTarget() IMethodInvocationTargetContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IMethodInvocationTargetContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IMethodInvocationTargetContext)
}
func (s *InvokeVirtualRangeInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *InvokeVirtualRangeInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *InvokeVirtualRangeInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterInvokeVirtualRangeInstruction(s)
}
}
func (s *InvokeVirtualRangeInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitInvokeVirtualRangeInstruction(s)
}
}
func (s *InvokeVirtualRangeInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitInvokeVirtualRangeInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) InvokeVirtualRangeInstruction() (localctx IInvokeVirtualRangeInstructionContext) {
localctx = NewInvokeVirtualRangeInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 192, SmaliParserRULE_invokeVirtualRangeInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1070)
p.Match(SmaliParserOP_INVOKE_VIRTUAL_RANGE)
}
{
p.SetState(1071)
p.RegisterRange()
}
{
p.SetState(1072)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1073)
p.MethodInvocationTarget()
}
return localctx
}
// IInvokeSuperRangeInstructionContext is an interface to support dynamic dispatch.
type IInvokeSuperRangeInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsInvokeSuperRangeInstructionContext differentiates from other interfaces.
IsInvokeSuperRangeInstructionContext()
}
type InvokeSuperRangeInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyInvokeSuperRangeInstructionContext() *InvokeSuperRangeInstructionContext {
var p = new(InvokeSuperRangeInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_invokeSuperRangeInstruction
return p
}
func (*InvokeSuperRangeInstructionContext) IsInvokeSuperRangeInstructionContext() {}
func NewInvokeSuperRangeInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *InvokeSuperRangeInstructionContext {
var p = new(InvokeSuperRangeInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_invokeSuperRangeInstruction
return p
}
func (s *InvokeSuperRangeInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *InvokeSuperRangeInstructionContext) OP_INVOKE_SUPER_RANGE() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_INVOKE_SUPER_RANGE, 0)
}
func (s *InvokeSuperRangeInstructionContext) RegisterRange() IRegisterRangeContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterRangeContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterRangeContext)
}
func (s *InvokeSuperRangeInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *InvokeSuperRangeInstructionContext) MethodInvocationTarget() IMethodInvocationTargetContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IMethodInvocationTargetContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IMethodInvocationTargetContext)
}
func (s *InvokeSuperRangeInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *InvokeSuperRangeInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *InvokeSuperRangeInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterInvokeSuperRangeInstruction(s)
}
}
func (s *InvokeSuperRangeInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitInvokeSuperRangeInstruction(s)
}
}
func (s *InvokeSuperRangeInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitInvokeSuperRangeInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) InvokeSuperRangeInstruction() (localctx IInvokeSuperRangeInstructionContext) {
localctx = NewInvokeSuperRangeInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 194, SmaliParserRULE_invokeSuperRangeInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1075)
p.Match(SmaliParserOP_INVOKE_SUPER_RANGE)
}
{
p.SetState(1076)
p.RegisterRange()
}
{
p.SetState(1077)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1078)
p.MethodInvocationTarget()
}
return localctx
}
// IInvokeDirectRangeInstructionContext is an interface to support dynamic dispatch.
type IInvokeDirectRangeInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsInvokeDirectRangeInstructionContext differentiates from other interfaces.
IsInvokeDirectRangeInstructionContext()
}
type InvokeDirectRangeInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyInvokeDirectRangeInstructionContext() *InvokeDirectRangeInstructionContext {
var p = new(InvokeDirectRangeInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_invokeDirectRangeInstruction
return p
}
func (*InvokeDirectRangeInstructionContext) IsInvokeDirectRangeInstructionContext() {}
func NewInvokeDirectRangeInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *InvokeDirectRangeInstructionContext {
var p = new(InvokeDirectRangeInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_invokeDirectRangeInstruction
return p
}
func (s *InvokeDirectRangeInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *InvokeDirectRangeInstructionContext) OP_INVOKE_DIRECT_RANGE() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_INVOKE_DIRECT_RANGE, 0)
}
func (s *InvokeDirectRangeInstructionContext) RegisterRange() IRegisterRangeContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterRangeContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterRangeContext)
}
func (s *InvokeDirectRangeInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *InvokeDirectRangeInstructionContext) MethodInvocationTarget() IMethodInvocationTargetContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IMethodInvocationTargetContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IMethodInvocationTargetContext)
}
func (s *InvokeDirectRangeInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *InvokeDirectRangeInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *InvokeDirectRangeInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterInvokeDirectRangeInstruction(s)
}
}
func (s *InvokeDirectRangeInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitInvokeDirectRangeInstruction(s)
}
}
func (s *InvokeDirectRangeInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitInvokeDirectRangeInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) InvokeDirectRangeInstruction() (localctx IInvokeDirectRangeInstructionContext) {
localctx = NewInvokeDirectRangeInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 196, SmaliParserRULE_invokeDirectRangeInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1080)
p.Match(SmaliParserOP_INVOKE_DIRECT_RANGE)
}
{
p.SetState(1081)
p.RegisterRange()
}
{
p.SetState(1082)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1083)
p.MethodInvocationTarget()
}
return localctx
}
// IInvokeStaticRangeInstructionContext is an interface to support dynamic dispatch.
type IInvokeStaticRangeInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsInvokeStaticRangeInstructionContext differentiates from other interfaces.
IsInvokeStaticRangeInstructionContext()
}
type InvokeStaticRangeInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyInvokeStaticRangeInstructionContext() *InvokeStaticRangeInstructionContext {
var p = new(InvokeStaticRangeInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_invokeStaticRangeInstruction
return p
}
func (*InvokeStaticRangeInstructionContext) IsInvokeStaticRangeInstructionContext() {}
func NewInvokeStaticRangeInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *InvokeStaticRangeInstructionContext {
var p = new(InvokeStaticRangeInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_invokeStaticRangeInstruction
return p
}
func (s *InvokeStaticRangeInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *InvokeStaticRangeInstructionContext) OP_INVOKE_STATIC_RANGE() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_INVOKE_STATIC_RANGE, 0)
}
func (s *InvokeStaticRangeInstructionContext) RegisterRange() IRegisterRangeContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterRangeContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterRangeContext)
}
func (s *InvokeStaticRangeInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *InvokeStaticRangeInstructionContext) MethodInvocationTarget() IMethodInvocationTargetContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IMethodInvocationTargetContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IMethodInvocationTargetContext)
}
func (s *InvokeStaticRangeInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *InvokeStaticRangeInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *InvokeStaticRangeInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterInvokeStaticRangeInstruction(s)
}
}
func (s *InvokeStaticRangeInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitInvokeStaticRangeInstruction(s)
}
}
func (s *InvokeStaticRangeInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitInvokeStaticRangeInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) InvokeStaticRangeInstruction() (localctx IInvokeStaticRangeInstructionContext) {
localctx = NewInvokeStaticRangeInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 198, SmaliParserRULE_invokeStaticRangeInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1085)
p.Match(SmaliParserOP_INVOKE_STATIC_RANGE)
}
{
p.SetState(1086)
p.RegisterRange()
}
{
p.SetState(1087)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1088)
p.MethodInvocationTarget()
}
return localctx
}
// IInvokeInterfaceRangeInstructionContext is an interface to support dynamic dispatch.
type IInvokeInterfaceRangeInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsInvokeInterfaceRangeInstructionContext differentiates from other interfaces.
IsInvokeInterfaceRangeInstructionContext()
}
type InvokeInterfaceRangeInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyInvokeInterfaceRangeInstructionContext() *InvokeInterfaceRangeInstructionContext {
var p = new(InvokeInterfaceRangeInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_invokeInterfaceRangeInstruction
return p
}
func (*InvokeInterfaceRangeInstructionContext) IsInvokeInterfaceRangeInstructionContext() {}
func NewInvokeInterfaceRangeInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *InvokeInterfaceRangeInstructionContext {
var p = new(InvokeInterfaceRangeInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_invokeInterfaceRangeInstruction
return p
}
func (s *InvokeInterfaceRangeInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *InvokeInterfaceRangeInstructionContext) OP_INVOKE_INTERFACE_RANGE() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_INVOKE_INTERFACE_RANGE, 0)
}
func (s *InvokeInterfaceRangeInstructionContext) RegisterRange() IRegisterRangeContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterRangeContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterRangeContext)
}
func (s *InvokeInterfaceRangeInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *InvokeInterfaceRangeInstructionContext) MethodInvocationTarget() IMethodInvocationTargetContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IMethodInvocationTargetContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IMethodInvocationTargetContext)
}
func (s *InvokeInterfaceRangeInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *InvokeInterfaceRangeInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *InvokeInterfaceRangeInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterInvokeInterfaceRangeInstruction(s)
}
}
func (s *InvokeInterfaceRangeInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitInvokeInterfaceRangeInstruction(s)
}
}
func (s *InvokeInterfaceRangeInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitInvokeInterfaceRangeInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) InvokeInterfaceRangeInstruction() (localctx IInvokeInterfaceRangeInstructionContext) {
localctx = NewInvokeInterfaceRangeInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 200, SmaliParserRULE_invokeInterfaceRangeInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1090)
p.Match(SmaliParserOP_INVOKE_INTERFACE_RANGE)
}
{
p.SetState(1091)
p.RegisterRange()
}
{
p.SetState(1092)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1093)
p.MethodInvocationTarget()
}
return localctx
}
// IIntToLongInstructionContext is an interface to support dynamic dispatch.
type IIntToLongInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsIntToLongInstructionContext differentiates from other interfaces.
IsIntToLongInstructionContext()
}
type IntToLongInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyIntToLongInstructionContext() *IntToLongInstructionContext {
var p = new(IntToLongInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_intToLongInstruction
return p
}
func (*IntToLongInstructionContext) IsIntToLongInstructionContext() {}
func NewIntToLongInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *IntToLongInstructionContext {
var p = new(IntToLongInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_intToLongInstruction
return p
}
func (s *IntToLongInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *IntToLongInstructionContext) OP_INT_TO_LONG() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_INT_TO_LONG, 0)
}
func (s *IntToLongInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *IntToLongInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *IntToLongInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *IntToLongInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *IntToLongInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *IntToLongInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterIntToLongInstruction(s)
}
}
func (s *IntToLongInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitIntToLongInstruction(s)
}
}
func (s *IntToLongInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitIntToLongInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) IntToLongInstruction() (localctx IIntToLongInstructionContext) {
localctx = NewIntToLongInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 202, SmaliParserRULE_intToLongInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1095)
p.Match(SmaliParserOP_INT_TO_LONG)
}
{
p.SetState(1096)
p.LeftRegister()
}
{
p.SetState(1097)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1098)
p.RightRegister()
}
return localctx
}
// IIntToFloatInstructionContext is an interface to support dynamic dispatch.
type IIntToFloatInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsIntToFloatInstructionContext differentiates from other interfaces.
IsIntToFloatInstructionContext()
}
type IntToFloatInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyIntToFloatInstructionContext() *IntToFloatInstructionContext {
var p = new(IntToFloatInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_intToFloatInstruction
return p
}
func (*IntToFloatInstructionContext) IsIntToFloatInstructionContext() {}
func NewIntToFloatInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *IntToFloatInstructionContext {
var p = new(IntToFloatInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_intToFloatInstruction
return p
}
func (s *IntToFloatInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *IntToFloatInstructionContext) OP_INT_TO_FLOAT() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_INT_TO_FLOAT, 0)
}
func (s *IntToFloatInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *IntToFloatInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *IntToFloatInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *IntToFloatInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *IntToFloatInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *IntToFloatInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterIntToFloatInstruction(s)
}
}
func (s *IntToFloatInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitIntToFloatInstruction(s)
}
}
func (s *IntToFloatInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitIntToFloatInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) IntToFloatInstruction() (localctx IIntToFloatInstructionContext) {
localctx = NewIntToFloatInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 204, SmaliParserRULE_intToFloatInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1100)
p.Match(SmaliParserOP_INT_TO_FLOAT)
}
{
p.SetState(1101)
p.LeftRegister()
}
{
p.SetState(1102)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1103)
p.RightRegister()
}
return localctx
}
// IIntToDoubleInstructionContext is an interface to support dynamic dispatch.
type IIntToDoubleInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsIntToDoubleInstructionContext differentiates from other interfaces.
IsIntToDoubleInstructionContext()
}
type IntToDoubleInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyIntToDoubleInstructionContext() *IntToDoubleInstructionContext {
var p = new(IntToDoubleInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_intToDoubleInstruction
return p
}
func (*IntToDoubleInstructionContext) IsIntToDoubleInstructionContext() {}
func NewIntToDoubleInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *IntToDoubleInstructionContext {
var p = new(IntToDoubleInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_intToDoubleInstruction
return p
}
func (s *IntToDoubleInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *IntToDoubleInstructionContext) OP_INT_TO_DOUBLE() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_INT_TO_DOUBLE, 0)
}
func (s *IntToDoubleInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *IntToDoubleInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *IntToDoubleInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *IntToDoubleInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *IntToDoubleInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *IntToDoubleInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterIntToDoubleInstruction(s)
}
}
func (s *IntToDoubleInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitIntToDoubleInstruction(s)
}
}
func (s *IntToDoubleInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitIntToDoubleInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) IntToDoubleInstruction() (localctx IIntToDoubleInstructionContext) {
localctx = NewIntToDoubleInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 206, SmaliParserRULE_intToDoubleInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1105)
p.Match(SmaliParserOP_INT_TO_DOUBLE)
}
{
p.SetState(1106)
p.LeftRegister()
}
{
p.SetState(1107)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1108)
p.RightRegister()
}
return localctx
}
// ILongToIntInstructionContext is an interface to support dynamic dispatch.
type ILongToIntInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsLongToIntInstructionContext differentiates from other interfaces.
IsLongToIntInstructionContext()
}
type LongToIntInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyLongToIntInstructionContext() *LongToIntInstructionContext {
var p = new(LongToIntInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_longToIntInstruction
return p
}
func (*LongToIntInstructionContext) IsLongToIntInstructionContext() {}
func NewLongToIntInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *LongToIntInstructionContext {
var p = new(LongToIntInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_longToIntInstruction
return p
}
func (s *LongToIntInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *LongToIntInstructionContext) OP_LONG_TO_INT() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_LONG_TO_INT, 0)
}
func (s *LongToIntInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *LongToIntInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *LongToIntInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *LongToIntInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *LongToIntInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *LongToIntInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterLongToIntInstruction(s)
}
}
func (s *LongToIntInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitLongToIntInstruction(s)
}
}
func (s *LongToIntInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitLongToIntInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) LongToIntInstruction() (localctx ILongToIntInstructionContext) {
localctx = NewLongToIntInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 208, SmaliParserRULE_longToIntInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1110)
p.Match(SmaliParserOP_LONG_TO_INT)
}
{
p.SetState(1111)
p.LeftRegister()
}
{
p.SetState(1112)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1113)
p.RightRegister()
}
return localctx
}
// ILongToFloatInstructionContext is an interface to support dynamic dispatch.
type ILongToFloatInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsLongToFloatInstructionContext differentiates from other interfaces.
IsLongToFloatInstructionContext()
}
type LongToFloatInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyLongToFloatInstructionContext() *LongToFloatInstructionContext {
var p = new(LongToFloatInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_longToFloatInstruction
return p
}
func (*LongToFloatInstructionContext) IsLongToFloatInstructionContext() {}
func NewLongToFloatInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *LongToFloatInstructionContext {
var p = new(LongToFloatInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_longToFloatInstruction
return p
}
func (s *LongToFloatInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *LongToFloatInstructionContext) OP_LONG_TO_FLOAT() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_LONG_TO_FLOAT, 0)
}
func (s *LongToFloatInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *LongToFloatInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *LongToFloatInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *LongToFloatInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *LongToFloatInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *LongToFloatInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterLongToFloatInstruction(s)
}
}
func (s *LongToFloatInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitLongToFloatInstruction(s)
}
}
func (s *LongToFloatInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitLongToFloatInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) LongToFloatInstruction() (localctx ILongToFloatInstructionContext) {
localctx = NewLongToFloatInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 210, SmaliParserRULE_longToFloatInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1115)
p.Match(SmaliParserOP_LONG_TO_FLOAT)
}
{
p.SetState(1116)
p.LeftRegister()
}
{
p.SetState(1117)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1118)
p.RightRegister()
}
return localctx
}
// ILongToDoubleInstructionContext is an interface to support dynamic dispatch.
type ILongToDoubleInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsLongToDoubleInstructionContext differentiates from other interfaces.
IsLongToDoubleInstructionContext()
}
type LongToDoubleInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyLongToDoubleInstructionContext() *LongToDoubleInstructionContext {
var p = new(LongToDoubleInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_longToDoubleInstruction
return p
}
func (*LongToDoubleInstructionContext) IsLongToDoubleInstructionContext() {}
func NewLongToDoubleInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *LongToDoubleInstructionContext {
var p = new(LongToDoubleInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_longToDoubleInstruction
return p
}
func (s *LongToDoubleInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *LongToDoubleInstructionContext) OP_LONG_TO_DOUBLE() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_LONG_TO_DOUBLE, 0)
}
func (s *LongToDoubleInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *LongToDoubleInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *LongToDoubleInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *LongToDoubleInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *LongToDoubleInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *LongToDoubleInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterLongToDoubleInstruction(s)
}
}
func (s *LongToDoubleInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitLongToDoubleInstruction(s)
}
}
func (s *LongToDoubleInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitLongToDoubleInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) LongToDoubleInstruction() (localctx ILongToDoubleInstructionContext) {
localctx = NewLongToDoubleInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 212, SmaliParserRULE_longToDoubleInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1120)
p.Match(SmaliParserOP_LONG_TO_DOUBLE)
}
{
p.SetState(1121)
p.LeftRegister()
}
{
p.SetState(1122)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1123)
p.RightRegister()
}
return localctx
}
// IFloatToIntInstructionContext is an interface to support dynamic dispatch.
type IFloatToIntInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsFloatToIntInstructionContext differentiates from other interfaces.
IsFloatToIntInstructionContext()
}
type FloatToIntInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyFloatToIntInstructionContext() *FloatToIntInstructionContext {
var p = new(FloatToIntInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_floatToIntInstruction
return p
}
func (*FloatToIntInstructionContext) IsFloatToIntInstructionContext() {}
func NewFloatToIntInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *FloatToIntInstructionContext {
var p = new(FloatToIntInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_floatToIntInstruction
return p
}
func (s *FloatToIntInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *FloatToIntInstructionContext) OP_FLOAT_TO_INT() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_FLOAT_TO_INT, 0)
}
func (s *FloatToIntInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *FloatToIntInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *FloatToIntInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *FloatToIntInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *FloatToIntInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *FloatToIntInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterFloatToIntInstruction(s)
}
}
func (s *FloatToIntInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitFloatToIntInstruction(s)
}
}
func (s *FloatToIntInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitFloatToIntInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) FloatToIntInstruction() (localctx IFloatToIntInstructionContext) {
localctx = NewFloatToIntInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 214, SmaliParserRULE_floatToIntInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1125)
p.Match(SmaliParserOP_FLOAT_TO_INT)
}
{
p.SetState(1126)
p.LeftRegister()
}
{
p.SetState(1127)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1128)
p.RightRegister()
}
return localctx
}
// IFloatToLongInstructionContext is an interface to support dynamic dispatch.
type IFloatToLongInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsFloatToLongInstructionContext differentiates from other interfaces.
IsFloatToLongInstructionContext()
}
type FloatToLongInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyFloatToLongInstructionContext() *FloatToLongInstructionContext {
var p = new(FloatToLongInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_floatToLongInstruction
return p
}
func (*FloatToLongInstructionContext) IsFloatToLongInstructionContext() {}
func NewFloatToLongInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *FloatToLongInstructionContext {
var p = new(FloatToLongInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_floatToLongInstruction
return p
}
func (s *FloatToLongInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *FloatToLongInstructionContext) OP_FLOAT_TO_LONG() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_FLOAT_TO_LONG, 0)
}
func (s *FloatToLongInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *FloatToLongInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *FloatToLongInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *FloatToLongInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *FloatToLongInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *FloatToLongInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterFloatToLongInstruction(s)
}
}
func (s *FloatToLongInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitFloatToLongInstruction(s)
}
}
func (s *FloatToLongInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitFloatToLongInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) FloatToLongInstruction() (localctx IFloatToLongInstructionContext) {
localctx = NewFloatToLongInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 216, SmaliParserRULE_floatToLongInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1130)
p.Match(SmaliParserOP_FLOAT_TO_LONG)
}
{
p.SetState(1131)
p.LeftRegister()
}
{
p.SetState(1132)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1133)
p.RightRegister()
}
return localctx
}
// IFloatToDoubleInstructionContext is an interface to support dynamic dispatch.
type IFloatToDoubleInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsFloatToDoubleInstructionContext differentiates from other interfaces.
IsFloatToDoubleInstructionContext()
}
type FloatToDoubleInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyFloatToDoubleInstructionContext() *FloatToDoubleInstructionContext {
var p = new(FloatToDoubleInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_floatToDoubleInstruction
return p
}
func (*FloatToDoubleInstructionContext) IsFloatToDoubleInstructionContext() {}
func NewFloatToDoubleInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *FloatToDoubleInstructionContext {
var p = new(FloatToDoubleInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_floatToDoubleInstruction
return p
}
func (s *FloatToDoubleInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *FloatToDoubleInstructionContext) OP_FLOAT_TO_DOUBLE() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_FLOAT_TO_DOUBLE, 0)
}
func (s *FloatToDoubleInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *FloatToDoubleInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *FloatToDoubleInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *FloatToDoubleInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *FloatToDoubleInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *FloatToDoubleInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterFloatToDoubleInstruction(s)
}
}
func (s *FloatToDoubleInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitFloatToDoubleInstruction(s)
}
}
func (s *FloatToDoubleInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitFloatToDoubleInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) FloatToDoubleInstruction() (localctx IFloatToDoubleInstructionContext) {
localctx = NewFloatToDoubleInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 218, SmaliParserRULE_floatToDoubleInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1135)
p.Match(SmaliParserOP_FLOAT_TO_DOUBLE)
}
{
p.SetState(1136)
p.LeftRegister()
}
{
p.SetState(1137)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1138)
p.RightRegister()
}
return localctx
}
// IDoubleToIntInstructionContext is an interface to support dynamic dispatch.
type IDoubleToIntInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsDoubleToIntInstructionContext differentiates from other interfaces.
IsDoubleToIntInstructionContext()
}
type DoubleToIntInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyDoubleToIntInstructionContext() *DoubleToIntInstructionContext {
var p = new(DoubleToIntInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_doubleToIntInstruction
return p
}
func (*DoubleToIntInstructionContext) IsDoubleToIntInstructionContext() {}
func NewDoubleToIntInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DoubleToIntInstructionContext {
var p = new(DoubleToIntInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_doubleToIntInstruction
return p
}
func (s *DoubleToIntInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *DoubleToIntInstructionContext) OP_DOUBLE_TO_INT() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_DOUBLE_TO_INT, 0)
}
func (s *DoubleToIntInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *DoubleToIntInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *DoubleToIntInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *DoubleToIntInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *DoubleToIntInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *DoubleToIntInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterDoubleToIntInstruction(s)
}
}
func (s *DoubleToIntInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitDoubleToIntInstruction(s)
}
}
func (s *DoubleToIntInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitDoubleToIntInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) DoubleToIntInstruction() (localctx IDoubleToIntInstructionContext) {
localctx = NewDoubleToIntInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 220, SmaliParserRULE_doubleToIntInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1140)
p.Match(SmaliParserOP_DOUBLE_TO_INT)
}
{
p.SetState(1141)
p.LeftRegister()
}
{
p.SetState(1142)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1143)
p.RightRegister()
}
return localctx
}
// IDoubleToLongInstructionContext is an interface to support dynamic dispatch.
type IDoubleToLongInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsDoubleToLongInstructionContext differentiates from other interfaces.
IsDoubleToLongInstructionContext()
}
type DoubleToLongInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyDoubleToLongInstructionContext() *DoubleToLongInstructionContext {
var p = new(DoubleToLongInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_doubleToLongInstruction
return p
}
func (*DoubleToLongInstructionContext) IsDoubleToLongInstructionContext() {}
func NewDoubleToLongInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DoubleToLongInstructionContext {
var p = new(DoubleToLongInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_doubleToLongInstruction
return p
}
func (s *DoubleToLongInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *DoubleToLongInstructionContext) OP_DOUBLE_TO_LONG() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_DOUBLE_TO_LONG, 0)
}
func (s *DoubleToLongInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *DoubleToLongInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *DoubleToLongInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *DoubleToLongInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *DoubleToLongInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *DoubleToLongInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterDoubleToLongInstruction(s)
}
}
func (s *DoubleToLongInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitDoubleToLongInstruction(s)
}
}
func (s *DoubleToLongInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitDoubleToLongInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) DoubleToLongInstruction() (localctx IDoubleToLongInstructionContext) {
localctx = NewDoubleToLongInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 222, SmaliParserRULE_doubleToLongInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1145)
p.Match(SmaliParserOP_DOUBLE_TO_LONG)
}
{
p.SetState(1146)
p.LeftRegister()
}
{
p.SetState(1147)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1148)
p.RightRegister()
}
return localctx
}
// IDoubleToFloatInstructionContext is an interface to support dynamic dispatch.
type IDoubleToFloatInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsDoubleToFloatInstructionContext differentiates from other interfaces.
IsDoubleToFloatInstructionContext()
}
type DoubleToFloatInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyDoubleToFloatInstructionContext() *DoubleToFloatInstructionContext {
var p = new(DoubleToFloatInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_doubleToFloatInstruction
return p
}
func (*DoubleToFloatInstructionContext) IsDoubleToFloatInstructionContext() {}
func NewDoubleToFloatInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DoubleToFloatInstructionContext {
var p = new(DoubleToFloatInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_doubleToFloatInstruction
return p
}
func (s *DoubleToFloatInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *DoubleToFloatInstructionContext) OP_DOUBLE_TO_FLOAT() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_DOUBLE_TO_FLOAT, 0)
}
func (s *DoubleToFloatInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *DoubleToFloatInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *DoubleToFloatInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *DoubleToFloatInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *DoubleToFloatInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *DoubleToFloatInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterDoubleToFloatInstruction(s)
}
}
func (s *DoubleToFloatInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitDoubleToFloatInstruction(s)
}
}
func (s *DoubleToFloatInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitDoubleToFloatInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) DoubleToFloatInstruction() (localctx IDoubleToFloatInstructionContext) {
localctx = NewDoubleToFloatInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 224, SmaliParserRULE_doubleToFloatInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1150)
p.Match(SmaliParserOP_DOUBLE_TO_FLOAT)
}
{
p.SetState(1151)
p.LeftRegister()
}
{
p.SetState(1152)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1153)
p.RightRegister()
}
return localctx
}
// IIntToByteInstructionContext is an interface to support dynamic dispatch.
type IIntToByteInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsIntToByteInstructionContext differentiates from other interfaces.
IsIntToByteInstructionContext()
}
type IntToByteInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyIntToByteInstructionContext() *IntToByteInstructionContext {
var p = new(IntToByteInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_intToByteInstruction
return p
}
func (*IntToByteInstructionContext) IsIntToByteInstructionContext() {}
func NewIntToByteInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *IntToByteInstructionContext {
var p = new(IntToByteInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_intToByteInstruction
return p
}
func (s *IntToByteInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *IntToByteInstructionContext) OP_INT_TO_BYTE() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_INT_TO_BYTE, 0)
}
func (s *IntToByteInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *IntToByteInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *IntToByteInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *IntToByteInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *IntToByteInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *IntToByteInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterIntToByteInstruction(s)
}
}
func (s *IntToByteInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitIntToByteInstruction(s)
}
}
func (s *IntToByteInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitIntToByteInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) IntToByteInstruction() (localctx IIntToByteInstructionContext) {
localctx = NewIntToByteInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 226, SmaliParserRULE_intToByteInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1155)
p.Match(SmaliParserOP_INT_TO_BYTE)
}
{
p.SetState(1156)
p.LeftRegister()
}
{
p.SetState(1157)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1158)
p.RightRegister()
}
return localctx
}
// IIntToCharInstructionContext is an interface to support dynamic dispatch.
type IIntToCharInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsIntToCharInstructionContext differentiates from other interfaces.
IsIntToCharInstructionContext()
}
type IntToCharInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyIntToCharInstructionContext() *IntToCharInstructionContext {
var p = new(IntToCharInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_intToCharInstruction
return p
}
func (*IntToCharInstructionContext) IsIntToCharInstructionContext() {}
func NewIntToCharInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *IntToCharInstructionContext {
var p = new(IntToCharInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_intToCharInstruction
return p
}
func (s *IntToCharInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *IntToCharInstructionContext) OP_INT_TO_CHAR() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_INT_TO_CHAR, 0)
}
func (s *IntToCharInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *IntToCharInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *IntToCharInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *IntToCharInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *IntToCharInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *IntToCharInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterIntToCharInstruction(s)
}
}
func (s *IntToCharInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitIntToCharInstruction(s)
}
}
func (s *IntToCharInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitIntToCharInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) IntToCharInstruction() (localctx IIntToCharInstructionContext) {
localctx = NewIntToCharInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 228, SmaliParserRULE_intToCharInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1160)
p.Match(SmaliParserOP_INT_TO_CHAR)
}
{
p.SetState(1161)
p.LeftRegister()
}
{
p.SetState(1162)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1163)
p.RightRegister()
}
return localctx
}
// IIntToShortInstructionContext is an interface to support dynamic dispatch.
type IIntToShortInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsIntToShortInstructionContext differentiates from other interfaces.
IsIntToShortInstructionContext()
}
type IntToShortInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyIntToShortInstructionContext() *IntToShortInstructionContext {
var p = new(IntToShortInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_intToShortInstruction
return p
}
func (*IntToShortInstructionContext) IsIntToShortInstructionContext() {}
func NewIntToShortInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *IntToShortInstructionContext {
var p = new(IntToShortInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_intToShortInstruction
return p
}
func (s *IntToShortInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *IntToShortInstructionContext) OP_INT_TO_SHORT() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_INT_TO_SHORT, 0)
}
func (s *IntToShortInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *IntToShortInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *IntToShortInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *IntToShortInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *IntToShortInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *IntToShortInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterIntToShortInstruction(s)
}
}
func (s *IntToShortInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitIntToShortInstruction(s)
}
}
func (s *IntToShortInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitIntToShortInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) IntToShortInstruction() (localctx IIntToShortInstructionContext) {
localctx = NewIntToShortInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 230, SmaliParserRULE_intToShortInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1165)
p.Match(SmaliParserOP_INT_TO_SHORT)
}
{
p.SetState(1166)
p.LeftRegister()
}
{
p.SetState(1167)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1168)
p.RightRegister()
}
return localctx
}
// IIfLabelContext is an interface to support dynamic dispatch.
type IIfLabelContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsIfLabelContext differentiates from other interfaces.
IsIfLabelContext()
}
type IfLabelContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyIfLabelContext() *IfLabelContext {
var p = new(IfLabelContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_ifLabel
return p
}
func (*IfLabelContext) IsIfLabelContext() {}
func NewIfLabelContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *IfLabelContext {
var p = new(IfLabelContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_ifLabel
return p
}
func (s *IfLabelContext) GetParser() antlr.Parser { return s.parser }
func (s *IfLabelContext) Label() ILabelContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILabelContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILabelContext)
}
func (s *IfLabelContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *IfLabelContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *IfLabelContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterIfLabel(s)
}
}
func (s *IfLabelContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitIfLabel(s)
}
}
func (s *IfLabelContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitIfLabel(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) IfLabel() (localctx IIfLabelContext) {
localctx = NewIfLabelContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 232, SmaliParserRULE_ifLabel)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1170)
p.Label()
}
return localctx
}
// IIfEqzInstructionContext is an interface to support dynamic dispatch.
type IIfEqzInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsIfEqzInstructionContext differentiates from other interfaces.
IsIfEqzInstructionContext()
}
type IfEqzInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyIfEqzInstructionContext() *IfEqzInstructionContext {
var p = new(IfEqzInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_ifEqzInstruction
return p
}
func (*IfEqzInstructionContext) IsIfEqzInstructionContext() {}
func NewIfEqzInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *IfEqzInstructionContext {
var p = new(IfEqzInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_ifEqzInstruction
return p
}
func (s *IfEqzInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *IfEqzInstructionContext) OP_IF_EQZ() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_IF_EQZ, 0)
}
func (s *IfEqzInstructionContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *IfEqzInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *IfEqzInstructionContext) IfLabel() IIfLabelContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IIfLabelContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IIfLabelContext)
}
func (s *IfEqzInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *IfEqzInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *IfEqzInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterIfEqzInstruction(s)
}
}
func (s *IfEqzInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitIfEqzInstruction(s)
}
}
func (s *IfEqzInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitIfEqzInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) IfEqzInstruction() (localctx IIfEqzInstructionContext) {
localctx = NewIfEqzInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 234, SmaliParserRULE_ifEqzInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1172)
p.Match(SmaliParserOP_IF_EQZ)
}
{
p.SetState(1173)
p.RegisterIdentifier()
}
{
p.SetState(1174)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1175)
p.IfLabel()
}
return localctx
}
// IIfNezInstructionContext is an interface to support dynamic dispatch.
type IIfNezInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsIfNezInstructionContext differentiates from other interfaces.
IsIfNezInstructionContext()
}
type IfNezInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyIfNezInstructionContext() *IfNezInstructionContext {
var p = new(IfNezInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_ifNezInstruction
return p
}
func (*IfNezInstructionContext) IsIfNezInstructionContext() {}
func NewIfNezInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *IfNezInstructionContext {
var p = new(IfNezInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_ifNezInstruction
return p
}
func (s *IfNezInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *IfNezInstructionContext) OP_IF_NEZ() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_IF_NEZ, 0)
}
func (s *IfNezInstructionContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *IfNezInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *IfNezInstructionContext) IfLabel() IIfLabelContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IIfLabelContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IIfLabelContext)
}
func (s *IfNezInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *IfNezInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *IfNezInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterIfNezInstruction(s)
}
}
func (s *IfNezInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitIfNezInstruction(s)
}
}
func (s *IfNezInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitIfNezInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) IfNezInstruction() (localctx IIfNezInstructionContext) {
localctx = NewIfNezInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 236, SmaliParserRULE_ifNezInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1177)
p.Match(SmaliParserOP_IF_NEZ)
}
{
p.SetState(1178)
p.RegisterIdentifier()
}
{
p.SetState(1179)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1180)
p.IfLabel()
}
return localctx
}
// IIfLtzInstructionContext is an interface to support dynamic dispatch.
type IIfLtzInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsIfLtzInstructionContext differentiates from other interfaces.
IsIfLtzInstructionContext()
}
type IfLtzInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyIfLtzInstructionContext() *IfLtzInstructionContext {
var p = new(IfLtzInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_ifLtzInstruction
return p
}
func (*IfLtzInstructionContext) IsIfLtzInstructionContext() {}
func NewIfLtzInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *IfLtzInstructionContext {
var p = new(IfLtzInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_ifLtzInstruction
return p
}
func (s *IfLtzInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *IfLtzInstructionContext) OP_IF_LTZ() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_IF_LTZ, 0)
}
func (s *IfLtzInstructionContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *IfLtzInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *IfLtzInstructionContext) IfLabel() IIfLabelContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IIfLabelContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IIfLabelContext)
}
func (s *IfLtzInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *IfLtzInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *IfLtzInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterIfLtzInstruction(s)
}
}
func (s *IfLtzInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitIfLtzInstruction(s)
}
}
func (s *IfLtzInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitIfLtzInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) IfLtzInstruction() (localctx IIfLtzInstructionContext) {
localctx = NewIfLtzInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 238, SmaliParserRULE_ifLtzInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1182)
p.Match(SmaliParserOP_IF_LTZ)
}
{
p.SetState(1183)
p.RegisterIdentifier()
}
{
p.SetState(1184)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1185)
p.IfLabel()
}
return localctx
}
// IIfGezInstructionContext is an interface to support dynamic dispatch.
type IIfGezInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsIfGezInstructionContext differentiates from other interfaces.
IsIfGezInstructionContext()
}
type IfGezInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyIfGezInstructionContext() *IfGezInstructionContext {
var p = new(IfGezInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_ifGezInstruction
return p
}
func (*IfGezInstructionContext) IsIfGezInstructionContext() {}
func NewIfGezInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *IfGezInstructionContext {
var p = new(IfGezInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_ifGezInstruction
return p
}
func (s *IfGezInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *IfGezInstructionContext) OP_IF_GEZ() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_IF_GEZ, 0)
}
func (s *IfGezInstructionContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *IfGezInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *IfGezInstructionContext) IfLabel() IIfLabelContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IIfLabelContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IIfLabelContext)
}
func (s *IfGezInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *IfGezInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *IfGezInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterIfGezInstruction(s)
}
}
func (s *IfGezInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitIfGezInstruction(s)
}
}
func (s *IfGezInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitIfGezInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) IfGezInstruction() (localctx IIfGezInstructionContext) {
localctx = NewIfGezInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 240, SmaliParserRULE_ifGezInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1187)
p.Match(SmaliParserOP_IF_GEZ)
}
{
p.SetState(1188)
p.RegisterIdentifier()
}
{
p.SetState(1189)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1190)
p.IfLabel()
}
return localctx
}
// IIfGtzInstructionContext is an interface to support dynamic dispatch.
type IIfGtzInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsIfGtzInstructionContext differentiates from other interfaces.
IsIfGtzInstructionContext()
}
type IfGtzInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyIfGtzInstructionContext() *IfGtzInstructionContext {
var p = new(IfGtzInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_ifGtzInstruction
return p
}
func (*IfGtzInstructionContext) IsIfGtzInstructionContext() {}
func NewIfGtzInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *IfGtzInstructionContext {
var p = new(IfGtzInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_ifGtzInstruction
return p
}
func (s *IfGtzInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *IfGtzInstructionContext) OP_IF_GTZ() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_IF_GTZ, 0)
}
func (s *IfGtzInstructionContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *IfGtzInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *IfGtzInstructionContext) IfLabel() IIfLabelContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IIfLabelContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IIfLabelContext)
}
func (s *IfGtzInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *IfGtzInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *IfGtzInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterIfGtzInstruction(s)
}
}
func (s *IfGtzInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitIfGtzInstruction(s)
}
}
func (s *IfGtzInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitIfGtzInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) IfGtzInstruction() (localctx IIfGtzInstructionContext) {
localctx = NewIfGtzInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 242, SmaliParserRULE_ifGtzInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1192)
p.Match(SmaliParserOP_IF_GTZ)
}
{
p.SetState(1193)
p.RegisterIdentifier()
}
{
p.SetState(1194)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1195)
p.IfLabel()
}
return localctx
}
// IIfLezInstructionContext is an interface to support dynamic dispatch.
type IIfLezInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsIfLezInstructionContext differentiates from other interfaces.
IsIfLezInstructionContext()
}
type IfLezInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyIfLezInstructionContext() *IfLezInstructionContext {
var p = new(IfLezInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_ifLezInstruction
return p
}
func (*IfLezInstructionContext) IsIfLezInstructionContext() {}
func NewIfLezInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *IfLezInstructionContext {
var p = new(IfLezInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_ifLezInstruction
return p
}
func (s *IfLezInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *IfLezInstructionContext) OP_IF_LEZ() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_IF_LEZ, 0)
}
func (s *IfLezInstructionContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *IfLezInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *IfLezInstructionContext) IfLabel() IIfLabelContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IIfLabelContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IIfLabelContext)
}
func (s *IfLezInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *IfLezInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *IfLezInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterIfLezInstruction(s)
}
}
func (s *IfLezInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitIfLezInstruction(s)
}
}
func (s *IfLezInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitIfLezInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) IfLezInstruction() (localctx IIfLezInstructionContext) {
localctx = NewIfLezInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 244, SmaliParserRULE_ifLezInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1197)
p.Match(SmaliParserOP_IF_LEZ)
}
{
p.SetState(1198)
p.RegisterIdentifier()
}
{
p.SetState(1199)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1200)
p.IfLabel()
}
return localctx
}
// INegIntInstructionContext is an interface to support dynamic dispatch.
type INegIntInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsNegIntInstructionContext differentiates from other interfaces.
IsNegIntInstructionContext()
}
type NegIntInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyNegIntInstructionContext() *NegIntInstructionContext {
var p = new(NegIntInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_negIntInstruction
return p
}
func (*NegIntInstructionContext) IsNegIntInstructionContext() {}
func NewNegIntInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *NegIntInstructionContext {
var p = new(NegIntInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_negIntInstruction
return p
}
func (s *NegIntInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *NegIntInstructionContext) OP_NEG_INT() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_NEG_INT, 0)
}
func (s *NegIntInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *NegIntInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *NegIntInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *NegIntInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *NegIntInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *NegIntInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterNegIntInstruction(s)
}
}
func (s *NegIntInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitNegIntInstruction(s)
}
}
func (s *NegIntInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitNegIntInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) NegIntInstruction() (localctx INegIntInstructionContext) {
localctx = NewNegIntInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 246, SmaliParserRULE_negIntInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1202)
p.Match(SmaliParserOP_NEG_INT)
}
{
p.SetState(1203)
p.LeftRegister()
}
{
p.SetState(1204)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1205)
p.RightRegister()
}
return localctx
}
// INotIntInstructionContext is an interface to support dynamic dispatch.
type INotIntInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsNotIntInstructionContext differentiates from other interfaces.
IsNotIntInstructionContext()
}
type NotIntInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyNotIntInstructionContext() *NotIntInstructionContext {
var p = new(NotIntInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_notIntInstruction
return p
}
func (*NotIntInstructionContext) IsNotIntInstructionContext() {}
func NewNotIntInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *NotIntInstructionContext {
var p = new(NotIntInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_notIntInstruction
return p
}
func (s *NotIntInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *NotIntInstructionContext) OP_NOT_INT() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_NOT_INT, 0)
}
func (s *NotIntInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *NotIntInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *NotIntInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *NotIntInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *NotIntInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *NotIntInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterNotIntInstruction(s)
}
}
func (s *NotIntInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitNotIntInstruction(s)
}
}
func (s *NotIntInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitNotIntInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) NotIntInstruction() (localctx INotIntInstructionContext) {
localctx = NewNotIntInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 248, SmaliParserRULE_notIntInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1207)
p.Match(SmaliParserOP_NOT_INT)
}
{
p.SetState(1208)
p.LeftRegister()
}
{
p.SetState(1209)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1210)
p.RightRegister()
}
return localctx
}
// INegLongInstructionContext is an interface to support dynamic dispatch.
type INegLongInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsNegLongInstructionContext differentiates from other interfaces.
IsNegLongInstructionContext()
}
type NegLongInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyNegLongInstructionContext() *NegLongInstructionContext {
var p = new(NegLongInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_negLongInstruction
return p
}
func (*NegLongInstructionContext) IsNegLongInstructionContext() {}
func NewNegLongInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *NegLongInstructionContext {
var p = new(NegLongInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_negLongInstruction
return p
}
func (s *NegLongInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *NegLongInstructionContext) OP_NEG_LONG() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_NEG_LONG, 0)
}
func (s *NegLongInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *NegLongInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *NegLongInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *NegLongInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *NegLongInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *NegLongInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterNegLongInstruction(s)
}
}
func (s *NegLongInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitNegLongInstruction(s)
}
}
func (s *NegLongInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitNegLongInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) NegLongInstruction() (localctx INegLongInstructionContext) {
localctx = NewNegLongInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 250, SmaliParserRULE_negLongInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1212)
p.Match(SmaliParserOP_NEG_LONG)
}
{
p.SetState(1213)
p.LeftRegister()
}
{
p.SetState(1214)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1215)
p.RightRegister()
}
return localctx
}
// INotLongInstructionContext is an interface to support dynamic dispatch.
type INotLongInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsNotLongInstructionContext differentiates from other interfaces.
IsNotLongInstructionContext()
}
type NotLongInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyNotLongInstructionContext() *NotLongInstructionContext {
var p = new(NotLongInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_notLongInstruction
return p
}
func (*NotLongInstructionContext) IsNotLongInstructionContext() {}
func NewNotLongInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *NotLongInstructionContext {
var p = new(NotLongInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_notLongInstruction
return p
}
func (s *NotLongInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *NotLongInstructionContext) OP_NOT_LONG() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_NOT_LONG, 0)
}
func (s *NotLongInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *NotLongInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *NotLongInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *NotLongInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *NotLongInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *NotLongInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterNotLongInstruction(s)
}
}
func (s *NotLongInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitNotLongInstruction(s)
}
}
func (s *NotLongInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitNotLongInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) NotLongInstruction() (localctx INotLongInstructionContext) {
localctx = NewNotLongInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 252, SmaliParserRULE_notLongInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1217)
p.Match(SmaliParserOP_NOT_LONG)
}
{
p.SetState(1218)
p.LeftRegister()
}
{
p.SetState(1219)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1220)
p.RightRegister()
}
return localctx
}
// INegFloatInstructionContext is an interface to support dynamic dispatch.
type INegFloatInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsNegFloatInstructionContext differentiates from other interfaces.
IsNegFloatInstructionContext()
}
type NegFloatInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyNegFloatInstructionContext() *NegFloatInstructionContext {
var p = new(NegFloatInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_negFloatInstruction
return p
}
func (*NegFloatInstructionContext) IsNegFloatInstructionContext() {}
func NewNegFloatInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *NegFloatInstructionContext {
var p = new(NegFloatInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_negFloatInstruction
return p
}
func (s *NegFloatInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *NegFloatInstructionContext) OP_NEG_FLOAT() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_NEG_FLOAT, 0)
}
func (s *NegFloatInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *NegFloatInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *NegFloatInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *NegFloatInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *NegFloatInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *NegFloatInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterNegFloatInstruction(s)
}
}
func (s *NegFloatInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitNegFloatInstruction(s)
}
}
func (s *NegFloatInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitNegFloatInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) NegFloatInstruction() (localctx INegFloatInstructionContext) {
localctx = NewNegFloatInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 254, SmaliParserRULE_negFloatInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1222)
p.Match(SmaliParserOP_NEG_FLOAT)
}
{
p.SetState(1223)
p.LeftRegister()
}
{
p.SetState(1224)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1225)
p.RightRegister()
}
return localctx
}
// INegDoubleInstructionContext is an interface to support dynamic dispatch.
type INegDoubleInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsNegDoubleInstructionContext differentiates from other interfaces.
IsNegDoubleInstructionContext()
}
type NegDoubleInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyNegDoubleInstructionContext() *NegDoubleInstructionContext {
var p = new(NegDoubleInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_negDoubleInstruction
return p
}
func (*NegDoubleInstructionContext) IsNegDoubleInstructionContext() {}
func NewNegDoubleInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *NegDoubleInstructionContext {
var p = new(NegDoubleInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_negDoubleInstruction
return p
}
func (s *NegDoubleInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *NegDoubleInstructionContext) OP_NEG_DOUBLE() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_NEG_DOUBLE, 0)
}
func (s *NegDoubleInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *NegDoubleInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *NegDoubleInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *NegDoubleInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *NegDoubleInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *NegDoubleInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterNegDoubleInstruction(s)
}
}
func (s *NegDoubleInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitNegDoubleInstruction(s)
}
}
func (s *NegDoubleInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitNegDoubleInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) NegDoubleInstruction() (localctx INegDoubleInstructionContext) {
localctx = NewNegDoubleInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 256, SmaliParserRULE_negDoubleInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1227)
p.Match(SmaliParserOP_NEG_DOUBLE)
}
{
p.SetState(1228)
p.LeftRegister()
}
{
p.SetState(1229)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1230)
p.RightRegister()
}
return localctx
}
// IIfEqInstructionContext is an interface to support dynamic dispatch.
type IIfEqInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsIfEqInstructionContext differentiates from other interfaces.
IsIfEqInstructionContext()
}
type IfEqInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyIfEqInstructionContext() *IfEqInstructionContext {
var p = new(IfEqInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_ifEqInstruction
return p
}
func (*IfEqInstructionContext) IsIfEqInstructionContext() {}
func NewIfEqInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *IfEqInstructionContext {
var p = new(IfEqInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_ifEqInstruction
return p
}
func (s *IfEqInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *IfEqInstructionContext) OP_IF_EQ() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_IF_EQ, 0)
}
func (s *IfEqInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *IfEqInstructionContext) AllCOMMA() []antlr.TerminalNode {
return s.GetTokens(SmaliParserCOMMA)
}
func (s *IfEqInstructionContext) COMMA(i int) antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, i)
}
func (s *IfEqInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *IfEqInstructionContext) IfLabel() IIfLabelContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IIfLabelContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IIfLabelContext)
}
func (s *IfEqInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *IfEqInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *IfEqInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterIfEqInstruction(s)
}
}
func (s *IfEqInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitIfEqInstruction(s)
}
}
func (s *IfEqInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitIfEqInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) IfEqInstruction() (localctx IIfEqInstructionContext) {
localctx = NewIfEqInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 258, SmaliParserRULE_ifEqInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1232)
p.Match(SmaliParserOP_IF_EQ)
}
{
p.SetState(1233)
p.LeftRegister()
}
{
p.SetState(1234)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1235)
p.RightRegister()
}
{
p.SetState(1236)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1237)
p.IfLabel()
}
return localctx
}
// IIfNeInstructionContext is an interface to support dynamic dispatch.
type IIfNeInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsIfNeInstructionContext differentiates from other interfaces.
IsIfNeInstructionContext()
}
type IfNeInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyIfNeInstructionContext() *IfNeInstructionContext {
var p = new(IfNeInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_ifNeInstruction
return p
}
func (*IfNeInstructionContext) IsIfNeInstructionContext() {}
func NewIfNeInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *IfNeInstructionContext {
var p = new(IfNeInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_ifNeInstruction
return p
}
func (s *IfNeInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *IfNeInstructionContext) OP_IF_NE() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_IF_NE, 0)
}
func (s *IfNeInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *IfNeInstructionContext) AllCOMMA() []antlr.TerminalNode {
return s.GetTokens(SmaliParserCOMMA)
}
func (s *IfNeInstructionContext) COMMA(i int) antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, i)
}
func (s *IfNeInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *IfNeInstructionContext) IfLabel() IIfLabelContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IIfLabelContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IIfLabelContext)
}
func (s *IfNeInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *IfNeInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *IfNeInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterIfNeInstruction(s)
}
}
func (s *IfNeInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitIfNeInstruction(s)
}
}
func (s *IfNeInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitIfNeInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) IfNeInstruction() (localctx IIfNeInstructionContext) {
localctx = NewIfNeInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 260, SmaliParserRULE_ifNeInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1239)
p.Match(SmaliParserOP_IF_NE)
}
{
p.SetState(1240)
p.LeftRegister()
}
{
p.SetState(1241)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1242)
p.RightRegister()
}
{
p.SetState(1243)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1244)
p.IfLabel()
}
return localctx
}
// IIfLtInstructionContext is an interface to support dynamic dispatch.
type IIfLtInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsIfLtInstructionContext differentiates from other interfaces.
IsIfLtInstructionContext()
}
type IfLtInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyIfLtInstructionContext() *IfLtInstructionContext {
var p = new(IfLtInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_ifLtInstruction
return p
}
func (*IfLtInstructionContext) IsIfLtInstructionContext() {}
func NewIfLtInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *IfLtInstructionContext {
var p = new(IfLtInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_ifLtInstruction
return p
}
func (s *IfLtInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *IfLtInstructionContext) OP_IF_LT() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_IF_LT, 0)
}
func (s *IfLtInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *IfLtInstructionContext) AllCOMMA() []antlr.TerminalNode {
return s.GetTokens(SmaliParserCOMMA)
}
func (s *IfLtInstructionContext) COMMA(i int) antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, i)
}
func (s *IfLtInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *IfLtInstructionContext) IfLabel() IIfLabelContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IIfLabelContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IIfLabelContext)
}
func (s *IfLtInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *IfLtInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *IfLtInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterIfLtInstruction(s)
}
}
func (s *IfLtInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitIfLtInstruction(s)
}
}
func (s *IfLtInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitIfLtInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) IfLtInstruction() (localctx IIfLtInstructionContext) {
localctx = NewIfLtInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 262, SmaliParserRULE_ifLtInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1246)
p.Match(SmaliParserOP_IF_LT)
}
{
p.SetState(1247)
p.LeftRegister()
}
{
p.SetState(1248)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1249)
p.RightRegister()
}
{
p.SetState(1250)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1251)
p.IfLabel()
}
return localctx
}
// IIfGeInstructionContext is an interface to support dynamic dispatch.
type IIfGeInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsIfGeInstructionContext differentiates from other interfaces.
IsIfGeInstructionContext()
}
type IfGeInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyIfGeInstructionContext() *IfGeInstructionContext {
var p = new(IfGeInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_ifGeInstruction
return p
}
func (*IfGeInstructionContext) IsIfGeInstructionContext() {}
func NewIfGeInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *IfGeInstructionContext {
var p = new(IfGeInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_ifGeInstruction
return p
}
func (s *IfGeInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *IfGeInstructionContext) OP_IF_GE() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_IF_GE, 0)
}
func (s *IfGeInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *IfGeInstructionContext) AllCOMMA() []antlr.TerminalNode {
return s.GetTokens(SmaliParserCOMMA)
}
func (s *IfGeInstructionContext) COMMA(i int) antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, i)
}
func (s *IfGeInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *IfGeInstructionContext) IfLabel() IIfLabelContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IIfLabelContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IIfLabelContext)
}
func (s *IfGeInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *IfGeInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *IfGeInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterIfGeInstruction(s)
}
}
func (s *IfGeInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitIfGeInstruction(s)
}
}
func (s *IfGeInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitIfGeInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) IfGeInstruction() (localctx IIfGeInstructionContext) {
localctx = NewIfGeInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 264, SmaliParserRULE_ifGeInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1253)
p.Match(SmaliParserOP_IF_GE)
}
{
p.SetState(1254)
p.LeftRegister()
}
{
p.SetState(1255)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1256)
p.RightRegister()
}
{
p.SetState(1257)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1258)
p.IfLabel()
}
return localctx
}
// IIfGtInstructionContext is an interface to support dynamic dispatch.
type IIfGtInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsIfGtInstructionContext differentiates from other interfaces.
IsIfGtInstructionContext()
}
type IfGtInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyIfGtInstructionContext() *IfGtInstructionContext {
var p = new(IfGtInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_ifGtInstruction
return p
}
func (*IfGtInstructionContext) IsIfGtInstructionContext() {}
func NewIfGtInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *IfGtInstructionContext {
var p = new(IfGtInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_ifGtInstruction
return p
}
func (s *IfGtInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *IfGtInstructionContext) OP_IF_GT() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_IF_GT, 0)
}
func (s *IfGtInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *IfGtInstructionContext) AllCOMMA() []antlr.TerminalNode {
return s.GetTokens(SmaliParserCOMMA)
}
func (s *IfGtInstructionContext) COMMA(i int) antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, i)
}
func (s *IfGtInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *IfGtInstructionContext) IfLabel() IIfLabelContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IIfLabelContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IIfLabelContext)
}
func (s *IfGtInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *IfGtInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *IfGtInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterIfGtInstruction(s)
}
}
func (s *IfGtInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitIfGtInstruction(s)
}
}
func (s *IfGtInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitIfGtInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) IfGtInstruction() (localctx IIfGtInstructionContext) {
localctx = NewIfGtInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 266, SmaliParserRULE_ifGtInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1260)
p.Match(SmaliParserOP_IF_GT)
}
{
p.SetState(1261)
p.LeftRegister()
}
{
p.SetState(1262)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1263)
p.RightRegister()
}
{
p.SetState(1264)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1265)
p.IfLabel()
}
return localctx
}
// IIfLeInstructionContext is an interface to support dynamic dispatch.
type IIfLeInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsIfLeInstructionContext differentiates from other interfaces.
IsIfLeInstructionContext()
}
type IfLeInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyIfLeInstructionContext() *IfLeInstructionContext {
var p = new(IfLeInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_ifLeInstruction
return p
}
func (*IfLeInstructionContext) IsIfLeInstructionContext() {}
func NewIfLeInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *IfLeInstructionContext {
var p = new(IfLeInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_ifLeInstruction
return p
}
func (s *IfLeInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *IfLeInstructionContext) OP_IF_LE() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_IF_LE, 0)
}
func (s *IfLeInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *IfLeInstructionContext) AllCOMMA() []antlr.TerminalNode {
return s.GetTokens(SmaliParserCOMMA)
}
func (s *IfLeInstructionContext) COMMA(i int) antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, i)
}
func (s *IfLeInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *IfLeInstructionContext) IfLabel() IIfLabelContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IIfLabelContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IIfLabelContext)
}
func (s *IfLeInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *IfLeInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *IfLeInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterIfLeInstruction(s)
}
}
func (s *IfLeInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitIfLeInstruction(s)
}
}
func (s *IfLeInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitIfLeInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) IfLeInstruction() (localctx IIfLeInstructionContext) {
localctx = NewIfLeInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 268, SmaliParserRULE_ifLeInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1267)
p.Match(SmaliParserOP_IF_LE)
}
{
p.SetState(1268)
p.LeftRegister()
}
{
p.SetState(1269)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1270)
p.RightRegister()
}
{
p.SetState(1271)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1272)
p.IfLabel()
}
return localctx
}
// IAddInt2addrInstructionContext is an interface to support dynamic dispatch.
type IAddInt2addrInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsAddInt2addrInstructionContext differentiates from other interfaces.
IsAddInt2addrInstructionContext()
}
type AddInt2addrInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyAddInt2addrInstructionContext() *AddInt2addrInstructionContext {
var p = new(AddInt2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_addInt2addrInstruction
return p
}
func (*AddInt2addrInstructionContext) IsAddInt2addrInstructionContext() {}
func NewAddInt2addrInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *AddInt2addrInstructionContext {
var p = new(AddInt2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_addInt2addrInstruction
return p
}
func (s *AddInt2addrInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *AddInt2addrInstructionContext) OP_ADD_INT_2ADDR() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_ADD_INT_2ADDR, 0)
}
func (s *AddInt2addrInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *AddInt2addrInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *AddInt2addrInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *AddInt2addrInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *AddInt2addrInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *AddInt2addrInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterAddInt2addrInstruction(s)
}
}
func (s *AddInt2addrInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitAddInt2addrInstruction(s)
}
}
func (s *AddInt2addrInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitAddInt2addrInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) AddInt2addrInstruction() (localctx IAddInt2addrInstructionContext) {
localctx = NewAddInt2addrInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 270, SmaliParserRULE_addInt2addrInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1274)
p.Match(SmaliParserOP_ADD_INT_2ADDR)
}
{
p.SetState(1275)
p.LeftRegister()
}
{
p.SetState(1276)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1277)
p.RightRegister()
}
return localctx
}
// ISubInt2addrInstructionContext is an interface to support dynamic dispatch.
type ISubInt2addrInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsSubInt2addrInstructionContext differentiates from other interfaces.
IsSubInt2addrInstructionContext()
}
type SubInt2addrInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptySubInt2addrInstructionContext() *SubInt2addrInstructionContext {
var p = new(SubInt2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_subInt2addrInstruction
return p
}
func (*SubInt2addrInstructionContext) IsSubInt2addrInstructionContext() {}
func NewSubInt2addrInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *SubInt2addrInstructionContext {
var p = new(SubInt2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_subInt2addrInstruction
return p
}
func (s *SubInt2addrInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *SubInt2addrInstructionContext) OP_SUB_INT_2ADDR() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_SUB_INT_2ADDR, 0)
}
func (s *SubInt2addrInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *SubInt2addrInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *SubInt2addrInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *SubInt2addrInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *SubInt2addrInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *SubInt2addrInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterSubInt2addrInstruction(s)
}
}
func (s *SubInt2addrInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitSubInt2addrInstruction(s)
}
}
func (s *SubInt2addrInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitSubInt2addrInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) SubInt2addrInstruction() (localctx ISubInt2addrInstructionContext) {
localctx = NewSubInt2addrInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 272, SmaliParserRULE_subInt2addrInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1279)
p.Match(SmaliParserOP_SUB_INT_2ADDR)
}
{
p.SetState(1280)
p.LeftRegister()
}
{
p.SetState(1281)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1282)
p.RightRegister()
}
return localctx
}
// IMulInt2addrInstructionContext is an interface to support dynamic dispatch.
type IMulInt2addrInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsMulInt2addrInstructionContext differentiates from other interfaces.
IsMulInt2addrInstructionContext()
}
type MulInt2addrInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyMulInt2addrInstructionContext() *MulInt2addrInstructionContext {
var p = new(MulInt2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_mulInt2addrInstruction
return p
}
func (*MulInt2addrInstructionContext) IsMulInt2addrInstructionContext() {}
func NewMulInt2addrInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *MulInt2addrInstructionContext {
var p = new(MulInt2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_mulInt2addrInstruction
return p
}
func (s *MulInt2addrInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *MulInt2addrInstructionContext) OP_MUL_INT_2ADDR() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_MUL_INT_2ADDR, 0)
}
func (s *MulInt2addrInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *MulInt2addrInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *MulInt2addrInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *MulInt2addrInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *MulInt2addrInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *MulInt2addrInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterMulInt2addrInstruction(s)
}
}
func (s *MulInt2addrInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitMulInt2addrInstruction(s)
}
}
func (s *MulInt2addrInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitMulInt2addrInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) MulInt2addrInstruction() (localctx IMulInt2addrInstructionContext) {
localctx = NewMulInt2addrInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 274, SmaliParserRULE_mulInt2addrInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1284)
p.Match(SmaliParserOP_MUL_INT_2ADDR)
}
{
p.SetState(1285)
p.LeftRegister()
}
{
p.SetState(1286)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1287)
p.RightRegister()
}
return localctx
}
// IDivInt2addrInstructionContext is an interface to support dynamic dispatch.
type IDivInt2addrInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsDivInt2addrInstructionContext differentiates from other interfaces.
IsDivInt2addrInstructionContext()
}
type DivInt2addrInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyDivInt2addrInstructionContext() *DivInt2addrInstructionContext {
var p = new(DivInt2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_divInt2addrInstruction
return p
}
func (*DivInt2addrInstructionContext) IsDivInt2addrInstructionContext() {}
func NewDivInt2addrInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DivInt2addrInstructionContext {
var p = new(DivInt2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_divInt2addrInstruction
return p
}
func (s *DivInt2addrInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *DivInt2addrInstructionContext) OP_DIV_INT_2ADDR() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_DIV_INT_2ADDR, 0)
}
func (s *DivInt2addrInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *DivInt2addrInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *DivInt2addrInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *DivInt2addrInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *DivInt2addrInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *DivInt2addrInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterDivInt2addrInstruction(s)
}
}
func (s *DivInt2addrInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitDivInt2addrInstruction(s)
}
}
func (s *DivInt2addrInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitDivInt2addrInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) DivInt2addrInstruction() (localctx IDivInt2addrInstructionContext) {
localctx = NewDivInt2addrInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 276, SmaliParserRULE_divInt2addrInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1289)
p.Match(SmaliParserOP_DIV_INT_2ADDR)
}
{
p.SetState(1290)
p.LeftRegister()
}
{
p.SetState(1291)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1292)
p.RightRegister()
}
return localctx
}
// IRemInt2addrInstructionContext is an interface to support dynamic dispatch.
type IRemInt2addrInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsRemInt2addrInstructionContext differentiates from other interfaces.
IsRemInt2addrInstructionContext()
}
type RemInt2addrInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyRemInt2addrInstructionContext() *RemInt2addrInstructionContext {
var p = new(RemInt2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_remInt2addrInstruction
return p
}
func (*RemInt2addrInstructionContext) IsRemInt2addrInstructionContext() {}
func NewRemInt2addrInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *RemInt2addrInstructionContext {
var p = new(RemInt2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_remInt2addrInstruction
return p
}
func (s *RemInt2addrInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *RemInt2addrInstructionContext) OP_REM_INT_2ADDR() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_REM_INT_2ADDR, 0)
}
func (s *RemInt2addrInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *RemInt2addrInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *RemInt2addrInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *RemInt2addrInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *RemInt2addrInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *RemInt2addrInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterRemInt2addrInstruction(s)
}
}
func (s *RemInt2addrInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitRemInt2addrInstruction(s)
}
}
func (s *RemInt2addrInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitRemInt2addrInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) RemInt2addrInstruction() (localctx IRemInt2addrInstructionContext) {
localctx = NewRemInt2addrInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 278, SmaliParserRULE_remInt2addrInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1294)
p.Match(SmaliParserOP_REM_INT_2ADDR)
}
{
p.SetState(1295)
p.LeftRegister()
}
{
p.SetState(1296)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1297)
p.RightRegister()
}
return localctx
}
// IAndInt2addrInstructionContext is an interface to support dynamic dispatch.
type IAndInt2addrInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsAndInt2addrInstructionContext differentiates from other interfaces.
IsAndInt2addrInstructionContext()
}
type AndInt2addrInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyAndInt2addrInstructionContext() *AndInt2addrInstructionContext {
var p = new(AndInt2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_andInt2addrInstruction
return p
}
func (*AndInt2addrInstructionContext) IsAndInt2addrInstructionContext() {}
func NewAndInt2addrInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *AndInt2addrInstructionContext {
var p = new(AndInt2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_andInt2addrInstruction
return p
}
func (s *AndInt2addrInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *AndInt2addrInstructionContext) OP_AND_INT_2ADDR() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_AND_INT_2ADDR, 0)
}
func (s *AndInt2addrInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *AndInt2addrInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *AndInt2addrInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *AndInt2addrInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *AndInt2addrInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *AndInt2addrInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterAndInt2addrInstruction(s)
}
}
func (s *AndInt2addrInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitAndInt2addrInstruction(s)
}
}
func (s *AndInt2addrInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitAndInt2addrInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) AndInt2addrInstruction() (localctx IAndInt2addrInstructionContext) {
localctx = NewAndInt2addrInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 280, SmaliParserRULE_andInt2addrInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1299)
p.Match(SmaliParserOP_AND_INT_2ADDR)
}
{
p.SetState(1300)
p.LeftRegister()
}
{
p.SetState(1301)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1302)
p.RightRegister()
}
return localctx
}
// IOrInt2addrInstructionContext is an interface to support dynamic dispatch.
type IOrInt2addrInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsOrInt2addrInstructionContext differentiates from other interfaces.
IsOrInt2addrInstructionContext()
}
type OrInt2addrInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyOrInt2addrInstructionContext() *OrInt2addrInstructionContext {
var p = new(OrInt2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_orInt2addrInstruction
return p
}
func (*OrInt2addrInstructionContext) IsOrInt2addrInstructionContext() {}
func NewOrInt2addrInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *OrInt2addrInstructionContext {
var p = new(OrInt2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_orInt2addrInstruction
return p
}
func (s *OrInt2addrInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *OrInt2addrInstructionContext) OP_OR_INT_2ADDR() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_OR_INT_2ADDR, 0)
}
func (s *OrInt2addrInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *OrInt2addrInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *OrInt2addrInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *OrInt2addrInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *OrInt2addrInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *OrInt2addrInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterOrInt2addrInstruction(s)
}
}
func (s *OrInt2addrInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitOrInt2addrInstruction(s)
}
}
func (s *OrInt2addrInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitOrInt2addrInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) OrInt2addrInstruction() (localctx IOrInt2addrInstructionContext) {
localctx = NewOrInt2addrInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 282, SmaliParserRULE_orInt2addrInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1304)
p.Match(SmaliParserOP_OR_INT_2ADDR)
}
{
p.SetState(1305)
p.LeftRegister()
}
{
p.SetState(1306)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1307)
p.RightRegister()
}
return localctx
}
// IXorInt2addrInstructionContext is an interface to support dynamic dispatch.
type IXorInt2addrInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsXorInt2addrInstructionContext differentiates from other interfaces.
IsXorInt2addrInstructionContext()
}
type XorInt2addrInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyXorInt2addrInstructionContext() *XorInt2addrInstructionContext {
var p = new(XorInt2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_xorInt2addrInstruction
return p
}
func (*XorInt2addrInstructionContext) IsXorInt2addrInstructionContext() {}
func NewXorInt2addrInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *XorInt2addrInstructionContext {
var p = new(XorInt2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_xorInt2addrInstruction
return p
}
func (s *XorInt2addrInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *XorInt2addrInstructionContext) OP_XOR_INT_2ADDR() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_XOR_INT_2ADDR, 0)
}
func (s *XorInt2addrInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *XorInt2addrInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *XorInt2addrInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *XorInt2addrInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *XorInt2addrInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *XorInt2addrInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterXorInt2addrInstruction(s)
}
}
func (s *XorInt2addrInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitXorInt2addrInstruction(s)
}
}
func (s *XorInt2addrInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitXorInt2addrInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) XorInt2addrInstruction() (localctx IXorInt2addrInstructionContext) {
localctx = NewXorInt2addrInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 284, SmaliParserRULE_xorInt2addrInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1309)
p.Match(SmaliParserOP_XOR_INT_2ADDR)
}
{
p.SetState(1310)
p.LeftRegister()
}
{
p.SetState(1311)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1312)
p.RightRegister()
}
return localctx
}
// IShlInt2addrInstructionContext is an interface to support dynamic dispatch.
type IShlInt2addrInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsShlInt2addrInstructionContext differentiates from other interfaces.
IsShlInt2addrInstructionContext()
}
type ShlInt2addrInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyShlInt2addrInstructionContext() *ShlInt2addrInstructionContext {
var p = new(ShlInt2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_shlInt2addrInstruction
return p
}
func (*ShlInt2addrInstructionContext) IsShlInt2addrInstructionContext() {}
func NewShlInt2addrInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ShlInt2addrInstructionContext {
var p = new(ShlInt2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_shlInt2addrInstruction
return p
}
func (s *ShlInt2addrInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *ShlInt2addrInstructionContext) OP_SHL_INT_2ADDR() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_SHL_INT_2ADDR, 0)
}
func (s *ShlInt2addrInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *ShlInt2addrInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *ShlInt2addrInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *ShlInt2addrInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *ShlInt2addrInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *ShlInt2addrInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterShlInt2addrInstruction(s)
}
}
func (s *ShlInt2addrInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitShlInt2addrInstruction(s)
}
}
func (s *ShlInt2addrInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitShlInt2addrInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) ShlInt2addrInstruction() (localctx IShlInt2addrInstructionContext) {
localctx = NewShlInt2addrInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 286, SmaliParserRULE_shlInt2addrInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1314)
p.Match(SmaliParserOP_SHL_INT_2ADDR)
}
{
p.SetState(1315)
p.LeftRegister()
}
{
p.SetState(1316)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1317)
p.RightRegister()
}
return localctx
}
// IShrInt2addrInstructionContext is an interface to support dynamic dispatch.
type IShrInt2addrInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsShrInt2addrInstructionContext differentiates from other interfaces.
IsShrInt2addrInstructionContext()
}
type ShrInt2addrInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyShrInt2addrInstructionContext() *ShrInt2addrInstructionContext {
var p = new(ShrInt2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_shrInt2addrInstruction
return p
}
func (*ShrInt2addrInstructionContext) IsShrInt2addrInstructionContext() {}
func NewShrInt2addrInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ShrInt2addrInstructionContext {
var p = new(ShrInt2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_shrInt2addrInstruction
return p
}
func (s *ShrInt2addrInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *ShrInt2addrInstructionContext) OP_SHR_INT_2ADDR() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_SHR_INT_2ADDR, 0)
}
func (s *ShrInt2addrInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *ShrInt2addrInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *ShrInt2addrInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *ShrInt2addrInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *ShrInt2addrInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *ShrInt2addrInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterShrInt2addrInstruction(s)
}
}
func (s *ShrInt2addrInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitShrInt2addrInstruction(s)
}
}
func (s *ShrInt2addrInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitShrInt2addrInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) ShrInt2addrInstruction() (localctx IShrInt2addrInstructionContext) {
localctx = NewShrInt2addrInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 288, SmaliParserRULE_shrInt2addrInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1319)
p.Match(SmaliParserOP_SHR_INT_2ADDR)
}
{
p.SetState(1320)
p.LeftRegister()
}
{
p.SetState(1321)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1322)
p.RightRegister()
}
return localctx
}
// IUshrInt2addrInstructionContext is an interface to support dynamic dispatch.
type IUshrInt2addrInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsUshrInt2addrInstructionContext differentiates from other interfaces.
IsUshrInt2addrInstructionContext()
}
type UshrInt2addrInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyUshrInt2addrInstructionContext() *UshrInt2addrInstructionContext {
var p = new(UshrInt2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_ushrInt2addrInstruction
return p
}
func (*UshrInt2addrInstructionContext) IsUshrInt2addrInstructionContext() {}
func NewUshrInt2addrInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *UshrInt2addrInstructionContext {
var p = new(UshrInt2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_ushrInt2addrInstruction
return p
}
func (s *UshrInt2addrInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *UshrInt2addrInstructionContext) OP_USHR_INT_2ADDR() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_USHR_INT_2ADDR, 0)
}
func (s *UshrInt2addrInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *UshrInt2addrInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *UshrInt2addrInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *UshrInt2addrInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *UshrInt2addrInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *UshrInt2addrInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterUshrInt2addrInstruction(s)
}
}
func (s *UshrInt2addrInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitUshrInt2addrInstruction(s)
}
}
func (s *UshrInt2addrInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitUshrInt2addrInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) UshrInt2addrInstruction() (localctx IUshrInt2addrInstructionContext) {
localctx = NewUshrInt2addrInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 290, SmaliParserRULE_ushrInt2addrInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1324)
p.Match(SmaliParserOP_USHR_INT_2ADDR)
}
{
p.SetState(1325)
p.LeftRegister()
}
{
p.SetState(1326)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1327)
p.RightRegister()
}
return localctx
}
// IAddLong2addrInstructionContext is an interface to support dynamic dispatch.
type IAddLong2addrInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsAddLong2addrInstructionContext differentiates from other interfaces.
IsAddLong2addrInstructionContext()
}
type AddLong2addrInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyAddLong2addrInstructionContext() *AddLong2addrInstructionContext {
var p = new(AddLong2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_addLong2addrInstruction
return p
}
func (*AddLong2addrInstructionContext) IsAddLong2addrInstructionContext() {}
func NewAddLong2addrInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *AddLong2addrInstructionContext {
var p = new(AddLong2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_addLong2addrInstruction
return p
}
func (s *AddLong2addrInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *AddLong2addrInstructionContext) OP_ADD_LONG_2ADDR() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_ADD_LONG_2ADDR, 0)
}
func (s *AddLong2addrInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *AddLong2addrInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *AddLong2addrInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *AddLong2addrInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *AddLong2addrInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *AddLong2addrInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterAddLong2addrInstruction(s)
}
}
func (s *AddLong2addrInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitAddLong2addrInstruction(s)
}
}
func (s *AddLong2addrInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitAddLong2addrInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) AddLong2addrInstruction() (localctx IAddLong2addrInstructionContext) {
localctx = NewAddLong2addrInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 292, SmaliParserRULE_addLong2addrInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1329)
p.Match(SmaliParserOP_ADD_LONG_2ADDR)
}
{
p.SetState(1330)
p.LeftRegister()
}
{
p.SetState(1331)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1332)
p.RightRegister()
}
return localctx
}
// ISubLong2addrInstructionContext is an interface to support dynamic dispatch.
type ISubLong2addrInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsSubLong2addrInstructionContext differentiates from other interfaces.
IsSubLong2addrInstructionContext()
}
type SubLong2addrInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptySubLong2addrInstructionContext() *SubLong2addrInstructionContext {
var p = new(SubLong2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_subLong2addrInstruction
return p
}
func (*SubLong2addrInstructionContext) IsSubLong2addrInstructionContext() {}
func NewSubLong2addrInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *SubLong2addrInstructionContext {
var p = new(SubLong2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_subLong2addrInstruction
return p
}
func (s *SubLong2addrInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *SubLong2addrInstructionContext) OP_SUB_LONG_2ADDR() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_SUB_LONG_2ADDR, 0)
}
func (s *SubLong2addrInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *SubLong2addrInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *SubLong2addrInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *SubLong2addrInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *SubLong2addrInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *SubLong2addrInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterSubLong2addrInstruction(s)
}
}
func (s *SubLong2addrInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitSubLong2addrInstruction(s)
}
}
func (s *SubLong2addrInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitSubLong2addrInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) SubLong2addrInstruction() (localctx ISubLong2addrInstructionContext) {
localctx = NewSubLong2addrInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 294, SmaliParserRULE_subLong2addrInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1334)
p.Match(SmaliParserOP_SUB_LONG_2ADDR)
}
{
p.SetState(1335)
p.LeftRegister()
}
{
p.SetState(1336)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1337)
p.RightRegister()
}
return localctx
}
// IMulLong2addrInstructionContext is an interface to support dynamic dispatch.
type IMulLong2addrInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsMulLong2addrInstructionContext differentiates from other interfaces.
IsMulLong2addrInstructionContext()
}
type MulLong2addrInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyMulLong2addrInstructionContext() *MulLong2addrInstructionContext {
var p = new(MulLong2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_mulLong2addrInstruction
return p
}
func (*MulLong2addrInstructionContext) IsMulLong2addrInstructionContext() {}
func NewMulLong2addrInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *MulLong2addrInstructionContext {
var p = new(MulLong2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_mulLong2addrInstruction
return p
}
func (s *MulLong2addrInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *MulLong2addrInstructionContext) OP_MUL_LONG_2ADDR() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_MUL_LONG_2ADDR, 0)
}
func (s *MulLong2addrInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *MulLong2addrInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *MulLong2addrInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *MulLong2addrInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *MulLong2addrInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *MulLong2addrInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterMulLong2addrInstruction(s)
}
}
func (s *MulLong2addrInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitMulLong2addrInstruction(s)
}
}
func (s *MulLong2addrInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitMulLong2addrInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) MulLong2addrInstruction() (localctx IMulLong2addrInstructionContext) {
localctx = NewMulLong2addrInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 296, SmaliParserRULE_mulLong2addrInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1339)
p.Match(SmaliParserOP_MUL_LONG_2ADDR)
}
{
p.SetState(1340)
p.LeftRegister()
}
{
p.SetState(1341)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1342)
p.RightRegister()
}
return localctx
}
// IDivLong2addrInstructionContext is an interface to support dynamic dispatch.
type IDivLong2addrInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsDivLong2addrInstructionContext differentiates from other interfaces.
IsDivLong2addrInstructionContext()
}
type DivLong2addrInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyDivLong2addrInstructionContext() *DivLong2addrInstructionContext {
var p = new(DivLong2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_divLong2addrInstruction
return p
}
func (*DivLong2addrInstructionContext) IsDivLong2addrInstructionContext() {}
func NewDivLong2addrInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DivLong2addrInstructionContext {
var p = new(DivLong2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_divLong2addrInstruction
return p
}
func (s *DivLong2addrInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *DivLong2addrInstructionContext) OP_DIV_LONG_2ADDR() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_DIV_LONG_2ADDR, 0)
}
func (s *DivLong2addrInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *DivLong2addrInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *DivLong2addrInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *DivLong2addrInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *DivLong2addrInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *DivLong2addrInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterDivLong2addrInstruction(s)
}
}
func (s *DivLong2addrInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitDivLong2addrInstruction(s)
}
}
func (s *DivLong2addrInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitDivLong2addrInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) DivLong2addrInstruction() (localctx IDivLong2addrInstructionContext) {
localctx = NewDivLong2addrInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 298, SmaliParserRULE_divLong2addrInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1344)
p.Match(SmaliParserOP_DIV_LONG_2ADDR)
}
{
p.SetState(1345)
p.LeftRegister()
}
{
p.SetState(1346)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1347)
p.RightRegister()
}
return localctx
}
// IRemLong2addrInstructionContext is an interface to support dynamic dispatch.
type IRemLong2addrInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsRemLong2addrInstructionContext differentiates from other interfaces.
IsRemLong2addrInstructionContext()
}
type RemLong2addrInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyRemLong2addrInstructionContext() *RemLong2addrInstructionContext {
var p = new(RemLong2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_remLong2addrInstruction
return p
}
func (*RemLong2addrInstructionContext) IsRemLong2addrInstructionContext() {}
func NewRemLong2addrInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *RemLong2addrInstructionContext {
var p = new(RemLong2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_remLong2addrInstruction
return p
}
func (s *RemLong2addrInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *RemLong2addrInstructionContext) OP_REM_LONG_2ADDR() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_REM_LONG_2ADDR, 0)
}
func (s *RemLong2addrInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *RemLong2addrInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *RemLong2addrInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *RemLong2addrInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *RemLong2addrInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *RemLong2addrInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterRemLong2addrInstruction(s)
}
}
func (s *RemLong2addrInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitRemLong2addrInstruction(s)
}
}
func (s *RemLong2addrInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitRemLong2addrInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) RemLong2addrInstruction() (localctx IRemLong2addrInstructionContext) {
localctx = NewRemLong2addrInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 300, SmaliParserRULE_remLong2addrInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1349)
p.Match(SmaliParserOP_REM_LONG_2ADDR)
}
{
p.SetState(1350)
p.LeftRegister()
}
{
p.SetState(1351)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1352)
p.RightRegister()
}
return localctx
}
// IAndLong2addrInstructionContext is an interface to support dynamic dispatch.
type IAndLong2addrInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsAndLong2addrInstructionContext differentiates from other interfaces.
IsAndLong2addrInstructionContext()
}
type AndLong2addrInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyAndLong2addrInstructionContext() *AndLong2addrInstructionContext {
var p = new(AndLong2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_andLong2addrInstruction
return p
}
func (*AndLong2addrInstructionContext) IsAndLong2addrInstructionContext() {}
func NewAndLong2addrInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *AndLong2addrInstructionContext {
var p = new(AndLong2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_andLong2addrInstruction
return p
}
func (s *AndLong2addrInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *AndLong2addrInstructionContext) OP_AND_LONG_2ADDR() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_AND_LONG_2ADDR, 0)
}
func (s *AndLong2addrInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *AndLong2addrInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *AndLong2addrInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *AndLong2addrInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *AndLong2addrInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *AndLong2addrInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterAndLong2addrInstruction(s)
}
}
func (s *AndLong2addrInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitAndLong2addrInstruction(s)
}
}
func (s *AndLong2addrInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitAndLong2addrInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) AndLong2addrInstruction() (localctx IAndLong2addrInstructionContext) {
localctx = NewAndLong2addrInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 302, SmaliParserRULE_andLong2addrInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1354)
p.Match(SmaliParserOP_AND_LONG_2ADDR)
}
{
p.SetState(1355)
p.LeftRegister()
}
{
p.SetState(1356)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1357)
p.RightRegister()
}
return localctx
}
// IOrLong2addrInstructionContext is an interface to support dynamic dispatch.
type IOrLong2addrInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsOrLong2addrInstructionContext differentiates from other interfaces.
IsOrLong2addrInstructionContext()
}
type OrLong2addrInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyOrLong2addrInstructionContext() *OrLong2addrInstructionContext {
var p = new(OrLong2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_orLong2addrInstruction
return p
}
func (*OrLong2addrInstructionContext) IsOrLong2addrInstructionContext() {}
func NewOrLong2addrInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *OrLong2addrInstructionContext {
var p = new(OrLong2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_orLong2addrInstruction
return p
}
func (s *OrLong2addrInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *OrLong2addrInstructionContext) OP_OR_LONG_2ADDR() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_OR_LONG_2ADDR, 0)
}
func (s *OrLong2addrInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *OrLong2addrInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *OrLong2addrInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *OrLong2addrInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *OrLong2addrInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *OrLong2addrInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterOrLong2addrInstruction(s)
}
}
func (s *OrLong2addrInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitOrLong2addrInstruction(s)
}
}
func (s *OrLong2addrInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitOrLong2addrInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) OrLong2addrInstruction() (localctx IOrLong2addrInstructionContext) {
localctx = NewOrLong2addrInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 304, SmaliParserRULE_orLong2addrInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1359)
p.Match(SmaliParserOP_OR_LONG_2ADDR)
}
{
p.SetState(1360)
p.LeftRegister()
}
{
p.SetState(1361)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1362)
p.RightRegister()
}
return localctx
}
// IXorLong2addrInstructionContext is an interface to support dynamic dispatch.
type IXorLong2addrInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsXorLong2addrInstructionContext differentiates from other interfaces.
IsXorLong2addrInstructionContext()
}
type XorLong2addrInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyXorLong2addrInstructionContext() *XorLong2addrInstructionContext {
var p = new(XorLong2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_xorLong2addrInstruction
return p
}
func (*XorLong2addrInstructionContext) IsXorLong2addrInstructionContext() {}
func NewXorLong2addrInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *XorLong2addrInstructionContext {
var p = new(XorLong2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_xorLong2addrInstruction
return p
}
func (s *XorLong2addrInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *XorLong2addrInstructionContext) OP_XOR_LONG_2ADDR() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_XOR_LONG_2ADDR, 0)
}
func (s *XorLong2addrInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *XorLong2addrInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *XorLong2addrInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *XorLong2addrInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *XorLong2addrInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *XorLong2addrInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterXorLong2addrInstruction(s)
}
}
func (s *XorLong2addrInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitXorLong2addrInstruction(s)
}
}
func (s *XorLong2addrInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitXorLong2addrInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) XorLong2addrInstruction() (localctx IXorLong2addrInstructionContext) {
localctx = NewXorLong2addrInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 306, SmaliParserRULE_xorLong2addrInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1364)
p.Match(SmaliParserOP_XOR_LONG_2ADDR)
}
{
p.SetState(1365)
p.LeftRegister()
}
{
p.SetState(1366)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1367)
p.RightRegister()
}
return localctx
}
// IShlLong2addrInstructionContext is an interface to support dynamic dispatch.
type IShlLong2addrInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsShlLong2addrInstructionContext differentiates from other interfaces.
IsShlLong2addrInstructionContext()
}
type ShlLong2addrInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyShlLong2addrInstructionContext() *ShlLong2addrInstructionContext {
var p = new(ShlLong2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_shlLong2addrInstruction
return p
}
func (*ShlLong2addrInstructionContext) IsShlLong2addrInstructionContext() {}
func NewShlLong2addrInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ShlLong2addrInstructionContext {
var p = new(ShlLong2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_shlLong2addrInstruction
return p
}
func (s *ShlLong2addrInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *ShlLong2addrInstructionContext) OP_SHL_LONG_2ADDR() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_SHL_LONG_2ADDR, 0)
}
func (s *ShlLong2addrInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *ShlLong2addrInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *ShlLong2addrInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *ShlLong2addrInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *ShlLong2addrInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *ShlLong2addrInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterShlLong2addrInstruction(s)
}
}
func (s *ShlLong2addrInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitShlLong2addrInstruction(s)
}
}
func (s *ShlLong2addrInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitShlLong2addrInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) ShlLong2addrInstruction() (localctx IShlLong2addrInstructionContext) {
localctx = NewShlLong2addrInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 308, SmaliParserRULE_shlLong2addrInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1369)
p.Match(SmaliParserOP_SHL_LONG_2ADDR)
}
{
p.SetState(1370)
p.LeftRegister()
}
{
p.SetState(1371)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1372)
p.RightRegister()
}
return localctx
}
// IShrLong2addrInstructionContext is an interface to support dynamic dispatch.
type IShrLong2addrInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsShrLong2addrInstructionContext differentiates from other interfaces.
IsShrLong2addrInstructionContext()
}
type ShrLong2addrInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyShrLong2addrInstructionContext() *ShrLong2addrInstructionContext {
var p = new(ShrLong2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_shrLong2addrInstruction
return p
}
func (*ShrLong2addrInstructionContext) IsShrLong2addrInstructionContext() {}
func NewShrLong2addrInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ShrLong2addrInstructionContext {
var p = new(ShrLong2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_shrLong2addrInstruction
return p
}
func (s *ShrLong2addrInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *ShrLong2addrInstructionContext) OP_SHR_LONG_2ADDR() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_SHR_LONG_2ADDR, 0)
}
func (s *ShrLong2addrInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *ShrLong2addrInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *ShrLong2addrInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *ShrLong2addrInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *ShrLong2addrInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *ShrLong2addrInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterShrLong2addrInstruction(s)
}
}
func (s *ShrLong2addrInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitShrLong2addrInstruction(s)
}
}
func (s *ShrLong2addrInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitShrLong2addrInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) ShrLong2addrInstruction() (localctx IShrLong2addrInstructionContext) {
localctx = NewShrLong2addrInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 310, SmaliParserRULE_shrLong2addrInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1374)
p.Match(SmaliParserOP_SHR_LONG_2ADDR)
}
{
p.SetState(1375)
p.LeftRegister()
}
{
p.SetState(1376)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1377)
p.RightRegister()
}
return localctx
}
// IUshrLong2addrInstructionContext is an interface to support dynamic dispatch.
type IUshrLong2addrInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsUshrLong2addrInstructionContext differentiates from other interfaces.
IsUshrLong2addrInstructionContext()
}
type UshrLong2addrInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyUshrLong2addrInstructionContext() *UshrLong2addrInstructionContext {
var p = new(UshrLong2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_ushrLong2addrInstruction
return p
}
func (*UshrLong2addrInstructionContext) IsUshrLong2addrInstructionContext() {}
func NewUshrLong2addrInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *UshrLong2addrInstructionContext {
var p = new(UshrLong2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_ushrLong2addrInstruction
return p
}
func (s *UshrLong2addrInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *UshrLong2addrInstructionContext) OP_USHR_LONG_2ADDR() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_USHR_LONG_2ADDR, 0)
}
func (s *UshrLong2addrInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *UshrLong2addrInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *UshrLong2addrInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *UshrLong2addrInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *UshrLong2addrInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *UshrLong2addrInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterUshrLong2addrInstruction(s)
}
}
func (s *UshrLong2addrInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitUshrLong2addrInstruction(s)
}
}
func (s *UshrLong2addrInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitUshrLong2addrInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) UshrLong2addrInstruction() (localctx IUshrLong2addrInstructionContext) {
localctx = NewUshrLong2addrInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 312, SmaliParserRULE_ushrLong2addrInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1379)
p.Match(SmaliParserOP_USHR_LONG_2ADDR)
}
{
p.SetState(1380)
p.LeftRegister()
}
{
p.SetState(1381)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1382)
p.RightRegister()
}
return localctx
}
// IAddFloat2addrInstructionContext is an interface to support dynamic dispatch.
type IAddFloat2addrInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsAddFloat2addrInstructionContext differentiates from other interfaces.
IsAddFloat2addrInstructionContext()
}
type AddFloat2addrInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyAddFloat2addrInstructionContext() *AddFloat2addrInstructionContext {
var p = new(AddFloat2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_addFloat2addrInstruction
return p
}
func (*AddFloat2addrInstructionContext) IsAddFloat2addrInstructionContext() {}
func NewAddFloat2addrInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *AddFloat2addrInstructionContext {
var p = new(AddFloat2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_addFloat2addrInstruction
return p
}
func (s *AddFloat2addrInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *AddFloat2addrInstructionContext) OP_ADD_FLOAT_2ADDR() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_ADD_FLOAT_2ADDR, 0)
}
func (s *AddFloat2addrInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *AddFloat2addrInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *AddFloat2addrInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *AddFloat2addrInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *AddFloat2addrInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *AddFloat2addrInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterAddFloat2addrInstruction(s)
}
}
func (s *AddFloat2addrInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitAddFloat2addrInstruction(s)
}
}
func (s *AddFloat2addrInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitAddFloat2addrInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) AddFloat2addrInstruction() (localctx IAddFloat2addrInstructionContext) {
localctx = NewAddFloat2addrInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 314, SmaliParserRULE_addFloat2addrInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1384)
p.Match(SmaliParserOP_ADD_FLOAT_2ADDR)
}
{
p.SetState(1385)
p.LeftRegister()
}
{
p.SetState(1386)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1387)
p.RightRegister()
}
return localctx
}
// ISubFloat2addrInstructionContext is an interface to support dynamic dispatch.
type ISubFloat2addrInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsSubFloat2addrInstructionContext differentiates from other interfaces.
IsSubFloat2addrInstructionContext()
}
type SubFloat2addrInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptySubFloat2addrInstructionContext() *SubFloat2addrInstructionContext {
var p = new(SubFloat2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_subFloat2addrInstruction
return p
}
func (*SubFloat2addrInstructionContext) IsSubFloat2addrInstructionContext() {}
func NewSubFloat2addrInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *SubFloat2addrInstructionContext {
var p = new(SubFloat2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_subFloat2addrInstruction
return p
}
func (s *SubFloat2addrInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *SubFloat2addrInstructionContext) OP_SUB_FLOAT_2ADDR() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_SUB_FLOAT_2ADDR, 0)
}
func (s *SubFloat2addrInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *SubFloat2addrInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *SubFloat2addrInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *SubFloat2addrInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *SubFloat2addrInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *SubFloat2addrInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterSubFloat2addrInstruction(s)
}
}
func (s *SubFloat2addrInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitSubFloat2addrInstruction(s)
}
}
func (s *SubFloat2addrInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitSubFloat2addrInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) SubFloat2addrInstruction() (localctx ISubFloat2addrInstructionContext) {
localctx = NewSubFloat2addrInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 316, SmaliParserRULE_subFloat2addrInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1389)
p.Match(SmaliParserOP_SUB_FLOAT_2ADDR)
}
{
p.SetState(1390)
p.LeftRegister()
}
{
p.SetState(1391)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1392)
p.RightRegister()
}
return localctx
}
// IMulFloat2addrInstructionContext is an interface to support dynamic dispatch.
type IMulFloat2addrInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsMulFloat2addrInstructionContext differentiates from other interfaces.
IsMulFloat2addrInstructionContext()
}
type MulFloat2addrInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyMulFloat2addrInstructionContext() *MulFloat2addrInstructionContext {
var p = new(MulFloat2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_mulFloat2addrInstruction
return p
}
func (*MulFloat2addrInstructionContext) IsMulFloat2addrInstructionContext() {}
func NewMulFloat2addrInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *MulFloat2addrInstructionContext {
var p = new(MulFloat2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_mulFloat2addrInstruction
return p
}
func (s *MulFloat2addrInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *MulFloat2addrInstructionContext) OP_MUL_FLOAT_2ADDR() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_MUL_FLOAT_2ADDR, 0)
}
func (s *MulFloat2addrInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *MulFloat2addrInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *MulFloat2addrInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *MulFloat2addrInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *MulFloat2addrInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *MulFloat2addrInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterMulFloat2addrInstruction(s)
}
}
func (s *MulFloat2addrInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitMulFloat2addrInstruction(s)
}
}
func (s *MulFloat2addrInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitMulFloat2addrInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) MulFloat2addrInstruction() (localctx IMulFloat2addrInstructionContext) {
localctx = NewMulFloat2addrInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 318, SmaliParserRULE_mulFloat2addrInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1394)
p.Match(SmaliParserOP_MUL_FLOAT_2ADDR)
}
{
p.SetState(1395)
p.LeftRegister()
}
{
p.SetState(1396)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1397)
p.RightRegister()
}
return localctx
}
// IDivFloat2addrInstructionContext is an interface to support dynamic dispatch.
type IDivFloat2addrInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsDivFloat2addrInstructionContext differentiates from other interfaces.
IsDivFloat2addrInstructionContext()
}
type DivFloat2addrInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyDivFloat2addrInstructionContext() *DivFloat2addrInstructionContext {
var p = new(DivFloat2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_divFloat2addrInstruction
return p
}
func (*DivFloat2addrInstructionContext) IsDivFloat2addrInstructionContext() {}
func NewDivFloat2addrInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DivFloat2addrInstructionContext {
var p = new(DivFloat2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_divFloat2addrInstruction
return p
}
func (s *DivFloat2addrInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *DivFloat2addrInstructionContext) OP_DIV_FLOAT_2ADDR() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_DIV_FLOAT_2ADDR, 0)
}
func (s *DivFloat2addrInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *DivFloat2addrInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *DivFloat2addrInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *DivFloat2addrInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *DivFloat2addrInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *DivFloat2addrInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterDivFloat2addrInstruction(s)
}
}
func (s *DivFloat2addrInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitDivFloat2addrInstruction(s)
}
}
func (s *DivFloat2addrInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitDivFloat2addrInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) DivFloat2addrInstruction() (localctx IDivFloat2addrInstructionContext) {
localctx = NewDivFloat2addrInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 320, SmaliParserRULE_divFloat2addrInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1399)
p.Match(SmaliParserOP_DIV_FLOAT_2ADDR)
}
{
p.SetState(1400)
p.LeftRegister()
}
{
p.SetState(1401)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1402)
p.RightRegister()
}
return localctx
}
// IRemFloat2addrInstructionContext is an interface to support dynamic dispatch.
type IRemFloat2addrInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsRemFloat2addrInstructionContext differentiates from other interfaces.
IsRemFloat2addrInstructionContext()
}
type RemFloat2addrInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyRemFloat2addrInstructionContext() *RemFloat2addrInstructionContext {
var p = new(RemFloat2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_remFloat2addrInstruction
return p
}
func (*RemFloat2addrInstructionContext) IsRemFloat2addrInstructionContext() {}
func NewRemFloat2addrInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *RemFloat2addrInstructionContext {
var p = new(RemFloat2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_remFloat2addrInstruction
return p
}
func (s *RemFloat2addrInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *RemFloat2addrInstructionContext) OP_REM_FLOAT_2ADDR() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_REM_FLOAT_2ADDR, 0)
}
func (s *RemFloat2addrInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *RemFloat2addrInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *RemFloat2addrInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *RemFloat2addrInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *RemFloat2addrInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *RemFloat2addrInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterRemFloat2addrInstruction(s)
}
}
func (s *RemFloat2addrInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitRemFloat2addrInstruction(s)
}
}
func (s *RemFloat2addrInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitRemFloat2addrInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) RemFloat2addrInstruction() (localctx IRemFloat2addrInstructionContext) {
localctx = NewRemFloat2addrInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 322, SmaliParserRULE_remFloat2addrInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1404)
p.Match(SmaliParserOP_REM_FLOAT_2ADDR)
}
{
p.SetState(1405)
p.LeftRegister()
}
{
p.SetState(1406)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1407)
p.RightRegister()
}
return localctx
}
// IAddDouble2addrInstructionContext is an interface to support dynamic dispatch.
type IAddDouble2addrInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsAddDouble2addrInstructionContext differentiates from other interfaces.
IsAddDouble2addrInstructionContext()
}
type AddDouble2addrInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyAddDouble2addrInstructionContext() *AddDouble2addrInstructionContext {
var p = new(AddDouble2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_addDouble2addrInstruction
return p
}
func (*AddDouble2addrInstructionContext) IsAddDouble2addrInstructionContext() {}
func NewAddDouble2addrInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *AddDouble2addrInstructionContext {
var p = new(AddDouble2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_addDouble2addrInstruction
return p
}
func (s *AddDouble2addrInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *AddDouble2addrInstructionContext) OP_ADD_DOUBLE_2ADDR() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_ADD_DOUBLE_2ADDR, 0)
}
func (s *AddDouble2addrInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *AddDouble2addrInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *AddDouble2addrInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *AddDouble2addrInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *AddDouble2addrInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *AddDouble2addrInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterAddDouble2addrInstruction(s)
}
}
func (s *AddDouble2addrInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitAddDouble2addrInstruction(s)
}
}
func (s *AddDouble2addrInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitAddDouble2addrInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) AddDouble2addrInstruction() (localctx IAddDouble2addrInstructionContext) {
localctx = NewAddDouble2addrInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 324, SmaliParserRULE_addDouble2addrInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1409)
p.Match(SmaliParserOP_ADD_DOUBLE_2ADDR)
}
{
p.SetState(1410)
p.LeftRegister()
}
{
p.SetState(1411)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1412)
p.RightRegister()
}
return localctx
}
// ISubDouble2addrInstructionContext is an interface to support dynamic dispatch.
type ISubDouble2addrInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsSubDouble2addrInstructionContext differentiates from other interfaces.
IsSubDouble2addrInstructionContext()
}
type SubDouble2addrInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptySubDouble2addrInstructionContext() *SubDouble2addrInstructionContext {
var p = new(SubDouble2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_subDouble2addrInstruction
return p
}
func (*SubDouble2addrInstructionContext) IsSubDouble2addrInstructionContext() {}
func NewSubDouble2addrInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *SubDouble2addrInstructionContext {
var p = new(SubDouble2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_subDouble2addrInstruction
return p
}
func (s *SubDouble2addrInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *SubDouble2addrInstructionContext) OP_SUB_DOUBLE_2ADDR() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_SUB_DOUBLE_2ADDR, 0)
}
func (s *SubDouble2addrInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *SubDouble2addrInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *SubDouble2addrInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *SubDouble2addrInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *SubDouble2addrInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *SubDouble2addrInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterSubDouble2addrInstruction(s)
}
}
func (s *SubDouble2addrInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitSubDouble2addrInstruction(s)
}
}
func (s *SubDouble2addrInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitSubDouble2addrInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) SubDouble2addrInstruction() (localctx ISubDouble2addrInstructionContext) {
localctx = NewSubDouble2addrInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 326, SmaliParserRULE_subDouble2addrInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1414)
p.Match(SmaliParserOP_SUB_DOUBLE_2ADDR)
}
{
p.SetState(1415)
p.LeftRegister()
}
{
p.SetState(1416)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1417)
p.RightRegister()
}
return localctx
}
// IMulDouble2addrInstructionContext is an interface to support dynamic dispatch.
type IMulDouble2addrInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsMulDouble2addrInstructionContext differentiates from other interfaces.
IsMulDouble2addrInstructionContext()
}
type MulDouble2addrInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyMulDouble2addrInstructionContext() *MulDouble2addrInstructionContext {
var p = new(MulDouble2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_mulDouble2addrInstruction
return p
}
func (*MulDouble2addrInstructionContext) IsMulDouble2addrInstructionContext() {}
func NewMulDouble2addrInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *MulDouble2addrInstructionContext {
var p = new(MulDouble2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_mulDouble2addrInstruction
return p
}
func (s *MulDouble2addrInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *MulDouble2addrInstructionContext) OP_MUL_DOUBLE_2ADDR() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_MUL_DOUBLE_2ADDR, 0)
}
func (s *MulDouble2addrInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *MulDouble2addrInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *MulDouble2addrInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *MulDouble2addrInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *MulDouble2addrInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *MulDouble2addrInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterMulDouble2addrInstruction(s)
}
}
func (s *MulDouble2addrInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitMulDouble2addrInstruction(s)
}
}
func (s *MulDouble2addrInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitMulDouble2addrInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) MulDouble2addrInstruction() (localctx IMulDouble2addrInstructionContext) {
localctx = NewMulDouble2addrInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 328, SmaliParserRULE_mulDouble2addrInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1419)
p.Match(SmaliParserOP_MUL_DOUBLE_2ADDR)
}
{
p.SetState(1420)
p.LeftRegister()
}
{
p.SetState(1421)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1422)
p.RightRegister()
}
return localctx
}
// IDivDouble2addrInstructionContext is an interface to support dynamic dispatch.
type IDivDouble2addrInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsDivDouble2addrInstructionContext differentiates from other interfaces.
IsDivDouble2addrInstructionContext()
}
type DivDouble2addrInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyDivDouble2addrInstructionContext() *DivDouble2addrInstructionContext {
var p = new(DivDouble2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_divDouble2addrInstruction
return p
}
func (*DivDouble2addrInstructionContext) IsDivDouble2addrInstructionContext() {}
func NewDivDouble2addrInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *DivDouble2addrInstructionContext {
var p = new(DivDouble2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_divDouble2addrInstruction
return p
}
func (s *DivDouble2addrInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *DivDouble2addrInstructionContext) OP_DIV_DOUBLE_2ADDR() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_DIV_DOUBLE_2ADDR, 0)
}
func (s *DivDouble2addrInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *DivDouble2addrInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *DivDouble2addrInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *DivDouble2addrInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *DivDouble2addrInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *DivDouble2addrInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterDivDouble2addrInstruction(s)
}
}
func (s *DivDouble2addrInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitDivDouble2addrInstruction(s)
}
}
func (s *DivDouble2addrInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitDivDouble2addrInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) DivDouble2addrInstruction() (localctx IDivDouble2addrInstructionContext) {
localctx = NewDivDouble2addrInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 330, SmaliParserRULE_divDouble2addrInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1424)
p.Match(SmaliParserOP_DIV_DOUBLE_2ADDR)
}
{
p.SetState(1425)
p.LeftRegister()
}
{
p.SetState(1426)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1427)
p.RightRegister()
}
return localctx
}
// IRemDouble2addrInstructionContext is an interface to support dynamic dispatch.
type IRemDouble2addrInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsRemDouble2addrInstructionContext differentiates from other interfaces.
IsRemDouble2addrInstructionContext()
}
type RemDouble2addrInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyRemDouble2addrInstructionContext() *RemDouble2addrInstructionContext {
var p = new(RemDouble2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_remDouble2addrInstruction
return p
}
func (*RemDouble2addrInstructionContext) IsRemDouble2addrInstructionContext() {}
func NewRemDouble2addrInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *RemDouble2addrInstructionContext {
var p = new(RemDouble2addrInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_remDouble2addrInstruction
return p
}
func (s *RemDouble2addrInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *RemDouble2addrInstructionContext) OP_REM_DOUBLE_2ADDR() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_REM_DOUBLE_2ADDR, 0)
}
func (s *RemDouble2addrInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *RemDouble2addrInstructionContext) COMMA() antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, 0)
}
func (s *RemDouble2addrInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *RemDouble2addrInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *RemDouble2addrInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *RemDouble2addrInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterRemDouble2addrInstruction(s)
}
}
func (s *RemDouble2addrInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitRemDouble2addrInstruction(s)
}
}
func (s *RemDouble2addrInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitRemDouble2addrInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) RemDouble2addrInstruction() (localctx IRemDouble2addrInstructionContext) {
localctx = NewRemDouble2addrInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 332, SmaliParserRULE_remDouble2addrInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1429)
p.Match(SmaliParserOP_REM_DOUBLE_2ADDR)
}
{
p.SetState(1430)
p.LeftRegister()
}
{
p.SetState(1431)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1432)
p.RightRegister()
}
return localctx
}
// ICmplFloatInstructionContext is an interface to support dynamic dispatch.
type ICmplFloatInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsCmplFloatInstructionContext differentiates from other interfaces.
IsCmplFloatInstructionContext()
}
type CmplFloatInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyCmplFloatInstructionContext() *CmplFloatInstructionContext {
var p = new(CmplFloatInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_cmplFloatInstruction
return p
}
func (*CmplFloatInstructionContext) IsCmplFloatInstructionContext() {}
func NewCmplFloatInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *CmplFloatInstructionContext {
var p = new(CmplFloatInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_cmplFloatInstruction
return p
}
func (s *CmplFloatInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *CmplFloatInstructionContext) OP_CMPL_FLOAT() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_CMPL_FLOAT, 0)
}
func (s *CmplFloatInstructionContext) TargetRegister() ITargetRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ITargetRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ITargetRegisterContext)
}
func (s *CmplFloatInstructionContext) AllCOMMA() []antlr.TerminalNode {
return s.GetTokens(SmaliParserCOMMA)
}
func (s *CmplFloatInstructionContext) COMMA(i int) antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, i)
}
func (s *CmplFloatInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *CmplFloatInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *CmplFloatInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *CmplFloatInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *CmplFloatInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterCmplFloatInstruction(s)
}
}
func (s *CmplFloatInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitCmplFloatInstruction(s)
}
}
func (s *CmplFloatInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitCmplFloatInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) CmplFloatInstruction() (localctx ICmplFloatInstructionContext) {
localctx = NewCmplFloatInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 334, SmaliParserRULE_cmplFloatInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1434)
p.Match(SmaliParserOP_CMPL_FLOAT)
}
{
p.SetState(1435)
p.TargetRegister()
}
{
p.SetState(1436)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1437)
p.LeftRegister()
}
{
p.SetState(1438)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1439)
p.RightRegister()
}
return localctx
}
// ICmpgFloatInstructionContext is an interface to support dynamic dispatch.
type ICmpgFloatInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsCmpgFloatInstructionContext differentiates from other interfaces.
IsCmpgFloatInstructionContext()
}
type CmpgFloatInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyCmpgFloatInstructionContext() *CmpgFloatInstructionContext {
var p = new(CmpgFloatInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_cmpgFloatInstruction
return p
}
func (*CmpgFloatInstructionContext) IsCmpgFloatInstructionContext() {}
func NewCmpgFloatInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *CmpgFloatInstructionContext {
var p = new(CmpgFloatInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_cmpgFloatInstruction
return p
}
func (s *CmpgFloatInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *CmpgFloatInstructionContext) OP_CMPG_FLOAT() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_CMPG_FLOAT, 0)
}
func (s *CmpgFloatInstructionContext) TargetRegister() ITargetRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ITargetRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ITargetRegisterContext)
}
func (s *CmpgFloatInstructionContext) AllCOMMA() []antlr.TerminalNode {
return s.GetTokens(SmaliParserCOMMA)
}
func (s *CmpgFloatInstructionContext) COMMA(i int) antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, i)
}
func (s *CmpgFloatInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *CmpgFloatInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *CmpgFloatInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *CmpgFloatInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *CmpgFloatInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterCmpgFloatInstruction(s)
}
}
func (s *CmpgFloatInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitCmpgFloatInstruction(s)
}
}
func (s *CmpgFloatInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitCmpgFloatInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) CmpgFloatInstruction() (localctx ICmpgFloatInstructionContext) {
localctx = NewCmpgFloatInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 336, SmaliParserRULE_cmpgFloatInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1441)
p.Match(SmaliParserOP_CMPG_FLOAT)
}
{
p.SetState(1442)
p.TargetRegister()
}
{
p.SetState(1443)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1444)
p.LeftRegister()
}
{
p.SetState(1445)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1446)
p.RightRegister()
}
return localctx
}
// ICmplDoubleInstructionContext is an interface to support dynamic dispatch.
type ICmplDoubleInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsCmplDoubleInstructionContext differentiates from other interfaces.
IsCmplDoubleInstructionContext()
}
type CmplDoubleInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyCmplDoubleInstructionContext() *CmplDoubleInstructionContext {
var p = new(CmplDoubleInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_cmplDoubleInstruction
return p
}
func (*CmplDoubleInstructionContext) IsCmplDoubleInstructionContext() {}
func NewCmplDoubleInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *CmplDoubleInstructionContext {
var p = new(CmplDoubleInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_cmplDoubleInstruction
return p
}
func (s *CmplDoubleInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *CmplDoubleInstructionContext) OP_CMPL_DOUBLE() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_CMPL_DOUBLE, 0)
}
func (s *CmplDoubleInstructionContext) TargetRegister() ITargetRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ITargetRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ITargetRegisterContext)
}
func (s *CmplDoubleInstructionContext) AllCOMMA() []antlr.TerminalNode {
return s.GetTokens(SmaliParserCOMMA)
}
func (s *CmplDoubleInstructionContext) COMMA(i int) antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, i)
}
func (s *CmplDoubleInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *CmplDoubleInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *CmplDoubleInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *CmplDoubleInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *CmplDoubleInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterCmplDoubleInstruction(s)
}
}
func (s *CmplDoubleInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitCmplDoubleInstruction(s)
}
}
func (s *CmplDoubleInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitCmplDoubleInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) CmplDoubleInstruction() (localctx ICmplDoubleInstructionContext) {
localctx = NewCmplDoubleInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 338, SmaliParserRULE_cmplDoubleInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1448)
p.Match(SmaliParserOP_CMPL_DOUBLE)
}
{
p.SetState(1449)
p.TargetRegister()
}
{
p.SetState(1450)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1451)
p.LeftRegister()
}
{
p.SetState(1452)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1453)
p.RightRegister()
}
return localctx
}
// ICmpgDoubleInstructionContext is an interface to support dynamic dispatch.
type ICmpgDoubleInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsCmpgDoubleInstructionContext differentiates from other interfaces.
IsCmpgDoubleInstructionContext()
}
type CmpgDoubleInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyCmpgDoubleInstructionContext() *CmpgDoubleInstructionContext {
var p = new(CmpgDoubleInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_cmpgDoubleInstruction
return p
}
func (*CmpgDoubleInstructionContext) IsCmpgDoubleInstructionContext() {}
func NewCmpgDoubleInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *CmpgDoubleInstructionContext {
var p = new(CmpgDoubleInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_cmpgDoubleInstruction
return p
}
func (s *CmpgDoubleInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *CmpgDoubleInstructionContext) OP_CMPG_DOUBLE() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_CMPG_DOUBLE, 0)
}
func (s *CmpgDoubleInstructionContext) TargetRegister() ITargetRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ITargetRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ITargetRegisterContext)
}
func (s *CmpgDoubleInstructionContext) AllCOMMA() []antlr.TerminalNode {
return s.GetTokens(SmaliParserCOMMA)
}
func (s *CmpgDoubleInstructionContext) COMMA(i int) antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, i)
}
func (s *CmpgDoubleInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *CmpgDoubleInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *CmpgDoubleInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *CmpgDoubleInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *CmpgDoubleInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterCmpgDoubleInstruction(s)
}
}
func (s *CmpgDoubleInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitCmpgDoubleInstruction(s)
}
}
func (s *CmpgDoubleInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitCmpgDoubleInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) CmpgDoubleInstruction() (localctx ICmpgDoubleInstructionContext) {
localctx = NewCmpgDoubleInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 340, SmaliParserRULE_cmpgDoubleInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1455)
p.Match(SmaliParserOP_CMPG_DOUBLE)
}
{
p.SetState(1456)
p.TargetRegister()
}
{
p.SetState(1457)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1458)
p.LeftRegister()
}
{
p.SetState(1459)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1460)
p.RightRegister()
}
return localctx
}
// ICmpLongInstructionContext is an interface to support dynamic dispatch.
type ICmpLongInstructionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsCmpLongInstructionContext differentiates from other interfaces.
IsCmpLongInstructionContext()
}
type CmpLongInstructionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyCmpLongInstructionContext() *CmpLongInstructionContext {
var p = new(CmpLongInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_cmpLongInstruction
return p
}
func (*CmpLongInstructionContext) IsCmpLongInstructionContext() {}
func NewCmpLongInstructionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *CmpLongInstructionContext {
var p = new(CmpLongInstructionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_cmpLongInstruction
return p
}
func (s *CmpLongInstructionContext) GetParser() antlr.Parser { return s.parser }
func (s *CmpLongInstructionContext) OP_CMP_LONG() antlr.TerminalNode {
return s.GetToken(SmaliParserOP_CMP_LONG, 0)
}
func (s *CmpLongInstructionContext) TargetRegister() ITargetRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ITargetRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ITargetRegisterContext)
}
func (s *CmpLongInstructionContext) AllCOMMA() []antlr.TerminalNode {
return s.GetTokens(SmaliParserCOMMA)
}
func (s *CmpLongInstructionContext) COMMA(i int) antlr.TerminalNode {
return s.GetToken(SmaliParserCOMMA, i)
}
func (s *CmpLongInstructionContext) LeftRegister() ILeftRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILeftRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILeftRegisterContext)
}
func (s *CmpLongInstructionContext) RightRegister() IRightRegisterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRightRegisterContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRightRegisterContext)
}
func (s *CmpLongInstructionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *CmpLongInstructionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *CmpLongInstructionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterCmpLongInstruction(s)
}
}
func (s *CmpLongInstructionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitCmpLongInstruction(s)
}
}
func (s *CmpLongInstructionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitCmpLongInstruction(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) CmpLongInstruction() (localctx ICmpLongInstructionContext) {
localctx = NewCmpLongInstructionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 342, SmaliParserRULE_cmpLongInstruction)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1462)
p.Match(SmaliParserOP_CMP_LONG)
}
{
p.SetState(1463)
p.TargetRegister()
}
{
p.SetState(1464)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1465)
p.LeftRegister()
}
{
p.SetState(1466)
p.Match(SmaliParserCOMMA)
}
{
p.SetState(1467)
p.RightRegister()
}
return localctx
}
// IFieldContext is an interface to support dynamic dispatch.
type IFieldContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsFieldContext differentiates from other interfaces.
IsFieldContext()
}
type FieldContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyFieldContext() *FieldContext {
var p = new(FieldContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_field
return p
}
func (*FieldContext) IsFieldContext() {}
func NewFieldContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *FieldContext {
var p = new(FieldContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_field
return p
}
func (s *FieldContext) GetParser() antlr.Parser { return s.parser }
func (s *FieldContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *FieldContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *FieldContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *FieldContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterField(s)
}
}
func (s *FieldContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitField(s)
}
}
func (s *FieldContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitField(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) Field() (localctx IFieldContext) {
localctx = NewFieldContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 344, SmaliParserRULE_field)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1469)
p.RegisterIdentifier()
}
return localctx
}
// IArrayRegisterContext is an interface to support dynamic dispatch.
type IArrayRegisterContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsArrayRegisterContext differentiates from other interfaces.
IsArrayRegisterContext()
}
type ArrayRegisterContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyArrayRegisterContext() *ArrayRegisterContext {
var p = new(ArrayRegisterContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_arrayRegister
return p
}
func (*ArrayRegisterContext) IsArrayRegisterContext() {}
func NewArrayRegisterContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ArrayRegisterContext {
var p = new(ArrayRegisterContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_arrayRegister
return p
}
func (s *ArrayRegisterContext) GetParser() antlr.Parser { return s.parser }
func (s *ArrayRegisterContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *ArrayRegisterContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *ArrayRegisterContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *ArrayRegisterContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterArrayRegister(s)
}
}
func (s *ArrayRegisterContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitArrayRegister(s)
}
}
func (s *ArrayRegisterContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitArrayRegister(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) ArrayRegister() (localctx IArrayRegisterContext) {
localctx = NewArrayRegisterContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 346, SmaliParserRULE_arrayRegister)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1471)
p.RegisterIdentifier()
}
return localctx
}
// IIndexRegisterContext is an interface to support dynamic dispatch.
type IIndexRegisterContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsIndexRegisterContext differentiates from other interfaces.
IsIndexRegisterContext()
}
type IndexRegisterContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyIndexRegisterContext() *IndexRegisterContext {
var p = new(IndexRegisterContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_indexRegister
return p
}
func (*IndexRegisterContext) IsIndexRegisterContext() {}
func NewIndexRegisterContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *IndexRegisterContext {
var p = new(IndexRegisterContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_indexRegister
return p
}
func (s *IndexRegisterContext) GetParser() antlr.Parser { return s.parser }
func (s *IndexRegisterContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *IndexRegisterContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *IndexRegisterContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *IndexRegisterContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterIndexRegister(s)
}
}
func (s *IndexRegisterContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitIndexRegister(s)
}
}
func (s *IndexRegisterContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitIndexRegister(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) IndexRegister() (localctx IIndexRegisterContext) {
localctx = NewIndexRegisterContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 348, SmaliParserRULE_indexRegister)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1473)
p.RegisterIdentifier()
}
return localctx
}
// IInstanceRegisterContext is an interface to support dynamic dispatch.
type IInstanceRegisterContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsInstanceRegisterContext differentiates from other interfaces.
IsInstanceRegisterContext()
}
type InstanceRegisterContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyInstanceRegisterContext() *InstanceRegisterContext {
var p = new(InstanceRegisterContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_instanceRegister
return p
}
func (*InstanceRegisterContext) IsInstanceRegisterContext() {}
func NewInstanceRegisterContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *InstanceRegisterContext {
var p = new(InstanceRegisterContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_instanceRegister
return p
}
func (s *InstanceRegisterContext) GetParser() antlr.Parser { return s.parser }
func (s *InstanceRegisterContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *InstanceRegisterContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *InstanceRegisterContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *InstanceRegisterContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterInstanceRegister(s)
}
}
func (s *InstanceRegisterContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitInstanceRegister(s)
}
}
func (s *InstanceRegisterContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitInstanceRegister(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) InstanceRegister() (localctx IInstanceRegisterContext) {
localctx = NewInstanceRegisterContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 350, SmaliParserRULE_instanceRegister)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1475)
p.RegisterIdentifier()
}
return localctx
}
// ISourceRegisterContext is an interface to support dynamic dispatch.
type ISourceRegisterContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsSourceRegisterContext differentiates from other interfaces.
IsSourceRegisterContext()
}
type SourceRegisterContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptySourceRegisterContext() *SourceRegisterContext {
var p = new(SourceRegisterContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_sourceRegister
return p
}
func (*SourceRegisterContext) IsSourceRegisterContext() {}
func NewSourceRegisterContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *SourceRegisterContext {
var p = new(SourceRegisterContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_sourceRegister
return p
}
func (s *SourceRegisterContext) GetParser() antlr.Parser { return s.parser }
func (s *SourceRegisterContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *SourceRegisterContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *SourceRegisterContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *SourceRegisterContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterSourceRegister(s)
}
}
func (s *SourceRegisterContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitSourceRegister(s)
}
}
func (s *SourceRegisterContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case SmaliParserVisitor:
return t.VisitSourceRegister(s)
default:
return t.VisitChildren(s)
}
}
func (p *SmaliParser) SourceRegister() (localctx ISourceRegisterContext) {
localctx = NewSourceRegisterContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 352, SmaliParserRULE_sourceRegister)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(1477)
p.RegisterIdentifier()
}
return localctx
}
// ITargetRegisterContext is an interface to support dynamic dispatch.
type ITargetRegisterContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsTargetRegisterContext differentiates from other interfaces.
IsTargetRegisterContext()
}
type TargetRegisterContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyTargetRegisterContext() *TargetRegisterContext {
var p = new(TargetRegisterContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = SmaliParserRULE_targetRegister
return p
}
func (*TargetRegisterContext) IsTargetRegisterContext() {}
func NewTargetRegisterContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *TargetRegisterContext {
var p = new(TargetRegisterContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = SmaliParserRULE_targetRegister
return p
}
func (s *TargetRegisterContext) GetParser() antlr.Parser { return s.parser }
func (s *TargetRegisterContext) RegisterIdentifier() IRegisterIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegisterIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegisterIdentifierContext)
}
func (s *TargetRegisterContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *TargetRegisterContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *TargetRegisterContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.EnterTargetRegister(s)
}
}
func (s *TargetRegisterContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(SmaliParserListener); ok {
listenerT.ExitTargetRegister(s)
}
}
func (s *TargetRegisterContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
sw
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment