alterTableStatement() |  | 7% |   | 2% | 247 | 248 | 246 | 287 | 0 | 1 |
describeStatement() |  | 0% |  | 0% | 163 | 163 | 166 | 166 | 1 | 1 |
cqlStatement() |   | 31% |   | 18% | 119 | 132 | 154 | 269 | 0 | 1 |
createFunctionStatement() |  | 0% |  | 0% | 108 | 108 | 102 | 102 | 1 | 1 |
createIndexStatement() |  | 0% |  | 0% | 158 | 158 | 87 | 87 | 1 | 1 |
columnCondition(List) |  | 0% |  | 0% | 77 | 77 | 165 | 165 | 1 | 1 |
relation(WhereClause.Builder) |   | 29% |   | 14% | 79 | 83 | 133 | 197 | 0 | 1 |
createAggregateStatement() |  | 0% |  | 0% | 98 | 98 | 95 | 95 | 1 | 1 |
collectionSubSelection(Selectable.Raw) |  | 0% |  | 0% | 169 | 169 | 51 | 51 | 1 | 1 |
functionResource() |  | 0% |  | 0% | 100 | 100 | 85 | 85 | 1 | 1 |
roleOption(RoleOptions, DCPermissions.Builder, CIDRPermissions.Builder) |  | 0% |  | 0% | 65 | 65 | 88 | 88 | 1 | 1 |
alterTypeStatement() |  | 0% |  | 0% | 49 | 49 | 110 | 110 | 1 | 1 |
columnMask() |  | 0% |  | 0% | 90 | 90 | 65 | 65 | 1 | 1 |
selectionMapOrSet() |  | 0% |  | 0% | 99 | 99 | 59 | 59 | 1 | 1 |
selectionFunction() |  | 13% |   | 9% | 38 | 40 | 62 | 79 | 0 | 1 |
collectionLiteral() |  | 0% |  | 0% | 95 | 95 | 50 | 50 | 1 | 1 |
dropAggregateStatement() |  | 0% |  | 0% | 83 | 83 | 58 | 58 | 1 | 1 |
dropFunctionStatement() |  | 0% |  | 0% | 83 | 83 | 58 | 58 | 1 | 1 |
columnMaskArguments(List) |  | 0% |  | 0% | 94 | 94 | 49 | 49 | 1 | 1 |
updateStatement() |  | 28% |   | 8% | 97 | 100 | 40 | 86 | 0 | 1 |
createTypeStatement() |  | 0% |  | 0% | 79 | 79 | 49 | 49 | 1 | 1 |
indexIdent(List) |  | 0% |  | 0% | 42 | 42 | 80 | 80 | 1 | 1 |
listLiteral() |  | 0% |  | 0% | 89 | 89 | 37 | 37 | 1 | 1 |
deleteStatement() |   | 47% |   | 22% | 152 | 159 | 21 | 81 | 0 | 1 |
selectionList() |  | 0% |  | 0% | 88 | 88 | 36 | 36 | 1 | 1 |
selectStatement() |   | 41% |   | 31% | 45 | 51 | 57 | 125 | 0 | 1 |
selectionFunctionArgs() |  | 0% |  | 0% | 87 | 87 | 35 | 35 | 1 | 1 |
singleColumnInValues() |  | 0% |  | 0% | 87 | 87 | 35 | 35 | 1 | 1 |
dataResource() |  | 0% |  | 0% | 30 | 30 | 63 | 63 | 1 | 1 |
constant() |  | 23% |   | 17% | 49 | 54 | 49 | 68 | 0 | 1 |
createUserStatement() |  | 0% |  | 0% | 27 | 27 | 54 | 54 | 1 | 1 |
containsOperator() |  | 0% |  | 0% | 83 | 83 | 18 | 18 | 1 | 1 |
alterUserStatement() |  | 0% |  | 0% | 26 | 26 | 51 | 51 | 1 | 1 |
permissionOrAll() |  | 0% |  | 0% | 33 | 33 | 58 | 58 | 1 | 1 |
tableProperty(CreateTableStatement.Raw) |  | 10% |  | 6% | 27 | 28 | 55 | 66 | 0 | 1 |
batchStatement() |  | 0% |  | 0% | 26 | 26 | 56 | 56 | 1 | 1 |
jsonInsertStatement(QualifiedName) |  | 0% |  | 0% | 23 | 23 | 54 | 54 | 1 | 1 |
propertyValue() |  | 23% |   | 9% | 75 | 77 | 14 | 29 | 0 | 1 |
native_type() |   | 57% |   | 46% | 57 | 86 | 31 | 97 | 0 | 1 |
createRoleStatement() |  | 0% |  | 0% | 19 | 19 | 45 | 45 | 1 | 1 |
addIdentityStatement() |  | 0% |  | 0% | 17 | 17 | 35 | 35 | 1 | 1 |
usertypeLiteral() |  | 0% |  | 0% | 15 | 15 | 43 | 43 | 1 | 1 |
createTriggerStatement() |  | 0% |  | 0% | 16 | 16 | 34 | 34 | 1 | 1 |
alterRoleStatement() |  | 0% |  | 0% | 18 | 18 | 40 | 40 | 1 | 1 |
listPermissionsStatement() |  | 0% |  | 0% | 17 | 17 | 46 | 46 | 1 | 1 |
simpleTerm() | | 25% |   | 16% | 19 | 21 | 28 | 49 | 0 | 1 |
jmxResource() | | 0% |  | 0% | 19 | 19 | 36 | 36 | 1 | 1 |
non_type_ident() | | 0% |  | 0% | 24 | 24 | 35 | 35 | 1 | 1 |
roleName(RoleName) | | 0% |  | 0% | 25 | 25 | 38 | 38 | 1 | 1 |
alterMaterializedViewStatement() | | 0% |  | 0% | 13 | 13 | 32 | 32 | 1 | 1 |
selectionLiteral() | | 0% |  | 0% | 19 | 19 | 38 | 38 | 1 | 1 |
viewProperty(CreateViewStatement.Raw) | | 43% |   | 30% | 25 | 28 | 36 | 66 | 0 | 1 |
selectionMap(Selectable.Raw) | | 0% |  | 0% | 12 | 12 | 36 | 36 | 1 | 1 |
mapLiteral(Term.Raw) | | 0% |  | 0% | 12 | 12 | 36 | 36 | 1 | 1 |
columnOperationDifferentiator(List, ColumnIdentifier) | | 21% |  | 12% | 19 | 20 | 36 | 50 | 0 | 1 |
selectorModifier(Selectable.Raw) | | 14% |  | 14% | 15 | 17 | 31 | 43 | 0 | 1 |
alterKeyspaceStatement() | | 0% |  | 0% | 12 | 12 | 30 | 30 | 1 | 1 |
dropTriggerStatement() | | 0% |  | 0% | 12 | 12 | 30 | 30 | 1 | 1 |
normalColumnOperation(List, ColumnIdentifier) | | 46% |   | 25% | 27 | 29 | 26 | 63 | 0 | 1 |
selectionMultiplication() | | 20% |  | 13% | 17 | 18 | 28 | 42 | 0 | 1 |
termMultiplication() | | 20% |  | 13% | 17 | 18 | 28 | 42 | 0 | 1 |
createMaterializedViewStatement() |  | 62% |   | 43% | 28 | 31 | 16 | 78 | 0 | 1 |
jsonValue() | | 0% |  | 0% | 16 | 16 | 31 | 31 | 1 | 1 |
comparatorType() | | 49% |   | 31% | 24 | 28 | 24 | 62 | 0 | 1 |
idxName(QualifiedName) | | 0% |  | 0% | 20 | 20 | 33 | 33 | 1 | 1 |
allowedFunctionName() | | 19% |  | 10% | 23 | 24 | 26 | 38 | 0 | 1 |
selectionTupleOrNestedSelector() | | 0% |  | 0% | 11 | 11 | 31 | 31 | 1 | 1 |
tupleLiteral() | | 0% |  | 0% | 11 | 11 | 31 | 31 | 1 | 1 |
value() | | 35% |   | 23% | 20 | 23 | 25 | 45 | 0 | 1 |
dropUserStatement() | | 0% |  | 0% | 11 | 11 | 25 | 25 | 1 | 1 |
listRolesStatement() | | 0% |  | 0% | 12 | 12 | 29 | 29 | 1 | 1 |
fident() | | 0% |  | 0% | 16 | 16 | 30 | 30 | 1 | 1 |
batchStatementObjective() | | 0% |  | 0% | 14 | 14 | 37 | 37 | 1 | 1 |
resource() | | 0% |  | 0% | 13 | 13 | 34 | 34 | 1 | 1 |
dropIdentityStatement() | | 0% |  | 0% | 11 | 11 | 25 | 25 | 1 | 1 |
userPassword(RoleOptions) | | 0% |  | 0% | 15 | 15 | 24 | 24 | 1 | 1 |
grantPermissionsStatement() | | 0% |  | 0% | 8 | 8 | 26 | 26 | 1 | 1 |
revokePermissionsStatement() | | 0% |  | 0% | 8 | 8 | 26 | 26 | 1 | 1 |
tupleOfTupleLiterals() | | 0% |  | 0% | 10 | 10 | 30 | 30 | 1 | 1 |
tupleOfMarkersForTuples() | | 0% |  | 0% | 10 | 10 | 30 | 30 | 1 | 1 |
roleResource() | | 0% |  | 0% | 12 | 12 | 27 | 27 | 1 | 1 |
userTypeName() | | 0% |  | 0% | 15 | 15 | 39 | 39 | 1 | 1 |
dropTypeStatement() | | 0% |  | 0% | 10 | 10 | 24 | 24 | 1 | 1 |
dropIndexStatement() | | 0% |  | 0% | 10 | 10 | 24 | 24 | 1 | 1 |
dropRoleStatement() | | 0% |  | 0% | 10 | 10 | 24 | 24 | 1 | 1 |
vector_type() | | 0% |  | 0% | 9 | 9 | 19 | 19 | 1 | 1 |
markerForTuple() | | 0% |  | 0% | 11 | 11 | 26 | 26 | 1 | 1 |
inMarkerForTuple() | | 0% |  | 0% | 11 | 11 | 26 | 26 | 1 | 1 |
permission() | | 0% |  | 0% | 14 | 14 | 17 | 17 | 1 | 1 |
selectionGroupWithoutField() | | 30% |   | 21% | 14 | 17 | 24 | 42 | 0 | 1 |
setOrMapLiteral(Term.Raw) | | 0% |  | 0% | 11 | 11 | 29 | 29 | 1 | 1 |
username() | | 0% |  | 0% | 12 | 12 | 25 | 25 | 1 | 1 |
identity() | | 0% |  | 0% | 12 | 12 | 25 | 25 | 1 | 1 |
relationType() | | 38% |   | 30% | 21 | 26 | 19 | 37 | 0 | 1 |
tableClusteringOrder(CreateTableStatement.Raw) | | 0% |  | 0% | 11 | 11 | 26 | 26 | 1 | 1 |
selectionAddition() | | 29% |   | 21% | 12 | 13 | 19 | 35 | 0 | 1 |
noncol_ident() | | 30% |   | 19% | 15 | 16 | 18 | 30 | 0 | 1 |
termAddition() | | 28% |  | 15% | 10 | 11 | 17 | 31 | 0 | 1 |
shorthandColumnOperation(List, ColumnIdentifier) | | 0% |  | 0% | 8 | 8 | 22 | 22 | 1 | 1 |
cident() | | 62% |   | 40% | 64 | 69 | 10 | 25 | 0 | 1 |
customIndexExpression(WhereClause.Builder) | | 0% |  | 0% | 7 | 7 | 20 | 20 | 1 | 1 |
termGroup() |  | 70% |   | 46% | 79 | 85 | 15 | 29 | 0 | 1 |
selectionTypeHint() | | 0% |  | 0% | 6 | 6 | 20 | 20 | 1 | 1 |
grantRoleStatement() | | 0% |  | 0% | 6 | 6 | 20 | 20 | 1 | 1 |
revokeRoleStatement() | | 0% |  | 0% | 6 | 6 | 20 | 20 | 1 | 1 |
insertStatement() | | 47% |   | 28% | 13 | 14 | 15 | 37 | 0 | 1 |
deleteOp() | | 53% |   | 34% | 13 | 15 | 14 | 39 | 0 | 1 |
unreserved_keyword() |  | 74% |   | 57% | 58 | 82 | 10 | 33 | 0 | 1 |
selectionSet(Selectable.Raw) | | 0% |  | 0% | 7 | 7 | 23 | 23 | 1 | 1 |
setLiteral(Term.Raw) | | 0% |  | 0% | 7 | 7 | 23 | 23 | 1 | 1 |
orderByClause(Map) | | 0% |  | 0% | 10 | 10 | 23 | 23 | 1 | 1 |
updateConditions() | | 0% |  | 0% | 6 | 6 | 24 | 24 | 1 | 1 |
tableColumns(CreateTableStatement.Raw) |  | 82% |   | 57% | 68 | 90 | 15 | 76 | 0 | 1 |
intValue() | | 41% |   | 34% | 13 | 16 | 15 | 31 | 0 | 1 |
collection_type() |  | 72% |   | 51% | 24 | 29 | 7 | 53 | 0 | 1 |
relationOrExpression(WhereClause.Builder) | | 67% |   | 43% | 64 | 70 | 13 | 24 | 0 | 1 |
function() | | 48% |   | 28% | 11 | 12 | 11 | 30 | 0 | 1 |
inMarker() | | 31% |  | 21% | 10 | 11 | 15 | 26 | 0 | 1 |
ksName(QualifiedName) | | 44% |   | 31% | 17 | 20 | 18 | 33 | 0 | 1 |
indexName() | | 0% |  | 0% | 5 | 5 | 20 | 20 | 1 | 1 |
selectionGroup() | | 32% |  | 16% | 10 | 11 | 15 | 28 | 0 | 1 |
roleOptions(RoleOptions, DCPermissions.Builder, CIDRPermissions.Builder) | | 0% |  | 0% | 6 | 6 | 22 | 22 | 1 | 1 |
viewPartitionKey(CreateViewStatement.Raw) |  | 79% |   | 48% | 74 | 77 | 15 | 45 | 0 | 1 |
ident() | | 48% |   | 34% | 13 | 16 | 11 | 30 | 0 | 1 |
tableDefinition(CreateTableStatement.Raw) |  | 80% |   | 53% | 61 | 78 | 11 | 52 | 0 | 1 |
unreserved_function_keyword() |  | 76% |   | 58% | 50 | 77 | 7 | 29 | 0 | 1 |
sident() | | 48% |   | 42% | 11 | 16 | 11 | 30 | 0 | 1 |
normalInsertStatement(QualifiedName) |  | 82% |   | 63% | 21 | 30 | 4 | 76 | 0 | 1 |
tupleOfIdentifiers() | | 50% |   | 33% | 9 | 10 | 12 | 30 | 0 | 1 |
basic_unreserved_keyword() |  | 81% |   | 53% | 44 | 56 | 7 | 17 | 0 | 1 |
fieldSelectorModifier(Selectable.Raw) | | 0% |  | 0% | 4 | 4 | 14 | 14 | 1 | 1 |
deleteSelection() | | 45% |   | 31% | 8 | 9 | 12 | 28 | 0 | 1 |
functionArgs() | | 43% |  | 28% | 7 | 8 | 12 | 28 | 0 | 1 |
selectClause() | | 47% |  | 23% | 7 | 8 | 10 | 25 | 0 | 1 |
typeColumns(CreateTypeStatement.Raw) | | 0% |  | 0% | 4 | 4 | 17 | 17 | 1 | 1 |
selector() | | 45% |  | 28% | 7 | 8 | 11 | 26 | 0 | 1 |
isStaticColumn() | | 0% |  | 0% | 6 | 6 | 16 | 16 | 1 | 1 |
cfName(QualifiedName) | | 62% |   | 43% | 15 | 20 | 11 | 33 | 0 | 1 |
collectionColumnOperation(List, ColumnIdentifier, Term.Raw) | | 0% |  | 0% | 4 | 4 | 14 | 14 | 1 | 1 |
udtColumnOperation(List, ColumnIdentifier, FieldIdentifier) | | 0% |  | 0% | 4 | 4 | 14 | 14 | 1 | 1 |
listUsersStatement() | | 0% |  | 0% | 4 | 4 | 10 | 10 | 1 | 1 |
functionName() | | 46% |  | 33% | 6 | 7 | 9 | 22 | 0 | 1 |
selectors() |  | 87% |   | 53% | 82 | 90 | 7 | 39 | 0 | 1 |
simpleUnaliasedSelector() | | 56% |   | 50% | 6 | 10 | 9 | 28 | 0 | 1 |
fullMapLiteral() |  | 89% |   | 52% | 87 | 92 | 4 | 48 | 0 | 1 |
userOrRoleName() | | 0% | | 0% | 3 | 3 | 13 | 13 | 1 | 1 |
usingClause(Attributes.Raw) | | 47% |  | 33% | 6 | 7 | 11 | 23 | 0 | 1 |
properties(PropertyDefinitions) | | 40% |  | 30% | 5 | 6 | 11 | 22 | 0 | 1 |
mbean() | | 0% | | 0% | 2 | 2 | 10 | 10 | 1 | 1 |
createKeyspaceStatement() | | 76% |   | 50% | 12 | 13 | 4 | 31 | 0 | 1 |
synpred2_Parser() | | 0% | | 0% | 2 | 2 | 11 | 11 | 1 | 1 |
synpred10_Parser() | | 0% | | 0% | 2 | 2 | 11 | 11 | 1 | 1 |
synpred1_Parser() | | 0% | | 0% | 2 | 2 | 11 | 11 | 1 | 1 |
synpred4_Parser() | | 0% | | 0% | 2 | 2 | 11 | 11 | 1 | 1 |
synpred5_Parser() | | 0% | | 0% | 2 | 2 | 11 | 11 | 1 | 1 |
synpred6_Parser() | | 0% | | 0% | 2 | 2 | 11 | 11 | 1 | 1 |
synpred7_Parser() | | 0% | | 0% | 2 | 2 | 11 | 11 | 1 | 1 |
synpred8_Parser() | | 0% | | 0% | 2 | 2 | 11 | 11 | 1 | 1 |
synpred9_Parser() | | 0% | | 0% | 2 | 2 | 11 | 11 | 1 | 1 |
convertPropertyMap(Maps.Literal) | | 57% |   | 50% | 9 | 12 | 12 | 22 | 0 | 1 |
groupByClause(List) | | 0% | | 0% | 3 | 3 | 12 | 12 | 1 | 1 |
dcPermission(DCPermissions.Builder) | | 0% |  | 0% | 4 | 4 | 9 | 9 | 1 | 1 |
cidrPermission(CIDRPermissions.Builder) | | 0% |  | 0% | 4 | 4 | 9 | 9 | 1 | 1 |
createTableStatement() | | 75% |   | 59% | 9 | 12 | 4 | 29 | 0 | 1 |
tablePartitionKey(CreateTableStatement.Raw) |  | 89% |   | 53% | 69 | 77 | 7 | 45 | 0 | 1 |
truncateStatement() | | 59% |   | 41% | 6 | 7 | 6 | 20 | 0 | 1 |
tuple_type() | | 77% |   | 59% | 9 | 12 | 4 | 32 | 0 | 1 |
dropMaterializedViewStatement() | | 75% |   | 50% | 10 | 11 | 4 | 25 | 0 | 1 |
usingClauseObjective(Attributes.Raw) | | 72% |   | 52% | 9 | 12 | 7 | 30 | 0 | 1 |
viewClusteringOrder(CreateViewStatement.Raw) | | 68% |   | 52% | 8 | 11 | 7 | 26 | 0 | 1 |
canonicalizeObjectName(String, boolean) | | 0% |  | 0% | 5 | 5 | 11 | 11 | 1 | 1 |
dropKeyspaceStatement() | | 75% |   | 50% | 9 | 10 | 4 | 24 | 0 | 1 |
dropTableStatement() | | 75% |   | 50% | 9 | 10 | 4 | 24 | 0 | 1 |
synpred1_Parser_fragment() | | 0% | | 0% | 3 | 3 | 6 | 6 | 1 | 1 |
synpred2_Parser_fragment() | | 0% | | 0% | 3 | 3 | 6 | 6 | 1 | 1 |
property(PropertyDefinitions) | | 81% |   | 52% | 9 | 11 | 4 | 32 | 0 | 1 |
whereClause() | | 73% |  | 70% | 3 | 6 | 4 | 24 | 0 | 1 |
columnFamilyName() | | 71% |  | 62% | 3 | 5 | 4 | 20 | 0 | 1 |
filterPermissions(Set, IResource) | | 0% | | 0% | 3 | 3 | 7 | 7 | 1 | 1 |
selectionGroupWithField() | | 70% | | 66% | 2 | 4 | 4 | 18 | 0 | 1 |
useStatement() | | 67% | | 50% | 3 | 4 | 4 | 14 | 0 | 1 |
addRawUpdate(List, ColumnIdentifier, Operation.RawUpdate) | | 38% |  | 16% | 3 | 4 | 3 | 6 | 0 | 1 |
displayRecognitionError(String[], RecognitionException) | | 0% | | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
viewPrimaryKey(CreateViewStatement.Raw) | | 85% |   | 60% | 8 | 11 | 4 | 28 | 0 | 1 |
addRecognitionError(String) | | 0% | | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
synpred4_Parser_fragment() | | 0% | | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
keyspaceName() | | 66% | | 50% | 2 | 3 | 4 | 13 | 0 | 1 |
unaliasedSelector() | | 63% | | 50% | 2 | 3 | 4 | 13 | 0 | 1 |
term() | | 63% | | 50% | 2 | 3 | 4 | 13 | 0 | 1 |
usingClauseDelete(Attributes.Raw) | | 75% | | 50% | 4 | 5 | 4 | 14 | 0 | 1 |
columnOperation(List) | | 72% | | 50% | 2 | 3 | 4 | 15 | 0 | 1 |
newTupleBindVariables(ColumnIdentifier) | | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
newTupleINBindVariables(ColumnIdentifier) | | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
newJsonBindVariables(ColumnIdentifier) | | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
synpred5_Parser_fragment() | | 0% | | 0% | 2 | 2 | 2 | 2 | 1 | 1 |
synpred6_Parser_fragment() | | 0% | | 0% | 2 | 2 | 2 | 2 | 1 | 1 |
synpred7_Parser_fragment() | | 0% | | 0% | 2 | 2 | 2 | 2 | 1 | 1 |
synpred8_Parser_fragment() | | 0% | | 0% | 2 | 2 | 2 | 2 | 1 | 1 |
synpred9_Parser_fragment() | | 0% | | 0% | 2 | 2 | 2 | 2 | 1 | 1 |
synpred10_Parser_fragment() | | 0% | | 0% | 2 | 2 | 2 | 2 | 1 | 1 |
Cql_Parser(TokenStream, CqlParser) | | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
synpred3_Parser() | | 86% | | 50% | 1 | 2 | 2 | 11 | 0 | 1 |
removeErrorListener(ErrorListener) | | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
recoverFromMismatchedToken(IntStream, int, BitSet) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
getDelegates() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
getTokenNames() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
getGrammarFileName() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
synpred3_Parser_fragment() | | 94% | | 50% | 1 | 2 | 0 | 5 | 0 | 1 |
recover(IntStream, RecognitionException) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
static {...} |  | 100% |  | 100% | 0 | 26 | 0 | 1,553 | 0 | 1 |
Cql_Parser(TokenStream, RecognizerSharedState, CqlParser) | | 100% | | n/a | 0 | 1 | 0 | 31 | 0 | 1 |
newBindVariables(ColumnIdentifier) | | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
newINBindVariables(ColumnIdentifier) | | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
addErrorListener(ErrorListener) | | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |