Skip to content

Commit d134aad

Browse files
committed
parsing oneof syntax in destination position
1 parent 9f81e2c commit d134aad

File tree

9 files changed

+422
-114
lines changed

9 files changed

+422
-114
lines changed

Numscript.g4

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,9 +94,10 @@ keptOrDestination:
9494
destinationInOrderClause: MAX valueExpr keptOrDestination;
9595
9696
destination:
97-
valueExpr # destAccount
98-
| LBRACE allotmentClauseDest+ RBRACE # destAllotment
99-
| LBRACE destinationInOrderClause* REMAINING keptOrDestination RBRACE # destInorder;
97+
valueExpr # destAccount
98+
| LBRACE allotmentClauseDest+ RBRACE # destAllotment
99+
| LBRACE destinationInOrderClause* REMAINING keptOrDestination RBRACE # destInorder
100+
| 'oneof' LBRACE destinationInOrderClause* REMAINING keptOrDestination RBRACE # destOneof;
100101
allotmentClauseDest: allotment keptOrDestination;
101102
102103
sentValue: valueExpr # sentLiteral | sentAllLit # sentAll;

internal/parser/__snapshots__/parser_test.snap

Lines changed: 99 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1903,7 +1903,7 @@ mismatched input 'err' expecting {'oneof', 'max', '[', '{', RATIO_PORTION_LITERA
19031903
| ~~
19041904
2 | destination = ee
19051905

1906-
mismatched input 'ee' expecting {'[', '{', RATIO_PORTION_LITERAL, PERCENTAGE_PORTION_LITERAL, STRING, NUMBER, VARIABLE_NAME, ACCOUNT, ASSET}
1906+
mismatched input 'ee' expecting {'oneof', '[', '{', RATIO_PORTION_LITERAL, PERCENTAGE_PORTION_LITERAL, STRING, NUMBER, VARIABLE_NAME, ACCOUNT, ASSET}
19071907
1 | source = err
19081908
2 | destination = ee
19091909
| ~
@@ -2363,3 +2363,101 @@ parser.Program{
23632363
},
23642364
}
23652365
---
2366+
2367+
[TestOneofDestination - 1]
2368+
parser.Program{
2369+
Vars: nil,
2370+
Statements: {
2371+
&parser.SendStatement{
2372+
Range: parser.Range{
2373+
Start: parser.Position{},
2374+
End: parser.Position{Character:2, Line:7},
2375+
},
2376+
SentValue: &parser.SentValueLiteral{
2377+
Range: parser.Range{
2378+
Start: parser.Position{Character:5, Line:0},
2379+
End: parser.Position{Character:9, Line:0},
2380+
},
2381+
Monetary: &parser.Variable{
2382+
Range: parser.Range{
2383+
Start: parser.Position{Character:5, Line:0},
2384+
End: parser.Position{Character:9, Line:0},
2385+
},
2386+
Name: "amt",
2387+
},
2388+
},
2389+
Source: &parser.SourceAccount{
2390+
ValueExpr: &parser.AccountLiteral{
2391+
Range: parser.Range{
2392+
Start: parser.Position{Character:10, Line:1},
2393+
End: parser.Position{Character:12, Line:1},
2394+
},
2395+
Name: "s",
2396+
},
2397+
},
2398+
Destination: &parser.DestinationOneof{
2399+
Range: parser.Range{
2400+
Start: parser.Position{Character:15, Line:2},
2401+
End: parser.Position{Character:3, Line:6},
2402+
},
2403+
Clauses: {
2404+
{
2405+
Range: parser.Range{
2406+
Start: parser.Position{Character:2, Line:3},
2407+
End: parser.Position{Character:16, Line:3},
2408+
},
2409+
Cap: &parser.Variable{
2410+
Range: parser.Range{
2411+
Start: parser.Position{Character:6, Line:3},
2412+
End: parser.Position{Character:9, Line:3},
2413+
},
2414+
Name: "m1",
2415+
},
2416+
To: &parser.DestinationTo{
2417+
Destination: &parser.DestinationAccount{
2418+
ValueExpr: &parser.AccountLiteral{
2419+
Range: parser.Range{
2420+
Start: parser.Position{Character:13, Line:3},
2421+
End: parser.Position{Character:16, Line:3},
2422+
},
2423+
Name: "d1",
2424+
},
2425+
},
2426+
},
2427+
},
2428+
{
2429+
Range: parser.Range{
2430+
Start: parser.Position{Character:2, Line:4},
2431+
End: parser.Position{Character:14, Line:4},
2432+
},
2433+
Cap: &parser.Variable{
2434+
Range: parser.Range{
2435+
Start: parser.Position{Character:6, Line:4},
2436+
End: parser.Position{Character:9, Line:4},
2437+
},
2438+
Name: "m2",
2439+
},
2440+
To: &parser.DestinationKept{
2441+
Range: parser.Range{
2442+
Start: parser.Position{Character:10, Line:4},
2443+
End: parser.Position{Character:14, Line:4},
2444+
},
2445+
},
2446+
},
2447+
},
2448+
Remaining: &parser.DestinationTo{
2449+
Destination: &parser.DestinationAccount{
2450+
ValueExpr: &parser.AccountLiteral{
2451+
Range: parser.Range{
2452+
Start: parser.Position{Character:15, Line:5},
2453+
End: parser.Position{Character:18, Line:5},
2454+
},
2455+
Name: "d3",
2456+
},
2457+
},
2458+
},
2459+
},
2460+
},
2461+
},
2462+
}
2463+
---

internal/parser/antlr/Numscript.interp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,4 +103,4 @@ statement
103103

104104

105105
atn:
106-
[4, 1, 38, 226, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 3, 1, 46, 8, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 3, 2, 56, 8, 2, 1, 2, 1, 2, 1, 2, 5, 2, 61, 8, 2, 10, 2, 12, 2, 64, 9, 2, 1, 3, 1, 3, 1, 3, 5, 3, 69, 8, 3, 10, 3, 12, 3, 72, 9, 3, 1, 4, 1, 4, 1, 4, 3, 4, 77, 8, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 3, 6, 87, 8, 6, 1, 7, 1, 7, 1, 7, 5, 7, 92, 8, 7, 10, 7, 12, 7, 95, 9, 7, 1, 7, 1, 7, 1, 8, 3, 8, 100, 8, 8, 1, 8, 5, 8, 103, 8, 8, 10, 8, 12, 8, 106, 9, 8, 1, 8, 1, 8, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 10, 1, 10, 1, 10, 3, 10, 118, 8, 10, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 4, 11, 135, 8, 11, 11, 11, 12, 11, 136, 1, 11, 1, 11, 1, 11, 1, 11, 5, 11, 143, 8, 11, 10, 11, 12, 11, 146, 9, 11, 1, 11, 1, 11, 1, 11, 1, 11, 4, 11, 152, 8, 11, 11, 11, 12, 11, 153, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 3, 11, 163, 8, 11, 1, 12, 1, 12, 1, 12, 1, 12, 1, 13, 1, 13, 1, 13, 3, 13, 172, 8, 13, 1, 14, 1, 14, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 4, 15, 181, 8, 15, 11, 15, 12, 15, 182, 1, 15, 1, 15, 1, 15, 1, 15, 5, 15, 189, 8, 15, 10, 15, 12, 15, 192, 9, 15, 1, 15, 1, 15, 1, 15, 1, 15, 3, 15, 198, 8, 15, 1, 16, 1, 16, 1, 16, 1, 17, 1, 17, 3, 17, 205, 8, 17, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 3, 18, 224, 8, 18, 1, 18, 0, 1, 4, 19, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 0, 2, 2, 0, 1, 1, 30, 30, 2, 0, 18, 18, 34, 34, 239, 0, 38, 1, 0, 0, 0, 2, 45, 1, 0, 0, 0, 4, 55, 1, 0, 0, 0, 6, 65, 1, 0, 0, 0, 8, 73, 1, 0, 0, 0, 10, 80, 1, 0, 0, 0, 12, 83, 1, 0, 0, 0, 14, 88, 1, 0, 0, 0, 16, 99, 1, 0, 0, 0, 18, 109, 1, 0, 0, 0, 20, 117, 1, 0, 0, 0, 22, 162, 1, 0, 0, 0, 24, 164, 1, 0, 0, 0, 26, 171, 1, 0, 0, 0, 28, 173, 1, 0, 0, 0, 30, 197, 1, 0, 0, 0, 32, 199, 1, 0, 0, 0, 34, 204, 1, 0, 0, 0, 36, 223, 1, 0, 0, 0, 38, 39, 5, 23, 0, 0, 39, 40, 3, 4, 2, 0, 40, 41, 3, 4, 2, 0, 41, 42, 5, 24, 0, 0, 42, 1, 1, 0, 0, 0, 43, 46, 5, 31, 0, 0, 44, 46, 5, 32, 0, 0, 45, 43, 1, 0, 0, 0, 45, 44, 1, 0, 0, 0, 46, 3, 1, 0, 0, 0, 47, 48, 6, 2, -1, 0, 48, 56, 5, 36, 0, 0, 49, 56, 5, 38, 0, 0, 50, 56, 5, 33, 0, 0, 51, 56, 5, 37, 0, 0, 52, 56, 5, 35, 0, 0, 53, 56, 3, 0, 0, 0, 54, 56, 3, 2, 1, 0, 55, 47, 1, 0, 0, 0, 55, 49, 1, 0, 0, 0, 55, 50, 1, 0, 0, 0, 55, 51, 1, 0, 0, 0, 55, 52, 1, 0, 0, 0, 55, 53, 1, 0, 0, 0, 55, 54, 1, 0, 0, 0, 56, 62, 1, 0, 0, 0, 57, 58, 10, 1, 0, 0, 58, 59, 7, 0, 0, 0, 59, 61, 3, 4, 2, 2, 60, 57, 1, 0, 0, 0, 61, 64, 1, 0, 0, 0, 62, 60, 1, 0, 0, 0, 62, 63, 1, 0, 0, 0, 63, 5, 1, 0, 0, 0, 64, 62, 1, 0, 0, 0, 65, 70, 3, 4, 2, 0, 66, 67, 5, 27, 0, 0, 67, 69, 3, 4, 2, 0, 68, 66, 1, 0, 0, 0, 69, 72, 1, 0, 0, 0, 70, 68, 1, 0, 0, 0, 70, 71, 1, 0, 0, 0, 71, 7, 1, 0, 0, 0, 72, 70, 1, 0, 0, 0, 73, 74, 7, 1, 0, 0, 74, 76, 5, 21, 0, 0, 75, 77, 3, 6, 3, 0, 76, 75, 1, 0, 0, 0, 76, 77, 1, 0, 0, 0, 77, 78, 1, 0, 0, 0, 78, 79, 5, 22, 0, 0, 79, 9, 1, 0, 0, 0, 80, 81, 5, 28, 0, 0, 81, 82, 3, 8, 4, 0, 82, 11, 1, 0, 0, 0, 83, 84, 5, 34, 0, 0, 84, 86, 5, 36, 0, 0, 85, 87, 3, 10, 5, 0, 86, 85, 1, 0, 0, 0, 86, 87, 1, 0, 0, 0, 87, 13, 1, 0, 0, 0, 88, 89, 5, 7, 0, 0, 89, 93, 5, 25, 0, 0, 90, 92, 3, 12, 6, 0, 91, 90, 1, 0, 0, 0, 92, 95, 1, 0, 0, 0, 93, 91, 1, 0, 0, 0, 93, 94, 1, 0, 0, 0, 94, 96, 1, 0, 0, 0, 95, 93, 1, 0, 0, 0, 96, 97, 5, 26, 0, 0, 97, 15, 1, 0, 0, 0, 98, 100, 3, 14, 7, 0, 99, 98, 1, 0, 0, 0, 99, 100, 1, 0, 0, 0, 100, 104, 1, 0, 0, 0, 101, 103, 3, 36, 18, 0, 102, 101, 1, 0, 0, 0, 103, 106, 1, 0, 0, 0, 104, 102, 1, 0, 0, 0, 104, 105, 1, 0, 0, 0, 105, 107, 1, 0, 0, 0, 106, 104, 1, 0, 0, 0, 107, 108, 5, 0, 0, 1, 108, 17, 1, 0, 0, 0, 109, 110, 5, 23, 0, 0, 110, 111, 3, 4, 2, 0, 111, 112, 5, 29, 0, 0, 112, 113, 5, 24, 0, 0, 113, 19, 1, 0, 0, 0, 114, 118, 3, 2, 1, 0, 115, 118, 5, 36, 0, 0, 116, 118, 5, 15, 0, 0, 117, 114, 1, 0, 0, 0, 117, 115, 1, 0, 0, 0, 117, 116, 1, 0, 0, 0, 118, 21, 1, 0, 0, 0, 119, 120, 3, 4, 2, 0, 120, 121, 5, 16, 0, 0, 121, 122, 5, 17, 0, 0, 122, 123, 5, 18, 0, 0, 123, 163, 1, 0, 0, 0, 124, 125, 3, 4, 2, 0, 125, 126, 5, 16, 0, 0, 126, 127, 5, 18, 0, 0, 127, 128, 5, 13, 0, 0, 128, 129, 5, 14, 0, 0, 129, 130, 3, 4, 2, 0, 130, 163, 1, 0, 0, 0, 131, 163, 3, 4, 2, 0, 132, 134, 5, 25, 0, 0, 133, 135, 3, 24, 12, 0, 134, 133, 1, 0, 0, 0, 135, 136, 1, 0, 0, 0, 136, 134, 1, 0, 0, 0, 136, 137, 1, 0, 0, 0, 137, 138, 1, 0, 0, 0, 138, 139, 5, 26, 0, 0, 139, 163, 1, 0, 0, 0, 140, 144, 5, 25, 0, 0, 141, 143, 3, 22, 11, 0, 142, 141, 1, 0, 0, 0, 143, 146, 1, 0, 0, 0, 144, 142, 1, 0, 0, 0, 144, 145, 1, 0, 0, 0, 145, 147, 1, 0, 0, 0, 146, 144, 1, 0, 0, 0, 147, 163, 5, 26, 0, 0, 148, 149, 5, 2, 0, 0, 149, 151, 5, 25, 0, 0, 150, 152, 3, 22, 11, 0, 151, 150, 1, 0, 0, 0, 152, 153, 1, 0, 0, 0, 153, 151, 1, 0, 0, 0, 153, 154, 1, 0, 0, 0, 154, 155, 1, 0, 0, 0, 155, 156, 5, 26, 0, 0, 156, 163, 1, 0, 0, 0, 157, 158, 5, 8, 0, 0, 158, 159, 3, 4, 2, 0, 159, 160, 5, 12, 0, 0, 160, 161, 3, 22, 11, 0, 161, 163, 1, 0, 0, 0, 162, 119, 1, 0, 0, 0, 162, 124, 1, 0, 0, 0, 162, 131, 1, 0, 0, 0, 162, 132, 1, 0, 0, 0, 162, 140, 1, 0, 0, 0, 162, 148, 1, 0, 0, 0, 162, 157, 1, 0, 0, 0, 163, 23, 1, 0, 0, 0, 164, 165, 3, 20, 10, 0, 165, 166, 5, 12, 0, 0, 166, 167, 3, 22, 11, 0, 167, 25, 1, 0, 0, 0, 168, 169, 5, 14, 0, 0, 169, 172, 3, 30, 15, 0, 170, 172, 5, 19, 0, 0, 171, 168, 1, 0, 0, 0, 171, 170, 1, 0, 0, 0, 172, 27, 1, 0, 0, 0, 173, 174, 5, 8, 0, 0, 174, 175, 3, 4, 2, 0, 175, 176, 3, 26, 13, 0, 176, 29, 1, 0, 0, 0, 177, 198, 3, 4, 2, 0, 178, 180, 5, 25, 0, 0, 179, 181, 3, 32, 16, 0, 180, 179, 1, 0, 0, 0, 181, 182, 1, 0, 0, 0, 182, 180, 1, 0, 0, 0, 182, 183, 1, 0, 0, 0, 183, 184, 1, 0, 0, 0, 184, 185, 5, 26, 0, 0, 185, 198, 1, 0, 0, 0, 186, 190, 5, 25, 0, 0, 187, 189, 3, 28, 14, 0, 188, 187, 1, 0, 0, 0, 189, 192, 1, 0, 0, 0, 190, 188, 1, 0, 0, 0, 190, 191, 1, 0, 0, 0, 191, 193, 1, 0, 0, 0, 192, 190, 1, 0, 0, 0, 193, 194, 5, 15, 0, 0, 194, 195, 3, 26, 13, 0, 195, 196, 5, 26, 0, 0, 196, 198, 1, 0, 0, 0, 197, 177, 1, 0, 0, 0, 197, 178, 1, 0, 0, 0, 197, 186, 1, 0, 0, 0, 198, 31, 1, 0, 0, 0, 199, 200, 3, 20, 10, 0, 200, 201, 3, 26, 13, 0, 201, 33, 1, 0, 0, 0, 202, 205, 3, 4, 2, 0, 203, 205, 3, 18, 9, 0, 204, 202, 1, 0, 0, 0, 204, 203, 1, 0, 0, 0, 205, 35, 1, 0, 0, 0, 206, 207, 5, 11, 0, 0, 207, 208, 3, 34, 17, 0, 208, 209, 5, 21, 0, 0, 209, 210, 5, 9, 0, 0, 210, 211, 5, 28, 0, 0, 211, 212, 3, 22, 11, 0, 212, 213, 5, 10, 0, 0, 213, 214, 5, 28, 0, 0, 214, 215, 3, 30, 15, 0, 215, 216, 5, 22, 0, 0, 216, 224, 1, 0, 0, 0, 217, 218, 5, 20, 0, 0, 218, 219, 3, 34, 17, 0, 219, 220, 5, 12, 0, 0, 220, 221, 3, 4, 2, 0, 221, 224, 1, 0, 0, 0, 222, 224, 3, 8, 4, 0, 223, 206, 1, 0, 0, 0, 223, 217, 1, 0, 0, 0, 223, 222, 1, 0, 0, 0, 224, 37, 1, 0, 0, 0, 20, 45, 55, 62, 70, 76, 86, 93, 99, 104, 117, 136, 144, 153, 162, 171, 182, 190, 197, 204, 223]
106+
[4, 1, 38, 238, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 3, 1, 46, 8, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 3, 2, 56, 8, 2, 1, 2, 1, 2, 1, 2, 5, 2, 61, 8, 2, 10, 2, 12, 2, 64, 9, 2, 1, 3, 1, 3, 1, 3, 5, 3, 69, 8, 3, 10, 3, 12, 3, 72, 9, 3, 1, 4, 1, 4, 1, 4, 3, 4, 77, 8, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 3, 6, 87, 8, 6, 1, 7, 1, 7, 1, 7, 5, 7, 92, 8, 7, 10, 7, 12, 7, 95, 9, 7, 1, 7, 1, 7, 1, 8, 3, 8, 100, 8, 8, 1, 8, 5, 8, 103, 8, 8, 10, 8, 12, 8, 106, 9, 8, 1, 8, 1, 8, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 10, 1, 10, 1, 10, 3, 10, 118, 8, 10, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 4, 11, 135, 8, 11, 11, 11, 12, 11, 136, 1, 11, 1, 11, 1, 11, 1, 11, 5, 11, 143, 8, 11, 10, 11, 12, 11, 146, 9, 11, 1, 11, 1, 11, 1, 11, 1, 11, 4, 11, 152, 8, 11, 11, 11, 12, 11, 153, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 3, 11, 163, 8, 11, 1, 12, 1, 12, 1, 12, 1, 12, 1, 13, 1, 13, 1, 13, 3, 13, 172, 8, 13, 1, 14, 1, 14, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 4, 15, 181, 8, 15, 11, 15, 12, 15, 182, 1, 15, 1, 15, 1, 15, 1, 15, 5, 15, 189, 8, 15, 10, 15, 12, 15, 192, 9, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 5, 15, 201, 8, 15, 10, 15, 12, 15, 204, 9, 15, 1, 15, 1, 15, 1, 15, 1, 15, 3, 15, 210, 8, 15, 1, 16, 1, 16, 1, 16, 1, 17, 1, 17, 3, 17, 217, 8, 17, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 3, 18, 236, 8, 18, 1, 18, 0, 1, 4, 19, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 0, 2, 2, 0, 1, 1, 30, 30, 2, 0, 18, 18, 34, 34, 253, 0, 38, 1, 0, 0, 0, 2, 45, 1, 0, 0, 0, 4, 55, 1, 0, 0, 0, 6, 65, 1, 0, 0, 0, 8, 73, 1, 0, 0, 0, 10, 80, 1, 0, 0, 0, 12, 83, 1, 0, 0, 0, 14, 88, 1, 0, 0, 0, 16, 99, 1, 0, 0, 0, 18, 109, 1, 0, 0, 0, 20, 117, 1, 0, 0, 0, 22, 162, 1, 0, 0, 0, 24, 164, 1, 0, 0, 0, 26, 171, 1, 0, 0, 0, 28, 173, 1, 0, 0, 0, 30, 209, 1, 0, 0, 0, 32, 211, 1, 0, 0, 0, 34, 216, 1, 0, 0, 0, 36, 235, 1, 0, 0, 0, 38, 39, 5, 23, 0, 0, 39, 40, 3, 4, 2, 0, 40, 41, 3, 4, 2, 0, 41, 42, 5, 24, 0, 0, 42, 1, 1, 0, 0, 0, 43, 46, 5, 31, 0, 0, 44, 46, 5, 32, 0, 0, 45, 43, 1, 0, 0, 0, 45, 44, 1, 0, 0, 0, 46, 3, 1, 0, 0, 0, 47, 48, 6, 2, -1, 0, 48, 56, 5, 36, 0, 0, 49, 56, 5, 38, 0, 0, 50, 56, 5, 33, 0, 0, 51, 56, 5, 37, 0, 0, 52, 56, 5, 35, 0, 0, 53, 56, 3, 0, 0, 0, 54, 56, 3, 2, 1, 0, 55, 47, 1, 0, 0, 0, 55, 49, 1, 0, 0, 0, 55, 50, 1, 0, 0, 0, 55, 51, 1, 0, 0, 0, 55, 52, 1, 0, 0, 0, 55, 53, 1, 0, 0, 0, 55, 54, 1, 0, 0, 0, 56, 62, 1, 0, 0, 0, 57, 58, 10, 1, 0, 0, 58, 59, 7, 0, 0, 0, 59, 61, 3, 4, 2, 2, 60, 57, 1, 0, 0, 0, 61, 64, 1, 0, 0, 0, 62, 60, 1, 0, 0, 0, 62, 63, 1, 0, 0, 0, 63, 5, 1, 0, 0, 0, 64, 62, 1, 0, 0, 0, 65, 70, 3, 4, 2, 0, 66, 67, 5, 27, 0, 0, 67, 69, 3, 4, 2, 0, 68, 66, 1, 0, 0, 0, 69, 72, 1, 0, 0, 0, 70, 68, 1, 0, 0, 0, 70, 71, 1, 0, 0, 0, 71, 7, 1, 0, 0, 0, 72, 70, 1, 0, 0, 0, 73, 74, 7, 1, 0, 0, 74, 76, 5, 21, 0, 0, 75, 77, 3, 6, 3, 0, 76, 75, 1, 0, 0, 0, 76, 77, 1, 0, 0, 0, 77, 78, 1, 0, 0, 0, 78, 79, 5, 22, 0, 0, 79, 9, 1, 0, 0, 0, 80, 81, 5, 28, 0, 0, 81, 82, 3, 8, 4, 0, 82, 11, 1, 0, 0, 0, 83, 84, 5, 34, 0, 0, 84, 86, 5, 36, 0, 0, 85, 87, 3, 10, 5, 0, 86, 85, 1, 0, 0, 0, 86, 87, 1, 0, 0, 0, 87, 13, 1, 0, 0, 0, 88, 89, 5, 7, 0, 0, 89, 93, 5, 25, 0, 0, 90, 92, 3, 12, 6, 0, 91, 90, 1, 0, 0, 0, 92, 95, 1, 0, 0, 0, 93, 91, 1, 0, 0, 0, 93, 94, 1, 0, 0, 0, 94, 96, 1, 0, 0, 0, 95, 93, 1, 0, 0, 0, 96, 97, 5, 26, 0, 0, 97, 15, 1, 0, 0, 0, 98, 100, 3, 14, 7, 0, 99, 98, 1, 0, 0, 0, 99, 100, 1, 0, 0, 0, 100, 104, 1, 0, 0, 0, 101, 103, 3, 36, 18, 0, 102, 101, 1, 0, 0, 0, 103, 106, 1, 0, 0, 0, 104, 102, 1, 0, 0, 0, 104, 105, 1, 0, 0, 0, 105, 107, 1, 0, 0, 0, 106, 104, 1, 0, 0, 0, 107, 108, 5, 0, 0, 1, 108, 17, 1, 0, 0, 0, 109, 110, 5, 23, 0, 0, 110, 111, 3, 4, 2, 0, 111, 112, 5, 29, 0, 0, 112, 113, 5, 24, 0, 0, 113, 19, 1, 0, 0, 0, 114, 118, 3, 2, 1, 0, 115, 118, 5, 36, 0, 0, 116, 118, 5, 15, 0, 0, 117, 114, 1, 0, 0, 0, 117, 115, 1, 0, 0, 0, 117, 116, 1, 0, 0, 0, 118, 21, 1, 0, 0, 0, 119, 120, 3, 4, 2, 0, 120, 121, 5, 16, 0, 0, 121, 122, 5, 17, 0, 0, 122, 123, 5, 18, 0, 0, 123, 163, 1, 0, 0, 0, 124, 125, 3, 4, 2, 0, 125, 126, 5, 16, 0, 0, 126, 127, 5, 18, 0, 0, 127, 128, 5, 13, 0, 0, 128, 129, 5, 14, 0, 0, 129, 130, 3, 4, 2, 0, 130, 163, 1, 0, 0, 0, 131, 163, 3, 4, 2, 0, 132, 134, 5, 25, 0, 0, 133, 135, 3, 24, 12, 0, 134, 133, 1, 0, 0, 0, 135, 136, 1, 0, 0, 0, 136, 134, 1, 0, 0, 0, 136, 137, 1, 0, 0, 0, 137, 138, 1, 0, 0, 0, 138, 139, 5, 26, 0, 0, 139, 163, 1, 0, 0, 0, 140, 144, 5, 25, 0, 0, 141, 143, 3, 22, 11, 0, 142, 141, 1, 0, 0, 0, 143, 146, 1, 0, 0, 0, 144, 142, 1, 0, 0, 0, 144, 145, 1, 0, 0, 0, 145, 147, 1, 0, 0, 0, 146, 144, 1, 0, 0, 0, 147, 163, 5, 26, 0, 0, 148, 149, 5, 2, 0, 0, 149, 151, 5, 25, 0, 0, 150, 152, 3, 22, 11, 0, 151, 150, 1, 0, 0, 0, 152, 153, 1, 0, 0, 0, 153, 151, 1, 0, 0, 0, 153, 154, 1, 0, 0, 0, 154, 155, 1, 0, 0, 0, 155, 156, 5, 26, 0, 0, 156, 163, 1, 0, 0, 0, 157, 158, 5, 8, 0, 0, 158, 159, 3, 4, 2, 0, 159, 160, 5, 12, 0, 0, 160, 161, 3, 22, 11, 0, 161, 163, 1, 0, 0, 0, 162, 119, 1, 0, 0, 0, 162, 124, 1, 0, 0, 0, 162, 131, 1, 0, 0, 0, 162, 132, 1, 0, 0, 0, 162, 140, 1, 0, 0, 0, 162, 148, 1, 0, 0, 0, 162, 157, 1, 0, 0, 0, 163, 23, 1, 0, 0, 0, 164, 165, 3, 20, 10, 0, 165, 166, 5, 12, 0, 0, 166, 167, 3, 22, 11, 0, 167, 25, 1, 0, 0, 0, 168, 169, 5, 14, 0, 0, 169, 172, 3, 30, 15, 0, 170, 172, 5, 19, 0, 0, 171, 168, 1, 0, 0, 0, 171, 170, 1, 0, 0, 0, 172, 27, 1, 0, 0, 0, 173, 174, 5, 8, 0, 0, 174, 175, 3, 4, 2, 0, 175, 176, 3, 26, 13, 0, 176, 29, 1, 0, 0, 0, 177, 210, 3, 4, 2, 0, 178, 180, 5, 25, 0, 0, 179, 181, 3, 32, 16, 0, 180, 179, 1, 0, 0, 0, 181, 182, 1, 0, 0, 0, 182, 180, 1, 0, 0, 0, 182, 183, 1, 0, 0, 0, 183, 184, 1, 0, 0, 0, 184, 185, 5, 26, 0, 0, 185, 210, 1, 0, 0, 0, 186, 190, 5, 25, 0, 0, 187, 189, 3, 28, 14, 0, 188, 187, 1, 0, 0, 0, 189, 192, 1, 0, 0, 0, 190, 188, 1, 0, 0, 0, 190, 191, 1, 0, 0, 0, 191, 193, 1, 0, 0, 0, 192, 190, 1, 0, 0, 0, 193, 194, 5, 15, 0, 0, 194, 195, 3, 26, 13, 0, 195, 196, 5, 26, 0, 0, 196, 210, 1, 0, 0, 0, 197, 198, 5, 2, 0, 0, 198, 202, 5, 25, 0, 0, 199, 201, 3, 28, 14, 0, 200, 199, 1, 0, 0, 0, 201, 204, 1, 0, 0, 0, 202, 200, 1, 0, 0, 0, 202, 203, 1, 0, 0, 0, 203, 205, 1, 0, 0, 0, 204, 202, 1, 0, 0, 0, 205, 206, 5, 15, 0, 0, 206, 207, 3, 26, 13, 0, 207, 208, 5, 26, 0, 0, 208, 210, 1, 0, 0, 0, 209, 177, 1, 0, 0, 0, 209, 178, 1, 0, 0, 0, 209, 186, 1, 0, 0, 0, 209, 197, 1, 0, 0, 0, 210, 31, 1, 0, 0, 0, 211, 212, 3, 20, 10, 0, 212, 213, 3, 26, 13, 0, 213, 33, 1, 0, 0, 0, 214, 217, 3, 4, 2, 0, 215, 217, 3, 18, 9, 0, 216, 214, 1, 0, 0, 0, 216, 215, 1, 0, 0, 0, 217, 35, 1, 0, 0, 0, 218, 219, 5, 11, 0, 0, 219, 220, 3, 34, 17, 0, 220, 221, 5, 21, 0, 0, 221, 222, 5, 9, 0, 0, 222, 223, 5, 28, 0, 0, 223, 224, 3, 22, 11, 0, 224, 225, 5, 10, 0, 0, 225, 226, 5, 28, 0, 0, 226, 227, 3, 30, 15, 0, 227, 228, 5, 22, 0, 0, 228, 236, 1, 0, 0, 0, 229, 230, 5, 20, 0, 0, 230, 231, 3, 34, 17, 0, 231, 232, 5, 12, 0, 0, 232, 233, 3, 4, 2, 0, 233, 236, 1, 0, 0, 0, 234, 236, 3, 8, 4, 0, 235, 218, 1, 0, 0, 0, 235, 229, 1, 0, 0, 0, 235, 234, 1, 0, 0, 0, 236, 37, 1, 0, 0, 0, 21, 45, 55, 62, 70, 76, 86, 93, 99, 104, 117, 136, 144, 153, 162, 171, 182, 190, 202, 209, 216, 235]

0 commit comments

Comments
 (0)