diff --git a/changelog/21.0/21.0.0/summary.md b/changelog/21.0/21.0.0/summary.md
index 0d046ae9d75..a29e2d286ec 100644
--- a/changelog/21.0/21.0.0/summary.md
+++ b/changelog/21.0/21.0.0/summary.md
@@ -11,6 +11,7 @@
- **[Traffic Mirroring](#traffic-mirroring)**
- **[New VTGate Shutdown Behavior](#new-vtgate-shutdown-behavior)**
- **[Tablet Throttler: Multi-Metric support](#tablet-throttler)**
+ - **[Allow Cross Cell Promotion in PRS](#allow-cross-cell)**
## Major Changes
@@ -96,3 +97,8 @@ Each metric has a factory threshold which can be overridden by the `UpdateThrott
The throttler also supports the catch-all `"all"` app name, and it is thus possible to assign metrics to _all_ apps. Explicit app to metric assignments will override the catch-all configuration.
Metrics are assigned a default _scope_, which could be `self` (isolated to the tablet) or `shard` (max, aka _worst_ value among shard tablets). It is further possible to require a different scope for each metric.
+
+### Allow Cross Cell Promotion in PRS
+Up until now if the users wanted to promote a replica in a different cell than the current primary using `PlannedReparentShard`, they had to specify the new primary with the `--new-primary` flag.
+
+We have now added a new flag `--allow-cross-cell-promotion` that lets `PlannedReparentShard` choose a primary in a different cell even if no new primary is provided explicitly.
diff --git a/go/cmd/vtctldclient/command/onlineddl.go b/go/cmd/vtctldclient/command/onlineddl.go
index 0ee64317bd6..cec60ddd988 100644
--- a/go/cmd/vtctldclient/command/onlineddl.go
+++ b/go/cmd/vtctldclient/command/onlineddl.go
@@ -56,8 +56,8 @@ var (
RunE: commandOnlineDDLCancel,
}
OnlineDDLCleanup = &cobra.Command{
- Use: "cleanup ",
- Short: "Mark a given schema migration ready for artifact cleanup.",
+ Use: "cleanup ",
+ Short: "Mark a given schema migration, or all complete/failed/cancelled migrations, ready for artifact cleanup.",
Example: "OnlineDDL cleanup test_keyspace 82fa54ac_e83e_11ea_96b7_f875a4d24e90",
DisableFlagsInUseLine: true,
Args: cobra.ExactArgs(2),
@@ -168,12 +168,10 @@ func commandOnlineDDLCancel(cmd *cobra.Command, args []string) error {
}
func commandOnlineDDLCleanup(cmd *cobra.Command, args []string) error {
- keyspace := cmd.Flags().Arg(0)
- uuid := cmd.Flags().Arg(1)
- if !schema.IsOnlineDDLUUID(uuid) {
- return fmt.Errorf("%s is not a valid UUID", uuid)
+ keyspace, uuid, err := analyzeOnlineDDLCommandWithUuidOrAllArgument(cmd)
+ if err != nil {
+ return err
}
-
cli.FinishedParsing(cmd)
resp, err := client.CleanupSchemaMigration(commandCtx, &vtctldatapb.CleanupSchemaMigrationRequest{
diff --git a/go/cmd/vtctldclient/command/reparents.go b/go/cmd/vtctldclient/command/reparents.go
index 17b87eaba4f..8888c5a48cd 100644
--- a/go/cmd/vtctldclient/command/reparents.go
+++ b/go/cmd/vtctldclient/command/reparents.go
@@ -187,6 +187,7 @@ var plannedReparentShardOptions = struct {
AvoidPrimaryAliasStr string
WaitReplicasTimeout time.Duration
TolerableReplicationLag time.Duration
+ AllowCrossCellPromotion bool
}{}
func commandPlannedReparentShard(cmd *cobra.Command, args []string) error {
@@ -223,6 +224,7 @@ func commandPlannedReparentShard(cmd *cobra.Command, args []string) error {
AvoidPrimary: avoidPrimaryAlias,
WaitReplicasTimeout: protoutil.DurationToProto(plannedReparentShardOptions.WaitReplicasTimeout),
TolerableReplicationLag: protoutil.DurationToProto(plannedReparentShardOptions.TolerableReplicationLag),
+ AllowCrossCellPromotion: plannedReparentShardOptions.AllowCrossCellPromotion,
})
if err != nil {
return err
@@ -297,6 +299,7 @@ func init() {
PlannedReparentShard.Flags().DurationVar(&plannedReparentShardOptions.TolerableReplicationLag, "tolerable-replication-lag", 0, "Amount of replication lag that is considered acceptable for a tablet to be eligible for promotion when Vitess makes the choice of a new primary.")
PlannedReparentShard.Flags().StringVar(&plannedReparentShardOptions.NewPrimaryAliasStr, "new-primary", "", "Alias of a tablet that should be the new primary.")
PlannedReparentShard.Flags().StringVar(&plannedReparentShardOptions.AvoidPrimaryAliasStr, "avoid-primary", "", "Alias of a tablet that should not be the primary; i.e. \"reparent to any other tablet if this one is the primary\".")
+ PlannedReparentShard.Flags().BoolVar(&plannedReparentShardOptions.AllowCrossCellPromotion, "allow-cross-cell-promotion", false, "Allow cross cell promotion")
Root.AddCommand(PlannedReparentShard)
Root.AddCommand(ReparentTablet)
diff --git a/go/mysql/binlog/constants.go b/go/mysql/binlog/constants.go
index d08889efde8..89a08b7f209 100644
--- a/go/mysql/binlog/constants.go
+++ b/go/mysql/binlog/constants.go
@@ -79,6 +79,9 @@ const (
// TypeTime2 is MYSQL_TYPE_TIME2
TypeTime2 = 19
+ // TypeVector is MYSQL_TYPE_VECTOR
+ TypeVector = 242
+
// TypeJSON is MYSQL_TYPE_JSON
TypeJSON = 245
diff --git a/go/mysql/binlog/rbr.go b/go/mysql/binlog/rbr.go
index 73c293a8750..23faf188ae9 100644
--- a/go/mysql/binlog/rbr.go
+++ b/go/mysql/binlog/rbr.go
@@ -111,7 +111,7 @@ func CellLength(data []byte, pos int, typ byte, metadata uint16) (int, error) {
return intg0*4 + dig2bytes[intg0x] + frac0*4 + dig2bytes[frac0x], nil
case TypeEnum, TypeSet:
return int(metadata & 0xff), nil
- case TypeJSON, TypeTinyBlob, TypeMediumBlob, TypeLongBlob, TypeBlob, TypeGeometry:
+ case TypeJSON, TypeTinyBlob, TypeMediumBlob, TypeLongBlob, TypeBlob, TypeGeometry, TypeVector:
// Of the Blobs, only TypeBlob is used in binary logs,
// but supports others just in case.
switch metadata {
@@ -652,8 +652,8 @@ func CellValue(data []byte, pos int, typ byte, metadata uint16, field *querypb.F
return sqltypes.MakeTrusted(querypb.Type_SET,
data[pos:pos+l]), l, nil
- case TypeJSON, TypeTinyBlob, TypeMediumBlob, TypeLongBlob, TypeBlob:
- // Only TypeBlob is used in binary logs,
+ case TypeJSON, TypeTinyBlob, TypeMediumBlob, TypeLongBlob, TypeBlob, TypeVector:
+ // Only TypeBlob and TypeVector is used in binary logs,
// but supports others just in case.
l := 0
switch metadata {
diff --git a/go/mysql/binlog_event.go b/go/mysql/binlog_event.go
index 84f92c3809d..5e5ce01eac3 100644
--- a/go/mysql/binlog_event.go
+++ b/go/mysql/binlog_event.go
@@ -158,7 +158,7 @@ type BinlogFormat struct {
HeaderSizes []byte
// ServerVersion is the name of the MySQL server version.
- // It starts with something like 5.6.33-xxxx.
+ // It starts with something like 8.0.34-xxxx.
ServerVersion string
// FormatVersion is the version number of the binlog file format.
diff --git a/go/mysql/binlog_event_rbr.go b/go/mysql/binlog_event_rbr.go
index 64d17c2b306..d77b7bcb9a0 100644
--- a/go/mysql/binlog_event_rbr.go
+++ b/go/mysql/binlog_event_rbr.go
@@ -43,6 +43,7 @@ const (
tableMapEnumAndSetDefaultCharset
tableMapEnumAndSetColumnCharset
tableMapColumnVisibility
+ tableMapVectorDimensionality
)
// This byte in the optional metadata indicates that we should
@@ -136,7 +137,7 @@ func metadataLength(typ byte) int {
// No data here.
return 0
- case binlog.TypeFloat, binlog.TypeDouble, binlog.TypeTimestamp2, binlog.TypeDateTime2, binlog.TypeTime2, binlog.TypeJSON, binlog.TypeTinyBlob, binlog.TypeMediumBlob, binlog.TypeLongBlob, binlog.TypeBlob, binlog.TypeGeometry:
+ case binlog.TypeFloat, binlog.TypeDouble, binlog.TypeTimestamp2, binlog.TypeDateTime2, binlog.TypeTime2, binlog.TypeJSON, binlog.TypeTinyBlob, binlog.TypeMediumBlob, binlog.TypeLongBlob, binlog.TypeBlob, binlog.TypeGeometry, binlog.TypeVector:
// One byte.
return 1
@@ -172,7 +173,7 @@ func metadataRead(data []byte, pos int, typ byte) (uint16, int, error) {
// No data here.
return 0, pos, nil
- case binlog.TypeFloat, binlog.TypeDouble, binlog.TypeTimestamp2, binlog.TypeDateTime2, binlog.TypeTime2, binlog.TypeJSON, binlog.TypeTinyBlob, binlog.TypeMediumBlob, binlog.TypeLongBlob, binlog.TypeBlob, binlog.TypeGeometry:
+ case binlog.TypeFloat, binlog.TypeDouble, binlog.TypeTimestamp2, binlog.TypeDateTime2, binlog.TypeTime2, binlog.TypeJSON, binlog.TypeTinyBlob, binlog.TypeMediumBlob, binlog.TypeLongBlob, binlog.TypeBlob, binlog.TypeGeometry, binlog.TypeVector:
// One byte.
return uint16(data[pos]), pos + 1, nil
@@ -198,7 +199,7 @@ func metadataWrite(data []byte, pos int, typ byte, value uint16) int {
// No data here.
return pos
- case binlog.TypeFloat, binlog.TypeDouble, binlog.TypeTimestamp2, binlog.TypeDateTime2, binlog.TypeTime2, binlog.TypeJSON, binlog.TypeTinyBlob, binlog.TypeMediumBlob, binlog.TypeLongBlob, binlog.TypeBlob, binlog.TypeGeometry:
+ case binlog.TypeFloat, binlog.TypeDouble, binlog.TypeTimestamp2, binlog.TypeDateTime2, binlog.TypeTime2, binlog.TypeJSON, binlog.TypeTinyBlob, binlog.TypeMediumBlob, binlog.TypeLongBlob, binlog.TypeBlob, binlog.TypeGeometry, binlog.TypeVector:
// One byte.
data[pos] = byte(value)
return pos + 1
diff --git a/go/mysql/capabilities/capability.go b/go/mysql/capabilities/capability.go
index be574724f0f..34995081867 100644
--- a/go/mysql/capabilities/capability.go
+++ b/go/mysql/capabilities/capability.go
@@ -40,7 +40,6 @@ const (
InstantAddDropColumnFlavorCapability // Adding/dropping column in any position/ordinal.
InstantChangeColumnDefaultFlavorCapability //
InstantExpandEnumCapability //
- MySQLJSONFlavorCapability // JSON type supported
MySQLUpgradeInServerFlavorCapability //
DynamicRedoLogCapacityFlavorCapability // supported in MySQL 8.0.30 and above: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-30.html
DisableRedoLogFlavorCapability // supported in MySQL 8.0.21 and above: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-21.html
@@ -89,8 +88,6 @@ func MySQLVersionHasCapability(serverVersion string, capability FlavorCapability
}
// Capabilities sorted by version.
switch capability {
- case MySQLJSONFlavorCapability:
- return atLeast(5, 7, 0)
case InstantDDLFlavorCapability,
InstantExpandEnumCapability,
InstantAddLastColumnFlavorCapability,
diff --git a/go/mysql/capabilities/capability_test.go b/go/mysql/capabilities/capability_test.go
index 6e96c3487f5..aeb18bed22e 100644
--- a/go/mysql/capabilities/capability_test.go
+++ b/go/mysql/capabilities/capability_test.go
@@ -145,7 +145,7 @@ func TestMySQLVersionCapableOf(t *testing.T) {
isCapable: false,
},
{
- version: "5.6.7",
+ version: "5.7.29",
capability: InstantDDLFlavorCapability,
isCapable: false,
},
@@ -154,16 +154,6 @@ func TestMySQLVersionCapableOf(t *testing.T) {
capability: TransactionalGtidExecutedFlavorCapability,
isCapable: false,
},
- {
- version: "5.6.7",
- capability: MySQLJSONFlavorCapability,
- isCapable: false,
- },
- {
- version: "5.7.29",
- capability: MySQLJSONFlavorCapability,
- isCapable: true,
- },
{
version: "8.0.30",
capability: DynamicRedoLogCapacityFlavorCapability,
diff --git a/go/mysql/flavor_mysqlgr_test.go b/go/mysql/flavor_mysqlgr_test.go
index 348aefca934..33c6567b888 100644
--- a/go/mysql/flavor_mysqlgr_test.go
+++ b/go/mysql/flavor_mysqlgr_test.go
@@ -84,7 +84,7 @@ func TestMysqlGRSupportCapability(t *testing.T) {
isCapable: false,
},
{
- version: "5.6.7",
+ version: "5.7.29",
capability: capabilities.InstantDDLFlavorCapability,
isCapable: false,
},
@@ -93,16 +93,6 @@ func TestMysqlGRSupportCapability(t *testing.T) {
capability: capabilities.TransactionalGtidExecutedFlavorCapability,
isCapable: false,
},
- {
- version: "5.6.7",
- capability: capabilities.MySQLJSONFlavorCapability,
- isCapable: false,
- },
- {
- version: "5.7.29",
- capability: capabilities.MySQLJSONFlavorCapability,
- isCapable: true,
- },
{
version: "8.0.30",
capability: capabilities.DynamicRedoLogCapacityFlavorCapability,
diff --git a/go/mysql/flavor_test.go b/go/mysql/flavor_test.go
index 172ffa67eb2..3d584b8293b 100644
--- a/go/mysql/flavor_test.go
+++ b/go/mysql/flavor_test.go
@@ -53,11 +53,6 @@ func TestServerVersionCapableOf(t *testing.T) {
capability: capabilities.TransactionalGtidExecutedFlavorCapability,
isCapable: false,
},
- {
- version: "5.7.29",
- capability: capabilities.MySQLJSONFlavorCapability,
- isCapable: true,
- },
{
version: "8.0.30",
capability: capabilities.DynamicRedoLogCapacityFlavorCapability,
diff --git a/go/mysql/query.go b/go/mysql/query.go
index 8f196aa53b3..10f36a09b1d 100644
--- a/go/mysql/query.go
+++ b/go/mysql/query.go
@@ -891,7 +891,7 @@ func (c *Conn) parseStmtArgs(data []byte, typ querypb.Type, pos int) (sqltypes.V
return sqltypes.NULL, 0, false
}
case sqltypes.Decimal, sqltypes.Text, sqltypes.Blob, sqltypes.VarChar, sqltypes.VarBinary, sqltypes.Year, sqltypes.Char,
- sqltypes.Bit, sqltypes.Enum, sqltypes.Set, sqltypes.Geometry, sqltypes.Binary, sqltypes.TypeJSON:
+ sqltypes.Bit, sqltypes.Enum, sqltypes.Set, sqltypes.Geometry, sqltypes.Binary, sqltypes.TypeJSON, sqltypes.Vector:
val, pos, ok := readLenEncStringAsBytesCopy(data, pos)
return sqltypes.MakeTrusted(sqltypes.VarBinary, val), pos, ok
default:
diff --git a/go/mysql/query_test.go b/go/mysql/query_test.go
index 2915b754582..6892508ac0c 100644
--- a/go/mysql/query_test.go
+++ b/go/mysql/query_test.go
@@ -460,6 +460,7 @@ func TestQueries(t *testing.T) {
// Skip TUPLE, not possible in Result.
{Name: "Type_GEOMETRY ", Type: querypb.Type_GEOMETRY, Charset: collations.CollationBinaryID, Flags: uint32(querypb.MySqlFlag_BINARY_FLAG | querypb.MySqlFlag_BLOB_FLAG)},
{Name: "Type_JSON ", Type: querypb.Type_JSON, Charset: collations.CollationUtf8mb4ID},
+ {Name: "Type_VECTOR ", Type: querypb.Type_VECTOR, Charset: collations.CollationBinaryID},
},
Rows: [][]sqltypes.Value{
{
@@ -492,6 +493,7 @@ func TestQueries(t *testing.T) {
sqltypes.MakeTrusted(querypb.Type_SET, []byte("Type_SET")),
sqltypes.MakeTrusted(querypb.Type_GEOMETRY, []byte("Type_GEOMETRY")),
sqltypes.MakeTrusted(querypb.Type_JSON, []byte("Type_JSON")),
+ sqltypes.MakeTrusted(querypb.Type_VECTOR, []byte("Type_VECTOR")),
},
{
sqltypes.NULL,
@@ -523,6 +525,7 @@ func TestQueries(t *testing.T) {
sqltypes.NULL,
sqltypes.NULL,
sqltypes.NULL,
+ sqltypes.NULL,
},
},
})
diff --git a/go/mysql/sqlerror/constants.go b/go/mysql/sqlerror/constants.go
index a247ca15aa4..ec5afa5e9c3 100644
--- a/go/mysql/sqlerror/constants.go
+++ b/go/mysql/sqlerror/constants.go
@@ -125,6 +125,8 @@ const (
ERDupIndex = ErrorCode(1831)
ERInnodbReadOnly = ErrorCode(1874)
+ ERVectorConversion = ErrorCode(6138)
+
// already exists
ERDbCreateExists = ErrorCode(1007)
ERTableExists = ErrorCode(1050)
diff --git a/go/mysql/sqlerror/sql_error.go b/go/mysql/sqlerror/sql_error.go
index 935fd77a12f..eaa49c2c537 100644
--- a/go/mysql/sqlerror/sql_error.go
+++ b/go/mysql/sqlerror/sql_error.go
@@ -245,6 +245,7 @@ var stateToMysqlCode = map[vterrors.State]mysqlCode{
vterrors.KillDeniedError: {num: ERKillDenied, state: SSUnknownSQLState},
vterrors.BadNullError: {num: ERBadNullError, state: SSConstraintViolation},
vterrors.InvalidGroupFuncUse: {num: ERInvalidGroupFuncUse, state: SSUnknownSQLState},
+ vterrors.VectorConversion: {num: ERVectorConversion, state: SSUnknownSQLState},
}
func getStateToMySQLState(state vterrors.State) mysqlCode {
diff --git a/go/sqltypes/type.go b/go/sqltypes/type.go
index 437d285777b..8be10986747 100644
--- a/go/sqltypes/type.go
+++ b/go/sqltypes/type.go
@@ -186,6 +186,7 @@ const (
HexVal = querypb.Type_HEXVAL
Tuple = querypb.Type_TUPLE
BitNum = querypb.Type_BITNUM
+ Vector = querypb.Type_VECTOR
)
// bit-shift the mysql flags by two byte so we
@@ -219,6 +220,7 @@ var mysqlToType = map[byte]querypb.Type{
17: Timestamp,
18: Datetime,
19: Time,
+ 242: Vector,
245: TypeJSON,
246: Decimal,
247: Enum,
@@ -331,6 +333,7 @@ var typeToMySQL = map[querypb.Type]struct {
Datetime: {typ: 12, flags: mysqlBinary},
Year: {typ: 13, flags: mysqlUnsigned},
Bit: {typ: 16, flags: mysqlUnsigned},
+ Vector: {typ: 242},
TypeJSON: {typ: 245},
Decimal: {typ: 246},
Text: {typ: 252},
diff --git a/go/test/endtoend/backup/vtctlbackup/backup_utils.go b/go/test/endtoend/backup/vtctlbackup/backup_utils.go
index 707c9010b0c..3a0150cc87c 100644
--- a/go/test/endtoend/backup/vtctlbackup/backup_utils.go
+++ b/go/test/endtoend/backup/vtctlbackup/backup_utils.go
@@ -1032,7 +1032,7 @@ func verifySemiSyncStatus(t *testing.T, vttablet *cluster.Vttablet, expectedStat
}
func terminateBackup(t *testing.T, alias string) {
- stopBackupMsg := "Done taking Backup"
+ stopBackupMsg := "Completed backing up"
if useXtrabackup {
stopBackupMsg = "Starting backup with"
useXtrabackup = false
diff --git a/go/test/endtoend/onlineddl/scheduler/onlineddl_scheduler_test.go b/go/test/endtoend/onlineddl/scheduler/onlineddl_scheduler_test.go
index c0541a04aea..a034aa6d65a 100644
--- a/go/test/endtoend/onlineddl/scheduler/onlineddl_scheduler_test.go
+++ b/go/test/endtoend/onlineddl/scheduler/onlineddl_scheduler_test.go
@@ -605,7 +605,7 @@ func testScheduler(t *testing.T) {
commitTransactionChan := make(chan any)
transactionErrorChan := make(chan error)
t.Run("locking table rows", func(t *testing.T) {
- go runInTransaction(t, ctx, shards[0].Vttablets[0], "select * from t1_test for update", commitTransactionChan, transactionErrorChan)
+ go runInTransaction(t, ctx, primaryTablet, "select * from t1_test for update", commitTransactionChan, transactionErrorChan)
})
t.Run("injecting heartbeats asynchronously", func(t *testing.T) {
go func() {
@@ -1068,6 +1068,22 @@ func testScheduler(t *testing.T) {
})
})
+ readCleanupsTimetamps := func(t *testing.T, migrationsLike string) (rows int64, cleanedUp int64, needCleanup int64, artifacts []string) {
+ rs := onlineddl.ReadMigrations(t, &vtParams, migrationsLike)
+ require.NotNil(t, rs)
+ for _, row := range rs.Named().Rows {
+ rows++
+ if row["cleanup_timestamp"].IsNull() {
+ needCleanup++
+ } else {
+ cleanedUp++
+ }
+ migrationArtifacts := textutil.SplitDelimitedList(row.AsString("artifacts", ""))
+ artifacts = append(artifacts, migrationArtifacts...)
+ }
+ return
+ }
+
t.Run("Cleanup artifacts", func(t *testing.T) {
// Create a migration with a low --retain-artifacts value.
// We will cancel the migration and expect the artifact to be cleaned.
@@ -1104,14 +1120,14 @@ func testScheduler(t *testing.T) {
defer cancel()
for {
- rs := onlineddl.ReadMigrations(t, &vtParams, t1uuid)
- require.NotNil(t, rs)
- row := rs.Named().Row()
- require.NotNil(t, row)
- if !row["cleanup_timestamp"].IsNull() {
+ rows, cleanedUp, needCleanup, _ := readCleanupsTimetamps(t, t1uuid)
+ assert.EqualValues(t, 1, rows)
+ if cleanedUp == 1 {
// This is what we've been waiting for
break
}
+ assert.EqualValues(t, 0, cleanedUp)
+ assert.EqualValues(t, 1, needCleanup)
select {
case <-ctx.Done():
assert.Fail(t, "timeout waiting for cleanup")
@@ -1125,6 +1141,108 @@ func testScheduler(t *testing.T) {
})
})
+ t.Run("cleanup artifacts with CLEANUP ALL", func(t *testing.T) {
+ // First, cleanup any existing migrations. We don't have an exact track of how many we've had so far.
+ t.Run("initial cleanup all", func(t *testing.T) {
+ t.Run("validate migrations exist that need cleanup", func(t *testing.T) {
+ _, _, needCleanup, _ := readCleanupsTimetamps(t, "%")
+ assert.Greater(t, needCleanup, int64(1))
+ })
+ t.Run("issue cleanup all", func(t *testing.T) {
+ cleanedUp := onlineddl.CheckCleanupAllMigrations(t, &vtParams, -1)
+ t.Logf("marked %d migrations for cleanup", cleanedUp)
+ })
+ t.Run("wait for all migrations cleanup", func(t *testing.T) {
+ ctx, cancel := context.WithTimeout(context.Background(), extendedWaitTime)
+ defer cancel()
+
+ for {
+ rows, cleanedUp, needCleanup, artifacts := readCleanupsTimetamps(t, "%")
+ if needCleanup == 0 {
+ // This is what we've been waiting for
+ assert.NotZero(t, rows)
+ assert.Equal(t, rows, cleanedUp)
+ assert.Empty(t, artifacts)
+ t.Logf("rows needing cleanup: %v", needCleanup)
+ return
+ }
+ select {
+ case <-ctx.Done():
+ assert.Fail(t, "timeout waiting for cleanup", "rows needing cleanup: %v. artifacts: %v", needCleanup, artifacts)
+ return
+ case <-time.After(time.Second):
+ }
+ t.Logf("rows needing cleanup: %v. artifacts: %v", needCleanup, artifacts)
+ }
+ })
+ })
+ // Create a migration with a low --retain-artifacts value.
+ // We will cancel the migration and expect the artifact to be cleaned.
+ t.Run("start migration", func(t *testing.T) {
+ // Intentionally set `--retain-artifacts=1h` which is a long time. Then we will issue
+ // `ALTER VITESS_MIGRATION CLEANUP ALL` and expect the artifact to be cleaned.
+ t1uuid = testOnlineDDLStatement(t, createParams(trivialAlterT1Statement, ddlStrategy+" --postpone-completion --retain-artifacts=1h", "vtctl", "", "", true)) // skip wait
+ onlineddl.WaitForMigrationStatus(t, &vtParams, shards, t1uuid, normalWaitTime, schema.OnlineDDLStatusRunning)
+ })
+ t.Run("wait for ready_to_complete", func(t *testing.T) {
+ waitForReadyToComplete(t, t1uuid, true)
+ })
+ var artifacts []string
+ t.Run("validate artifact exists", func(t *testing.T) {
+ rs := onlineddl.ReadMigrations(t, &vtParams, t1uuid)
+ require.NotNil(t, rs)
+ row := rs.Named().Row()
+ require.NotNil(t, row)
+
+ artifacts = textutil.SplitDelimitedList(row.AsString("artifacts", ""))
+ require.Len(t, artifacts, 1)
+ checkTable(t, artifacts[0], true)
+
+ retainArtifactsSeconds := row.AsInt64("retain_artifacts_seconds", 0)
+ assert.EqualValues(t, 3600, retainArtifactsSeconds) // due to --retain-artifacts=1h
+ })
+ t.Run("check needs cleanup", func(t *testing.T) {
+ _, _, needCleanup, _ := readCleanupsTimetamps(t, "%")
+ assert.EqualValues(t, 1, needCleanup)
+ })
+ t.Run("complete migration", func(t *testing.T) {
+ onlineddl.CheckCompleteMigration(t, &vtParams, shards, t1uuid, true)
+ status := onlineddl.WaitForMigrationStatus(t, &vtParams, shards, t1uuid, normalWaitTime, schema.OnlineDDLStatusComplete, schema.OnlineDDLStatusFailed, schema.OnlineDDLStatusCancelled)
+ fmt.Printf("# Migration status (for debug purposes): <%s>\n", status)
+ onlineddl.CheckMigrationStatus(t, &vtParams, shards, t1uuid, schema.OnlineDDLStatusComplete)
+ })
+ t.Run("cleanup all", func(t *testing.T) {
+ onlineddl.CheckCleanupAllMigrations(t, &vtParams, 1)
+ })
+ t.Run("wait for migration cleanup", func(t *testing.T) {
+ ctx, cancel := context.WithTimeout(context.Background(), extendedWaitTime)
+ defer cancel()
+
+ for {
+ rows, cleanedUp, needCleanup, artifacts := readCleanupsTimetamps(t, "%")
+ if needCleanup == 0 {
+ // This is what we've been waiting for
+ assert.NotZero(t, rows)
+ assert.Equal(t, rows, cleanedUp)
+ assert.Empty(t, artifacts)
+ t.Logf("rows needing cleanup: %v", needCleanup)
+ return
+ }
+ select {
+ case <-ctx.Done():
+ assert.Fail(t, "timeout waiting for cleanup", "rows needing cleanup: %v. artifacts: %v", needCleanup, artifacts)
+ return
+ case <-time.After(time.Second):
+ }
+ t.Logf("rows needing cleanup: %v. artifacts: %v", needCleanup, artifacts)
+ }
+ })
+
+ t.Run("validate artifact does not exist", func(t *testing.T) {
+ checkTable(t, artifacts[0], false)
+ })
+ })
+
checkConstraintCapable, err := capableOf(capabilities.CheckConstraintsCapability) // 8.0.16 and above
require.NoError(t, err)
if checkConstraintCapable {
@@ -1138,7 +1256,7 @@ func testScheduler(t *testing.T) {
// name it `with_constraint_chk_1`. But we expect Online DDL to explicitly
// modify the constraint name, specifically to get rid of the prefix,
// so that we don't get into https://bugs.mysql.com/bug.php?id=107772 situation.
- createStatement := getCreateTableStatement(t, shards[0].Vttablets[0], "with_constraint")
+ createStatement := getCreateTableStatement(t, primaryTablet, "with_constraint")
assert.NotContains(t, createStatement, "with_constraint_chk")
})
})
@@ -2467,7 +2585,7 @@ func testForeignKeys(t *testing.T) {
//
// In this stress test, we enable Online DDL if the variable 'rename_table_preserve_foreign_key' is present. The Online DDL mechanism will in turn
// query for this variable, and manipulate it, when starting the migration and when cutting over.
- rs, err := shards[0].Vttablets[0].VttabletProcess.QueryTablet("show global variables like 'rename_table_preserve_foreign_key'", keyspaceName, false)
+ rs, err := primaryTablet.VttabletProcess.QueryTablet("show global variables like 'rename_table_preserve_foreign_key'", keyspaceName, false)
require.NoError(t, err)
fkOnlineDDLPossible = len(rs.Rows) > 0
t.Logf("MySQL support for 'rename_table_preserve_foreign_key': %v", fkOnlineDDLPossible)
diff --git a/go/test/endtoend/onlineddl/vrepl/onlineddl_vrepl_test.go b/go/test/endtoend/onlineddl/vrepl/onlineddl_vrepl_test.go
index 83fe6bea988..70efe4ec8a4 100644
--- a/go/test/endtoend/onlineddl/vrepl/onlineddl_vrepl_test.go
+++ b/go/test/endtoend/onlineddl/vrepl/onlineddl_vrepl_test.go
@@ -397,6 +397,8 @@ func TestSchemaChange(t *testing.T) {
assert.GreaterOrEqual(t, lastThrottledTimestamp, startedTimestamp)
component := row.AsString("component_throttled", "")
assert.Contains(t, []string{throttlerapp.VCopierName.String(), throttlerapp.VPlayerName.String()}, component)
+ reason := row.AsString("reason_throttled", "")
+ assert.Contains(t, reason, "is explicitly denied access")
// unthrottle
onlineddl.UnthrottleAllMigrations(t, &vtParams)
diff --git a/go/test/endtoend/onlineddl/vtgate_util.go b/go/test/endtoend/onlineddl/vtgate_util.go
index 7252edb8096..6c26320b472 100644
--- a/go/test/endtoend/onlineddl/vtgate_util.go
+++ b/go/test/endtoend/onlineddl/vtgate_util.go
@@ -217,6 +217,18 @@ func CheckCancelAllMigrations(t *testing.T, vtParams *mysql.ConnParams, expectCo
}
}
+// CheckCleanupAllMigrations cleans up all applicable migrations and expect number of affected rows
+// A negative value for expectCount indicates "don't care, no need to check"
+func CheckCleanupAllMigrations(t *testing.T, vtParams *mysql.ConnParams, expectCount int) uint64 {
+ cleanupQuery := "alter vitess_migration cleanup all"
+ r := VtgateExecQuery(t, vtParams, cleanupQuery, "")
+
+ if expectCount >= 0 {
+ assert.Equal(t, expectCount, int(r.RowsAffected))
+ }
+ return r.RowsAffected
+}
+
// CheckLaunchAllMigrations launches all queued posponed migrations and expect number of affected rows
// A negative value for expectCount indicates "don't care, no need to check"
func CheckLaunchAllMigrations(t *testing.T, vtParams *mysql.ConnParams, expectCount int) {
diff --git a/go/test/endtoend/reparent/plannedreparent/reparent_test.go b/go/test/endtoend/reparent/plannedreparent/reparent_test.go
index ccfd2eee239..fb625b691f5 100644
--- a/go/test/endtoend/reparent/plannedreparent/reparent_test.go
+++ b/go/test/endtoend/reparent/plannedreparent/reparent_test.go
@@ -125,14 +125,8 @@ func TestReparentReplicaOffline(t *testing.T) {
require.Error(t, err)
// Assert that PRS failed
- if clusterInstance.VtctlMajorVersion <= 17 {
- assert.True(t, utils.SetReplicationSourceFailed(tablets[3], out))
- utils.CheckPrimaryTablet(t, clusterInstance, tablets[1])
- } else {
- assert.Contains(t, out, "rpc error: code = DeadlineExceeded desc")
- utils.CheckPrimaryTablet(t, clusterInstance, tablets[0])
- }
-
+ assert.Contains(t, out, "rpc error: code = DeadlineExceeded desc")
+ utils.CheckPrimaryTablet(t, clusterInstance, tablets[0])
}
func TestReparentAvoid(t *testing.T) {
@@ -155,20 +149,32 @@ func TestReparentAvoid(t *testing.T) {
require.NoError(t, err)
utils.ValidateTopology(t, clusterInstance, false)
- // tablets[1 is in the same cell and tablets[3] is in a different cell, so we must land on tablets[1
+ // tablets[1] is in the same cell and tablets[3] is in a different cell, so we must land on tablets[1]
utils.CheckPrimaryTablet(t, clusterInstance, tablets[1])
// If we kill the tablet in the same cell as primary then reparent --avoid_tablet will fail.
utils.StopTablet(t, tablets[0], true)
out, err := utils.PrsAvoid(t, clusterInstance, tablets[1])
require.Error(t, err)
- if clusterInstance.VtctlMajorVersion <= 17 {
- assert.Contains(t, out, "cannot find a tablet to reparent to in the same cell as the current primary")
- } else {
- assert.Contains(t, out, "rpc error: code = DeadlineExceeded desc = latest balancer error")
- }
+ assert.Contains(t, out, "rpc error: code = DeadlineExceeded desc = latest balancer error")
utils.ValidateTopology(t, clusterInstance, false)
utils.CheckPrimaryTablet(t, clusterInstance, tablets[1])
+
+ t.Run("Allow cross cell promotion", func(t *testing.T) {
+ if clusterInstance.VtctlMajorVersion <= 20 {
+ t.Skip("Allow Cross Cell Promotion was added in v21")
+ }
+ utils.DeleteTablet(t, clusterInstance, tablets[0])
+ // Perform a graceful reparent operation and verify it fails because we have no replicas in the same cell as the primary.
+ out, err = utils.PrsAvoid(t, clusterInstance, tablets[1])
+ require.Error(t, err)
+ assert.Contains(t, out, "is not in the same cell as the previous primary")
+
+ // If we run PRS with allow cross cell promotion then it should succeed and should promote the replica in another cell.
+ _, err = utils.PrsAvoid(t, clusterInstance, tablets[1], "--allow-cross-cell-promotion")
+ require.NoError(t, err)
+ utils.CheckPrimaryTablet(t, clusterInstance, tablets[3])
+ })
}
func TestReparentFromOutside(t *testing.T) {
diff --git a/go/test/endtoend/reparent/utils/utils.go b/go/test/endtoend/reparent/utils/utils.go
index 5038352d721..0d3eddc0464 100644
--- a/go/test/endtoend/reparent/utils/utils.go
+++ b/go/test/endtoend/reparent/utils/utils.go
@@ -293,17 +293,17 @@ func execute(t *testing.T, conn *mysql.Conn, query string) *sqltypes.Result {
// region ers, prs
// Prs runs PRS
-func Prs(t *testing.T, clusterInstance *cluster.LocalProcessCluster, tab *cluster.Vttablet) (string, error) {
- return PrsWithTimeout(t, clusterInstance, tab, false, "", "")
+func Prs(t *testing.T, clusterInstance *cluster.LocalProcessCluster, tab *cluster.Vttablet, extraArgs ...string) (string, error) {
+ return PrsWithTimeout(t, clusterInstance, tab, false, "", "", extraArgs...)
}
// PrsAvoid runs PRS
-func PrsAvoid(t *testing.T, clusterInstance *cluster.LocalProcessCluster, tab *cluster.Vttablet) (string, error) {
- return PrsWithTimeout(t, clusterInstance, tab, true, "", "")
+func PrsAvoid(t *testing.T, clusterInstance *cluster.LocalProcessCluster, tab *cluster.Vttablet, extraArgs ...string) (string, error) {
+ return PrsWithTimeout(t, clusterInstance, tab, true, "", "", extraArgs...)
}
// PrsWithTimeout runs PRS
-func PrsWithTimeout(t *testing.T, clusterInstance *cluster.LocalProcessCluster, tab *cluster.Vttablet, avoid bool, actionTimeout, waitTimeout string) (string, error) {
+func PrsWithTimeout(t *testing.T, clusterInstance *cluster.LocalProcessCluster, tab *cluster.Vttablet, avoid bool, actionTimeout, waitTimeout string, extraArgs ...string) (string, error) {
args := []string{
"PlannedReparentShard",
fmt.Sprintf("%s/%s", KeyspaceName, ShardName)}
@@ -319,6 +319,7 @@ func PrsWithTimeout(t *testing.T, clusterInstance *cluster.LocalProcessCluster,
args = append(args, "--new-primary")
}
args = append(args, tab.Alias)
+ args = append(args, extraArgs...)
out, err := clusterInstance.VtctldClientProcess.ExecuteCommandWithOutput(args...)
return out, err
}
diff --git a/go/test/endtoend/vtgate/queries/misc/misc_test.go b/go/test/endtoend/vtgate/queries/misc/misc_test.go
index e43171b6701..f003ae3c1b8 100644
--- a/go/test/endtoend/vtgate/queries/misc/misc_test.go
+++ b/go/test/endtoend/vtgate/queries/misc/misc_test.go
@@ -371,6 +371,9 @@ func TestAliasesInOuterJoinQueries(t *testing.T) {
mcmp.ExecWithColumnCompare("select t1.id1 as t0, t1.id1 as t1, tbl.unq_col as col from t1 left outer join tbl on t1.id2 = tbl.nonunq_col order by t1.id2 limit 2 offset 2")
mcmp.ExecWithColumnCompare("select t1.id1 as t0, t1.id1 as t1, count(*) as leCount from t1 left outer join tbl on t1.id2 = tbl.nonunq_col group by 1, t1")
mcmp.ExecWithColumnCompare("select t.id1, t.id2, derived.unq_col from t1 t join (select id, unq_col, nonunq_col from tbl) as derived on t.id2 = derived.nonunq_col")
+ if utils.BinaryIsAtLeastAtVersion(21, "vtgate") {
+ mcmp.ExecWithColumnCompare("select * from t1 t left join tbl on t.id1 = 666 and t.id2 = tbl.id")
+ }
}
func TestAlterTableWithView(t *testing.T) {
diff --git a/go/vt/binlog/binlogplayer/binlog_player.go b/go/vt/binlog/binlogplayer/binlog_player.go
index 05685a54d3e..7936a0760c9 100644
--- a/go/vt/binlog/binlogplayer/binlog_player.go
+++ b/go/vt/binlog/binlogplayer/binlog_player.go
@@ -669,11 +669,11 @@ func GenerateUpdateHeartbeat(uid int32, timeUpdated int64) (string, error) {
}
// GenerateUpdateTimeThrottled returns a statement to record the latest throttle time in the _vt.vreplication table.
-func GenerateUpdateTimeThrottled(uid int32, timeThrottledUnix int64, componentThrottled string) (string, error) {
+func GenerateUpdateTimeThrottled(uid int32, timeThrottledUnix int64, componentThrottled string, reasonThrottled string) (string, error) {
if timeThrottledUnix == 0 {
return "", fmt.Errorf("timeUpdated cannot be zero")
}
- return fmt.Sprintf("update _vt.vreplication set time_updated=%v, time_throttled=%v, component_throttled='%v' where id=%v", timeThrottledUnix, timeThrottledUnix, componentThrottled, uid), nil
+ return fmt.Sprintf("update _vt.vreplication set time_updated=%v, time_throttled=%v, component_throttled='%v', reason_throttled=%v where id=%v", timeThrottledUnix, timeThrottledUnix, componentThrottled, encodeString(MessageTruncate(reasonThrottled)), uid), nil
}
// StartVReplicationUntil returns a statement to start the replication with a stop position.
diff --git a/go/vt/binlog/binlogplayer/binlog_player_test.go b/go/vt/binlog/binlogplayer/binlog_player_test.go
index 99b0ef496b3..697733a6d18 100644
--- a/go/vt/binlog/binlogplayer/binlog_player_test.go
+++ b/go/vt/binlog/binlogplayer/binlog_player_test.go
@@ -22,6 +22,8 @@ import (
"testing"
"time"
+ "github.com/stretchr/testify/assert"
+
"vitess.io/vitess/go/mysql/replication"
"vitess.io/vitess/go/mysql/sqlerror"
querypb "vitess.io/vitess/go/vt/proto/query"
@@ -454,3 +456,36 @@ func TestReadVReplicationStatus(t *testing.T) {
t.Errorf("ReadVReplicationStatus(482821) = %#v, want %#v", got, want)
}
}
+
+func TestEncodeString(t *testing.T) {
+ tcases := []struct {
+ in, out string
+ }{
+ {
+ in: "",
+ out: "''",
+ },
+ {
+ in: "a",
+ out: "'a'",
+ },
+ {
+ in: "here's",
+ out: "'here\\'s'",
+ },
+ {
+ in: "online-ddl is denied access due to lag metric value 94.821447 exceeding threshold 5",
+ out: "'online-ddl is denied access due to lag metric value 94.821447 exceeding threshold 5'",
+ },
+ {
+ in: "'a','b','c'",
+ out: "'\\'a\\',\\'b\\',\\'c\\''",
+ },
+ }
+ for _, tcase := range tcases {
+ t.Run(tcase.in, func(t *testing.T) {
+ out := encodeString(tcase.in)
+ assert.Equal(t, tcase.out, out)
+ })
+ }
+}
diff --git a/go/vt/mysqlctl/builtinbackupengine.go b/go/vt/mysqlctl/builtinbackupengine.go
index 3bc39e45e72..494d765f2a9 100644
--- a/go/vt/mysqlctl/builtinbackupengine.go
+++ b/go/vt/mysqlctl/builtinbackupengine.go
@@ -92,8 +92,7 @@ var (
// it implements the BackupEngine interface and contains all the logic
// required to implement a backup/restore by copying files from and to
// the correct location / storage bucket
-type BuiltinBackupEngine struct {
-}
+type BuiltinBackupEngine struct{}
// builtinBackupManifest represents the backup. It lists all the files, the
// Position that the backup was taken at, the compression engine used, etc.
@@ -186,7 +185,7 @@ func (fe *FileEntry) fullPath(cnf *Mycnf) (string, error) {
return path.Join(fe.ParentPath, root, fe.Name), nil
}
-// open attempts t oopen the file
+// open attempts to open the file
func (fe *FileEntry) open(cnf *Mycnf, readOnly bool) (*os.File, error) {
name, err := fe.fullPath(cnf)
if err != nil {
@@ -194,7 +193,7 @@ func (fe *FileEntry) open(cnf *Mycnf, readOnly bool) (*os.File, error) {
}
var fd *os.File
if readOnly {
- if fd, err = os.Open(name); err != nil {
+ if fd, err = openForSequential(name); err != nil {
return nil, vterrors.Wrapf(err, "cannot open source file %v", name)
}
} else {
@@ -393,7 +392,6 @@ func (be *BuiltinBackupEngine) executeIncrementalBackup(ctx context.Context, par
// executeFullBackup returns a BackupResult that indicates the usability of the backup,
// and an overall error.
func (be *BuiltinBackupEngine) executeFullBackup(ctx context.Context, params BackupParams, bh backupstorage.BackupHandle) (BackupResult, error) {
-
if params.IncrementalFromPos != "" {
return be.executeIncrementalBackup(ctx, params, bh)
}
@@ -768,21 +766,25 @@ func (bp *backupPipe) HashString() string {
return hex.EncodeToString(bp.crc32.Sum(nil))
}
-func (bp *backupPipe) ReportProgress(period time.Duration, logger logutil.Logger) {
+func (bp *backupPipe) ReportProgress(period time.Duration, logger logutil.Logger, restore bool) {
+ messageStr := "restoring "
+ if !restore {
+ messageStr = "backing up "
+ }
tick := time.NewTicker(period)
defer tick.Stop()
for {
select {
case <-bp.done:
- logger.Infof("Done taking Backup %q", bp.filename)
+ logger.Infof("Completed %s %q", messageStr, bp.filename)
return
case <-tick.C:
written := float64(atomic.LoadInt64(&bp.nn))
if bp.maxSize == 0 {
- logger.Infof("Backup %q: %.02fkb", bp.filename, written/1024.0)
+ logger.Infof("%s %q: %.02fkb", messageStr, bp.filename, written/1024.0)
} else {
maxSize := float64(bp.maxSize)
- logger.Infof("Backup %q: %.02f%% (%.02f/%.02fkb)", bp.filename, 100.0*written/maxSize, written/1024.0, maxSize/1024.0)
+ logger.Infof("%s %q: %.02f%% (%.02f/%.02fkb)", messageStr, bp.filename, 100.0*written/maxSize, written/1024.0, maxSize/1024.0)
}
}
}
@@ -815,7 +817,7 @@ func (be *BuiltinBackupEngine) backupFile(ctx context.Context, params BackupPara
}
br := newBackupReader(fe.Name, fi.Size(), timedSource)
- go br.ReportProgress(builtinBackupProgress, params.Logger)
+ go br.ReportProgress(builtinBackupProgress, params.Logger, false /*restore*/)
// Open the destination file for writing, and a buffer.
params.Logger.Infof("Backing up file: %v", fe.Name)
@@ -968,7 +970,6 @@ func (be *BuiltinBackupEngine) executeRestoreIncrementalBackup(ctx context.Conte
// we return the position from which replication should start
// otherwise an error is returned
func (be *BuiltinBackupEngine) ExecuteRestore(ctx context.Context, params RestoreParams, bh backupstorage.BackupHandle) (*BackupManifest, error) {
-
var bm builtinBackupManifest
if err := getBackupManifestInto(ctx, bh, &bm); err != nil {
return nil, err
@@ -1081,7 +1082,7 @@ func (be *BuiltinBackupEngine) restoreFile(ctx context.Context, params RestorePa
}()
br := newBackupReader(name, 0, timedSource)
- go br.ReportProgress(builtinBackupProgress, params.Logger)
+ go br.ReportProgress(builtinBackupProgress, params.Logger, true /*restore*/)
var reader io.Reader = br
// Open the destination file for writing.
@@ -1108,7 +1109,7 @@ func (be *BuiltinBackupEngine) restoreFile(ctx context.Context, params RestorePa
// Create the uncompresser if needed.
if !bm.SkipCompress {
var decompressor io.ReadCloser
- var deCompressionEngine = bm.CompressionEngine
+ deCompressionEngine := bm.CompressionEngine
if deCompressionEngine == "" {
// for backward compatibility
diff --git a/go/vt/mysqlctl/builtinbackupengine_linux.go b/go/vt/mysqlctl/builtinbackupengine_linux.go
new file mode 100644
index 00000000000..0185e091deb
--- /dev/null
+++ b/go/vt/mysqlctl/builtinbackupengine_linux.go
@@ -0,0 +1,44 @@
+/*
+Copyright 2024 The Vitess Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+li*/
+
+package mysqlctl
+
+import (
+ "os"
+
+ "golang.org/x/sys/unix"
+)
+
+// openForSequential opens a file and hints to the kernel that this file
+// is intended to be read sequentially, setting the FADV_SEQUENTIAL flag.
+// See: https://linux.die.net/man/2/fadvise
+func openForSequential(name string) (*os.File, error) {
+ f, err := os.Open(name)
+ if err != nil {
+ return nil, err
+ }
+ // XXX: beyond this path, if we error, we need to close
+ // our File since we're not returning it anymore.
+ fstat, err := f.Stat()
+ if err != nil {
+ f.Close()
+ return nil, err
+ }
+ if err := unix.Fadvise(int(f.Fd()), 0, fstat.Size(), unix.FADV_SEQUENTIAL); err != nil {
+ f.Close()
+ return nil, err
+ }
+ return f, nil
+}
diff --git a/go/vt/mysqlctl/builtinbackupengine_stub.go b/go/vt/mysqlctl/builtinbackupengine_stub.go
new file mode 100644
index 00000000000..0c0ae9b9ef5
--- /dev/null
+++ b/go/vt/mysqlctl/builtinbackupengine_stub.go
@@ -0,0 +1,24 @@
+//go:build !linux
+
+/*
+Copyright 2024 The Vitess Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+li*/
+
+package mysqlctl
+
+import "os"
+
+func openForSequential(name string) (*os.File, error) {
+ return os.Open(name)
+}
diff --git a/go/vt/proto/binlogdata/binlogdata.pb.go b/go/vt/proto/binlogdata/binlogdata.pb.go
index aade1d049f8..8374a4a2733 100644
--- a/go/vt/proto/binlogdata/binlogdata.pb.go
+++ b/go/vt/proto/binlogdata/binlogdata.pb.go
@@ -1913,6 +1913,8 @@ type VEvent struct {
Shard string `protobuf:"bytes,23,opt,name=shard,proto3" json:"shard,omitempty"`
// indicate that we are being throttled right now
Throttled bool `protobuf:"varint,24,opt,name=throttled,proto3" json:"throttled,omitempty"`
+ // ThrottledReason is a human readable string that explains why the stream is throttled
+ ThrottledReason string `protobuf:"bytes,25,opt,name=throttled_reason,json=throttledReason,proto3" json:"throttled_reason,omitempty"`
}
func (x *VEvent) Reset() {
@@ -2045,6 +2047,13 @@ func (x *VEvent) GetThrottled() bool {
return false
}
+func (x *VEvent) GetThrottledReason() string {
+ if x != nil {
+ return x.ThrottledReason
+ }
+ return ""
+}
+
type MinimalTable struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -2397,6 +2406,8 @@ type VStreamRowsResponse struct {
Throttled bool `protobuf:"varint,6,opt,name=throttled,proto3" json:"throttled,omitempty"`
// Heartbeat indicates that this is a heartbeat message
Heartbeat bool `protobuf:"varint,7,opt,name=heartbeat,proto3" json:"heartbeat,omitempty"`
+ // ThrottledReason is a human readable string that explains why the stream is throttled
+ ThrottledReason string `protobuf:"bytes,8,opt,name=throttled_reason,json=throttledReason,proto3" json:"throttled_reason,omitempty"`
}
func (x *VStreamRowsResponse) Reset() {
@@ -2480,6 +2491,13 @@ func (x *VStreamRowsResponse) GetHeartbeat() bool {
return false
}
+func (x *VStreamRowsResponse) GetThrottledReason() string {
+ if x != nil {
+ return x.ThrottledReason
+ }
+ return ""
+}
+
// VStreamTablesRequest is the payload for VStreamTables
type VStreamTablesRequest struct {
state protoimpl.MessageState
@@ -3247,7 +3265,7 @@ var file_binlogdata_proto_rawDesc = []byte{
0x68, 0x61, 0x72, 0x64, 0x52, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e,
0x74, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x77, 0x6f, 0x72,
0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x6f,
- 0x75, 0x72, 0x63, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x22, 0x8b, 0x04,
+ 0x75, 0x72, 0x63, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x22, 0xb6, 0x04,
0x0a, 0x06, 0x56, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64,
0x61, 0x74, 0x61, 0x2e, 0x56, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04,
@@ -3280,183 +3298,189 @@ var file_binlogdata_proto_rawDesc = []byte{
0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64,
0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x1c, 0x0a,
0x09, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x08,
- 0x52, 0x09, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x22, 0x8d, 0x01, 0x0a, 0x0c,
- 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04,
- 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
- 0x12, 0x24, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
- 0x32, 0x0c, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06,
- 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x1e, 0x0a, 0x0b, 0x70, 0x5f, 0x6b, 0x5f, 0x63, 0x6f,
- 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x03, 0x52, 0x09, 0x70, 0x4b, 0x43,
- 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x23, 0x0a, 0x0e, 0x70, 0x5f, 0x6b, 0x5f, 0x69, 0x6e,
- 0x64, 0x65, 0x78, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
- 0x70, 0x4b, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x41, 0x0a, 0x0d, 0x4d,
- 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x30, 0x0a, 0x06,
- 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x62,
- 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61,
- 0x6c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, 0xc7,
- 0x02, 0x0a, 0x0e, 0x56, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
- 0x74, 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63,
- 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f,
- 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52,
- 0x11, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72,
- 0x49, 0x64, 0x12, 0x45, 0x0a, 0x13, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f,
- 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x54, 0x47, 0x61, 0x74, 0x65, 0x43, 0x61,
- 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74,
- 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72,
- 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72,
- 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
- 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x06,
- 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62,
- 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
- 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x3e, 0x0a, 0x0f, 0x74, 0x61, 0x62, 0x6c,
- 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x5f, 0x6b, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28,
+ 0x52, 0x09, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x74,
+ 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18,
+ 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64,
+ 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x8d, 0x01, 0x0a, 0x0c, 0x4d, 0x69, 0x6e, 0x69, 0x6d,
+ 0x61, 0x6c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x06, 0x66,
+ 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x71, 0x75,
+ 0x65, 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64,
+ 0x73, 0x12, 0x1e, 0x0a, 0x0b, 0x70, 0x5f, 0x6b, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73,
+ 0x18, 0x03, 0x20, 0x03, 0x28, 0x03, 0x52, 0x09, 0x70, 0x4b, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e,
+ 0x73, 0x12, 0x23, 0x0a, 0x0e, 0x70, 0x5f, 0x6b, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x6e,
+ 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x4b, 0x49, 0x6e, 0x64,
+ 0x65, 0x78, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x41, 0x0a, 0x0d, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61,
+ 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x30, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67,
+ 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x54, 0x61, 0x62, 0x6c,
+ 0x65, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, 0xc7, 0x02, 0x0a, 0x0e, 0x56, 0x53,
+ 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x13,
+ 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72,
+ 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70,
+ 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x65, 0x66, 0x66, 0x65,
+ 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x45, 0x0a,
+ 0x13, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65,
+ 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65,
+ 0x72, 0x79, 0x2e, 0x56, 0x54, 0x47, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49,
+ 0x44, 0x52, 0x11, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c,
+ 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72,
+ 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70,
+ 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70,
+ 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65,
+ 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67,
+ 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c,
+ 0x74, 0x65, 0x72, 0x12, 0x3e, 0x0a, 0x0f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x61, 0x73,
+ 0x74, 0x5f, 0x70, 0x5f, 0x6b, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x62,
+ 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4c,
+ 0x61, 0x73, 0x74, 0x50, 0x4b, 0x52, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x61, 0x73, 0x74,
+ 0x50, 0x4b, 0x73, 0x22, 0x3d, 0x0a, 0x0f, 0x56, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73,
+ 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x56, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e,
+ 0x74, 0x73, 0x22, 0x85, 0x02, 0x0a, 0x12, 0x56, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x6f,
+ 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66,
+ 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43,
+ 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69,
+ 0x76, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x13, 0x69, 0x6d,
+ 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69,
+ 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e,
+ 0x56, 0x54, 0x47, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11,
+ 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49,
+ 0x64, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74,
+ 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72,
+ 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x2a,
+ 0x0a, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x70, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12,
+ 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75,
+ 0x6c, 0x74, 0x52, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x70, 0x6b, 0x22, 0xa4, 0x02, 0x0a, 0x13, 0x56,
+ 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x12, 0x24, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64,
+ 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x28, 0x0a, 0x08, 0x70, 0x6b, 0x66, 0x69,
+ 0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x71, 0x75, 0x65,
+ 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x08, 0x70, 0x6b, 0x66, 0x69, 0x65, 0x6c,
+ 0x64, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x74, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x04, 0x67, 0x74, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x04,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x77,
+ 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x12, 0x22, 0x0a, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x70, 0x6b,
+ 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52,
+ 0x6f, 0x77, 0x52, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x70, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68,
+ 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x74,
+ 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x65, 0x61, 0x72,
+ 0x74, 0x62, 0x65, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x68, 0x65, 0x61,
+ 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74,
+ 0x6c, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x0f, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f,
+ 0x6e, 0x22, 0xc5, 0x01, 0x0a, 0x14, 0x56, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x61, 0x62,
+ 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66,
+ 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69,
+ 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e,
+ 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74,
+ 0x69, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x13, 0x69,
+ 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f,
+ 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79,
+ 0x2e, 0x56, 0x54, 0x47, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52,
+ 0x11, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72,
+ 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65,
+ 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0xde, 0x01, 0x0a, 0x15, 0x56, 0x53,
+ 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d,
+ 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61,
+ 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64,
+ 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x28, 0x0a, 0x08, 0x70, 0x6b, 0x66, 0x69,
+ 0x65, 0x6c, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x71, 0x75, 0x65,
+ 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x08, 0x70, 0x6b, 0x66, 0x69, 0x65, 0x6c,
+ 0x64, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x74, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x04, 0x67, 0x74, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x05,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x77,
+ 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x12, 0x22, 0x0a, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x70, 0x6b,
+ 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52,
+ 0x6f, 0x77, 0x52, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x70, 0x6b, 0x22, 0x69, 0x0a, 0x0b, 0x4c, 0x61,
+ 0x73, 0x74, 0x50, 0x4b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x0e, 0x74, 0x61, 0x62,
+ 0x6c, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x5f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x17, 0x2e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54,
- 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x50, 0x4b, 0x52, 0x0c, 0x74, 0x61, 0x62, 0x6c,
- 0x65, 0x4c, 0x61, 0x73, 0x74, 0x50, 0x4b, 0x73, 0x22, 0x3d, 0x0a, 0x0f, 0x56, 0x53, 0x74, 0x72,
- 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x65,
- 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62, 0x69,
- 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52,
- 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x85, 0x02, 0x0a, 0x12, 0x56, 0x53, 0x74, 0x72,
- 0x65, 0x61, 0x6d, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f,
- 0x0a, 0x13, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c,
- 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74,
- 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x65, 0x66,
- 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12,
- 0x45, 0x0a, 0x13, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c,
- 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71,
- 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x54, 0x47, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65,
- 0x72, 0x49, 0x44, 0x52, 0x11, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x43, 0x61,
- 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
- 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54,
- 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x14, 0x0a,
- 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75,
- 0x65, 0x72, 0x79, 0x12, 0x2a, 0x0a, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x70, 0x6b, 0x18, 0x05, 0x20,
+ 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x50, 0x4b, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c,
+ 0x65, 0x4c, 0x61, 0x73, 0x74, 0x50, 0x4b, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c,
+ 0x65, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70,
+ 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0x58, 0x0a, 0x0b, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x61,
+ 0x73, 0x74, 0x50, 0x4b, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61,
+ 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e,
+ 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x70, 0x6b, 0x18, 0x03, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72,
0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x70, 0x6b, 0x22,
- 0xf9, 0x01, 0x0a, 0x13, 0x56, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x6f, 0x77, 0x73, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64,
- 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e,
- 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x28, 0x0a,
- 0x08, 0x70, 0x6b, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
- 0x0c, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x08, 0x70,
- 0x6b, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x74, 0x69, 0x64, 0x18,
- 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x67, 0x74, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x04, 0x72,
- 0x6f, 0x77, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x71, 0x75, 0x65, 0x72,
- 0x79, 0x2e, 0x52, 0x6f, 0x77, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x12, 0x22, 0x0a, 0x06, 0x6c,
- 0x61, 0x73, 0x74, 0x70, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x71, 0x75,
- 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x77, 0x52, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x70, 0x6b, 0x12,
- 0x1c, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01,
- 0x28, 0x08, 0x52, 0x09, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x12, 0x1c, 0x0a,
- 0x09, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08,
- 0x52, 0x09, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x22, 0xc5, 0x01, 0x0a, 0x14,
- 0x56, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76,
- 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72,
- 0x49, 0x44, 0x52, 0x11, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x6c,
- 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x13, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61,
- 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x54, 0x47, 0x61, 0x74,
- 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x69, 0x6d, 0x6d, 0x65, 0x64,
- 0x69, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06,
- 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71,
- 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72,
- 0x67, 0x65, 0x74, 0x22, 0xde, 0x01, 0x0a, 0x15, 0x56, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54,
- 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a,
- 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x06,
- 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x71,
- 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c,
- 0x64, 0x73, 0x12, 0x28, 0x0a, 0x08, 0x70, 0x6b, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x03,
- 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65,
- 0x6c, 0x64, 0x52, 0x08, 0x70, 0x6b, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x12, 0x0a, 0x04,
- 0x67, 0x74, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x67, 0x74, 0x69, 0x64,
- 0x12, 0x1e, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a,
- 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x77, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73,
- 0x12, 0x22, 0x0a, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x70, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x0a, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x77, 0x52, 0x06, 0x6c, 0x61,
- 0x73, 0x74, 0x70, 0x6b, 0x22, 0x69, 0x0a, 0x0b, 0x4c, 0x61, 0x73, 0x74, 0x50, 0x4b, 0x45, 0x76,
- 0x65, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x61, 0x73,
- 0x74, 0x5f, 0x70, 0x5f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x62, 0x69,
- 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x61,
- 0x73, 0x74, 0x50, 0x4b, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x50,
- 0x4b, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22,
- 0x58, 0x0a, 0x0b, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x50, 0x4b, 0x12, 0x1d,
- 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a,
- 0x06, 0x6c, 0x61, 0x73, 0x74, 0x70, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e,
- 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c,
- 0x74, 0x52, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x70, 0x6b, 0x22, 0xdc, 0x01, 0x0a, 0x15, 0x56, 0x53,
- 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65,
- 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49,
- 0x44, 0x52, 0x11, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x6c,
- 0x65, 0x72, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x13, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74,
- 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x54, 0x47, 0x61, 0x74, 0x65,
- 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69,
- 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x74,
- 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75,
- 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67,
- 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x72, 0x0a, 0x16, 0x56, 0x53, 0x74, 0x72,
- 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x12, 0x24, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03,
- 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64,
- 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x74, 0x69, 0x64,
- 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x67, 0x74, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x04,
- 0x72, 0x6f, 0x77, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x71, 0x75, 0x65,
- 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x77, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x2a, 0x3e, 0x0a, 0x0b,
- 0x4f, 0x6e, 0x44, 0x44, 0x4c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0a, 0x0a, 0x06, 0x49,
- 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x54, 0x4f, 0x50, 0x10,
- 0x01, 0x12, 0x08, 0x0a, 0x04, 0x45, 0x58, 0x45, 0x43, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x45,
- 0x58, 0x45, 0x43, 0x5f, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x10, 0x03, 0x2a, 0x7b, 0x0a, 0x18,
- 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b,
- 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x65,
- 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x6f, 0x76,
- 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x72, 0x65,
- 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x10, 0x02,
- 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x10, 0x03, 0x12, 0x0b, 0x0a,
- 0x07, 0x52, 0x65, 0x73, 0x68, 0x61, 0x72, 0x64, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x4f, 0x6e,
- 0x6c, 0x69, 0x6e, 0x65, 0x44, 0x44, 0x4c, 0x10, 0x05, 0x2a, 0x44, 0x0a, 0x1b, 0x56, 0x52, 0x65,
- 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
- 0x77, 0x53, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x6f, 0x6e, 0x65,
- 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x10, 0x01, 0x12,
- 0x0e, 0x0a, 0x0a, 0x41, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x43, 0x6f, 0x70, 0x79, 0x10, 0x02, 0x2a,
- 0x71, 0x0a, 0x19, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57,
- 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07,
- 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x6e, 0x69,
- 0x74, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x74, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x10, 0x02,
- 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x6f, 0x70, 0x79, 0x69, 0x6e, 0x67, 0x10, 0x03, 0x12, 0x0b, 0x0a,
- 0x07, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x72,
- 0x72, 0x6f, 0x72, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x4c, 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67,
- 0x10, 0x06, 0x2a, 0x8d, 0x02, 0x0a, 0x0a, 0x56, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70,
- 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x08,
- 0x0a, 0x04, 0x47, 0x54, 0x49, 0x44, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x42, 0x45, 0x47, 0x49,
- 0x4e, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x10, 0x03, 0x12,
- 0x0c, 0x0a, 0x08, 0x52, 0x4f, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x04, 0x12, 0x07, 0x0a,
- 0x03, 0x44, 0x44, 0x4c, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x49, 0x4e, 0x53, 0x45, 0x52, 0x54,
- 0x10, 0x06, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x10, 0x07, 0x12,
- 0x0a, 0x0a, 0x06, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x08, 0x12, 0x0a, 0x0a, 0x06, 0x44,
- 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x09, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x45, 0x54, 0x10, 0x0a,
- 0x12, 0x09, 0x0a, 0x05, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, 0x0b, 0x12, 0x07, 0x0a, 0x03, 0x52,
- 0x4f, 0x57, 0x10, 0x0c, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x10, 0x0d, 0x12,
- 0x0d, 0x0a, 0x09, 0x48, 0x45, 0x41, 0x52, 0x54, 0x42, 0x45, 0x41, 0x54, 0x10, 0x0e, 0x12, 0x09,
- 0x0a, 0x05, 0x56, 0x47, 0x54, 0x49, 0x44, 0x10, 0x0f, 0x12, 0x0b, 0x0a, 0x07, 0x4a, 0x4f, 0x55,
- 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x10, 0x12, 0x0b, 0x0a, 0x07, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f,
- 0x4e, 0x10, 0x11, 0x12, 0x0a, 0x0a, 0x06, 0x4c, 0x41, 0x53, 0x54, 0x50, 0x4b, 0x10, 0x12, 0x12,
- 0x0d, 0x0a, 0x09, 0x53, 0x41, 0x56, 0x45, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x10, 0x13, 0x12, 0x12,
- 0x0a, 0x0e, 0x43, 0x4f, 0x50, 0x59, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44,
- 0x10, 0x14, 0x2a, 0x27, 0x0a, 0x0d, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54,
- 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x53, 0x10, 0x00, 0x12,
- 0x0a, 0x0a, 0x06, 0x53, 0x48, 0x41, 0x52, 0x44, 0x53, 0x10, 0x01, 0x42, 0x29, 0x5a, 0x27, 0x76,
- 0x69, 0x74, 0x65, 0x73, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2f,
- 0x67, 0x6f, 0x2f, 0x76, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x62, 0x69, 0x6e, 0x6c,
- 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0xdc, 0x01, 0x0a, 0x15, 0x56, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c,
+ 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x13, 0x65, 0x66, 0x66,
+ 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x74, 0x72, 0x70, 0x63, 0x2e, 0x43,
+ 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69,
+ 0x76, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x13, 0x69, 0x6d,
+ 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69,
+ 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e,
+ 0x56, 0x54, 0x47, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x44, 0x52, 0x11,
+ 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49,
+ 0x64, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x0d, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74,
+ 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72,
+ 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x72,
+ 0x0a, 0x16, 0x56, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c,
+ 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79,
+ 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x12,
+ 0x0a, 0x04, 0x67, 0x74, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x67, 0x74,
+ 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x0a, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x77, 0x52, 0x04, 0x72, 0x6f,
+ 0x77, 0x73, 0x2a, 0x3e, 0x0a, 0x0b, 0x4f, 0x6e, 0x44, 0x44, 0x4c, 0x41, 0x63, 0x74, 0x69, 0x6f,
+ 0x6e, 0x12, 0x0a, 0x0a, 0x06, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x10, 0x00, 0x12, 0x08, 0x0a,
+ 0x04, 0x53, 0x54, 0x4f, 0x50, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x45, 0x58, 0x45, 0x43, 0x10,
+ 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x45, 0x58, 0x45, 0x43, 0x5f, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45,
+ 0x10, 0x03, 0x2a, 0x7b, 0x0a, 0x18, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f,
+ 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x10, 0x00, 0x12,
+ 0x0e, 0x0a, 0x0a, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x10, 0x01, 0x12,
+ 0x15, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x49,
+ 0x6e, 0x64, 0x65, 0x78, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74,
+ 0x65, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x65, 0x73, 0x68, 0x61, 0x72, 0x64, 0x10, 0x04,
+ 0x12, 0x0d, 0x0a, 0x09, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x44, 0x44, 0x4c, 0x10, 0x05, 0x2a,
+ 0x44, 0x0a, 0x1b, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57,
+ 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08,
+ 0x0a, 0x04, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x61, 0x72, 0x74,
+ 0x69, 0x61, 0x6c, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x43,
+ 0x6f, 0x70, 0x79, 0x10, 0x02, 0x2a, 0x71, 0x0a, 0x19, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61,
+ 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x10, 0x00, 0x12,
+ 0x08, 0x0a, 0x04, 0x49, 0x6e, 0x69, 0x74, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x74, 0x6f,
+ 0x70, 0x70, 0x65, 0x64, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x6f, 0x70, 0x79, 0x69, 0x6e,
+ 0x67, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x10, 0x04,
+ 0x12, 0x09, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x4c,
+ 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x10, 0x06, 0x2a, 0x8d, 0x02, 0x0a, 0x0a, 0x56, 0x45, 0x76,
+ 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f,
+ 0x57, 0x4e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x47, 0x54, 0x49, 0x44, 0x10, 0x01, 0x12, 0x09,
+ 0x0a, 0x05, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x4f, 0x4d,
+ 0x4d, 0x49, 0x54, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x4f, 0x4c, 0x4c, 0x42, 0x41, 0x43,
+ 0x4b, 0x10, 0x04, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x44, 0x4c, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06,
+ 0x49, 0x4e, 0x53, 0x45, 0x52, 0x54, 0x10, 0x06, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x50, 0x4c,
+ 0x41, 0x43, 0x45, 0x10, 0x07, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10,
+ 0x08, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x09, 0x12, 0x07, 0x0a,
+ 0x03, 0x53, 0x45, 0x54, 0x10, 0x0a, 0x12, 0x09, 0x0a, 0x05, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10,
+ 0x0b, 0x12, 0x07, 0x0a, 0x03, 0x52, 0x4f, 0x57, 0x10, 0x0c, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x49,
+ 0x45, 0x4c, 0x44, 0x10, 0x0d, 0x12, 0x0d, 0x0a, 0x09, 0x48, 0x45, 0x41, 0x52, 0x54, 0x42, 0x45,
+ 0x41, 0x54, 0x10, 0x0e, 0x12, 0x09, 0x0a, 0x05, 0x56, 0x47, 0x54, 0x49, 0x44, 0x10, 0x0f, 0x12,
+ 0x0b, 0x0a, 0x07, 0x4a, 0x4f, 0x55, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x10, 0x12, 0x0b, 0x0a, 0x07,
+ 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x11, 0x12, 0x0a, 0x0a, 0x06, 0x4c, 0x41, 0x53,
+ 0x54, 0x50, 0x4b, 0x10, 0x12, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x41, 0x56, 0x45, 0x50, 0x4f, 0x49,
+ 0x4e, 0x54, 0x10, 0x13, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x4f, 0x50, 0x59, 0x5f, 0x43, 0x4f, 0x4d,
+ 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x14, 0x2a, 0x27, 0x0a, 0x0d, 0x4d, 0x69, 0x67, 0x72,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x54, 0x41, 0x42,
+ 0x4c, 0x45, 0x53, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x48, 0x41, 0x52, 0x44, 0x53, 0x10,
+ 0x01, 0x42, 0x29, 0x5a, 0x27, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x76,
+ 0x69, 0x74, 0x65, 0x73, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2f, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x64, 0x61, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
}
var (
diff --git a/go/vt/proto/binlogdata/binlogdata_vtproto.pb.go b/go/vt/proto/binlogdata/binlogdata_vtproto.pb.go
index 1332681a976..ea15c40a992 100644
--- a/go/vt/proto/binlogdata/binlogdata_vtproto.pb.go
+++ b/go/vt/proto/binlogdata/binlogdata_vtproto.pb.go
@@ -512,20 +512,21 @@ func (m *VEvent) CloneVT() *VEvent {
return (*VEvent)(nil)
}
r := &VEvent{
- Type: m.Type,
- Timestamp: m.Timestamp,
- Gtid: m.Gtid,
- Statement: m.Statement,
- RowEvent: m.RowEvent.CloneVT(),
- FieldEvent: m.FieldEvent.CloneVT(),
- Vgtid: m.Vgtid.CloneVT(),
- Journal: m.Journal.CloneVT(),
- Dml: m.Dml,
- CurrentTime: m.CurrentTime,
- LastPKEvent: m.LastPKEvent.CloneVT(),
- Keyspace: m.Keyspace,
- Shard: m.Shard,
- Throttled: m.Throttled,
+ Type: m.Type,
+ Timestamp: m.Timestamp,
+ Gtid: m.Gtid,
+ Statement: m.Statement,
+ RowEvent: m.RowEvent.CloneVT(),
+ FieldEvent: m.FieldEvent.CloneVT(),
+ Vgtid: m.Vgtid.CloneVT(),
+ Journal: m.Journal.CloneVT(),
+ Dml: m.Dml,
+ CurrentTime: m.CurrentTime,
+ LastPKEvent: m.LastPKEvent.CloneVT(),
+ Keyspace: m.Keyspace,
+ Shard: m.Shard,
+ Throttled: m.Throttled,
+ ThrottledReason: m.ThrottledReason,
}
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
@@ -671,10 +672,11 @@ func (m *VStreamRowsResponse) CloneVT() *VStreamRowsResponse {
return (*VStreamRowsResponse)(nil)
}
r := &VStreamRowsResponse{
- Gtid: m.Gtid,
- Lastpk: m.Lastpk.CloneVT(),
- Throttled: m.Throttled,
- Heartbeat: m.Heartbeat,
+ Gtid: m.Gtid,
+ Lastpk: m.Lastpk.CloneVT(),
+ Throttled: m.Throttled,
+ Heartbeat: m.Heartbeat,
+ ThrottledReason: m.ThrottledReason,
}
if rhs := m.Fields; rhs != nil {
tmpContainer := make([]*query.Field, len(rhs))
@@ -2131,6 +2133,15 @@ func (m *VEvent) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
i -= len(m.unknownFields)
copy(dAtA[i:], m.unknownFields)
}
+ if len(m.ThrottledReason) > 0 {
+ i -= len(m.ThrottledReason)
+ copy(dAtA[i:], m.ThrottledReason)
+ i = encodeVarint(dAtA, i, uint64(len(m.ThrottledReason)))
+ i--
+ dAtA[i] = 0x1
+ i--
+ dAtA[i] = 0xca
+ }
if m.Throttled {
i--
if m.Throttled {
@@ -2626,6 +2637,13 @@ func (m *VStreamRowsResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) {
i -= len(m.unknownFields)
copy(dAtA[i:], m.unknownFields)
}
+ if len(m.ThrottledReason) > 0 {
+ i -= len(m.ThrottledReason)
+ copy(dAtA[i:], m.ThrottledReason)
+ i = encodeVarint(dAtA, i, uint64(len(m.ThrottledReason)))
+ i--
+ dAtA[i] = 0x42
+ }
if m.Heartbeat {
i--
if m.Heartbeat {
@@ -3739,6 +3757,10 @@ func (m *VEvent) SizeVT() (n int) {
if m.Throttled {
n += 3
}
+ l = len(m.ThrottledReason)
+ if l > 0 {
+ n += 2 + l + sov(uint64(l))
+ }
n += len(m.unknownFields)
return n
}
@@ -3910,6 +3932,10 @@ func (m *VStreamRowsResponse) SizeVT() (n int) {
if m.Heartbeat {
n += 2
}
+ l = len(m.ThrottledReason)
+ if l > 0 {
+ n += 1 + l + sov(uint64(l))
+ }
n += len(m.unknownFields)
return n
}
@@ -7951,6 +7977,38 @@ func (m *VEvent) UnmarshalVT(dAtA []byte) error {
}
}
m.Throttled = bool(v != 0)
+ case 25:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ThrottledReason", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLength
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLength
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.ThrottledReason = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skip(dAtA[iNdEx:])
@@ -9116,6 +9174,38 @@ func (m *VStreamRowsResponse) UnmarshalVT(dAtA []byte) error {
}
}
m.Heartbeat = bool(v != 0)
+ case 8:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ThrottledReason", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLength
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLength
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.ThrottledReason = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skip(dAtA[iNdEx:])
diff --git a/go/vt/proto/query/query.pb.go b/go/vt/proto/query/query.pb.go
index c10568cc69b..8851ead4050 100644
--- a/go/vt/proto/query/query.pb.go
+++ b/go/vt/proto/query/query.pb.go
@@ -315,6 +315,9 @@ const (
// BITNUM specifies a base 2 binary type (unquoted varbinary).
// Properties: 34, IsText.
Type_BITNUM Type = 4130
+ // VECTOR specifies a VECTOR type
+ // Properties: 35, IsQuoted.
+ Type_VECTOR Type = 2083
)
// Enum value maps for Type.
@@ -355,6 +358,7 @@ var (
4128: "HEXNUM",
4129: "HEXVAL",
4130: "BITNUM",
+ 2083: "VECTOR",
}
Type_value = map[string]int32{
"NULL_TYPE": 0,
@@ -392,6 +396,7 @@ var (
"HEXNUM": 4128,
"HEXVAL": 4129,
"BITNUM": 4130,
+ "VECTOR": 2083,
}
)
@@ -6747,7 +6752,7 @@ var file_query_proto_rawDesc = []byte{
0x4f, 0x41, 0x54, 0x10, 0x80, 0x08, 0x12, 0x0d, 0x0a, 0x08, 0x49, 0x53, 0x51, 0x55, 0x4f, 0x54,
0x45, 0x44, 0x10, 0x80, 0x10, 0x12, 0x0b, 0x0a, 0x06, 0x49, 0x53, 0x54, 0x45, 0x58, 0x54, 0x10,
0x80, 0x20, 0x12, 0x0d, 0x0a, 0x08, 0x49, 0x53, 0x42, 0x49, 0x4e, 0x41, 0x52, 0x59, 0x10, 0x80,
- 0x40, 0x2a, 0xc0, 0x03, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x55,
+ 0x40, 0x2a, 0xcd, 0x03, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x55,
0x4c, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x04, 0x49, 0x4e, 0x54,
0x38, 0x10, 0x81, 0x02, 0x12, 0x0a, 0x0a, 0x05, 0x55, 0x49, 0x4e, 0x54, 0x38, 0x10, 0x82, 0x06,
0x12, 0x0a, 0x0a, 0x05, 0x49, 0x4e, 0x54, 0x31, 0x36, 0x10, 0x83, 0x02, 0x12, 0x0b, 0x0a, 0x06,
@@ -6775,19 +6780,20 @@ var file_query_proto_rawDesc = []byte{
0x0a, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x1f, 0x12, 0x0b, 0x0a,
0x06, 0x48, 0x45, 0x58, 0x4e, 0x55, 0x4d, 0x10, 0xa0, 0x20, 0x12, 0x0b, 0x0a, 0x06, 0x48, 0x45,
0x58, 0x56, 0x41, 0x4c, 0x10, 0xa1, 0x20, 0x12, 0x0b, 0x0a, 0x06, 0x42, 0x49, 0x54, 0x4e, 0x55,
- 0x4d, 0x10, 0xa2, 0x20, 0x2a, 0x46, 0x0a, 0x10, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74,
- 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e,
- 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x52, 0x45, 0x50, 0x41, 0x52, 0x45,
- 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x4f, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x02,
- 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x10, 0x03, 0x2a, 0x3b, 0x0a, 0x0f,
- 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12,
- 0x09, 0x0a, 0x05, 0x56, 0x49, 0x45, 0x57, 0x53, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x54, 0x41,
- 0x42, 0x4c, 0x45, 0x53, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x02, 0x12,
- 0x08, 0x0a, 0x04, 0x55, 0x44, 0x46, 0x53, 0x10, 0x03, 0x42, 0x35, 0x0a, 0x0f, 0x69, 0x6f, 0x2e,
- 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x5a, 0x22, 0x76, 0x69,
- 0x74, 0x65, 0x73, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2f, 0x67,
- 0x6f, 0x2f, 0x76, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79,
- 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x4d, 0x10, 0xa2, 0x20, 0x12, 0x0b, 0x0a, 0x06, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x10, 0xa3,
+ 0x10, 0x2a, 0x46, 0x0a, 0x10, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e,
+ 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x52, 0x45, 0x50, 0x41, 0x52, 0x45, 0x10, 0x01, 0x12,
+ 0x0c, 0x0a, 0x08, 0x52, 0x4f, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x02, 0x12, 0x0a, 0x0a,
+ 0x06, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x10, 0x03, 0x2a, 0x3b, 0x0a, 0x0f, 0x53, 0x63, 0x68,
+ 0x65, 0x6d, 0x61, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05,
+ 0x56, 0x49, 0x45, 0x57, 0x53, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x54, 0x41, 0x42, 0x4c, 0x45,
+ 0x53, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04,
+ 0x55, 0x44, 0x46, 0x53, 0x10, 0x03, 0x42, 0x35, 0x0a, 0x0f, 0x69, 0x6f, 0x2e, 0x76, 0x69, 0x74,
+ 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x5a, 0x22, 0x76, 0x69, 0x74, 0x65, 0x73,
+ 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x76,
+ 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
diff --git a/go/vt/proto/tabletmanagerdata/tabletmanagerdata.pb.go b/go/vt/proto/tabletmanagerdata/tabletmanagerdata.pb.go
index c0896882735..715e2a2ab36 100644
--- a/go/vt/proto/tabletmanagerdata/tabletmanagerdata.pb.go
+++ b/go/vt/proto/tabletmanagerdata/tabletmanagerdata.pb.go
@@ -6636,6 +6636,10 @@ type CheckThrottlerResponse struct {
// Metrics is a map (metric name -> metric value/error) so that the client has as much
// information as possible about all the checked metrics.
Metrics map[string]*CheckThrottlerResponse_Metric `protobuf:"bytes,7,rep,name=metrics,proto3" json:"metrics,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ // AppName is the name of app that was matched by the throttler
+ AppName string `protobuf:"bytes,8,opt,name=app_name,json=appName,proto3" json:"app_name,omitempty"`
+ // Summary is a human readable analysis of the result
+ Summary string `protobuf:"bytes,9,opt,name=summary,proto3" json:"summary,omitempty"`
}
func (x *CheckThrottlerResponse) Reset() {
@@ -6719,6 +6723,20 @@ func (x *CheckThrottlerResponse) GetMetrics() map[string]*CheckThrottlerResponse
return nil
}
+func (x *CheckThrottlerResponse) GetAppName() string {
+ if x != nil {
+ return x.AppName
+ }
+ return ""
+}
+
+func (x *CheckThrottlerResponse) GetSummary() string {
+ if x != nil {
+ return x.Summary
+ }
+ return ""
+}
+
type GetThrottlerStatusRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -8211,7 +8229,7 @@ var file_tabletmanagerdata_proto_rawDesc = []byte{
0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x6d, 0x75, 0x6c, 0x74, 0x69,
0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x4d, 0x65, 0x74,
- 0x72, 0x69, 0x63, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xc2, 0x04, 0x0a, 0x16,
+ 0x72, 0x69, 0x63, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xf7, 0x04, 0x0a, 0x16,
0x43, 0x68, 0x65, 0x63, 0x6b, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x74, 0x61,
@@ -8229,161 +8247,164 @@ var file_tabletmanagerdata_proto_rawDesc = []byte{
0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x68, 0x65, 0x63,
0x6b, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
- 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x1a, 0xb7, 0x01, 0x0a, 0x06, 0x4d, 0x65, 0x74,
- 0x72, 0x69, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x75,
- 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x74,
- 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
- 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1c,
- 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
- 0x01, 0x52, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x14, 0x0a, 0x05,
- 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72,
- 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05,
- 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f,
- 0x70, 0x65, 0x1a, 0x6c, 0x0a, 0x0c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x6e, 0x74,
- 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x03, 0x6b, 0x65, 0x79, 0x12, 0x46, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61,
- 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x54, 0x68, 0x72,
- 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d,
- 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
- 0x22, 0x1b, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72,
- 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xe1, 0x0f,
- 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74,
- 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c,
- 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12,
- 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73,
- 0x68, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72,
- 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x04,
- 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x17,
- 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52,
- 0x06, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x65, 0x6e,
- 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x45,
- 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x6f, 0x72,
- 0x6d, 0x61, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x44, 0x6f,
- 0x72, 0x6d, 0x61, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x6c, 0x61, 0x67, 0x5f, 0x6d, 0x65, 0x74,
- 0x72, 0x69, 0x63, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x0e, 0x6c, 0x61, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12,
- 0x2e, 0x0a, 0x13, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63,
- 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x75,
- 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12,
- 0x2b, 0x0a, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73,
- 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x64, 0x65, 0x66, 0x61,
- 0x75, 0x6c, 0x74, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x3c, 0x0a, 0x1b,
- 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x64,
- 0x5f, 0x61, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x17, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x55, 0x73, 0x65,
- 0x64, 0x41, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x73, 0x0a, 0x12, 0x61, 0x67,
- 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73,
- 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d,
- 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x68,
- 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64,
- 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x61, 0x67,
- 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12,
- 0x70, 0x0a, 0x11, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68,
- 0x6f, 0x6c, 0x64, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x74, 0x61, 0x62,
- 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47,
- 0x65, 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75,
- 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
- 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
- 0x10, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64,
- 0x73, 0x12, 0x67, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x68, 0x65, 0x61,
- 0x6c, 0x74, 0x68, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x74, 0x61, 0x62, 0x6c,
- 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65,
- 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73,
- 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x65, 0x74,
- 0x72, 0x69, 0x63, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x67, 0x0a, 0x0e, 0x74, 0x68,
- 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x5f, 0x61, 0x70, 0x70, 0x73, 0x18, 0x0f, 0x20, 0x03,
- 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67,
- 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74,
+ 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f,
+ 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x4e,
+ 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x09,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x1a, 0xb7, 0x01,
+ 0x0a, 0x06, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b,
+ 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c,
+ 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61,
+ 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
+ 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x1a, 0x6c, 0x0a, 0x0c, 0x4d, 0x65, 0x74, 0x72, 0x69,
+ 0x63, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x46, 0x0a, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x68, 0x65,
+ 0x63, 0x6b, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x1b, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x54, 0x68, 0x72, 0x6f,
+ 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x22, 0xe1, 0x0f, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74,
0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x2e, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x41, 0x70, 0x70, 0x73, 0x45,
- 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x41,
- 0x70, 0x70, 0x73, 0x12, 0x74, 0x0a, 0x13, 0x61, 0x70, 0x70, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b,
- 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b,
- 0x32, 0x44, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65,
- 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e,
- 0x41, 0x70, 0x70, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
- 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x61, 0x70, 0x70, 0x43, 0x68, 0x65, 0x63, 0x6b,
- 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x63,
- 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x11, 0x20,
- 0x01, 0x28, 0x08, 0x52, 0x0f, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x43, 0x68, 0x65,
- 0x63, 0x6b, 0x65, 0x64, 0x12, 0x5e, 0x0a, 0x0b, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x61,
- 0x70, 0x70, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x74, 0x61, 0x62, 0x6c,
- 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65,
- 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41,
- 0x70, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74,
- 0x41, 0x70, 0x70, 0x73, 0x1a, 0x3a, 0x0a, 0x0c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x65,
- 0x73, 0x75, 0x6c, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72,
- 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72,
- 0x1a, 0x80, 0x01, 0x0a, 0x16, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4d,
- 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
- 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x50, 0x0a,
- 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x74,
- 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x47, 0x65, 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61,
- 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x72,
- 0x69, 0x63, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
- 0x02, 0x38, 0x01, 0x1a, 0x43, 0x0a, 0x15, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x54, 0x68, 0x72,
- 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
- 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
- 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76,
- 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x81, 0x01, 0x0a, 0x0c, 0x4d, 0x65, 0x74,
- 0x72, 0x69, 0x63, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x34, 0x0a, 0x0f, 0x6c, 0x61, 0x73,
- 0x74, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65,
- 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x41, 0x74, 0x12,
- 0x3b, 0x0a, 0x1a, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65,
- 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x03, 0x52, 0x17, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x53, 0x69, 0x6e, 0x63,
- 0x65, 0x4c, 0x61, 0x73, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x1a, 0x7c, 0x0a, 0x12,
- 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x45, 0x6e, 0x74,
- 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x03, 0x6b, 0x65, 0x79, 0x12, 0x50, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61,
- 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74,
- 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52,
- 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5c, 0x0a, 0x12, 0x54, 0x68,
- 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x41, 0x70, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61,
+ 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41,
+ 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x6c, 0x65, 0x61,
+ 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x4c, 0x65, 0x61,
+ 0x64, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x1d, 0x0a, 0x0a,
+ 0x69, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x09, 0x69, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x69,
+ 0x73, 0x5f, 0x64, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x09, 0x69, 0x73, 0x44, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x6c, 0x61,
+ 0x67, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x08,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6c, 0x61, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x51,
+ 0x75, 0x65, 0x72, 0x79, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6d,
+ 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x11, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x51,
+ 0x75, 0x65, 0x72, 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f,
+ 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x01, 0x52,
+ 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c,
+ 0x64, 0x12, 0x3c, 0x0a, 0x1b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
+ 0x5f, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x61, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
+ 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4e, 0x61,
+ 0x6d, 0x65, 0x55, 0x73, 0x65, 0x64, 0x41, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12,
+ 0x73, 0x0a, 0x12, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65,
+ 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x74, 0x61,
+ 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x47, 0x65, 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74,
+ 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65,
+ 0x67, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x6e, 0x74, 0x72,
+ 0x79, 0x52, 0x11, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74,
+ 0x72, 0x69, 0x63, 0x73, 0x12, 0x70, 0x0a, 0x11, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x74,
+ 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x43, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72,
+ 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d,
+ 0x65, 0x74, 0x72, 0x69, 0x63, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x54, 0x68, 0x72, 0x65,
+ 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x12, 0x67, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63,
+ 0x73, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40,
+ 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53,
+ 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x65,
+ 0x74, 0x72, 0x69, 0x63, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x52, 0x0d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12,
+ 0x67, 0x0a, 0x0e, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x5f, 0x61, 0x70, 0x70,
+ 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54,
+ 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64,
+ 0x41, 0x70, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x74, 0x68, 0x72, 0x6f, 0x74,
+ 0x74, 0x6c, 0x65, 0x64, 0x41, 0x70, 0x70, 0x73, 0x12, 0x74, 0x0a, 0x13, 0x61, 0x70, 0x70, 0x5f,
+ 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18,
+ 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61,
+ 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x68, 0x72,
+ 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x4d,
+ 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x61, 0x70, 0x70,
+ 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x29,
+ 0x0a, 0x10, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b,
+ 0x65, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74,
+ 0x6c, 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x5e, 0x0a, 0x0b, 0x72, 0x65, 0x63,
+ 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x70, 0x70, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d,
+ 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53,
+ 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65,
+ 0x63, 0x65, 0x6e, 0x74, 0x41, 0x70, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x72,
+ 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41, 0x70, 0x70, 0x73, 0x1a, 0x3a, 0x0a, 0x0c, 0x4d, 0x65, 0x74,
+ 0x72, 0x69, 0x63, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12,
+ 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
+ 0x65, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0x80, 0x01, 0x0a, 0x16, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67,
+ 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
- 0x65, 0x79, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x1a, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x68, 0x72,
- 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x41, 0x70, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x05, 0x76,
- 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x44, 0x0a, 0x16, 0x41, 0x70, 0x70, 0x43,
- 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x6e, 0x74,
- 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x59,
- 0x0a, 0x09, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41, 0x70, 0x70, 0x12, 0x2b, 0x0a, 0x0a, 0x63,
- 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x09, 0x63,
- 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74,
- 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73,
- 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x1a, 0x76, 0x0a, 0x0f, 0x52, 0x65, 0x63,
- 0x65, 0x6e, 0x74, 0x41, 0x70, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
- 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4d,
- 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e,
- 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74,
- 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x63,
- 0x65, 0x6e, 0x74, 0x41, 0x70, 0x70, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
- 0x01, 0x2a, 0x3e, 0x0a, 0x19, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63,
- 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x07,
- 0x0a, 0x03, 0x41, 0x4e, 0x59, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x4f, 0x52, 0x44,
- 0x45, 0x52, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10,
- 0x03, 0x42, 0x30, 0x5a, 0x2e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x76,
- 0x69, 0x74, 0x65, 0x73, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64,
- 0x61, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x65, 0x79, 0x12, 0x50, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x3a, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
+ 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c,
+ 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x43, 0x0a, 0x15, 0x4d, 0x65, 0x74, 0x72,
+ 0x69, 0x63, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72,
+ 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
+ 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x81, 0x01,
+ 0x0a, 0x0c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x34,
+ 0x0a, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x61,
+ 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65,
+ 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74,
+ 0x68, 0x79, 0x41, 0x74, 0x12, 0x3b, 0x0a, 0x1a, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f,
+ 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74,
+ 0x68, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64,
+ 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68,
+ 0x79, 0x1a, 0x7c, 0x0a, 0x12, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x48, 0x65, 0x61, 0x6c,
+ 0x74, 0x68, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x50, 0x0a, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74,
+ 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x48, 0x65,
+ 0x61, 0x6c, 0x74, 0x68, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
+ 0x5c, 0x0a, 0x12, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x41, 0x70, 0x70, 0x73,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74,
+ 0x61, 0x2e, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x41, 0x70, 0x70, 0x52, 0x75,
+ 0x6c, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x44, 0x0a,
+ 0x16, 0x41, 0x70, 0x70, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69,
+ 0x63, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
+ 0x02, 0x38, 0x01, 0x1a, 0x59, 0x0a, 0x09, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41, 0x70, 0x70,
+ 0x12, 0x2b, 0x0a, 0x0a, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69,
+ 0x6d, 0x65, 0x52, 0x09, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1f, 0x0a,
+ 0x0b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x1a, 0x76,
+ 0x0a, 0x0f, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41, 0x70, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72,
+ 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
+ 0x6b, 0x65, 0x79, 0x12, 0x4d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67,
+ 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74,
+ 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x41, 0x70, 0x70, 0x52, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x2a, 0x3e, 0x0a, 0x19, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65,
+ 0x6e, 0x63, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4e, 0x59, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07,
+ 0x49, 0x4e, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b,
+ 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x03, 0x42, 0x30, 0x5a, 0x2e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73,
+ 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x74,
+ 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e,
+ 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
diff --git a/go/vt/proto/tabletmanagerdata/tabletmanagerdata_vtproto.pb.go b/go/vt/proto/tabletmanagerdata/tabletmanagerdata_vtproto.pb.go
index d48882613d1..eb0b058a56e 100644
--- a/go/vt/proto/tabletmanagerdata/tabletmanagerdata_vtproto.pb.go
+++ b/go/vt/proto/tabletmanagerdata/tabletmanagerdata_vtproto.pb.go
@@ -2529,6 +2529,8 @@ func (m *CheckThrottlerResponse) CloneVT() *CheckThrottlerResponse {
Error: m.Error,
Message: m.Message,
RecentlyChecked: m.RecentlyChecked,
+ AppName: m.AppName,
+ Summary: m.Summary,
}
if rhs := m.Metrics; rhs != nil {
tmpContainer := make(map[string]*CheckThrottlerResponse_Metric, len(rhs))
@@ -8833,6 +8835,20 @@ func (m *CheckThrottlerResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error
i -= len(m.unknownFields)
copy(dAtA[i:], m.unknownFields)
}
+ if len(m.Summary) > 0 {
+ i -= len(m.Summary)
+ copy(dAtA[i:], m.Summary)
+ i = encodeVarint(dAtA, i, uint64(len(m.Summary)))
+ i--
+ dAtA[i] = 0x4a
+ }
+ if len(m.AppName) > 0 {
+ i -= len(m.AppName)
+ copy(dAtA[i:], m.AppName)
+ i = encodeVarint(dAtA, i, uint64(len(m.AppName)))
+ i--
+ dAtA[i] = 0x42
+ }
if len(m.Metrics) > 0 {
for k := range m.Metrics {
v := m.Metrics[k]
@@ -11566,6 +11582,14 @@ func (m *CheckThrottlerResponse) SizeVT() (n int) {
n += mapEntrySize + 1 + sov(uint64(mapEntrySize))
}
}
+ l = len(m.AppName)
+ if l > 0 {
+ n += 1 + l + sov(uint64(l))
+ }
+ l = len(m.Summary)
+ if l > 0 {
+ n += 1 + l + sov(uint64(l))
+ }
n += len(m.unknownFields)
return n
}
@@ -25594,6 +25618,70 @@ func (m *CheckThrottlerResponse) UnmarshalVT(dAtA []byte) error {
}
m.Metrics[mapkey] = mapvalue
iNdEx = postIndex
+ case 8:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field AppName", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLength
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLength
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.AppName = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 9:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Summary", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLength
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLength
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Summary = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skip(dAtA[iNdEx:])
diff --git a/go/vt/proto/vtctldata/vtctldata.pb.go b/go/vt/proto/vtctldata/vtctldata.pb.go
index a79acd29dab..51a94298a40 100644
--- a/go/vt/proto/vtctldata/vtctldata.pb.go
+++ b/go/vt/proto/vtctldata/vtctldata.pb.go
@@ -9668,6 +9668,8 @@ type PlannedReparentShardRequest struct {
// acceptable for a tablet to be eligible for promotion when Vitess makes the choice of a new primary.
// A value of 0 indicates that Vitess shouldn't consider the replication lag at all.
TolerableReplicationLag *vttime.Duration `protobuf:"bytes,6,opt,name=tolerable_replication_lag,json=tolerableReplicationLag,proto3" json:"tolerable_replication_lag,omitempty"`
+ // AllowCrossCellPromotion allows cross cell promotion,
+ AllowCrossCellPromotion bool `protobuf:"varint,7,opt,name=allow_cross_cell_promotion,json=allowCrossCellPromotion,proto3" json:"allow_cross_cell_promotion,omitempty"`
}
func (x *PlannedReparentShardRequest) Reset() {
@@ -9744,6 +9746,13 @@ func (x *PlannedReparentShardRequest) GetTolerableReplicationLag() *vttime.Durat
return nil
}
+func (x *PlannedReparentShardRequest) GetAllowCrossCellPromotion() bool {
+ if x != nil {
+ return x.AllowCrossCellPromotion
+ }
+ return false
+}
+
type PlannedReparentShardResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -18159,7 +18168,7 @@ var file_vtctldata_proto_rawDesc = []byte{
0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69,
0x61, 0x73, 0x22, 0x14, 0x0a, 0x12, 0x50, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd7, 0x02, 0x0a, 0x1b, 0x50, 0x6c, 0x61,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x94, 0x03, 0x0a, 0x1b, 0x50, 0x6c, 0x61,
0x6e, 0x6e, 0x65, 0x64, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x68, 0x61, 0x72,
0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73,
0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73,
@@ -18181,538 +18190,576 @@ var file_vtctldata_proto_rawDesc = []byte{
0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65,
0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x17, 0x74, 0x6f, 0x6c, 0x65, 0x72,
0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c,
- 0x61, 0x67, 0x22, 0xba, 0x01, 0x0a, 0x1c, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x52, 0x65,
- 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12,
- 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
- 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x40, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65,
- 0x64, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x64,
- 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x26, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74,
- 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6f, 0x67, 0x75, 0x74, 0x69,
- 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22,
- 0x74, 0x0a, 0x1b, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a,
- 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65,
- 0x6c, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73,
- 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61,
- 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x50, 0x61,
- 0x72, 0x74, 0x69, 0x61, 0x6c, 0x22, 0x1e, 0x0a, 0x1c, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64,
- 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0x0a, 0x1a, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64,
- 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03,
- 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x22, 0x1d, 0x0a, 0x1b, 0x52, 0x65, 0x62,
- 0x75, 0x69, 0x6c, 0x64, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x47, 0x72, 0x61, 0x70, 0x68,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4f, 0x0a, 0x13, 0x52, 0x65, 0x66, 0x72,
- 0x65, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
- 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x16, 0x0a, 0x14, 0x52, 0x65, 0x66,
- 0x72, 0x65, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x22, 0x64, 0x0a, 0x1a, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74,
- 0x65, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
- 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73,
- 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72,
- 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09,
- 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x22, 0x83, 0x01, 0x0a, 0x1b, 0x52, 0x65, 0x66, 0x72,
- 0x65, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x70, 0x61,
- 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65,
- 0x66, 0x72, 0x65, 0x73, 0x68, 0x12, 0x36, 0x0a, 0x17, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c,
- 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x52,
- 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x4f, 0x0a,
- 0x13, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61,
- 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70,
- 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61,
- 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x16,
- 0x0a, 0x14, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa9, 0x01, 0x0a, 0x1b, 0x52, 0x65, 0x6c, 0x6f, 0x61,
- 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74,
- 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x77, 0x61, 0x69, 0x74, 0x50,
- 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75,
- 0x64, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
- 0x52, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79,
- 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18,
- 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e,
- 0x63, 0x79, 0x22, 0x46, 0x0a, 0x1c, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65,
- 0x6d, 0x61, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03,
- 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6f, 0x67, 0x75, 0x74, 0x69, 0x6c, 0x2e, 0x45, 0x76, 0x65,
- 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xbc, 0x01, 0x0a, 0x18, 0x52,
- 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x68, 0x61, 0x72, 0x64,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70,
- 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70,
- 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x77, 0x61, 0x69,
- 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x0c, 0x77, 0x61, 0x69, 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27,
- 0x0a, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72,
- 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65,
- 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75,
- 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x6f,
- 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x22, 0x43, 0x0a, 0x19, 0x52, 0x65, 0x6c,
- 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73,
- 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6f, 0x67, 0x75, 0x74, 0x69, 0x6c,
- 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x5b,
- 0x0a, 0x13, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
- 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
- 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
- 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x16, 0x0a, 0x14, 0x52,
- 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x22, 0x7f, 0x0a, 0x19, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x61, 0x67, 0x12, 0x3b, 0x0a, 0x1a, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x72, 0x6f, 0x73,
+ 0x73, 0x5f, 0x63, 0x65, 0x6c, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e,
+ 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x72, 0x6f,
+ 0x73, 0x73, 0x43, 0x65, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x22,
+ 0xba, 0x01, 0x0a, 0x1c, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x52, 0x65, 0x70, 0x61, 0x72,
+ 0x65, 0x6e, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04,
- 0x63, 0x65, 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x65, 0x6c, 0x6c,
- 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52,
- 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73,
- 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72,
- 0x73, 0x69, 0x76, 0x65, 0x22, 0x1c, 0x0a, 0x1a, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4b, 0x65,
- 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x22, 0x9b, 0x01, 0x0a, 0x16, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x68, 0x61,
- 0x72, 0x64, 0x43, 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a,
- 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x68, 0x61,
- 0x72, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73,
- 0x68, 0x61, 0x72, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x65, 0x6c, 0x6c,
- 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x12, 0x14, 0x0a, 0x05,
- 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72,
- 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x18,
- 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65,
- 0x22, 0x19, 0x0a, 0x17, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x43,
- 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x0a, 0x15, 0x52,
- 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x06, 0x74, 0x61, 0x62,
- 0x6c, 0x65, 0x74, 0x22, 0x7b, 0x0a, 0x16, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x54,
- 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a,
+ 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05,
+ 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61,
+ 0x72, 0x64, 0x12, 0x40, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x64, 0x5f, 0x70,
+ 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74,
+ 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c,
+ 0x69, 0x61, 0x73, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x64, 0x50, 0x72, 0x69,
+ 0x6d, 0x61, 0x72, 0x79, 0x12, 0x26, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6f, 0x67, 0x75, 0x74, 0x69, 0x6c, 0x2e, 0x45,
+ 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x74, 0x0a, 0x1b,
+ 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x47,
+ 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b,
+ 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b,
+ 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73,
+ 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x23, 0x0a,
+ 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x50, 0x61, 0x72, 0x74, 0x69,
+ 0x61, 0x6c, 0x22, 0x1e, 0x0a, 0x1c, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x4b, 0x65, 0x79,
+ 0x73, 0x70, 0x61, 0x63, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x22, 0x32, 0x0a, 0x1a, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x53, 0x63,
+ 0x68, 0x65, 0x6d, 0x61, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52,
+ 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x22, 0x1d, 0x0a, 0x1b, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c,
+ 0x64, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4f, 0x0a, 0x13, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68,
+ 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c,
+ 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61,
+ 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x16, 0x0a, 0x14, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73,
+ 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64,
+ 0x0a, 0x1a, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x79,
+ 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08,
+ 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
+ 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72,
+ 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x14,
+ 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63,
+ 0x65, 0x6c, 0x6c, 0x73, 0x22, 0x83, 0x01, 0x0a, 0x1b, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68,
+ 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69,
+ 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x10, 0x69, 0x73, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x72, 0x65,
+ 0x73, 0x68, 0x12, 0x36, 0x0a, 0x17, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x72, 0x65,
+ 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x15, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x72,
+ 0x65, 0x73, 0x68, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x4f, 0x0a, 0x13, 0x52, 0x65,
+ 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61,
+ 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b,
+ 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x16, 0x0a, 0x14, 0x52,
+ 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x22, 0xa9, 0x01, 0x0a, 0x1b, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63,
+ 0x68, 0x65, 0x6d, 0x61, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12,
+ 0x23, 0x0a, 0x0d, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x77, 0x61, 0x69, 0x74, 0x50, 0x6f, 0x73, 0x69,
+ 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f,
+ 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69,
+ 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x20, 0x0a,
+ 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x22,
+ 0x46, 0x0a, 0x1c, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4b,
+ 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
+ 0x26, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x0e, 0x2e, 0x6c, 0x6f, 0x67, 0x75, 0x74, 0x69, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52,
+ 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xbc, 0x01, 0x0a, 0x18, 0x52, 0x65, 0x6c, 0x6f,
+ 0x61, 0x64, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x70,
+ 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x77,
+ 0x61, 0x69, 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x69,
+ 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x72, 0x69,
+ 0x6d, 0x61, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65,
+ 0x6e, 0x63, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75,
+ 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x22, 0x43, 0x0a, 0x19, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64,
+ 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6f, 0x67, 0x75, 0x74, 0x69, 0x6c, 0x2e, 0x45, 0x76,
+ 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x5b, 0x0a, 0x13, 0x52,
+ 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14,
+ 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73,
+ 0x68, 0x61, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x16, 0x0a, 0x14, 0x52, 0x65, 0x6d, 0x6f,
+ 0x76, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x7f, 0x0a, 0x19, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61,
+ 0x63, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a,
0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61,
- 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12,
- 0x2f, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c,
- 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79,
- 0x22, 0x8f, 0x04, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x68, 0x61, 0x72, 0x64, 0x43, 0x72, 0x65, 0x61,
- 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72,
- 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72,
- 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
- 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
- 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72,
- 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
- 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
- 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x74,
- 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63,
- 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c,
- 0x73, 0x12, 0x37, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65,
- 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x74,
- 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x6c, 0x0a, 0x1b, 0x74, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70,
- 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32,
- 0x2c, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74,
- 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x19, 0x74,
- 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72,
- 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6b, 0x69, 0x70,
- 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x18, 0x08, 0x20, 0x01,
- 0x28, 0x08, 0x52, 0x0e, 0x73, 0x6b, 0x69, 0x70, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x43, 0x6f,
- 0x70, 0x79, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x6e, 0x5f, 0x64, 0x64, 0x6c, 0x18, 0x09, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x05, 0x6f, 0x6e, 0x44, 0x64, 0x6c, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x74, 0x6f,
- 0x70, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x18, 0x0a, 0x20, 0x01,
- 0x28, 0x08, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x70, 0x41, 0x66, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x70,
- 0x79, 0x12, 0x30, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e,
- 0x64, 0x61, 0x72, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52,
- 0x12, 0x64, 0x65, 0x66, 0x65, 0x72, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x4b,
- 0x65, 0x79, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x72,
- 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x53, 0x74, 0x61,
- 0x72, 0x74, 0x22, 0x82, 0x02, 0x0a, 0x18, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x72,
- 0x6f, 0x6d, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
- 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x2d, 0x0a, 0x0b, 0x62, 0x61, 0x63,
- 0x6b, 0x75, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c,
- 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x0a, 0x62, 0x61,
- 0x63, 0x6b, 0x75, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x74,
- 0x6f, 0x72, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x0c, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x6f, 0x50, 0x6f, 0x73, 0x12, 0x17,
- 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52,
- 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x12, 0x3e, 0x0a, 0x14, 0x72, 0x65, 0x73, 0x74, 0x6f,
- 0x72, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18,
- 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54,
- 0x69, 0x6d, 0x65, 0x52, 0x12, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x6f, 0x54, 0x69,
- 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xad, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x73, 0x74,
- 0x6f, 0x72, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f,
- 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f,
- 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69,
- 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12,
- 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73,
- 0x68, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72,
- 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x0e, 0x2e, 0x6c, 0x6f, 0x67, 0x75, 0x74, 0x69, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74,
- 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x4d, 0x0a, 0x1b, 0x52, 0x65, 0x74, 0x72, 0x79,
- 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
+ 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x65, 0x6c,
+ 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x12, 0x14, 0x0a,
+ 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f,
+ 0x72, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76,
+ 0x65, 0x22, 0x1c, 0x0a, 0x1a, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
+ 0x9b, 0x01, 0x0a, 0x16, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x43,
+ 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f,
+ 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x68, 0x61, 0x72,
+ 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72,
+ 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12,
+ 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x22, 0x19, 0x0a,
+ 0x17, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x43, 0x65, 0x6c, 0x6c,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x0a, 0x15, 0x52, 0x65, 0x70, 0x61,
+ 0x72, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x12, 0x2d, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x22, 0x7b, 0x0a, 0x16, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x2f, 0x0a, 0x07,
+ 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
+ 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41,
+ 0x6c, 0x69, 0x61, 0x73, 0x52, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x22, 0x8f, 0x04,
+ 0x0a, 0x14, 0x52, 0x65, 0x73, 0x68, 0x61, 0x72, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c,
+ 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c,
+ 0x6f, 0x77, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x23,
+ 0x0a, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18,
+ 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61,
+ 0x72, 0x64, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x68,
+ 0x61, 0x72, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x61, 0x72, 0x67,
+ 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c,
+ 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x37,
+ 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x06,
+ 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x6c, 0x0a, 0x1b, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x66,
+ 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x74,
+ 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x19, 0x74, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65,
+ 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x73, 0x63,
+ 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0e, 0x73, 0x6b, 0x69, 0x70, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x43, 0x6f, 0x70, 0x79, 0x12,
+ 0x15, 0x0a, 0x06, 0x6f, 0x6e, 0x5f, 0x64, 0x64, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x05, 0x6f, 0x6e, 0x44, 0x64, 0x6c, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x61,
+ 0x66, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0d, 0x73, 0x74, 0x6f, 0x70, 0x41, 0x66, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x70, 0x79, 0x12, 0x30,
+ 0x0a, 0x14, 0x64, 0x65, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72,
+ 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x64, 0x65,
+ 0x66, 0x65, 0x72, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x73,
+ 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x0c,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x22,
+ 0x82, 0x02, 0x0a, 0x18, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x42,
+ 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c,
+ 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61,
+ 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x2d, 0x0a, 0x0b, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70,
+ 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74,
+ 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x0a, 0x62, 0x61, 0x63, 0x6b, 0x75,
+ 0x70, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65,
+ 0x5f, 0x74, 0x6f, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72,
+ 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x6f, 0x50, 0x6f, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x64,
+ 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x72,
+ 0x79, 0x52, 0x75, 0x6e, 0x12, 0x3e, 0x0a, 0x14, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f,
+ 0x74, 0x6f, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65,
+ 0x52, 0x12, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x73,
+ 0x74, 0x61, 0x6d, 0x70, 0x22, 0xad, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65,
+ 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69,
+ 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52,
+ 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1a, 0x0a, 0x08,
+ 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
+ 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72,
+ 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x24,
+ 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e,
+ 0x6c, 0x6f, 0x67, 0x75, 0x74, 0x69, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x65,
+ 0x76, 0x65, 0x6e, 0x74, 0x22, 0x4d, 0x0a, 0x1b, 0x52, 0x65, 0x74, 0x72, 0x79, 0x53, 0x63, 0x68,
+ 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12,
+ 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75,
+ 0x75, 0x69, 0x64, 0x22, 0xdd, 0x01, 0x0a, 0x1c, 0x52, 0x65, 0x74, 0x72, 0x79, 0x53, 0x63, 0x68,
+ 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x16, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x61, 0x66, 0x66,
+ 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x6f,
+ 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72,
+ 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x72, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65,
+ 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x1a, 0x46, 0x0a, 0x18, 0x52,
+ 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61,
+ 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
+ 0x02, 0x38, 0x01, 0x22, 0x51, 0x0a, 0x15, 0x52, 0x75, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68,
+ 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c,
+ 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61,
+ 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x18, 0x0a, 0x16, 0x52, 0x75, 0x6e, 0x48, 0x65, 0x61,
+ 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x6d, 0x0a, 0x22, 0x53, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x44,
+ 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0xdd, 0x01, 0x0a, 0x1c, 0x52, 0x65, 0x74, 0x72, 0x79,
- 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x16, 0x72, 0x6f, 0x77, 0x73, 0x5f,
- 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72,
- 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4d,
- 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x2e, 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53,
- 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x72, 0x6f, 0x77, 0x73, 0x41,
- 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x1a, 0x46,
- 0x0a, 0x18, 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x79,
- 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
- 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
- 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c,
- 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x51, 0x0a, 0x15, 0x52, 0x75, 0x6e, 0x48, 0x65, 0x61,
- 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
- 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x18, 0x0a, 0x16, 0x52, 0x75, 0x6e,
- 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x22, 0x6d, 0x0a, 0x22, 0x53, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x44, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69,
- 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c,
- 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x10, 0x64, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69,
- 0x63, 0x79, 0x22, 0x55, 0x0a, 0x23, 0x53, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
- 0x65, 0x44, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63,
- 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x6b, 0x65, 0x79,
+ 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79,
+ 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x64,
+ 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22,
+ 0x55, 0x0a, 0x23, 0x53, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x44, 0x75,
+ 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
+ 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x08, 0x6b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x5e, 0x0a, 0x1e, 0x53, 0x65, 0x74, 0x4b, 0x65, 0x79,
+ 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73,
+ 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73,
+ 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03,
+ 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x22, 0x51, 0x0a, 0x1f, 0x53, 0x65, 0x74, 0x4b, 0x65, 0x79,
+ 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x6b, 0x65, 0x79,
0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f,
0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52,
- 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x5e, 0x0a, 0x1e, 0x53, 0x65, 0x74,
- 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67,
- 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b,
- 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b,
- 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65,
- 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x4a, 0x04, 0x08,
- 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x22, 0x51, 0x0a, 0x1f, 0x53, 0x65, 0x74,
- 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67,
- 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x08,
- 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12,
- 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x72, 0x0a, 0x1f,
- 0x53, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x73, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72,
- 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
- 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73,
- 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72,
- 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x18,
- 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67,
- 0x22, 0x49, 0x0a, 0x20, 0x53, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x73, 0x50, 0x72,
- 0x69, 0x6d, 0x61, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53,
- 0x68, 0x61, 0x72, 0x64, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0x8e, 0x02, 0x0a, 0x1c,
- 0x53, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x43, 0x6f,
- 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08,
+ 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x72, 0x0a, 0x1f, 0x53, 0x65, 0x74,
+ 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x73, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x53, 0x65,
+ 0x72, 0x76, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08,
0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72,
- 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x35,
- 0x0a, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20,
- 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54,
- 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x04,
- 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x64,
- 0x65, 0x6e, 0x69, 0x65, 0x64, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03,
- 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73,
- 0x12, 0x32, 0x0a, 0x15, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x72,
- 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52,
- 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72,
- 0x76, 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x07,
- 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x22, 0x46, 0x0a, 0x1d,
- 0x53, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x43, 0x6f,
- 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a,
- 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x74,
- 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x05, 0x73,
- 0x68, 0x61, 0x72, 0x64, 0x22, 0x6a, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x57, 0x72, 0x69, 0x74, 0x61,
- 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c,
- 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41,
- 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x72, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x77, 0x72, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65,
- 0x22, 0x15, 0x0a, 0x13, 0x53, 0x65, 0x74, 0x57, 0x72, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, 0x01, 0x0a, 0x1a, 0x53, 0x68, 0x61, 0x72,
- 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c,
- 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15,
- 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69,
- 0x61, 0x73, 0x22, 0x1d, 0x0a, 0x1b, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69,
- 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x22, 0x62, 0x0a, 0x1a, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
- 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73,
- 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72,
- 0x64, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x22, 0x54, 0x0a, 0x1b, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65,
- 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x78, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53,
- 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45,
- 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x54, 0x0a, 0x20, 0x53,
+ 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x22, 0x49, 0x0a,
+ 0x20, 0x53, 0x65, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x73, 0x50, 0x72, 0x69, 0x6d, 0x61,
+ 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x12, 0x25, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x0f, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72,
+ 0x64, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0x8e, 0x02, 0x0a, 0x1c, 0x53, 0x65, 0x74,
+ 0x53, 0x68, 0x61, 0x72, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72,
+ 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79,
+ 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79,
+ 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x35, 0x0a, 0x0b, 0x74,
+ 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e,
+ 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79,
+ 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28,
+ 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x6e, 0x69,
+ 0x65, 0x64, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52,
+ 0x0c, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x32, 0x0a,
+ 0x15, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73,
+ 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x64, 0x69,
+ 0x73, 0x61, 0x62, 0x6c, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
+ 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x22, 0x46, 0x0a, 0x1d, 0x53, 0x65, 0x74,
+ 0x53, 0x68, 0x61, 0x72, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72,
+ 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x73, 0x68,
+ 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x74, 0x6f, 0x70, 0x6f,
+ 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72,
+ 0x64, 0x22, 0x6a, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x57, 0x72, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
+ 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41,
+ 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61,
+ 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x72, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x08, 0x77, 0x72, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x15, 0x0a,
+ 0x13, 0x53, 0x65, 0x74, 0x57, 0x72, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, 0x01, 0x0a, 0x1a, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65,
+ 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12,
+ 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
+ 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f,
+ 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f,
+ 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69,
+ 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22,
+ 0x1d, 0x0a, 0x1b, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x62,
+ 0x0a, 0x1a, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x46, 0x69, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08,
+ 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
+ 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72,
+ 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x12,
+ 0x0a, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x65,
+ 0x6c, 0x6c, 0x22, 0x54, 0x0a, 0x1b, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69,
+ 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x12, 0x35, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x1f, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72,
+ 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f,
+ 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x54, 0x0a, 0x20, 0x53, 0x68, 0x61, 0x72,
+ 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x73, 0x69,
+ 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08,
+ 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
+ 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72,
+ 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0xaa,
+ 0x03, 0x0a, 0x21, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, 0x14, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53,
0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50,
- 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
- 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73,
- 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72,
- 0x64, 0x22, 0xaa, 0x03, 0x0a, 0x21, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69,
- 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, 0x14, 0x72, 0x65, 0x70, 0x6c, 0x69,
- 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18,
- 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53,
- 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x72, 0x65,
+ 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74,
+ 0x75, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x72, 0x65, 0x70, 0x6c, 0x69,
+ 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x5a,
+ 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x02, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53,
+ 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50,
+ 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
+ 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x4d, 0x61, 0x70, 0x1a, 0x5f, 0x0a, 0x18, 0x52, 0x65,
0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65,
- 0x73, 0x12, 0x5a, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x18,
- 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74,
- 0x72, 0x79, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x4d, 0x61, 0x70, 0x1a, 0x5f, 0x0a,
- 0x18, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74,
- 0x75, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x05, 0x76,
- 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x72, 0x65, 0x70,
- 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x61,
- 0x74, 0x75, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4e,
- 0x0a, 0x0e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79,
- 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
- 0x65, 0x79, 0x12, 0x26, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x10, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62,
- 0x6c, 0x65, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8b,
- 0x01, 0x0a, 0x1d, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05,
- 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61,
- 0x72, 0x64, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69,
- 0x61, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52,
- 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x20, 0x0a, 0x1e,
+ 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
+ 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4e, 0x0a, 0x0e, 0x54,
+ 0x61, 0x62, 0x6c, 0x65, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
+ 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
+ 0x26, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10,
+ 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8b, 0x01, 0x0a, 0x1d,
0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7c,
- 0x0a, 0x12, 0x53, 0x6c, 0x65, 0x65, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61,
- 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70,
- 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61,
- 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x2c,
- 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x15, 0x0a, 0x13,
- 0x53, 0x6c, 0x65, 0x65, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x22, 0xf0, 0x01, 0x0a, 0x15, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68,
- 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a,
+ 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a,
0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61,
0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12,
- 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x75, 0x69,
- 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73,
- 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72,
- 0x63, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6f,
- 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x2f, 0x0a,
- 0x09, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x52,
- 0x61, 0x6e, 0x67, 0x65, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x16,
- 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06,
- 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, 0x3f, 0x0a, 0x16, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
- 0x53, 0x68, 0x61, 0x72, 0x64, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x12, 0x25, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x0f, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64,
- 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0x5e, 0x0a, 0x18, 0x53, 0x6f, 0x75, 0x72, 0x63,
- 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18,
+ 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61,
+ 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x20, 0x0a, 0x1e, 0x53, 0x68, 0x61,
+ 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6d,
+ 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7c, 0x0a, 0x12, 0x53,
+ 0x6c, 0x65, 0x65, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61,
+ 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b,
+ 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x2c, 0x0a, 0x08, 0x64,
+ 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e,
+ 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
+ 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x6c, 0x65,
+ 0x65, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0xf0, 0x01, 0x0a, 0x15, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64,
+ 0x41, 0x64, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x10, 0x0a, 0x03,
+ 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x27,
+ 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4b,
+ 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x2f, 0x0a, 0x09, 0x6b, 0x65,
+ 0x79, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e,
+ 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x61, 0x6e, 0x67,
+ 0x65, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74,
+ 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x62,
+ 0x6c, 0x65, 0x73, 0x22, 0x3f, 0x0a, 0x16, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61,
+ 0x72, 0x64, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a,
+ 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x74,
+ 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x05, 0x73,
+ 0x68, 0x61, 0x72, 0x64, 0x22, 0x5e, 0x0a, 0x18, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68,
+ 0x61, 0x72, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05,
+ 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61,
+ 0x72, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x03, 0x75, 0x69, 0x64, 0x22, 0x42, 0x0a, 0x19, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68,
+ 0x61, 0x72, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x12, 0x25, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x0f, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72,
+ 0x64, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0x53, 0x0a, 0x17, 0x53, 0x74, 0x61, 0x72,
+ 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c,
+ 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f,
+ 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73,
+ 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x1a, 0x0a,
+ 0x18, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, 0x0a, 0x16, 0x53, 0x74, 0x6f,
+ 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c,
+ 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f,
+ 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73,
+ 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x19, 0x0a,
+ 0x17, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, 0x0a, 0x21, 0x54, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x61,
+ 0x72, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a,
+ 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
+ 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41,
+ 0x6c, 0x69, 0x61, 0x73, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x22, 0xc6, 0x01, 0x0a,
+ 0x22, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x6c,
+ 0x79, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12,
0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
- 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
- 0x28, 0x05, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x42, 0x0a, 0x19, 0x53, 0x6f, 0x75, 0x72, 0x63,
- 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53,
- 0x68, 0x61, 0x72, 0x64, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0x53, 0x0a, 0x17, 0x53,
- 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74,
- 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c,
- 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73,
- 0x22, 0x1a, 0x0a, 0x18, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, 0x0a, 0x16,
- 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74,
- 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c,
- 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73,
- 0x22, 0x19, 0x0a, 0x17, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, 0x0a, 0x21, 0x54,
- 0x61, 0x62, 0x6c, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x52,
- 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x12, 0x2d, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c,
- 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x22,
- 0xc6, 0x01, 0x0a, 0x22, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e,
- 0x61, 0x6c, 0x6c, 0x79, 0x52, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x36, 0x0a, 0x0b, 0x6e, 0x65, 0x77, 0x5f,
- 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
- 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41,
- 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0a, 0x6e, 0x65, 0x77, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79,
- 0x12, 0x36, 0x0a, 0x0b, 0x6f, 0x6c, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18,
- 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0a, 0x6f, 0x6c,
- 0x64, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x22, 0x5c, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61,
- 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
- 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x63, 0x65, 0x6c, 0x6c, 0x5f, 0x69, 0x6e,
- 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x63, 0x65,
- 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x5d, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
- 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
- 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x63, 0x65, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x66,
- 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x63, 0x65, 0x6c,
- 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x64, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43,
- 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
- 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x0b, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x5f, 0x61, 0x6c,
- 0x69, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52,
- 0x0a, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x65, 0x0a, 0x18, 0x55,
- 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x0b, 0x63,
- 0x65, 0x6c, 0x6c, 0x73, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x65, 0x6c, 0x6c,
- 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0a, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69,
- 0x61, 0x73, 0x22, 0x34, 0x0a, 0x0f, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, 0x69, 0x6e,
- 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x22, 0xfb, 0x01, 0x0a, 0x10, 0x56, 0x61, 0x6c,
- 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a,
- 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07,
- 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x62, 0x0a, 0x13, 0x72, 0x65, 0x73, 0x75, 0x6c,
- 0x74, 0x73, 0x5f, 0x62, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02,
- 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
- 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x70,
- 0x61, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
- 0x73, 0x42, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x1a, 0x69, 0x0a, 0x16, 0x52,
+ 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x36, 0x0a, 0x0b, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x72, 0x69,
+ 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70,
+ 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61,
+ 0x73, 0x52, 0x0a, 0x6e, 0x65, 0x77, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x36, 0x0a,
+ 0x0b, 0x6f, 0x6c, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61,
+ 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0a, 0x6f, 0x6c, 0x64, 0x50, 0x72,
+ 0x69, 0x6d, 0x61, 0x72, 0x79, 0x22, 0x5c, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43,
+ 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12,
+ 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
+ 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x63, 0x65, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x63, 0x65, 0x6c, 0x6c, 0x49,
+ 0x6e, 0x66, 0x6f, 0x22, 0x5d, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x65, 0x6c,
+ 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a,
+ 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
+ 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x63, 0x65, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x63, 0x65, 0x6c, 0x6c, 0x49, 0x6e,
+ 0x66, 0x6f, 0x22, 0x64, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c,
+ 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a,
+ 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
+ 0x65, 0x12, 0x35, 0x0a, 0x0b, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74,
+ 0x61, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0a, 0x63, 0x65,
+ 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x65, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61,
+ 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x0b, 0x63, 0x65, 0x6c, 0x6c,
+ 0x73, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e,
+ 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c,
+ 0x69, 0x61, 0x73, 0x52, 0x0a, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22,
+ 0x34, 0x0a, 0x0f, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, 0x69, 0x6e, 0x67, 0x54, 0x61,
+ 0x62, 0x6c, 0x65, 0x74, 0x73, 0x22, 0xfb, 0x01, 0x0a, 0x10, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61,
+ 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
+ 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x73,
+ 0x75, 0x6c, 0x74, 0x73, 0x12, 0x62, 0x0a, 0x13, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x5f,
+ 0x62, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x32, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61,
+ 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52,
0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
- 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x39, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70,
- 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c,
- 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x58, 0x0a, 0x17, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61,
- 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
- 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x21, 0x0a,
- 0x0c, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73,
- 0x22, 0xfc, 0x01, 0x0a, 0x18, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a,
- 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07,
- 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x61, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x75, 0x6c,
- 0x74, 0x73, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28,
- 0x0b, 0x32, 0x37, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61,
- 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79,
- 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x75,
- 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x1a, 0x63, 0x0a, 0x13, 0x52, 0x65,
- 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72,
- 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
- 0x6b, 0x65, 0x79, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56,
- 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22,
- 0xd8, 0x01, 0x0a, 0x1d, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65,
- 0x6d, 0x61, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
- 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x25, 0x0a,
- 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18,
- 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x61,
- 0x62, 0x6c, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f,
- 0x76, 0x69, 0x65, 0x77, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x6e, 0x63,
- 0x6c, 0x75, 0x64, 0x65, 0x56, 0x69, 0x65, 0x77, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x6b, 0x69,
- 0x70, 0x5f, 0x6e, 0x6f, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01,
- 0x28, 0x08, 0x52, 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x4e, 0x6f, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72,
- 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x76, 0x73, 0x63,
- 0x68, 0x65, 0x6d, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x6e, 0x63, 0x6c,
- 0x75, 0x64, 0x65, 0x56, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x88, 0x02, 0x0a, 0x1e, 0x56,
- 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4b, 0x65, 0x79,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a,
- 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07,
- 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x67, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x75, 0x6c,
- 0x74, 0x73, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28,
- 0x0b, 0x32, 0x3d, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61,
- 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4b, 0x65, 0x79, 0x73,
- 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73,
- 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79,
- 0x52, 0x0e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64,
- 0x1a, 0x63, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61,
- 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c,
- 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
- 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61,
- 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
- 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6b, 0x0a, 0x14, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
- 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a,
- 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61,
- 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12,
- 0x21, 0x0a, 0x0c, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x18,
- 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x73, 0x22, 0x31, 0x0a, 0x15, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68,
- 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72,
- 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65,
- 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x3c, 0x0a, 0x1e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
- 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70,
- 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70,
- 0x61, 0x63, 0x65, 0x22, 0x8a, 0x02, 0x0a, 0x1f, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65,
- 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c,
- 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
- 0x73, 0x12, 0x68, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x5f, 0x62, 0x79, 0x5f,
- 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x76, 0x74,
- 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65,
- 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79,
+ 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x1a, 0x69, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x75,
+ 0x6c, 0x74, 0x73, 0x42, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x03, 0x6b, 0x65, 0x79, 0x12, 0x39, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
+ 0x02, 0x38, 0x01, 0x22, 0x58, 0x0a, 0x17, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4b,
+ 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a,
+ 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x69,
+ 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x0b, 0x70, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x22, 0xfc, 0x01,
+ 0x0a, 0x18, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61,
+ 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
+ 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x73,
+ 0x75, 0x6c, 0x74, 0x73, 0x12, 0x61, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x5f,
+ 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37,
+ 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64,
+ 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61,
+ 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,
+ 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x1a, 0x63, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x75, 0x6c,
+ 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
+ 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
+ 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69,
+ 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd8, 0x01, 0x0a,
+ 0x1d, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4b,
+ 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a,
+ 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78,
+ 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03,
+ 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65,
+ 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x76, 0x69, 0x65,
+ 0x77, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64,
+ 0x65, 0x56, 0x69, 0x65, 0x77, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x6e,
+ 0x6f, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x4e, 0x6f, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x27,
+ 0x0a, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d,
+ 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65,
+ 0x56, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x88, 0x02, 0x0a, 0x1e, 0x56, 0x61, 0x6c, 0x69,
+ 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61,
+ 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
+ 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x73,
+ 0x75, 0x6c, 0x74, 0x73, 0x12, 0x67, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x5f,
+ 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d,
+ 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64,
+ 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
+ 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x72,
+ 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x1a, 0x63, 0x0a,
+ 0x13, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
+ 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
+ 0x38, 0x01, 0x22, 0x6b, 0x0a, 0x14, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68,
+ 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65,
+ 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x21, 0x0a, 0x0c,
+ 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x0b, 0x70, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x73, 0x22,
+ 0x31, 0x0a, 0x15, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75,
+ 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c,
+ 0x74, 0x73, 0x22, 0x3c, 0x0a, 0x1e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65,
+ 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x22, 0x8a, 0x02, 0x0a, 0x1f, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72,
+ 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18,
+ 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x68,
+ 0x0a, 0x10, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61,
+ 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c,
+ 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72,
+ 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68,
+ 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
+ 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x1a, 0x63, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x75,
+ 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
+ 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
+ 0x79, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c,
+ 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4f, 0x0a,
+ 0x1b, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
+ 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08,
+ 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
+ 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72,
+ 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0x38,
+ 0x0a, 0x1c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
+ 0x6e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18,
+ 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52,
+ 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x98, 0x01, 0x0a, 0x16, 0x56, 0x61, 0x6c,
+ 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12,
+ 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52,
+ 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75,
+ 0x64, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52,
+ 0x0d, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x23,
+ 0x0a, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x73, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x56, 0x69,
+ 0x65, 0x77, 0x73, 0x22, 0xfa, 0x01, 0x0a, 0x17, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65,
+ 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09,
+ 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x60, 0x0a, 0x10, 0x72, 0x65, 0x73,
+ 0x75, 0x6c, 0x74, 0x73, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42,
0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x72, 0x65, 0x73,
0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x1a, 0x63, 0x0a, 0x13, 0x52,
@@ -18722,340 +18769,306 @@ var file_vtctldata_proto_rawDesc = []byte{
0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e,
0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
- 0x22, 0x4f, 0x0a, 0x1b, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73,
- 0x69, 0x6f, 0x6e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
- 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73,
- 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72,
- 0x64, 0x22, 0x38, 0x0a, 0x1c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72,
- 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03,
- 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x98, 0x01, 0x0a, 0x16,
- 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03,
- 0x28, 0x09, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78,
- 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03,
- 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65,
- 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x76, 0x69, 0x65,
- 0x77, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64,
- 0x65, 0x56, 0x69, 0x65, 0x77, 0x73, 0x22, 0xfa, 0x01, 0x0a, 0x17, 0x56, 0x61, 0x6c, 0x69, 0x64,
- 0x61, 0x74, 0x65, 0x56, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20,
- 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x60, 0x0a, 0x10,
- 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64,
- 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x56, 0x53, 0x63, 0x68, 0x65,
- 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c,
- 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e,
- 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64, 0x1a, 0x63,
- 0x0a, 0x13, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x53, 0x68, 0x61, 0x72, 0x64,
- 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
- 0x02, 0x38, 0x01, 0x22, 0x88, 0x07, 0x0a, 0x12, 0x56, 0x44, 0x69, 0x66, 0x66, 0x43, 0x72, 0x65,
- 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f,
- 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f,
- 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
- 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12,
- 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75,
- 0x75, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x65,
- 0x6c, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63,
- 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
- 0x5f, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x61,
- 0x72, 0x67, 0x65, 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x37, 0x0a, 0x0c, 0x74, 0x61, 0x62,
- 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0e, 0x32,
- 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70,
- 0x65, 0x73, 0x12, 0x6c, 0x0a, 0x1b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x6c,
- 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63,
- 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
- 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c,
- 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65,
- 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x19, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c,
- 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
- 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09,
- 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69,
- 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x55,
- 0x0a, 0x1e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69,
- 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65,
- 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e,
- 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1b, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72,
- 0x65, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x69,
- 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x71,
- 0x75, 0x65, 0x72, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, 0x62, 0x75,
- 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x09, 0x6f, 0x6e, 0x6c, 0x79, 0x5f, 0x70,
- 0x5f, 0x6b, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6f, 0x6e, 0x6c, 0x79, 0x50,
- 0x4b, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x62,
- 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10,
- 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73,
- 0x12, 0x38, 0x0a, 0x19, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x72, 0x6f,
- 0x77, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x18, 0x0e, 0x20,
- 0x01, 0x28, 0x03, 0x52, 0x15, 0x6d, 0x61, 0x78, 0x45, 0x78, 0x74, 0x72, 0x61, 0x52, 0x6f, 0x77,
- 0x73, 0x54, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x61,
- 0x69, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x77, 0x61, 0x69, 0x74, 0x12, 0x42,
- 0x0a, 0x14, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e,
- 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76,
- 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12,
- 0x77, 0x61, 0x69, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76,
- 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x79,
- 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x74, 0x72,
- 0x79, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x18, 0x12, 0x20, 0x01,
- 0x28, 0x08, 0x52, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x6d,
- 0x61, 0x78, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65,
- 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x6d, 0x61, 0x78,
- 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x6f, 0x77, 0x73,
- 0x12, 0x3c, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x5f, 0x64, 0x75, 0x72,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74,
- 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x6d,
- 0x61, 0x78, 0x44, 0x69, 0x66, 0x66, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x29,
- 0x0a, 0x13, 0x56, 0x44, 0x69, 0x66, 0x66, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x55, 0x55, 0x49, 0x44, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x04, 0x55, 0x55, 0x49, 0x44, 0x22, 0x6b, 0x0a, 0x12, 0x56, 0x44, 0x69,
- 0x66, 0x66, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
- 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x27, 0x0a, 0x0f, 0x74,
- 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73,
- 0x70, 0x61, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x03, 0x61, 0x72, 0x67, 0x22, 0x15, 0x0a, 0x13, 0x56, 0x44, 0x69, 0x66, 0x66, 0x44,
- 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6d, 0x0a,
- 0x12, 0x56, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12,
- 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
- 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64,
- 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x15, 0x0a, 0x13,
- 0x56, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x22, 0x69, 0x0a, 0x10, 0x56, 0x44, 0x69, 0x66, 0x66, 0x53, 0x68, 0x6f, 0x77,
+ 0x22, 0x88, 0x07, 0x0a, 0x12, 0x56, 0x44, 0x69, 0x66, 0x66, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66,
0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66,
0x6c, 0x6f, 0x77, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6b, 0x65,
0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61,
- 0x72, 0x67, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03,
- 0x61, 0x72, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x61, 0x72, 0x67, 0x22, 0xd7,
- 0x01, 0x0a, 0x11, 0x56, 0x44, 0x69, 0x66, 0x66, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x10, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x72,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31,
- 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x44, 0x69, 0x66, 0x66,
- 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61, 0x62,
- 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72,
- 0x79, 0x52, 0x0f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x73, 0x1a, 0x64, 0x0a, 0x14, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
- 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x36, 0x0a, 0x05,
- 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x74, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e,
- 0x56, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x76,
- 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6b, 0x0a, 0x10, 0x56, 0x44, 0x69, 0x66,
- 0x66, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08,
+ 0x72, 0x67, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04,
+ 0x75, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64,
+ 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x65, 0x6c, 0x6c, 0x73,
+ 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x65,
+ 0x6c, 0x6c, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x65,
+ 0x6c, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65,
+ 0x74, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x37, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74,
+ 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79,
+ 0x70, 0x65, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12,
+ 0x6c, 0x0a, 0x1b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74,
+ 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x07,
+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e,
+ 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53,
+ 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e,
+ 0x63, 0x65, 0x52, 0x19, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74,
+ 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x16, 0x0a,
+ 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x74,
+ 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x09,
+ 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x55, 0x0a, 0x1e, 0x66,
+ 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x5f, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1b, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x52,
+ 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x69, 0x74, 0x54, 0x69,
+ 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72,
+ 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, 0x62, 0x75, 0x67, 0x51, 0x75,
+ 0x65, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x09, 0x6f, 0x6e, 0x6c, 0x79, 0x5f, 0x70, 0x5f, 0x6b, 0x73,
+ 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6f, 0x6e, 0x6c, 0x79, 0x50, 0x4b, 0x73, 0x12,
+ 0x2c, 0x0a, 0x12, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f,
+ 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x75, 0x70, 0x64,
+ 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x38, 0x0a,
+ 0x19, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x5f,
+ 0x74, 0x6f, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03,
+ 0x52, 0x15, 0x6d, 0x61, 0x78, 0x45, 0x78, 0x74, 0x72, 0x61, 0x52, 0x6f, 0x77, 0x73, 0x54, 0x6f,
+ 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x61, 0x69, 0x74, 0x18,
+ 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x77, 0x61, 0x69, 0x74, 0x12, 0x42, 0x0a, 0x14, 0x77,
+ 0x61, 0x69, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72,
+ 0x76, 0x61, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69,
+ 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x77, 0x61, 0x69,
+ 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x18, 0x11, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x74, 0x72, 0x79, 0x12, 0x18,
+ 0x0a, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x6d, 0x61, 0x78, 0x5f,
+ 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x72, 0x6f,
+ 0x77, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x70,
+ 0x6f, 0x72, 0x74, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x3c, 0x0a,
+ 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d,
+ 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x44,
+ 0x69, 0x66, 0x66, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x29, 0x0a, 0x13, 0x56,
+ 0x44, 0x69, 0x66, 0x66, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x55, 0x55, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x04, 0x55, 0x55, 0x49, 0x44, 0x22, 0x6b, 0x0a, 0x12, 0x56, 0x44, 0x69, 0x66, 0x66, 0x44,
+ 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08,
0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67,
0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
- 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x13, 0x0a, 0x11, 0x56, 0x44, 0x69, 0x66, 0x66, 0x53, 0x74,
- 0x6f, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb2, 0x01, 0x0a, 0x15, 0x57,
- 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
- 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x1b, 0x0a, 0x09,
- 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52,
- 0x08, 0x6b, 0x65, 0x65, 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x12, 0x6b, 0x65, 0x65,
- 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18,
- 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x6b, 0x65, 0x65, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x69,
- 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64,
- 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x22,
- 0xd1, 0x01, 0x0a, 0x16, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x44, 0x65, 0x6c, 0x65,
- 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75,
- 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d,
- 0x6d, 0x61, 0x72, 0x79, 0x12, 0x46, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18,
- 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
- 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x49,
- 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x55, 0x0a, 0x0a,
- 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2d, 0x0a, 0x06, 0x74, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70,
- 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61,
- 0x73, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x6c,
- 0x65, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x6c, 0x65,
- 0x74, 0x65, 0x64, 0x22, 0x67, 0x0a, 0x15, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53,
- 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08,
- 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
- 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b,
- 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b,
- 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x03,
- 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x22, 0xe6, 0x07, 0x0a,
- 0x16, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x10, 0x74, 0x61, 0x62, 0x6c, 0x65,
- 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28,
- 0x0b, 0x32, 0x35, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f,
+ 0x65, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
+ 0x61, 0x72, 0x67, 0x22, 0x15, 0x0a, 0x13, 0x56, 0x44, 0x69, 0x66, 0x66, 0x44, 0x65, 0x6c, 0x65,
+ 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6d, 0x0a, 0x12, 0x56, 0x44,
+ 0x69, 0x66, 0x66, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x27, 0x0a, 0x0f,
+ 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4b, 0x65, 0x79,
+ 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x15, 0x0a, 0x13, 0x56, 0x44, 0x69,
+ 0x66, 0x66, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x69, 0x0a, 0x10, 0x56, 0x44, 0x69, 0x66, 0x66, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
+ 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65,
+ 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x72, 0x67,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x61, 0x72, 0x67, 0x22, 0xd7, 0x01, 0x0a, 0x11,
+ 0x56, 0x44, 0x69, 0x66, 0x66, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x12, 0x5c, 0x0a, 0x10, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x76, 0x74,
+ 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x44, 0x69, 0x66, 0x66, 0x53, 0x68, 0x6f,
+ 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f,
+ 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x1a,
+ 0x64, 0x0a, 0x14, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x44, 0x69,
+ 0x66, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6b, 0x0a, 0x10, 0x56, 0x44, 0x69, 0x66, 0x66, 0x53, 0x74,
+ 0x6f, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72,
+ 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72,
+ 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f,
+ 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e,
+ 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12,
+ 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75,
+ 0x69, 0x64, 0x22, 0x13, 0x0a, 0x11, 0x56, 0x44, 0x69, 0x66, 0x66, 0x53, 0x74, 0x6f, 0x70, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb2, 0x01, 0x0a, 0x15, 0x57, 0x6f, 0x72, 0x6b,
+ 0x66, 0x6c, 0x6f, 0x77, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a,
+ 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x1b, 0x0a, 0x09, 0x6b, 0x65, 0x65,
+ 0x70, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6b, 0x65,
+ 0x65, 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x12, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x72,
+ 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x10, 0x6b, 0x65, 0x65, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52,
+ 0x75, 0x6c, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x05,
+ 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x22, 0xd1, 0x01, 0x0a,
+ 0x16, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61,
+ 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72,
+ 0x79, 0x12, 0x46, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57,
+ 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f,
+ 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x55, 0x0a, 0x0a, 0x54, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2d, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x06,
+ 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65,
+ 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64,
+ 0x22, 0x67, 0x0a, 0x15, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74,
+ 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79,
+ 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79,
+ 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
+ 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
+ 0x77, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
+ 0x09, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x22, 0xe6, 0x07, 0x0a, 0x16, 0x57, 0x6f,
0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74,
- 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x43,
- 0x6f, 0x70, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x58, 0x0a, 0x0d, 0x73, 0x68, 0x61, 0x72,
- 0x64, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
- 0x33, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b,
+ 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x10, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f,
+ 0x70, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35,
+ 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66,
+ 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x70, 0x79,
+ 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x58, 0x0a, 0x0d, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x73,
+ 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x76,
+ 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
+ 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e,
+ 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72,
+ 0x79, 0x52, 0x0c, 0x73, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12,
+ 0x23, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53,
+ 0x74, 0x61, 0x74, 0x65, 0x1a, 0xe8, 0x01, 0x0a, 0x0e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f,
+ 0x70, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x6f, 0x77, 0x73, 0x5f,
+ 0x63, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x6f,
+ 0x77, 0x73, 0x43, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x6f, 0x77, 0x73,
+ 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, 0x6f,
+ 0x77, 0x73, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x6f, 0x77, 0x73, 0x5f,
+ 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02,
+ 0x52, 0x0e, 0x72, 0x6f, 0x77, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65,
+ 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x70, 0x69, 0x65, 0x64,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x62, 0x79, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x70,
+ 0x69, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x74,
+ 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x62, 0x79, 0x74, 0x65, 0x73, 0x54,
+ 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x70, 0x65,
+ 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f,
+ 0x62, 0x79, 0x74, 0x65, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x1a,
+ 0xbc, 0x01, 0x0a, 0x10, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53,
+ 0x74, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x02, 0x69, 0x64, 0x12, 0x2d, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e,
+ 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x06, 0x74, 0x61, 0x62,
+ 0x6c, 0x65, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x68,
+ 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x6e,
+ 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x1a, 0x5c,
+ 0x0a, 0x0c, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x4c,
+ 0x0a, 0x07, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x32, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b,
0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x45,
- 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x73, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61,
- 0x6d, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x73, 0x74,
- 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x66, 0x66,
- 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x65, 0x1a, 0xe8, 0x01, 0x0a, 0x0e, 0x54, 0x61, 0x62, 0x6c,
- 0x65, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x6f,
- 0x77, 0x73, 0x5f, 0x63, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
- 0x0a, 0x72, 0x6f, 0x77, 0x73, 0x43, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72,
- 0x6f, 0x77, 0x73, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
- 0x09, 0x72, 0x6f, 0x77, 0x73, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x6f,
- 0x77, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20,
- 0x01, 0x28, 0x02, 0x52, 0x0e, 0x72, 0x6f, 0x77, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74,
- 0x61, 0x67, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x70,
- 0x69, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x62, 0x79, 0x74, 0x65, 0x73,
- 0x43, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f,
- 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x62, 0x79, 0x74,
- 0x65, 0x73, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x62, 0x79, 0x74, 0x65, 0x73,
- 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
- 0x02, 0x52, 0x0f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61,
- 0x67, 0x65, 0x1a, 0xbc, 0x01, 0x0a, 0x10, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65,
- 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2d, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61,
- 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x06,
- 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
- 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x6f,
- 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73,
- 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x73,
- 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18,
- 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a,
- 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6e, 0x66,
- 0x6f, 0x1a, 0x5c, 0x0a, 0x0c, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d,
- 0x73, 0x12, 0x4c, 0x0a, 0x07, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03,
- 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57,
- 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61,
- 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x07, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x1a,
- 0x73, 0x0a, 0x13, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x61, 0x74,
- 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x46, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
- 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
+ 0x73, 0x65, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x74,
+ 0x61, 0x74, 0x65, 0x52, 0x07, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x1a, 0x73, 0x0a, 0x13,
+ 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x46, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x70,
+ 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
+ 0x01, 0x1a, 0x6f, 0x0a, 0x11, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d,
+ 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x44, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74,
- 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65,
- 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
- 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x6f, 0x0a, 0x11, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x74, 0x72,
- 0x65, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x44, 0x0a, 0x05, 0x76,
- 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x76, 0x74, 0x63,
- 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53,
- 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x68,
- 0x61, 0x72, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
- 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xef, 0x03, 0x0a, 0x1c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c,
- 0x6f, 0x77, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x14,
- 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63,
- 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x37, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74,
- 0x79, 0x70, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70,
- 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65,
- 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x4f, 0x0a,
- 0x1b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x5f, 0x6c, 0x61, 0x67, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x18, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x12, 0x3c,
- 0x0a, 0x1a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65,
- 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01,
- 0x28, 0x08, 0x52, 0x18, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73,
- 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09,
- 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52,
- 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x07, 0x74, 0x69,
- 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74,
- 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74,
- 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75,
- 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x12,
- 0x3e, 0x0a, 0x1b, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x5f, 0x74, 0x61,
- 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x0a,
- 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65,
- 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12,
- 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52,
- 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x22, 0xa7, 0x01, 0x0a, 0x1d, 0x57, 0x6f, 0x72, 0x6b,
- 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69,
- 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d,
- 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d,
- 0x61, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x73, 0x74, 0x61,
- 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x53,
- 0x74, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f,
- 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x75, 0x72,
- 0x72, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x64, 0x72, 0x79,
- 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03,
- 0x28, 0x09, 0x52, 0x0d, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
- 0x73, 0x22, 0x90, 0x01, 0x0a, 0x15, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x55, 0x70,
- 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b,
- 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b,
- 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x5b, 0x0a, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x34, 0x2e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64,
- 0x61, 0x74, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69,
- 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0d, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x22, 0xd1, 0x01, 0x0a, 0x16, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
- 0x77, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
- 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x46, 0x0a, 0x07, 0x64, 0x65, 0x74,
- 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x76, 0x74, 0x63,
- 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x55,
- 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61,
- 0x62, 0x6c, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c,
- 0x73, 0x1a, 0x55, 0x0a, 0x0a, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12,
- 0x2d, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x18,
- 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52,
- 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x22, 0x17, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4d,
- 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
- 0x74, 0x22, 0x51, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x75,
- 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0c, 0x6d,
- 0x69, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x4d, 0x69, 0x72, 0x72,
- 0x6f, 0x72, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x0b, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52,
- 0x75, 0x6c, 0x65, 0x73, 0x22, 0xa9, 0x01, 0x0a, 0x1c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
- 0x77, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
- 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
- 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x37, 0x0a,
- 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20,
- 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54,
- 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65,
- 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e,
- 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74,
- 0x22, 0x7f, 0x0a, 0x1d, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4d, 0x69, 0x72, 0x72,
- 0x6f, 0x72, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x73,
- 0x74, 0x61, 0x72, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d,
- 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74,
- 0x65, 0x2a, 0x4a, 0x0a, 0x15, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x55,
- 0x53, 0x54, 0x4f, 0x4d, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x4f, 0x56, 0x45, 0x54, 0x41,
- 0x42, 0x4c, 0x45, 0x53, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45,
- 0x4c, 0x4f, 0x4f, 0x4b, 0x55, 0x50, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x10, 0x02, 0x2a, 0x38, 0x0a,
- 0x0d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x08,
- 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x53, 0x43, 0x45,
- 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x53, 0x43, 0x45,
- 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x42, 0x28, 0x5a, 0x26, 0x76, 0x69, 0x74, 0x65, 0x73,
- 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x76,
- 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74,
- 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64,
+ 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
+ 0x38, 0x01, 0x22, 0xef, 0x03, 0x0a, 0x1c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x53,
+ 0x77, 0x69, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12,
+ 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x14, 0x0a, 0x05, 0x63,
+ 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c,
+ 0x73, 0x12, 0x37, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65,
+ 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61,
+ 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x74,
+ 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x1b, 0x6d, 0x61,
+ 0x78, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61,
+ 0x67, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x52, 0x18, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x4c, 0x61, 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x12, 0x3c, 0x0a, 0x1a, 0x65,
+ 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x5f, 0x72, 0x65,
+ 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x18, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x52, 0x65,
+ 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72,
+ 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x64, 0x69,
+ 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f,
+ 0x75, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x74, 0x74, 0x69, 0x6d,
+ 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65,
+ 0x6f, 0x75, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x09,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x12, 0x3e, 0x0a, 0x1b,
+ 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65,
+ 0x74, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x19, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x54, 0x61, 0x72,
+ 0x67, 0x65, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06,
+ 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x68,
+ 0x61, 0x72, 0x64, 0x73, 0x22, 0xa7, 0x01, 0x0a, 0x1d, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
+ 0x77, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72,
+ 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79,
+ 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74,
+ 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61,
+ 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e,
+ 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75,
+ 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52,
+ 0x0d, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x90,
+ 0x01, 0x0a, 0x15, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x55, 0x70, 0x64, 0x61, 0x74,
+ 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73,
+ 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73,
+ 0x70, 0x61, 0x63, 0x65, 0x12, 0x5b, 0x0a, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x72,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x74,
+ 0x61, 0x62, 0x6c, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61,
+ 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x52, 0x0d, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x22, 0xd1, 0x01, 0x0a, 0x16, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x55, 0x70,
+ 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07,
+ 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73,
+ 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x46, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c,
+ 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64,
+ 0x61, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x55, 0x70, 0x64, 0x61,
+ 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65,
+ 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x55,
+ 0x0a, 0x0a, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2d, 0x0a, 0x06,
+ 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74,
+ 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c,
+ 0x69, 0x61, 0x73, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63,
+ 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x68,
+ 0x61, 0x6e, 0x67, 0x65, 0x64, 0x22, 0x17, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72,
+ 0x6f, 0x72, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x51,
+ 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x75, 0x6c, 0x65, 0x73,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0c, 0x6d, 0x69, 0x72, 0x72,
+ 0x6f, 0x72, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14,
+ 0x2e, 0x76, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52,
+ 0x75, 0x6c, 0x65, 0x73, 0x52, 0x0b, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x75, 0x6c, 0x65,
+ 0x73, 0x22, 0xa9, 0x01, 0x0a, 0x1c, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4d, 0x69,
+ 0x72, 0x72, 0x6f, 0x72, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1a,
+ 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x37, 0x0a, 0x0c, 0x74, 0x61,
+ 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0e,
+ 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c,
+ 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79,
+ 0x70, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x22, 0x7f, 0x0a,
+ 0x1d, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x54,
+ 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18,
+ 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x72,
+ 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73,
+ 0x74, 0x61, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x75, 0x72,
+ 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2a, 0x4a,
+ 0x0a, 0x15, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x55, 0x53, 0x54, 0x4f,
+ 0x4d, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x4f, 0x56, 0x45, 0x54, 0x41, 0x42, 0x4c, 0x45,
+ 0x53, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x4c, 0x4f, 0x4f,
+ 0x4b, 0x55, 0x50, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x10, 0x02, 0x2a, 0x38, 0x0a, 0x0d, 0x51, 0x75,
+ 0x65, 0x72, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x08, 0x0a, 0x04, 0x4e,
+ 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x53, 0x43, 0x45, 0x4e, 0x44, 0x49,
+ 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x53, 0x43, 0x45, 0x4e, 0x44, 0x49,
+ 0x4e, 0x47, 0x10, 0x02, 0x42, 0x28, 0x5a, 0x26, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2e, 0x69,
+ 0x6f, 0x2f, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x74, 0x2f, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
diff --git a/go/vt/proto/vtctldata/vtctldata_vtproto.pb.go b/go/vt/proto/vtctldata/vtctldata_vtproto.pb.go
index 7e38623a907..9532622dc98 100644
--- a/go/vt/proto/vtctldata/vtctldata_vtproto.pb.go
+++ b/go/vt/proto/vtctldata/vtctldata_vtproto.pb.go
@@ -3484,6 +3484,7 @@ func (m *PlannedReparentShardRequest) CloneVT() *PlannedReparentShardRequest {
AvoidPrimary: m.AvoidPrimary.CloneVT(),
WaitReplicasTimeout: m.WaitReplicasTimeout.CloneVT(),
TolerableReplicationLag: m.TolerableReplicationLag.CloneVT(),
+ AllowCrossCellPromotion: m.AllowCrossCellPromotion,
}
if len(m.unknownFields) > 0 {
r.unknownFields = make([]byte, len(m.unknownFields))
@@ -15087,6 +15088,16 @@ func (m *PlannedReparentShardRequest) MarshalToSizedBufferVT(dAtA []byte) (int,
i -= len(m.unknownFields)
copy(dAtA[i:], m.unknownFields)
}
+ if m.AllowCrossCellPromotion {
+ i--
+ if m.AllowCrossCellPromotion {
+ dAtA[i] = 1
+ } else {
+ dAtA[i] = 0
+ }
+ i--
+ dAtA[i] = 0x38
+ }
if m.TolerableReplicationLag != nil {
size, err := m.TolerableReplicationLag.MarshalToSizedBufferVT(dAtA[:i])
if err != nil {
@@ -24414,6 +24425,9 @@ func (m *PlannedReparentShardRequest) SizeVT() (n int) {
l = m.TolerableReplicationLag.SizeVT()
n += 1 + l + sov(uint64(l))
}
+ if m.AllowCrossCellPromotion {
+ n += 2
+ }
n += len(m.unknownFields)
return n
}
@@ -49626,6 +49640,26 @@ func (m *PlannedReparentShardRequest) UnmarshalVT(dAtA []byte) error {
return err
}
iNdEx = postIndex
+ case 7:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field AllowCrossCellPromotion", wireType)
+ }
+ var v int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.AllowCrossCellPromotion = bool(v != 0)
default:
iNdEx = preIndex
skippy, err := skip(dAtA[iNdEx:])
diff --git a/go/vt/sidecardb/schema/onlineddl/schema_migrations.sql b/go/vt/sidecardb/schema/onlineddl/schema_migrations.sql
index 2926ec76f28..82d0c221f0e 100644
--- a/go/vt/sidecardb/schema/onlineddl/schema_migrations.sql
+++ b/go/vt/sidecardb/schema/onlineddl/schema_migrations.sql
@@ -63,6 +63,7 @@ CREATE TABLE IF NOT EXISTS schema_migrations
`special_plan` text NOT NULL,
`last_throttled_timestamp` timestamp NULL DEFAULT NULL,
`component_throttled` tinytext NOT NULL,
+ `reason_throttled` text NOT NULL,
`cancelled_timestamp` timestamp NULL DEFAULT NULL,
`postpone_launch` tinyint unsigned NOT NULL DEFAULT '0',
`stage` text NOT NULL,
diff --git a/go/vt/sidecardb/schema/vreplication/vreplication.sql b/go/vt/sidecardb/schema/vreplication/vreplication.sql
index 8d2ec41d1a6..293997056fd 100644
--- a/go/vt/sidecardb/schema/vreplication/vreplication.sql
+++ b/go/vt/sidecardb/schema/vreplication/vreplication.sql
@@ -36,6 +36,7 @@ CREATE TABLE IF NOT EXISTS vreplication
`workflow_type` int NOT NULL DEFAULT '0',
`time_throttled` bigint NOT NULL DEFAULT '0',
`component_throttled` varchar(255) NOT NULL DEFAULT '',
+ `reason_throttled` varchar(1000) NOT NULL DEFAULT '',
`workflow_sub_type` int NOT NULL DEFAULT '0',
`defer_secondary_keys` tinyint(1) NOT NULL DEFAULT '0',
/*
diff --git a/go/vt/sqlparser/ast_format.go b/go/vt/sqlparser/ast_format.go
index 67bf1474218..f92dc89ab50 100644
--- a/go/vt/sqlparser/ast_format.go
+++ b/go/vt/sqlparser/ast_format.go
@@ -296,6 +296,8 @@ func (node *AlterMigration) Format(buf *TrackedBuffer) {
alterType = "retry"
case CleanupMigrationType:
alterType = "cleanup"
+ case CleanupAllMigrationType:
+ alterType = "cleanup all"
case LaunchMigrationType:
alterType = "launch"
case LaunchAllMigrationType:
diff --git a/go/vt/sqlparser/ast_format_fast.go b/go/vt/sqlparser/ast_format_fast.go
index 304a1b78ef1..5d5dbb2fd74 100644
--- a/go/vt/sqlparser/ast_format_fast.go
+++ b/go/vt/sqlparser/ast_format_fast.go
@@ -422,6 +422,8 @@ func (node *AlterMigration) FormatFast(buf *TrackedBuffer) {
alterType = "retry"
case CleanupMigrationType:
alterType = "cleanup"
+ case CleanupAllMigrationType:
+ alterType = "cleanup all"
case LaunchMigrationType:
alterType = "launch"
case LaunchAllMigrationType:
diff --git a/go/vt/sqlparser/ast_funcs.go b/go/vt/sqlparser/ast_funcs.go
index 34fc72e1917..cd4d5304047 100644
--- a/go/vt/sqlparser/ast_funcs.go
+++ b/go/vt/sqlparser/ast_funcs.go
@@ -293,6 +293,8 @@ func SQLTypeToQueryType(typeName string, unsigned bool) querypb.Type {
return sqltypes.Set
case JSON:
return sqltypes.TypeJSON
+ case VECTOR:
+ return sqltypes.Vector
case GEOMETRY:
return sqltypes.Geometry
case POINT:
diff --git a/go/vt/sqlparser/constants.go b/go/vt/sqlparser/constants.go
index ced23bbde09..fa243c88d86 100644
--- a/go/vt/sqlparser/constants.go
+++ b/go/vt/sqlparser/constants.go
@@ -949,6 +949,7 @@ const (
CancelMigrationType
CancelAllMigrationType
CleanupMigrationType
+ CleanupAllMigrationType
ThrottleMigrationType
ThrottleAllMigrationType
UnthrottleMigrationType
diff --git a/go/vt/sqlparser/keywords.go b/go/vt/sqlparser/keywords.go
index 272410dea5d..54a5a06d84e 100644
--- a/go/vt/sqlparser/keywords.go
+++ b/go/vt/sqlparser/keywords.go
@@ -752,6 +752,7 @@ var keywords = []keyword{
{"varcharacter", UNUSED},
{"variance", VARIANCE},
{"varying", UNUSED},
+ {"vector", VECTOR},
{"vexplain", VEXPLAIN},
{"vgtid_executed", VGTID_EXECUTED},
{"virtual", VIRTUAL},
diff --git a/go/vt/sqlparser/parse_test.go b/go/vt/sqlparser/parse_test.go
index b7f069353c5..55a54b4a60a 100644
--- a/go/vt/sqlparser/parse_test.go
+++ b/go/vt/sqlparser/parse_test.go
@@ -1228,6 +1228,9 @@ var (
input: "select /* bool in order by */ * from t order by a is null or b asc",
}, {
input: "select /* string in case statement */ if(max(case a when 'foo' then 1 else 0 end) = 1, 'foo', 'bar') as foobar from t",
+ }, {
+ input: "select 1 as vector",
+ output: "select 1 as `vector` from dual",
}, {
input: "/*!show databases*/",
output: "show databases",
@@ -2447,6 +2450,8 @@ var (
input: "alter vitess_migration '9748c3b7_7fdb_11eb_ac2c_f875a4d24e90' retry",
}, {
input: "alter vitess_migration '9748c3b7_7fdb_11eb_ac2c_f875a4d24e90' cleanup",
+ }, {
+ input: "alter vitess_migration cleanup all",
}, {
input: "alter vitess_migration '9748c3b7_7fdb_11eb_ac2c_f875a4d24e90' launch",
}, {
@@ -5924,6 +5929,10 @@ partition by range (YEAR(purchased)) subpartition by hash (TO_DAYS(purchased))
input: "create table t (id int, s varchar(255) default 'foo\"bar')",
output: "create table t (\n\tid int,\n\ts varchar(255) default 'foo\"bar'\n)",
},
+ {
+ input: "create table t (id int, vec VECTOR(4))",
+ output: "create table t (\n\tid int,\n\tvec VECTOR(4)\n)",
+ },
}
parser := NewTestParser()
for _, test := range createTableQueries {
diff --git a/go/vt/sqlparser/sql.go b/go/vt/sqlparser/sql.go
index 85cc6bcf0e6..12b9ff7013e 100644
--- a/go/vt/sqlparser/sql.go
+++ b/go/vt/sqlparser/sql.go
@@ -400,367 +400,368 @@ const MULTILINESTRING = 57707
const MULTIPOLYGON = 57708
const ASCII = 57709
const UNICODE = 57710
-const NULLX = 57711
-const AUTO_INCREMENT = 57712
-const APPROXNUM = 57713
-const SIGNED = 57714
-const UNSIGNED = 57715
-const ZEROFILL = 57716
-const PURGE = 57717
-const BEFORE = 57718
-const CODE = 57719
-const COLLATION = 57720
-const COLUMNS = 57721
-const DATABASES = 57722
-const ENGINES = 57723
-const EVENT = 57724
-const EXTENDED = 57725
-const FIELDS = 57726
-const FULL = 57727
-const FUNCTION = 57728
-const GTID_EXECUTED = 57729
-const KEYSPACES = 57730
-const OPEN = 57731
-const PLUGINS = 57732
-const PRIVILEGES = 57733
-const PROCESSLIST = 57734
-const SCHEMAS = 57735
-const TABLES = 57736
-const TRIGGERS = 57737
-const USER = 57738
-const VGTID_EXECUTED = 57739
-const VITESS_KEYSPACES = 57740
-const VITESS_METADATA = 57741
-const VITESS_MIGRATIONS = 57742
-const VITESS_REPLICATION_STATUS = 57743
-const VITESS_SHARDS = 57744
-const VITESS_TABLETS = 57745
-const VITESS_TARGET = 57746
-const VSCHEMA = 57747
-const VITESS_THROTTLED_APPS = 57748
-const NAMES = 57749
-const GLOBAL = 57750
-const SESSION = 57751
-const ISOLATION = 57752
-const LEVEL = 57753
-const READ = 57754
-const WRITE = 57755
-const ONLY = 57756
-const REPEATABLE = 57757
-const COMMITTED = 57758
-const UNCOMMITTED = 57759
-const SERIALIZABLE = 57760
-const ADDDATE = 57761
-const CURRENT_TIMESTAMP = 57762
-const DATABASE = 57763
-const CURRENT_DATE = 57764
-const CURDATE = 57765
-const DATE_ADD = 57766
-const DATE_SUB = 57767
-const NOW = 57768
-const SUBDATE = 57769
-const CURTIME = 57770
-const CURRENT_TIME = 57771
-const LOCALTIME = 57772
-const LOCALTIMESTAMP = 57773
-const CURRENT_USER = 57774
-const UTC_DATE = 57775
-const UTC_TIME = 57776
-const UTC_TIMESTAMP = 57777
-const SYSDATE = 57778
-const DAY = 57779
-const DAY_HOUR = 57780
-const DAY_MICROSECOND = 57781
-const DAY_MINUTE = 57782
-const DAY_SECOND = 57783
-const HOUR = 57784
-const HOUR_MICROSECOND = 57785
-const HOUR_MINUTE = 57786
-const HOUR_SECOND = 57787
-const MICROSECOND = 57788
-const MINUTE = 57789
-const MINUTE_MICROSECOND = 57790
-const MINUTE_SECOND = 57791
-const MONTH = 57792
-const QUARTER = 57793
-const SECOND = 57794
-const SECOND_MICROSECOND = 57795
-const YEAR_MONTH = 57796
-const WEEK = 57797
-const SQL_TSI_DAY = 57798
-const SQL_TSI_WEEK = 57799
-const SQL_TSI_HOUR = 57800
-const SQL_TSI_MINUTE = 57801
-const SQL_TSI_MONTH = 57802
-const SQL_TSI_QUARTER = 57803
-const SQL_TSI_SECOND = 57804
-const SQL_TSI_MICROSECOND = 57805
-const SQL_TSI_YEAR = 57806
-const REPLACE = 57807
-const CONVERT = 57808
-const CAST = 57809
-const SUBSTR = 57810
-const SUBSTRING = 57811
-const MID = 57812
-const SEPARATOR = 57813
-const TIMESTAMPADD = 57814
-const TIMESTAMPDIFF = 57815
-const WEIGHT_STRING = 57816
-const LTRIM = 57817
-const RTRIM = 57818
-const TRIM = 57819
-const JSON_ARRAY = 57820
-const JSON_OBJECT = 57821
-const JSON_QUOTE = 57822
-const JSON_DEPTH = 57823
-const JSON_TYPE = 57824
-const JSON_LENGTH = 57825
-const JSON_VALID = 57826
-const JSON_ARRAY_APPEND = 57827
-const JSON_ARRAY_INSERT = 57828
-const JSON_INSERT = 57829
-const JSON_MERGE = 57830
-const JSON_MERGE_PATCH = 57831
-const JSON_MERGE_PRESERVE = 57832
-const JSON_REMOVE = 57833
-const JSON_REPLACE = 57834
-const JSON_SET = 57835
-const JSON_UNQUOTE = 57836
-const COUNT = 57837
-const AVG = 57838
-const MAX = 57839
-const MIN = 57840
-const SUM = 57841
-const GROUP_CONCAT = 57842
-const BIT_AND = 57843
-const BIT_OR = 57844
-const BIT_XOR = 57845
-const STD = 57846
-const STDDEV = 57847
-const STDDEV_POP = 57848
-const STDDEV_SAMP = 57849
-const VAR_POP = 57850
-const VAR_SAMP = 57851
-const VARIANCE = 57852
-const ANY_VALUE = 57853
-const REGEXP_INSTR = 57854
-const REGEXP_LIKE = 57855
-const REGEXP_REPLACE = 57856
-const REGEXP_SUBSTR = 57857
-const ExtractValue = 57858
-const UpdateXML = 57859
-const GET_LOCK = 57860
-const RELEASE_LOCK = 57861
-const RELEASE_ALL_LOCKS = 57862
-const IS_FREE_LOCK = 57863
-const IS_USED_LOCK = 57864
-const LOCATE = 57865
-const POSITION = 57866
-const ST_GeometryCollectionFromText = 57867
-const ST_GeometryFromText = 57868
-const ST_LineStringFromText = 57869
-const ST_MultiLineStringFromText = 57870
-const ST_MultiPointFromText = 57871
-const ST_MultiPolygonFromText = 57872
-const ST_PointFromText = 57873
-const ST_PolygonFromText = 57874
-const ST_GeometryCollectionFromWKB = 57875
-const ST_GeometryFromWKB = 57876
-const ST_LineStringFromWKB = 57877
-const ST_MultiLineStringFromWKB = 57878
-const ST_MultiPointFromWKB = 57879
-const ST_MultiPolygonFromWKB = 57880
-const ST_PointFromWKB = 57881
-const ST_PolygonFromWKB = 57882
-const ST_AsBinary = 57883
-const ST_AsText = 57884
-const ST_Dimension = 57885
-const ST_Envelope = 57886
-const ST_IsSimple = 57887
-const ST_IsEmpty = 57888
-const ST_GeometryType = 57889
-const ST_X = 57890
-const ST_Y = 57891
-const ST_Latitude = 57892
-const ST_Longitude = 57893
-const ST_EndPoint = 57894
-const ST_IsClosed = 57895
-const ST_Length = 57896
-const ST_NumPoints = 57897
-const ST_StartPoint = 57898
-const ST_PointN = 57899
-const ST_Area = 57900
-const ST_Centroid = 57901
-const ST_ExteriorRing = 57902
-const ST_InteriorRingN = 57903
-const ST_NumInteriorRings = 57904
-const ST_NumGeometries = 57905
-const ST_GeometryN = 57906
-const ST_LongFromGeoHash = 57907
-const ST_PointFromGeoHash = 57908
-const ST_LatFromGeoHash = 57909
-const ST_GeoHash = 57910
-const ST_AsGeoJSON = 57911
-const ST_GeomFromGeoJSON = 57912
-const MATCH = 57913
-const AGAINST = 57914
-const BOOLEAN = 57915
-const LANGUAGE = 57916
-const WITH = 57917
-const QUERY = 57918
-const EXPANSION = 57919
-const WITHOUT = 57920
-const VALIDATION = 57921
-const ROLLUP = 57922
-const UNUSED = 57923
-const ARRAY = 57924
-const BYTE = 57925
-const CUME_DIST = 57926
-const DESCRIPTION = 57927
-const DENSE_RANK = 57928
-const EMPTY = 57929
-const EXCEPT = 57930
-const FIRST_VALUE = 57931
-const GROUPING = 57932
-const GROUPS = 57933
-const JSON_TABLE = 57934
-const LAG = 57935
-const LAST_VALUE = 57936
-const LATERAL = 57937
-const LEAD = 57938
-const NTH_VALUE = 57939
-const NTILE = 57940
-const OF = 57941
-const OVER = 57942
-const PERCENT_RANK = 57943
-const RANK = 57944
-const RECURSIVE = 57945
-const ROW_NUMBER = 57946
-const SYSTEM = 57947
-const WINDOW = 57948
-const ACTIVE = 57949
-const ADMIN = 57950
-const AUTOEXTEND_SIZE = 57951
-const BUCKETS = 57952
-const CLONE = 57953
-const COLUMN_FORMAT = 57954
-const COMPONENT = 57955
-const DEFINITION = 57956
-const ENFORCED = 57957
-const ENGINE_ATTRIBUTE = 57958
-const EXCLUDE = 57959
-const FOLLOWING = 57960
-const GET_MASTER_PUBLIC_KEY = 57961
-const HISTOGRAM = 57962
-const HISTORY = 57963
-const INACTIVE = 57964
-const INVISIBLE = 57965
-const LOCKED = 57966
-const MASTER_COMPRESSION_ALGORITHMS = 57967
-const MASTER_PUBLIC_KEY_PATH = 57968
-const MASTER_TLS_CIPHERSUITES = 57969
-const MASTER_ZSTD_COMPRESSION_LEVEL = 57970
-const NESTED = 57971
-const NETWORK_NAMESPACE = 57972
-const NOWAIT = 57973
-const NULLS = 57974
-const OJ = 57975
-const OLD = 57976
-const OPTIONAL = 57977
-const ORDINALITY = 57978
-const ORGANIZATION = 57979
-const OTHERS = 57980
-const PARTIAL = 57981
-const PATH = 57982
-const PERSIST = 57983
-const PERSIST_ONLY = 57984
-const PRECEDING = 57985
-const PRIVILEGE_CHECKS_USER = 57986
-const PROCESS = 57987
-const RANDOM = 57988
-const REFERENCE = 57989
-const REQUIRE_ROW_FORMAT = 57990
-const RESOURCE = 57991
-const RESPECT = 57992
-const RESTART = 57993
-const RETAIN = 57994
-const REUSE = 57995
-const ROLE = 57996
-const SECONDARY = 57997
-const SECONDARY_ENGINE = 57998
-const SECONDARY_ENGINE_ATTRIBUTE = 57999
-const SECONDARY_LOAD = 58000
-const SECONDARY_UNLOAD = 58001
-const SIMPLE = 58002
-const SKIP = 58003
-const SRID = 58004
-const THREAD_PRIORITY = 58005
-const TIES = 58006
-const UNBOUNDED = 58007
-const VCPU = 58008
-const VISIBLE = 58009
-const RETURNING = 58010
-const FORMAT_BYTES = 58011
-const FORMAT_PICO_TIME = 58012
-const PS_CURRENT_THREAD_ID = 58013
-const PS_THREAD_ID = 58014
-const GTID_SUBSET = 58015
-const GTID_SUBTRACT = 58016
-const WAIT_FOR_EXECUTED_GTID_SET = 58017
-const WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS = 58018
-const FORMAT = 58019
-const TREE = 58020
-const VITESS = 58021
-const TRADITIONAL = 58022
-const VTEXPLAIN = 58023
-const VEXPLAIN = 58024
-const PLAN = 58025
-const LOCAL = 58026
-const LOW_PRIORITY = 58027
-const NO_WRITE_TO_BINLOG = 58028
-const LOGS = 58029
-const ERROR = 58030
-const GENERAL = 58031
-const HOSTS = 58032
-const OPTIMIZER_COSTS = 58033
-const USER_RESOURCES = 58034
-const SLOW = 58035
-const CHANNEL = 58036
-const RELAY = 58037
-const EXPORT = 58038
-const CURRENT = 58039
-const ROW = 58040
-const ROWS = 58041
-const AVG_ROW_LENGTH = 58042
-const CONNECTION = 58043
-const CHECKSUM = 58044
-const DELAY_KEY_WRITE = 58045
-const ENCRYPTION = 58046
-const ENGINE = 58047
-const INSERT_METHOD = 58048
-const MAX_ROWS = 58049
-const MIN_ROWS = 58050
-const PACK_KEYS = 58051
-const PASSWORD = 58052
-const FIXED = 58053
-const DYNAMIC = 58054
-const COMPRESSED = 58055
-const REDUNDANT = 58056
-const COMPACT = 58057
-const ROW_FORMAT = 58058
-const STATS_AUTO_RECALC = 58059
-const STATS_PERSISTENT = 58060
-const STATS_SAMPLE_PAGES = 58061
-const STORAGE = 58062
-const MEMORY = 58063
-const DISK = 58064
-const PARTITIONS = 58065
-const LINEAR = 58066
-const RANGE = 58067
-const LIST = 58068
-const SUBPARTITION = 58069
-const SUBPARTITIONS = 58070
-const HASH = 58071
+const VECTOR = 57711
+const NULLX = 57712
+const AUTO_INCREMENT = 57713
+const APPROXNUM = 57714
+const SIGNED = 57715
+const UNSIGNED = 57716
+const ZEROFILL = 57717
+const PURGE = 57718
+const BEFORE = 57719
+const CODE = 57720
+const COLLATION = 57721
+const COLUMNS = 57722
+const DATABASES = 57723
+const ENGINES = 57724
+const EVENT = 57725
+const EXTENDED = 57726
+const FIELDS = 57727
+const FULL = 57728
+const FUNCTION = 57729
+const GTID_EXECUTED = 57730
+const KEYSPACES = 57731
+const OPEN = 57732
+const PLUGINS = 57733
+const PRIVILEGES = 57734
+const PROCESSLIST = 57735
+const SCHEMAS = 57736
+const TABLES = 57737
+const TRIGGERS = 57738
+const USER = 57739
+const VGTID_EXECUTED = 57740
+const VITESS_KEYSPACES = 57741
+const VITESS_METADATA = 57742
+const VITESS_MIGRATIONS = 57743
+const VITESS_REPLICATION_STATUS = 57744
+const VITESS_SHARDS = 57745
+const VITESS_TABLETS = 57746
+const VITESS_TARGET = 57747
+const VSCHEMA = 57748
+const VITESS_THROTTLED_APPS = 57749
+const NAMES = 57750
+const GLOBAL = 57751
+const SESSION = 57752
+const ISOLATION = 57753
+const LEVEL = 57754
+const READ = 57755
+const WRITE = 57756
+const ONLY = 57757
+const REPEATABLE = 57758
+const COMMITTED = 57759
+const UNCOMMITTED = 57760
+const SERIALIZABLE = 57761
+const ADDDATE = 57762
+const CURRENT_TIMESTAMP = 57763
+const DATABASE = 57764
+const CURRENT_DATE = 57765
+const CURDATE = 57766
+const DATE_ADD = 57767
+const DATE_SUB = 57768
+const NOW = 57769
+const SUBDATE = 57770
+const CURTIME = 57771
+const CURRENT_TIME = 57772
+const LOCALTIME = 57773
+const LOCALTIMESTAMP = 57774
+const CURRENT_USER = 57775
+const UTC_DATE = 57776
+const UTC_TIME = 57777
+const UTC_TIMESTAMP = 57778
+const SYSDATE = 57779
+const DAY = 57780
+const DAY_HOUR = 57781
+const DAY_MICROSECOND = 57782
+const DAY_MINUTE = 57783
+const DAY_SECOND = 57784
+const HOUR = 57785
+const HOUR_MICROSECOND = 57786
+const HOUR_MINUTE = 57787
+const HOUR_SECOND = 57788
+const MICROSECOND = 57789
+const MINUTE = 57790
+const MINUTE_MICROSECOND = 57791
+const MINUTE_SECOND = 57792
+const MONTH = 57793
+const QUARTER = 57794
+const SECOND = 57795
+const SECOND_MICROSECOND = 57796
+const YEAR_MONTH = 57797
+const WEEK = 57798
+const SQL_TSI_DAY = 57799
+const SQL_TSI_WEEK = 57800
+const SQL_TSI_HOUR = 57801
+const SQL_TSI_MINUTE = 57802
+const SQL_TSI_MONTH = 57803
+const SQL_TSI_QUARTER = 57804
+const SQL_TSI_SECOND = 57805
+const SQL_TSI_MICROSECOND = 57806
+const SQL_TSI_YEAR = 57807
+const REPLACE = 57808
+const CONVERT = 57809
+const CAST = 57810
+const SUBSTR = 57811
+const SUBSTRING = 57812
+const MID = 57813
+const SEPARATOR = 57814
+const TIMESTAMPADD = 57815
+const TIMESTAMPDIFF = 57816
+const WEIGHT_STRING = 57817
+const LTRIM = 57818
+const RTRIM = 57819
+const TRIM = 57820
+const JSON_ARRAY = 57821
+const JSON_OBJECT = 57822
+const JSON_QUOTE = 57823
+const JSON_DEPTH = 57824
+const JSON_TYPE = 57825
+const JSON_LENGTH = 57826
+const JSON_VALID = 57827
+const JSON_ARRAY_APPEND = 57828
+const JSON_ARRAY_INSERT = 57829
+const JSON_INSERT = 57830
+const JSON_MERGE = 57831
+const JSON_MERGE_PATCH = 57832
+const JSON_MERGE_PRESERVE = 57833
+const JSON_REMOVE = 57834
+const JSON_REPLACE = 57835
+const JSON_SET = 57836
+const JSON_UNQUOTE = 57837
+const COUNT = 57838
+const AVG = 57839
+const MAX = 57840
+const MIN = 57841
+const SUM = 57842
+const GROUP_CONCAT = 57843
+const BIT_AND = 57844
+const BIT_OR = 57845
+const BIT_XOR = 57846
+const STD = 57847
+const STDDEV = 57848
+const STDDEV_POP = 57849
+const STDDEV_SAMP = 57850
+const VAR_POP = 57851
+const VAR_SAMP = 57852
+const VARIANCE = 57853
+const ANY_VALUE = 57854
+const REGEXP_INSTR = 57855
+const REGEXP_LIKE = 57856
+const REGEXP_REPLACE = 57857
+const REGEXP_SUBSTR = 57858
+const ExtractValue = 57859
+const UpdateXML = 57860
+const GET_LOCK = 57861
+const RELEASE_LOCK = 57862
+const RELEASE_ALL_LOCKS = 57863
+const IS_FREE_LOCK = 57864
+const IS_USED_LOCK = 57865
+const LOCATE = 57866
+const POSITION = 57867
+const ST_GeometryCollectionFromText = 57868
+const ST_GeometryFromText = 57869
+const ST_LineStringFromText = 57870
+const ST_MultiLineStringFromText = 57871
+const ST_MultiPointFromText = 57872
+const ST_MultiPolygonFromText = 57873
+const ST_PointFromText = 57874
+const ST_PolygonFromText = 57875
+const ST_GeometryCollectionFromWKB = 57876
+const ST_GeometryFromWKB = 57877
+const ST_LineStringFromWKB = 57878
+const ST_MultiLineStringFromWKB = 57879
+const ST_MultiPointFromWKB = 57880
+const ST_MultiPolygonFromWKB = 57881
+const ST_PointFromWKB = 57882
+const ST_PolygonFromWKB = 57883
+const ST_AsBinary = 57884
+const ST_AsText = 57885
+const ST_Dimension = 57886
+const ST_Envelope = 57887
+const ST_IsSimple = 57888
+const ST_IsEmpty = 57889
+const ST_GeometryType = 57890
+const ST_X = 57891
+const ST_Y = 57892
+const ST_Latitude = 57893
+const ST_Longitude = 57894
+const ST_EndPoint = 57895
+const ST_IsClosed = 57896
+const ST_Length = 57897
+const ST_NumPoints = 57898
+const ST_StartPoint = 57899
+const ST_PointN = 57900
+const ST_Area = 57901
+const ST_Centroid = 57902
+const ST_ExteriorRing = 57903
+const ST_InteriorRingN = 57904
+const ST_NumInteriorRings = 57905
+const ST_NumGeometries = 57906
+const ST_GeometryN = 57907
+const ST_LongFromGeoHash = 57908
+const ST_PointFromGeoHash = 57909
+const ST_LatFromGeoHash = 57910
+const ST_GeoHash = 57911
+const ST_AsGeoJSON = 57912
+const ST_GeomFromGeoJSON = 57913
+const MATCH = 57914
+const AGAINST = 57915
+const BOOLEAN = 57916
+const LANGUAGE = 57917
+const WITH = 57918
+const QUERY = 57919
+const EXPANSION = 57920
+const WITHOUT = 57921
+const VALIDATION = 57922
+const ROLLUP = 57923
+const UNUSED = 57924
+const ARRAY = 57925
+const BYTE = 57926
+const CUME_DIST = 57927
+const DESCRIPTION = 57928
+const DENSE_RANK = 57929
+const EMPTY = 57930
+const EXCEPT = 57931
+const FIRST_VALUE = 57932
+const GROUPING = 57933
+const GROUPS = 57934
+const JSON_TABLE = 57935
+const LAG = 57936
+const LAST_VALUE = 57937
+const LATERAL = 57938
+const LEAD = 57939
+const NTH_VALUE = 57940
+const NTILE = 57941
+const OF = 57942
+const OVER = 57943
+const PERCENT_RANK = 57944
+const RANK = 57945
+const RECURSIVE = 57946
+const ROW_NUMBER = 57947
+const SYSTEM = 57948
+const WINDOW = 57949
+const ACTIVE = 57950
+const ADMIN = 57951
+const AUTOEXTEND_SIZE = 57952
+const BUCKETS = 57953
+const CLONE = 57954
+const COLUMN_FORMAT = 57955
+const COMPONENT = 57956
+const DEFINITION = 57957
+const ENFORCED = 57958
+const ENGINE_ATTRIBUTE = 57959
+const EXCLUDE = 57960
+const FOLLOWING = 57961
+const GET_MASTER_PUBLIC_KEY = 57962
+const HISTOGRAM = 57963
+const HISTORY = 57964
+const INACTIVE = 57965
+const INVISIBLE = 57966
+const LOCKED = 57967
+const MASTER_COMPRESSION_ALGORITHMS = 57968
+const MASTER_PUBLIC_KEY_PATH = 57969
+const MASTER_TLS_CIPHERSUITES = 57970
+const MASTER_ZSTD_COMPRESSION_LEVEL = 57971
+const NESTED = 57972
+const NETWORK_NAMESPACE = 57973
+const NOWAIT = 57974
+const NULLS = 57975
+const OJ = 57976
+const OLD = 57977
+const OPTIONAL = 57978
+const ORDINALITY = 57979
+const ORGANIZATION = 57980
+const OTHERS = 57981
+const PARTIAL = 57982
+const PATH = 57983
+const PERSIST = 57984
+const PERSIST_ONLY = 57985
+const PRECEDING = 57986
+const PRIVILEGE_CHECKS_USER = 57987
+const PROCESS = 57988
+const RANDOM = 57989
+const REFERENCE = 57990
+const REQUIRE_ROW_FORMAT = 57991
+const RESOURCE = 57992
+const RESPECT = 57993
+const RESTART = 57994
+const RETAIN = 57995
+const REUSE = 57996
+const ROLE = 57997
+const SECONDARY = 57998
+const SECONDARY_ENGINE = 57999
+const SECONDARY_ENGINE_ATTRIBUTE = 58000
+const SECONDARY_LOAD = 58001
+const SECONDARY_UNLOAD = 58002
+const SIMPLE = 58003
+const SKIP = 58004
+const SRID = 58005
+const THREAD_PRIORITY = 58006
+const TIES = 58007
+const UNBOUNDED = 58008
+const VCPU = 58009
+const VISIBLE = 58010
+const RETURNING = 58011
+const FORMAT_BYTES = 58012
+const FORMAT_PICO_TIME = 58013
+const PS_CURRENT_THREAD_ID = 58014
+const PS_THREAD_ID = 58015
+const GTID_SUBSET = 58016
+const GTID_SUBTRACT = 58017
+const WAIT_FOR_EXECUTED_GTID_SET = 58018
+const WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS = 58019
+const FORMAT = 58020
+const TREE = 58021
+const VITESS = 58022
+const TRADITIONAL = 58023
+const VTEXPLAIN = 58024
+const VEXPLAIN = 58025
+const PLAN = 58026
+const LOCAL = 58027
+const LOW_PRIORITY = 58028
+const NO_WRITE_TO_BINLOG = 58029
+const LOGS = 58030
+const ERROR = 58031
+const GENERAL = 58032
+const HOSTS = 58033
+const OPTIMIZER_COSTS = 58034
+const USER_RESOURCES = 58035
+const SLOW = 58036
+const CHANNEL = 58037
+const RELAY = 58038
+const EXPORT = 58039
+const CURRENT = 58040
+const ROW = 58041
+const ROWS = 58042
+const AVG_ROW_LENGTH = 58043
+const CONNECTION = 58044
+const CHECKSUM = 58045
+const DELAY_KEY_WRITE = 58046
+const ENCRYPTION = 58047
+const ENGINE = 58048
+const INSERT_METHOD = 58049
+const MAX_ROWS = 58050
+const MIN_ROWS = 58051
+const PACK_KEYS = 58052
+const PASSWORD = 58053
+const FIXED = 58054
+const DYNAMIC = 58055
+const COMPRESSED = 58056
+const REDUNDANT = 58057
+const COMPACT = 58058
+const ROW_FORMAT = 58059
+const STATS_AUTO_RECALC = 58060
+const STATS_PERSISTENT = 58061
+const STATS_SAMPLE_PAGES = 58062
+const STORAGE = 58063
+const MEMORY = 58064
+const DISK = 58065
+const PARTITIONS = 58066
+const LINEAR = 58067
+const RANGE = 58068
+const LIST = 58069
+const SUBPARTITION = 58070
+const SUBPARTITIONS = 58071
+const HASH = 58072
var yyToknames = [...]string{
"$end",
@@ -1148,6 +1149,7 @@ var yyToknames = [...]string{
"MULTIPOLYGON",
"ASCII",
"UNICODE",
+ "VECTOR",
"NULLX",
"AUTO_INCREMENT",
"APPROXNUM",
@@ -1529,245 +1531,245 @@ var yyExca = [...]int{
-2, 40,
-1, 52,
1, 157,
- 747, 157,
+ 748, 157,
-2, 165,
-1, 53,
148, 165,
190, 165,
360, 165,
- -2, 523,
+ -2, 524,
-1, 61,
- 38, 780,
- 253, 780,
- 264, 780,
- 299, 794,
- 300, 794,
- -2, 782,
+ 38, 782,
+ 253, 782,
+ 264, 782,
+ 299, 796,
+ 300, 796,
+ -2, 784,
-1, 66,
- 255, 818,
- -2, 816,
+ 255, 820,
+ -2, 818,
-1, 122,
- 252, 1615,
+ 252, 1617,
-2, 131,
-1, 124,
1, 158,
- 747, 158,
+ 748, 158,
-2, 165,
-1, 135,
- 149, 408,
- 258, 408,
- -2, 512,
+ 149, 409,
+ 258, 409,
+ -2, 513,
-1, 154,
148, 165,
190, 165,
360, 165,
- -2, 532,
- -1, 743,
+ -2, 533,
+ -1, 744,
176, 41,
-2, 43,
- -1, 952,
- 95, 1632,
- -2, 1476,
-1, 953,
- 95, 1633,
- 235, 1637,
- -2, 1477,
+ 95, 1634,
+ -2, 1478,
-1, 954,
- 235, 1636,
+ 95, 1635,
+ 235, 1639,
+ -2, 1479,
+ -1, 955,
+ 235, 1638,
-2, 42,
- -1, 1038,
- 65, 890,
- -2, 903,
- -1, 1126,
- 263, 1103,
- 268, 1103,
- -2, 419,
- -1, 1211,
- 1, 580,
- 747, 580,
+ -1, 1039,
+ 65, 892,
+ -2, 905,
+ -1, 1127,
+ 263, 1105,
+ 268, 1105,
+ -2, 420,
+ -1, 1212,
+ 1, 581,
+ 748, 581,
-2, 165,
- -1, 1519,
- 235, 1637,
- -2, 1477,
- -1, 1732,
- 65, 891,
- -2, 907,
+ -1, 1520,
+ 235, 1639,
+ -2, 1479,
-1, 1733,
- 65, 892,
- -2, 908,
- -1, 1793,
+ 65, 893,
+ -2, 909,
+ -1, 1734,
+ 65, 894,
+ -2, 910,
+ -1, 1794,
148, 165,
190, 165,
360, 165,
- -2, 458,
- -1, 1874,
- 149, 408,
- 258, 408,
- -2, 512,
- -1, 1883,
- 263, 1104,
- 268, 1104,
- -2, 420,
- -1, 2330,
- 235, 1641,
+ -2, 459,
+ -1, 1876,
+ 149, 409,
+ 258, 409,
+ -2, 513,
+ -1, 1885,
+ 263, 1106,
+ 268, 1106,
+ -2, 421,
+ -1, 2333,
+ 235, 1643,
+ -2, 1637,
+ -1, 2334,
+ 235, 1639,
-2, 1635,
- -1, 2331,
- 235, 1637,
- -2, 1633,
- -1, 2434,
+ -1, 2437,
148, 165,
190, 165,
360, 165,
- -2, 459,
- -1, 2441,
+ -2, 460,
+ -1, 2444,
28, 186,
-2, 188,
- -1, 2901,
+ -1, 2906,
86, 96,
96, 96,
- -2, 970,
- -1, 2970,
- 722, 700,
- -2, 674,
- -1, 3194,
- 55, 1580,
- -2, 1574,
- -1, 4032,
- 722, 700,
- -2, 688,
- -1, 4124,
- 98, 632,
- 104, 632,
- 114, 632,
- 192, 632,
- 193, 632,
- 194, 632,
- 195, 632,
- 196, 632,
- 197, 632,
- 198, 632,
- 199, 632,
- 200, 632,
- 201, 632,
- 202, 632,
- 203, 632,
- 204, 632,
- 205, 632,
- 206, 632,
- 207, 632,
- 208, 632,
- 209, 632,
- 210, 632,
- 211, 632,
- 212, 632,
- 213, 632,
- 214, 632,
- 215, 632,
- 216, 632,
- 217, 632,
- 218, 632,
- 219, 632,
- 220, 632,
- 221, 632,
- 222, 632,
- 223, 632,
- 224, 632,
- 225, 632,
- 226, 632,
- 227, 632,
- 228, 632,
- 229, 632,
- 230, 632,
- 231, 632,
- 232, 632,
- 233, 632,
- -2, 2012,
+ -2, 972,
+ -1, 2975,
+ 723, 702,
+ -2, 676,
+ -1, 3199,
+ 55, 1582,
+ -2, 1576,
+ -1, 4037,
+ 723, 702,
+ -2, 690,
+ -1, 4129,
+ 98, 634,
+ 104, 634,
+ 114, 634,
+ 192, 634,
+ 193, 634,
+ 194, 634,
+ 195, 634,
+ 196, 634,
+ 197, 634,
+ 198, 634,
+ 199, 634,
+ 200, 634,
+ 201, 634,
+ 202, 634,
+ 203, 634,
+ 204, 634,
+ 205, 634,
+ 206, 634,
+ 207, 634,
+ 208, 634,
+ 209, 634,
+ 210, 634,
+ 211, 634,
+ 212, 634,
+ 213, 634,
+ 214, 634,
+ 215, 634,
+ 216, 634,
+ 217, 634,
+ 218, 634,
+ 219, 634,
+ 220, 634,
+ 221, 634,
+ 222, 634,
+ 223, 634,
+ 224, 634,
+ 225, 634,
+ 226, 634,
+ 227, 634,
+ 228, 634,
+ 229, 634,
+ 230, 634,
+ 231, 634,
+ 232, 634,
+ 233, 634,
+ -2, 2014,
}
const yyPrivate = 57344
-const yyLast = 56203
+const yyLast = 56304
var yyAct = [...]int{
- 968, 3683, 3684, 87, 3682, 4199, 956, 4103, 4013, 4122,
- 3482, 2135, 3995, 4212, 3346, 4091, 4166, 1279, 963, 3246,
- 955, 2123, 3253, 4167, 2158, 3918, 1277, 3295, 2359, 2431,
- 3304, 3309, 3306, 3207, 3305, 3303, 3308, 3307, 3993, 3324,
- 1796, 2003, 3060, 2361, 3619, 3632, 3261, 2505, 747, 3145,
- 3323, 3211, 2061, 3208, 3528, 5, 3725, 3034, 3059, 3205,
- 2861, 2386, 3522, 3512, 3195, 917, 741, 742, 3016, 2935,
- 3353, 1852, 775, 916, 2468, 2493, 2473, 4064, 2967, 2936,
- 2536, 3326, 2937, 2419, 2407, 1752, 1036, 41, 87, 1088,
- 2406, 1899, 163, 2853, 43, 1056, 2867, 2886, 1063, 737,
- 2405, 921, 2837, 2402, 42, 1158, 2315, 1036, 2283, 1134,
- 2119, 1033, 3008, 2282, 149, 2069, 2514, 2157, 1881, 3550,
- 2492, 2394, 1098, 2553, 2928, 2874, 2475, 1116, 1121, 1785,
- 2903, 1765, 2409, 1713, 1532, 2163, 2083, 2094, 104, 1457,
- 100, 1442, 1999, 1888, 1095, 1980, 757, 1092, 2490, 3210,
- 1127, 1096, 1122, 2464, 105, 1123, 1784, 1073, 1770, 1075,
- 1124, 752, 1045, 1735, 1491, 3720, 2171, 2190, 2835, 744,
- 2465, 1267, 1515, 2011, 167, 1040, 127, 125, 2060, 3712,
- 126, 1055, 1041, 107, 3483, 1873, 132, 1035, 1042, 1039,
- 2387, 85, 133, 751, 1207, 1031, 1068, 1536, 98, 745,
- 4200, 1541, 3620, 3292, 1043, 4048, 2507, 918, 1058, 1253,
- 3539, 1067, 84, 99, 2958, 106, 2507, 2508, 2509, 2551,
- 1275, 2990, 2989, 93, 1965, 3612, 1030, 128, 4149, 3024,
- 734, 4049, 3025, 4044, 4043, 2356, 2357, 2076, 2075, 134,
- 1048, 2074, 2073, 2072, 2071, 2042, 1138, 1163, 1089, 1223,
- 2833, 675, 678, 676, 2602, 3191, 4170, 1160, 3149, 4222,
- 4165, 4143, 2540, 1105, 1453, 3575, 4190, 1100, 1171, 3486,
- 1177, 1178, 1179, 3485, 1182, 1183, 1184, 1185, 1082, 2,
- 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197,
- 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1137, 1034, 128,
- 1032, 1112, 1111, 735, 3314, 1110, 2539, 1083, 1756, 3314,
- 95, 4022, 1754, 2960, 1049, 3687, 1164, 1167, 1168, 1113,
- 4205, 2383, 3311, 4153, 111, 112, 113, 2863, 116, 719,
- 1057, 122, 4151, 3687, 191, 4044, 719, 670, 1757, 2380,
- 2382, 95, 1755, 2983, 713, 4204, 1474, 3996, 4152, 732,
- 733, 1029, 2798, 2081, 95, 3372, 95, 4150, 1180, 1024,
- 1025, 1026, 1027, 922, 3312, 190, 1038, 128, 4118, 3312,
- 1081, 1085, 920, 3914, 3913, 1162, 2097, 1161, 1224, 2980,
- 971, 972, 973, 4180, 713, 86, 1114, 3924, 129, 1081,
- 1085, 920, 4147, 3318, 1070, 1071, 1746, 3644, 3318, 1444,
- 971, 972, 973, 3625, 172, 3633, 3626, 4092, 2877, 4100,
- 2533, 3686, 3923, 2128, 4127, 86, 3398, 1862, 713, 3243,
- 3244, 2834, 2609, 1109, 3242, 1216, 1217, 709, 2912, 3686,
- 86, 2911, 3023, 4104, 2913, 2538, 2878, 713, 2606, 4132,
- 1470, 2426, 2427, 1104, 2053, 2054, 1106, 1786, 3007, 1787,
- 2917, 2425, 1243, 1022, 3643, 1206, 1021, 1219, 1231, 4130,
- 1272, 4014, 2924, 1232, 169, 3350, 3739, 170, 95, 4136,
- 4137, 2007, 1244, 1454, 1237, 694, 1248, 1249, 3263, 3264,
- 713, 1107, 2444, 2443, 1458, 4131, 1231, 713, 692, 3348,
- 3380, 1232, 2607, 189, 1471, 3378, 1472, 1473, 95, 1230,
- 2052, 1229, 4027, 2600, 1458, 2870, 2871, 3315, 2358, 4108,
- 4171, 713, 3315, 95, 713, 727, 2056, 731, 725, 1260,
- 3354, 1262, 86, 2390, 1782, 88, 3009, 1955, 689, 4108,
- 1717, 4172, 3081, 3966, 2515, 3967, 2968, 704, 3341, 2993,
- 2560, 4202, 2558, 2554, 2484, 1109, 3342, 1101, 1981, 1246,
- 1247, 1264, 699, 1181, 1103, 1102, 714, 2390, 3351, 1259,
- 1261, 1437, 1443, 702, 1269, 2199, 712, 1245, 2478, 1238,
- 1271, 1956, 1252, 1957, 1212, 2577, 1270, 2578, 2603, 2579,
- 2604, 1250, 3349, 3011, 2557, 2556, 1866, 3262, 3614, 2518,
- 1157, 1251, 1468, 1492, 3613, 2561, 714, 2559, 2580, 3265,
- 1074, 1187, 1186, 1107, 1136, 95, 3898, 173, 1147, 2008,
- 1108, 3691, 1468, 3610, 2403, 3369, 179, 1493, 1494, 1495,
- 1496, 1497, 1498, 1499, 1501, 1500, 1502, 1503, 1118, 4223,
- 714, 679, 1506, 681, 695, 1156, 716, 1155, 715, 685,
- 1154, 683, 687, 696, 688, 1153, 682, 1152, 693, 714,
- 1151, 684, 697, 698, 701, 705, 706, 707, 703, 700,
- 4144, 691, 717, 2191, 1150, 2997, 1257, 2998, 2193, 3148,
- 1258, 1117, 2198, 2194, 1149, 1118, 2195, 2196, 2197, 1144,
- 1263, 2192, 2200, 2201, 2202, 2203, 2204, 2205, 2206, 2207,
- 2208, 1720, 714, 2961, 1084, 1078, 1076, 3265, 3082, 714,
- 4177, 1464, 1093, 1129, 1456, 1256, 3525, 1135, 2000, 1276,
- 2491, 1276, 1276, 1084, 1078, 1076, 2388, 2389, 3028, 1093,
- 2477, 1464, 1069, 714, 1130, 1093, 714, 3012, 3609, 1091,
- 2544, 2543, 1108, 2567, 2563, 2565, 2566, 2564, 2568, 2569,
- 2570, 164, 1996, 1166, 1445, 1860, 1174, 3285, 3176, 1129,
- 2388, 2389, 2992, 1165, 1783, 1859, 1858, 1148, 2978, 1997,
- 1036, 1516, 1521, 1522, 1856, 1525, 1527, 1528, 1529, 1530,
- 1531, 1222, 1534, 1535, 1537, 1537, 669, 1537, 1537, 1542,
- 1542, 1542, 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552,
+ 969, 3688, 3689, 87, 3687, 4018, 4204, 957, 4108, 4127,
+ 2138, 3351, 3487, 4000, 4217, 4096, 3923, 4171, 1280, 964,
+ 3637, 956, 2126, 3251, 4172, 3258, 2362, 1278, 3309, 3300,
+ 2434, 3314, 3311, 3310, 3212, 3308, 3313, 3312, 3998, 3065,
+ 2064, 3150, 2006, 5, 3624, 3266, 3329, 748, 2509, 3216,
+ 3213, 3328, 3533, 3527, 3039, 3064, 2364, 3210, 3730, 742,
+ 2389, 743, 3517, 3200, 918, 2472, 3021, 3331, 2940, 1797,
+ 2866, 776, 1089, 2972, 2477, 2941, 2540, 2497, 4069, 1753,
+ 917, 2942, 3358, 163, 2891, 2408, 1037, 2422, 87, 1057,
+ 2410, 43, 1034, 2409, 2872, 2858, 1064, 1135, 2842, 2160,
+ 2405, 1901, 1854, 41, 2318, 2286, 2122, 1037, 2072, 3013,
+ 1883, 2285, 2518, 149, 3555, 2397, 2557, 2479, 2933, 1122,
+ 1117, 1786, 1099, 2908, 2496, 1766, 2412, 100, 1714, 1533,
+ 2166, 2097, 104, 2086, 1458, 105, 1443, 2002, 1890, 1096,
+ 1093, 1125, 1128, 2494, 1982, 1097, 758, 2468, 2469, 1123,
+ 3215, 1124, 1785, 2390, 1046, 753, 1074, 1076, 1771, 1736,
+ 2174, 2193, 1516, 99, 1492, 2879, 3725, 2063, 745, 2840,
+ 107, 1043, 1268, 2014, 85, 167, 127, 125, 126, 1042,
+ 132, 3488, 3717, 1875, 133, 1208, 93, 1044, 3544, 1056,
+ 1069, 1041, 106, 84, 1032, 735, 752, 98, 4205, 1537,
+ 922, 3625, 746, 42, 3297, 4053, 1276, 2511, 2963, 1068,
+ 1254, 2511, 2512, 2513, 919, 679, 2995, 2994, 2555, 1459,
+ 3617, 4154, 1031, 3029, 3030, 1542, 3580, 1049, 128, 4049,
+ 4048, 4054, 2359, 2360, 1139, 2079, 2078, 134, 1164, 1090,
+ 2077, 2076, 2075, 2074, 2045, 1224, 4148, 676, 3692, 677,
+ 2838, 2607, 3196, 4175, 1757, 1755, 1172, 3154, 4210, 2,
+ 1106, 3692, 1101, 4195, 1050, 4158, 4227, 1967, 736, 4156,
+ 1084, 4170, 1083, 3491, 2868, 2542, 2544, 1033, 1138, 1035,
+ 3490, 2386, 1114, 4209, 1758, 1756, 1036, 2385, 1040, 2988,
+ 4157, 1475, 4001, 1058, 4155, 2803, 1159, 1165, 1168, 1169,
+ 128, 1113, 1112, 1111, 111, 112, 113, 1059, 116, 1454,
+ 3319, 122, 4027, 3319, 191, 2965, 95, 671, 95, 1225,
+ 2543, 1181, 2084, 3316, 1747, 3377, 720, 1469, 4123, 733,
+ 734, 4049, 3919, 95, 714, 3918, 2383, 1163, 2100, 1025,
+ 1026, 1027, 1028, 86, 3691, 3630, 1039, 1030, 3631, 4185,
+ 1162, 923, 3929, 4152, 3649, 95, 3638, 3691, 1445, 720,
+ 972, 973, 974, 4097, 4105, 2537, 2882, 3928, 128, 2131,
+ 3317, 4132, 2985, 3317, 1071, 1072, 1115, 972, 973, 974,
+ 3403, 1082, 1086, 921, 1864, 3248, 3249, 1261, 2839, 1263,
+ 1082, 1086, 921, 3247, 2883, 3002, 3028, 3003, 2917, 3323,
+ 2611, 2916, 3323, 2428, 2918, 4137, 1787, 714, 1788, 86,
+ 86, 1211, 3012, 4109, 3648, 2429, 2430, 2056, 2057, 1244,
+ 1023, 1249, 1250, 1273, 1022, 4135, 95, 1260, 1262, 714,
+ 2966, 4019, 2614, 1245, 2929, 4141, 4142, 1465, 714, 1472,
+ 1457, 1473, 1474, 2010, 3268, 3269, 1238, 3355, 1161, 1232,
+ 710, 4136, 1207, 3353, 1233, 1105, 2447, 2446, 1107, 3530,
+ 3744, 1178, 1179, 1180, 3385, 1183, 1184, 1185, 1186, 2875,
+ 2876, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197,
+ 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 714, 4113,
+ 714, 2605, 95, 95, 3383, 3086, 1459, 86, 695, 1471,
+ 88, 728, 2612, 2055, 2202, 2361, 4113, 4176, 4032, 1232,
+ 714, 693, 2488, 3320, 1233, 2059, 3320, 732, 1455, 714,
+ 1783, 1444, 1231, 726, 1230, 3359, 3014, 1251, 4177, 1246,
+ 1110, 2393, 1217, 1218, 1272, 1258, 2482, 1252, 1718, 1259,
+ 1271, 3356, 1239, 3971, 2519, 3972, 715, 3354, 2973, 1264,
+ 3346, 690, 1182, 3267, 2998, 2564, 2558, 1110, 3347, 1102,
+ 705, 1957, 2393, 1438, 1220, 3270, 1104, 1103, 1493, 4207,
+ 1983, 1213, 1110, 1206, 1257, 700, 2608, 2582, 2609, 2583,
+ 95, 2584, 2011, 1247, 1248, 1265, 703, 1270, 1108, 713,
+ 3374, 3016, 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1502,
+ 1501, 1503, 1504, 2194, 1469, 1958, 1253, 1959, 2196, 2562,
+ 2565, 1075, 2201, 2197, 3619, 1108, 2198, 2199, 2200, 715,
+ 3618, 2195, 2203, 2204, 2205, 2206, 2207, 2208, 2209, 2210,
+ 2211, 3615, 2585, 1188, 3903, 1187, 1118, 1210, 2560, 2522,
+ 1119, 715, 3696, 2406, 1119, 3270, 4149, 1157, 1156, 1155,
+ 715, 2561, 1154, 1153, 1152, 680, 1151, 682, 696, 1721,
+ 717, 3087, 716, 686, 2563, 684, 688, 697, 689, 3153,
+ 683, 1150, 694, 1145, 1868, 685, 698, 699, 702, 706,
+ 707, 708, 704, 701, 1158, 692, 718, 4228, 2481, 2571,
+ 2567, 2569, 2570, 2568, 2572, 2573, 2574, 1094, 1094, 1167,
+ 715, 1092, 715, 1131, 4182, 1130, 1085, 1079, 1077, 1166,
+ 1277, 1094, 1277, 1277, 1465, 1085, 1079, 1077, 1109, 1130,
+ 2003, 2495, 715, 1070, 2391, 2392, 3017, 2548, 2547, 1999,
+ 1446, 715, 2967, 1464, 1461, 1462, 1463, 1468, 1470, 1467,
+ 3290, 1466, 1175, 2997, 1209, 1109, 3614, 3000, 1862, 1861,
+ 1784, 1460, 2541, 1860, 2983, 2391, 2392, 2000, 1858, 1223,
+ 1109, 1037, 1517, 1522, 1523, 3531, 1526, 1528, 1529, 1530,
+ 1531, 1532, 670, 1535, 1536, 1538, 1538, 4150, 1538, 1538,
+ 1543, 1543, 1543, 1546, 1547, 1548, 1549, 1550, 1551, 1552,
1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562,
1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572,
1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582,
@@ -1779,922 +1781,912 @@ var yyAct = [...]int{
1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642,
1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652,
1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662,
- 1663, 1664, 1665, 1666, 1667, 1668, 1513, 4021, 1265, 2959,
- 1669, 2537, 1671, 1672, 1673, 1674, 1675, 1115, 1967, 1966,
- 1968, 1969, 1970, 1452, 1542, 1542, 1542, 1542, 1542, 1542,
- 969, 1435, 1436, 1434, 1218, 1526, 4067, 718, 1215, 1682,
+ 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1514, 1116, 4026,
+ 1266, 1670, 2964, 1672, 1673, 1674, 1675, 1676, 1436, 1437,
+ 3690, 3578, 3579, 3647, 94, 1543, 1543, 1543, 1543, 1543,
+ 1543, 1435, 1219, 3690, 1216, 1527, 4140, 970, 4111, 970,
1683, 1684, 1685, 1686, 1687, 1688, 1689, 1690, 1691, 1692,
- 1693, 1694, 1695, 1509, 1510, 1511, 1512, 4106, 710, 3573,
- 3574, 969, 3642, 1523, 1136, 94, 2926, 1145, 1517, 4135,
- 1710, 1077, 1538, 711, 1539, 1540, 969, 4106, 3316, 3317,
- 165, 1543, 1544, 3316, 3317, 2982, 3685, 177, 2608, 4105,
- 1077, 3320, 89, 1709, 2962, 94, 3320, 1463, 1460, 1461,
- 1462, 1467, 1469, 1466, 3685, 1465, 1210, 1506, 1228, 4105,
- 94, 1136, 3526, 4134, 2607, 1459, 2995, 1463, 1460, 1461,
- 1462, 1467, 1469, 1466, 1716, 1465, 4216, 3470, 185, 2981,
- 1887, 3006, 3370, 1036, 3005, 1459, 4145, 1036, 1173, 1745,
- 4009, 3015, 3157, 1036, 1507, 1508, 1241, 3564, 3546, 3156,
- 2481, 2908, 1136, 2873, 2810, 2131, 1708, 1774, 1227, 1986,
- 1233, 1234, 1235, 1236, 910, 2535, 1670, 1135, 1221, 2868,
- 1707, 166, 171, 168, 174, 175, 176, 178, 180, 181,
- 182, 183, 124, 677, 1273, 1274, 2432, 184, 186, 187,
- 188, 2482, 2155, 2624, 1506, 1503, 3241, 2635, 2480, 1746,
- 2838, 2840, 94, 1486, 1052, 1268, 119, 4035, 3174, 1136,
- 1159, 3605, 3538, 1254, 1135, 2555, 1146, 2065, 1993, 2172,
- 193, 1788, 2012, 673, 1708, 1676, 1677, 1678, 1679, 1680,
- 1681, 1726, 2483, 3055, 1724, 104, 2173, 1226, 1728, 1886,
- 2164, 2951, 2479, 673, 1035, 4181, 2164, 1727, 2644, 1473,
- 1474, 105, 1472, 1473, 1714, 1135, 3734, 1701, 2532, 1046,
- 1136, 1129, 1132, 1133, 3580, 1093, 1985, 1109, 1205, 1126,
- 1130, 3579, 2522, 1896, 1895, 3035, 1066, 1066, 1885, 2530,
- 107, 2527, 2635, 120, 3018, 673, 1136, 1147, 1145, 3017,
- 2147, 2136, 2137, 2138, 2139, 2149, 2140, 2141, 2142, 2154,
- 2150, 2143, 2144, 2151, 2152, 2153, 2145, 2146, 2148, 1474,
- 1136, 3018, 1135, 1722, 1879, 1047, 3017, 1139, 1129, 1863,
- 1864, 1865, 1141, 2527, 2531, 4224, 1142, 1140, 4173, 3565,
- 1725, 3387, 1209, 4068, 1950, 1872, 1901, 4218, 1902, 2005,
- 1904, 1906, 1889, 1889, 1910, 1912, 1914, 1916, 1918, 1751,
- 1032, 1711, 3906, 1891, 1748, 1034, 1723, 4214, 1932, 3037,
- 4215, 1240, 4213, 1135, 1276, 1172, 2529, 1779, 1780, 1169,
- 1255, 2534, 1242, 2839, 2170, 1211, 1847, 1890, 1989, 2013,
- 1987, 1988, 4069, 1990, 1991, 1992, 1940, 1941, 3905, 1135,
- 1225, 4001, 1946, 1947, 1855, 1129, 1132, 1133, 1471, 1093,
- 1472, 1473, 1746, 1126, 1130, 1869, 1870, 3057, 971, 972,
- 973, 1882, 1868, 1135, 3639, 3896, 3640, 1729, 1139, 1129,
- 1982, 4225, 1983, 1141, 1125, 1984, 1746, 1142, 1140, 3656,
- 3047, 3046, 3045, 3655, 2169, 3039, 2099, 3043, 1208, 3038,
- 4002, 3036, 1474, 1975, 3587, 1893, 3041, 3586, 1143, 3576,
- 2100, 1504, 1505, 2098, 1108, 3040, 3293, 1471, 3281, 1472,
- 1473, 2001, 2933, 2932, 2931, 1936, 1498, 1499, 1501, 1500,
- 1502, 1503, 1928, 3042, 3044, 1931, 1492, 1933, 2487, 1488,
- 1973, 1489, 1976, 1960, 1962, 1861, 128, 1959, 1112, 1111,
- 1958, 1492, 1110, 3027, 1948, 1490, 1504, 1505, 1487, 1942,
- 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1501, 1500, 1502,
- 1503, 1939, 1938, 2018, 1974, 1493, 1494, 1495, 1496, 1497,
- 1498, 1499, 1501, 1500, 1502, 1503, 1496, 1497, 1498, 1499,
- 1501, 1500, 1502, 1503, 1276, 1276, 2040, 1937, 1908, 2014,
- 2015, 1492, 2087, 2088, 2614, 2615, 1721, 4174, 2320, 87,
- 1474, 1972, 87, 2019, 1474, 1961, 190, 3345, 1439, 1474,
- 2026, 2027, 2028, 2685, 719, 1493, 1494, 1495, 1496, 1497,
- 1498, 1499, 1501, 1500, 1502, 1503, 1492, 1782, 2623, 129,
- 1763, 3570, 4030, 719, 2039, 1474, 2915, 1492, 719, 4029,
- 1471, 1474, 1472, 1473, 2503, 172, 2502, 2501, 1474, 2500,
- 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1501, 1500, 1502,
- 1503, 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1501, 1500,
- 1502, 1503, 2859, 4201, 2395, 2396, 2126, 2126, 2124, 2124,
- 2127, 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1501, 1500,
- 1502, 1503, 4186, 1746, 1746, 2089, 4184, 1746, 4161, 1746,
- 42, 1762, 1709, 42, 2499, 169, 2498, 4005, 170, 1494,
- 1495, 1496, 1497, 1498, 1499, 1501, 1500, 1502, 1503, 2087,
- 2088, 2085, 2086, 2633, 2859, 1746, 2210, 4114, 1746, 1470,
- 1746, 4023, 1474, 2632, 189, 1480, 1481, 1482, 1483, 1484,
- 1485, 1479, 1476, 2320, 1759, 2084, 4004, 2317, 1471, 2224,
- 1472, 1473, 1471, 2683, 1472, 1473, 2319, 1471, 110, 1472,
- 1473, 1474, 4003, 1470, 1746, 1708, 2016, 1474, 3901, 109,
- 3885, 108, 967, 2020, 1474, 2022, 2023, 2024, 2025, 1707,
- 2066, 1474, 2029, 1471, 2096, 1472, 1473, 85, 2681, 1471,
- 85, 1472, 1473, 1760, 2041, 1474, 1471, 2159, 1472, 1473,
- 101, 2859, 4099, 2101, 2047, 2048, 1474, 2859, 4078, 2102,
- 102, 2104, 2105, 2106, 2107, 2108, 2109, 2111, 2113, 2114,
- 2115, 2116, 2117, 2118, 4112, 1746, 2859, 4074, 3933, 2307,
- 2308, 2309, 2310, 2311, 3884, 1474, 3986, 1746, 2330, 2130,
- 2103, 1474, 3733, 3249, 1746, 101, 2332, 2328, 173, 2335,
- 2336, 103, 2234, 4110, 1746, 102, 1474, 179, 3731, 3979,
- 1746, 3932, 2329, 2174, 2175, 2176, 2177, 1746, 3623, 4020,
- 103, 1746, 3889, 3928, 1517, 3909, 1746, 2188, 2316, 2318,
- 1471, 2209, 1472, 1473, 673, 2353, 673, 3977, 1746, 2859,
- 3897, 3888, 2165, 3652, 3250, 1706, 2226, 1705, 3974, 1746,
- 3631, 1474, 1704, 3623, 1746, 1474, 2859, 3621, 2969, 1471,
- 1474, 1472, 1473, 3584, 1474, 1471, 1746, 1472, 1473, 3252,
- 3569, 3355, 1471, 3352, 1472, 1473, 3284, 3956, 1746, 1471,
- 2411, 1472, 1473, 3511, 1746, 1746, 1474, 2327, 2671, 3247,
- 2333, 2334, 2330, 1471, 1474, 1472, 1473, 673, 3504, 1746,
- 2947, 2328, 3283, 104, 1471, 1474, 1472, 1473, 3263, 3264,
- 2527, 1746, 1474, 3544, 1746, 3248, 2400, 2765, 1746, 105,
- 3274, 3273, 3271, 3272, 104, 1520, 2441, 3269, 3270, 2440,
- 2375, 1474, 164, 1471, 2363, 1472, 1473, 2942, 1474, 1471,
- 105, 1472, 1473, 3501, 1746, 3269, 3268, 3499, 1746, 3254,
- 2929, 2095, 1098, 1746, 1471, 1703, 1472, 1473, 2883, 1746,
- 2607, 2991, 1851, 2972, 2965, 2966, 1474, 2859, 2858, 2450,
- 2451, 2452, 2453, 2445, 1474, 2446, 2447, 2448, 2449, 4175,
- 95, 2413, 1696, 2904, 2436, 1098, 2435, 4018, 4140, 1048,
- 2598, 2456, 2457, 2458, 2459, 2590, 2417, 3559, 2376, 1471,
- 2589, 1472, 1473, 1471, 3506, 1472, 1473, 2369, 1471, 2370,
- 1472, 1473, 1471, 2378, 1472, 1473, 2549, 3262, 2129, 1746,
- 2516, 2470, 2351, 2439, 3893, 2875, 2476, 2548, 2385, 3265,
- 2398, 3606, 3541, 2364, 1471, 2043, 1472, 1473, 2009, 2422,
- 2423, 2421, 1471, 1082, 1472, 1473, 1971, 2438, 1474, 1963,
- 2437, 2905, 1474, 1471, 1953, 1472, 1473, 1474, 3462, 1746,
- 1471, 2907, 1472, 1473, 1474, 1949, 3460, 1746, 2513, 1945,
- 1474, 1944, 1083, 1943, 2486, 1474, 2856, 1851, 1850, 1471,
- 1474, 1472, 1473, 1761, 1474, 1266, 1471, 1138, 1472, 1473,
- 103, 1474, 2904, 1794, 1793, 2471, 1474, 1889, 2467, 3537,
- 3540, 2489, 2883, 2485, 2521, 3236, 1470, 2524, 3206, 2525,
- 2497, 2460, 2462, 2463, 1471, 2607, 1472, 1473, 2882, 3537,
- 2875, 2541, 1471, 4062, 1472, 1473, 2528, 109, 1520, 2520,
- 2471, 2523, 4034, 2519, 2859, 1474, 2883, 3490, 1137, 3271,
- 3456, 1746, 3179, 2424, 3453, 1746, 3251, 2545, 2765, 2542,
- 2934, 2546, 2547, 2668, 2854, 2667, 3451, 1746, 1474, 2527,
- 2905, 2510, 3449, 1746, 1474, 2393, 1750, 3447, 1746, 2354,
- 2607, 165, 3445, 1746, 110, 2129, 3443, 1746, 177, 2883,
- 1747, 1749, 2612, 3441, 1746, 109, 673, 108, 3439, 1746,
- 2527, 1036, 1036, 1036, 2552, 103, 1471, 3537, 1472, 1473,
- 1471, 1470, 1472, 1473, 2067, 1471, 1474, 1472, 1473, 1046,
- 2051, 1527, 1471, 1527, 1472, 1473, 1995, 3588, 1471, 185,
- 1472, 1473, 1781, 1471, 1474, 1472, 1473, 3502, 1471, 2627,
- 1472, 1473, 1471, 673, 1472, 1473, 1120, 1037, 1119, 1471,
- 2583, 1472, 1473, 4081, 1471, 3920, 1472, 1473, 1753, 2330,
- 3437, 1746, 673, 3886, 1474, 3296, 3435, 1746, 2630, 3746,
- 1746, 3604, 166, 171, 168, 174, 175, 176, 178, 180,
- 181, 182, 183, 2329, 3589, 3590, 3591, 3601, 184, 186,
- 187, 188, 3582, 1471, 1474, 1472, 1473, 3403, 3402, 1853,
- 2469, 1474, 1924, 2599, 3343, 3298, 2650, 1474, 3433, 1746,
- 3294, 1474, 1520, 2973, 2466, 2461, 1471, 2605, 1472, 1473,
- 2455, 2454, 1471, 2665, 1472, 1473, 3431, 1746, 1978, 1474,
- 95, 2613, 1884, 1474, 1880, 1849, 121, 2938, 2939, 1520,
- 1210, 3347, 1520, 3921, 1520, 673, 2619, 2616, 2617, 2618,
- 1474, 2484, 3592, 2367, 4196, 2096, 3429, 1746, 4194, 1925,
- 1926, 1927, 3551, 3552, 1471, 1951, 1472, 1473, 4168, 4042,
- 3961, 2045, 3554, 1474, 2631, 3557, 3290, 3289, 3288, 2620,
- 673, 2622, 1471, 1474, 1472, 1473, 3427, 1746, 3556, 3206,
- 2625, 2939, 2626, 3425, 1746, 1474, 2004, 673, 3255, 3423,
- 1746, 2952, 3259, 3409, 1746, 3593, 3594, 3595, 2643, 3258,
- 2621, 2584, 1471, 673, 1472, 1473, 3225, 3224, 1474, 1920,
- 673, 3385, 1746, 1474, 4038, 2830, 1746, 1474, 674, 2030,
- 2031, 673, 673, 673, 673, 673, 673, 673, 2046, 2809,
- 3922, 3228, 1471, 3260, 1472, 1473, 3229, 2628, 3256, 1471,
- 2384, 1472, 1473, 3257, 1050, 1471, 1474, 1472, 1473, 1471,
- 1474, 1472, 1473, 3226, 2679, 3468, 2797, 3230, 3227, 2892,
- 2893, 2841, 1921, 1922, 1923, 2828, 1746, 1471, 1758, 1472,
- 1473, 1471, 2373, 1472, 1473, 3545, 3724, 2803, 1746, 3184,
- 1036, 3183, 4000, 3726, 2126, 3533, 2124, 2844, 1471, 3193,
- 1472, 1473, 736, 2592, 2593, 1051, 2922, 1474, 2595, 1994,
- 2780, 1746, 1020, 2880, 2881, 3464, 2842, 2596, 3267, 2772,
- 1746, 1471, 2411, 1472, 1473, 1036, 2900, 3711, 1474, 3710,
- 2943, 1471, 3530, 1472, 1473, 2092, 2090, 2091, 1474, 1053,
- 3529, 2172, 2845, 1471, 2847, 1472, 1473, 1054, 2763, 1746,
- 3196, 3198, 2761, 1746, 1474, 1176, 1062, 2860, 2173, 3199,
- 2576, 1492, 1474, 2575, 2574, 2879, 1471, 2573, 1472, 1473,
- 1061, 1471, 2095, 1472, 1473, 1471, 2640, 1472, 1473, 2572,
- 2571, 1175, 3709, 3363, 2938, 1493, 1494, 1495, 1496, 1497,
- 1498, 1499, 1501, 1500, 1502, 1503, 2869, 1714, 2832, 2748,
- 1746, 3021, 101, 1438, 1471, 2979, 1472, 1473, 1471, 1708,
- 1472, 1473, 102, 129, 42, 1474, 3535, 103, 2925, 2927,
- 2746, 1746, 2898, 2897, 1474, 2852, 2899, 4210, 101, 1474,
- 3400, 673, 110, 3286, 103, 2872, 2857, 2918, 102, 2977,
- 1474, 2587, 2902, 109, 1474, 108, 2744, 1746, 1474, 2395,
- 2396, 4117, 4019, 103, 2639, 1471, 3916, 1472, 1473, 2906,
- 2476, 3266, 2896, 1474, 2909, 2379, 3182, 1474, 3513, 2611,
- 3985, 2916, 2050, 108, 3181, 2919, 1471, 3984, 1472, 1473,
- 3964, 3732, 109, 110, 3730, 2988, 1471, 2167, 1472, 1473,
- 2930, 1520, 2168, 2941, 109, 3523, 108, 3729, 2944, 2945,
- 3722, 3602, 1471, 3534, 1472, 1473, 3532, 2742, 1746, 1520,
- 1471, 2940, 1472, 1473, 3299, 2511, 2740, 1746, 1867, 1060,
- 2948, 2738, 1746, 2949, 3721, 2953, 2954, 2955, 110, 2875,
- 2230, 2985, 2736, 1746, 3695, 1872, 2734, 1746, 2856, 109,
- 2732, 1746, 3085, 1474, 4198, 4197, 4197, 3031, 3032, 1474,
- 2669, 2974, 2975, 2365, 1775, 2730, 1746, 4198, 1767, 2728,
- 1746, 3, 4006, 1471, 2155, 1472, 1473, 3568, 2984, 114,
- 115, 3051, 1471, 2064, 1472, 1473, 10, 1471, 2062, 1472,
- 1473, 9, 2063, 97, 1, 8, 1028, 1441, 1471, 1474,
- 1472, 1473, 1471, 1474, 1472, 1473, 1471, 3010, 1472, 1473,
- 3048, 3029, 1440, 3572, 4129, 690, 2355, 1712, 4169, 3013,
- 2313, 1471, 4125, 1472, 1473, 1471, 4126, 1472, 1473, 1964,
- 1954, 3634, 2281, 3917, 3066, 3067, 3068, 3069, 3070, 3071,
- 3072, 3073, 3074, 3075, 3302, 2726, 1746, 1474, 2517, 3600,
- 2345, 2724, 1746, 2474, 3083, 2004, 2888, 2891, 2892, 2893,
- 2889, 1128, 2890, 2894, 3049, 154, 3551, 3552, 1747, 2352,
- 2433, 2986, 2147, 2136, 2137, 2138, 2139, 2149, 2140, 2141,
- 2142, 2154, 2150, 2143, 2144, 2151, 2152, 2153, 2145, 2146,
- 2148, 2722, 1746, 1474, 2434, 2720, 1746, 4094, 118, 1086,
- 1951, 1471, 117, 1472, 1473, 1131, 1239, 1471, 2377, 1472,
- 1473, 2512, 3624, 3125, 3087, 3127, 1066, 3033, 2923, 3143,
- 2442, 3019, 1800, 1798, 3020, 3050, 1799, 1797, 1802, 1801,
- 4066, 3138, 3139, 3140, 3141, 1046, 3371, 2670, 3469, 2718,
- 1746, 2055, 726, 2895, 3030, 720, 192, 1471, 1789, 1472,
- 1473, 1471, 673, 1472, 1473, 1768, 2049, 3161, 1170, 2004,
- 673, 680, 673, 3150, 673, 2420, 3275, 2550, 1474, 686,
- 1524, 2964, 3152, 2044, 3180, 2910, 1080, 2411, 1072, 2366,
- 2846, 3076, 1079, 1474, 3894, 2716, 1746, 2316, 2318, 2316,
- 2318, 3214, 1474, 3527, 3123, 1471, 3192, 1472, 1473, 3213,
- 3194, 87, 2862, 3197, 2411, 2411, 2411, 2411, 2411, 3190,
- 3999, 1474, 3723, 4079, 2488, 3133, 3134, 3135, 3136, 3137,
- 3161, 2920, 1764, 3489, 2411, 2642, 2162, 2411, 3151, 1514,
- 3153, 2888, 2891, 2892, 2893, 2889, 3218, 2890, 2894, 2410,
- 1474, 1471, 3690, 1472, 1473, 2082, 2005, 3160, 749, 1474,
- 3235, 748, 746, 3178, 2848, 2876, 1478, 1477, 1474, 3172,
- 2714, 1746, 957, 1474, 2836, 1776, 3185, 2887, 3173, 3175,
- 3177, 2885, 2884, 3187, 2585, 2709, 1746, 3188, 2413, 2418,
- 3553, 3200, 3201, 3549, 2705, 1746, 4121, 2412, 1040, 3220,
- 3221, 3319, 3223, 3217, 3219, 1041, 2408, 3222, 2855, 3186,
- 1474, 3327, 1039, 2703, 1746, 2413, 2413, 2413, 2413, 2413,
- 908, 3239, 3231, 104, 907, 1474, 1471, 758, 1472, 1473,
- 1474, 750, 740, 970, 3237, 2413, 1474, 3238, 2413, 105,
- 3245, 1471, 3399, 1472, 1473, 3276, 906, 3278, 905, 3277,
- 1471, 3391, 1472, 1473, 3329, 3330, 2994, 3344, 2996, 2921,
- 2696, 1746, 3340, 1474, 1455, 2694, 1746, 1731, 1734, 1471,
- 2374, 1472, 1473, 673, 3279, 3280, 3331, 1099, 2476, 3321,
- 673, 3368, 1474, 3328, 3332, 3300, 3203, 4025, 2610, 3397,
- 673, 673, 1730, 3338, 673, 4032, 2588, 3310, 1471, 3618,
- 1472, 1473, 3389, 3291, 2970, 2504, 673, 1471, 69, 1472,
- 1473, 3356, 3358, 673, 3359, 3209, 1471, 2826, 1472, 1473,
- 3209, 1471, 2825, 1472, 1473, 3366, 46, 1474, 2821, 3994,
- 4063, 900, 897, 3692, 3693, 3694, 3146, 3373, 3374, 673,
- 3375, 3147, 4045, 3377, 3376, 3379, 4046, 3381, 1736, 896,
- 3392, 3393, 3394, 3395, 3396, 2820, 4047, 2219, 1471, 1451,
- 1472, 1473, 1744, 1448, 4142, 1737, 2057, 96, 36, 35,
- 34, 33, 32, 1471, 2819, 1472, 1473, 26, 1471, 25,
- 1472, 1473, 24, 23, 1471, 1527, 1472, 1473, 22, 1527,
- 2371, 2372, 1743, 1741, 1742, 1738, 29, 1739, 19, 21,
- 2629, 20, 18, 3313, 2634, 3514, 3301, 3516, 4164, 4209,
- 123, 1471, 55, 1472, 1473, 52, 50, 131, 3484, 2818,
- 1740, 130, 53, 49, 1520, 3488, 2004, 2637, 1213, 2638,
- 1471, 47, 1472, 1473, 31, 2646, 30, 17, 16, 2648,
- 2649, 15, 14, 13, 12, 11, 7, 6, 2655, 2656,
- 2657, 2658, 2659, 2660, 2661, 2662, 2663, 2664, 3367, 2666,
- 39, 38, 37, 28, 27, 40, 4, 2411, 1709, 3515,
- 2957, 3517, 3212, 2506, 0, 1471, 3519, 1472, 1473, 0,
- 3566, 3524, 2672, 2673, 2674, 2675, 0, 2677, 2678, 3531,
- 2680, 1474, 0, 0, 2682, 1474, 0, 3536, 2687, 2688,
- 0, 2689, 0, 0, 2692, 2693, 2695, 2697, 2698, 2699,
- 2700, 2701, 2702, 2704, 2706, 2707, 2708, 2710, 738, 2712,
- 2713, 2715, 2717, 2719, 2721, 2723, 2725, 2727, 2729, 2731,
- 2733, 2735, 2737, 2739, 2741, 2743, 2745, 2747, 2749, 2750,
- 2751, 3521, 2753, 3322, 2755, 3331, 2757, 2758, 3558, 2760,
- 2762, 2764, 3328, 3332, 3491, 2767, 3493, 3494, 3495, 2771,
- 3583, 3567, 3585, 2776, 2777, 2778, 2779, 3561, 2413, 3560,
- 3628, 3629, 3555, 1474, 3548, 0, 2790, 2791, 2792, 2793,
- 2794, 2795, 0, 2817, 2799, 2800, 0, 2816, 0, 0,
- 1474, 0, 2802, 3562, 3563, 3577, 3578, 2808, 0, 1474,
- 0, 0, 2811, 2812, 2813, 2814, 2815, 0, 0, 1474,
- 0, 0, 0, 2822, 2823, 1474, 2824, 0, 0, 2827,
- 2829, 2377, 1474, 2831, 0, 0, 0, 1059, 3361, 3362,
- 1065, 1065, 0, 2843, 0, 0, 1474, 0, 0, 1471,
- 1474, 1472, 1473, 1471, 0, 1472, 1473, 1474, 3611, 673,
- 0, 0, 3615, 3616, 3617, 3630, 0, 1951, 0, 0,
- 0, 0, 0, 0, 0, 2807, 3646, 0, 0, 1474,
- 0, 0, 0, 0, 0, 0, 0, 1474, 0, 0,
- 0, 0, 2806, 1474, 0, 0, 0, 0, 0, 1474,
- 0, 2805, 0, 3657, 0, 0, 0, 0, 0, 0,
- 0, 2804, 0, 0, 0, 0, 673, 2801, 0, 1474,
- 0, 673, 0, 1474, 2796, 0, 0, 0, 0, 3679,
- 0, 1471, 0, 1472, 1473, 0, 1474, 0, 2789, 0,
- 0, 0, 2788, 3698, 0, 3699, 3700, 3701, 1471, 2787,
- 1472, 1473, 0, 3708, 1474, 0, 3715, 1471, 3717, 1472,
- 1473, 0, 0, 1474, 0, 0, 0, 1471, 3688, 1472,
- 1473, 2786, 0, 1471, 0, 1472, 1473, 0, 0, 2785,
- 1471, 3213, 1472, 1473, 87, 2784, 3213, 3718, 0, 1474,
- 0, 2783, 0, 0, 1471, 673, 1472, 1473, 1471, 0,
- 1472, 1473, 2956, 1474, 0, 1471, 0, 1472, 1473, 0,
- 0, 2782, 0, 0, 1474, 2781, 0, 0, 2126, 3651,
- 2124, 3748, 3728, 3727, 3719, 3738, 1474, 1471, 2775, 1472,
- 1473, 3735, 3737, 0, 0, 1471, 3740, 1472, 1473, 0,
- 0, 1471, 0, 1472, 1473, 0, 2774, 1471, 1520, 1472,
- 1473, 3900, 0, 0, 0, 2773, 0, 3752, 0, 0,
- 0, 673, 673, 673, 673, 673, 673, 1471, 0, 1472,
- 1473, 1471, 0, 1472, 1473, 0, 0, 0, 3607, 3608,
- 0, 2770, 0, 0, 1471, 42, 1472, 1473, 673, 673,
- 3892, 0, 3891, 0, 0, 2769, 0, 0, 0, 0,
- 3919, 3907, 1471, 3912, 1472, 1473, 2768, 0, 3911, 0,
- 0, 1471, 673, 1472, 1473, 0, 0, 0, 2766, 0,
- 0, 0, 3890, 0, 3958, 3959, 3749, 3750, 0, 0,
- 3061, 3062, 3063, 3064, 3065, 3742, 3716, 1471, 0, 1472,
- 1473, 0, 0, 0, 0, 0, 2126, 0, 2124, 3962,
- 3080, 1471, 0, 1472, 1473, 0, 0, 0, 3902, 3903,
- 3904, 0, 1471, 0, 1472, 1473, 0, 0, 0, 0,
- 0, 0, 0, 0, 1471, 0, 1472, 1473, 0, 4007,
- 3213, 0, 3965, 0, 3744, 3209, 3968, 3998, 0, 0,
- 0, 0, 0, 0, 1545, 1546, 1547, 1548, 1549, 1550,
- 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560,
- 1561, 1562, 1563, 1565, 1566, 1567, 1568, 1569, 1570, 1571,
- 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581,
- 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591,
- 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601,
- 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611,
- 1612, 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621,
- 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631,
- 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641,
- 1642, 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652,
- 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1665, 1666, 1667,
- 1668, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, 1690,
- 1691, 1692, 1693, 1694, 1695, 3992, 3963, 3991, 3982, 4008,
- 0, 1474, 0, 0, 0, 3988, 1474, 3990, 0, 4026,
- 0, 0, 0, 0, 3212, 1474, 0, 0, 0, 3212,
- 0, 0, 0, 0, 0, 0, 0, 87, 0, 1066,
- 3215, 673, 0, 0, 0, 1709, 4011, 0, 0, 0,
- 0, 1474, 0, 0, 0, 0, 0, 0, 3233, 0,
- 0, 0, 1520, 0, 3895, 4015, 4028, 1520, 673, 673,
- 673, 673, 673, 4010, 4031, 0, 0, 1474, 0, 0,
- 3232, 0, 0, 0, 0, 0, 1951, 0, 673, 4033,
- 0, 673, 3240, 2004, 3899, 0, 0, 0, 0, 0,
- 0, 4040, 0, 2759, 0, 0, 0, 0, 2756, 4050,
- 0, 0, 0, 0, 0, 0, 0, 2754, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 4051, 0,
- 0, 4052, 0, 0, 0, 4076, 0, 673, 42, 0,
- 87, 0, 0, 2752, 0, 0, 0, 0, 1475, 0,
- 0, 4061, 0, 1520, 0, 0, 0, 0, 0, 1471,
- 4070, 1472, 1473, 673, 1471, 0, 1472, 1473, 0, 2711,
- 4082, 1709, 0, 1471, 4107, 1472, 1473, 673, 0, 1533,
- 4093, 3919, 4096, 4085, 4090, 4087, 3365, 4086, 4084, 4089,
- 4088, 0, 4080, 0, 0, 4115, 0, 673, 0, 1471,
- 673, 1472, 1473, 0, 0, 0, 4012, 0, 3382, 3383,
- 0, 3384, 3386, 3388, 0, 0, 4138, 0, 0, 4128,
- 0, 0, 4133, 3212, 4120, 1471, 0, 1472, 1473, 0,
- 0, 4107, 4148, 0, 4146, 0, 0, 0, 4159, 3401,
- 1817, 42, 0, 1474, 3404, 0, 3406, 3407, 3408, 3410,
- 3411, 3412, 3413, 3414, 3415, 3416, 3417, 3418, 3419, 3420,
- 3421, 3422, 3424, 3426, 3428, 3430, 3432, 3434, 3436, 3438,
- 3440, 3442, 3444, 3446, 3448, 3450, 3452, 3454, 3455, 3457,
- 3458, 3459, 3461, 2005, 4163, 3463, 4182, 3465, 3466, 3467,
- 4188, 4189, 3471, 3472, 3473, 3474, 3475, 3476, 3477, 3478,
- 3479, 3480, 3481, 2126, 4195, 2124, 4192, 4178, 4107, 4203,
- 4193, 3487, 4179, 4191, 4158, 3492, 0, 4077, 0, 3496,
- 3497, 4211, 3498, 3500, 0, 3503, 3505, 4219, 3507, 3508,
- 3509, 3510, 4217, 0, 3209, 2691, 1474, 0, 3518, 4072,
- 1474, 1736, 0, 4162, 1474, 0, 4017, 0, 4228, 4229,
- 3959, 4227, 1817, 1474, 0, 1744, 0, 0, 1737, 0,
- 0, 2126, 1474, 2124, 4226, 673, 1474, 0, 0, 0,
- 1474, 0, 0, 3542, 3543, 0, 0, 3547, 0, 0,
- 4036, 0, 4024, 1732, 1733, 1743, 1741, 1742, 1738, 0,
- 1739, 1471, 0, 1472, 1473, 0, 1805, 0, 4154, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1740, 0, 0, 0, 0, 0, 0,
- 0, 673, 0, 0, 0, 0, 0, 0, 2690, 0,
- 0, 0, 2686, 0, 0, 0, 2684, 0, 0, 0,
- 0, 0, 0, 0, 0, 2676, 0, 0, 0, 0,
- 673, 0, 0, 0, 2647, 0, 0, 0, 2641, 0,
- 0, 0, 2636, 0, 0, 0, 0, 4071, 0, 1766,
- 673, 0, 0, 673, 673, 673, 0, 0, 0, 0,
- 1818, 0, 0, 3622, 1471, 0, 1472, 1473, 1471, 0,
- 1472, 1473, 1471, 0, 1472, 1473, 0, 0, 0, 0,
- 0, 1471, 0, 1472, 1473, 0, 0, 1854, 1805, 0,
- 1471, 0, 1472, 1473, 1471, 0, 1472, 1473, 1471, 0,
- 1472, 1473, 0, 0, 0, 0, 0, 0, 3641, 0,
- 0, 3645, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1831, 1834, 1835, 1836, 1837, 1838, 1839,
- 0, 1840, 1841, 1843, 1844, 1842, 1845, 1846, 1819, 1820,
- 1821, 1822, 1803, 1804, 1832, 3658, 1806, 0, 1807, 1808,
- 1809, 1810, 1811, 1812, 1813, 1814, 1815, 0, 0, 1816,
- 1823, 1824, 1825, 1826, 0, 1827, 1828, 1829, 1830, 0,
- 0, 0, 1818, 0, 0, 0, 0, 0, 0, 0,
- 4176, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 3681,
- 0, 0, 0, 0, 1018, 2010, 0, 2320, 0, 0,
- 1019, 0, 3689, 0, 0, 0, 0, 0, 0, 3696,
- 2125, 0, 0, 0, 0, 1831, 1834, 1835, 1836, 1837,
- 1838, 1839, 0, 1840, 1841, 1843, 1844, 1842, 1845, 1846,
- 1819, 1820, 1821, 1822, 1803, 1804, 1832, 0, 1806, 0,
- 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1814, 1815, 0,
- 0, 1816, 1823, 1824, 1825, 1826, 0, 1827, 1828, 1829,
- 1830, 0, 0, 1951, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1520, 0, 0, 0, 1951, 0, 976, 977,
- 978, 979, 980, 981, 982, 983, 984, 985, 986, 987,
- 988, 989, 990, 991, 992, 993, 994, 995, 996, 997,
- 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007,
- 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017,
- 0, 0, 0, 0, 0, 0, 0, 0, 3908, 0,
- 0, 0, 0, 0, 0, 0, 0, 3915, 0, 0,
- 0, 0, 0, 0, 0, 1833, 0, 0, 0, 0,
- 0, 0, 1951, 0, 0, 0, 0, 3925, 3926, 3927,
- 0, 3929, 0, 3930, 3931, 0, 0, 0, 0, 3934,
- 3935, 3936, 3937, 3938, 3939, 3940, 3941, 3942, 3943, 3944,
- 3945, 3946, 3947, 3948, 3949, 3950, 3951, 3952, 3953, 3954,
- 3955, 0, 3957, 3960, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 3969, 3970,
- 3971, 3972, 3973, 3975, 3976, 3978, 3980, 3981, 3983, 0,
- 0, 0, 3987, 0, 0, 0, 3989, 0, 0, 2077,
- 2078, 2079, 2080, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 2093, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1833, 0, 0,
- 0, 4016, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 2132, 2133, 0, 0, 0, 0, 2156, 0, 0, 2160,
- 2161, 0, 0, 0, 2166, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 2178,
- 2179, 2180, 2181, 2182, 2183, 2184, 2185, 2186, 2187, 0,
- 2189, 0, 0, 0, 2211, 2212, 2213, 2214, 2215, 2216,
- 2217, 2218, 2220, 0, 2225, 0, 2227, 2228, 2229, 0,
- 2231, 2232, 2233, 0, 2235, 2236, 2237, 2238, 2239, 2240,
- 2241, 2242, 2243, 2244, 2245, 2246, 2247, 2248, 2249, 2250,
- 2251, 2252, 2253, 2254, 2255, 2256, 2257, 2258, 2259, 2260,
- 2261, 2262, 2263, 2264, 2265, 2266, 2267, 2268, 2269, 2270,
- 2271, 2272, 2273, 2274, 2275, 2276, 2277, 2278, 2279, 2280,
- 2284, 2285, 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2293,
- 2294, 2295, 2296, 2297, 2298, 2299, 2300, 2301, 2302, 2303,
- 2304, 2305, 2306, 0, 0, 0, 0, 0, 2312, 0,
- 2314, 0, 2321, 2322, 2323, 2324, 2325, 2326, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1951, 0, 0,
- 0, 2337, 2338, 2339, 2340, 2341, 2342, 2343, 2344, 0,
- 2346, 2347, 2348, 2349, 2350, 0, 673, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 4041, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1065, 0, 4056, 0, 0, 0, 0, 0, 4059, 0,
- 4060, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 190, 0, 0, 0, 0, 0, 0,
- 0, 2391, 2392, 4075, 2963, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 129, 0, 151, 0,
- 0, 1520, 0, 0, 0, 0, 0, 2430, 0, 4101,
- 4102, 0, 172, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 4109, 4111, 4113, 0, 0, 0, 0,
- 4095, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 4119, 0, 0, 0, 0, 162, 0, 0, 0,
- 0, 0, 150, 4141, 0, 0, 0, 0, 0, 0,
- 953, 0, 0, 0, 0, 0, 0, 0, 2472, 0,
- 1951, 0, 169, 0, 0, 170, 0, 0, 3773, 3775,
- 3774, 3840, 3841, 3842, 3843, 3844, 3845, 3846, 3776, 3777,
- 800, 4160, 0, 0, 0, 0, 0, 1875, 1876, 161,
+ 1693, 1694, 1695, 1696, 970, 4111, 1229, 1510, 1511, 1512,
+ 1513, 719, 1969, 1968, 1970, 1971, 1972, 1524, 89, 1453,
+ 4110, 1711, 2931, 3475, 1889, 1539, 1518, 1540, 1541, 2987,
+ 4139, 1137, 711, 1078, 1137, 3321, 3322, 4110, 3321, 3322,
+ 94, 94, 1078, 1148, 1146, 1507, 4072, 712, 3325, 2613,
+ 1228, 3325, 1234, 1235, 1236, 1237, 1544, 1545, 3375, 1507,
+ 1464, 1461, 1462, 1463, 1468, 1470, 1467, 2612, 1466, 2485,
+ 2843, 2845, 4014, 2986, 1242, 1717, 1274, 1275, 1460, 1137,
+ 3011, 3020, 3569, 3010, 1037, 1508, 1509, 2539, 1037, 3551,
+ 1746, 2913, 2878, 2815, 1037, 1988, 2134, 1775, 1671, 1222,
+ 3162, 3254, 86, 44, 45, 88, 1987, 3161, 2873, 4221,
+ 2486, 124, 678, 2435, 1507, 911, 1137, 2484, 1504, 1174,
+ 3246, 92, 2175, 1709, 1747, 48, 76, 77, 94, 74,
+ 78, 3033, 2640, 1888, 1136, 1487, 1137, 1136, 1255, 2176,
+ 1053, 75, 1269, 4040, 119, 2629, 2015, 1160, 3610, 2167,
+ 2956, 2487, 3255, 1497, 1498, 1499, 1500, 1502, 1501, 1503,
+ 1504, 2483, 1499, 1500, 1502, 1501, 1503, 1504, 3543, 1227,
+ 2559, 193, 2102, 62, 674, 3181, 1727, 3257, 3179, 1728,
+ 104, 2068, 1136, 105, 1996, 95, 2103, 1505, 1506, 2101,
+ 1789, 1709, 1149, 1147, 674, 3060, 4186, 3252, 1474, 1715,
+ 1677, 1678, 1679, 1680, 1681, 1682, 2167, 2640, 2649, 3739,
+ 1047, 1702, 2090, 2091, 2088, 2089, 3268, 3269, 107, 1136,
+ 1708, 120, 1475, 3253, 1140, 1130, 3040, 1067, 1067, 1142,
+ 1473, 1474, 2531, 1143, 1141, 83, 674, 3023, 2087, 1136,
+ 2536, 1137, 3022, 2844, 3585, 1130, 1133, 1134, 1881, 1094,
+ 1475, 3023, 3584, 1127, 1131, 1749, 3022, 3259, 2526, 1898,
+ 1984, 1897, 1985, 1887, 2645, 1986, 2534, 1712, 2531, 1148,
+ 1724, 1146, 1723, 4178, 1126, 2535, 3570, 2173, 1033, 4073,
+ 1726, 1891, 1891, 1752, 1725, 1874, 1048, 1035, 1729, 1241,
+ 1977, 2008, 1934, 2538, 1036, 1256, 1893, 1903, 1952, 1904,
+ 1243, 1906, 1908, 2016, 1212, 1912, 1914, 1916, 1918, 1920,
+ 3042, 2533, 1780, 1781, 1992, 1277, 1990, 1991, 1989, 1993,
+ 1994, 1995, 1226, 1892, 1849, 3267, 4223, 1475, 4074, 51,
+ 54, 57, 56, 59, 1137, 73, 1857, 3270, 82, 79,
+ 4219, 3911, 2644, 4220, 1136, 4218, 1173, 1475, 1730, 4229,
+ 1170, 1872, 3910, 4006, 1871, 1870, 1137, 1747, 3901, 1884,
+ 1475, 1976, 61, 91, 90, 2172, 3661, 71, 72, 58,
+ 1472, 2676, 1473, 1474, 2686, 80, 81, 3660, 3644, 1938,
+ 3645, 3052, 3051, 3050, 3592, 1975, 3044, 1964, 3048, 3591,
+ 3043, 3581, 3041, 2090, 2091, 2619, 2620, 3046, 1472, 3298,
+ 1473, 1474, 4007, 1895, 3286, 2938, 3045, 2004, 1481, 1482,
+ 1483, 1484, 1485, 1486, 1480, 1477, 1863, 2937, 63, 64,
+ 2323, 65, 66, 67, 68, 3047, 3049, 972, 973, 974,
+ 1930, 2936, 2491, 1933, 1978, 1935, 1475, 1136, 128, 1113,
+ 1112, 1111, 1140, 1130, 1962, 4230, 1961, 1142, 3350, 1960,
+ 1950, 1143, 1141, 1747, 1944, 3256, 1974, 1941, 1963, 1136,
+ 2636, 1865, 1866, 1867, 2021, 1130, 1133, 1134, 1940, 1094,
+ 1939, 1910, 1144, 1127, 1131, 1472, 1722, 1473, 1474, 1475,
+ 3575, 1440, 720, 60, 3062, 1277, 1277, 720, 2043, 2323,
+ 1783, 2017, 2018, 2320, 2920, 1472, 720, 1473, 1474, 2507,
+ 87, 2506, 2322, 87, 2505, 2022, 2504, 2503, 1472, 2502,
+ 1473, 1474, 2029, 2030, 2031, 2688, 4179, 1493, 968, 1760,
+ 1489, 2042, 1490, 2864, 4206, 1471, 1747, 1747, 1942, 1943,
+ 4028, 1493, 2161, 3032, 1948, 1949, 1491, 1505, 1506, 1488,
+ 4035, 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1502, 1501,
+ 1503, 1504, 4034, 190, 4010, 1494, 1495, 1496, 1497, 1498,
+ 1499, 1500, 1502, 1501, 1503, 1504, 4009, 4008, 1761, 1493,
+ 3906, 4191, 1747, 89, 4166, 1747, 129, 3938, 2129, 2129,
+ 2127, 2127, 2130, 1475, 1472, 3890, 1473, 1474, 2864, 1747,
+ 2092, 2690, 172, 1494, 1495, 1496, 1497, 1498, 1499, 1500,
+ 1502, 1501, 1503, 1504, 1471, 1747, 1475, 738, 2019, 3889,
+ 110, 2864, 4104, 2864, 4083, 2023, 1493, 2025, 2026, 2027,
+ 2028, 109, 3738, 108, 2032, 3736, 2213, 1472, 3657, 1473,
+ 1474, 103, 1493, 1475, 2628, 1707, 2044, 1706, 2922, 1705,
+ 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1502, 1501, 1503,
+ 1504, 3589, 169, 2864, 4079, 170, 1494, 1495, 1496, 1497,
+ 1498, 1499, 1500, 1502, 1501, 1503, 1504, 3574, 101, 3360,
+ 2069, 85, 3991, 1747, 85, 4189, 1747, 1475, 102, 3357,
+ 2162, 189, 1709, 94, 3289, 2099, 3628, 4025, 3914, 1747,
+ 3937, 2050, 2051, 3288, 110, 2947, 1747, 3260, 4119, 1747,
+ 42, 3264, 2934, 42, 2104, 109, 1475, 108, 3263, 2105,
+ 1704, 2107, 2108, 2109, 2110, 2111, 2112, 2114, 2116, 2117,
+ 2118, 2119, 2120, 2121, 2861, 4117, 1747, 2864, 3902, 103,
+ 2133, 1472, 1697, 1473, 1474, 2237, 2603, 1475, 103, 1747,
+ 2333, 1475, 3265, 2595, 2106, 101, 2594, 3261, 2553, 2331,
+ 2552, 103, 3262, 2388, 1472, 102, 1473, 1474, 2177, 2178,
+ 2179, 2180, 3628, 1747, 2332, 2367, 1475, 2398, 2399, 4115,
+ 1747, 3894, 2191, 2321, 2864, 3626, 2212, 2046, 2319, 1708,
+ 1747, 1472, 1518, 1473, 1474, 2012, 674, 1973, 674, 1965,
+ 70, 1475, 2531, 1747, 1747, 173, 2229, 1955, 3984, 1747,
+ 2168, 1475, 2859, 190, 179, 1494, 1495, 1496, 1497, 1498,
+ 1499, 1500, 1502, 1501, 1503, 1504, 1747, 3549, 1747, 1475,
+ 2330, 2770, 1747, 2336, 2337, 1472, 129, 1473, 1474, 3982,
+ 1747, 2414, 1495, 1496, 1497, 1498, 1499, 1500, 1502, 1501,
+ 1503, 1504, 172, 1475, 2333, 3279, 3278, 2909, 104, 674,
+ 1951, 105, 1947, 2331, 1472, 1946, 1473, 1474, 3979, 1747,
+ 3893, 1475, 3276, 3277, 3274, 3275, 2909, 2366, 2403, 104,
+ 1945, 1475, 105, 3274, 3273, 2888, 1747, 1521, 2444, 2378,
+ 2612, 2996, 3546, 3961, 1747, 1472, 1762, 1473, 1474, 1472,
+ 2098, 1473, 1474, 3516, 1747, 1853, 2977, 2970, 2971, 2864,
+ 2863, 2880, 169, 1267, 1099, 170, 2132, 1747, 1853, 1852,
+ 3636, 3509, 1747, 1475, 1472, 2910, 1473, 1474, 2439, 2453,
+ 2454, 2455, 2456, 2354, 2880, 2912, 109, 1049, 2438, 2974,
+ 164, 189, 2952, 1475, 2910, 3506, 1747, 1099, 3241, 1472,
+ 2420, 1473, 1474, 1475, 2612, 2379, 1795, 1794, 2612, 1472,
+ 3545, 1473, 1474, 3504, 1747, 2448, 2381, 2449, 2450, 2451,
+ 2452, 3211, 2887, 3933, 2474, 2442, 2372, 1472, 2373, 1473,
+ 1474, 2458, 3542, 1475, 2460, 2461, 2462, 2463, 2888, 2520,
+ 2480, 2401, 2532, 2443, 3542, 1471, 1084, 2426, 1083, 2425,
+ 2424, 1472, 4067, 1473, 1474, 2441, 4039, 2440, 2864, 2888,
+ 1471, 3542, 2158, 2517, 3495, 3467, 1747, 3276, 3184, 1472,
+ 3593, 1473, 1474, 2427, 2770, 2673, 2672, 2531, 2514, 1472,
+ 2490, 1473, 1474, 2888, 2396, 3465, 1747, 1139, 1751, 2357,
+ 2132, 2416, 2070, 1475, 2054, 3461, 1747, 1891, 1998, 1782,
+ 2475, 2464, 2466, 2467, 2471, 173, 2531, 1121, 2525, 2489,
+ 1475, 2528, 2493, 2529, 179, 1120, 2545, 2501, 1475, 95,
+ 4145, 1472, 4086, 1473, 1474, 3458, 1747, 3594, 3595, 3596,
+ 1475, 1138, 1926, 1038, 1475, 2475, 2524, 2523, 2527, 3925,
+ 1521, 1472, 1475, 1473, 1474, 1754, 1475, 3891, 3751, 3609,
+ 3606, 1472, 3587, 1473, 1474, 2549, 3392, 2546, 1475, 2550,
+ 2551, 2150, 2139, 2140, 2141, 2142, 2152, 2143, 2144, 2145,
+ 2157, 2153, 2146, 2147, 2154, 2155, 2156, 2148, 2149, 2151,
+ 3408, 1472, 3407, 1473, 1474, 3456, 1747, 1855, 2473, 1927,
+ 1928, 1929, 1748, 1750, 3348, 2617, 3303, 3299, 674, 2556,
+ 2978, 3597, 3454, 1747, 1037, 1037, 1037, 2470, 2465, 3352,
+ 3452, 1747, 1475, 2459, 2457, 1980, 95, 1886, 1475, 1882,
+ 1851, 1047, 3450, 1747, 1528, 1475, 1528, 1747, 121, 165,
+ 3301, 2944, 2943, 1211, 3448, 1747, 177, 3926, 3446, 1747,
+ 164, 1472, 2632, 1473, 1474, 674, 3556, 3557, 2588, 2488,
+ 3444, 1747, 2370, 1475, 3598, 3599, 3600, 1475, 1472, 4201,
+ 1473, 1474, 1475, 2333, 674, 4199, 1472, 4173, 1473, 1474,
+ 4047, 3966, 2635, 3559, 3295, 2048, 3294, 185, 1472, 1475,
+ 1473, 1474, 1472, 3293, 1473, 1474, 2944, 2332, 3211, 2957,
+ 1472, 2589, 1473, 1474, 1472, 1475, 1473, 1474, 3562, 3561,
+ 3230, 2604, 3233, 1475, 3442, 1747, 1472, 3234, 1473, 1474,
+ 3440, 1747, 3229, 4043, 1521, 2610, 675, 3438, 1747, 1475,
+ 166, 171, 168, 174, 175, 176, 178, 180, 181, 182,
+ 183, 2618, 1475, 3927, 2387, 2638, 184, 186, 187, 188,
+ 1764, 1521, 2049, 2624, 1521, 2637, 1521, 674, 3231, 3564,
+ 2621, 2622, 2623, 3232, 3436, 1747, 1759, 2376, 2099, 3716,
+ 1472, 3715, 1473, 1474, 1922, 4005, 1472, 1953, 1473, 1474,
+ 1051, 3434, 1747, 1472, 3550, 1473, 1474, 3235, 3729, 2897,
+ 2898, 2625, 674, 2627, 3189, 1475, 3188, 3432, 1747, 3731,
+ 737, 3538, 2630, 3198, 2631, 3430, 1747, 1475, 2007, 674,
+ 1997, 1472, 1475, 1473, 1474, 1472, 2648, 1473, 1474, 1021,
+ 1472, 1763, 1473, 1474, 3714, 674, 2626, 1923, 1924, 1925,
+ 3535, 1052, 674, 3272, 3428, 1747, 2927, 1472, 3534, 1473,
+ 1474, 2033, 2034, 674, 674, 674, 674, 674, 674, 674,
+ 3201, 3203, 2814, 1472, 2948, 1473, 1474, 2597, 2598, 3204,
+ 1475, 1472, 2600, 1473, 1474, 1054, 2175, 2633, 2095, 2093,
+ 2094, 2601, 2684, 1055, 2581, 2580, 2802, 1472, 1475, 1473,
+ 1474, 1063, 2579, 2176, 2846, 1475, 2578, 3511, 1493, 165,
+ 1472, 2577, 1473, 1474, 2576, 1062, 177, 1177, 2575, 3414,
+ 1747, 1176, 3368, 1037, 3390, 1747, 2943, 3026, 2129, 1475,
+ 2127, 2849, 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1502,
+ 1501, 1503, 1504, 1475, 1439, 2984, 2885, 2886, 129, 3540,
+ 1475, 2398, 2399, 3518, 101, 2414, 103, 185, 1037, 2905,
+ 103, 101, 2847, 1472, 102, 1473, 1474, 4215, 2850, 3291,
+ 2852, 102, 2835, 1747, 110, 1472, 2592, 1473, 1474, 1475,
+ 1472, 4122, 1473, 1474, 4024, 109, 2884, 108, 3921, 2865,
+ 2833, 1747, 1710, 2098, 1475, 103, 3271, 2808, 1747, 2901,
+ 166, 171, 168, 174, 175, 176, 178, 180, 181, 182,
+ 183, 2382, 3187, 2616, 2053, 108, 184, 186, 187, 188,
+ 3186, 2785, 1747, 1475, 1715, 3990, 2837, 2874, 1472, 3989,
+ 1473, 1474, 3969, 3737, 3735, 2777, 1747, 3734, 3727, 1475,
+ 2903, 110, 2768, 1747, 3607, 2857, 1472, 3539, 1473, 1474,
+ 2930, 2932, 109, 1472, 108, 1473, 1474, 1475, 1709, 3537,
+ 3304, 2923, 2877, 674, 2515, 1869, 1061, 110, 2907, 2862,
+ 109, 2766, 1747, 2982, 2880, 3726, 3700, 1472, 109, 1473,
+ 1474, 3528, 2861, 1475, 3090, 2911, 2753, 1747, 2674, 2914,
+ 2368, 1472, 1776, 1473, 1474, 1768, 2480, 2921, 1472, 2924,
+ 1473, 1474, 1475, 2893, 2896, 2897, 2898, 2894, 4202, 2895,
+ 2899, 2158, 4203, 3556, 3557, 2751, 1747, 4011, 2935, 2170,
+ 2993, 4203, 4202, 1521, 2171, 114, 115, 1472, 3573, 1473,
+ 1474, 2749, 1747, 3, 2067, 2065, 2945, 10, 9, 97,
+ 2066, 1521, 1472, 8, 1473, 1474, 42, 1475, 2953, 3507,
+ 2954, 1, 1029, 1475, 1442, 2902, 1441, 3577, 2904, 4134,
+ 2990, 1475, 2233, 2958, 2959, 2960, 691, 2358, 1874, 1713,
+ 4174, 1472, 4130, 1473, 1474, 2747, 1747, 2979, 2980, 4131,
+ 1966, 3036, 3037, 1956, 3639, 2284, 1475, 1472, 3922, 1473,
+ 1474, 3307, 2521, 3605, 2745, 1747, 2478, 1129, 2989, 154,
+ 2436, 2437, 4099, 118, 1475, 1472, 1087, 1473, 1474, 117,
+ 2150, 2139, 2140, 2141, 2142, 2152, 2143, 2144, 2145, 2157,
+ 2153, 2146, 2147, 2154, 2155, 2156, 2148, 2149, 2151, 3015,
+ 3034, 1472, 3053, 1473, 1474, 1132, 1240, 3018, 2516, 2743,
+ 1747, 3629, 2316, 2928, 2445, 2741, 1747, 1475, 1801, 1799,
+ 1472, 1800, 1473, 1474, 1747, 1798, 3071, 3072, 3073, 3074,
+ 3075, 3076, 3077, 3078, 3079, 3080, 1803, 1475, 1802, 4071,
+ 3376, 1475, 2348, 2675, 3474, 2058, 3088, 2007, 2739, 1747,
+ 2893, 2896, 2897, 2898, 2894, 3054, 2895, 2899, 727, 2900,
+ 1748, 2355, 721, 192, 1790, 1472, 3473, 1473, 1474, 1769,
+ 2052, 1472, 2991, 1473, 1474, 1171, 681, 1475, 3280, 1472,
+ 2554, 1473, 1474, 687, 1525, 2047, 3185, 1475, 2946, 2915,
+ 1081, 1073, 1953, 2949, 2950, 2369, 2851, 1080, 3899, 3219,
+ 2380, 3532, 3197, 3199, 1472, 3092, 1473, 1474, 1067, 2737,
+ 1747, 3038, 2867, 3202, 3148, 3195, 4004, 3024, 3728, 3055,
+ 3025, 1475, 1472, 4084, 1473, 1474, 2925, 1047, 1475, 2735,
+ 1747, 1765, 3494, 2733, 1747, 2647, 2165, 1515, 2413, 3695,
+ 2085, 750, 3035, 749, 674, 747, 2853, 2881, 1479, 1478,
+ 958, 2007, 674, 3166, 674, 3155, 674, 2423, 2841, 3157,
+ 1777, 2892, 2969, 1475, 2890, 1472, 2889, 1473, 1474, 2731,
+ 1747, 2590, 2414, 2421, 3558, 3081, 2321, 3554, 2321, 2729,
+ 1747, 2319, 4126, 2319, 2415, 1472, 3128, 1473, 1474, 1472,
+ 1475, 1473, 1474, 2411, 3218, 1475, 87, 2860, 909, 2414,
+ 2414, 2414, 2414, 2414, 1475, 908, 759, 2492, 3138, 3139,
+ 3140, 3141, 3142, 2727, 1747, 751, 3166, 741, 971, 2414,
+ 3469, 3156, 2414, 3158, 3165, 1472, 907, 1473, 1474, 906,
+ 3334, 3335, 3223, 2999, 3349, 1472, 1475, 1473, 1474, 3001,
+ 2926, 3345, 2008, 3240, 1456, 1732, 1735, 2377, 1100, 3373,
+ 3177, 3178, 3180, 3182, 4030, 2725, 1747, 3193, 3183, 2615,
+ 3402, 1731, 4037, 3190, 3315, 1475, 3192, 3623, 3296, 1472,
+ 2975, 1473, 1474, 2508, 3205, 3206, 1472, 1475, 1473, 1474,
+ 69, 46, 2723, 1747, 3999, 4068, 3324, 1042, 4180, 1475,
+ 3225, 3226, 3224, 3228, 3236, 3227, 3332, 4023, 3222, 1041,
+ 901, 898, 104, 3697, 3242, 105, 3698, 3243, 3699, 3151,
+ 3244, 1472, 3152, 1473, 1474, 4050, 3250, 4051, 897, 4052,
+ 2222, 1710, 1452, 1449, 4147, 1475, 3281, 2060, 3283, 3898,
+ 96, 1475, 36, 3282, 3191, 35, 34, 33, 1472, 32,
+ 1473, 1474, 26, 1472, 25, 1473, 1474, 24, 23, 22,
+ 29, 1475, 1472, 3305, 1473, 1474, 674, 2721, 1747, 19,
+ 3336, 21, 3326, 674, 20, 2480, 1475, 3333, 2227, 2719,
+ 1747, 18, 2416, 3343, 674, 674, 3337, 3318, 674, 3208,
+ 2593, 2714, 1747, 4169, 1472, 4214, 1473, 1474, 123, 55,
+ 674, 52, 50, 131, 130, 3363, 1040, 674, 3364, 2416,
+ 2416, 2416, 2416, 2416, 3371, 53, 49, 3214, 3361, 1214,
+ 47, 1475, 3214, 1472, 31, 1473, 1474, 2710, 1747, 2416,
+ 3381, 30, 2416, 674, 3611, 1472, 17, 1473, 1474, 16,
+ 15, 14, 3397, 3398, 3399, 3400, 3401, 1472, 13, 1473,
+ 1474, 12, 11, 2708, 1747, 7, 6, 39, 2310, 2311,
+ 2312, 2313, 2314, 3378, 3379, 38, 3380, 37, 3405, 3382,
+ 28, 3384, 27, 3386, 40, 2335, 4, 2962, 2338, 2339,
+ 1528, 2510, 0, 1472, 1528, 1473, 1474, 0, 0, 1472,
+ 0, 1473, 1474, 0, 2634, 0, 0, 0, 2639, 0,
+ 3519, 0, 3521, 0, 0, 0, 0, 0, 3306, 1472,
+ 3489, 1473, 1474, 3404, 2356, 0, 0, 3493, 1521, 0,
+ 2007, 2642, 0, 2643, 1472, 0, 1473, 1474, 0, 2651,
+ 0, 0, 0, 2653, 2654, 0, 0, 0, 0, 0,
+ 0, 0, 2660, 2661, 2662, 2663, 2664, 2665, 2666, 2667,
+ 2668, 2669, 0, 2671, 0, 3217, 3372, 0, 0, 0,
+ 3284, 3285, 2414, 3520, 3524, 3522, 0, 0, 0, 1472,
+ 0, 1473, 1474, 0, 0, 3571, 2677, 2678, 2679, 2680,
+ 0, 2682, 2683, 3536, 2685, 1475, 3529, 0, 2687, 1475,
+ 3541, 0, 2692, 2693, 0, 2694, 0, 1475, 2697, 2698,
+ 2700, 2702, 2703, 2704, 2705, 2706, 2707, 2709, 2711, 2712,
+ 2713, 2715, 739, 2717, 2718, 2720, 2722, 2724, 2726, 2728,
+ 2730, 2732, 2734, 2736, 2738, 2740, 2742, 2744, 2746, 2748,
+ 2750, 2752, 2754, 2755, 2756, 3327, 2758, 3563, 2760, 3336,
+ 2762, 2763, 3572, 2765, 2767, 2769, 3333, 3566, 3496, 2772,
+ 3498, 3499, 3500, 2776, 3588, 3337, 3590, 2781, 2782, 2783,
+ 2784, 3565, 3560, 1475, 3366, 3367, 3633, 3634, 1475, 0,
+ 2795, 2796, 2797, 2798, 2799, 2800, 3526, 3396, 2804, 2805,
+ 0, 2701, 1747, 0, 1475, 0, 2807, 0, 0, 2699,
+ 1747, 2813, 0, 0, 1475, 0, 2816, 2817, 2818, 2819,
+ 2820, 1475, 0, 0, 0, 1475, 0, 2827, 2828, 3553,
+ 2829, 1475, 0, 2832, 2834, 2380, 0, 2836, 0, 0,
+ 0, 1060, 0, 0, 1066, 1066, 0, 2848, 3567, 3568,
+ 0, 0, 0, 1472, 0, 1473, 1474, 1472, 0, 1473,
+ 1474, 1475, 0, 674, 3635, 1472, 0, 1473, 1474, 0,
+ 0, 1953, 0, 0, 0, 3394, 0, 0, 0, 0,
+ 3651, 2939, 2416, 0, 0, 0, 1475, 0, 0, 0,
+ 0, 1475, 0, 0, 0, 0, 2831, 0, 0, 0,
+ 1475, 0, 0, 0, 0, 3662, 2830, 0, 0, 0,
+ 0, 0, 0, 2826, 1475, 0, 0, 2825, 0, 0,
+ 674, 0, 0, 2824, 1475, 674, 0, 0, 0, 0,
+ 0, 1472, 0, 1473, 1474, 0, 1472, 0, 1473, 1474,
+ 0, 0, 0, 0, 0, 0, 0, 3703, 0, 3704,
+ 3705, 3706, 1472, 2823, 1473, 1474, 0, 1475, 3713, 0,
+ 0, 3720, 1472, 3722, 1473, 1474, 0, 0, 0, 1472,
+ 3693, 1473, 1474, 1472, 0, 1473, 1474, 0, 2822, 1472,
+ 0, 1473, 1474, 2821, 1475, 0, 3218, 0, 0, 87,
+ 3723, 3218, 2812, 0, 0, 1475, 0, 0, 0, 1475,
+ 674, 3582, 3583, 0, 0, 0, 2811, 2961, 0, 1472,
+ 1475, 1473, 1474, 0, 0, 0, 2810, 1475, 0, 0,
+ 3724, 0, 0, 0, 2129, 3733, 2127, 3753, 0, 3745,
+ 3732, 0, 3656, 3740, 1472, 3742, 1473, 1474, 0, 1472,
+ 0, 1473, 1474, 3743, 0, 0, 0, 0, 1472, 2809,
+ 1473, 1474, 0, 1521, 3616, 0, 3905, 0, 3620, 3621,
+ 3622, 3757, 1472, 0, 1473, 1474, 674, 674, 674, 674,
+ 674, 674, 1472, 0, 1473, 1474, 2806, 0, 0, 0,
+ 3612, 3613, 0, 0, 0, 0, 0, 2801, 0, 0,
+ 0, 2794, 0, 0, 674, 674, 3897, 2655, 3896, 0,
+ 0, 0, 2793, 0, 0, 1472, 3924, 1473, 1474, 2792,
+ 0, 0, 3916, 0, 2670, 3917, 0, 0, 674, 3912,
+ 0, 3895, 0, 0, 0, 0, 0, 0, 0, 3963,
+ 3964, 0, 1472, 0, 1473, 1474, 3066, 3067, 3068, 3069,
+ 3070, 3747, 0, 1472, 3721, 1473, 1474, 1472, 0, 1473,
+ 1474, 0, 2129, 0, 2127, 3967, 3085, 0, 1472, 0,
+ 1473, 1474, 0, 0, 0, 1472, 0, 1473, 1474, 0,
+ 0, 3754, 3755, 0, 0, 0, 0, 0, 0, 3970,
+ 0, 0, 0, 3973, 4012, 3218, 0, 0, 3749, 42,
+ 0, 0, 0, 0, 0, 0, 0, 3214, 0, 1546,
+ 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556,
+ 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1566, 1567,
+ 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577,
+ 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587,
+ 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597,
+ 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607,
+ 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, 1616, 1617,
+ 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627,
+ 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637,
+ 1638, 1639, 1640, 1641, 1642, 1643, 1645, 1646, 1647, 1648,
+ 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658,
+ 1659, 1660, 1666, 1667, 1668, 1669, 1683, 1684, 1685, 1686,
+ 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696,
+ 3968, 3997, 1475, 3996, 0, 4013, 3987, 3217, 0, 0,
+ 1475, 1716, 3217, 3993, 4031, 3995, 0, 0, 0, 0,
+ 0, 1475, 0, 0, 3907, 3908, 3909, 0, 0, 0,
+ 0, 0, 87, 0, 0, 1067, 3220, 674, 0, 1475,
+ 0, 0, 0, 0, 1475, 0, 4015, 0, 0, 4016,
+ 0, 0, 1475, 0, 3238, 0, 3900, 0, 1521, 4020,
+ 0, 0, 1475, 1521, 674, 674, 674, 674, 674, 4036,
+ 673, 1475, 4038, 0, 4033, 0, 3237, 3904, 0, 0,
+ 0, 0, 1953, 0, 674, 0, 0, 674, 3245, 2007,
+ 1024, 0, 0, 0, 2791, 0, 0, 0, 0, 0,
+ 0, 0, 2790, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 2789, 0, 0, 0, 0, 0, 0,
+ 4056, 0, 0, 4057, 0, 0, 0, 0, 0, 0,
+ 4081, 2788, 1095, 674, 0, 87, 2787, 0, 0, 0,
+ 0, 0, 0, 1476, 2786, 0, 4066, 0, 0, 1521,
+ 1472, 0, 1473, 1474, 2780, 0, 4075, 0, 1472, 674,
+ 1473, 1474, 0, 2779, 0, 0, 4098, 4087, 0, 1472,
+ 4112, 1473, 1474, 674, 1534, 4085, 4090, 3924, 4101, 4095,
+ 4092, 4091, 3370, 4089, 4094, 4093, 0, 1472, 0, 1473,
+ 1474, 4120, 1472, 674, 1473, 1474, 674, 0, 4017, 0,
+ 1472, 0, 1473, 1474, 3387, 3388, 3217, 3389, 3391, 3393,
+ 1472, 4143, 1473, 1474, 0, 0, 0, 4125, 4133, 1472,
+ 4138, 1473, 1474, 0, 0, 0, 4151, 4112, 4153, 0,
+ 0, 0, 42, 4164, 3056, 3406, 0, 0, 0, 0,
+ 3409, 0, 3411, 3412, 3413, 3415, 3416, 3417, 3418, 3419,
+ 3420, 3421, 3422, 3423, 3424, 3425, 3426, 3427, 3429, 3431,
+ 3433, 3435, 3437, 3439, 3441, 3443, 3445, 3447, 3449, 3451,
+ 3453, 3455, 3457, 3459, 3460, 3462, 3463, 3464, 3466, 2008,
+ 4187, 3468, 4184, 3470, 3471, 3472, 4194, 4193, 3476, 3477,
+ 3478, 3479, 3480, 3481, 3482, 3483, 3484, 3485, 3486, 2129,
+ 4200, 2127, 4197, 4183, 4112, 4208, 4198, 3492, 4168, 4196,
+ 4163, 3497, 4077, 4216, 0, 3501, 3502, 1475, 3503, 3505,
+ 4082, 3508, 3510, 4224, 3512, 3513, 3514, 3515, 4222, 0,
+ 1475, 0, 0, 0, 3523, 42, 3214, 1475, 4022, 0,
+ 0, 1475, 0, 4233, 4234, 3964, 4232, 1475, 0, 0,
+ 0, 0, 0, 1475, 0, 0, 0, 2129, 1475, 2127,
+ 4231, 674, 1475, 0, 0, 4029, 3130, 0, 3132, 3547,
+ 3548, 1475, 4041, 3552, 0, 0, 0, 0, 0, 0,
+ 1475, 0, 0, 0, 3143, 3144, 3145, 3146, 0, 0,
+ 1475, 0, 4159, 0, 1475, 0, 0, 0, 1475, 0,
+ 0, 0, 1475, 0, 0, 0, 0, 1475, 0, 2778,
+ 0, 0, 0, 0, 0, 1475, 0, 674, 0, 1475,
+ 0, 0, 2775, 1475, 0, 0, 0, 0, 0, 2774,
+ 0, 0, 0, 2773, 0, 0, 0, 0, 0, 2771,
+ 0, 0, 0, 0, 0, 2764, 674, 0, 0, 0,
+ 2761, 0, 0, 0, 2759, 0, 0, 0, 0, 4076,
+ 0, 0, 0, 2757, 1767, 1472, 674, 1473, 1474, 674,
+ 674, 674, 2716, 0, 0, 0, 0, 0, 1472, 3627,
+ 1473, 1474, 2696, 0, 0, 1472, 2695, 1473, 1474, 1472,
+ 2691, 1473, 1474, 0, 2689, 1472, 0, 1473, 1474, 2681,
+ 0, 1472, 1856, 1473, 1474, 0, 1472, 2652, 1473, 1474,
+ 1472, 2646, 1473, 1474, 0, 2641, 0, 0, 0, 1472,
+ 0, 1473, 1474, 0, 3646, 0, 0, 3650, 1472, 0,
+ 1473, 1474, 0, 0, 0, 0, 0, 1737, 1472, 0,
+ 1473, 1474, 1472, 0, 1473, 1474, 1472, 0, 1473, 1474,
+ 1472, 1745, 1473, 1474, 1738, 1472, 0, 1473, 1474, 0,
+ 0, 3663, 0, 1472, 0, 1473, 1474, 1472, 0, 1473,
+ 1474, 1472, 0, 1473, 1474, 0, 0, 1737, 0, 2374,
+ 2375, 1744, 1742, 1743, 1739, 0, 1740, 0, 0, 0,
+ 0, 1745, 4181, 0, 1738, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1741,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1733,
+ 1734, 1744, 1742, 1743, 1739, 3686, 1740, 0, 0, 0,
+ 2013, 0, 0, 0, 0, 0, 0, 0, 3694, 0,
+ 0, 0, 0, 0, 0, 3701, 0, 0, 0, 1741,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1215, 0, 1221, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1953,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1521, 0,
+ 0, 0, 1953, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1448, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 3913, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3920, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1953, 0,
+ 0, 0, 0, 3930, 3931, 3932, 0, 3934, 0, 3935,
+ 3936, 1710, 0, 0, 0, 3939, 3940, 3941, 3942, 3943,
+ 3944, 3945, 3946, 3947, 3948, 3949, 3950, 3951, 3952, 3953,
+ 3954, 3955, 3956, 3957, 3958, 3959, 3960, 0, 3962, 3965,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 3974, 3975, 3976, 3977, 3978, 3980,
+ 3981, 3983, 3985, 3986, 3988, 0, 0, 0, 3992, 0,
+ 0, 0, 3994, 0, 2080, 2081, 2082, 2083, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 2096, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 4021, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 2135, 2136, 0, 0, 0,
+ 0, 2159, 0, 0, 2163, 2164, 0, 0, 0, 2169,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2181, 2182, 2183, 2184, 2185, 2186,
+ 2187, 2188, 2189, 2190, 0, 2192, 0, 0, 0, 2214,
+ 2215, 2216, 2217, 2218, 2219, 2220, 2221, 2223, 0, 2228,
+ 0, 2230, 2231, 2232, 0, 2234, 2235, 2236, 0, 2238,
+ 2239, 2240, 2241, 2242, 2243, 2244, 2245, 2246, 2247, 2248,
+ 2249, 2250, 2251, 2252, 2253, 2254, 2255, 2256, 2257, 2258,
+ 2259, 2260, 2261, 2262, 2263, 2264, 2265, 2266, 2267, 2268,
+ 2269, 2270, 2271, 2272, 2273, 2274, 2275, 2276, 2277, 2278,
+ 2279, 2280, 2281, 2282, 2283, 2287, 2288, 2289, 2290, 2291,
+ 2292, 2293, 2294, 2295, 2296, 2297, 2298, 2299, 2300, 2301,
+ 2302, 2303, 2304, 2305, 2306, 2307, 2308, 2309, 0, 0,
+ 0, 0, 3684, 2315, 0, 2317, 0, 2324, 2325, 2326,
+ 2327, 2328, 2329, 4167, 0, 0, 0, 0, 0, 0,
+ 0, 1779, 1819, 1953, 0, 0, 2340, 2341, 2342, 2343,
+ 2344, 2345, 2346, 2347, 0, 2349, 2350, 2351, 2352, 2353,
+ 1796, 0, 674, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 4046, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1819, 0, 0, 0, 1066, 0, 0, 4061, 0,
+ 0, 0, 0, 0, 4064, 0, 4065, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 2394, 2395, 0, 4080,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1936, 0, 0, 0, 1521, 0, 0,
+ 0, 0, 2433, 0, 0, 4106, 4107, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 4114,
+ 4116, 4118, 0, 0, 0, 0, 4100, 0, 1981, 0,
+ 954, 0, 0, 0, 0, 0, 0, 4124, 0, 0,
+ 0, 0, 0, 0, 0, 2009, 0, 0, 1806, 4146,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 2020, 0, 0, 2476, 190, 1953, 0, 2024, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2035,
+ 2036, 2037, 2038, 2039, 2040, 2041, 195, 4165, 129, 195,
+ 151, 0, 0, 725, 0, 0, 0, 1806, 731, 0,
+ 0, 0, 0, 0, 172, 0, 0, 0, 0, 195,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 4188, 4190, 4192, 0, 195, 0, 0, 0, 0,
+ 4003, 0, 1820, 0, 0, 0, 2007, 0, 162, 0,
+ 0, 0, 0, 0, 150, 0, 0, 0, 0, 0,
+ 731, 195, 731, 0, 4213, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 169, 0, 0, 170, 0, 0,
+ 0, 0, 4225, 4226, 0, 0, 0, 0, 0, 0,
+ 0, 1820, 0, 0, 0, 0, 0, 0, 0, 138,
+ 139, 161, 160, 189, 0, 1833, 1836, 1837, 1838, 1839,
+ 1840, 1841, 0, 1842, 1843, 1845, 1846, 1844, 1847, 1848,
+ 1821, 1822, 1823, 1824, 1804, 1805, 1834, 0, 1807, 0,
+ 1808, 1809, 1810, 1811, 1812, 1813, 1814, 1815, 1816, 0,
+ 0, 1817, 1825, 1826, 1827, 1828, 0, 1829, 1830, 1831,
+ 1832, 0, 0, 1818, 1833, 1836, 1837, 1838, 1839, 1840,
+ 1841, 0, 1842, 1843, 1845, 1846, 1844, 1847, 1848, 1821,
+ 1822, 1823, 1824, 1804, 1805, 1834, 0, 1807, 0, 1808,
+ 1809, 1810, 1811, 1812, 1813, 1814, 1815, 1816, 0, 2073,
+ 1817, 1825, 1826, 1827, 1828, 0, 1829, 1830, 1831, 1832,
+ 0, 0, 1818, 0, 155, 136, 158, 143, 135, 0,
+ 156, 157, 0, 0, 0, 0, 0, 173, 1710, 0,
+ 0, 0, 0, 0, 0, 0, 179, 144, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 147, 145, 140, 141, 142, 146, 0, 0, 0,
+ 0, 0, 0, 137, 0, 0, 0, 0, 0, 0,
+ 0, 0, 148, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 4045, 0, 0, 0, 0, 0,
+ 0, 0, 4055, 0, 0, 0, 0, 0, 0, 0,
+ 2650, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 2656, 2657, 2658, 2659, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1710, 1534, 0, 0, 190, 0,
+ 0, 0, 164, 0, 0, 0, 0, 0, 1835, 2968,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 129, 0, 151, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 172, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1835, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 162, 0, 0, 0, 0, 0, 150, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 169, 159, 0,
+ 170, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1877, 1878, 161, 160, 189, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 2400, 0, 0, 0, 0, 0, 0, 0, 2404, 0,
+ 2407, 0, 0, 2073, 0, 0, 0, 0, 0, 1767,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 152, 0, 0,
+ 153, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 155, 1879, 158,
+ 0, 1876, 0, 156, 157, 0, 0, 0, 0, 0,
+ 173, 165, 0, 0, 0, 0, 0, 0, 177, 179,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 195, 0, 195, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 185,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 731, 0, 731, 731, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 731, 195, 0, 0, 0, 0, 0,
+ 0, 0, 166, 171, 168, 174, 175, 176, 178, 180,
+ 181, 182, 183, 0, 0, 0, 0, 0, 184, 186,
+ 187, 188, 1520, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 2073, 0, 0, 0, 0, 0, 0, 2566,
+ 0, 0, 0, 0, 0, 164, 0, 0, 0, 0,
+ 2586, 2587, 0, 0, 2591, 0, 0, 0, 0, 0,
+ 3031, 0, 0, 0, 0, 0, 2596, 0, 0, 0,
+ 0, 0, 0, 2599, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3057, 3058, 3059,
+ 0, 0, 3061, 0, 0, 3063, 0, 0, 0, 2602,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 3082, 3083, 3084, 0, 0,
+ 0, 0, 0, 0, 3089, 0, 0, 0, 0, 3091,
+ 0, 0, 3093, 3094, 3095, 0, 0, 0, 3096, 3097,
+ 0, 159, 3098, 0, 3099, 0, 0, 0, 0, 0,
+ 0, 3100, 0, 3101, 0, 0, 0, 3102, 0, 3103,
+ 0, 0, 3104, 0, 3105, 0, 3106, 0, 3107, 0,
+ 3108, 0, 3109, 0, 3110, 0, 3111, 0, 3112, 0,
+ 3113, 0, 3114, 0, 3115, 0, 3116, 0, 3117, 0,
+ 3118, 0, 3119, 0, 3120, 0, 3121, 0, 0, 0,
+ 3122, 0, 3123, 0, 3124, 0, 0, 3125, 0, 3126,
+ 0, 3127, 0, 2287, 3129, 0, 0, 3131, 0, 0,
+ 3133, 3134, 3135, 3136, 0, 1520, 0, 0, 3137, 2287,
+ 2287, 2287, 2287, 2287, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 3147, 0, 0, 0, 0, 0,
+ 152, 0, 3160, 153, 0, 3164, 0, 0, 0, 0,
+ 0, 0, 0, 0, 3167, 3168, 3169, 3170, 3171, 3172,
+ 0, 0, 0, 3173, 3174, 0, 3175, 0, 3176, 0,
+ 0, 0, 0, 195, 165, 0, 0, 731, 731, 0,
+ 0, 177, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1066, 0, 0, 0, 195, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3209, 0, 0, 0, 731, 0, 0,
+ 195, 0, 185, 953, 0, 0, 0, 0, 0, 0,
+ 0, 0, 731, 0, 0, 0, 0, 0, 3239, 195,
+ 0, 0, 0, 731, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 731, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 166, 171, 168, 174, 175,
+ 176, 178, 180, 181, 182, 183, 731, 0, 731, 0,
+ 0, 184, 186, 187, 188, 709, 731, 0, 0, 1520,
+ 731, 730, 0, 731, 731, 731, 731, 0, 731, 3302,
+ 731, 731, 0, 731, 731, 731, 731, 731, 731, 0,
+ 0, 0, 0, 0, 0, 0, 1520, 731, 731, 1520,
+ 731, 1520, 195, 731, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 195, 730, 0, 730, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 731, 0, 195, 0, 0,
+ 0, 2906, 0, 0, 0, 0, 0, 0, 731, 0,
+ 0, 731, 0, 195, 195, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 195, 0, 0, 190, 0, 3395, 0, 195, 0, 0,
+ 0, 0, 0, 0, 1873, 0, 195, 195, 195, 195,
+ 195, 195, 195, 195, 195, 731, 129, 0, 151, 0,
+ 0, 0, 0, 3410, 0, 0, 0, 0, 0, 0,
+ 0, 0, 172, 0, 0, 0, 2955, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 162, 0, 0, 0,
+ 0, 0, 150, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 169, 0, 0, 170, 0, 0, 0, 0,
+ 0, 0, 3004, 3005, 3006, 3007, 3008, 3009, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1877, 1878, 161,
160, 189, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 195, 0, 0, 195,
- 0, 0, 0, 724, 0, 4183, 4185, 4187, 730, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 195,
- 2004, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1018, 0, 0, 0, 195, 0, 1019, 4208, 0,
- 0, 0, 0, 0, 0, 0, 0, 2125, 0, 0,
- 0, 0, 0, 0, 0, 0, 4220, 4221, 0, 0,
- 730, 195, 730, 0, 0, 0, 0, 0, 0, 0,
+ 2073, 3019, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 155, 1877, 158, 0, 1874, 0, 156, 157,
- 0, 0, 0, 0, 0, 173, 0, 0, 0, 0,
- 0, 0, 0, 0, 179, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 3027, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1715, 976, 977, 978, 979, 980,
- 981, 982, 983, 984, 985, 986, 987, 988, 989, 990,
- 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000,
- 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010,
- 1011, 1012, 1013, 1014, 1015, 1016, 1017, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 672, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 3781, 0,
- 0, 0, 0, 1023, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3789, 3790, 0, 0, 3865, 3864, 3863,
- 0, 0, 3861, 3862, 3860, 0, 0, 0, 0, 164,
+ 0, 0, 0, 0, 0, 731, 731, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 731,
+ 0, 0, 0, 0, 0, 0, 0, 0, 195, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 155, 1879, 158, 0, 1876, 0, 156, 157,
+ 0, 0, 3608, 0, 0, 173, 0, 0, 0, 0,
+ 0, 0, 0, 0, 179, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 731, 0,
+ 0, 0, 0, 0, 0, 3632, 0, 0, 1520, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1094, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1520, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 2645, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 2651, 2652, 2653, 2654, 3866, 923, 0,
- 776, 777, 3867, 3868, 927, 3869, 779, 780, 924, 925,
- 0, 774, 778, 926, 928, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1533, 0,
- 0, 0, 0, 0, 0, 159, 0, 0, 0, 0,
- 3770, 3771, 3772, 3778, 3779, 3780, 3791, 3838, 3839, 3847,
- 3849, 879, 3848, 3850, 3851, 3852, 3855, 3856, 3857, 3858,
- 3853, 3854, 3859, 3753, 3757, 3754, 3755, 3756, 3768, 3758,
- 3759, 3760, 3761, 3762, 3763, 3764, 3765, 3766, 3767, 3769,
- 3870, 3871, 3872, 3873, 3874, 3875, 3784, 3788, 3787, 3785,
- 3786, 3782, 3783, 3810, 3809, 3811, 3812, 3813, 3814, 3815,
- 3816, 3818, 3817, 3819, 3820, 3821, 3822, 3823, 3824, 3792,
- 3793, 3796, 3797, 3795, 3794, 3798, 3807, 3808, 3799, 3800,
- 3801, 3802, 3803, 3804, 3806, 3805, 3825, 3826, 3827, 3828,
- 3829, 3831, 3830, 3834, 3835, 3833, 3832, 3837, 3836, 0,
- 0, 0, 0, 0, 152, 0, 0, 153, 0, 0,
- 0, 0, 929, 0, 930, 0, 0, 934, 0, 0,
- 0, 936, 935, 0, 937, 899, 898, 0, 0, 931,
- 932, 0, 933, 0, 0, 0, 0, 0, 165, 0,
- 0, 0, 0, 0, 0, 177, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1766, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3652, 0, 3653, 0, 3654, 0, 3655,
+ 0, 0, 0, 0, 0, 0, 0, 3658, 3659, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3664, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 185, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3876, 3877, 3878,
- 3879, 3880, 3881, 3882, 3883, 0, 0, 0, 0, 0,
+ 0, 3665, 0, 3666, 0, 3667, 0, 3668, 0, 3669,
+ 164, 3670, 0, 3671, 0, 3672, 0, 3673, 0, 3674,
+ 0, 3675, 0, 3676, 0, 3677, 0, 3678, 0, 3679,
+ 0, 3680, 0, 0, 3681, 0, 0, 0, 3682, 0,
+ 3683, 0, 0, 0, 0, 0, 3685, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 166,
- 171, 168, 174, 175, 176, 178, 180, 181, 182, 183,
- 0, 0, 0, 0, 0, 184, 186, 187, 188, 0,
+ 0, 0, 2334, 0, 0, 0, 0, 0, 3702, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3707, 0, 3708,
+ 3709, 0, 3710, 0, 3711, 0, 0, 0, 0, 3712,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 159, 195, 0, 0,
+ 0, 0, 731, 0, 0, 0, 3741, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 3750,
+ 0, 0, 3752, 0, 0, 0, 0, 0, 0, 3292,
+ 0, 0, 195, 0, 3756, 731, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 195,
+ 3892, 0, 0, 731, 0, 3330, 2334, 195, 0, 195,
+ 0, 195, 195, 730, 1434, 730, 730, 0, 0, 3344,
+ 0, 0, 0, 0, 0, 0, 731, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 730, 0, 0, 3362,
+ 0, 0, 3365, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 152, 0, 0, 153, 0,
+ 0, 0, 0, 0, 0, 1519, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 731, 0, 0, 0, 0, 165,
+ 0, 731, 731, 731, 0, 0, 177, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 195, 0, 195, 0, 0, 0, 0, 0, 0, 0,
+ 0, 731, 0, 0, 0, 0, 0, 731, 731, 0,
+ 0, 731, 0, 731, 0, 0, 0, 0, 0, 731,
+ 0, 0, 0, 0, 0, 0, 0, 185, 0, 4002,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 730,
- 0, 730, 730, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 730, 195, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1519, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 3026, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 3052, 3053,
- 3054, 0, 0, 3056, 0, 0, 3058, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 3077, 3078, 3079, 0,
- 0, 0, 0, 0, 0, 3084, 0, 0, 0, 0,
- 3086, 0, 0, 3088, 3089, 3090, 0, 0, 0, 3091,
- 3092, 0, 0, 3093, 1214, 3094, 1220, 0, 0, 0,
- 0, 0, 3095, 0, 3096, 0, 0, 0, 3097, 0,
- 3098, 0, 0, 3099, 0, 3100, 0, 3101, 0, 3102,
- 0, 3103, 0, 3104, 0, 3105, 0, 3106, 0, 3107,
- 0, 3108, 0, 3109, 0, 3110, 0, 3111, 0, 3112,
- 0, 3113, 0, 3114, 0, 3115, 0, 3116, 0, 0,
- 0, 3117, 0, 3118, 0, 3119, 0, 1447, 3120, 0,
- 3121, 0, 3122, 0, 2284, 3124, 0, 0, 3126, 0,
- 0, 3128, 3129, 3130, 3131, 0, 0, 0, 0, 3132,
- 2284, 2284, 2284, 2284, 2284, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 3142, 0, 0, 0, 0,
- 0, 0, 0, 3155, 1519, 0, 3159, 0, 0, 0,
- 0, 0, 0, 0, 0, 3162, 3163, 3164, 3165, 3166,
- 3167, 0, 0, 0, 3168, 3169, 0, 3170, 0, 3171,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1065, 0, 0, 0, 0, 0, 0,
- 0, 0, 195, 0, 0, 0, 730, 730, 0, 0,
- 0, 0, 0, 0, 3204, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 195, 0, 0, 86, 44,
- 45, 88, 0, 0, 0, 0, 0, 0, 0, 3234,
- 0, 0, 0, 0, 0, 0, 730, 92, 0, 195,
- 0, 48, 76, 77, 0, 74, 78, 0, 0, 0,
- 0, 730, 0, 0, 0, 0, 0, 75, 195, 0,
- 0, 0, 730, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 730, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 62,
- 3297, 0, 0, 0, 0, 730, 0, 730, 0, 0,
- 0, 95, 0, 0, 0, 730, 0, 0, 1519, 730,
- 0, 0, 730, 730, 730, 730, 0, 730, 0, 730,
- 730, 0, 730, 730, 730, 730, 730, 730, 0, 0,
- 0, 0, 0, 0, 0, 1519, 730, 730, 1519, 730,
- 1519, 195, 730, 0, 0, 0, 0, 0, 0, 0,
- 0, 83, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 195, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 730, 0, 195, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 3390, 730, 0, 0,
- 730, 0, 195, 195, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 731, 0, 0, 0, 0, 731,
+ 0, 0, 0, 731, 731, 0, 0, 0, 0, 0,
+ 166, 171, 168, 174, 175, 176, 178, 180, 181, 182,
+ 183, 910, 0, 0, 0, 0, 184, 186, 187, 188,
+ 0, 0, 0, 0, 0, 0, 0, 3525, 0, 0,
+ 0, 195, 0, 0, 0, 0, 0, 0, 195, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 195,
- 0, 0, 0, 0, 3405, 0, 195, 0, 0, 0,
- 0, 0, 0, 1778, 0, 195, 195, 195, 195, 195,
- 195, 195, 195, 195, 730, 0, 0, 0, 0, 0,
- 0, 0, 1795, 0, 0, 51, 54, 57, 56, 59,
- 0, 73, 0, 0, 82, 79, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 61, 91,
- 90, 0, 0, 71, 72, 58, 0, 0, 0, 0,
- 0, 80, 81, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1934, 0, 0, 0, 0,
- 0, 0, 0, 0, 63, 64, 0, 65, 66, 67,
- 68, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1979, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 190, 0, 0, 0, 0, 0, 2006, 0, 0,
- 0, 0, 1871, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 2017, 129, 0, 151, 0, 60, 0,
- 2021, 0, 0, 0, 730, 730, 0, 0, 0, 0,
- 172, 2032, 2033, 2034, 2035, 2036, 2037, 2038, 730, 0,
- 0, 0, 0, 3603, 0, 0, 0, 195, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 162, 0, 0, 0, 0, 0,
- 150, 0, 0, 0, 0, 0, 3627, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 169, 0, 0, 170, 0, 0, 0, 730, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1519, 89, 0,
- 0, 0, 0, 0, 0, 1875, 1876, 161, 160, 189,
- 0, 0, 0, 0, 0, 1519, 0, 0, 0, 0,
- 0, 0, 0, 0, 3647, 0, 3648, 0, 3649, 0,
- 3650, 0, 0, 0, 0, 0, 0, 0, 3653, 3654,
- 0, 0, 0, 0, 0, 0, 0, 952, 3659, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 190, 0,
- 0, 0, 3660, 0, 3661, 0, 3662, 0, 3663, 0,
- 3664, 0, 3665, 0, 3666, 0, 3667, 0, 3668, 0,
- 3669, 129, 3670, 151, 3671, 0, 3672, 0, 3673, 0,
- 3674, 0, 3675, 0, 0, 3676, 0, 172, 0, 3677,
- 0, 3678, 0, 0, 0, 0, 0, 3680, 94, 708,
- 155, 1877, 158, 0, 1874, 729, 156, 157, 0, 0,
- 0, 2070, 0, 173, 0, 0, 0, 0, 0, 3697,
- 0, 162, 179, 0, 0, 0, 0, 150, 3702, 0,
- 3703, 3704, 0, 3705, 0, 3706, 0, 0, 0, 0,
- 3707, 2331, 0, 0, 0, 0, 0, 169, 0, 0,
- 170, 0, 0, 0, 0, 0, 0, 729, 0, 729,
- 0, 0, 0, 0, 0, 0, 0, 3736, 0, 0,
- 0, 0, 138, 139, 161, 160, 189, 0, 0, 0,
- 3745, 0, 0, 3747, 0, 0, 195, 0, 0, 0,
- 0, 730, 0, 0, 0, 3751, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 70, 0, 0, 0, 0,
- 0, 3887, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 195, 0, 0, 730, 0, 0, 0, 0, 0,
+ 195, 0, 0, 195, 0, 195, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 195, 0, 0, 0, 0,
+ 0, 0, 195, 0, 0, 0, 0, 0, 0, 729,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1519, 0,
0, 0, 0, 0, 0, 0, 0, 0, 195, 0,
- 0, 0, 730, 0, 0, 2331, 195, 164, 195, 0,
- 195, 195, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 730, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 155, 136, 158,
- 143, 135, 0, 156, 157, 0, 0, 0, 0, 0,
- 173, 0, 0, 0, 0, 0, 0, 0, 0, 179,
- 144, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 147, 145, 140, 141, 142, 146,
- 0, 0, 730, 0, 0, 0, 137, 0, 0, 730,
- 730, 730, 0, 0, 0, 148, 0, 0, 0, 0,
- 0, 0, 0, 159, 0, 0, 0, 0, 0, 730,
- 3997, 0, 0, 0, 0, 730, 730, 0, 0, 730,
- 0, 730, 0, 0, 0, 0, 0, 730, 0, 0,
- 0, 0, 0, 0, 0, 0, 909, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 730, 0, 0, 0, 0, 730, 0, 0,
- 0, 730, 730, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 2397, 0, 164, 0, 0, 0, 0, 0,
- 2401, 0, 2404, 0, 0, 2070, 0, 0, 0, 0,
- 0, 0, 0, 0, 728, 0, 0, 0, 0, 195,
- 0, 0, 152, 0, 0, 153, 195, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 195, 195, 0, 0,
- 195, 0, 195, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 195, 0, 0, 0, 165, 0, 0, 195,
- 0, 0, 0, 177, 0, 0, 1090, 0, 1097, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 731,
+ 0, 0, 3586, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 195, 0, 0, 0, 0,
- 159, 0, 0, 0, 0, 0, 730, 0, 0, 0,
- 0, 0, 0, 0, 185, 0, 0, 0, 0, 0,
+ 0, 1091, 3601, 1098, 0, 3602, 3603, 3604, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 4039, 0, 0,
+ 730, 730, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 4044, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 166, 171, 168,
- 174, 175, 176, 178, 180, 181, 182, 183, 0, 0,
- 0, 0, 0, 184, 186, 187, 188, 0, 0, 0,
- 1519, 0, 2331, 4053, 0, 0, 4054, 0, 4055, 0,
+ 0, 0, 0, 1520, 0, 2334, 0, 0, 0, 0,
+ 730, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 730, 0, 0, 0, 0,
+ 0, 0, 4058, 0, 0, 4059, 730, 4060, 0, 0,
+ 0, 0, 0, 0, 0, 0, 730, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 152,
- 0, 0, 153, 2070, 0, 0, 0, 0, 0, 0,
- 2562, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 2581, 2582, 0, 0, 2586, 0, 0, 0, 0, 0,
- 0, 0, 0, 165, 0, 0, 2591, 0, 0, 0,
- 177, 0, 0, 2594, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 730,
+ 0, 730, 0, 0, 0, 0, 0, 0, 0, 730,
+ 0, 0, 1519, 730, 0, 0, 730, 730, 730, 730,
+ 0, 730, 0, 730, 730, 0, 730, 730, 730, 730,
+ 730, 730, 0, 0, 0, 0, 0, 0, 0, 1519,
+ 730, 730, 1519, 730, 1519, 0, 730, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 2597,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 4144,
+ 0, 0, 0, 0, 0, 0, 0, 0, 730, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 4139, 185, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 730, 0, 0, 730, 0, 0, 0, 4160, 0,
+ 4161, 0, 4162, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 4155,
- 0, 4156, 0, 4157, 0, 0, 729, 1433, 729, 729,
- 0, 0, 0, 0, 166, 171, 168, 174, 175, 176,
- 178, 180, 181, 182, 183, 0, 0, 0, 0, 729,
- 184, 186, 187, 188, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1518, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 730, 0,
+ 0, 0, 0, 0, 95, 0, 0, 1019, 0, 0,
+ 0, 0, 959, 1020, 972, 973, 974, 960, 195, 0,
+ 961, 962, 0, 963, 0, 0, 195, 0, 0, 0,
+ 0, 0, 4211, 0, 4212, 0, 0, 731, 0, 968,
+ 0, 975, 976, 0, 0, 0, 0, 0, 0, 0,
+ 0, 731, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 4206, 0, 4207, 0, 0, 0, 0,
0, 0, 0, 0, 0, 195, 0, 0, 0, 0,
+ 195, 0, 0, 0, 0, 0, 0, 0, 0, 3338,
+ 3339, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 977, 978, 979, 980, 981, 982, 983, 984, 985,
+ 986, 987, 988, 989, 990, 991, 992, 993, 994, 995,
+ 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005,
+ 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015,
+ 1016, 1017, 1018, 0, 0, 0, 0, 0, 0, 731,
+ 0, 0, 0, 0, 0, 195, 0, 0, 0, 0,
+ 0, 0, 195, 0, 0, 0, 0, 0, 730, 730,
+ 0, 0, 0, 0, 0, 0, 731, 0, 0, 0,
+ 0, 0, 730, 731, 3340, 0, 0, 731, 731, 0,
+ 0, 0, 731, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1520, 731,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 195, 195, 195, 195, 195, 195, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 730, 0, 0, 0, 0, 0, 0, 0, 195,
+ 195, 1519, 0, 0, 0, 0, 0, 0, 0, 0,
+ 2137, 0, 3341, 3342, 0, 0, 0, 0, 0, 1519,
0, 0, 0, 195, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 730, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 730, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 731,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 195, 0, 0, 0, 0, 195, 0, 0,
+ 0, 0, 1019, 0, 0, 2323, 0, 0, 1020, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 2128, 0,
+ 0, 1279, 0, 1279, 1279, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 924, 0, 731,
+ 0, 0, 0, 928, 1447, 0, 0, 925, 926, 0,
+ 0, 0, 927, 929, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 4042, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 730, 977, 978, 979, 980,
+ 981, 982, 983, 984, 985, 986, 987, 988, 989, 990,
+ 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000,
+ 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010,
+ 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 0, 0,
+ 0, 0, 0, 0, 0, 730, 0, 0, 0, 0,
+ 0, 0, 0, 0, 731, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 731, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 730, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 730, 731, 0, 730,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 195, 0, 0, 731, 0, 0, 0, 730,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 731,
+ 0, 0, 0, 1520, 0, 0, 731, 731, 1520, 195,
+ 195, 195, 195, 195, 0, 0, 0, 0, 0, 0,
+ 0, 195, 0, 0, 0, 0, 0, 195, 0, 195,
+ 0, 0, 195, 195, 195, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 730, 0, 0,
+ 0, 0, 0, 0, 730, 730, 730, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 730, 0, 0, 0, 195, 0,
+ 730, 730, 0, 0, 730, 0, 730, 0, 0, 0,
+ 0, 731, 730, 0, 1520, 0, 0, 0, 0, 731,
+ 0, 0, 0, 0, 195, 0, 0, 0, 1719, 1720,
+ 0, 0, 0, 0, 0, 0, 0, 0, 195, 0,
+ 0, 0, 0, 0, 0, 0, 0, 730, 0, 0,
+ 0, 0, 730, 0, 0, 0, 730, 730, 195, 0,
+ 0, 195, 0, 0, 0, 0, 0, 0, 1773, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 730, 0, 0, 0, 0,
- 0, 195, 0, 0, 0, 0, 0, 0, 195, 0,
+ 0, 0, 0, 1791, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1850, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1859, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 730, 0, 0, 0, 0, 0, 0, 730,
- 0, 0, 0, 730, 730, 0, 0, 0, 730, 0,
- 0, 1518, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1519, 730, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 195, 195, 195,
- 195, 195, 195, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 195, 195, 0, 0, 0, 0,
- 0, 0, 0, 729, 729, 0, 0, 0, 0, 0,
- 0, 2901, 0, 0, 0, 0, 0, 0, 195, 0,
- 0, 0, 0, 0, 0, 1278, 0, 1278, 1278, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 729, 730, 0, 0, 0, 1446, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 729, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 729,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 729,
- 0, 0, 0, 0, 0, 2950, 0, 0, 0, 0,
- 0, 0, 0, 0, 730, 0, 0, 0, 0, 0,
- 0, 0, 729, 0, 729, 0, 0, 0, 0, 0,
- 0, 0, 729, 0, 0, 1518, 729, 0, 0, 729,
- 729, 729, 729, 0, 729, 0, 729, 729, 0, 729,
- 729, 729, 729, 729, 729, 0, 0, 0, 0, 0,
- 0, 0, 1518, 729, 729, 1518, 729, 1518, 0, 729,
- 0, 2999, 3000, 3001, 3002, 3003, 3004, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 2070, 3014,
- 0, 729, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 729, 0, 0, 729, 0, 0,
- 0, 0, 3022, 0, 0, 0, 0, 0, 0, 730,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 730, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 729, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 730, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 195, 0, 0,
- 730, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 730, 0, 0, 0, 1519, 0,
- 0, 730, 730, 1519, 195, 195, 195, 195, 195, 0,
- 0, 0, 0, 0, 0, 0, 195, 0, 0, 0,
- 0, 0, 195, 0, 195, 0, 0, 195, 195, 195,
+ 0, 0, 0, 0, 0, 0, 0, 1091, 0, 1885,
+ 0, 0, 0, 0, 0, 0, 0, 1894, 0, 0,
+ 0, 1896, 0, 0, 1899, 1900, 1902, 1902, 0, 1902,
+ 0, 1902, 1902, 0, 1911, 1902, 1902, 1902, 1902, 1902,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1931, 1932,
+ 0, 1091, 730, 0, 1937, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 731,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1979, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2001,
+ 0, 0, 2005, 0, 0, 0, 195, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1718, 1719, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1519, 0, 730, 0,
+ 0, 0, 1019, 0, 0, 0, 0, 0, 1020, 0,
+ 0, 0, 0, 0, 0, 0, 1279, 0, 2128, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 195, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 730, 0, 0, 1519,
- 0, 0, 1772, 0, 730, 0, 0, 0, 0, 195,
- 0, 0, 0, 0, 0, 0, 0, 1790, 0, 0,
- 0, 0, 0, 195, 0, 0, 0, 0, 1848, 0,
- 0, 729, 729, 0, 0, 0, 0, 0, 1857, 0,
- 0, 0, 0, 195, 0, 729, 195, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1090, 0, 1883, 0, 0, 0, 0, 0, 0,
- 0, 1892, 0, 0, 0, 1894, 0, 0, 1897, 1898,
- 1900, 1900, 0, 1900, 0, 1900, 1900, 0, 1909, 1900,
- 1900, 1900, 1900, 1900, 0, 0, 0, 0, 0, 0,
- 0, 0, 1929, 1930, 729, 1090, 0, 0, 1935, 0,
- 0, 0, 0, 0, 1518, 0, 0, 0, 0, 0,
- 0, 0, 0, 2134, 0, 0, 0, 0, 0, 0,
- 0, 0, 1518, 0, 0, 0, 0, 0, 0, 0,
- 1977, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1998, 0, 0, 2002, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3287, 0, 0,
- 0, 0, 0, 0, 730, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3325, 0, 0, 0, 0, 0, 0,
- 1278, 0, 0, 0, 0, 0, 0, 3339, 0, 0,
- 0, 195, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3357, 0, 0,
- 3360, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 195, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 195, 729, 0,
+ 0, 195, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 195, 0, 0, 195, 195, 195, 0, 0, 0,
+ 0, 0, 0, 0, 731, 731, 977, 978, 979, 980,
+ 981, 982, 983, 984, 985, 986, 987, 988, 989, 990,
+ 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000,
+ 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010,
+ 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 0, 0,
+ 0, 0, 0, 731, 731, 731, 731, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 195, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 195, 0, 729, 195,
- 195, 195, 0, 0, 0, 0, 0, 0, 0, 730,
- 730, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 729, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 729,
- 1278, 1278, 729, 0, 0, 0, 0, 0, 730, 730,
- 730, 730, 0, 0, 2058, 0, 0, 0, 0, 0,
- 0, 0, 729, 0, 0, 3520, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1279, 1279, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 2061, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 2120, 0, 0, 0, 0, 0, 729,
- 0, 0, 0, 0, 0, 0, 729, 729, 729, 0,
+ 730, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 730, 0, 0, 0, 0, 2123,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 729, 0, 0, 0,
- 3581, 0, 729, 729, 0, 0, 729, 0, 729, 0,
- 0, 0, 0, 0, 729, 0, 0, 0, 0, 0,
- 3596, 0, 0, 3597, 3598, 3599, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 729,
- 0, 0, 0, 0, 729, 0, 0, 0, 729, 729,
- 0, 0, 0, 0, 0, 730, 0, 730, 0, 195,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1519, 0,
- 0, 0, 195, 0, 0, 730, 0, 730, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2919,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 731, 0, 731, 0, 195, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1278, 0, 0,
+ 0, 0, 0, 1520, 0, 0, 0, 195, 0, 0,
+ 731, 0, 731, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 730, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 730,
+ 0, 0, 0, 0, 0, 0, 730, 0, 0, 0,
+ 730, 730, 0, 0, 0, 730, 0, 0, 0, 0,
+ 731, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1519, 730, 195, 0, 0, 731, 0, 0, 0,
+ 0, 0, 0, 1279, 0, 0, 0, 0, 0, 731,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 730, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 195, 0,
- 0, 730, 0, 729, 0, 0, 0, 2368, 0, 0,
- 0, 0, 0, 0, 730, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 2381, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1772, 0,
- 0, 1278, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1518, 0, 729,
- 0, 1090, 0, 0, 0, 0, 0, 0, 0, 730,
- 0, 0, 0, 0, 0, 0, 730, 0, 730, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 2371, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 730, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1097, 0,
- 0, 0, 0, 0, 0, 2494, 2495, 2496, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1090, 0, 0, 0, 0,
- 0, 1097, 1892, 0, 0, 1892, 0, 1892, 0, 0,
- 0, 0, 0, 2526, 0, 0, 0, 0, 0, 0,
+ 0, 0, 730, 0, 731, 0, 2384, 0, 0, 0,
+ 0, 731, 0, 731, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1773, 0, 0, 1279, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 731, 0, 0, 0, 0, 1091, 0, 0,
+ 0, 0, 730, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1090, 0,
- 0, 0, 0, 2120, 0, 0, 0, 2120, 2120, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1098, 0, 0, 0, 0,
+ 0, 0, 2498, 2499, 2500, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1091, 0, 0, 0, 0, 0, 1098, 1894,
+ 0, 0, 1894, 0, 1894, 0, 0, 0, 0, 0,
+ 2530, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 730, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 730,
+ 0, 0, 731, 0, 0, 1091, 0, 0, 0, 0,
+ 2123, 0, 0, 0, 2123, 2123, 0, 0, 195, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 195, 0, 0, 0, 0, 0, 0,
+ 730, 0, 0, 0, 0, 0, 731, 195, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 730, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 730, 195, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 730, 0, 0, 0, 1519, 0, 0, 730,
+ 730, 1519, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 729, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 729, 0, 0, 0, 0,
- 0, 0, 2601, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 730, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 730, 0, 0,
- 2914, 0, 0, 0, 0, 0, 0, 1519, 730, 0,
- 730, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 731, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 731, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1520, 731, 0, 731, 0, 0, 0, 0,
+ 2606, 0, 3287, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 730, 2331, 0, 1278, 0,
+ 731, 2334, 0, 0, 730, 0, 0, 1519, 0, 0,
+ 0, 0, 730, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 729, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 195, 730, 0, 729,
- 0, 0, 0, 0, 0, 0, 729, 0, 0, 0,
- 729, 729, 0, 0, 0, 729, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 4037, 0, 0, 0,
- 95, 1518, 729, 1018, 0, 0, 0, 730, 958, 1019,
- 971, 972, 973, 959, 0, 0, 960, 961, 0, 962,
+ 0, 195, 731, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1279, 0, 0, 0,
+ 0, 0, 0, 0, 3369, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 730, 0, 0, 0, 967, 195, 974, 975, 0,
+ 0, 0, 731, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 730, 0, 730, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 731, 0, 0, 0,
+ 0, 195, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 731, 0, 731, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 3333, 3334, 0, 0, 0,
- 0, 729, 0, 0, 0, 0, 0, 976, 977, 978,
- 979, 980, 981, 982, 983, 984, 985, 986, 987, 988,
- 989, 990, 991, 992, 993, 994, 995, 996, 997, 998,
- 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008,
- 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 0,
- 0, 729, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 2849, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 3335, 0, 0, 0, 2864, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 730, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 729, 0, 3336, 3337,
- 0, 0, 0, 0, 0, 0, 0, 0, 729, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 2946, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 729,
- 0, 0, 0, 0, 0, 0, 0, 0, 2381, 0,
- 0, 0, 0, 0, 0, 2971, 0, 729, 0, 1892,
- 1892, 0, 0, 0, 2976, 0, 0, 0, 0, 0,
- 0, 729, 0, 0, 0, 1518, 0, 0, 729, 729,
- 1518, 2987, 923, 0, 0, 0, 0, 0, 927, 0,
- 0, 0, 924, 925, 0, 0, 0, 926, 928, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 3282, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3576, 0, 0, 0, 0, 2854, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 729, 0, 0, 1518, 0, 0, 0,
- 2120, 729, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 2869, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 730, 730, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 2120, 0, 0, 3364, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 730, 730, 730, 730,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 2951, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 2384, 0, 0,
+ 0, 0, 0, 0, 2976, 0, 0, 0, 1894, 1894,
+ 0, 0, 0, 2981, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 2992, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 3144, 0, 0, 0, 0,
- 0, 729, 0, 0, 0, 0, 0, 1278, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1900, 0,
+ 0, 0, 0, 730, 0, 730, 0, 0, 0, 0,
+ 2123, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1519, 0, 0, 0,
+ 0, 0, 0, 730, 0, 730, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 3189, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1278, 0, 0, 0, 0, 0, 0, 3216, 1900, 0,
+ 2123, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 730, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 730,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 3571, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 730, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 729, 729, 0, 0,
- 0, 0, 1090, 0, 0, 0, 0, 0, 0, 0,
- 2381, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 3149, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1279, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 730, 0, 0,
+ 0, 0, 0, 0, 730, 0, 730, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1902, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 729, 729, 729, 729, 0,
+ 0, 0, 0, 0, 0, 730, 3194, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1279, 0, 0, 0, 0, 0, 0, 3221, 1902, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2703,235 +2695,398 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1091, 0, 0, 0, 0, 0, 0, 0,
+ 2384, 0, 0, 0, 0, 0, 0, 3778, 3780, 3779,
+ 3845, 3846, 3847, 3848, 3849, 3850, 3851, 3781, 3782, 801,
+ 0, 0, 0, 0, 0, 730, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 730,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1848, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 729, 0, 729, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1518, 0, 0, 0, 0,
- 0, 0, 729, 0, 729, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 730, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 730, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1519, 730, 0, 730, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1850, 0, 0, 730, 730, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 729, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 729, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 729, 0, 0, 0, 2381, 2381, 0, 0, 0,
+ 0, 0, 0, 0, 0, 730, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3786, 0, 0,
+ 0, 0, 0, 0, 0, 730, 0, 0, 0, 0,
+ 0, 0, 3794, 3795, 0, 0, 3870, 3869, 3868, 0,
+ 0, 3866, 3867, 3865, 0, 0, 0, 0, 0, 730,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 730, 0,
+ 730, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 3635, 3636, 3637, 3638, 0, 0,
+ 0, 0, 0, 0, 0, 2384, 2384, 3871, 924, 0,
+ 777, 778, 3872, 3873, 928, 3874, 780, 781, 925, 926,
+ 0, 775, 779, 927, 929, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 729, 0, 0, 0,
- 0, 0, 0, 729, 0, 729, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 3640, 3641, 3642, 3643, 0, 0,
+ 3775, 3776, 3777, 3783, 3784, 3785, 3796, 3843, 3844, 3852,
+ 3854, 880, 3853, 3855, 3856, 3857, 3860, 3861, 3862, 3863,
+ 3858, 3859, 3864, 3758, 3762, 3759, 3760, 3761, 3773, 3763,
+ 3764, 3765, 3766, 3767, 3768, 3769, 3770, 3771, 3772, 3774,
+ 3875, 3876, 3877, 3878, 3879, 3880, 3789, 3793, 3792, 3790,
+ 3791, 3787, 3788, 3815, 3814, 3816, 3817, 3818, 3819, 3820,
+ 3821, 3823, 3822, 3824, 3825, 3826, 3827, 3828, 3829, 3797,
+ 3798, 3801, 3802, 3800, 3799, 3803, 3812, 3813, 3804, 3805,
+ 3806, 3807, 3808, 3809, 3811, 3810, 3830, 3831, 3832, 3833,
+ 3834, 3836, 3835, 3839, 3840, 3838, 3837, 3842, 3841, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 729, 0, 0, 0, 0, 0,
+ 0, 0, 930, 0, 931, 0, 0, 935, 0, 0,
+ 0, 937, 936, 0, 938, 900, 899, 0, 0, 932,
+ 933, 0, 934, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 3718, 0, 3718, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 3746, 0, 3748, 0, 0, 0, 3881, 3882, 3883,
+ 3884, 3885, 3886, 3887, 3888, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 2384, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3915, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1279, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 3713, 0, 3713, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 3741, 0, 3743, 729, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 729, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 3718, 0, 0, 0, 0,
+ 0, 0, 3718, 0, 3718, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 2381, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3910, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1278, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 729, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 729, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1518, 729, 0, 729, 0, 0,
+ 0, 0, 0, 2384, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 729, 729, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 3713, 0, 0, 0, 0,
- 0, 0, 3713, 0, 3713, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 729, 0, 0, 0, 0, 0,
- 0, 0, 0, 2381, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 729, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 729, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 729, 0, 729,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 2381, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 2384, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 2381, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 2384, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 4057, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 4065, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 2381, 0, 4073, 0, 0, 0,
+ 0, 0, 0, 4062, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 4070, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2384, 0, 4078, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1278, 1278, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1279, 1279, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 4123, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 4128, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 4065, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 4070, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 2381, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 2384, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 396, 0, 0, 0, 1848, 0, 4123, 1416,
- 1400, 528, 0, 1342, 1419, 1310, 1329, 1429, 1332, 1335,
- 1379, 1288, 1357, 416, 1326, 1314, 1283, 1321, 1284, 1312,
- 1344, 270, 1309, 1402, 1361, 1418, 366, 267, 1290, 1281,
- 204, 505, 1315, 430, 1331, 203, 1381, 487, 252, 377,
+ 0, 0, 396, 0, 0, 0, 1850, 0, 4128, 1417,
+ 1401, 528, 0, 1343, 1420, 1311, 1330, 1430, 1333, 1336,
+ 1380, 1289, 1358, 416, 1327, 1315, 1284, 1322, 1285, 1313,
+ 1345, 270, 1310, 1403, 1362, 1419, 366, 267, 1291, 1282,
+ 204, 505, 1316, 430, 1332, 203, 1382, 487, 252, 377,
374, 583, 282, 273, 269, 250, 317, 385, 428, 518,
- 422, 1425, 370, 1367, 0, 497, 401, 0, 0, 0,
- 1406, 1405, 1336, 1346, 1408, 1355, 1393, 1341, 1380, 1298,
- 1366, 1420, 1327, 1376, 1421, 323, 248, 325, 202, 413,
- 498, 286, 0, 0, 0, 0, 4097, 507, 954, 0,
- 0, 0, 0, 4098, 0, 0, 0, 0, 238, 0,
+ 422, 1426, 370, 1368, 0, 497, 401, 0, 0, 0,
+ 1407, 1406, 1337, 1347, 1409, 1356, 1394, 1342, 1381, 1299,
+ 1367, 1421, 1328, 1377, 1422, 323, 248, 325, 202, 413,
+ 498, 286, 0, 0, 0, 0, 4102, 507, 955, 0,
+ 0, 0, 0, 4103, 0, 0, 0, 0, 238, 0,
0, 245, 0, 0, 0, 351, 360, 359, 339, 340,
- 342, 344, 350, 357, 363, 336, 345, 1323, 1373, 607,
- 1415, 1324, 1375, 265, 321, 272, 264, 580, 1426, 1407,
- 1287, 1354, 1414, 1349, 0, 0, 229, 1417, 1348, 0,
- 1378, 0, 1432, 1282, 1369, 0, 1285, 1289, 1428, 1412,
- 1318, 275, 0, 0, 0, 0, 0, 0, 0, 1345,
- 1356, 1390, 1394, 1339, 0, 0, 0, 0, 0, 0,
- 0, 0, 1316, 0, 1365, 0, 0, 0, 1294, 1286,
+ 342, 344, 350, 357, 363, 336, 345, 1324, 1374, 607,
+ 1416, 1325, 1376, 265, 321, 272, 264, 580, 1427, 1408,
+ 1288, 1355, 1415, 1350, 0, 0, 229, 1418, 1349, 0,
+ 1379, 0, 1433, 1283, 1370, 0, 1286, 1290, 1429, 1413,
+ 1319, 275, 0, 0, 0, 0, 0, 0, 0, 1346,
+ 1357, 1391, 1395, 1340, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1317, 0, 1366, 0, 0, 0, 1295, 1287,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1343, 0, 0, 0, 0, 1297, 0, 1317,
- 1391, 0, 1280, 297, 1291, 402, 257, 0, 453, 1398,
- 1411, 1340, 625, 1413, 1338, 1337, 1385, 1295, 1404, 1330,
- 365, 1293, 330, 197, 225, 0, 1328, 412, 461, 473,
- 1403, 1313, 1322, 253, 1320, 471, 426, 602, 233, 284,
- 458, 432, 469, 440, 287, 1364, 1383, 470, 372, 585,
- 450, 599, 626, 627, 263, 406, 612, 522, 620, 644,
+ 0, 0, 1344, 0, 0, 0, 0, 1298, 0, 1318,
+ 1392, 0, 1281, 297, 1292, 402, 257, 0, 453, 1399,
+ 1412, 1341, 626, 1414, 1339, 1338, 1386, 1296, 1405, 1331,
+ 365, 1294, 330, 197, 225, 0, 1329, 412, 461, 473,
+ 1404, 1314, 1323, 253, 1321, 471, 426, 602, 233, 284,
+ 458, 432, 469, 440, 287, 1365, 1384, 470, 372, 585,
+ 450, 599, 627, 628, 263, 406, 612, 522, 620, 645,
226, 260, 420, 506, 605, 494, 397, 581, 582, 329,
- 493, 295, 201, 369, 632, 224, 479, 371, 242, 231,
- 587, 609, 299, 289, 456, 639, 213, 517, 597, 239,
- 483, 0, 0, 647, 247, 504, 215, 594, 503, 393,
+ 493, 295, 201, 369, 633, 224, 479, 371, 242, 231,
+ 587, 609, 299, 289, 456, 640, 213, 517, 597, 239,
+ 483, 0, 0, 648, 247, 504, 215, 594, 503, 393,
326, 327, 214, 0, 457, 268, 293, 0, 0, 258,
- 415, 589, 590, 256, 648, 228, 619, 220, 1292, 618,
+ 415, 589, 590, 256, 649, 228, 619, 220, 1293, 618,
408, 584, 595, 394, 383, 219, 593, 392, 382, 334,
355, 356, 280, 307, 447, 375, 448, 306, 308, 404,
- 403, 405, 207, 606, 0, 208, 0, 499, 608, 649,
- 452, 212, 234, 235, 237, 1308, 279, 283, 291, 294,
- 303, 304, 313, 367, 419, 446, 442, 451, 1399, 579,
- 600, 613, 624, 630, 631, 633, 634, 635, 636, 637,
- 640, 638, 407, 311, 495, 333, 373, 1388, 1431, 425,
- 472, 240, 604, 496, 199, 1302, 1307, 1300, 0, 254,
- 255, 1370, 575, 1303, 1301, 1359, 1360, 1304, 1422, 1423,
- 1424, 1409, 650, 651, 652, 653, 654, 655, 656, 657,
+ 403, 405, 207, 606, 623, 0, 208, 0, 499, 608,
+ 650, 452, 212, 234, 235, 237, 1309, 279, 283, 291,
+ 294, 303, 304, 313, 367, 419, 446, 442, 451, 1400,
+ 579, 600, 613, 625, 631, 632, 634, 635, 636, 637,
+ 638, 641, 639, 407, 311, 495, 333, 373, 1389, 1432,
+ 425, 472, 240, 604, 496, 199, 1303, 1308, 1301, 0,
+ 254, 255, 1371, 575, 1304, 1302, 1360, 1361, 1305, 1423,
+ 1424, 1425, 1410, 651, 652, 653, 654, 655, 656, 657,
658, 659, 660, 661, 662, 663, 664, 665, 666, 667,
- 645, 508, 514, 509, 510, 511, 512, 513, 0, 515,
- 1392, 1296, 0, 1305, 1306, 398, 1401, 591, 592, 668,
- 384, 486, 601, 335, 349, 352, 341, 361, 0, 362,
- 337, 338, 343, 346, 347, 348, 353, 354, 358, 364,
- 249, 210, 390, 399, 578, 312, 216, 217, 218, 524,
- 525, 526, 527, 616, 617, 621, 205, 462, 463, 464,
- 465, 292, 611, 309, 468, 467, 331, 332, 379, 449,
- 540, 542, 553, 557, 559, 561, 567, 570, 541, 543,
- 554, 558, 560, 562, 568, 571, 530, 532, 534, 536,
- 549, 548, 545, 573, 574, 551, 556, 535, 547, 552,
- 565, 572, 569, 529, 533, 537, 546, 564, 563, 544,
- 555, 566, 550, 538, 531, 539, 1363, 196, 221, 368,
- 1427, 454, 288, 646, 615, 484, 610, 206, 223, 1299,
- 262, 1311, 1319, 0, 1325, 1333, 1334, 1347, 1350, 1351,
- 1352, 1353, 1371, 1372, 1374, 1382, 1384, 1387, 1389, 1396,
- 1410, 1430, 198, 200, 209, 222, 232, 236, 243, 261,
- 276, 278, 285, 298, 310, 318, 319, 322, 328, 380,
- 386, 387, 388, 389, 409, 410, 411, 414, 417, 418,
- 421, 423, 424, 427, 431, 435, 436, 437, 439, 441,
- 443, 455, 460, 474, 475, 476, 477, 478, 481, 482,
- 488, 489, 490, 491, 492, 500, 501, 516, 586, 588,
- 603, 622, 628, 480, 301, 302, 444, 445, 314, 315,
- 642, 643, 300, 598, 629, 596, 641, 623, 438, 378,
- 1362, 1368, 381, 281, 305, 320, 1377, 614, 502, 227,
- 466, 290, 251, 1395, 1397, 211, 246, 230, 259, 274,
- 277, 324, 391, 400, 429, 434, 296, 271, 244, 459,
- 241, 485, 519, 520, 521, 523, 395, 266, 433, 1358,
- 1386, 376, 576, 577, 316, 396, 0, 0, 0, 0,
- 0, 0, 1416, 1400, 528, 0, 1342, 1419, 1310, 1329,
- 1429, 1332, 1335, 1379, 1288, 1357, 416, 1326, 1314, 1283,
- 1321, 1284, 1312, 1344, 270, 1309, 1402, 1361, 1418, 366,
- 267, 1290, 1281, 204, 505, 1315, 430, 1331, 203, 1381,
- 487, 252, 377, 374, 583, 282, 273, 269, 250, 317,
- 385, 428, 518, 422, 1425, 370, 1367, 0, 497, 401,
- 0, 0, 0, 1406, 1405, 1336, 1346, 1408, 1355, 1393,
- 1341, 1380, 1298, 1366, 1420, 1327, 1376, 1421, 323, 248,
- 325, 202, 413, 498, 286, 0, 0, 0, 0, 0,
- 507, 194, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 238, 0, 0, 245, 0, 0, 0, 351, 360,
- 359, 339, 340, 342, 344, 350, 357, 363, 336, 345,
- 1323, 1373, 607, 1415, 1324, 1375, 265, 321, 272, 264,
- 580, 1426, 1407, 1287, 1354, 1414, 1349, 0, 0, 229,
- 1417, 1348, 0, 1378, 0, 1432, 1282, 1369, 0, 1285,
- 1289, 1428, 1412, 1318, 275, 0, 0, 0, 0, 0,
- 0, 0, 1345, 1356, 1390, 1394, 1339, 0, 0, 0,
- 0, 0, 0, 3241, 0, 1316, 0, 1365, 0, 0,
- 0, 1294, 1286, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1343, 0, 0, 0, 0,
- 1297, 0, 1317, 1391, 0, 1280, 297, 1291, 402, 257,
- 0, 453, 1398, 1411, 1340, 625, 1413, 1338, 1337, 1385,
- 1295, 1404, 1330, 365, 1293, 330, 197, 225, 0, 1328,
- 412, 461, 473, 1403, 1313, 1322, 253, 1320, 471, 426,
- 602, 233, 284, 458, 432, 469, 440, 287, 1364, 1383,
- 470, 372, 585, 450, 599, 626, 627, 263, 406, 612,
- 522, 620, 644, 226, 260, 420, 506, 605, 494, 397,
- 581, 582, 329, 493, 295, 201, 369, 632, 224, 479,
- 371, 242, 231, 587, 609, 299, 289, 456, 639, 213,
- 517, 597, 239, 483, 0, 0, 647, 247, 504, 215,
- 594, 503, 393, 326, 327, 214, 0, 457, 268, 293,
- 0, 0, 258, 415, 589, 590, 256, 648, 228, 619,
- 220, 1292, 618, 408, 584, 595, 394, 383, 219, 593,
- 392, 382, 334, 355, 356, 280, 307, 447, 375, 448,
- 306, 308, 404, 403, 405, 207, 606, 0, 208, 0,
- 499, 608, 649, 452, 212, 234, 235, 237, 1308, 279,
+ 668, 646, 508, 514, 509, 510, 511, 512, 513, 0,
+ 515, 1393, 1297, 0, 1306, 1307, 398, 1402, 591, 592,
+ 669, 384, 486, 601, 335, 349, 352, 341, 361, 0,
+ 362, 337, 338, 343, 346, 347, 348, 353, 354, 358,
+ 364, 249, 210, 390, 399, 578, 312, 216, 217, 218,
+ 524, 525, 526, 527, 616, 617, 621, 205, 462, 463,
+ 464, 465, 292, 611, 309, 468, 467, 331, 332, 379,
+ 449, 540, 542, 553, 557, 559, 561, 567, 570, 541,
+ 543, 554, 558, 560, 562, 568, 571, 530, 532, 534,
+ 536, 549, 548, 545, 573, 574, 551, 556, 535, 547,
+ 552, 565, 572, 569, 529, 533, 537, 546, 564, 563,
+ 544, 555, 566, 550, 538, 531, 539, 1364, 196, 221,
+ 368, 1428, 454, 288, 647, 615, 484, 610, 206, 223,
+ 1300, 262, 1312, 1320, 0, 1326, 1334, 1335, 1348, 1351,
+ 1352, 1353, 1354, 1372, 1373, 1375, 1383, 1385, 1388, 1390,
+ 1397, 1411, 1431, 198, 200, 209, 222, 232, 236, 243,
+ 261, 276, 278, 285, 298, 310, 318, 319, 322, 328,
+ 380, 386, 387, 388, 389, 409, 410, 411, 414, 417,
+ 418, 421, 423, 424, 427, 431, 435, 436, 437, 439,
+ 441, 443, 455, 460, 474, 475, 476, 477, 478, 481,
+ 482, 488, 489, 490, 491, 492, 500, 501, 516, 586,
+ 588, 603, 622, 629, 480, 301, 302, 444, 445, 314,
+ 315, 643, 644, 300, 598, 630, 596, 642, 624, 438,
+ 378, 1363, 1369, 381, 281, 305, 320, 1378, 614, 502,
+ 227, 466, 290, 251, 1396, 1398, 211, 246, 230, 259,
+ 274, 277, 324, 391, 400, 429, 434, 296, 271, 244,
+ 459, 241, 485, 519, 520, 521, 523, 395, 266, 433,
+ 1359, 1387, 376, 576, 577, 316, 396, 0, 0, 0,
+ 0, 0, 0, 1417, 1401, 528, 0, 1343, 1420, 1311,
+ 1330, 1430, 1333, 1336, 1380, 1289, 1358, 416, 1327, 1315,
+ 1284, 1322, 1285, 1313, 1345, 270, 1310, 1403, 1362, 1419,
+ 366, 267, 1291, 1282, 204, 505, 1316, 430, 1332, 203,
+ 1382, 487, 252, 377, 374, 583, 282, 273, 269, 250,
+ 317, 385, 428, 518, 422, 1426, 370, 1368, 0, 497,
+ 401, 0, 0, 0, 1407, 1406, 1337, 1347, 1409, 1356,
+ 1394, 1342, 1381, 1299, 1367, 1421, 1328, 1377, 1422, 323,
+ 248, 325, 202, 413, 498, 286, 0, 0, 0, 0,
+ 0, 507, 194, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 238, 0, 0, 245, 0, 0, 0, 351,
+ 360, 359, 339, 340, 342, 344, 350, 357, 363, 336,
+ 345, 1324, 1374, 607, 1416, 1325, 1376, 265, 321, 272,
+ 264, 580, 1427, 1408, 1288, 1355, 1415, 1350, 0, 0,
+ 229, 1418, 1349, 0, 1379, 0, 1433, 1283, 1370, 0,
+ 1286, 1290, 1429, 1413, 1319, 275, 0, 0, 0, 0,
+ 0, 0, 0, 1346, 1357, 1391, 1395, 1340, 0, 0,
+ 0, 0, 0, 0, 3246, 0, 1317, 0, 1366, 0,
+ 0, 0, 1295, 1287, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1344, 0, 0, 0,
+ 0, 1298, 0, 1318, 1392, 0, 1281, 297, 1292, 402,
+ 257, 0, 453, 1399, 1412, 1341, 626, 1414, 1339, 1338,
+ 1386, 1296, 1405, 1331, 365, 1294, 330, 197, 225, 0,
+ 1329, 412, 461, 473, 1404, 1314, 1323, 253, 1321, 471,
+ 426, 602, 233, 284, 458, 432, 469, 440, 287, 1365,
+ 1384, 470, 372, 585, 450, 599, 627, 628, 263, 406,
+ 612, 522, 620, 645, 226, 260, 420, 506, 605, 494,
+ 397, 581, 582, 329, 493, 295, 201, 369, 633, 224,
+ 479, 371, 242, 231, 587, 609, 299, 289, 456, 640,
+ 213, 517, 597, 239, 483, 0, 0, 648, 247, 504,
+ 215, 594, 503, 393, 326, 327, 214, 0, 457, 268,
+ 293, 0, 0, 258, 415, 589, 590, 256, 649, 228,
+ 619, 220, 1293, 618, 408, 584, 595, 394, 383, 219,
+ 593, 392, 382, 334, 355, 356, 280, 307, 447, 375,
+ 448, 306, 308, 404, 403, 405, 207, 606, 623, 0,
+ 208, 0, 499, 608, 650, 452, 212, 234, 235, 237,
+ 1309, 279, 283, 291, 294, 303, 304, 313, 367, 419,
+ 446, 442, 451, 1400, 579, 600, 613, 625, 631, 632,
+ 634, 635, 636, 637, 638, 641, 639, 407, 311, 495,
+ 333, 373, 1389, 1432, 425, 472, 240, 604, 496, 199,
+ 1303, 1308, 1301, 0, 254, 255, 1371, 575, 1304, 1302,
+ 1360, 1361, 1305, 1423, 1424, 1425, 1410, 651, 652, 653,
+ 654, 655, 656, 657, 658, 659, 660, 661, 662, 663,
+ 664, 665, 666, 667, 668, 646, 508, 514, 509, 510,
+ 511, 512, 513, 0, 515, 1393, 1297, 0, 1306, 1307,
+ 398, 1402, 591, 592, 669, 384, 486, 601, 335, 349,
+ 352, 341, 361, 0, 362, 337, 338, 343, 346, 347,
+ 348, 353, 354, 358, 364, 249, 210, 390, 399, 578,
+ 312, 216, 217, 218, 524, 525, 526, 527, 616, 617,
+ 621, 205, 462, 463, 464, 465, 292, 611, 309, 468,
+ 467, 331, 332, 379, 449, 540, 542, 553, 557, 559,
+ 561, 567, 570, 541, 543, 554, 558, 560, 562, 568,
+ 571, 530, 532, 534, 536, 549, 548, 545, 573, 574,
+ 551, 556, 535, 547, 552, 565, 572, 569, 529, 533,
+ 537, 546, 564, 563, 544, 555, 566, 550, 538, 531,
+ 539, 1364, 196, 221, 368, 1428, 454, 288, 647, 615,
+ 484, 610, 206, 223, 1300, 262, 1312, 1320, 0, 1326,
+ 1334, 1335, 1348, 1351, 1352, 1353, 1354, 1372, 1373, 1375,
+ 1383, 1385, 1388, 1390, 1397, 1411, 1431, 198, 200, 209,
+ 222, 232, 236, 243, 261, 276, 278, 285, 298, 310,
+ 318, 319, 322, 328, 380, 386, 387, 388, 389, 409,
+ 410, 411, 414, 417, 418, 421, 423, 424, 427, 431,
+ 435, 436, 437, 439, 441, 443, 455, 460, 474, 475,
+ 476, 477, 478, 481, 482, 488, 489, 490, 491, 492,
+ 500, 501, 516, 586, 588, 603, 622, 629, 480, 301,
+ 302, 444, 445, 314, 315, 643, 644, 300, 598, 630,
+ 596, 642, 624, 438, 378, 1363, 1369, 381, 281, 305,
+ 320, 1378, 614, 502, 227, 466, 290, 251, 1396, 1398,
+ 211, 246, 230, 259, 274, 277, 324, 391, 400, 429,
+ 434, 296, 271, 244, 459, 241, 485, 519, 520, 521,
+ 523, 395, 266, 433, 1359, 1387, 376, 576, 577, 316,
+ 396, 0, 0, 0, 0, 0, 0, 1417, 1401, 528,
+ 0, 1343, 1420, 1311, 1330, 1430, 1333, 1336, 1380, 1289,
+ 1358, 416, 1327, 1315, 1284, 1322, 1285, 1313, 1345, 270,
+ 1310, 1403, 1362, 1419, 366, 267, 1291, 1282, 204, 505,
+ 1316, 430, 1332, 203, 1382, 487, 252, 377, 374, 583,
+ 282, 273, 269, 250, 317, 385, 428, 518, 422, 1426,
+ 370, 1368, 0, 497, 401, 0, 0, 0, 1407, 1406,
+ 1337, 1347, 1409, 1356, 1394, 1342, 1381, 1299, 1367, 1421,
+ 1328, 1377, 1422, 323, 248, 325, 202, 413, 498, 286,
+ 0, 0, 0, 0, 0, 507, 720, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 238, 0, 0, 245,
+ 0, 0, 0, 351, 360, 359, 339, 340, 342, 344,
+ 350, 357, 363, 336, 345, 1324, 1374, 607, 1416, 1325,
+ 1376, 265, 321, 272, 264, 580, 1427, 1408, 1288, 1355,
+ 1415, 1350, 0, 0, 229, 1418, 1349, 0, 1379, 0,
+ 1433, 1283, 1370, 0, 1286, 1290, 1429, 1413, 1319, 275,
+ 0, 0, 0, 0, 0, 0, 0, 1346, 1357, 1391,
+ 1395, 1340, 0, 0, 0, 0, 0, 0, 3207, 0,
+ 1317, 0, 1366, 0, 0, 0, 1295, 1287, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1344, 0, 0, 0, 0, 1298, 0, 1318, 1392, 0,
+ 1281, 297, 1292, 402, 257, 0, 453, 1399, 1412, 1341,
+ 626, 1414, 1339, 1338, 1386, 1296, 1405, 1331, 365, 1294,
+ 330, 197, 225, 0, 1329, 412, 461, 473, 1404, 1314,
+ 1323, 253, 1321, 471, 426, 602, 233, 284, 458, 432,
+ 469, 440, 287, 1365, 1384, 470, 372, 585, 450, 599,
+ 627, 628, 263, 406, 612, 522, 620, 645, 226, 260,
+ 420, 506, 605, 494, 397, 581, 582, 329, 493, 295,
+ 201, 369, 633, 224, 479, 371, 242, 231, 587, 609,
+ 299, 289, 456, 640, 213, 517, 597, 239, 483, 0,
+ 0, 648, 247, 504, 215, 594, 503, 393, 326, 327,
+ 214, 0, 457, 268, 293, 0, 0, 258, 415, 589,
+ 590, 256, 649, 228, 619, 220, 1293, 618, 408, 584,
+ 595, 394, 383, 219, 593, 392, 382, 334, 355, 356,
+ 280, 307, 447, 375, 448, 306, 308, 404, 403, 405,
+ 207, 606, 623, 0, 208, 0, 499, 608, 650, 452,
+ 212, 234, 235, 237, 1309, 279, 283, 291, 294, 303,
+ 304, 313, 367, 419, 446, 442, 451, 1400, 579, 600,
+ 613, 625, 631, 632, 634, 635, 636, 637, 638, 641,
+ 639, 407, 311, 495, 333, 373, 1389, 1432, 425, 472,
+ 240, 604, 496, 199, 1303, 1308, 1301, 0, 254, 255,
+ 1371, 575, 1304, 1302, 1360, 1361, 1305, 1423, 1424, 1425,
+ 1410, 651, 652, 653, 654, 655, 656, 657, 658, 659,
+ 660, 661, 662, 663, 664, 665, 666, 667, 668, 646,
+ 508, 514, 509, 510, 511, 512, 513, 0, 515, 1393,
+ 1297, 0, 1306, 1307, 398, 1402, 591, 592, 669, 384,
+ 486, 601, 335, 349, 352, 341, 361, 0, 362, 337,
+ 338, 343, 346, 347, 348, 353, 354, 358, 364, 249,
+ 210, 390, 399, 578, 312, 216, 217, 218, 524, 525,
+ 526, 527, 616, 617, 621, 205, 462, 463, 464, 465,
+ 292, 611, 309, 468, 467, 331, 332, 379, 449, 540,
+ 542, 553, 557, 559, 561, 567, 570, 541, 543, 554,
+ 558, 560, 562, 568, 571, 530, 532, 534, 536, 549,
+ 548, 545, 573, 574, 551, 556, 535, 547, 552, 565,
+ 572, 569, 529, 533, 537, 546, 564, 563, 544, 555,
+ 566, 550, 538, 531, 539, 1364, 196, 221, 368, 1428,
+ 454, 288, 647, 615, 484, 610, 206, 223, 1300, 262,
+ 1312, 1320, 0, 1326, 1334, 1335, 1348, 1351, 1352, 1353,
+ 1354, 1372, 1373, 1375, 1383, 1385, 1388, 1390, 1397, 1411,
+ 1431, 198, 200, 209, 222, 232, 236, 243, 261, 276,
+ 278, 285, 298, 310, 318, 319, 322, 328, 380, 386,
+ 387, 388, 389, 409, 410, 411, 414, 417, 418, 421,
+ 423, 424, 427, 431, 435, 436, 437, 439, 441, 443,
+ 455, 460, 474, 475, 476, 477, 478, 481, 482, 488,
+ 489, 490, 491, 492, 500, 501, 516, 586, 588, 603,
+ 622, 629, 480, 301, 302, 444, 445, 314, 315, 643,
+ 644, 300, 598, 630, 596, 642, 624, 438, 378, 1363,
+ 1369, 381, 281, 305, 320, 1378, 614, 502, 227, 466,
+ 290, 251, 1396, 1398, 211, 246, 230, 259, 274, 277,
+ 324, 391, 400, 429, 434, 296, 271, 244, 459, 241,
+ 485, 519, 520, 521, 523, 395, 266, 433, 1359, 1387,
+ 376, 576, 577, 316, 396, 0, 0, 0, 0, 0,
+ 0, 1417, 1401, 528, 0, 1343, 1420, 1311, 1330, 1430,
+ 1333, 1336, 1380, 1289, 1358, 416, 1327, 1315, 1284, 1322,
+ 1285, 1313, 1345, 270, 1310, 1403, 1362, 1419, 366, 267,
+ 1291, 1282, 204, 505, 1316, 430, 1332, 203, 1382, 487,
+ 252, 377, 374, 583, 282, 273, 269, 250, 317, 385,
+ 428, 518, 422, 1426, 370, 1368, 0, 497, 401, 0,
+ 0, 0, 1407, 1406, 1337, 1347, 1409, 1356, 1394, 1342,
+ 1381, 1299, 1367, 1421, 1328, 1377, 1422, 323, 248, 325,
+ 202, 413, 498, 286, 0, 0, 0, 0, 0, 507,
+ 955, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 238, 0, 0, 245, 0, 0, 0, 351, 360, 359,
+ 339, 340, 342, 344, 350, 357, 363, 336, 345, 1324,
+ 1374, 607, 1416, 1325, 1376, 265, 321, 272, 264, 580,
+ 1427, 1408, 1288, 1355, 1415, 1350, 0, 0, 229, 1418,
+ 1349, 0, 1379, 0, 1433, 1283, 1370, 0, 1286, 1290,
+ 1429, 1413, 1319, 275, 0, 0, 0, 0, 0, 0,
+ 0, 1346, 1357, 1391, 1395, 1340, 0, 0, 0, 0,
+ 0, 0, 2402, 0, 1317, 0, 1366, 0, 0, 0,
+ 1295, 1287, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1344, 0, 0, 0, 0, 1298,
+ 0, 1318, 1392, 0, 1281, 297, 1292, 402, 257, 0,
+ 453, 1399, 1412, 1341, 626, 1414, 1339, 1338, 1386, 1296,
+ 1405, 1331, 365, 1294, 330, 197, 225, 0, 1329, 412,
+ 461, 473, 1404, 1314, 1323, 253, 1321, 471, 426, 602,
+ 233, 284, 458, 432, 469, 440, 287, 1365, 1384, 470,
+ 372, 585, 450, 599, 627, 628, 263, 406, 612, 522,
+ 620, 645, 226, 260, 420, 506, 605, 494, 397, 581,
+ 582, 329, 493, 295, 201, 369, 633, 224, 479, 371,
+ 242, 231, 587, 609, 299, 289, 456, 640, 213, 517,
+ 597, 239, 483, 0, 0, 648, 247, 504, 215, 594,
+ 503, 393, 326, 327, 214, 0, 457, 268, 293, 0,
+ 0, 258, 415, 589, 590, 256, 649, 228, 619, 220,
+ 1293, 618, 408, 584, 595, 394, 383, 219, 593, 392,
+ 382, 334, 355, 356, 280, 307, 447, 375, 448, 306,
+ 308, 404, 403, 405, 207, 606, 623, 0, 208, 0,
+ 499, 608, 650, 452, 212, 234, 235, 237, 1309, 279,
283, 291, 294, 303, 304, 313, 367, 419, 446, 442,
- 451, 1399, 579, 600, 613, 624, 630, 631, 633, 634,
- 635, 636, 637, 640, 638, 407, 311, 495, 333, 373,
- 1388, 1431, 425, 472, 240, 604, 496, 199, 1302, 1307,
- 1300, 0, 254, 255, 1370, 575, 1303, 1301, 1359, 1360,
- 1304, 1422, 1423, 1424, 1409, 650, 651, 652, 653, 654,
- 655, 656, 657, 658, 659, 660, 661, 662, 663, 664,
- 665, 666, 667, 645, 508, 514, 509, 510, 511, 512,
- 513, 0, 515, 1392, 1296, 0, 1305, 1306, 398, 1401,
- 591, 592, 668, 384, 486, 601, 335, 349, 352, 341,
+ 451, 1400, 579, 600, 613, 625, 631, 632, 634, 635,
+ 636, 637, 638, 641, 639, 407, 311, 495, 333, 373,
+ 1389, 1432, 425, 472, 240, 604, 496, 199, 1303, 1308,
+ 1301, 0, 254, 255, 1371, 575, 1304, 1302, 1360, 1361,
+ 1305, 1423, 1424, 1425, 1410, 651, 652, 653, 654, 655,
+ 656, 657, 658, 659, 660, 661, 662, 663, 664, 665,
+ 666, 667, 668, 646, 508, 514, 509, 510, 511, 512,
+ 513, 0, 515, 1393, 1297, 0, 1306, 1307, 398, 1402,
+ 591, 592, 669, 384, 486, 601, 335, 349, 352, 341,
361, 0, 362, 337, 338, 343, 346, 347, 348, 353,
354, 358, 364, 249, 210, 390, 399, 578, 312, 216,
217, 218, 524, 525, 526, 527, 616, 617, 621, 205,
@@ -2940,295 +3095,221 @@ var yyAct = [...]int{
570, 541, 543, 554, 558, 560, 562, 568, 571, 530,
532, 534, 536, 549, 548, 545, 573, 574, 551, 556,
535, 547, 552, 565, 572, 569, 529, 533, 537, 546,
- 564, 563, 544, 555, 566, 550, 538, 531, 539, 1363,
- 196, 221, 368, 1427, 454, 288, 646, 615, 484, 610,
- 206, 223, 1299, 262, 1311, 1319, 0, 1325, 1333, 1334,
- 1347, 1350, 1351, 1352, 1353, 1371, 1372, 1374, 1382, 1384,
- 1387, 1389, 1396, 1410, 1430, 198, 200, 209, 222, 232,
+ 564, 563, 544, 555, 566, 550, 538, 531, 539, 1364,
+ 196, 221, 368, 1428, 454, 288, 647, 615, 484, 610,
+ 206, 223, 1300, 262, 1312, 1320, 0, 1326, 1334, 1335,
+ 1348, 1351, 1352, 1353, 1354, 1372, 1373, 1375, 1383, 1385,
+ 1388, 1390, 1397, 1411, 1431, 198, 200, 209, 222, 232,
236, 243, 261, 276, 278, 285, 298, 310, 318, 319,
322, 328, 380, 386, 387, 388, 389, 409, 410, 411,
414, 417, 418, 421, 423, 424, 427, 431, 435, 436,
437, 439, 441, 443, 455, 460, 474, 475, 476, 477,
478, 481, 482, 488, 489, 490, 491, 492, 500, 501,
- 516, 586, 588, 603, 622, 628, 480, 301, 302, 444,
- 445, 314, 315, 642, 643, 300, 598, 629, 596, 641,
- 623, 438, 378, 1362, 1368, 381, 281, 305, 320, 1377,
- 614, 502, 227, 466, 290, 251, 1395, 1397, 211, 246,
+ 516, 586, 588, 603, 622, 629, 480, 301, 302, 444,
+ 445, 314, 315, 643, 644, 300, 598, 630, 596, 642,
+ 624, 438, 378, 1363, 1369, 381, 281, 305, 320, 1378,
+ 614, 502, 227, 466, 290, 251, 1396, 1398, 211, 246,
230, 259, 274, 277, 324, 391, 400, 429, 434, 296,
271, 244, 459, 241, 485, 519, 520, 521, 523, 395,
- 266, 433, 1358, 1386, 376, 576, 577, 316, 396, 0,
- 0, 0, 0, 0, 0, 1416, 1400, 528, 0, 1342,
- 1419, 1310, 1329, 1429, 1332, 1335, 1379, 1288, 1357, 416,
- 1326, 1314, 1283, 1321, 1284, 1312, 1344, 270, 1309, 1402,
- 1361, 1418, 366, 267, 1290, 1281, 204, 505, 1315, 430,
- 1331, 203, 1381, 487, 252, 377, 374, 583, 282, 273,
- 269, 250, 317, 385, 428, 518, 422, 1425, 370, 1367,
- 0, 497, 401, 0, 0, 0, 1406, 1405, 1336, 1346,
- 1408, 1355, 1393, 1341, 1380, 1298, 1366, 1420, 1327, 1376,
- 1421, 323, 248, 325, 202, 413, 498, 286, 0, 0,
- 0, 0, 0, 507, 719, 0, 0, 0, 0, 0,
+ 266, 433, 1359, 1387, 376, 576, 577, 316, 396, 0,
+ 0, 0, 0, 0, 0, 1417, 1401, 528, 0, 1343,
+ 1420, 1311, 1330, 1430, 1333, 1336, 1380, 1289, 1358, 416,
+ 1327, 1315, 1284, 1322, 1285, 1313, 1345, 270, 1310, 1403,
+ 1362, 1419, 366, 267, 1291, 1282, 204, 505, 1316, 430,
+ 1332, 203, 1382, 487, 252, 377, 374, 583, 282, 273,
+ 269, 250, 317, 385, 428, 518, 422, 1426, 370, 1368,
+ 0, 497, 401, 0, 0, 0, 1407, 1406, 1337, 1347,
+ 1409, 1356, 1394, 1342, 1381, 1299, 1367, 1421, 1328, 1377,
+ 1422, 323, 248, 325, 202, 413, 498, 286, 0, 95,
+ 0, 0, 0, 507, 720, 0, 0, 0, 0, 0,
0, 0, 0, 0, 238, 0, 0, 245, 0, 0,
0, 351, 360, 359, 339, 340, 342, 344, 350, 357,
- 363, 336, 345, 1323, 1373, 607, 1415, 1324, 1375, 265,
- 321, 272, 264, 580, 1426, 1407, 1287, 1354, 1414, 1349,
- 0, 0, 229, 1417, 1348, 0, 1378, 0, 1432, 1282,
- 1369, 0, 1285, 1289, 1428, 1412, 1318, 275, 0, 0,
- 0, 0, 0, 0, 0, 1345, 1356, 1390, 1394, 1339,
- 0, 0, 0, 0, 0, 0, 3202, 0, 1316, 0,
- 1365, 0, 0, 0, 1294, 1286, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1343, 0,
- 0, 0, 0, 1297, 0, 1317, 1391, 0, 1280, 297,
- 1291, 402, 257, 0, 453, 1398, 1411, 1340, 625, 1413,
- 1338, 1337, 1385, 1295, 1404, 1330, 365, 1293, 330, 197,
- 225, 0, 1328, 412, 461, 473, 1403, 1313, 1322, 253,
- 1320, 471, 426, 602, 233, 284, 458, 432, 469, 440,
- 287, 1364, 1383, 470, 372, 585, 450, 599, 626, 627,
- 263, 406, 612, 522, 620, 644, 226, 260, 420, 506,
+ 363, 336, 345, 1324, 1374, 607, 1416, 1325, 1376, 265,
+ 321, 272, 264, 580, 1427, 1408, 1288, 1355, 1415, 1350,
+ 0, 0, 229, 1418, 1349, 0, 1379, 0, 1433, 1283,
+ 1370, 0, 1286, 1290, 1429, 1413, 1319, 275, 0, 0,
+ 0, 0, 0, 0, 0, 1346, 1357, 1391, 1395, 1340,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1317, 0,
+ 1366, 0, 0, 0, 1295, 1287, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1344, 0,
+ 0, 0, 0, 1298, 0, 1318, 1392, 0, 1281, 297,
+ 1292, 402, 257, 0, 453, 1399, 1412, 1341, 626, 1414,
+ 1339, 1338, 1386, 1296, 1405, 1331, 365, 1294, 330, 197,
+ 225, 0, 1329, 412, 461, 473, 1404, 1314, 1323, 253,
+ 1321, 471, 426, 602, 233, 284, 458, 432, 469, 440,
+ 287, 1365, 1384, 470, 372, 585, 450, 599, 627, 628,
+ 263, 406, 612, 522, 620, 645, 226, 260, 420, 506,
605, 494, 397, 581, 582, 329, 493, 295, 201, 369,
- 632, 224, 479, 371, 242, 231, 587, 609, 299, 289,
- 456, 639, 213, 517, 597, 239, 483, 0, 0, 647,
+ 633, 224, 479, 371, 242, 231, 587, 609, 299, 289,
+ 456, 640, 213, 517, 597, 239, 483, 0, 0, 648,
247, 504, 215, 594, 503, 393, 326, 327, 214, 0,
457, 268, 293, 0, 0, 258, 415, 589, 590, 256,
- 648, 228, 619, 220, 1292, 618, 408, 584, 595, 394,
+ 649, 228, 619, 220, 1293, 618, 408, 584, 595, 394,
383, 219, 593, 392, 382, 334, 355, 356, 280, 307,
447, 375, 448, 306, 308, 404, 403, 405, 207, 606,
- 0, 208, 0, 499, 608, 649, 452, 212, 234, 235,
- 237, 1308, 279, 283, 291, 294, 303, 304, 313, 367,
- 419, 446, 442, 451, 1399, 579, 600, 613, 624, 630,
- 631, 633, 634, 635, 636, 637, 640, 638, 407, 311,
- 495, 333, 373, 1388, 1431, 425, 472, 240, 604, 496,
- 199, 1302, 1307, 1300, 0, 254, 255, 1370, 575, 1303,
- 1301, 1359, 1360, 1304, 1422, 1423, 1424, 1409, 650, 651,
+ 623, 0, 208, 0, 499, 608, 650, 452, 212, 234,
+ 235, 237, 1309, 279, 283, 291, 294, 303, 304, 313,
+ 367, 419, 446, 442, 451, 1400, 579, 600, 613, 625,
+ 631, 632, 634, 635, 636, 637, 638, 641, 639, 407,
+ 311, 495, 333, 373, 1389, 1432, 425, 472, 240, 604,
+ 496, 199, 1303, 1308, 1301, 0, 254, 255, 1371, 575,
+ 1304, 1302, 1360, 1361, 1305, 1423, 1424, 1425, 1410, 651,
652, 653, 654, 655, 656, 657, 658, 659, 660, 661,
- 662, 663, 664, 665, 666, 667, 645, 508, 514, 509,
- 510, 511, 512, 513, 0, 515, 1392, 1296, 0, 1305,
- 1306, 398, 1401, 591, 592, 668, 384, 486, 601, 335,
- 349, 352, 341, 361, 0, 362, 337, 338, 343, 346,
- 347, 348, 353, 354, 358, 364, 249, 210, 390, 399,
- 578, 312, 216, 217, 218, 524, 525, 526, 527, 616,
- 617, 621, 205, 462, 463, 464, 465, 292, 611, 309,
- 468, 467, 331, 332, 379, 449, 540, 542, 553, 557,
- 559, 561, 567, 570, 541, 543, 554, 558, 560, 562,
- 568, 571, 530, 532, 534, 536, 549, 548, 545, 573,
- 574, 551, 556, 535, 547, 552, 565, 572, 569, 529,
- 533, 537, 546, 564, 563, 544, 555, 566, 550, 538,
- 531, 539, 1363, 196, 221, 368, 1427, 454, 288, 646,
- 615, 484, 610, 206, 223, 1299, 262, 1311, 1319, 0,
- 1325, 1333, 1334, 1347, 1350, 1351, 1352, 1353, 1371, 1372,
- 1374, 1382, 1384, 1387, 1389, 1396, 1410, 1430, 198, 200,
- 209, 222, 232, 236, 243, 261, 276, 278, 285, 298,
- 310, 318, 319, 322, 328, 380, 386, 387, 388, 389,
- 409, 410, 411, 414, 417, 418, 421, 423, 424, 427,
- 431, 435, 436, 437, 439, 441, 443, 455, 460, 474,
- 475, 476, 477, 478, 481, 482, 488, 489, 490, 491,
- 492, 500, 501, 516, 586, 588, 603, 622, 628, 480,
- 301, 302, 444, 445, 314, 315, 642, 643, 300, 598,
- 629, 596, 641, 623, 438, 378, 1362, 1368, 381, 281,
- 305, 320, 1377, 614, 502, 227, 466, 290, 251, 1395,
- 1397, 211, 246, 230, 259, 274, 277, 324, 391, 400,
- 429, 434, 296, 271, 244, 459, 241, 485, 519, 520,
- 521, 523, 395, 266, 433, 1358, 1386, 376, 576, 577,
- 316, 396, 0, 0, 0, 0, 0, 0, 1416, 1400,
- 528, 0, 1342, 1419, 1310, 1329, 1429, 1332, 1335, 1379,
- 1288, 1357, 416, 1326, 1314, 1283, 1321, 1284, 1312, 1344,
- 270, 1309, 1402, 1361, 1418, 366, 267, 1290, 1281, 204,
- 505, 1315, 430, 1331, 203, 1381, 487, 252, 377, 374,
- 583, 282, 273, 269, 250, 317, 385, 428, 518, 422,
- 1425, 370, 1367, 0, 497, 401, 0, 0, 0, 1406,
- 1405, 1336, 1346, 1408, 1355, 1393, 1341, 1380, 1298, 1366,
- 1420, 1327, 1376, 1421, 323, 248, 325, 202, 413, 498,
- 286, 0, 0, 0, 0, 0, 507, 954, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 238, 0, 0,
- 245, 0, 0, 0, 351, 360, 359, 339, 340, 342,
- 344, 350, 357, 363, 336, 345, 1323, 1373, 607, 1415,
- 1324, 1375, 265, 321, 272, 264, 580, 1426, 1407, 1287,
- 1354, 1414, 1349, 0, 0, 229, 1417, 1348, 0, 1378,
- 0, 1432, 1282, 1369, 0, 1285, 1289, 1428, 1412, 1318,
- 275, 0, 0, 0, 0, 0, 0, 0, 1345, 1356,
- 1390, 1394, 1339, 0, 0, 0, 0, 0, 0, 2399,
- 0, 1316, 0, 1365, 0, 0, 0, 1294, 1286, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1343, 0, 0, 0, 0, 1297, 0, 1317, 1391,
- 0, 1280, 297, 1291, 402, 257, 0, 453, 1398, 1411,
- 1340, 625, 1413, 1338, 1337, 1385, 1295, 1404, 1330, 365,
- 1293, 330, 197, 225, 0, 1328, 412, 461, 473, 1403,
- 1313, 1322, 253, 1320, 471, 426, 602, 233, 284, 458,
- 432, 469, 440, 287, 1364, 1383, 470, 372, 585, 450,
- 599, 626, 627, 263, 406, 612, 522, 620, 644, 226,
- 260, 420, 506, 605, 494, 397, 581, 582, 329, 493,
- 295, 201, 369, 632, 224, 479, 371, 242, 231, 587,
- 609, 299, 289, 456, 639, 213, 517, 597, 239, 483,
- 0, 0, 647, 247, 504, 215, 594, 503, 393, 326,
- 327, 214, 0, 457, 268, 293, 0, 0, 258, 415,
- 589, 590, 256, 648, 228, 619, 220, 1292, 618, 408,
- 584, 595, 394, 383, 219, 593, 392, 382, 334, 355,
- 356, 280, 307, 447, 375, 448, 306, 308, 404, 403,
- 405, 207, 606, 0, 208, 0, 499, 608, 649, 452,
- 212, 234, 235, 237, 1308, 279, 283, 291, 294, 303,
- 304, 313, 367, 419, 446, 442, 451, 1399, 579, 600,
- 613, 624, 630, 631, 633, 634, 635, 636, 637, 640,
- 638, 407, 311, 495, 333, 373, 1388, 1431, 425, 472,
- 240, 604, 496, 199, 1302, 1307, 1300, 0, 254, 255,
- 1370, 575, 1303, 1301, 1359, 1360, 1304, 1422, 1423, 1424,
- 1409, 650, 651, 652, 653, 654, 655, 656, 657, 658,
- 659, 660, 661, 662, 663, 664, 665, 666, 667, 645,
- 508, 514, 509, 510, 511, 512, 513, 0, 515, 1392,
- 1296, 0, 1305, 1306, 398, 1401, 591, 592, 668, 384,
- 486, 601, 335, 349, 352, 341, 361, 0, 362, 337,
- 338, 343, 346, 347, 348, 353, 354, 358, 364, 249,
- 210, 390, 399, 578, 312, 216, 217, 218, 524, 525,
- 526, 527, 616, 617, 621, 205, 462, 463, 464, 465,
- 292, 611, 309, 468, 467, 331, 332, 379, 449, 540,
- 542, 553, 557, 559, 561, 567, 570, 541, 543, 554,
- 558, 560, 562, 568, 571, 530, 532, 534, 536, 549,
- 548, 545, 573, 574, 551, 556, 535, 547, 552, 565,
- 572, 569, 529, 533, 537, 546, 564, 563, 544, 555,
- 566, 550, 538, 531, 539, 1363, 196, 221, 368, 1427,
- 454, 288, 646, 615, 484, 610, 206, 223, 1299, 262,
- 1311, 1319, 0, 1325, 1333, 1334, 1347, 1350, 1351, 1352,
- 1353, 1371, 1372, 1374, 1382, 1384, 1387, 1389, 1396, 1410,
- 1430, 198, 200, 209, 222, 232, 236, 243, 261, 276,
- 278, 285, 298, 310, 318, 319, 322, 328, 380, 386,
- 387, 388, 389, 409, 410, 411, 414, 417, 418, 421,
- 423, 424, 427, 431, 435, 436, 437, 439, 441, 443,
- 455, 460, 474, 475, 476, 477, 478, 481, 482, 488,
- 489, 490, 491, 492, 500, 501, 516, 586, 588, 603,
- 622, 628, 480, 301, 302, 444, 445, 314, 315, 642,
- 643, 300, 598, 629, 596, 641, 623, 438, 378, 1362,
- 1368, 381, 281, 305, 320, 1377, 614, 502, 227, 466,
- 290, 251, 1395, 1397, 211, 246, 230, 259, 274, 277,
- 324, 391, 400, 429, 434, 296, 271, 244, 459, 241,
- 485, 519, 520, 521, 523, 395, 266, 433, 1358, 1386,
- 376, 576, 577, 316, 396, 0, 0, 0, 0, 0,
- 0, 1416, 1400, 528, 0, 1342, 1419, 1310, 1329, 1429,
- 1332, 1335, 1379, 1288, 1357, 416, 1326, 1314, 1283, 1321,
- 1284, 1312, 1344, 270, 1309, 1402, 1361, 1418, 366, 267,
- 1290, 1281, 204, 505, 1315, 430, 1331, 203, 1381, 487,
- 252, 377, 374, 583, 282, 273, 269, 250, 317, 385,
- 428, 518, 422, 1425, 370, 1367, 0, 497, 401, 0,
- 0, 0, 1406, 1405, 1336, 1346, 1408, 1355, 1393, 1341,
- 1380, 1298, 1366, 1420, 1327, 1376, 1421, 323, 248, 325,
- 202, 413, 498, 286, 0, 95, 0, 0, 0, 507,
- 719, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 238, 0, 0, 245, 0, 0, 0, 351, 360, 359,
- 339, 340, 342, 344, 350, 357, 363, 336, 345, 1323,
- 1373, 607, 1415, 1324, 1375, 265, 321, 272, 264, 580,
- 1426, 1407, 1287, 1354, 1414, 1349, 0, 0, 229, 1417,
- 1348, 0, 1378, 0, 1432, 1282, 1369, 0, 1285, 1289,
- 1428, 1412, 1318, 275, 0, 0, 0, 0, 0, 0,
- 0, 1345, 1356, 1390, 1394, 1339, 0, 0, 0, 0,
- 0, 0, 0, 0, 1316, 0, 1365, 0, 0, 0,
- 1294, 1286, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1343, 0, 0, 0, 0, 1297,
- 0, 1317, 1391, 0, 1280, 297, 1291, 402, 257, 0,
- 453, 1398, 1411, 1340, 625, 1413, 1338, 1337, 1385, 1295,
- 1404, 1330, 365, 1293, 330, 197, 225, 0, 1328, 412,
- 461, 473, 1403, 1313, 1322, 253, 1320, 471, 426, 602,
- 233, 284, 458, 432, 469, 440, 287, 1364, 1383, 470,
- 372, 585, 450, 599, 626, 627, 263, 406, 612, 522,
- 620, 644, 226, 260, 420, 506, 605, 494, 397, 581,
- 582, 329, 493, 295, 201, 369, 632, 224, 479, 371,
- 242, 231, 587, 609, 299, 289, 456, 639, 213, 517,
- 597, 239, 483, 0, 0, 647, 247, 504, 215, 594,
- 503, 393, 326, 327, 214, 0, 457, 268, 293, 0,
- 0, 258, 415, 589, 590, 256, 648, 228, 619, 220,
- 1292, 618, 408, 584, 595, 394, 383, 219, 593, 392,
- 382, 334, 355, 356, 280, 307, 447, 375, 448, 306,
- 308, 404, 403, 405, 207, 606, 0, 208, 0, 499,
- 608, 649, 452, 212, 234, 235, 237, 1308, 279, 283,
- 291, 294, 303, 304, 313, 367, 419, 446, 442, 451,
- 1399, 579, 600, 613, 624, 630, 631, 633, 634, 635,
- 636, 637, 640, 638, 407, 311, 495, 333, 373, 1388,
- 1431, 425, 472, 240, 604, 496, 199, 1302, 1307, 1300,
- 0, 254, 255, 1370, 575, 1303, 1301, 1359, 1360, 1304,
- 1422, 1423, 1424, 1409, 650, 651, 652, 653, 654, 655,
- 656, 657, 658, 659, 660, 661, 662, 663, 664, 665,
- 666, 667, 645, 508, 514, 509, 510, 511, 512, 513,
- 0, 515, 1392, 1296, 0, 1305, 1306, 398, 1401, 591,
- 592, 668, 384, 486, 601, 335, 349, 352, 341, 361,
- 0, 362, 337, 338, 343, 346, 347, 348, 353, 354,
- 358, 364, 249, 210, 390, 399, 578, 312, 216, 217,
- 218, 524, 525, 526, 527, 616, 617, 621, 205, 462,
- 463, 464, 465, 292, 611, 309, 468, 467, 331, 332,
- 379, 449, 540, 542, 553, 557, 559, 561, 567, 570,
- 541, 543, 554, 558, 560, 562, 568, 571, 530, 532,
- 534, 536, 549, 548, 545, 573, 574, 551, 556, 535,
- 547, 552, 565, 572, 569, 529, 533, 537, 546, 564,
- 563, 544, 555, 566, 550, 538, 531, 539, 1363, 196,
- 221, 368, 1427, 454, 288, 646, 615, 484, 610, 206,
- 223, 1299, 262, 1311, 1319, 0, 1325, 1333, 1334, 1347,
- 1350, 1351, 1352, 1353, 1371, 1372, 1374, 1382, 1384, 1387,
- 1389, 1396, 1410, 1430, 198, 200, 209, 222, 232, 236,
- 243, 261, 276, 278, 285, 298, 310, 318, 319, 322,
- 328, 380, 386, 387, 388, 389, 409, 410, 411, 414,
- 417, 418, 421, 423, 424, 427, 431, 435, 436, 437,
- 439, 441, 443, 455, 460, 474, 475, 476, 477, 478,
- 481, 482, 488, 489, 490, 491, 492, 500, 501, 516,
- 586, 588, 603, 622, 628, 480, 301, 302, 444, 445,
- 314, 315, 642, 643, 300, 598, 629, 596, 641, 623,
- 438, 378, 1362, 1368, 381, 281, 305, 320, 1377, 614,
- 502, 227, 466, 290, 251, 1395, 1397, 211, 246, 230,
- 259, 274, 277, 324, 391, 400, 429, 434, 296, 271,
- 244, 459, 241, 485, 519, 520, 521, 523, 395, 266,
- 433, 1358, 1386, 376, 576, 577, 316, 396, 0, 0,
- 0, 0, 0, 0, 1416, 1400, 528, 0, 1342, 1419,
- 1310, 1329, 1429, 1332, 1335, 1379, 1288, 1357, 416, 1326,
- 1314, 1283, 1321, 1284, 1312, 1344, 270, 1309, 1402, 1361,
- 1418, 366, 267, 1290, 1281, 204, 505, 1315, 430, 1331,
- 203, 1381, 487, 252, 377, 374, 583, 282, 273, 269,
- 250, 317, 385, 428, 518, 422, 1425, 370, 1367, 0,
- 497, 401, 0, 0, 0, 1406, 1405, 1336, 1346, 1408,
- 1355, 1393, 1341, 1380, 1298, 1366, 1420, 1327, 1376, 1421,
- 323, 248, 325, 202, 413, 498, 286, 0, 0, 0,
- 0, 0, 507, 194, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 238, 0, 0, 245, 0, 0, 0,
- 351, 360, 359, 339, 340, 342, 344, 350, 357, 363,
- 336, 345, 1323, 1373, 607, 1415, 1324, 1375, 265, 321,
- 272, 264, 580, 1426, 1407, 1287, 1354, 1414, 1349, 0,
- 0, 229, 1417, 1348, 0, 1378, 0, 1432, 1282, 1369,
- 0, 1285, 1289, 1428, 1412, 1318, 275, 0, 0, 0,
- 0, 0, 0, 0, 1345, 1356, 1390, 1394, 1339, 0,
- 0, 0, 0, 0, 0, 0, 0, 1316, 0, 1365,
- 0, 0, 0, 1294, 1286, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1343, 0, 0,
- 0, 0, 1297, 0, 1317, 1391, 0, 1280, 297, 1291,
- 402, 257, 0, 453, 1398, 1411, 1340, 625, 1413, 1338,
- 1337, 1385, 1295, 1404, 1330, 365, 1293, 330, 197, 225,
- 0, 1328, 412, 461, 473, 1403, 1313, 1322, 253, 1320,
- 471, 426, 602, 233, 284, 458, 432, 469, 440, 287,
- 1364, 1383, 470, 372, 585, 450, 599, 626, 627, 263,
- 406, 612, 522, 620, 644, 226, 260, 420, 506, 605,
- 494, 397, 581, 582, 329, 493, 295, 201, 369, 632,
- 224, 479, 371, 242, 231, 587, 609, 299, 289, 456,
- 639, 213, 517, 597, 239, 483, 0, 0, 647, 247,
- 504, 215, 594, 503, 393, 326, 327, 214, 0, 457,
- 268, 293, 0, 0, 258, 415, 589, 590, 256, 648,
- 228, 619, 220, 1292, 618, 408, 584, 595, 394, 383,
- 219, 593, 392, 382, 334, 355, 356, 280, 307, 447,
- 375, 448, 306, 308, 404, 403, 405, 207, 606, 0,
- 208, 0, 499, 608, 649, 452, 212, 234, 235, 237,
- 1308, 279, 283, 291, 294, 303, 304, 313, 367, 419,
- 446, 442, 451, 1399, 579, 600, 613, 624, 630, 631,
- 633, 634, 635, 636, 637, 640, 638, 407, 311, 495,
- 333, 373, 1388, 1431, 425, 472, 240, 604, 496, 199,
- 1302, 1307, 1300, 0, 254, 255, 1370, 575, 1303, 1301,
- 1359, 1360, 1304, 1422, 1423, 1424, 1409, 650, 651, 652,
- 653, 654, 655, 656, 657, 658, 659, 660, 661, 662,
- 663, 664, 665, 666, 667, 645, 508, 514, 509, 510,
- 511, 512, 513, 0, 515, 1392, 1296, 0, 1305, 1306,
- 398, 1401, 591, 592, 668, 384, 486, 601, 335, 349,
+ 662, 663, 664, 665, 666, 667, 668, 646, 508, 514,
+ 509, 510, 511, 512, 513, 0, 515, 1393, 1297, 0,
+ 1306, 1307, 398, 1402, 591, 592, 669, 384, 486, 601,
+ 335, 349, 352, 341, 361, 0, 362, 337, 338, 343,
+ 346, 347, 348, 353, 354, 358, 364, 249, 210, 390,
+ 399, 578, 312, 216, 217, 218, 524, 525, 526, 527,
+ 616, 617, 621, 205, 462, 463, 464, 465, 292, 611,
+ 309, 468, 467, 331, 332, 379, 449, 540, 542, 553,
+ 557, 559, 561, 567, 570, 541, 543, 554, 558, 560,
+ 562, 568, 571, 530, 532, 534, 536, 549, 548, 545,
+ 573, 574, 551, 556, 535, 547, 552, 565, 572, 569,
+ 529, 533, 537, 546, 564, 563, 544, 555, 566, 550,
+ 538, 531, 539, 1364, 196, 221, 368, 1428, 454, 288,
+ 647, 615, 484, 610, 206, 223, 1300, 262, 1312, 1320,
+ 0, 1326, 1334, 1335, 1348, 1351, 1352, 1353, 1354, 1372,
+ 1373, 1375, 1383, 1385, 1388, 1390, 1397, 1411, 1431, 198,
+ 200, 209, 222, 232, 236, 243, 261, 276, 278, 285,
+ 298, 310, 318, 319, 322, 328, 380, 386, 387, 388,
+ 389, 409, 410, 411, 414, 417, 418, 421, 423, 424,
+ 427, 431, 435, 436, 437, 439, 441, 443, 455, 460,
+ 474, 475, 476, 477, 478, 481, 482, 488, 489, 490,
+ 491, 492, 500, 501, 516, 586, 588, 603, 622, 629,
+ 480, 301, 302, 444, 445, 314, 315, 643, 644, 300,
+ 598, 630, 596, 642, 624, 438, 378, 1363, 1369, 381,
+ 281, 305, 320, 1378, 614, 502, 227, 466, 290, 251,
+ 1396, 1398, 211, 246, 230, 259, 274, 277, 324, 391,
+ 400, 429, 434, 296, 271, 244, 459, 241, 485, 519,
+ 520, 521, 523, 395, 266, 433, 1359, 1387, 376, 576,
+ 577, 316, 396, 0, 0, 0, 0, 0, 0, 1417,
+ 1401, 528, 0, 1343, 1420, 1311, 1330, 1430, 1333, 1336,
+ 1380, 1289, 1358, 416, 1327, 1315, 1284, 1322, 1285, 1313,
+ 1345, 270, 1310, 1403, 1362, 1419, 366, 267, 1291, 1282,
+ 204, 505, 1316, 430, 1332, 203, 1382, 487, 252, 377,
+ 374, 583, 282, 273, 269, 250, 317, 385, 428, 518,
+ 422, 1426, 370, 1368, 0, 497, 401, 0, 0, 0,
+ 1407, 1406, 1337, 1347, 1409, 1356, 1394, 1342, 1381, 1299,
+ 1367, 1421, 1328, 1377, 1422, 323, 248, 325, 202, 413,
+ 498, 286, 0, 0, 0, 0, 0, 507, 194, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 238, 0,
+ 0, 245, 0, 0, 0, 351, 360, 359, 339, 340,
+ 342, 344, 350, 357, 363, 336, 345, 1324, 1374, 607,
+ 1416, 1325, 1376, 265, 321, 272, 264, 580, 1427, 1408,
+ 1288, 1355, 1415, 1350, 0, 0, 229, 1418, 1349, 0,
+ 1379, 0, 1433, 1283, 1370, 0, 1286, 1290, 1429, 1413,
+ 1319, 275, 0, 0, 0, 0, 0, 0, 0, 1346,
+ 1357, 1391, 1395, 1340, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1317, 0, 1366, 0, 0, 0, 1295, 1287,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1344, 0, 0, 0, 0, 1298, 0, 1318,
+ 1392, 0, 1281, 297, 1292, 402, 257, 0, 453, 1399,
+ 1412, 1341, 626, 1414, 1339, 1338, 1386, 1296, 1405, 1331,
+ 365, 1294, 330, 197, 225, 0, 1329, 412, 461, 473,
+ 1404, 1314, 1323, 253, 1321, 471, 426, 602, 233, 284,
+ 458, 432, 469, 440, 287, 1365, 1384, 470, 372, 585,
+ 450, 599, 627, 628, 263, 406, 612, 522, 620, 645,
+ 226, 260, 420, 506, 605, 494, 397, 581, 582, 329,
+ 493, 295, 201, 369, 633, 224, 479, 371, 242, 231,
+ 587, 609, 299, 289, 456, 640, 213, 517, 597, 239,
+ 483, 0, 0, 648, 247, 504, 215, 594, 503, 393,
+ 326, 327, 214, 0, 457, 268, 293, 0, 0, 258,
+ 415, 589, 590, 256, 649, 228, 619, 220, 1293, 618,
+ 408, 584, 595, 394, 383, 219, 593, 392, 382, 334,
+ 355, 356, 280, 307, 447, 375, 448, 306, 308, 404,
+ 403, 405, 207, 606, 623, 0, 208, 0, 499, 608,
+ 650, 452, 212, 234, 235, 237, 1309, 279, 283, 291,
+ 294, 303, 304, 313, 367, 419, 446, 442, 451, 1400,
+ 579, 600, 613, 625, 631, 632, 634, 635, 636, 637,
+ 638, 641, 639, 407, 311, 495, 333, 373, 1389, 1432,
+ 425, 472, 240, 604, 496, 199, 1303, 1308, 1301, 0,
+ 254, 255, 1371, 575, 1304, 1302, 1360, 1361, 1305, 1423,
+ 1424, 1425, 1410, 651, 652, 653, 654, 655, 656, 657,
+ 658, 659, 660, 661, 662, 663, 664, 665, 666, 667,
+ 668, 646, 508, 514, 509, 510, 511, 512, 513, 0,
+ 515, 1393, 1297, 0, 1306, 1307, 398, 1402, 591, 592,
+ 669, 384, 486, 601, 335, 349, 352, 341, 361, 0,
+ 362, 337, 338, 343, 346, 347, 348, 353, 354, 358,
+ 364, 249, 210, 390, 399, 578, 312, 216, 217, 218,
+ 524, 525, 526, 527, 616, 617, 621, 205, 462, 463,
+ 464, 465, 292, 611, 309, 468, 467, 331, 332, 379,
+ 449, 540, 542, 553, 557, 559, 561, 567, 570, 541,
+ 543, 554, 558, 560, 562, 568, 571, 530, 532, 534,
+ 536, 549, 548, 545, 573, 574, 551, 556, 535, 547,
+ 552, 565, 572, 569, 529, 533, 537, 546, 564, 563,
+ 544, 555, 566, 550, 538, 531, 539, 1364, 196, 221,
+ 368, 1428, 454, 288, 647, 615, 484, 610, 206, 223,
+ 1300, 262, 1312, 1320, 0, 1326, 1334, 1335, 1348, 1351,
+ 1352, 1353, 1354, 1372, 1373, 1375, 1383, 1385, 1388, 1390,
+ 1397, 1411, 1431, 198, 200, 209, 222, 232, 236, 243,
+ 261, 276, 278, 285, 298, 310, 318, 319, 322, 328,
+ 380, 386, 387, 388, 389, 409, 410, 411, 414, 417,
+ 418, 421, 423, 424, 427, 431, 435, 436, 437, 439,
+ 441, 443, 455, 460, 474, 475, 476, 477, 478, 481,
+ 482, 488, 489, 490, 491, 492, 500, 501, 516, 586,
+ 588, 603, 622, 629, 480, 301, 302, 444, 445, 314,
+ 315, 643, 644, 300, 598, 630, 596, 642, 624, 438,
+ 378, 1363, 1369, 381, 281, 305, 320, 1378, 614, 502,
+ 227, 466, 290, 251, 1396, 1398, 211, 246, 230, 259,
+ 274, 277, 324, 391, 400, 429, 434, 296, 271, 244,
+ 459, 241, 485, 519, 520, 521, 523, 395, 266, 433,
+ 1359, 1387, 376, 576, 577, 316, 396, 0, 0, 0,
+ 0, 0, 0, 1417, 1401, 528, 0, 1343, 1420, 1311,
+ 1330, 1430, 1333, 1336, 1380, 1289, 1358, 416, 1327, 1315,
+ 1284, 1322, 1285, 1313, 1345, 270, 1310, 1403, 1362, 1419,
+ 366, 267, 1291, 1282, 204, 505, 1316, 430, 1332, 203,
+ 1382, 487, 252, 377, 374, 583, 282, 273, 269, 250,
+ 317, 385, 428, 518, 422, 1426, 370, 1368, 0, 497,
+ 401, 0, 0, 0, 1407, 1406, 1337, 1347, 1409, 1356,
+ 1394, 1342, 1381, 1299, 1367, 1421, 1328, 1377, 1422, 323,
+ 248, 325, 202, 413, 498, 286, 0, 0, 0, 0,
+ 0, 507, 720, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 238, 0, 0, 245, 0, 0, 0, 351,
+ 360, 359, 339, 340, 342, 344, 350, 357, 363, 336,
+ 345, 1324, 1374, 607, 1416, 1325, 1376, 265, 321, 272,
+ 264, 580, 1427, 1408, 1288, 1355, 1415, 1350, 0, 0,
+ 229, 1418, 1349, 0, 1379, 0, 1433, 1283, 1370, 0,
+ 1286, 1290, 1429, 1413, 1319, 275, 0, 0, 0, 0,
+ 0, 0, 0, 1346, 1357, 1391, 1395, 1340, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1317, 0, 1366, 0,
+ 0, 0, 1295, 1287, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1344, 0, 0, 0,
+ 0, 1298, 0, 1318, 1392, 0, 1281, 297, 1292, 402,
+ 257, 0, 453, 1399, 1412, 1341, 626, 1414, 1339, 1338,
+ 1386, 1296, 1405, 1331, 365, 1294, 330, 197, 225, 0,
+ 1329, 412, 461, 473, 1404, 1314, 1323, 253, 1321, 471,
+ 426, 602, 233, 284, 458, 432, 469, 440, 287, 1365,
+ 1384, 470, 372, 585, 450, 599, 627, 628, 263, 406,
+ 612, 522, 620, 645, 226, 260, 420, 506, 605, 494,
+ 397, 581, 582, 329, 493, 295, 201, 369, 633, 224,
+ 479, 371, 242, 231, 587, 609, 299, 289, 456, 640,
+ 213, 517, 597, 239, 483, 0, 0, 648, 247, 504,
+ 215, 594, 503, 393, 326, 327, 214, 0, 457, 268,
+ 293, 0, 0, 258, 415, 589, 590, 256, 649, 228,
+ 619, 220, 1293, 618, 408, 584, 595, 394, 383, 219,
+ 593, 392, 382, 334, 355, 356, 280, 307, 447, 375,
+ 448, 306, 308, 404, 403, 405, 207, 606, 623, 0,
+ 208, 0, 499, 608, 650, 452, 212, 234, 235, 237,
+ 1309, 279, 283, 291, 294, 303, 304, 313, 367, 419,
+ 446, 442, 451, 1400, 579, 600, 613, 625, 631, 632,
+ 634, 635, 636, 637, 638, 641, 639, 407, 311, 495,
+ 333, 373, 1389, 1432, 425, 472, 240, 604, 496, 199,
+ 1303, 1308, 1301, 0, 254, 255, 1371, 575, 1304, 1302,
+ 1360, 1361, 1305, 1423, 1424, 1425, 1410, 651, 652, 653,
+ 654, 655, 656, 657, 658, 659, 660, 661, 662, 663,
+ 664, 665, 666, 667, 668, 646, 508, 514, 509, 510,
+ 511, 512, 513, 0, 515, 1393, 1297, 0, 1306, 1307,
+ 398, 1402, 591, 592, 669, 384, 486, 601, 335, 349,
352, 341, 361, 0, 362, 337, 338, 343, 346, 347,
348, 353, 354, 358, 364, 249, 210, 390, 399, 578,
312, 216, 217, 218, 524, 525, 526, 527, 616, 617,
@@ -3238,1053 +3319,980 @@ var yyAct = [...]int{
571, 530, 532, 534, 536, 549, 548, 545, 573, 574,
551, 556, 535, 547, 552, 565, 572, 569, 529, 533,
537, 546, 564, 563, 544, 555, 566, 550, 538, 531,
- 539, 1363, 196, 221, 368, 1427, 454, 288, 646, 615,
- 484, 610, 206, 223, 1299, 262, 1311, 1319, 0, 1325,
- 1333, 1334, 1347, 1350, 1351, 1352, 1353, 1371, 1372, 1374,
- 1382, 1384, 1387, 1389, 1396, 1410, 1430, 198, 200, 209,
+ 539, 1364, 196, 221, 368, 1428, 454, 288, 647, 615,
+ 484, 610, 206, 223, 1300, 262, 1312, 1320, 0, 1326,
+ 1334, 1335, 1348, 1351, 1352, 1353, 1354, 1372, 1373, 1375,
+ 1383, 1385, 1388, 1390, 1397, 1411, 1431, 198, 200, 209,
222, 232, 236, 243, 261, 276, 278, 285, 298, 310,
318, 319, 322, 328, 380, 386, 387, 388, 389, 409,
410, 411, 414, 417, 418, 421, 423, 424, 427, 431,
435, 436, 437, 439, 441, 443, 455, 460, 474, 475,
476, 477, 478, 481, 482, 488, 489, 490, 491, 492,
- 500, 501, 516, 586, 588, 603, 622, 628, 480, 301,
- 302, 444, 445, 314, 315, 642, 643, 300, 598, 629,
- 596, 641, 623, 438, 378, 1362, 1368, 381, 281, 305,
- 320, 1377, 614, 502, 227, 466, 290, 251, 1395, 1397,
+ 500, 501, 516, 586, 588, 603, 622, 629, 480, 301,
+ 302, 444, 445, 314, 315, 643, 644, 300, 598, 630,
+ 596, 642, 624, 438, 378, 1363, 1369, 381, 281, 305,
+ 320, 1378, 614, 502, 227, 466, 290, 251, 1396, 1398,
211, 246, 230, 259, 274, 277, 324, 391, 400, 429,
434, 296, 271, 244, 459, 241, 485, 519, 520, 521,
- 523, 395, 266, 433, 1358, 1386, 376, 576, 577, 316,
- 396, 0, 0, 0, 0, 0, 0, 1416, 1400, 528,
- 0, 1342, 1419, 1310, 1329, 1429, 1332, 1335, 1379, 1288,
- 1357, 416, 1326, 1314, 1283, 1321, 1284, 1312, 1344, 270,
- 1309, 1402, 1361, 1418, 366, 267, 1290, 1281, 204, 505,
- 1315, 430, 1331, 203, 1381, 487, 252, 377, 374, 583,
- 282, 273, 269, 250, 317, 385, 428, 518, 422, 1425,
- 370, 1367, 0, 497, 401, 0, 0, 0, 1406, 1405,
- 1336, 1346, 1408, 1355, 1393, 1341, 1380, 1298, 1366, 1420,
- 1327, 1376, 1421, 323, 248, 325, 202, 413, 498, 286,
- 0, 0, 0, 0, 0, 507, 719, 0, 0, 0,
+ 523, 395, 266, 433, 1359, 1387, 376, 576, 577, 316,
+ 396, 0, 0, 0, 0, 0, 0, 1417, 1401, 528,
+ 0, 1343, 1420, 1311, 1330, 1430, 1333, 1336, 1380, 1289,
+ 1358, 416, 1327, 1315, 1284, 1322, 1285, 1313, 1345, 270,
+ 1310, 1403, 1362, 1419, 366, 267, 1291, 1282, 204, 505,
+ 1316, 430, 1332, 203, 1382, 487, 252, 377, 374, 583,
+ 282, 273, 269, 250, 317, 385, 428, 518, 422, 1426,
+ 370, 1368, 0, 497, 401, 0, 0, 0, 1407, 1406,
+ 1337, 1347, 1409, 1356, 1394, 1342, 1381, 1299, 1367, 1421,
+ 1328, 1377, 1422, 323, 248, 325, 202, 413, 498, 286,
+ 0, 0, 0, 0, 0, 507, 955, 0, 0, 0,
0, 0, 0, 0, 0, 0, 238, 0, 0, 245,
0, 0, 0, 351, 360, 359, 339, 340, 342, 344,
- 350, 357, 363, 336, 345, 1323, 1373, 607, 1415, 1324,
- 1375, 265, 321, 272, 264, 580, 1426, 1407, 1287, 1354,
- 1414, 1349, 0, 0, 229, 1417, 1348, 0, 1378, 0,
- 1432, 1282, 1369, 0, 1285, 1289, 1428, 1412, 1318, 275,
- 0, 0, 0, 0, 0, 0, 0, 1345, 1356, 1390,
- 1394, 1339, 0, 0, 0, 0, 0, 0, 0, 0,
- 1316, 0, 1365, 0, 0, 0, 1294, 1286, 0, 0,
+ 350, 357, 363, 336, 345, 1324, 1374, 607, 1416, 1325,
+ 1376, 265, 321, 272, 264, 580, 1427, 1408, 1288, 1355,
+ 1415, 1350, 0, 0, 229, 1418, 1349, 0, 1379, 0,
+ 1433, 1283, 1370, 0, 1286, 1290, 1429, 1413, 1319, 275,
+ 0, 0, 0, 0, 0, 0, 0, 1346, 1357, 1391,
+ 1395, 1340, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1317, 0, 1366, 0, 0, 0, 1295, 1287, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1343, 0, 0, 0, 0, 1297, 0, 1317, 1391, 0,
- 1280, 297, 1291, 402, 257, 0, 453, 1398, 1411, 1340,
- 625, 1413, 1338, 1337, 1385, 1295, 1404, 1330, 365, 1293,
- 330, 197, 225, 0, 1328, 412, 461, 473, 1403, 1313,
- 1322, 253, 1320, 471, 426, 602, 233, 284, 458, 432,
- 469, 440, 287, 1364, 1383, 470, 372, 585, 450, 599,
- 626, 627, 263, 406, 612, 522, 620, 644, 226, 260,
+ 1344, 0, 0, 0, 0, 1298, 0, 1318, 1392, 0,
+ 1281, 297, 1292, 402, 257, 0, 453, 1399, 1412, 1341,
+ 626, 1414, 1339, 1338, 1386, 1296, 1405, 1331, 365, 1294,
+ 330, 197, 225, 0, 1329, 412, 461, 473, 1404, 1314,
+ 1323, 253, 1321, 471, 426, 602, 233, 284, 458, 432,
+ 469, 440, 287, 1365, 1384, 470, 372, 585, 450, 599,
+ 627, 628, 263, 406, 612, 522, 620, 645, 226, 260,
420, 506, 605, 494, 397, 581, 582, 329, 493, 295,
- 201, 369, 632, 224, 479, 371, 242, 231, 587, 609,
- 299, 289, 456, 639, 213, 517, 597, 239, 483, 0,
- 0, 647, 247, 504, 215, 594, 503, 393, 326, 327,
+ 201, 369, 633, 224, 479, 371, 242, 231, 587, 609,
+ 299, 289, 456, 640, 213, 517, 597, 239, 483, 0,
+ 0, 648, 247, 504, 215, 594, 503, 393, 326, 327,
214, 0, 457, 268, 293, 0, 0, 258, 415, 589,
- 590, 256, 648, 228, 619, 220, 1292, 618, 408, 584,
+ 590, 256, 649, 228, 619, 220, 1293, 618, 408, 584,
595, 394, 383, 219, 593, 392, 382, 334, 355, 356,
280, 307, 447, 375, 448, 306, 308, 404, 403, 405,
- 207, 606, 0, 208, 0, 499, 608, 649, 452, 212,
- 234, 235, 237, 1308, 279, 283, 291, 294, 303, 304,
- 313, 367, 419, 446, 442, 451, 1399, 579, 600, 613,
- 624, 630, 631, 633, 634, 635, 636, 637, 640, 638,
- 407, 311, 495, 333, 373, 1388, 1431, 425, 472, 240,
- 604, 496, 199, 1302, 1307, 1300, 0, 254, 255, 1370,
- 575, 1303, 1301, 1359, 1360, 1304, 1422, 1423, 1424, 1409,
- 650, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 661, 662, 663, 664, 665, 666, 667, 645, 508,
- 514, 509, 510, 511, 512, 513, 0, 515, 1392, 1296,
- 0, 1305, 1306, 398, 1401, 591, 592, 668, 384, 486,
- 601, 335, 349, 352, 341, 361, 0, 362, 337, 338,
- 343, 346, 347, 348, 353, 354, 358, 364, 249, 210,
- 390, 399, 578, 312, 216, 217, 218, 524, 525, 526,
- 527, 616, 617, 621, 205, 462, 463, 464, 465, 292,
- 611, 309, 468, 467, 331, 332, 379, 449, 540, 542,
- 553, 557, 559, 561, 567, 570, 541, 543, 554, 558,
- 560, 562, 568, 571, 530, 532, 534, 536, 549, 548,
- 545, 573, 574, 551, 556, 535, 547, 552, 565, 572,
- 569, 529, 533, 537, 546, 564, 563, 544, 555, 566,
- 550, 538, 531, 539, 1363, 196, 221, 368, 1427, 454,
- 288, 646, 615, 484, 610, 206, 223, 1299, 262, 1311,
- 1319, 0, 1325, 1333, 1334, 1347, 1350, 1351, 1352, 1353,
- 1371, 1372, 1374, 1382, 1384, 1387, 1389, 1396, 1410, 1430,
- 198, 200, 209, 222, 232, 236, 243, 261, 276, 278,
- 285, 298, 310, 318, 319, 322, 328, 380, 386, 387,
- 388, 389, 409, 410, 411, 414, 417, 418, 421, 423,
- 424, 427, 431, 435, 436, 437, 439, 441, 443, 455,
- 460, 474, 475, 476, 477, 478, 481, 482, 488, 489,
- 490, 491, 492, 500, 501, 516, 586, 588, 603, 622,
- 628, 480, 301, 302, 444, 445, 314, 315, 642, 643,
- 300, 598, 629, 596, 641, 623, 438, 378, 1362, 1368,
- 381, 281, 305, 320, 1377, 614, 502, 227, 466, 290,
- 251, 1395, 1397, 211, 246, 230, 259, 274, 277, 324,
- 391, 400, 429, 434, 296, 271, 244, 459, 241, 485,
- 519, 520, 521, 523, 395, 266, 433, 1358, 1386, 376,
- 576, 577, 316, 396, 0, 0, 0, 0, 0, 0,
- 1416, 1400, 528, 0, 1342, 1419, 1310, 1329, 1429, 1332,
- 1335, 1379, 1288, 1357, 416, 1326, 1314, 1283, 1321, 1284,
- 1312, 1344, 270, 1309, 1402, 1361, 1418, 366, 267, 1290,
- 1281, 204, 505, 1315, 430, 1331, 203, 1381, 487, 252,
- 377, 374, 583, 282, 273, 269, 250, 317, 385, 428,
- 518, 422, 1425, 370, 1367, 0, 497, 401, 0, 0,
- 0, 1406, 1405, 1336, 1346, 1408, 1355, 1393, 1341, 1380,
- 1298, 1366, 1420, 1327, 1376, 1421, 323, 248, 325, 202,
- 413, 498, 286, 0, 0, 0, 0, 0, 507, 954,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 238,
- 0, 0, 245, 0, 0, 0, 351, 360, 359, 339,
- 340, 342, 344, 350, 357, 363, 336, 345, 1323, 1373,
- 607, 1415, 1324, 1375, 265, 321, 272, 264, 580, 1426,
- 1407, 1287, 1354, 1414, 1349, 0, 0, 229, 1417, 1348,
- 0, 1378, 0, 1432, 1282, 1369, 0, 1285, 1289, 1428,
- 1412, 1318, 275, 0, 0, 0, 0, 0, 0, 0,
- 1345, 1356, 1390, 1394, 1339, 0, 0, 0, 0, 0,
- 0, 0, 0, 1316, 0, 1365, 0, 0, 0, 1294,
- 1286, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1343, 0, 0, 0, 0, 1297, 0,
- 1317, 1391, 0, 1280, 297, 1291, 402, 257, 0, 453,
- 1398, 1411, 1340, 625, 1413, 1338, 1337, 1385, 1295, 1404,
- 1330, 365, 1293, 330, 197, 225, 0, 1328, 412, 461,
- 473, 1403, 1313, 1322, 253, 1320, 471, 426, 602, 233,
- 284, 458, 432, 469, 440, 287, 1364, 1383, 470, 372,
- 585, 450, 599, 626, 627, 263, 406, 612, 522, 620,
- 644, 226, 260, 420, 506, 605, 494, 397, 581, 582,
- 329, 493, 295, 201, 369, 632, 224, 479, 371, 242,
- 231, 587, 609, 299, 289, 456, 639, 213, 517, 597,
- 239, 483, 0, 0, 647, 247, 504, 215, 594, 503,
- 393, 326, 327, 214, 0, 457, 268, 293, 0, 0,
- 258, 415, 589, 590, 256, 648, 228, 619, 220, 1292,
- 618, 408, 584, 595, 394, 383, 219, 593, 392, 382,
- 334, 355, 356, 280, 307, 447, 375, 448, 306, 308,
- 404, 403, 405, 207, 606, 0, 208, 0, 499, 608,
- 649, 452, 212, 234, 235, 237, 1308, 279, 283, 291,
- 294, 303, 304, 313, 367, 419, 446, 442, 451, 1399,
- 579, 600, 613, 624, 630, 631, 633, 634, 635, 636,
- 637, 640, 638, 407, 311, 495, 333, 373, 1388, 1431,
- 425, 472, 240, 604, 496, 199, 1302, 1307, 1300, 0,
- 254, 255, 1370, 575, 1303, 1301, 1359, 1360, 1304, 1422,
- 1423, 1424, 1409, 650, 651, 652, 653, 654, 655, 656,
- 657, 658, 659, 660, 661, 662, 663, 664, 665, 666,
- 667, 645, 508, 514, 509, 510, 511, 512, 513, 0,
- 515, 1392, 1296, 0, 1305, 1306, 398, 1401, 591, 592,
- 668, 384, 486, 601, 335, 349, 352, 341, 361, 0,
- 362, 337, 338, 343, 346, 347, 348, 353, 354, 358,
- 364, 249, 210, 390, 399, 578, 312, 216, 217, 218,
- 524, 525, 526, 527, 616, 617, 621, 205, 462, 463,
- 464, 465, 292, 611, 309, 468, 467, 331, 332, 379,
- 449, 540, 542, 553, 557, 559, 561, 567, 570, 541,
- 543, 554, 558, 560, 562, 568, 571, 530, 532, 534,
- 536, 549, 548, 545, 573, 574, 551, 556, 535, 547,
- 552, 565, 572, 569, 529, 533, 537, 546, 564, 563,
- 544, 555, 566, 550, 538, 531, 539, 1363, 196, 221,
- 368, 1427, 454, 288, 646, 615, 484, 610, 206, 223,
- 1299, 262, 1311, 1319, 0, 1325, 1333, 1334, 1347, 1350,
- 1351, 1352, 1353, 1371, 1372, 1374, 1382, 1384, 1387, 1389,
- 1396, 1410, 1430, 198, 200, 209, 222, 232, 236, 243,
- 261, 276, 278, 285, 298, 310, 318, 319, 322, 328,
- 380, 386, 387, 388, 389, 409, 410, 411, 414, 417,
- 418, 421, 423, 424, 427, 431, 435, 436, 437, 439,
- 441, 443, 455, 460, 474, 475, 476, 477, 478, 481,
- 482, 488, 489, 490, 491, 492, 500, 501, 516, 586,
- 588, 603, 622, 628, 480, 301, 302, 444, 445, 314,
- 315, 642, 643, 300, 598, 629, 596, 641, 623, 438,
- 378, 1362, 1368, 381, 281, 305, 320, 1377, 614, 502,
- 227, 466, 290, 251, 1395, 1397, 211, 246, 230, 259,
- 274, 277, 324, 391, 400, 429, 434, 296, 271, 244,
- 459, 241, 485, 519, 520, 521, 523, 395, 266, 433,
- 1358, 1386, 376, 576, 577, 316, 396, 0, 0, 0,
- 0, 0, 0, 0, 0, 528, 0, 772, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 416, 0, 0,
- 0, 759, 0, 0, 0, 270, 764, 0, 0, 0,
- 366, 267, 0, 0, 204, 505, 0, 430, 0, 203,
- 0, 487, 252, 377, 374, 583, 282, 273, 269, 250,
- 317, 385, 428, 518, 422, 771, 370, 0, 0, 497,
- 401, 0, 0, 0, 0, 0, 0, 0, 0, 766,
- 767, 0, 0, 0, 0, 0, 0, 0, 0, 323,
- 248, 325, 202, 413, 498, 286, 0, 95, 0, 0,
- 1018, 507, 954, 743, 920, 958, 1019, 971, 972, 973,
- 959, 0, 238, 960, 961, 245, 962, 0, 919, 802,
- 804, 803, 869, 870, 871, 872, 873, 874, 875, 805,
- 806, 800, 967, 607, 974, 975, 0, 265, 321, 272,
- 264, 580, 0, 0, 2221, 2222, 2223, 0, 0, 0,
- 229, 0, 0, 0, 0, 0, 0, 0, 739, 756,
- 0, 770, 0, 0, 0, 275, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 753, 754, 0, 0, 0, 0, 914, 0,
- 755, 0, 0, 763, 976, 977, 978, 979, 980, 981,
- 982, 983, 984, 985, 986, 987, 988, 989, 990, 991,
- 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001,
- 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011,
- 1012, 1013, 1014, 1015, 1016, 1017, 765, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 297, 0, 402,
- 257, 0, 453, 913, 0, 0, 625, 0, 0, 911,
- 0, 0, 0, 0, 365, 0, 330, 197, 225, 0,
- 0, 412, 461, 473, 0, 0, 0, 964, 0, 471,
- 426, 602, 233, 284, 458, 432, 469, 440, 287, 0,
- 0, 470, 372, 585, 450, 599, 626, 627, 263, 406,
- 612, 522, 620, 644, 226, 260, 420, 506, 605, 494,
- 397, 581, 582, 329, 493, 295, 201, 369, 632, 224,
- 479, 371, 242, 231, 587, 609, 299, 289, 456, 639,
- 213, 517, 597, 239, 483, 0, 0, 647, 247, 504,
- 215, 594, 503, 393, 326, 327, 214, 0, 457, 268,
- 293, 0, 0, 258, 415, 965, 966, 256, 648, 810,
- 619, 220, 0, 618, 408, 584, 595, 394, 383, 219,
- 593, 392, 382, 334, 818, 819, 280, 307, 895, 894,
- 893, 306, 308, 891, 892, 890, 207, 606, 0, 208,
- 0, 499, 608, 649, 452, 212, 234, 235, 237, 0,
- 279, 283, 291, 294, 303, 304, 313, 367, 419, 446,
- 442, 451, 0, 579, 600, 613, 624, 630, 631, 633,
- 634, 635, 636, 637, 640, 638, 407, 311, 495, 333,
- 373, 0, 0, 425, 472, 240, 604, 496, 901, 923,
- 912, 776, 777, 902, 903, 927, 904, 779, 780, 924,
- 925, 773, 774, 778, 926, 928, 650, 651, 652, 653,
- 654, 655, 656, 657, 658, 659, 660, 661, 662, 663,
- 664, 665, 666, 667, 645, 508, 514, 509, 510, 511,
- 512, 513, 0, 515, 915, 762, 761, 0, 768, 769,
- 0, 798, 799, 801, 807, 808, 809, 820, 867, 868,
- 876, 878, 879, 877, 880, 881, 882, 885, 886, 887,
- 888, 883, 884, 889, 781, 785, 782, 783, 784, 796,
- 786, 787, 788, 789, 790, 791, 792, 793, 794, 795,
- 797, 938, 939, 940, 941, 942, 943, 813, 817, 816,
- 814, 815, 811, 812, 839, 838, 840, 841, 842, 843,
- 844, 845, 847, 846, 848, 849, 850, 851, 852, 853,
- 821, 822, 825, 826, 824, 823, 827, 836, 837, 828,
- 829, 830, 831, 832, 833, 835, 834, 854, 855, 856,
- 857, 858, 860, 859, 863, 864, 862, 861, 866, 865,
- 760, 196, 221, 368, 0, 454, 288, 646, 615, 484,
- 610, 206, 223, 929, 262, 930, 0, 0, 934, 0,
- 0, 0, 936, 935, 0, 937, 899, 898, 0, 0,
- 931, 932, 0, 933, 0, 0, 198, 200, 209, 222,
- 232, 236, 243, 261, 276, 278, 285, 298, 310, 318,
- 319, 322, 328, 380, 386, 387, 388, 389, 409, 410,
- 411, 414, 417, 418, 421, 423, 424, 427, 431, 435,
- 436, 437, 439, 441, 443, 455, 460, 474, 475, 476,
- 477, 478, 481, 482, 488, 489, 490, 491, 492, 500,
- 501, 516, 586, 588, 603, 622, 628, 480, 944, 945,
- 946, 947, 948, 949, 950, 951, 300, 598, 629, 596,
- 641, 623, 438, 378, 0, 0, 381, 281, 305, 320,
- 0, 614, 502, 227, 466, 290, 251, 969, 0, 211,
- 246, 230, 259, 274, 277, 324, 391, 400, 429, 434,
- 296, 271, 244, 459, 241, 485, 519, 520, 521, 523,
- 395, 266, 433, 396, 0, 376, 576, 577, 316, 0,
- 0, 0, 528, 0, 772, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 416, 0, 0, 0, 759, 0,
- 0, 0, 270, 764, 0, 0, 0, 366, 267, 0,
- 0, 204, 505, 0, 430, 0, 203, 0, 487, 252,
- 377, 374, 583, 282, 273, 269, 250, 317, 385, 428,
- 518, 422, 771, 370, 0, 0, 497, 401, 0, 0,
- 0, 0, 0, 0, 0, 0, 766, 767, 0, 0,
- 0, 0, 0, 0, 2428, 0, 323, 248, 325, 202,
- 413, 498, 286, 0, 95, 0, 0, 1018, 507, 954,
- 743, 920, 958, 1019, 971, 972, 973, 959, 0, 238,
- 960, 961, 245, 962, 0, 919, 802, 804, 803, 869,
- 870, 871, 872, 873, 874, 875, 805, 806, 800, 967,
- 607, 974, 975, 2429, 265, 321, 272, 264, 580, 0,
- 0, 0, 0, 0, 0, 0, 0, 229, 0, 0,
- 0, 0, 0, 0, 0, 739, 756, 0, 770, 0,
- 0, 0, 275, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 753,
- 754, 0, 0, 0, 0, 914, 0, 755, 0, 0,
- 763, 976, 977, 978, 979, 980, 981, 982, 983, 984,
+ 207, 606, 623, 0, 208, 0, 499, 608, 650, 452,
+ 212, 234, 235, 237, 1309, 279, 283, 291, 294, 303,
+ 304, 313, 367, 419, 446, 442, 451, 1400, 579, 600,
+ 613, 625, 631, 632, 634, 635, 636, 637, 638, 641,
+ 639, 407, 311, 495, 333, 373, 1389, 1432, 425, 472,
+ 240, 604, 496, 199, 1303, 1308, 1301, 0, 254, 255,
+ 1371, 575, 1304, 1302, 1360, 1361, 1305, 1423, 1424, 1425,
+ 1410, 651, 652, 653, 654, 655, 656, 657, 658, 659,
+ 660, 661, 662, 663, 664, 665, 666, 667, 668, 646,
+ 508, 514, 509, 510, 511, 512, 513, 0, 515, 1393,
+ 1297, 0, 1306, 1307, 398, 1402, 591, 592, 669, 384,
+ 486, 601, 335, 349, 352, 341, 361, 0, 362, 337,
+ 338, 343, 346, 347, 348, 353, 354, 358, 364, 249,
+ 210, 390, 399, 578, 312, 216, 217, 218, 524, 525,
+ 526, 527, 616, 617, 621, 205, 462, 463, 464, 465,
+ 292, 611, 309, 468, 467, 331, 332, 379, 449, 540,
+ 542, 553, 557, 559, 561, 567, 570, 541, 543, 554,
+ 558, 560, 562, 568, 571, 530, 532, 534, 536, 549,
+ 548, 545, 573, 574, 551, 556, 535, 547, 552, 565,
+ 572, 569, 529, 533, 537, 546, 564, 563, 544, 555,
+ 566, 550, 538, 531, 539, 1364, 196, 221, 368, 1428,
+ 454, 288, 647, 615, 484, 610, 206, 223, 1300, 262,
+ 1312, 1320, 0, 1326, 1334, 1335, 1348, 1351, 1352, 1353,
+ 1354, 1372, 1373, 1375, 1383, 1385, 1388, 1390, 1397, 1411,
+ 1431, 198, 200, 209, 222, 232, 236, 243, 261, 276,
+ 278, 285, 298, 310, 318, 319, 322, 328, 380, 386,
+ 387, 388, 389, 409, 410, 411, 414, 417, 418, 421,
+ 423, 424, 427, 431, 435, 436, 437, 439, 441, 443,
+ 455, 460, 474, 475, 476, 477, 478, 481, 482, 488,
+ 489, 490, 491, 492, 500, 501, 516, 586, 588, 603,
+ 622, 629, 480, 301, 302, 444, 445, 314, 315, 643,
+ 644, 300, 598, 630, 596, 642, 624, 438, 378, 1363,
+ 1369, 381, 281, 305, 320, 1378, 614, 502, 227, 466,
+ 290, 251, 1396, 1398, 211, 246, 230, 259, 274, 277,
+ 324, 391, 400, 429, 434, 296, 271, 244, 459, 241,
+ 485, 519, 520, 521, 523, 395, 266, 433, 1359, 1387,
+ 376, 576, 577, 316, 396, 0, 0, 0, 0, 0,
+ 0, 0, 0, 528, 0, 773, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 416, 0, 0, 0, 760,
+ 0, 0, 0, 270, 765, 0, 0, 0, 366, 267,
+ 0, 0, 204, 505, 0, 430, 0, 203, 0, 487,
+ 252, 377, 374, 583, 282, 273, 269, 250, 317, 385,
+ 428, 518, 422, 772, 370, 0, 0, 497, 401, 0,
+ 0, 0, 0, 0, 0, 0, 0, 767, 768, 0,
+ 0, 0, 0, 0, 0, 0, 0, 323, 248, 325,
+ 202, 413, 498, 286, 0, 95, 0, 0, 1019, 507,
+ 955, 744, 921, 959, 1020, 972, 973, 974, 960, 0,
+ 238, 961, 962, 245, 963, 0, 920, 803, 805, 804,
+ 870, 871, 872, 873, 874, 875, 876, 806, 807, 801,
+ 968, 607, 975, 976, 0, 265, 321, 272, 264, 580,
+ 0, 0, 2224, 2225, 2226, 0, 0, 0, 229, 0,
+ 0, 0, 0, 0, 0, 0, 740, 757, 0, 771,
+ 0, 0, 0, 275, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 754, 755, 0, 0, 0, 0, 915, 0, 756, 0,
+ 0, 764, 977, 978, 979, 980, 981, 982, 983, 984,
985, 986, 987, 988, 989, 990, 991, 992, 993, 994,
995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004,
1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014,
- 1015, 1016, 1017, 765, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 297, 0, 402, 257, 0, 453,
- 913, 0, 0, 625, 0, 0, 911, 0, 0, 0,
- 0, 365, 0, 330, 197, 225, 0, 0, 412, 461,
- 473, 0, 0, 0, 964, 0, 471, 426, 602, 233,
- 284, 458, 432, 469, 440, 287, 0, 0, 470, 372,
- 585, 450, 599, 626, 627, 263, 406, 612, 522, 620,
- 644, 226, 260, 420, 506, 605, 494, 397, 581, 582,
- 329, 493, 295, 201, 369, 632, 224, 479, 371, 242,
- 231, 587, 609, 299, 289, 456, 639, 213, 517, 597,
- 239, 483, 0, 0, 647, 247, 504, 215, 594, 503,
- 393, 326, 327, 214, 0, 457, 268, 293, 0, 0,
- 258, 415, 965, 966, 256, 648, 810, 619, 220, 0,
- 618, 408, 584, 595, 394, 383, 219, 593, 392, 382,
- 334, 818, 819, 280, 307, 895, 894, 893, 306, 308,
- 891, 892, 890, 207, 606, 0, 208, 0, 499, 608,
- 649, 452, 212, 234, 235, 237, 0, 279, 283, 291,
+ 1015, 1016, 1017, 1018, 766, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 297, 0, 402, 257, 0,
+ 453, 914, 0, 0, 626, 0, 0, 912, 0, 0,
+ 0, 0, 365, 0, 330, 197, 225, 0, 0, 412,
+ 461, 473, 0, 0, 0, 965, 0, 471, 426, 602,
+ 233, 284, 458, 432, 469, 440, 287, 0, 0, 470,
+ 372, 585, 450, 599, 627, 628, 263, 406, 612, 522,
+ 620, 645, 226, 260, 420, 506, 605, 494, 397, 581,
+ 582, 329, 493, 295, 201, 369, 633, 224, 479, 371,
+ 242, 231, 587, 609, 299, 289, 456, 640, 213, 517,
+ 597, 239, 483, 0, 0, 648, 247, 504, 215, 594,
+ 503, 393, 326, 327, 214, 0, 457, 268, 293, 0,
+ 0, 258, 415, 966, 967, 256, 649, 811, 619, 220,
+ 0, 618, 408, 584, 595, 394, 383, 219, 593, 392,
+ 382, 334, 819, 820, 280, 307, 896, 895, 894, 306,
+ 308, 892, 893, 891, 207, 606, 623, 0, 208, 0,
+ 499, 608, 650, 452, 212, 234, 235, 237, 0, 279,
+ 283, 291, 294, 303, 304, 313, 367, 419, 446, 442,
+ 451, 0, 579, 600, 613, 625, 631, 632, 634, 635,
+ 636, 637, 638, 641, 639, 407, 311, 495, 333, 373,
+ 0, 0, 425, 472, 240, 604, 496, 902, 924, 913,
+ 777, 778, 903, 904, 928, 905, 780, 781, 925, 926,
+ 774, 775, 779, 927, 929, 651, 652, 653, 654, 655,
+ 656, 657, 658, 659, 660, 661, 662, 663, 664, 665,
+ 666, 667, 668, 646, 508, 514, 509, 510, 511, 512,
+ 513, 0, 515, 916, 763, 762, 0, 769, 770, 0,
+ 799, 800, 802, 808, 809, 810, 821, 868, 869, 877,
+ 879, 880, 878, 881, 882, 883, 886, 887, 888, 889,
+ 884, 885, 890, 782, 786, 783, 784, 785, 797, 787,
+ 788, 789, 790, 791, 792, 793, 794, 795, 796, 798,
+ 939, 940, 941, 942, 943, 944, 814, 818, 817, 815,
+ 816, 812, 813, 840, 839, 841, 842, 843, 844, 845,
+ 846, 848, 847, 849, 850, 851, 852, 853, 854, 822,
+ 823, 826, 827, 825, 824, 828, 837, 838, 829, 830,
+ 831, 832, 833, 834, 836, 835, 855, 856, 857, 858,
+ 859, 861, 860, 864, 865, 863, 862, 867, 866, 761,
+ 196, 221, 368, 0, 454, 288, 647, 615, 484, 610,
+ 206, 223, 930, 262, 931, 0, 0, 935, 0, 0,
+ 0, 937, 936, 0, 938, 900, 899, 0, 0, 932,
+ 933, 0, 934, 0, 0, 198, 200, 209, 222, 232,
+ 236, 243, 261, 276, 278, 285, 298, 310, 318, 319,
+ 322, 328, 380, 386, 387, 388, 389, 409, 410, 411,
+ 414, 417, 418, 421, 423, 424, 427, 431, 435, 436,
+ 437, 439, 441, 443, 455, 460, 474, 475, 476, 477,
+ 478, 481, 482, 488, 489, 490, 491, 492, 500, 501,
+ 516, 586, 588, 603, 622, 629, 480, 945, 946, 947,
+ 948, 949, 950, 951, 952, 300, 598, 630, 596, 642,
+ 624, 438, 378, 0, 0, 381, 281, 305, 320, 0,
+ 614, 502, 227, 466, 290, 251, 970, 0, 211, 246,
+ 230, 259, 274, 277, 324, 391, 400, 429, 434, 296,
+ 271, 244, 459, 241, 485, 519, 520, 521, 523, 395,
+ 266, 433, 396, 0, 376, 576, 577, 316, 0, 0,
+ 0, 528, 0, 773, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 416, 0, 0, 0, 760, 0, 0,
+ 0, 270, 765, 0, 0, 0, 366, 267, 0, 0,
+ 204, 505, 0, 430, 0, 203, 0, 487, 252, 377,
+ 374, 583, 282, 273, 269, 250, 317, 385, 428, 518,
+ 422, 772, 370, 0, 0, 497, 401, 0, 0, 0,
+ 0, 0, 0, 0, 0, 767, 768, 0, 0, 0,
+ 0, 0, 0, 2431, 0, 323, 248, 325, 202, 413,
+ 498, 286, 0, 95, 0, 0, 1019, 507, 955, 744,
+ 921, 959, 1020, 972, 973, 974, 960, 0, 238, 961,
+ 962, 245, 963, 0, 920, 803, 805, 804, 870, 871,
+ 872, 873, 874, 875, 876, 806, 807, 801, 968, 607,
+ 975, 976, 2432, 265, 321, 272, 264, 580, 0, 0,
+ 0, 0, 0, 0, 0, 0, 229, 0, 0, 0,
+ 0, 0, 0, 0, 740, 757, 0, 771, 0, 0,
+ 0, 275, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 754, 755,
+ 0, 0, 0, 0, 915, 0, 756, 0, 0, 764,
+ 977, 978, 979, 980, 981, 982, 983, 984, 985, 986,
+ 987, 988, 989, 990, 991, 992, 993, 994, 995, 996,
+ 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006,
+ 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016,
+ 1017, 1018, 766, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 297, 0, 402, 257, 0, 453, 914,
+ 0, 0, 626, 0, 0, 912, 0, 0, 0, 0,
+ 365, 0, 330, 197, 225, 0, 0, 412, 461, 473,
+ 0, 0, 0, 965, 0, 471, 426, 602, 233, 284,
+ 458, 432, 469, 440, 287, 0, 0, 470, 372, 585,
+ 450, 599, 627, 628, 263, 406, 612, 522, 620, 645,
+ 226, 260, 420, 506, 605, 494, 397, 581, 582, 329,
+ 493, 295, 201, 369, 633, 224, 479, 371, 242, 231,
+ 587, 609, 299, 289, 456, 640, 213, 517, 597, 239,
+ 483, 0, 0, 648, 247, 504, 215, 594, 503, 393,
+ 326, 327, 214, 0, 457, 268, 293, 0, 0, 258,
+ 415, 966, 967, 256, 649, 811, 619, 220, 0, 618,
+ 408, 584, 595, 394, 383, 219, 593, 392, 382, 334,
+ 819, 820, 280, 307, 896, 895, 894, 306, 308, 892,
+ 893, 891, 207, 606, 623, 0, 208, 0, 499, 608,
+ 650, 452, 212, 234, 235, 237, 0, 279, 283, 291,
294, 303, 304, 313, 367, 419, 446, 442, 451, 0,
- 579, 600, 613, 624, 630, 631, 633, 634, 635, 636,
- 637, 640, 638, 407, 311, 495, 333, 373, 0, 0,
- 425, 472, 240, 604, 496, 901, 923, 912, 776, 777,
- 902, 903, 927, 904, 779, 780, 924, 925, 773, 774,
- 778, 926, 928, 650, 651, 652, 653, 654, 655, 656,
- 657, 658, 659, 660, 661, 662, 663, 664, 665, 666,
- 667, 645, 508, 514, 509, 510, 511, 512, 513, 0,
- 515, 915, 762, 761, 0, 768, 769, 0, 798, 799,
- 801, 807, 808, 809, 820, 867, 868, 876, 878, 879,
- 877, 880, 881, 882, 885, 886, 887, 888, 883, 884,
- 889, 781, 785, 782, 783, 784, 796, 786, 787, 788,
- 789, 790, 791, 792, 793, 794, 795, 797, 938, 939,
- 940, 941, 942, 943, 813, 817, 816, 814, 815, 811,
- 812, 839, 838, 840, 841, 842, 843, 844, 845, 847,
- 846, 848, 849, 850, 851, 852, 853, 821, 822, 825,
- 826, 824, 823, 827, 836, 837, 828, 829, 830, 831,
- 832, 833, 835, 834, 854, 855, 856, 857, 858, 860,
- 859, 863, 864, 862, 861, 866, 865, 760, 196, 221,
- 368, 0, 454, 288, 646, 615, 484, 610, 206, 223,
- 929, 262, 930, 0, 0, 934, 0, 0, 0, 936,
- 935, 0, 937, 899, 898, 0, 0, 931, 932, 0,
- 933, 0, 0, 198, 200, 209, 222, 232, 236, 243,
+ 579, 600, 613, 625, 631, 632, 634, 635, 636, 637,
+ 638, 641, 639, 407, 311, 495, 333, 373, 0, 0,
+ 425, 472, 240, 604, 496, 902, 924, 913, 777, 778,
+ 903, 904, 928, 905, 780, 781, 925, 926, 774, 775,
+ 779, 927, 929, 651, 652, 653, 654, 655, 656, 657,
+ 658, 659, 660, 661, 662, 663, 664, 665, 666, 667,
+ 668, 646, 508, 514, 509, 510, 511, 512, 513, 0,
+ 515, 916, 763, 762, 0, 769, 770, 0, 799, 800,
+ 802, 808, 809, 810, 821, 868, 869, 877, 879, 880,
+ 878, 881, 882, 883, 886, 887, 888, 889, 884, 885,
+ 890, 782, 786, 783, 784, 785, 797, 787, 788, 789,
+ 790, 791, 792, 793, 794, 795, 796, 798, 939, 940,
+ 941, 942, 943, 944, 814, 818, 817, 815, 816, 812,
+ 813, 840, 839, 841, 842, 843, 844, 845, 846, 848,
+ 847, 849, 850, 851, 852, 853, 854, 822, 823, 826,
+ 827, 825, 824, 828, 837, 838, 829, 830, 831, 832,
+ 833, 834, 836, 835, 855, 856, 857, 858, 859, 861,
+ 860, 864, 865, 863, 862, 867, 866, 761, 196, 221,
+ 368, 0, 454, 288, 647, 615, 484, 610, 206, 223,
+ 930, 262, 931, 0, 0, 935, 0, 0, 0, 937,
+ 936, 0, 938, 900, 899, 0, 0, 932, 933, 0,
+ 934, 0, 0, 198, 200, 209, 222, 232, 236, 243,
261, 276, 278, 285, 298, 310, 318, 319, 322, 328,
380, 386, 387, 388, 389, 409, 410, 411, 414, 417,
418, 421, 423, 424, 427, 431, 435, 436, 437, 439,
441, 443, 455, 460, 474, 475, 476, 477, 478, 481,
482, 488, 489, 490, 491, 492, 500, 501, 516, 586,
- 588, 603, 622, 628, 480, 944, 945, 946, 947, 948,
- 949, 950, 951, 300, 598, 629, 596, 641, 623, 438,
+ 588, 603, 622, 629, 480, 945, 946, 947, 948, 949,
+ 950, 951, 952, 300, 598, 630, 596, 642, 624, 438,
378, 0, 0, 381, 281, 305, 320, 0, 614, 502,
- 227, 466, 290, 251, 969, 0, 211, 246, 230, 259,
+ 227, 466, 290, 251, 970, 0, 211, 246, 230, 259,
274, 277, 324, 391, 400, 429, 434, 296, 271, 244,
459, 241, 485, 519, 520, 521, 523, 395, 266, 433,
396, 0, 376, 576, 577, 316, 0, 0, 86, 528,
- 0, 772, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 416, 0, 0, 0, 759, 0, 0, 0, 270,
- 764, 0, 0, 0, 366, 267, 0, 0, 204, 505,
+ 0, 773, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 416, 0, 0, 0, 760, 0, 0, 0, 270,
+ 765, 0, 0, 0, 366, 267, 0, 0, 204, 505,
0, 430, 0, 203, 0, 487, 252, 377, 374, 583,
- 282, 273, 269, 250, 317, 385, 428, 518, 422, 771,
+ 282, 273, 269, 250, 317, 385, 428, 518, 422, 772,
370, 0, 0, 497, 401, 0, 0, 0, 0, 0,
- 0, 0, 0, 766, 767, 0, 0, 0, 0, 0,
+ 0, 0, 0, 767, 768, 0, 0, 0, 0, 0,
0, 0, 0, 323, 248, 325, 202, 413, 498, 286,
- 0, 95, 0, 0, 1018, 507, 954, 743, 920, 958,
- 1019, 971, 972, 973, 959, 0, 238, 960, 961, 245,
- 962, 0, 919, 802, 804, 803, 869, 870, 871, 872,
- 873, 874, 875, 805, 806, 800, 967, 607, 974, 975,
+ 0, 95, 0, 0, 1019, 507, 955, 744, 921, 959,
+ 1020, 972, 973, 974, 960, 0, 238, 961, 962, 245,
+ 963, 0, 920, 803, 805, 804, 870, 871, 872, 873,
+ 874, 875, 876, 806, 807, 801, 968, 607, 975, 976,
0, 265, 321, 272, 264, 580, 0, 0, 0, 0,
0, 0, 0, 0, 229, 0, 0, 0, 0, 0,
- 0, 0, 739, 756, 0, 770, 0, 0, 0, 275,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 753, 754, 0, 0,
- 0, 0, 914, 0, 755, 0, 0, 763, 976, 977,
- 978, 979, 980, 981, 982, 983, 984, 985, 986, 987,
- 988, 989, 990, 991, 992, 993, 994, 995, 996, 997,
- 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007,
- 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017,
- 765, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 297, 0, 402, 257, 0, 453, 913, 0, 0,
- 625, 0, 0, 911, 0, 0, 0, 0, 365, 0,
+ 0, 0, 740, 757, 0, 771, 0, 0, 0, 275,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 754, 755, 0, 0,
+ 0, 0, 915, 0, 756, 0, 0, 764, 977, 978,
+ 979, 980, 981, 982, 983, 984, 985, 986, 987, 988,
+ 989, 990, 991, 992, 993, 994, 995, 996, 997, 998,
+ 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008,
+ 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018,
+ 766, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 297, 0, 402, 257, 0, 453, 914, 0, 0,
+ 626, 0, 0, 912, 0, 0, 0, 0, 365, 0,
330, 197, 225, 0, 0, 412, 461, 473, 0, 0,
- 0, 964, 0, 471, 426, 602, 233, 284, 458, 432,
+ 0, 965, 0, 471, 426, 602, 233, 284, 458, 432,
469, 440, 287, 0, 0, 470, 372, 585, 450, 599,
- 626, 627, 263, 406, 612, 522, 620, 644, 226, 260,
+ 627, 628, 263, 406, 612, 522, 620, 645, 226, 260,
420, 506, 605, 494, 397, 581, 582, 329, 493, 295,
- 201, 369, 632, 224, 479, 371, 242, 231, 587, 609,
- 299, 289, 456, 639, 213, 517, 597, 239, 483, 0,
- 0, 647, 247, 504, 215, 594, 503, 393, 326, 327,
- 214, 0, 457, 268, 293, 0, 0, 258, 415, 965,
- 966, 256, 648, 810, 619, 220, 0, 618, 408, 584,
- 595, 394, 383, 219, 593, 392, 382, 334, 818, 819,
- 280, 307, 895, 894, 893, 306, 308, 891, 892, 890,
- 207, 606, 0, 208, 0, 499, 608, 649, 452, 212,
- 234, 235, 237, 0, 279, 283, 291, 294, 303, 304,
- 313, 367, 419, 446, 442, 451, 0, 579, 600, 613,
- 624, 630, 631, 633, 634, 635, 636, 637, 640, 638,
- 407, 311, 495, 333, 373, 0, 0, 425, 472, 240,
- 604, 496, 901, 923, 912, 776, 777, 902, 903, 927,
- 904, 779, 780, 924, 925, 773, 774, 778, 926, 928,
- 650, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 661, 662, 663, 664, 665, 666, 667, 645, 508,
- 514, 509, 510, 511, 512, 513, 0, 515, 915, 762,
- 761, 0, 768, 769, 0, 798, 799, 801, 807, 808,
- 809, 820, 867, 868, 876, 878, 879, 877, 880, 881,
- 882, 885, 886, 887, 888, 883, 884, 889, 781, 785,
- 782, 783, 784, 796, 786, 787, 788, 789, 790, 791,
- 792, 793, 794, 795, 797, 938, 939, 940, 941, 942,
- 943, 813, 817, 816, 814, 815, 811, 812, 839, 838,
- 840, 841, 842, 843, 844, 845, 847, 846, 848, 849,
- 850, 851, 852, 853, 821, 822, 825, 826, 824, 823,
- 827, 836, 837, 828, 829, 830, 831, 832, 833, 835,
- 834, 854, 855, 856, 857, 858, 860, 859, 863, 864,
- 862, 861, 866, 865, 760, 196, 221, 368, 94, 454,
- 288, 646, 615, 484, 610, 206, 223, 929, 262, 930,
- 0, 0, 934, 0, 0, 0, 936, 935, 0, 937,
- 899, 898, 0, 0, 931, 932, 0, 933, 0, 0,
- 198, 200, 209, 222, 232, 236, 243, 261, 276, 278,
- 285, 298, 310, 318, 319, 322, 328, 380, 386, 387,
- 388, 389, 409, 410, 411, 414, 417, 418, 421, 423,
- 424, 427, 431, 435, 436, 437, 439, 441, 443, 455,
- 460, 474, 475, 476, 477, 478, 481, 482, 488, 489,
- 490, 491, 492, 500, 501, 516, 586, 588, 603, 622,
- 628, 480, 944, 945, 946, 947, 948, 949, 950, 951,
- 300, 598, 629, 596, 641, 623, 438, 378, 0, 0,
- 381, 281, 305, 320, 0, 614, 502, 227, 466, 290,
- 251, 969, 0, 211, 246, 230, 259, 274, 277, 324,
- 391, 400, 429, 434, 296, 271, 244, 459, 241, 485,
- 519, 520, 521, 523, 395, 266, 433, 396, 0, 376,
- 576, 577, 316, 0, 0, 0, 528, 0, 772, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 416, 0,
- 0, 0, 759, 0, 0, 0, 270, 764, 0, 0,
- 0, 366, 267, 0, 0, 204, 505, 0, 430, 0,
- 203, 0, 487, 252, 377, 374, 583, 282, 273, 269,
- 250, 317, 385, 428, 518, 422, 771, 370, 0, 0,
- 497, 401, 0, 0, 0, 0, 0, 0, 0, 0,
- 766, 767, 0, 0, 0, 0, 0, 0, 0, 0,
- 323, 248, 325, 202, 413, 498, 286, 0, 95, 0,
- 0, 1018, 507, 954, 743, 920, 958, 1019, 971, 972,
- 973, 959, 0, 238, 960, 961, 245, 962, 0, 919,
- 802, 804, 803, 869, 870, 871, 872, 873, 874, 875,
- 805, 806, 800, 967, 607, 974, 975, 0, 265, 321,
- 272, 264, 580, 0, 0, 0, 0, 0, 0, 0,
- 0, 229, 0, 0, 0, 0, 0, 0, 0, 739,
- 756, 0, 770, 0, 0, 0, 275, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 753, 754, 0, 0, 0, 0, 914,
- 0, 755, 0, 0, 763, 976, 977, 978, 979, 980,
+ 201, 369, 633, 224, 479, 371, 242, 231, 587, 609,
+ 299, 289, 456, 640, 213, 517, 597, 239, 483, 0,
+ 0, 648, 247, 504, 215, 594, 503, 393, 326, 327,
+ 214, 0, 457, 268, 293, 0, 0, 258, 415, 966,
+ 967, 256, 649, 811, 619, 220, 0, 618, 408, 584,
+ 595, 394, 383, 219, 593, 392, 382, 334, 819, 820,
+ 280, 307, 896, 895, 894, 306, 308, 892, 893, 891,
+ 207, 606, 623, 0, 208, 0, 499, 608, 650, 452,
+ 212, 234, 235, 237, 0, 279, 283, 291, 294, 303,
+ 304, 313, 367, 419, 446, 442, 451, 0, 579, 600,
+ 613, 625, 631, 632, 634, 635, 636, 637, 638, 641,
+ 639, 407, 311, 495, 333, 373, 0, 0, 425, 472,
+ 240, 604, 496, 902, 924, 913, 777, 778, 903, 904,
+ 928, 905, 780, 781, 925, 926, 774, 775, 779, 927,
+ 929, 651, 652, 653, 654, 655, 656, 657, 658, 659,
+ 660, 661, 662, 663, 664, 665, 666, 667, 668, 646,
+ 508, 514, 509, 510, 511, 512, 513, 0, 515, 916,
+ 763, 762, 0, 769, 770, 0, 799, 800, 802, 808,
+ 809, 810, 821, 868, 869, 877, 879, 880, 878, 881,
+ 882, 883, 886, 887, 888, 889, 884, 885, 890, 782,
+ 786, 783, 784, 785, 797, 787, 788, 789, 790, 791,
+ 792, 793, 794, 795, 796, 798, 939, 940, 941, 942,
+ 943, 944, 814, 818, 817, 815, 816, 812, 813, 840,
+ 839, 841, 842, 843, 844, 845, 846, 848, 847, 849,
+ 850, 851, 852, 853, 854, 822, 823, 826, 827, 825,
+ 824, 828, 837, 838, 829, 830, 831, 832, 833, 834,
+ 836, 835, 855, 856, 857, 858, 859, 861, 860, 864,
+ 865, 863, 862, 867, 866, 761, 196, 221, 368, 94,
+ 454, 288, 647, 615, 484, 610, 206, 223, 930, 262,
+ 931, 0, 0, 935, 0, 0, 0, 937, 936, 0,
+ 938, 900, 899, 0, 0, 932, 933, 0, 934, 0,
+ 0, 198, 200, 209, 222, 232, 236, 243, 261, 276,
+ 278, 285, 298, 310, 318, 319, 322, 328, 380, 386,
+ 387, 388, 389, 409, 410, 411, 414, 417, 418, 421,
+ 423, 424, 427, 431, 435, 436, 437, 439, 441, 443,
+ 455, 460, 474, 475, 476, 477, 478, 481, 482, 488,
+ 489, 490, 491, 492, 500, 501, 516, 586, 588, 603,
+ 622, 629, 480, 945, 946, 947, 948, 949, 950, 951,
+ 952, 300, 598, 630, 596, 642, 624, 438, 378, 0,
+ 0, 381, 281, 305, 320, 0, 614, 502, 227, 466,
+ 290, 251, 970, 0, 211, 246, 230, 259, 274, 277,
+ 324, 391, 400, 429, 434, 296, 271, 244, 459, 241,
+ 485, 519, 520, 521, 523, 395, 266, 433, 396, 0,
+ 376, 576, 577, 316, 0, 0, 0, 528, 0, 773,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 416,
+ 0, 0, 0, 760, 0, 0, 0, 270, 765, 0,
+ 0, 0, 366, 267, 0, 0, 204, 505, 0, 430,
+ 0, 203, 0, 487, 252, 377, 374, 583, 282, 273,
+ 269, 250, 317, 385, 428, 518, 422, 772, 370, 0,
+ 0, 497, 401, 0, 0, 0, 0, 0, 0, 0,
+ 0, 767, 768, 0, 0, 0, 0, 0, 0, 0,
+ 0, 323, 248, 325, 202, 413, 498, 286, 0, 95,
+ 0, 0, 1019, 507, 955, 744, 921, 959, 1020, 972,
+ 973, 974, 960, 0, 238, 961, 962, 245, 963, 0,
+ 920, 803, 805, 804, 870, 871, 872, 873, 874, 875,
+ 876, 806, 807, 801, 968, 607, 975, 976, 0, 265,
+ 321, 272, 264, 580, 0, 0, 0, 0, 0, 0,
+ 0, 0, 229, 0, 0, 0, 0, 0, 0, 0,
+ 740, 757, 0, 771, 0, 0, 0, 275, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 754, 755, 0, 0, 0, 0,
+ 915, 0, 756, 0, 0, 764, 977, 978, 979, 980,
981, 982, 983, 984, 985, 986, 987, 988, 989, 990,
991, 992, 993, 994, 995, 996, 997, 998, 999, 1000,
1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010,
- 1011, 1012, 1013, 1014, 1015, 1016, 1017, 765, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 297, 0,
- 402, 257, 0, 453, 913, 0, 0, 625, 0, 0,
- 911, 0, 0, 0, 0, 365, 0, 330, 197, 225,
- 0, 0, 412, 461, 473, 0, 0, 0, 964, 0,
- 471, 426, 602, 233, 284, 458, 432, 469, 440, 287,
- 4083, 0, 470, 372, 585, 450, 599, 626, 627, 263,
- 406, 612, 522, 620, 644, 226, 260, 420, 506, 605,
- 494, 397, 581, 582, 329, 493, 295, 201, 369, 632,
- 224, 479, 371, 242, 231, 587, 609, 299, 289, 456,
- 639, 213, 517, 597, 239, 483, 0, 0, 647, 247,
- 504, 215, 594, 503, 393, 326, 327, 214, 0, 457,
- 268, 293, 0, 0, 258, 415, 965, 966, 256, 648,
- 810, 619, 220, 0, 618, 408, 584, 595, 394, 383,
- 219, 593, 392, 382, 334, 818, 819, 280, 307, 895,
- 894, 893, 306, 308, 891, 892, 890, 207, 606, 0,
- 208, 0, 499, 608, 649, 452, 212, 234, 235, 237,
+ 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 766, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 297,
+ 0, 402, 257, 0, 453, 914, 0, 0, 626, 0,
+ 0, 912, 0, 0, 0, 0, 365, 0, 330, 197,
+ 225, 0, 0, 412, 461, 473, 0, 0, 0, 965,
+ 0, 471, 426, 602, 233, 284, 458, 432, 469, 440,
+ 287, 4088, 0, 470, 372, 585, 450, 599, 627, 628,
+ 263, 406, 612, 522, 620, 645, 226, 260, 420, 506,
+ 605, 494, 397, 581, 582, 329, 493, 295, 201, 369,
+ 633, 224, 479, 371, 242, 231, 587, 609, 299, 289,
+ 456, 640, 213, 517, 597, 239, 483, 0, 0, 648,
+ 247, 504, 215, 594, 503, 393, 326, 327, 214, 0,
+ 457, 268, 293, 0, 0, 258, 415, 966, 967, 256,
+ 649, 811, 619, 220, 0, 618, 408, 584, 595, 394,
+ 383, 219, 593, 392, 382, 334, 819, 820, 280, 307,
+ 896, 895, 894, 306, 308, 892, 893, 891, 207, 606,
+ 623, 0, 208, 0, 499, 608, 650, 452, 212, 234,
+ 235, 237, 0, 279, 283, 291, 294, 303, 304, 313,
+ 367, 419, 446, 442, 451, 0, 579, 600, 613, 625,
+ 631, 632, 634, 635, 636, 637, 638, 641, 639, 407,
+ 311, 495, 333, 373, 0, 0, 425, 472, 240, 604,
+ 496, 902, 924, 913, 777, 778, 903, 904, 928, 905,
+ 780, 781, 925, 926, 774, 775, 779, 927, 929, 651,
+ 652, 653, 654, 655, 656, 657, 658, 659, 660, 661,
+ 662, 663, 664, 665, 666, 667, 668, 646, 508, 514,
+ 509, 510, 511, 512, 513, 0, 515, 916, 763, 762,
+ 0, 769, 770, 0, 799, 800, 802, 808, 809, 810,
+ 821, 868, 869, 877, 879, 880, 878, 881, 882, 883,
+ 886, 887, 888, 889, 884, 885, 890, 782, 786, 783,
+ 784, 785, 797, 787, 788, 789, 790, 791, 792, 793,
+ 794, 795, 796, 798, 939, 940, 941, 942, 943, 944,
+ 814, 818, 817, 815, 816, 812, 813, 840, 839, 841,
+ 842, 843, 844, 845, 846, 848, 847, 849, 850, 851,
+ 852, 853, 854, 822, 823, 826, 827, 825, 824, 828,
+ 837, 838, 829, 830, 831, 832, 833, 834, 836, 835,
+ 855, 856, 857, 858, 859, 861, 860, 864, 865, 863,
+ 862, 867, 866, 761, 196, 221, 368, 0, 454, 288,
+ 647, 615, 484, 610, 206, 223, 930, 262, 931, 0,
+ 0, 935, 0, 0, 0, 937, 936, 0, 938, 900,
+ 899, 0, 0, 932, 933, 0, 934, 0, 0, 198,
+ 200, 209, 222, 232, 236, 243, 261, 276, 278, 285,
+ 298, 310, 318, 319, 322, 328, 380, 386, 387, 388,
+ 389, 409, 410, 411, 414, 417, 418, 421, 423, 424,
+ 427, 431, 435, 436, 437, 439, 441, 443, 455, 460,
+ 474, 475, 476, 477, 478, 481, 482, 488, 489, 490,
+ 491, 492, 500, 501, 516, 586, 588, 603, 622, 629,
+ 480, 945, 946, 947, 948, 949, 950, 951, 952, 300,
+ 598, 630, 596, 642, 624, 438, 378, 0, 0, 381,
+ 281, 305, 320, 0, 614, 502, 227, 466, 290, 251,
+ 970, 0, 211, 246, 230, 259, 274, 277, 324, 391,
+ 400, 429, 434, 296, 271, 244, 459, 241, 485, 519,
+ 520, 521, 523, 395, 266, 433, 396, 0, 376, 576,
+ 577, 316, 0, 0, 0, 528, 0, 773, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 416, 0, 0,
+ 0, 760, 0, 0, 0, 270, 765, 0, 0, 0,
+ 366, 267, 0, 0, 204, 505, 0, 430, 0, 203,
+ 0, 487, 252, 377, 374, 583, 282, 273, 269, 250,
+ 317, 385, 428, 518, 422, 772, 370, 0, 0, 497,
+ 401, 0, 0, 0, 0, 0, 0, 0, 0, 767,
+ 768, 0, 0, 0, 0, 0, 0, 0, 0, 323,
+ 248, 325, 202, 413, 498, 286, 0, 95, 0, 1747,
+ 1019, 507, 955, 744, 921, 959, 1020, 972, 973, 974,
+ 960, 0, 238, 961, 962, 245, 963, 0, 920, 803,
+ 805, 804, 870, 871, 872, 873, 874, 875, 876, 806,
+ 807, 801, 968, 607, 975, 976, 0, 265, 321, 272,
+ 264, 580, 0, 0, 0, 0, 0, 0, 0, 0,
+ 229, 0, 0, 0, 0, 0, 0, 0, 740, 757,
+ 0, 771, 0, 0, 0, 275, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 754, 755, 0, 0, 0, 0, 915, 0,
+ 756, 0, 0, 764, 977, 978, 979, 980, 981, 982,
+ 983, 984, 985, 986, 987, 988, 989, 990, 991, 992,
+ 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002,
+ 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012,
+ 1013, 1014, 1015, 1016, 1017, 1018, 766, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 297, 0, 402,
+ 257, 0, 453, 914, 0, 0, 626, 0, 0, 912,
+ 0, 0, 0, 0, 365, 0, 330, 197, 225, 0,
+ 0, 412, 461, 473, 0, 0, 0, 965, 0, 471,
+ 426, 602, 233, 284, 458, 432, 469, 440, 287, 0,
+ 0, 470, 372, 585, 450, 599, 627, 628, 263, 406,
+ 612, 522, 620, 645, 226, 260, 420, 506, 605, 494,
+ 397, 581, 582, 329, 493, 295, 201, 369, 633, 224,
+ 479, 371, 242, 231, 587, 609, 299, 289, 456, 640,
+ 213, 517, 597, 239, 483, 0, 0, 648, 247, 504,
+ 215, 594, 503, 393, 326, 327, 214, 0, 457, 268,
+ 293, 0, 0, 258, 415, 966, 967, 256, 649, 811,
+ 619, 220, 0, 618, 408, 584, 595, 394, 383, 219,
+ 593, 392, 382, 334, 819, 820, 280, 307, 896, 895,
+ 894, 306, 308, 892, 893, 891, 207, 606, 623, 0,
+ 208, 0, 499, 608, 650, 452, 212, 234, 235, 237,
0, 279, 283, 291, 294, 303, 304, 313, 367, 419,
- 446, 442, 451, 0, 579, 600, 613, 624, 630, 631,
- 633, 634, 635, 636, 637, 640, 638, 407, 311, 495,
- 333, 373, 0, 0, 425, 472, 240, 604, 496, 901,
- 923, 912, 776, 777, 902, 903, 927, 904, 779, 780,
- 924, 925, 773, 774, 778, 926, 928, 650, 651, 652,
- 653, 654, 655, 656, 657, 658, 659, 660, 661, 662,
- 663, 664, 665, 666, 667, 645, 508, 514, 509, 510,
- 511, 512, 513, 0, 515, 915, 762, 761, 0, 768,
- 769, 0, 798, 799, 801, 807, 808, 809, 820, 867,
- 868, 876, 878, 879, 877, 880, 881, 882, 885, 886,
- 887, 888, 883, 884, 889, 781, 785, 782, 783, 784,
- 796, 786, 787, 788, 789, 790, 791, 792, 793, 794,
- 795, 797, 938, 939, 940, 941, 942, 943, 813, 817,
- 816, 814, 815, 811, 812, 839, 838, 840, 841, 842,
- 843, 844, 845, 847, 846, 848, 849, 850, 851, 852,
- 853, 821, 822, 825, 826, 824, 823, 827, 836, 837,
- 828, 829, 830, 831, 832, 833, 835, 834, 854, 855,
- 856, 857, 858, 860, 859, 863, 864, 862, 861, 866,
- 865, 760, 196, 221, 368, 0, 454, 288, 646, 615,
- 484, 610, 206, 223, 929, 262, 930, 0, 0, 934,
- 0, 0, 0, 936, 935, 0, 937, 899, 898, 0,
- 0, 931, 932, 0, 933, 0, 0, 198, 200, 209,
+ 446, 442, 451, 0, 579, 600, 613, 625, 631, 632,
+ 634, 635, 636, 637, 638, 641, 639, 407, 311, 495,
+ 333, 373, 0, 0, 425, 472, 240, 604, 496, 902,
+ 924, 913, 777, 778, 903, 904, 928, 905, 780, 781,
+ 925, 926, 774, 775, 779, 927, 929, 651, 652, 653,
+ 654, 655, 656, 657, 658, 659, 660, 661, 662, 663,
+ 664, 665, 666, 667, 668, 646, 508, 514, 509, 510,
+ 511, 512, 513, 0, 515, 916, 763, 762, 0, 769,
+ 770, 0, 799, 800, 802, 808, 809, 810, 821, 868,
+ 869, 877, 879, 880, 878, 881, 882, 883, 886, 887,
+ 888, 889, 884, 885, 890, 782, 786, 783, 784, 785,
+ 797, 787, 788, 789, 790, 791, 792, 793, 794, 795,
+ 796, 798, 939, 940, 941, 942, 943, 944, 814, 818,
+ 817, 815, 816, 812, 813, 840, 839, 841, 842, 843,
+ 844, 845, 846, 848, 847, 849, 850, 851, 852, 853,
+ 854, 822, 823, 826, 827, 825, 824, 828, 837, 838,
+ 829, 830, 831, 832, 833, 834, 836, 835, 855, 856,
+ 857, 858, 859, 861, 860, 864, 865, 863, 862, 867,
+ 866, 761, 196, 221, 368, 0, 454, 288, 647, 615,
+ 484, 610, 206, 223, 930, 262, 931, 0, 0, 935,
+ 0, 0, 0, 937, 936, 0, 938, 900, 899, 0,
+ 0, 932, 933, 0, 934, 0, 0, 198, 200, 209,
222, 232, 236, 243, 261, 276, 278, 285, 298, 310,
318, 319, 322, 328, 380, 386, 387, 388, 389, 409,
410, 411, 414, 417, 418, 421, 423, 424, 427, 431,
435, 436, 437, 439, 441, 443, 455, 460, 474, 475,
476, 477, 478, 481, 482, 488, 489, 490, 491, 492,
- 500, 501, 516, 586, 588, 603, 622, 628, 480, 944,
- 945, 946, 947, 948, 949, 950, 951, 300, 598, 629,
- 596, 641, 623, 438, 378, 0, 0, 381, 281, 305,
- 320, 0, 614, 502, 227, 466, 290, 251, 969, 0,
+ 500, 501, 516, 586, 588, 603, 622, 629, 480, 945,
+ 946, 947, 948, 949, 950, 951, 952, 300, 598, 630,
+ 596, 642, 624, 438, 378, 0, 0, 381, 281, 305,
+ 320, 0, 614, 502, 227, 466, 290, 251, 970, 0,
211, 246, 230, 259, 274, 277, 324, 391, 400, 429,
434, 296, 271, 244, 459, 241, 485, 519, 520, 521,
523, 395, 266, 433, 396, 0, 376, 576, 577, 316,
- 0, 0, 0, 528, 0, 772, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 416, 0, 0, 0, 759,
- 0, 0, 0, 270, 764, 0, 0, 0, 366, 267,
+ 0, 0, 0, 528, 0, 773, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 416, 0, 0, 0, 760,
+ 0, 0, 0, 270, 765, 0, 0, 0, 366, 267,
0, 0, 204, 505, 0, 430, 0, 203, 0, 487,
252, 377, 374, 583, 282, 273, 269, 250, 317, 385,
- 428, 518, 422, 771, 370, 0, 0, 497, 401, 0,
- 0, 0, 0, 0, 0, 0, 0, 766, 767, 0,
+ 428, 518, 422, 772, 370, 0, 0, 497, 401, 0,
+ 0, 0, 0, 0, 0, 0, 0, 767, 768, 0,
0, 0, 0, 0, 0, 0, 0, 323, 248, 325,
- 202, 413, 498, 286, 0, 95, 0, 1746, 1018, 507,
- 954, 743, 920, 958, 1019, 971, 972, 973, 959, 0,
- 238, 960, 961, 245, 962, 0, 919, 802, 804, 803,
- 869, 870, 871, 872, 873, 874, 875, 805, 806, 800,
- 967, 607, 974, 975, 0, 265, 321, 272, 264, 580,
+ 202, 413, 498, 286, 0, 95, 0, 0, 1019, 507,
+ 955, 744, 921, 959, 1020, 972, 973, 974, 960, 0,
+ 238, 961, 962, 245, 963, 0, 920, 803, 805, 804,
+ 870, 871, 872, 873, 874, 875, 876, 806, 807, 801,
+ 968, 607, 975, 976, 0, 265, 321, 272, 264, 580,
0, 0, 0, 0, 0, 0, 0, 0, 229, 0,
- 0, 0, 0, 0, 0, 0, 739, 756, 0, 770,
+ 0, 0, 0, 0, 0, 0, 740, 757, 0, 771,
0, 0, 0, 275, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 753, 754, 0, 0, 0, 0, 914, 0, 755, 0,
- 0, 763, 976, 977, 978, 979, 980, 981, 982, 983,
- 984, 985, 986, 987, 988, 989, 990, 991, 992, 993,
- 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003,
- 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013,
- 1014, 1015, 1016, 1017, 765, 0, 0, 0, 0, 0,
+ 754, 755, 1065, 0, 0, 0, 915, 0, 756, 0,
+ 0, 764, 977, 978, 979, 980, 981, 982, 983, 984,
+ 985, 986, 987, 988, 989, 990, 991, 992, 993, 994,
+ 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004,
+ 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014,
+ 1015, 1016, 1017, 1018, 766, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 297, 0, 402, 257, 0,
- 453, 913, 0, 0, 625, 0, 0, 911, 0, 0,
+ 453, 914, 0, 0, 626, 0, 0, 912, 0, 0,
0, 0, 365, 0, 330, 197, 225, 0, 0, 412,
- 461, 473, 0, 0, 0, 964, 0, 471, 426, 602,
+ 461, 473, 0, 0, 0, 965, 0, 471, 426, 602,
233, 284, 458, 432, 469, 440, 287, 0, 0, 470,
- 372, 585, 450, 599, 626, 627, 263, 406, 612, 522,
- 620, 644, 226, 260, 420, 506, 605, 494, 397, 581,
- 582, 329, 493, 295, 201, 369, 632, 224, 479, 371,
- 242, 231, 587, 609, 299, 289, 456, 639, 213, 517,
- 597, 239, 483, 0, 0, 647, 247, 504, 215, 594,
+ 372, 585, 450, 599, 627, 628, 263, 406, 612, 522,
+ 620, 645, 226, 260, 420, 506, 605, 494, 397, 581,
+ 582, 329, 493, 295, 201, 369, 633, 224, 479, 371,
+ 242, 231, 587, 609, 299, 289, 456, 640, 213, 517,
+ 597, 239, 483, 0, 0, 648, 247, 504, 215, 594,
503, 393, 326, 327, 214, 0, 457, 268, 293, 0,
- 0, 258, 415, 965, 966, 256, 648, 810, 619, 220,
+ 0, 258, 415, 966, 967, 256, 649, 811, 619, 220,
0, 618, 408, 584, 595, 394, 383, 219, 593, 392,
- 382, 334, 818, 819, 280, 307, 895, 894, 893, 306,
- 308, 891, 892, 890, 207, 606, 0, 208, 0, 499,
- 608, 649, 452, 212, 234, 235, 237, 0, 279, 283,
- 291, 294, 303, 304, 313, 367, 419, 446, 442, 451,
- 0, 579, 600, 613, 624, 630, 631, 633, 634, 635,
- 636, 637, 640, 638, 407, 311, 495, 333, 373, 0,
- 0, 425, 472, 240, 604, 496, 901, 923, 912, 776,
- 777, 902, 903, 927, 904, 779, 780, 924, 925, 773,
- 774, 778, 926, 928, 650, 651, 652, 653, 654, 655,
+ 382, 334, 819, 820, 280, 307, 896, 895, 894, 306,
+ 308, 892, 893, 891, 207, 606, 623, 0, 208, 0,
+ 499, 608, 650, 452, 212, 234, 235, 237, 0, 279,
+ 283, 291, 294, 303, 304, 313, 367, 419, 446, 442,
+ 451, 0, 579, 600, 613, 625, 631, 632, 634, 635,
+ 636, 637, 638, 641, 639, 407, 311, 495, 333, 373,
+ 0, 0, 425, 472, 240, 604, 496, 902, 924, 913,
+ 777, 778, 903, 904, 928, 905, 780, 781, 925, 926,
+ 774, 775, 779, 927, 929, 651, 652, 653, 654, 655,
656, 657, 658, 659, 660, 661, 662, 663, 664, 665,
- 666, 667, 645, 508, 514, 509, 510, 511, 512, 513,
- 0, 515, 915, 762, 761, 0, 768, 769, 0, 798,
- 799, 801, 807, 808, 809, 820, 867, 868, 876, 878,
- 879, 877, 880, 881, 882, 885, 886, 887, 888, 883,
- 884, 889, 781, 785, 782, 783, 784, 796, 786, 787,
- 788, 789, 790, 791, 792, 793, 794, 795, 797, 938,
- 939, 940, 941, 942, 943, 813, 817, 816, 814, 815,
- 811, 812, 839, 838, 840, 841, 842, 843, 844, 845,
- 847, 846, 848, 849, 850, 851, 852, 853, 821, 822,
- 825, 826, 824, 823, 827, 836, 837, 828, 829, 830,
- 831, 832, 833, 835, 834, 854, 855, 856, 857, 858,
- 860, 859, 863, 864, 862, 861, 866, 865, 760, 196,
- 221, 368, 0, 454, 288, 646, 615, 484, 610, 206,
- 223, 929, 262, 930, 0, 0, 934, 0, 0, 0,
- 936, 935, 0, 937, 899, 898, 0, 0, 931, 932,
- 0, 933, 0, 0, 198, 200, 209, 222, 232, 236,
- 243, 261, 276, 278, 285, 298, 310, 318, 319, 322,
- 328, 380, 386, 387, 388, 389, 409, 410, 411, 414,
- 417, 418, 421, 423, 424, 427, 431, 435, 436, 437,
- 439, 441, 443, 455, 460, 474, 475, 476, 477, 478,
- 481, 482, 488, 489, 490, 491, 492, 500, 501, 516,
- 586, 588, 603, 622, 628, 480, 944, 945, 946, 947,
- 948, 949, 950, 951, 300, 598, 629, 596, 641, 623,
- 438, 378, 0, 0, 381, 281, 305, 320, 0, 614,
- 502, 227, 466, 290, 251, 969, 0, 211, 246, 230,
- 259, 274, 277, 324, 391, 400, 429, 434, 296, 271,
- 244, 459, 241, 485, 519, 520, 521, 523, 395, 266,
- 433, 396, 0, 376, 576, 577, 316, 0, 0, 0,
- 528, 0, 772, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 416, 0, 0, 0, 759, 0, 0, 0,
- 270, 764, 0, 0, 0, 366, 267, 0, 0, 204,
- 505, 0, 430, 0, 203, 0, 487, 252, 377, 374,
- 583, 282, 273, 269, 250, 317, 385, 428, 518, 422,
- 771, 370, 0, 0, 497, 401, 0, 0, 0, 0,
- 0, 0, 0, 0, 766, 767, 0, 0, 0, 0,
- 0, 0, 0, 0, 323, 248, 325, 202, 413, 498,
- 286, 0, 95, 0, 0, 1018, 507, 954, 743, 920,
- 958, 1019, 971, 972, 973, 959, 0, 238, 960, 961,
- 245, 962, 0, 919, 802, 804, 803, 869, 870, 871,
- 872, 873, 874, 875, 805, 806, 800, 967, 607, 974,
- 975, 0, 265, 321, 272, 264, 580, 0, 0, 0,
- 0, 0, 0, 0, 0, 229, 0, 0, 0, 0,
- 0, 0, 0, 739, 756, 0, 770, 0, 0, 0,
- 275, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 753, 754, 1064,
- 0, 0, 0, 914, 0, 755, 0, 0, 763, 976,
+ 666, 667, 668, 646, 508, 514, 509, 510, 511, 512,
+ 513, 0, 515, 916, 763, 762, 0, 769, 770, 0,
+ 799, 800, 802, 808, 809, 810, 821, 868, 869, 877,
+ 879, 880, 878, 881, 882, 883, 886, 887, 888, 889,
+ 884, 885, 890, 782, 786, 783, 784, 785, 797, 787,
+ 788, 789, 790, 791, 792, 793, 794, 795, 796, 798,
+ 939, 940, 941, 942, 943, 944, 814, 818, 817, 815,
+ 816, 812, 813, 840, 839, 841, 842, 843, 844, 845,
+ 846, 848, 847, 849, 850, 851, 852, 853, 854, 822,
+ 823, 826, 827, 825, 824, 828, 837, 838, 829, 830,
+ 831, 832, 833, 834, 836, 835, 855, 856, 857, 858,
+ 859, 861, 860, 864, 865, 863, 862, 867, 866, 761,
+ 196, 221, 368, 0, 454, 288, 647, 615, 484, 610,
+ 206, 223, 930, 262, 931, 0, 0, 935, 0, 0,
+ 0, 937, 936, 0, 938, 900, 899, 0, 0, 932,
+ 933, 0, 934, 0, 0, 198, 200, 209, 222, 232,
+ 236, 243, 261, 276, 278, 285, 298, 310, 318, 319,
+ 322, 328, 380, 386, 387, 388, 389, 409, 410, 411,
+ 414, 417, 418, 421, 423, 424, 427, 431, 435, 436,
+ 437, 439, 441, 443, 455, 460, 474, 475, 476, 477,
+ 478, 481, 482, 488, 489, 490, 491, 492, 500, 501,
+ 516, 586, 588, 603, 622, 629, 480, 945, 946, 947,
+ 948, 949, 950, 951, 952, 300, 598, 630, 596, 642,
+ 624, 438, 378, 0, 0, 381, 281, 305, 320, 0,
+ 614, 502, 227, 466, 290, 251, 970, 0, 211, 246,
+ 230, 259, 274, 277, 324, 391, 400, 429, 434, 296,
+ 271, 244, 459, 241, 485, 519, 520, 521, 523, 395,
+ 266, 433, 396, 0, 376, 576, 577, 316, 0, 0,
+ 0, 528, 0, 773, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 416, 0, 0, 0, 760, 0, 0,
+ 0, 270, 765, 0, 0, 0, 366, 267, 0, 0,
+ 204, 505, 0, 430, 0, 203, 0, 487, 252, 377,
+ 374, 583, 282, 273, 269, 250, 317, 385, 428, 518,
+ 422, 772, 370, 0, 0, 497, 401, 0, 0, 0,
+ 0, 0, 0, 0, 0, 767, 768, 0, 0, 0,
+ 0, 0, 0, 0, 0, 323, 248, 325, 202, 413,
+ 498, 286, 0, 95, 0, 0, 1019, 507, 955, 744,
+ 921, 959, 1020, 972, 973, 974, 960, 0, 238, 961,
+ 962, 245, 963, 0, 920, 803, 805, 804, 870, 871,
+ 872, 873, 874, 875, 876, 806, 807, 801, 968, 607,
+ 975, 976, 0, 265, 321, 272, 264, 580, 0, 0,
+ 0, 0, 0, 0, 0, 0, 229, 0, 0, 0,
+ 0, 0, 0, 0, 740, 757, 0, 771, 0, 0,
+ 0, 275, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 754, 755,
+ 0, 0, 0, 0, 915, 0, 756, 0, 0, 764,
977, 978, 979, 980, 981, 982, 983, 984, 985, 986,
987, 988, 989, 990, 991, 992, 993, 994, 995, 996,
997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006,
1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016,
- 1017, 765, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 297, 0, 402, 257, 0, 453, 913, 0,
- 0, 625, 0, 0, 911, 0, 0, 0, 0, 365,
- 0, 330, 197, 225, 0, 0, 412, 461, 473, 0,
- 0, 0, 964, 0, 471, 426, 602, 233, 284, 458,
- 432, 469, 440, 287, 0, 0, 470, 372, 585, 450,
- 599, 626, 627, 263, 406, 612, 522, 620, 644, 226,
- 260, 420, 506, 605, 494, 397, 581, 582, 329, 493,
- 295, 201, 369, 632, 224, 479, 371, 242, 231, 587,
- 609, 299, 289, 456, 639, 213, 517, 597, 239, 483,
- 0, 0, 647, 247, 504, 215, 594, 503, 393, 326,
- 327, 214, 0, 457, 268, 293, 0, 0, 258, 415,
- 965, 966, 256, 648, 810, 619, 220, 0, 618, 408,
- 584, 595, 394, 383, 219, 593, 392, 382, 334, 818,
- 819, 280, 307, 895, 894, 893, 306, 308, 891, 892,
- 890, 207, 606, 0, 208, 0, 499, 608, 649, 452,
+ 1017, 1018, 766, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 297, 0, 402, 257, 0, 453, 914,
+ 0, 0, 626, 0, 0, 912, 0, 0, 0, 0,
+ 365, 0, 330, 197, 225, 0, 0, 412, 461, 473,
+ 0, 0, 0, 965, 0, 471, 426, 602, 233, 284,
+ 458, 432, 469, 440, 287, 0, 0, 470, 372, 585,
+ 450, 599, 627, 628, 263, 406, 612, 522, 620, 645,
+ 226, 260, 420, 506, 605, 494, 397, 581, 582, 329,
+ 493, 295, 201, 369, 633, 224, 479, 371, 242, 231,
+ 587, 609, 299, 289, 456, 640, 213, 517, 597, 239,
+ 483, 0, 0, 648, 247, 504, 215, 594, 503, 393,
+ 326, 327, 214, 0, 457, 268, 293, 0, 0, 258,
+ 415, 966, 967, 256, 649, 811, 619, 220, 0, 618,
+ 408, 584, 595, 394, 383, 219, 593, 392, 382, 334,
+ 819, 820, 280, 307, 896, 895, 894, 306, 308, 892,
+ 893, 891, 207, 606, 623, 0, 208, 0, 499, 608,
+ 650, 452, 212, 234, 235, 237, 0, 279, 283, 291,
+ 294, 303, 304, 313, 367, 419, 446, 442, 451, 0,
+ 579, 600, 613, 625, 631, 632, 634, 635, 636, 637,
+ 638, 641, 639, 407, 311, 495, 333, 373, 0, 0,
+ 425, 472, 240, 604, 496, 902, 924, 913, 777, 778,
+ 903, 904, 928, 905, 780, 781, 925, 926, 774, 775,
+ 779, 927, 929, 651, 652, 653, 654, 655, 656, 657,
+ 658, 659, 660, 661, 662, 663, 664, 665, 666, 667,
+ 668, 646, 508, 514, 509, 510, 511, 512, 513, 0,
+ 515, 916, 763, 762, 0, 769, 770, 0, 799, 800,
+ 802, 808, 809, 810, 821, 868, 869, 877, 879, 880,
+ 878, 881, 882, 883, 886, 887, 888, 889, 884, 885,
+ 890, 782, 786, 783, 784, 785, 797, 787, 788, 789,
+ 790, 791, 792, 793, 794, 795, 796, 798, 939, 940,
+ 941, 942, 943, 944, 814, 818, 817, 815, 816, 812,
+ 813, 840, 839, 841, 842, 843, 844, 845, 846, 848,
+ 847, 849, 850, 851, 852, 853, 854, 822, 823, 826,
+ 827, 825, 824, 828, 837, 838, 829, 830, 831, 832,
+ 833, 834, 836, 835, 855, 856, 857, 858, 859, 861,
+ 860, 864, 865, 863, 862, 867, 866, 761, 196, 221,
+ 368, 0, 454, 288, 647, 615, 484, 610, 206, 223,
+ 930, 262, 931, 0, 0, 935, 0, 0, 0, 937,
+ 936, 0, 938, 900, 899, 0, 0, 932, 933, 0,
+ 934, 0, 0, 198, 200, 209, 222, 232, 236, 243,
+ 261, 276, 278, 285, 298, 310, 318, 319, 322, 328,
+ 380, 386, 387, 388, 389, 409, 410, 411, 414, 417,
+ 418, 421, 423, 424, 427, 431, 435, 436, 437, 439,
+ 441, 443, 455, 460, 474, 475, 476, 477, 478, 481,
+ 482, 488, 489, 490, 491, 492, 500, 501, 516, 586,
+ 588, 603, 622, 629, 480, 945, 946, 947, 948, 949,
+ 950, 951, 952, 300, 598, 630, 596, 642, 624, 438,
+ 378, 0, 0, 381, 281, 305, 320, 0, 614, 502,
+ 227, 466, 290, 251, 970, 0, 211, 246, 230, 259,
+ 274, 277, 324, 391, 400, 429, 434, 296, 271, 244,
+ 459, 241, 485, 519, 520, 521, 523, 395, 266, 433,
+ 396, 0, 376, 576, 577, 316, 0, 0, 0, 528,
+ 0, 773, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 416, 0, 0, 0, 760, 0, 0, 0, 270,
+ 765, 0, 0, 0, 366, 267, 0, 0, 204, 505,
+ 0, 430, 0, 203, 0, 487, 252, 377, 374, 583,
+ 282, 273, 269, 250, 317, 385, 428, 518, 422, 772,
+ 370, 0, 0, 497, 401, 0, 0, 0, 0, 0,
+ 0, 0, 0, 767, 768, 0, 0, 0, 0, 0,
+ 0, 0, 0, 323, 248, 325, 202, 413, 498, 286,
+ 0, 95, 0, 0, 1019, 507, 955, 744, 921, 959,
+ 1020, 972, 973, 974, 960, 0, 238, 961, 962, 245,
+ 963, 0, 920, 803, 805, 804, 870, 871, 872, 873,
+ 874, 875, 876, 806, 807, 801, 968, 607, 975, 976,
+ 0, 265, 321, 272, 264, 580, 0, 0, 0, 0,
+ 0, 0, 0, 0, 229, 0, 0, 0, 0, 0,
+ 0, 0, 740, 757, 0, 771, 0, 0, 0, 275,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 754, 755, 0, 0,
+ 0, 0, 915, 0, 756, 0, 0, 764, 977, 978,
+ 979, 980, 981, 982, 983, 984, 985, 986, 987, 988,
+ 989, 990, 991, 992, 993, 994, 995, 996, 997, 998,
+ 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008,
+ 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018,
+ 3163, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 297, 0, 402, 257, 0, 453, 914, 0, 0,
+ 626, 0, 0, 912, 0, 0, 0, 0, 365, 0,
+ 330, 197, 225, 0, 0, 412, 461, 473, 0, 0,
+ 0, 965, 0, 471, 426, 602, 233, 284, 458, 432,
+ 469, 440, 287, 0, 0, 470, 372, 585, 450, 599,
+ 627, 628, 263, 406, 612, 522, 620, 645, 226, 260,
+ 420, 506, 605, 494, 397, 581, 582, 329, 493, 295,
+ 201, 369, 633, 224, 479, 371, 242, 231, 587, 609,
+ 299, 289, 456, 640, 213, 517, 597, 239, 483, 0,
+ 0, 648, 247, 504, 215, 594, 503, 393, 326, 327,
+ 214, 0, 457, 268, 293, 0, 0, 258, 415, 966,
+ 967, 256, 649, 811, 619, 220, 0, 618, 408, 584,
+ 595, 394, 383, 219, 593, 392, 382, 334, 819, 820,
+ 280, 307, 896, 895, 894, 306, 308, 892, 893, 891,
+ 207, 606, 623, 0, 208, 0, 499, 608, 650, 452,
212, 234, 235, 237, 0, 279, 283, 291, 294, 303,
304, 313, 367, 419, 446, 442, 451, 0, 579, 600,
- 613, 624, 630, 631, 633, 634, 635, 636, 637, 640,
- 638, 407, 311, 495, 333, 373, 0, 0, 425, 472,
- 240, 604, 496, 901, 923, 912, 776, 777, 902, 903,
- 927, 904, 779, 780, 924, 925, 773, 774, 778, 926,
- 928, 650, 651, 652, 653, 654, 655, 656, 657, 658,
- 659, 660, 661, 662, 663, 664, 665, 666, 667, 645,
- 508, 514, 509, 510, 511, 512, 513, 0, 515, 915,
- 762, 761, 0, 768, 769, 0, 798, 799, 801, 807,
- 808, 809, 820, 867, 868, 876, 878, 879, 877, 880,
- 881, 882, 885, 886, 887, 888, 883, 884, 889, 781,
- 785, 782, 783, 784, 796, 786, 787, 788, 789, 790,
- 791, 792, 793, 794, 795, 797, 938, 939, 940, 941,
- 942, 943, 813, 817, 816, 814, 815, 811, 812, 839,
- 838, 840, 841, 842, 843, 844, 845, 847, 846, 848,
- 849, 850, 851, 852, 853, 821, 822, 825, 826, 824,
- 823, 827, 836, 837, 828, 829, 830, 831, 832, 833,
- 835, 834, 854, 855, 856, 857, 858, 860, 859, 863,
- 864, 862, 861, 866, 865, 760, 196, 221, 368, 0,
- 454, 288, 646, 615, 484, 610, 206, 223, 929, 262,
- 930, 0, 0, 934, 0, 0, 0, 936, 935, 0,
- 937, 899, 898, 0, 0, 931, 932, 0, 933, 0,
+ 613, 625, 631, 632, 634, 635, 636, 637, 638, 641,
+ 639, 407, 311, 495, 333, 373, 0, 0, 425, 472,
+ 240, 604, 496, 902, 924, 913, 777, 778, 903, 904,
+ 928, 905, 780, 781, 925, 926, 774, 775, 779, 927,
+ 929, 651, 652, 653, 654, 655, 656, 657, 658, 659,
+ 660, 661, 662, 663, 664, 665, 666, 667, 668, 646,
+ 508, 514, 509, 510, 511, 512, 513, 0, 515, 916,
+ 763, 762, 0, 769, 770, 0, 799, 800, 802, 808,
+ 809, 810, 821, 868, 869, 877, 879, 880, 878, 881,
+ 882, 883, 886, 887, 888, 889, 884, 885, 890, 782,
+ 786, 783, 784, 785, 797, 787, 788, 789, 790, 791,
+ 792, 793, 794, 795, 796, 798, 939, 940, 941, 942,
+ 943, 944, 814, 818, 817, 815, 816, 812, 813, 840,
+ 839, 841, 842, 843, 844, 845, 846, 848, 847, 849,
+ 850, 851, 852, 853, 854, 822, 823, 826, 827, 825,
+ 824, 828, 837, 838, 829, 830, 831, 832, 833, 834,
+ 836, 835, 855, 856, 857, 858, 859, 861, 860, 864,
+ 865, 863, 862, 867, 866, 761, 196, 221, 368, 0,
+ 454, 288, 647, 615, 484, 610, 206, 223, 930, 262,
+ 931, 0, 0, 935, 0, 0, 0, 937, 936, 0,
+ 938, 900, 899, 0, 0, 932, 933, 0, 934, 0,
0, 198, 200, 209, 222, 232, 236, 243, 261, 276,
278, 285, 298, 310, 318, 319, 322, 328, 380, 386,
387, 388, 389, 409, 410, 411, 414, 417, 418, 421,
423, 424, 427, 431, 435, 436, 437, 439, 441, 443,
455, 460, 474, 475, 476, 477, 478, 481, 482, 488,
489, 490, 491, 492, 500, 501, 516, 586, 588, 603,
- 622, 628, 480, 944, 945, 946, 947, 948, 949, 950,
- 951, 300, 598, 629, 596, 641, 623, 438, 378, 0,
+ 622, 629, 480, 945, 946, 947, 948, 949, 950, 951,
+ 952, 300, 598, 630, 596, 642, 624, 438, 378, 0,
0, 381, 281, 305, 320, 0, 614, 502, 227, 466,
- 290, 251, 969, 0, 211, 246, 230, 259, 274, 277,
+ 290, 251, 970, 0, 211, 246, 230, 259, 274, 277,
324, 391, 400, 429, 434, 296, 271, 244, 459, 241,
485, 519, 520, 521, 523, 395, 266, 433, 396, 0,
- 376, 576, 577, 316, 0, 0, 0, 528, 0, 772,
+ 376, 576, 577, 316, 0, 0, 0, 528, 0, 773,
0, 0, 0, 0, 0, 0, 0, 0, 0, 416,
- 0, 0, 0, 759, 0, 0, 0, 270, 764, 0,
+ 0, 0, 0, 760, 0, 0, 0, 270, 765, 0,
0, 0, 366, 267, 0, 0, 204, 505, 0, 430,
0, 203, 0, 487, 252, 377, 374, 583, 282, 273,
- 269, 250, 317, 385, 428, 518, 422, 771, 370, 0,
+ 269, 250, 317, 385, 428, 518, 422, 772, 370, 0,
0, 497, 401, 0, 0, 0, 0, 0, 0, 0,
- 0, 766, 767, 0, 0, 0, 0, 0, 0, 0,
+ 0, 767, 768, 0, 0, 0, 0, 0, 0, 0,
0, 323, 248, 325, 202, 413, 498, 286, 0, 95,
- 0, 0, 1018, 507, 954, 743, 920, 958, 1019, 971,
- 972, 973, 959, 0, 238, 960, 961, 245, 962, 0,
- 919, 802, 804, 803, 869, 870, 871, 872, 873, 874,
- 875, 805, 806, 800, 967, 607, 974, 975, 0, 265,
+ 0, 0, 1019, 507, 955, 744, 921, 959, 1020, 972,
+ 973, 974, 960, 0, 238, 961, 962, 245, 963, 0,
+ 920, 803, 805, 804, 870, 871, 872, 873, 874, 875,
+ 876, 806, 807, 801, 968, 607, 975, 976, 0, 265,
321, 272, 264, 580, 0, 0, 0, 0, 0, 0,
0, 0, 229, 0, 0, 0, 0, 0, 0, 0,
- 739, 756, 0, 770, 0, 0, 0, 275, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 753, 754, 0, 0, 0, 0,
- 914, 0, 755, 0, 0, 763, 976, 977, 978, 979,
- 980, 981, 982, 983, 984, 985, 986, 987, 988, 989,
- 990, 991, 992, 993, 994, 995, 996, 997, 998, 999,
- 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009,
- 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 765, 0,
+ 740, 757, 0, 771, 0, 0, 0, 275, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 754, 755, 0, 0, 0, 0,
+ 915, 0, 756, 0, 0, 764, 977, 978, 979, 980,
+ 981, 982, 983, 984, 985, 986, 987, 988, 989, 990,
+ 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000,
+ 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010,
+ 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 3159, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 297,
- 0, 402, 257, 0, 453, 913, 0, 0, 625, 0,
- 0, 911, 0, 0, 0, 0, 365, 0, 330, 197,
- 225, 0, 0, 412, 461, 473, 0, 0, 0, 964,
+ 0, 402, 257, 0, 453, 914, 0, 0, 626, 0,
+ 0, 912, 0, 0, 0, 0, 365, 0, 330, 197,
+ 225, 0, 0, 412, 461, 473, 0, 0, 0, 965,
0, 471, 426, 602, 233, 284, 458, 432, 469, 440,
- 287, 0, 0, 470, 372, 585, 450, 599, 626, 627,
- 263, 406, 612, 522, 620, 644, 226, 260, 420, 506,
+ 287, 0, 0, 470, 372, 585, 450, 599, 627, 628,
+ 263, 406, 612, 522, 620, 645, 226, 260, 420, 506,
605, 494, 397, 581, 582, 329, 493, 295, 201, 369,
- 632, 224, 479, 371, 242, 231, 587, 609, 299, 289,
- 456, 639, 213, 517, 597, 239, 483, 0, 0, 647,
+ 633, 224, 479, 371, 242, 231, 587, 609, 299, 289,
+ 456, 640, 213, 517, 597, 239, 483, 0, 0, 648,
247, 504, 215, 594, 503, 393, 326, 327, 214, 0,
- 457, 268, 293, 0, 0, 258, 415, 965, 966, 256,
- 648, 810, 619, 220, 0, 618, 408, 584, 595, 394,
- 383, 219, 593, 392, 382, 334, 818, 819, 280, 307,
- 895, 894, 893, 306, 308, 891, 892, 890, 207, 606,
- 0, 208, 0, 499, 608, 649, 452, 212, 234, 235,
- 237, 0, 279, 283, 291, 294, 303, 304, 313, 367,
- 419, 446, 442, 451, 0, 579, 600, 613, 624, 630,
- 631, 633, 634, 635, 636, 637, 640, 638, 407, 311,
- 495, 333, 373, 0, 0, 425, 472, 240, 604, 496,
- 901, 923, 912, 776, 777, 902, 903, 927, 904, 779,
- 780, 924, 925, 773, 774, 778, 926, 928, 650, 651,
- 652, 653, 654, 655, 656, 657, 658, 659, 660, 661,
- 662, 663, 664, 665, 666, 667, 645, 508, 514, 509,
- 510, 511, 512, 513, 0, 515, 915, 762, 761, 0,
- 768, 769, 0, 798, 799, 801, 807, 808, 809, 820,
- 867, 868, 876, 878, 879, 877, 880, 881, 882, 885,
- 886, 887, 888, 883, 884, 889, 781, 785, 782, 783,
- 784, 796, 786, 787, 788, 789, 790, 791, 792, 793,
- 794, 795, 797, 938, 939, 940, 941, 942, 943, 813,
- 817, 816, 814, 815, 811, 812, 839, 838, 840, 841,
- 842, 843, 844, 845, 847, 846, 848, 849, 850, 851,
- 852, 853, 821, 822, 825, 826, 824, 823, 827, 836,
- 837, 828, 829, 830, 831, 832, 833, 835, 834, 854,
- 855, 856, 857, 858, 860, 859, 863, 864, 862, 861,
- 866, 865, 760, 196, 221, 368, 0, 454, 288, 646,
- 615, 484, 610, 206, 223, 929, 262, 930, 0, 0,
- 934, 0, 0, 0, 936, 935, 0, 937, 899, 898,
- 0, 0, 931, 932, 0, 933, 0, 0, 198, 200,
- 209, 222, 232, 236, 243, 261, 276, 278, 285, 298,
- 310, 318, 319, 322, 328, 380, 386, 387, 388, 389,
- 409, 410, 411, 414, 417, 418, 421, 423, 424, 427,
- 431, 435, 436, 437, 439, 441, 443, 455, 460, 474,
- 475, 476, 477, 478, 481, 482, 488, 489, 490, 491,
- 492, 500, 501, 516, 586, 588, 603, 622, 628, 480,
- 944, 945, 946, 947, 948, 949, 950, 951, 300, 598,
- 629, 596, 641, 623, 438, 378, 0, 0, 381, 281,
- 305, 320, 0, 614, 502, 227, 466, 290, 251, 969,
- 0, 211, 246, 230, 259, 274, 277, 324, 391, 400,
- 429, 434, 296, 271, 244, 459, 241, 485, 519, 520,
- 521, 523, 395, 266, 433, 396, 0, 376, 576, 577,
- 316, 0, 0, 0, 528, 0, 772, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 416, 0, 0, 0,
- 759, 0, 0, 0, 270, 764, 0, 0, 0, 366,
- 267, 0, 0, 204, 505, 0, 430, 0, 203, 0,
- 487, 252, 377, 374, 583, 282, 273, 269, 250, 317,
- 385, 428, 518, 422, 771, 370, 0, 0, 497, 401,
- 0, 0, 0, 0, 0, 0, 0, 0, 766, 767,
- 0, 0, 0, 0, 0, 0, 0, 0, 323, 248,
- 325, 202, 413, 498, 286, 0, 95, 0, 0, 1018,
- 507, 954, 743, 920, 958, 1019, 971, 972, 973, 959,
- 0, 238, 960, 961, 245, 962, 0, 919, 802, 804,
- 803, 869, 870, 871, 872, 873, 874, 875, 805, 806,
- 800, 967, 607, 974, 975, 0, 265, 321, 272, 264,
- 580, 0, 0, 0, 0, 0, 0, 0, 0, 229,
- 0, 0, 0, 0, 0, 0, 0, 739, 756, 0,
- 770, 0, 0, 0, 275, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 753, 754, 0, 0, 0, 0, 914, 0, 755,
- 0, 0, 763, 976, 977, 978, 979, 980, 981, 982,
- 983, 984, 985, 986, 987, 988, 989, 990, 991, 992,
- 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002,
- 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012,
- 1013, 1014, 1015, 1016, 1017, 3158, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 297, 0, 402, 257,
- 0, 453, 913, 0, 0, 625, 0, 0, 911, 0,
- 0, 0, 0, 365, 0, 330, 197, 225, 0, 0,
- 412, 461, 473, 0, 0, 0, 964, 0, 471, 426,
- 602, 233, 284, 458, 432, 469, 440, 287, 0, 0,
- 470, 372, 585, 450, 599, 626, 627, 263, 406, 612,
- 522, 620, 644, 226, 260, 420, 506, 605, 494, 397,
- 581, 582, 329, 493, 295, 201, 369, 632, 224, 479,
- 371, 242, 231, 587, 609, 299, 289, 456, 639, 213,
- 517, 597, 239, 483, 0, 0, 647, 247, 504, 215,
- 594, 503, 393, 326, 327, 214, 0, 457, 268, 293,
- 0, 0, 258, 415, 965, 966, 256, 648, 810, 619,
- 220, 0, 618, 408, 584, 595, 394, 383, 219, 593,
- 392, 382, 334, 818, 819, 280, 307, 895, 894, 893,
- 306, 308, 891, 892, 890, 207, 606, 0, 208, 0,
- 499, 608, 649, 452, 212, 234, 235, 237, 0, 279,
- 283, 291, 294, 303, 304, 313, 367, 419, 446, 442,
- 451, 0, 579, 600, 613, 624, 630, 631, 633, 634,
- 635, 636, 637, 640, 638, 407, 311, 495, 333, 373,
- 0, 0, 425, 472, 240, 604, 496, 901, 923, 912,
- 776, 777, 902, 903, 927, 904, 779, 780, 924, 925,
- 773, 774, 778, 926, 928, 650, 651, 652, 653, 654,
- 655, 656, 657, 658, 659, 660, 661, 662, 663, 664,
- 665, 666, 667, 645, 508, 514, 509, 510, 511, 512,
- 513, 0, 515, 915, 762, 761, 0, 768, 769, 0,
- 798, 799, 801, 807, 808, 809, 820, 867, 868, 876,
- 878, 879, 877, 880, 881, 882, 885, 886, 887, 888,
- 883, 884, 889, 781, 785, 782, 783, 784, 796, 786,
- 787, 788, 789, 790, 791, 792, 793, 794, 795, 797,
- 938, 939, 940, 941, 942, 943, 813, 817, 816, 814,
- 815, 811, 812, 839, 838, 840, 841, 842, 843, 844,
- 845, 847, 846, 848, 849, 850, 851, 852, 853, 821,
- 822, 825, 826, 824, 823, 827, 836, 837, 828, 829,
- 830, 831, 832, 833, 835, 834, 854, 855, 856, 857,
- 858, 860, 859, 863, 864, 862, 861, 866, 865, 760,
- 196, 221, 368, 0, 454, 288, 646, 615, 484, 610,
- 206, 223, 929, 262, 930, 0, 0, 934, 0, 0,
- 0, 936, 935, 0, 937, 899, 898, 0, 0, 931,
- 932, 0, 933, 0, 0, 198, 200, 209, 222, 232,
- 236, 243, 261, 276, 278, 285, 298, 310, 318, 319,
- 322, 328, 380, 386, 387, 388, 389, 409, 410, 411,
- 414, 417, 418, 421, 423, 424, 427, 431, 435, 436,
- 437, 439, 441, 443, 455, 460, 474, 475, 476, 477,
- 478, 481, 482, 488, 489, 490, 491, 492, 500, 501,
- 516, 586, 588, 603, 622, 628, 480, 944, 945, 946,
- 947, 948, 949, 950, 951, 300, 598, 629, 596, 641,
- 623, 438, 378, 0, 0, 381, 281, 305, 320, 0,
- 614, 502, 227, 466, 290, 251, 969, 0, 211, 246,
- 230, 259, 274, 277, 324, 391, 400, 429, 434, 296,
- 271, 244, 459, 241, 485, 519, 520, 521, 523, 395,
- 266, 433, 396, 0, 376, 576, 577, 316, 0, 0,
- 0, 528, 0, 772, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 416, 0, 0, 0, 759, 0, 0,
- 0, 270, 764, 0, 0, 0, 366, 267, 0, 0,
- 204, 505, 0, 430, 0, 203, 0, 487, 252, 377,
- 374, 583, 282, 273, 269, 250, 317, 385, 428, 518,
- 422, 771, 370, 0, 0, 497, 401, 0, 0, 0,
- 0, 0, 0, 0, 0, 766, 767, 0, 0, 0,
- 0, 0, 0, 0, 0, 323, 248, 325, 202, 413,
- 498, 286, 0, 95, 0, 0, 1018, 507, 954, 743,
- 920, 958, 1019, 971, 972, 973, 959, 0, 238, 960,
- 961, 245, 962, 0, 919, 802, 804, 803, 869, 870,
- 871, 872, 873, 874, 875, 805, 806, 800, 967, 607,
- 974, 975, 0, 265, 321, 272, 264, 580, 0, 0,
- 0, 0, 0, 0, 0, 0, 229, 0, 0, 0,
- 0, 0, 0, 0, 739, 756, 0, 770, 0, 0,
- 0, 275, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 753, 754,
- 0, 0, 0, 0, 914, 0, 755, 0, 0, 763,
- 976, 977, 978, 979, 980, 981, 982, 983, 984, 985,
- 986, 987, 988, 989, 990, 991, 992, 993, 994, 995,
- 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005,
- 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015,
- 1016, 1017, 3154, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 297, 0, 402, 257, 0, 453, 913,
- 0, 0, 625, 0, 0, 911, 0, 0, 0, 0,
- 365, 0, 330, 197, 225, 0, 0, 412, 461, 473,
- 0, 0, 0, 964, 0, 471, 426, 602, 233, 284,
- 458, 432, 469, 440, 287, 0, 0, 470, 372, 585,
- 450, 599, 626, 627, 263, 406, 612, 522, 620, 644,
- 226, 260, 420, 506, 605, 494, 397, 581, 582, 329,
- 493, 295, 201, 369, 632, 224, 479, 371, 242, 231,
- 587, 609, 299, 289, 456, 639, 213, 517, 597, 239,
- 483, 0, 0, 647, 247, 504, 215, 594, 503, 393,
- 326, 327, 214, 0, 457, 268, 293, 0, 0, 258,
- 415, 965, 966, 256, 648, 810, 619, 220, 0, 618,
- 408, 584, 595, 394, 383, 219, 593, 392, 382, 334,
- 818, 819, 280, 307, 895, 894, 893, 306, 308, 891,
- 892, 890, 207, 606, 0, 208, 0, 499, 608, 649,
- 452, 212, 234, 235, 237, 0, 279, 283, 291, 294,
- 303, 304, 313, 367, 419, 446, 442, 451, 0, 579,
- 600, 613, 624, 630, 631, 633, 634, 635, 636, 637,
- 640, 638, 407, 311, 495, 333, 373, 0, 0, 425,
- 472, 240, 604, 496, 901, 923, 912, 776, 777, 902,
- 903, 927, 904, 779, 780, 924, 925, 773, 774, 778,
- 926, 928, 650, 651, 652, 653, 654, 655, 656, 657,
- 658, 659, 660, 661, 662, 663, 664, 665, 666, 667,
- 645, 508, 514, 509, 510, 511, 512, 513, 0, 515,
- 915, 762, 761, 0, 768, 769, 0, 798, 799, 801,
- 807, 808, 809, 820, 867, 868, 876, 878, 879, 877,
- 880, 881, 882, 885, 886, 887, 888, 883, 884, 889,
- 781, 785, 782, 783, 784, 796, 786, 787, 788, 789,
- 790, 791, 792, 793, 794, 795, 797, 938, 939, 940,
- 941, 942, 943, 813, 817, 816, 814, 815, 811, 812,
- 839, 838, 840, 841, 842, 843, 844, 845, 847, 846,
- 848, 849, 850, 851, 852, 853, 821, 822, 825, 826,
- 824, 823, 827, 836, 837, 828, 829, 830, 831, 832,
- 833, 835, 834, 854, 855, 856, 857, 858, 860, 859,
- 863, 864, 862, 861, 866, 865, 760, 196, 221, 368,
- 0, 454, 288, 646, 615, 484, 610, 206, 223, 929,
- 262, 930, 0, 0, 934, 0, 0, 0, 936, 935,
- 0, 937, 899, 898, 0, 0, 931, 932, 0, 933,
- 0, 0, 198, 200, 209, 222, 232, 236, 243, 261,
- 276, 278, 285, 298, 310, 318, 319, 322, 328, 380,
- 386, 387, 388, 389, 409, 410, 411, 414, 417, 418,
- 421, 423, 424, 427, 431, 435, 436, 437, 439, 441,
- 443, 455, 460, 474, 475, 476, 477, 478, 481, 482,
- 488, 489, 490, 491, 492, 500, 501, 516, 586, 588,
- 603, 622, 628, 480, 944, 945, 946, 947, 948, 949,
- 950, 951, 300, 598, 629, 596, 641, 623, 438, 378,
- 0, 0, 381, 281, 305, 320, 0, 614, 502, 227,
- 466, 290, 251, 969, 0, 211, 246, 230, 259, 274,
- 277, 324, 391, 400, 429, 434, 296, 271, 244, 459,
- 241, 485, 519, 520, 521, 523, 395, 266, 433, 396,
- 0, 376, 576, 577, 316, 0, 0, 0, 528, 0,
- 772, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 416, 0, 0, 0, 759, 0, 0, 0, 270, 764,
- 0, 0, 0, 366, 267, 0, 0, 204, 505, 0,
- 430, 0, 203, 0, 487, 252, 377, 374, 583, 282,
- 273, 269, 250, 317, 385, 428, 518, 422, 771, 370,
- 0, 0, 497, 401, 0, 0, 0, 0, 0, 0,
- 0, 0, 766, 767, 0, 0, 0, 0, 0, 0,
- 0, 0, 323, 248, 325, 202, 413, 498, 286, 0,
- 95, 0, 0, 1018, 507, 954, 1085, 920, 958, 1019,
- 971, 972, 973, 959, 0, 238, 960, 961, 245, 962,
- 0, 919, 802, 804, 803, 869, 870, 871, 872, 873,
- 874, 875, 805, 806, 800, 967, 607, 974, 975, 0,
- 265, 321, 272, 264, 580, 0, 0, 0, 0, 0,
- 0, 0, 0, 229, 0, 0, 0, 0, 0, 0,
- 0, 0, 756, 0, 770, 0, 0, 0, 275, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 753, 754, 0, 0, 0,
- 0, 914, 0, 755, 0, 0, 763, 976, 977, 978,
- 979, 980, 981, 982, 983, 984, 985, 986, 987, 988,
- 989, 990, 991, 992, 993, 994, 995, 996, 997, 998,
- 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008,
- 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 765,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 297, 0, 402, 257, 0, 453, 913, 0, 0, 625,
- 0, 0, 911, 0, 0, 0, 0, 365, 0, 330,
- 197, 225, 0, 0, 412, 461, 473, 0, 0, 0,
- 964, 0, 471, 426, 602, 233, 284, 458, 432, 469,
- 440, 287, 0, 0, 470, 372, 585, 450, 599, 626,
- 627, 263, 406, 612, 522, 620, 644, 226, 260, 420,
- 506, 605, 494, 397, 581, 582, 329, 493, 295, 201,
- 369, 632, 224, 479, 371, 242, 231, 587, 609, 299,
- 289, 456, 639, 213, 517, 597, 239, 483, 0, 0,
- 647, 247, 504, 215, 594, 503, 393, 326, 327, 214,
- 0, 457, 268, 293, 0, 0, 258, 415, 965, 966,
- 256, 648, 810, 619, 220, 0, 618, 408, 584, 595,
- 394, 383, 219, 593, 392, 382, 334, 818, 819, 280,
- 307, 895, 894, 893, 306, 308, 891, 892, 890, 207,
- 606, 0, 208, 0, 499, 608, 649, 452, 212, 234,
+ 457, 268, 293, 0, 0, 258, 415, 966, 967, 256,
+ 649, 811, 619, 220, 0, 618, 408, 584, 595, 394,
+ 383, 219, 593, 392, 382, 334, 819, 820, 280, 307,
+ 896, 895, 894, 306, 308, 892, 893, 891, 207, 606,
+ 623, 0, 208, 0, 499, 608, 650, 452, 212, 234,
235, 237, 0, 279, 283, 291, 294, 303, 304, 313,
- 367, 419, 446, 442, 451, 0, 579, 600, 613, 624,
- 630, 631, 633, 634, 635, 636, 637, 640, 638, 407,
+ 367, 419, 446, 442, 451, 0, 579, 600, 613, 625,
+ 631, 632, 634, 635, 636, 637, 638, 641, 639, 407,
311, 495, 333, 373, 0, 0, 425, 472, 240, 604,
- 496, 901, 923, 912, 776, 777, 902, 903, 927, 904,
- 779, 780, 924, 925, 773, 774, 778, 926, 928, 650,
- 651, 652, 653, 654, 655, 656, 657, 658, 659, 660,
- 661, 662, 663, 664, 665, 666, 667, 645, 508, 514,
- 509, 510, 511, 512, 513, 0, 515, 915, 762, 761,
- 0, 768, 769, 0, 798, 799, 801, 807, 808, 809,
- 820, 867, 868, 876, 878, 879, 877, 880, 881, 882,
- 885, 886, 887, 888, 883, 884, 889, 781, 785, 782,
- 783, 784, 796, 786, 787, 788, 789, 790, 791, 792,
- 793, 794, 795, 797, 938, 939, 940, 941, 942, 943,
- 813, 817, 816, 814, 815, 811, 812, 839, 838, 840,
- 841, 842, 843, 844, 845, 847, 846, 848, 849, 850,
- 851, 852, 853, 821, 822, 825, 826, 824, 823, 827,
- 836, 837, 828, 829, 830, 831, 832, 833, 835, 834,
- 854, 855, 856, 857, 858, 860, 859, 863, 864, 862,
- 861, 866, 865, 760, 196, 221, 368, 0, 454, 288,
- 646, 615, 484, 610, 206, 223, 929, 262, 930, 0,
- 0, 934, 0, 0, 0, 936, 935, 0, 937, 899,
- 898, 0, 0, 931, 932, 0, 933, 0, 0, 198,
+ 496, 902, 924, 913, 777, 778, 903, 904, 928, 905,
+ 780, 781, 925, 926, 774, 775, 779, 927, 929, 651,
+ 652, 653, 654, 655, 656, 657, 658, 659, 660, 661,
+ 662, 663, 664, 665, 666, 667, 668, 646, 508, 514,
+ 509, 510, 511, 512, 513, 0, 515, 916, 763, 762,
+ 0, 769, 770, 0, 799, 800, 802, 808, 809, 810,
+ 821, 868, 869, 877, 879, 880, 878, 881, 882, 883,
+ 886, 887, 888, 889, 884, 885, 890, 782, 786, 783,
+ 784, 785, 797, 787, 788, 789, 790, 791, 792, 793,
+ 794, 795, 796, 798, 939, 940, 941, 942, 943, 944,
+ 814, 818, 817, 815, 816, 812, 813, 840, 839, 841,
+ 842, 843, 844, 845, 846, 848, 847, 849, 850, 851,
+ 852, 853, 854, 822, 823, 826, 827, 825, 824, 828,
+ 837, 838, 829, 830, 831, 832, 833, 834, 836, 835,
+ 855, 856, 857, 858, 859, 861, 860, 864, 865, 863,
+ 862, 867, 866, 761, 196, 221, 368, 0, 454, 288,
+ 647, 615, 484, 610, 206, 223, 930, 262, 931, 0,
+ 0, 935, 0, 0, 0, 937, 936, 0, 938, 900,
+ 899, 0, 0, 932, 933, 0, 934, 0, 0, 198,
200, 209, 222, 232, 236, 243, 261, 276, 278, 285,
298, 310, 318, 319, 322, 328, 380, 386, 387, 388,
389, 409, 410, 411, 414, 417, 418, 421, 423, 424,
427, 431, 435, 436, 437, 439, 441, 443, 455, 460,
474, 475, 476, 477, 478, 481, 482, 488, 489, 490,
- 491, 492, 500, 501, 516, 586, 588, 603, 622, 628,
- 480, 944, 945, 946, 947, 948, 949, 950, 951, 300,
- 598, 629, 596, 641, 623, 438, 378, 0, 0, 381,
+ 491, 492, 500, 501, 516, 586, 588, 603, 622, 629,
+ 480, 945, 946, 947, 948, 949, 950, 951, 952, 300,
+ 598, 630, 596, 642, 624, 438, 378, 0, 0, 381,
281, 305, 320, 0, 614, 502, 227, 466, 290, 251,
- 969, 0, 211, 246, 230, 259, 274, 277, 324, 391,
+ 970, 0, 211, 246, 230, 259, 274, 277, 324, 391,
400, 429, 434, 296, 271, 244, 459, 241, 485, 519,
520, 521, 523, 395, 266, 433, 396, 0, 376, 576,
- 577, 316, 0, 0, 0, 528, 0, 772, 0, 0,
+ 577, 316, 0, 0, 0, 528, 0, 773, 0, 0,
0, 0, 0, 0, 0, 0, 0, 416, 0, 0,
- 0, 759, 0, 0, 0, 270, 764, 0, 0, 0,
+ 0, 760, 0, 0, 0, 270, 765, 0, 0, 0,
366, 267, 0, 0, 204, 505, 0, 430, 0, 203,
0, 487, 252, 377, 374, 583, 282, 273, 269, 250,
- 317, 385, 428, 518, 422, 771, 370, 0, 0, 497,
- 401, 0, 0, 0, 0, 0, 0, 0, 0, 766,
- 767, 0, 0, 0, 0, 0, 0, 0, 0, 323,
+ 317, 385, 428, 518, 422, 772, 370, 0, 0, 497,
+ 401, 0, 0, 0, 0, 0, 0, 0, 0, 767,
+ 768, 0, 0, 0, 0, 0, 0, 0, 0, 323,
248, 325, 202, 413, 498, 286, 0, 95, 0, 0,
- 1018, 507, 954, 1085, 920, 958, 1019, 971, 972, 973,
- 959, 0, 238, 960, 961, 245, 962, 0, 919, 802,
- 804, 803, 869, 870, 871, 872, 873, 874, 875, 805,
- 806, 800, 967, 607, 974, 975, 0, 265, 321, 272,
+ 1019, 507, 955, 1086, 921, 959, 1020, 972, 973, 974,
+ 960, 0, 238, 961, 962, 245, 963, 0, 920, 803,
+ 805, 804, 870, 871, 872, 873, 874, 875, 876, 806,
+ 807, 801, 968, 607, 975, 976, 0, 265, 321, 272,
264, 580, 0, 0, 0, 0, 0, 0, 0, 0,
- 229, 0, 0, 0, 0, 0, 0, 0, 0, 756,
- 0, 770, 0, 0, 0, 275, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 753, 754, 0, 0, 0, 0, 914, 0,
- 755, 0, 0, 763, 976, 977, 978, 979, 980, 981,
- 982, 983, 984, 985, 986, 987, 988, 989, 990, 991,
- 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001,
- 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011,
- 1012, 1013, 1014, 1015, 1016, 1017, 2112, 0, 0, 0,
+ 229, 0, 0, 0, 0, 0, 0, 0, 0, 757,
+ 0, 771, 0, 0, 0, 275, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 754, 755, 0, 0, 0, 0, 915, 0,
+ 756, 0, 0, 764, 977, 978, 979, 980, 981, 982,
+ 983, 984, 985, 986, 987, 988, 989, 990, 991, 992,
+ 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002,
+ 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012,
+ 1013, 1014, 1015, 1016, 1017, 1018, 766, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 297, 0, 402,
- 257, 0, 453, 913, 0, 0, 625, 0, 0, 911,
+ 257, 0, 453, 914, 0, 0, 626, 0, 0, 912,
0, 0, 0, 0, 365, 0, 330, 197, 225, 0,
- 0, 412, 461, 473, 0, 0, 0, 964, 0, 471,
+ 0, 412, 461, 473, 0, 0, 0, 965, 0, 471,
426, 602, 233, 284, 458, 432, 469, 440, 287, 0,
- 0, 470, 372, 585, 450, 599, 626, 627, 263, 406,
- 612, 522, 620, 644, 226, 260, 420, 506, 605, 494,
- 397, 581, 582, 329, 493, 295, 201, 369, 632, 224,
- 479, 371, 242, 231, 587, 609, 299, 289, 456, 639,
- 213, 517, 597, 239, 483, 0, 0, 647, 247, 504,
+ 0, 470, 372, 585, 450, 599, 627, 628, 263, 406,
+ 612, 522, 620, 645, 226, 260, 420, 506, 605, 494,
+ 397, 581, 582, 329, 493, 295, 201, 369, 633, 224,
+ 479, 371, 242, 231, 587, 609, 299, 289, 456, 640,
+ 213, 517, 597, 239, 483, 0, 0, 648, 247, 504,
215, 594, 503, 393, 326, 327, 214, 0, 457, 268,
- 293, 0, 0, 258, 415, 965, 966, 256, 648, 810,
+ 293, 0, 0, 258, 415, 966, 967, 256, 649, 811,
619, 220, 0, 618, 408, 584, 595, 394, 383, 219,
- 593, 392, 382, 334, 818, 819, 280, 307, 895, 894,
- 893, 306, 308, 891, 892, 890, 207, 606, 0, 208,
- 0, 499, 608, 649, 452, 212, 234, 235, 237, 0,
- 279, 283, 291, 294, 303, 304, 313, 367, 419, 446,
- 442, 451, 0, 579, 600, 613, 624, 630, 631, 633,
- 634, 635, 636, 637, 640, 638, 407, 311, 495, 333,
- 373, 0, 0, 425, 472, 240, 604, 496, 901, 923,
- 912, 776, 777, 902, 903, 927, 904, 779, 780, 924,
- 925, 773, 774, 778, 926, 928, 650, 651, 652, 653,
+ 593, 392, 382, 334, 819, 820, 280, 307, 896, 895,
+ 894, 306, 308, 892, 893, 891, 207, 606, 623, 0,
+ 208, 0, 499, 608, 650, 452, 212, 234, 235, 237,
+ 0, 279, 283, 291, 294, 303, 304, 313, 367, 419,
+ 446, 442, 451, 0, 579, 600, 613, 625, 631, 632,
+ 634, 635, 636, 637, 638, 641, 639, 407, 311, 495,
+ 333, 373, 0, 0, 425, 472, 240, 604, 496, 902,
+ 924, 913, 777, 778, 903, 904, 928, 905, 780, 781,
+ 925, 926, 774, 775, 779, 927, 929, 651, 652, 653,
654, 655, 656, 657, 658, 659, 660, 661, 662, 663,
- 664, 665, 666, 667, 645, 508, 514, 509, 510, 511,
- 512, 513, 0, 515, 915, 762, 761, 0, 768, 769,
- 0, 798, 799, 801, 807, 808, 809, 820, 867, 868,
- 876, 878, 879, 877, 880, 881, 882, 885, 886, 887,
- 888, 883, 884, 889, 781, 785, 782, 783, 784, 796,
- 786, 787, 788, 789, 790, 791, 792, 793, 794, 795,
- 797, 938, 939, 940, 941, 942, 943, 813, 817, 816,
- 814, 815, 811, 812, 839, 838, 840, 841, 842, 843,
- 844, 845, 847, 846, 848, 849, 850, 851, 852, 853,
- 821, 822, 825, 826, 824, 823, 827, 836, 837, 828,
- 829, 830, 831, 832, 833, 835, 834, 854, 855, 856,
- 857, 858, 860, 859, 863, 864, 862, 861, 866, 865,
- 760, 196, 221, 368, 0, 454, 288, 646, 615, 484,
- 610, 206, 223, 929, 262, 930, 0, 0, 934, 0,
- 0, 0, 936, 935, 0, 937, 899, 898, 0, 0,
- 931, 932, 0, 933, 0, 0, 198, 200, 209, 222,
- 232, 236, 243, 261, 276, 278, 285, 298, 310, 318,
- 319, 322, 328, 380, 386, 387, 388, 389, 409, 410,
- 411, 414, 417, 418, 421, 423, 424, 427, 431, 435,
- 436, 437, 439, 441, 443, 455, 460, 474, 475, 476,
- 477, 478, 481, 482, 488, 489, 490, 491, 492, 500,
- 501, 516, 586, 588, 603, 622, 628, 480, 944, 945,
- 946, 947, 948, 949, 950, 951, 300, 598, 629, 596,
- 641, 623, 438, 378, 0, 0, 381, 281, 305, 320,
- 0, 614, 502, 227, 466, 290, 251, 969, 0, 211,
- 246, 230, 259, 274, 277, 324, 391, 400, 429, 434,
- 296, 271, 244, 459, 241, 485, 519, 520, 521, 523,
- 395, 266, 433, 396, 0, 376, 576, 577, 316, 0,
- 0, 0, 528, 0, 772, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 416, 0, 0, 0, 759, 0,
- 0, 0, 270, 764, 0, 0, 0, 366, 267, 0,
- 0, 204, 505, 0, 430, 0, 203, 0, 487, 252,
- 377, 374, 583, 282, 273, 269, 250, 317, 385, 428,
- 518, 422, 771, 370, 0, 0, 497, 401, 0, 0,
- 0, 0, 0, 0, 0, 0, 766, 767, 0, 0,
- 0, 0, 0, 0, 0, 0, 323, 248, 325, 202,
- 413, 498, 286, 0, 95, 0, 0, 1018, 507, 954,
- 1085, 920, 958, 1019, 971, 972, 973, 959, 0, 238,
- 960, 961, 245, 962, 0, 919, 802, 804, 803, 869,
- 870, 871, 872, 873, 874, 875, 805, 806, 800, 967,
- 607, 974, 975, 0, 265, 321, 272, 264, 580, 0,
- 0, 0, 0, 0, 0, 0, 0, 229, 0, 0,
- 0, 0, 0, 0, 0, 0, 756, 0, 770, 0,
- 0, 0, 275, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 753,
- 754, 0, 0, 0, 0, 914, 0, 755, 0, 0,
- 763, 976, 977, 978, 979, 980, 981, 982, 983, 984,
+ 664, 665, 666, 667, 668, 646, 508, 514, 509, 510,
+ 511, 512, 513, 0, 515, 916, 763, 762, 0, 769,
+ 770, 0, 799, 800, 802, 808, 809, 810, 821, 868,
+ 869, 877, 879, 880, 878, 881, 882, 883, 886, 887,
+ 888, 889, 884, 885, 890, 782, 786, 783, 784, 785,
+ 797, 787, 788, 789, 790, 791, 792, 793, 794, 795,
+ 796, 798, 939, 940, 941, 942, 943, 944, 814, 818,
+ 817, 815, 816, 812, 813, 840, 839, 841, 842, 843,
+ 844, 845, 846, 848, 847, 849, 850, 851, 852, 853,
+ 854, 822, 823, 826, 827, 825, 824, 828, 837, 838,
+ 829, 830, 831, 832, 833, 834, 836, 835, 855, 856,
+ 857, 858, 859, 861, 860, 864, 865, 863, 862, 867,
+ 866, 761, 196, 221, 368, 0, 454, 288, 647, 615,
+ 484, 610, 206, 223, 930, 262, 931, 0, 0, 935,
+ 0, 0, 0, 937, 936, 0, 938, 900, 899, 0,
+ 0, 932, 933, 0, 934, 0, 0, 198, 200, 209,
+ 222, 232, 236, 243, 261, 276, 278, 285, 298, 310,
+ 318, 319, 322, 328, 380, 386, 387, 388, 389, 409,
+ 410, 411, 414, 417, 418, 421, 423, 424, 427, 431,
+ 435, 436, 437, 439, 441, 443, 455, 460, 474, 475,
+ 476, 477, 478, 481, 482, 488, 489, 490, 491, 492,
+ 500, 501, 516, 586, 588, 603, 622, 629, 480, 945,
+ 946, 947, 948, 949, 950, 951, 952, 300, 598, 630,
+ 596, 642, 624, 438, 378, 0, 0, 381, 281, 305,
+ 320, 0, 614, 502, 227, 466, 290, 251, 970, 0,
+ 211, 246, 230, 259, 274, 277, 324, 391, 400, 429,
+ 434, 296, 271, 244, 459, 241, 485, 519, 520, 521,
+ 523, 395, 266, 433, 396, 0, 376, 576, 577, 316,
+ 0, 0, 0, 528, 0, 773, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 416, 0, 0, 0, 760,
+ 0, 0, 0, 270, 765, 0, 0, 0, 366, 267,
+ 0, 0, 204, 505, 0, 430, 0, 203, 0, 487,
+ 252, 377, 374, 583, 282, 273, 269, 250, 317, 385,
+ 428, 518, 422, 772, 370, 0, 0, 497, 401, 0,
+ 0, 0, 0, 0, 0, 0, 0, 767, 768, 0,
+ 0, 0, 0, 0, 0, 0, 0, 323, 248, 325,
+ 202, 413, 498, 286, 0, 95, 0, 0, 1019, 507,
+ 955, 1086, 921, 959, 1020, 972, 973, 974, 960, 0,
+ 238, 961, 962, 245, 963, 0, 920, 803, 805, 804,
+ 870, 871, 872, 873, 874, 875, 876, 806, 807, 801,
+ 968, 607, 975, 976, 0, 265, 321, 272, 264, 580,
+ 0, 0, 0, 0, 0, 0, 0, 0, 229, 0,
+ 0, 0, 0, 0, 0, 0, 0, 757, 0, 771,
+ 0, 0, 0, 275, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 754, 755, 0, 0, 0, 0, 915, 0, 756, 0,
+ 0, 764, 977, 978, 979, 980, 981, 982, 983, 984,
985, 986, 987, 988, 989, 990, 991, 992, 993, 994,
995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004,
1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014,
- 1015, 1016, 1017, 2110, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 297, 0, 402, 257, 0, 453,
- 913, 0, 0, 625, 0, 0, 911, 0, 0, 0,
- 0, 365, 0, 330, 197, 225, 0, 0, 412, 461,
- 473, 0, 0, 0, 964, 0, 471, 426, 602, 233,
- 284, 458, 432, 469, 440, 287, 0, 0, 470, 372,
- 585, 450, 599, 626, 627, 263, 406, 612, 522, 620,
- 644, 226, 260, 420, 506, 605, 494, 397, 581, 582,
- 329, 493, 295, 201, 369, 632, 224, 479, 371, 242,
- 231, 587, 609, 299, 289, 456, 639, 213, 517, 597,
- 239, 483, 0, 0, 647, 247, 504, 215, 594, 503,
- 393, 326, 327, 214, 0, 457, 268, 293, 0, 0,
- 258, 415, 965, 966, 256, 648, 810, 619, 220, 0,
- 618, 408, 584, 595, 394, 383, 219, 593, 392, 382,
- 334, 818, 819, 280, 307, 895, 894, 893, 306, 308,
- 891, 892, 890, 207, 606, 0, 208, 0, 499, 608,
- 649, 452, 212, 234, 235, 237, 0, 279, 283, 291,
+ 1015, 1016, 1017, 1018, 2115, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 297, 0, 402, 257, 0,
+ 453, 914, 0, 0, 626, 0, 0, 912, 0, 0,
+ 0, 0, 365, 0, 330, 197, 225, 0, 0, 412,
+ 461, 473, 0, 0, 0, 965, 0, 471, 426, 602,
+ 233, 284, 458, 432, 469, 440, 287, 0, 0, 470,
+ 372, 585, 450, 599, 627, 628, 263, 406, 612, 522,
+ 620, 645, 226, 260, 420, 506, 605, 494, 397, 581,
+ 582, 329, 493, 295, 201, 369, 633, 224, 479, 371,
+ 242, 231, 587, 609, 299, 289, 456, 640, 213, 517,
+ 597, 239, 483, 0, 0, 648, 247, 504, 215, 594,
+ 503, 393, 326, 327, 214, 0, 457, 268, 293, 0,
+ 0, 258, 415, 966, 967, 256, 649, 811, 619, 220,
+ 0, 618, 408, 584, 595, 394, 383, 219, 593, 392,
+ 382, 334, 819, 820, 280, 307, 896, 895, 894, 306,
+ 308, 892, 893, 891, 207, 606, 623, 0, 208, 0,
+ 499, 608, 650, 452, 212, 234, 235, 237, 0, 279,
+ 283, 291, 294, 303, 304, 313, 367, 419, 446, 442,
+ 451, 0, 579, 600, 613, 625, 631, 632, 634, 635,
+ 636, 637, 638, 641, 639, 407, 311, 495, 333, 373,
+ 0, 0, 425, 472, 240, 604, 496, 902, 924, 913,
+ 777, 778, 903, 904, 928, 905, 780, 781, 925, 926,
+ 774, 775, 779, 927, 929, 651, 652, 653, 654, 655,
+ 656, 657, 658, 659, 660, 661, 662, 663, 664, 665,
+ 666, 667, 668, 646, 508, 514, 509, 510, 511, 512,
+ 513, 0, 515, 916, 763, 762, 0, 769, 770, 0,
+ 799, 800, 802, 808, 809, 810, 821, 868, 869, 877,
+ 879, 880, 878, 881, 882, 883, 886, 887, 888, 889,
+ 884, 885, 890, 782, 786, 783, 784, 785, 797, 787,
+ 788, 789, 790, 791, 792, 793, 794, 795, 796, 798,
+ 939, 940, 941, 942, 943, 944, 814, 818, 817, 815,
+ 816, 812, 813, 840, 839, 841, 842, 843, 844, 845,
+ 846, 848, 847, 849, 850, 851, 852, 853, 854, 822,
+ 823, 826, 827, 825, 824, 828, 837, 838, 829, 830,
+ 831, 832, 833, 834, 836, 835, 855, 856, 857, 858,
+ 859, 861, 860, 864, 865, 863, 862, 867, 866, 761,
+ 196, 221, 368, 0, 454, 288, 647, 615, 484, 610,
+ 206, 223, 930, 262, 931, 0, 0, 935, 0, 0,
+ 0, 937, 936, 0, 938, 900, 899, 0, 0, 932,
+ 933, 0, 934, 0, 0, 198, 200, 209, 222, 232,
+ 236, 243, 261, 276, 278, 285, 298, 310, 318, 319,
+ 322, 328, 380, 386, 387, 388, 389, 409, 410, 411,
+ 414, 417, 418, 421, 423, 424, 427, 431, 435, 436,
+ 437, 439, 441, 443, 455, 460, 474, 475, 476, 477,
+ 478, 481, 482, 488, 489, 490, 491, 492, 500, 501,
+ 516, 586, 588, 603, 622, 629, 480, 945, 946, 947,
+ 948, 949, 950, 951, 952, 300, 598, 630, 596, 642,
+ 624, 438, 378, 0, 0, 381, 281, 305, 320, 0,
+ 614, 502, 227, 466, 290, 251, 970, 0, 211, 246,
+ 230, 259, 274, 277, 324, 391, 400, 429, 434, 296,
+ 271, 244, 459, 241, 485, 519, 520, 521, 523, 395,
+ 266, 433, 396, 0, 376, 576, 577, 316, 0, 0,
+ 0, 528, 0, 773, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 416, 0, 0, 0, 760, 0, 0,
+ 0, 270, 765, 0, 0, 0, 366, 267, 0, 0,
+ 204, 505, 0, 430, 0, 203, 0, 487, 252, 377,
+ 374, 583, 282, 273, 269, 250, 317, 385, 428, 518,
+ 422, 772, 370, 0, 0, 497, 401, 0, 0, 0,
+ 0, 0, 0, 0, 0, 767, 768, 0, 0, 0,
+ 0, 0, 0, 0, 0, 323, 248, 325, 202, 413,
+ 498, 286, 0, 95, 0, 0, 1019, 507, 955, 1086,
+ 921, 959, 1020, 972, 973, 974, 960, 0, 238, 961,
+ 962, 245, 963, 0, 920, 803, 805, 804, 870, 871,
+ 872, 873, 874, 875, 876, 806, 807, 801, 968, 607,
+ 975, 976, 0, 265, 321, 272, 264, 580, 0, 0,
+ 0, 0, 0, 0, 0, 0, 229, 0, 0, 0,
+ 0, 0, 0, 0, 0, 757, 0, 771, 0, 0,
+ 0, 275, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 754, 755,
+ 0, 0, 0, 0, 915, 0, 756, 0, 0, 764,
+ 977, 978, 979, 980, 981, 982, 983, 984, 985, 986,
+ 987, 988, 989, 990, 991, 992, 993, 994, 995, 996,
+ 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006,
+ 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016,
+ 1017, 1018, 2113, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 297, 0, 402, 257, 0, 453, 914,
+ 0, 0, 626, 0, 0, 912, 0, 0, 0, 0,
+ 365, 0, 330, 197, 225, 0, 0, 412, 461, 473,
+ 0, 0, 0, 965, 0, 471, 426, 602, 233, 284,
+ 458, 432, 469, 440, 287, 0, 0, 470, 372, 585,
+ 450, 599, 627, 628, 263, 406, 612, 522, 620, 645,
+ 226, 260, 420, 506, 605, 494, 397, 581, 582, 329,
+ 493, 295, 201, 369, 633, 224, 479, 371, 242, 231,
+ 587, 609, 299, 289, 456, 640, 213, 517, 597, 239,
+ 483, 0, 0, 648, 247, 504, 215, 594, 503, 393,
+ 326, 327, 214, 0, 457, 268, 293, 0, 0, 258,
+ 415, 966, 967, 256, 649, 811, 619, 220, 0, 618,
+ 408, 584, 595, 394, 383, 219, 593, 392, 382, 334,
+ 819, 820, 280, 307, 896, 895, 894, 306, 308, 892,
+ 893, 891, 207, 606, 623, 0, 208, 0, 499, 608,
+ 650, 452, 212, 234, 235, 237, 0, 279, 283, 291,
294, 303, 304, 313, 367, 419, 446, 442, 451, 0,
- 579, 600, 613, 624, 630, 631, 633, 634, 635, 636,
- 637, 640, 638, 407, 311, 495, 333, 373, 0, 0,
- 425, 472, 240, 604, 496, 901, 923, 912, 776, 777,
- 902, 903, 927, 904, 779, 780, 924, 925, 773, 774,
- 778, 926, 928, 650, 651, 652, 653, 654, 655, 656,
- 657, 658, 659, 660, 661, 662, 663, 664, 665, 666,
- 667, 645, 508, 514, 509, 510, 511, 512, 513, 0,
- 515, 915, 762, 761, 0, 768, 769, 0, 798, 799,
- 801, 807, 808, 809, 820, 867, 868, 876, 878, 879,
- 877, 880, 881, 882, 885, 886, 887, 888, 883, 884,
- 889, 781, 785, 782, 783, 784, 796, 786, 787, 788,
- 789, 790, 791, 792, 793, 794, 795, 797, 938, 939,
- 940, 941, 942, 943, 813, 817, 816, 814, 815, 811,
- 812, 839, 838, 840, 841, 842, 843, 844, 845, 847,
- 846, 848, 849, 850, 851, 852, 853, 821, 822, 825,
- 826, 824, 823, 827, 836, 837, 828, 829, 830, 831,
- 832, 833, 835, 834, 854, 855, 856, 857, 858, 860,
- 859, 863, 864, 862, 861, 866, 865, 760, 196, 221,
- 368, 0, 454, 288, 646, 615, 484, 610, 206, 223,
- 929, 262, 930, 0, 0, 934, 0, 0, 0, 936,
- 935, 0, 937, 899, 898, 0, 0, 931, 932, 0,
- 933, 0, 0, 198, 200, 209, 222, 232, 236, 243,
+ 579, 600, 613, 625, 631, 632, 634, 635, 636, 637,
+ 638, 641, 639, 407, 311, 495, 333, 373, 0, 0,
+ 425, 472, 240, 604, 496, 902, 924, 913, 777, 778,
+ 903, 904, 928, 905, 780, 781, 925, 926, 774, 775,
+ 779, 927, 929, 651, 652, 653, 654, 655, 656, 657,
+ 658, 659, 660, 661, 662, 663, 664, 665, 666, 667,
+ 668, 646, 508, 514, 509, 510, 511, 512, 513, 0,
+ 515, 916, 763, 762, 0, 769, 770, 0, 799, 800,
+ 802, 808, 809, 810, 821, 868, 869, 877, 879, 880,
+ 878, 881, 882, 883, 886, 887, 888, 889, 884, 885,
+ 890, 782, 786, 783, 784, 785, 797, 787, 788, 789,
+ 790, 791, 792, 793, 794, 795, 796, 798, 939, 940,
+ 941, 942, 943, 944, 814, 818, 817, 815, 816, 812,
+ 813, 840, 839, 841, 842, 843, 844, 845, 846, 848,
+ 847, 849, 850, 851, 852, 853, 854, 822, 823, 826,
+ 827, 825, 824, 828, 837, 838, 829, 830, 831, 832,
+ 833, 834, 836, 835, 855, 856, 857, 858, 859, 861,
+ 860, 864, 865, 863, 862, 867, 866, 761, 196, 221,
+ 368, 0, 454, 288, 647, 615, 484, 610, 206, 223,
+ 930, 262, 931, 0, 0, 935, 0, 0, 0, 937,
+ 936, 0, 938, 900, 899, 0, 0, 932, 933, 0,
+ 934, 0, 0, 198, 200, 209, 222, 232, 236, 243,
261, 276, 278, 285, 298, 310, 318, 319, 322, 328,
380, 386, 387, 388, 389, 409, 410, 411, 414, 417,
418, 421, 423, 424, 427, 431, 435, 436, 437, 439,
441, 443, 455, 460, 474, 475, 476, 477, 478, 481,
482, 488, 489, 490, 491, 492, 500, 501, 516, 586,
- 588, 603, 622, 628, 480, 944, 945, 946, 947, 948,
- 949, 950, 951, 300, 598, 629, 596, 641, 623, 438,
+ 588, 603, 622, 629, 480, 945, 946, 947, 948, 949,
+ 950, 951, 952, 300, 598, 630, 596, 642, 624, 438,
378, 0, 0, 381, 281, 305, 320, 0, 614, 502,
- 227, 466, 290, 251, 969, 0, 211, 246, 230, 259,
+ 227, 466, 290, 251, 970, 0, 211, 246, 230, 259,
274, 277, 324, 391, 400, 429, 434, 296, 271, 244,
459, 241, 485, 519, 520, 521, 523, 395, 266, 433,
396, 0, 376, 576, 577, 316, 0, 0, 0, 528,
@@ -4296,12 +4304,12 @@ var yyAct = [...]int{
370, 0, 0, 497, 401, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 323, 248, 325, 202, 413, 498, 286,
- 0, 0, 0, 0, 0, 507, 719, 0, 0, 0,
+ 0, 0, 0, 0, 0, 507, 720, 0, 0, 0,
0, 0, 0, 0, 0, 0, 238, 0, 0, 245,
0, 0, 0, 351, 360, 359, 339, 340, 342, 344,
350, 357, 363, 336, 345, 0, 0, 607, 0, 0,
0, 265, 321, 272, 264, 580, 0, 0, 0, 0,
- 0, 0, 0, 0, 229, 0, 1136, 0, 0, 0,
+ 0, 0, 0, 0, 229, 0, 1137, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 275,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4311,146 +4319,1844 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 297, 0, 402, 257, 0, 453, 0, 0, 1135,
- 625, 0, 0, 0, 0, 0, 1132, 1133, 365, 1093,
- 330, 197, 225, 1126, 1130, 412, 461, 473, 0, 0,
+ 0, 297, 0, 402, 257, 0, 453, 0, 0, 1136,
+ 626, 0, 0, 0, 0, 0, 1133, 1134, 365, 1094,
+ 330, 197, 225, 1127, 1131, 412, 461, 473, 0, 0,
0, 253, 0, 471, 426, 602, 233, 284, 458, 432,
469, 440, 287, 0, 0, 470, 372, 585, 450, 599,
- 626, 627, 263, 406, 612, 522, 620, 644, 226, 260,
+ 627, 628, 263, 406, 612, 522, 620, 645, 226, 260,
420, 506, 605, 494, 397, 581, 582, 329, 493, 295,
- 201, 369, 632, 224, 479, 371, 242, 231, 587, 609,
- 299, 289, 456, 639, 213, 517, 597, 239, 483, 0,
- 0, 647, 247, 504, 215, 594, 503, 393, 326, 327,
+ 201, 369, 633, 224, 479, 371, 242, 231, 587, 609,
+ 299, 289, 456, 640, 213, 517, 597, 239, 483, 0,
+ 0, 648, 247, 504, 215, 594, 503, 393, 326, 327,
214, 0, 457, 268, 293, 0, 0, 258, 415, 589,
- 590, 256, 648, 228, 619, 220, 0, 618, 408, 584,
+ 590, 256, 649, 228, 619, 220, 0, 618, 408, 584,
595, 394, 383, 219, 593, 392, 382, 334, 355, 356,
280, 307, 447, 375, 448, 306, 308, 404, 403, 405,
- 207, 606, 0, 208, 0, 499, 608, 649, 452, 212,
- 234, 235, 237, 0, 279, 283, 291, 294, 303, 304,
- 313, 367, 419, 446, 442, 451, 0, 579, 600, 613,
- 624, 630, 631, 633, 634, 635, 636, 637, 640, 638,
- 407, 311, 495, 333, 373, 0, 0, 425, 472, 240,
- 604, 496, 199, 0, 0, 0, 0, 254, 255, 0,
- 575, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 650, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 661, 662, 663, 664, 665, 666, 667, 645, 508,
- 514, 509, 510, 511, 512, 513, 0, 515, 0, 0,
- 0, 0, 0, 398, 0, 591, 592, 668, 384, 486,
- 601, 335, 349, 352, 341, 361, 0, 362, 337, 338,
- 343, 346, 347, 348, 353, 354, 358, 364, 249, 210,
- 390, 399, 578, 312, 216, 217, 218, 524, 525, 526,
- 527, 616, 617, 621, 205, 462, 463, 464, 465, 292,
- 611, 309, 468, 467, 331, 332, 379, 449, 540, 542,
- 553, 557, 559, 561, 567, 570, 541, 543, 554, 558,
- 560, 562, 568, 571, 530, 532, 534, 536, 549, 548,
- 545, 573, 574, 551, 556, 535, 547, 552, 565, 572,
- 569, 529, 533, 537, 546, 564, 563, 544, 555, 566,
- 550, 538, 531, 539, 0, 196, 221, 368, 0, 454,
- 288, 646, 615, 484, 610, 206, 223, 0, 262, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 198, 200, 209, 222, 232, 236, 243, 261, 276, 278,
- 285, 298, 310, 318, 319, 322, 328, 380, 386, 387,
- 388, 389, 409, 410, 411, 414, 417, 418, 421, 423,
- 424, 427, 431, 435, 436, 437, 439, 441, 443, 455,
- 460, 474, 475, 476, 477, 478, 481, 482, 488, 489,
- 490, 491, 492, 500, 501, 516, 586, 588, 603, 622,
- 628, 480, 301, 302, 444, 445, 314, 315, 642, 643,
- 300, 598, 629, 596, 641, 623, 438, 378, 0, 0,
- 381, 281, 305, 320, 0, 614, 502, 227, 466, 290,
- 251, 0, 0, 211, 246, 230, 259, 274, 277, 324,
- 391, 400, 429, 434, 296, 271, 244, 459, 241, 485,
- 519, 520, 521, 523, 395, 266, 433, 396, 0, 376,
- 576, 577, 316, 0, 0, 0, 528, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 416, 0,
- 0, 0, 0, 0, 0, 0, 270, 0, 0, 0,
- 0, 366, 267, 0, 0, 204, 505, 0, 430, 0,
- 203, 0, 487, 252, 377, 374, 583, 282, 273, 269,
- 250, 317, 385, 428, 518, 422, 0, 370, 0, 0,
- 497, 401, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 323, 248, 325, 202, 413, 498, 286, 0, 0, 0,
- 0, 1703, 507, 954, 0, 0, 1700, 0, 0, 0,
- 0, 1698, 0, 238, 1699, 1697, 245, 1702, 0, 919,
- 351, 360, 359, 339, 340, 342, 344, 350, 357, 363,
- 336, 345, 0, 0, 607, 0, 0, 0, 265, 321,
- 272, 264, 580, 0, 0, 0, 0, 0, 0, 0,
- 0, 229, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 275, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 297, 0,
- 402, 257, 0, 453, 0, 0, 0, 625, 0, 0,
- 0, 0, 0, 0, 0, 365, 0, 330, 197, 225,
- 0, 0, 412, 461, 473, 0, 0, 0, 253, 0,
- 471, 426, 602, 233, 284, 458, 432, 469, 440, 287,
- 0, 0, 470, 372, 585, 450, 599, 626, 627, 263,
- 406, 612, 522, 620, 644, 226, 260, 420, 506, 605,
- 494, 397, 581, 582, 329, 493, 295, 201, 369, 632,
- 224, 479, 371, 242, 231, 587, 609, 299, 289, 456,
- 639, 213, 517, 597, 239, 483, 0, 0, 647, 247,
- 504, 215, 594, 503, 393, 326, 327, 214, 0, 457,
- 268, 293, 0, 0, 258, 415, 589, 590, 256, 648,
- 228, 619, 220, 0, 618, 408, 584, 595, 394, 383,
- 219, 593, 392, 382, 334, 355, 356, 280, 307, 447,
- 375, 448, 306, 308, 404, 403, 405, 207, 606, 0,
- 208, 0, 499, 608, 649, 452, 212, 234, 235, 237,
- 0, 279, 283, 291, 294, 303, 304, 313, 367, 419,
- 446, 442, 451, 0, 579, 600, 613, 624, 630, 631,
- 633, 634, 635, 636, 637, 640, 638, 407, 311, 495,
- 333, 373, 0, 0, 425, 472, 240, 604, 496, 199,
- 0, 0, 0, 0, 254, 255, 0, 575, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 650, 651, 652,
- 653, 654, 655, 656, 657, 658, 659, 660, 661, 662,
- 663, 664, 665, 666, 667, 645, 508, 514, 509, 510,
- 511, 512, 513, 0, 515, 0, 0, 0, 0, 0,
- 398, 0, 591, 592, 668, 384, 486, 601, 335, 349,
- 352, 341, 361, 0, 362, 337, 338, 343, 346, 347,
- 348, 353, 354, 358, 364, 249, 210, 390, 399, 578,
- 312, 216, 217, 218, 524, 525, 526, 527, 616, 617,
- 621, 205, 462, 463, 464, 465, 292, 611, 309, 468,
- 467, 331, 332, 379, 449, 540, 542, 553, 557, 559,
- 561, 567, 570, 541, 543, 554, 558, 560, 562, 568,
- 571, 530, 532, 534, 536, 549, 548, 545, 573, 574,
- 551, 556, 535, 547, 552, 565, 572, 569, 529, 533,
- 537, 546, 564, 563, 544, 555, 566, 550, 538, 531,
- 539, 0, 196, 221, 368, 0, 454, 288, 646, 615,
- 484, 610, 206, 223, 0, 262, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 198, 200, 209,
- 222, 232, 236, 243, 261, 276, 278, 285, 298, 310,
- 318, 319, 322, 328, 380, 386, 387, 388, 389, 409,
- 410, 411, 414, 417, 418, 421, 423, 424, 427, 431,
- 435, 436, 437, 439, 441, 443, 455, 460, 474, 475,
- 476, 477, 478, 481, 482, 488, 489, 490, 491, 492,
- 500, 501, 516, 586, 588, 603, 622, 628, 480, 301,
- 302, 444, 445, 314, 315, 642, 643, 300, 598, 629,
- 596, 641, 623, 438, 378, 0, 0, 381, 281, 305,
- 320, 0, 614, 502, 227, 466, 290, 251, 0, 0,
- 211, 246, 230, 259, 274, 277, 324, 391, 400, 429,
- 434, 296, 271, 244, 459, 241, 485, 519, 520, 521,
+ 207, 606, 623, 0, 208, 0, 499, 608, 650, 452,
+ 212, 234, 235, 237, 0, 279, 283, 291, 294, 303,
+ 304, 313, 367, 419, 446, 442, 451, 0, 579, 600,
+ 613, 625, 631, 632, 634, 635, 636, 637, 638, 641,
+ 639, 407, 311, 495, 333, 373, 0, 0, 425, 472,
+ 240, 604, 496, 199, 0, 0, 0, 0, 254, 255,
+ 0, 575, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 651, 652, 653, 654, 655, 656, 657, 658, 659,
+ 660, 661, 662, 663, 664, 665, 666, 667, 668, 646,
+ 508, 514, 509, 510, 511, 512, 513, 0, 515, 0,
+ 0, 0, 0, 0, 398, 0, 591, 592, 669, 384,
+ 486, 601, 335, 349, 352, 341, 361, 0, 362, 337,
+ 338, 343, 346, 347, 348, 353, 354, 358, 364, 249,
+ 210, 390, 399, 578, 312, 216, 217, 218, 524, 525,
+ 526, 527, 616, 617, 621, 205, 462, 463, 464, 465,
+ 292, 611, 309, 468, 467, 331, 332, 379, 449, 540,
+ 542, 553, 557, 559, 561, 567, 570, 541, 543, 554,
+ 558, 560, 562, 568, 571, 530, 532, 534, 536, 549,
+ 548, 545, 573, 574, 551, 556, 535, 547, 552, 565,
+ 572, 569, 529, 533, 537, 546, 564, 563, 544, 555,
+ 566, 550, 538, 531, 539, 0, 196, 221, 368, 0,
+ 454, 288, 647, 615, 484, 610, 206, 223, 0, 262,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 198, 200, 209, 222, 232, 236, 243, 261, 276,
+ 278, 285, 298, 310, 318, 319, 322, 328, 380, 386,
+ 387, 388, 389, 409, 410, 411, 414, 417, 418, 421,
+ 423, 424, 427, 431, 435, 436, 437, 439, 441, 443,
+ 455, 460, 474, 475, 476, 477, 478, 481, 482, 488,
+ 489, 490, 491, 492, 500, 501, 516, 586, 588, 603,
+ 622, 629, 480, 301, 302, 444, 445, 314, 315, 643,
+ 644, 300, 598, 630, 596, 642, 624, 438, 378, 0,
+ 0, 381, 281, 305, 320, 0, 614, 502, 227, 466,
+ 290, 251, 0, 0, 211, 246, 230, 259, 274, 277,
+ 324, 391, 400, 429, 434, 296, 271, 244, 459, 241,
+ 485, 519, 520, 521, 523, 395, 266, 433, 396, 0,
+ 376, 576, 577, 316, 0, 0, 0, 528, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 416,
+ 0, 0, 0, 0, 0, 0, 0, 270, 0, 0,
+ 0, 0, 366, 267, 0, 0, 204, 505, 0, 430,
+ 0, 203, 0, 487, 252, 377, 374, 583, 282, 273,
+ 269, 250, 317, 385, 428, 518, 422, 0, 370, 0,
+ 0, 497, 401, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 323, 248, 325, 202, 413, 498, 286, 0, 0,
+ 0, 0, 1704, 507, 955, 0, 0, 1701, 0, 0,
+ 0, 0, 1699, 0, 238, 1700, 1698, 245, 1703, 0,
+ 920, 351, 360, 359, 339, 340, 342, 344, 350, 357,
+ 363, 336, 345, 0, 0, 607, 0, 0, 0, 265,
+ 321, 272, 264, 580, 0, 0, 0, 0, 0, 0,
+ 0, 0, 229, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 275, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 297,
+ 0, 402, 257, 0, 453, 0, 0, 0, 626, 0,
+ 0, 0, 0, 0, 0, 0, 365, 0, 330, 197,
+ 225, 0, 0, 412, 461, 473, 0, 0, 0, 253,
+ 0, 471, 426, 602, 233, 284, 458, 432, 469, 440,
+ 287, 0, 0, 470, 372, 585, 450, 599, 627, 628,
+ 263, 406, 612, 522, 620, 645, 226, 260, 420, 506,
+ 605, 494, 397, 581, 582, 329, 493, 295, 201, 369,
+ 633, 224, 479, 371, 242, 231, 587, 609, 299, 289,
+ 456, 640, 213, 517, 597, 239, 483, 0, 0, 648,
+ 247, 504, 215, 594, 503, 393, 326, 327, 214, 0,
+ 457, 268, 293, 0, 0, 258, 415, 589, 590, 256,
+ 649, 228, 619, 220, 0, 618, 408, 584, 595, 394,
+ 383, 219, 593, 392, 382, 334, 355, 356, 280, 307,
+ 447, 375, 448, 306, 308, 404, 403, 405, 207, 606,
+ 623, 0, 208, 0, 499, 608, 650, 452, 212, 234,
+ 235, 237, 0, 279, 283, 291, 294, 303, 304, 313,
+ 367, 419, 446, 442, 451, 0, 579, 600, 613, 625,
+ 631, 632, 634, 635, 636, 637, 638, 641, 639, 407,
+ 311, 495, 333, 373, 0, 0, 425, 472, 240, 604,
+ 496, 199, 0, 0, 0, 0, 254, 255, 0, 575,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 651,
+ 652, 653, 654, 655, 656, 657, 658, 659, 660, 661,
+ 662, 663, 664, 665, 666, 667, 668, 646, 508, 514,
+ 509, 510, 511, 512, 513, 0, 515, 0, 0, 0,
+ 0, 0, 398, 0, 591, 592, 669, 384, 486, 601,
+ 335, 349, 352, 341, 361, 0, 362, 337, 338, 343,
+ 346, 347, 348, 353, 354, 358, 364, 249, 210, 390,
+ 399, 578, 312, 216, 217, 218, 524, 525, 526, 527,
+ 616, 617, 621, 205, 462, 463, 464, 465, 292, 611,
+ 309, 468, 467, 331, 332, 379, 449, 540, 542, 553,
+ 557, 559, 561, 567, 570, 541, 543, 554, 558, 560,
+ 562, 568, 571, 530, 532, 534, 536, 549, 548, 545,
+ 573, 574, 551, 556, 535, 547, 552, 565, 572, 569,
+ 529, 533, 537, 546, 564, 563, 544, 555, 566, 550,
+ 538, 531, 539, 0, 196, 221, 368, 0, 454, 288,
+ 647, 615, 484, 610, 206, 223, 0, 262, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 198,
+ 200, 209, 222, 232, 236, 243, 261, 276, 278, 285,
+ 298, 310, 318, 319, 322, 328, 380, 386, 387, 388,
+ 389, 409, 410, 411, 414, 417, 418, 421, 423, 424,
+ 427, 431, 435, 436, 437, 439, 441, 443, 455, 460,
+ 474, 475, 476, 477, 478, 481, 482, 488, 489, 490,
+ 491, 492, 500, 501, 516, 586, 588, 603, 622, 629,
+ 480, 301, 302, 444, 445, 314, 315, 643, 644, 300,
+ 598, 630, 596, 642, 624, 438, 378, 0, 0, 381,
+ 281, 305, 320, 0, 614, 502, 227, 466, 290, 251,
+ 0, 0, 211, 246, 230, 259, 274, 277, 324, 391,
+ 400, 429, 434, 296, 271, 244, 459, 241, 485, 519,
+ 520, 521, 523, 395, 266, 433, 396, 0, 376, 576,
+ 577, 316, 0, 0, 86, 528, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 416, 0, 0,
+ 0, 0, 0, 0, 0, 270, 0, 0, 0, 0,
+ 366, 267, 0, 0, 204, 505, 0, 430, 0, 203,
+ 0, 487, 252, 377, 374, 583, 282, 273, 269, 250,
+ 317, 385, 428, 518, 422, 0, 370, 0, 0, 497,
+ 401, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 323,
+ 248, 325, 202, 413, 498, 286, 0, 95, 0, 0,
+ 0, 507, 194, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 238, 0, 0, 245, 0, 0, 0, 351,
+ 360, 359, 339, 340, 342, 344, 350, 357, 363, 336,
+ 345, 0, 0, 607, 0, 0, 0, 265, 321, 272,
+ 264, 580, 0, 0, 0, 0, 0, 0, 0, 0,
+ 229, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 275, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 297, 0, 402,
+ 257, 0, 453, 0, 0, 0, 626, 0, 0, 0,
+ 0, 0, 0, 0, 365, 0, 330, 197, 225, 0,
+ 0, 412, 461, 473, 0, 0, 0, 253, 0, 471,
+ 426, 602, 233, 284, 458, 432, 469, 440, 287, 0,
+ 0, 470, 372, 585, 450, 599, 627, 628, 263, 406,
+ 612, 522, 620, 645, 226, 260, 420, 506, 605, 494,
+ 397, 581, 582, 329, 493, 295, 201, 369, 633, 224,
+ 479, 371, 242, 231, 587, 609, 299, 289, 456, 640,
+ 213, 517, 597, 239, 483, 0, 0, 648, 247, 504,
+ 215, 594, 503, 393, 326, 327, 214, 0, 457, 268,
+ 293, 0, 0, 258, 415, 589, 590, 256, 649, 228,
+ 619, 220, 0, 618, 408, 584, 595, 394, 383, 219,
+ 593, 392, 382, 334, 355, 356, 280, 307, 447, 375,
+ 448, 306, 308, 404, 403, 405, 207, 606, 623, 0,
+ 208, 0, 499, 608, 650, 452, 212, 234, 235, 237,
+ 0, 279, 283, 291, 294, 303, 304, 313, 367, 419,
+ 446, 442, 451, 0, 579, 600, 613, 625, 631, 632,
+ 634, 635, 636, 637, 638, 641, 639, 407, 311, 495,
+ 333, 373, 0, 0, 425, 472, 240, 604, 496, 199,
+ 0, 0, 0, 0, 254, 255, 0, 575, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 651, 652, 653,
+ 654, 655, 656, 657, 658, 659, 660, 661, 662, 663,
+ 664, 665, 666, 667, 668, 646, 508, 514, 509, 510,
+ 511, 512, 513, 0, 515, 0, 0, 0, 0, 0,
+ 398, 0, 591, 592, 669, 384, 486, 601, 335, 349,
+ 352, 341, 361, 0, 362, 337, 338, 343, 346, 347,
+ 348, 353, 354, 358, 364, 249, 210, 390, 399, 578,
+ 312, 216, 217, 218, 524, 525, 526, 527, 616, 617,
+ 621, 205, 462, 463, 464, 465, 292, 611, 309, 468,
+ 467, 331, 332, 379, 449, 540, 542, 553, 557, 559,
+ 561, 567, 570, 541, 543, 554, 558, 560, 562, 568,
+ 571, 530, 532, 534, 536, 549, 548, 545, 573, 574,
+ 551, 556, 535, 547, 552, 565, 572, 569, 529, 533,
+ 537, 546, 564, 563, 544, 555, 566, 550, 538, 531,
+ 539, 0, 196, 221, 368, 94, 454, 288, 647, 615,
+ 484, 610, 206, 223, 0, 262, 0, 0, 0, 0,
+ 0, 0, 2418, 0, 0, 2417, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 198, 200, 209,
+ 222, 232, 236, 243, 261, 276, 278, 285, 298, 310,
+ 318, 319, 322, 328, 380, 386, 387, 388, 389, 409,
+ 410, 411, 414, 417, 418, 421, 423, 424, 427, 431,
+ 435, 436, 437, 439, 441, 443, 455, 460, 474, 475,
+ 476, 477, 478, 481, 482, 488, 489, 490, 491, 492,
+ 500, 501, 516, 586, 588, 603, 622, 629, 480, 301,
+ 302, 444, 445, 314, 315, 643, 644, 300, 598, 630,
+ 596, 642, 624, 438, 378, 0, 0, 381, 281, 305,
+ 320, 0, 614, 502, 227, 466, 290, 251, 0, 0,
+ 211, 246, 230, 259, 274, 277, 324, 391, 400, 429,
+ 434, 296, 271, 244, 459, 241, 485, 519, 520, 521,
+ 523, 395, 266, 433, 1770, 0, 376, 576, 577, 316,
+ 0, 0, 0, 528, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 416, 0, 0, 1772, 0,
+ 0, 0, 0, 270, 0, 0, 0, 0, 366, 267,
+ 0, 0, 204, 505, 0, 430, 0, 203, 0, 487,
+ 252, 377, 374, 583, 282, 273, 269, 250, 317, 385,
+ 428, 518, 422, 0, 370, 0, 0, 497, 401, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 323, 248, 325,
+ 202, 413, 498, 286, 0, 0, 0, 0, 1774, 507,
+ 720, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 238, 0, 0, 245, 0, 0, 0, 351, 360, 359,
+ 339, 340, 342, 344, 350, 357, 363, 336, 345, 0,
+ 0, 607, 0, 0, 0, 265, 321, 272, 264, 580,
+ 0, 0, 0, 0, 0, 0, 0, 0, 229, 0,
+ 0, 0, 1472, 0, 1473, 1474, 0, 0, 0, 0,
+ 0, 0, 0, 275, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 297, 0, 402, 257, 0,
+ 453, 0, 0, 0, 626, 0, 0, 0, 0, 0,
+ 0, 0, 365, 0, 330, 197, 225, 0, 0, 412,
+ 461, 473, 0, 0, 0, 253, 0, 471, 426, 602,
+ 233, 284, 458, 432, 469, 440, 287, 0, 0, 470,
+ 372, 585, 450, 599, 627, 628, 263, 406, 612, 522,
+ 620, 645, 226, 260, 420, 506, 605, 494, 397, 581,
+ 582, 329, 493, 295, 201, 369, 633, 224, 479, 371,
+ 242, 231, 587, 609, 299, 289, 456, 640, 213, 517,
+ 597, 239, 483, 0, 0, 648, 247, 504, 215, 594,
+ 503, 393, 326, 327, 214, 0, 457, 268, 293, 0,
+ 0, 258, 415, 589, 590, 256, 649, 228, 619, 220,
+ 0, 618, 408, 584, 595, 394, 383, 219, 593, 392,
+ 382, 334, 355, 356, 280, 307, 447, 375, 448, 306,
+ 308, 404, 403, 405, 207, 606, 623, 0, 208, 0,
+ 499, 608, 650, 452, 212, 234, 235, 237, 0, 279,
+ 283, 291, 294, 303, 304, 313, 367, 419, 446, 442,
+ 451, 0, 579, 600, 613, 625, 631, 632, 634, 635,
+ 636, 637, 638, 641, 639, 407, 311, 495, 333, 373,
+ 0, 0, 425, 472, 240, 604, 496, 199, 0, 0,
+ 0, 0, 254, 255, 0, 575, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 651, 652, 653, 654, 655,
+ 656, 657, 658, 659, 660, 661, 662, 663, 664, 665,
+ 666, 667, 668, 646, 508, 514, 509, 510, 511, 512,
+ 513, 0, 515, 0, 0, 0, 0, 0, 398, 0,
+ 591, 592, 669, 384, 486, 601, 335, 349, 352, 341,
+ 361, 0, 362, 337, 338, 343, 346, 347, 348, 353,
+ 354, 358, 364, 249, 210, 390, 399, 578, 312, 216,
+ 217, 218, 524, 525, 526, 527, 616, 617, 621, 205,
+ 462, 463, 464, 465, 292, 611, 309, 468, 467, 331,
+ 332, 379, 449, 540, 542, 553, 557, 559, 561, 567,
+ 570, 541, 543, 554, 558, 560, 562, 568, 571, 530,
+ 532, 534, 536, 549, 548, 545, 573, 574, 551, 556,
+ 535, 547, 552, 565, 572, 569, 529, 533, 537, 546,
+ 564, 563, 544, 555, 566, 550, 538, 531, 539, 0,
+ 196, 221, 368, 0, 454, 288, 647, 615, 484, 610,
+ 206, 223, 0, 262, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 198, 200, 209, 222, 232,
+ 236, 243, 261, 276, 278, 285, 298, 310, 318, 319,
+ 322, 328, 380, 386, 387, 388, 389, 409, 410, 411,
+ 414, 417, 418, 421, 423, 424, 427, 431, 435, 436,
+ 437, 439, 441, 443, 455, 460, 474, 475, 476, 477,
+ 478, 481, 482, 488, 489, 490, 491, 492, 500, 501,
+ 516, 586, 588, 603, 622, 629, 480, 301, 302, 444,
+ 445, 314, 315, 643, 644, 300, 598, 630, 596, 642,
+ 624, 438, 378, 0, 0, 381, 281, 305, 320, 0,
+ 614, 502, 227, 466, 290, 251, 0, 0, 211, 246,
+ 230, 259, 274, 277, 324, 391, 400, 429, 434, 296,
+ 271, 244, 459, 241, 485, 519, 520, 521, 523, 395,
+ 266, 433, 396, 0, 376, 576, 577, 316, 0, 0,
+ 86, 528, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 416, 0, 0, 0, 0, 0, 0,
+ 0, 270, 0, 0, 0, 0, 366, 267, 0, 0,
+ 204, 505, 0, 430, 0, 203, 0, 487, 252, 377,
+ 374, 583, 282, 273, 269, 250, 317, 385, 428, 518,
+ 422, 0, 370, 0, 0, 497, 401, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 323, 248, 325, 202, 413,
+ 498, 286, 0, 95, 0, 1747, 0, 507, 720, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 238, 0,
+ 0, 245, 0, 0, 0, 351, 360, 359, 339, 340,
+ 342, 344, 350, 357, 363, 336, 345, 0, 0, 607,
+ 0, 0, 0, 265, 321, 272, 264, 580, 0, 0,
+ 0, 0, 0, 0, 0, 0, 229, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 275, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 297, 0, 402, 257, 0, 453, 0,
+ 0, 0, 626, 0, 0, 0, 0, 0, 0, 0,
+ 365, 0, 330, 197, 225, 0, 0, 412, 461, 473,
+ 0, 0, 0, 253, 0, 471, 426, 602, 233, 284,
+ 458, 432, 469, 440, 287, 0, 0, 470, 372, 585,
+ 450, 599, 627, 628, 263, 406, 612, 522, 620, 645,
+ 226, 260, 420, 506, 605, 494, 397, 581, 582, 329,
+ 493, 295, 201, 369, 633, 224, 479, 371, 242, 231,
+ 587, 609, 299, 289, 456, 640, 213, 517, 597, 239,
+ 483, 0, 0, 648, 247, 504, 215, 594, 503, 393,
+ 326, 327, 214, 0, 457, 268, 293, 0, 0, 258,
+ 415, 589, 590, 256, 649, 228, 619, 220, 0, 618,
+ 408, 584, 595, 394, 383, 219, 593, 392, 382, 334,
+ 355, 356, 280, 307, 447, 375, 448, 306, 308, 404,
+ 403, 405, 207, 606, 623, 0, 208, 0, 499, 608,
+ 650, 452, 212, 234, 235, 237, 0, 279, 283, 291,
+ 294, 303, 304, 313, 367, 419, 446, 442, 451, 0,
+ 579, 600, 613, 625, 631, 632, 634, 635, 636, 637,
+ 638, 641, 639, 407, 311, 495, 333, 373, 0, 0,
+ 425, 472, 240, 604, 496, 199, 0, 0, 0, 0,
+ 254, 255, 0, 575, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 651, 652, 653, 654, 655, 656, 657,
+ 658, 659, 660, 661, 662, 663, 664, 665, 666, 667,
+ 668, 646, 508, 514, 509, 510, 511, 512, 513, 0,
+ 515, 0, 0, 0, 0, 0, 398, 0, 591, 592,
+ 669, 384, 486, 601, 335, 349, 352, 341, 361, 0,
+ 362, 337, 338, 343, 346, 347, 348, 353, 354, 358,
+ 364, 249, 210, 390, 399, 578, 312, 216, 217, 218,
+ 524, 525, 526, 527, 616, 617, 621, 205, 462, 463,
+ 464, 465, 292, 611, 309, 468, 467, 331, 332, 379,
+ 449, 540, 542, 553, 557, 559, 561, 567, 570, 541,
+ 543, 554, 558, 560, 562, 568, 571, 530, 532, 534,
+ 536, 549, 548, 545, 573, 574, 551, 556, 535, 547,
+ 552, 565, 572, 569, 529, 533, 537, 546, 564, 563,
+ 544, 555, 566, 550, 538, 531, 539, 0, 196, 221,
+ 368, 94, 454, 288, 647, 615, 484, 610, 206, 223,
+ 0, 262, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 198, 200, 209, 222, 232, 236, 243,
+ 261, 276, 278, 285, 298, 310, 318, 319, 322, 328,
+ 380, 386, 387, 388, 389, 409, 410, 411, 414, 417,
+ 418, 421, 423, 424, 427, 431, 435, 436, 437, 439,
+ 441, 443, 455, 460, 474, 475, 476, 477, 478, 481,
+ 482, 488, 489, 490, 491, 492, 500, 501, 516, 586,
+ 588, 603, 622, 629, 480, 301, 302, 444, 445, 314,
+ 315, 643, 644, 300, 598, 630, 596, 642, 624, 438,
+ 378, 0, 0, 381, 281, 305, 320, 0, 614, 502,
+ 227, 466, 290, 251, 0, 0, 211, 246, 230, 259,
+ 274, 277, 324, 391, 400, 429, 434, 296, 271, 244,
+ 459, 241, 485, 519, 520, 521, 523, 395, 266, 433,
+ 396, 0, 376, 576, 577, 316, 0, 0, 0, 528,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 416, 0, 0, 0, 0, 0, 0, 0, 270,
+ 0, 0, 0, 0, 366, 267, 0, 0, 204, 505,
+ 0, 430, 0, 203, 0, 487, 252, 377, 374, 583,
+ 282, 273, 269, 250, 317, 385, 428, 518, 422, 0,
+ 370, 0, 0, 497, 401, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 323, 248, 325, 202, 413, 498, 286,
+ 0, 95, 0, 0, 0, 507, 194, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 238, 0, 0, 245,
+ 0, 0, 0, 351, 360, 359, 339, 340, 342, 344,
+ 350, 357, 363, 336, 345, 0, 0, 607, 0, 0,
+ 0, 265, 321, 272, 264, 580, 0, 0, 0, 0,
+ 0, 0, 0, 0, 229, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 275,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 297, 0, 402, 257, 0, 453, 0, 0, 0,
+ 626, 0, 0, 0, 0, 0, 0, 0, 365, 0,
+ 330, 197, 225, 0, 0, 412, 461, 473, 0, 0,
+ 0, 253, 0, 471, 426, 602, 233, 284, 458, 432,
+ 469, 440, 287, 0, 0, 470, 372, 585, 450, 599,
+ 627, 628, 263, 406, 612, 522, 620, 645, 226, 260,
+ 420, 506, 605, 494, 397, 581, 582, 329, 493, 295,
+ 201, 369, 633, 224, 479, 371, 242, 231, 587, 609,
+ 299, 289, 456, 640, 213, 517, 597, 239, 483, 0,
+ 0, 648, 247, 504, 215, 594, 503, 393, 326, 327,
+ 214, 0, 457, 268, 293, 0, 0, 258, 415, 589,
+ 590, 256, 649, 228, 619, 220, 0, 618, 408, 584,
+ 595, 394, 383, 219, 593, 392, 382, 334, 355, 356,
+ 280, 307, 447, 375, 448, 306, 308, 404, 403, 405,
+ 207, 606, 623, 0, 208, 0, 499, 608, 650, 452,
+ 212, 234, 235, 237, 0, 279, 283, 291, 294, 303,
+ 304, 313, 367, 419, 446, 442, 451, 0, 579, 600,
+ 613, 625, 631, 632, 634, 635, 636, 637, 638, 641,
+ 639, 407, 311, 495, 333, 373, 0, 0, 425, 472,
+ 240, 604, 496, 199, 0, 0, 0, 0, 254, 255,
+ 0, 575, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 651, 652, 653, 654, 655, 656, 657, 658, 659,
+ 660, 661, 662, 663, 664, 665, 666, 667, 668, 646,
+ 508, 514, 509, 510, 511, 512, 513, 0, 515, 0,
+ 0, 0, 0, 0, 398, 0, 591, 592, 669, 384,
+ 486, 601, 335, 349, 352, 341, 361, 0, 362, 337,
+ 338, 343, 346, 347, 348, 353, 354, 358, 364, 249,
+ 210, 390, 399, 578, 312, 216, 217, 218, 524, 525,
+ 526, 527, 616, 617, 621, 205, 462, 463, 464, 465,
+ 292, 611, 309, 468, 467, 331, 332, 379, 449, 540,
+ 542, 553, 557, 559, 561, 567, 570, 541, 543, 554,
+ 558, 560, 562, 568, 571, 530, 532, 534, 536, 549,
+ 548, 545, 573, 574, 551, 556, 535, 547, 552, 565,
+ 572, 569, 529, 533, 537, 546, 564, 563, 544, 555,
+ 566, 550, 538, 531, 539, 0, 196, 221, 368, 0,
+ 454, 288, 647, 615, 484, 610, 206, 223, 0, 262,
+ 0, 0, 0, 0, 0, 0, 2418, 0, 0, 2417,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 198, 200, 209, 222, 232, 236, 243, 261, 276,
+ 278, 285, 298, 310, 318, 319, 322, 328, 380, 386,
+ 387, 388, 389, 409, 410, 411, 414, 417, 418, 421,
+ 423, 424, 427, 431, 435, 436, 437, 439, 441, 443,
+ 455, 460, 474, 475, 476, 477, 478, 481, 482, 488,
+ 489, 490, 491, 492, 500, 501, 516, 586, 588, 603,
+ 622, 629, 480, 301, 302, 444, 445, 314, 315, 643,
+ 644, 300, 598, 630, 596, 642, 624, 438, 378, 0,
+ 0, 381, 281, 305, 320, 0, 614, 502, 227, 466,
+ 290, 251, 0, 0, 211, 246, 230, 259, 274, 277,
+ 324, 391, 400, 429, 434, 296, 271, 244, 459, 241,
+ 485, 519, 520, 521, 523, 395, 266, 433, 396, 0,
+ 376, 576, 577, 316, 0, 0, 0, 528, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 416,
+ 0, 0, 2365, 0, 0, 0, 0, 270, 0, 0,
+ 0, 0, 366, 267, 0, 0, 204, 505, 0, 430,
+ 0, 203, 0, 487, 252, 377, 374, 583, 282, 273,
+ 269, 250, 317, 385, 428, 518, 422, 0, 370, 0,
+ 0, 497, 401, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 323, 248, 325, 202, 413, 498, 286, 0, 0,
+ 0, 0, 1954, 507, 194, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 238, 0, 0, 245, 0, 0,
+ 0, 351, 360, 359, 339, 340, 342, 344, 350, 357,
+ 363, 336, 345, 0, 0, 607, 0, 0, 0, 265,
+ 321, 272, 264, 580, 0, 0, 0, 0, 0, 0,
+ 0, 0, 229, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 275, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 297,
+ 0, 402, 257, 0, 453, 0, 0, 0, 626, 0,
+ 0, 0, 0, 0, 0, 0, 365, 0, 330, 197,
+ 225, 0, 0, 412, 461, 473, 0, 0, 0, 253,
+ 0, 471, 426, 602, 233, 284, 458, 432, 469, 440,
+ 287, 0, 2363, 470, 372, 585, 450, 599, 627, 628,
+ 263, 406, 612, 522, 620, 645, 226, 260, 420, 506,
+ 605, 494, 397, 581, 582, 329, 493, 295, 201, 369,
+ 633, 224, 479, 371, 242, 231, 587, 609, 299, 289,
+ 456, 640, 213, 517, 597, 239, 483, 0, 0, 648,
+ 247, 504, 215, 594, 503, 393, 326, 327, 214, 0,
+ 457, 268, 293, 0, 0, 258, 415, 589, 590, 256,
+ 649, 228, 619, 220, 0, 618, 408, 584, 595, 394,
+ 383, 219, 593, 392, 382, 334, 355, 356, 280, 307,
+ 447, 375, 448, 306, 308, 404, 403, 405, 207, 606,
+ 623, 0, 208, 0, 499, 608, 650, 452, 212, 234,
+ 235, 237, 0, 279, 283, 291, 294, 303, 304, 313,
+ 367, 419, 446, 442, 451, 0, 579, 600, 613, 625,
+ 631, 632, 634, 635, 636, 637, 638, 641, 639, 407,
+ 311, 495, 333, 373, 0, 0, 425, 472, 240, 604,
+ 496, 199, 0, 0, 0, 0, 254, 255, 0, 575,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 651,
+ 652, 653, 654, 655, 656, 657, 658, 659, 660, 661,
+ 662, 663, 664, 665, 666, 667, 668, 646, 508, 514,
+ 509, 510, 511, 512, 513, 0, 515, 0, 0, 0,
+ 0, 0, 398, 0, 591, 592, 669, 384, 486, 601,
+ 335, 349, 352, 341, 361, 0, 362, 337, 338, 343,
+ 346, 347, 348, 353, 354, 358, 364, 249, 210, 390,
+ 399, 578, 312, 216, 217, 218, 524, 525, 526, 527,
+ 616, 617, 621, 205, 462, 463, 464, 465, 292, 611,
+ 309, 468, 467, 331, 332, 379, 449, 540, 542, 553,
+ 557, 559, 561, 567, 570, 541, 543, 554, 558, 560,
+ 562, 568, 571, 530, 532, 534, 536, 549, 548, 545,
+ 573, 574, 551, 556, 535, 547, 552, 565, 572, 569,
+ 529, 533, 537, 546, 564, 563, 544, 555, 566, 550,
+ 538, 531, 539, 0, 196, 221, 368, 0, 454, 288,
+ 647, 615, 484, 610, 206, 223, 0, 262, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 198,
+ 200, 209, 222, 232, 236, 243, 261, 276, 278, 285,
+ 298, 310, 318, 319, 322, 328, 380, 386, 387, 388,
+ 389, 409, 410, 411, 414, 417, 418, 421, 423, 424,
+ 427, 431, 435, 436, 437, 439, 441, 443, 455, 460,
+ 474, 475, 476, 477, 478, 481, 482, 488, 489, 490,
+ 491, 492, 500, 501, 516, 586, 588, 603, 622, 629,
+ 480, 301, 302, 444, 445, 314, 315, 643, 644, 300,
+ 598, 630, 596, 642, 624, 438, 378, 0, 0, 381,
+ 281, 305, 320, 0, 614, 502, 227, 466, 290, 251,
+ 0, 0, 211, 246, 230, 259, 274, 277, 324, 391,
+ 400, 429, 434, 296, 271, 244, 459, 241, 485, 519,
+ 520, 521, 523, 395, 266, 433, 396, 0, 376, 576,
+ 577, 316, 0, 0, 0, 528, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 416, 0, 0,
+ 0, 0, 0, 0, 0, 270, 0, 0, 0, 0,
+ 366, 267, 0, 0, 204, 505, 0, 430, 0, 203,
+ 0, 487, 252, 377, 374, 583, 282, 273, 269, 250,
+ 317, 385, 428, 518, 422, 0, 370, 0, 0, 497,
+ 401, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 323,
+ 248, 325, 202, 413, 498, 286, 0, 0, 0, 0,
+ 0, 507, 720, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 238, 0, 0, 245, 0, 0, 0, 351,
+ 360, 359, 339, 340, 342, 344, 350, 357, 363, 336,
+ 345, 0, 0, 607, 0, 0, 0, 265, 321, 272,
+ 264, 580, 0, 0, 0, 0, 0, 0, 0, 0,
+ 229, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 275, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1088, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 297, 0, 402,
+ 257, 0, 453, 0, 0, 0, 626, 0, 0, 0,
+ 0, 0, 0, 0, 365, 1094, 330, 197, 225, 1092,
+ 0, 412, 461, 473, 0, 0, 0, 253, 0, 471,
+ 426, 602, 233, 284, 458, 432, 469, 440, 287, 0,
+ 0, 470, 372, 585, 450, 599, 627, 628, 263, 406,
+ 612, 522, 620, 645, 226, 260, 420, 506, 605, 494,
+ 397, 581, 582, 329, 493, 295, 201, 369, 633, 224,
+ 479, 371, 242, 231, 587, 609, 299, 289, 456, 640,
+ 213, 517, 597, 239, 483, 0, 0, 648, 247, 504,
+ 215, 594, 503, 393, 326, 327, 214, 0, 457, 268,
+ 293, 0, 0, 258, 415, 589, 590, 256, 649, 228,
+ 619, 220, 0, 618, 408, 584, 595, 394, 383, 219,
+ 593, 392, 382, 334, 355, 356, 280, 307, 447, 375,
+ 448, 306, 308, 404, 403, 405, 207, 606, 623, 0,
+ 208, 0, 499, 608, 650, 452, 212, 234, 235, 237,
+ 0, 279, 283, 291, 294, 303, 304, 313, 367, 419,
+ 446, 442, 451, 0, 579, 600, 613, 625, 631, 632,
+ 634, 635, 636, 637, 638, 641, 639, 407, 311, 495,
+ 333, 373, 0, 0, 425, 472, 240, 604, 496, 199,
+ 0, 0, 0, 0, 254, 255, 0, 575, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 651, 652, 653,
+ 654, 655, 656, 657, 658, 659, 660, 661, 662, 663,
+ 664, 665, 666, 667, 668, 646, 508, 514, 509, 510,
+ 511, 512, 513, 0, 515, 0, 0, 0, 0, 0,
+ 398, 0, 591, 592, 669, 384, 486, 601, 335, 349,
+ 352, 341, 361, 0, 362, 337, 338, 343, 346, 347,
+ 348, 353, 354, 358, 364, 249, 210, 390, 399, 578,
+ 312, 216, 217, 218, 524, 525, 526, 527, 616, 617,
+ 621, 205, 462, 463, 464, 465, 292, 611, 309, 468,
+ 467, 331, 332, 379, 449, 540, 542, 553, 557, 559,
+ 561, 567, 570, 541, 543, 554, 558, 560, 562, 568,
+ 571, 530, 532, 534, 536, 549, 548, 545, 573, 574,
+ 551, 556, 535, 547, 552, 565, 572, 569, 529, 533,
+ 537, 546, 564, 563, 544, 555, 566, 550, 538, 531,
+ 539, 0, 196, 221, 368, 0, 454, 288, 647, 615,
+ 484, 610, 206, 223, 0, 262, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 198, 200, 209,
+ 222, 232, 236, 243, 261, 276, 278, 285, 298, 310,
+ 318, 319, 322, 328, 380, 386, 387, 388, 389, 409,
+ 410, 411, 414, 417, 418, 421, 423, 424, 427, 431,
+ 435, 436, 437, 439, 441, 443, 455, 460, 474, 475,
+ 476, 477, 478, 481, 482, 488, 489, 490, 491, 492,
+ 500, 501, 516, 586, 588, 603, 622, 629, 480, 301,
+ 302, 444, 445, 314, 315, 643, 644, 300, 598, 630,
+ 596, 642, 624, 438, 378, 0, 0, 381, 281, 305,
+ 320, 0, 614, 502, 227, 466, 290, 251, 0, 0,
+ 211, 246, 230, 259, 274, 277, 324, 391, 400, 429,
+ 434, 296, 271, 244, 459, 241, 485, 519, 520, 521,
+ 523, 395, 266, 433, 396, 0, 376, 576, 577, 316,
+ 0, 0, 0, 528, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 416, 0, 0, 2365, 0,
+ 0, 0, 0, 270, 0, 0, 0, 0, 366, 267,
+ 0, 0, 204, 505, 0, 430, 0, 203, 0, 487,
+ 252, 377, 374, 583, 282, 273, 269, 250, 317, 385,
+ 428, 518, 422, 0, 370, 0, 0, 497, 401, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 323, 248, 325,
+ 202, 413, 498, 286, 0, 0, 0, 0, 1954, 507,
+ 194, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 238, 0, 0, 245, 0, 0, 0, 351, 360, 359,
+ 339, 340, 342, 344, 350, 357, 363, 336, 345, 0,
+ 0, 607, 0, 0, 0, 265, 321, 272, 264, 580,
+ 0, 0, 0, 0, 0, 0, 0, 0, 229, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 275, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 297, 0, 402, 257, 0,
+ 453, 0, 0, 0, 626, 0, 0, 0, 0, 0,
+ 0, 0, 365, 0, 330, 197, 225, 0, 0, 412,
+ 461, 473, 0, 0, 0, 253, 0, 471, 426, 602,
+ 233, 284, 458, 432, 469, 440, 287, 0, 0, 470,
+ 372, 585, 450, 599, 627, 628, 263, 406, 612, 522,
+ 620, 645, 226, 260, 420, 506, 605, 494, 397, 581,
+ 582, 329, 493, 295, 201, 369, 633, 224, 479, 371,
+ 242, 231, 587, 609, 299, 289, 456, 640, 213, 517,
+ 597, 239, 483, 0, 0, 648, 247, 504, 215, 594,
+ 503, 393, 326, 327, 214, 0, 457, 268, 293, 0,
+ 0, 258, 415, 589, 590, 256, 649, 228, 619, 220,
+ 0, 618, 408, 584, 595, 394, 383, 219, 593, 392,
+ 382, 334, 355, 356, 280, 307, 447, 375, 448, 306,
+ 308, 404, 403, 405, 207, 606, 623, 0, 208, 0,
+ 499, 608, 650, 452, 212, 234, 235, 237, 0, 279,
+ 283, 291, 294, 303, 304, 313, 367, 419, 446, 442,
+ 451, 0, 579, 600, 613, 625, 631, 632, 634, 635,
+ 636, 637, 638, 641, 639, 407, 311, 495, 333, 373,
+ 0, 0, 425, 472, 240, 604, 496, 199, 0, 0,
+ 0, 0, 254, 255, 0, 575, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 651, 652, 653, 654, 655,
+ 656, 657, 658, 659, 660, 661, 662, 663, 664, 665,
+ 666, 667, 668, 646, 508, 514, 509, 510, 511, 512,
+ 513, 0, 515, 0, 0, 0, 0, 0, 398, 0,
+ 591, 592, 669, 384, 486, 601, 335, 349, 352, 341,
+ 361, 0, 362, 337, 338, 343, 346, 347, 348, 353,
+ 354, 358, 364, 249, 210, 390, 399, 578, 312, 216,
+ 217, 218, 524, 525, 526, 527, 616, 617, 621, 205,
+ 462, 463, 464, 465, 292, 611, 309, 468, 467, 331,
+ 332, 379, 449, 540, 542, 553, 557, 559, 561, 567,
+ 570, 541, 543, 554, 558, 560, 562, 568, 571, 530,
+ 532, 534, 536, 549, 548, 545, 573, 574, 551, 556,
+ 535, 547, 552, 565, 572, 569, 529, 533, 537, 546,
+ 564, 563, 544, 555, 566, 550, 538, 531, 539, 0,
+ 196, 221, 368, 0, 454, 288, 647, 615, 484, 610,
+ 206, 223, 0, 262, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 198, 200, 209, 222, 232,
+ 236, 243, 261, 276, 278, 285, 298, 310, 318, 319,
+ 322, 328, 380, 386, 387, 388, 389, 409, 410, 411,
+ 414, 417, 418, 421, 423, 424, 427, 431, 435, 436,
+ 437, 439, 441, 443, 455, 460, 474, 475, 476, 477,
+ 478, 481, 482, 488, 489, 490, 491, 492, 500, 501,
+ 516, 586, 588, 603, 622, 629, 480, 301, 302, 444,
+ 445, 314, 315, 643, 644, 300, 598, 630, 596, 642,
+ 624, 438, 378, 0, 0, 381, 281, 305, 320, 0,
+ 614, 502, 227, 466, 290, 251, 0, 0, 211, 246,
+ 230, 259, 274, 277, 324, 391, 400, 429, 434, 296,
+ 271, 244, 459, 241, 485, 519, 520, 521, 523, 395,
+ 266, 433, 396, 0, 376, 576, 577, 316, 0, 0,
+ 0, 528, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 416, 0, 0, 0, 0, 0, 0,
+ 0, 270, 0, 0, 0, 0, 366, 267, 0, 0,
+ 204, 505, 0, 430, 0, 203, 0, 487, 252, 377,
+ 374, 583, 282, 273, 269, 250, 317, 385, 428, 518,
+ 422, 0, 370, 0, 0, 497, 401, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 323, 248, 325, 202, 413,
+ 498, 286, 0, 0, 0, 1747, 0, 507, 720, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 238, 0,
+ 0, 245, 0, 0, 0, 351, 360, 359, 339, 340,
+ 342, 344, 350, 357, 363, 336, 345, 0, 0, 607,
+ 0, 0, 0, 265, 321, 272, 264, 580, 0, 0,
+ 0, 0, 0, 0, 0, 0, 229, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 275, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 297, 0, 402, 257, 0, 453, 0,
+ 0, 0, 626, 0, 0, 0, 3719, 0, 0, 0,
+ 365, 0, 330, 197, 225, 0, 0, 412, 461, 473,
+ 0, 0, 0, 253, 0, 471, 426, 602, 233, 284,
+ 458, 432, 469, 440, 287, 0, 0, 470, 372, 585,
+ 450, 599, 627, 628, 263, 406, 612, 522, 620, 645,
+ 226, 260, 420, 506, 605, 494, 397, 581, 582, 329,
+ 493, 295, 201, 369, 633, 224, 479, 371, 242, 231,
+ 587, 609, 299, 289, 456, 640, 213, 517, 597, 239,
+ 483, 0, 0, 648, 247, 504, 215, 594, 503, 393,
+ 326, 327, 214, 0, 457, 268, 293, 0, 0, 258,
+ 415, 589, 590, 256, 649, 228, 619, 220, 0, 618,
+ 408, 584, 595, 394, 383, 219, 593, 392, 382, 334,
+ 355, 356, 280, 307, 447, 375, 448, 306, 308, 404,
+ 403, 405, 207, 606, 623, 0, 208, 0, 499, 608,
+ 650, 452, 212, 234, 235, 237, 0, 279, 283, 291,
+ 294, 303, 304, 313, 367, 419, 446, 442, 451, 0,
+ 579, 600, 613, 625, 631, 632, 634, 635, 636, 637,
+ 638, 641, 639, 407, 311, 495, 333, 373, 0, 0,
+ 425, 472, 240, 604, 496, 199, 0, 0, 0, 0,
+ 254, 255, 0, 575, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 651, 652, 653, 654, 655, 656, 657,
+ 658, 659, 660, 661, 662, 663, 664, 665, 666, 667,
+ 668, 646, 508, 514, 509, 510, 511, 512, 513, 0,
+ 515, 0, 0, 0, 0, 0, 398, 0, 591, 592,
+ 669, 384, 486, 601, 335, 349, 352, 341, 361, 0,
+ 362, 337, 338, 343, 346, 347, 348, 353, 354, 358,
+ 364, 249, 210, 390, 399, 578, 312, 216, 217, 218,
+ 524, 525, 526, 527, 616, 617, 621, 205, 462, 463,
+ 464, 465, 292, 611, 309, 468, 467, 331, 332, 379,
+ 449, 540, 542, 553, 557, 559, 561, 567, 570, 541,
+ 543, 554, 558, 560, 562, 568, 571, 530, 532, 534,
+ 536, 549, 548, 545, 573, 574, 551, 556, 535, 547,
+ 552, 565, 572, 569, 529, 533, 537, 546, 564, 563,
+ 544, 555, 566, 550, 538, 531, 539, 0, 196, 221,
+ 368, 0, 454, 288, 647, 615, 484, 610, 206, 223,
+ 0, 262, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 198, 200, 209, 222, 232, 236, 243,
+ 261, 276, 278, 285, 298, 310, 318, 319, 322, 328,
+ 380, 386, 387, 388, 389, 409, 410, 411, 414, 417,
+ 418, 421, 423, 424, 427, 431, 435, 436, 437, 439,
+ 441, 443, 455, 460, 474, 475, 476, 477, 478, 481,
+ 482, 488, 489, 490, 491, 492, 500, 501, 516, 586,
+ 588, 603, 622, 629, 480, 301, 302, 444, 445, 314,
+ 315, 643, 644, 300, 598, 630, 596, 642, 624, 438,
+ 378, 0, 0, 381, 281, 305, 320, 0, 614, 502,
+ 227, 466, 290, 251, 0, 0, 211, 246, 230, 259,
+ 274, 277, 324, 391, 400, 429, 434, 296, 271, 244,
+ 459, 241, 485, 519, 520, 521, 523, 395, 266, 433,
+ 396, 0, 376, 576, 577, 316, 0, 0, 0, 528,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 416, 0, 0, 0, 0, 0, 0, 0, 270,
+ 0, 0, 0, 0, 366, 267, 0, 0, 204, 505,
+ 0, 430, 0, 203, 0, 487, 252, 377, 374, 583,
+ 282, 273, 269, 250, 317, 385, 428, 518, 422, 0,
+ 370, 0, 0, 497, 401, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 323, 248, 325, 202, 413, 498, 286,
+ 0, 0, 0, 0, 2124, 507, 720, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 238, 0, 0, 245,
+ 0, 0, 0, 351, 360, 359, 339, 340, 342, 344,
+ 350, 357, 363, 336, 345, 0, 0, 607, 0, 0,
+ 0, 265, 321, 272, 264, 580, 0, 0, 0, 0,
+ 0, 0, 0, 0, 229, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 275,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 2125, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 297, 0, 402, 257, 0, 453, 0, 0, 0,
+ 626, 0, 0, 0, 0, 0, 0, 0, 365, 0,
+ 330, 197, 225, 0, 0, 412, 461, 473, 0, 0,
+ 0, 253, 0, 471, 426, 602, 233, 284, 458, 432,
+ 469, 440, 287, 0, 0, 470, 372, 585, 450, 599,
+ 627, 628, 263, 406, 612, 522, 620, 645, 226, 260,
+ 420, 506, 605, 494, 397, 581, 582, 329, 493, 295,
+ 201, 369, 633, 224, 479, 371, 242, 231, 587, 609,
+ 299, 289, 456, 640, 213, 517, 597, 239, 483, 0,
+ 0, 648, 247, 504, 215, 594, 503, 393, 326, 327,
+ 214, 0, 457, 268, 293, 0, 0, 258, 415, 589,
+ 590, 256, 649, 228, 619, 220, 0, 618, 408, 584,
+ 595, 394, 383, 219, 593, 392, 382, 334, 355, 356,
+ 280, 307, 447, 375, 448, 306, 308, 404, 403, 405,
+ 207, 606, 623, 0, 208, 0, 499, 608, 650, 452,
+ 212, 234, 235, 237, 0, 279, 283, 291, 294, 303,
+ 304, 313, 367, 419, 446, 442, 451, 0, 579, 600,
+ 613, 625, 631, 632, 634, 635, 636, 637, 638, 641,
+ 639, 407, 311, 495, 333, 373, 0, 0, 425, 472,
+ 240, 604, 496, 199, 0, 0, 0, 0, 254, 255,
+ 0, 575, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 651, 652, 653, 654, 655, 656, 657, 658, 659,
+ 660, 661, 662, 663, 664, 665, 666, 667, 668, 646,
+ 508, 514, 509, 510, 511, 512, 513, 0, 515, 0,
+ 0, 0, 0, 0, 398, 0, 591, 592, 669, 384,
+ 486, 601, 335, 349, 352, 341, 361, 0, 362, 337,
+ 338, 343, 346, 347, 348, 353, 354, 358, 364, 249,
+ 210, 390, 399, 578, 312, 216, 217, 218, 524, 525,
+ 526, 527, 616, 617, 621, 205, 462, 463, 464, 465,
+ 292, 611, 309, 468, 467, 331, 332, 379, 449, 540,
+ 542, 553, 557, 559, 561, 567, 570, 541, 543, 554,
+ 558, 560, 562, 568, 571, 530, 532, 534, 536, 549,
+ 548, 545, 573, 574, 551, 556, 535, 547, 552, 565,
+ 572, 569, 529, 533, 537, 546, 564, 563, 544, 555,
+ 566, 550, 538, 531, 539, 0, 196, 221, 368, 0,
+ 454, 288, 647, 615, 484, 610, 206, 223, 0, 262,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 198, 200, 209, 222, 232, 236, 243, 261, 276,
+ 278, 285, 298, 310, 318, 319, 322, 328, 380, 386,
+ 387, 388, 389, 409, 410, 411, 414, 417, 418, 421,
+ 423, 424, 427, 431, 435, 436, 437, 439, 441, 443,
+ 455, 460, 474, 475, 476, 477, 478, 481, 482, 488,
+ 489, 490, 491, 492, 500, 501, 516, 586, 588, 603,
+ 622, 629, 480, 301, 302, 444, 445, 314, 315, 643,
+ 644, 300, 598, 630, 596, 642, 624, 438, 378, 0,
+ 0, 381, 281, 305, 320, 0, 614, 502, 227, 466,
+ 290, 251, 0, 0, 211, 246, 230, 259, 274, 277,
+ 324, 391, 400, 429, 434, 296, 271, 244, 459, 241,
+ 485, 519, 520, 521, 523, 395, 266, 433, 396, 0,
+ 376, 576, 577, 316, 0, 0, 0, 528, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 416,
+ 0, 0, 0, 0, 0, 0, 0, 270, 0, 0,
+ 0, 0, 366, 267, 0, 0, 204, 505, 0, 430,
+ 0, 203, 0, 487, 252, 377, 374, 583, 282, 273,
+ 269, 250, 317, 385, 428, 518, 422, 0, 370, 0,
+ 0, 497, 401, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 323, 248, 325, 202, 413, 498, 286, 0, 0,
+ 0, 0, 2870, 507, 720, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 238, 0, 0, 245, 0, 0,
+ 0, 351, 360, 359, 339, 340, 342, 344, 350, 357,
+ 363, 336, 345, 0, 0, 607, 0, 0, 0, 265,
+ 321, 272, 264, 580, 0, 0, 0, 0, 0, 0,
+ 0, 0, 229, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 275, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 2871, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 297,
+ 0, 402, 257, 0, 453, 0, 0, 0, 626, 0,
+ 0, 0, 0, 0, 0, 0, 365, 0, 330, 197,
+ 225, 0, 0, 412, 461, 473, 0, 0, 0, 253,
+ 0, 471, 426, 602, 233, 284, 458, 432, 469, 440,
+ 287, 0, 0, 470, 372, 585, 450, 599, 627, 628,
+ 263, 406, 612, 522, 620, 645, 226, 260, 420, 506,
+ 605, 494, 397, 581, 582, 329, 493, 295, 201, 369,
+ 633, 224, 479, 371, 242, 231, 587, 609, 299, 289,
+ 456, 640, 213, 517, 597, 239, 483, 0, 0, 648,
+ 247, 504, 215, 594, 503, 393, 326, 327, 214, 0,
+ 457, 268, 293, 0, 0, 258, 415, 589, 590, 256,
+ 649, 228, 619, 220, 0, 618, 408, 584, 595, 394,
+ 383, 219, 593, 392, 382, 334, 355, 356, 280, 307,
+ 447, 375, 448, 306, 308, 404, 403, 405, 207, 606,
+ 623, 0, 208, 0, 499, 608, 650, 452, 212, 234,
+ 235, 237, 0, 279, 283, 291, 294, 303, 304, 313,
+ 367, 419, 446, 442, 451, 0, 579, 600, 613, 625,
+ 631, 632, 634, 635, 636, 637, 638, 641, 639, 407,
+ 311, 495, 333, 373, 0, 0, 425, 472, 240, 604,
+ 496, 199, 0, 0, 0, 0, 254, 255, 0, 575,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 651,
+ 652, 653, 654, 655, 656, 657, 658, 659, 660, 661,
+ 662, 663, 664, 665, 666, 667, 668, 646, 508, 514,
+ 509, 510, 511, 512, 513, 0, 515, 0, 0, 0,
+ 0, 0, 398, 0, 591, 592, 669, 384, 486, 601,
+ 335, 349, 352, 341, 361, 0, 362, 337, 338, 343,
+ 346, 347, 348, 353, 354, 358, 364, 249, 210, 390,
+ 399, 578, 312, 216, 217, 218, 524, 525, 526, 527,
+ 616, 617, 621, 205, 462, 463, 464, 465, 292, 611,
+ 309, 468, 467, 331, 332, 379, 449, 540, 542, 553,
+ 557, 559, 561, 567, 570, 541, 543, 554, 558, 560,
+ 562, 568, 571, 530, 532, 534, 536, 549, 548, 545,
+ 573, 574, 551, 556, 535, 547, 552, 565, 572, 569,
+ 529, 533, 537, 546, 564, 563, 544, 555, 566, 550,
+ 538, 531, 539, 0, 196, 221, 368, 0, 454, 288,
+ 647, 615, 484, 610, 206, 223, 0, 262, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 198,
+ 200, 209, 222, 232, 236, 243, 261, 276, 278, 285,
+ 298, 310, 318, 319, 322, 328, 380, 386, 387, 388,
+ 389, 409, 410, 411, 414, 417, 418, 421, 423, 424,
+ 427, 431, 435, 436, 437, 439, 441, 443, 455, 460,
+ 474, 475, 476, 477, 478, 481, 482, 488, 489, 490,
+ 491, 492, 500, 501, 516, 586, 588, 603, 622, 629,
+ 480, 301, 302, 444, 445, 314, 315, 643, 644, 300,
+ 598, 630, 596, 642, 624, 438, 378, 0, 0, 381,
+ 281, 305, 320, 0, 614, 502, 227, 466, 290, 251,
+ 0, 0, 211, 246, 230, 259, 274, 277, 324, 391,
+ 400, 429, 434, 296, 271, 244, 459, 241, 485, 519,
+ 520, 521, 523, 395, 266, 433, 396, 0, 376, 576,
+ 577, 316, 0, 0, 0, 528, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 416, 0, 0,
+ 0, 0, 0, 0, 0, 270, 0, 0, 0, 0,
+ 366, 267, 0, 0, 204, 505, 0, 430, 0, 203,
+ 0, 487, 252, 377, 374, 583, 282, 273, 269, 250,
+ 317, 385, 428, 518, 422, 0, 370, 0, 0, 497,
+ 401, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 323,
+ 248, 325, 202, 413, 498, 286, 0, 0, 0, 0,
+ 0, 507, 720, 0, 0, 0, 0, 2855, 0, 0,
+ 0, 0, 238, 0, 0, 245, 2856, 0, 0, 351,
+ 360, 359, 339, 340, 342, 344, 350, 357, 363, 336,
+ 345, 0, 0, 607, 0, 0, 0, 265, 321, 272,
+ 264, 580, 0, 0, 0, 0, 0, 0, 0, 0,
+ 229, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 275, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 297, 0, 402,
+ 257, 0, 453, 0, 0, 0, 626, 0, 0, 0,
+ 0, 0, 0, 0, 365, 0, 330, 197, 225, 0,
+ 0, 412, 461, 473, 0, 0, 0, 253, 0, 471,
+ 426, 602, 233, 284, 458, 432, 469, 440, 287, 0,
+ 0, 470, 372, 585, 450, 599, 627, 628, 263, 406,
+ 612, 522, 620, 645, 226, 260, 420, 506, 605, 494,
+ 397, 581, 582, 329, 493, 295, 201, 369, 633, 224,
+ 479, 371, 242, 231, 587, 609, 299, 289, 456, 640,
+ 213, 517, 597, 239, 483, 0, 0, 648, 247, 504,
+ 215, 594, 503, 393, 326, 327, 214, 0, 457, 268,
+ 293, 0, 0, 258, 415, 589, 590, 256, 649, 228,
+ 619, 220, 0, 618, 408, 584, 595, 394, 383, 219,
+ 593, 392, 382, 334, 355, 356, 280, 307, 447, 375,
+ 448, 306, 308, 404, 403, 405, 207, 606, 623, 0,
+ 208, 0, 499, 608, 650, 452, 212, 234, 235, 237,
+ 0, 279, 283, 291, 294, 303, 304, 313, 367, 419,
+ 446, 442, 451, 0, 579, 600, 613, 625, 631, 632,
+ 634, 635, 636, 637, 638, 641, 639, 407, 311, 495,
+ 333, 373, 0, 0, 425, 472, 240, 604, 496, 199,
+ 0, 0, 0, 0, 254, 255, 0, 575, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 651, 652, 653,
+ 654, 655, 656, 657, 658, 659, 660, 661, 662, 663,
+ 664, 665, 666, 667, 668, 646, 508, 514, 509, 510,
+ 511, 512, 513, 0, 515, 0, 0, 0, 0, 0,
+ 398, 0, 591, 592, 669, 384, 486, 601, 335, 349,
+ 352, 341, 361, 0, 362, 337, 338, 343, 346, 347,
+ 348, 353, 354, 358, 364, 249, 210, 390, 399, 578,
+ 312, 216, 217, 218, 524, 525, 526, 527, 616, 617,
+ 621, 205, 462, 463, 464, 465, 292, 611, 309, 468,
+ 467, 331, 332, 379, 449, 540, 542, 553, 557, 559,
+ 561, 567, 570, 541, 543, 554, 558, 560, 562, 568,
+ 571, 530, 532, 534, 536, 549, 548, 545, 573, 574,
+ 551, 556, 535, 547, 552, 565, 572, 569, 529, 533,
+ 537, 546, 564, 563, 544, 555, 566, 550, 538, 531,
+ 539, 0, 196, 221, 368, 0, 454, 288, 647, 615,
+ 484, 610, 206, 223, 0, 262, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 198, 200, 209,
+ 222, 232, 236, 243, 261, 276, 278, 285, 298, 310,
+ 318, 319, 322, 328, 380, 386, 387, 388, 389, 409,
+ 410, 411, 414, 417, 418, 421, 423, 424, 427, 431,
+ 435, 436, 437, 439, 441, 443, 455, 460, 474, 475,
+ 476, 477, 478, 481, 482, 488, 489, 490, 491, 492,
+ 500, 501, 516, 586, 588, 603, 622, 629, 480, 301,
+ 302, 444, 445, 314, 315, 643, 644, 300, 598, 630,
+ 596, 642, 624, 438, 378, 0, 0, 381, 281, 305,
+ 320, 0, 614, 502, 227, 466, 290, 251, 0, 0,
+ 211, 246, 230, 259, 274, 277, 324, 391, 400, 429,
+ 434, 296, 271, 244, 459, 241, 485, 519, 520, 521,
+ 523, 395, 266, 433, 396, 0, 376, 576, 577, 316,
+ 0, 0, 0, 528, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 416, 0, 0, 0, 0,
+ 0, 0, 0, 270, 1793, 0, 0, 0, 366, 267,
+ 0, 0, 204, 505, 0, 430, 0, 203, 0, 487,
+ 252, 377, 374, 583, 282, 273, 269, 250, 317, 385,
+ 428, 518, 422, 0, 370, 0, 0, 497, 401, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 323, 248, 325,
+ 202, 413, 498, 286, 0, 0, 0, 0, 1792, 507,
+ 720, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 238, 0, 0, 245, 0, 0, 0, 351, 360, 359,
+ 339, 340, 342, 344, 350, 357, 363, 336, 345, 0,
+ 0, 607, 0, 0, 0, 265, 321, 272, 264, 580,
+ 0, 0, 0, 0, 0, 0, 0, 0, 229, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 275, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 297, 0, 402, 257, 0,
+ 453, 0, 0, 0, 626, 0, 0, 0, 0, 0,
+ 0, 0, 365, 0, 330, 197, 225, 0, 0, 412,
+ 461, 473, 0, 0, 0, 253, 0, 471, 426, 602,
+ 233, 284, 458, 432, 469, 440, 287, 0, 0, 470,
+ 372, 585, 450, 599, 627, 628, 263, 406, 612, 522,
+ 620, 645, 226, 260, 420, 506, 605, 494, 397, 581,
+ 582, 329, 493, 295, 201, 369, 633, 224, 479, 371,
+ 242, 231, 587, 609, 299, 289, 456, 640, 213, 517,
+ 597, 239, 483, 0, 0, 648, 247, 504, 215, 594,
+ 503, 393, 326, 327, 214, 0, 457, 268, 293, 0,
+ 0, 258, 415, 589, 590, 256, 649, 228, 619, 220,
+ 0, 618, 408, 584, 595, 394, 383, 219, 593, 392,
+ 382, 334, 355, 356, 280, 307, 447, 375, 448, 306,
+ 308, 404, 403, 405, 207, 606, 623, 0, 208, 0,
+ 499, 608, 650, 452, 212, 234, 235, 237, 0, 279,
+ 283, 291, 294, 303, 304, 313, 367, 419, 446, 442,
+ 451, 0, 579, 600, 613, 625, 631, 632, 634, 635,
+ 636, 637, 638, 641, 639, 407, 311, 495, 333, 373,
+ 0, 0, 425, 472, 240, 604, 496, 199, 0, 0,
+ 0, 0, 254, 255, 0, 575, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 651, 652, 653, 654, 655,
+ 656, 657, 658, 659, 660, 661, 662, 663, 664, 665,
+ 666, 667, 668, 646, 508, 514, 509, 510, 511, 512,
+ 513, 0, 515, 0, 0, 0, 0, 0, 398, 0,
+ 591, 592, 669, 384, 486, 601, 335, 349, 352, 341,
+ 361, 0, 362, 337, 338, 343, 346, 347, 348, 353,
+ 354, 358, 364, 249, 210, 390, 399, 578, 312, 216,
+ 217, 218, 524, 525, 526, 527, 616, 617, 621, 205,
+ 462, 463, 464, 465, 292, 611, 309, 468, 467, 331,
+ 332, 379, 449, 540, 542, 553, 557, 559, 561, 567,
+ 570, 541, 543, 554, 558, 560, 562, 568, 571, 530,
+ 532, 534, 536, 549, 548, 545, 573, 574, 551, 556,
+ 535, 547, 552, 565, 572, 569, 529, 533, 537, 546,
+ 564, 563, 544, 555, 566, 550, 538, 531, 539, 0,
+ 196, 221, 368, 0, 454, 288, 647, 615, 484, 610,
+ 206, 223, 0, 262, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 198, 200, 209, 222, 232,
+ 236, 243, 261, 276, 278, 285, 298, 310, 318, 319,
+ 322, 328, 380, 386, 387, 388, 389, 409, 410, 411,
+ 414, 417, 418, 421, 423, 424, 427, 431, 435, 436,
+ 437, 439, 441, 443, 455, 460, 474, 475, 476, 477,
+ 478, 481, 482, 488, 489, 490, 491, 492, 500, 501,
+ 516, 586, 588, 603, 622, 629, 480, 301, 302, 444,
+ 445, 314, 315, 643, 644, 300, 598, 630, 596, 642,
+ 624, 438, 378, 0, 0, 381, 281, 305, 320, 0,
+ 614, 502, 227, 466, 290, 251, 0, 0, 211, 246,
+ 230, 259, 274, 277, 324, 391, 400, 429, 434, 296,
+ 271, 244, 459, 241, 485, 519, 520, 521, 523, 395,
+ 266, 433, 396, 0, 376, 576, 577, 316, 0, 0,
+ 0, 528, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 416, 0, 0, 0, 0, 0, 0,
+ 0, 270, 0, 0, 0, 0, 366, 267, 0, 0,
+ 204, 505, 0, 430, 0, 203, 0, 487, 252, 377,
+ 374, 583, 282, 273, 269, 250, 317, 385, 428, 518,
+ 422, 0, 370, 0, 0, 497, 401, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 323, 248, 325, 202, 413,
+ 498, 286, 0, 0, 0, 0, 0, 507, 722, 723,
+ 724, 0, 0, 0, 0, 0, 0, 0, 238, 0,
+ 0, 245, 0, 0, 0, 351, 360, 359, 339, 340,
+ 342, 344, 350, 357, 363, 336, 345, 0, 0, 607,
+ 0, 0, 0, 265, 321, 272, 264, 580, 0, 0,
+ 0, 0, 0, 0, 0, 0, 229, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 275, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 297, 0, 402, 257, 0, 453, 0,
+ 0, 0, 626, 0, 0, 0, 0, 0, 0, 0,
+ 365, 0, 330, 197, 225, 0, 0, 412, 461, 473,
+ 0, 0, 0, 253, 0, 471, 426, 602, 233, 284,
+ 458, 432, 469, 440, 287, 0, 0, 470, 372, 585,
+ 450, 599, 627, 628, 263, 406, 612, 522, 620, 645,
+ 226, 260, 420, 506, 605, 494, 397, 581, 582, 329,
+ 493, 295, 201, 369, 633, 224, 479, 371, 242, 231,
+ 587, 609, 299, 289, 456, 640, 213, 517, 597, 239,
+ 483, 0, 0, 648, 247, 504, 215, 594, 503, 393,
+ 326, 327, 214, 0, 457, 268, 293, 0, 0, 258,
+ 415, 589, 590, 256, 649, 228, 619, 220, 0, 618,
+ 408, 584, 595, 394, 383, 219, 593, 392, 382, 334,
+ 355, 356, 280, 307, 447, 375, 448, 306, 308, 404,
+ 403, 405, 207, 606, 623, 0, 208, 0, 499, 608,
+ 650, 452, 212, 234, 235, 237, 0, 279, 283, 291,
+ 294, 303, 304, 313, 367, 419, 446, 442, 451, 0,
+ 579, 600, 613, 625, 631, 632, 634, 635, 636, 637,
+ 638, 641, 639, 407, 311, 495, 333, 373, 0, 0,
+ 425, 472, 240, 604, 496, 199, 0, 0, 0, 0,
+ 254, 255, 0, 575, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 651, 652, 653, 654, 655, 656, 657,
+ 658, 659, 660, 661, 662, 663, 664, 665, 666, 667,
+ 668, 646, 508, 514, 509, 510, 511, 512, 513, 0,
+ 515, 0, 0, 0, 0, 0, 398, 0, 591, 592,
+ 669, 384, 486, 601, 335, 349, 352, 341, 361, 0,
+ 362, 337, 338, 343, 346, 347, 348, 353, 354, 358,
+ 364, 249, 210, 390, 399, 578, 312, 216, 217, 218,
+ 524, 525, 526, 527, 616, 617, 621, 205, 462, 463,
+ 464, 465, 292, 611, 309, 468, 467, 331, 332, 379,
+ 449, 540, 542, 553, 557, 559, 561, 567, 570, 541,
+ 543, 554, 558, 560, 562, 568, 571, 530, 532, 534,
+ 536, 549, 548, 545, 573, 574, 551, 556, 535, 547,
+ 552, 565, 572, 569, 529, 533, 537, 546, 564, 563,
+ 544, 555, 566, 550, 538, 531, 539, 0, 196, 221,
+ 368, 0, 454, 288, 647, 615, 484, 610, 206, 223,
+ 0, 262, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 198, 200, 209, 222, 232, 236, 243,
+ 261, 276, 278, 285, 298, 310, 318, 319, 322, 328,
+ 380, 386, 387, 388, 389, 409, 410, 411, 414, 417,
+ 418, 421, 423, 424, 427, 431, 435, 436, 437, 439,
+ 441, 443, 455, 460, 474, 475, 476, 477, 478, 481,
+ 482, 488, 489, 490, 491, 492, 500, 501, 516, 586,
+ 588, 603, 622, 629, 480, 301, 302, 444, 445, 314,
+ 315, 643, 644, 300, 598, 630, 596, 642, 624, 438,
+ 378, 0, 0, 381, 281, 305, 320, 0, 614, 502,
+ 227, 466, 290, 251, 0, 0, 211, 246, 230, 259,
+ 274, 277, 324, 391, 400, 429, 434, 296, 271, 244,
+ 459, 241, 485, 519, 520, 521, 523, 395, 266, 433,
+ 396, 0, 376, 576, 577, 316, 0, 0, 0, 528,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 416, 0, 0, 0, 0, 0, 0, 0, 270,
+ 0, 0, 0, 0, 366, 267, 0, 0, 204, 505,
+ 0, 430, 0, 203, 0, 487, 252, 377, 374, 583,
+ 282, 273, 269, 250, 317, 385, 428, 518, 422, 0,
+ 370, 0, 0, 497, 401, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 323, 248, 325, 202, 413, 498, 286,
+ 0, 0, 0, 0, 0, 507, 720, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 238, 0, 0, 245,
+ 0, 0, 0, 351, 360, 359, 339, 340, 342, 344,
+ 350, 357, 363, 336, 345, 0, 0, 607, 0, 0,
+ 0, 265, 321, 272, 264, 580, 0, 0, 0, 0,
+ 0, 0, 0, 0, 229, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 275,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 297, 0, 402, 257, 0, 453, 0, 0, 0,
+ 626, 0, 0, 0, 4063, 0, 0, 0, 365, 0,
+ 330, 197, 225, 0, 0, 412, 461, 473, 0, 0,
+ 0, 253, 0, 471, 426, 602, 233, 284, 458, 432,
+ 469, 440, 287, 0, 0, 470, 372, 585, 450, 599,
+ 627, 628, 263, 406, 612, 522, 620, 645, 226, 260,
+ 420, 506, 605, 494, 397, 581, 582, 329, 493, 295,
+ 201, 369, 633, 224, 479, 371, 242, 231, 587, 609,
+ 299, 289, 456, 640, 213, 517, 597, 239, 483, 0,
+ 0, 648, 247, 504, 215, 594, 503, 393, 326, 327,
+ 214, 0, 457, 268, 293, 0, 0, 258, 415, 589,
+ 590, 256, 649, 228, 619, 220, 0, 618, 408, 584,
+ 595, 394, 383, 219, 593, 392, 382, 334, 355, 356,
+ 280, 307, 447, 375, 448, 306, 308, 404, 403, 405,
+ 207, 606, 623, 0, 208, 0, 499, 608, 650, 452,
+ 212, 234, 235, 237, 0, 279, 283, 291, 294, 303,
+ 304, 313, 367, 419, 446, 442, 451, 0, 579, 600,
+ 613, 625, 631, 632, 634, 635, 636, 637, 638, 641,
+ 639, 407, 311, 495, 333, 373, 0, 0, 425, 472,
+ 240, 604, 496, 199, 0, 0, 0, 0, 254, 255,
+ 0, 575, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 651, 652, 653, 654, 655, 656, 657, 658, 659,
+ 660, 661, 662, 663, 664, 665, 666, 667, 668, 646,
+ 508, 514, 509, 510, 511, 512, 513, 0, 515, 0,
+ 0, 0, 0, 0, 398, 0, 591, 592, 669, 384,
+ 486, 601, 335, 349, 352, 341, 361, 0, 362, 337,
+ 338, 343, 346, 347, 348, 353, 354, 358, 364, 249,
+ 210, 390, 399, 578, 312, 216, 217, 218, 524, 525,
+ 526, 527, 616, 617, 621, 205, 462, 463, 464, 465,
+ 292, 611, 309, 468, 467, 331, 332, 379, 449, 540,
+ 542, 553, 557, 559, 561, 567, 570, 541, 543, 554,
+ 558, 560, 562, 568, 571, 530, 532, 534, 536, 549,
+ 548, 545, 573, 574, 551, 556, 535, 547, 552, 565,
+ 572, 569, 529, 533, 537, 546, 564, 563, 544, 555,
+ 566, 550, 538, 531, 539, 0, 196, 221, 368, 0,
+ 454, 288, 647, 615, 484, 610, 206, 223, 0, 262,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 198, 200, 209, 222, 232, 236, 243, 261, 276,
+ 278, 285, 298, 310, 318, 319, 322, 328, 380, 386,
+ 387, 388, 389, 409, 410, 411, 414, 417, 418, 421,
+ 423, 424, 427, 431, 435, 436, 437, 439, 441, 443,
+ 455, 460, 474, 475, 476, 477, 478, 481, 482, 488,
+ 489, 490, 491, 492, 500, 501, 516, 586, 588, 603,
+ 622, 629, 480, 301, 302, 444, 445, 314, 315, 643,
+ 644, 300, 598, 630, 596, 642, 624, 438, 378, 0,
+ 0, 381, 281, 305, 320, 0, 614, 502, 227, 466,
+ 290, 251, 0, 0, 211, 246, 230, 259, 274, 277,
+ 324, 391, 400, 429, 434, 296, 271, 244, 459, 241,
+ 485, 519, 520, 521, 523, 395, 266, 433, 396, 0,
+ 376, 576, 577, 316, 0, 0, 0, 528, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 416,
+ 0, 0, 0, 0, 0, 0, 0, 270, 0, 0,
+ 0, 0, 366, 267, 0, 0, 204, 505, 0, 430,
+ 0, 203, 0, 487, 252, 377, 374, 583, 282, 273,
+ 269, 250, 317, 385, 428, 518, 422, 0, 370, 0,
+ 0, 497, 401, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 323, 248, 325, 202, 413, 498, 286, 0, 0,
+ 0, 0, 1954, 507, 194, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 238, 0, 0, 245, 0, 0,
+ 0, 351, 360, 359, 339, 340, 342, 344, 350, 357,
+ 363, 336, 345, 0, 0, 607, 0, 0, 0, 265,
+ 321, 272, 264, 580, 0, 0, 0, 0, 0, 0,
+ 0, 0, 229, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 275, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 297,
+ 0, 402, 257, 0, 453, 0, 0, 0, 626, 0,
+ 0, 0, 0, 0, 0, 0, 365, 0, 330, 197,
+ 225, 0, 0, 412, 461, 473, 0, 0, 0, 253,
+ 0, 471, 426, 602, 233, 284, 458, 432, 469, 440,
+ 287, 0, 0, 470, 372, 585, 450, 599, 627, 628,
+ 263, 406, 612, 522, 620, 645, 226, 260, 420, 506,
+ 605, 494, 397, 581, 582, 329, 493, 295, 201, 369,
+ 633, 224, 479, 371, 242, 231, 587, 609, 299, 289,
+ 456, 640, 213, 517, 597, 239, 483, 0, 0, 648,
+ 247, 504, 215, 594, 503, 393, 326, 327, 214, 0,
+ 457, 268, 293, 0, 0, 258, 415, 589, 590, 256,
+ 649, 228, 619, 220, 0, 618, 408, 584, 595, 394,
+ 383, 219, 593, 392, 382, 334, 355, 356, 280, 307,
+ 447, 375, 448, 306, 308, 404, 403, 405, 207, 606,
+ 623, 0, 208, 0, 499, 608, 650, 452, 212, 234,
+ 235, 237, 0, 279, 283, 291, 294, 303, 304, 313,
+ 367, 419, 446, 442, 451, 0, 579, 600, 613, 625,
+ 631, 632, 634, 635, 636, 637, 638, 641, 639, 407,
+ 311, 495, 333, 373, 0, 0, 425, 472, 240, 604,
+ 496, 199, 0, 0, 0, 0, 254, 255, 0, 575,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 651,
+ 652, 653, 654, 655, 656, 657, 658, 659, 660, 661,
+ 662, 663, 664, 665, 666, 667, 668, 646, 508, 514,
+ 509, 510, 511, 512, 513, 0, 515, 0, 0, 0,
+ 0, 0, 398, 0, 591, 592, 669, 384, 486, 601,
+ 335, 349, 352, 341, 361, 0, 362, 337, 338, 343,
+ 346, 347, 348, 353, 354, 358, 364, 249, 210, 390,
+ 399, 578, 312, 216, 217, 218, 524, 525, 526, 527,
+ 616, 617, 621, 205, 462, 463, 464, 465, 292, 611,
+ 309, 468, 467, 331, 332, 379, 449, 540, 542, 553,
+ 557, 559, 561, 567, 570, 541, 543, 554, 558, 560,
+ 562, 568, 571, 530, 532, 534, 536, 549, 548, 545,
+ 573, 574, 551, 556, 535, 547, 552, 565, 572, 569,
+ 529, 533, 537, 546, 564, 563, 544, 555, 566, 550,
+ 538, 531, 539, 0, 196, 221, 368, 0, 454, 288,
+ 647, 615, 484, 610, 206, 223, 0, 262, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 198,
+ 200, 209, 222, 232, 236, 243, 261, 276, 278, 285,
+ 298, 310, 318, 319, 322, 328, 380, 386, 387, 388,
+ 389, 409, 410, 411, 414, 417, 418, 421, 423, 424,
+ 427, 431, 435, 436, 437, 439, 441, 443, 455, 460,
+ 474, 475, 476, 477, 478, 481, 482, 488, 489, 490,
+ 491, 492, 500, 501, 516, 586, 588, 603, 622, 629,
+ 480, 301, 302, 444, 445, 314, 315, 643, 644, 300,
+ 598, 630, 596, 642, 624, 438, 378, 0, 0, 381,
+ 281, 305, 320, 0, 614, 502, 227, 466, 290, 251,
+ 0, 0, 211, 246, 230, 259, 274, 277, 324, 391,
+ 400, 429, 434, 296, 271, 244, 459, 241, 485, 519,
+ 520, 521, 523, 395, 266, 433, 396, 0, 376, 576,
+ 577, 316, 0, 0, 0, 528, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 416, 0, 0,
+ 0, 0, 0, 0, 0, 270, 0, 0, 0, 0,
+ 366, 267, 0, 0, 204, 505, 0, 430, 0, 203,
+ 0, 487, 252, 377, 374, 583, 282, 273, 269, 250,
+ 317, 385, 428, 518, 422, 0, 370, 0, 0, 497,
+ 401, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 323,
+ 248, 325, 202, 413, 498, 286, 0, 0, 0, 0,
+ 0, 507, 720, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 238, 0, 0, 245, 0, 0, 0, 351,
+ 360, 359, 339, 340, 342, 344, 350, 357, 363, 336,
+ 345, 0, 0, 607, 0, 0, 0, 265, 321, 272,
+ 264, 580, 0, 0, 0, 0, 0, 0, 0, 0,
+ 229, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 275, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 297, 0, 402,
+ 257, 0, 453, 0, 0, 0, 626, 0, 0, 0,
+ 3719, 0, 0, 0, 365, 0, 330, 197, 225, 0,
+ 0, 412, 461, 473, 0, 0, 0, 253, 0, 471,
+ 426, 602, 233, 284, 458, 432, 469, 440, 287, 0,
+ 0, 470, 372, 585, 450, 599, 627, 628, 263, 406,
+ 612, 522, 620, 645, 226, 260, 420, 506, 605, 494,
+ 397, 581, 582, 329, 493, 295, 201, 369, 633, 224,
+ 479, 371, 242, 231, 587, 609, 299, 289, 456, 640,
+ 213, 517, 597, 239, 483, 0, 0, 648, 247, 504,
+ 215, 594, 503, 393, 326, 327, 214, 0, 457, 268,
+ 293, 0, 0, 258, 415, 589, 590, 256, 649, 228,
+ 619, 220, 0, 618, 408, 584, 595, 394, 383, 219,
+ 593, 392, 382, 334, 355, 356, 280, 307, 447, 375,
+ 448, 306, 308, 404, 403, 405, 207, 606, 623, 0,
+ 208, 0, 499, 608, 650, 452, 212, 234, 235, 237,
+ 0, 279, 283, 291, 294, 303, 304, 313, 367, 419,
+ 446, 442, 451, 0, 579, 600, 613, 625, 631, 632,
+ 634, 635, 636, 637, 638, 641, 639, 407, 311, 495,
+ 333, 373, 0, 0, 425, 472, 240, 604, 496, 199,
+ 0, 0, 0, 0, 254, 255, 0, 575, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 651, 652, 653,
+ 654, 655, 656, 657, 658, 659, 660, 661, 662, 663,
+ 664, 665, 666, 667, 668, 646, 508, 514, 509, 510,
+ 511, 512, 513, 0, 515, 0, 0, 0, 0, 0,
+ 398, 0, 591, 592, 669, 384, 486, 601, 335, 349,
+ 352, 341, 361, 0, 362, 337, 338, 343, 346, 347,
+ 348, 353, 354, 358, 364, 249, 210, 390, 399, 578,
+ 312, 216, 217, 218, 524, 525, 526, 527, 616, 617,
+ 621, 205, 462, 463, 464, 465, 292, 611, 309, 468,
+ 467, 331, 332, 379, 449, 540, 542, 553, 557, 559,
+ 561, 567, 570, 541, 543, 554, 558, 560, 562, 568,
+ 571, 530, 532, 534, 536, 549, 548, 545, 573, 574,
+ 551, 556, 535, 547, 552, 565, 572, 569, 529, 533,
+ 537, 546, 564, 563, 544, 555, 566, 550, 538, 531,
+ 539, 0, 196, 221, 368, 0, 454, 288, 647, 615,
+ 484, 610, 206, 223, 0, 262, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 198, 200, 209,
+ 222, 232, 236, 243, 261, 276, 278, 285, 298, 310,
+ 318, 319, 322, 328, 380, 386, 387, 388, 389, 409,
+ 410, 411, 414, 417, 418, 421, 423, 424, 427, 431,
+ 435, 436, 437, 439, 441, 443, 455, 460, 474, 475,
+ 476, 477, 478, 481, 482, 488, 489, 490, 491, 492,
+ 500, 501, 516, 586, 588, 603, 622, 629, 480, 301,
+ 302, 444, 445, 314, 315, 643, 644, 300, 598, 630,
+ 596, 642, 624, 438, 378, 0, 0, 381, 281, 305,
+ 320, 0, 614, 502, 227, 466, 290, 251, 0, 0,
+ 211, 246, 230, 259, 274, 277, 324, 391, 400, 429,
+ 434, 296, 271, 244, 459, 241, 485, 519, 520, 521,
+ 523, 395, 266, 433, 396, 0, 376, 576, 577, 316,
+ 0, 0, 0, 528, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 416, 0, 0, 0, 0,
+ 0, 0, 0, 270, 0, 0, 0, 0, 366, 267,
+ 0, 0, 204, 505, 0, 430, 0, 203, 0, 487,
+ 252, 377, 374, 583, 282, 273, 269, 250, 317, 385,
+ 428, 518, 422, 0, 370, 0, 0, 497, 401, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 323, 248, 325,
+ 202, 413, 498, 286, 0, 95, 0, 0, 0, 507,
+ 720, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 238, 0, 0, 245, 0, 0, 0, 351, 360, 359,
+ 339, 340, 342, 344, 350, 357, 363, 336, 345, 0,
+ 0, 607, 0, 0, 0, 265, 321, 272, 264, 580,
+ 0, 0, 0, 0, 0, 0, 0, 0, 229, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 275, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 297, 0, 402, 257, 0,
+ 453, 0, 0, 0, 626, 0, 0, 0, 0, 0,
+ 0, 0, 365, 0, 330, 197, 225, 0, 0, 412,
+ 461, 473, 0, 0, 0, 253, 0, 471, 426, 602,
+ 233, 284, 458, 432, 469, 440, 287, 0, 0, 470,
+ 372, 585, 450, 599, 627, 628, 263, 406, 612, 522,
+ 620, 645, 226, 260, 420, 506, 605, 494, 397, 581,
+ 582, 329, 493, 295, 201, 369, 633, 224, 479, 371,
+ 242, 231, 587, 609, 299, 289, 456, 640, 213, 517,
+ 597, 239, 483, 0, 0, 648, 247, 504, 215, 594,
+ 503, 393, 326, 327, 214, 0, 457, 268, 293, 0,
+ 0, 258, 415, 589, 590, 256, 649, 228, 619, 220,
+ 0, 618, 408, 584, 595, 394, 383, 219, 593, 392,
+ 382, 334, 355, 356, 280, 307, 447, 375, 448, 306,
+ 308, 404, 403, 405, 207, 606, 623, 0, 208, 0,
+ 499, 608, 650, 452, 212, 234, 235, 237, 0, 279,
+ 283, 291, 294, 303, 304, 313, 367, 419, 446, 442,
+ 451, 0, 579, 600, 613, 625, 631, 632, 634, 635,
+ 636, 637, 638, 641, 639, 407, 311, 495, 333, 373,
+ 0, 0, 425, 472, 240, 604, 496, 199, 0, 0,
+ 0, 0, 254, 255, 0, 575, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 651, 652, 653, 654, 655,
+ 656, 657, 658, 659, 660, 661, 662, 663, 664, 665,
+ 666, 667, 668, 646, 508, 514, 509, 510, 511, 512,
+ 513, 0, 515, 0, 0, 0, 0, 0, 398, 0,
+ 591, 592, 669, 384, 486, 601, 335, 349, 352, 341,
+ 361, 0, 362, 337, 338, 343, 346, 347, 348, 353,
+ 354, 358, 364, 249, 210, 390, 399, 578, 312, 216,
+ 217, 218, 524, 525, 526, 527, 616, 617, 621, 205,
+ 462, 463, 464, 465, 292, 611, 309, 468, 467, 331,
+ 332, 379, 449, 540, 542, 553, 557, 559, 561, 567,
+ 570, 541, 543, 554, 558, 560, 562, 568, 571, 530,
+ 532, 534, 536, 549, 548, 545, 573, 574, 551, 556,
+ 535, 547, 552, 565, 572, 569, 529, 533, 537, 546,
+ 564, 563, 544, 555, 566, 550, 538, 531, 539, 0,
+ 196, 221, 368, 0, 454, 288, 647, 615, 484, 610,
+ 206, 223, 0, 262, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 198, 200, 209, 222, 232,
+ 236, 243, 261, 276, 278, 285, 298, 310, 318, 319,
+ 322, 328, 380, 386, 387, 388, 389, 409, 410, 411,
+ 414, 417, 418, 421, 423, 424, 427, 431, 435, 436,
+ 437, 439, 441, 443, 455, 460, 474, 475, 476, 477,
+ 478, 481, 482, 488, 489, 490, 491, 492, 500, 501,
+ 516, 586, 588, 603, 622, 629, 480, 301, 302, 444,
+ 445, 314, 315, 643, 644, 300, 598, 630, 596, 642,
+ 624, 438, 378, 0, 0, 381, 281, 305, 320, 0,
+ 614, 502, 227, 466, 290, 251, 0, 0, 211, 246,
+ 230, 259, 274, 277, 324, 391, 400, 429, 434, 296,
+ 271, 244, 459, 241, 485, 519, 520, 521, 523, 395,
+ 266, 433, 396, 0, 376, 576, 577, 316, 0, 0,
+ 0, 528, 0, 0, 0, 0, 2419, 0, 0, 0,
+ 0, 0, 0, 416, 0, 0, 0, 0, 0, 0,
+ 0, 270, 0, 0, 0, 0, 366, 267, 0, 0,
+ 204, 505, 0, 430, 0, 203, 0, 487, 252, 377,
+ 374, 583, 282, 273, 269, 250, 317, 385, 428, 518,
+ 422, 0, 370, 0, 0, 497, 401, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 323, 248, 325, 202, 413,
+ 498, 286, 0, 0, 0, 0, 0, 507, 194, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 238, 0,
+ 0, 245, 0, 0, 0, 351, 360, 359, 339, 340,
+ 342, 344, 350, 357, 363, 336, 345, 0, 0, 607,
+ 0, 0, 0, 265, 321, 272, 264, 580, 0, 0,
+ 0, 0, 0, 0, 0, 0, 229, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 275, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 297, 0, 402, 257, 0, 453, 0,
+ 0, 0, 626, 0, 0, 0, 0, 0, 0, 0,
+ 365, 0, 330, 197, 225, 0, 0, 412, 461, 473,
+ 0, 0, 0, 253, 0, 471, 426, 602, 233, 284,
+ 458, 432, 469, 440, 287, 0, 0, 470, 372, 585,
+ 450, 599, 627, 628, 263, 406, 612, 522, 620, 645,
+ 226, 260, 420, 506, 605, 494, 397, 581, 582, 329,
+ 493, 295, 201, 369, 633, 224, 479, 371, 242, 231,
+ 587, 609, 299, 289, 456, 640, 213, 517, 597, 239,
+ 483, 0, 0, 648, 247, 504, 215, 594, 503, 393,
+ 326, 327, 214, 0, 457, 268, 293, 0, 0, 258,
+ 415, 589, 590, 256, 649, 228, 619, 220, 0, 618,
+ 408, 584, 595, 394, 383, 219, 593, 392, 382, 334,
+ 355, 356, 280, 307, 447, 375, 448, 306, 308, 404,
+ 403, 405, 207, 606, 623, 0, 208, 0, 499, 608,
+ 650, 452, 212, 234, 235, 237, 0, 279, 283, 291,
+ 294, 303, 304, 313, 367, 419, 446, 442, 451, 0,
+ 579, 600, 613, 625, 631, 632, 634, 635, 636, 637,
+ 638, 641, 639, 407, 311, 495, 333, 373, 0, 0,
+ 425, 472, 240, 604, 496, 199, 0, 0, 0, 0,
+ 254, 255, 0, 575, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 651, 652, 653, 654, 655, 656, 657,
+ 658, 659, 660, 661, 662, 663, 664, 665, 666, 667,
+ 668, 646, 508, 514, 509, 510, 511, 512, 513, 0,
+ 515, 0, 0, 0, 0, 0, 398, 0, 591, 592,
+ 669, 384, 486, 601, 335, 349, 352, 341, 361, 0,
+ 362, 337, 338, 343, 346, 347, 348, 353, 354, 358,
+ 364, 249, 210, 390, 399, 578, 312, 216, 217, 218,
+ 524, 525, 526, 527, 616, 617, 621, 205, 462, 463,
+ 464, 465, 292, 611, 309, 468, 467, 331, 332, 379,
+ 449, 540, 542, 553, 557, 559, 561, 567, 570, 541,
+ 543, 554, 558, 560, 562, 568, 571, 530, 532, 534,
+ 536, 549, 548, 545, 573, 574, 551, 556, 535, 547,
+ 552, 565, 572, 569, 529, 533, 537, 546, 564, 563,
+ 544, 555, 566, 550, 538, 531, 539, 0, 196, 221,
+ 368, 0, 454, 288, 647, 615, 484, 610, 206, 223,
+ 0, 262, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 198, 200, 209, 222, 232, 236, 243,
+ 261, 276, 278, 285, 298, 310, 318, 319, 322, 328,
+ 380, 386, 387, 388, 389, 409, 410, 411, 414, 417,
+ 418, 421, 423, 424, 427, 431, 435, 436, 437, 439,
+ 441, 443, 455, 460, 474, 475, 476, 477, 478, 481,
+ 482, 488, 489, 490, 491, 492, 500, 501, 516, 586,
+ 588, 603, 622, 629, 480, 301, 302, 444, 445, 314,
+ 315, 643, 644, 300, 598, 630, 596, 642, 624, 438,
+ 378, 0, 0, 381, 281, 305, 320, 0, 614, 502,
+ 227, 466, 290, 251, 0, 0, 211, 246, 230, 259,
+ 274, 277, 324, 391, 400, 429, 434, 296, 271, 244,
+ 459, 241, 485, 519, 520, 521, 523, 395, 266, 433,
+ 396, 0, 376, 576, 577, 316, 0, 0, 0, 528,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 416, 0, 0, 0, 0, 0, 0, 0, 270,
+ 0, 0, 0, 0, 366, 267, 0, 0, 204, 505,
+ 0, 430, 0, 203, 0, 487, 252, 377, 374, 583,
+ 282, 273, 269, 250, 317, 385, 428, 518, 422, 0,
+ 370, 0, 0, 497, 401, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 323, 248, 325, 202, 413, 498, 286,
+ 0, 0, 0, 0, 1774, 507, 720, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 238, 0, 0, 245,
+ 0, 0, 0, 351, 360, 359, 339, 340, 342, 344,
+ 350, 357, 363, 336, 345, 0, 0, 607, 0, 0,
+ 0, 265, 321, 272, 264, 580, 0, 0, 0, 0,
+ 0, 0, 0, 0, 229, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 275,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 297, 0, 402, 257, 0, 453, 0, 0, 0,
+ 626, 0, 0, 0, 0, 0, 0, 0, 365, 0,
+ 330, 197, 225, 0, 0, 412, 461, 473, 0, 0,
+ 0, 253, 0, 471, 426, 602, 233, 284, 458, 432,
+ 469, 440, 287, 0, 0, 470, 372, 585, 450, 599,
+ 627, 628, 263, 406, 612, 522, 620, 645, 226, 260,
+ 420, 506, 605, 494, 397, 581, 582, 329, 493, 295,
+ 201, 369, 633, 224, 479, 371, 242, 231, 587, 609,
+ 299, 289, 456, 640, 213, 517, 597, 239, 483, 0,
+ 0, 648, 247, 504, 215, 594, 503, 393, 326, 327,
+ 214, 0, 457, 268, 293, 0, 0, 258, 415, 589,
+ 590, 256, 649, 228, 619, 220, 0, 618, 408, 584,
+ 595, 394, 383, 219, 593, 392, 382, 334, 355, 356,
+ 280, 307, 447, 375, 448, 306, 308, 404, 403, 405,
+ 207, 606, 623, 0, 208, 0, 499, 608, 650, 452,
+ 212, 234, 235, 237, 0, 279, 283, 291, 294, 303,
+ 304, 313, 367, 419, 446, 442, 451, 0, 579, 600,
+ 613, 625, 631, 632, 634, 635, 636, 637, 638, 641,
+ 639, 407, 311, 495, 333, 373, 0, 0, 425, 472,
+ 240, 604, 496, 199, 0, 0, 0, 0, 254, 255,
+ 0, 575, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 651, 652, 653, 654, 655, 656, 657, 658, 659,
+ 660, 661, 662, 663, 664, 665, 666, 667, 668, 646,
+ 508, 514, 509, 510, 511, 512, 513, 0, 515, 0,
+ 0, 0, 0, 0, 398, 0, 591, 592, 669, 384,
+ 486, 601, 335, 349, 352, 341, 361, 0, 362, 337,
+ 338, 343, 346, 347, 348, 353, 354, 358, 364, 249,
+ 210, 390, 399, 578, 312, 216, 217, 218, 524, 525,
+ 526, 527, 616, 617, 621, 205, 462, 463, 464, 465,
+ 292, 611, 309, 468, 467, 331, 332, 379, 449, 540,
+ 542, 553, 557, 559, 561, 567, 570, 541, 543, 554,
+ 558, 560, 562, 568, 571, 530, 532, 534, 536, 549,
+ 548, 545, 573, 574, 551, 556, 535, 547, 552, 565,
+ 572, 569, 529, 533, 537, 546, 564, 563, 544, 555,
+ 566, 550, 538, 531, 539, 0, 196, 221, 368, 0,
+ 454, 288, 647, 615, 484, 610, 206, 223, 0, 262,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 198, 200, 209, 222, 232, 236, 243, 261, 276,
+ 278, 285, 298, 310, 318, 319, 322, 328, 380, 386,
+ 387, 388, 389, 409, 410, 411, 414, 417, 418, 421,
+ 423, 424, 427, 431, 435, 436, 437, 439, 441, 443,
+ 455, 460, 474, 475, 476, 477, 478, 481, 482, 488,
+ 489, 490, 491, 492, 500, 501, 516, 586, 588, 603,
+ 622, 629, 480, 301, 302, 444, 445, 314, 315, 643,
+ 644, 300, 598, 630, 596, 642, 624, 438, 378, 0,
+ 0, 381, 281, 305, 320, 0, 614, 502, 227, 466,
+ 290, 251, 0, 0, 211, 246, 230, 259, 274, 277,
+ 324, 391, 400, 429, 434, 296, 271, 244, 459, 241,
+ 485, 519, 520, 521, 523, 395, 266, 433, 396, 0,
+ 376, 576, 577, 316, 0, 0, 0, 528, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 416,
+ 0, 0, 0, 0, 0, 0, 0, 270, 0, 0,
+ 0, 0, 366, 267, 0, 0, 204, 505, 0, 430,
+ 0, 203, 0, 487, 252, 377, 374, 583, 282, 273,
+ 269, 250, 317, 385, 428, 518, 422, 0, 370, 0,
+ 0, 497, 401, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 323, 248, 325, 202, 413, 498, 286, 0, 0,
+ 0, 0, 0, 507, 194, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 238, 0, 0, 245, 0, 0,
+ 0, 351, 360, 359, 339, 340, 342, 344, 350, 357,
+ 363, 336, 345, 0, 0, 607, 0, 0, 0, 265,
+ 321, 272, 264, 580, 0, 0, 0, 0, 0, 0,
+ 0, 0, 229, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 275, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 297,
+ 0, 402, 257, 0, 453, 0, 0, 0, 626, 0,
+ 0, 0, 0, 0, 0, 0, 365, 0, 330, 197,
+ 225, 0, 0, 412, 461, 473, 0, 0, 0, 253,
+ 0, 471, 426, 602, 233, 284, 458, 432, 469, 440,
+ 287, 0, 0, 470, 372, 585, 450, 599, 627, 628,
+ 263, 406, 612, 522, 620, 645, 226, 260, 420, 506,
+ 605, 494, 397, 581, 582, 329, 493, 295, 201, 369,
+ 633, 224, 479, 371, 242, 231, 587, 609, 299, 289,
+ 456, 640, 213, 517, 597, 239, 483, 0, 0, 648,
+ 247, 504, 215, 594, 503, 393, 326, 327, 214, 0,
+ 457, 268, 293, 0, 0, 258, 415, 589, 590, 256,
+ 649, 228, 619, 220, 0, 618, 408, 584, 595, 394,
+ 383, 219, 593, 392, 382, 334, 355, 356, 280, 307,
+ 447, 375, 448, 306, 308, 404, 403, 405, 207, 606,
+ 623, 0, 208, 0, 499, 608, 650, 452, 212, 234,
+ 235, 237, 0, 279, 283, 291, 294, 303, 304, 313,
+ 367, 419, 446, 442, 451, 0, 579, 600, 613, 625,
+ 631, 632, 634, 635, 636, 637, 638, 641, 639, 407,
+ 311, 495, 333, 373, 0, 0, 425, 472, 240, 604,
+ 496, 199, 0, 0, 0, 0, 254, 255, 0, 575,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 651,
+ 652, 653, 654, 655, 656, 657, 658, 659, 660, 661,
+ 662, 663, 664, 665, 666, 667, 668, 646, 508, 514,
+ 509, 510, 511, 512, 513, 0, 515, 0, 0, 0,
+ 0, 0, 398, 0, 591, 592, 669, 384, 486, 601,
+ 335, 349, 352, 341, 361, 0, 362, 337, 338, 343,
+ 346, 347, 348, 353, 354, 358, 364, 249, 210, 390,
+ 399, 578, 312, 216, 217, 218, 524, 525, 526, 527,
+ 616, 617, 621, 205, 462, 463, 464, 465, 292, 611,
+ 309, 468, 467, 331, 332, 379, 449, 540, 542, 553,
+ 557, 559, 561, 567, 570, 541, 543, 554, 558, 560,
+ 562, 568, 571, 530, 532, 534, 536, 549, 548, 545,
+ 573, 574, 551, 556, 535, 547, 552, 565, 572, 569,
+ 529, 533, 537, 546, 564, 563, 544, 555, 566, 550,
+ 538, 531, 539, 0, 196, 221, 368, 2071, 454, 288,
+ 647, 615, 484, 610, 206, 223, 0, 262, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 198,
+ 200, 209, 222, 232, 236, 243, 261, 276, 278, 285,
+ 298, 310, 318, 319, 322, 328, 380, 386, 387, 388,
+ 389, 409, 410, 411, 414, 417, 418, 421, 423, 424,
+ 427, 431, 435, 436, 437, 439, 441, 443, 455, 460,
+ 474, 475, 476, 477, 478, 481, 482, 488, 489, 490,
+ 491, 492, 500, 501, 516, 586, 588, 603, 622, 629,
+ 480, 301, 302, 444, 445, 314, 315, 643, 644, 300,
+ 598, 630, 596, 642, 624, 438, 378, 0, 0, 381,
+ 281, 305, 320, 0, 614, 502, 227, 466, 290, 251,
+ 0, 0, 211, 246, 230, 259, 274, 277, 324, 391,
+ 400, 429, 434, 296, 271, 244, 459, 241, 485, 519,
+ 520, 521, 523, 395, 266, 433, 396, 0, 376, 576,
+ 577, 316, 0, 0, 0, 528, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 416, 0, 0,
+ 0, 0, 0, 0, 0, 270, 0, 0, 0, 0,
+ 366, 267, 0, 0, 204, 505, 0, 430, 0, 203,
+ 0, 487, 252, 377, 374, 583, 282, 273, 269, 250,
+ 317, 385, 428, 518, 422, 0, 370, 0, 0, 497,
+ 401, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 323,
+ 248, 325, 202, 413, 498, 286, 0, 0, 0, 0,
+ 2062, 507, 720, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 238, 0, 0, 245, 0, 0, 0, 351,
+ 360, 359, 339, 340, 342, 344, 350, 357, 363, 336,
+ 345, 0, 0, 607, 0, 0, 0, 265, 321, 272,
+ 264, 580, 0, 0, 0, 0, 0, 0, 0, 0,
+ 229, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 275, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 297, 0, 402,
+ 257, 0, 453, 0, 0, 0, 626, 0, 0, 0,
+ 0, 0, 0, 0, 365, 0, 330, 197, 225, 0,
+ 0, 412, 461, 473, 0, 0, 0, 253, 0, 471,
+ 426, 602, 233, 284, 458, 432, 469, 440, 287, 0,
+ 0, 470, 372, 585, 450, 599, 627, 628, 263, 406,
+ 612, 522, 620, 645, 226, 260, 420, 506, 605, 494,
+ 397, 581, 582, 329, 493, 295, 201, 369, 633, 224,
+ 479, 371, 242, 231, 587, 609, 299, 289, 456, 640,
+ 213, 517, 597, 239, 483, 0, 0, 648, 247, 504,
+ 215, 594, 503, 393, 326, 327, 214, 0, 457, 268,
+ 293, 0, 0, 258, 415, 589, 590, 256, 649, 228,
+ 619, 220, 0, 618, 408, 584, 595, 394, 383, 219,
+ 593, 392, 382, 334, 355, 356, 280, 307, 447, 375,
+ 448, 306, 308, 404, 403, 405, 207, 606, 623, 0,
+ 208, 0, 499, 608, 650, 452, 212, 234, 235, 237,
+ 0, 279, 283, 291, 294, 303, 304, 313, 367, 419,
+ 446, 442, 451, 0, 579, 600, 613, 625, 631, 632,
+ 634, 635, 636, 637, 638, 641, 639, 407, 311, 495,
+ 333, 373, 0, 0, 425, 472, 240, 604, 496, 199,
+ 0, 0, 0, 0, 254, 255, 0, 575, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 651, 652, 653,
+ 654, 655, 656, 657, 658, 659, 660, 661, 662, 663,
+ 664, 665, 666, 667, 668, 646, 508, 514, 509, 510,
+ 511, 512, 513, 0, 515, 0, 0, 0, 0, 0,
+ 398, 0, 591, 592, 669, 384, 486, 601, 335, 349,
+ 352, 341, 361, 0, 362, 337, 338, 343, 346, 347,
+ 348, 353, 354, 358, 364, 249, 210, 390, 399, 578,
+ 312, 216, 217, 218, 524, 525, 526, 527, 616, 617,
+ 621, 205, 462, 463, 464, 465, 292, 611, 309, 468,
+ 467, 331, 332, 379, 449, 540, 542, 553, 557, 559,
+ 561, 567, 570, 541, 543, 554, 558, 560, 562, 568,
+ 571, 530, 532, 534, 536, 549, 548, 545, 573, 574,
+ 551, 556, 535, 547, 552, 565, 572, 569, 529, 533,
+ 537, 546, 564, 563, 544, 555, 566, 550, 538, 531,
+ 539, 0, 196, 221, 368, 0, 454, 288, 647, 615,
+ 484, 610, 206, 223, 0, 262, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 198, 200, 209,
+ 222, 232, 236, 243, 261, 276, 278, 285, 298, 310,
+ 318, 319, 322, 328, 380, 386, 387, 388, 389, 409,
+ 410, 411, 414, 417, 418, 421, 423, 424, 427, 431,
+ 435, 436, 437, 439, 441, 443, 455, 460, 474, 475,
+ 476, 477, 478, 481, 482, 488, 489, 490, 491, 492,
+ 500, 501, 516, 586, 588, 603, 622, 629, 480, 301,
+ 302, 444, 445, 314, 315, 643, 644, 300, 598, 630,
+ 596, 642, 624, 438, 378, 0, 0, 381, 281, 305,
+ 320, 0, 614, 502, 227, 466, 290, 251, 0, 0,
+ 211, 246, 230, 259, 274, 277, 324, 391, 400, 429,
+ 434, 296, 271, 244, 459, 241, 485, 519, 520, 521,
523, 395, 266, 433, 396, 0, 376, 576, 577, 316,
- 0, 0, 86, 528, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 528, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 416, 0, 0, 0, 0,
0, 0, 0, 270, 0, 0, 0, 0, 366, 267,
- 0, 0, 204, 505, 0, 430, 0, 203, 0, 487,
+ 0, 1921, 204, 505, 0, 430, 0, 203, 0, 487,
252, 377, 374, 583, 282, 273, 269, 250, 317, 385,
428, 518, 422, 0, 370, 0, 0, 497, 401, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 323, 248, 325,
- 202, 413, 498, 286, 0, 95, 0, 0, 0, 507,
- 194, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 238, 0, 0, 245, 0, 0, 0, 351, 360, 359,
- 339, 340, 342, 344, 350, 357, 363, 336, 345, 0,
- 0, 607, 0, 0, 0, 265, 321, 272, 264, 580,
- 0, 0, 0, 0, 0, 0, 0, 0, 229, 0,
+ 0, 0, 0, 0, 0, 0, 0, 323, 248, 325,
+ 202, 413, 498, 286, 0, 0, 0, 0, 0, 507,
+ 720, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 238, 0, 0, 245, 0, 0, 0, 351, 360, 359,
+ 339, 340, 342, 344, 350, 357, 363, 336, 345, 0,
+ 0, 607, 0, 0, 0, 265, 321, 272, 264, 580,
+ 0, 0, 0, 0, 0, 0, 0, 0, 229, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 275, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 297, 0, 402, 257, 0,
+ 453, 0, 0, 0, 626, 0, 0, 0, 0, 0,
+ 0, 0, 365, 0, 330, 197, 225, 0, 0, 412,
+ 461, 473, 0, 0, 0, 253, 0, 471, 426, 602,
+ 233, 284, 458, 432, 469, 440, 287, 0, 0, 470,
+ 372, 585, 450, 599, 627, 628, 263, 406, 612, 522,
+ 620, 645, 226, 260, 420, 506, 605, 494, 397, 581,
+ 582, 329, 493, 295, 201, 369, 633, 224, 479, 371,
+ 242, 231, 587, 609, 299, 289, 456, 640, 213, 517,
+ 597, 239, 483, 0, 0, 648, 247, 504, 215, 594,
+ 503, 393, 326, 327, 214, 0, 457, 268, 293, 0,
+ 0, 258, 415, 589, 590, 256, 649, 228, 619, 220,
+ 0, 618, 408, 584, 595, 394, 383, 219, 593, 392,
+ 382, 334, 355, 356, 280, 307, 447, 375, 448, 306,
+ 308, 404, 403, 405, 207, 606, 623, 0, 208, 0,
+ 499, 608, 650, 452, 212, 234, 235, 237, 0, 279,
+ 283, 291, 294, 303, 304, 313, 367, 419, 446, 442,
+ 451, 0, 579, 600, 613, 625, 631, 632, 634, 635,
+ 636, 637, 638, 641, 639, 407, 311, 495, 333, 373,
+ 0, 0, 425, 472, 240, 604, 496, 199, 0, 0,
+ 0, 0, 254, 255, 0, 575, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 651, 652, 653, 654, 655,
+ 656, 657, 658, 659, 660, 661, 662, 663, 664, 665,
+ 666, 667, 668, 646, 508, 514, 509, 510, 511, 512,
+ 513, 0, 515, 0, 0, 0, 0, 0, 398, 0,
+ 591, 592, 669, 384, 486, 601, 335, 349, 352, 341,
+ 361, 0, 362, 337, 338, 343, 346, 347, 348, 353,
+ 354, 358, 364, 249, 210, 390, 399, 578, 312, 216,
+ 217, 218, 524, 525, 526, 527, 616, 617, 621, 205,
+ 462, 463, 464, 465, 292, 611, 309, 468, 467, 331,
+ 332, 379, 449, 540, 542, 553, 557, 559, 561, 567,
+ 570, 541, 543, 554, 558, 560, 562, 568, 571, 530,
+ 532, 534, 536, 549, 548, 545, 573, 574, 551, 556,
+ 535, 547, 552, 565, 572, 569, 529, 533, 537, 546,
+ 564, 563, 544, 555, 566, 550, 538, 531, 539, 0,
+ 196, 221, 368, 0, 454, 288, 647, 615, 484, 610,
+ 206, 223, 0, 262, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 198, 200, 209, 222, 232,
+ 236, 243, 261, 276, 278, 285, 298, 310, 318, 319,
+ 322, 328, 380, 386, 387, 388, 389, 409, 410, 411,
+ 414, 417, 418, 421, 423, 424, 427, 431, 435, 436,
+ 437, 439, 441, 443, 455, 460, 474, 475, 476, 477,
+ 478, 481, 482, 488, 489, 490, 491, 492, 500, 501,
+ 516, 586, 588, 603, 622, 629, 480, 301, 302, 444,
+ 445, 314, 315, 643, 644, 300, 598, 630, 596, 642,
+ 624, 438, 378, 0, 0, 381, 281, 305, 320, 0,
+ 614, 502, 227, 466, 290, 251, 0, 0, 211, 246,
+ 230, 259, 274, 277, 324, 391, 400, 429, 434, 296,
+ 271, 244, 459, 241, 485, 519, 520, 521, 523, 395,
+ 266, 433, 396, 0, 376, 576, 577, 316, 0, 0,
+ 0, 528, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 416, 0, 0, 0, 0, 0, 0,
+ 0, 270, 0, 0, 0, 0, 366, 267, 0, 1919,
+ 204, 505, 0, 430, 0, 203, 0, 487, 252, 377,
+ 374, 583, 282, 273, 269, 250, 317, 385, 428, 518,
+ 422, 0, 370, 0, 0, 497, 401, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 323, 248, 325, 202, 413,
+ 498, 286, 0, 0, 0, 0, 0, 507, 720, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 238, 0,
+ 0, 245, 0, 0, 0, 351, 360, 359, 339, 340,
+ 342, 344, 350, 357, 363, 336, 345, 0, 0, 607,
+ 0, 0, 0, 265, 321, 272, 264, 580, 0, 0,
+ 0, 0, 0, 0, 0, 0, 229, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 275, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 297, 0, 402, 257, 0, 453, 0,
+ 0, 0, 626, 0, 0, 0, 0, 0, 0, 0,
+ 365, 0, 330, 197, 225, 0, 0, 412, 461, 473,
+ 0, 0, 0, 253, 0, 471, 426, 602, 233, 284,
+ 458, 432, 469, 440, 287, 0, 0, 470, 372, 585,
+ 450, 599, 627, 628, 263, 406, 612, 522, 620, 645,
+ 226, 260, 420, 506, 605, 494, 397, 581, 582, 329,
+ 493, 295, 201, 369, 633, 224, 479, 371, 242, 231,
+ 587, 609, 299, 289, 456, 640, 213, 517, 597, 239,
+ 483, 0, 0, 648, 247, 504, 215, 594, 503, 393,
+ 326, 327, 214, 0, 457, 268, 293, 0, 0, 258,
+ 415, 589, 590, 256, 649, 228, 619, 220, 0, 618,
+ 408, 584, 595, 394, 383, 219, 593, 392, 382, 334,
+ 355, 356, 280, 307, 447, 375, 448, 306, 308, 404,
+ 403, 405, 207, 606, 623, 0, 208, 0, 499, 608,
+ 650, 452, 212, 234, 235, 237, 0, 279, 283, 291,
+ 294, 303, 304, 313, 367, 419, 446, 442, 451, 0,
+ 579, 600, 613, 625, 631, 632, 634, 635, 636, 637,
+ 638, 641, 639, 407, 311, 495, 333, 373, 0, 0,
+ 425, 472, 240, 604, 496, 199, 0, 0, 0, 0,
+ 254, 255, 0, 575, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 651, 652, 653, 654, 655, 656, 657,
+ 658, 659, 660, 661, 662, 663, 664, 665, 666, 667,
+ 668, 646, 508, 514, 509, 510, 511, 512, 513, 0,
+ 515, 0, 0, 0, 0, 0, 398, 0, 591, 592,
+ 669, 384, 486, 601, 335, 349, 352, 341, 361, 0,
+ 362, 337, 338, 343, 346, 347, 348, 353, 354, 358,
+ 364, 249, 210, 390, 399, 578, 312, 216, 217, 218,
+ 524, 525, 526, 527, 616, 617, 621, 205, 462, 463,
+ 464, 465, 292, 611, 309, 468, 467, 331, 332, 379,
+ 449, 540, 542, 553, 557, 559, 561, 567, 570, 541,
+ 543, 554, 558, 560, 562, 568, 571, 530, 532, 534,
+ 536, 549, 548, 545, 573, 574, 551, 556, 535, 547,
+ 552, 565, 572, 569, 529, 533, 537, 546, 564, 563,
+ 544, 555, 566, 550, 538, 531, 539, 0, 196, 221,
+ 368, 0, 454, 288, 647, 615, 484, 610, 206, 223,
+ 0, 262, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 198, 200, 209, 222, 232, 236, 243,
+ 261, 276, 278, 285, 298, 310, 318, 319, 322, 328,
+ 380, 386, 387, 388, 389, 409, 410, 411, 414, 417,
+ 418, 421, 423, 424, 427, 431, 435, 436, 437, 439,
+ 441, 443, 455, 460, 474, 475, 476, 477, 478, 481,
+ 482, 488, 489, 490, 491, 492, 500, 501, 516, 586,
+ 588, 603, 622, 629, 480, 301, 302, 444, 445, 314,
+ 315, 643, 644, 300, 598, 630, 596, 642, 624, 438,
+ 378, 0, 0, 381, 281, 305, 320, 0, 614, 502,
+ 227, 466, 290, 251, 0, 0, 211, 246, 230, 259,
+ 274, 277, 324, 391, 400, 429, 434, 296, 271, 244,
+ 459, 241, 485, 519, 520, 521, 523, 395, 266, 433,
+ 396, 0, 376, 576, 577, 316, 0, 0, 0, 528,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 416, 0, 0, 0, 0, 0, 0, 0, 270,
+ 0, 0, 0, 0, 366, 267, 0, 1917, 204, 505,
+ 0, 430, 0, 203, 0, 487, 252, 377, 374, 583,
+ 282, 273, 269, 250, 317, 385, 428, 518, 422, 0,
+ 370, 0, 0, 497, 401, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 323, 248, 325, 202, 413, 498, 286,
+ 0, 0, 0, 0, 0, 507, 720, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 238, 0, 0, 245,
+ 0, 0, 0, 351, 360, 359, 339, 340, 342, 344,
+ 350, 357, 363, 336, 345, 0, 0, 607, 0, 0,
+ 0, 265, 321, 272, 264, 580, 0, 0, 0, 0,
+ 0, 0, 0, 0, 229, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 275,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 275, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4458,105 +6164,31 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 297, 0, 402, 257, 0,
- 453, 0, 0, 0, 625, 0, 0, 0, 0, 0,
- 0, 0, 365, 0, 330, 197, 225, 0, 0, 412,
- 461, 473, 0, 0, 0, 253, 0, 471, 426, 602,
- 233, 284, 458, 432, 469, 440, 287, 0, 0, 470,
- 372, 585, 450, 599, 626, 627, 263, 406, 612, 522,
- 620, 644, 226, 260, 420, 506, 605, 494, 397, 581,
- 582, 329, 493, 295, 201, 369, 632, 224, 479, 371,
- 242, 231, 587, 609, 299, 289, 456, 639, 213, 517,
- 597, 239, 483, 0, 0, 647, 247, 504, 215, 594,
- 503, 393, 326, 327, 214, 0, 457, 268, 293, 0,
- 0, 258, 415, 589, 590, 256, 648, 228, 619, 220,
- 0, 618, 408, 584, 595, 394, 383, 219, 593, 392,
- 382, 334, 355, 356, 280, 307, 447, 375, 448, 306,
- 308, 404, 403, 405, 207, 606, 0, 208, 0, 499,
- 608, 649, 452, 212, 234, 235, 237, 0, 279, 283,
- 291, 294, 303, 304, 313, 367, 419, 446, 442, 451,
- 0, 579, 600, 613, 624, 630, 631, 633, 634, 635,
- 636, 637, 640, 638, 407, 311, 495, 333, 373, 0,
- 0, 425, 472, 240, 604, 496, 199, 0, 0, 0,
- 0, 254, 255, 0, 575, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 650, 651, 652, 653, 654, 655,
- 656, 657, 658, 659, 660, 661, 662, 663, 664, 665,
- 666, 667, 645, 508, 514, 509, 510, 511, 512, 513,
- 0, 515, 0, 0, 0, 0, 0, 398, 0, 591,
- 592, 668, 384, 486, 601, 335, 349, 352, 341, 361,
- 0, 362, 337, 338, 343, 346, 347, 348, 353, 354,
- 358, 364, 249, 210, 390, 399, 578, 312, 216, 217,
- 218, 524, 525, 526, 527, 616, 617, 621, 205, 462,
- 463, 464, 465, 292, 611, 309, 468, 467, 331, 332,
- 379, 449, 540, 542, 553, 557, 559, 561, 567, 570,
- 541, 543, 554, 558, 560, 562, 568, 571, 530, 532,
- 534, 536, 549, 548, 545, 573, 574, 551, 556, 535,
- 547, 552, 565, 572, 569, 529, 533, 537, 546, 564,
- 563, 544, 555, 566, 550, 538, 531, 539, 0, 196,
- 221, 368, 94, 454, 288, 646, 615, 484, 610, 206,
- 223, 0, 262, 0, 0, 0, 0, 0, 0, 2415,
- 0, 0, 2414, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 198, 200, 209, 222, 232, 236,
- 243, 261, 276, 278, 285, 298, 310, 318, 319, 322,
- 328, 380, 386, 387, 388, 389, 409, 410, 411, 414,
- 417, 418, 421, 423, 424, 427, 431, 435, 436, 437,
- 439, 441, 443, 455, 460, 474, 475, 476, 477, 478,
- 481, 482, 488, 489, 490, 491, 492, 500, 501, 516,
- 586, 588, 603, 622, 628, 480, 301, 302, 444, 445,
- 314, 315, 642, 643, 300, 598, 629, 596, 641, 623,
- 438, 378, 0, 0, 381, 281, 305, 320, 0, 614,
- 502, 227, 466, 290, 251, 0, 0, 211, 246, 230,
- 259, 274, 277, 324, 391, 400, 429, 434, 296, 271,
- 244, 459, 241, 485, 519, 520, 521, 523, 395, 266,
- 433, 1769, 0, 376, 576, 577, 316, 0, 0, 0,
- 528, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 416, 0, 0, 1771, 0, 0, 0, 0,
- 270, 0, 0, 0, 0, 366, 267, 0, 0, 204,
- 505, 0, 430, 0, 203, 0, 487, 252, 377, 374,
- 583, 282, 273, 269, 250, 317, 385, 428, 518, 422,
- 0, 370, 0, 0, 497, 401, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 323, 248, 325, 202, 413, 498,
- 286, 0, 0, 0, 0, 1773, 507, 719, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 238, 0, 0,
- 245, 0, 0, 0, 351, 360, 359, 339, 340, 342,
- 344, 350, 357, 363, 336, 345, 0, 0, 607, 0,
- 0, 0, 265, 321, 272, 264, 580, 0, 0, 0,
- 0, 0, 0, 0, 0, 229, 0, 0, 0, 1471,
- 0, 1472, 1473, 0, 0, 0, 0, 0, 0, 0,
- 275, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 297, 0, 402, 257, 0, 453, 0, 0,
- 0, 625, 0, 0, 0, 0, 0, 0, 0, 365,
- 0, 330, 197, 225, 0, 0, 412, 461, 473, 0,
- 0, 0, 253, 0, 471, 426, 602, 233, 284, 458,
- 432, 469, 440, 287, 0, 0, 470, 372, 585, 450,
- 599, 626, 627, 263, 406, 612, 522, 620, 644, 226,
- 260, 420, 506, 605, 494, 397, 581, 582, 329, 493,
- 295, 201, 369, 632, 224, 479, 371, 242, 231, 587,
- 609, 299, 289, 456, 639, 213, 517, 597, 239, 483,
- 0, 0, 647, 247, 504, 215, 594, 503, 393, 326,
- 327, 214, 0, 457, 268, 293, 0, 0, 258, 415,
- 589, 590, 256, 648, 228, 619, 220, 0, 618, 408,
- 584, 595, 394, 383, 219, 593, 392, 382, 334, 355,
- 356, 280, 307, 447, 375, 448, 306, 308, 404, 403,
- 405, 207, 606, 0, 208, 0, 499, 608, 649, 452,
+ 0, 297, 0, 402, 257, 0, 453, 0, 0, 0,
+ 626, 0, 0, 0, 0, 0, 0, 0, 365, 0,
+ 330, 197, 225, 0, 0, 412, 461, 473, 0, 0,
+ 0, 253, 0, 471, 426, 602, 233, 284, 458, 432,
+ 469, 440, 287, 0, 0, 470, 372, 585, 450, 599,
+ 627, 628, 263, 406, 612, 522, 620, 645, 226, 260,
+ 420, 506, 605, 494, 397, 581, 582, 329, 493, 295,
+ 201, 369, 633, 224, 479, 371, 242, 231, 587, 609,
+ 299, 289, 456, 640, 213, 517, 597, 239, 483, 0,
+ 0, 648, 247, 504, 215, 594, 503, 393, 326, 327,
+ 214, 0, 457, 268, 293, 0, 0, 258, 415, 589,
+ 590, 256, 649, 228, 619, 220, 0, 618, 408, 584,
+ 595, 394, 383, 219, 593, 392, 382, 334, 355, 356,
+ 280, 307, 447, 375, 448, 306, 308, 404, 403, 405,
+ 207, 606, 623, 0, 208, 0, 499, 608, 650, 452,
212, 234, 235, 237, 0, 279, 283, 291, 294, 303,
304, 313, 367, 419, 446, 442, 451, 0, 579, 600,
- 613, 624, 630, 631, 633, 634, 635, 636, 637, 640,
- 638, 407, 311, 495, 333, 373, 0, 0, 425, 472,
+ 613, 625, 631, 632, 634, 635, 636, 637, 638, 641,
+ 639, 407, 311, 495, 333, 373, 0, 0, 425, 472,
240, 604, 496, 199, 0, 0, 0, 0, 254, 255,
0, 575, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 650, 651, 652, 653, 654, 655, 656, 657, 658,
- 659, 660, 661, 662, 663, 664, 665, 666, 667, 645,
+ 0, 651, 652, 653, 654, 655, 656, 657, 658, 659,
+ 660, 661, 662, 663, 664, 665, 666, 667, 668, 646,
508, 514, 509, 510, 511, 512, 513, 0, 515, 0,
- 0, 0, 0, 0, 398, 0, 591, 592, 668, 384,
+ 0, 0, 0, 0, 398, 0, 591, 592, 669, 384,
486, 601, 335, 349, 352, 341, 361, 0, 362, 337,
338, 343, 346, 347, 348, 353, 354, 358, 364, 249,
210, 390, 399, 578, 312, 216, 217, 218, 524, 525,
@@ -4567,7 +6199,7 @@ var yyAct = [...]int{
548, 545, 573, 574, 551, 556, 535, 547, 552, 565,
572, 569, 529, 533, 537, 546, 564, 563, 544, 555,
566, 550, 538, 531, 539, 0, 196, 221, 368, 0,
- 454, 288, 646, 615, 484, 610, 206, 223, 0, 262,
+ 454, 288, 647, 615, 484, 610, 206, 223, 0, 262,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 198, 200, 209, 222, 232, 236, 243, 261, 276,
@@ -4576,22 +6208,22 @@ var yyAct = [...]int{
423, 424, 427, 431, 435, 436, 437, 439, 441, 443,
455, 460, 474, 475, 476, 477, 478, 481, 482, 488,
489, 490, 491, 492, 500, 501, 516, 586, 588, 603,
- 622, 628, 480, 301, 302, 444, 445, 314, 315, 642,
- 643, 300, 598, 629, 596, 641, 623, 438, 378, 0,
+ 622, 629, 480, 301, 302, 444, 445, 314, 315, 643,
+ 644, 300, 598, 630, 596, 642, 624, 438, 378, 0,
0, 381, 281, 305, 320, 0, 614, 502, 227, 466,
290, 251, 0, 0, 211, 246, 230, 259, 274, 277,
324, 391, 400, 429, 434, 296, 271, 244, 459, 241,
485, 519, 520, 521, 523, 395, 266, 433, 396, 0,
- 376, 576, 577, 316, 0, 0, 86, 528, 0, 0,
+ 376, 576, 577, 316, 0, 0, 0, 528, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 416,
0, 0, 0, 0, 0, 0, 0, 270, 0, 0,
- 0, 0, 366, 267, 0, 0, 204, 505, 0, 430,
+ 0, 0, 366, 267, 0, 1915, 204, 505, 0, 430,
0, 203, 0, 487, 252, 377, 374, 583, 282, 273,
269, 250, 317, 385, 428, 518, 422, 0, 370, 0,
0, 497, 401, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 323, 248, 325, 202, 413, 498, 286, 0, 95,
- 0, 1746, 0, 507, 719, 0, 0, 0, 0, 0,
+ 0, 323, 248, 325, 202, 413, 498, 286, 0, 0,
+ 0, 0, 0, 507, 720, 0, 0, 0, 0, 0,
0, 0, 0, 0, 238, 0, 0, 245, 0, 0,
0, 351, 360, 359, 339, 340, 342, 344, 350, 357,
363, 336, 345, 0, 0, 607, 0, 0, 0, 265,
@@ -4606,105 +6238,179 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 297,
- 0, 402, 257, 0, 453, 0, 0, 0, 625, 0,
+ 0, 402, 257, 0, 453, 0, 0, 0, 626, 0,
0, 0, 0, 0, 0, 0, 365, 0, 330, 197,
225, 0, 0, 412, 461, 473, 0, 0, 0, 253,
0, 471, 426, 602, 233, 284, 458, 432, 469, 440,
- 287, 0, 0, 470, 372, 585, 450, 599, 626, 627,
- 263, 406, 612, 522, 620, 644, 226, 260, 420, 506,
+ 287, 0, 0, 470, 372, 585, 450, 599, 627, 628,
+ 263, 406, 612, 522, 620, 645, 226, 260, 420, 506,
605, 494, 397, 581, 582, 329, 493, 295, 201, 369,
- 632, 224, 479, 371, 242, 231, 587, 609, 299, 289,
- 456, 639, 213, 517, 597, 239, 483, 0, 0, 647,
+ 633, 224, 479, 371, 242, 231, 587, 609, 299, 289,
+ 456, 640, 213, 517, 597, 239, 483, 0, 0, 648,
247, 504, 215, 594, 503, 393, 326, 327, 214, 0,
457, 268, 293, 0, 0, 258, 415, 589, 590, 256,
- 648, 228, 619, 220, 0, 618, 408, 584, 595, 394,
+ 649, 228, 619, 220, 0, 618, 408, 584, 595, 394,
383, 219, 593, 392, 382, 334, 355, 356, 280, 307,
447, 375, 448, 306, 308, 404, 403, 405, 207, 606,
- 0, 208, 0, 499, 608, 649, 452, 212, 234, 235,
- 237, 0, 279, 283, 291, 294, 303, 304, 313, 367,
- 419, 446, 442, 451, 0, 579, 600, 613, 624, 630,
- 631, 633, 634, 635, 636, 637, 640, 638, 407, 311,
- 495, 333, 373, 0, 0, 425, 472, 240, 604, 496,
- 199, 0, 0, 0, 0, 254, 255, 0, 575, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 650, 651,
+ 623, 0, 208, 0, 499, 608, 650, 452, 212, 234,
+ 235, 237, 0, 279, 283, 291, 294, 303, 304, 313,
+ 367, 419, 446, 442, 451, 0, 579, 600, 613, 625,
+ 631, 632, 634, 635, 636, 637, 638, 641, 639, 407,
+ 311, 495, 333, 373, 0, 0, 425, 472, 240, 604,
+ 496, 199, 0, 0, 0, 0, 254, 255, 0, 575,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 651,
652, 653, 654, 655, 656, 657, 658, 659, 660, 661,
- 662, 663, 664, 665, 666, 667, 645, 508, 514, 509,
- 510, 511, 512, 513, 0, 515, 0, 0, 0, 0,
- 0, 398, 0, 591, 592, 668, 384, 486, 601, 335,
- 349, 352, 341, 361, 0, 362, 337, 338, 343, 346,
- 347, 348, 353, 354, 358, 364, 249, 210, 390, 399,
- 578, 312, 216, 217, 218, 524, 525, 526, 527, 616,
- 617, 621, 205, 462, 463, 464, 465, 292, 611, 309,
- 468, 467, 331, 332, 379, 449, 540, 542, 553, 557,
- 559, 561, 567, 570, 541, 543, 554, 558, 560, 562,
- 568, 571, 530, 532, 534, 536, 549, 548, 545, 573,
- 574, 551, 556, 535, 547, 552, 565, 572, 569, 529,
- 533, 537, 546, 564, 563, 544, 555, 566, 550, 538,
- 531, 539, 0, 196, 221, 368, 94, 454, 288, 646,
- 615, 484, 610, 206, 223, 0, 262, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 198, 200,
- 209, 222, 232, 236, 243, 261, 276, 278, 285, 298,
- 310, 318, 319, 322, 328, 380, 386, 387, 388, 389,
- 409, 410, 411, 414, 417, 418, 421, 423, 424, 427,
- 431, 435, 436, 437, 439, 441, 443, 455, 460, 474,
- 475, 476, 477, 478, 481, 482, 488, 489, 490, 491,
- 492, 500, 501, 516, 586, 588, 603, 622, 628, 480,
- 301, 302, 444, 445, 314, 315, 642, 643, 300, 598,
- 629, 596, 641, 623, 438, 378, 0, 0, 381, 281,
- 305, 320, 0, 614, 502, 227, 466, 290, 251, 0,
- 0, 211, 246, 230, 259, 274, 277, 324, 391, 400,
- 429, 434, 296, 271, 244, 459, 241, 485, 519, 520,
- 521, 523, 395, 266, 433, 396, 0, 376, 576, 577,
- 316, 0, 0, 0, 528, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 416, 0, 0, 0,
- 0, 0, 0, 0, 270, 0, 0, 0, 0, 366,
- 267, 0, 0, 204, 505, 0, 430, 0, 203, 0,
- 487, 252, 377, 374, 583, 282, 273, 269, 250, 317,
- 385, 428, 518, 422, 0, 370, 0, 0, 497, 401,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 323, 248,
- 325, 202, 413, 498, 286, 0, 95, 0, 0, 0,
- 507, 194, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 238, 0, 0, 245, 0, 0, 0, 351, 360,
- 359, 339, 340, 342, 344, 350, 357, 363, 336, 345,
- 0, 0, 607, 0, 0, 0, 265, 321, 272, 264,
- 580, 0, 0, 0, 0, 0, 0, 0, 0, 229,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 275, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 297, 0, 402, 257,
- 0, 453, 0, 0, 0, 625, 0, 0, 0, 0,
- 0, 0, 0, 365, 0, 330, 197, 225, 0, 0,
- 412, 461, 473, 0, 0, 0, 253, 0, 471, 426,
- 602, 233, 284, 458, 432, 469, 440, 287, 0, 0,
- 470, 372, 585, 450, 599, 626, 627, 263, 406, 612,
- 522, 620, 644, 226, 260, 420, 506, 605, 494, 397,
- 581, 582, 329, 493, 295, 201, 369, 632, 224, 479,
- 371, 242, 231, 587, 609, 299, 289, 456, 639, 213,
- 517, 597, 239, 483, 0, 0, 647, 247, 504, 215,
- 594, 503, 393, 326, 327, 214, 0, 457, 268, 293,
- 0, 0, 258, 415, 589, 590, 256, 648, 228, 619,
- 220, 0, 618, 408, 584, 595, 394, 383, 219, 593,
- 392, 382, 334, 355, 356, 280, 307, 447, 375, 448,
- 306, 308, 404, 403, 405, 207, 606, 0, 208, 0,
- 499, 608, 649, 452, 212, 234, 235, 237, 0, 279,
+ 662, 663, 664, 665, 666, 667, 668, 646, 508, 514,
+ 509, 510, 511, 512, 513, 0, 515, 0, 0, 0,
+ 0, 0, 398, 0, 591, 592, 669, 384, 486, 601,
+ 335, 349, 352, 341, 361, 0, 362, 337, 338, 343,
+ 346, 347, 348, 353, 354, 358, 364, 249, 210, 390,
+ 399, 578, 312, 216, 217, 218, 524, 525, 526, 527,
+ 616, 617, 621, 205, 462, 463, 464, 465, 292, 611,
+ 309, 468, 467, 331, 332, 379, 449, 540, 542, 553,
+ 557, 559, 561, 567, 570, 541, 543, 554, 558, 560,
+ 562, 568, 571, 530, 532, 534, 536, 549, 548, 545,
+ 573, 574, 551, 556, 535, 547, 552, 565, 572, 569,
+ 529, 533, 537, 546, 564, 563, 544, 555, 566, 550,
+ 538, 531, 539, 0, 196, 221, 368, 0, 454, 288,
+ 647, 615, 484, 610, 206, 223, 0, 262, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 198,
+ 200, 209, 222, 232, 236, 243, 261, 276, 278, 285,
+ 298, 310, 318, 319, 322, 328, 380, 386, 387, 388,
+ 389, 409, 410, 411, 414, 417, 418, 421, 423, 424,
+ 427, 431, 435, 436, 437, 439, 441, 443, 455, 460,
+ 474, 475, 476, 477, 478, 481, 482, 488, 489, 490,
+ 491, 492, 500, 501, 516, 586, 588, 603, 622, 629,
+ 480, 301, 302, 444, 445, 314, 315, 643, 644, 300,
+ 598, 630, 596, 642, 624, 438, 378, 0, 0, 381,
+ 281, 305, 320, 0, 614, 502, 227, 466, 290, 251,
+ 0, 0, 211, 246, 230, 259, 274, 277, 324, 391,
+ 400, 429, 434, 296, 271, 244, 459, 241, 485, 519,
+ 520, 521, 523, 395, 266, 433, 396, 0, 376, 576,
+ 577, 316, 0, 0, 0, 528, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 416, 0, 0,
+ 0, 0, 0, 0, 0, 270, 0, 0, 0, 0,
+ 366, 267, 0, 1913, 204, 505, 0, 430, 0, 203,
+ 0, 487, 252, 377, 374, 583, 282, 273, 269, 250,
+ 317, 385, 428, 518, 422, 0, 370, 0, 0, 497,
+ 401, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 323,
+ 248, 325, 202, 413, 498, 286, 0, 0, 0, 0,
+ 0, 507, 720, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 238, 0, 0, 245, 0, 0, 0, 351,
+ 360, 359, 339, 340, 342, 344, 350, 357, 363, 336,
+ 345, 0, 0, 607, 0, 0, 0, 265, 321, 272,
+ 264, 580, 0, 0, 0, 0, 0, 0, 0, 0,
+ 229, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 275, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 297, 0, 402,
+ 257, 0, 453, 0, 0, 0, 626, 0, 0, 0,
+ 0, 0, 0, 0, 365, 0, 330, 197, 225, 0,
+ 0, 412, 461, 473, 0, 0, 0, 253, 0, 471,
+ 426, 602, 233, 284, 458, 432, 469, 440, 287, 0,
+ 0, 470, 372, 585, 450, 599, 627, 628, 263, 406,
+ 612, 522, 620, 645, 226, 260, 420, 506, 605, 494,
+ 397, 581, 582, 329, 493, 295, 201, 369, 633, 224,
+ 479, 371, 242, 231, 587, 609, 299, 289, 456, 640,
+ 213, 517, 597, 239, 483, 0, 0, 648, 247, 504,
+ 215, 594, 503, 393, 326, 327, 214, 0, 457, 268,
+ 293, 0, 0, 258, 415, 589, 590, 256, 649, 228,
+ 619, 220, 0, 618, 408, 584, 595, 394, 383, 219,
+ 593, 392, 382, 334, 355, 356, 280, 307, 447, 375,
+ 448, 306, 308, 404, 403, 405, 207, 606, 623, 0,
+ 208, 0, 499, 608, 650, 452, 212, 234, 235, 237,
+ 0, 279, 283, 291, 294, 303, 304, 313, 367, 419,
+ 446, 442, 451, 0, 579, 600, 613, 625, 631, 632,
+ 634, 635, 636, 637, 638, 641, 639, 407, 311, 495,
+ 333, 373, 0, 0, 425, 472, 240, 604, 496, 199,
+ 0, 0, 0, 0, 254, 255, 0, 575, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 651, 652, 653,
+ 654, 655, 656, 657, 658, 659, 660, 661, 662, 663,
+ 664, 665, 666, 667, 668, 646, 508, 514, 509, 510,
+ 511, 512, 513, 0, 515, 0, 0, 0, 0, 0,
+ 398, 0, 591, 592, 669, 384, 486, 601, 335, 349,
+ 352, 341, 361, 0, 362, 337, 338, 343, 346, 347,
+ 348, 353, 354, 358, 364, 249, 210, 390, 399, 578,
+ 312, 216, 217, 218, 524, 525, 526, 527, 616, 617,
+ 621, 205, 462, 463, 464, 465, 292, 611, 309, 468,
+ 467, 331, 332, 379, 449, 540, 542, 553, 557, 559,
+ 561, 567, 570, 541, 543, 554, 558, 560, 562, 568,
+ 571, 530, 532, 534, 536, 549, 548, 545, 573, 574,
+ 551, 556, 535, 547, 552, 565, 572, 569, 529, 533,
+ 537, 546, 564, 563, 544, 555, 566, 550, 538, 531,
+ 539, 0, 196, 221, 368, 0, 454, 288, 647, 615,
+ 484, 610, 206, 223, 0, 262, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 198, 200, 209,
+ 222, 232, 236, 243, 261, 276, 278, 285, 298, 310,
+ 318, 319, 322, 328, 380, 386, 387, 388, 389, 409,
+ 410, 411, 414, 417, 418, 421, 423, 424, 427, 431,
+ 435, 436, 437, 439, 441, 443, 455, 460, 474, 475,
+ 476, 477, 478, 481, 482, 488, 489, 490, 491, 492,
+ 500, 501, 516, 586, 588, 603, 622, 629, 480, 301,
+ 302, 444, 445, 314, 315, 643, 644, 300, 598, 630,
+ 596, 642, 624, 438, 378, 0, 0, 381, 281, 305,
+ 320, 0, 614, 502, 227, 466, 290, 251, 0, 0,
+ 211, 246, 230, 259, 274, 277, 324, 391, 400, 429,
+ 434, 296, 271, 244, 459, 241, 485, 519, 520, 521,
+ 523, 395, 266, 433, 396, 0, 376, 576, 577, 316,
+ 0, 0, 0, 528, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 416, 0, 0, 0, 0,
+ 0, 0, 0, 270, 0, 0, 0, 0, 366, 267,
+ 0, 1909, 204, 505, 0, 430, 0, 203, 0, 487,
+ 252, 377, 374, 583, 282, 273, 269, 250, 317, 385,
+ 428, 518, 422, 0, 370, 0, 0, 497, 401, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 323, 248, 325,
+ 202, 413, 498, 286, 0, 0, 0, 0, 0, 507,
+ 720, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 238, 0, 0, 245, 0, 0, 0, 351, 360, 359,
+ 339, 340, 342, 344, 350, 357, 363, 336, 345, 0,
+ 0, 607, 0, 0, 0, 265, 321, 272, 264, 580,
+ 0, 0, 0, 0, 0, 0, 0, 0, 229, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 275, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 297, 0, 402, 257, 0,
+ 453, 0, 0, 0, 626, 0, 0, 0, 0, 0,
+ 0, 0, 365, 0, 330, 197, 225, 0, 0, 412,
+ 461, 473, 0, 0, 0, 253, 0, 471, 426, 602,
+ 233, 284, 458, 432, 469, 440, 287, 0, 0, 470,
+ 372, 585, 450, 599, 627, 628, 263, 406, 612, 522,
+ 620, 645, 226, 260, 420, 506, 605, 494, 397, 581,
+ 582, 329, 493, 295, 201, 369, 633, 224, 479, 371,
+ 242, 231, 587, 609, 299, 289, 456, 640, 213, 517,
+ 597, 239, 483, 0, 0, 648, 247, 504, 215, 594,
+ 503, 393, 326, 327, 214, 0, 457, 268, 293, 0,
+ 0, 258, 415, 589, 590, 256, 649, 228, 619, 220,
+ 0, 618, 408, 584, 595, 394, 383, 219, 593, 392,
+ 382, 334, 355, 356, 280, 307, 447, 375, 448, 306,
+ 308, 404, 403, 405, 207, 606, 623, 0, 208, 0,
+ 499, 608, 650, 452, 212, 234, 235, 237, 0, 279,
283, 291, 294, 303, 304, 313, 367, 419, 446, 442,
- 451, 0, 579, 600, 613, 624, 630, 631, 633, 634,
- 635, 636, 637, 640, 638, 407, 311, 495, 333, 373,
+ 451, 0, 579, 600, 613, 625, 631, 632, 634, 635,
+ 636, 637, 638, 641, 639, 407, 311, 495, 333, 373,
0, 0, 425, 472, 240, 604, 496, 199, 0, 0,
0, 0, 254, 255, 0, 575, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 650, 651, 652, 653, 654,
- 655, 656, 657, 658, 659, 660, 661, 662, 663, 664,
- 665, 666, 667, 645, 508, 514, 509, 510, 511, 512,
+ 0, 0, 0, 0, 0, 651, 652, 653, 654, 655,
+ 656, 657, 658, 659, 660, 661, 662, 663, 664, 665,
+ 666, 667, 668, 646, 508, 514, 509, 510, 511, 512,
513, 0, 515, 0, 0, 0, 0, 0, 398, 0,
- 591, 592, 668, 384, 486, 601, 335, 349, 352, 341,
+ 591, 592, 669, 384, 486, 601, 335, 349, 352, 341,
361, 0, 362, 337, 338, 343, 346, 347, 348, 353,
354, 358, 364, 249, 210, 390, 399, 578, 312, 216,
217, 218, 524, 525, 526, 527, 616, 617, 621, 205,
@@ -4714,31 +6420,31 @@ var yyAct = [...]int{
532, 534, 536, 549, 548, 545, 573, 574, 551, 556,
535, 547, 552, 565, 572, 569, 529, 533, 537, 546,
564, 563, 544, 555, 566, 550, 538, 531, 539, 0,
- 196, 221, 368, 0, 454, 288, 646, 615, 484, 610,
+ 196, 221, 368, 0, 454, 288, 647, 615, 484, 610,
206, 223, 0, 262, 0, 0, 0, 0, 0, 0,
- 2415, 0, 0, 2414, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 198, 200, 209, 222, 232,
236, 243, 261, 276, 278, 285, 298, 310, 318, 319,
322, 328, 380, 386, 387, 388, 389, 409, 410, 411,
414, 417, 418, 421, 423, 424, 427, 431, 435, 436,
437, 439, 441, 443, 455, 460, 474, 475, 476, 477,
478, 481, 482, 488, 489, 490, 491, 492, 500, 501,
- 516, 586, 588, 603, 622, 628, 480, 301, 302, 444,
- 445, 314, 315, 642, 643, 300, 598, 629, 596, 641,
- 623, 438, 378, 0, 0, 381, 281, 305, 320, 0,
+ 516, 586, 588, 603, 622, 629, 480, 301, 302, 444,
+ 445, 314, 315, 643, 644, 300, 598, 630, 596, 642,
+ 624, 438, 378, 0, 0, 381, 281, 305, 320, 0,
614, 502, 227, 466, 290, 251, 0, 0, 211, 246,
230, 259, 274, 277, 324, 391, 400, 429, 434, 296,
271, 244, 459, 241, 485, 519, 520, 521, 523, 395,
266, 433, 396, 0, 376, 576, 577, 316, 0, 0,
0, 528, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 416, 0, 0, 2362, 0, 0, 0,
- 0, 270, 0, 0, 0, 0, 366, 267, 0, 0,
+ 0, 0, 0, 416, 0, 0, 0, 0, 0, 0,
+ 0, 270, 0, 0, 0, 0, 366, 267, 0, 1907,
204, 505, 0, 430, 0, 203, 0, 487, 252, 377,
374, 583, 282, 273, 269, 250, 317, 385, 428, 518,
422, 0, 370, 0, 0, 497, 401, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 323, 248, 325, 202, 413,
- 498, 286, 0, 0, 0, 0, 1952, 507, 194, 0,
+ 498, 286, 0, 0, 0, 0, 0, 507, 720, 0,
0, 0, 0, 0, 0, 0, 0, 0, 238, 0,
0, 245, 0, 0, 0, 351, 360, 359, 339, 340,
342, 344, 350, 357, 363, 336, 345, 0, 0, 607,
@@ -4753,105 +6459,179 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 297, 0, 402, 257, 0, 453, 0,
- 0, 0, 625, 0, 0, 0, 0, 0, 0, 0,
- 365, 0, 330, 197, 225, 0, 0, 412, 461, 473,
- 0, 0, 0, 253, 0, 471, 426, 602, 233, 284,
- 458, 432, 469, 440, 287, 0, 2360, 470, 372, 585,
- 450, 599, 626, 627, 263, 406, 612, 522, 620, 644,
- 226, 260, 420, 506, 605, 494, 397, 581, 582, 329,
- 493, 295, 201, 369, 632, 224, 479, 371, 242, 231,
- 587, 609, 299, 289, 456, 639, 213, 517, 597, 239,
- 483, 0, 0, 647, 247, 504, 215, 594, 503, 393,
- 326, 327, 214, 0, 457, 268, 293, 0, 0, 258,
- 415, 589, 590, 256, 648, 228, 619, 220, 0, 618,
- 408, 584, 595, 394, 383, 219, 593, 392, 382, 334,
- 355, 356, 280, 307, 447, 375, 448, 306, 308, 404,
- 403, 405, 207, 606, 0, 208, 0, 499, 608, 649,
- 452, 212, 234, 235, 237, 0, 279, 283, 291, 294,
- 303, 304, 313, 367, 419, 446, 442, 451, 0, 579,
- 600, 613, 624, 630, 631, 633, 634, 635, 636, 637,
- 640, 638, 407, 311, 495, 333, 373, 0, 0, 425,
- 472, 240, 604, 496, 199, 0, 0, 0, 0, 254,
- 255, 0, 575, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 650, 651, 652, 653, 654, 655, 656, 657,
- 658, 659, 660, 661, 662, 663, 664, 665, 666, 667,
- 645, 508, 514, 509, 510, 511, 512, 513, 0, 515,
- 0, 0, 0, 0, 0, 398, 0, 591, 592, 668,
- 384, 486, 601, 335, 349, 352, 341, 361, 0, 362,
- 337, 338, 343, 346, 347, 348, 353, 354, 358, 364,
- 249, 210, 390, 399, 578, 312, 216, 217, 218, 524,
- 525, 526, 527, 616, 617, 621, 205, 462, 463, 464,
- 465, 292, 611, 309, 468, 467, 331, 332, 379, 449,
- 540, 542, 553, 557, 559, 561, 567, 570, 541, 543,
- 554, 558, 560, 562, 568, 571, 530, 532, 534, 536,
- 549, 548, 545, 573, 574, 551, 556, 535, 547, 552,
- 565, 572, 569, 529, 533, 537, 546, 564, 563, 544,
- 555, 566, 550, 538, 531, 539, 0, 196, 221, 368,
- 0, 454, 288, 646, 615, 484, 610, 206, 223, 0,
- 262, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 198, 200, 209, 222, 232, 236, 243, 261,
- 276, 278, 285, 298, 310, 318, 319, 322, 328, 380,
- 386, 387, 388, 389, 409, 410, 411, 414, 417, 418,
- 421, 423, 424, 427, 431, 435, 436, 437, 439, 441,
- 443, 455, 460, 474, 475, 476, 477, 478, 481, 482,
- 488, 489, 490, 491, 492, 500, 501, 516, 586, 588,
- 603, 622, 628, 480, 301, 302, 444, 445, 314, 315,
- 642, 643, 300, 598, 629, 596, 641, 623, 438, 378,
- 0, 0, 381, 281, 305, 320, 0, 614, 502, 227,
- 466, 290, 251, 0, 0, 211, 246, 230, 259, 274,
- 277, 324, 391, 400, 429, 434, 296, 271, 244, 459,
- 241, 485, 519, 520, 521, 523, 395, 266, 433, 396,
- 0, 376, 576, 577, 316, 0, 0, 0, 528, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 416, 0, 0, 0, 0, 0, 0, 0, 270, 0,
- 0, 0, 0, 366, 267, 0, 0, 204, 505, 0,
- 430, 0, 203, 0, 487, 252, 377, 374, 583, 282,
- 273, 269, 250, 317, 385, 428, 518, 422, 0, 370,
- 0, 0, 497, 401, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 323, 248, 325, 202, 413, 498, 286, 0,
- 0, 0, 0, 0, 507, 719, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 238, 0, 0, 245, 0,
- 0, 0, 351, 360, 359, 339, 340, 342, 344, 350,
- 357, 363, 336, 345, 0, 0, 607, 0, 0, 0,
- 265, 321, 272, 264, 580, 0, 0, 0, 0, 0,
- 0, 0, 0, 229, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 275, 0,
- 0, 0, 0, 0, 0, 0, 0, 1087, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 297, 0, 402, 257, 0, 453, 0, 0, 0, 625,
- 0, 0, 0, 0, 0, 0, 0, 365, 1093, 330,
- 197, 225, 1091, 0, 412, 461, 473, 0, 0, 0,
- 253, 0, 471, 426, 602, 233, 284, 458, 432, 469,
- 440, 287, 0, 0, 470, 372, 585, 450, 599, 626,
- 627, 263, 406, 612, 522, 620, 644, 226, 260, 420,
- 506, 605, 494, 397, 581, 582, 329, 493, 295, 201,
- 369, 632, 224, 479, 371, 242, 231, 587, 609, 299,
- 289, 456, 639, 213, 517, 597, 239, 483, 0, 0,
- 647, 247, 504, 215, 594, 503, 393, 326, 327, 214,
- 0, 457, 268, 293, 0, 0, 258, 415, 589, 590,
- 256, 648, 228, 619, 220, 0, 618, 408, 584, 595,
- 394, 383, 219, 593, 392, 382, 334, 355, 356, 280,
- 307, 447, 375, 448, 306, 308, 404, 403, 405, 207,
- 606, 0, 208, 0, 499, 608, 649, 452, 212, 234,
+ 0, 0, 0, 297, 0, 402, 257, 0, 453, 0,
+ 0, 0, 626, 0, 0, 0, 0, 0, 0, 0,
+ 365, 0, 330, 197, 225, 0, 0, 412, 461, 473,
+ 0, 0, 0, 253, 0, 471, 426, 602, 233, 284,
+ 458, 432, 469, 440, 287, 0, 0, 470, 372, 585,
+ 450, 599, 627, 628, 263, 406, 612, 522, 620, 645,
+ 226, 260, 420, 506, 605, 494, 397, 581, 582, 329,
+ 493, 295, 201, 369, 633, 224, 479, 371, 242, 231,
+ 587, 609, 299, 289, 456, 640, 213, 517, 597, 239,
+ 483, 0, 0, 648, 247, 504, 215, 594, 503, 393,
+ 326, 327, 214, 0, 457, 268, 293, 0, 0, 258,
+ 415, 589, 590, 256, 649, 228, 619, 220, 0, 618,
+ 408, 584, 595, 394, 383, 219, 593, 392, 382, 334,
+ 355, 356, 280, 307, 447, 375, 448, 306, 308, 404,
+ 403, 405, 207, 606, 623, 0, 208, 0, 499, 608,
+ 650, 452, 212, 234, 235, 237, 0, 279, 283, 291,
+ 294, 303, 304, 313, 367, 419, 446, 442, 451, 0,
+ 579, 600, 613, 625, 631, 632, 634, 635, 636, 637,
+ 638, 641, 639, 407, 311, 495, 333, 373, 0, 0,
+ 425, 472, 240, 604, 496, 199, 0, 0, 0, 0,
+ 254, 255, 0, 575, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 651, 652, 653, 654, 655, 656, 657,
+ 658, 659, 660, 661, 662, 663, 664, 665, 666, 667,
+ 668, 646, 508, 514, 509, 510, 511, 512, 513, 0,
+ 515, 0, 0, 0, 0, 0, 398, 0, 591, 592,
+ 669, 384, 486, 601, 335, 349, 352, 341, 361, 0,
+ 362, 337, 338, 343, 346, 347, 348, 353, 354, 358,
+ 364, 249, 210, 390, 399, 578, 312, 216, 217, 218,
+ 524, 525, 526, 527, 616, 617, 621, 205, 462, 463,
+ 464, 465, 292, 611, 309, 468, 467, 331, 332, 379,
+ 449, 540, 542, 553, 557, 559, 561, 567, 570, 541,
+ 543, 554, 558, 560, 562, 568, 571, 530, 532, 534,
+ 536, 549, 548, 545, 573, 574, 551, 556, 535, 547,
+ 552, 565, 572, 569, 529, 533, 537, 546, 564, 563,
+ 544, 555, 566, 550, 538, 531, 539, 0, 196, 221,
+ 368, 0, 454, 288, 647, 615, 484, 610, 206, 223,
+ 0, 262, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 198, 200, 209, 222, 232, 236, 243,
+ 261, 276, 278, 285, 298, 310, 318, 319, 322, 328,
+ 380, 386, 387, 388, 389, 409, 410, 411, 414, 417,
+ 418, 421, 423, 424, 427, 431, 435, 436, 437, 439,
+ 441, 443, 455, 460, 474, 475, 476, 477, 478, 481,
+ 482, 488, 489, 490, 491, 492, 500, 501, 516, 586,
+ 588, 603, 622, 629, 480, 301, 302, 444, 445, 314,
+ 315, 643, 644, 300, 598, 630, 596, 642, 624, 438,
+ 378, 0, 0, 381, 281, 305, 320, 0, 614, 502,
+ 227, 466, 290, 251, 0, 0, 211, 246, 230, 259,
+ 274, 277, 324, 391, 400, 429, 434, 296, 271, 244,
+ 459, 241, 485, 519, 520, 521, 523, 395, 266, 433,
+ 396, 0, 376, 576, 577, 316, 0, 0, 0, 528,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 416, 0, 0, 0, 0, 0, 0, 0, 270,
+ 0, 0, 0, 0, 366, 267, 0, 1905, 204, 505,
+ 0, 430, 0, 203, 0, 487, 252, 377, 374, 583,
+ 282, 273, 269, 250, 317, 385, 428, 518, 422, 0,
+ 370, 0, 0, 497, 401, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 323, 248, 325, 202, 413, 498, 286,
+ 0, 0, 0, 0, 0, 507, 720, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 238, 0, 0, 245,
+ 0, 0, 0, 351, 360, 359, 339, 340, 342, 344,
+ 350, 357, 363, 336, 345, 0, 0, 607, 0, 0,
+ 0, 265, 321, 272, 264, 580, 0, 0, 0, 0,
+ 0, 0, 0, 0, 229, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 275,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 297, 0, 402, 257, 0, 453, 0, 0, 0,
+ 626, 0, 0, 0, 0, 0, 0, 0, 365, 0,
+ 330, 197, 225, 0, 0, 412, 461, 473, 0, 0,
+ 0, 253, 0, 471, 426, 602, 233, 284, 458, 432,
+ 469, 440, 287, 0, 0, 470, 372, 585, 450, 599,
+ 627, 628, 263, 406, 612, 522, 620, 645, 226, 260,
+ 420, 506, 605, 494, 397, 581, 582, 329, 493, 295,
+ 201, 369, 633, 224, 479, 371, 242, 231, 587, 609,
+ 299, 289, 456, 640, 213, 517, 597, 239, 483, 0,
+ 0, 648, 247, 504, 215, 594, 503, 393, 326, 327,
+ 214, 0, 457, 268, 293, 0, 0, 258, 415, 589,
+ 590, 256, 649, 228, 619, 220, 0, 618, 408, 584,
+ 595, 394, 383, 219, 593, 392, 382, 334, 355, 356,
+ 280, 307, 447, 375, 448, 306, 308, 404, 403, 405,
+ 207, 606, 623, 0, 208, 0, 499, 608, 650, 452,
+ 212, 234, 235, 237, 0, 279, 283, 291, 294, 303,
+ 304, 313, 367, 419, 446, 442, 451, 0, 579, 600,
+ 613, 625, 631, 632, 634, 635, 636, 637, 638, 641,
+ 639, 407, 311, 495, 333, 373, 0, 0, 425, 472,
+ 240, 604, 496, 199, 0, 0, 0, 0, 254, 255,
+ 0, 575, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 651, 652, 653, 654, 655, 656, 657, 658, 659,
+ 660, 661, 662, 663, 664, 665, 666, 667, 668, 646,
+ 508, 514, 509, 510, 511, 512, 513, 0, 515, 0,
+ 0, 0, 0, 0, 398, 0, 591, 592, 669, 384,
+ 486, 601, 335, 349, 352, 341, 361, 0, 362, 337,
+ 338, 343, 346, 347, 348, 353, 354, 358, 364, 249,
+ 210, 390, 399, 578, 312, 216, 217, 218, 524, 525,
+ 526, 527, 616, 617, 621, 205, 462, 463, 464, 465,
+ 292, 611, 309, 468, 467, 331, 332, 379, 449, 540,
+ 542, 553, 557, 559, 561, 567, 570, 541, 543, 554,
+ 558, 560, 562, 568, 571, 530, 532, 534, 536, 549,
+ 548, 545, 573, 574, 551, 556, 535, 547, 552, 565,
+ 572, 569, 529, 533, 537, 546, 564, 563, 544, 555,
+ 566, 550, 538, 531, 539, 0, 196, 221, 368, 0,
+ 454, 288, 647, 615, 484, 610, 206, 223, 0, 262,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 198, 200, 209, 222, 232, 236, 243, 261, 276,
+ 278, 285, 298, 310, 318, 319, 322, 328, 380, 386,
+ 387, 388, 389, 409, 410, 411, 414, 417, 418, 421,
+ 423, 424, 427, 431, 435, 436, 437, 439, 441, 443,
+ 455, 460, 474, 475, 476, 477, 478, 481, 482, 488,
+ 489, 490, 491, 492, 500, 501, 516, 586, 588, 603,
+ 622, 629, 480, 301, 302, 444, 445, 314, 315, 643,
+ 644, 300, 598, 630, 596, 642, 624, 438, 378, 0,
+ 0, 381, 281, 305, 320, 0, 614, 502, 227, 466,
+ 290, 251, 0, 0, 211, 246, 230, 259, 274, 277,
+ 324, 391, 400, 429, 434, 296, 271, 244, 459, 241,
+ 485, 519, 520, 521, 523, 395, 266, 433, 396, 0,
+ 376, 576, 577, 316, 0, 0, 0, 528, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 416,
+ 0, 0, 0, 0, 0, 0, 0, 270, 0, 0,
+ 0, 0, 366, 267, 0, 0, 204, 505, 0, 430,
+ 0, 203, 0, 487, 252, 377, 374, 583, 282, 273,
+ 269, 250, 317, 385, 428, 518, 422, 0, 370, 0,
+ 0, 497, 401, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 323, 248, 325, 202, 413, 498, 286, 0, 1880,
+ 0, 0, 0, 507, 720, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 238, 0, 0, 245, 0, 0,
+ 0, 351, 360, 359, 339, 340, 342, 344, 350, 357,
+ 363, 336, 345, 0, 0, 607, 0, 0, 0, 265,
+ 321, 272, 264, 580, 0, 0, 0, 0, 0, 0,
+ 0, 0, 229, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 275, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 297,
+ 0, 402, 257, 0, 453, 0, 0, 0, 626, 0,
+ 0, 0, 0, 0, 0, 0, 365, 0, 330, 197,
+ 225, 0, 0, 412, 461, 473, 0, 0, 0, 253,
+ 0, 471, 426, 602, 233, 284, 458, 432, 469, 440,
+ 287, 0, 0, 470, 372, 585, 450, 599, 627, 628,
+ 263, 406, 612, 522, 620, 645, 226, 260, 420, 506,
+ 605, 494, 397, 581, 582, 329, 493, 295, 201, 369,
+ 633, 224, 479, 371, 242, 231, 587, 609, 299, 289,
+ 456, 640, 213, 517, 597, 239, 483, 0, 0, 648,
+ 247, 504, 215, 594, 503, 393, 326, 327, 214, 0,
+ 457, 268, 293, 0, 0, 258, 415, 589, 590, 256,
+ 649, 228, 619, 220, 0, 618, 408, 584, 595, 394,
+ 383, 219, 593, 392, 382, 334, 355, 356, 280, 307,
+ 447, 375, 448, 306, 308, 404, 403, 405, 207, 606,
+ 623, 0, 208, 0, 499, 608, 650, 452, 212, 234,
235, 237, 0, 279, 283, 291, 294, 303, 304, 313,
- 367, 419, 446, 442, 451, 0, 579, 600, 613, 624,
- 630, 631, 633, 634, 635, 636, 637, 640, 638, 407,
+ 367, 419, 446, 442, 451, 0, 579, 600, 613, 625,
+ 631, 632, 634, 635, 636, 637, 638, 641, 639, 407,
311, 495, 333, 373, 0, 0, 425, 472, 240, 604,
496, 199, 0, 0, 0, 0, 254, 255, 0, 575,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 650,
- 651, 652, 653, 654, 655, 656, 657, 658, 659, 660,
- 661, 662, 663, 664, 665, 666, 667, 645, 508, 514,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 651,
+ 652, 653, 654, 655, 656, 657, 658, 659, 660, 661,
+ 662, 663, 664, 665, 666, 667, 668, 646, 508, 514,
509, 510, 511, 512, 513, 0, 515, 0, 0, 0,
- 0, 0, 398, 0, 591, 592, 668, 384, 486, 601,
+ 0, 0, 398, 0, 591, 592, 669, 384, 486, 601,
335, 349, 352, 341, 361, 0, 362, 337, 338, 343,
346, 347, 348, 353, 354, 358, 364, 249, 210, 390,
399, 578, 312, 216, 217, 218, 524, 525, 526, 527,
@@ -4862,7 +6642,7 @@ var yyAct = [...]int{
573, 574, 551, 556, 535, 547, 552, 565, 572, 569,
529, 533, 537, 546, 564, 563, 544, 555, 566, 550,
538, 531, 539, 0, 196, 221, 368, 0, 454, 288,
- 646, 615, 484, 610, 206, 223, 0, 262, 0, 0,
+ 647, 615, 484, 610, 206, 223, 0, 262, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 198,
200, 209, 222, 232, 236, 243, 261, 276, 278, 285,
@@ -4870,23 +6650,23 @@ var yyAct = [...]int{
389, 409, 410, 411, 414, 417, 418, 421, 423, 424,
427, 431, 435, 436, 437, 439, 441, 443, 455, 460,
474, 475, 476, 477, 478, 481, 482, 488, 489, 490,
- 491, 492, 500, 501, 516, 586, 588, 603, 622, 628,
- 480, 301, 302, 444, 445, 314, 315, 642, 643, 300,
- 598, 629, 596, 641, 623, 438, 378, 0, 0, 381,
+ 491, 492, 500, 501, 516, 586, 588, 603, 622, 629,
+ 480, 301, 302, 444, 445, 314, 315, 643, 644, 300,
+ 598, 630, 596, 642, 624, 438, 378, 0, 0, 381,
281, 305, 320, 0, 614, 502, 227, 466, 290, 251,
0, 0, 211, 246, 230, 259, 274, 277, 324, 391,
400, 429, 434, 296, 271, 244, 459, 241, 485, 519,
520, 521, 523, 395, 266, 433, 396, 0, 376, 576,
577, 316, 0, 0, 0, 528, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 416, 0, 0,
- 2362, 0, 0, 0, 0, 270, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1778, 270, 0, 0, 0, 0,
366, 267, 0, 0, 204, 505, 0, 430, 0, 203,
0, 487, 252, 377, 374, 583, 282, 273, 269, 250,
317, 385, 428, 518, 422, 0, 370, 0, 0, 497,
401, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 323,
248, 325, 202, 413, 498, 286, 0, 0, 0, 0,
- 1952, 507, 194, 0, 0, 0, 0, 0, 0, 0,
+ 0, 507, 194, 0, 0, 0, 0, 0, 0, 0,
0, 0, 238, 0, 0, 245, 0, 0, 0, 351,
360, 359, 339, 340, 342, 344, 350, 357, 363, 336,
345, 0, 0, 607, 0, 0, 0, 265, 321, 272,
@@ -4901,252 +6681,31 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 297, 0, 402,
- 257, 0, 453, 0, 0, 0, 625, 0, 0, 0,
+ 257, 0, 453, 0, 0, 0, 626, 0, 0, 0,
0, 0, 0, 0, 365, 0, 330, 197, 225, 0,
0, 412, 461, 473, 0, 0, 0, 253, 0, 471,
426, 602, 233, 284, 458, 432, 469, 440, 287, 0,
- 0, 470, 372, 585, 450, 599, 626, 627, 263, 406,
- 612, 522, 620, 644, 226, 260, 420, 506, 605, 494,
- 397, 581, 582, 329, 493, 295, 201, 369, 632, 224,
- 479, 371, 242, 231, 587, 609, 299, 289, 456, 639,
- 213, 517, 597, 239, 483, 0, 0, 647, 247, 504,
+ 0, 470, 372, 585, 450, 599, 627, 628, 263, 406,
+ 612, 522, 620, 645, 226, 260, 420, 506, 605, 494,
+ 397, 581, 582, 329, 493, 295, 201, 369, 633, 224,
+ 479, 371, 242, 231, 587, 609, 299, 289, 456, 640,
+ 213, 517, 597, 239, 483, 0, 0, 648, 247, 504,
215, 594, 503, 393, 326, 327, 214, 0, 457, 268,
- 293, 0, 0, 258, 415, 589, 590, 256, 648, 228,
+ 293, 0, 0, 258, 415, 589, 590, 256, 649, 228,
619, 220, 0, 618, 408, 584, 595, 394, 383, 219,
593, 392, 382, 334, 355, 356, 280, 307, 447, 375,
- 448, 306, 308, 404, 403, 405, 207, 606, 0, 208,
- 0, 499, 608, 649, 452, 212, 234, 235, 237, 0,
- 279, 283, 291, 294, 303, 304, 313, 367, 419, 446,
- 442, 451, 0, 579, 600, 613, 624, 630, 631, 633,
- 634, 635, 636, 637, 640, 638, 407, 311, 495, 333,
- 373, 0, 0, 425, 472, 240, 604, 496, 199, 0,
- 0, 0, 0, 254, 255, 0, 575, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 650, 651, 652, 653,
- 654, 655, 656, 657, 658, 659, 660, 661, 662, 663,
- 664, 665, 666, 667, 645, 508, 514, 509, 510, 511,
- 512, 513, 0, 515, 0, 0, 0, 0, 0, 398,
- 0, 591, 592, 668, 384, 486, 601, 335, 349, 352,
- 341, 361, 0, 362, 337, 338, 343, 346, 347, 348,
- 353, 354, 358, 364, 249, 210, 390, 399, 578, 312,
- 216, 217, 218, 524, 525, 526, 527, 616, 617, 621,
- 205, 462, 463, 464, 465, 292, 611, 309, 468, 467,
- 331, 332, 379, 449, 540, 542, 553, 557, 559, 561,
- 567, 570, 541, 543, 554, 558, 560, 562, 568, 571,
- 530, 532, 534, 536, 549, 548, 545, 573, 574, 551,
- 556, 535, 547, 552, 565, 572, 569, 529, 533, 537,
- 546, 564, 563, 544, 555, 566, 550, 538, 531, 539,
- 0, 196, 221, 368, 0, 454, 288, 646, 615, 484,
- 610, 206, 223, 0, 262, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 198, 200, 209, 222,
- 232, 236, 243, 261, 276, 278, 285, 298, 310, 318,
- 319, 322, 328, 380, 386, 387, 388, 389, 409, 410,
- 411, 414, 417, 418, 421, 423, 424, 427, 431, 435,
- 436, 437, 439, 441, 443, 455, 460, 474, 475, 476,
- 477, 478, 481, 482, 488, 489, 490, 491, 492, 500,
- 501, 516, 586, 588, 603, 622, 628, 480, 301, 302,
- 444, 445, 314, 315, 642, 643, 300, 598, 629, 596,
- 641, 623, 438, 378, 0, 0, 381, 281, 305, 320,
- 0, 614, 502, 227, 466, 290, 251, 0, 0, 211,
- 246, 230, 259, 274, 277, 324, 391, 400, 429, 434,
- 296, 271, 244, 459, 241, 485, 519, 520, 521, 523,
- 395, 266, 433, 396, 0, 376, 576, 577, 316, 0,
- 0, 0, 528, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 416, 0, 0, 0, 0, 0,
- 0, 0, 270, 0, 0, 0, 0, 366, 267, 0,
- 0, 204, 505, 0, 430, 0, 203, 0, 487, 252,
- 377, 374, 583, 282, 273, 269, 250, 317, 385, 428,
- 518, 422, 0, 370, 0, 0, 497, 401, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 323, 248, 325, 202,
- 413, 498, 286, 0, 0, 0, 1746, 0, 507, 719,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 238,
- 0, 0, 245, 0, 0, 0, 351, 360, 359, 339,
- 340, 342, 344, 350, 357, 363, 336, 345, 0, 0,
- 607, 0, 0, 0, 265, 321, 272, 264, 580, 0,
- 0, 0, 0, 0, 0, 0, 0, 229, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 275, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 297, 0, 402, 257, 0, 453,
- 0, 0, 0, 625, 0, 0, 0, 3714, 0, 0,
- 0, 365, 0, 330, 197, 225, 0, 0, 412, 461,
- 473, 0, 0, 0, 253, 0, 471, 426, 602, 233,
- 284, 458, 432, 469, 440, 287, 0, 0, 470, 372,
- 585, 450, 599, 626, 627, 263, 406, 612, 522, 620,
- 644, 226, 260, 420, 506, 605, 494, 397, 581, 582,
- 329, 493, 295, 201, 369, 632, 224, 479, 371, 242,
- 231, 587, 609, 299, 289, 456, 639, 213, 517, 597,
- 239, 483, 0, 0, 647, 247, 504, 215, 594, 503,
- 393, 326, 327, 214, 0, 457, 268, 293, 0, 0,
- 258, 415, 589, 590, 256, 648, 228, 619, 220, 0,
- 618, 408, 584, 595, 394, 383, 219, 593, 392, 382,
- 334, 355, 356, 280, 307, 447, 375, 448, 306, 308,
- 404, 403, 405, 207, 606, 0, 208, 0, 499, 608,
- 649, 452, 212, 234, 235, 237, 0, 279, 283, 291,
- 294, 303, 304, 313, 367, 419, 446, 442, 451, 0,
- 579, 600, 613, 624, 630, 631, 633, 634, 635, 636,
- 637, 640, 638, 407, 311, 495, 333, 373, 0, 0,
- 425, 472, 240, 604, 496, 199, 0, 0, 0, 0,
- 254, 255, 0, 575, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 650, 651, 652, 653, 654, 655, 656,
- 657, 658, 659, 660, 661, 662, 663, 664, 665, 666,
- 667, 645, 508, 514, 509, 510, 511, 512, 513, 0,
- 515, 0, 0, 0, 0, 0, 398, 0, 591, 592,
- 668, 384, 486, 601, 335, 349, 352, 341, 361, 0,
- 362, 337, 338, 343, 346, 347, 348, 353, 354, 358,
- 364, 249, 210, 390, 399, 578, 312, 216, 217, 218,
- 524, 525, 526, 527, 616, 617, 621, 205, 462, 463,
- 464, 465, 292, 611, 309, 468, 467, 331, 332, 379,
- 449, 540, 542, 553, 557, 559, 561, 567, 570, 541,
- 543, 554, 558, 560, 562, 568, 571, 530, 532, 534,
- 536, 549, 548, 545, 573, 574, 551, 556, 535, 547,
- 552, 565, 572, 569, 529, 533, 537, 546, 564, 563,
- 544, 555, 566, 550, 538, 531, 539, 0, 196, 221,
- 368, 0, 454, 288, 646, 615, 484, 610, 206, 223,
- 0, 262, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 198, 200, 209, 222, 232, 236, 243,
- 261, 276, 278, 285, 298, 310, 318, 319, 322, 328,
- 380, 386, 387, 388, 389, 409, 410, 411, 414, 417,
- 418, 421, 423, 424, 427, 431, 435, 436, 437, 439,
- 441, 443, 455, 460, 474, 475, 476, 477, 478, 481,
- 482, 488, 489, 490, 491, 492, 500, 501, 516, 586,
- 588, 603, 622, 628, 480, 301, 302, 444, 445, 314,
- 315, 642, 643, 300, 598, 629, 596, 641, 623, 438,
- 378, 0, 0, 381, 281, 305, 320, 0, 614, 502,
- 227, 466, 290, 251, 0, 0, 211, 246, 230, 259,
- 274, 277, 324, 391, 400, 429, 434, 296, 271, 244,
- 459, 241, 485, 519, 520, 521, 523, 395, 266, 433,
- 396, 0, 376, 576, 577, 316, 0, 0, 0, 528,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 416, 0, 0, 0, 0, 0, 0, 0, 270,
- 0, 0, 0, 0, 366, 267, 0, 0, 204, 505,
- 0, 430, 0, 203, 0, 487, 252, 377, 374, 583,
- 282, 273, 269, 250, 317, 385, 428, 518, 422, 0,
- 370, 0, 0, 497, 401, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 323, 248, 325, 202, 413, 498, 286,
- 0, 0, 0, 0, 2121, 507, 719, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 238, 0, 0, 245,
- 0, 0, 0, 351, 360, 359, 339, 340, 342, 344,
- 350, 357, 363, 336, 345, 0, 0, 607, 0, 0,
- 0, 265, 321, 272, 264, 580, 0, 0, 0, 0,
- 0, 0, 0, 0, 229, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 275,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 2122, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 297, 0, 402, 257, 0, 453, 0, 0, 0,
- 625, 0, 0, 0, 0, 0, 0, 0, 365, 0,
- 330, 197, 225, 0, 0, 412, 461, 473, 0, 0,
- 0, 253, 0, 471, 426, 602, 233, 284, 458, 432,
- 469, 440, 287, 0, 0, 470, 372, 585, 450, 599,
- 626, 627, 263, 406, 612, 522, 620, 644, 226, 260,
- 420, 506, 605, 494, 397, 581, 582, 329, 493, 295,
- 201, 369, 632, 224, 479, 371, 242, 231, 587, 609,
- 299, 289, 456, 639, 213, 517, 597, 239, 483, 0,
- 0, 647, 247, 504, 215, 594, 503, 393, 326, 327,
- 214, 0, 457, 268, 293, 0, 0, 258, 415, 589,
- 590, 256, 648, 228, 619, 220, 0, 618, 408, 584,
- 595, 394, 383, 219, 593, 392, 382, 334, 355, 356,
- 280, 307, 447, 375, 448, 306, 308, 404, 403, 405,
- 207, 606, 0, 208, 0, 499, 608, 649, 452, 212,
- 234, 235, 237, 0, 279, 283, 291, 294, 303, 304,
- 313, 367, 419, 446, 442, 451, 0, 579, 600, 613,
- 624, 630, 631, 633, 634, 635, 636, 637, 640, 638,
- 407, 311, 495, 333, 373, 0, 0, 425, 472, 240,
- 604, 496, 199, 0, 0, 0, 0, 254, 255, 0,
- 575, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 650, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 661, 662, 663, 664, 665, 666, 667, 645, 508,
- 514, 509, 510, 511, 512, 513, 0, 515, 0, 0,
- 0, 0, 0, 398, 0, 591, 592, 668, 384, 486,
- 601, 335, 349, 352, 341, 361, 0, 362, 337, 338,
- 343, 346, 347, 348, 353, 354, 358, 364, 249, 210,
- 390, 399, 578, 312, 216, 217, 218, 524, 525, 526,
- 527, 616, 617, 621, 205, 462, 463, 464, 465, 292,
- 611, 309, 468, 467, 331, 332, 379, 449, 540, 542,
- 553, 557, 559, 561, 567, 570, 541, 543, 554, 558,
- 560, 562, 568, 571, 530, 532, 534, 536, 549, 548,
- 545, 573, 574, 551, 556, 535, 547, 552, 565, 572,
- 569, 529, 533, 537, 546, 564, 563, 544, 555, 566,
- 550, 538, 531, 539, 0, 196, 221, 368, 0, 454,
- 288, 646, 615, 484, 610, 206, 223, 0, 262, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 198, 200, 209, 222, 232, 236, 243, 261, 276, 278,
- 285, 298, 310, 318, 319, 322, 328, 380, 386, 387,
- 388, 389, 409, 410, 411, 414, 417, 418, 421, 423,
- 424, 427, 431, 435, 436, 437, 439, 441, 443, 455,
- 460, 474, 475, 476, 477, 478, 481, 482, 488, 489,
- 490, 491, 492, 500, 501, 516, 586, 588, 603, 622,
- 628, 480, 301, 302, 444, 445, 314, 315, 642, 643,
- 300, 598, 629, 596, 641, 623, 438, 378, 0, 0,
- 381, 281, 305, 320, 0, 614, 502, 227, 466, 290,
- 251, 0, 0, 211, 246, 230, 259, 274, 277, 324,
- 391, 400, 429, 434, 296, 271, 244, 459, 241, 485,
- 519, 520, 521, 523, 395, 266, 433, 396, 0, 376,
- 576, 577, 316, 0, 0, 0, 528, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 416, 0,
- 0, 0, 0, 0, 0, 0, 270, 0, 0, 0,
- 0, 366, 267, 0, 0, 204, 505, 0, 430, 0,
- 203, 0, 487, 252, 377, 374, 583, 282, 273, 269,
- 250, 317, 385, 428, 518, 422, 0, 370, 0, 0,
- 497, 401, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 323, 248, 325, 202, 413, 498, 286, 0, 0, 0,
- 0, 2865, 507, 719, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 238, 0, 0, 245, 0, 0, 0,
- 351, 360, 359, 339, 340, 342, 344, 350, 357, 363,
- 336, 345, 0, 0, 607, 0, 0, 0, 265, 321,
- 272, 264, 580, 0, 0, 0, 0, 0, 0, 0,
- 0, 229, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 275, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 2866, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 297, 0,
- 402, 257, 0, 453, 0, 0, 0, 625, 0, 0,
- 0, 0, 0, 0, 0, 365, 0, 330, 197, 225,
- 0, 0, 412, 461, 473, 0, 0, 0, 253, 0,
- 471, 426, 602, 233, 284, 458, 432, 469, 440, 287,
- 0, 0, 470, 372, 585, 450, 599, 626, 627, 263,
- 406, 612, 522, 620, 644, 226, 260, 420, 506, 605,
- 494, 397, 581, 582, 329, 493, 295, 201, 369, 632,
- 224, 479, 371, 242, 231, 587, 609, 299, 289, 456,
- 639, 213, 517, 597, 239, 483, 0, 0, 647, 247,
- 504, 215, 594, 503, 393, 326, 327, 214, 0, 457,
- 268, 293, 0, 0, 258, 415, 589, 590, 256, 648,
- 228, 619, 220, 0, 618, 408, 584, 595, 394, 383,
- 219, 593, 392, 382, 334, 355, 356, 280, 307, 447,
- 375, 448, 306, 308, 404, 403, 405, 207, 606, 0,
- 208, 0, 499, 608, 649, 452, 212, 234, 235, 237,
+ 448, 306, 308, 404, 403, 405, 207, 606, 623, 0,
+ 208, 0, 499, 608, 650, 452, 212, 234, 235, 237,
0, 279, 283, 291, 294, 303, 304, 313, 367, 419,
- 446, 442, 451, 0, 579, 600, 613, 624, 630, 631,
- 633, 634, 635, 636, 637, 640, 638, 407, 311, 495,
+ 446, 442, 451, 0, 579, 600, 613, 625, 631, 632,
+ 634, 635, 636, 637, 638, 641, 639, 407, 311, 495,
333, 373, 0, 0, 425, 472, 240, 604, 496, 199,
0, 0, 0, 0, 254, 255, 0, 575, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 650, 651, 652,
- 653, 654, 655, 656, 657, 658, 659, 660, 661, 662,
- 663, 664, 665, 666, 667, 645, 508, 514, 509, 510,
+ 0, 0, 0, 0, 0, 0, 0, 651, 652, 653,
+ 654, 655, 656, 657, 658, 659, 660, 661, 662, 663,
+ 664, 665, 666, 667, 668, 646, 508, 514, 509, 510,
511, 512, 513, 0, 515, 0, 0, 0, 0, 0,
- 398, 0, 591, 592, 668, 384, 486, 601, 335, 349,
+ 398, 0, 591, 592, 669, 384, 486, 601, 335, 349,
352, 341, 361, 0, 362, 337, 338, 343, 346, 347,
348, 353, 354, 358, 364, 249, 210, 390, 399, 578,
312, 216, 217, 218, 524, 525, 526, 527, 616, 617,
@@ -5156,7 +6715,7 @@ var yyAct = [...]int{
571, 530, 532, 534, 536, 549, 548, 545, 573, 574,
551, 556, 535, 547, 552, 565, 572, 569, 529, 533,
537, 546, 564, 563, 544, 555, 566, 550, 538, 531,
- 539, 0, 196, 221, 368, 0, 454, 288, 646, 615,
+ 539, 0, 196, 221, 368, 0, 454, 288, 647, 615,
484, 610, 206, 223, 0, 262, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 198, 200, 209,
@@ -5165,9 +6724,9 @@ var yyAct = [...]int{
410, 411, 414, 417, 418, 421, 423, 424, 427, 431,
435, 436, 437, 439, 441, 443, 455, 460, 474, 475,
476, 477, 478, 481, 482, 488, 489, 490, 491, 492,
- 500, 501, 516, 586, 588, 603, 622, 628, 480, 301,
- 302, 444, 445, 314, 315, 642, 643, 300, 598, 629,
- 596, 641, 623, 438, 378, 0, 0, 381, 281, 305,
+ 500, 501, 516, 586, 588, 603, 622, 629, 480, 301,
+ 302, 444, 445, 314, 315, 643, 644, 300, 598, 630,
+ 596, 642, 624, 438, 378, 0, 0, 381, 281, 305,
320, 0, 614, 502, 227, 466, 290, 251, 0, 0,
211, 246, 230, 259, 274, 277, 324, 391, 400, 429,
434, 296, 271, 244, 459, 241, 485, 519, 520, 521,
@@ -5180,9 +6739,9 @@ var yyAct = [...]int{
428, 518, 422, 0, 370, 0, 0, 497, 401, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 323, 248, 325,
- 202, 413, 498, 286, 0, 0, 0, 0, 0, 507,
- 719, 0, 0, 0, 0, 2850, 0, 0, 0, 0,
- 238, 0, 0, 245, 2851, 0, 0, 351, 360, 359,
+ 202, 413, 498, 286, 0, 95, 0, 0, 0, 507,
+ 955, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 238, 0, 0, 245, 0, 0, 0, 351, 360, 359,
339, 340, 342, 344, 350, 357, 363, 336, 345, 0,
0, 607, 0, 0, 0, 265, 321, 272, 264, 580,
0, 0, 0, 0, 0, 0, 0, 0, 229, 0,
@@ -5196,252 +6755,31 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 297, 0, 402, 257, 0,
- 453, 0, 0, 0, 625, 0, 0, 0, 0, 0,
+ 453, 0, 0, 0, 626, 0, 0, 0, 0, 0,
0, 0, 365, 0, 330, 197, 225, 0, 0, 412,
461, 473, 0, 0, 0, 253, 0, 471, 426, 602,
233, 284, 458, 432, 469, 440, 287, 0, 0, 470,
- 372, 585, 450, 599, 626, 627, 263, 406, 612, 522,
- 620, 644, 226, 260, 420, 506, 605, 494, 397, 581,
- 582, 329, 493, 295, 201, 369, 632, 224, 479, 371,
- 242, 231, 587, 609, 299, 289, 456, 639, 213, 517,
- 597, 239, 483, 0, 0, 647, 247, 504, 215, 594,
+ 372, 585, 450, 599, 627, 628, 263, 406, 612, 522,
+ 620, 645, 226, 260, 420, 506, 605, 494, 397, 581,
+ 582, 329, 493, 295, 201, 369, 633, 224, 479, 371,
+ 242, 231, 587, 609, 299, 289, 456, 640, 213, 517,
+ 597, 239, 483, 0, 0, 648, 247, 504, 215, 594,
503, 393, 326, 327, 214, 0, 457, 268, 293, 0,
- 0, 258, 415, 589, 590, 256, 648, 228, 619, 220,
+ 0, 258, 415, 589, 590, 256, 649, 228, 619, 220,
0, 618, 408, 584, 595, 394, 383, 219, 593, 392,
382, 334, 355, 356, 280, 307, 447, 375, 448, 306,
- 308, 404, 403, 405, 207, 606, 0, 208, 0, 499,
- 608, 649, 452, 212, 234, 235, 237, 0, 279, 283,
- 291, 294, 303, 304, 313, 367, 419, 446, 442, 451,
- 0, 579, 600, 613, 624, 630, 631, 633, 634, 635,
- 636, 637, 640, 638, 407, 311, 495, 333, 373, 0,
- 0, 425, 472, 240, 604, 496, 199, 0, 0, 0,
- 0, 254, 255, 0, 575, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 650, 651, 652, 653, 654, 655,
- 656, 657, 658, 659, 660, 661, 662, 663, 664, 665,
- 666, 667, 645, 508, 514, 509, 510, 511, 512, 513,
- 0, 515, 0, 0, 0, 0, 0, 398, 0, 591,
- 592, 668, 384, 486, 601, 335, 349, 352, 341, 361,
- 0, 362, 337, 338, 343, 346, 347, 348, 353, 354,
- 358, 364, 249, 210, 390, 399, 578, 312, 216, 217,
- 218, 524, 525, 526, 527, 616, 617, 621, 205, 462,
- 463, 464, 465, 292, 611, 309, 468, 467, 331, 332,
- 379, 449, 540, 542, 553, 557, 559, 561, 567, 570,
- 541, 543, 554, 558, 560, 562, 568, 571, 530, 532,
- 534, 536, 549, 548, 545, 573, 574, 551, 556, 535,
- 547, 552, 565, 572, 569, 529, 533, 537, 546, 564,
- 563, 544, 555, 566, 550, 538, 531, 539, 0, 196,
- 221, 368, 0, 454, 288, 646, 615, 484, 610, 206,
- 223, 0, 262, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 198, 200, 209, 222, 232, 236,
- 243, 261, 276, 278, 285, 298, 310, 318, 319, 322,
- 328, 380, 386, 387, 388, 389, 409, 410, 411, 414,
- 417, 418, 421, 423, 424, 427, 431, 435, 436, 437,
- 439, 441, 443, 455, 460, 474, 475, 476, 477, 478,
- 481, 482, 488, 489, 490, 491, 492, 500, 501, 516,
- 586, 588, 603, 622, 628, 480, 301, 302, 444, 445,
- 314, 315, 642, 643, 300, 598, 629, 596, 641, 623,
- 438, 378, 0, 0, 381, 281, 305, 320, 0, 614,
- 502, 227, 466, 290, 251, 0, 0, 211, 246, 230,
- 259, 274, 277, 324, 391, 400, 429, 434, 296, 271,
- 244, 459, 241, 485, 519, 520, 521, 523, 395, 266,
- 433, 396, 0, 376, 576, 577, 316, 0, 0, 0,
- 528, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 416, 0, 0, 0, 0, 0, 0, 0,
- 270, 1792, 0, 0, 0, 366, 267, 0, 0, 204,
- 505, 0, 430, 0, 203, 0, 487, 252, 377, 374,
- 583, 282, 273, 269, 250, 317, 385, 428, 518, 422,
- 0, 370, 0, 0, 497, 401, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 323, 248, 325, 202, 413, 498,
- 286, 0, 0, 0, 0, 1791, 507, 719, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 238, 0, 0,
- 245, 0, 0, 0, 351, 360, 359, 339, 340, 342,
- 344, 350, 357, 363, 336, 345, 0, 0, 607, 0,
- 0, 0, 265, 321, 272, 264, 580, 0, 0, 0,
- 0, 0, 0, 0, 0, 229, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 275, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 297, 0, 402, 257, 0, 453, 0, 0,
- 0, 625, 0, 0, 0, 0, 0, 0, 0, 365,
- 0, 330, 197, 225, 0, 0, 412, 461, 473, 0,
- 0, 0, 253, 0, 471, 426, 602, 233, 284, 458,
- 432, 469, 440, 287, 0, 0, 470, 372, 585, 450,
- 599, 626, 627, 263, 406, 612, 522, 620, 644, 226,
- 260, 420, 506, 605, 494, 397, 581, 582, 329, 493,
- 295, 201, 369, 632, 224, 479, 371, 242, 231, 587,
- 609, 299, 289, 456, 639, 213, 517, 597, 239, 483,
- 0, 0, 647, 247, 504, 215, 594, 503, 393, 326,
- 327, 214, 0, 457, 268, 293, 0, 0, 258, 415,
- 589, 590, 256, 648, 228, 619, 220, 0, 618, 408,
- 584, 595, 394, 383, 219, 593, 392, 382, 334, 355,
- 356, 280, 307, 447, 375, 448, 306, 308, 404, 403,
- 405, 207, 606, 0, 208, 0, 499, 608, 649, 452,
- 212, 234, 235, 237, 0, 279, 283, 291, 294, 303,
- 304, 313, 367, 419, 446, 442, 451, 0, 579, 600,
- 613, 624, 630, 631, 633, 634, 635, 636, 637, 640,
- 638, 407, 311, 495, 333, 373, 0, 0, 425, 472,
- 240, 604, 496, 199, 0, 0, 0, 0, 254, 255,
- 0, 575, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 650, 651, 652, 653, 654, 655, 656, 657, 658,
- 659, 660, 661, 662, 663, 664, 665, 666, 667, 645,
- 508, 514, 509, 510, 511, 512, 513, 0, 515, 0,
- 0, 0, 0, 0, 398, 0, 591, 592, 668, 384,
- 486, 601, 335, 349, 352, 341, 361, 0, 362, 337,
- 338, 343, 346, 347, 348, 353, 354, 358, 364, 249,
- 210, 390, 399, 578, 312, 216, 217, 218, 524, 525,
- 526, 527, 616, 617, 621, 205, 462, 463, 464, 465,
- 292, 611, 309, 468, 467, 331, 332, 379, 449, 540,
- 542, 553, 557, 559, 561, 567, 570, 541, 543, 554,
- 558, 560, 562, 568, 571, 530, 532, 534, 536, 549,
- 548, 545, 573, 574, 551, 556, 535, 547, 552, 565,
- 572, 569, 529, 533, 537, 546, 564, 563, 544, 555,
- 566, 550, 538, 531, 539, 0, 196, 221, 368, 0,
- 454, 288, 646, 615, 484, 610, 206, 223, 0, 262,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 198, 200, 209, 222, 232, 236, 243, 261, 276,
- 278, 285, 298, 310, 318, 319, 322, 328, 380, 386,
- 387, 388, 389, 409, 410, 411, 414, 417, 418, 421,
- 423, 424, 427, 431, 435, 436, 437, 439, 441, 443,
- 455, 460, 474, 475, 476, 477, 478, 481, 482, 488,
- 489, 490, 491, 492, 500, 501, 516, 586, 588, 603,
- 622, 628, 480, 301, 302, 444, 445, 314, 315, 642,
- 643, 300, 598, 629, 596, 641, 623, 438, 378, 0,
- 0, 381, 281, 305, 320, 0, 614, 502, 227, 466,
- 290, 251, 0, 0, 211, 246, 230, 259, 274, 277,
- 324, 391, 400, 429, 434, 296, 271, 244, 459, 241,
- 485, 519, 520, 521, 523, 395, 266, 433, 396, 0,
- 376, 576, 577, 316, 0, 0, 0, 528, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 416,
- 0, 0, 0, 0, 0, 0, 0, 270, 0, 0,
- 0, 0, 366, 267, 0, 0, 204, 505, 0, 430,
- 0, 203, 0, 487, 252, 377, 374, 583, 282, 273,
- 269, 250, 317, 385, 428, 518, 422, 0, 370, 0,
- 0, 497, 401, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 323, 248, 325, 202, 413, 498, 286, 0, 0,
- 0, 0, 0, 507, 721, 722, 723, 0, 0, 0,
- 0, 0, 0, 0, 238, 0, 0, 245, 0, 0,
- 0, 351, 360, 359, 339, 340, 342, 344, 350, 357,
- 363, 336, 345, 0, 0, 607, 0, 0, 0, 265,
- 321, 272, 264, 580, 0, 0, 0, 0, 0, 0,
- 0, 0, 229, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 275, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 297,
- 0, 402, 257, 0, 453, 0, 0, 0, 625, 0,
- 0, 0, 0, 0, 0, 0, 365, 0, 330, 197,
- 225, 0, 0, 412, 461, 473, 0, 0, 0, 253,
- 0, 471, 426, 602, 233, 284, 458, 432, 469, 440,
- 287, 0, 0, 470, 372, 585, 450, 599, 626, 627,
- 263, 406, 612, 522, 620, 644, 226, 260, 420, 506,
- 605, 494, 397, 581, 582, 329, 493, 295, 201, 369,
- 632, 224, 479, 371, 242, 231, 587, 609, 299, 289,
- 456, 639, 213, 517, 597, 239, 483, 0, 0, 647,
- 247, 504, 215, 594, 503, 393, 326, 327, 214, 0,
- 457, 268, 293, 0, 0, 258, 415, 589, 590, 256,
- 648, 228, 619, 220, 0, 618, 408, 584, 595, 394,
- 383, 219, 593, 392, 382, 334, 355, 356, 280, 307,
- 447, 375, 448, 306, 308, 404, 403, 405, 207, 606,
- 0, 208, 0, 499, 608, 649, 452, 212, 234, 235,
- 237, 0, 279, 283, 291, 294, 303, 304, 313, 367,
- 419, 446, 442, 451, 0, 579, 600, 613, 624, 630,
- 631, 633, 634, 635, 636, 637, 640, 638, 407, 311,
- 495, 333, 373, 0, 0, 425, 472, 240, 604, 496,
- 199, 0, 0, 0, 0, 254, 255, 0, 575, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 650, 651,
- 652, 653, 654, 655, 656, 657, 658, 659, 660, 661,
- 662, 663, 664, 665, 666, 667, 645, 508, 514, 509,
- 510, 511, 512, 513, 0, 515, 0, 0, 0, 0,
- 0, 398, 0, 591, 592, 668, 384, 486, 601, 335,
- 349, 352, 341, 361, 0, 362, 337, 338, 343, 346,
- 347, 348, 353, 354, 358, 364, 249, 210, 390, 399,
- 578, 312, 216, 217, 218, 524, 525, 526, 527, 616,
- 617, 621, 205, 462, 463, 464, 465, 292, 611, 309,
- 468, 467, 331, 332, 379, 449, 540, 542, 553, 557,
- 559, 561, 567, 570, 541, 543, 554, 558, 560, 562,
- 568, 571, 530, 532, 534, 536, 549, 548, 545, 573,
- 574, 551, 556, 535, 547, 552, 565, 572, 569, 529,
- 533, 537, 546, 564, 563, 544, 555, 566, 550, 538,
- 531, 539, 0, 196, 221, 368, 0, 454, 288, 646,
- 615, 484, 610, 206, 223, 0, 262, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 198, 200,
- 209, 222, 232, 236, 243, 261, 276, 278, 285, 298,
- 310, 318, 319, 322, 328, 380, 386, 387, 388, 389,
- 409, 410, 411, 414, 417, 418, 421, 423, 424, 427,
- 431, 435, 436, 437, 439, 441, 443, 455, 460, 474,
- 475, 476, 477, 478, 481, 482, 488, 489, 490, 491,
- 492, 500, 501, 516, 586, 588, 603, 622, 628, 480,
- 301, 302, 444, 445, 314, 315, 642, 643, 300, 598,
- 629, 596, 641, 623, 438, 378, 0, 0, 381, 281,
- 305, 320, 0, 614, 502, 227, 466, 290, 251, 0,
- 0, 211, 246, 230, 259, 274, 277, 324, 391, 400,
- 429, 434, 296, 271, 244, 459, 241, 485, 519, 520,
- 521, 523, 395, 266, 433, 396, 0, 376, 576, 577,
- 316, 0, 0, 0, 528, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 416, 0, 0, 0,
- 0, 0, 0, 0, 270, 0, 0, 0, 0, 366,
- 267, 0, 0, 204, 505, 0, 430, 0, 203, 0,
- 487, 252, 377, 374, 583, 282, 273, 269, 250, 317,
- 385, 428, 518, 422, 0, 370, 0, 0, 497, 401,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 323, 248,
- 325, 202, 413, 498, 286, 0, 0, 0, 0, 0,
- 507, 719, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 238, 0, 0, 245, 0, 0, 0, 351, 360,
- 359, 339, 340, 342, 344, 350, 357, 363, 336, 345,
- 0, 0, 607, 0, 0, 0, 265, 321, 272, 264,
- 580, 0, 0, 0, 0, 0, 0, 0, 0, 229,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 275, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 297, 0, 402, 257,
- 0, 453, 0, 0, 0, 625, 0, 0, 0, 4058,
- 0, 0, 0, 365, 0, 330, 197, 225, 0, 0,
- 412, 461, 473, 0, 0, 0, 253, 0, 471, 426,
- 602, 233, 284, 458, 432, 469, 440, 287, 0, 0,
- 470, 372, 585, 450, 599, 626, 627, 263, 406, 612,
- 522, 620, 644, 226, 260, 420, 506, 605, 494, 397,
- 581, 582, 329, 493, 295, 201, 369, 632, 224, 479,
- 371, 242, 231, 587, 609, 299, 289, 456, 639, 213,
- 517, 597, 239, 483, 0, 0, 647, 247, 504, 215,
- 594, 503, 393, 326, 327, 214, 0, 457, 268, 293,
- 0, 0, 258, 415, 589, 590, 256, 648, 228, 619,
- 220, 0, 618, 408, 584, 595, 394, 383, 219, 593,
- 392, 382, 334, 355, 356, 280, 307, 447, 375, 448,
- 306, 308, 404, 403, 405, 207, 606, 0, 208, 0,
- 499, 608, 649, 452, 212, 234, 235, 237, 0, 279,
+ 308, 404, 403, 405, 207, 606, 623, 0, 208, 0,
+ 499, 608, 650, 452, 212, 234, 235, 237, 0, 279,
283, 291, 294, 303, 304, 313, 367, 419, 446, 442,
- 451, 0, 579, 600, 613, 624, 630, 631, 633, 634,
- 635, 636, 637, 640, 638, 407, 311, 495, 333, 373,
+ 451, 0, 579, 600, 613, 625, 631, 632, 634, 635,
+ 636, 637, 638, 641, 639, 407, 311, 495, 333, 373,
0, 0, 425, 472, 240, 604, 496, 199, 0, 0,
0, 0, 254, 255, 0, 575, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 650, 651, 652, 653, 654,
- 655, 656, 657, 658, 659, 660, 661, 662, 663, 664,
- 665, 666, 667, 645, 508, 514, 509, 510, 511, 512,
+ 0, 0, 0, 0, 0, 651, 652, 653, 654, 655,
+ 656, 657, 658, 659, 660, 661, 662, 663, 664, 665,
+ 666, 667, 668, 646, 508, 514, 509, 510, 511, 512,
513, 0, 515, 0, 0, 0, 0, 0, 398, 0,
- 591, 592, 668, 384, 486, 601, 335, 349, 352, 341,
+ 591, 592, 669, 384, 486, 601, 335, 349, 352, 341,
361, 0, 362, 337, 338, 343, 346, 347, 348, 353,
354, 358, 364, 249, 210, 390, 399, 578, 312, 216,
217, 218, 524, 525, 526, 527, 616, 617, 621, 205,
@@ -5451,7 +6789,7 @@ var yyAct = [...]int{
532, 534, 536, 549, 548, 545, 573, 574, 551, 556,
535, 547, 552, 565, 572, 569, 529, 533, 537, 546,
564, 563, 544, 555, 566, 550, 538, 531, 539, 0,
- 196, 221, 368, 0, 454, 288, 646, 615, 484, 610,
+ 196, 221, 368, 0, 454, 288, 647, 615, 484, 610,
206, 223, 0, 262, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 198, 200, 209, 222, 232,
@@ -5460,9 +6798,9 @@ var yyAct = [...]int{
414, 417, 418, 421, 423, 424, 427, 431, 435, 436,
437, 439, 441, 443, 455, 460, 474, 475, 476, 477,
478, 481, 482, 488, 489, 490, 491, 492, 500, 501,
- 516, 586, 588, 603, 622, 628, 480, 301, 302, 444,
- 445, 314, 315, 642, 643, 300, 598, 629, 596, 641,
- 623, 438, 378, 0, 0, 381, 281, 305, 320, 0,
+ 516, 586, 588, 603, 622, 629, 480, 301, 302, 444,
+ 445, 314, 315, 643, 644, 300, 598, 630, 596, 642,
+ 624, 438, 378, 0, 0, 381, 281, 305, 320, 0,
614, 502, 227, 466, 290, 251, 0, 0, 211, 246,
230, 259, 274, 277, 324, 391, 400, 429, 434, 296,
271, 244, 459, 241, 485, 519, 520, 521, 523, 395,
@@ -5475,7 +6813,7 @@ var yyAct = [...]int{
422, 0, 370, 0, 0, 497, 401, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 323, 248, 325, 202, 413,
- 498, 286, 0, 0, 0, 0, 1952, 507, 194, 0,
+ 498, 286, 0, 0, 0, 0, 0, 507, 194, 0,
0, 0, 0, 0, 0, 0, 0, 0, 238, 0,
0, 245, 0, 0, 0, 351, 360, 359, 339, 340,
342, 344, 350, 357, 363, 336, 345, 0, 0, 607,
@@ -5490,253 +6828,32 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 297, 0, 402, 257, 0, 453, 0,
- 0, 0, 625, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1451, 0, 297, 0, 402, 257, 0, 453, 0,
+ 0, 0, 626, 0, 0, 0, 0, 0, 0, 0,
365, 0, 330, 197, 225, 0, 0, 412, 461, 473,
0, 0, 0, 253, 0, 471, 426, 602, 233, 284,
458, 432, 469, 440, 287, 0, 0, 470, 372, 585,
- 450, 599, 626, 627, 263, 406, 612, 522, 620, 644,
+ 450, 599, 627, 628, 263, 406, 612, 522, 620, 645,
226, 260, 420, 506, 605, 494, 397, 581, 582, 329,
- 493, 295, 201, 369, 632, 224, 479, 371, 242, 231,
- 587, 609, 299, 289, 456, 639, 213, 517, 597, 239,
- 483, 0, 0, 647, 247, 504, 215, 594, 503, 393,
+ 493, 295, 201, 369, 633, 224, 479, 371, 242, 231,
+ 587, 609, 299, 289, 456, 640, 213, 517, 597, 239,
+ 483, 0, 0, 648, 247, 504, 215, 594, 503, 393,
326, 327, 214, 0, 457, 268, 293, 0, 0, 258,
- 415, 589, 590, 256, 648, 228, 619, 220, 0, 618,
+ 415, 589, 590, 256, 649, 228, 619, 220, 0, 618,
408, 584, 595, 394, 383, 219, 593, 392, 382, 334,
355, 356, 280, 307, 447, 375, 448, 306, 308, 404,
- 403, 405, 207, 606, 0, 208, 0, 499, 608, 649,
- 452, 212, 234, 235, 237, 0, 279, 283, 291, 294,
- 303, 304, 313, 367, 419, 446, 442, 451, 0, 579,
- 600, 613, 624, 630, 631, 633, 634, 635, 636, 637,
- 640, 638, 407, 311, 495, 333, 373, 0, 0, 425,
- 472, 240, 604, 496, 199, 0, 0, 0, 0, 254,
- 255, 0, 575, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 650, 651, 652, 653, 654, 655, 656, 657,
- 658, 659, 660, 661, 662, 663, 664, 665, 666, 667,
- 645, 508, 514, 509, 510, 511, 512, 513, 0, 515,
- 0, 0, 0, 0, 0, 398, 0, 591, 592, 668,
- 384, 486, 601, 335, 349, 352, 341, 361, 0, 362,
- 337, 338, 343, 346, 347, 348, 353, 354, 358, 364,
- 249, 210, 390, 399, 578, 312, 216, 217, 218, 524,
- 525, 526, 527, 616, 617, 621, 205, 462, 463, 464,
- 465, 292, 611, 309, 468, 467, 331, 332, 379, 449,
- 540, 542, 553, 557, 559, 561, 567, 570, 541, 543,
- 554, 558, 560, 562, 568, 571, 530, 532, 534, 536,
- 549, 548, 545, 573, 574, 551, 556, 535, 547, 552,
- 565, 572, 569, 529, 533, 537, 546, 564, 563, 544,
- 555, 566, 550, 538, 531, 539, 0, 196, 221, 368,
- 0, 454, 288, 646, 615, 484, 610, 206, 223, 0,
- 262, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 198, 200, 209, 222, 232, 236, 243, 261,
- 276, 278, 285, 298, 310, 318, 319, 322, 328, 380,
- 386, 387, 388, 389, 409, 410, 411, 414, 417, 418,
- 421, 423, 424, 427, 431, 435, 436, 437, 439, 441,
- 443, 455, 460, 474, 475, 476, 477, 478, 481, 482,
- 488, 489, 490, 491, 492, 500, 501, 516, 586, 588,
- 603, 622, 628, 480, 301, 302, 444, 445, 314, 315,
- 642, 643, 300, 598, 629, 596, 641, 623, 438, 378,
- 0, 0, 381, 281, 305, 320, 0, 614, 502, 227,
- 466, 290, 251, 0, 0, 211, 246, 230, 259, 274,
- 277, 324, 391, 400, 429, 434, 296, 271, 244, 459,
- 241, 485, 519, 520, 521, 523, 395, 266, 433, 396,
- 0, 376, 576, 577, 316, 0, 0, 0, 528, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 416, 0, 0, 0, 0, 0, 0, 0, 270, 0,
- 0, 0, 0, 366, 267, 0, 0, 204, 505, 0,
- 430, 0, 203, 0, 487, 252, 377, 374, 583, 282,
- 273, 269, 250, 317, 385, 428, 518, 422, 0, 370,
- 0, 0, 497, 401, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 323, 248, 325, 202, 413, 498, 286, 0,
- 0, 0, 0, 0, 507, 719, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 238, 0, 0, 245, 0,
- 0, 0, 351, 360, 359, 339, 340, 342, 344, 350,
- 357, 363, 336, 345, 0, 0, 607, 0, 0, 0,
- 265, 321, 272, 264, 580, 0, 0, 0, 0, 0,
- 0, 0, 0, 229, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 275, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 297, 0, 402, 257, 0, 453, 0, 0, 0, 625,
- 0, 0, 0, 3714, 0, 0, 0, 365, 0, 330,
- 197, 225, 0, 0, 412, 461, 473, 0, 0, 0,
- 253, 0, 471, 426, 602, 233, 284, 458, 432, 469,
- 440, 287, 0, 0, 470, 372, 585, 450, 599, 626,
- 627, 263, 406, 612, 522, 620, 644, 226, 260, 420,
- 506, 605, 494, 397, 581, 582, 329, 493, 295, 201,
- 369, 632, 224, 479, 371, 242, 231, 587, 609, 299,
- 289, 456, 639, 213, 517, 597, 239, 483, 0, 0,
- 647, 247, 504, 215, 594, 503, 393, 326, 327, 214,
- 0, 457, 268, 293, 0, 0, 258, 415, 589, 590,
- 256, 648, 228, 619, 220, 0, 618, 408, 584, 595,
- 394, 383, 219, 593, 392, 382, 334, 355, 356, 280,
- 307, 447, 375, 448, 306, 308, 404, 403, 405, 207,
- 606, 0, 208, 0, 499, 608, 649, 452, 212, 234,
- 235, 237, 0, 279, 283, 291, 294, 303, 304, 313,
- 367, 419, 446, 442, 451, 0, 579, 600, 613, 624,
- 630, 631, 633, 634, 635, 636, 637, 640, 638, 407,
- 311, 495, 333, 373, 0, 0, 425, 472, 240, 604,
- 496, 199, 0, 0, 0, 0, 254, 255, 0, 575,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 650,
- 651, 652, 653, 654, 655, 656, 657, 658, 659, 660,
- 661, 662, 663, 664, 665, 666, 667, 645, 508, 514,
- 509, 510, 511, 512, 513, 0, 515, 0, 0, 0,
- 0, 0, 398, 0, 591, 592, 668, 384, 486, 601,
- 335, 349, 352, 341, 361, 0, 362, 337, 338, 343,
- 346, 347, 348, 353, 354, 358, 364, 249, 210, 390,
- 399, 578, 312, 216, 217, 218, 524, 525, 526, 527,
- 616, 617, 621, 205, 462, 463, 464, 465, 292, 611,
- 309, 468, 467, 331, 332, 379, 449, 540, 542, 553,
- 557, 559, 561, 567, 570, 541, 543, 554, 558, 560,
- 562, 568, 571, 530, 532, 534, 536, 549, 548, 545,
- 573, 574, 551, 556, 535, 547, 552, 565, 572, 569,
- 529, 533, 537, 546, 564, 563, 544, 555, 566, 550,
- 538, 531, 539, 0, 196, 221, 368, 0, 454, 288,
- 646, 615, 484, 610, 206, 223, 0, 262, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 198,
- 200, 209, 222, 232, 236, 243, 261, 276, 278, 285,
- 298, 310, 318, 319, 322, 328, 380, 386, 387, 388,
- 389, 409, 410, 411, 414, 417, 418, 421, 423, 424,
- 427, 431, 435, 436, 437, 439, 441, 443, 455, 460,
- 474, 475, 476, 477, 478, 481, 482, 488, 489, 490,
- 491, 492, 500, 501, 516, 586, 588, 603, 622, 628,
- 480, 301, 302, 444, 445, 314, 315, 642, 643, 300,
- 598, 629, 596, 641, 623, 438, 378, 0, 0, 381,
- 281, 305, 320, 0, 614, 502, 227, 466, 290, 251,
- 0, 0, 211, 246, 230, 259, 274, 277, 324, 391,
- 400, 429, 434, 296, 271, 244, 459, 241, 485, 519,
- 520, 521, 523, 395, 266, 433, 396, 0, 376, 576,
- 577, 316, 0, 0, 0, 528, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 416, 0, 0,
- 0, 0, 0, 0, 0, 270, 0, 0, 0, 0,
- 366, 267, 0, 0, 204, 505, 0, 430, 0, 203,
- 0, 487, 252, 377, 374, 583, 282, 273, 269, 250,
- 317, 385, 428, 518, 422, 0, 370, 0, 0, 497,
- 401, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 323,
- 248, 325, 202, 413, 498, 286, 0, 95, 0, 0,
- 0, 507, 719, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 238, 0, 0, 245, 0, 0, 0, 351,
- 360, 359, 339, 340, 342, 344, 350, 357, 363, 336,
- 345, 0, 0, 607, 0, 0, 0, 265, 321, 272,
- 264, 580, 0, 0, 0, 0, 0, 0, 0, 0,
- 229, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 275, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 297, 0, 402,
- 257, 0, 453, 0, 0, 0, 625, 0, 0, 0,
- 0, 0, 0, 0, 365, 0, 330, 197, 225, 0,
- 0, 412, 461, 473, 0, 0, 0, 253, 0, 471,
- 426, 602, 233, 284, 458, 432, 469, 440, 287, 0,
- 0, 470, 372, 585, 450, 599, 626, 627, 263, 406,
- 612, 522, 620, 644, 226, 260, 420, 506, 605, 494,
- 397, 581, 582, 329, 493, 295, 201, 369, 632, 224,
- 479, 371, 242, 231, 587, 609, 299, 289, 456, 639,
- 213, 517, 597, 239, 483, 0, 0, 647, 247, 504,
- 215, 594, 503, 393, 326, 327, 214, 0, 457, 268,
- 293, 0, 0, 258, 415, 589, 590, 256, 648, 228,
- 619, 220, 0, 618, 408, 584, 595, 394, 383, 219,
- 593, 392, 382, 334, 355, 356, 280, 307, 447, 375,
- 448, 306, 308, 404, 403, 405, 207, 606, 0, 208,
- 0, 499, 608, 649, 452, 212, 234, 235, 237, 0,
- 279, 283, 291, 294, 303, 304, 313, 367, 419, 446,
- 442, 451, 0, 579, 600, 613, 624, 630, 631, 633,
- 634, 635, 636, 637, 640, 638, 407, 311, 495, 333,
- 373, 0, 0, 425, 472, 240, 604, 496, 199, 0,
- 0, 0, 0, 254, 255, 0, 575, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 650, 651, 652, 653,
- 654, 655, 656, 657, 658, 659, 660, 661, 662, 663,
- 664, 665, 666, 667, 645, 508, 514, 509, 510, 511,
- 512, 513, 0, 515, 0, 0, 0, 0, 0, 398,
- 0, 591, 592, 668, 384, 486, 601, 335, 349, 352,
- 341, 361, 0, 362, 337, 338, 343, 346, 347, 348,
- 353, 354, 358, 364, 249, 210, 390, 399, 578, 312,
- 216, 217, 218, 524, 525, 526, 527, 616, 617, 621,
- 205, 462, 463, 464, 465, 292, 611, 309, 468, 467,
- 331, 332, 379, 449, 540, 542, 553, 557, 559, 561,
- 567, 570, 541, 543, 554, 558, 560, 562, 568, 571,
- 530, 532, 534, 536, 549, 548, 545, 573, 574, 551,
- 556, 535, 547, 552, 565, 572, 569, 529, 533, 537,
- 546, 564, 563, 544, 555, 566, 550, 538, 531, 539,
- 0, 196, 221, 368, 0, 454, 288, 646, 615, 484,
- 610, 206, 223, 0, 262, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 198, 200, 209, 222,
- 232, 236, 243, 261, 276, 278, 285, 298, 310, 318,
- 319, 322, 328, 380, 386, 387, 388, 389, 409, 410,
- 411, 414, 417, 418, 421, 423, 424, 427, 431, 435,
- 436, 437, 439, 441, 443, 455, 460, 474, 475, 476,
- 477, 478, 481, 482, 488, 489, 490, 491, 492, 500,
- 501, 516, 586, 588, 603, 622, 628, 480, 301, 302,
- 444, 445, 314, 315, 642, 643, 300, 598, 629, 596,
- 641, 623, 438, 378, 0, 0, 381, 281, 305, 320,
- 0, 614, 502, 227, 466, 290, 251, 0, 0, 211,
- 246, 230, 259, 274, 277, 324, 391, 400, 429, 434,
- 296, 271, 244, 459, 241, 485, 519, 520, 521, 523,
- 395, 266, 433, 396, 0, 376, 576, 577, 316, 0,
- 0, 0, 528, 0, 0, 0, 0, 2416, 0, 0,
- 0, 0, 0, 0, 416, 0, 0, 0, 0, 0,
- 0, 0, 270, 0, 0, 0, 0, 366, 267, 0,
- 0, 204, 505, 0, 430, 0, 203, 0, 487, 252,
- 377, 374, 583, 282, 273, 269, 250, 317, 385, 428,
- 518, 422, 0, 370, 0, 0, 497, 401, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 323, 248, 325, 202,
- 413, 498, 286, 0, 0, 0, 0, 0, 507, 194,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 238,
- 0, 0, 245, 0, 0, 0, 351, 360, 359, 339,
- 340, 342, 344, 350, 357, 363, 336, 345, 0, 0,
- 607, 0, 0, 0, 265, 321, 272, 264, 580, 0,
- 0, 0, 0, 0, 0, 0, 0, 229, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 275, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 297, 0, 402, 257, 0, 453,
- 0, 0, 0, 625, 0, 0, 0, 0, 0, 0,
- 0, 365, 0, 330, 197, 225, 0, 0, 412, 461,
- 473, 0, 0, 0, 253, 0, 471, 426, 602, 233,
- 284, 458, 432, 469, 440, 287, 0, 0, 470, 372,
- 585, 450, 599, 626, 627, 263, 406, 612, 522, 620,
- 644, 226, 260, 420, 506, 605, 494, 397, 581, 582,
- 329, 493, 295, 201, 369, 632, 224, 479, 371, 242,
- 231, 587, 609, 299, 289, 456, 639, 213, 517, 597,
- 239, 483, 0, 0, 647, 247, 504, 215, 594, 503,
- 393, 326, 327, 214, 0, 457, 268, 293, 0, 0,
- 258, 415, 589, 590, 256, 648, 228, 619, 220, 0,
- 618, 408, 584, 595, 394, 383, 219, 593, 392, 382,
- 334, 355, 356, 280, 307, 447, 375, 448, 306, 308,
- 404, 403, 405, 207, 606, 0, 208, 0, 499, 608,
- 649, 452, 212, 234, 235, 237, 0, 279, 283, 291,
+ 403, 405, 207, 606, 623, 0, 208, 0, 499, 608,
+ 650, 452, 212, 234, 235, 237, 0, 279, 283, 291,
294, 303, 304, 313, 367, 419, 446, 442, 451, 0,
- 579, 600, 613, 624, 630, 631, 633, 634, 635, 636,
- 637, 640, 638, 407, 311, 495, 333, 373, 0, 0,
+ 579, 600, 613, 625, 631, 632, 634, 635, 636, 637,
+ 638, 641, 639, 407, 311, 495, 333, 373, 0, 0,
425, 472, 240, 604, 496, 199, 0, 0, 0, 0,
254, 255, 0, 575, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 650, 651, 652, 653, 654, 655, 656,
- 657, 658, 659, 660, 661, 662, 663, 664, 665, 666,
- 667, 645, 508, 514, 509, 510, 511, 512, 513, 0,
+ 0, 0, 0, 651, 652, 653, 654, 655, 656, 657,
+ 658, 659, 660, 661, 662, 663, 664, 665, 666, 667,
+ 668, 646, 508, 514, 509, 510, 511, 512, 513, 0,
515, 0, 0, 0, 0, 0, 398, 0, 591, 592,
- 668, 384, 486, 601, 335, 349, 352, 341, 361, 0,
+ 669, 384, 486, 601, 335, 349, 352, 341, 361, 0,
362, 337, 338, 343, 346, 347, 348, 353, 354, 358,
364, 249, 210, 390, 399, 578, 312, 216, 217, 218,
524, 525, 526, 527, 616, 617, 621, 205, 462, 463,
@@ -5746,7 +6863,7 @@ var yyAct = [...]int{
536, 549, 548, 545, 573, 574, 551, 556, 535, 547,
552, 565, 572, 569, 529, 533, 537, 546, 564, 563,
544, 555, 566, 550, 538, 531, 539, 0, 196, 221,
- 368, 0, 454, 288, 646, 615, 484, 610, 206, 223,
+ 368, 0, 454, 288, 647, 615, 484, 610, 206, 223,
0, 262, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 198, 200, 209, 222, 232, 236, 243,
@@ -5755,8 +6872,8 @@ var yyAct = [...]int{
418, 421, 423, 424, 427, 431, 435, 436, 437, 439,
441, 443, 455, 460, 474, 475, 476, 477, 478, 481,
482, 488, 489, 490, 491, 492, 500, 501, 516, 586,
- 588, 603, 622, 628, 480, 301, 302, 444, 445, 314,
- 315, 642, 643, 300, 598, 629, 596, 641, 623, 438,
+ 588, 603, 622, 629, 480, 301, 302, 444, 445, 314,
+ 315, 643, 644, 1450, 598, 630, 596, 642, 624, 438,
378, 0, 0, 381, 281, 305, 320, 0, 614, 502,
227, 466, 290, 251, 0, 0, 211, 246, 230, 259,
274, 277, 324, 391, 400, 429, 434, 296, 271, 244,
@@ -5770,7 +6887,7 @@ var yyAct = [...]int{
370, 0, 0, 497, 401, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 323, 248, 325, 202, 413, 498, 286,
- 0, 0, 0, 0, 1773, 507, 719, 0, 0, 0,
+ 0, 0, 0, 0, 0, 507, 194, 0, 0, 0,
0, 0, 0, 0, 0, 0, 238, 0, 0, 245,
0, 0, 0, 351, 360, 359, 339, 340, 342, 344,
350, 357, 363, 336, 345, 0, 0, 607, 0, 0,
@@ -5785,252 +6902,31 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 297, 0, 402, 257, 0, 453, 0, 0, 0,
- 625, 0, 0, 0, 0, 0, 0, 0, 365, 0,
- 330, 197, 225, 0, 0, 412, 461, 473, 0, 0,
- 0, 253, 0, 471, 426, 602, 233, 284, 458, 432,
- 469, 440, 287, 0, 0, 470, 372, 585, 450, 599,
- 626, 627, 263, 406, 612, 522, 620, 644, 226, 260,
- 420, 506, 605, 494, 397, 581, 582, 329, 493, 295,
- 201, 369, 632, 224, 479, 371, 242, 231, 587, 609,
- 299, 289, 456, 639, 213, 517, 597, 239, 483, 0,
- 0, 647, 247, 504, 215, 594, 503, 393, 326, 327,
- 214, 0, 457, 268, 293, 0, 0, 258, 415, 589,
- 590, 256, 648, 228, 619, 220, 0, 618, 408, 584,
- 595, 394, 383, 219, 593, 392, 382, 334, 355, 356,
- 280, 307, 447, 375, 448, 306, 308, 404, 403, 405,
- 207, 606, 0, 208, 0, 499, 608, 649, 452, 212,
- 234, 235, 237, 0, 279, 283, 291, 294, 303, 304,
- 313, 367, 419, 446, 442, 451, 0, 579, 600, 613,
- 624, 630, 631, 633, 634, 635, 636, 637, 640, 638,
- 407, 311, 495, 333, 373, 0, 0, 425, 472, 240,
- 604, 496, 199, 0, 0, 0, 0, 254, 255, 0,
- 575, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 650, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 661, 662, 663, 664, 665, 666, 667, 645, 508,
- 514, 509, 510, 511, 512, 513, 0, 515, 0, 0,
- 0, 0, 0, 398, 0, 591, 592, 668, 384, 486,
- 601, 335, 349, 352, 341, 361, 0, 362, 337, 338,
- 343, 346, 347, 348, 353, 354, 358, 364, 249, 210,
- 390, 399, 578, 312, 216, 217, 218, 524, 525, 526,
- 527, 616, 617, 621, 205, 462, 463, 464, 465, 292,
- 611, 309, 468, 467, 331, 332, 379, 449, 540, 542,
- 553, 557, 559, 561, 567, 570, 541, 543, 554, 558,
- 560, 562, 568, 571, 530, 532, 534, 536, 549, 548,
- 545, 573, 574, 551, 556, 535, 547, 552, 565, 572,
- 569, 529, 533, 537, 546, 564, 563, 544, 555, 566,
- 550, 538, 531, 539, 0, 196, 221, 368, 0, 454,
- 288, 646, 615, 484, 610, 206, 223, 0, 262, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 198, 200, 209, 222, 232, 236, 243, 261, 276, 278,
- 285, 298, 310, 318, 319, 322, 328, 380, 386, 387,
- 388, 389, 409, 410, 411, 414, 417, 418, 421, 423,
- 424, 427, 431, 435, 436, 437, 439, 441, 443, 455,
- 460, 474, 475, 476, 477, 478, 481, 482, 488, 489,
- 490, 491, 492, 500, 501, 516, 586, 588, 603, 622,
- 628, 480, 301, 302, 444, 445, 314, 315, 642, 643,
- 300, 598, 629, 596, 641, 623, 438, 378, 0, 0,
- 381, 281, 305, 320, 0, 614, 502, 227, 466, 290,
- 251, 0, 0, 211, 246, 230, 259, 274, 277, 324,
- 391, 400, 429, 434, 296, 271, 244, 459, 241, 485,
- 519, 520, 521, 523, 395, 266, 433, 396, 0, 376,
- 576, 577, 316, 0, 0, 0, 528, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 416, 0,
- 0, 0, 0, 0, 0, 0, 270, 0, 0, 0,
- 0, 366, 267, 0, 0, 204, 505, 0, 430, 0,
- 203, 0, 487, 252, 377, 374, 583, 282, 273, 269,
- 250, 317, 385, 428, 518, 422, 0, 370, 0, 0,
- 497, 401, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 323, 248, 325, 202, 413, 498, 286, 0, 0, 0,
- 0, 0, 507, 194, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 238, 0, 0, 245, 0, 0, 0,
- 351, 360, 359, 339, 340, 342, 344, 350, 357, 363,
- 336, 345, 0, 0, 607, 0, 0, 0, 265, 321,
- 272, 264, 580, 0, 0, 0, 0, 0, 0, 0,
- 0, 229, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 275, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 297, 0,
- 402, 257, 0, 453, 0, 0, 0, 625, 0, 0,
- 0, 0, 0, 0, 0, 365, 0, 330, 197, 225,
- 0, 0, 412, 461, 473, 0, 0, 0, 253, 0,
- 471, 426, 602, 233, 284, 458, 432, 469, 440, 287,
- 0, 0, 470, 372, 585, 450, 599, 626, 627, 263,
- 406, 612, 522, 620, 644, 226, 260, 420, 506, 605,
- 494, 397, 581, 582, 329, 493, 295, 201, 369, 632,
- 224, 479, 371, 242, 231, 587, 609, 299, 289, 456,
- 639, 213, 517, 597, 239, 483, 0, 0, 647, 247,
- 504, 215, 594, 503, 393, 326, 327, 214, 0, 457,
- 268, 293, 0, 0, 258, 415, 589, 590, 256, 648,
- 228, 619, 220, 0, 618, 408, 584, 595, 394, 383,
- 219, 593, 392, 382, 334, 355, 356, 280, 307, 447,
- 375, 448, 306, 308, 404, 403, 405, 207, 606, 0,
- 208, 0, 499, 608, 649, 452, 212, 234, 235, 237,
- 0, 279, 283, 291, 294, 303, 304, 313, 367, 419,
- 446, 442, 451, 0, 579, 600, 613, 624, 630, 631,
- 633, 634, 635, 636, 637, 640, 638, 407, 311, 495,
- 333, 373, 0, 0, 425, 472, 240, 604, 496, 199,
- 0, 0, 0, 0, 254, 255, 0, 575, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 650, 651, 652,
- 653, 654, 655, 656, 657, 658, 659, 660, 661, 662,
- 663, 664, 665, 666, 667, 645, 508, 514, 509, 510,
- 511, 512, 513, 0, 515, 0, 0, 0, 0, 0,
- 398, 0, 591, 592, 668, 384, 486, 601, 335, 349,
- 352, 341, 361, 0, 362, 337, 338, 343, 346, 347,
- 348, 353, 354, 358, 364, 249, 210, 390, 399, 578,
- 312, 216, 217, 218, 524, 525, 526, 527, 616, 617,
- 621, 205, 462, 463, 464, 465, 292, 611, 309, 468,
- 467, 331, 332, 379, 449, 540, 542, 553, 557, 559,
- 561, 567, 570, 541, 543, 554, 558, 560, 562, 568,
- 571, 530, 532, 534, 536, 549, 548, 545, 573, 574,
- 551, 556, 535, 547, 552, 565, 572, 569, 529, 533,
- 537, 546, 564, 563, 544, 555, 566, 550, 538, 531,
- 539, 0, 196, 221, 368, 2068, 454, 288, 646, 615,
- 484, 610, 206, 223, 0, 262, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 198, 200, 209,
- 222, 232, 236, 243, 261, 276, 278, 285, 298, 310,
- 318, 319, 322, 328, 380, 386, 387, 388, 389, 409,
- 410, 411, 414, 417, 418, 421, 423, 424, 427, 431,
- 435, 436, 437, 439, 441, 443, 455, 460, 474, 475,
- 476, 477, 478, 481, 482, 488, 489, 490, 491, 492,
- 500, 501, 516, 586, 588, 603, 622, 628, 480, 301,
- 302, 444, 445, 314, 315, 642, 643, 300, 598, 629,
- 596, 641, 623, 438, 378, 0, 0, 381, 281, 305,
- 320, 0, 614, 502, 227, 466, 290, 251, 0, 0,
- 211, 246, 230, 259, 274, 277, 324, 391, 400, 429,
- 434, 296, 271, 244, 459, 241, 485, 519, 520, 521,
- 523, 395, 266, 433, 396, 0, 376, 576, 577, 316,
- 0, 0, 0, 528, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 416, 0, 0, 0, 0,
- 0, 0, 0, 270, 0, 0, 0, 0, 366, 267,
- 0, 0, 204, 505, 0, 430, 0, 203, 0, 487,
- 252, 377, 374, 583, 282, 273, 269, 250, 317, 385,
- 428, 518, 422, 0, 370, 0, 0, 497, 401, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 323, 248, 325,
- 202, 413, 498, 286, 0, 0, 0, 0, 2059, 507,
- 719, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 238, 0, 0, 245, 0, 0, 0, 351, 360, 359,
- 339, 340, 342, 344, 350, 357, 363, 336, 345, 0,
- 0, 607, 0, 0, 0, 265, 321, 272, 264, 580,
- 0, 0, 0, 0, 0, 0, 0, 0, 229, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 275, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 297, 0, 402, 257, 0,
- 453, 0, 0, 0, 625, 0, 0, 0, 0, 0,
- 0, 0, 365, 0, 330, 197, 225, 0, 0, 412,
- 461, 473, 0, 0, 0, 253, 0, 471, 426, 602,
- 233, 284, 458, 432, 469, 440, 287, 0, 0, 470,
- 372, 585, 450, 599, 626, 627, 263, 406, 612, 522,
- 620, 644, 226, 260, 420, 506, 605, 494, 397, 581,
- 582, 329, 493, 295, 201, 369, 632, 224, 479, 371,
- 242, 231, 587, 609, 299, 289, 456, 639, 213, 517,
- 597, 239, 483, 0, 0, 647, 247, 504, 215, 594,
- 503, 393, 326, 327, 214, 0, 457, 268, 293, 0,
- 0, 258, 415, 589, 590, 256, 648, 228, 619, 220,
- 0, 618, 408, 584, 595, 394, 383, 219, 593, 392,
- 382, 334, 355, 356, 280, 307, 447, 375, 448, 306,
- 308, 404, 403, 405, 207, 606, 0, 208, 0, 499,
- 608, 649, 452, 212, 234, 235, 237, 0, 279, 283,
- 291, 294, 303, 304, 313, 367, 419, 446, 442, 451,
- 0, 579, 600, 613, 624, 630, 631, 633, 634, 635,
- 636, 637, 640, 638, 407, 311, 495, 333, 373, 0,
- 0, 425, 472, 240, 604, 496, 199, 0, 0, 0,
- 0, 254, 255, 0, 575, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 650, 651, 652, 653, 654, 655,
- 656, 657, 658, 659, 660, 661, 662, 663, 664, 665,
- 666, 667, 645, 508, 514, 509, 510, 511, 512, 513,
- 0, 515, 0, 0, 0, 0, 0, 398, 0, 591,
- 592, 668, 384, 486, 601, 335, 349, 352, 341, 361,
- 0, 362, 337, 338, 343, 346, 347, 348, 353, 354,
- 358, 364, 249, 210, 390, 399, 578, 312, 216, 217,
- 218, 524, 525, 526, 527, 616, 617, 621, 205, 462,
- 463, 464, 465, 292, 611, 309, 468, 467, 331, 332,
- 379, 449, 540, 542, 553, 557, 559, 561, 567, 570,
- 541, 543, 554, 558, 560, 562, 568, 571, 530, 532,
- 534, 536, 549, 548, 545, 573, 574, 551, 556, 535,
- 547, 552, 565, 572, 569, 529, 533, 537, 546, 564,
- 563, 544, 555, 566, 550, 538, 531, 539, 0, 196,
- 221, 368, 0, 454, 288, 646, 615, 484, 610, 206,
- 223, 0, 262, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 198, 200, 209, 222, 232, 236,
- 243, 261, 276, 278, 285, 298, 310, 318, 319, 322,
- 328, 380, 386, 387, 388, 389, 409, 410, 411, 414,
- 417, 418, 421, 423, 424, 427, 431, 435, 436, 437,
- 439, 441, 443, 455, 460, 474, 475, 476, 477, 478,
- 481, 482, 488, 489, 490, 491, 492, 500, 501, 516,
- 586, 588, 603, 622, 628, 480, 301, 302, 444, 445,
- 314, 315, 642, 643, 300, 598, 629, 596, 641, 623,
- 438, 378, 0, 0, 381, 281, 305, 320, 0, 614,
- 502, 227, 466, 290, 251, 0, 0, 211, 246, 230,
- 259, 274, 277, 324, 391, 400, 429, 434, 296, 271,
- 244, 459, 241, 485, 519, 520, 521, 523, 395, 266,
- 433, 396, 0, 376, 576, 577, 316, 0, 0, 0,
- 528, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 416, 0, 0, 0, 0, 0, 0, 0,
- 270, 0, 0, 0, 0, 366, 267, 0, 1919, 204,
- 505, 0, 430, 0, 203, 0, 487, 252, 377, 374,
- 583, 282, 273, 269, 250, 317, 385, 428, 518, 422,
- 0, 370, 0, 0, 497, 401, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 323, 248, 325, 202, 413, 498,
- 286, 0, 0, 0, 0, 0, 507, 719, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 238, 0, 0,
- 245, 0, 0, 0, 351, 360, 359, 339, 340, 342,
- 344, 350, 357, 363, 336, 345, 0, 0, 607, 0,
- 0, 0, 265, 321, 272, 264, 580, 0, 0, 0,
- 0, 0, 0, 0, 0, 229, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 275, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 297, 0, 402, 257, 0, 453, 0, 0,
- 0, 625, 0, 0, 0, 0, 0, 0, 0, 365,
- 0, 330, 197, 225, 0, 0, 412, 461, 473, 0,
- 0, 0, 253, 0, 471, 426, 602, 233, 284, 458,
- 432, 469, 440, 287, 0, 0, 470, 372, 585, 450,
- 599, 626, 627, 263, 406, 612, 522, 620, 644, 226,
- 260, 420, 506, 605, 494, 397, 581, 582, 329, 493,
- 295, 201, 369, 632, 224, 479, 371, 242, 231, 587,
- 609, 299, 289, 456, 639, 213, 517, 597, 239, 483,
- 0, 0, 647, 247, 504, 215, 594, 503, 393, 326,
- 327, 214, 0, 457, 268, 293, 0, 0, 258, 415,
- 589, 590, 256, 648, 228, 619, 220, 0, 618, 408,
- 584, 595, 394, 383, 219, 593, 392, 382, 334, 355,
- 356, 280, 307, 447, 375, 448, 306, 308, 404, 403,
- 405, 207, 606, 0, 208, 0, 499, 608, 649, 452,
+ 0, 297, 0, 402, 257, 0, 453, 0, 0, 0,
+ 626, 0, 0, 0, 0, 0, 0, 0, 365, 0,
+ 330, 197, 225, 0, 0, 412, 461, 473, 0, 0,
+ 0, 253, 0, 471, 426, 602, 233, 284, 458, 432,
+ 469, 440, 287, 0, 0, 470, 372, 585, 450, 599,
+ 627, 628, 263, 406, 612, 522, 620, 645, 226, 260,
+ 420, 506, 605, 494, 397, 581, 582, 329, 493, 295,
+ 201, 369, 633, 224, 479, 371, 242, 231, 587, 609,
+ 299, 289, 456, 640, 213, 517, 597, 239, 483, 0,
+ 0, 648, 247, 504, 215, 594, 503, 393, 326, 327,
+ 214, 0, 457, 268, 293, 0, 0, 258, 415, 589,
+ 590, 256, 649, 228, 619, 220, 0, 618, 408, 584,
+ 595, 394, 383, 219, 593, 392, 382, 334, 355, 356,
+ 280, 307, 447, 375, 448, 306, 308, 404, 403, 405,
+ 207, 606, 623, 0, 208, 0, 499, 608, 650, 452,
212, 234, 235, 237, 0, 279, 283, 291, 294, 303,
304, 313, 367, 419, 446, 442, 451, 0, 579, 600,
- 613, 624, 630, 631, 633, 634, 635, 636, 637, 640,
- 638, 407, 311, 495, 333, 373, 0, 0, 425, 472,
+ 613, 625, 631, 632, 634, 635, 636, 637, 638, 641,
+ 639, 407, 311, 495, 333, 373, 0, 0, 425, 472,
240, 604, 496, 199, 0, 0, 0, 0, 254, 255,
0, 575, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 650, 651, 652, 653, 654, 655, 656, 657, 658,
- 659, 660, 661, 662, 663, 664, 665, 666, 667, 645,
+ 0, 651, 652, 653, 654, 655, 656, 657, 658, 659,
+ 660, 661, 662, 663, 664, 665, 666, 667, 668, 646,
508, 514, 509, 510, 511, 512, 513, 0, 515, 0,
- 0, 0, 0, 0, 398, 0, 591, 592, 668, 384,
+ 0, 0, 0, 0, 398, 0, 591, 592, 669, 384,
486, 601, 335, 349, 352, 341, 361, 0, 362, 337,
338, 343, 346, 347, 348, 353, 354, 358, 364, 249,
210, 390, 399, 578, 312, 216, 217, 218, 524, 525,
@@ -6041,17 +6937,17 @@ var yyAct = [...]int{
548, 545, 573, 574, 551, 556, 535, 547, 552, 565,
572, 569, 529, 533, 537, 546, 564, 563, 544, 555,
566, 550, 538, 531, 539, 0, 196, 221, 368, 0,
- 454, 288, 646, 615, 484, 610, 206, 223, 0, 262,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 454, 288, 647, 615, 484, 610, 206, 223, 0, 262,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1045, 0, 0,
0, 198, 200, 209, 222, 232, 236, 243, 261, 276,
278, 285, 298, 310, 318, 319, 322, 328, 380, 386,
387, 388, 389, 409, 410, 411, 414, 417, 418, 421,
423, 424, 427, 431, 435, 436, 437, 439, 441, 443,
455, 460, 474, 475, 476, 477, 478, 481, 482, 488,
489, 490, 491, 492, 500, 501, 516, 586, 588, 603,
- 622, 628, 480, 301, 302, 444, 445, 314, 315, 642,
- 643, 300, 598, 629, 596, 641, 623, 438, 378, 0,
+ 622, 629, 480, 301, 302, 444, 445, 314, 315, 643,
+ 644, 300, 598, 630, 596, 642, 624, 438, 378, 0,
0, 381, 281, 305, 320, 0, 614, 502, 227, 466,
290, 251, 0, 0, 211, 246, 230, 259, 274, 277,
324, 391, 400, 429, 434, 296, 271, 244, 459, 241,
@@ -6059,13 +6955,13 @@ var yyAct = [...]int{
376, 576, 577, 316, 0, 0, 0, 528, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 416,
0, 0, 0, 0, 0, 0, 0, 270, 0, 0,
- 0, 0, 366, 267, 0, 1917, 204, 505, 0, 430,
+ 0, 0, 366, 267, 0, 0, 204, 505, 0, 430,
0, 203, 0, 487, 252, 377, 374, 583, 282, 273,
269, 250, 317, 385, 428, 518, 422, 0, 370, 0,
0, 497, 401, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 323, 248, 325, 202, 413, 498, 286, 0, 0,
- 0, 0, 0, 507, 719, 0, 0, 0, 0, 0,
+ 0, 0, 0, 507, 194, 0, 0, 0, 0, 0,
0, 0, 0, 0, 238, 0, 0, 245, 0, 0,
0, 351, 360, 359, 339, 340, 342, 344, 350, 357,
363, 336, 345, 0, 0, 607, 0, 0, 0, 265,
@@ -6080,252 +6976,31 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 297,
- 0, 402, 257, 0, 453, 0, 0, 0, 625, 0,
+ 0, 402, 257, 0, 453, 0, 672, 0, 626, 0,
0, 0, 0, 0, 0, 0, 365, 0, 330, 197,
225, 0, 0, 412, 461, 473, 0, 0, 0, 253,
0, 471, 426, 602, 233, 284, 458, 432, 469, 440,
- 287, 0, 0, 470, 372, 585, 450, 599, 626, 627,
- 263, 406, 612, 522, 620, 644, 226, 260, 420, 506,
+ 287, 0, 0, 470, 372, 585, 450, 599, 627, 628,
+ 263, 406, 612, 522, 620, 645, 226, 260, 420, 506,
605, 494, 397, 581, 582, 329, 493, 295, 201, 369,
- 632, 224, 479, 371, 242, 231, 587, 609, 299, 289,
- 456, 639, 213, 517, 597, 239, 483, 0, 0, 647,
+ 633, 224, 479, 371, 242, 231, 587, 609, 299, 289,
+ 456, 640, 213, 517, 597, 239, 483, 0, 0, 648,
247, 504, 215, 594, 503, 393, 326, 327, 214, 0,
457, 268, 293, 0, 0, 258, 415, 589, 590, 256,
- 648, 228, 619, 220, 0, 618, 408, 584, 595, 394,
+ 649, 228, 619, 220, 0, 618, 408, 584, 595, 394,
383, 219, 593, 392, 382, 334, 355, 356, 280, 307,
447, 375, 448, 306, 308, 404, 403, 405, 207, 606,
- 0, 208, 0, 499, 608, 649, 452, 212, 234, 235,
- 237, 0, 279, 283, 291, 294, 303, 304, 313, 367,
- 419, 446, 442, 451, 0, 579, 600, 613, 624, 630,
- 631, 633, 634, 635, 636, 637, 640, 638, 407, 311,
- 495, 333, 373, 0, 0, 425, 472, 240, 604, 496,
- 199, 0, 0, 0, 0, 254, 255, 0, 575, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 650, 651,
- 652, 653, 654, 655, 656, 657, 658, 659, 660, 661,
- 662, 663, 664, 665, 666, 667, 645, 508, 514, 509,
- 510, 511, 512, 513, 0, 515, 0, 0, 0, 0,
- 0, 398, 0, 591, 592, 668, 384, 486, 601, 335,
- 349, 352, 341, 361, 0, 362, 337, 338, 343, 346,
- 347, 348, 353, 354, 358, 364, 249, 210, 390, 399,
- 578, 312, 216, 217, 218, 524, 525, 526, 527, 616,
- 617, 621, 205, 462, 463, 464, 465, 292, 611, 309,
- 468, 467, 331, 332, 379, 449, 540, 542, 553, 557,
- 559, 561, 567, 570, 541, 543, 554, 558, 560, 562,
- 568, 571, 530, 532, 534, 536, 549, 548, 545, 573,
- 574, 551, 556, 535, 547, 552, 565, 572, 569, 529,
- 533, 537, 546, 564, 563, 544, 555, 566, 550, 538,
- 531, 539, 0, 196, 221, 368, 0, 454, 288, 646,
- 615, 484, 610, 206, 223, 0, 262, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 198, 200,
- 209, 222, 232, 236, 243, 261, 276, 278, 285, 298,
- 310, 318, 319, 322, 328, 380, 386, 387, 388, 389,
- 409, 410, 411, 414, 417, 418, 421, 423, 424, 427,
- 431, 435, 436, 437, 439, 441, 443, 455, 460, 474,
- 475, 476, 477, 478, 481, 482, 488, 489, 490, 491,
- 492, 500, 501, 516, 586, 588, 603, 622, 628, 480,
- 301, 302, 444, 445, 314, 315, 642, 643, 300, 598,
- 629, 596, 641, 623, 438, 378, 0, 0, 381, 281,
- 305, 320, 0, 614, 502, 227, 466, 290, 251, 0,
- 0, 211, 246, 230, 259, 274, 277, 324, 391, 400,
- 429, 434, 296, 271, 244, 459, 241, 485, 519, 520,
- 521, 523, 395, 266, 433, 396, 0, 376, 576, 577,
- 316, 0, 0, 0, 528, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 416, 0, 0, 0,
- 0, 0, 0, 0, 270, 0, 0, 0, 0, 366,
- 267, 0, 1915, 204, 505, 0, 430, 0, 203, 0,
- 487, 252, 377, 374, 583, 282, 273, 269, 250, 317,
- 385, 428, 518, 422, 0, 370, 0, 0, 497, 401,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 323, 248,
- 325, 202, 413, 498, 286, 0, 0, 0, 0, 0,
- 507, 719, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 238, 0, 0, 245, 0, 0, 0, 351, 360,
- 359, 339, 340, 342, 344, 350, 357, 363, 336, 345,
- 0, 0, 607, 0, 0, 0, 265, 321, 272, 264,
- 580, 0, 0, 0, 0, 0, 0, 0, 0, 229,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 275, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 297, 0, 402, 257,
- 0, 453, 0, 0, 0, 625, 0, 0, 0, 0,
- 0, 0, 0, 365, 0, 330, 197, 225, 0, 0,
- 412, 461, 473, 0, 0, 0, 253, 0, 471, 426,
- 602, 233, 284, 458, 432, 469, 440, 287, 0, 0,
- 470, 372, 585, 450, 599, 626, 627, 263, 406, 612,
- 522, 620, 644, 226, 260, 420, 506, 605, 494, 397,
- 581, 582, 329, 493, 295, 201, 369, 632, 224, 479,
- 371, 242, 231, 587, 609, 299, 289, 456, 639, 213,
- 517, 597, 239, 483, 0, 0, 647, 247, 504, 215,
- 594, 503, 393, 326, 327, 214, 0, 457, 268, 293,
- 0, 0, 258, 415, 589, 590, 256, 648, 228, 619,
- 220, 0, 618, 408, 584, 595, 394, 383, 219, 593,
- 392, 382, 334, 355, 356, 280, 307, 447, 375, 448,
- 306, 308, 404, 403, 405, 207, 606, 0, 208, 0,
- 499, 608, 649, 452, 212, 234, 235, 237, 0, 279,
- 283, 291, 294, 303, 304, 313, 367, 419, 446, 442,
- 451, 0, 579, 600, 613, 624, 630, 631, 633, 634,
- 635, 636, 637, 640, 638, 407, 311, 495, 333, 373,
- 0, 0, 425, 472, 240, 604, 496, 199, 0, 0,
- 0, 0, 254, 255, 0, 575, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 650, 651, 652, 653, 654,
- 655, 656, 657, 658, 659, 660, 661, 662, 663, 664,
- 665, 666, 667, 645, 508, 514, 509, 510, 511, 512,
- 513, 0, 515, 0, 0, 0, 0, 0, 398, 0,
- 591, 592, 668, 384, 486, 601, 335, 349, 352, 341,
- 361, 0, 362, 337, 338, 343, 346, 347, 348, 353,
- 354, 358, 364, 249, 210, 390, 399, 578, 312, 216,
- 217, 218, 524, 525, 526, 527, 616, 617, 621, 205,
- 462, 463, 464, 465, 292, 611, 309, 468, 467, 331,
- 332, 379, 449, 540, 542, 553, 557, 559, 561, 567,
- 570, 541, 543, 554, 558, 560, 562, 568, 571, 530,
- 532, 534, 536, 549, 548, 545, 573, 574, 551, 556,
- 535, 547, 552, 565, 572, 569, 529, 533, 537, 546,
- 564, 563, 544, 555, 566, 550, 538, 531, 539, 0,
- 196, 221, 368, 0, 454, 288, 646, 615, 484, 610,
- 206, 223, 0, 262, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 198, 200, 209, 222, 232,
- 236, 243, 261, 276, 278, 285, 298, 310, 318, 319,
- 322, 328, 380, 386, 387, 388, 389, 409, 410, 411,
- 414, 417, 418, 421, 423, 424, 427, 431, 435, 436,
- 437, 439, 441, 443, 455, 460, 474, 475, 476, 477,
- 478, 481, 482, 488, 489, 490, 491, 492, 500, 501,
- 516, 586, 588, 603, 622, 628, 480, 301, 302, 444,
- 445, 314, 315, 642, 643, 300, 598, 629, 596, 641,
- 623, 438, 378, 0, 0, 381, 281, 305, 320, 0,
- 614, 502, 227, 466, 290, 251, 0, 0, 211, 246,
- 230, 259, 274, 277, 324, 391, 400, 429, 434, 296,
- 271, 244, 459, 241, 485, 519, 520, 521, 523, 395,
- 266, 433, 396, 0, 376, 576, 577, 316, 0, 0,
- 0, 528, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 416, 0, 0, 0, 0, 0, 0,
- 0, 270, 0, 0, 0, 0, 366, 267, 0, 1913,
- 204, 505, 0, 430, 0, 203, 0, 487, 252, 377,
- 374, 583, 282, 273, 269, 250, 317, 385, 428, 518,
- 422, 0, 370, 0, 0, 497, 401, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 323, 248, 325, 202, 413,
- 498, 286, 0, 0, 0, 0, 0, 507, 719, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 238, 0,
- 0, 245, 0, 0, 0, 351, 360, 359, 339, 340,
- 342, 344, 350, 357, 363, 336, 345, 0, 0, 607,
- 0, 0, 0, 265, 321, 272, 264, 580, 0, 0,
- 0, 0, 0, 0, 0, 0, 229, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 275, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 297, 0, 402, 257, 0, 453, 0,
- 0, 0, 625, 0, 0, 0, 0, 0, 0, 0,
- 365, 0, 330, 197, 225, 0, 0, 412, 461, 473,
- 0, 0, 0, 253, 0, 471, 426, 602, 233, 284,
- 458, 432, 469, 440, 287, 0, 0, 470, 372, 585,
- 450, 599, 626, 627, 263, 406, 612, 522, 620, 644,
- 226, 260, 420, 506, 605, 494, 397, 581, 582, 329,
- 493, 295, 201, 369, 632, 224, 479, 371, 242, 231,
- 587, 609, 299, 289, 456, 639, 213, 517, 597, 239,
- 483, 0, 0, 647, 247, 504, 215, 594, 503, 393,
- 326, 327, 214, 0, 457, 268, 293, 0, 0, 258,
- 415, 589, 590, 256, 648, 228, 619, 220, 0, 618,
- 408, 584, 595, 394, 383, 219, 593, 392, 382, 334,
- 355, 356, 280, 307, 447, 375, 448, 306, 308, 404,
- 403, 405, 207, 606, 0, 208, 0, 499, 608, 649,
- 452, 212, 234, 235, 237, 0, 279, 283, 291, 294,
- 303, 304, 313, 367, 419, 446, 442, 451, 0, 579,
- 600, 613, 624, 630, 631, 633, 634, 635, 636, 637,
- 640, 638, 407, 311, 495, 333, 373, 0, 0, 425,
- 472, 240, 604, 496, 199, 0, 0, 0, 0, 254,
- 255, 0, 575, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 650, 651, 652, 653, 654, 655, 656, 657,
- 658, 659, 660, 661, 662, 663, 664, 665, 666, 667,
- 645, 508, 514, 509, 510, 511, 512, 513, 0, 515,
- 0, 0, 0, 0, 0, 398, 0, 591, 592, 668,
- 384, 486, 601, 335, 349, 352, 341, 361, 0, 362,
- 337, 338, 343, 346, 347, 348, 353, 354, 358, 364,
- 249, 210, 390, 399, 578, 312, 216, 217, 218, 524,
- 525, 526, 527, 616, 617, 621, 205, 462, 463, 464,
- 465, 292, 611, 309, 468, 467, 331, 332, 379, 449,
- 540, 542, 553, 557, 559, 561, 567, 570, 541, 543,
- 554, 558, 560, 562, 568, 571, 530, 532, 534, 536,
- 549, 548, 545, 573, 574, 551, 556, 535, 547, 552,
- 565, 572, 569, 529, 533, 537, 546, 564, 563, 544,
- 555, 566, 550, 538, 531, 539, 0, 196, 221, 368,
- 0, 454, 288, 646, 615, 484, 610, 206, 223, 0,
- 262, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 198, 200, 209, 222, 232, 236, 243, 261,
- 276, 278, 285, 298, 310, 318, 319, 322, 328, 380,
- 386, 387, 388, 389, 409, 410, 411, 414, 417, 418,
- 421, 423, 424, 427, 431, 435, 436, 437, 439, 441,
- 443, 455, 460, 474, 475, 476, 477, 478, 481, 482,
- 488, 489, 490, 491, 492, 500, 501, 516, 586, 588,
- 603, 622, 628, 480, 301, 302, 444, 445, 314, 315,
- 642, 643, 300, 598, 629, 596, 641, 623, 438, 378,
- 0, 0, 381, 281, 305, 320, 0, 614, 502, 227,
- 466, 290, 251, 0, 0, 211, 246, 230, 259, 274,
- 277, 324, 391, 400, 429, 434, 296, 271, 244, 459,
- 241, 485, 519, 520, 521, 523, 395, 266, 433, 396,
- 0, 376, 576, 577, 316, 0, 0, 0, 528, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 416, 0, 0, 0, 0, 0, 0, 0, 270, 0,
- 0, 0, 0, 366, 267, 0, 1911, 204, 505, 0,
- 430, 0, 203, 0, 487, 252, 377, 374, 583, 282,
- 273, 269, 250, 317, 385, 428, 518, 422, 0, 370,
- 0, 0, 497, 401, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 323, 248, 325, 202, 413, 498, 286, 0,
- 0, 0, 0, 0, 507, 719, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 238, 0, 0, 245, 0,
- 0, 0, 351, 360, 359, 339, 340, 342, 344, 350,
- 357, 363, 336, 345, 0, 0, 607, 0, 0, 0,
- 265, 321, 272, 264, 580, 0, 0, 0, 0, 0,
- 0, 0, 0, 229, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 275, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 297, 0, 402, 257, 0, 453, 0, 0, 0, 625,
- 0, 0, 0, 0, 0, 0, 0, 365, 0, 330,
- 197, 225, 0, 0, 412, 461, 473, 0, 0, 0,
- 253, 0, 471, 426, 602, 233, 284, 458, 432, 469,
- 440, 287, 0, 0, 470, 372, 585, 450, 599, 626,
- 627, 263, 406, 612, 522, 620, 644, 226, 260, 420,
- 506, 605, 494, 397, 581, 582, 329, 493, 295, 201,
- 369, 632, 224, 479, 371, 242, 231, 587, 609, 299,
- 289, 456, 639, 213, 517, 597, 239, 483, 0, 0,
- 647, 247, 504, 215, 594, 503, 393, 326, 327, 214,
- 0, 457, 268, 293, 0, 0, 258, 415, 589, 590,
- 256, 648, 228, 619, 220, 0, 618, 408, 584, 595,
- 394, 383, 219, 593, 392, 382, 334, 355, 356, 280,
- 307, 447, 375, 448, 306, 308, 404, 403, 405, 207,
- 606, 0, 208, 0, 499, 608, 649, 452, 212, 234,
+ 623, 0, 208, 0, 499, 608, 650, 452, 212, 234,
235, 237, 0, 279, 283, 291, 294, 303, 304, 313,
- 367, 419, 446, 442, 451, 0, 579, 600, 613, 624,
- 630, 631, 633, 634, 635, 636, 637, 640, 638, 407,
+ 367, 419, 446, 442, 451, 0, 579, 600, 613, 625,
+ 631, 632, 634, 635, 636, 637, 638, 641, 639, 407,
311, 495, 333, 373, 0, 0, 425, 472, 240, 604,
496, 199, 0, 0, 0, 0, 254, 255, 0, 575,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 650,
- 651, 652, 653, 654, 655, 656, 657, 658, 659, 660,
- 661, 662, 663, 664, 665, 666, 667, 645, 508, 514,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 651,
+ 652, 653, 654, 655, 656, 657, 658, 659, 660, 661,
+ 662, 663, 664, 665, 666, 667, 668, 646, 508, 514,
509, 510, 511, 512, 513, 0, 515, 0, 0, 0,
- 0, 0, 398, 0, 591, 592, 668, 384, 486, 601,
+ 0, 0, 398, 0, 591, 592, 669, 384, 486, 601,
335, 349, 352, 341, 361, 0, 362, 337, 338, 343,
346, 347, 348, 353, 354, 358, 364, 249, 210, 390,
399, 578, 312, 216, 217, 218, 524, 525, 526, 527,
@@ -6336,7 +7011,7 @@ var yyAct = [...]int{
573, 574, 551, 556, 535, 547, 552, 565, 572, 569,
529, 533, 537, 546, 564, 563, 544, 555, 566, 550,
538, 531, 539, 0, 196, 221, 368, 0, 454, 288,
- 646, 615, 484, 610, 206, 223, 0, 262, 0, 0,
+ 647, 615, 484, 610, 206, 223, 0, 262, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 198,
200, 209, 222, 232, 236, 243, 261, 276, 278, 285,
@@ -6344,9 +7019,9 @@ var yyAct = [...]int{
389, 409, 410, 411, 414, 417, 418, 421, 423, 424,
427, 431, 435, 436, 437, 439, 441, 443, 455, 460,
474, 475, 476, 477, 478, 481, 482, 488, 489, 490,
- 491, 492, 500, 501, 516, 586, 588, 603, 622, 628,
- 480, 301, 302, 444, 445, 314, 315, 642, 643, 300,
- 598, 629, 596, 641, 623, 438, 378, 0, 0, 381,
+ 491, 492, 500, 501, 516, 586, 588, 603, 622, 629,
+ 480, 301, 302, 444, 445, 314, 315, 643, 644, 300,
+ 598, 630, 596, 642, 624, 438, 378, 0, 0, 381,
281, 305, 320, 0, 614, 502, 227, 466, 290, 251,
0, 0, 211, 246, 230, 259, 274, 277, 324, 391,
400, 429, 434, 296, 271, 244, 459, 241, 485, 519,
@@ -6354,13 +7029,13 @@ var yyAct = [...]int{
577, 316, 0, 0, 0, 528, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 416, 0, 0,
0, 0, 0, 0, 0, 270, 0, 0, 0, 0,
- 366, 267, 0, 1907, 204, 505, 0, 430, 0, 203,
+ 366, 267, 0, 0, 204, 505, 0, 430, 0, 203,
0, 487, 252, 377, 374, 583, 282, 273, 269, 250,
317, 385, 428, 518, 422, 0, 370, 0, 0, 497,
401, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 323,
248, 325, 202, 413, 498, 286, 0, 0, 0, 0,
- 0, 507, 719, 0, 0, 0, 0, 0, 0, 0,
+ 0, 507, 720, 0, 0, 0, 0, 0, 0, 0,
0, 0, 238, 0, 0, 245, 0, 0, 0, 351,
360, 359, 339, 340, 342, 344, 350, 357, 363, 336,
345, 0, 0, 607, 0, 0, 0, 265, 321, 272,
@@ -6375,252 +7050,31 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 297, 0, 402,
- 257, 0, 453, 0, 0, 0, 625, 0, 0, 0,
+ 257, 0, 453, 0, 0, 0, 626, 0, 0, 0,
0, 0, 0, 0, 365, 0, 330, 197, 225, 0,
0, 412, 461, 473, 0, 0, 0, 253, 0, 471,
426, 602, 233, 284, 458, 432, 469, 440, 287, 0,
- 0, 470, 372, 585, 450, 599, 626, 627, 263, 406,
- 612, 522, 620, 644, 226, 260, 420, 506, 605, 494,
- 397, 581, 582, 329, 493, 295, 201, 369, 632, 224,
- 479, 371, 242, 231, 587, 609, 299, 289, 456, 639,
- 213, 517, 597, 239, 483, 0, 0, 647, 247, 504,
+ 0, 470, 372, 585, 450, 599, 627, 628, 263, 406,
+ 612, 522, 620, 645, 226, 260, 420, 506, 605, 494,
+ 397, 581, 582, 329, 493, 295, 201, 369, 633, 224,
+ 479, 371, 242, 231, 587, 609, 299, 289, 456, 640,
+ 213, 517, 597, 239, 483, 0, 0, 648, 247, 504,
215, 594, 503, 393, 326, 327, 214, 0, 457, 268,
- 293, 0, 0, 258, 415, 589, 590, 256, 648, 228,
+ 293, 0, 0, 258, 415, 589, 590, 256, 649, 228,
619, 220, 0, 618, 408, 584, 595, 394, 383, 219,
593, 392, 382, 334, 355, 356, 280, 307, 447, 375,
- 448, 306, 308, 404, 403, 405, 207, 606, 0, 208,
- 0, 499, 608, 649, 452, 212, 234, 235, 237, 0,
- 279, 283, 291, 294, 303, 304, 313, 367, 419, 446,
- 442, 451, 0, 579, 600, 613, 624, 630, 631, 633,
- 634, 635, 636, 637, 640, 638, 407, 311, 495, 333,
- 373, 0, 0, 425, 472, 240, 604, 496, 199, 0,
- 0, 0, 0, 254, 255, 0, 575, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 650, 651, 652, 653,
- 654, 655, 656, 657, 658, 659, 660, 661, 662, 663,
- 664, 665, 666, 667, 645, 508, 514, 509, 510, 511,
- 512, 513, 0, 515, 0, 0, 0, 0, 0, 398,
- 0, 591, 592, 668, 384, 486, 601, 335, 349, 352,
- 341, 361, 0, 362, 337, 338, 343, 346, 347, 348,
- 353, 354, 358, 364, 249, 210, 390, 399, 578, 312,
- 216, 217, 218, 524, 525, 526, 527, 616, 617, 621,
- 205, 462, 463, 464, 465, 292, 611, 309, 468, 467,
- 331, 332, 379, 449, 540, 542, 553, 557, 559, 561,
- 567, 570, 541, 543, 554, 558, 560, 562, 568, 571,
- 530, 532, 534, 536, 549, 548, 545, 573, 574, 551,
- 556, 535, 547, 552, 565, 572, 569, 529, 533, 537,
- 546, 564, 563, 544, 555, 566, 550, 538, 531, 539,
- 0, 196, 221, 368, 0, 454, 288, 646, 615, 484,
- 610, 206, 223, 0, 262, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 198, 200, 209, 222,
- 232, 236, 243, 261, 276, 278, 285, 298, 310, 318,
- 319, 322, 328, 380, 386, 387, 388, 389, 409, 410,
- 411, 414, 417, 418, 421, 423, 424, 427, 431, 435,
- 436, 437, 439, 441, 443, 455, 460, 474, 475, 476,
- 477, 478, 481, 482, 488, 489, 490, 491, 492, 500,
- 501, 516, 586, 588, 603, 622, 628, 480, 301, 302,
- 444, 445, 314, 315, 642, 643, 300, 598, 629, 596,
- 641, 623, 438, 378, 0, 0, 381, 281, 305, 320,
- 0, 614, 502, 227, 466, 290, 251, 0, 0, 211,
- 246, 230, 259, 274, 277, 324, 391, 400, 429, 434,
- 296, 271, 244, 459, 241, 485, 519, 520, 521, 523,
- 395, 266, 433, 396, 0, 376, 576, 577, 316, 0,
- 0, 0, 528, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 416, 0, 0, 0, 0, 0,
- 0, 0, 270, 0, 0, 0, 0, 366, 267, 0,
- 1905, 204, 505, 0, 430, 0, 203, 0, 487, 252,
- 377, 374, 583, 282, 273, 269, 250, 317, 385, 428,
- 518, 422, 0, 370, 0, 0, 497, 401, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 323, 248, 325, 202,
- 413, 498, 286, 0, 0, 0, 0, 0, 507, 719,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 238,
- 0, 0, 245, 0, 0, 0, 351, 360, 359, 339,
- 340, 342, 344, 350, 357, 363, 336, 345, 0, 0,
- 607, 0, 0, 0, 265, 321, 272, 264, 580, 0,
- 0, 0, 0, 0, 0, 0, 0, 229, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 275, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 297, 0, 402, 257, 0, 453,
- 0, 0, 0, 625, 0, 0, 0, 0, 0, 0,
- 0, 365, 0, 330, 197, 225, 0, 0, 412, 461,
- 473, 0, 0, 0, 253, 0, 471, 426, 602, 233,
- 284, 458, 432, 469, 440, 287, 0, 0, 470, 372,
- 585, 450, 599, 626, 627, 263, 406, 612, 522, 620,
- 644, 226, 260, 420, 506, 605, 494, 397, 581, 582,
- 329, 493, 295, 201, 369, 632, 224, 479, 371, 242,
- 231, 587, 609, 299, 289, 456, 639, 213, 517, 597,
- 239, 483, 0, 0, 647, 247, 504, 215, 594, 503,
- 393, 326, 327, 214, 0, 457, 268, 293, 0, 0,
- 258, 415, 589, 590, 256, 648, 228, 619, 220, 0,
- 618, 408, 584, 595, 394, 383, 219, 593, 392, 382,
- 334, 355, 356, 280, 307, 447, 375, 448, 306, 308,
- 404, 403, 405, 207, 606, 0, 208, 0, 499, 608,
- 649, 452, 212, 234, 235, 237, 0, 279, 283, 291,
- 294, 303, 304, 313, 367, 419, 446, 442, 451, 0,
- 579, 600, 613, 624, 630, 631, 633, 634, 635, 636,
- 637, 640, 638, 407, 311, 495, 333, 373, 0, 0,
- 425, 472, 240, 604, 496, 199, 0, 0, 0, 0,
- 254, 255, 0, 575, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 650, 651, 652, 653, 654, 655, 656,
- 657, 658, 659, 660, 661, 662, 663, 664, 665, 666,
- 667, 645, 508, 514, 509, 510, 511, 512, 513, 0,
- 515, 0, 0, 0, 0, 0, 398, 0, 591, 592,
- 668, 384, 486, 601, 335, 349, 352, 341, 361, 0,
- 362, 337, 338, 343, 346, 347, 348, 353, 354, 358,
- 364, 249, 210, 390, 399, 578, 312, 216, 217, 218,
- 524, 525, 526, 527, 616, 617, 621, 205, 462, 463,
- 464, 465, 292, 611, 309, 468, 467, 331, 332, 379,
- 449, 540, 542, 553, 557, 559, 561, 567, 570, 541,
- 543, 554, 558, 560, 562, 568, 571, 530, 532, 534,
- 536, 549, 548, 545, 573, 574, 551, 556, 535, 547,
- 552, 565, 572, 569, 529, 533, 537, 546, 564, 563,
- 544, 555, 566, 550, 538, 531, 539, 0, 196, 221,
- 368, 0, 454, 288, 646, 615, 484, 610, 206, 223,
- 0, 262, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 198, 200, 209, 222, 232, 236, 243,
- 261, 276, 278, 285, 298, 310, 318, 319, 322, 328,
- 380, 386, 387, 388, 389, 409, 410, 411, 414, 417,
- 418, 421, 423, 424, 427, 431, 435, 436, 437, 439,
- 441, 443, 455, 460, 474, 475, 476, 477, 478, 481,
- 482, 488, 489, 490, 491, 492, 500, 501, 516, 586,
- 588, 603, 622, 628, 480, 301, 302, 444, 445, 314,
- 315, 642, 643, 300, 598, 629, 596, 641, 623, 438,
- 378, 0, 0, 381, 281, 305, 320, 0, 614, 502,
- 227, 466, 290, 251, 0, 0, 211, 246, 230, 259,
- 274, 277, 324, 391, 400, 429, 434, 296, 271, 244,
- 459, 241, 485, 519, 520, 521, 523, 395, 266, 433,
- 396, 0, 376, 576, 577, 316, 0, 0, 0, 528,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 416, 0, 0, 0, 0, 0, 0, 0, 270,
- 0, 0, 0, 0, 366, 267, 0, 1903, 204, 505,
- 0, 430, 0, 203, 0, 487, 252, 377, 374, 583,
- 282, 273, 269, 250, 317, 385, 428, 518, 422, 0,
- 370, 0, 0, 497, 401, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 323, 248, 325, 202, 413, 498, 286,
- 0, 0, 0, 0, 0, 507, 719, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 238, 0, 0, 245,
- 0, 0, 0, 351, 360, 359, 339, 340, 342, 344,
- 350, 357, 363, 336, 345, 0, 0, 607, 0, 0,
- 0, 265, 321, 272, 264, 580, 0, 0, 0, 0,
- 0, 0, 0, 0, 229, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 275,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 297, 0, 402, 257, 0, 453, 0, 0, 0,
- 625, 0, 0, 0, 0, 0, 0, 0, 365, 0,
- 330, 197, 225, 0, 0, 412, 461, 473, 0, 0,
- 0, 253, 0, 471, 426, 602, 233, 284, 458, 432,
- 469, 440, 287, 0, 0, 470, 372, 585, 450, 599,
- 626, 627, 263, 406, 612, 522, 620, 644, 226, 260,
- 420, 506, 605, 494, 397, 581, 582, 329, 493, 295,
- 201, 369, 632, 224, 479, 371, 242, 231, 587, 609,
- 299, 289, 456, 639, 213, 517, 597, 239, 483, 0,
- 0, 647, 247, 504, 215, 594, 503, 393, 326, 327,
- 214, 0, 457, 268, 293, 0, 0, 258, 415, 589,
- 590, 256, 648, 228, 619, 220, 0, 618, 408, 584,
- 595, 394, 383, 219, 593, 392, 382, 334, 355, 356,
- 280, 307, 447, 375, 448, 306, 308, 404, 403, 405,
- 207, 606, 0, 208, 0, 499, 608, 649, 452, 212,
- 234, 235, 237, 0, 279, 283, 291, 294, 303, 304,
- 313, 367, 419, 446, 442, 451, 0, 579, 600, 613,
- 624, 630, 631, 633, 634, 635, 636, 637, 640, 638,
- 407, 311, 495, 333, 373, 0, 0, 425, 472, 240,
- 604, 496, 199, 0, 0, 0, 0, 254, 255, 0,
- 575, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 650, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 661, 662, 663, 664, 665, 666, 667, 645, 508,
- 514, 509, 510, 511, 512, 513, 0, 515, 0, 0,
- 0, 0, 0, 398, 0, 591, 592, 668, 384, 486,
- 601, 335, 349, 352, 341, 361, 0, 362, 337, 338,
- 343, 346, 347, 348, 353, 354, 358, 364, 249, 210,
- 390, 399, 578, 312, 216, 217, 218, 524, 525, 526,
- 527, 616, 617, 621, 205, 462, 463, 464, 465, 292,
- 611, 309, 468, 467, 331, 332, 379, 449, 540, 542,
- 553, 557, 559, 561, 567, 570, 541, 543, 554, 558,
- 560, 562, 568, 571, 530, 532, 534, 536, 549, 548,
- 545, 573, 574, 551, 556, 535, 547, 552, 565, 572,
- 569, 529, 533, 537, 546, 564, 563, 544, 555, 566,
- 550, 538, 531, 539, 0, 196, 221, 368, 0, 454,
- 288, 646, 615, 484, 610, 206, 223, 0, 262, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 198, 200, 209, 222, 232, 236, 243, 261, 276, 278,
- 285, 298, 310, 318, 319, 322, 328, 380, 386, 387,
- 388, 389, 409, 410, 411, 414, 417, 418, 421, 423,
- 424, 427, 431, 435, 436, 437, 439, 441, 443, 455,
- 460, 474, 475, 476, 477, 478, 481, 482, 488, 489,
- 490, 491, 492, 500, 501, 516, 586, 588, 603, 622,
- 628, 480, 301, 302, 444, 445, 314, 315, 642, 643,
- 300, 598, 629, 596, 641, 623, 438, 378, 0, 0,
- 381, 281, 305, 320, 0, 614, 502, 227, 466, 290,
- 251, 0, 0, 211, 246, 230, 259, 274, 277, 324,
- 391, 400, 429, 434, 296, 271, 244, 459, 241, 485,
- 519, 520, 521, 523, 395, 266, 433, 396, 0, 376,
- 576, 577, 316, 0, 0, 0, 528, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 416, 0,
- 0, 0, 0, 0, 0, 0, 270, 0, 0, 0,
- 0, 366, 267, 0, 0, 204, 505, 0, 430, 0,
- 203, 0, 487, 252, 377, 374, 583, 282, 273, 269,
- 250, 317, 385, 428, 518, 422, 0, 370, 0, 0,
- 497, 401, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 323, 248, 325, 202, 413, 498, 286, 0, 1878, 0,
- 0, 0, 507, 719, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 238, 0, 0, 245, 0, 0, 0,
- 351, 360, 359, 339, 340, 342, 344, 350, 357, 363,
- 336, 345, 0, 0, 607, 0, 0, 0, 265, 321,
- 272, 264, 580, 0, 0, 0, 0, 0, 0, 0,
- 0, 229, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 275, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 297, 0,
- 402, 257, 0, 453, 0, 0, 0, 625, 0, 0,
- 0, 0, 0, 0, 0, 365, 0, 330, 197, 225,
- 0, 0, 412, 461, 473, 0, 0, 0, 253, 0,
- 471, 426, 602, 233, 284, 458, 432, 469, 440, 287,
- 0, 0, 470, 372, 585, 450, 599, 626, 627, 263,
- 406, 612, 522, 620, 644, 226, 260, 420, 506, 605,
- 494, 397, 581, 582, 329, 493, 295, 201, 369, 632,
- 224, 479, 371, 242, 231, 587, 609, 299, 289, 456,
- 639, 213, 517, 597, 239, 483, 0, 0, 647, 247,
- 504, 215, 594, 503, 393, 326, 327, 214, 0, 457,
- 268, 293, 0, 0, 258, 415, 589, 590, 256, 648,
- 228, 619, 220, 0, 618, 408, 584, 595, 394, 383,
- 219, 593, 392, 382, 334, 355, 356, 280, 307, 447,
- 375, 448, 306, 308, 404, 403, 405, 207, 606, 0,
- 208, 0, 499, 608, 649, 452, 212, 234, 235, 237,
+ 448, 306, 308, 404, 403, 405, 207, 606, 623, 0,
+ 208, 0, 499, 608, 650, 452, 212, 234, 235, 237,
0, 279, 283, 291, 294, 303, 304, 313, 367, 419,
- 446, 442, 451, 0, 579, 600, 613, 624, 630, 631,
- 633, 634, 635, 636, 637, 640, 638, 407, 311, 495,
+ 446, 442, 451, 0, 579, 600, 613, 625, 631, 632,
+ 634, 635, 636, 637, 638, 641, 639, 407, 311, 495,
333, 373, 0, 0, 425, 472, 240, 604, 496, 199,
0, 0, 0, 0, 254, 255, 0, 575, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 650, 651, 652,
- 653, 654, 655, 656, 657, 658, 659, 660, 661, 662,
- 663, 664, 665, 666, 667, 645, 508, 514, 509, 510,
+ 0, 0, 0, 0, 0, 0, 0, 651, 652, 653,
+ 654, 655, 656, 657, 658, 659, 660, 661, 662, 663,
+ 664, 665, 666, 667, 668, 646, 508, 514, 509, 510,
511, 512, 513, 0, 515, 0, 0, 0, 0, 0,
- 398, 0, 591, 592, 668, 384, 486, 601, 335, 349,
+ 398, 0, 591, 592, 669, 384, 486, 601, 335, 349,
352, 341, 361, 0, 362, 337, 338, 343, 346, 347,
348, 353, 354, 358, 364, 249, 210, 390, 399, 578,
312, 216, 217, 218, 524, 525, 526, 527, 616, 617,
@@ -6630,32 +7084,32 @@ var yyAct = [...]int{
571, 530, 532, 534, 536, 549, 548, 545, 573, 574,
551, 556, 535, 547, 552, 565, 572, 569, 529, 533,
537, 546, 564, 563, 544, 555, 566, 550, 538, 531,
- 539, 0, 196, 221, 368, 0, 454, 288, 646, 615,
+ 539, 0, 196, 221, 368, 0, 454, 288, 647, 615,
484, 610, 206, 223, 0, 262, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 198, 200, 209,
222, 232, 236, 243, 261, 276, 278, 285, 298, 310,
- 318, 319, 322, 328, 380, 386, 387, 388, 389, 409,
+ 318, 319, 322, 328, 380, 386, 387, 388, 389, 4129,
410, 411, 414, 417, 418, 421, 423, 424, 427, 431,
435, 436, 437, 439, 441, 443, 455, 460, 474, 475,
476, 477, 478, 481, 482, 488, 489, 490, 491, 492,
- 500, 501, 516, 586, 588, 603, 622, 628, 480, 301,
- 302, 444, 445, 314, 315, 642, 643, 300, 598, 629,
- 596, 641, 623, 438, 378, 0, 0, 381, 281, 305,
+ 500, 501, 516, 586, 588, 603, 622, 629, 480, 301,
+ 302, 444, 445, 314, 315, 643, 644, 300, 598, 630,
+ 596, 642, 624, 438, 378, 0, 0, 381, 281, 305,
320, 0, 614, 502, 227, 466, 290, 251, 0, 0,
211, 246, 230, 259, 274, 277, 324, 391, 400, 429,
434, 296, 271, 244, 459, 241, 485, 519, 520, 521,
523, 395, 266, 433, 396, 0, 376, 576, 577, 316,
0, 0, 0, 528, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 416, 0, 0, 0, 0,
- 0, 0, 1777, 270, 0, 0, 0, 0, 366, 267,
+ 0, 0, 0, 270, 0, 0, 0, 0, 366, 267,
0, 0, 204, 505, 0, 430, 0, 203, 0, 487,
252, 377, 374, 583, 282, 273, 269, 250, 317, 385,
428, 518, 422, 0, 370, 0, 0, 497, 401, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 323, 248, 325,
202, 413, 498, 286, 0, 0, 0, 0, 0, 507,
- 194, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 720, 0, 0, 0, 0, 0, 0, 0, 0, 0,
238, 0, 0, 245, 0, 0, 0, 351, 360, 359,
339, 340, 342, 344, 350, 357, 363, 336, 345, 0,
0, 607, 0, 0, 0, 265, 321, 272, 264, 580,
@@ -6670,252 +7124,31 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 297, 0, 402, 257, 0,
- 453, 0, 0, 0, 625, 0, 0, 0, 0, 0,
+ 453, 0, 0, 0, 626, 0, 0, 0, 0, 0,
0, 0, 365, 0, 330, 197, 225, 0, 0, 412,
461, 473, 0, 0, 0, 253, 0, 471, 426, 602,
233, 284, 458, 432, 469, 440, 287, 0, 0, 470,
- 372, 585, 450, 599, 626, 627, 263, 406, 612, 522,
- 620, 644, 226, 260, 420, 506, 605, 494, 397, 581,
- 582, 329, 493, 295, 201, 369, 632, 224, 479, 371,
- 242, 231, 587, 609, 299, 289, 456, 639, 213, 517,
- 597, 239, 483, 0, 0, 647, 247, 504, 215, 594,
+ 372, 585, 450, 599, 627, 628, 263, 406, 612, 522,
+ 620, 645, 226, 260, 420, 506, 605, 494, 397, 581,
+ 582, 329, 493, 295, 201, 369, 633, 224, 479, 371,
+ 242, 231, 587, 609, 299, 289, 456, 640, 213, 517,
+ 597, 239, 483, 0, 0, 648, 247, 504, 215, 594,
503, 393, 326, 327, 214, 0, 457, 268, 293, 0,
- 0, 258, 415, 589, 590, 256, 648, 228, 619, 220,
+ 0, 258, 415, 589, 590, 256, 649, 228, 619, 220,
0, 618, 408, 584, 595, 394, 383, 219, 593, 392,
382, 334, 355, 356, 280, 307, 447, 375, 448, 306,
- 308, 404, 403, 405, 207, 606, 0, 208, 0, 499,
- 608, 649, 452, 212, 234, 235, 237, 0, 279, 283,
- 291, 294, 303, 304, 313, 367, 419, 446, 442, 451,
- 0, 579, 600, 613, 624, 630, 631, 633, 634, 635,
- 636, 637, 640, 638, 407, 311, 495, 333, 373, 0,
- 0, 425, 472, 240, 604, 496, 199, 0, 0, 0,
- 0, 254, 255, 0, 575, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 650, 651, 652, 653, 654, 655,
- 656, 657, 658, 659, 660, 661, 662, 663, 664, 665,
- 666, 667, 645, 508, 514, 509, 510, 511, 512, 513,
- 0, 515, 0, 0, 0, 0, 0, 398, 0, 591,
- 592, 668, 384, 486, 601, 335, 349, 352, 341, 361,
- 0, 362, 337, 338, 343, 346, 347, 348, 353, 354,
- 358, 364, 249, 210, 390, 399, 578, 312, 216, 217,
- 218, 524, 525, 526, 527, 616, 617, 621, 205, 462,
- 463, 464, 465, 292, 611, 309, 468, 467, 331, 332,
- 379, 449, 540, 542, 553, 557, 559, 561, 567, 570,
- 541, 543, 554, 558, 560, 562, 568, 571, 530, 532,
- 534, 536, 549, 548, 545, 573, 574, 551, 556, 535,
- 547, 552, 565, 572, 569, 529, 533, 537, 546, 564,
- 563, 544, 555, 566, 550, 538, 531, 539, 0, 196,
- 221, 368, 0, 454, 288, 646, 615, 484, 610, 206,
- 223, 0, 262, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 198, 200, 209, 222, 232, 236,
- 243, 261, 276, 278, 285, 298, 310, 318, 319, 322,
- 328, 380, 386, 387, 388, 389, 409, 410, 411, 414,
- 417, 418, 421, 423, 424, 427, 431, 435, 436, 437,
- 439, 441, 443, 455, 460, 474, 475, 476, 477, 478,
- 481, 482, 488, 489, 490, 491, 492, 500, 501, 516,
- 586, 588, 603, 622, 628, 480, 301, 302, 444, 445,
- 314, 315, 642, 643, 300, 598, 629, 596, 641, 623,
- 438, 378, 0, 0, 381, 281, 305, 320, 0, 614,
- 502, 227, 466, 290, 251, 0, 0, 211, 246, 230,
- 259, 274, 277, 324, 391, 400, 429, 434, 296, 271,
- 244, 459, 241, 485, 519, 520, 521, 523, 395, 266,
- 433, 396, 0, 376, 576, 577, 316, 0, 0, 0,
- 528, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 416, 0, 0, 0, 0, 0, 0, 0,
- 270, 0, 0, 0, 0, 366, 267, 0, 0, 204,
- 505, 0, 430, 0, 203, 0, 487, 252, 377, 374,
- 583, 282, 273, 269, 250, 317, 385, 428, 518, 422,
- 0, 370, 0, 0, 497, 401, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 323, 248, 325, 202, 413, 498,
- 286, 0, 95, 0, 0, 0, 507, 954, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 238, 0, 0,
- 245, 0, 0, 0, 351, 360, 359, 339, 340, 342,
- 344, 350, 357, 363, 336, 345, 0, 0, 607, 0,
- 0, 0, 265, 321, 272, 264, 580, 0, 0, 0,
- 0, 0, 0, 0, 0, 229, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 275, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 297, 0, 402, 257, 0, 453, 0, 0,
- 0, 625, 0, 0, 0, 0, 0, 0, 0, 365,
- 0, 330, 197, 225, 0, 0, 412, 461, 473, 0,
- 0, 0, 253, 0, 471, 426, 602, 233, 284, 458,
- 432, 469, 440, 287, 0, 0, 470, 372, 585, 450,
- 599, 626, 627, 263, 406, 612, 522, 620, 644, 226,
- 260, 420, 506, 605, 494, 397, 581, 582, 329, 493,
- 295, 201, 369, 632, 224, 479, 371, 242, 231, 587,
- 609, 299, 289, 456, 639, 213, 517, 597, 239, 483,
- 0, 0, 647, 247, 504, 215, 594, 503, 393, 326,
- 327, 214, 0, 457, 268, 293, 0, 0, 258, 415,
- 589, 590, 256, 648, 228, 619, 220, 0, 618, 408,
- 584, 595, 394, 383, 219, 593, 392, 382, 334, 355,
- 356, 280, 307, 447, 375, 448, 306, 308, 404, 403,
- 405, 207, 606, 0, 208, 0, 499, 608, 649, 452,
- 212, 234, 235, 237, 0, 279, 283, 291, 294, 303,
- 304, 313, 367, 419, 446, 442, 451, 0, 579, 600,
- 613, 624, 630, 631, 633, 634, 635, 636, 637, 640,
- 638, 407, 311, 495, 333, 373, 0, 0, 425, 472,
- 240, 604, 496, 199, 0, 0, 0, 0, 254, 255,
- 0, 575, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 650, 651, 652, 653, 654, 655, 656, 657, 658,
- 659, 660, 661, 662, 663, 664, 665, 666, 667, 645,
- 508, 514, 509, 510, 511, 512, 513, 0, 515, 0,
- 0, 0, 0, 0, 398, 0, 591, 592, 668, 384,
- 486, 601, 335, 349, 352, 341, 361, 0, 362, 337,
- 338, 343, 346, 347, 348, 353, 354, 358, 364, 249,
- 210, 390, 399, 578, 312, 216, 217, 218, 524, 525,
- 526, 527, 616, 617, 621, 205, 462, 463, 464, 465,
- 292, 611, 309, 468, 467, 331, 332, 379, 449, 540,
- 542, 553, 557, 559, 561, 567, 570, 541, 543, 554,
- 558, 560, 562, 568, 571, 530, 532, 534, 536, 549,
- 548, 545, 573, 574, 551, 556, 535, 547, 552, 565,
- 572, 569, 529, 533, 537, 546, 564, 563, 544, 555,
- 566, 550, 538, 531, 539, 0, 196, 221, 368, 0,
- 454, 288, 646, 615, 484, 610, 206, 223, 0, 262,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 198, 200, 209, 222, 232, 236, 243, 261, 276,
- 278, 285, 298, 310, 318, 319, 322, 328, 380, 386,
- 387, 388, 389, 409, 410, 411, 414, 417, 418, 421,
- 423, 424, 427, 431, 435, 436, 437, 439, 441, 443,
- 455, 460, 474, 475, 476, 477, 478, 481, 482, 488,
- 489, 490, 491, 492, 500, 501, 516, 586, 588, 603,
- 622, 628, 480, 301, 302, 444, 445, 314, 315, 642,
- 643, 300, 598, 629, 596, 641, 623, 438, 378, 0,
- 0, 381, 281, 305, 320, 0, 614, 502, 227, 466,
- 290, 251, 0, 0, 211, 246, 230, 259, 274, 277,
- 324, 391, 400, 429, 434, 296, 271, 244, 459, 241,
- 485, 519, 520, 521, 523, 395, 266, 433, 396, 0,
- 376, 576, 577, 316, 0, 0, 0, 528, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 416,
- 0, 0, 0, 0, 0, 0, 0, 270, 0, 0,
- 0, 0, 366, 267, 0, 0, 204, 505, 0, 430,
- 0, 203, 0, 487, 252, 377, 374, 583, 282, 273,
- 269, 250, 317, 385, 428, 518, 422, 0, 370, 0,
- 0, 497, 401, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 323, 248, 325, 202, 413, 498, 286, 0, 0,
- 0, 0, 0, 507, 194, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 238, 0, 0, 245, 0, 0,
- 0, 351, 360, 359, 339, 340, 342, 344, 350, 357,
- 363, 336, 345, 0, 0, 607, 0, 0, 0, 265,
- 321, 272, 264, 580, 0, 0, 0, 0, 0, 0,
- 0, 0, 229, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 275, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1450, 0, 297,
- 0, 402, 257, 0, 453, 0, 0, 0, 625, 0,
- 0, 0, 0, 0, 0, 0, 365, 0, 330, 197,
- 225, 0, 0, 412, 461, 473, 0, 0, 0, 253,
- 0, 471, 426, 602, 233, 284, 458, 432, 469, 440,
- 287, 0, 0, 470, 372, 585, 450, 599, 626, 627,
- 263, 406, 612, 522, 620, 644, 226, 260, 420, 506,
- 605, 494, 397, 581, 582, 329, 493, 295, 201, 369,
- 632, 224, 479, 371, 242, 231, 587, 609, 299, 289,
- 456, 639, 213, 517, 597, 239, 483, 0, 0, 647,
- 247, 504, 215, 594, 503, 393, 326, 327, 214, 0,
- 457, 268, 293, 0, 0, 258, 415, 589, 590, 256,
- 648, 228, 619, 220, 0, 618, 408, 584, 595, 394,
- 383, 219, 593, 392, 382, 334, 355, 356, 280, 307,
- 447, 375, 448, 306, 308, 404, 403, 405, 207, 606,
- 0, 208, 0, 499, 608, 649, 452, 212, 234, 235,
- 237, 0, 279, 283, 291, 294, 303, 304, 313, 367,
- 419, 446, 442, 451, 0, 579, 600, 613, 624, 630,
- 631, 633, 634, 635, 636, 637, 640, 638, 407, 311,
- 495, 333, 373, 0, 0, 425, 472, 240, 604, 496,
- 199, 0, 0, 0, 0, 254, 255, 0, 575, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 650, 651,
- 652, 653, 654, 655, 656, 657, 658, 659, 660, 661,
- 662, 663, 664, 665, 666, 667, 645, 508, 514, 509,
- 510, 511, 512, 513, 0, 515, 0, 0, 0, 0,
- 0, 398, 0, 591, 592, 668, 384, 486, 601, 335,
- 349, 352, 341, 361, 0, 362, 337, 338, 343, 346,
- 347, 348, 353, 354, 358, 364, 249, 210, 390, 399,
- 578, 312, 216, 217, 218, 524, 525, 526, 527, 616,
- 617, 621, 205, 462, 463, 464, 465, 292, 611, 309,
- 468, 467, 331, 332, 379, 449, 540, 542, 553, 557,
- 559, 561, 567, 570, 541, 543, 554, 558, 560, 562,
- 568, 571, 530, 532, 534, 536, 549, 548, 545, 573,
- 574, 551, 556, 535, 547, 552, 565, 572, 569, 529,
- 533, 537, 546, 564, 563, 544, 555, 566, 550, 538,
- 531, 539, 0, 196, 221, 368, 0, 454, 288, 646,
- 615, 484, 610, 206, 223, 0, 262, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 198, 200,
- 209, 222, 232, 236, 243, 261, 276, 278, 285, 298,
- 310, 318, 319, 322, 328, 380, 386, 387, 388, 389,
- 409, 410, 411, 414, 417, 418, 421, 423, 424, 427,
- 431, 435, 436, 437, 439, 441, 443, 455, 460, 474,
- 475, 476, 477, 478, 481, 482, 488, 489, 490, 491,
- 492, 500, 501, 516, 586, 588, 603, 622, 628, 480,
- 301, 302, 444, 445, 314, 315, 642, 643, 1449, 598,
- 629, 596, 641, 623, 438, 378, 0, 0, 381, 281,
- 305, 320, 0, 614, 502, 227, 466, 290, 251, 0,
- 0, 211, 246, 230, 259, 274, 277, 324, 391, 400,
- 429, 434, 296, 271, 244, 459, 241, 485, 519, 520,
- 521, 523, 395, 266, 433, 396, 0, 376, 576, 577,
- 316, 0, 0, 0, 528, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 416, 0, 0, 0,
- 0, 0, 0, 0, 270, 0, 0, 0, 0, 366,
- 267, 0, 0, 204, 505, 0, 430, 0, 203, 0,
- 487, 252, 377, 374, 583, 282, 273, 269, 250, 317,
- 385, 428, 518, 422, 0, 370, 0, 0, 497, 401,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 323, 248,
- 325, 202, 413, 498, 286, 0, 0, 0, 0, 0,
- 507, 194, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 238, 0, 0, 245, 0, 0, 0, 351, 360,
- 359, 339, 340, 342, 344, 350, 357, 363, 336, 345,
- 0, 0, 607, 0, 0, 0, 265, 321, 272, 264,
- 580, 0, 0, 0, 0, 0, 0, 0, 0, 229,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 275, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 297, 0, 402, 257,
- 0, 453, 0, 0, 0, 625, 0, 0, 0, 0,
- 0, 0, 0, 365, 0, 330, 197, 225, 0, 0,
- 412, 461, 473, 0, 0, 0, 253, 0, 471, 426,
- 602, 233, 284, 458, 432, 469, 440, 287, 0, 0,
- 470, 372, 585, 450, 599, 626, 627, 263, 406, 612,
- 522, 620, 644, 226, 260, 420, 506, 605, 494, 397,
- 581, 582, 329, 493, 295, 201, 369, 632, 224, 479,
- 371, 242, 231, 587, 609, 299, 289, 456, 639, 213,
- 517, 597, 239, 483, 0, 0, 647, 247, 504, 215,
- 594, 503, 393, 326, 327, 214, 0, 457, 268, 293,
- 0, 0, 258, 415, 589, 590, 256, 648, 228, 619,
- 220, 0, 618, 408, 584, 595, 394, 383, 219, 593,
- 392, 382, 334, 355, 356, 280, 307, 447, 375, 448,
- 306, 308, 404, 403, 405, 207, 606, 0, 208, 0,
- 499, 608, 649, 452, 212, 234, 235, 237, 0, 279,
+ 308, 404, 403, 405, 207, 606, 623, 0, 208, 0,
+ 499, 608, 650, 452, 212, 234, 235, 237, 0, 279,
283, 291, 294, 303, 304, 313, 367, 419, 446, 442,
- 451, 0, 579, 600, 613, 624, 630, 631, 633, 634,
- 635, 636, 637, 640, 638, 407, 311, 495, 333, 373,
+ 451, 0, 579, 600, 613, 625, 631, 632, 634, 635,
+ 636, 637, 638, 641, 639, 407, 311, 495, 333, 373,
0, 0, 425, 472, 240, 604, 496, 199, 0, 0,
0, 0, 254, 255, 0, 575, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 650, 651, 652, 653, 654,
- 655, 656, 657, 658, 659, 660, 661, 662, 663, 664,
- 665, 666, 667, 645, 508, 514, 509, 510, 511, 512,
+ 0, 0, 0, 0, 0, 651, 652, 653, 654, 655,
+ 656, 657, 658, 659, 660, 661, 662, 663, 664, 665,
+ 666, 667, 668, 646, 508, 514, 509, 510, 511, 512,
513, 0, 515, 0, 0, 0, 0, 0, 398, 0,
- 591, 592, 668, 384, 486, 601, 335, 349, 352, 341,
+ 591, 592, 669, 384, 486, 601, 335, 349, 352, 341,
361, 0, 362, 337, 338, 343, 346, 347, 348, 353,
354, 358, 364, 249, 210, 390, 399, 578, 312, 216,
217, 218, 524, 525, 526, 527, 616, 617, 621, 205,
@@ -6925,18 +7158,18 @@ var yyAct = [...]int{
532, 534, 536, 549, 548, 545, 573, 574, 551, 556,
535, 547, 552, 565, 572, 569, 529, 533, 537, 546,
564, 563, 544, 555, 566, 550, 538, 531, 539, 0,
- 196, 221, 368, 0, 454, 288, 646, 615, 484, 610,
+ 196, 221, 368, 0, 454, 288, 647, 615, 484, 610,
206, 223, 0, 262, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1044, 0, 0, 0, 198, 200, 209, 222, 232,
+ 0, 0, 0, 0, 0, 198, 200, 209, 222, 232,
236, 243, 261, 276, 278, 285, 298, 310, 318, 319,
322, 328, 380, 386, 387, 388, 389, 409, 410, 411,
414, 417, 418, 421, 423, 424, 427, 431, 435, 436,
437, 439, 441, 443, 455, 460, 474, 475, 476, 477,
478, 481, 482, 488, 489, 490, 491, 492, 500, 501,
- 516, 586, 588, 603, 622, 628, 480, 301, 302, 444,
- 445, 314, 315, 642, 643, 300, 598, 629, 596, 641,
- 623, 438, 378, 0, 0, 381, 281, 305, 320, 0,
+ 516, 586, 588, 603, 622, 629, 480, 301, 302, 444,
+ 445, 314, 315, 643, 644, 300, 598, 630, 596, 642,
+ 624, 438, 378, 0, 0, 381, 281, 305, 320, 0,
614, 502, 227, 466, 290, 251, 0, 0, 211, 246,
230, 259, 274, 277, 324, 391, 400, 429, 434, 296,
271, 244, 459, 241, 485, 519, 520, 521, 523, 395,
@@ -6949,161 +7182,14 @@ var yyAct = [...]int{
422, 0, 370, 0, 0, 497, 401, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 323, 248, 325, 202, 413,
- 498, 286, 0, 0, 0, 0, 0, 507, 194, 0,
+ 498, 286, 0, 0, 0, 0, 0, 507, 955, 0,
0, 0, 0, 0, 0, 0, 0, 0, 238, 0,
0, 245, 0, 0, 0, 351, 360, 359, 339, 340,
342, 344, 350, 357, 363, 336, 345, 0, 0, 607,
0, 0, 0, 265, 321, 272, 264, 580, 0, 0,
0, 0, 0, 0, 0, 0, 229, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 275, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 297, 0, 402, 257, 0, 453, 0,
- 671, 0, 625, 0, 0, 0, 0, 0, 0, 0,
- 365, 0, 330, 197, 225, 0, 0, 412, 461, 473,
- 0, 0, 0, 253, 0, 471, 426, 602, 233, 284,
- 458, 432, 469, 440, 287, 0, 0, 470, 372, 585,
- 450, 599, 626, 627, 263, 406, 612, 522, 620, 644,
- 226, 260, 420, 506, 605, 494, 397, 581, 582, 329,
- 493, 295, 201, 369, 632, 224, 479, 371, 242, 231,
- 587, 609, 299, 289, 456, 639, 213, 517, 597, 239,
- 483, 0, 0, 647, 247, 504, 215, 594, 503, 393,
- 326, 327, 214, 0, 457, 268, 293, 0, 0, 258,
- 415, 589, 590, 256, 648, 228, 619, 220, 0, 618,
- 408, 584, 595, 394, 383, 219, 593, 392, 382, 334,
- 355, 356, 280, 307, 447, 375, 448, 306, 308, 404,
- 403, 405, 207, 606, 0, 208, 0, 499, 608, 649,
- 452, 212, 234, 235, 237, 0, 279, 283, 291, 294,
- 303, 304, 313, 367, 419, 446, 442, 451, 0, 579,
- 600, 613, 624, 630, 631, 633, 634, 635, 636, 637,
- 640, 638, 407, 311, 495, 333, 373, 0, 0, 425,
- 472, 240, 604, 496, 199, 0, 0, 0, 0, 254,
- 255, 0, 575, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 650, 651, 652, 653, 654, 655, 656, 657,
- 658, 659, 660, 661, 662, 663, 664, 665, 666, 667,
- 645, 508, 514, 509, 510, 511, 512, 513, 0, 515,
- 0, 0, 0, 0, 0, 398, 0, 591, 592, 668,
- 384, 486, 601, 335, 349, 352, 341, 361, 0, 362,
- 337, 338, 343, 346, 347, 348, 353, 354, 358, 364,
- 249, 210, 390, 399, 578, 312, 216, 217, 218, 524,
- 525, 526, 527, 616, 617, 621, 205, 462, 463, 464,
- 465, 292, 611, 309, 468, 467, 331, 332, 379, 449,
- 540, 542, 553, 557, 559, 561, 567, 570, 541, 543,
- 554, 558, 560, 562, 568, 571, 530, 532, 534, 536,
- 549, 548, 545, 573, 574, 551, 556, 535, 547, 552,
- 565, 572, 569, 529, 533, 537, 546, 564, 563, 544,
- 555, 566, 550, 538, 531, 539, 0, 196, 221, 368,
- 0, 454, 288, 646, 615, 484, 610, 206, 223, 0,
- 262, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 198, 200, 209, 222, 232, 236, 243, 261,
- 276, 278, 285, 298, 310, 318, 319, 322, 328, 380,
- 386, 387, 388, 389, 409, 410, 411, 414, 417, 418,
- 421, 423, 424, 427, 431, 435, 436, 437, 439, 441,
- 443, 455, 460, 474, 475, 476, 477, 478, 481, 482,
- 488, 489, 490, 491, 492, 500, 501, 516, 586, 588,
- 603, 622, 628, 480, 301, 302, 444, 445, 314, 315,
- 642, 643, 300, 598, 629, 596, 641, 623, 438, 378,
- 0, 0, 381, 281, 305, 320, 0, 614, 502, 227,
- 466, 290, 251, 0, 0, 211, 246, 230, 259, 274,
- 277, 324, 391, 400, 429, 434, 296, 271, 244, 459,
- 241, 485, 519, 520, 521, 523, 395, 266, 433, 396,
- 0, 376, 576, 577, 316, 0, 0, 0, 528, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 416, 0, 0, 0, 0, 0, 0, 0, 270, 0,
- 0, 0, 0, 366, 267, 0, 0, 204, 505, 0,
- 430, 0, 203, 0, 487, 252, 377, 374, 583, 282,
- 273, 269, 250, 317, 385, 428, 518, 422, 0, 370,
- 0, 0, 497, 401, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 323, 248, 325, 202, 413, 498, 286, 0,
- 0, 0, 0, 0, 507, 719, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 238, 0, 0, 245, 0,
- 0, 0, 351, 360, 359, 339, 340, 342, 344, 350,
- 357, 363, 336, 345, 0, 0, 607, 0, 0, 0,
- 265, 321, 272, 264, 580, 0, 0, 0, 0, 0,
- 0, 0, 0, 229, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 275, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 297, 0, 402, 257, 0, 453, 0, 0, 0, 625,
- 0, 0, 0, 0, 0, 0, 0, 365, 0, 330,
- 197, 225, 0, 0, 412, 461, 473, 0, 0, 0,
- 253, 0, 471, 426, 602, 233, 284, 458, 432, 469,
- 440, 287, 0, 0, 470, 372, 585, 450, 599, 626,
- 627, 263, 406, 612, 522, 620, 644, 226, 260, 420,
- 506, 605, 494, 397, 581, 582, 329, 493, 295, 201,
- 369, 632, 224, 479, 371, 242, 231, 587, 609, 299,
- 289, 456, 639, 213, 517, 597, 239, 483, 0, 0,
- 647, 247, 504, 215, 594, 503, 393, 326, 327, 214,
- 0, 457, 268, 293, 0, 0, 258, 415, 589, 590,
- 256, 648, 228, 619, 220, 0, 618, 408, 584, 595,
- 394, 383, 219, 593, 392, 382, 334, 355, 356, 280,
- 307, 447, 375, 448, 306, 308, 404, 403, 405, 207,
- 606, 0, 208, 0, 499, 608, 649, 452, 212, 234,
- 235, 237, 0, 279, 283, 291, 294, 303, 304, 313,
- 367, 419, 446, 442, 451, 0, 579, 600, 613, 624,
- 630, 631, 633, 634, 635, 636, 637, 640, 638, 407,
- 311, 495, 333, 373, 0, 0, 425, 472, 240, 604,
- 496, 199, 0, 0, 0, 0, 254, 255, 0, 575,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 650,
- 651, 652, 653, 654, 655, 656, 657, 658, 659, 660,
- 661, 662, 663, 664, 665, 666, 667, 645, 508, 514,
- 509, 510, 511, 512, 513, 0, 515, 0, 0, 0,
- 0, 0, 398, 0, 591, 592, 668, 384, 486, 601,
- 335, 349, 352, 341, 361, 0, 362, 337, 338, 343,
- 346, 347, 348, 353, 354, 358, 364, 249, 210, 390,
- 399, 578, 312, 216, 217, 218, 524, 525, 526, 527,
- 616, 617, 621, 205, 462, 463, 464, 465, 292, 611,
- 309, 468, 467, 331, 332, 379, 449, 540, 542, 553,
- 557, 559, 561, 567, 570, 541, 543, 554, 558, 560,
- 562, 568, 571, 530, 532, 534, 536, 549, 548, 545,
- 573, 574, 551, 556, 535, 547, 552, 565, 572, 569,
- 529, 533, 537, 546, 564, 563, 544, 555, 566, 550,
- 538, 531, 539, 0, 196, 221, 368, 0, 454, 288,
- 646, 615, 484, 610, 206, 223, 0, 262, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 198,
- 200, 209, 222, 232, 236, 243, 261, 276, 278, 285,
- 298, 310, 318, 319, 322, 328, 380, 386, 387, 388,
- 389, 4124, 410, 411, 414, 417, 418, 421, 423, 424,
- 427, 431, 435, 436, 437, 439, 441, 443, 455, 460,
- 474, 475, 476, 477, 478, 481, 482, 488, 489, 490,
- 491, 492, 500, 501, 516, 586, 588, 603, 622, 628,
- 480, 301, 302, 444, 445, 314, 315, 642, 643, 300,
- 598, 629, 596, 641, 623, 438, 378, 0, 0, 381,
- 281, 305, 320, 0, 614, 502, 227, 466, 290, 251,
- 0, 0, 211, 246, 230, 259, 274, 277, 324, 391,
- 400, 429, 434, 296, 271, 244, 459, 241, 485, 519,
- 520, 521, 523, 395, 266, 433, 396, 0, 376, 576,
- 577, 316, 0, 0, 0, 528, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 416, 0, 0,
- 0, 0, 0, 0, 0, 270, 0, 0, 0, 0,
- 366, 267, 0, 0, 204, 505, 0, 430, 0, 203,
- 0, 487, 252, 377, 374, 583, 282, 273, 269, 250,
- 317, 385, 428, 518, 422, 0, 370, 0, 0, 497,
- 401, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 323,
- 248, 325, 202, 413, 498, 286, 0, 0, 0, 0,
- 0, 507, 719, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 238, 0, 0, 245, 0, 0, 0, 351,
- 360, 359, 339, 340, 342, 344, 350, 357, 363, 336,
- 345, 0, 0, 607, 0, 0, 0, 265, 321, 272,
- 264, 580, 0, 0, 0, 0, 0, 0, 0, 0,
- 229, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 275, 0, 0, 0, 0,
+ 0, 275, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7111,106 +7197,32 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 297, 0, 402,
- 257, 0, 453, 0, 0, 0, 625, 0, 0, 0,
- 0, 0, 0, 0, 365, 0, 330, 197, 225, 0,
- 0, 412, 461, 473, 0, 0, 0, 253, 0, 471,
- 426, 602, 233, 284, 458, 432, 469, 440, 287, 0,
- 0, 470, 372, 585, 450, 599, 626, 627, 263, 406,
- 612, 522, 620, 644, 226, 260, 420, 506, 605, 494,
- 397, 581, 582, 329, 493, 295, 201, 369, 632, 224,
- 479, 371, 242, 231, 587, 609, 299, 289, 456, 639,
- 213, 517, 597, 239, 483, 0, 0, 647, 247, 504,
- 215, 594, 503, 393, 326, 327, 214, 0, 457, 268,
- 293, 0, 0, 258, 415, 589, 590, 256, 648, 228,
- 619, 220, 0, 618, 408, 584, 595, 394, 383, 219,
- 593, 392, 382, 334, 355, 356, 280, 307, 447, 375,
- 448, 306, 308, 404, 403, 405, 207, 606, 0, 208,
- 0, 499, 608, 649, 452, 212, 234, 235, 237, 0,
- 279, 283, 291, 294, 303, 304, 313, 367, 419, 446,
- 442, 451, 0, 579, 600, 613, 624, 630, 631, 633,
- 634, 635, 636, 637, 640, 638, 407, 311, 495, 333,
- 373, 0, 0, 425, 472, 240, 604, 496, 199, 0,
- 0, 0, 0, 254, 255, 0, 575, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 650, 651, 652, 653,
- 654, 655, 656, 657, 658, 659, 660, 661, 662, 663,
- 664, 665, 666, 667, 645, 508, 514, 509, 510, 511,
- 512, 513, 0, 515, 0, 0, 0, 0, 0, 398,
- 0, 591, 592, 668, 384, 486, 601, 335, 349, 352,
- 341, 361, 0, 362, 337, 338, 343, 346, 347, 348,
- 353, 354, 358, 364, 249, 210, 390, 399, 578, 312,
- 216, 217, 218, 524, 525, 526, 527, 616, 617, 621,
- 205, 462, 463, 464, 465, 292, 611, 309, 468, 467,
- 331, 332, 379, 449, 540, 542, 553, 557, 559, 561,
- 567, 570, 541, 543, 554, 558, 560, 562, 568, 571,
- 530, 532, 534, 536, 549, 548, 545, 573, 574, 551,
- 556, 535, 547, 552, 565, 572, 569, 529, 533, 537,
- 546, 564, 563, 544, 555, 566, 550, 538, 531, 539,
- 0, 196, 221, 368, 0, 454, 288, 646, 615, 484,
- 610, 206, 223, 0, 262, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 198, 200, 209, 222,
- 232, 236, 243, 261, 276, 278, 285, 298, 310, 318,
- 319, 322, 328, 380, 386, 387, 388, 389, 409, 410,
- 411, 414, 417, 418, 421, 423, 424, 427, 431, 435,
- 436, 437, 439, 441, 443, 455, 460, 474, 475, 476,
- 477, 478, 481, 482, 488, 489, 490, 491, 492, 500,
- 501, 516, 586, 588, 603, 622, 628, 480, 301, 302,
- 444, 445, 314, 315, 642, 643, 300, 598, 629, 596,
- 641, 623, 438, 378, 0, 0, 381, 281, 305, 320,
- 0, 614, 502, 227, 466, 290, 251, 0, 0, 211,
- 246, 230, 259, 274, 277, 324, 391, 400, 429, 434,
- 296, 271, 244, 459, 241, 485, 519, 520, 521, 523,
- 395, 266, 433, 396, 0, 376, 576, 577, 316, 0,
- 0, 0, 528, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 416, 0, 0, 0, 0, 0,
- 0, 0, 270, 0, 0, 0, 0, 366, 267, 0,
- 0, 204, 505, 0, 430, 0, 203, 0, 487, 252,
- 377, 374, 583, 282, 273, 269, 250, 317, 385, 428,
- 518, 422, 0, 370, 0, 0, 497, 401, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 323, 248, 325, 202,
- 413, 498, 286, 0, 0, 0, 0, 0, 507, 954,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 238,
- 0, 0, 245, 0, 0, 0, 351, 360, 359, 339,
- 340, 342, 344, 350, 357, 363, 336, 345, 0, 0,
- 607, 0, 0, 0, 265, 321, 272, 264, 580, 0,
- 0, 0, 0, 0, 0, 0, 0, 229, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 275, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 297, 0, 402, 257, 0, 453,
- 0, 0, 0, 625, 0, 0, 0, 0, 0, 0,
- 0, 365, 0, 330, 197, 225, 0, 0, 412, 461,
- 473, 0, 0, 0, 253, 0, 471, 426, 602, 233,
- 284, 458, 432, 469, 440, 287, 0, 0, 470, 372,
- 585, 450, 599, 626, 627, 263, 406, 612, 522, 620,
- 644, 226, 260, 420, 506, 605, 494, 397, 581, 582,
- 329, 493, 295, 201, 369, 632, 224, 479, 371, 242,
- 231, 587, 609, 299, 289, 456, 639, 213, 517, 597,
- 239, 483, 0, 0, 647, 247, 504, 215, 594, 503,
- 393, 326, 327, 214, 0, 457, 268, 293, 0, 0,
- 258, 415, 589, 590, 256, 648, 228, 619, 220, 0,
- 618, 408, 584, 595, 394, 383, 219, 593, 392, 382,
- 334, 355, 356, 280, 307, 447, 375, 448, 306, 308,
- 404, 403, 405, 207, 606, 0, 208, 0, 499, 608,
- 649, 452, 212, 234, 235, 237, 0, 279, 283, 291,
+ 0, 0, 0, 297, 0, 402, 257, 0, 453, 0,
+ 0, 0, 626, 0, 0, 0, 0, 0, 0, 0,
+ 365, 0, 330, 197, 225, 0, 0, 412, 461, 473,
+ 0, 0, 0, 253, 0, 471, 426, 602, 233, 284,
+ 458, 432, 469, 440, 287, 0, 0, 470, 372, 585,
+ 450, 599, 627, 628, 263, 406, 612, 522, 620, 645,
+ 226, 260, 420, 506, 605, 494, 397, 581, 582, 329,
+ 493, 295, 201, 369, 633, 224, 479, 371, 242, 231,
+ 587, 609, 299, 289, 456, 640, 213, 517, 597, 239,
+ 483, 0, 0, 648, 247, 504, 215, 594, 503, 393,
+ 326, 327, 214, 0, 457, 268, 293, 0, 0, 258,
+ 415, 589, 590, 256, 649, 228, 619, 220, 0, 618,
+ 408, 584, 595, 394, 383, 219, 593, 392, 382, 334,
+ 355, 356, 280, 307, 447, 375, 448, 306, 308, 404,
+ 403, 405, 207, 606, 623, 0, 208, 0, 499, 608,
+ 650, 452, 212, 234, 235, 237, 0, 279, 283, 291,
294, 303, 304, 313, 367, 419, 446, 442, 451, 0,
- 579, 600, 613, 624, 630, 631, 633, 634, 635, 636,
- 637, 640, 638, 407, 311, 495, 333, 373, 0, 0,
+ 579, 600, 613, 625, 631, 632, 634, 635, 636, 637,
+ 638, 641, 639, 407, 311, 495, 333, 373, 0, 0,
425, 472, 240, 604, 496, 199, 0, 0, 0, 0,
254, 255, 0, 575, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 650, 651, 652, 653, 654, 655, 656,
- 657, 658, 659, 660, 661, 662, 663, 664, 665, 666,
- 667, 645, 508, 514, 509, 510, 511, 512, 513, 0,
+ 0, 0, 0, 651, 652, 653, 654, 655, 656, 657,
+ 658, 659, 660, 661, 662, 663, 664, 665, 666, 667,
+ 668, 646, 508, 514, 509, 510, 511, 512, 513, 0,
515, 0, 0, 0, 0, 0, 398, 0, 591, 592,
- 668, 384, 486, 601, 335, 349, 352, 341, 361, 0,
+ 669, 384, 486, 601, 335, 349, 352, 341, 361, 0,
362, 337, 338, 343, 346, 347, 348, 353, 354, 358,
364, 249, 210, 390, 399, 578, 312, 216, 217, 218,
524, 525, 526, 527, 616, 617, 621, 205, 462, 463,
@@ -7220,7 +7232,7 @@ var yyAct = [...]int{
536, 549, 548, 545, 573, 574, 551, 556, 535, 547,
552, 565, 572, 569, 529, 533, 537, 546, 564, 563,
544, 555, 566, 550, 538, 531, 539, 0, 196, 221,
- 368, 0, 454, 288, 646, 615, 484, 610, 206, 223,
+ 368, 0, 454, 288, 647, 615, 484, 610, 206, 223,
0, 262, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 198, 200, 209, 222, 232, 236, 243,
@@ -7229,8 +7241,8 @@ var yyAct = [...]int{
418, 421, 423, 424, 427, 431, 435, 436, 437, 439,
441, 443, 455, 460, 474, 475, 476, 477, 478, 481,
482, 488, 489, 490, 491, 492, 500, 501, 516, 586,
- 588, 603, 622, 628, 480, 301, 302, 444, 445, 314,
- 315, 642, 643, 300, 598, 629, 596, 641, 623, 438,
+ 588, 603, 622, 629, 480, 301, 302, 444, 445, 314,
+ 315, 643, 644, 300, 598, 630, 596, 642, 624, 438,
378, 0, 0, 381, 281, 305, 320, 0, 614, 502,
227, 466, 290, 251, 0, 0, 211, 246, 230, 259,
274, 277, 324, 391, 400, 429, 434, 296, 271, 244,
@@ -7260,79 +7272,79 @@ var yyAct = [...]int{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 297, 0, 402, 257, 0, 453, 0, 0, 0,
- 625, 0, 0, 0, 0, 0, 0, 0, 365, 0,
+ 626, 0, 0, 0, 0, 0, 0, 0, 365, 0,
330, 197, 225, 0, 0, 412, 461, 473, 0, 0,
0, 253, 0, 471, 426, 602, 233, 284, 458, 432,
469, 440, 287, 0, 0, 470, 372, 585, 450, 599,
- 626, 627, 263, 406, 612, 522, 620, 644, 226, 260,
+ 627, 628, 263, 406, 612, 522, 620, 645, 226, 260,
420, 506, 605, 494, 397, 581, 582, 329, 493, 295,
- 201, 369, 632, 224, 479, 371, 242, 231, 587, 609,
- 299, 289, 456, 639, 213, 517, 597, 239, 483, 0,
- 0, 647, 247, 504, 215, 594, 503, 393, 326, 327,
+ 201, 369, 633, 224, 479, 371, 242, 231, 587, 609,
+ 299, 289, 456, 640, 213, 517, 597, 239, 483, 0,
+ 0, 648, 247, 504, 215, 594, 503, 393, 326, 327,
214, 0, 457, 268, 293, 0, 0, 258, 415, 589,
- 590, 256, 648, 228, 619, 220, 0, 618, 408, 584,
+ 590, 256, 649, 228, 619, 220, 0, 618, 408, 584,
595, 394, 383, 219, 593, 392, 382, 334, 355, 356,
280, 307, 447, 375, 448, 306, 308, 404, 403, 405,
- 207, 606, 0, 208, 0, 499, 608, 649, 452, 212,
- 234, 235, 237, 0, 279, 283, 291, 294, 303, 304,
- 313, 367, 419, 446, 442, 451, 0, 579, 600, 613,
- 624, 630, 631, 633, 634, 635, 636, 637, 640, 638,
- 407, 311, 495, 333, 373, 0, 0, 425, 472, 240,
- 604, 496, 199, 0, 0, 0, 0, 254, 255, 0,
- 575, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 650, 651, 652, 653, 654, 655, 656, 657, 658, 659,
- 660, 661, 662, 663, 664, 665, 666, 667, 645, 508,
- 514, 509, 510, 511, 512, 513, 0, 515, 0, 0,
- 0, 0, 0, 398, 0, 591, 592, 668, 384, 486,
- 601, 335, 349, 352, 341, 361, 0, 362, 337, 338,
- 343, 346, 347, 348, 353, 354, 358, 364, 249, 210,
- 390, 399, 578, 312, 216, 217, 218, 524, 525, 526,
- 527, 616, 617, 621, 205, 462, 463, 464, 465, 292,
- 611, 309, 468, 467, 331, 332, 379, 449, 540, 542,
- 553, 557, 559, 561, 567, 570, 541, 543, 554, 558,
- 560, 562, 568, 571, 530, 532, 534, 536, 549, 548,
- 545, 573, 574, 551, 556, 535, 547, 552, 565, 572,
- 569, 529, 533, 537, 546, 564, 563, 544, 555, 566,
- 550, 538, 531, 539, 0, 196, 221, 368, 0, 454,
- 288, 646, 615, 484, 610, 206, 223, 0, 262, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 198, 200, 209, 222, 232, 236, 243, 261, 276, 278,
- 285, 298, 310, 318, 319, 322, 328, 380, 386, 387,
- 388, 389, 409, 410, 411, 414, 417, 418, 421, 423,
- 424, 427, 431, 435, 436, 437, 439, 441, 443, 455,
- 460, 474, 475, 476, 477, 478, 481, 482, 488, 489,
- 490, 491, 492, 500, 501, 516, 586, 588, 603, 622,
- 628, 480, 301, 302, 444, 445, 314, 315, 642, 643,
- 300, 598, 629, 596, 641, 623, 438, 378, 0, 0,
- 381, 281, 305, 320, 0, 614, 502, 227, 466, 290,
- 251, 0, 0, 211, 246, 230, 259, 274, 277, 324,
- 391, 400, 429, 434, 296, 271, 244, 459, 241, 485,
- 519, 520, 521, 523, 395, 266, 433, 0, 0, 376,
- 576, 577, 316,
+ 207, 606, 623, 0, 208, 0, 499, 608, 650, 452,
+ 212, 234, 235, 237, 0, 279, 283, 291, 294, 303,
+ 304, 313, 367, 419, 446, 442, 451, 0, 579, 600,
+ 613, 625, 631, 632, 634, 635, 636, 637, 638, 641,
+ 639, 407, 311, 495, 333, 373, 0, 0, 425, 472,
+ 240, 604, 496, 199, 0, 0, 0, 0, 254, 255,
+ 0, 575, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 651, 652, 653, 654, 655, 656, 657, 658, 659,
+ 660, 661, 662, 663, 664, 665, 666, 667, 668, 646,
+ 508, 514, 509, 510, 511, 512, 513, 0, 515, 0,
+ 0, 0, 0, 0, 398, 0, 591, 592, 669, 384,
+ 486, 601, 335, 349, 352, 341, 361, 0, 362, 337,
+ 338, 343, 346, 347, 348, 353, 354, 358, 364, 249,
+ 210, 390, 399, 578, 312, 216, 217, 218, 524, 525,
+ 526, 527, 616, 617, 621, 205, 462, 463, 464, 465,
+ 292, 611, 309, 468, 467, 331, 332, 379, 449, 540,
+ 542, 553, 557, 559, 561, 567, 570, 541, 543, 554,
+ 558, 560, 562, 568, 571, 530, 532, 534, 536, 549,
+ 548, 545, 573, 574, 551, 556, 535, 547, 552, 565,
+ 572, 569, 529, 533, 537, 546, 564, 563, 544, 555,
+ 566, 550, 538, 531, 539, 0, 196, 221, 368, 0,
+ 454, 288, 647, 615, 484, 610, 206, 223, 0, 262,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 198, 200, 209, 222, 232, 236, 243, 261, 276,
+ 278, 285, 298, 310, 318, 319, 322, 328, 380, 386,
+ 387, 388, 389, 409, 410, 411, 414, 417, 418, 421,
+ 423, 424, 427, 431, 435, 436, 437, 439, 441, 443,
+ 455, 460, 474, 475, 476, 477, 478, 481, 482, 488,
+ 489, 490, 491, 492, 500, 501, 516, 586, 588, 603,
+ 622, 629, 480, 301, 302, 444, 445, 314, 315, 643,
+ 644, 300, 598, 630, 596, 642, 624, 438, 378, 0,
+ 0, 381, 281, 305, 320, 0, 614, 502, 227, 466,
+ 290, 251, 0, 0, 211, 246, 230, 259, 274, 277,
+ 324, 391, 400, 429, 434, 296, 271, 244, 459, 241,
+ 485, 519, 520, 521, 523, 395, 266, 433, 0, 0,
+ 376, 576, 577, 316,
}
var yyPact = [...]int{
- -1000, -1000, 6166, -1000, -549, -1000, -1000, -1000, -1000, -1000,
+ -1000, -1000, 1040, -1000, -551, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, 2492, 2511, -1000, -1000, -1000, -1000, 2643, -1000, 1011,
- 2131, -1000, 2469, 6697, -1000, 55456, 524, -1000, 52508, -450,
- 892, 236, 36294, -1000, 188, -1000, 180, 53982, 184, -1000,
- -1000, -1000, -1000, -450, 21554, 2352, 45, 42, 55456, -1000,
- -1000, -1000, -1000, -367, 2607, 2125, -1000, 418, -1000, -1000,
- -1000, -1000, -1000, -1000, 51771, -1000, 1106, -1000, -1000, 2475,
- 2466, 2328, 929, 2381, -1000, 2539, 2125, -1000, 21554, 2586,
- 2419, 20817, 20817, 466, -1000, -1000, 270, -1000, -1000, 31135,
- 55456, 39242, 294, -1000, 2469, -1000, -1000, -1000, 196, -1000,
- 387, 2042, -1000, 2040, -1000, 1036, 1060, 391, 828, 469,
- 386, 376, 362, 359, 357, 352, 349, 347, 307, -1000,
- 946, 946, -219, -221, 1445, 490, 444, 444, 1010, 491,
- 2433, 2407, -1000, -1000, 946, 946, 946, 363, 946, 946,
- 946, 946, 306, 305, 946, 946, 946, 946, 946, 946,
- 946, 946, 946, 946, 946, 946, 946, 946, 946, 946,
- 946, 916, 2469, 276, -1000, -1000, -1000, -1000, -1000, -1000,
+ -1000, 2388, 2423, -1000, -1000, -1000, -1000, 2569, -1000, 999,
+ 2023, -1000, 2374, 5134, -1000, 55556, 520, -1000, 52604, -455,
+ 871, 259, 36368, -1000, 193, -1000, 166, 54080, 184, -1000,
+ -1000, -1000, -1000, -455, 21608, 2249, 12, 8, 55556, -1000,
+ -1000, -1000, -1000, -372, 2516, 2011, -1000, 398, -1000, -1000,
+ -1000, -1000, -1000, -1000, 51866, -1000, 1127, -1000, -1000, 2384,
+ 2395, 2244, 915, 2297, -1000, 2451, 2011, -1000, 21608, 2503,
+ 2334, 20870, 20870, 467, -1000, -1000, 281, -1000, -1000, 31202,
+ 55556, 39320, 306, -1000, 2374, -1000, -1000, -1000, 186, -1000,
+ 352, 1909, -1000, 1901, -1000, 936, 1134, 385, 855, 854,
+ 383, 368, 366, 365, 364, 361, 360, 359, 401, -1000,
+ 933, 933, -247, -260, 1742, 446, 460, 460, 1041, 487,
+ 2343, 2339, -1000, -1000, 933, 933, 933, 362, 933, 933,
+ 933, 933, 339, 337, 933, 933, 933, 933, 933, 933,
+ 933, 933, 933, 933, 933, 933, 933, 933, 933, 933,
+ 933, 321, 2374, 273, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
@@ -7379,68 +7391,68 @@ var yyPact = [...]int{
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 55456,
- 172, 55456, -1000, 833, 519, -1000, -1000, -455, 1118, 1118,
- 90, 1118, 1118, 1118, 1118, 175, 1008, 41, -1000, 173,
- 250, 177, 273, 1095, 267, -1000, -1000, 251, 1095, 1887,
- -1000, 933, 265, 165, -1000, 1118, 1118, -1000, 14160, 229,
- 14160, 14160, 262, -1000, 2458, -1000, -1000, -1000, -1000, -1000,
- 1357, -1000, -1000, -1000, -1000, -30, 489, -1000, -1000, -1000,
- -1000, 53982, 51034, 223, -1000, -1000, 293, 1910, 1338, 21554,
- 1421, 927, -1000, -1000, 1223, 904, -1000, -1000, -1000, -1000,
- -1000, 807, -1000, 23765, 23765, 23765, 23765, -1000, -1000, 1785,
- 50297, 1785, 1785, 23765, 1785, 23765, 1785, 1785, 1785, 1785,
- 21554, 1785, 1785, 1785, 1785, -1000, 1785, 1785, 1785, 1785,
- 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
- 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
- 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
- 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
- 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
- 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
- 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
- 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
- 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
- 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
- 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
- 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
- 1785, 1785, 1785, 1785, 1785, -1000, -1000, -1000, -1000, 1785,
- 831, 1785, 1785, 1785, 1785, 1785, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, 1785, 1785, 1785, 1785, 1785, 1785, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1785, 1785,
- 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
- 1785, 1785, -1000, -1000, -1000, 1784, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, 26713, 1654, 1649, 1647, -1000, 18606, 1785,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
+ 55556, 279, 55556, -1000, 814, 507, -1000, -1000, -460, 1100,
+ 1100, 112, 1100, 1100, 1100, 1100, 147, 986, 7, -1000,
+ 134, 284, 122, 307, 1070, 135, -1000, -1000, 285, 1070,
+ 1755, -1000, 920, 288, 128, -1000, 1100, 1100, -1000, 14204,
+ 226, 14204, 14204, 264, -1000, 2369, -1000, -1000, -1000, -1000,
+ -1000, 1330, -1000, -1000, -1000, -1000, -72, 475, -1000, -1000,
+ -1000, -1000, 54080, 51128, 268, -1000, -1000, 28, 1839, 1168,
+ 21608, 1194, 909, -1000, -1000, 1314, 874, -1000, -1000, -1000,
+ -1000, -1000, 798, -1000, 23822, 23822, 23822, 23822, -1000, -1000,
+ 1914, 50390, 1914, 1914, 23822, 1914, 23822, 1914, 1914, 1914,
+ 1914, 21608, 1914, 1914, 1914, 1914, -1000, 1914, 1914, 1914,
+ 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
+ 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
+ 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
+ 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
+ 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
+ 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
+ 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
+ 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
+ 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
+ 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
+ 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
+ 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
+ 1914, 1914, 1914, 1914, 1914, 1914, -1000, -1000, -1000, -1000,
+ 1914, 813, 1914, 1914, 1914, 1914, 1914, -1000, -1000, -1000,
+ -1000, -1000, -1000, -1000, 1914, 1914, 1914, 1914, 1914, 1914,
+ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1914,
+ 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
+ 1914, 1914, 1914, -1000, -1000, -1000, 1584, -1000, -1000, -1000,
+ -1000, -1000, -1000, -1000, 26774, 1491, 1489, 1487, -1000, 18656,
+ 1914, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, 55456, -1000, 1785, 214, 53982, 53982, 406, 1341, -1000,
- -1000, 2539, 2125, -1000, 2607, 2562, 418, -1000, 4194, 2063,
- 1669, 1447, 2125, 1970, 55456, -1000, 2053, -1000, -1000, -1000,
- -336, -340, 2301, 1545, 1885, -1000, -1000, -1000, -1000, 1455,
- 21554, -1000, -1000, 2630, -1000, 28187, 822, 2626, 49560, -1000,
- 466, 466, 2026, 424, 20, -1000, -1000, -1000, -1000, 957,
- 35557, -1000, -1000, -1000, -1000, -1000, 1897, 55456, -1000, -1000,
- 4085, 53982, -1000, 2130, -1000, 1881, -1000, 2094, 21554, 2140,
- 512, 53982, 503, 502, 492, -1000, -65, -1000, -1000, -1000,
- -1000, -1000, -1000, 946, 946, 946, -1000, 303, 2585, 6697,
- 6520, -1000, -1000, -1000, 48823, 2129, 53982, -1000, 2127, -1000,
- 1028, 881, 861, 861, 53982, -1000, -1000, 54719, 53982, 1024,
- 1023, 53982, 53982, 53982, 53982, -1000, 48086, -1000, 47349, 46612,
- 1333, 53982, 45875, 45138, 44401, 43664, 42927, -1000, 2275, -1000,
- 2158, -1000, -1000, -1000, 54719, 53982, 53982, 54719, 53982, 54719,
- 55456, 53982, -1000, -1000, 339, -1000, -1000, 1332, 1307, 1306,
- 946, 946, 1294, 1875, 1873, 1871, 946, 946, 1289, 1867,
- 37768, 1856, 258, 1285, 1282, 1278, 1350, 1851, 190, 1848,
- 1346, 1309, 1277, 53982, 2123, 55456, -1000, 245, 1081, 961,
- 954, 2469, 2349, 2020, 487, 507, 53982, 451, 451, 53982,
- -1000, 14903, 55456, 216, -1000, 1840, 21554, -1000, 1104, 1095,
- 1095, -1000, -1000, -1000, -1000, -1000, -1000, 1118, 55456, 1104,
- -1000, -1000, -1000, 1095, 1118, 55456, 1118, 1118, 1118, 1118,
- 1095, 1095, 1095, 1118, 55456, 55456, 55456, 55456, 55456, 55456,
- 55456, 55456, 55456, 14160, 933, 1118, -459, -1000, 1837, -1000,
- -1000, -1000, 2243, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
+ -1000, -1000, 55556, -1000, 1914, 222, 54080, 54080, 374, 1321,
+ -1000, -1000, 2451, 2011, -1000, 2516, 2490, 398, -1000, 4440,
+ 1549, 1669, 1380, 2011, 1882, 55556, -1000, 1940, -1000, -1000,
+ -1000, -394, -395, 2179, 1420, 1738, -1000, -1000, -1000, -1000,
+ 2205, 21608, -1000, -1000, 2537, -1000, 28250, 812, 2534, 49652,
+ -1000, 467, 467, 1893, 420, -22, -1000, -1000, -1000, -1000,
+ 976, 35630, -1000, -1000, -1000, -1000, -1000, 1800, 55556, -1000,
+ -1000, 4986, 54080, -1000, 2015, -1000, 1762, -1000, 1982, 21608,
+ 2033, 506, 54080, 500, 496, 495, -1000, -99, -1000, -1000,
+ -1000, -1000, -1000, -1000, 933, 933, 933, -1000, 391, 2502,
+ 5134, 6342, -1000, -1000, -1000, 48914, 2014, 54080, -1000, 2012,
+ -1000, 1063, 825, 879, 879, 54080, -1000, -1000, 54818, 54080,
+ 1061, 1059, 54080, 54080, 54080, 54080, -1000, 48176, -1000, 47438,
+ 46700, 1316, 54080, 45962, 45224, 44486, 43748, 43010, -1000, 2220,
+ -1000, 1988, -1000, -1000, -1000, 54818, 54080, 54080, 54818, 54080,
+ 54818, 55556, 54080, -1000, -1000, 342, -1000, -1000, 1315, 1313,
+ 1302, 933, 933, 1299, 1722, 1707, 1704, 933, 933, 1295,
+ 1702, 37844, 1649, 292, 1294, 1291, 1289, 1303, 1641, 233,
+ 1639, 1301, 1206, 1279, 54080, 2010, 55556, -1000, 267, 971,
+ 947, 970, 2374, 2240, 1892, 474, 505, 54080, 463, 463,
+ 54080, -1000, 14948, 55556, 188, -1000, 1637, 21608, -1000, 1078,
+ 1070, 1070, -1000, -1000, -1000, -1000, -1000, -1000, 1100, 55556,
+ 1078, -1000, -1000, -1000, 1070, 1100, 55556, 1100, 1100, 1100,
+ 1100, 1070, 1070, 1070, 1100, 55556, 55556, 55556, 55556, 55556,
+ 55556, 55556, 55556, 55556, 14204, 920, 1100, -461, -1000, 1629,
+ -1000, -1000, -1000, 2147, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
@@ -7456,335 +7468,336 @@ var yyPact = [...]int{
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, 14160, 14160, -1000, -1000, 2536, -1000, -1000,
- -1000, 2014, -1000, 164, 14, 183, -1000, 42190, 510, 953,
- -1000, 510, -1000, -1000, -1000, 2008, 41453, -1000, -460, -461,
- -462, -463, -1000, -1000, -1000, -466, -467, -1000, -1000, -1000,
- 21554, 21554, 21554, 21554, -263, -1000, 1439, 23765, 2384, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, 21554, 261, 1178, 23765,
- 23765, 23765, 23765, 23765, 23765, 23765, 25239, 24502, 23765, 23765,
- 23765, 23765, 23765, 23765, -1000, -1000, 33346, 5123, 5123, 904,
- 904, 904, 904, -1000, -176, 1979, 54719, -1000, -1000, -1000,
- 820, 21554, 21554, 904, -1000, 1364, 2298, 18606, 21554, 21554,
- 21554, 21554, 980, 1338, 54719, 21554, -1000, 1447, -1000, -1000,
- -1000, -1000, 1229, -1000, -1000, 1092, 2404, 2404, 2404, 2404,
- 21554, 21554, 21554, 21554, 21554, 21554, 21554, 21554, 21554, 21554,
- 2404, 21554, 209, 209, 736, 21554, 21554, 21554, 21554, 21554,
- 21554, 21554, 21554, 17132, 21554, 21554, 23765, 21554, 21554, 21554,
- 1447, 21554, 21554, 21554, 21554, 21554, 21554, 21554, 21554, 21554,
- 21554, 21554, 21554, 21554, 21554, 21554, 21554, 21554, 21554, 21554,
- 21554, 21554, 21554, 21554, 21554, 21554, 21554, 21554, 21554, 21554,
- 21554, 21554, 21554, 21554, 21554, 21554, 21554, 21554, 21554, 21554,
- 21554, 21554, 21554, 21554, 21554, 21554, 21554, 21554, 21554, 21554,
- 21554, 21554, 21554, 21554, 21554, 21554, 21554, 21554, 21554, 21554,
- 21554, 21554, 21554, 21554, 21554, 21554, 21554, 21554, 21554, 21554,
- 21554, 21554, 21554, 21554, 21554, 21554, 21554, 21554, 21554, 21554,
- 1447, 21554, 1492, 21554, 21554, 21554, 21554, 21554, 21554, 21554,
- 16389, 21554, 21554, 21554, 21554, 21554, -1000, -1000, -1000, -1000,
- -1000, -1000, 21554, 21554, 21554, 21554, 21554, 21554, 21554, 21554,
- 1447, 21554, 21554, 21554, 21554, 21554, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1597, 1624, 1483,
- 21554, -1000, 1973, -1000, -194, 30398, 21554, 1835, 2625, 2157,
- 53982, -1000, -1000, -1000, -1000, 2539, -1000, 2539, 1597, 3091,
- 2307, 20817, -1000, -1000, 3091, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1688, -1000,
- 55456, 1970, 2527, 53982, -1000, -301, -1000, -320, 2272, 1830,
- 332, -1000, 21554, 21554, 1969, -1000, 1494, 55456, -1000, -263,
- -1000, 40716, -1000, -1000, 13417, 55456, 326, 55456, -1000, 29661,
- 39979, 289, -1000, 20, 1947, -1000, 23, 11, 17869, 896,
- -1000, -1000, -1000, 1445, 25976, 1732, 896, 93, -1000, -1000,
- -1000, 2094, -1000, 2094, 2094, 2094, 2094, 332, 332, 332,
- 332, -1000, -1000, -1000, -1000, -1000, 2116, 2115, -1000, 2094,
- 2094, 2094, 2094, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
+ -1000, -1000, -1000, -1000, 14204, 14204, -1000, -1000, 2448, -1000,
+ -1000, -1000, 1888, -1000, 167, -14, 182, -1000, 42272, 485,
+ 967, -1000, 485, -1000, -1000, -1000, 1886, 41534, -1000, -462,
+ -463, -464, -465, -1000, -1000, -1000, -469, -470, -1000, -1000,
+ -1000, 21608, 21608, 21608, 21608, -295, -1000, 1032, 23822, 2307,
+ -1000, -1000, -1000, -1000, -1000, -1000, -1000, 21608, 223, 964,
+ 23822, 23822, 23822, 23822, 23822, 23822, 23822, 25298, 24560, 23822,
+ 23822, 23822, 23822, 23822, 23822, -1000, -1000, 33416, 8224, 8224,
+ 874, 874, 874, 874, -1000, -221, 1884, 54818, -1000, -1000,
+ -1000, 811, 21608, 21608, 874, -1000, 1337, 2215, 18656, 21608,
+ 21608, 21608, 21608, 939, 1168, 54818, 21608, -1000, 1380, -1000,
+ -1000, -1000, -1000, 1210, -1000, -1000, 1045, 2319, 2319, 2319,
+ 2319, 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608,
+ 21608, 2319, 21608, 148, 148, 1596, 21608, 21608, 21608, 21608,
+ 21608, 21608, 21608, 21608, 17180, 21608, 21608, 23822, 21608, 21608,
+ 21608, 1380, 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608,
+ 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608,
+ 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608,
+ 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608,
+ 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608,
+ 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608,
+ 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608,
+ 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608, 21608,
+ 21608, 1380, 21608, 1338, 21608, 21608, 21608, 21608, 21608, 21608,
+ 21608, 16436, 21608, 21608, 21608, 21608, 21608, -1000, -1000, -1000,
+ -1000, -1000, -1000, 21608, 21608, 21608, 21608, 21608, 21608, 21608,
+ 21608, 1380, 21608, 21608, 21608, 21608, 21608, -1000, -1000, -1000,
+ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1633, 1592,
+ 1458, 21608, -1000, 1883, -1000, -198, 30464, 21608, 1617, 2532,
+ 2056, 54080, -1000, -1000, -1000, -1000, 2451, -1000, 2451, 1633,
+ 4400, 2182, 20870, -1000, -1000, 4400, -1000, -1000, -1000, -1000,
+ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1647,
+ -1000, 55556, 1882, 2443, 54080, -1000, -355, -1000, -361, 2156,
+ 1605, 340, -1000, 21608, 21608, 1878, -1000, 1687, 55556, -1000,
+ -295, -1000, 40796, -1000, -1000, 13460, 55556, 355, 55556, -1000,
+ 29726, 40058, 290, -1000, -22, 1867, -1000, -26, -16, 17918,
+ 873, -1000, -1000, -1000, 1742, 26036, 1836, 873, 66, -1000,
+ -1000, -1000, 1982, -1000, 1982, 1982, 1982, 1982, 340, 340,
+ 340, 340, -1000, -1000, -1000, -1000, -1000, 2009, 1982, 2008,
+ -1000, 1982, 1982, 1982, 1982, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- 2110, 2110, 2110, 2109, 2109, 2095, 2095, 439, -1000, 21554,
- 458, 39242, 2509, 1273, 1756, 245, 453, 2155, 53982, 53982,
- 53982, 453, -1000, 1456, 1399, 1396, -1000, -525, 1965, -1000,
- -1000, 2582, -1000, -1000, 902, 1049, 1048, 959, 53982, 221,
- 301, -1000, 456, -1000, 39242, 53982, 1022, 861, 53982, -1000,
- 53982, -1000, -1000, -1000, -1000, -1000, 53982, -1000, -1000, 1963,
- -1000, 1994, 1127, 1040, 1085, 1019, 1963, -1000, -1000, -182,
- 1963, -1000, 1963, -1000, 1963, -1000, 1963, -1000, 1963, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1030, 279,
- -378, 53982, 221, 476, -1000, 475, 33346, -1000, -1000, -1000,
- 33346, 33346, -1000, -1000, -1000, -1000, 1829, 1818, -1000, -1000,
+ -1000, -1000, 2003, 2003, 2003, 2002, 2002, 1983, 1983, 448,
+ -1000, 21608, 426, 39320, 2381, 1277, 2617, 267, 464, 2053,
+ 54080, 54080, 54080, 464, -1000, 1359, 1356, 1351, -1000, -531,
+ 1872, -1000, -1000, 2501, -1000, -1000, 1156, 1082, 1080, 916,
+ 54080, 231, 351, -1000, 435, -1000, 39320, 54080, 1058, 879,
+ 54080, -1000, 54080, -1000, -1000, -1000, -1000, -1000, 54080, -1000,
+ -1000, 1871, -1000, 1900, 1122, 1077, 1086, 1051, 1871, -1000,
+ -1000, -228, 1871, -1000, 1871, -1000, 1871, -1000, 1871, -1000,
+ 1871, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
+ 1002, 119, -365, 54080, 231, 473, -1000, 472, 33416, -1000,
+ -1000, -1000, 33416, 33416, -1000, -1000, -1000, -1000, 1602, 1600,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, -518, 55456, -1000,
- 238, 951, 291, 290, 288, 55456, 416, 2429, 2428, 2416,
- 2413, 2412, 2409, 269, 302, 55456, 55456, 451, 2216, 55456,
- 2502, 55456, -1000, -1000, -1000, -1000, -1000, 1802, 1797, -1000,
- 1338, 55456, -1000, -1000, 1118, 1118, -1000, -1000, 55456, 1118,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1118, -1000,
+ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -520,
+ 55556, -1000, 251, 956, 344, 357, 303, 55556, 372, 2337,
+ 2333, 2330, 2325, 2321, 2314, 2313, 271, 336, 55556, 55556,
+ 463, 2096, 55556, 2407, 55556, -1000, -1000, -1000, -1000, -1000,
+ 1598, 1595, -1000, 1168, 55556, -1000, -1000, 1100, 1100, -1000,
+ -1000, 55556, 1100, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
+ -1000, 1100, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
+ -1000, -1000, -1000, -1000, -1000, -1000, -1000, 55556, -1000, -1000,
+ -1000, -1000, 1588, -1000, -72, 154, -1000, -1000, 54080, -1000,
+ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -120, -1000,
+ 305, -30, 406, -1000, -1000, -1000, -1000, -1000, 2447, -1000,
+ 1168, 1026, 993, -1000, 1914, -1000, -1000, 1213, -1000, -1000,
+ -1000, -1000, -1000, 1914, 1914, 1914, -1000, -1000, -1000, -1000,
+ -1000, 223, 23822, 23822, 23822, 1429, 819, 1413, 1578, 1604,
+ 923, 923, 930, 23822, 930, 23822, 881, 881, 881, 881,
+ 881, -1000, -1000, -1000, -1000, -1000, -1000, 1584, -1000, 1562,
+ -1000, 1914, 54818, 1760, 16436, 1382, 2139, 1380, 902, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, 55456, -1000, -1000, -1000, -1000, 1792,
- -1000, -30, 166, -1000, -1000, 53982, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, -117, -1000, 313, 9, 396,
- -1000, -1000, -1000, -1000, -1000, 2533, -1000, 1338, 998, 994,
- -1000, 1785, -1000, -1000, 1312, -1000, -1000, -1000, -1000, -1000,
- 1785, 1785, 1785, -1000, -1000, -1000, -1000, -1000, 261, 23765,
- 23765, 23765, 1323, 817, 1334, 1354, 1381, 1246, 1246, 1184,
- 23765, 1184, 23765, 908, 908, 908, 908, 908, -1000, -1000,
- -1000, -1000, -1000, -1000, 1784, -1000, 1757, -1000, 1785, 54719,
- 1822, 16389, 2236, 1487, 1447, 917, -1000, -1000, -1000, -1000,
+ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4309,
+ 1380, 1839, 1380, 1196, 4305, 996, -1000, 21608, 1380, 4301,
+ -1000, -1000, 1380, 1380, 21608, -1000, -1000, 21608, 21608, 21608,
+ 21608, 2617, 2617, 2617, 2617, 2617, 2617, 2617, 2617, 2617,
+ 2617, 21608, 2617, 1870, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, 4246, 1447, 1910, 1447,
- 2448, 4242, 986, -1000, 21554, 1447, 4238, -1000, -1000, 1447,
- 1447, 21554, -1000, -1000, 21554, 21554, 21554, 21554, 1756, 1756,
- 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 21554, 1756,
- 1959, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1957,
- 2622, 1760, 1756, 1756, 1756, 1756, 4229, 1756, 1756, 21554,
- 1620, -1000, -1000, -1000, 1517, 4220, 1288, 4216, 1756, 1756,
- -1000, 1756, 4212, 4119, 1447, 2939, 2934, 1756, 1756, 1756,
- 1756, 1756, 2887, 2868, 1756, 1756, 2859, 1756, 3953, 1756,
- 2844, 2769, 2723, 2679, 2675, 2635, 2629, 2553, 2549, 2534,
- 2530, 2526, 2515, 2510, 2501, 2440, 2414, 2393, 1756, 1756,
- 1756, 3927, 1756, 3901, 1756, 3892, 1756, 1756, 3887, 2346,
- 2342, 1447, 1952, -1000, 3582, 1756, 3570, 3559, 3545, 2313,
- 3519, 3510, 3492, 1756, 1756, 1756, 2304, 3479, 3475, 3455,
- 3449, 3443, 3435, 3413, 3406, 3402, 1756, 1483, 1483, 1483,
- 1483, 1483, 3388, -265, 1756, 1447, -1000, -1000, -1000, -1000,
- -1000, 3381, 2281, 3375, 3365, 3356, 3339, 1447, 1785, 819,
- -1000, -1000, 1483, 1447, 1447, 1483, 1483, 3261, 3257, 3093,
- 3048, 3029, 3002, 1756, 1756, -1000, 1756, 2996, 2991, 2269,
- 2219, 1447, -1000, 1483, 55456, -1000, -451, -1000, -9, 1017,
- 1785, -1000, 37768, 1447, -1000, 4416, -1000, 1347, -1000, -1000,
- -1000, -1000, -1000, 34820, 1958, -1000, -1000, -1000, -1000, 1785,
- 1771, -1000, -1000, -1000, -1000, 332, 62, 34083, 878, 878,
- 121, 1338, 1338, 21554, -1000, -1000, -1000, -1000, -1000, -1000,
- 818, 2600, 373, 1785, -1000, 1983, 2836, -1000, -1000, -1000,
- 2524, 27450, -1000, -1000, 1785, 1785, 55456, 1974, 1865, -1000,
- 816, -1000, 1377, 1947, 20, -1, -1000, -1000, -1000, -1000,
- 1338, -1000, 1388, 340, 354, -1000, 462, -1000, -1000, -1000,
- -1000, 2350, 71, -1000, -1000, -1000, 366, 332, -1000, -1000,
- -1000, -1000, -1000, -1000, 1752, 1752, -1000, -1000, -1000, -1000,
- -1000, 1259, -1000, -1000, -1000, -1000, 1258, -1000, -1000, 1257,
- -1000, -1000, 1953, 2191, 458, -1000, -1000, 946, 1739, -1000,
- -1000, 2375, 946, 946, 53982, -1000, -1000, 1703, 2509, 238,
- 55456, 985, 2206, -1000, 2155, 2155, 2155, 55456, -1000, -1000,
- -1000, -1000, -1000, -1000, -526, 163, 598, -1000, -1000, -1000,
- 5032, 53982, 1768, -1000, 222, -1000, 1661, -1000, 53982, -1000,
- 1766, 2108, 53982, 53982, -1000, -1000, -1000, 53982, 1785, -1000,
- -1000, -1000, -1000, 506, 2461, 345, -1000, -1000, -289, -1000,
- -1000, 221, 222, 54719, 53982, 896, -1000, -1000, -1000, -1000,
- -1000, -517, 1764, 498, 227, 567, 55456, 55456, 55456, 55456,
- 55456, 55456, 790, -1000, -1000, 29, -1000, -1000, 201, -1000,
- -1000, -1000, -1000, -1000, 201, -1000, -1000, -1000, -1000, -1000,
- 286, 472, -1000, 55456, 55456, 945, -1000, -1000, -1000, -1000,
- -1000, 1095, -1000, -1000, 1095, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, 2455, 55456, 3, -484,
- -1000, -479, 21554, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- 1238, 442, 1334, 23765, 23765, 2298, 2298, 23765, -1000, -1000,
- -1000, 984, 984, 33346, -1000, 23765, 21554, -1000, -1000, 21554,
- 21554, 21554, 970, -1000, 21554, 1146, -1000, 21554, -1000, -265,
- 1483, 1756, 1756, 1756, 1756, -265, -265, -265, -265, -265,
- -265, -265, -265, -265, -265, 2005, -1000, 21554, 21554, 21554,
- 1447, 341, -1000, -1000, -1000, -265, 21554, -1000, -1000, 2614,
- -1000, 21554, -1000, 33346, 21554, 21554, 21554, -1000, -1000, -1000,
- 21554, 21554, -1000, -1000, 21554, -1000, 21554, -1000, -1000, -1000,
- -1000, -1000, -1000, 21554, -1000, 21554, -1000, -1000, -1000, 21554,
- -1000, 21554, -1000, -1000, 21554, -1000, 21554, -1000, 21554, -1000,
- 21554, -1000, 21554, -1000, 21554, -1000, 21554, -1000, 21554, -1000,
- 21554, -1000, 21554, -1000, 21554, -1000, 21554, -1000, 21554, -1000,
- 21554, -1000, 21554, -1000, 21554, -1000, 21554, -1000, 21554, -1000,
- -1000, -1000, 21554, -1000, 21554, -1000, 21554, -1000, -1000, 21554,
- -1000, 21554, -1000, 21554, -1000, 21554, 21554, -1000, 21554, 21554,
- 21554, -1000, 21554, 21554, 21554, 21554, -1000, -1000, -1000, -1000,
- 21554, 21554, 21554, 21554, 21554, 21554, 21554, 21554, 21554, 21554,
- -1000, -1000, -1000, -1000, -1000, -1000, 21554, -1000, 39242, 2,
- -265, 1492, 2, 1492, 23028, 815, 808, 22291, -1000, 21554,
- 15646, -1000, -1000, -1000, -1000, -1000, 21554, 21554, 21554, 21554,
- 21554, 21554, -1000, -1000, -1000, 21554, 21554, -1000, 21554, -1000,
- 21554, -1000, -1000, -1000, -1000, -1000, 1017, -1000, 814, 454,
- 861, 53982, -1000, -1000, -1000, -1000, 1946, -1000, 2538, -1000,
- 2318, 2316, 2610, 2600, 20817, -1000, 29661, -1000, -1000, 53982,
- -439, -1000, 2337, 2387, 878, 878, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, 12674, 2539, 21554, 2194, 54719, 246, -1000,
- 28924, 53982, 54719, 29661, 29661, 29661, 29661, 29661, -1000, 2232,
- 2231, -1000, 2278, 2256, 2282, 55456, -1000, 1597, 1762, -1000,
- 21554, 31872, 1919, 29661, -1000, -1000, 29661, 55456, 11931, -1000,
- -1000, -5, -14, -1000, -1000, -1000, -1000, 1445, -1000, -1000,
- 1659, 2523, 2361, -1000, -1000, -1000, -1000, -1000, 1749, -1000,
- 1731, 1943, 1726, 1724, 279, -1000, 2138, 2438, 946, 946,
- -1000, 1253, -1000, 1364, 1704, 1678, -1000, -1000, -1000, 493,
- -1000, 2494, 55456, 2183, 2182, 2181, -1000, -541, 1251, 2105,
- 2065, 21554, 2100, 2581, 1938, 53982, -1000, -1000, 54719, -1000,
- 259, -1000, 458, 53982, -1000, -1000, -1000, 301, 55456, -1000,
- 9145, -1000, -1000, -1000, 222, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, 55456, 235, -1000, 2099, 1356, -1000, -1000, 2145,
- -1000, -1000, -1000, -1000, -1000, 195, 171, 1675, 194, 1673,
- 194, -1000, 55456, 918, 2191, 55456, -1000, -1000, -1000, 1118,
- 1118, -1000, -1000, 2437, -1000, 1364, 1756, 23765, 23765, -1000,
- 904, -1000, -1000, 440, -244, 2094, 2094, -1000, 2094, 2095,
- -1000, 2094, 152, 2094, 147, 2094, -1000, -1000, 1447, 1447,
- -1000, 1483, 2215, 1205, 2976, -1000, 1338, 21554, 2925, -1000,
- -1000, -265, -265, -265, -265, -265, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, -72, 2916, 2424, 1756,
- -1000, 2093, 2092, -1000, 1756, 21554, 1756, 1447, 2197, 1756,
- 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756,
- 1756, 2193, 2187, 2180, 2150, 2120, 2102, 2060, 2054, 1992,
- 1987, 1980, 1976, 1971, 1966, 1960, 1948, 1756, 1756, 1944,
- 1756, 1870, 1862, -1000, 1338, 1483, 2309, 1483, 1756, 1756,
- 2259, 342, 1756, 1721, 1721, 1721, 1721, 1721, 1483, 1483,
- 1483, 1483, 1756, 53982, -1000, -265, -1000, -1000, -376, -380,
- -1000, 1447, -265, 1941, 23765, 1756, 23765, 23765, 23765, 1756,
- 1447, -1000, 1751, 1747, 2031, 1702, 1756, 1808, 1756, 1756,
- 1756, 1687, -1000, 2532, 1785, 2532, 1785, 2532, 1714, 1347,
- 55456, -1000, -1000, -1000, -1000, 2600, 2565, -1000, 1940, -1000,
- 62, 649, -1000, 2369, 2387, -1000, 2573, 2330, 2570, -1000,
- -1000, -1000, -1000, -1000, 1338, -1000, 2473, 1923, -1000, 948,
- 1904, -1000, -1000, 20080, 1717, 2312, 813, 1714, 2001, 2836,
- 2167, 2177, 2661, -1000, -1000, -1000, -1000, 2203, -1000, 2190,
- -1000, -1000, 2053, -1000, 1801, 326, 29661, 1906, 1906, -1000,
- 812, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1099, 9145,
- 2641, -1000, 1672, -1000, 1383, 231, 1244, -1000, -1000, 946,
- 946, -1000, 1021, 1014, -1000, 55456, 2087, -1000, 332, 1665,
- 332, 1242, -1000, -1000, 1239, -1000, -1000, -1000, -1000, 2083,
- 2208, -1000, -1000, -1000, -1000, 55456, -1000, -1000, 55456, 55456,
- 55456, 2082, 2568, -1000, 21554, 2066, 947, 1834, 53982, 53982,
+ -1000, -1000, 1869, 2530, 1293, 2617, 2617, 2617, 2617, 4293,
+ 2617, 2617, 21608, 1306, -1000, -1000, -1000, 1379, 4288, 1366,
+ 4284, 2617, 2617, -1000, 2617, 4280, 4276, 1380, 3273, 3265,
+ 2617, 2617, 2617, 2617, 2617, 3037, 3011, 2617, 2617, 2975,
+ 2617, 4266, 2617, 2963, 2951, 2876, 2849, 2807, 2773, 2763,
+ 2727, 2723, 2703, 2642, 2609, 2603, 2558, 2539, 2495, 2479,
+ 2450, 2617, 2617, 2617, 4257, 2617, 4248, 2617, 4244, 2617,
+ 2617, 4239, 2435, 2406, 1380, 1868, -1000, 4233, 2617, 4227,
+ 4223, 4216, 2399, 4203, 3957, 3948, 2617, 2617, 2617, 2385,
+ 3938, 3930, 3925, 3907, 3896, 3888, 3573, 3566, 3555, 2617,
+ 1458, 1458, 1458, 1458, 1458, 3551, -323, 2617, 1380, -1000,
+ -1000, -1000, -1000, -1000, 3540, 2361, 3513, 3480, 3470, 3456,
+ 1380, 1914, 808, -1000, -1000, 1458, 1380, 1380, 1458, 1458,
+ 3447, 3442, 3417, 3387, 3381, 3377, 2617, 2617, -1000, 2617,
+ 3370, 3360, 2354, 2336, 1380, -1000, 1458, 55556, -1000, -452,
+ -1000, -43, 937, 1914, -1000, 37844, 1380, -1000, 7664, -1000,
+ 1269, -1000, -1000, -1000, -1000, -1000, 34892, 1656, -1000, -1000,
+ -1000, -1000, 1914, 1753, -1000, -1000, -1000, -1000, 340, 52,
+ 34154, 867, 867, 85, 1168, 1168, 21608, -1000, -1000, -1000,
+ -1000, -1000, -1000, 807, 2515, 331, 1914, -1000, 1877, 2665,
+ -1000, -1000, -1000, 2431, 27512, -1000, -1000, 1914, 1914, 55556,
+ 1798, 1779, -1000, 806, -1000, 1340, 1867, -22, -32, -1000,
+ -1000, -1000, -1000, 1168, -1000, 1346, 356, 1492, -1000, 434,
+ -1000, -1000, -1000, -1000, 2270, 42, -1000, -1000, -1000, 371,
+ 340, -1000, -1000, -1000, -1000, -1000, -1000, 1554, -1000, 1554,
+ -1000, -1000, -1000, -1000, -1000, 1276, -1000, -1000, -1000, -1000,
+ 1262, -1000, -1000, 1250, -1000, -1000, 3344, 2086, 426, -1000,
+ -1000, 933, 1547, -1000, -1000, 2289, 933, 933, 54080, -1000,
+ -1000, 1785, 2381, 251, 55556, 944, 2094, -1000, 2053, 2053,
+ 2053, 55556, -1000, -1000, -1000, -1000, -1000, -1000, -533, 165,
+ 335, -1000, -1000, -1000, 5507, 54080, 1751, -1000, 234, -1000,
+ 1782, -1000, 54080, -1000, 1749, 1995, 54080, 54080, -1000, -1000,
+ -1000, 54080, 1914, -1000, -1000, -1000, -1000, 502, 2371, 338,
+ -1000, -1000, -344, -1000, -1000, 231, 234, 54818, 54080, 873,
+ -1000, -1000, -1000, -1000, -1000, -523, 1734, 489, 242, 297,
+ 55556, 55556, 55556, 55556, 55556, 55556, 789, -1000, -1000, -8,
+ -1000, -1000, 201, -1000, -1000, -1000, -1000, -1000, -1000, 201,
+ -1000, -1000, -1000, -1000, -1000, 294, 471, -1000, 55556, 55556,
+ 935, -1000, -1000, -1000, -1000, -1000, 1070, -1000, -1000, 1070,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, 438, 946, -497, 298, 292, 946, 946, 946, -542,
- -1000, -1000, 1660, 1657, -1000, -189, -1000, 21554, -1000, -1000,
- -1000, -1000, -1000, 1203, 1203, 1654, 1649, 1647, -1000, 2053,
- -1000, -1000, -1000, 1653, -1000, -1000, -187, 53982, 53982, 53982,
- 53982, -1000, -1000, -1000, 1209, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, 904, 1447, 372,
- -196, 1447, -1000, -1000, 332, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, 21554, -1000, 21554, -1000, 21554,
- 1338, 21554, -1000, -1000, -1000, -1000, -1000, 2539, 1645, 21554,
- 21554, -1000, 1228, 1224, -265, 1756, -1000, -1000, -1000, 21554,
+ -1000, 2351, 55556, -34, -491, -1000, -488, 21608, -1000, -1000,
+ -1000, -1000, -1000, -1000, -1000, 1328, 805, 1413, 23822, 23822,
+ 2215, 2215, 23822, -1000, -1000, -1000, 985, 985, 33416, -1000,
+ 23822, 21608, -1000, -1000, 21608, 21608, 21608, 982, -1000, 21608,
+ 1273, -1000, 21608, -1000, -323, 1458, 2617, 2617, 2617, 2617,
+ -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
+ 1854, -1000, 21608, 21608, 21608, 1380, 304, -1000, -1000, -1000,
+ -323, 21608, -1000, -1000, 2526, -1000, 21608, -1000, 33416, 21608,
+ 21608, 21608, -1000, -1000, -1000, 21608, 21608, -1000, -1000, 21608,
+ -1000, 21608, -1000, -1000, -1000, -1000, -1000, -1000, 21608, -1000,
+ 21608, -1000, -1000, -1000, 21608, -1000, 21608, -1000, -1000, 21608,
+ -1000, 21608, -1000, 21608, -1000, 21608, -1000, 21608, -1000, 21608,
+ -1000, 21608, -1000, 21608, -1000, 21608, -1000, 21608, -1000, 21608,
+ -1000, 21608, -1000, 21608, -1000, 21608, -1000, 21608, -1000, 21608,
+ -1000, 21608, -1000, 21608, -1000, -1000, -1000, 21608, -1000, 21608,
+ -1000, 21608, -1000, -1000, 21608, -1000, 21608, -1000, 21608, -1000,
+ 21608, 21608, -1000, 21608, 21608, 21608, -1000, 21608, 21608, 21608,
+ 21608, -1000, -1000, -1000, -1000, 21608, 21608, 21608, 21608, 21608,
+ 21608, 21608, 21608, 21608, 21608, -1000, -1000, -1000, -1000, -1000,
+ -1000, 21608, -1000, 39320, 1, -323, 1338, 1, 1338, 23084,
+ 823, 816, 22346, -1000, 21608, 15692, -1000, -1000, -1000, -1000,
+ -1000, 21608, 21608, 21608, 21608, 21608, 21608, -1000, -1000, -1000,
+ 21608, 21608, -1000, 21608, -1000, 21608, -1000, -1000, -1000, -1000,
+ -1000, 937, -1000, 834, 831, 879, 54080, -1000, -1000, -1000,
+ -1000, 1862, -1000, 2454, -1000, 2213, 2211, 2524, 2515, 20870,
+ -1000, 29726, -1000, -1000, 54080, -443, -1000, 2231, 2277, 867,
+ 867, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 12716, 2451,
+ 21608, 2093, 54818, 238, -1000, 28988, 54080, 54818, 29726, 29726,
+ 29726, 29726, 29726, -1000, 2127, 2115, -1000, 2163, 2117, 2192,
+ 55556, -1000, 1633, 1729, -1000, 21608, 31940, 1802, 29726, -1000,
+ -1000, 29726, 55556, 11972, -1000, -1000, -37, -49, -1000, -1000,
+ -1000, -1000, 1742, -1000, -1000, 1017, 2428, 2266, -1000, -1000,
+ -1000, -1000, -1000, 1727, -1000, 1718, 1861, 1716, 1699, 119,
+ -1000, 2031, 2350, 933, 933, -1000, 1249, -1000, 1337, 1545,
+ 1536, -1000, -1000, -1000, 486, -1000, 2400, 55556, 2088, 2081,
+ 2079, -1000, -541, 1244, 1992, 2030, 21608, 1991, 2497, 1852,
+ 54080, -1000, -1000, 54818, -1000, 260, -1000, 426, 54080, -1000,
+ -1000, -1000, 351, 55556, -1000, 7359, -1000, -1000, -1000, 234,
+ -1000, -1000, -1000, -1000, -1000, -1000, -1000, 55556, 247, -1000,
+ 1989, 1297, -1000, -1000, 2013, -1000, -1000, -1000, -1000, -1000,
+ 159, 153, 1531, 199, 1521, 199, -1000, 55556, 921, 2086,
+ 55556, -1000, -1000, -1000, 1100, 1100, -1000, -1000, 2346, -1000,
+ 1337, 2617, 23822, 23822, -1000, 874, -1000, -1000, 415, -275,
+ 1982, 1982, -1000, 1982, 1983, -1000, 1982, 151, 1982, 121,
+ 1982, -1000, -1000, 1380, 1380, -1000, 1458, 2288, 2020, 3339,
+ -1000, 1168, 21608, 3261, -1000, -1000, -323, -323, -323, -323,
+ -323, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
+ -1000, -109, 3097, 3052, 2617, -1000, 1977, 1975, -1000, 2617,
+ 21608, 2617, 1380, 2283, 2617, 2617, 2617, 2617, 2617, 2617,
+ 2617, 2617, 2617, 2617, 2617, 2617, 2218, 2189, 2181, 2165,
+ 2148, 2111, 2104, 2098, 2044, 2032, 2028, 2016, 2004, 1996,
+ 1979, 1919, 2617, 2617, 1889, 2617, 1879, 1859, -1000, 1168,
+ 1458, 2814, 1458, 2617, 2617, 2660, 287, 2617, 1675, 1675,
+ 1675, 1675, 1675, 1458, 1458, 1458, 1458, 2617, 54080, -1000,
+ -323, -1000, -1000, -370, -377, -1000, 1380, -323, 1858, 23822,
+ 2617, 23822, 23822, 23822, 2617, 1380, -1000, 1807, 1789, 2513,
+ 1765, 2617, 2271, 2617, 2617, 2617, 1747, -1000, 2387, 1914,
+ 2387, 1914, 2387, 1646, 1269, 55556, -1000, -1000, -1000, -1000,
+ 2515, 2521, -1000, 1853, -1000, 52, 402, -1000, 2257, 2277,
+ -1000, 2496, 2226, 2484, -1000, -1000, -1000, -1000, -1000, 1168,
+ -1000, 2376, 1826, -1000, 954, 1804, -1000, -1000, 20132, 1671,
+ 2201, 804, 1646, 1855, 2665, 2051, 2078, 2488, -1000, -1000,
+ -1000, -1000, 2114, -1000, 2113, -1000, -1000, 1940, -1000, 2143,
+ 355, 29726, 1832, 1832, -1000, 797, -1000, -1000, -1000, -1000,
+ -1000, -1000, -1000, 1096, 7359, 2572, -1000, 1519, -1000, 1332,
+ 192, 1236, -1000, -1000, 933, 933, -1000, 1052, 1044, -1000,
+ 55556, 1947, -1000, 340, 1503, 340, 1234, -1000, -1000, 1229,
+ -1000, -1000, -1000, -1000, 1926, 2057, -1000, -1000, -1000, -1000,
+ 55556, -1000, -1000, 55556, 55556, 55556, 1945, 2481, -1000, 21608,
+ 1944, 934, 3017, 54080, 54080, -1000, -1000, -1000, -1000, -1000,
+ -1000, -1000, -1000, -1000, -1000, -1000, 456, 933, -503, 324,
+ 318, 933, 933, 933, -544, -1000, -1000, 1628, 1616, -1000,
+ -248, -1000, 21608, -1000, -1000, -1000, -1000, -1000, 1272, 1272,
+ 1491, 1489, 1487, -1000, 1940, -1000, -1000, -1000, 1763, -1000,
+ -1000, -237, 54080, 54080, 54080, 54080, -1000, -1000, -1000, 1223,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, 21554, -1000, 21554, -1000, 21554, -1000, 21554,
- -1000, 21554, -1000, 21554, -1000, 21554, -1000, 21554, -1000, 21554,
- -1000, 21554, -1000, 21554, -1000, 21554, -1000, 21554, -1000, 21554,
- -1000, 21554, -1000, 21554, -1000, -1000, 21554, -1000, -1000, -1000,
- 21554, -1000, 21554, -1000, 21554, -1000, -1000, -1000, 21554, 299,
- 984, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, 1447, 323, -1000, -1000, -1000, 2606, -1000, 1447,
- 21554, 2298, -1000, 2298, 2298, 2298, -1000, -1000, -1000, 21554,
- -1000, 21554, 21554, -1000, 21554, -1000, 21554, -1000, -1000, -1000,
- -1000, 21554, 1785, 2397, 38505, 1785, 38505, 1785, 31872, -1000,
- -1000, 2565, 2593, 2567, 2317, 2325, 2325, 2369, -1000, 2564,
- 2551, -1000, 1610, 2548, 1594, 1006, -1000, 54719, 21554, -1000,
- 246, 37768, -1000, 403, 53982, 246, 53982, -1000, 2550, -1000,
- -1000, 21554, 2064, -1000, 21554, -1000, -1000, -1000, -1000, 5123,
- 2600, 1906, -1000, -1000, 914, -1000, 21554, -1000, 5031, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1586, 1522, -1000,
- -1000, 2058, 21554, -1000, -1000, -1000, 1644, 1625, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, 2053, -1000, -1000, -1000,
- -1000, 301, -535, 1827, 53982, 1210, -1000, 1643, 1938, 315,
- 246, 1520, 946, 946, 946, 1183, 1147, 37768, 1629, -1000,
- 53982, 427, -1000, 301, -1000, -222, -223, 1756, -1000, -1000,
- 2518, -1000, -1000, 15646, -1000, -1000, 2050, 2147, -1000, -1000,
- -1000, -1000, 2262, -179, -207, -1000, -1000, 1756, 1756, 1756,
- 1627, 1447, -1000, 1756, 1756, 1614, 1581, -1000, -1000, 1756,
- 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756,
- 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1483,
- 1681, -1000, 299, 1447, 2175, -1000, -1000, 5123, -1000, -1000,
- 2550, 2547, 2, -1000, -1000, 220, 2, 1338, 1002, 1447,
- 1447, 1002, 1652, 1756, 1641, 1613, 1756, 1756, 32609, -1000,
- 2544, 2537, 1590, -1000, -1000, 38505, 1590, 38505, 1017, 2593,
- -276, 21554, 21554, 2322, 1206, -1000, -1000, -1000, -1000, 1514,
- 1498, -1000, 1459, -1000, 2636, -1000, 1338, -1000, 1785, 246,
- -1000, 805, 1904, -1000, 2539, 1338, 53982, 1338, 65, 2550,
- -1000, 1756, -1000, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
- 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
- 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
- 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
- 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
- 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
- 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
- 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
- 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
- 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
- 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
- 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
- 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
- 1785, 1785, 1785, 1785, -1000, -1000, 53982, 1790, -1000, -1000,
- 2514, 1622, 161, -1000, 1484, 1938, -1000, -1000, 215, -1000,
- 21554, -1000, 37768, 1391, 1384, -1000, -1000, -1000, -1000, -542,
- -1000, -1000, -1000, -1000, -1000, -1000, 418, 1936, -1000, 943,
- 53982, 55456, -1000, 2246, -1000, -1000, -1000, -1000, 21554, -1000,
+ -1000, -1000, 874, 1380, 332, -240, 1380, -1000, -1000, 340,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
+ 21608, -1000, 21608, -1000, 21608, 1168, 21608, -1000, -1000, -1000,
+ -1000, -1000, 2451, 1480, 21608, 21608, -1000, 1222, 1211, -323,
+ 2617, -1000, -1000, -1000, 21608, -1000, -1000, -1000, -1000, -1000,
+ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 21608, -1000,
+ 21608, -1000, 21608, -1000, 21608, -1000, 21608, -1000, 21608, -1000,
+ 21608, -1000, 21608, -1000, 21608, -1000, 21608, -1000, 21608, -1000,
+ 21608, -1000, 21608, -1000, 21608, -1000, 21608, -1000, 21608, -1000,
+ -1000, 21608, -1000, -1000, -1000, 21608, -1000, 21608, -1000, 21608,
+ -1000, -1000, -1000, 21608, 227, 985, -1000, -1000, -1000, -1000,
+ -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1380, 354, -1000,
+ -1000, -1000, 2518, -1000, 1380, 21608, 2215, -1000, 2215, 2215,
+ 2215, -1000, -1000, -1000, 21608, -1000, 21608, 21608, -1000, 21608,
+ -1000, 21608, -1000, -1000, -1000, -1000, 21608, 1914, 2229, 38582,
+ 1914, 38582, 1914, 31940, -1000, -1000, 2521, 2514, 2475, 2209,
+ 2221, 2221, 2257, -1000, 2474, 2471, -1000, 1477, 2470, 1474,
+ 1009, -1000, 54818, 21608, -1000, 238, 37844, -1000, 397, 54080,
+ 238, 54080, -1000, 2508, -1000, -1000, 21608, 1943, -1000, 21608,
+ -1000, -1000, -1000, -1000, 8224, 2515, 1832, -1000, -1000, 888,
+ -1000, 21608, -1000, 9940, -1000, -1000, -1000, -1000, -1000, -1000,
+ -1000, -1000, 1461, 1437, -1000, -1000, 1942, 21608, -1000, -1000,
+ -1000, 1713, 1624, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
+ -1000, 1940, -1000, -1000, -1000, -1000, 351, -535, 2922, 54080,
+ 1203, -1000, 1581, 1852, 343, 238, 1422, 933, 933, 933,
+ 1197, 1186, 37844, 1542, -1000, 54080, 375, -1000, 351, -1000,
+ -262, -265, 2617, -1000, -1000, 2420, -1000, -1000, 15692, -1000,
+ -1000, 1934, 2041, -1000, -1000, -1000, -1000, 2155, -225, -243,
+ -1000, -1000, 2617, 2617, 2617, 1817, 1380, -1000, 2617, 2617,
+ 1543, 1430, -1000, -1000, 2617, 2617, 2617, 2617, 2617, 2617,
+ 2617, 2617, 2617, 2617, 2617, 2617, 2617, 2617, 2617, 2617,
+ 2617, 2617, 2617, 2617, 1458, 1737, -1000, 227, 1380, 2076,
+ -1000, -1000, 8224, -1000, -1000, 2508, 2469, 1, -1000, -1000,
+ 230, 1, 1168, 977, 1380, 1380, 977, 1712, 2617, 1683,
+ 1652, 2617, 2617, 32678, -1000, 2466, 2462, 1526, -1000, -1000,
+ 38582, 1526, 38582, 937, 2514, -332, 21608, 21608, 2195, 1218,
+ -1000, -1000, -1000, -1000, 1419, 1418, -1000, 1406, -1000, 2561,
+ -1000, 1168, -1000, 1914, 238, -1000, 787, 1804, -1000, 2451,
+ 1168, 54080, 1168, 34, 2508, -1000, 2617, -1000, 1914, 1914,
+ 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
+ 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
+ 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
+ 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
+ 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
+ 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
+ 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
+ 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
+ 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
+ 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
+ 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
+ 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914,
+ 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, -1000,
+ -1000, 54080, 2890, -1000, -1000, 2416, 1540, 162, -1000, 1383,
+ 1852, -1000, -1000, 221, -1000, 21608, -1000, 37844, 1404, 1392,
+ -1000, -1000, -1000, -1000, -544, -1000, -1000, -1000, -1000, -1000,
+ -1000, 398, 1850, -1000, 929, 54080, 55556, -1000, 2135, -1000,
+ -1000, -1000, -1000, 21608, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, -1000, -1000, 21554, -1000, 1447, 2174,
- -1000, -370, -1000, -511, 21554, -265, -1000, -1000, -265, -1000,
- -1000, -1000, -1000, -1000, 21554, -1000, -1000, 21554, -1000, 21554,
- -1000, -1000, 1590, -1000, -1000, -1000, 37031, -1000, 1590, -1000,
- 1590, -1000, -276, -1000, 1927, -1000, 53982, 1338, 344, -1000,
- 1148, -1000, -1000, -1000, -1000, -1000, 54719, 53982, 1904, 53982,
- -1000, -1000, 1580, 1447, 1785, 2539, -1000, 1561, -1000, 418,
- -1000, 2048, 2065, -1000, -1000, -1000, 19343, -1000, -1000, -1000,
- -1000, -1000, 254, -185, 15646, 11188, 1555, -1000, -183, 1756,
- 1483, -1000, -472, -1000, -1000, -1000, -1000, 275, -1000, -1000,
- 1910, -1000, -1000, 1607, 1578, 1481, -1000, -1000, -1000, -1000,
- -1000, -1000, -276, -1000, -1000, 2513, -1000, -229, -1000, -1000,
- 1903, 1478, -1000, -1000, -1000, 31872, 53245, -1000, -174, 329,
- -185, 21554, 1793, 1447, -1000, -1000, -1000, -1000, -1000, -1000,
- -1000, -1000, -41, -1000, -1000, 801, -1000, -1000, -1000, 2145,
- -201, -1000, -1000, -1000, 295, -487, -303, -312, 23765, -1000,
- 21554, -1000, 21554, -1000, 21554, -1000, 53982, 1785, -1000, -1000,
- -1000, 1452, -1000, 4197, -397, 2173, -1000, -146, -1000, -1000,
- -1000, 1098, 1349, -1000, -1000, -1000, -1000, -1000, -1000, 1782,
- 53982, -1000, 437, -1000, -1000, 14903, -187, -211, 990, -1000,
- -1000, -1000, -1000, -1000, 2298, 1450, 1446, 1756, -1000, 53982,
- -1000, 53245, -387, 896, 5123, -1000, 2163, 2159, 2618, -1000,
- -1000, -1000, -1000, -1000, -1000, -545, 1426, 237, -1000, -1000,
- -1000, 295, -315, -1000, 21554, -1000, 21554, -1000, 1447, -1000,
- -1000, 2488, 65, -1000, 2631, -1000, 2619, 991, 991, -1000,
- 1132, -545, -1000, -1000, -1000, -1000, 1756, 1756, -1000, -398,
- -1000, -1000, -1000, -1000, -1000, 364, 1191, -1000, -1000, -1000,
- -1000, -1000, 5123, -1000, -1000, -1000, 281, 281, -1000, -1000,
+ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
+ -1000, 21608, -1000, 1380, 2075, -1000, -375, -1000, -512, 21608,
+ -323, -1000, -1000, -323, -1000, -1000, -1000, -1000, -1000, 21608,
+ -1000, -1000, 21608, -1000, 21608, -1000, -1000, 1526, -1000, -1000,
+ -1000, 37106, -1000, 1526, -1000, 1526, -1000, -332, -1000, 1846,
+ -1000, 54080, 1168, 403, -1000, 1144, -1000, -1000, -1000, -1000,
+ -1000, 54818, 54080, 1804, 54080, -1000, -1000, 1507, 1380, 1914,
+ 2451, -1000, 1467, -1000, 398, -1000, 1917, 2030, -1000, -1000,
+ -1000, 19394, -1000, -1000, -1000, -1000, -1000, 263, -230, 15692,
+ 11228, 1465, -1000, -229, 2617, 1458, -1000, -477, -1000, -1000,
+ -1000, -1000, 255, -1000, -1000, 1839, -1000, -1000, 1623, 1579,
+ 1552, -1000, -1000, -1000, -1000, -1000, -1000, -332, -1000, -1000,
+ 2413, -1000, -270, -1000, -1000, 1838, 1442, -1000, -1000, -1000,
+ 31940, 53342, -1000, -218, 295, -230, 21608, 1915, 1380, -1000,
+ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -56, -1000, -1000,
+ 542, -1000, -1000, -1000, 2013, -241, -1000, -1000, -1000, 272,
+ -495, -367, -371, 23822, -1000, 21608, -1000, 21608, -1000, 21608,
+ -1000, 54080, 1914, -1000, -1000, -1000, 1428, -1000, 4937, -387,
+ 2072, -1000, -150, -1000, -1000, -1000, 1093, 1368, -1000, -1000,
+ -1000, -1000, -1000, -1000, 2881, 54080, -1000, 441, -1000, -1000,
+ 14948, -237, -246, 991, -1000, -1000, -1000, -1000, -1000, 2215,
+ 1529, 1425, 2617, -1000, 54080, -1000, 53342, -391, 873, 8224,
+ -1000, 2070, 2064, 2565, -1000, -1000, -1000, -1000, -1000, -1000,
+ -548, 1377, 265, -1000, -1000, -1000, 272, -378, -1000, 21608,
+ -1000, 21608, -1000, 1380, -1000, -1000, 2398, 34, -1000, 2556,
+ -1000, 2551, 1024, 1024, -1000, 1171, -548, -1000, -1000, -1000,
+ -1000, 2617, 2617, -1000, -392, -1000, -1000, -1000, -1000, -1000,
+ 422, 1265, -1000, -1000, -1000, -1000, -1000, 8224, -1000, -1000,
+ -1000, 214, 214, -1000, -1000,
}
var yyPgo = [...]int{
- 0, 3243, 3240, 27, 5, 37, 36, 3236, 3235, 3234,
- 178, 3233, 3232, 3231, 3230, 3217, 3216, 2672, 2668, 2663,
- 3215, 3214, 3213, 3212, 3211, 3208, 3207, 3206, 3204, 52,
- 94, 101, 87, 212, 223, 3201, 188, 162, 204, 3198,
- 3193, 3192, 114, 185, 79, 82, 192, 3191, 3187, 69,
- 3186, 3185, 3182, 180, 177, 176, 1082, 3180, 174, 116,
- 47, 3179, 3178, 3173, 3172, 3171, 3169, 3168, 3166, 3158,
- 3153, 3152, 3149, 3147, 3142, 3141, 3140, 3139, 3138, 279,
- 3137, 3136, 15, 3134, 68, 3133, 3129, 3127, 3126, 3119,
- 7, 3116, 3112, 10, 42, 58, 3111, 3106, 49, 3105,
- 3104, 3103, 3102, 3101, 77, 3100, 12, 3099, 38, 3096,
- 3078, 127, 3075, 3074, 3073, 44, 3069, 3067, 3065, 11,
- 167, 3062, 3059, 139, 3058, 3057, 3051, 166, 215, 3047,
- 2318, 3040, 98, 3038, 3037, 3034, 163, 194, 3032, 123,
- 3029, 3028, 3027, 145, 3026, 3288, 3025, 3024, 65, 81,
- 169, 3018, 3016, 199, 73, 6, 3003, 20, 21, 3002,
- 3001, 72, 67, 2997, 106, 2994, 2990, 93, 100, 2978,
- 90, 84, 2976, 2967, 9, 8, 2966, 1, 4, 2,
- 119, 2963, 2960, 115, 2959, 2954, 2952, 97, 2951, 2947,
- 5314, 2945, 83, 132, 102, 63, 2944, 168, 125, 2942,
- 2937, 2936, 2935, 2934, 2932, 48, 2931, 2928, 2925, 137,
- 24, 117, 2922, 149, 363, 51, 146, 2919, 207, 78,
- 193, 172, 2909, 2906, 135, 134, 2905, 2903, 62, 165,
- 195, 2902, 111, 131, 121, 181, 95, 140, 2901, 2893,
- 56, 60, 2892, 2890, 2889, 2883, 164, 2882, 2880, 64,
- 2876, 54, 2873, 213, 2871, 339, 85, 2864, 179, 161,
- 2862, 66, 2860, 2859, 103, 91, 59, 33, 2858, 156,
- 159, 129, 190, 2856, 2855, 53, 2854, 2853, 2850, 196,
- 327, 2849, 2847, 378, 171, 142, 148, 80, 2846, 267,
- 2841, 2838, 2836, 17, 5130, 7036, 184, 26, 158, 2835,
- 2828, 1064, 41, 43, 28, 2826, 209, 2825, 210, 2823,
- 2822, 2821, 230, 220, 110, 157, 57, 2818, 2817, 2816,
- 2810, 40, 2809, 2808, 2807, 2806, 2803, 2802, 35, 34,
- 32, 71, 201, 61, 29, 96, 170, 153, 74, 2800,
- 2798, 2792, 124, 89, 2791, 155, 152, 128, 109, 2786,
- 173, 143, 118, 2785, 105, 31, 2782, 2779, 2778, 2777,
- 92, 2774, 2750, 2745, 2741, 151, 144, 126, 75, 2733,
- 76, 120, 150, 147, 50, 2729, 39, 2728, 2724, 30,
- 186, 25, 2713, 45, 108, 113, 2712, 6697, 2711, 14,
- 263, 160, 2710, 2709, 13, 16, 23, 2706, 2702, 2698,
- 2697, 133, 2696, 2695, 2694, 2693, 22, 46, 19, 18,
- 112, 136, 70, 2692, 2677, 141, 2676, 2674, 2673, 0,
- 1039, 130, 2651, 197,
+ 0, 3161, 3157, 29, 6, 37, 36, 3156, 3154, 3152,
+ 167, 3150, 3147, 3145, 3137, 3136, 3135, 2600, 2595, 2594,
+ 3132, 3131, 3128, 3121, 3120, 3119, 3116, 3111, 3104, 40,
+ 91, 200, 103, 193, 186, 3100, 171, 154, 187, 3099,
+ 3096, 3095, 113, 183, 75, 81, 184, 3084, 3083, 68,
+ 3082, 3081, 3079, 178, 177, 176, 1061, 3078, 175, 112,
+ 48, 3075, 3073, 3067, 3061, 3054, 3051, 3049, 3040, 3039,
+ 3038, 3037, 3034, 3032, 3029, 3027, 3026, 3025, 3022, 259,
+ 3020, 3017, 15, 3014, 66, 3013, 3012, 3010, 3009, 3008,
+ 8, 3007, 3005, 12, 39, 55, 3002, 2999, 41, 2998,
+ 2996, 2993, 2991, 2990, 78, 2975, 13, 2974, 38, 2971,
+ 2970, 120, 2963, 2960, 2958, 44, 2957, 2954, 2952, 10,
+ 161, 2951, 2950, 134, 2949, 2944, 2939, 160, 192, 2938,
+ 2206, 2937, 96, 2936, 2935, 2934, 159, 185, 2931, 116,
+ 2930, 2929, 2924, 144, 2923, 3292, 2921, 2920, 64, 67,
+ 168, 2919, 2916, 202, 80, 7, 2908, 21, 22, 2907,
+ 2905, 71, 61, 2896, 104, 2895, 2888, 95, 85, 2887,
+ 93, 90, 2883, 2874, 9, 5, 2872, 1, 4, 2,
+ 114, 2867, 2864, 108, 2863, 2861, 2856, 84, 2854, 2851,
+ 3901, 2850, 87, 126, 98, 62, 2848, 169, 165, 2840,
+ 2839, 2838, 2837, 2836, 2835, 47, 2833, 2831, 2830, 131,
+ 1482, 99, 2829, 150, 351, 49, 146, 2828, 214, 73,
+ 196, 162, 2827, 2826, 130, 129, 2825, 2822, 53, 166,
+ 194, 2821, 92, 125, 115, 189, 89, 127, 2816, 2813,
+ 58, 70, 2808, 2806, 2805, 2803, 164, 2802, 2793, 63,
+ 2792, 52, 2791, 163, 2789, 336, 79, 2788, 182, 155,
+ 2787, 59, 2786, 2785, 100, 101, 57, 34, 2781, 152,
+ 157, 121, 153, 2780, 2779, 50, 2776, 2775, 2774, 190,
+ 274, 2773, 2770, 319, 172, 137, 143, 76, 2768, 262,
+ 2766, 2765, 2760, 18, 5110, 7071, 181, 27, 158, 2759,
+ 2754, 1065, 42, 56, 26, 2753, 210, 2752, 188, 2749,
+ 2748, 2735, 195, 206, 106, 156, 54, 2734, 2733, 2730,
+ 2729, 69, 2728, 2726, 2715, 2711, 2709, 2708, 35, 33,
+ 32, 102, 225, 60, 30, 94, 148, 147, 65, 2704,
+ 2703, 2701, 118, 72, 2698, 151, 149, 119, 97, 2696,
+ 173, 138, 110, 2695, 296, 31, 2669, 2666, 2663, 2662,
+ 83, 2661, 2660, 2659, 2657, 145, 139, 117, 77, 2656,
+ 74, 124, 142, 140, 51, 2653, 46, 2652, 2651, 28,
+ 180, 16, 2648, 20, 105, 111, 2645, 6183, 2644, 11,
+ 260, 141, 2643, 2640, 14, 17, 24, 2639, 2632, 2630,
+ 2629, 128, 2627, 2626, 2619, 2617, 25, 45, 23, 19,
+ 109, 133, 82, 2616, 2614, 136, 2612, 2611, 2599, 0,
+ 1040, 123, 2593, 199,
}
-//line sql.y:8726
+//line sql.y:8739
type yySymType struct {
union any
empty struct{}
@@ -8519,88 +8532,88 @@ var yyR1 = [...]int{
322, 322, 323, 323, 323, 323, 323, 323, 323, 325,
325, 325, 325, 325, 326, 326, 326, 326, 326, 326,
326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
- 327, 327, 327, 327, 327, 327, 327, 327, 342, 342,
- 331, 331, 336, 336, 337, 337, 338, 338, 338, 339,
- 339, 339, 340, 340, 333, 333, 333, 333, 333, 333,
- 333, 333, 333, 335, 335, 334, 334, 334, 345, 370,
- 370, 369, 369, 367, 367, 367, 367, 367, 367, 367,
- 367, 354, 354, 364, 364, 364, 364, 364, 353, 353,
- 349, 349, 349, 350, 350, 351, 351, 348, 348, 352,
- 352, 366, 366, 365, 365, 346, 346, 347, 347, 372,
- 407, 407, 407, 407, 407, 408, 408, 373, 397, 399,
- 399, 399, 398, 398, 395, 396, 394, 394, 394, 394,
- 394, 84, 84, 84, 287, 287, 288, 288, 362, 362,
- 361, 361, 361, 363, 363, 360, 360, 360, 360, 360,
+ 326, 327, 327, 327, 327, 327, 327, 327, 327, 342,
+ 342, 331, 331, 336, 336, 337, 337, 338, 338, 338,
+ 339, 339, 339, 340, 340, 333, 333, 333, 333, 333,
+ 333, 333, 333, 333, 335, 335, 334, 334, 334, 345,
+ 370, 370, 369, 369, 367, 367, 367, 367, 367, 367,
+ 367, 367, 354, 354, 364, 364, 364, 364, 364, 353,
+ 353, 349, 349, 349, 350, 350, 351, 351, 348, 348,
+ 352, 352, 366, 366, 365, 365, 346, 346, 347, 347,
+ 372, 407, 407, 407, 407, 407, 408, 408, 373, 397,
+ 399, 399, 399, 398, 398, 395, 396, 394, 394, 394,
+ 394, 394, 84, 84, 84, 287, 287, 288, 288, 362,
+ 362, 361, 361, 361, 363, 363, 360, 360, 360, 360,
360, 360, 360, 360, 360, 360, 360, 360, 360, 360,
360, 360, 360, 360, 360, 360, 360, 360, 360, 360,
- 360, 360, 360, 360, 360, 360, 282, 282, 282, 393,
- 393, 393, 393, 393, 393, 392, 392, 392, 359, 359,
- 359, 359, 391, 391, 59, 59, 219, 219, 410, 410,
- 412, 412, 412, 47, 47, 47, 47, 47, 47, 46,
- 46, 46, 42, 42, 42, 42, 42, 42, 42, 42,
+ 360, 360, 360, 360, 360, 360, 360, 282, 282, 282,
+ 393, 393, 393, 393, 393, 393, 392, 392, 392, 359,
+ 359, 359, 359, 391, 391, 59, 59, 219, 219, 410,
+ 410, 412, 412, 412, 47, 47, 47, 47, 47, 47,
+ 46, 46, 46, 42, 42, 42, 42, 42, 42, 42,
42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
- 42, 42, 42, 48, 48, 43, 43, 43, 43, 43,
- 43, 43, 43, 43, 43, 23, 23, 23, 23, 23,
+ 42, 42, 42, 42, 48, 48, 43, 43, 43, 43,
+ 43, 43, 43, 43, 43, 43, 23, 23, 23, 23,
23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
- 23, 23, 23, 23, 23, 23, 23, 111, 111, 112,
- 112, 112, 112, 114, 114, 114, 375, 375, 60, 60,
- 3, 3, 173, 175, 176, 176, 174, 174, 174, 174,
- 174, 174, 62, 62, 61, 61, 178, 177, 179, 179,
- 179, 1, 1, 2, 2, 4, 4, 380, 380, 380,
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 111,
+ 111, 112, 112, 112, 112, 114, 114, 114, 375, 375,
+ 60, 60, 3, 3, 173, 175, 176, 176, 174, 174,
+ 174, 174, 174, 174, 62, 62, 61, 61, 178, 177,
+ 179, 179, 179, 1, 1, 2, 2, 4, 4, 380,
+ 380, 380, 380, 380, 380, 380, 380, 380, 380, 380,
380, 380, 380, 380, 380, 380, 380, 380, 380, 380,
- 380, 380, 380, 380, 380, 380, 380, 380, 380, 341,
- 341, 341, 374, 374, 376, 113, 113, 113, 113, 113,
- 113, 113, 113, 113, 113, 117, 116, 116, 115, 118,
- 118, 118, 118, 118, 118, 118, 118, 378, 378, 378,
- 63, 63, 379, 328, 329, 330, 5, 6, 355, 377,
- 125, 125, 24, 39, 39, 25, 25, 25, 25, 26,
- 26, 64, 67, 67, 65, 65, 65, 65, 65, 65,
+ 380, 341, 341, 341, 374, 374, 376, 113, 113, 113,
+ 113, 113, 113, 113, 113, 113, 113, 117, 116, 116,
+ 115, 118, 118, 118, 118, 118, 118, 118, 118, 378,
+ 378, 378, 63, 63, 379, 328, 329, 330, 5, 6,
+ 355, 377, 125, 125, 24, 39, 39, 25, 25, 25,
+ 25, 26, 26, 64, 67, 67, 65, 65, 65, 65,
65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
- 65, 65, 65, 65, 65, 65, 65, 65, 292, 292,
- 281, 281, 290, 290, 280, 280, 306, 306, 306, 283,
- 283, 283, 284, 284, 403, 403, 403, 277, 277, 66,
- 66, 66, 307, 307, 307, 307, 69, 69, 413, 413,
- 414, 414, 415, 415, 415, 70, 71, 71, 310, 310,
- 311, 311, 72, 73, 85, 85, 85, 85, 85, 86,
- 86, 86, 86, 110, 110, 110, 10, 10, 10, 10,
- 81, 81, 81, 9, 9, 11, 68, 68, 75, 400,
- 400, 401, 402, 402, 402, 402, 76, 78, 27, 27,
- 27, 27, 27, 27, 135, 135, 123, 123, 123, 123,
- 123, 123, 123, 123, 123, 123, 123, 123, 130, 130,
- 130, 124, 124, 422, 79, 80, 80, 128, 128, 128,
- 121, 121, 121, 127, 127, 127, 12, 12, 13, 263,
- 263, 14, 14, 134, 134, 133, 133, 136, 136, 136,
- 136, 136, 136, 136, 136, 136, 136, 136, 131, 131,
- 132, 132, 132, 132, 299, 299, 299, 298, 298, 167,
- 167, 169, 168, 168, 170, 170, 171, 171, 171, 171,
- 217, 217, 193, 193, 256, 256, 257, 257, 255, 255,
- 262, 262, 258, 258, 258, 258, 265, 265, 172, 172,
- 172, 172, 180, 180, 181, 181, 182, 182, 309, 309,
- 304, 304, 304, 303, 303, 186, 186, 186, 188, 187,
- 187, 187, 187, 189, 189, 191, 191, 190, 190, 192,
- 197, 197, 196, 196, 194, 194, 194, 194, 194, 194,
- 195, 195, 195, 195, 198, 198, 145, 145, 145, 145,
- 145, 145, 145, 145, 411, 411, 159, 159, 159, 159,
- 159, 159, 159, 162, 162, 162, 162, 162, 162, 162,
- 162, 162, 162, 162, 246, 246, 150, 150, 150, 150,
+ 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
+ 292, 292, 281, 281, 290, 290, 280, 280, 306, 306,
+ 306, 283, 283, 283, 284, 284, 403, 403, 403, 277,
+ 277, 66, 66, 66, 307, 307, 307, 307, 69, 69,
+ 413, 413, 414, 414, 415, 415, 415, 70, 71, 71,
+ 310, 310, 311, 311, 72, 73, 85, 85, 85, 85,
+ 85, 86, 86, 86, 86, 110, 110, 110, 10, 10,
+ 10, 10, 81, 81, 81, 9, 9, 11, 68, 68,
+ 75, 400, 400, 401, 402, 402, 402, 402, 76, 78,
+ 27, 27, 27, 27, 27, 27, 135, 135, 123, 123,
+ 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
+ 130, 130, 130, 124, 124, 422, 79, 80, 80, 128,
+ 128, 128, 121, 121, 121, 127, 127, 127, 12, 12,
+ 13, 263, 263, 14, 14, 134, 134, 133, 133, 136,
+ 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
+ 131, 131, 132, 132, 132, 132, 299, 299, 299, 298,
+ 298, 167, 167, 169, 168, 168, 170, 170, 171, 171,
+ 171, 171, 217, 217, 193, 193, 256, 256, 257, 257,
+ 255, 255, 262, 262, 258, 258, 258, 258, 265, 265,
+ 172, 172, 172, 172, 180, 180, 181, 181, 182, 182,
+ 309, 309, 304, 304, 304, 303, 303, 186, 186, 186,
+ 188, 187, 187, 187, 187, 189, 189, 191, 191, 190,
+ 190, 192, 197, 197, 196, 196, 194, 194, 194, 194,
+ 194, 194, 195, 195, 195, 195, 198, 198, 145, 145,
+ 145, 145, 145, 145, 145, 145, 411, 411, 159, 159,
+ 159, 159, 159, 159, 159, 162, 162, 162, 162, 162,
+ 162, 162, 162, 162, 162, 162, 246, 246, 150, 150,
150, 150, 150, 150, 150, 150, 150, 150, 150, 150,
- 150, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 150, 150, 150, 153, 153, 153, 153, 153, 153, 153,
153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
- 153, 153, 153, 153, 153, 153, 222, 222, 221, 221,
- 87, 87, 87, 88, 88, 89, 89, 89, 89, 89,
- 90, 90, 90, 90, 90, 90, 90, 92, 92, 91,
- 91, 212, 212, 296, 296, 93, 94, 94, 95, 95,
- 98, 98, 97, 96, 96, 102, 102, 99, 99, 101,
- 101, 100, 103, 103, 104, 105, 105, 278, 278, 199,
- 199, 208, 208, 208, 208, 200, 200, 201, 201, 201,
- 201, 201, 201, 209, 209, 209, 216, 210, 210, 206,
- 206, 204, 204, 204, 204, 204, 204, 204, 204, 204,
- 204, 204, 205, 205, 205, 205, 205, 205, 205, 205,
+ 153, 153, 153, 153, 153, 153, 153, 153, 222, 222,
+ 221, 221, 87, 87, 87, 88, 88, 89, 89, 89,
+ 89, 89, 90, 90, 90, 90, 90, 90, 90, 92,
+ 92, 91, 91, 212, 212, 296, 296, 93, 94, 94,
+ 95, 95, 98, 98, 97, 96, 96, 102, 102, 99,
+ 99, 101, 101, 100, 103, 103, 104, 105, 105, 278,
+ 278, 199, 199, 208, 208, 208, 208, 200, 200, 201,
+ 201, 201, 201, 201, 201, 209, 209, 209, 216, 210,
+ 210, 206, 206, 204, 204, 204, 204, 204, 204, 204,
+ 204, 204, 204, 204, 205, 205, 205, 205, 205, 205,
205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
@@ -8619,36 +8632,36 @@ var yyR1 = [...]int{
205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
- 205, 205, 205, 205, 205, 164, 164, 164, 164, 227,
- 227, 151, 151, 151, 151, 151, 151, 151, 151, 151,
- 151, 151, 151, 151, 151, 151, 152, 152, 165, 165,
- 165, 165, 166, 166, 166, 166, 166, 166, 166, 317,
- 317, 119, 119, 119, 119, 119, 119, 119, 119, 119,
+ 205, 205, 205, 205, 205, 205, 205, 164, 164, 164,
+ 164, 227, 227, 151, 151, 151, 151, 151, 151, 151,
+ 151, 151, 151, 151, 151, 151, 151, 151, 152, 152,
+ 165, 165, 165, 165, 166, 166, 166, 166, 166, 166,
+ 166, 317, 317, 119, 119, 119, 119, 119, 119, 119,
119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 119, 120, 120, 120, 120, 120, 120, 120, 120, 120,
- 120, 120, 120, 120, 120, 120, 120, 120, 120, 423,
- 423, 332, 332, 332, 207, 207, 207, 207, 207, 126,
- 126, 126, 126, 126, 314, 314, 314, 318, 318, 318,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 319, 319, 225, 225, 122,
- 122, 223, 223, 224, 226, 226, 218, 218, 218, 218,
- 220, 220, 203, 203, 203, 228, 228, 320, 320, 229,
- 229, 106, 107, 107, 108, 108, 230, 230, 232, 231,
- 231, 233, 234, 234, 234, 235, 235, 236, 236, 236,
- 49, 49, 49, 49, 49, 44, 44, 44, 44, 45,
- 45, 45, 45, 137, 137, 137, 137, 139, 139, 138,
- 138, 82, 82, 83, 83, 83, 143, 143, 144, 144,
- 144, 141, 141, 142, 142, 253, 253, 253, 253, 253,
- 253, 253, 237, 237, 237, 244, 244, 244, 240, 240,
- 242, 242, 242, 243, 243, 243, 241, 250, 250, 252,
- 252, 251, 251, 247, 247, 248, 248, 249, 249, 249,
- 245, 245, 202, 202, 202, 202, 202, 254, 254, 254,
- 254, 308, 308, 308, 266, 266, 213, 213, 215, 215,
- 214, 214, 163, 267, 267, 275, 272, 272, 273, 273,
- 300, 300, 300, 276, 276, 289, 289, 285, 285, 286,
- 286, 279, 279, 291, 291, 291, 77, 211, 211, 371,
- 371, 368, 295, 295, 297, 297, 301, 301, 305, 305,
- 302, 302, 8, 416, 416, 416, 293, 293, 293, 293,
+ 119, 119, 119, 120, 120, 120, 120, 120, 120, 120,
+ 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
+ 120, 423, 423, 332, 332, 332, 207, 207, 207, 207,
+ 207, 126, 126, 126, 126, 126, 314, 314, 314, 318,
+ 318, 318, 316, 316, 316, 316, 316, 316, 316, 316,
+ 316, 316, 316, 316, 316, 316, 316, 319, 319, 225,
+ 225, 122, 122, 223, 223, 224, 226, 226, 218, 218,
+ 218, 218, 220, 220, 203, 203, 203, 228, 228, 320,
+ 320, 229, 229, 106, 107, 107, 108, 108, 230, 230,
+ 232, 231, 231, 233, 234, 234, 234, 235, 235, 236,
+ 236, 236, 49, 49, 49, 49, 49, 44, 44, 44,
+ 44, 45, 45, 45, 45, 137, 137, 137, 137, 139,
+ 139, 138, 138, 82, 82, 83, 83, 83, 143, 143,
+ 144, 144, 144, 141, 141, 142, 142, 253, 253, 253,
+ 253, 253, 253, 253, 237, 237, 237, 244, 244, 244,
+ 240, 240, 242, 242, 242, 243, 243, 243, 241, 250,
+ 250, 252, 252, 251, 251, 247, 247, 248, 248, 249,
+ 249, 249, 245, 245, 202, 202, 202, 202, 202, 254,
+ 254, 254, 254, 308, 308, 308, 266, 266, 213, 213,
+ 215, 215, 214, 214, 163, 267, 267, 275, 272, 272,
+ 273, 273, 300, 300, 300, 276, 276, 289, 289, 285,
+ 285, 286, 286, 279, 279, 291, 291, 291, 77, 211,
+ 211, 371, 371, 368, 295, 295, 297, 297, 301, 301,
+ 305, 305, 302, 302, 8, 416, 416, 416, 293, 293,
293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
@@ -8663,8 +8676,8 @@ var yyR1 = [...]int{
293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
- 293, 293, 293, 293, 293, 293, 293, 293, 293, 294,
- 294, 294, 294, 294, 294, 294, 294, 294, 294, 294,
+ 293, 293, 293, 293, 293, 293, 293, 293, 293, 293,
+ 293, 294, 294, 294, 294, 294, 294, 294, 294, 294,
294, 294, 294, 294, 294, 294, 294, 294, 294, 294,
294, 294, 294, 294, 294, 294, 294, 294, 294, 294,
294, 294, 294, 294, 294, 294, 294, 294, 294, 294,
@@ -8711,7 +8724,8 @@ var yyR1 = [...]int{
294, 294, 294, 294, 294, 294, 294, 294, 294, 294,
294, 294, 294, 294, 294, 294, 294, 294, 294, 294,
294, 294, 294, 294, 294, 294, 294, 294, 294, 294,
- 294, 294, 419, 420, 312, 313, 313, 313,
+ 294, 294, 294, 294, 294, 419, 420, 312, 313, 313,
+ 313,
}
var yyR2 = [...]int{
@@ -8749,137 +8763,137 @@ var yyR2 = [...]int{
1, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 2, 2, 2, 2, 2, 2, 2, 1,
2, 2, 2, 2, 3, 3, 3, 2, 2, 2,
- 2, 2, 2, 1, 1, 1, 1, 1, 5, 5,
+ 2, 2, 2, 1, 1, 1, 1, 1, 5, 2,
+ 5, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 3, 0, 3, 0, 5, 1, 3, 0, 3, 5,
+ 0, 1, 1, 0, 1, 0, 3, 3, 2, 2,
+ 2, 1, 2, 2, 0, 1, 0, 2, 2, 5,
+ 0, 1, 1, 2, 1, 3, 2, 1, 1, 3,
+ 3, 3, 0, 1, 4, 3, 3, 4, 2, 0,
+ 2, 1, 1, 1, 1, 1, 0, 1, 1, 1,
+ 0, 1, 1, 3, 3, 4, 3, 1, 3, 1,
+ 7, 6, 7, 7, 8, 8, 0, 1, 5, 2,
+ 1, 1, 1, 0, 1, 3, 3, 1, 1, 2,
+ 2, 2, 0, 1, 1, 1, 2, 0, 1, 0,
+ 1, 1, 3, 2, 1, 2, 3, 3, 3, 4,
+ 4, 3, 3, 3, 3, 4, 4, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 4, 5, 0, 2, 2,
1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
- 0, 3, 0, 5, 1, 3, 0, 3, 5, 0,
- 1, 1, 0, 1, 0, 3, 3, 2, 2, 2,
- 1, 2, 2, 0, 1, 0, 2, 2, 5, 0,
- 1, 1, 2, 1, 3, 2, 1, 1, 3, 3,
- 3, 0, 1, 4, 3, 3, 4, 2, 0, 2,
- 1, 1, 1, 1, 1, 0, 1, 1, 1, 0,
- 1, 1, 3, 3, 4, 3, 1, 3, 1, 7,
- 6, 7, 7, 8, 8, 0, 1, 5, 2, 1,
- 1, 1, 0, 1, 3, 3, 1, 1, 2, 2,
- 2, 0, 1, 1, 1, 2, 0, 1, 0, 1,
- 1, 3, 2, 1, 2, 3, 3, 3, 4, 4,
- 3, 3, 3, 3, 4, 4, 3, 3, 3, 3,
+ 1, 1, 1, 0, 1, 0, 1, 0, 2, 0,
+ 2, 0, 2, 2, 0, 1, 5, 1, 3, 7,
+ 1, 3, 3, 1, 2, 2, 2, 5, 5, 5,
+ 6, 8, 5, 5, 4, 4, 4, 6, 5, 5,
+ 5, 2, 2, 2, 2, 3, 3, 3, 4, 3,
+ 3, 1, 3, 5, 1, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 2, 2, 3, 4, 4, 2,
+ 11, 3, 6, 8, 6, 6, 6, 13, 8, 6,
+ 6, 10, 7, 5, 5, 5, 5, 7, 5, 5,
+ 5, 5, 5, 7, 7, 5, 5, 5, 5, 0,
+ 6, 5, 6, 4, 5, 0, 8, 9, 0, 3,
+ 0, 1, 0, 3, 8, 4, 1, 3, 3, 6,
+ 7, 7, 8, 4, 0, 1, 0, 1, 3, 3,
+ 1, 1, 2, 1, 1, 0, 2, 0, 2, 5,
+ 3, 7, 4, 4, 4, 4, 3, 3, 3, 7,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 4, 5, 0, 2, 2, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 3, 1,
- 1, 1, 0, 1, 0, 1, 0, 2, 0, 2,
- 0, 2, 2, 0, 1, 5, 1, 3, 7, 1,
- 3, 3, 1, 2, 2, 2, 5, 5, 5, 6,
- 8, 5, 5, 4, 4, 4, 6, 5, 5, 5,
- 2, 2, 2, 2, 3, 3, 3, 4, 3, 3,
- 1, 3, 5, 1, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 2, 2, 3, 4, 4, 2, 11,
- 3, 6, 8, 6, 6, 6, 13, 8, 6, 6,
- 10, 7, 5, 5, 5, 7, 5, 5, 5, 5,
- 5, 7, 7, 5, 5, 5, 5, 0, 6, 5,
- 6, 4, 5, 0, 8, 9, 0, 3, 0, 1,
- 0, 3, 8, 4, 1, 3, 3, 6, 7, 7,
- 8, 4, 0, 1, 0, 1, 3, 3, 1, 1,
- 2, 1, 1, 0, 2, 0, 2, 5, 3, 7,
- 4, 4, 4, 4, 3, 3, 3, 7, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 2, 0,
- 2, 2, 1, 3, 2, 0, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 3, 1, 3, 3, 0,
- 2, 2, 2, 2, 2, 2, 2, 4, 4, 3,
- 0, 1, 4, 3, 4, 4, 3, 3, 3, 2,
- 1, 3, 3, 3, 5, 7, 7, 6, 5, 3,
- 2, 4, 5, 5, 3, 3, 7, 3, 3, 3,
- 3, 4, 7, 5, 2, 4, 4, 4, 4, 4,
- 5, 5, 4, 4, 4, 4, 4, 4, 4, 4,
- 2, 2, 4, 4, 4, 4, 4, 2, 3, 3,
- 3, 3, 3, 5, 2, 3, 3, 2, 3, 4,
- 4, 4, 3, 4, 4, 5, 3, 5, 0, 1,
- 0, 1, 0, 1, 1, 1, 0, 2, 2, 0,
- 2, 2, 0, 2, 0, 1, 1, 1, 1, 2,
- 1, 3, 1, 1, 1, 1, 1, 3, 0, 1,
- 1, 3, 3, 2, 2, 1, 1, 5, 0, 1,
- 0, 1, 2, 3, 0, 3, 3, 3, 1, 0,
+ 2, 0, 2, 2, 1, 3, 2, 0, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 3, 1, 3,
+ 3, 0, 2, 2, 2, 2, 2, 2, 2, 4,
+ 4, 3, 0, 1, 4, 3, 4, 4, 3, 3,
+ 3, 2, 1, 3, 3, 3, 5, 7, 7, 6,
+ 5, 3, 2, 4, 5, 5, 3, 3, 7, 3,
+ 3, 3, 3, 4, 7, 5, 2, 4, 4, 4,
+ 4, 4, 5, 5, 4, 4, 4, 4, 4, 4,
+ 4, 4, 2, 2, 4, 4, 4, 4, 4, 2,
+ 3, 3, 3, 3, 3, 5, 2, 3, 3, 2,
+ 3, 4, 4, 4, 3, 4, 4, 5, 3, 5,
+ 0, 1, 0, 1, 0, 1, 1, 1, 0, 2,
+ 2, 0, 2, 2, 0, 2, 0, 1, 1, 1,
+ 1, 2, 1, 3, 1, 1, 1, 1, 1, 3,
+ 0, 1, 1, 3, 3, 2, 2, 1, 1, 5,
+ 0, 1, 0, 1, 2, 3, 0, 3, 3, 3,
+ 1, 0, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 0, 1, 1, 4, 4, 4, 2, 2,
+ 3, 1, 3, 2, 1, 2, 1, 2, 2, 4,
+ 3, 3, 6, 4, 7, 6, 1, 3, 2, 2,
+ 2, 2, 1, 1, 1, 3, 2, 1, 1, 1,
+ 0, 1, 1, 0, 3, 0, 2, 0, 2, 1,
+ 2, 2, 0, 1, 1, 0, 1, 1, 5, 5,
+ 4, 0, 2, 4, 4, 0, 1, 1, 2, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 0, 1, 1, 4, 4, 4, 2, 2, 3, 1,
- 3, 2, 1, 2, 1, 2, 2, 4, 3, 3,
- 6, 4, 7, 6, 1, 3, 2, 2, 2, 2,
- 1, 1, 1, 3, 2, 1, 1, 1, 0, 1,
- 1, 0, 3, 0, 2, 0, 2, 1, 2, 2,
- 0, 1, 1, 0, 1, 1, 5, 5, 4, 0,
- 2, 4, 4, 0, 1, 1, 2, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
- 1, 2, 3, 5, 0, 1, 2, 1, 1, 0,
- 1, 2, 1, 3, 1, 1, 1, 4, 3, 1,
- 1, 2, 3, 7, 0, 3, 0, 1, 1, 3,
- 1, 3, 1, 1, 3, 3, 1, 3, 4, 4,
- 4, 3, 2, 4, 0, 1, 0, 2, 0, 1,
- 0, 1, 2, 1, 1, 1, 2, 2, 1, 2,
- 3, 2, 3, 2, 2, 2, 1, 1, 3, 3,
- 0, 1, 1, 2, 6, 5, 6, 6, 5, 5,
- 0, 2, 3, 3, 0, 2, 3, 3, 3, 2,
- 3, 1, 3, 6, 1, 1, 3, 4, 3, 4,
- 4, 4, 1, 3, 4, 5, 6, 3, 4, 5,
- 6, 3, 4, 1, 1, 1, 3, 3, 3, 3,
- 3, 3, 5, 5, 3, 3, 3, 3, 3, 3,
- 1, 1, 1, 1, 1, 3, 1, 1, 1, 2,
- 2, 2, 2, 1, 1, 2, 7, 7, 6, 6,
- 2, 2, 5, 6, 3, 3, 1, 3, 1, 3,
+ 1, 3, 1, 2, 3, 5, 0, 1, 2, 1,
+ 1, 0, 1, 2, 1, 3, 1, 1, 1, 4,
+ 3, 1, 1, 2, 3, 7, 0, 3, 0, 1,
+ 1, 3, 1, 3, 1, 1, 3, 3, 1, 3,
+ 4, 4, 4, 3, 2, 4, 0, 1, 0, 2,
+ 0, 1, 0, 1, 2, 1, 1, 1, 2, 2,
+ 1, 2, 3, 2, 3, 2, 2, 2, 1, 1,
+ 3, 3, 0, 1, 1, 2, 6, 5, 6, 6,
+ 5, 5, 0, 2, 3, 3, 0, 2, 3, 3,
+ 3, 2, 3, 1, 3, 6, 1, 1, 3, 4,
+ 3, 4, 4, 4, 1, 3, 4, 5, 6, 3,
+ 4, 5, 6, 3, 4, 1, 1, 1, 3, 3,
+ 3, 3, 3, 3, 5, 5, 3, 3, 3, 3,
+ 3, 3, 1, 1, 1, 1, 1, 3, 1, 1,
+ 1, 2, 2, 2, 2, 1, 1, 2, 7, 7,
+ 6, 6, 2, 2, 5, 6, 3, 3, 1, 3,
+ 1, 3, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 2, 2, 2, 2, 4, 2, 4, 0,
+ 1, 2, 5, 0, 3, 0, 1, 4, 4, 2,
+ 1, 0, 0, 1, 1, 2, 2, 1, 1, 2,
+ 2, 0, 1, 1, 1, 1, 5, 1, 3, 0,
+ 3, 1, 1, 1, 2, 1, 2, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 2, 2, 2, 2, 4, 2, 4, 0, 1, 2,
- 5, 0, 3, 0, 1, 4, 4, 2, 1, 0,
- 0, 1, 1, 2, 2, 1, 1, 2, 2, 0,
- 1, 1, 1, 1, 5, 1, 3, 0, 3, 1,
- 1, 1, 2, 1, 2, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 3, 4,
- 6, 4, 4, 8, 8, 6, 8, 6, 5, 4,
- 10, 2, 2, 1, 2, 2, 2, 2, 2, 5,
- 6, 6, 6, 6, 6, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 8, 4, 8, 8, 6,
- 5, 4, 4, 4, 5, 7, 4, 4, 7, 4,
- 4, 6, 6, 6, 8, 6, 6, 4, 4, 3,
- 4, 6, 6, 4, 4, 6, 4, 6, 4, 4,
- 4, 4, 4, 4, 6, 4, 6, 4, 4, 4,
- 6, 4, 6, 4, 4, 6, 4, 6, 4, 6,
- 8, 4, 6, 8, 4, 6, 8, 4, 6, 8,
+ 3, 4, 6, 4, 4, 8, 8, 6, 8, 6,
+ 5, 4, 10, 2, 2, 1, 2, 2, 2, 2,
+ 2, 5, 6, 6, 6, 6, 6, 5, 5, 5,
+ 5, 5, 5, 5, 5, 5, 5, 8, 4, 8,
+ 8, 6, 5, 4, 4, 4, 5, 7, 4, 4,
+ 7, 4, 4, 6, 6, 6, 8, 6, 6, 4,
+ 4, 3, 4, 6, 6, 4, 4, 6, 4, 6,
+ 4, 4, 4, 4, 4, 4, 6, 4, 6, 4,
+ 4, 4, 6, 4, 6, 4, 4, 6, 4, 6,
4, 6, 8, 4, 6, 8, 4, 6, 8, 4,
6, 8, 4, 6, 8, 4, 6, 8, 4, 6,
8, 4, 6, 8, 4, 6, 8, 4, 6, 8,
- 4, 6, 8, 4, 6, 8, 4, 4, 4, 6,
- 4, 6, 4, 8, 6, 4, 4, 6, 4, 6,
- 8, 4, 6, 8, 4, 4, 6, 8, 6, 4,
- 6, 6, 8, 10, 7, 8, 8, 9, 4, 4,
- 4, 4, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 4, 4, 4, 4, 4, 4, 6, 4,
- 6, 5, 9, 6, 9, 8, 6, 8, 8, 8,
- 6, 1, 1, 1, 1, 1, 1, 1, 1, 0,
- 2, 6, 8, 10, 12, 14, 6, 8, 8, 10,
- 12, 14, 6, 8, 10, 12, 6, 8, 4, 4,
- 3, 4, 6, 6, 4, 6, 4, 6, 8, 0,
- 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 4, 6, 8, 4, 6, 8, 4, 6, 8, 4,
+ 6, 8, 4, 6, 8, 4, 6, 8, 4, 4,
+ 4, 6, 4, 6, 4, 8, 6, 4, 4, 6,
+ 4, 6, 8, 4, 6, 8, 4, 4, 6, 8,
+ 6, 4, 6, 6, 8, 10, 7, 8, 8, 9,
+ 4, 4, 4, 4, 6, 6, 6, 6, 6, 6,
+ 6, 6, 6, 6, 4, 4, 4, 4, 4, 4,
+ 6, 4, 6, 5, 9, 6, 9, 8, 6, 8,
+ 8, 8, 6, 1, 1, 1, 1, 1, 1, 1,
+ 1, 0, 2, 6, 8, 10, 12, 14, 6, 8,
+ 8, 10, 12, 14, 6, 8, 10, 12, 6, 8,
+ 4, 4, 3, 4, 6, 6, 4, 6, 4, 6,
+ 8, 0, 2, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
- 2, 0, 2, 3, 4, 4, 4, 4, 4, 0,
- 3, 4, 7, 3, 1, 1, 1, 0, 5, 5,
- 2, 3, 1, 2, 2, 1, 2, 1, 2, 2,
- 1, 2, 2, 1, 1, 0, 1, 0, 1, 0,
- 2, 1, 2, 4, 0, 2, 1, 1, 3, 5,
- 1, 1, 1, 2, 2, 0, 4, 0, 2, 0,
- 2, 2, 1, 3, 0, 1, 0, 1, 3, 1,
- 3, 2, 0, 1, 1, 0, 1, 2, 4, 4,
- 0, 2, 2, 1, 1, 3, 3, 3, 3, 3,
- 3, 3, 3, 0, 3, 3, 3, 0, 3, 1,
- 1, 0, 4, 0, 1, 1, 0, 3, 1, 3,
- 2, 1, 1, 0, 1, 2, 3, 4, 2, 3,
- 4, 4, 9, 3, 5, 0, 3, 3, 0, 1,
- 0, 2, 2, 0, 2, 2, 2, 0, 2, 1,
- 2, 3, 3, 0, 2, 1, 2, 3, 4, 3,
- 0, 1, 3, 1, 6, 5, 4, 1, 3, 3,
- 5, 0, 2, 5, 0, 5, 1, 3, 1, 2,
- 3, 4, 1, 1, 3, 3, 1, 2, 1, 1,
- 1, 1, 1, 1, 1, 0, 1, 0, 2, 0,
- 3, 0, 1, 0, 1, 1, 5, 0, 1, 0,
- 1, 2, 1, 1, 1, 1, 1, 1, 0, 1,
- 1, 1, 3, 0, 1, 1, 1, 1, 1, 1,
+ 1, 0, 2, 0, 2, 3, 4, 4, 4, 4,
+ 4, 0, 3, 4, 7, 3, 1, 1, 1, 0,
+ 5, 5, 2, 3, 1, 2, 2, 1, 2, 1,
+ 2, 2, 1, 2, 2, 1, 1, 0, 1, 0,
+ 1, 0, 2, 1, 2, 4, 0, 2, 1, 1,
+ 3, 5, 1, 1, 1, 2, 2, 0, 4, 0,
+ 2, 0, 2, 2, 1, 3, 0, 1, 0, 1,
+ 3, 1, 3, 2, 0, 1, 1, 0, 1, 2,
+ 4, 4, 0, 2, 2, 1, 1, 3, 3, 3,
+ 3, 3, 3, 3, 3, 0, 3, 3, 3, 0,
+ 3, 1, 1, 0, 4, 0, 1, 1, 0, 3,
+ 1, 3, 2, 1, 1, 0, 1, 2, 3, 4,
+ 2, 3, 4, 4, 9, 3, 5, 0, 3, 3,
+ 0, 1, 0, 2, 2, 0, 2, 2, 2, 0,
+ 2, 1, 2, 3, 3, 0, 2, 1, 2, 3,
+ 4, 3, 0, 1, 3, 1, 6, 5, 4, 1,
+ 3, 3, 5, 0, 2, 5, 0, 5, 1, 3,
+ 1, 2, 3, 4, 1, 1, 3, 3, 1, 2,
+ 1, 1, 1, 1, 1, 1, 1, 0, 1, 0,
+ 2, 0, 3, 0, 1, 0, 1, 1, 5, 0,
+ 1, 0, 1, 2, 1, 1, 1, 1, 1, 1,
+ 0, 1, 1, 1, 3, 0, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -8942,7 +8956,8 @@ var yyR2 = [...]int{
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 0, 0, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 0, 0, 1,
+ 1,
}
var yyChk = [...]int{
@@ -8952,155 +8967,155 @@ var yyChk = [...]int{
-27, -28, -74, -75, -76, -77, -78, -12, -13, -14,
-8, -32, -31, -30, 13, 14, -109, -35, 35, -40,
-50, 239, -51, -41, 240, -52, 242, 241, 279, 243,
- 392, 272, 83, 328, 329, 331, 332, 333, 334, -110,
- 699, 277, 278, 245, 39, 51, 36, 37, 40, 249,
- 285, 286, 248, 145, -33, -36, 12, -419, 15, 482,
- 274, 273, 31, -34, 592, 95, -80, -418, 747, -253,
+ 393, 272, 83, 328, 329, 331, 332, 333, 334, -110,
+ 700, 277, 278, 245, 39, 51, 36, 37, 40, 249,
+ 285, 286, 248, 145, -33, -36, 12, -419, 15, 483,
+ 274, 273, 31, -34, 593, 95, -80, -418, 748, -253,
-237, 26, 36, 32, -236, -232, -128, -237, 24, 22,
11, -79, -79, -79, 16, 17, -79, -356, -358, 95,
172, 95, -79, -57, -56, -54, -53, -55, -58, 34,
-47, -48, -380, -46, -43, 244, 241, 289, 135, 136,
279, 280, 281, 243, 263, 278, 282, 277, 298, -42,
- 90, 36, 592, 595, -363, 240, 246, 247, 242, 483,
- 138, 137, 84, -360, 387, 626, 717, -58, 719, 110,
- 113, 718, 50, 253, 720, 721, 722, 633, 723, 262,
- 724, 725, 726, 727, 733, 674, 734, 735, 736, 139,
- 11, -79, -305, -301, 100, -294, 589, 265, 624, 436,
- 625, 314, 90, 47, 42, 528, 599, 384, 387, 626,
- 513, 717, 393, 328, 344, 338, 518, 519, 520, 367,
- 359, 590, 627, 600, 317, 266, 302, 711, 357, 148,
- 719, 321, 628, 280, 394, 395, 629, 396, 110, 331,
- 433, 732, 320, 630, 730, 113, 718, 336, 88, 512,
- 57, 714, 50, 275, 441, 442, 355, 248, 351, 720,
- 303, 631, 602, 296, 138, 135, 739, 39, 347, 56,
- 33, 729, 137, 55, 721, 163, 632, 722, 633, 398,
- 374, 705, 54, 399, 281, 634, 93, 286, 594, 325,
- 713, 400, 533, 348, 401, 313, 728, 245, 635, 324,
- 694, 686, 687, 402, 403, 706, 379, 375, 380, 535,
- 636, 425, 517, 404, 690, 691, 746, 58, 637, 638,
- 707, 136, 639, 87, 723, 89, 342, 343, 640, 311,
- 264, 538, 539, 427, 371, 495, 127, 502, 503, 120,
- 121, 498, 122, 504, 123, 128, 505, 506, 507, 496,
- 124, 117, 497, 508, 509, 372, 373, 125, 510, 119,
- 118, 499, 501, 126, 511, 262, 38, 405, 591, 315,
- 64, 319, 290, 428, 52, 377, 743, 51, 701, 540,
- 641, 704, 370, 366, 492, 59, 642, 643, 644, 645,
- 514, 724, 369, 341, 365, 738, 4, 308, 487, 515,
- 725, 68, 247, 382, 381, 383, 297, 424, 362, 646,
- 647, 648, 269, 91, 649, 352, 25, 650, 651, 406,
- 304, 652, 62, 653, 654, 431, 278, 655, 60, 726,
- 45, 656, 283, 740, 727, 657, 658, 659, 700, 660,
- 285, 661, 408, 662, 688, 689, 407, 376, 378, 541,
- 292, 409, 392, 250, 593, 663, 326, 346, 282, 731,
- 664, 270, 529, 530, 531, 532, 712, 537, 536, 284,
- 289, 277, 432, 271, 665, 666, 667, 668, 669, 318,
- 685, 670, 671, 332, 597, 733, 493, 49, 672, 673,
- 674, 675, 676, 312, 307, 426, 435, 67, 92, 389,
- 677, 678, 710, 340, 337, 43, 305, 99, 473, 475,
- 476, 477, 478, 479, 474, 481, 679, 329, 61, 734,
- 735, 736, 299, 737, 521, 522, 523, 524, 13, 575,
- 558, 586, 559, 576, 560, 569, 561, 577, 585, 587,
- 542, 550, 543, 551, 581, 564, 578, 570, 563, 562,
- 584, 567, 571, 544, 552, 582, 568, 545, 553, 546,
- 554, 547, 555, 580, 579, 572, 583, 548, 556, 574,
- 549, 557, 573, 565, 566, 444, 744, 745, 516, 411,
- 139, 309, 310, 53, 363, 291, 680, 322, 681, 353,
- 354, 489, 490, 368, 339, 364, 697, 330, 695, 293,
- 412, 494, 279, 682, 434, 306, 385, 131, 390, 323,
- 598, 534, 298, 413, 709, 596, 525, 526, 361, 358,
- 300, 527, 683, 699, 414, 254, 294, 295, 684, 696,
- 415, 416, 316, 417, 418, 419, 420, 421, 423, 327,
- 422, 698, 692, 693, 301, 472, 595, 335, 356, 391,
- 454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
- 464, 465, 466, 467, 468, 469, 470, 471, 491, 252,
- -79, 252, -190, -301, -130, 701, 703, 191, -272, 395,
- -290, 397, 410, 405, 415, 403, -281, 406, 408, 292,
- -403, 425, 252, 412, 239, 398, 407, 416, 417, 316,
- 423, 418, 327, 422, 301, 419, 420, 421, -387, 191,
- 722, 737, 330, 148, 360, 402, 400, 426, 701, 100,
- -307, 100, 101, 102, -294, 330, -310, 335, -295, -387,
- -294, 333, -79, -79, -312, -312, -130, -210, -145, 156,
- -159, -261, -162, 101, -150, -153, -204, -205, -206, -207,
- -160, -220, -259, 180, 181, 188, 157, -216, -163, 29,
- 588, 484, 483, 191, 34, 234, 77, 78, 486, 487,
- 159, 63, 15, 449, 450, -161, 439, 440, 451, 445,
- 446, 512, 514, 515, 516, 513, 518, 519, 520, 521,
- 522, 523, 524, 525, 526, 527, 517, 528, 489, 490,
- 129, 491, 117, 119, 118, 127, 128, 492, 493, 494,
- 357, 540, 541, 535, 538, 539, 537, 536, 372, 373,
- 495, 558, 559, 563, 562, 560, 561, 564, 567, 568,
- 569, 570, 571, 572, 574, 573, 565, 566, 543, 542,
- 544, 545, 546, 547, 548, 549, 551, 550, 552, 553,
- 554, 555, 556, 557, 575, 576, 577, 578, 579, 581,
- 580, 585, 584, 582, 583, 587, 586, 496, 497, 120,
- 121, 122, 123, 124, 125, 126, 498, 501, 499, 500,
- 502, 503, 504, 509, 510, 505, 506, 507, 508, 511,
- 383, 381, 382, 378, 377, 376, -89, -102, 615, 614,
- -103, 436, 441, 442, 444, -151, -152, -165, -166, -295,
- -301, 257, 438, 251, 186, 482, -154, -148, -218, 116,
- 102, -31, -214, 437, 447, 448, 452, 443, 453, 601,
- 603, 618, 619, 621, 606, 611, 610, 613, 529, 530,
- 531, 532, 533, 534, 686, 687, 688, 689, 690, 691,
- 692, 693, -387, -294, 100, -157, -155, -199, 103, 108,
- 111, 112, 114, -409, 275, 353, 354, 130, -419, 715,
- -156, 105, 106, 107, 132, 133, 192, 193, 194, 195,
- 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
- 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
- 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
- 226, 227, 228, 229, 230, 231, 232, 233, 98, 104,
- 50, 411, 411, -190, -79, -79, -79, -79, -416, 718,
- 593, -230, -128, -232, -33, -31, -419, 12, -79, -31,
- -32, -30, -36, -38, 620, -37, -301, 109, -237, -253,
- 16, 67, 175, 48, 56, -235, -236, -34, -31, -145,
- 23, 41, 27, -132, 182, -145, -301, -132, -279, 256,
- -79, -79, -268, -315, 330, -270, 426, 701, 425, -260,
- -273, 100, -259, -272, 424, 101, -357, 172, -343, -347,
- -295, 267, -373, 263, -190, -366, -365, -295, -419, -129,
- -289, 253, 261, 260, 149, -390, 152, 309, 438, 251,
- -53, -54, -55, -272, 190, 721, -111, 284, 288, 96,
- 96, -347, -346, -345, -391, 288, 267, -372, -364, 259,
- 268, -353, 260, 261, -348, 253, 150, -391, -348, 258,
- 268, 263, 267, 288, 288, 139, 288, 139, 288, 288,
- 288, 288, 288, 288, 288, 288, 288, 283, -354, 164,
- -354, 596, 596, -360, -391, 263, 253, -391, -391, 259,
- -291, -348, 255, 28, 255, 38, 38, -354, -354, -354,
- -272, 190, -354, -354, -354, -354, 296, 296, -354, -354,
+ 90, 36, 593, 596, -363, 240, 246, 247, 242, 484,
+ 138, 137, 84, -360, 388, 627, 718, -58, 720, 110,
+ 113, 719, 50, 253, 721, 722, 723, 634, 724, 262,
+ 725, 726, 727, 728, 734, 675, 735, 736, 737, 139,
+ 11, -79, -305, -301, 100, -294, 590, 265, 625, 437,
+ 626, 314, 90, 47, 42, 529, 600, 384, 388, 627,
+ 514, 718, 394, 328, 344, 338, 519, 520, 521, 367,
+ 359, 591, 628, 601, 317, 266, 302, 712, 357, 148,
+ 720, 321, 629, 280, 395, 396, 630, 397, 110, 331,
+ 434, 733, 320, 631, 731, 113, 719, 336, 88, 513,
+ 57, 715, 50, 275, 442, 443, 355, 248, 351, 721,
+ 303, 632, 603, 296, 138, 135, 740, 39, 347, 56,
+ 33, 730, 137, 55, 722, 163, 633, 723, 634, 399,
+ 374, 706, 54, 400, 281, 635, 93, 286, 595, 325,
+ 714, 401, 534, 348, 402, 313, 729, 245, 636, 324,
+ 695, 687, 688, 403, 404, 707, 379, 375, 380, 536,
+ 637, 426, 518, 405, 691, 692, 747, 58, 638, 639,
+ 708, 136, 640, 87, 724, 89, 342, 343, 641, 311,
+ 264, 539, 540, 428, 371, 496, 127, 503, 504, 120,
+ 121, 499, 122, 505, 123, 128, 506, 507, 508, 497,
+ 124, 117, 498, 509, 510, 372, 373, 125, 511, 119,
+ 118, 500, 502, 126, 512, 262, 38, 406, 592, 315,
+ 64, 319, 290, 429, 52, 377, 744, 51, 702, 541,
+ 642, 705, 370, 366, 493, 59, 643, 644, 645, 646,
+ 515, 725, 369, 341, 365, 739, 4, 308, 488, 516,
+ 726, 68, 247, 382, 381, 383, 297, 425, 362, 647,
+ 648, 649, 269, 91, 650, 352, 25, 651, 652, 407,
+ 304, 653, 62, 654, 655, 432, 278, 656, 60, 727,
+ 45, 657, 283, 741, 728, 658, 659, 660, 701, 661,
+ 285, 662, 409, 663, 689, 690, 408, 376, 378, 542,
+ 292, 410, 393, 250, 594, 664, 326, 346, 282, 732,
+ 665, 270, 530, 531, 532, 533, 713, 538, 537, 284,
+ 289, 277, 433, 271, 666, 667, 668, 669, 670, 318,
+ 686, 671, 672, 332, 598, 734, 494, 49, 673, 674,
+ 675, 676, 677, 312, 307, 427, 436, 67, 92, 390,
+ 678, 679, 711, 340, 337, 43, 305, 99, 474, 476,
+ 477, 478, 479, 480, 475, 482, 680, 329, 61, 735,
+ 736, 737, 299, 738, 522, 523, 524, 525, 13, 576,
+ 559, 587, 560, 577, 561, 570, 562, 578, 586, 588,
+ 543, 551, 544, 552, 582, 565, 579, 571, 564, 563,
+ 585, 568, 572, 545, 553, 583, 569, 546, 554, 547,
+ 555, 548, 556, 581, 580, 573, 584, 549, 557, 575,
+ 550, 558, 574, 566, 567, 445, 745, 746, 517, 412,
+ 139, 309, 310, 53, 363, 291, 681, 322, 682, 353,
+ 354, 490, 491, 368, 339, 364, 698, 330, 696, 293,
+ 413, 495, 279, 683, 435, 306, 385, 131, 391, 323,
+ 599, 535, 298, 414, 710, 597, 526, 527, 361, 358,
+ 300, 528, 684, 386, 700, 415, 254, 294, 295, 685,
+ 697, 416, 417, 316, 418, 419, 420, 421, 422, 424,
+ 327, 423, 699, 693, 694, 301, 473, 596, 335, 356,
+ 392, 455, 456, 457, 458, 459, 460, 461, 462, 463,
+ 464, 465, 466, 467, 468, 469, 470, 471, 472, 492,
+ 252, -79, 252, -190, -301, -130, 702, 704, 191, -272,
+ 396, -290, 398, 411, 406, 416, 404, -281, 407, 409,
+ 292, -403, 426, 252, 413, 239, 399, 408, 417, 418,
+ 316, 424, 419, 327, 423, 301, 420, 421, 422, -387,
+ 191, 723, 738, 330, 148, 360, 403, 401, 427, 702,
+ 100, -307, 100, 101, 102, -294, 330, -310, 335, -295,
+ -387, -294, 333, -79, -79, -312, -312, -130, -210, -145,
+ 156, -159, -261, -162, 101, -150, -153, -204, -205, -206,
+ -207, -160, -220, -259, 180, 181, 188, 157, -216, -163,
+ 29, 589, 485, 484, 191, 34, 234, 77, 78, 487,
+ 488, 159, 63, 15, 450, 451, -161, 440, 441, 452,
+ 446, 447, 513, 515, 516, 517, 514, 519, 520, 521,
+ 522, 523, 524, 525, 526, 527, 528, 518, 529, 490,
+ 491, 129, 492, 117, 119, 118, 127, 128, 493, 494,
+ 495, 357, 541, 542, 536, 539, 540, 538, 537, 372,
+ 373, 496, 559, 560, 564, 563, 561, 562, 565, 568,
+ 569, 570, 571, 572, 573, 575, 574, 566, 567, 544,
+ 543, 545, 546, 547, 548, 549, 550, 552, 551, 553,
+ 554, 555, 556, 557, 558, 576, 577, 578, 579, 580,
+ 582, 581, 586, 585, 583, 584, 588, 587, 497, 498,
+ 120, 121, 122, 123, 124, 125, 126, 499, 502, 500,
+ 501, 503, 504, 505, 510, 511, 506, 507, 508, 509,
+ 512, 383, 381, 382, 378, 377, 376, -89, -102, 616,
+ 615, -103, 437, 442, 443, 445, -151, -152, -165, -166,
+ -295, -301, 257, 439, 251, 186, 483, -154, -148, -218,
+ 116, 102, -31, -214, 438, 448, 449, 453, 444, 454,
+ 602, 604, 619, 620, 622, 607, 612, 611, 614, 530,
+ 531, 532, 533, 534, 535, 687, 688, 689, 690, 691,
+ 692, 693, 694, -387, -294, 100, -157, -155, -199, 103,
+ 108, 111, 112, 114, -409, 275, 353, 354, 130, -419,
+ 716, -156, 105, 106, 107, 132, 133, 192, 193, 194,
+ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
+ 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
+ 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 98,
+ 104, 50, 412, 412, -190, -79, -79, -79, -79, -416,
+ 719, 594, -230, -128, -232, -33, -31, -419, 12, -79,
+ -31, -32, -30, -36, -38, 621, -37, -301, 109, -237,
+ -253, 16, 67, 175, 48, 56, -235, -236, -34, -31,
+ -145, 23, 41, 27, -132, 182, -145, -301, -132, -279,
+ 256, -79, -79, -268, -315, 330, -270, 427, 702, 426,
+ -260, -273, 100, -259, -272, 425, 101, -357, 172, -343,
+ -347, -295, 267, -373, 263, -190, -366, -365, -295, -419,
+ -129, -289, 253, 261, 260, 149, -390, 152, 309, 439,
+ 251, -53, -54, -55, -272, 190, 722, -111, 284, 288,
+ 96, 96, -347, -346, -345, -391, 288, 267, -372, -364,
+ 259, 268, -353, 260, 261, -348, 253, 150, -391, -348,
+ 258, 268, 263, 267, 288, 288, 139, 288, 139, 288,
+ 288, 288, 288, 288, 288, 288, 288, 288, 283, -354,
+ 164, -354, 597, 597, -360, -391, 263, 253, -391, -391,
+ 259, -291, -348, 255, 28, 255, 38, 38, -354, -354,
+ -354, -272, 190, -354, -354, -354, -354, 296, 296, -354,
-354, -354, -354, -354, -354, -354, -354, -354, -354, -354,
- -354, -354, -354, -354, -354, 252, -390, -137, 422, 316,
- 90, -56, 298, -39, -190, -289, 253, 254, -390, 285,
- -190, 235, 252, 704, -283, 172, 19, -283, -280, 411,
- 409, 396, 401, -283, -283, -283, -283, 299, 394, -349,
- 253, 38, 264, 411, 299, 394, 299, 300, 299, 300,
- 404, 414, 299, -306, 18, 175, 438, 399, 403, 292,
- 252, 293, 254, 413, 300, -306, 98, -284, 172, 299,
- 411, 405, 295, -283, -283, -313, -419, -297, -295, -293,
- 244, 41, 155, 28, 30, 158, 191, 142, 23, 159,
- 40, 246, 360, 263, 190, 259, 483, 239, 81, 601,
- 439, 446, 437, 445, 449, 485, 486, 438, 397, 34,
- 17, 603, 31, 273, 27, 44, 184, 241, 162, 604,
- 276, 29, 274, 129, 133, 606, 26, 84, 268, 18,
- 261, 46, 20, 607, 608, 21, 74, 257, 256, 175,
- 253, 79, 15, 234, 32, 171, 75, 609, 150, 145,
- 610, 611, 612, 613, 143, 77, 172, 24, 741, 447,
- 448, 36, 702, 588, 287, 186, 82, 65, 703, 156,
- 443, 614, 615, 130, 616, 134, 85, 708, 152, 22,
- 80, 48, 617, 288, 618, 258, 742, 619, 429, 620,
- 173, 242, 482, 78, 174, 715, 621, 716, 251, 410,
- 12, 488, 35, 272, 260, 73, 72, 141, 76, 453,
- 622, 252, 161, 255, 144, 132, 11, 149, 37, 16,
- 83, 86, 450, 451, 452, 63, 140, 592, 160, 19,
- 623, 430, 154, -387, 704, -313, -313, 299, 35, 101,
- -413, -414, -415, 592, 429, 255, -295, -190, -85, 694,
- 243, -86, 700, 41, 250, -135, 411, -123, 191, 722,
- 705, 706, 707, 704, 408, 712, 710, 708, 299, 709,
- 96, 152, 154, 155, 4, -145, 171, -200, -201, 170,
- 164, 165, 166, 167, 168, 169, 176, 175, 156, 158,
- 172, -246, 153, 177, 178, 179, 180, 181, 182, 183,
- 185, 184, 186, 187, 173, 174, 190, 237, 238, -153,
- -153, -153, -153, -216, -222, -221, -419, -218, -387, -294,
- -301, -419, -419, -153, -278, -419, -150, -419, -419, -419,
- -419, -419, -225, -145, -419, -419, -423, -419, -423, -423,
- -423, -332, -419, -332, -332, -419, -419, -419, -419, -419,
+ -354, -354, -354, -354, -354, -354, 252, -390, -137, 423,
+ 316, 90, -56, 298, -39, -190, -289, 253, 254, -390,
+ 285, -190, 235, 252, 705, -283, 172, 19, -283, -280,
+ 412, 410, 397, 402, -283, -283, -283, -283, 299, 395,
+ -349, 253, 38, 264, 412, 299, 395, 299, 300, 299,
+ 300, 405, 415, 299, -306, 18, 175, 439, 400, 404,
+ 292, 252, 293, 254, 414, 300, -306, 98, -284, 172,
+ 299, 412, 406, 295, -283, -283, -313, -419, -297, -295,
+ -293, 244, 41, 155, 28, 30, 158, 191, 142, 23,
+ 159, 40, 246, 360, 263, 190, 259, 484, 239, 81,
+ 602, 440, 447, 438, 446, 450, 486, 487, 439, 398,
+ 34, 17, 604, 31, 273, 27, 44, 184, 241, 162,
+ 605, 276, 29, 274, 129, 133, 607, 26, 84, 268,
+ 18, 261, 46, 20, 608, 609, 21, 74, 257, 256,
+ 175, 253, 79, 15, 234, 32, 171, 75, 610, 150,
+ 145, 611, 612, 613, 614, 143, 77, 172, 24, 742,
+ 448, 449, 36, 703, 589, 287, 186, 82, 65, 704,
+ 156, 444, 615, 616, 130, 617, 134, 85, 709, 152,
+ 22, 80, 48, 618, 288, 619, 258, 743, 620, 430,
+ 621, 173, 242, 483, 78, 174, 716, 622, 717, 251,
+ 411, 12, 489, 35, 272, 260, 73, 72, 141, 76,
+ 454, 623, 252, 161, 255, 144, 132, 11, 149, 37,
+ 16, 83, 86, 451, 452, 453, 63, 140, 593, 160,
+ 19, 624, 431, 154, -387, 705, -313, -313, 299, 35,
+ 101, -413, -414, -415, 593, 430, 255, -295, -190, -85,
+ 695, 243, -86, 701, 41, 250, -135, 412, -123, 191,
+ 723, 706, 707, 708, 705, 409, 713, 711, 709, 299,
+ 710, 96, 152, 154, 155, 4, -145, 171, -200, -201,
+ 170, 164, 165, 166, 167, 168, 169, 176, 175, 156,
+ 158, 172, -246, 153, 177, 178, 179, 180, 181, 182,
+ 183, 185, 184, 186, 187, 173, 174, 190, 237, 238,
+ -153, -153, -153, -153, -216, -222, -221, -419, -218, -387,
+ -294, -301, -419, -419, -153, -278, -419, -150, -419, -419,
+ -419, -419, -419, -225, -145, -419, -419, -423, -419, -423,
+ -423, -423, -332, -419, -332, -332, -419, -419, -419, -419,
-419, -419, -419, -419, -419, -419, -419, -419, -419, -419,
-419, -419, -419, -419, -419, -419, -419, -419, -419, -419,
-419, -419, -419, -419, -419, -419, -419, -419, -419, -419,
@@ -9113,688 +9128,690 @@ var yyChk = [...]int{
-419, -419, -419, -419, -419, -419, -419, -419, -419, -419,
-419, -419, -419, -419, -419, -419, -419, -419, -419, -419,
-419, -419, -419, -419, -419, -419, -419, -419, -419, -419,
- 235, -419, -419, -419, -419, -419, -332, -332, -332, -332,
- -332, -332, -419, -419, -419, -419, -419, -419, -419, -419,
- -419, -419, -419, -419, -419, -419, 98, 112, 108, 111,
- 103, -220, 114, 98, 98, 98, 98, -31, -32, -210,
- -419, -312, -400, -401, -193, -190, -419, 316, -295, -295,
- 285, 105, -235, -34, -31, -230, -236, -232, -31, -79,
- -121, -134, 69, 70, -133, -136, 27, 44, 74, 76,
- 99, 72, 73, 71, 41, -420, 97, -420, -253, -420,
- 96, -38, -256, 95, 648, 678, 648, 678, 67, 49,
- 98, 98, 96, 25, -231, -233, -145, 18, -299, 4,
- -298, 28, -295, 98, 235, 18, -191, 32, -190, -279,
- -279, 96, 100, 330, -269, -271, 427, 429, 164, -300,
- -295, 98, 34, 97, 96, -190, -321, -324, -326, -325,
- -327, -322, -323, 357, 358, 191, 361, 363, 364, 365,
- 366, 367, 368, 369, 370, 371, 374, 35, 275, 353,
- 354, 355, 356, 375, 376, 377, 378, 380, 381, 382,
- 383, 338, 359, 590, 339, 340, 341, 342, 343, 344,
- 346, 347, 350, 348, 349, 351, 352, -296, -295, 95,
- 97, 96, -331, 95, -145, -137, 252, -295, 253, 253,
- 253, -79, 482, -354, -354, -354, 283, 23, -46, -43,
- -380, 22, -42, -43, 244, 135, 136, 241, 95, -343,
- 95, -352, -296, -295, 95, 150, 258, 149, -351, -348,
- -351, -352, -295, -218, -295, 150, 150, -295, -295, -265,
- -295, -265, -265, 41, -265, 41, -265, 41, 105, -295,
- -265, 41, -265, 41, -265, 41, -265, 41, -265, 41,
- 34, 87, 88, 89, 34, 91, 92, 93, -218, -295,
- -295, -218, -343, -218, -190, -295, -272, 105, 105, 105,
- -354, -354, 105, 98, 98, 98, -354, -354, 105, 98,
- -303, -301, 98, 98, -392, 269, 313, 315, 105, 105,
- 105, 105, 34, 98, -393, 34, 729, 728, 730, 731,
- 732, 98, 105, 34, 105, 34, 105, -295, 95, -190,
- -143, 303, 239, 241, 244, 85, 98, 319, 320, 317,
- 322, 323, 324, 164, 50, 96, 255, 252, -295, -285,
- 257, -285, -295, -302, -301, -293, -190, 255, 393, 98,
- -145, -350, 18, 175, -306, -306, -283, -190, -350, -306,
- -283, -190, -283, -283, -283, -283, -306, -306, -306, -283,
- -301, -301, -190, -190, -190, -190, -190, -190, -190, -313,
- -284, -283, 704, 98, -277, 18, 85, -313, -313, -292,
- 26, 96, 336, 430, 431, -311, 333, -81, -295, 98,
- -10, -29, -18, -17, -19, 164, -10, 96, 592, -183,
- -190, 704, 704, 704, 704, 704, 704, -145, -145, -145,
- -145, 616, -208, -411, 156, 132, 133, 130, 131, -162,
- 42, 43, 41, -145, -209, -214, -216, 115, 175, 158,
- 172, -246, -150, -153, -150, -150, -150, -150, -150, -150,
- 234, -150, 234, -150, -150, -150, -150, -150, -150, -314,
- -295, 98, 191, -158, -157, 114, -409, -158, 589, 96,
- -221, 235, -145, -145, -387, -119, 455, 456, 457, 458,
- 460, 461, 462, 465, 466, 470, 471, 454, 472, 459,
- 464, 467, 468, 469, 463, 356, -145, -211, -210, -211,
- -145, -145, -223, -224, 160, -218, -145, -420, -420, 105,
- 182, -127, 27, 44, -127, -127, -127, -127, -145, -145,
- -145, -145, -145, -145, -145, -145, -145, -145, -127, -145,
- -120, 454, 472, 459, 464, 467, 468, 469, 463, 356,
- 473, 474, 475, 476, 477, 478, 479, 480, 481, -120,
- -119, -145, -145, -145, -145, -145, -145, -145, -145, -87,
- -145, 142, 143, 144, -210, -145, -150, -145, -145, -145,
- -420, -145, -145, -145, -211, -145, -145, -145, -145, -145,
+ -419, 235, -419, -419, -419, -419, -419, -332, -332, -332,
+ -332, -332, -332, -419, -419, -419, -419, -419, -419, -419,
+ -419, -419, -419, -419, -419, -419, -419, 98, 112, 108,
+ 111, 103, -220, 114, 98, 98, 98, 98, -31, -32,
+ -210, -419, -312, -400, -401, -193, -190, -419, 316, -295,
+ -295, 285, 105, -235, -34, -31, -230, -236, -232, -31,
+ -79, -121, -134, 69, 70, -133, -136, 27, 44, 74,
+ 76, 99, 72, 73, 71, 41, -420, 97, -420, -253,
+ -420, 96, -38, -256, 95, 649, 679, 649, 679, 67,
+ 49, 98, 98, 96, 25, -231, -233, -145, 18, -299,
+ 4, -298, 28, -295, 98, 235, 18, -191, 32, -190,
+ -279, -279, 96, 100, 330, -269, -271, 428, 430, 164,
+ -300, -295, 98, 34, 97, 96, -190, -321, -324, -326,
+ -325, -327, -322, -323, 357, 358, 191, 361, 363, 364,
+ 365, 366, 367, 368, 369, 370, 371, 374, 386, 35,
+ 275, 353, 354, 355, 356, 375, 376, 377, 378, 380,
+ 381, 382, 383, 338, 359, 591, 339, 340, 341, 342,
+ 343, 344, 346, 347, 350, 348, 349, 351, 352, -296,
+ -295, 95, 97, 96, -331, 95, -145, -137, 252, -295,
+ 253, 253, 253, -79, 483, -354, -354, -354, 283, 23,
+ -46, -43, -380, 22, -42, -43, 244, 135, 136, 241,
+ 95, -343, 95, -352, -296, -295, 95, 150, 258, 149,
+ -351, -348, -351, -352, -295, -218, -295, 150, 150, -295,
+ -295, -265, -295, -265, -265, 41, -265, 41, -265, 41,
+ 105, -295, -265, 41, -265, 41, -265, 41, -265, 41,
+ -265, 41, 34, 87, 88, 89, 34, 91, 92, 93,
+ -218, -295, -295, -218, -343, -218, -190, -295, -272, 105,
+ 105, 105, -354, -354, 105, 98, 98, 98, -354, -354,
+ 105, 98, -303, -301, 98, 98, -392, 269, 313, 315,
+ 105, 105, 105, 105, 34, 98, -393, 34, 730, 729,
+ 731, 732, 733, 98, 105, 34, 105, 34, 105, -295,
+ 95, -190, -143, 303, 239, 241, 244, 85, 98, 321,
+ 319, 320, 317, 322, 323, 324, 164, 50, 96, 255,
+ 252, -295, -285, 257, -285, -295, -302, -301, -293, -190,
+ 255, 394, 98, -145, -350, 18, 175, -306, -306, -283,
+ -190, -350, -306, -283, -190, -283, -283, -283, -283, -306,
+ -306, -306, -283, -301, -301, -190, -190, -190, -190, -190,
+ -190, -190, -313, -284, -283, 705, 98, -277, 18, 85,
+ -313, -313, -292, 26, 96, 336, 431, 432, -311, 333,
+ -81, -295, 98, -10, -29, -18, -17, -19, 164, -10,
+ 96, 593, -183, -190, 705, 705, 705, 705, 705, 705,
+ -145, -145, -145, -145, 617, -208, -411, 156, 132, 133,
+ 130, 131, -162, 42, 43, 41, -145, -209, -214, -216,
+ 115, 175, 158, 172, -246, -150, -153, -150, -150, -150,
+ -150, -150, -150, 234, -150, 234, -150, -150, -150, -150,
+ -150, -150, -314, -295, 98, 191, -158, -157, 114, -409,
+ -158, 590, 96, -221, 235, -145, -145, -387, -119, 456,
+ 457, 458, 459, 461, 462, 463, 466, 467, 471, 472,
+ 455, 473, 460, 465, 468, 469, 470, 464, 356, -145,
+ -211, -210, -211, -145, -145, -223, -224, 160, -218, -145,
+ -420, -420, 105, 182, -127, 27, 44, -127, -127, -127,
+ -127, -145, -145, -145, -145, -145, -145, -145, -145, -145,
+ -145, -127, -145, -120, 455, 473, 460, 465, 468, 469,
+ 470, 464, 356, 474, 475, 476, 477, 478, 479, 480,
+ 481, 482, -120, -119, -145, -145, -145, -145, -145, -145,
+ -145, -145, -87, -145, 142, 143, 144, -210, -145, -150,
+ -145, -145, -145, -420, -145, -145, -145, -211, -145, -145,
-145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
-145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
-145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
-145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
- -145, -386, -385, -384, -145, -145, -145, -145, -145, -145,
+ -145, -145, -145, -145, -386, -385, -384, -145, -145, -145,
-145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
- -145, -145, -145, -145, -145, -145, -145, -210, -210, -210,
- -210, -210, -145, -420, -145, -164, -148, 105, -261, 114,
- 101, -145, -145, -145, -145, -145, -145, -211, -297, -302,
- -293, -294, -210, -211, -211, -210, -210, -145, -145, -145,
- -145, -145, -145, -145, -145, -420, -145, -145, -145, -145,
- -145, -253, -420, -210, 96, -402, 429, 430, 702, -304,
- 288, -303, 28, -211, 98, 18, -263, 86, -295, -235,
- -235, 69, 70, 65, -131, -132, -136, -420, -37, 28,
- -255, -295, 641, 641, 68, 98, -333, -272, 384, 385,
- 191, -145, -145, 96, -234, 30, 31, -190, -298, 182,
- -302, -190, -264, 288, -190, -168, -170, -171, -172, -193,
- -217, -419, -173, -31, 612, 609, 18, -183, -184, -192,
- -301, -270, -315, -269, 96, 428, 430, 431, 85, 134,
- -145, -334, 190, -362, -361, -360, -343, -345, -346, -347,
- 97, -334, -339, 390, 389, -331, -331, -331, -331, -331,
- -333, -333, -333, -333, 95, 95, -331, -331, -331, -331,
- -336, 95, -336, -336, -337, -336, 95, -337, -338, 95,
- -338, -373, -145, -370, -369, -367, -368, 262, 110, 684,
- 640, 592, 633, 674, 86, -365, -234, 105, -420, -143,
- -286, 257, -371, -368, -295, -295, -295, -286, 100, 98,
- 100, 98, 100, 98, -112, -60, -1, 741, 742, 743,
- 96, 23, -344, -343, -59, 313, -376, -377, 288, -372,
- -366, -352, 150, -351, -352, -352, -295, 96, 32, 139,
- 139, 139, 139, 592, 241, 35, -287, 632, 156, 684,
- 640, -343, -59, 255, 255, -314, -314, -314, 98, 98,
- -282, 737, -183, -139, 305, 164, 294, 294, 252, 307,
- 252, 307, -190, 318, 321, 319, 320, 317, 322, 323,
- 324, 41, 41, 41, 41, 41, 41, 306, 308, 310,
- 296, -190, -190, -285, 85, -185, -190, 29, -301, 98,
- 98, -190, -283, -283, -190, -283, -283, -190, 98, -415,
- 337, -295, 371, 695, 697, -123, 429, 96, 592, 26,
- -124, 26, -419, -411, 132, 133, -216, -216, -216, -209,
- -150, -153, -150, 155, 276, -150, -150, -419, -218, -420,
- -297, 28, 96, 86, -420, 180, 96, -420, -420, 96,
- 18, 96, -226, -224, 162, -145, -420, 96, -420, -420,
- -210, -145, -145, -145, -145, -420, -420, -420, -420, -420,
- -420, -420, -420, -420, -420, -210, -420, 96, 96, 18,
- -318, 28, -420, -420, -420, -420, 96, -420, -420, -225,
- -420, 18, -420, 86, 96, 175, 96, -420, -420, -420,
- 96, 96, -420, -420, 96, -420, 96, -420, -420, -420,
- -420, -420, -420, 96, -420, 96, -420, -420, -420, 96,
+ -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
+ -210, -210, -210, -210, -210, -145, -420, -145, -164, -148,
+ 105, -261, 114, 101, -145, -145, -145, -145, -145, -145,
+ -211, -297, -302, -293, -294, -210, -211, -211, -210, -210,
+ -145, -145, -145, -145, -145, -145, -145, -145, -420, -145,
+ -145, -145, -145, -145, -253, -420, -210, 96, -402, 430,
+ 431, 703, -304, 288, -303, 28, -211, 98, 18, -263,
+ 86, -295, -235, -235, 69, 70, 65, -131, -132, -136,
+ -420, -37, 28, -255, -295, 642, 642, 68, 98, -333,
+ -272, 384, 385, 191, -145, -145, 96, -234, 30, 31,
+ -190, -298, 182, -302, -190, -264, 288, -190, -168, -170,
+ -171, -172, -193, -217, -419, -173, -31, 613, 610, 18,
+ -183, -184, -192, -301, -270, -315, -269, 96, 429, 431,
+ 432, 85, 134, -145, -334, 190, -362, -361, -360, -343,
+ -345, -346, -347, 97, -334, -339, 391, 390, -331, -331,
+ -331, -331, -331, -333, -333, -333, -333, 95, -331, 95,
+ -331, -331, -331, -331, -336, 95, -336, -336, -337, -336,
+ 95, -337, -338, 95, -338, -373, -145, -370, -369, -367,
+ -368, 262, 110, 685, 641, 593, 634, 675, 86, -365,
+ -234, 105, -420, -143, -286, 257, -371, -368, -295, -295,
+ -295, -286, 100, 98, 100, 98, 100, 98, -112, -60,
+ -1, 742, 743, 744, 96, 23, -344, -343, -59, 313,
+ -376, -377, 288, -372, -366, -352, 150, -351, -352, -352,
+ -295, 96, 32, 139, 139, 139, 139, 593, 241, 35,
+ -287, 633, 156, 685, 641, -343, -59, 255, 255, -314,
+ -314, -314, 98, 98, -282, 738, -183, -139, 305, 164,
+ 294, 294, 252, 307, 252, 307, -190, 318, 321, 319,
+ 320, 317, 322, 323, 324, 41, 41, 41, 41, 41,
+ 41, 41, 306, 308, 310, 296, -190, -190, -285, 85,
+ -185, -190, 29, -301, 98, 98, -190, -283, -283, -190,
+ -283, -283, -190, 98, -415, 337, -295, 371, 696, 698,
+ -123, 430, 96, 593, 26, -124, 26, -419, -411, 132,
+ 133, -216, -216, -216, -209, -150, -153, -150, 155, 276,
+ -150, -150, -419, -218, -420, -297, 28, 96, 86, -420,
+ 180, 96, -420, -420, 96, 18, 96, -226, -224, 162,
+ -145, -420, 96, -420, -420, -210, -145, -145, -145, -145,
+ -420, -420, -420, -420, -420, -420, -420, -420, -420, -420,
+ -210, -420, 96, 96, 18, -318, 28, -420, -420, -420,
+ -420, 96, -420, -420, -225, -420, 18, -420, 86, 96,
+ 175, 96, -420, -420, -420, 96, 96, -420, -420, 96,
+ -420, 96, -420, -420, -420, -420, -420, -420, 96, -420,
+ 96, -420, -420, -420, 96, -420, 96, -420, -420, 96,
+ -420, 96, -420, 96, -420, 96, -420, 96, -420, 96,
+ -420, 96, -420, 96, -420, 96, -420, 96, -420, 96,
+ -420, 96, -420, 96, -420, 96, -420, 96, -420, 96,
+ -420, 96, -420, 96, -420, -420, -420, 96, -420, 96,
-420, 96, -420, -420, 96, -420, 96, -420, 96, -420,
+ 96, 96, -420, 96, 96, 96, -420, 96, 96, 96,
+ 96, -420, -420, -420, -420, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 96, -420, -420, -420, -420, -420,
+ -420, 96, -94, 618, -420, -420, 96, -420, 96, 96,
+ 96, 96, 96, -420, -419, 235, -420, -420, -420, -420,
+ -420, 96, 96, 96, 96, 96, 96, -420, -420, -420,
+ 96, 96, -420, 96, -420, 96, -420, -401, 702, 431,
+ -197, -196, -194, 83, 256, 84, -419, -303, -420, -158,
+ -261, -262, -261, -203, -295, 105, 114, -237, -167, 96,
+ -169, 18, -216, 97, 96, -333, -241, -247, -280, -295,
+ 98, 191, -335, 191, -335, 384, 385, -233, 235, -198,
+ 19, -202, 35, 63, -29, -419, -419, 35, 96, -186,
+ -188, -187, -189, 75, 79, 81, 76, 77, 78, 82,
+ -309, 28, -31, -168, -31, -419, -190, -183, -421, 18,
+ 86, -421, 96, 235, -271, -274, 433, 430, 436, -387,
+ 98, -111, 96, -360, -347, -238, -140, 46, -340, 392,
+ -333, 601, -333, -342, 98, -342, 105, 105, 105, 97,
+ -49, -44, -45, 36, 90, -367, -354, 98, 45, -354,
+ -354, -295, 97, -234, -139, -190, 156, 85, -371, -371,
+ -371, -301, -2, 741, 747, 150, 95, 397, 22, -255,
+ 96, 97, -219, 314, 97, -113, -295, 97, 95, -352,
+ -352, -295, -419, 252, 34, 34, 685, 641, 633, -59,
+ -219, -218, -295, -334, 740, 739, 97, 254, 312, -144,
+ 450, -141, 98, 100, -190, -190, -190, -190, -190, -190,
+ 244, 241, 420, -410, 325, -410, 297, 255, -183, -190,
+ 96, -84, 271, 266, -306, -306, 36, -190, 430, 714,
+ 712, -145, 155, 276, -162, -153, -119, -119, -150, -316,
+ 191, 357, 275, 355, 351, 371, 362, 390, 353, 391,
+ 348, 347, 346, -316, -314, -150, -210, -145, -145, -145,
+ 163, -145, 161, -145, -95, -94, -420, -420, -420, -420,
+ -420, -95, -95, -95, -95, -95, -95, -95, -95, -95,
+ -95, -230, -145, -145, -145, -420, 191, 357, -95, -145,
+ 18, -145, -314, -145, -145, -145, -145, -145, -145, -145,
+ -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
+ -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
+ -145, -145, -145, -145, -145, -145, -145, -145, -384, -145,
+ -210, -145, -210, -145, -145, -145, -145, -145, -385, -385,
+ -385, -385, -385, -210, -210, -210, -210, -145, -419, -295,
+ -98, -97, -96, 668, 256, -94, -164, -98, -164, 234,
+ -145, 234, 234, 234, -145, -211, -297, -145, -145, -145,
+ -145, -145, -145, -145, -145, -145, -145, -194, -348, 294,
+ -348, 294, -348, -265, 96, -276, 26, 18, 63, 63,
+ -167, -198, -132, -168, -295, -244, 695, -250, 52, -248,
+ -249, 53, -245, 54, 62, -335, -335, 182, -235, -145,
+ -266, 85, -267, -275, -218, -213, -215, -214, -419, -254,
+ -420, -295, -265, -267, -170, -171, -171, -170, -171, 75,
+ 75, 75, 80, 75, 80, 75, -187, -301, -420, -145,
+ -304, 86, -168, -168, -192, -301, 182, 430, 434, 435,
+ -360, -408, 130, 156, 34, 85, 388, 110, -406, 190,
+ 630, 680, 685, 641, 634, 675, -407, 258, 149, 150,
+ 270, 28, 47, 97, 96, 97, 96, 97, 97, 96,
+ -288, -287, -45, -44, -354, -354, 105, -387, 98, 98,
+ 254, 29, -190, 85, 85, 85, -114, 745, 105, 95,
+ -3, 90, -145, 95, 23, -343, -218, -378, -328, -379,
+ -329, -330, -5, -6, -355, -117, 63, 110, -63, 50,
+ 253, 725, 726, 139, -419, 738, -370, -255, -374, -376,
+ -190, -149, -419, -161, -147, -146, -148, -154, 180, 181,
+ 275, 353, 354, -219, -190, -138, 303, 311, 95, -142,
+ 101, -389, 86, 294, 388, 294, 388, 98, -412, 326,
+ 98, -412, -190, -84, -49, -190, -283, -283, 36, -387,
+ -420, -162, -153, -126, 175, 593, -319, 600, -331, -331,
+ -331, -338, -331, 343, -331, 343, -331, -420, -420, -420,
+ 96, -420, 26, -420, 96, -145, 96, -95, -95, -95,
+ -95, -95, -122, 489, 96, 96, -420, 95, 95, -420,
+ -145, -420, -420, -420, 96, -420, -420, -420, -420, -420,
+ -420, -420, -420, -420, -420, -420, -420, -420, 96, -420,
96, -420, 96, -420, 96, -420, 96, -420, 96, -420,
96, -420, 96, -420, 96, -420, 96, -420, 96, -420,
96, -420, 96, -420, 96, -420, 96, -420, 96, -420,
- -420, -420, 96, -420, 96, -420, 96, -420, -420, 96,
- -420, 96, -420, 96, -420, 96, 96, -420, 96, 96,
- 96, -420, 96, 96, 96, 96, -420, -420, -420, -420,
- 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
- -420, -420, -420, -420, -420, -420, 96, -94, 617, -420,
- -420, 96, -420, 96, 96, 96, 96, 96, -420, -419,
- 235, -420, -420, -420, -420, -420, 96, 96, 96, 96,
- 96, 96, -420, -420, -420, 96, 96, -420, 96, -420,
- 96, -420, -401, 701, 430, -197, -196, -194, 83, 256,
- 84, -419, -303, -420, -158, -261, -262, -261, -203, -295,
- 105, 114, -237, -167, 96, -169, 18, -216, 97, 96,
- -333, -241, -247, -280, -295, 98, 191, -335, 191, -335,
- 384, 385, -233, 235, -198, 19, -202, 35, 63, -29,
- -419, -419, 35, 96, -186, -188, -187, -189, 75, 79,
- 81, 76, 77, 78, 82, -309, 28, -31, -168, -31,
- -419, -190, -183, -421, 18, 86, -421, 96, 235, -271,
- -274, 432, 429, 435, -387, 98, -111, 96, -360, -347,
- -238, -140, 46, -340, 391, -333, 600, -333, -342, 98,
- -342, 105, 105, 105, 97, -49, -44, -45, 36, 90,
- -367, -354, 98, 45, -354, -354, -295, 97, -234, -139,
- -190, 156, 85, -371, -371, -371, -301, -2, 740, 746,
- 150, 95, 396, 22, -255, 96, 97, -219, 314, 97,
- -113, -295, 97, 95, -352, -352, -295, -419, 252, 34,
- 34, 684, 640, 632, -59, -219, -218, -295, -334, 739,
- 738, 97, 254, 312, -144, 449, -141, 98, 100, -190,
- -190, -190, -190, -190, -190, 244, 241, 419, -410, 325,
- -410, 297, 255, -183, -190, 96, -84, 271, 266, -306,
- -306, 36, -190, 429, 713, 711, -145, 155, 276, -162,
- -153, -119, -119, -150, -316, 191, 357, 275, 355, 351,
- 371, 362, 389, 353, 390, 348, 347, 346, -316, -314,
- -150, -210, -145, -145, -145, 163, -145, 161, -145, -95,
- -94, -420, -420, -420, -420, -420, -95, -95, -95, -95,
- -95, -95, -95, -95, -95, -95, -230, -145, -145, -145,
- -420, 191, 357, -95, -145, 18, -145, -314, -145, -145,
- -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
+ -420, 96, -420, -420, -420, 96, -420, 96, -420, 96,
+ -420, -420, -420, 96, -317, 686, -420, -420, -420, -420,
+ -420, -420, -420, -420, -420, -420, -420, -93, -296, -94,
+ 650, 650, -420, -94, -227, 96, -150, -420, -150, -150,
+ -150, -420, -420, -420, 96, -420, 96, 96, -420, 96,
+ -420, 96, -420, -420, -420, -420, 96, -195, 26, -419,
+ -195, -419, -195, -420, -261, -190, -198, -228, 20, -241,
+ 57, 363, -252, -251, 61, 53, -249, 23, 55, 23,
+ 33, -266, 96, 164, -308, 96, 28, -420, -420, 96,
+ 63, 235, -420, -198, -181, -180, 85, 86, -182, 85,
+ -180, 75, 75, -256, 96, -264, -168, -198, -198, 235,
+ 130, -419, -149, 16, 98, 98, -387, -405, 729, 730,
+ 34, 105, -354, -354, 150, 150, -190, 95, -333, 98,
+ -333, 105, 105, 34, 91, 92, 93, 34, 87, 88,
+ 89, -190, -190, -190, -190, -375, 95, 23, -145, 95,
+ 164, 97, -255, -255, 290, 175, -354, 723, 296, 296,
+ -354, -354, -354, -116, -115, 745, 97, -420, 96, -341,
+ 593, 596, -145, -155, -155, -256, 97, -383, 593, -388,
+ -295, -295, -295, -295, 105, 107, -420, 591, 82, 594,
+ -420, -333, -145, -145, -145, -145, -235, 98, -145, -145,
+ 105, 105, -95, -420, -145, -145, -145, -145, -145, -145,
-145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
- -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
- -145, -145, -145, -384, -145, -210, -145, -210, -145, -145,
- -145, -145, -145, -385, -385, -385, -385, -385, -210, -210,
- -210, -210, -145, -419, -295, -98, -97, -96, 667, 256,
- -94, -164, -98, -164, 234, -145, 234, 234, 234, -145,
- -211, -297, -145, -145, -145, -145, -145, -145, -145, -145,
- -145, -145, -194, -348, 294, -348, 294, -348, -265, 96,
- -276, 26, 18, 63, 63, -167, -198, -132, -168, -295,
- -244, 694, -250, 52, -248, -249, 53, -245, 54, 62,
- -335, -335, 182, -235, -145, -266, 85, -267, -275, -218,
- -213, -215, -214, -419, -254, -420, -295, -265, -267, -170,
- -171, -171, -170, -171, 75, 75, 75, 80, 75, 80,
- 75, -187, -301, -420, -145, -304, 86, -168, -168, -192,
- -301, 182, 429, 433, 434, -360, -408, 130, 156, 34,
- 85, 387, 110, -406, 190, 629, 679, 684, 640, 633,
- 674, -407, 258, 149, 150, 270, 28, 47, 97, 96,
- 97, 96, 97, 97, 96, -288, -287, -45, -44, -354,
- -354, 105, -387, 98, 98, 254, 29, -190, 85, 85,
- 85, -114, 744, 105, 95, -3, 90, -145, 95, 23,
- -343, -218, -378, -328, -379, -329, -330, -5, -6, -355,
- -117, 63, 110, -63, 50, 253, 724, 725, 139, -419,
- 737, -370, -255, -374, -376, -190, -149, -419, -161, -147,
- -146, -148, -154, 180, 181, 275, 353, 354, -219, -190,
- -138, 303, 311, 95, -142, 101, -389, 86, 294, 387,
- 294, 387, 98, -412, 326, 98, -412, -190, -84, -49,
- -190, -283, -283, 36, -387, -420, -162, -153, -126, 175,
- 592, -319, 599, -331, -331, -331, -338, -331, 343, -331,
- 343, -331, -420, -420, -420, 96, -420, 26, -420, 96,
- -145, 96, -95, -95, -95, -95, -95, -122, 488, 96,
- 96, -420, 95, 95, -420, -145, -420, -420, -420, 96,
+ -145, -145, -145, -145, -210, -145, -420, -178, -177, -179,
+ 706, 130, 34, -316, -420, -212, 288, -101, -100, -99,
+ 18, -420, -145, -119, -119, -119, -119, -145, -145, -145,
+ -145, -145, -145, -419, 75, 22, 20, -258, -295, 258,
+ -419, -258, -419, -304, -228, -229, 21, 23, -242, 59,
+ -240, 58, -240, -251, 23, 23, 98, 23, 98, 150,
+ -275, -145, -215, -303, 63, -29, -295, -213, -295, -230,
+ -145, 95, -145, -158, -198, -198, -145, -205, 513, 515,
+ 516, 517, 514, 519, 520, 521, 522, 523, 524, 525,
+ 526, 527, 528, 518, 529, 490, 491, 492, 117, 119,
+ 118, 127, 128, 493, 494, 495, 357, 541, 542, 536,
+ 539, 540, 538, 537, 372, 373, 496, 559, 560, 564,
+ 563, 561, 562, 565, 568, 569, 570, 571, 572, 573,
+ 575, 574, 566, 567, 544, 543, 545, 546, 547, 548,
+ 549, 550, 552, 551, 553, 554, 555, 556, 557, 558,
+ 576, 577, 578, 579, 580, 582, 581, 586, 585, 583,
+ 584, 588, 587, 497, 498, 120, 121, 122, 123, 124,
+ 125, 126, 499, 502, 500, 503, 504, 505, 510, 511,
+ 506, 507, 508, 509, 512, 383, 381, 382, 378, 377,
+ 376, 437, 442, 443, 445, 530, 531, 532, 533, 534,
+ 535, 687, 688, 689, 690, 691, 692, 693, 694, 98,
+ 98, 95, -145, 97, 97, -256, -374, -60, 97, -257,
+ -255, 105, 97, 291, -214, -419, 98, -354, -354, -354,
+ 105, 105, -303, -420, 96, -295, -407, -376, 597, 597,
+ -420, 28, -382, -381, -297, 95, 86, 68, 592, 595,
+ -420, -420, -420, 96, -420, -420, -420, 97, 97, -420,
-420, -420, -420, -420, -420, -420, -420, -420, -420, -420,
- -420, -420, -420, 96, -420, 96, -420, 96, -420, 96,
- -420, 96, -420, 96, -420, 96, -420, 96, -420, 96,
- -420, 96, -420, 96, -420, 96, -420, 96, -420, 96,
- -420, 96, -420, 96, -420, -420, 96, -420, -420, -420,
- 96, -420, 96, -420, 96, -420, -420, -420, 96, -317,
- 685, -420, -420, -420, -420, -420, -420, -420, -420, -420,
- -420, -420, -93, -296, -94, 649, 649, -420, -94, -227,
- 96, -150, -420, -150, -150, -150, -420, -420, -420, 96,
- -420, 96, 96, -420, 96, -420, 96, -420, -420, -420,
- -420, 96, -195, 26, -419, -195, -419, -195, -420, -261,
- -190, -198, -228, 20, -241, 57, 363, -252, -251, 61,
- 53, -249, 23, 55, 23, 33, -266, 96, 164, -308,
- 96, 28, -420, -420, 96, 63, 235, -420, -198, -181,
- -180, 85, 86, -182, 85, -180, 75, 75, -256, 96,
- -264, -168, -198, -198, 235, 130, -419, -149, 16, 98,
- 98, -387, -405, 728, 729, 34, 105, -354, -354, 150,
- 150, -190, 95, -333, 98, -333, 105, 105, 34, 91,
- 92, 93, 34, 87, 88, 89, -190, -190, -190, -190,
- -375, 95, 23, -145, 95, 164, 97, -255, -255, 290,
- 175, -354, 722, 296, 296, -354, -354, -354, -116, -115,
- 744, 97, -420, 96, -341, 592, 595, -145, -155, -155,
- -256, 97, -383, 592, -388, -295, -295, -295, -295, 105,
- 107, -420, 590, 82, 593, -420, -333, -145, -145, -145,
- -145, -235, 98, -145, -145, 105, 105, -95, -420, -145,
- -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
- -145, -145, -145, -145, -145, -145, -145, -145, -145, -210,
- -145, -420, -178, -177, -179, 705, 130, 34, -316, -420,
- -212, 288, -101, -100, -99, 18, -420, -145, -119, -119,
- -119, -119, -145, -145, -145, -145, -145, -145, -419, 75,
- 22, 20, -258, -295, 258, -419, -258, -419, -304, -228,
- -229, 21, 23, -242, 59, -240, 58, -240, -251, 23,
- 23, 98, 23, 98, 150, -275, -145, -215, -303, 63,
- -29, -295, -213, -295, -230, -145, 95, -145, -158, -198,
- -198, -145, -205, 512, 514, 515, 516, 513, 518, 519,
- 520, 521, 522, 523, 524, 525, 526, 527, 517, 528,
- 489, 490, 491, 117, 119, 118, 127, 128, 492, 493,
- 494, 357, 540, 541, 535, 538, 539, 537, 536, 372,
- 373, 495, 558, 559, 563, 562, 560, 561, 564, 567,
- 568, 569, 570, 571, 572, 574, 573, 565, 566, 543,
- 542, 544, 545, 546, 547, 548, 549, 551, 550, 552,
- 553, 554, 555, 556, 557, 575, 576, 577, 578, 579,
- 581, 580, 585, 584, 582, 583, 587, 586, 496, 497,
- 120, 121, 122, 123, 124, 125, 126, 498, 501, 499,
- 502, 503, 504, 509, 510, 505, 506, 507, 508, 511,
- 383, 381, 382, 378, 377, 376, 436, 441, 442, 444,
- 529, 530, 531, 532, 533, 534, 686, 687, 688, 689,
- 690, 691, 692, 693, 98, 98, 95, -145, 97, 97,
- -256, -374, -60, 97, -257, -255, 105, 97, 291, -214,
- -419, 98, -354, -354, -354, 105, 105, -303, -420, 96,
- -295, -407, -376, 596, 596, -420, 28, -382, -381, -297,
- 95, 86, 68, 591, 594, -420, -420, -420, 96, -420,
- -420, -420, 97, 97, -420, -420, -420, -420, -420, -420,
-420, -420, -420, -420, -420, -420, -420, -420, -420, -420,
- -420, -420, -420, -420, -420, -420, 96, -420, -177, -179,
- -420, 85, -158, -230, 23, -98, 313, 315, -98, -420,
- -420, -420, -420, -420, 96, -420, -420, 96, -420, 96,
- -420, -420, -258, -420, 23, 23, 96, -420, -258, -420,
- -258, -197, -229, -108, -107, -106, 623, -145, -210, -243,
- 60, 85, 134, 98, 98, 98, 16, -419, -213, 235,
- -308, -235, -255, -175, 396, -230, -420, -255, 97, 28,
- 97, 746, 150, 97, -214, -125, -419, 287, -303, 98,
- 98, -115, -118, -29, 96, 164, -255, -190, 68, -145,
- -210, -420, 85, 604, 705, -92, -91, -88, 716, 742,
- -210, -94, -94, -145, -145, -145, -420, -295, 258, -420,
- -420, -108, 96, -105, -104, -295, -320, 592, 85, 134,
- -267, -255, -308, -295, 97, -420, -419, -235, 97, -239,
- -29, 95, -3, 287, -328, -379, -329, -330, -5, -6,
- -355, -82, 592, -381, -359, -301, -297, 98, 105, 97,
- 592, -420, -420, -90, 158, 714, 682, -155, 234, -420,
- 96, -420, 96, -420, 96, -106, 96, 28, 597, -420,
- -304, -176, -174, -295, 646, -398, -397, 588, -408, -404,
- 130, 156, 110, -406, 684, 640, 140, 141, -82, -145,
- 95, -420, -83, 302, 701, 235, -389, 593, -90, 715,
- 660, 635, 660, 635, -150, -145, -145, -145, -104, -419,
- -420, 96, 26, -321, -62, 657, -395, -396, 85, -399,
- 402, 656, 677, 130, 98, 97, -255, 263, -302, -383,
- 594, 155, -119, -420, 96, -420, 96, -420, -93, -174,
- 653, -334, -158, -396, 85, -395, 85, 17, 16, -4,
- 745, 97, 304, -90, 660, 635, -145, -145, -420, -61,
- 29, -175, -394, 271, 266, 269, 35, -394, 105, -4,
- -420, -420, 657, 265, 34, 130, -158, -178, -177, -177,
+ -420, 96, -420, -177, -179, -420, 85, -158, -230, 23,
+ -98, 313, 315, -98, -420, -420, -420, -420, -420, 96,
+ -420, -420, 96, -420, 96, -420, -420, -258, -420, 23,
+ 23, 96, -420, -258, -420, -258, -197, -229, -108, -107,
+ -106, 624, -145, -210, -243, 60, 85, 134, 98, 98,
+ 98, 16, -419, -213, 235, -308, -235, -255, -175, 397,
+ -230, -420, -255, 97, 28, 97, 747, 150, 97, -214,
+ -125, -419, 287, -303, 98, 98, -115, -118, -29, 96,
+ 164, -255, -190, 68, -145, -210, -420, 85, 605, 706,
+ -92, -91, -88, 717, 743, -210, -94, -94, -145, -145,
+ -145, -420, -295, 258, -420, -420, -108, 96, -105, -104,
+ -295, -320, 593, 85, 134, -267, -255, -308, -295, 97,
+ -420, -419, -235, 97, -239, -29, 95, -3, 287, -328,
+ -379, -329, -330, -5, -6, -355, -82, 593, -381, -359,
+ -301, -297, 98, 105, 97, 593, -420, -420, -90, 158,
+ 715, 683, -155, 234, -420, 96, -420, 96, -420, 96,
+ -106, 96, 28, 598, -420, -304, -176, -174, -295, 647,
+ -398, -397, 589, -408, -404, 130, 156, 110, -406, 685,
+ 641, 140, 141, -82, -145, 95, -420, -83, 302, 702,
+ 235, -389, 594, -90, 716, 661, 636, 661, 636, -150,
+ -145, -145, -145, -104, -419, -420, 96, 26, -321, -62,
+ 658, -395, -396, 85, -399, 403, 657, 678, 130, 98,
+ 97, -255, 263, -302, -383, 595, 155, -119, -420, 96,
+ -420, 96, -420, -93, -174, 654, -334, -158, -396, 85,
+ -395, 85, 17, 16, -4, 746, 97, 304, -90, 661,
+ 636, -145, -145, -420, -61, 29, -175, -394, 271, 266,
+ 269, 35, -394, 105, -4, -420, -420, 658, 265, 34,
+ 130, -158, -178, -177, -177,
}
var yyDef = [...]int{
- 883, -2, -2, 885, 2, 4, 5, 6, 7, 8,
+ 885, -2, -2, 887, 2, 4, 5, 6, 7, 8,
9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
- 39, 70, 72, 73, 883, 883, 883, 0, 883, 0,
- 0, 883, -2, -2, 883, 1638, 0, 883, 0, 878,
- 0, -2, 800, 806, 0, 815, -2, 0, 0, 883,
- 883, 2274, 2274, 878, 0, 0, 0, 0, 0, 883,
- 883, 883, 883, 1643, 1496, 50, 883, 0, 85, 86,
- 833, 834, 835, 65, 0, 2272, 884, 1, 3, 71,
- 75, 0, 0, 0, 58, 1505, 0, 78, 0, 0,
- 887, 0, 0, 1621, 883, 883, 0, 126, 127, 0,
+ 39, 70, 72, 73, 885, 885, 885, 0, 885, 0,
+ 0, 885, -2, -2, 885, 1640, 0, 885, 0, 880,
+ 0, -2, 802, 808, 0, 817, -2, 0, 0, 885,
+ 885, 2277, 2277, 880, 0, 0, 0, 0, 0, 885,
+ 885, 885, 885, 1645, 1498, 50, 885, 0, 85, 86,
+ 835, 836, 837, 65, 0, 2275, 886, 1, 3, 71,
+ 75, 0, 0, 0, 58, 1507, 0, 78, 0, 0,
+ 889, 0, 0, 1623, 885, 885, 0, 126, 127, 0,
0, 0, -2, 130, -2, 159, 160, 161, 0, 166,
- 607, 526, 578, 524, 563, -2, 512, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 529,
- 401, 401, 0, 0, -2, 512, 512, 512, 1623, 0,
- 0, 0, 560, 463, 401, 401, 401, 0, 401, 401,
- 401, 401, 0, 0, 401, 401, 401, 401, 401, 401,
- 401, 401, 401, 401, 401, 401, 401, 401, 401, 401,
- 401, 1523, 165, 1639, 1636, 1637, 1799, 1800, 1801, 1802,
- 1803, 1804, 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812,
- 1813, 1814, 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1822,
- 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1830, 1831, 1832,
- 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1841, 1842,
- 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852,
- 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862,
- 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1870, 1871, 1872,
- 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1882,
- 1883, 1884, 1885, 1886, 1887, 1888, 1889, 1890, 1891, 1892,
- 1893, 1894, 1895, 1896, 1897, 1898, 1899, 1900, 1901, 1902,
- 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910, 1911, 1912,
- 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921, 1922,
- 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930, 1931, 1932,
- 1933, 1934, 1935, 1936, 1937, 1938, 1939, 1940, 1941, 1942,
- 1943, 1944, 1945, 1946, 1947, 1948, 1949, 1950, 1951, 1952,
- 1953, 1954, 1955, 1956, 1957, 1958, 1959, 1960, 1961, 1962,
- 1963, 1964, 1965, 1966, 1967, 1968, 1969, 1970, 1971, 1972,
- 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982,
- 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992,
- 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
- 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012,
- 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022,
- 2023, 2024, 2025, 2026, 2027, 2028, 2029, 2030, 2031, 2032,
- 2033, 2034, 2035, 2036, 2037, 2038, 2039, 2040, 2041, 2042,
- 2043, 2044, 2045, 2046, 2047, 2048, 2049, 2050, 2051, 2052,
- 2053, 2054, 2055, 2056, 2057, 2058, 2059, 2060, 2061, 2062,
- 2063, 2064, 2065, 2066, 2067, 2068, 2069, 2070, 2071, 2072,
- 2073, 2074, 2075, 2076, 2077, 2078, 2079, 2080, 2081, 2082,
- 2083, 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092,
- 2093, 2094, 2095, 2096, 2097, 2098, 2099, 2100, 2101, 2102,
- 2103, 2104, 2105, 2106, 2107, 2108, 2109, 2110, 2111, 2112,
- 2113, 2114, 2115, 2116, 2117, 2118, 2119, 2120, 2121, 2122,
- 2123, 2124, 2125, 2126, 2127, 2128, 2129, 2130, 2131, 2132,
- 2133, 2134, 2135, 2136, 2137, 2138, 2139, 2140, 2141, 2142,
- 2143, 2144, 2145, 2146, 2147, 2148, 2149, 2150, 2151, 2152,
- 2153, 2154, 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2162,
- 2163, 2164, 2165, 2166, 2167, 2168, 2169, 2170, 2171, 2172,
- 2173, 2174, 2175, 2176, 2177, 2178, 2179, 2180, 2181, 2182,
- 2183, 2184, 2185, 2186, 2187, 2188, 2189, 2190, 2191, 2192,
- 2193, 2194, 2195, 2196, 2197, 2198, 2199, 2200, 2201, 2202,
- 2203, 2204, 2205, 2206, 2207, 2208, 2209, 2210, 2211, 2212,
- 2213, 2214, 2215, 2216, 2217, 2218, 2219, 2220, 2221, 2222,
- 2223, 2224, 2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232,
- 2233, 2234, 2235, 2236, 2237, 2238, 2239, 2240, 2241, 2242,
- 2243, 2244, 2245, 2246, 2247, 2248, 2249, 2250, 2251, 2252,
- 2253, 2254, 2255, 2256, 2257, 2258, 2259, 2260, 2261, 2262,
- 2263, 2264, 2265, 2266, 2267, 2268, 2269, 2270, 2271, 0,
- 1615, 0, 720, 987, 0, 879, 880, 0, 789, 789,
- 0, 789, 789, 789, 789, 0, 0, 0, 734, 0,
- 0, 0, 0, 786, 0, 750, 751, 0, 786, 0,
- 757, 792, 0, 0, 764, 789, 789, 767, 2275, 0,
- 2275, 2275, 0, 1606, 0, 783, 781, 795, 796, 42,
- 799, 802, 803, 804, 805, 808, 0, 819, 822, 1632,
- 1633, 0, 824, 829, 846, 847, 0, 45, 1147, 0,
- 1011, 0, 1022, -2, 1033, 1050, 1051, 1052, 1053, 1054,
- 1056, 1057, 1058, 0, 0, 0, 0, 1063, 1064, 0,
- 0, 0, 0, 0, 1127, 0, 0, 0, 0, 2001,
- 1467, 0, 0, 1429, 1429, 1163, 1429, 1429, 1431, 1431,
- 1431, 1852, 1993, 2002, 2181, 1813, 1819, 1820, 1821, 2127,
- 2128, 2129, 2130, 2219, 2220, 2224, 1915, 1808, 2194, 2195,
- 0, 2271, 1954, 1962, 1963, 1939, 1948, 1987, 2089, 2204,
- 1831, 1982, 2052, 1912, 1934, 1935, 2070, 2071, 1958, 1959,
- 1938, 2133, 2135, 2151, 2152, 2137, 2139, 2148, 2154, 2159,
- 2138, 2150, 2155, 2168, 2172, 2175, 2176, 2177, 2145, 2143,
- 2156, 2160, 2162, 2164, 2170, 2173, 2146, 2144, 2157, 2161,
- 2163, 2165, 2171, 2174, 2132, 2136, 2140, 2149, 2167, 2147,
- 2166, 2141, 2153, 2158, 2169, 2142, 2134, 1952, 1955, 1942,
- 1943, 1945, 1947, 1953, 1960, 1966, 1944, 1965, 1964, 0,
- 1940, 1941, 1946, 1957, 1961, 1949, 1950, 1951, 1956, 1967,
- 2008, 2007, 2006, 2051, 1978, 2050, 0, 0, 0, 0,
- 0, 1802, 1857, 1858, 2178, 1351, 1352, 1353, 1354, 0,
- 0, 0, 0, 0, 0, 0, 291, 292, 1480, 1481,
- 44, 1146, 1602, 1431, 1431, 1431, 1431, 1431, 1431, 1085,
- 1086, 1087, 1088, 1089, 1115, 1116, 1122, 1123, 2065, 2066,
- 2067, 2068, 1895, 2214, 1904, 1905, 2047, 2048, 1917, 1918,
- 2245, 2246, -2, -2, -2, 232, 233, 234, 235, 236,
- 237, 238, 239, 0, 1856, 2192, 2193, 228, 0, 0,
- 296, 293, 294, 295, 1129, 1130, 249, 250, 251, 252,
- 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
- 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
- 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 289, 290, 298, 299,
- 2274, 0, 856, 0, 0, 0, 0, 0, 0, 1644,
- 1645, 1505, 0, 1497, 1496, 63, 0, 883, -2, 0,
- 0, 0, 0, 47, 0, 52, 944, 886, 77, 76,
- 1545, 1548, 0, 0, 0, 59, 1506, 67, 69, 1507,
- 0, 888, 889, 0, 920, 924, 0, 0, 0, 1622,
- 1621, 1621, 102, 0, 0, 103, 123, 124, 125, 0,
- 0, 109, 110, 1608, 1609, 43, 0, 0, 177, 178,
- 0, 1103, 428, 0, 173, 0, 421, 360, 0, 1523,
- 0, 0, 0, 0, 0, 883, 0, 1616, 154, 155,
- 162, 163, 164, 401, 401, 401, 575, 0, 0, 165,
- 165, 533, 534, 535, 0, 0, -2, 426, 0, 513,
- 0, 0, 415, 415, 419, 417, 418, 0, 0, 0,
- 0, 0, 0, 0, 0, 552, 0, 553, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 668, 0, 402,
- 0, 573, 574, 464, 0, 0, 0, 0, 0, 0,
- 0, 0, 1624, 1625, 0, 550, 551, 0, 0, 0,
- 401, 401, 0, 0, 0, 0, 401, 401, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 153, 1536, 0, 0,
- 0, -2, 0, 712, 0, 0, 0, 1617, 1617, 0,
- 719, 0, 0, 0, 724, 0, 0, 725, 0, 786,
- 786, 784, 785, 727, 728, 729, 730, 789, 0, 0,
- 410, 411, 412, 786, 789, 0, 789, 789, 789, 789,
- 786, 786, 786, 789, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 2275, 792, 789, 0, 758, 0, 759,
- 760, 761, 762, 765, 766, 768, 2276, 2277, 1634, 1635,
- 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655,
- 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665,
- 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675,
- 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685,
- 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695,
- 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705,
- 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1714, 1715,
- 1716, 1717, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725,
- 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735,
- 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745,
- 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, 1754, 1755,
- 1756, 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765,
- 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775,
- 1776, 1777, 1778, 1779, 1780, 1781, 1782, 1783, 1784, 1785,
- 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1794, 1795,
- 1796, 1797, 1798, 2275, 2275, 772, 776, 778, 1607, 801,
- 807, 809, 810, 0, 0, 820, 823, 840, 49, 1903,
- 828, 49, 830, 831, 832, 858, 859, 864, 0, 0,
- 0, 0, 870, 871, 872, 0, 0, 875, 876, 877,
- 0, 0, 0, 0, 0, 1009, 0, 0, 1135, 1136,
- 1137, 1138, 1139, 1140, 1141, 1142, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1034, 1035, 0, 0, 0, 1059,
- 1060, 1061, 1062, 1065, 0, 1076, 0, 1078, 1476, -2,
- 0, 0, 0, 1070, 1071, 0, 0, 0, 1627, 1627,
- 0, 0, 0, 1468, 0, 0, 1161, 0, 1162, 1164,
- 1165, 1166, 0, 1167, 1168, 893, 893, 893, 893, 893,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 893, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1627, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 141, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1627,
- 0, 0, 1627, 1627, 0, 0, 220, 221, 222, 223,
- 224, 225, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 297, 240, 241, 242,
- 243, 244, 245, 300, 246, 247, 248, 1146, 0, 0,
- 0, 46, 848, 849, 0, 970, 1627, 0, 0, 899,
- 0, 1642, 57, 66, 68, 1505, 61, 1505, 0, 903,
- 0, 0, -2, -2, 904, 905, 909, 910, 911, 912,
- 913, 914, 915, 916, 917, 54, 2273, 55, 0, 74,
- 0, 48, 0, 0, 1546, 0, 1549, 0, 0, 0,
- 374, 1553, 0, 0, 1498, 1499, 1502, 0, 921, 1999,
- 925, 0, 927, 928, 0, 0, 100, 0, 986, 0,
- 0, 0, 111, 0, 113, 114, 0, 0, 0, 385,
- 1610, 1611, 1612, -2, 408, 0, 385, 369, 308, 309,
- 310, 360, 312, 360, 360, 360, 360, 374, 374, 374,
- 374, 343, 344, 345, 346, 347, 0, 0, 329, 360,
- 360, 360, 360, 350, 351, 352, 353, 354, 355, 356,
- 357, 313, 314, 315, 316, 317, 318, 319, 320, 321,
- 362, 362, 362, 362, 362, 366, 366, 0, 1104, 0,
- 389, 0, 1502, 0, 0, 1536, 1619, 1629, 0, 0,
- 0, 1619, 132, 0, 0, 0, 576, 618, 527, 564,
- 577, 0, 530, 531, -2, 0, 0, 512, 0, 514,
- 0, 409, 0, -2, 0, 419, 0, 415, 419, 416,
- 419, 407, 420, 554, 555, 556, 0, 558, 559, 648,
- 956, 0, 0, 0, 0, 0, 654, 655, 656, 0,
- 658, 659, 660, 661, 662, 663, 664, 665, 666, 667,
- 565, 566, 567, 568, 569, 570, 571, 572, 0, 0,
- 0, 0, 514, 0, 561, 0, 0, 465, 466, 467,
- 0, 0, 470, 471, 472, 473, 0, 0, 476, 477,
- 478, 973, 974, 479, 480, 505, 506, 507, 481, 482,
- 483, 484, 485, 486, 487, 499, 500, 501, 502, 503,
- 504, 488, 489, 490, 491, 492, 493, 496, 0, 147,
- 1527, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1617, 0, 0,
- 0, 0, 902, 988, 1640, 1641, 721, 0, 0, 790,
- 791, 0, 413, 414, 789, 789, 731, 773, 0, 789,
- 735, 774, 736, 738, 737, 739, 752, 753, 789, 742,
- 787, 788, 743, 744, 745, 746, 747, 748, 749, 769,
- 754, 755, 756, 793, 0, 797, 798, 770, 771, 0,
- 779, 0, 0, 813, 814, 0, 821, 843, 841, 842,
- 844, 836, 837, 838, 839, 0, 845, 0, 0, 861,
- 96, 866, 867, 868, 869, 881, 874, 1148, 1006, 1007,
- 1008, 0, 1010, 1016, 0, 1131, 1133, 1014, 1015, 1018,
- 0, 0, 0, 1012, 1023, 1143, 1144, 1145, 0, 0,
- 0, 0, 0, 1027, 1031, 1036, 1037, 1038, 1039, 1040,
- 0, 1041, 0, 1044, 1045, 1046, 1047, 1048, 1049, 1055,
- 1444, 1445, 1446, 1074, 301, 302, 0, 1075, 0, 0,
- 0, 0, 0, 0, 0, 0, 1391, 1392, 1393, 1394,
- 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404,
- 1405, 1406, 1407, 1408, 1409, 1410, 1147, 0, 1628, 0,
- 0, 0, 1474, 1471, 0, 0, 0, 1430, 1432, 0,
- 0, 0, 894, 895, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419,
- 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 0,
- 0, 1447, 0, 0, 0, 0, 0, 0, 0, 1467,
- 0, 1080, 1081, 1082, 0, 0, 0, 0, 0, 0,
- 1209, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 142, 143, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1355, 1356, 1357, 1358,
- 41, 0, 0, 0, 0, 0, 0, 0, 1478, 0,
- -2, -2, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1380, 0, 0, 0, 0,
- 0, 0, 1600, 0, 0, 851, 852, 854, 0, 990,
- 0, 971, 0, 0, 857, 0, 898, 0, 901, 60,
- 62, 907, 908, 0, 929, 918, 906, 56, 51, 0,
- 0, 948, 1547, 1550, 1551, 374, 1573, 0, 383, 383,
- 380, 1508, 1509, 0, 1501, 1503, 1504, 79, 926, 922,
- 0, 1004, 0, 0, 985, 0, 932, 934, 935, 936,
- 968, 0, 939, 940, 0, 0, 0, 0, 0, 98,
- 987, 104, 0, 112, 0, 0, 117, 118, 105, 106,
- 107, 108, 0, 607, -2, 460, 179, 181, 182, 183,
- 174, -2, 372, 370, 371, 311, 374, 374, 337, 338,
- 339, 340, 341, 342, 0, 0, 330, 331, 332, 333,
- 322, 0, 323, 324, 325, 364, 0, 326, 327, 0,
- 328, 427, 0, 1510, 390, 391, 393, 401, 0, 396,
- 397, 0, 401, 401, 0, 422, 423, 0, 1502, 1527,
- 0, 0, 0, 1630, 1629, 1629, 1629, 0, 167, 168,
- 169, 170, 171, 172, 643, 0, 0, 619, 641, 642,
- 165, 0, 0, 175, 516, 515, 0, 675, 0, 425,
- 0, 0, 419, 419, 404, 405, 557, 0, 0, 650,
- 651, 652, 653, 0, 0, 0, 543, 454, 0, 544,
- 545, 514, 516, 0, 0, 385, 468, 469, 474, 475,
- 494, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 592, 593, 594, 597, 599, 518, 603,
- 605, 596, 598, 600, 518, 604, 606, 1524, 1525, 1526,
- 0, 0, 713, 0, 0, 451, 94, 1618, 718, 722,
- 723, 786, 741, 775, 786, 733, 740, 763, 777, 811,
- 812, 817, 825, 826, 827, 865, 0, 0, 0, 0,
- 873, 0, 0, 1017, 1132, 1134, 1019, 1020, 1021, 1024,
- 0, 1028, 1032, 0, 0, 0, 0, 0, 1079, 1077,
- 1478, 0, 0, 0, 1128, 0, 0, 1151, 1152, 0,
- 0, 0, 0, 1472, 0, 0, 1159, 0, 1433, 1109,
- 0, 0, 0, 0, 0, 1109, 1109, 1109, 1109, 1109,
- 1109, 1109, 1109, 1109, 1109, 1496, 1186, 0, 0, 0,
- 0, 0, 1191, 1192, 1193, 1109, 0, 1196, 1197, 0,
- 1199, 0, 1200, 0, 0, 0, 0, 1207, 1208, 1210,
- 0, 0, 1213, 1214, 0, 1216, 0, 1218, 1219, 1220,
- 1221, 1222, 1223, 0, 1225, 0, 1227, 1228, 1229, 0,
- 1231, 0, 1233, 1234, 0, 1236, 0, 1238, 0, 1241,
- 0, 1244, 0, 1247, 0, 1250, 0, 1253, 0, 1256,
- 0, 1259, 0, 1262, 0, 1265, 0, 1268, 0, 1271,
- 0, 1274, 0, 1277, 0, 1280, 0, 1283, 0, 1286,
- 1287, 1288, 0, 1290, 0, 1292, 0, 1295, 1296, 0,
- 1298, 0, 1301, 0, 1304, 0, 0, 1305, 0, 0,
- 0, 1309, 0, 0, 0, 0, 1318, 1319, 1320, 1321,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1332, 1333, 1334, 1335, 1336, 1337, 0, 1339, 0, 1110,
- 0, 0, 1110, 0, 0, 0, 0, 0, 1149, 1627,
- 0, 1434, 1435, 1436, 1437, 1438, 0, 0, 0, 0,
- 0, 0, 1378, 1379, 1381, 0, 0, 1384, 0, 1386,
- 0, 1601, 850, 853, 855, 942, 991, 992, 0, 0,
- 0, 0, 972, 1626, 896, 897, 900, 950, 0, 1482,
- 0, 0, 929, 1004, 0, 930, 0, 53, 945, 0,
- 1555, 1554, 1567, 1580, 383, 383, 377, 378, 384, 379,
- 381, 382, 1500, 0, 1505, 0, 1594, 0, 0, 1583,
- 0, 0, 0, 0, 0, 0, 0, 0, 975, 0,
- 0, 978, 0, 0, 0, 0, 969, 940, 0, 941,
- 0, -2, 0, 0, 92, 93, 0, 0, 0, 115,
- 116, 0, 0, 122, 386, 387, 156, 165, 462, 180,
- 435, 0, 0, 307, 373, 334, 335, 336, 0, 358,
- 0, 0, 0, 0, 456, 128, 1514, 1513, 401, 401,
- 392, 0, 395, 0, 0, 0, 1631, 361, 424, 0,
- 146, 0, 0, 0, 0, 0, 152, 613, 0, 0,
- 620, 0, 0, 0, 525, 0, 536, 537, 0, 647,
- -2, 709, 389, 0, 403, 406, 957, 0, 0, 538,
- 0, 541, 542, 455, 516, 547, 548, 562, 549, 497,
- 498, 495, 0, 0, 1537, 1538, 1543, 1541, 1542, 133,
- 583, 585, 589, 584, 588, 0, 0, 0, 520, 0,
- 520, 581, 0, 451, 1510, 0, 717, 452, 453, 789,
- 789, 860, 97, 0, 863, 0, 0, 0, 0, 1025,
- 1029, 1042, 1043, 1439, 1465, 360, 360, 1452, 360, 366,
- 1455, 360, 1457, 360, 1460, 360, 1463, 1464, 0, 0,
- 1072, 0, 0, 0, 0, 1158, 1475, 0, 0, 1169,
- 1108, 1109, 1109, 1109, 1109, 1109, 1175, 1176, 1177, 1178,
- 1179, 1180, 1181, 1182, 1183, 1184, 1469, 0, 0, 0,
- 1190, 0, 0, 1194, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 144, 145, 0, 0, 0, 0, 0,
- 0, 1389, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1103, 1107, 0, 1111, 1112, 0, 0,
- 1341, 0, 0, 1359, 0, 0, 0, 0, 0, 0,
- 0, 1479, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 993, 1000, 0, 1000, 0, 1000, 0, 0,
- 0, 1613, 1614, 1483, 1484, 1004, 1485, 919, 931, 949,
- 1573, 0, 1566, 0, -2, 1575, 0, 0, 0, 1581,
- 375, 376, 923, 80, 1005, 83, 0, 1594, 1603, 0,
- 1591, 1596, 1598, 0, 0, 0, 1587, 0, 1004, 933,
- 964, 966, 0, 961, 976, 977, 979, 0, 981, 0,
- 983, 984, 944, 938, 0, 100, 0, 1004, 1004, 99,
- 0, 989, 119, 120, 121, 461, 184, 189, 0, 0,
- 0, 194, 0, 196, 0, 0, 0, 201, 202, 401,
- 401, 436, 0, 304, 306, 0, 0, 187, 374, 0,
- 374, 0, 365, 367, 0, 437, 457, 1511, 1512, 0,
- 0, 394, 398, 399, 400, 0, 1620, 148, 0, 0,
- 0, 616, 0, 644, 0, 0, 0, 0, 0, 0,
- 176, 517, 676, 677, 678, 679, 680, 681, 682, 683,
- 684, 0, 401, 0, 0, 0, 401, 401, 401, 0,
- 701, 388, 0, 0, 672, 669, 539, 0, 218, 219,
- 226, 227, 229, 0, 0, 0, 0, 0, 546, 944,
- 1528, 1529, 1530, 0, 1540, 1544, 136, 0, 0, 0,
- 0, 591, 595, 601, 0, 519, 602, 714, 715, 716,
- 95, 726, 732, 862, 882, 1013, 1026, 1030, 0, 0,
- 0, 0, 1466, 1450, 374, 1453, 1454, 1456, 1458, 1459,
- 1461, 1462, 1068, 1069, 1073, 0, 1155, 0, 1157, 0,
- 1473, 0, 1170, 1171, 1172, 1173, 1174, 1505, 0, 0,
- 0, 1189, 0, 0, 1109, 0, 1202, 1201, 1203, 0,
- 1205, 1206, 1211, 1212, 1215, 1217, 1224, 1226, 1230, 1232,
- 1235, 1237, 1239, 0, 1242, 0, 1245, 0, 1248, 0,
- 1251, 0, 1254, 0, 1257, 0, 1260, 0, 1263, 0,
- 1266, 0, 1269, 0, 1272, 0, 1275, 0, 1278, 0,
- 1281, 0, 1284, 0, 1289, 1291, 0, 1294, 1297, 1299,
- 0, 1302, 0, 1306, 0, 1308, 1310, 1311, 0, 0,
- 0, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330,
- 1331, 1338, 0, 1101, 1340, 1113, 1114, 1119, 1343, 0,
- 0, 0, 1346, 0, 0, 0, 1350, 1150, 1361, 0,
- 1366, 0, 0, 1372, 0, 1376, 0, 1382, 1383, 1385,
- 1387, 0, 0, 0, 0, 0, 0, 0, 970, 951,
- 64, 1485, 1489, 0, 1560, 1558, 1558, 1568, 1569, 0,
- 0, 1576, 0, 0, 0, 0, 84, 0, 0, 1582,
- 0, 0, 1599, 0, 0, 0, 0, 101, 1496, 958,
- 965, 0, 0, 959, 0, 960, 980, 982, 937, 0,
- 1004, 1004, 90, 91, 0, 190, 0, 192, 0, 195,
- 197, 198, 199, 205, 206, 207, 200, 0, 0, 303,
- 305, 0, 0, 348, 359, 349, 0, 0, 1515, 1516,
- 1517, 1518, 1519, 1520, 1521, 1522, 944, 149, 150, 151,
- 608, 0, 618, 0, 946, 0, 611, 0, 528, 0,
- 0, 0, 401, 401, 401, 0, 0, 0, 0, 686,
- 0, 0, 649, 0, 657, 0, 0, 0, 230, 231,
- 0, 1539, 582, 0, 134, 135, 0, 0, 587, 521,
- 522, 1066, 0, 0, 0, 1067, 1451, 0, 0, 0,
- 0, 0, 1470, 0, 0, 0, 0, 1195, 1198, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1314, 0, 0, 0, 638, 639, 0, 1390, 1106,
- 1496, 0, 1110, 1120, 1121, 0, 1110, 1360, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1001,
- 0, 0, 0, 952, 953, 0, 0, 0, 990, 1489,
- 1494, 0, 0, 1563, 0, 1556, 1559, 1557, 1570, 0,
- 0, 1577, 0, 1579, 0, 1604, 1605, 1597, 1592, 0,
- 1586, 1589, 1591, 1588, 1505, 962, 0, 967, 0, 1496,
- 89, 0, 193, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 203, 204, 0, 0, 363, 368,
- 0, 0, 0, 609, 0, 947, 621, 612, 0, 699,
- 0, 703, 0, 0, 0, 706, 707, 708, 685, 0,
- 689, 429, 673, 670, 671, 540, 0, 137, 138, 0,
- 0, 0, 1440, 0, 1443, 1153, 1156, 1154, 0, 1185,
- 1187, 1188, 1448, 1449, 1204, 1240, 1243, 1246, 1249, 1252,
- 1255, 1258, 1261, 1264, 1267, 1270, 1273, 1276, 1279, 1282,
- 1285, 1293, 1300, 1303, 1307, 1312, 0, 1315, 0, 0,
- 1316, 0, 640, 1097, 0, 0, 1117, 1118, 0, 1345,
- 1347, 1348, 1349, 1362, 0, 1367, 1368, 0, 1373, 0,
- 1377, 1388, 0, 995, 1002, 1003, 0, 998, 0, 999,
- 0, 943, 1494, 82, 1495, 1492, 0, 1490, 1487, 1552,
- 0, 1561, 1562, 1571, 1572, 1578, 0, 0, 1591, 0,
- 1585, 87, 0, 0, 0, 1505, 191, 0, 210, 0,
- 617, 0, 620, 610, 697, 698, 0, 710, 702, 704,
- 705, 687, -2, 1531, 0, 0, 0, 590, 1441, 0,
- 0, 1317, 0, 636, 637, 1105, 1098, 0, 1083, 1084,
- 1102, 1342, 1344, 0, 0, 0, 994, 954, 955, 996,
- 997, 81, 0, 1491, 1125, 0, 1486, 0, 1564, 1565,
- 1595, 0, 1584, 1590, 963, 970, 0, 88, 442, 435,
- 1531, 0, 0, 0, 690, 691, 692, 693, 694, 695,
- 696, 579, 1533, 139, 140, 0, 509, 510, 511, 133,
- 0, 1160, 1313, 1099, 0, 0, 0, 0, 0, 1363,
- 0, 1369, 0, 1374, 0, 1493, 0, 0, 1488, 1593,
- 622, 0, 624, 0, -2, 430, 443, 0, 185, 211,
- 212, 0, 0, 215, 216, 217, 208, 209, 129, 0,
- 0, 711, 0, 1534, 1535, 0, 136, 0, 0, 1090,
- 1091, 1092, 1093, 1095, 0, 0, 0, 0, 1126, 1103,
- 623, 0, 0, 385, 0, 633, 431, 432, 0, 438,
- 439, 440, 441, 213, 214, 645, 0, 0, 508, 586,
- 1442, 0, 0, 1364, 0, 1370, 0, 1375, 0, 625,
- 626, 634, 0, 433, 0, 434, 0, 0, 0, 614,
- 0, 645, 1532, 1100, 1094, 1096, 0, 0, 1124, 0,
- 635, 631, 444, 446, 447, 0, 0, 445, 646, 615,
- 1365, 1371, 0, 448, 449, 450, 627, 628, 629, 630,
+ 609, 527, 579, 525, 564, -2, 513, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 530,
+ 402, 402, 0, 0, -2, 513, 513, 513, 1625, 0,
+ 0, 0, 561, 464, 402, 402, 402, 0, 402, 402,
+ 402, 402, 0, 0, 402, 402, 402, 402, 402, 402,
+ 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
+ 402, 1525, 165, 1641, 1638, 1639, 1801, 1802, 1803, 1804,
+ 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1814,
+ 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1822, 1823, 1824,
+ 1825, 1826, 1827, 1828, 1829, 1830, 1831, 1832, 1833, 1834,
+ 1835, 1836, 1837, 1838, 1839, 1840, 1841, 1842, 1843, 1844,
+ 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1853, 1854,
+ 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1864,
+ 1865, 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874,
+ 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1884,
+ 1885, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894,
+ 1895, 1896, 1897, 1898, 1899, 1900, 1901, 1902, 1903, 1904,
+ 1905, 1906, 1907, 1908, 1909, 1910, 1911, 1912, 1913, 1914,
+ 1915, 1916, 1917, 1918, 1919, 1920, 1921, 1922, 1923, 1924,
+ 1925, 1926, 1927, 1928, 1929, 1930, 1931, 1932, 1933, 1934,
+ 1935, 1936, 1937, 1938, 1939, 1940, 1941, 1942, 1943, 1944,
+ 1945, 1946, 1947, 1948, 1949, 1950, 1951, 1952, 1953, 1954,
+ 1955, 1956, 1957, 1958, 1959, 1960, 1961, 1962, 1963, 1964,
+ 1965, 1966, 1967, 1968, 1969, 1970, 1971, 1972, 1973, 1974,
+ 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, 1983, 1984,
+ 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
+ 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+ 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014,
+ 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024,
+ 2025, 2026, 2027, 2028, 2029, 2030, 2031, 2032, 2033, 2034,
+ 2035, 2036, 2037, 2038, 2039, 2040, 2041, 2042, 2043, 2044,
+ 2045, 2046, 2047, 2048, 2049, 2050, 2051, 2052, 2053, 2054,
+ 2055, 2056, 2057, 2058, 2059, 2060, 2061, 2062, 2063, 2064,
+ 2065, 2066, 2067, 2068, 2069, 2070, 2071, 2072, 2073, 2074,
+ 2075, 2076, 2077, 2078, 2079, 2080, 2081, 2082, 2083, 2084,
+ 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2094,
+ 2095, 2096, 2097, 2098, 2099, 2100, 2101, 2102, 2103, 2104,
+ 2105, 2106, 2107, 2108, 2109, 2110, 2111, 2112, 2113, 2114,
+ 2115, 2116, 2117, 2118, 2119, 2120, 2121, 2122, 2123, 2124,
+ 2125, 2126, 2127, 2128, 2129, 2130, 2131, 2132, 2133, 2134,
+ 2135, 2136, 2137, 2138, 2139, 2140, 2141, 2142, 2143, 2144,
+ 2145, 2146, 2147, 2148, 2149, 2150, 2151, 2152, 2153, 2154,
+ 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2162, 2163, 2164,
+ 2165, 2166, 2167, 2168, 2169, 2170, 2171, 2172, 2173, 2174,
+ 2175, 2176, 2177, 2178, 2179, 2180, 2181, 2182, 2183, 2184,
+ 2185, 2186, 2187, 2188, 2189, 2190, 2191, 2192, 2193, 2194,
+ 2195, 2196, 2197, 2198, 2199, 2200, 2201, 2202, 2203, 2204,
+ 2205, 2206, 2207, 2208, 2209, 2210, 2211, 2212, 2213, 2214,
+ 2215, 2216, 2217, 2218, 2219, 2220, 2221, 2222, 2223, 2224,
+ 2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232, 2233, 2234,
+ 2235, 2236, 2237, 2238, 2239, 2240, 2241, 2242, 2243, 2244,
+ 2245, 2246, 2247, 2248, 2249, 2250, 2251, 2252, 2253, 2254,
+ 2255, 2256, 2257, 2258, 2259, 2260, 2261, 2262, 2263, 2264,
+ 2265, 2266, 2267, 2268, 2269, 2270, 2271, 2272, 2273, 2274,
+ 0, 1617, 0, 722, 989, 0, 881, 882, 0, 791,
+ 791, 0, 791, 791, 791, 791, 0, 0, 0, 736,
+ 0, 0, 0, 0, 788, 0, 752, 753, 0, 788,
+ 0, 759, 794, 0, 0, 766, 791, 791, 769, 2278,
+ 0, 2278, 2278, 0, 1608, 0, 785, 783, 797, 798,
+ 42, 801, 804, 805, 806, 807, 810, 0, 821, 824,
+ 1634, 1635, 0, 826, 831, 848, 849, 0, 45, 1149,
+ 0, 1013, 0, 1024, -2, 1035, 1052, 1053, 1054, 1055,
+ 1056, 1058, 1059, 1060, 0, 0, 0, 0, 1065, 1066,
+ 0, 0, 0, 0, 0, 1129, 0, 0, 0, 0,
+ 2003, 1469, 0, 0, 1431, 1431, 1165, 1431, 1431, 1433,
+ 1433, 1433, 1854, 1995, 2004, 2183, 1815, 1821, 1822, 1823,
+ 2129, 2130, 2131, 2132, 2221, 2222, 2226, 1917, 1810, 2196,
+ 2197, 0, 2274, 1956, 1964, 1965, 1941, 1950, 1989, 2091,
+ 2206, 1833, 1984, 2054, 1914, 1936, 1937, 2072, 2073, 1960,
+ 1961, 1940, 2135, 2137, 2153, 2154, 2139, 2141, 2150, 2156,
+ 2161, 2140, 2152, 2157, 2170, 2174, 2177, 2178, 2179, 2147,
+ 2145, 2158, 2162, 2164, 2166, 2172, 2175, 2148, 2146, 2159,
+ 2163, 2165, 2167, 2173, 2176, 2134, 2138, 2142, 2151, 2169,
+ 2149, 2168, 2143, 2155, 2160, 2171, 2144, 2136, 1954, 1957,
+ 1944, 1945, 1947, 1949, 1955, 1962, 1968, 1946, 1967, 1966,
+ 0, 1942, 1943, 1948, 1959, 1963, 1951, 1952, 1953, 1958,
+ 1969, 2010, 2009, 2008, 2053, 1980, 2052, 0, 0, 0,
+ 0, 0, 1804, 1859, 1860, 2180, 1353, 1354, 1355, 1356,
+ 0, 0, 0, 0, 0, 0, 0, 291, 292, 1482,
+ 1483, 44, 1148, 1604, 1433, 1433, 1433, 1433, 1433, 1433,
+ 1087, 1088, 1089, 1090, 1091, 1117, 1118, 1124, 1125, 2067,
+ 2068, 2069, 2070, 1897, 2216, 1906, 1907, 2049, 2050, 1919,
+ 1920, 2248, 2249, -2, -2, -2, 232, 233, 234, 235,
+ 236, 237, 238, 239, 0, 1858, 2194, 2195, 228, 0,
+ 0, 296, 293, 294, 295, 1131, 1132, 249, 250, 251,
+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
+ 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
+ 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 298,
+ 299, 2277, 0, 858, 0, 0, 0, 0, 0, 0,
+ 1646, 1647, 1507, 0, 1499, 1498, 63, 0, 885, -2,
+ 0, 0, 0, 0, 47, 0, 52, 946, 888, 77,
+ 76, 1547, 1550, 0, 0, 0, 59, 1508, 67, 69,
+ 1509, 0, 890, 891, 0, 922, 926, 0, 0, 0,
+ 1624, 1623, 1623, 102, 0, 0, 103, 123, 124, 125,
+ 0, 0, 109, 110, 1610, 1611, 43, 0, 0, 177,
+ 178, 0, 1105, 429, 0, 173, 0, 422, 361, 0,
+ 1525, 0, 0, 0, 0, 0, 885, 0, 1618, 154,
+ 155, 162, 163, 164, 402, 402, 402, 576, 0, 0,
+ 165, 165, 534, 535, 536, 0, 0, -2, 427, 0,
+ 514, 0, 0, 416, 416, 420, 418, 419, 0, 0,
+ 0, 0, 0, 0, 0, 0, 553, 0, 554, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 670, 0,
+ 403, 0, 574, 575, 465, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1626, 1627, 0, 551, 552, 0, 0,
+ 0, 402, 402, 0, 0, 0, 0, 402, 402, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 153, 1538, 0,
+ 0, 0, -2, 0, 714, 0, 0, 0, 1619, 1619,
+ 0, 721, 0, 0, 0, 726, 0, 0, 727, 0,
+ 788, 788, 786, 787, 729, 730, 731, 732, 791, 0,
+ 0, 411, 412, 413, 788, 791, 0, 791, 791, 791,
+ 791, 788, 788, 788, 791, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2278, 794, 791, 0, 760, 0,
+ 761, 762, 763, 764, 767, 768, 770, 2279, 2280, 1636,
+ 1637, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656,
+ 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666,
+ 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676,
+ 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686,
+ 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696,
+ 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706,
+ 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1714, 1715, 1716,
+ 1717, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726,
+ 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736,
+ 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746,
+ 1747, 1748, 1749, 1750, 1751, 1752, 1753, 1754, 1755, 1756,
+ 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766,
+ 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776,
+ 1777, 1778, 1779, 1780, 1781, 1782, 1783, 1784, 1785, 1786,
+ 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1794, 1795, 1796,
+ 1797, 1798, 1799, 1800, 2278, 2278, 774, 778, 780, 1609,
+ 803, 809, 811, 812, 0, 0, 822, 825, 842, 49,
+ 1905, 830, 49, 832, 833, 834, 860, 861, 866, 0,
+ 0, 0, 0, 872, 873, 874, 0, 0, 877, 878,
+ 879, 0, 0, 0, 0, 0, 1011, 0, 0, 1137,
+ 1138, 1139, 1140, 1141, 1142, 1143, 1144, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1036, 1037, 0, 0, 0,
+ 1061, 1062, 1063, 1064, 1067, 0, 1078, 0, 1080, 1478,
+ -2, 0, 0, 0, 1072, 1073, 0, 0, 0, 1629,
+ 1629, 0, 0, 0, 1470, 0, 0, 1163, 0, 1164,
+ 1166, 1167, 1168, 0, 1169, 1170, 895, 895, 895, 895,
+ 895, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 895, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1629, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 141, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1629, 0, 0, 1629, 1629, 0, 0, 220, 221, 222,
+ 223, 224, 225, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 297, 240, 241,
+ 242, 243, 244, 245, 300, 246, 247, 248, 1148, 0,
+ 0, 0, 46, 850, 851, 0, 972, 1629, 0, 0,
+ 901, 0, 1644, 57, 66, 68, 1507, 61, 1507, 0,
+ 905, 0, 0, -2, -2, 906, 907, 911, 912, 913,
+ 914, 915, 916, 917, 918, 919, 54, 2276, 55, 0,
+ 74, 0, 48, 0, 0, 1548, 0, 1551, 0, 0,
+ 0, 375, 1555, 0, 0, 1500, 1501, 1504, 0, 923,
+ 2001, 927, 0, 929, 930, 0, 0, 100, 0, 988,
+ 0, 0, 0, 111, 0, 113, 114, 0, 0, 0,
+ 386, 1612, 1613, 1614, -2, 409, 0, 386, 370, 308,
+ 309, 310, 361, 312, 361, 361, 361, 361, 375, 375,
+ 375, 375, 343, 344, 345, 346, 347, 0, 361, 0,
+ 329, 361, 361, 361, 361, 351, 352, 353, 354, 355,
+ 356, 357, 358, 313, 314, 315, 316, 317, 318, 319,
+ 320, 321, 363, 363, 363, 363, 363, 367, 367, 0,
+ 1106, 0, 390, 0, 1504, 0, 0, 1538, 1621, 1631,
+ 0, 0, 0, 1621, 132, 0, 0, 0, 577, 620,
+ 528, 565, 578, 0, 531, 532, -2, 0, 0, 513,
+ 0, 515, 0, 410, 0, -2, 0, 420, 0, 416,
+ 420, 417, 420, 408, 421, 555, 556, 557, 0, 559,
+ 560, 650, 958, 0, 0, 0, 0, 0, 656, 657,
+ 658, 0, 660, 661, 662, 663, 664, 665, 666, 667,
+ 668, 669, 566, 567, 568, 569, 570, 571, 572, 573,
+ 0, 0, 0, 0, 515, 0, 562, 0, 0, 466,
+ 467, 468, 0, 0, 471, 472, 473, 474, 0, 0,
+ 477, 478, 479, 975, 976, 480, 481, 506, 507, 508,
+ 482, 483, 484, 485, 486, 487, 488, 500, 501, 502,
+ 503, 504, 505, 489, 490, 491, 492, 493, 494, 497,
+ 0, 147, 1529, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1619, 0, 0, 0, 0, 904, 990, 1642, 1643, 723,
+ 0, 0, 792, 793, 0, 414, 415, 791, 791, 733,
+ 775, 0, 791, 737, 776, 738, 740, 739, 741, 754,
+ 755, 791, 744, 789, 790, 745, 746, 747, 748, 749,
+ 750, 751, 771, 756, 757, 758, 795, 0, 799, 800,
+ 772, 773, 0, 781, 0, 0, 815, 816, 0, 823,
+ 845, 843, 844, 846, 838, 839, 840, 841, 0, 847,
+ 0, 0, 863, 96, 868, 869, 870, 871, 883, 876,
+ 1150, 1008, 1009, 1010, 0, 1012, 1018, 0, 1133, 1135,
+ 1016, 1017, 1020, 0, 0, 0, 1014, 1025, 1145, 1146,
+ 1147, 0, 0, 0, 0, 0, 1029, 1033, 1038, 1039,
+ 1040, 1041, 1042, 0, 1043, 0, 1046, 1047, 1048, 1049,
+ 1050, 1051, 1057, 1446, 1447, 1448, 1076, 301, 302, 0,
+ 1077, 0, 0, 0, 0, 0, 0, 0, 0, 1393,
+ 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403,
+ 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1149,
+ 0, 1630, 0, 0, 0, 1476, 1473, 0, 0, 0,
+ 1432, 1434, 0, 0, 0, 896, 897, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1413, 1414, 1415, 1416, 1417, 1418,
+ 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428,
+ 1429, 1430, 0, 0, 1449, 0, 0, 0, 0, 0,
+ 0, 0, 1469, 0, 1082, 1083, 1084, 0, 0, 0,
+ 0, 0, 0, 1211, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 142, 143, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1357,
+ 1358, 1359, 1360, 41, 0, 0, 0, 0, 0, 0,
+ 0, 1480, 0, -2, -2, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1382, 0,
+ 0, 0, 0, 0, 0, 1602, 0, 0, 853, 854,
+ 856, 0, 992, 0, 973, 0, 0, 859, 0, 900,
+ 0, 903, 60, 62, 909, 910, 0, 931, 920, 908,
+ 56, 51, 0, 0, 950, 1549, 1552, 1553, 375, 1575,
+ 0, 384, 384, 381, 1510, 1511, 0, 1503, 1505, 1506,
+ 79, 928, 924, 0, 1006, 0, 0, 987, 0, 934,
+ 936, 937, 938, 970, 0, 941, 942, 0, 0, 0,
+ 0, 0, 98, 989, 104, 0, 112, 0, 0, 117,
+ 118, 105, 106, 107, 108, 0, 609, -2, 461, 179,
+ 181, 182, 183, 174, -2, 373, 371, 372, 311, 375,
+ 375, 337, 338, 339, 340, 341, 342, 0, 349, 0,
+ 330, 331, 332, 333, 322, 0, 323, 324, 325, 365,
+ 0, 326, 327, 0, 328, 428, 0, 1512, 391, 392,
+ 394, 402, 0, 397, 398, 0, 402, 402, 0, 423,
+ 424, 0, 1504, 1529, 0, 0, 0, 1632, 1631, 1631,
+ 1631, 0, 167, 168, 169, 170, 171, 172, 645, 0,
+ 0, 621, 643, 644, 165, 0, 0, 175, 517, 516,
+ 0, 677, 0, 426, 0, 0, 420, 420, 405, 406,
+ 558, 0, 0, 652, 653, 654, 655, 0, 0, 0,
+ 544, 455, 0, 545, 546, 515, 517, 0, 0, 386,
+ 469, 470, 475, 476, 495, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 593, 594, 596,
+ 599, 601, 519, 605, 607, 595, 598, 600, 602, 519,
+ 606, 608, 1526, 1527, 1528, 0, 0, 715, 0, 0,
+ 452, 94, 1620, 720, 724, 725, 788, 743, 777, 788,
+ 735, 742, 765, 779, 813, 814, 819, 827, 828, 829,
+ 867, 0, 0, 0, 0, 875, 0, 0, 1019, 1134,
+ 1136, 1021, 1022, 1023, 1026, 0, 1030, 1034, 0, 0,
+ 0, 0, 0, 1081, 1079, 1480, 0, 0, 0, 1130,
+ 0, 0, 1153, 1154, 0, 0, 0, 0, 1474, 0,
+ 0, 1161, 0, 1435, 1111, 0, 0, 0, 0, 0,
+ 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111,
+ 1498, 1188, 0, 0, 0, 0, 0, 1193, 1194, 1195,
+ 1111, 0, 1198, 1199, 0, 1201, 0, 1202, 0, 0,
+ 0, 0, 1209, 1210, 1212, 0, 0, 1215, 1216, 0,
+ 1218, 0, 1220, 1221, 1222, 1223, 1224, 1225, 0, 1227,
+ 0, 1229, 1230, 1231, 0, 1233, 0, 1235, 1236, 0,
+ 1238, 0, 1240, 0, 1243, 0, 1246, 0, 1249, 0,
+ 1252, 0, 1255, 0, 1258, 0, 1261, 0, 1264, 0,
+ 1267, 0, 1270, 0, 1273, 0, 1276, 0, 1279, 0,
+ 1282, 0, 1285, 0, 1288, 1289, 1290, 0, 1292, 0,
+ 1294, 0, 1297, 1298, 0, 1300, 0, 1303, 0, 1306,
+ 0, 0, 1307, 0, 0, 0, 1311, 0, 0, 0,
+ 0, 1320, 1321, 1322, 1323, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1334, 1335, 1336, 1337, 1338,
+ 1339, 0, 1341, 0, 1112, 0, 0, 1112, 0, 0,
+ 0, 0, 0, 1151, 1629, 0, 1436, 1437, 1438, 1439,
+ 1440, 0, 0, 0, 0, 0, 0, 1380, 1381, 1383,
+ 0, 0, 1386, 0, 1388, 0, 1603, 852, 855, 857,
+ 944, 993, 994, 0, 0, 0, 0, 974, 1628, 898,
+ 899, 902, 952, 0, 1484, 0, 0, 931, 1006, 0,
+ 932, 0, 53, 947, 0, 1557, 1556, 1569, 1582, 384,
+ 384, 378, 379, 385, 380, 382, 383, 1502, 0, 1507,
+ 0, 1596, 0, 0, 1585, 0, 0, 0, 0, 0,
+ 0, 0, 0, 977, 0, 0, 980, 0, 0, 0,
+ 0, 971, 942, 0, 943, 0, -2, 0, 0, 92,
+ 93, 0, 0, 0, 115, 116, 0, 0, 122, 387,
+ 388, 156, 165, 463, 180, 436, 0, 0, 307, 374,
+ 334, 335, 336, 0, 359, 0, 0, 0, 0, 457,
+ 128, 1516, 1515, 402, 402, 393, 0, 396, 0, 0,
+ 0, 1633, 362, 425, 0, 146, 0, 0, 0, 0,
+ 0, 152, 615, 0, 0, 622, 0, 0, 0, 526,
+ 0, 537, 538, 0, 649, -2, 711, 390, 0, 404,
+ 407, 959, 0, 0, 539, 0, 542, 543, 456, 517,
+ 548, 549, 563, 550, 498, 499, 496, 0, 0, 1539,
+ 1540, 1545, 1543, 1544, 133, 584, 586, 590, 585, 589,
+ 0, 0, 0, 521, 0, 521, 582, 0, 452, 1512,
+ 0, 719, 453, 454, 791, 791, 862, 97, 0, 865,
+ 0, 0, 0, 0, 1027, 1031, 1044, 1045, 1441, 1467,
+ 361, 361, 1454, 361, 367, 1457, 361, 1459, 361, 1462,
+ 361, 1465, 1466, 0, 0, 1074, 0, 0, 0, 0,
+ 1160, 1477, 0, 0, 1171, 1110, 1111, 1111, 1111, 1111,
+ 1111, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185,
+ 1186, 1471, 0, 0, 0, 1192, 0, 0, 1196, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 144, 145,
+ 0, 0, 0, 0, 0, 0, 1391, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1105, 1109,
+ 0, 1113, 1114, 0, 0, 1343, 0, 0, 1361, 0,
+ 0, 0, 0, 0, 0, 0, 1481, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 995, 1002, 0,
+ 1002, 0, 1002, 0, 0, 0, 1615, 1616, 1485, 1486,
+ 1006, 1487, 921, 933, 951, 1575, 0, 1568, 0, -2,
+ 1577, 0, 0, 0, 1583, 376, 377, 925, 80, 1007,
+ 83, 0, 1596, 1605, 0, 1593, 1598, 1600, 0, 0,
+ 0, 1589, 0, 1006, 935, 966, 968, 0, 963, 978,
+ 979, 981, 0, 983, 0, 985, 986, 946, 940, 0,
+ 100, 0, 1006, 1006, 99, 0, 991, 119, 120, 121,
+ 462, 184, 189, 0, 0, 0, 194, 0, 196, 0,
+ 0, 0, 201, 202, 402, 402, 437, 0, 304, 306,
+ 0, 0, 187, 375, 0, 375, 0, 366, 368, 0,
+ 438, 458, 1513, 1514, 0, 0, 395, 399, 400, 401,
+ 0, 1622, 148, 0, 0, 0, 618, 0, 646, 0,
+ 0, 0, 0, 0, 0, 176, 518, 678, 679, 680,
+ 681, 682, 683, 684, 685, 686, 0, 402, 0, 0,
+ 0, 402, 402, 402, 0, 703, 389, 0, 0, 674,
+ 671, 540, 0, 218, 219, 226, 227, 229, 0, 0,
+ 0, 0, 0, 547, 946, 1530, 1531, 1532, 0, 1542,
+ 1546, 136, 0, 0, 0, 0, 592, 597, 603, 0,
+ 520, 604, 716, 717, 718, 95, 728, 734, 864, 884,
+ 1015, 1028, 1032, 0, 0, 0, 0, 1468, 1452, 375,
+ 1455, 1456, 1458, 1460, 1461, 1463, 1464, 1070, 1071, 1075,
+ 0, 1157, 0, 1159, 0, 1475, 0, 1172, 1173, 1174,
+ 1175, 1176, 1507, 0, 0, 0, 1191, 0, 0, 1111,
+ 0, 1204, 1203, 1205, 0, 1207, 1208, 1213, 1214, 1217,
+ 1219, 1226, 1228, 1232, 1234, 1237, 1239, 1241, 0, 1244,
+ 0, 1247, 0, 1250, 0, 1253, 0, 1256, 0, 1259,
+ 0, 1262, 0, 1265, 0, 1268, 0, 1271, 0, 1274,
+ 0, 1277, 0, 1280, 0, 1283, 0, 1286, 0, 1291,
+ 1293, 0, 1296, 1299, 1301, 0, 1304, 0, 1308, 0,
+ 1310, 1312, 1313, 0, 0, 0, 1324, 1325, 1326, 1327,
+ 1328, 1329, 1330, 1331, 1332, 1333, 1340, 0, 1103, 1342,
+ 1115, 1116, 1121, 1345, 0, 0, 0, 1348, 0, 0,
+ 0, 1352, 1152, 1363, 0, 1368, 0, 0, 1374, 0,
+ 1378, 0, 1384, 1385, 1387, 1389, 0, 0, 0, 0,
+ 0, 0, 0, 972, 953, 64, 1487, 1491, 0, 1562,
+ 1560, 1560, 1570, 1571, 0, 0, 1578, 0, 0, 0,
+ 0, 84, 0, 0, 1584, 0, 0, 1601, 0, 0,
+ 0, 0, 101, 1498, 960, 967, 0, 0, 961, 0,
+ 962, 982, 984, 939, 0, 1006, 1006, 90, 91, 0,
+ 190, 0, 192, 0, 195, 197, 198, 199, 205, 206,
+ 207, 200, 0, 0, 303, 305, 0, 0, 348, 360,
+ 350, 0, 0, 1517, 1518, 1519, 1520, 1521, 1522, 1523,
+ 1524, 946, 149, 150, 151, 610, 0, 620, 0, 948,
+ 0, 613, 0, 529, 0, 0, 0, 402, 402, 402,
+ 0, 0, 0, 0, 688, 0, 0, 651, 0, 659,
+ 0, 0, 0, 230, 231, 0, 1541, 583, 0, 134,
+ 135, 0, 0, 588, 522, 523, 1068, 0, 0, 0,
+ 1069, 1453, 0, 0, 0, 0, 0, 1472, 0, 0,
+ 0, 0, 1197, 1200, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1316, 0, 0, 0,
+ 640, 641, 0, 1392, 1108, 1498, 0, 1112, 1122, 1123,
+ 0, 1112, 1362, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1003, 0, 0, 0, 954, 955,
+ 0, 0, 0, 992, 1491, 1496, 0, 0, 1565, 0,
+ 1558, 1561, 1559, 1572, 0, 0, 1579, 0, 1581, 0,
+ 1606, 1607, 1599, 1594, 0, 1588, 1591, 1593, 1590, 1507,
+ 964, 0, 969, 0, 1498, 89, 0, 193, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 203,
+ 204, 0, 0, 364, 369, 0, 0, 0, 611, 0,
+ 949, 623, 614, 0, 701, 0, 705, 0, 0, 0,
+ 708, 709, 710, 687, 0, 691, 430, 675, 672, 673,
+ 541, 0, 137, 138, 0, 0, 0, 1442, 0, 1445,
+ 1155, 1158, 1156, 0, 1187, 1189, 1190, 1450, 1451, 1206,
+ 1242, 1245, 1248, 1251, 1254, 1257, 1260, 1263, 1266, 1269,
+ 1272, 1275, 1278, 1281, 1284, 1287, 1295, 1302, 1305, 1309,
+ 1314, 0, 1317, 0, 0, 1318, 0, 642, 1099, 0,
+ 0, 1119, 1120, 0, 1347, 1349, 1350, 1351, 1364, 0,
+ 1369, 1370, 0, 1375, 0, 1379, 1390, 0, 997, 1004,
+ 1005, 0, 1000, 0, 1001, 0, 945, 1496, 82, 1497,
+ 1494, 0, 1492, 1489, 1554, 0, 1563, 1564, 1573, 1574,
+ 1580, 0, 0, 1593, 0, 1587, 87, 0, 0, 0,
+ 1507, 191, 0, 210, 0, 619, 0, 622, 612, 699,
+ 700, 0, 712, 704, 706, 707, 689, -2, 1533, 0,
+ 0, 0, 591, 1443, 0, 0, 1319, 0, 638, 639,
+ 1107, 1100, 0, 1085, 1086, 1104, 1344, 1346, 0, 0,
+ 0, 996, 956, 957, 998, 999, 81, 0, 1493, 1127,
+ 0, 1488, 0, 1566, 1567, 1597, 0, 1586, 1592, 965,
+ 972, 0, 88, 443, 436, 1533, 0, 0, 0, 692,
+ 693, 694, 695, 696, 697, 698, 580, 1535, 139, 140,
+ 0, 510, 511, 512, 133, 0, 1162, 1315, 1101, 0,
+ 0, 0, 0, 0, 1365, 0, 1371, 0, 1376, 0,
+ 1495, 0, 0, 1490, 1595, 624, 0, 626, 0, -2,
+ 431, 444, 0, 185, 211, 212, 0, 0, 215, 216,
+ 217, 208, 209, 129, 0, 0, 713, 0, 1536, 1537,
+ 0, 136, 0, 0, 1092, 1093, 1094, 1095, 1097, 0,
+ 0, 0, 0, 1128, 1105, 625, 0, 0, 386, 0,
+ 635, 432, 433, 0, 439, 440, 441, 442, 213, 214,
+ 647, 0, 0, 509, 587, 1444, 0, 0, 1366, 0,
+ 1372, 0, 1377, 0, 627, 628, 636, 0, 434, 0,
+ 435, 0, 0, 0, 616, 0, 647, 1534, 1102, 1096,
+ 1098, 0, 0, 1126, 0, 637, 633, 445, 447, 448,
+ 0, 0, 446, 648, 617, 1367, 1373, 0, 449, 450,
+ 451, 629, 630, 631, 632,
}
var yyTok1 = [...]int{
@@ -9803,7 +9820,7 @@ var yyTok1 = [...]int{
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 157, 3, 3, 3, 185, 177, 3,
95, 97, 182, 180, 96, 181, 235, 183, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 747,
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 748,
165, 164, 166, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
@@ -9937,7 +9954,7 @@ var yyTok3 = [...]int{
58055, 730, 58056, 731, 58057, 732, 58058, 733, 58059, 734,
58060, 735, 58061, 736, 58062, 737, 58063, 738, 58064, 739,
58065, 740, 58066, 741, 58067, 742, 58068, 743, 58069, 744,
- 58070, 745, 58071, 746, 0,
+ 58070, 745, 58071, 746, 58072, 747, 0,
}
var yyErrorMessages = [...]struct {
@@ -10287,7 +10304,7 @@ yydefault:
case 1:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:628
+//line sql.y:630
{
stmt := yyDollar[2].statementUnion()
// If the statement is empty and we have comments
@@ -10301,46 +10318,46 @@ yydefault:
}
case 2:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:641
+//line sql.y:643
{
}
case 3:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:642
+//line sql.y:644
{
}
case 4:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Statement
-//line sql.y:646
+//line sql.y:648
{
yyLOCAL = yyDollar[1].selStmtUnion()
}
yyVAL.union = yyLOCAL
case 40:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:685
+//line sql.y:687
{
setParseTree(yylex, nil)
}
case 41:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *Variable
-//line sql.y:691
+//line sql.y:693
{
yyLOCAL = NewVariableExpression(yyDollar[1].str, SingleAt)
}
yyVAL.union = yyLOCAL
case 42:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:697
+//line sql.y:699
{
yyVAL.identifierCI = NewIdentifierCI(string(yyDollar[1].str))
}
case 43:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *Variable
-//line sql.y:703
+//line sql.y:705
{
yyLOCAL = NewVariableExpression(string(yyDollar[1].str), SingleAt)
}
@@ -10348,7 +10365,7 @@ yydefault:
case 44:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *Variable
-//line sql.y:707
+//line sql.y:709
{
yyLOCAL = NewVariableExpression(string(yyDollar[1].str), DoubleAt)
}
@@ -10356,7 +10373,7 @@ yydefault:
case 45:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Statement
-//line sql.y:713
+//line sql.y:715
{
yyLOCAL = &OtherAdmin{}
}
@@ -10364,7 +10381,7 @@ yydefault:
case 46:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:719
+//line sql.y:721
{
yyLOCAL = &Load{}
}
@@ -10372,7 +10389,7 @@ yydefault:
case 47:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *With
-//line sql.y:725
+//line sql.y:727
{
yyLOCAL = &With{CTEs: yyDollar[2].ctesUnion(), Recursive: false}
}
@@ -10380,7 +10397,7 @@ yydefault:
case 48:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *With
-//line sql.y:729
+//line sql.y:731
{
yyLOCAL = &With{CTEs: yyDollar[3].ctesUnion(), Recursive: true}
}
@@ -10388,7 +10405,7 @@ yydefault:
case 49:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *With
-//line sql.y:734
+//line sql.y:736
{
yyLOCAL = nil
}
@@ -10396,14 +10413,14 @@ yydefault:
case 50:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *With
-//line sql.y:738
+//line sql.y:740
{
yyLOCAL = yyDollar[1].withUnion()
}
yyVAL.union = yyLOCAL
case 51:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:744
+//line sql.y:746
{
yySLICE := (*[]*CommonTableExpr)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].cteUnion())
@@ -10411,7 +10428,7 @@ yydefault:
case 52:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []*CommonTableExpr
-//line sql.y:748
+//line sql.y:750
{
yyLOCAL = []*CommonTableExpr{yyDollar[1].cteUnion()}
}
@@ -10419,7 +10436,7 @@ yydefault:
case 53:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *CommonTableExpr
-//line sql.y:754
+//line sql.y:756
{
yyLOCAL = &CommonTableExpr{ID: yyDollar[1].identifierCS, Columns: yyDollar[2].columnsUnion(), Subquery: yyDollar[4].subqueryUnion()}
}
@@ -10427,7 +10444,7 @@ yydefault:
case 54:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:760
+//line sql.y:762
{
yyLOCAL = yyDollar[2].selStmtUnion()
}
@@ -10435,7 +10452,7 @@ yydefault:
case 55:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:764
+//line sql.y:766
{
yyLOCAL = yyDollar[2].selStmtUnion()
}
@@ -10443,7 +10460,7 @@ yydefault:
case 56:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:768
+//line sql.y:770
{
setLockInSelect(yyDollar[2].selStmtUnion(), yyDollar[3].lockUnion())
yyLOCAL = yyDollar[2].selStmtUnion()
@@ -10452,7 +10469,7 @@ yydefault:
case 57:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:791
+//line sql.y:793
{
yyDollar[1].selStmtUnion().SetOrderBy(yyDollar[2].orderByUnion())
yyDollar[1].selStmtUnion().SetLimit(yyDollar[3].limitUnion())
@@ -10462,7 +10479,7 @@ yydefault:
case 58:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:797
+//line sql.y:799
{
yyDollar[1].selStmtUnion().SetLimit(yyDollar[2].limitUnion())
yyLOCAL = yyDollar[1].selStmtUnion()
@@ -10471,7 +10488,7 @@ yydefault:
case 59:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:802
+//line sql.y:804
{
yyDollar[1].selStmtUnion().SetOrderBy(yyDollar[2].orderByUnion())
yyDollar[1].selStmtUnion().SetLimit(yyDollar[3].limitUnion())
@@ -10481,7 +10498,7 @@ yydefault:
case 60:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:808
+//line sql.y:810
{
yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion())
yyDollar[2].selStmtUnion().SetOrderBy(yyDollar[3].orderByUnion())
@@ -10492,7 +10509,7 @@ yydefault:
case 61:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:815
+//line sql.y:817
{
yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion())
yyDollar[2].selStmtUnion().SetLimit(yyDollar[3].limitUnion())
@@ -10502,7 +10519,7 @@ yydefault:
case 62:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:821
+//line sql.y:823
{
yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion())
yyDollar[2].selStmtUnion().SetOrderBy(yyDollar[3].orderByUnion())
@@ -10512,14 +10529,14 @@ yydefault:
yyVAL.union = yyLOCAL
case 63:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:828
+//line sql.y:830
{
yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion())
}
case 64:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:832
+//line sql.y:834
{
yyLOCAL = NewSelect(Comments(yyDollar[2].strs), SelectExprs{&Nextval{Expr: yyDollar[5].exprUnion()}}, []string{yyDollar[3].str} /*options*/, nil, TableExprs{&AliasedTableExpr{Expr: yyDollar[7].tableName}}, nil /*where*/, nil /*groupBy*/, nil /*having*/, nil)
}
@@ -10527,7 +10544,7 @@ yydefault:
case 65:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:838
+//line sql.y:840
{
yyLOCAL = yyDollar[1].selStmtUnion()
}
@@ -10535,7 +10552,7 @@ yydefault:
case 66:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:842
+//line sql.y:844
{
yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()}
}
@@ -10543,7 +10560,7 @@ yydefault:
case 67:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:846
+//line sql.y:848
{
yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()}
}
@@ -10551,7 +10568,7 @@ yydefault:
case 68:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:850
+//line sql.y:852
{
yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()}
}
@@ -10559,7 +10576,7 @@ yydefault:
case 69:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:854
+//line sql.y:856
{
yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()}
}
@@ -10567,7 +10584,7 @@ yydefault:
case 70:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:860
+//line sql.y:862
{
yyLOCAL = yyDollar[1].selStmtUnion()
}
@@ -10575,7 +10592,7 @@ yydefault:
case 71:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:864
+//line sql.y:866
{
setLockInSelect(yyDollar[1].selStmtUnion(), yyDollar[2].lockUnion())
yyLOCAL = yyDollar[1].selStmtUnion()
@@ -10584,7 +10601,7 @@ yydefault:
case 72:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:869
+//line sql.y:871
{
yyLOCAL = yyDollar[1].selStmtUnion()
}
@@ -10592,7 +10609,7 @@ yydefault:
case 73:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:873
+//line sql.y:875
{
yyLOCAL = yyDollar[1].selStmtUnion()
}
@@ -10600,7 +10617,7 @@ yydefault:
case 74:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:879
+//line sql.y:881
{
yyLOCAL = yyDollar[2].selStmtUnion()
}
@@ -10608,7 +10625,7 @@ yydefault:
case 75:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:883
+//line sql.y:885
{
yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion())
yyLOCAL = yyDollar[1].selStmtUnion()
@@ -10617,7 +10634,7 @@ yydefault:
case 76:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:888
+//line sql.y:890
{
yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion())
yyDollar[1].selStmtUnion().SetLock(yyDollar[3].lockUnion())
@@ -10627,7 +10644,7 @@ yydefault:
case 77:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:894
+//line sql.y:896
{
yyDollar[1].selStmtUnion().SetInto(yyDollar[3].selectIntoUnion())
yyDollar[1].selStmtUnion().SetLock(yyDollar[2].lockUnion())
@@ -10637,7 +10654,7 @@ yydefault:
case 78:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:900
+//line sql.y:902
{
yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion())
yyLOCAL = yyDollar[1].selStmtUnion()
@@ -10646,7 +10663,7 @@ yydefault:
case 79:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:907
+//line sql.y:909
{
yyLOCAL = &Stream{Comments: Comments(yyDollar[2].strs).Parsed(), SelectExpr: yyDollar[3].selectExprUnion(), Table: yyDollar[5].tableName}
}
@@ -10654,7 +10671,7 @@ yydefault:
case 80:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL Statement
-//line sql.y:913
+//line sql.y:915
{
yyLOCAL = &VStream{Comments: Comments(yyDollar[2].strs).Parsed(), SelectExpr: yyDollar[3].selectExprUnion(), Table: yyDollar[5].tableName, Where: NewWhere(WhereClause, yyDollar[6].exprUnion()), Limit: yyDollar[7].limitUnion()}
}
@@ -10662,7 +10679,7 @@ yydefault:
case 81:
yyDollar = yyS[yypt-10 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:921
+//line sql.y:923
{
yyLOCAL = NewSelect(Comments(yyDollar[2].strs), yyDollar[4].selectExprsUnion() /*SelectExprs*/, yyDollar[3].strs /*options*/, yyDollar[5].selectIntoUnion() /*into*/, yyDollar[6].tableExprsUnion() /*from*/, NewWhere(WhereClause, yyDollar[7].exprUnion()), yyDollar[8].groupByUnion(), NewWhere(HavingClause, yyDollar[9].exprUnion()), yyDollar[10].namedWindowsUnion())
}
@@ -10670,7 +10687,7 @@ yydefault:
case 82:
yyDollar = yyS[yypt-9 : yypt+1]
var yyLOCAL SelectStatement
-//line sql.y:925
+//line sql.y:927
{
yyLOCAL = NewSelect(Comments(yyDollar[2].strs), yyDollar[4].selectExprsUnion() /*SelectExprs*/, yyDollar[3].strs /*options*/, nil, yyDollar[5].tableExprsUnion() /*from*/, NewWhere(WhereClause, yyDollar[6].exprUnion()), yyDollar[7].groupByUnion(), NewWhere(HavingClause, yyDollar[8].exprUnion()), yyDollar[9].namedWindowsUnion())
}
@@ -10678,7 +10695,7 @@ yydefault:
case 83:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL Statement
-//line sql.y:931
+//line sql.y:933
{
// insert_data returns a *Insert pre-filled with Columns & Values
ins := yyDollar[6].insUnion()
@@ -10694,7 +10711,7 @@ yydefault:
case 84:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Statement
-//line sql.y:943
+//line sql.y:945
{
cols := make(Columns, 0, len(yyDollar[7].updateExprsUnion()))
vals := make(ValTuple, 0, len(yyDollar[8].updateExprsUnion()))
@@ -10708,7 +10725,7 @@ yydefault:
case 85:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL InsertAction
-//line sql.y:955
+//line sql.y:957
{
yyLOCAL = InsertAct
}
@@ -10716,7 +10733,7 @@ yydefault:
case 86:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL InsertAction
-//line sql.y:959
+//line sql.y:961
{
yyLOCAL = ReplaceAct
}
@@ -10724,7 +10741,7 @@ yydefault:
case 87:
yyDollar = yyS[yypt-10 : yypt+1]
var yyLOCAL Statement
-//line sql.y:965
+//line sql.y:967
{
yyLOCAL = &Update{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), TableExprs: yyDollar[5].tableExprsUnion(), Exprs: yyDollar[7].updateExprsUnion(), Where: NewWhere(WhereClause, yyDollar[8].exprUnion()), OrderBy: yyDollar[9].orderByUnion(), Limit: yyDollar[10].limitUnion()}
}
@@ -10732,7 +10749,7 @@ yydefault:
case 88:
yyDollar = yyS[yypt-11 : yypt+1]
var yyLOCAL Statement
-//line sql.y:971
+//line sql.y:973
{
yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), TableExprs: TableExprs{&AliasedTableExpr{Expr: yyDollar[6].tableName, As: yyDollar[7].identifierCS}}, Partitions: yyDollar[8].partitionsUnion(), Where: NewWhere(WhereClause, yyDollar[9].exprUnion()), OrderBy: yyDollar[10].orderByUnion(), Limit: yyDollar[11].limitUnion()}
}
@@ -10740,7 +10757,7 @@ yydefault:
case 89:
yyDollar = yyS[yypt-9 : yypt+1]
var yyLOCAL Statement
-//line sql.y:975
+//line sql.y:977
{
yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[6].tableNamesUnion(), TableExprs: yyDollar[8].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[9].exprUnion())}
}
@@ -10748,7 +10765,7 @@ yydefault:
case 90:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Statement
-//line sql.y:979
+//line sql.y:981
{
yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[5].tableNamesUnion(), TableExprs: yyDollar[7].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[8].exprUnion())}
}
@@ -10756,32 +10773,32 @@ yydefault:
case 91:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Statement
-//line sql.y:983
+//line sql.y:985
{
yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[5].tableNamesUnion(), TableExprs: yyDollar[7].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[8].exprUnion())}
}
yyVAL.union = yyLOCAL
case 92:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:988
+//line sql.y:990
{
}
case 93:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:989
+//line sql.y:991
{
}
case 94:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL TableNames
-//line sql.y:993
+//line sql.y:995
{
yyLOCAL = TableNames{yyDollar[1].tableName}
}
yyVAL.union = yyLOCAL
case 95:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:997
+//line sql.y:999
{
yySLICE := (*TableNames)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].tableName)
@@ -10789,14 +10806,14 @@ yydefault:
case 96:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL TableNames
-//line sql.y:1003
+//line sql.y:1005
{
yyLOCAL = TableNames{yyDollar[1].tableName}
}
yyVAL.union = yyLOCAL
case 97:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:1007
+//line sql.y:1009
{
yySLICE := (*TableNames)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].tableName)
@@ -10804,14 +10821,14 @@ yydefault:
case 98:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL TableNames
-//line sql.y:1013
+//line sql.y:1015
{
yyLOCAL = TableNames{yyDollar[1].tableName}
}
yyVAL.union = yyLOCAL
case 99:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:1017
+//line sql.y:1019
{
yySLICE := (*TableNames)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].tableName)
@@ -10819,7 +10836,7 @@ yydefault:
case 100:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL Partitions
-//line sql.y:1022
+//line sql.y:1024
{
yyLOCAL = nil
}
@@ -10827,7 +10844,7 @@ yydefault:
case 101:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Partitions
-//line sql.y:1026
+//line sql.y:1028
{
yyLOCAL = yyDollar[3].partitionsUnion()
}
@@ -10835,7 +10852,7 @@ yydefault:
case 102:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:1032
+//line sql.y:1034
{
yyLOCAL = NewSetStatement(Comments(yyDollar[2].strs).Parsed(), yyDollar[3].setExprsUnion())
}
@@ -10843,14 +10860,14 @@ yydefault:
case 103:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL SetExprs
-//line sql.y:1038
+//line sql.y:1040
{
yyLOCAL = SetExprs{yyDollar[1].setExprUnion()}
}
yyVAL.union = yyLOCAL
case 104:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:1042
+//line sql.y:1044
{
yySLICE := (*SetExprs)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].setExprUnion())
@@ -10858,7 +10875,7 @@ yydefault:
case 105:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *SetExpr
-//line sql.y:1048
+//line sql.y:1050
{
yyLOCAL = &SetExpr{Var: yyDollar[1].variableUnion(), Expr: NewStrLiteral("on")}
}
@@ -10866,7 +10883,7 @@ yydefault:
case 106:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *SetExpr
-//line sql.y:1052
+//line sql.y:1054
{
yyLOCAL = &SetExpr{Var: yyDollar[1].variableUnion(), Expr: NewStrLiteral("off")}
}
@@ -10874,7 +10891,7 @@ yydefault:
case 107:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *SetExpr
-//line sql.y:1056
+//line sql.y:1058
{
yyLOCAL = &SetExpr{Var: yyDollar[1].variableUnion(), Expr: yyDollar[3].exprUnion()}
}
@@ -10882,7 +10899,7 @@ yydefault:
case 108:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *SetExpr
-//line sql.y:1060
+//line sql.y:1062
{
yyLOCAL = &SetExpr{Var: NewSetVariable(string(yyDollar[1].str), SessionScope), Expr: yyDollar[2].exprUnion()}
}
@@ -10890,7 +10907,7 @@ yydefault:
case 109:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *Variable
-//line sql.y:1066
+//line sql.y:1068
{
yyLOCAL = NewSetVariable(string(yyDollar[1].str), SessionScope)
}
@@ -10898,7 +10915,7 @@ yydefault:
case 110:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *Variable
-//line sql.y:1070
+//line sql.y:1072
{
yyLOCAL = yyDollar[1].variableUnion()
}
@@ -10906,7 +10923,7 @@ yydefault:
case 111:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *Variable
-//line sql.y:1074
+//line sql.y:1076
{
yyLOCAL = NewSetVariable(string(yyDollar[2].str), yyDollar[1].scopeUnion())
}
@@ -10914,7 +10931,7 @@ yydefault:
case 112:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:1080
+//line sql.y:1082
{
yyLOCAL = NewSetStatement(Comments(yyDollar[2].strs).Parsed(), UpdateSetExprsScope(yyDollar[5].setExprsUnion(), yyDollar[3].scopeUnion()))
}
@@ -10922,7 +10939,7 @@ yydefault:
case 113:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:1084
+//line sql.y:1086
{
yyLOCAL = NewSetStatement(Comments(yyDollar[2].strs).Parsed(), yyDollar[4].setExprsUnion())
}
@@ -10930,14 +10947,14 @@ yydefault:
case 114:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL SetExprs
-//line sql.y:1090
+//line sql.y:1092
{
yyLOCAL = SetExprs{yyDollar[1].setExprUnion()}
}
yyVAL.union = yyLOCAL
case 115:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:1094
+//line sql.y:1096
{
yySLICE := (*SetExprs)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].setExprUnion())
@@ -10945,7 +10962,7 @@ yydefault:
case 116:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *SetExpr
-//line sql.y:1100
+//line sql.y:1102
{
yyLOCAL = &SetExpr{Var: NewSetVariable(TransactionIsolationStr, NextTxScope), Expr: NewStrLiteral(yyDollar[3].str)}
}
@@ -10953,7 +10970,7 @@ yydefault:
case 117:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *SetExpr
-//line sql.y:1104
+//line sql.y:1106
{
yyLOCAL = &SetExpr{Var: NewSetVariable(TransactionReadOnlyStr, NextTxScope), Expr: NewStrLiteral("off")}
}
@@ -10961,39 +10978,39 @@ yydefault:
case 118:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *SetExpr
-//line sql.y:1108
+//line sql.y:1110
{
yyLOCAL = &SetExpr{Var: NewSetVariable(TransactionReadOnlyStr, NextTxScope), Expr: NewStrLiteral("on")}
}
yyVAL.union = yyLOCAL
case 119:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:1114
+//line sql.y:1116
{
yyVAL.str = RepeatableReadStr
}
case 120:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:1118
+//line sql.y:1120
{
yyVAL.str = ReadCommittedStr
}
case 121:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:1122
+//line sql.y:1124
{
yyVAL.str = ReadUncommittedStr
}
case 122:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1126
+//line sql.y:1128
{
yyVAL.str = SerializableStr
}
case 123:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Scope
-//line sql.y:1132
+//line sql.y:1134
{
yyLOCAL = SessionScope
}
@@ -11001,7 +11018,7 @@ yydefault:
case 124:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Scope
-//line sql.y:1136
+//line sql.y:1138
{
yyLOCAL = SessionScope
}
@@ -11009,7 +11026,7 @@ yydefault:
case 125:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Scope
-//line sql.y:1140
+//line sql.y:1142
{
yyLOCAL = GlobalScope
}
@@ -11017,7 +11034,7 @@ yydefault:
case 126:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Statement
-//line sql.y:1146
+//line sql.y:1148
{
yyDollar[1].createTableUnion().TableSpec = yyDollar[2].tableSpecUnion()
yyDollar[1].createTableUnion().FullyParsed = true
@@ -11027,7 +11044,7 @@ yydefault:
case 127:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Statement
-//line sql.y:1152
+//line sql.y:1154
{
// Create table [name] like [name]
yyDollar[1].createTableUnion().OptLike = yyDollar[2].optLikeUnion()
@@ -11038,7 +11055,7 @@ yydefault:
case 128:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Statement
-//line sql.y:1159
+//line sql.y:1161
{
indexDef := yyDollar[1].alterTableUnion().AlterOptions[0].(*AddIndexDefinition).IndexDefinition
indexDef.Columns = yyDollar[3].indexColumnsUnion()
@@ -11051,7 +11068,7 @@ yydefault:
case 129:
yyDollar = yyS[yypt-12 : yypt+1]
var yyLOCAL Statement
-//line sql.y:1168
+//line sql.y:1170
{
yyLOCAL = &CreateView{ViewName: yyDollar[8].tableName, Comments: Comments(yyDollar[2].strs).Parsed(), IsReplace: yyDollar[3].booleanUnion(), Algorithm: yyDollar[4].str, Definer: yyDollar[5].definerUnion(), Security: yyDollar[6].str, Columns: yyDollar[9].columnsUnion(), Select: yyDollar[11].selStmtUnion(), CheckOption: yyDollar[12].str}
}
@@ -11059,7 +11076,7 @@ yydefault:
case 130:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Statement
-//line sql.y:1172
+//line sql.y:1174
{
yyDollar[1].createDatabaseUnion().FullyParsed = true
yyDollar[1].createDatabaseUnion().CreateOptions = yyDollar[2].databaseOptionsUnion()
@@ -11069,7 +11086,7 @@ yydefault:
case 131:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:1179
+//line sql.y:1181
{
yyLOCAL = false
}
@@ -11077,33 +11094,33 @@ yydefault:
case 132:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL bool
-//line sql.y:1183
+//line sql.y:1185
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
case 133:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:1188
+//line sql.y:1190
{
yyVAL.identifierCI = NewIdentifierCI("")
}
case 134:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:1192
+//line sql.y:1194
{
yyVAL.identifierCI = yyDollar[2].identifierCI
}
case 135:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1198
+//line sql.y:1200
{
yyVAL.identifierCI = yyDollar[1].identifierCI
}
case 136:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL []VindexParam
-//line sql.y:1203
+//line sql.y:1205
{
var v []VindexParam
yyLOCAL = v
@@ -11112,7 +11129,7 @@ yydefault:
case 137:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL []VindexParam
-//line sql.y:1208
+//line sql.y:1210
{
yyLOCAL = yyDollar[2].vindexParamsUnion()
}
@@ -11120,7 +11137,7 @@ yydefault:
case 138:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []VindexParam
-//line sql.y:1214
+//line sql.y:1216
{
yyLOCAL = make([]VindexParam, 0, 4)
yyLOCAL = append(yyLOCAL, yyDollar[1].vindexParam)
@@ -11128,21 +11145,21 @@ yydefault:
yyVAL.union = yyLOCAL
case 139:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:1219
+//line sql.y:1221
{
yySLICE := (*[]VindexParam)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].vindexParam)
}
case 140:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:1225
+//line sql.y:1227
{
yyVAL.vindexParam = VindexParam{Key: yyDollar[1].identifierCI, Val: yyDollar[3].str}
}
case 141:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL []*JSONObjectParam
-//line sql.y:1230
+//line sql.y:1232
{
yyLOCAL = nil
}
@@ -11150,7 +11167,7 @@ yydefault:
case 142:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []*JSONObjectParam
-//line sql.y:1234
+//line sql.y:1236
{
yyLOCAL = yyDollar[1].jsonObjectParamsUnion()
}
@@ -11158,28 +11175,28 @@ yydefault:
case 143:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []*JSONObjectParam
-//line sql.y:1240
+//line sql.y:1242
{
yyLOCAL = []*JSONObjectParam{yyDollar[1].jsonObjectParam}
}
yyVAL.union = yyLOCAL
case 144:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:1244
+//line sql.y:1246
{
yySLICE := (*[]*JSONObjectParam)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].jsonObjectParam)
}
case 145:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:1250
+//line sql.y:1252
{
yyVAL.jsonObjectParam = &JSONObjectParam{Key: yyDollar[1].exprUnion(), Value: yyDollar[3].exprUnion()}
}
case 146:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL *CreateTable
-//line sql.y:1256
+//line sql.y:1258
{
yyLOCAL = &CreateTable{Comments: Comments(yyDollar[2].strs).Parsed(), Table: yyDollar[6].tableName, IfNotExists: yyDollar[5].booleanUnion(), Temp: yyDollar[3].booleanUnion()}
setDDL(yylex, yyLOCAL)
@@ -11188,7 +11205,7 @@ yydefault:
case 147:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *AlterTable
-//line sql.y:1263
+//line sql.y:1265
{
yyLOCAL = &AlterTable{Comments: Comments(yyDollar[2].strs).Parsed(), Table: yyDollar[4].tableName}
setDDL(yylex, yyLOCAL)
@@ -11197,7 +11214,7 @@ yydefault:
case 148:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL *AlterTable
-//line sql.y:1270
+//line sql.y:1272
{
yyLOCAL = &AlterTable{Table: yyDollar[7].tableName, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition: &IndexDefinition{Info: &IndexInfo{Name: yyDollar[4].identifierCI}, Options: yyDollar[5].indexOptionsUnion()}}}}
setDDL(yylex, yyLOCAL)
@@ -11206,7 +11223,7 @@ yydefault:
case 149:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL *AlterTable
-//line sql.y:1275
+//line sql.y:1277
{
yyLOCAL = &AlterTable{Table: yyDollar[8].tableName, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition: &IndexDefinition{Info: &IndexInfo{Name: yyDollar[5].identifierCI, Type: IndexTypeFullText}, Options: yyDollar[6].indexOptionsUnion()}}}}
setDDL(yylex, yyLOCAL)
@@ -11215,7 +11232,7 @@ yydefault:
case 150:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL *AlterTable
-//line sql.y:1280
+//line sql.y:1282
{
yyLOCAL = &AlterTable{Table: yyDollar[8].tableName, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition: &IndexDefinition{Info: &IndexInfo{Name: yyDollar[5].identifierCI, Type: IndexTypeSpatial}, Options: yyDollar[6].indexOptionsUnion()}}}}
setDDL(yylex, yyLOCAL)
@@ -11224,7 +11241,7 @@ yydefault:
case 151:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL *AlterTable
-//line sql.y:1285
+//line sql.y:1287
{
yyLOCAL = &AlterTable{Table: yyDollar[8].tableName, AlterOptions: []AlterOption{&AddIndexDefinition{IndexDefinition: &IndexDefinition{Info: &IndexInfo{Name: yyDollar[5].identifierCI, Type: IndexTypeUnique}, Options: yyDollar[6].indexOptionsUnion()}}}}
setDDL(yylex, yyLOCAL)
@@ -11233,7 +11250,7 @@ yydefault:
case 152:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL *CreateDatabase
-//line sql.y:1292
+//line sql.y:1294
{
yyLOCAL = &CreateDatabase{Comments: Comments(yyDollar[4].strs).Parsed(), DBName: yyDollar[6].identifierCS, IfNotExists: yyDollar[5].booleanUnion()}
setDDL(yylex, yyLOCAL)
@@ -11242,7 +11259,7 @@ yydefault:
case 153:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *AlterDatabase
-//line sql.y:1299
+//line sql.y:1301
{
yyLOCAL = &AlterDatabase{}
setDDL(yylex, yyLOCAL)
@@ -11251,7 +11268,7 @@ yydefault:
case 156:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *TableSpec
-//line sql.y:1310
+//line sql.y:1312
{
yyLOCAL = yyDollar[2].tableSpecUnion()
yyLOCAL.Options = yyDollar[4].tableOptionsUnion()
@@ -11261,7 +11278,7 @@ yydefault:
case 157:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL []DatabaseOption
-//line sql.y:1317
+//line sql.y:1319
{
yyLOCAL = nil
}
@@ -11269,7 +11286,7 @@ yydefault:
case 158:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []DatabaseOption
-//line sql.y:1321
+//line sql.y:1323
{
yyLOCAL = yyDollar[1].databaseOptionsUnion()
}
@@ -11277,7 +11294,7 @@ yydefault:
case 159:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []DatabaseOption
-//line sql.y:1327
+//line sql.y:1329
{
yyLOCAL = []DatabaseOption{yyDollar[1].databaseOption}
}
@@ -11285,7 +11302,7 @@ yydefault:
case 160:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []DatabaseOption
-//line sql.y:1331
+//line sql.y:1333
{
yyLOCAL = []DatabaseOption{yyDollar[1].databaseOption}
}
@@ -11293,28 +11310,28 @@ yydefault:
case 161:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []DatabaseOption
-//line sql.y:1335
+//line sql.y:1337
{
yyLOCAL = []DatabaseOption{yyDollar[1].databaseOption}
}
yyVAL.union = yyLOCAL
case 162:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:1339
+//line sql.y:1341
{
yySLICE := (*[]DatabaseOption)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[2].databaseOption)
}
case 163:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:1343
+//line sql.y:1345
{
yySLICE := (*[]DatabaseOption)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[2].databaseOption)
}
case 164:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:1347
+//line sql.y:1349
{
yySLICE := (*[]DatabaseOption)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[2].databaseOption)
@@ -11322,7 +11339,7 @@ yydefault:
case 165:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:1353
+//line sql.y:1355
{
yyLOCAL = false
}
@@ -11330,51 +11347,51 @@ yydefault:
case 166:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:1357
+//line sql.y:1359
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
case 167:
yyDollar = yyS[yypt-4 : yypt+1]
-//line sql.y:1363
+//line sql.y:1365
{
yyVAL.databaseOption = DatabaseOption{Type: CharacterSetType, Value: string(yyDollar[4].str), IsDefault: yyDollar[1].booleanUnion()}
}
case 168:
yyDollar = yyS[yypt-4 : yypt+1]
-//line sql.y:1367
+//line sql.y:1369
{
yyVAL.databaseOption = DatabaseOption{Type: CharacterSetType, Value: encodeSQLString(yyDollar[4].str), IsDefault: yyDollar[1].booleanUnion()}
}
case 169:
yyDollar = yyS[yypt-4 : yypt+1]
-//line sql.y:1373
+//line sql.y:1375
{
yyVAL.databaseOption = DatabaseOption{Type: CollateType, Value: string(yyDollar[4].str), IsDefault: yyDollar[1].booleanUnion()}
}
case 170:
yyDollar = yyS[yypt-4 : yypt+1]
-//line sql.y:1377
+//line sql.y:1379
{
yyVAL.databaseOption = DatabaseOption{Type: CollateType, Value: encodeSQLString(yyDollar[4].str), IsDefault: yyDollar[1].booleanUnion()}
}
case 171:
yyDollar = yyS[yypt-4 : yypt+1]
-//line sql.y:1383
+//line sql.y:1385
{
yyVAL.databaseOption = DatabaseOption{Type: EncryptionType, Value: string(yyDollar[4].str), IsDefault: yyDollar[1].booleanUnion()}
}
case 172:
yyDollar = yyS[yypt-4 : yypt+1]
-//line sql.y:1387
+//line sql.y:1389
{
yyVAL.databaseOption = DatabaseOption{Type: EncryptionType, Value: encodeSQLString(yyDollar[4].str), IsDefault: yyDollar[1].booleanUnion()}
}
case 173:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *OptLike
-//line sql.y:1393
+//line sql.y:1395
{
yyLOCAL = &OptLike{LikeTable: yyDollar[2].tableName}
}
@@ -11382,7 +11399,7 @@ yydefault:
case 174:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *OptLike
-//line sql.y:1397
+//line sql.y:1399
{
yyLOCAL = &OptLike{LikeTable: yyDollar[3].tableName}
}
@@ -11390,14 +11407,14 @@ yydefault:
case 175:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []*ColumnDefinition
-//line sql.y:1403
+//line sql.y:1405
{
yyLOCAL = []*ColumnDefinition{yyDollar[1].columnDefinitionUnion()}
}
yyVAL.union = yyLOCAL
case 176:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:1407
+//line sql.y:1409
{
yySLICE := (*[]*ColumnDefinition)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].columnDefinitionUnion())
@@ -11405,7 +11422,7 @@ yydefault:
case 177:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *TableSpec
-//line sql.y:1413
+//line sql.y:1415
{
yyLOCAL = &TableSpec{}
yyLOCAL.AddColumn(yyDollar[1].columnDefinitionUnion())
@@ -11414,7 +11431,7 @@ yydefault:
case 178:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *TableSpec
-//line sql.y:1418
+//line sql.y:1420
{
yyLOCAL = &TableSpec{}
yyLOCAL.AddConstraint(yyDollar[1].constraintDefinitionUnion())
@@ -11422,39 +11439,39 @@ yydefault:
yyVAL.union = yyLOCAL
case 179:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:1423
+//line sql.y:1425
{
yyVAL.tableSpecUnion().AddColumn(yyDollar[3].columnDefinitionUnion())
}
case 180:
yyDollar = yyS[yypt-4 : yypt+1]
-//line sql.y:1427
+//line sql.y:1429
{
yyVAL.tableSpecUnion().AddColumn(yyDollar[3].columnDefinitionUnion())
yyVAL.tableSpecUnion().AddConstraint(yyDollar[4].constraintDefinitionUnion())
}
case 181:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:1432
+//line sql.y:1434
{
yyVAL.tableSpecUnion().AddIndex(yyDollar[3].indexDefinitionUnion())
}
case 182:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:1436
+//line sql.y:1438
{
yyVAL.tableSpecUnion().AddConstraint(yyDollar[3].constraintDefinitionUnion())
}
case 183:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:1440
+//line sql.y:1442
{
yyVAL.tableSpecUnion().AddConstraint(yyDollar[3].constraintDefinitionUnion())
}
case 184:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *ColumnDefinition
-//line sql.y:1451
+//line sql.y:1453
{
yyDollar[2].columnType.Options = yyDollar[4].columnTypeOptionsUnion()
if yyDollar[2].columnType.Options.Collate == "" {
@@ -11467,7 +11484,7 @@ yydefault:
case 185:
yyDollar = yyS[yypt-10 : yypt+1]
var yyLOCAL *ColumnDefinition
-//line sql.y:1460
+//line sql.y:1462
{
yyDollar[2].columnType.Options = yyDollar[9].columnTypeOptionsUnion()
yyDollar[2].columnType.Options.As = yyDollar[7].exprUnion()
@@ -11478,20 +11495,20 @@ yydefault:
yyVAL.union = yyLOCAL
case 186:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:1469
+//line sql.y:1471
{
yyVAL.str = ""
}
case 187:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:1473
+//line sql.y:1475
{
yyVAL.str = ""
}
case 188:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *ColumnTypeOptions
-//line sql.y:1482
+//line sql.y:1484
{
yyLOCAL = &ColumnTypeOptions{Null: nil, Default: nil, OnUpdate: nil, Autoincrement: false, KeyOpt: ColKeyNone, Comment: nil, As: nil, Invisible: nil, Format: UnspecifiedFormat, EngineAttribute: nil, SecondaryEngineAttribute: nil}
}
@@ -11499,7 +11516,7 @@ yydefault:
case 189:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ColumnTypeOptions
-//line sql.y:1486
+//line sql.y:1488
{
yyDollar[1].columnTypeOptionsUnion().Null = ptr.Of(true)
yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
@@ -11508,7 +11525,7 @@ yydefault:
case 190:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *ColumnTypeOptions
-//line sql.y:1491
+//line sql.y:1493
{
yyDollar[1].columnTypeOptionsUnion().Null = ptr.Of(false)
yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
@@ -11517,7 +11534,7 @@ yydefault:
case 191:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *ColumnTypeOptions
-//line sql.y:1496
+//line sql.y:1498
{
yyDollar[1].columnTypeOptionsUnion().Default = yyDollar[4].exprUnion()
yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
@@ -11526,7 +11543,7 @@ yydefault:
case 192:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *ColumnTypeOptions
-//line sql.y:1501
+//line sql.y:1503
{
yyDollar[1].columnTypeOptionsUnion().Default = yyDollar[3].exprUnion()
yyDollar[1].columnTypeOptionsUnion().DefaultLiteral = true
@@ -11536,7 +11553,7 @@ yydefault:
case 193:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *ColumnTypeOptions
-//line sql.y:1507
+//line sql.y:1509
{
yyDollar[1].columnTypeOptionsUnion().OnUpdate = yyDollar[4].exprUnion()
yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
@@ -11545,7 +11562,7 @@ yydefault:
case 194:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ColumnTypeOptions
-//line sql.y:1512
+//line sql.y:1514
{
yyDollar[1].columnTypeOptionsUnion().Autoincrement = true
yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
@@ -11554,7 +11571,7 @@ yydefault:
case 195:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *ColumnTypeOptions
-//line sql.y:1517
+//line sql.y:1519
{
yyDollar[1].columnTypeOptionsUnion().Comment = NewStrLiteral(yyDollar[3].str)
yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
@@ -11563,7 +11580,7 @@ yydefault:
case 196:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ColumnTypeOptions
-//line sql.y:1522
+//line sql.y:1524
{
yyDollar[1].columnTypeOptionsUnion().KeyOpt = yyDollar[2].colKeyOptUnion()
yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
@@ -11571,14 +11588,14 @@ yydefault:
yyVAL.union = yyLOCAL
case 197:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:1527
+//line sql.y:1529
{
yyDollar[1].columnTypeOptionsUnion().Collate = encodeSQLString(yyDollar[3].str)
}
case 198:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *ColumnTypeOptions
-//line sql.y:1531
+//line sql.y:1533
{
yyDollar[1].columnTypeOptionsUnion().Collate = string(yyDollar[3].identifierCI.String())
yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
@@ -11586,14 +11603,14 @@ yydefault:
yyVAL.union = yyLOCAL
case 199:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:1536
+//line sql.y:1538
{
yyDollar[1].columnTypeOptionsUnion().Format = yyDollar[3].columnFormatUnion()
}
case 200:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *ColumnTypeOptions
-//line sql.y:1540
+//line sql.y:1542
{
yyDollar[1].columnTypeOptionsUnion().SRID = NewIntLiteral(yyDollar[3].str)
yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
@@ -11602,7 +11619,7 @@ yydefault:
case 201:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ColumnTypeOptions
-//line sql.y:1545
+//line sql.y:1547
{
yyDollar[1].columnTypeOptionsUnion().Invisible = ptr.Of(false)
yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
@@ -11611,7 +11628,7 @@ yydefault:
case 202:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ColumnTypeOptions
-//line sql.y:1550
+//line sql.y:1552
{
yyDollar[1].columnTypeOptionsUnion().Invisible = ptr.Of(true)
yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
@@ -11619,20 +11636,20 @@ yydefault:
yyVAL.union = yyLOCAL
case 203:
yyDollar = yyS[yypt-4 : yypt+1]
-//line sql.y:1555
+//line sql.y:1557
{
yyDollar[1].columnTypeOptionsUnion().EngineAttribute = NewStrLiteral(yyDollar[4].str)
}
case 204:
yyDollar = yyS[yypt-4 : yypt+1]
-//line sql.y:1559
+//line sql.y:1561
{
yyDollar[1].columnTypeOptionsUnion().SecondaryEngineAttribute = NewStrLiteral(yyDollar[4].str)
}
case 205:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ColumnFormat
-//line sql.y:1565
+//line sql.y:1567
{
yyLOCAL = FixedFormat
}
@@ -11640,7 +11657,7 @@ yydefault:
case 206:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ColumnFormat
-//line sql.y:1569
+//line sql.y:1571
{
yyLOCAL = DynamicFormat
}
@@ -11648,7 +11665,7 @@ yydefault:
case 207:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ColumnFormat
-//line sql.y:1573
+//line sql.y:1575
{
yyLOCAL = DefaultFormat
}
@@ -11656,7 +11673,7 @@ yydefault:
case 208:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ColumnStorage
-//line sql.y:1579
+//line sql.y:1581
{
yyLOCAL = VirtualStorage
}
@@ -11664,7 +11681,7 @@ yydefault:
case 209:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ColumnStorage
-//line sql.y:1583
+//line sql.y:1585
{
yyLOCAL = StoredStorage
}
@@ -11672,7 +11689,7 @@ yydefault:
case 210:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *ColumnTypeOptions
-//line sql.y:1588
+//line sql.y:1590
{
yyLOCAL = &ColumnTypeOptions{}
}
@@ -11680,7 +11697,7 @@ yydefault:
case 211:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ColumnTypeOptions
-//line sql.y:1592
+//line sql.y:1594
{
yyDollar[1].columnTypeOptionsUnion().Storage = yyDollar[2].columnStorageUnion()
yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
@@ -11689,7 +11706,7 @@ yydefault:
case 212:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ColumnTypeOptions
-//line sql.y:1597
+//line sql.y:1599
{
yyDollar[1].columnTypeOptionsUnion().Null = ptr.Of(true)
yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
@@ -11698,7 +11715,7 @@ yydefault:
case 213:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *ColumnTypeOptions
-//line sql.y:1602
+//line sql.y:1604
{
yyDollar[1].columnTypeOptionsUnion().Null = ptr.Of(false)
yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
@@ -11707,7 +11724,7 @@ yydefault:
case 214:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *ColumnTypeOptions
-//line sql.y:1607
+//line sql.y:1609
{
yyDollar[1].columnTypeOptionsUnion().Comment = NewStrLiteral(yyDollar[3].str)
yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
@@ -11716,7 +11733,7 @@ yydefault:
case 215:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ColumnTypeOptions
-//line sql.y:1612
+//line sql.y:1614
{
yyDollar[1].columnTypeOptionsUnion().KeyOpt = yyDollar[2].colKeyOptUnion()
yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
@@ -11725,7 +11742,7 @@ yydefault:
case 216:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ColumnTypeOptions
-//line sql.y:1617
+//line sql.y:1619
{
yyDollar[1].columnTypeOptionsUnion().Invisible = ptr.Of(false)
yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
@@ -11734,7 +11751,7 @@ yydefault:
case 217:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ColumnTypeOptions
-//line sql.y:1622
+//line sql.y:1624
{
yyDollar[1].columnTypeOptionsUnion().Invisible = ptr.Of(true)
yyLOCAL = yyDollar[1].columnTypeOptionsUnion()
@@ -11743,7 +11760,7 @@ yydefault:
case 218:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1629
+//line sql.y:1631
{
yyLOCAL = yyDollar[1].exprUnion()
}
@@ -11751,7 +11768,7 @@ yydefault:
case 220:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1636
+//line sql.y:1638
{
yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("current_timestamp"), Fsp: yyDollar[2].integerUnion()}
}
@@ -11759,7 +11776,7 @@ yydefault:
case 221:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1640
+//line sql.y:1642
{
yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("localtime"), Fsp: yyDollar[2].integerUnion()}
}
@@ -11767,7 +11784,7 @@ yydefault:
case 222:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1644
+//line sql.y:1646
{
yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("localtimestamp"), Fsp: yyDollar[2].integerUnion()}
}
@@ -11775,7 +11792,7 @@ yydefault:
case 223:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1648
+//line sql.y:1650
{
yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("utc_timestamp"), Fsp: yyDollar[2].integerUnion()}
}
@@ -11783,7 +11800,7 @@ yydefault:
case 224:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1652
+//line sql.y:1654
{
yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("now"), Fsp: yyDollar[2].integerUnion()}
}
@@ -11791,7 +11808,7 @@ yydefault:
case 225:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1656
+//line sql.y:1658
{
yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("sysdate"), Fsp: yyDollar[2].integerUnion()}
}
@@ -11799,7 +11816,7 @@ yydefault:
case 228:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1666
+//line sql.y:1668
{
yyLOCAL = &NullVal{}
}
@@ -11807,7 +11824,7 @@ yydefault:
case 230:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1673
+//line sql.y:1675
{
yyLOCAL = yyDollar[2].exprUnion()
}
@@ -11815,7 +11832,7 @@ yydefault:
case 231:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1677
+//line sql.y:1679
{
yyLOCAL = &UnaryExpr{Operator: UMinusOp, Expr: yyDollar[2].exprUnion()}
}
@@ -11823,7 +11840,7 @@ yydefault:
case 232:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1683
+//line sql.y:1685
{
yyLOCAL = yyDollar[1].exprUnion()
}
@@ -11831,7 +11848,7 @@ yydefault:
case 233:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1687
+//line sql.y:1689
{
yyLOCAL = yyDollar[1].exprUnion()
}
@@ -11839,7 +11856,7 @@ yydefault:
case 234:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1691
+//line sql.y:1693
{
yyLOCAL = yyDollar[1].boolValUnion()
}
@@ -11847,7 +11864,7 @@ yydefault:
case 235:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1695
+//line sql.y:1697
{
yyLOCAL = NewHexLiteral(yyDollar[1].str)
}
@@ -11855,7 +11872,7 @@ yydefault:
case 236:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1699
+//line sql.y:1701
{
yyLOCAL = NewHexNumLiteral(yyDollar[1].str)
}
@@ -11863,7 +11880,7 @@ yydefault:
case 237:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1703
+//line sql.y:1705
{
yyLOCAL = NewBitLiteral(yyDollar[1].str)
}
@@ -11871,7 +11888,7 @@ yydefault:
case 238:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1707
+//line sql.y:1709
{
yyLOCAL = NewBitLiteral("0b" + yyDollar[1].str)
}
@@ -11879,7 +11896,7 @@ yydefault:
case 239:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1711
+//line sql.y:1713
{
yyLOCAL = parseBindVariable(yylex, yyDollar[1].str[1:])
}
@@ -11887,7 +11904,7 @@ yydefault:
case 240:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1715
+//line sql.y:1717
{
yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewBitLiteral("0b" + yyDollar[2].str)}
}
@@ -11895,7 +11912,7 @@ yydefault:
case 241:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1719
+//line sql.y:1721
{
yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewHexNumLiteral(yyDollar[2].str)}
}
@@ -11903,7 +11920,7 @@ yydefault:
case 242:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1723
+//line sql.y:1725
{
yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewBitLiteral(yyDollar[2].str)}
}
@@ -11911,7 +11928,7 @@ yydefault:
case 243:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1727
+//line sql.y:1729
{
yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewHexLiteral(yyDollar[2].str)}
}
@@ -11919,7 +11936,7 @@ yydefault:
case 244:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1731
+//line sql.y:1733
{
yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: yyDollar[2].exprUnion()}
}
@@ -11927,7 +11944,7 @@ yydefault:
case 245:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1735
+//line sql.y:1737
{
arg := parseBindVariable(yylex, yyDollar[2].str[1:])
yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: arg}
@@ -11936,7 +11953,7 @@ yydefault:
case 246:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1740
+//line sql.y:1742
{
yyLOCAL = NewDateLiteral(yyDollar[2].str)
}
@@ -11944,7 +11961,7 @@ yydefault:
case 247:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1744
+//line sql.y:1746
{
yyLOCAL = NewTimeLiteral(yyDollar[2].str)
}
@@ -11952,267 +11969,267 @@ yydefault:
case 248:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1748
+//line sql.y:1750
{
yyLOCAL = NewTimestampLiteral(yyDollar[2].str)
}
yyVAL.union = yyLOCAL
case 249:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1754
+//line sql.y:1756
{
yyVAL.str = Armscii8Str
}
case 250:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1758
+//line sql.y:1760
{
yyVAL.str = ASCIIStr
}
case 251:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1762
+//line sql.y:1764
{
yyVAL.str = Big5Str
}
case 252:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1766
+//line sql.y:1768
{
yyVAL.str = UBinaryStr
}
case 253:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1770
+//line sql.y:1772
{
yyVAL.str = Cp1250Str
}
case 254:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1774
+//line sql.y:1776
{
yyVAL.str = Cp1251Str
}
case 255:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1778
+//line sql.y:1780
{
yyVAL.str = Cp1256Str
}
case 256:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1782
+//line sql.y:1784
{
yyVAL.str = Cp1257Str
}
case 257:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1786
+//line sql.y:1788
{
yyVAL.str = Cp850Str
}
case 258:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1790
+//line sql.y:1792
{
yyVAL.str = Cp852Str
}
case 259:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1794
+//line sql.y:1796
{
yyVAL.str = Cp866Str
}
case 260:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1798
+//line sql.y:1800
{
yyVAL.str = Cp932Str
}
case 261:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1802
+//line sql.y:1804
{
yyVAL.str = Dec8Str
}
case 262:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1806
+//line sql.y:1808
{
yyVAL.str = EucjpmsStr
}
case 263:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1810
+//line sql.y:1812
{
yyVAL.str = EuckrStr
}
case 264:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1814
+//line sql.y:1816
{
yyVAL.str = Gb18030Str
}
case 265:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1818
+//line sql.y:1820
{
yyVAL.str = Gb2312Str
}
case 266:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1822
+//line sql.y:1824
{
yyVAL.str = GbkStr
}
case 267:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1826
+//line sql.y:1828
{
yyVAL.str = Geostd8Str
}
case 268:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1830
+//line sql.y:1832
{
yyVAL.str = GreekStr
}
case 269:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1834
+//line sql.y:1836
{
yyVAL.str = HebrewStr
}
case 270:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1838
+//line sql.y:1840
{
yyVAL.str = Hp8Str
}
case 271:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1842
+//line sql.y:1844
{
yyVAL.str = Keybcs2Str
}
case 272:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1846
+//line sql.y:1848
{
yyVAL.str = Koi8rStr
}
case 273:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1850
+//line sql.y:1852
{
yyVAL.str = Koi8uStr
}
case 274:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1854
+//line sql.y:1856
{
yyVAL.str = Latin1Str
}
case 275:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1858
+//line sql.y:1860
{
yyVAL.str = Latin2Str
}
case 276:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1862
+//line sql.y:1864
{
yyVAL.str = Latin5Str
}
case 277:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1866
+//line sql.y:1868
{
yyVAL.str = Latin7Str
}
case 278:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1870
+//line sql.y:1872
{
yyVAL.str = MacceStr
}
case 279:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1874
+//line sql.y:1876
{
yyVAL.str = MacromanStr
}
case 280:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1878
+//line sql.y:1880
{
yyVAL.str = SjisStr
}
case 281:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1882
+//line sql.y:1884
{
yyVAL.str = Swe7Str
}
case 282:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1886
+//line sql.y:1888
{
yyVAL.str = Tis620Str
}
case 283:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1890
+//line sql.y:1892
{
yyVAL.str = Ucs2Str
}
case 284:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1894
+//line sql.y:1896
{
yyVAL.str = UjisStr
}
case 285:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1898
+//line sql.y:1900
{
yyVAL.str = Utf16Str
}
case 286:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1902
+//line sql.y:1904
{
yyVAL.str = Utf16leStr
}
case 287:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1906
+//line sql.y:1908
{
yyVAL.str = Utf32Str
}
case 288:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1910
+//line sql.y:1912
{
yyVAL.str = Utf8mb3Str
}
case 289:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1914
+//line sql.y:1916
{
yyVAL.str = Utf8mb4Str
}
case 290:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:1918
+//line sql.y:1920
{
yyVAL.str = Utf8mb3Str
}
case 293:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1928
+//line sql.y:1930
{
yyLOCAL = NewIntLiteral(yyDollar[1].str)
}
@@ -12220,7 +12237,7 @@ yydefault:
case 294:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1932
+//line sql.y:1934
{
yyLOCAL = NewFloatLiteral(yyDollar[1].str)
}
@@ -12228,7 +12245,7 @@ yydefault:
case 295:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1936
+//line sql.y:1938
{
yyLOCAL = NewDecimalLiteral(yyDollar[1].str)
}
@@ -12236,7 +12253,7 @@ yydefault:
case 296:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1942
+//line sql.y:1944
{
yyLOCAL = yyDollar[1].exprUnion()
}
@@ -12244,7 +12261,7 @@ yydefault:
case 297:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1946
+//line sql.y:1948
{
yyLOCAL = AppendString(yyDollar[1].exprUnion(), yyDollar[2].str)
}
@@ -12252,7 +12269,7 @@ yydefault:
case 298:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1952
+//line sql.y:1954
{
yyLOCAL = NewStrLiteral(yyDollar[1].str)
}
@@ -12260,7 +12277,7 @@ yydefault:
case 299:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1956
+//line sql.y:1958
{
yyLOCAL = &UnaryExpr{Operator: NStringOp, Expr: NewStrLiteral(yyDollar[1].str)}
}
@@ -12268,7 +12285,7 @@ yydefault:
case 300:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1960
+//line sql.y:1962
{
yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewStrLiteral(yyDollar[2].str)}
}
@@ -12276,7 +12293,7 @@ yydefault:
case 301:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1966
+//line sql.y:1968
{
yyLOCAL = yyDollar[1].exprUnion()
}
@@ -12284,7 +12301,7 @@ yydefault:
case 302:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:1970
+//line sql.y:1972
{
yyLOCAL = parseBindVariable(yylex, yyDollar[1].str[1:])
}
@@ -12292,7 +12309,7 @@ yydefault:
case 303:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL ColumnKeyOption
-//line sql.y:1976
+//line sql.y:1978
{
yyLOCAL = ColKeyPrimary
}
@@ -12300,7 +12317,7 @@ yydefault:
case 304:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ColumnKeyOption
-//line sql.y:1980
+//line sql.y:1982
{
yyLOCAL = ColKeyUnique
}
@@ -12308,7 +12325,7 @@ yydefault:
case 305:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL ColumnKeyOption
-//line sql.y:1984
+//line sql.y:1986
{
yyLOCAL = ColKeyUniqueKey
}
@@ -12316,14 +12333,14 @@ yydefault:
case 306:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ColumnKeyOption
-//line sql.y:1988
+//line sql.y:1990
{
yyLOCAL = ColKey
}
yyVAL.union = yyLOCAL
case 307:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:1994
+//line sql.y:1996
{
yyVAL.columnType = yyDollar[1].columnType
yyVAL.columnType.Unsigned = yyDollar[2].booleanUnion()
@@ -12331,74 +12348,74 @@ yydefault:
}
case 311:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2005
+//line sql.y:2007
{
yyVAL.columnType = yyDollar[1].columnType
yyVAL.columnType.Length = yyDollar[2].intPtrUnion()
}
case 312:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2010
+//line sql.y:2012
{
yyVAL.columnType = yyDollar[1].columnType
}
case 313:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2016
+//line sql.y:2018
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 314:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2020
+//line sql.y:2022
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 315:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2024
+//line sql.y:2026
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 316:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2028
+//line sql.y:2030
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 317:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2032
+//line sql.y:2034
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 318:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2036
+//line sql.y:2038
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 319:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2040
+//line sql.y:2042
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 320:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2044
+//line sql.y:2046
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 321:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2048
+//line sql.y:2050
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 322:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2054
+//line sql.y:2056
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length
@@ -12406,7 +12423,7 @@ yydefault:
}
case 323:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2060
+//line sql.y:2062
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length
@@ -12414,7 +12431,7 @@ yydefault:
}
case 324:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2066
+//line sql.y:2068
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length
@@ -12422,7 +12439,7 @@ yydefault:
}
case 325:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2072
+//line sql.y:2074
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length
@@ -12430,7 +12447,7 @@ yydefault:
}
case 326:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2078
+//line sql.y:2080
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length
@@ -12438,7 +12455,7 @@ yydefault:
}
case 327:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2084
+//line sql.y:2086
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length
@@ -12446,7 +12463,7 @@ yydefault:
}
case 328:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2090
+//line sql.y:2092
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length
@@ -12454,43 +12471,43 @@ yydefault:
}
case 329:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2098
+//line sql.y:2100
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 330:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2102
+//line sql.y:2104
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion()}
}
case 331:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2106
+//line sql.y:2108
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion()}
}
case 332:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2110
+//line sql.y:2112
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion()}
}
case 333:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2114
+//line sql.y:2116
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion()}
}
case 334:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:2120
+//line sql.y:2122
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion(), Charset: yyDollar[3].columnCharset}
}
case 335:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:2124
+//line sql.y:2126
{
// CHAR BYTE is an alias for binary. See also:
// https://dev.mysql.com/doc/refman/8.0/en/string-type-syntax.html
@@ -12498,533 +12515,533 @@ yydefault:
}
case 336:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:2130
+//line sql.y:2132
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion(), Charset: yyDollar[3].columnCharset}
}
case 337:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2134
+//line sql.y:2136
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion()}
}
case 338:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2138
+//line sql.y:2140
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion()}
}
case 339:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2142
+//line sql.y:2144
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset}
}
case 340:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2146
+//line sql.y:2148
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset}
}
case 341:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2150
+//line sql.y:2152
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset}
}
case 342:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2154
+//line sql.y:2156
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset}
}
case 343:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2158
+//line sql.y:2160
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 344:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2162
+//line sql.y:2164
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 345:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2166
+//line sql.y:2168
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 346:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2170
+//line sql.y:2172
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 347:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2174
+//line sql.y:2176
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 348:
yyDollar = yyS[yypt-5 : yypt+1]
-//line sql.y:2178
+//line sql.y:2180
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].columnCharset}
}
case 349:
- yyDollar = yyS[yypt-5 : yypt+1]
-//line sql.y:2183
+ yyDollar = yyS[yypt-2 : yypt+1]
+//line sql.y:2184
{
- yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].columnCharset}
+ yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion()}
}
case 350:
- yyDollar = yyS[yypt-1 : yypt+1]
+ yyDollar = yyS[yypt-5 : yypt+1]
//line sql.y:2189
{
- yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
+ yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].columnCharset}
}
case 351:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2193
+//line sql.y:2195
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 352:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2197
+//line sql.y:2199
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 353:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2201
+//line sql.y:2203
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 354:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2205
+//line sql.y:2207
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 355:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2209
+//line sql.y:2211
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 356:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2213
+//line sql.y:2215
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 357:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2217
+//line sql.y:2219
{
yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
}
case 358:
yyDollar = yyS[yypt-1 : yypt+1]
//line sql.y:2223
+ {
+ yyVAL.columnType = &ColumnType{Type: string(yyDollar[1].str)}
+ }
+ case 359:
+ yyDollar = yyS[yypt-1 : yypt+1]
+//line sql.y:2229
{
yyVAL.strs = make([]string, 0, 4)
yyVAL.strs = append(yyVAL.strs, encodeSQLString(yyDollar[1].str))
}
- case 359:
+ case 360:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:2228
+//line sql.y:2234
{
yyVAL.strs = append(yyDollar[1].strs, encodeSQLString(yyDollar[3].str))
}
- case 360:
+ case 361:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *int
-//line sql.y:2233
+//line sql.y:2239
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 361:
+ case 362:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *int
-//line sql.y:2237
+//line sql.y:2243
{
yyLOCAL = ptr.Of(convertStringToInt(yyDollar[2].str))
}
yyVAL.union = yyLOCAL
- case 362:
+ case 363:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:2242
+//line sql.y:2248
{
yyVAL.LengthScaleOption = LengthScaleOption{}
}
- case 363:
+ case 364:
yyDollar = yyS[yypt-5 : yypt+1]
-//line sql.y:2246
+//line sql.y:2252
{
yyVAL.LengthScaleOption = LengthScaleOption{
Length: ptr.Of(convertStringToInt(yyDollar[2].str)),
Scale: ptr.Of(convertStringToInt(yyDollar[4].str)),
}
}
- case 364:
+ case 365:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2255
+//line sql.y:2261
{
yyVAL.LengthScaleOption = yyDollar[1].LengthScaleOption
}
- case 365:
+ case 366:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:2259
+//line sql.y:2265
{
yyVAL.LengthScaleOption = LengthScaleOption{
Length: ptr.Of(convertStringToInt(yyDollar[2].str)),
}
}
- case 366:
+ case 367:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:2266
+//line sql.y:2272
{
yyVAL.LengthScaleOption = LengthScaleOption{}
}
- case 367:
+ case 368:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:2270
+//line sql.y:2276
{
yyVAL.LengthScaleOption = LengthScaleOption{
Length: ptr.Of(convertStringToInt(yyDollar[2].str)),
}
}
- case 368:
+ case 369:
yyDollar = yyS[yypt-5 : yypt+1]
-//line sql.y:2276
+//line sql.y:2282
{
yyVAL.LengthScaleOption = LengthScaleOption{
Length: ptr.Of(convertStringToInt(yyDollar[2].str)),
Scale: ptr.Of(convertStringToInt(yyDollar[4].str)),
}
}
- case 369:
+ case 370:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:2284
+//line sql.y:2290
{
yyLOCAL = false
}
yyVAL.union = yyLOCAL
- case 370:
+ case 371:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:2288
+//line sql.y:2294
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
- case 371:
+ case 372:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:2292
+//line sql.y:2298
{
yyLOCAL = false
}
yyVAL.union = yyLOCAL
- case 372:
+ case 373:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:2297
+//line sql.y:2303
{
yyLOCAL = false
}
yyVAL.union = yyLOCAL
- case 373:
+ case 374:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:2301
+//line sql.y:2307
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
- case 374:
+ case 375:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:2306
+//line sql.y:2312
{
yyVAL.columnCharset = ColumnCharset{}
}
- case 375:
+ case 376:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:2310
+//line sql.y:2316
{
yyVAL.columnCharset = ColumnCharset{Name: string(yyDollar[2].identifierCI.String()), Binary: yyDollar[3].booleanUnion()}
}
- case 376:
+ case 377:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:2314
+//line sql.y:2320
{
yyVAL.columnCharset = ColumnCharset{Name: encodeSQLString(yyDollar[2].str), Binary: yyDollar[3].booleanUnion()}
}
- case 377:
+ case 378:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2318
+//line sql.y:2324
{
yyVAL.columnCharset = ColumnCharset{Name: string(yyDollar[2].str)}
}
- case 378:
+ case 379:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2322
+//line sql.y:2328
{
// ASCII: Shorthand for CHARACTER SET latin1.
yyVAL.columnCharset = ColumnCharset{Name: "latin1", Binary: yyDollar[2].booleanUnion()}
}
- case 379:
+ case 380:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2327
+//line sql.y:2333
{
// UNICODE: Shorthand for CHARACTER SET ucs2.
yyVAL.columnCharset = ColumnCharset{Name: "ucs2", Binary: yyDollar[2].booleanUnion()}
}
- case 380:
+ case 381:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2332
+//line sql.y:2338
{
// BINARY: Shorthand for default CHARACTER SET but with binary collation
yyVAL.columnCharset = ColumnCharset{Name: "", Binary: true}
}
- case 381:
+ case 382:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2337
+//line sql.y:2343
{
// BINARY ASCII: Shorthand for CHARACTER SET latin1 with binary collation
yyVAL.columnCharset = ColumnCharset{Name: "latin1", Binary: true}
}
- case 382:
+ case 383:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2342
+//line sql.y:2348
{
// BINARY UNICODE: Shorthand for CHARACTER SET ucs2 with binary collation
yyVAL.columnCharset = ColumnCharset{Name: "ucs2", Binary: true}
}
- case 383:
+ case 384:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:2348
+//line sql.y:2354
{
yyLOCAL = false
}
yyVAL.union = yyLOCAL
- case 384:
+ case 385:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:2352
+//line sql.y:2358
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
- case 385:
+ case 386:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:2357
+//line sql.y:2363
{
yyVAL.str = ""
}
- case 386:
+ case 387:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2361
+//line sql.y:2367
{
yyVAL.str = string(yyDollar[2].identifierCI.String())
}
- case 387:
+ case 388:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2365
+//line sql.y:2371
{
yyVAL.str = encodeSQLString(yyDollar[2].str)
}
- case 388:
+ case 389:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *IndexDefinition
-//line sql.y:2371
+//line sql.y:2377
{
yyLOCAL = &IndexDefinition{Info: yyDollar[1].indexInfoUnion(), Columns: yyDollar[3].indexColumnsUnion(), Options: yyDollar[5].indexOptionsUnion()}
}
yyVAL.union = yyLOCAL
- case 389:
+ case 390:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL []*IndexOption
-//line sql.y:2376
+//line sql.y:2382
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 390:
+ case 391:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []*IndexOption
-//line sql.y:2380
+//line sql.y:2386
{
yyLOCAL = yyDollar[1].indexOptionsUnion()
}
yyVAL.union = yyLOCAL
- case 391:
+ case 392:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []*IndexOption
-//line sql.y:2386
+//line sql.y:2392
{
yyLOCAL = []*IndexOption{yyDollar[1].indexOptionUnion()}
}
yyVAL.union = yyLOCAL
- case 392:
+ case 393:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2390
+//line sql.y:2396
{
yySLICE := (*[]*IndexOption)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[2].indexOptionUnion())
}
- case 393:
+ case 394:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *IndexOption
-//line sql.y:2396
+//line sql.y:2402
{
yyLOCAL = yyDollar[1].indexOptionUnion()
}
yyVAL.union = yyLOCAL
- case 394:
+ case 395:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *IndexOption
-//line sql.y:2400
+//line sql.y:2406
{
// should not be string
yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
}
yyVAL.union = yyLOCAL
- case 395:
+ case 396:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *IndexOption
-//line sql.y:2405
+//line sql.y:2411
{
yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[2].str)}
}
yyVAL.union = yyLOCAL
- case 396:
+ case 397:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *IndexOption
-//line sql.y:2409
+//line sql.y:2415
{
yyLOCAL = &IndexOption{Name: string(yyDollar[1].str)}
}
yyVAL.union = yyLOCAL
- case 397:
+ case 398:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *IndexOption
-//line sql.y:2413
+//line sql.y:2419
{
yyLOCAL = &IndexOption{Name: string(yyDollar[1].str)}
}
yyVAL.union = yyLOCAL
- case 398:
+ case 399:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *IndexOption
-//line sql.y:2417
+//line sql.y:2423
{
yyLOCAL = &IndexOption{Name: string(yyDollar[1].str) + " " + string(yyDollar[2].str), String: yyDollar[3].identifierCI.String()}
}
yyVAL.union = yyLOCAL
- case 399:
+ case 400:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *IndexOption
-//line sql.y:2421
+//line sql.y:2427
{
yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)}
}
yyVAL.union = yyLOCAL
- case 400:
+ case 401:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *IndexOption
-//line sql.y:2425
+//line sql.y:2431
{
yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)}
}
yyVAL.union = yyLOCAL
- case 401:
+ case 402:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:2431
+//line sql.y:2437
{
yyVAL.str = ""
}
- case 402:
+ case 403:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2435
+//line sql.y:2441
{
yyVAL.str = string(yyDollar[1].str)
}
- case 403:
+ case 404:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *IndexInfo
-//line sql.y:2441
+//line sql.y:2447
{
yyLOCAL = &IndexInfo{Type: IndexTypePrimary, ConstraintName: NewIdentifierCI(yyDollar[1].str), Name: NewIdentifierCI("PRIMARY")}
}
yyVAL.union = yyLOCAL
- case 404:
+ case 405:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *IndexInfo
-//line sql.y:2445
+//line sql.y:2451
{
yyLOCAL = &IndexInfo{Type: IndexTypeSpatial, Name: NewIdentifierCI(yyDollar[3].str)}
}
yyVAL.union = yyLOCAL
- case 405:
+ case 406:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *IndexInfo
-//line sql.y:2449
+//line sql.y:2455
{
yyLOCAL = &IndexInfo{Type: IndexTypeFullText, Name: NewIdentifierCI(yyDollar[3].str)}
}
yyVAL.union = yyLOCAL
- case 406:
+ case 407:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *IndexInfo
-//line sql.y:2453
+//line sql.y:2459
{
yyLOCAL = &IndexInfo{Type: IndexTypeUnique, ConstraintName: NewIdentifierCI(yyDollar[1].str), Name: NewIdentifierCI(yyDollar[4].str)}
}
yyVAL.union = yyLOCAL
- case 407:
+ case 408:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *IndexInfo
-//line sql.y:2457
+//line sql.y:2463
{
yyLOCAL = &IndexInfo{Type: IndexTypeDefault, Name: NewIdentifierCI(yyDollar[2].str)}
}
yyVAL.union = yyLOCAL
- case 408:
+ case 409:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:2462
+//line sql.y:2468
{
yyVAL.str = ""
}
- case 409:
- yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2466
- {
- yyVAL.str = yyDollar[2].str
- }
case 410:
- yyDollar = yyS[yypt-1 : yypt+1]
+ yyDollar = yyS[yypt-2 : yypt+1]
//line sql.y:2472
{
- yyVAL.str = string(yyDollar[1].str)
+ yyVAL.str = yyDollar[2].str
}
case 411:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2476
+//line sql.y:2478
{
yyVAL.str = string(yyDollar[1].str)
}
case 412:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2480
+//line sql.y:2482
{
yyVAL.str = string(yyDollar[1].str)
}
@@ -13036,1167 +13053,1173 @@ yydefault:
}
case 414:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2490
+//line sql.y:2492
{
yyVAL.str = string(yyDollar[1].str)
}
case 415:
- yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:2495
+ yyDollar = yyS[yypt-1 : yypt+1]
+//line sql.y:2496
{
- yyVAL.str = ""
+ yyVAL.str = string(yyDollar[1].str)
}
case 416:
- yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2499
+ yyDollar = yyS[yypt-0 : yypt+1]
+//line sql.y:2501
{
- yyVAL.str = yyDollar[1].str
+ yyVAL.str = ""
}
case 417:
yyDollar = yyS[yypt-1 : yypt+1]
//line sql.y:2505
{
- yyVAL.str = string(yyDollar[1].str)
+ yyVAL.str = yyDollar[1].str
}
case 418:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2509
+//line sql.y:2511
{
yyVAL.str = string(yyDollar[1].str)
}
case 419:
+ yyDollar = yyS[yypt-1 : yypt+1]
+//line sql.y:2515
+ {
+ yyVAL.str = string(yyDollar[1].str)
+ }
+ case 420:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:2514
+//line sql.y:2520
{
yyVAL.str = ""
}
- case 420:
+ case 421:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2518
+//line sql.y:2524
{
yyVAL.str = string(yyDollar[1].identifierCI.String())
}
- case 421:
+ case 422:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []*IndexColumn
-//line sql.y:2524
+//line sql.y:2530
{
yyLOCAL = []*IndexColumn{yyDollar[1].indexColumnUnion()}
}
yyVAL.union = yyLOCAL
- case 422:
+ case 423:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:2528
+//line sql.y:2534
{
yySLICE := (*[]*IndexColumn)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].indexColumnUnion())
}
- case 423:
+ case 424:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *IndexColumn
-//line sql.y:2534
+//line sql.y:2540
{
yyLOCAL = &IndexColumn{Column: yyDollar[1].identifierCI, Length: yyDollar[2].intPtrUnion(), Direction: yyDollar[3].orderDirectionUnion()}
}
yyVAL.union = yyLOCAL
- case 424:
+ case 425:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *IndexColumn
-//line sql.y:2538
+//line sql.y:2544
{
yyLOCAL = &IndexColumn{Expression: yyDollar[2].exprUnion(), Direction: yyDollar[4].orderDirectionUnion()}
}
yyVAL.union = yyLOCAL
- case 425:
+ case 426:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *ConstraintDefinition
-//line sql.y:2544
+//line sql.y:2550
{
yyLOCAL = &ConstraintDefinition{Name: yyDollar[2].identifierCI, Details: yyDollar[3].constraintInfoUnion()}
}
yyVAL.union = yyLOCAL
- case 426:
+ case 427:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *ConstraintDefinition
-//line sql.y:2548
+//line sql.y:2554
{
yyLOCAL = &ConstraintDefinition{Details: yyDollar[1].constraintInfoUnion()}
}
yyVAL.union = yyLOCAL
- case 427:
+ case 428:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *ConstraintDefinition
-//line sql.y:2554
+//line sql.y:2560
{
yyLOCAL = &ConstraintDefinition{Name: yyDollar[2].identifierCI, Details: yyDollar[3].constraintInfoUnion()}
}
yyVAL.union = yyLOCAL
- case 428:
+ case 429:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *ConstraintDefinition
-//line sql.y:2558
+//line sql.y:2564
{
yyLOCAL = &ConstraintDefinition{Details: yyDollar[1].constraintInfoUnion()}
}
yyVAL.union = yyLOCAL
- case 429:
+ case 430:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL ConstraintInfo
-//line sql.y:2564
+//line sql.y:2570
{
yyLOCAL = &ForeignKeyDefinition{IndexName: NewIdentifierCI(yyDollar[3].str), Source: yyDollar[5].columnsUnion(), ReferenceDefinition: yyDollar[7].referenceDefinitionUnion()}
}
yyVAL.union = yyLOCAL
- case 430:
+ case 431:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL *ReferenceDefinition
-//line sql.y:2570
+//line sql.y:2576
{
yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion()}
}
yyVAL.union = yyLOCAL
- case 431:
+ case 432:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL *ReferenceDefinition
-//line sql.y:2574
+//line sql.y:2580
{
yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnDelete: yyDollar[7].referenceActionUnion()}
}
yyVAL.union = yyLOCAL
- case 432:
+ case 433:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL *ReferenceDefinition
-//line sql.y:2578
+//line sql.y:2584
{
yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnUpdate: yyDollar[7].referenceActionUnion()}
}
yyVAL.union = yyLOCAL
- case 433:
+ case 434:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL *ReferenceDefinition
-//line sql.y:2582
+//line sql.y:2588
{
yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnDelete: yyDollar[7].referenceActionUnion(), OnUpdate: yyDollar[8].referenceActionUnion()}
}
yyVAL.union = yyLOCAL
- case 434:
+ case 435:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL *ReferenceDefinition
-//line sql.y:2586
+//line sql.y:2592
{
yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnUpdate: yyDollar[7].referenceActionUnion(), OnDelete: yyDollar[8].referenceActionUnion()}
}
yyVAL.union = yyLOCAL
- case 435:
+ case 436:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *ReferenceDefinition
-//line sql.y:2591
+//line sql.y:2597
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 436:
+ case 437:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *ReferenceDefinition
-//line sql.y:2595
+//line sql.y:2601
{
yyLOCAL = yyDollar[1].referenceDefinitionUnion()
}
yyVAL.union = yyLOCAL
- case 437:
+ case 438:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL ConstraintInfo
-//line sql.y:2601
+//line sql.y:2607
{
yyLOCAL = &CheckConstraintDefinition{Expr: yyDollar[3].exprUnion(), Enforced: yyDollar[5].booleanUnion()}
}
yyVAL.union = yyLOCAL
- case 438:
+ case 439:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL MatchAction
-//line sql.y:2607
+//line sql.y:2613
{
yyLOCAL = yyDollar[2].matchActionUnion()
}
yyVAL.union = yyLOCAL
- case 439:
+ case 440:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL MatchAction
-//line sql.y:2613
+//line sql.y:2619
{
yyLOCAL = Full
}
yyVAL.union = yyLOCAL
- case 440:
+ case 441:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL MatchAction
-//line sql.y:2617
+//line sql.y:2623
{
yyLOCAL = Partial
}
yyVAL.union = yyLOCAL
- case 441:
+ case 442:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL MatchAction
-//line sql.y:2621
+//line sql.y:2627
{
yyLOCAL = Simple
}
yyVAL.union = yyLOCAL
- case 442:
+ case 443:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL MatchAction
-//line sql.y:2626
+//line sql.y:2632
{
yyLOCAL = DefaultMatch
}
yyVAL.union = yyLOCAL
- case 443:
+ case 444:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL MatchAction
-//line sql.y:2630
+//line sql.y:2636
{
yyLOCAL = yyDollar[1].matchActionUnion()
}
yyVAL.union = yyLOCAL
- case 444:
+ case 445:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL ReferenceAction
-//line sql.y:2636
+//line sql.y:2642
{
yyLOCAL = yyDollar[3].referenceActionUnion()
}
yyVAL.union = yyLOCAL
- case 445:
+ case 446:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL ReferenceAction
-//line sql.y:2642
+//line sql.y:2648
{
yyLOCAL = yyDollar[3].referenceActionUnion()
}
yyVAL.union = yyLOCAL
- case 446:
+ case 447:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ReferenceAction
-//line sql.y:2648
+//line sql.y:2654
{
yyLOCAL = Restrict
}
yyVAL.union = yyLOCAL
- case 447:
+ case 448:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ReferenceAction
-//line sql.y:2652
+//line sql.y:2658
{
yyLOCAL = Cascade
}
yyVAL.union = yyLOCAL
- case 448:
+ case 449:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL ReferenceAction
-//line sql.y:2656
+//line sql.y:2662
{
yyLOCAL = NoAction
}
yyVAL.union = yyLOCAL
- case 449:
+ case 450:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL ReferenceAction
-//line sql.y:2660
+//line sql.y:2666
{
yyLOCAL = SetDefault
}
yyVAL.union = yyLOCAL
- case 450:
+ case 451:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL ReferenceAction
-//line sql.y:2664
+//line sql.y:2670
{
yyLOCAL = SetNull
}
yyVAL.union = yyLOCAL
- case 451:
+ case 452:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:2669
+//line sql.y:2675
{
yyVAL.str = ""
}
- case 452:
+ case 453:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2673
+//line sql.y:2679
{
yyVAL.str = string(yyDollar[1].str)
}
- case 453:
+ case 454:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2677
+//line sql.y:2683
{
yyVAL.str = string(yyDollar[1].str)
}
- case 454:
+ case 455:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:2683
+//line sql.y:2689
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
- case 455:
+ case 456:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL bool
-//line sql.y:2687
+//line sql.y:2693
{
yyLOCAL = false
}
yyVAL.union = yyLOCAL
- case 456:
+ case 457:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:2692
+//line sql.y:2698
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
- case 457:
+ case 458:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:2696
+//line sql.y:2702
{
yyLOCAL = yyDollar[1].booleanUnion()
}
yyVAL.union = yyLOCAL
- case 458:
+ case 459:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL TableOptions
-//line sql.y:2701
+//line sql.y:2707
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 459:
+ case 460:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL TableOptions
-//line sql.y:2705
+//line sql.y:2711
{
yyLOCAL = yyDollar[1].tableOptionsUnion()
}
yyVAL.union = yyLOCAL
- case 460:
+ case 461:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL TableOptions
-//line sql.y:2711
+//line sql.y:2717
{
yyLOCAL = TableOptions{yyDollar[1].tableOptionUnion()}
}
yyVAL.union = yyLOCAL
- case 461:
+ case 462:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:2715
+//line sql.y:2721
{
yySLICE := (*TableOptions)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].tableOptionUnion())
}
- case 462:
+ case 463:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2719
+//line sql.y:2725
{
yySLICE := (*TableOptions)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[2].tableOptionUnion())
}
- case 463:
+ case 464:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL TableOptions
-//line sql.y:2725
+//line sql.y:2731
{
yyLOCAL = TableOptions{yyDollar[1].tableOptionUnion()}
}
yyVAL.union = yyLOCAL
- case 464:
+ case 465:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2729
+//line sql.y:2735
{
yySLICE := (*TableOptions)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[2].tableOptionUnion())
}
- case 465:
+ case 466:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2735
+//line sql.y:2741
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
}
yyVAL.union = yyLOCAL
- case 466:
+ case 467:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2739
+//line sql.y:2745
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
}
yyVAL.union = yyLOCAL
- case 467:
+ case 468:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2743
+//line sql.y:2749
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
}
yyVAL.union = yyLOCAL
- case 468:
+ case 469:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2747
+//line sql.y:2753
{
yyLOCAL = &TableOption{Name: (string(yyDollar[2].str)), String: yyDollar[4].str, CaseSensitive: true}
}
yyVAL.union = yyLOCAL
- case 469:
+ case 470:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2751
+//line sql.y:2757
{
yyLOCAL = &TableOption{Name: string(yyDollar[2].str), String: yyDollar[4].str, CaseSensitive: true}
}
yyVAL.union = yyLOCAL
- case 470:
+ case 471:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2755
+//line sql.y:2761
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
}
yyVAL.union = yyLOCAL
- case 471:
+ case 472:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2759
+//line sql.y:2765
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)}
}
yyVAL.union = yyLOCAL
- case 472:
+ case 473:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2763
+//line sql.y:2769
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)}
}
yyVAL.union = yyLOCAL
- case 473:
+ case 474:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2767
+//line sql.y:2773
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)}
}
yyVAL.union = yyLOCAL
- case 474:
+ case 475:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2771
+//line sql.y:2777
{
yyLOCAL = &TableOption{Name: (string(yyDollar[1].str) + " " + string(yyDollar[2].str)), Value: NewStrLiteral(yyDollar[4].str)}
}
yyVAL.union = yyLOCAL
- case 475:
+ case 476:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2775
+//line sql.y:2781
{
yyLOCAL = &TableOption{Name: (string(yyDollar[1].str) + " " + string(yyDollar[2].str)), Value: NewStrLiteral(yyDollar[4].str)}
}
yyVAL.union = yyLOCAL
- case 476:
+ case 477:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2779
+//line sql.y:2785
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
}
yyVAL.union = yyLOCAL
- case 477:
+ case 478:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2783
+//line sql.y:2789
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)}
}
yyVAL.union = yyLOCAL
- case 478:
+ case 479:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2787
+//line sql.y:2793
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: yyDollar[3].identifierCS.String(), CaseSensitive: true}
}
yyVAL.union = yyLOCAL
- case 479:
+ case 480:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2791
+//line sql.y:2797
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)}
}
yyVAL.union = yyLOCAL
- case 480:
+ case 481:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2795
+//line sql.y:2801
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)}
}
yyVAL.union = yyLOCAL
- case 481:
+ case 482:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2799
+//line sql.y:2805
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
}
yyVAL.union = yyLOCAL
- case 482:
+ case 483:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2803
+//line sql.y:2809
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
}
yyVAL.union = yyLOCAL
- case 483:
+ case 484:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2807
+//line sql.y:2813
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
}
yyVAL.union = yyLOCAL
- case 484:
+ case 485:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2811
+//line sql.y:2817
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
}
yyVAL.union = yyLOCAL
- case 485:
+ case 486:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2815
+//line sql.y:2821
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)}
}
yyVAL.union = yyLOCAL
- case 486:
+ case 487:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2819
+//line sql.y:2825
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)}
}
yyVAL.union = yyLOCAL
- case 487:
+ case 488:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2823
+//line sql.y:2829
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)}
}
yyVAL.union = yyLOCAL
- case 488:
+ case 489:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2827
+//line sql.y:2833
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)}
}
yyVAL.union = yyLOCAL
- case 489:
+ case 490:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2831
+//line sql.y:2837
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
}
yyVAL.union = yyLOCAL
- case 490:
+ case 491:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2835
+//line sql.y:2841
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)}
}
yyVAL.union = yyLOCAL
- case 491:
+ case 492:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2839
+//line sql.y:2845
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
}
yyVAL.union = yyLOCAL
- case 492:
+ case 493:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2843
+//line sql.y:2849
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)}
}
yyVAL.union = yyLOCAL
- case 493:
+ case 494:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2847
+//line sql.y:2853
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)}
}
yyVAL.union = yyLOCAL
- case 494:
+ case 495:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2851
+//line sql.y:2857
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: (yyDollar[3].identifierCI.String() + yyDollar[4].str), CaseSensitive: true}
}
yyVAL.union = yyLOCAL
- case 495:
+ case 496:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *TableOption
-//line sql.y:2855
+//line sql.y:2861
{
yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Tables: yyDollar[4].tableNamesUnion()}
}
yyVAL.union = yyLOCAL
- case 496:
+ case 497:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:2860
+//line sql.y:2866
{
yyVAL.str = ""
}
- case 497:
+ case 498:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2864
+//line sql.y:2870
{
yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str)
}
- case 498:
+ case 499:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2868
+//line sql.y:2874
{
yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str)
}
- case 508:
+ case 509:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:2887
+//line sql.y:2893
{
yyVAL.str = String(TableName{Qualifier: yyDollar[1].identifierCS, Name: yyDollar[3].identifierCS})
}
- case 509:
+ case 510:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2891
+//line sql.y:2897
{
yyVAL.str = yyDollar[1].identifierCI.String()
}
- case 510:
+ case 511:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2895
+//line sql.y:2901
{
yyVAL.str = encodeSQLString(yyDollar[1].str)
}
- case 511:
+ case 512:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:2899
+//line sql.y:2905
{
yyVAL.str = string(yyDollar[1].str)
}
- case 512:
+ case 513:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:2904
+//line sql.y:2910
{
yyVAL.str = ""
}
- case 514:
+ case 515:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:2910
+//line sql.y:2916
{
yyLOCAL = false
}
yyVAL.union = yyLOCAL
- case 515:
+ case 516:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:2914
+//line sql.y:2920
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
- case 516:
+ case 517:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *ColName
-//line sql.y:2919
+//line sql.y:2925
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 517:
+ case 518:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ColName
-//line sql.y:2923
+//line sql.y:2929
{
yyLOCAL = yyDollar[2].colNameUnion()
}
yyVAL.union = yyLOCAL
- case 518:
+ case 519:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:2928
+//line sql.y:2934
{
yyVAL.str = ""
}
- case 519:
+ case 520:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:2932
+//line sql.y:2938
{
yyVAL.str = string(yyDollar[2].str)
}
- case 520:
+ case 521:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *Literal
-//line sql.y:2937
+//line sql.y:2943
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 521:
+ case 522:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *Literal
-//line sql.y:2941
+//line sql.y:2947
{
yyLOCAL = NewIntLiteral(yyDollar[2].str)
}
yyVAL.union = yyLOCAL
- case 522:
+ case 523:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *Literal
-//line sql.y:2945
+//line sql.y:2951
{
yyLOCAL = NewDecimalLiteral(yyDollar[2].str)
}
yyVAL.union = yyLOCAL
- case 523:
+ case 524:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL []AlterOption
-//line sql.y:2950
+//line sql.y:2956
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 524:
+ case 525:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []AlterOption
-//line sql.y:2954
+//line sql.y:2960
{
yyLOCAL = yyDollar[1].alterOptionsUnion()
}
yyVAL.union = yyLOCAL
- case 525:
+ case 526:
yyDollar = yyS[yypt-5 : yypt+1]
-//line sql.y:2958
+//line sql.y:2964
{
yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, &OrderByOption{Cols: yyDollar[5].columnsUnion()})
}
- case 526:
+ case 527:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []AlterOption
-//line sql.y:2962
+//line sql.y:2968
{
yyLOCAL = yyDollar[1].alterOptionsUnion()
}
yyVAL.union = yyLOCAL
- case 527:
+ case 528:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:2966
+//line sql.y:2972
{
yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].alterOptionsUnion()...)
}
- case 528:
+ case 529:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL []AlterOption
-//line sql.y:2970
+//line sql.y:2976
{
yyLOCAL = append(append(yyDollar[1].alterOptionsUnion(), yyDollar[3].alterOptionsUnion()...), &OrderByOption{Cols: yyDollar[7].columnsUnion()})
}
yyVAL.union = yyLOCAL
- case 529:
+ case 530:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []AlterOption
-//line sql.y:2976
+//line sql.y:2982
{
yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()}
}
yyVAL.union = yyLOCAL
- case 530:
+ case 531:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:2980
+//line sql.y:2986
{
yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion())
}
- case 531:
+ case 532:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:2984
+//line sql.y:2990
{
yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion())
}
- case 532:
+ case 533:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:2990
+//line sql.y:2996
{
yyLOCAL = yyDollar[1].tableOptionsUnion()
}
yyVAL.union = yyLOCAL
- case 533:
+ case 534:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:2994
+//line sql.y:3000
{
yyLOCAL = &AddConstraintDefinition{ConstraintDefinition: yyDollar[2].constraintDefinitionUnion()}
}
yyVAL.union = yyLOCAL
- case 534:
+ case 535:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:2998
+//line sql.y:3004
{
yyLOCAL = &AddConstraintDefinition{ConstraintDefinition: yyDollar[2].constraintDefinitionUnion()}
}
yyVAL.union = yyLOCAL
- case 535:
+ case 536:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3002
+//line sql.y:3008
{
yyLOCAL = &AddIndexDefinition{IndexDefinition: yyDollar[2].indexDefinitionUnion()}
}
yyVAL.union = yyLOCAL
- case 536:
+ case 537:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3006
+//line sql.y:3012
{
yyLOCAL = &AddColumns{Columns: yyDollar[4].columnDefinitionsUnion()}
}
yyVAL.union = yyLOCAL
- case 537:
+ case 538:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3010
+//line sql.y:3016
{
yyLOCAL = &AddColumns{Columns: []*ColumnDefinition{yyDollar[3].columnDefinitionUnion()}, First: yyDollar[4].booleanUnion(), After: yyDollar[5].colNameUnion()}
}
yyVAL.union = yyLOCAL
- case 538:
+ case 539:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3014
+//line sql.y:3020
{
yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: true}
}
yyVAL.union = yyLOCAL
- case 539:
+ case 540:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3018
+//line sql.y:3024
{
yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: false, DefaultVal: yyDollar[6].exprUnion(), DefaultLiteral: true}
}
yyVAL.union = yyLOCAL
- case 540:
+ case 541:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3022
+//line sql.y:3028
{
yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: false, DefaultVal: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 541:
+ case 542:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3026
+//line sql.y:3032
{
yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), Invisible: ptr.Of(false)}
}
yyVAL.union = yyLOCAL
- case 542:
+ case 543:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3030
+//line sql.y:3036
{
yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), Invisible: ptr.Of(true)}
}
yyVAL.union = yyLOCAL
- case 543:
+ case 544:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3034
+//line sql.y:3040
{
yyLOCAL = &AlterCheck{Name: yyDollar[3].identifierCI, Enforced: yyDollar[4].booleanUnion()}
}
yyVAL.union = yyLOCAL
- case 544:
+ case 545:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3038
+//line sql.y:3044
{
yyLOCAL = &AlterIndex{Name: yyDollar[3].identifierCI, Invisible: false}
}
yyVAL.union = yyLOCAL
- case 545:
+ case 546:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3042
+//line sql.y:3048
{
yyLOCAL = &AlterIndex{Name: yyDollar[3].identifierCI, Invisible: true}
}
yyVAL.union = yyLOCAL
- case 546:
+ case 547:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3046
+//line sql.y:3052
{
yyLOCAL = &ChangeColumn{OldColumn: yyDollar[3].colNameUnion(), NewColDefinition: yyDollar[4].columnDefinitionUnion(), First: yyDollar[5].booleanUnion(), After: yyDollar[6].colNameUnion()}
}
yyVAL.union = yyLOCAL
- case 547:
+ case 548:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3050
+//line sql.y:3056
{
yyLOCAL = &ModifyColumn{NewColDefinition: yyDollar[3].columnDefinitionUnion(), First: yyDollar[4].booleanUnion(), After: yyDollar[5].colNameUnion()}
}
yyVAL.union = yyLOCAL
- case 548:
+ case 549:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3054
+//line sql.y:3060
{
yyLOCAL = &RenameColumn{OldName: yyDollar[3].colNameUnion(), NewName: yyDollar[5].colNameUnion()}
}
yyVAL.union = yyLOCAL
- case 549:
+ case 550:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3058
+//line sql.y:3064
{
yyLOCAL = &AlterCharset{CharacterSet: yyDollar[4].str, Collate: yyDollar[5].str}
}
yyVAL.union = yyLOCAL
- case 550:
+ case 551:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3062
+//line sql.y:3068
{
yyLOCAL = &KeyState{Enable: false}
}
yyVAL.union = yyLOCAL
- case 551:
+ case 552:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3066
+//line sql.y:3072
{
yyLOCAL = &KeyState{Enable: true}
}
yyVAL.union = yyLOCAL
- case 552:
+ case 553:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3070
+//line sql.y:3076
{
yyLOCAL = &TablespaceOperation{Import: false}
}
yyVAL.union = yyLOCAL
- case 553:
+ case 554:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3074
+//line sql.y:3080
{
yyLOCAL = &TablespaceOperation{Import: true}
}
yyVAL.union = yyLOCAL
- case 554:
+ case 555:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3078
+//line sql.y:3084
{
yyLOCAL = &DropColumn{Name: yyDollar[3].colNameUnion()}
}
yyVAL.union = yyLOCAL
- case 555:
+ case 556:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3082
+//line sql.y:3088
{
yyLOCAL = &DropKey{Type: NormalKeyType, Name: yyDollar[3].identifierCI}
}
yyVAL.union = yyLOCAL
- case 556:
+ case 557:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3086
+//line sql.y:3092
{
yyLOCAL = &DropKey{Type: PrimaryKeyType}
}
yyVAL.union = yyLOCAL
- case 557:
+ case 558:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3090
+//line sql.y:3096
{
yyLOCAL = &DropKey{Type: ForeignKeyType, Name: yyDollar[4].identifierCI}
}
yyVAL.union = yyLOCAL
- case 558:
+ case 559:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3094
+//line sql.y:3100
{
yyLOCAL = &DropKey{Type: CheckKeyType, Name: yyDollar[3].identifierCI}
}
yyVAL.union = yyLOCAL
- case 559:
+ case 560:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3098
+//line sql.y:3104
{
yyLOCAL = &DropKey{Type: CheckKeyType, Name: yyDollar[3].identifierCI}
}
yyVAL.union = yyLOCAL
- case 560:
+ case 561:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3102
+//line sql.y:3108
{
yyLOCAL = &Force{}
}
yyVAL.union = yyLOCAL
- case 561:
+ case 562:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3106
+//line sql.y:3112
{
yyLOCAL = &RenameTableName{Table: yyDollar[3].tableName}
}
yyVAL.union = yyLOCAL
- case 562:
+ case 563:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3110
+//line sql.y:3116
{
yyLOCAL = &RenameIndex{OldName: yyDollar[3].identifierCI, NewName: yyDollar[5].identifierCI}
}
yyVAL.union = yyLOCAL
- case 563:
+ case 564:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []AlterOption
-//line sql.y:3116
+//line sql.y:3122
{
yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()}
}
yyVAL.union = yyLOCAL
- case 564:
+ case 565:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:3120
+//line sql.y:3126
{
yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion())
}
- case 565:
+ case 566:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3126
+//line sql.y:3132
{
yyLOCAL = AlgorithmValue(string(yyDollar[3].str))
}
yyVAL.union = yyLOCAL
- case 566:
+ case 567:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3130
+//line sql.y:3136
{
yyLOCAL = AlgorithmValue(string(yyDollar[3].str))
}
yyVAL.union = yyLOCAL
- case 567:
+ case 568:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3134
+//line sql.y:3140
{
yyLOCAL = AlgorithmValue(string(yyDollar[3].str))
}
yyVAL.union = yyLOCAL
- case 568:
+ case 569:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3138
+//line sql.y:3144
{
yyLOCAL = AlgorithmValue(string(yyDollar[3].str))
}
yyVAL.union = yyLOCAL
- case 569:
+ case 570:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3142
+//line sql.y:3148
{
yyLOCAL = &LockOption{Type: DefaultType}
}
yyVAL.union = yyLOCAL
- case 570:
+ case 571:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3146
+//line sql.y:3152
{
yyLOCAL = &LockOption{Type: NoneType}
}
yyVAL.union = yyLOCAL
- case 571:
+ case 572:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3150
+//line sql.y:3156
{
yyLOCAL = &LockOption{Type: SharedType}
}
yyVAL.union = yyLOCAL
- case 572:
+ case 573:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3154
+//line sql.y:3160
{
yyLOCAL = &LockOption{Type: ExclusiveType}
}
yyVAL.union = yyLOCAL
- case 573:
+ case 574:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3158
+//line sql.y:3164
{
yyLOCAL = &Validation{With: true}
}
yyVAL.union = yyLOCAL
- case 574:
+ case 575:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:3162
+//line sql.y:3168
{
yyLOCAL = &Validation{With: false}
}
yyVAL.union = yyLOCAL
- case 575:
+ case 576:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3168
+//line sql.y:3174
{
yyDollar[1].alterTableUnion().FullyParsed = true
yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion()
@@ -14204,10 +14227,10 @@ yydefault:
yyLOCAL = yyDollar[1].alterTableUnion()
}
yyVAL.union = yyLOCAL
- case 576:
+ case 577:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3175
+//line sql.y:3181
{
yyDollar[1].alterTableUnion().FullyParsed = true
yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion()
@@ -14215,10 +14238,10 @@ yydefault:
yyLOCAL = yyDollar[1].alterTableUnion()
}
yyVAL.union = yyLOCAL
- case 577:
+ case 578:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3182
+//line sql.y:3188
{
yyDollar[1].alterTableUnion().FullyParsed = true
yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion()
@@ -14226,28 +14249,28 @@ yydefault:
yyLOCAL = yyDollar[1].alterTableUnion()
}
yyVAL.union = yyLOCAL
- case 578:
+ case 579:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3189
+//line sql.y:3195
{
yyDollar[1].alterTableUnion().FullyParsed = true
yyDollar[1].alterTableUnion().PartitionSpec = yyDollar[2].partSpecUnion()
yyLOCAL = yyDollar[1].alterTableUnion()
}
yyVAL.union = yyLOCAL
- case 579:
+ case 580:
yyDollar = yyS[yypt-11 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3195
+//line sql.y:3201
{
yyLOCAL = &AlterView{ViewName: yyDollar[7].tableName, Comments: Comments(yyDollar[2].strs).Parsed(), Algorithm: yyDollar[3].str, Definer: yyDollar[4].definerUnion(), Security: yyDollar[5].str, Columns: yyDollar[8].columnsUnion(), Select: yyDollar[10].selStmtUnion(), CheckOption: yyDollar[11].str}
}
yyVAL.union = yyLOCAL
- case 580:
+ case 581:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3205
+//line sql.y:3211
{
yyDollar[1].alterDatabaseUnion().FullyParsed = true
yyDollar[1].alterDatabaseUnion().DBName = yyDollar[2].identifierCS
@@ -14255,10 +14278,10 @@ yydefault:
yyLOCAL = yyDollar[1].alterDatabaseUnion()
}
yyVAL.union = yyLOCAL
- case 581:
+ case 582:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3212
+//line sql.y:3218
{
yyDollar[1].alterDatabaseUnion().FullyParsed = true
yyDollar[1].alterDatabaseUnion().DBName = yyDollar[2].identifierCS
@@ -14266,10 +14289,10 @@ yydefault:
yyLOCAL = yyDollar[1].alterDatabaseUnion()
}
yyVAL.union = yyLOCAL
- case 582:
+ case 583:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3219
+//line sql.y:3225
{
yyLOCAL = &AlterVschema{
Action: CreateVindexDDLAction,
@@ -14282,10 +14305,10 @@ yydefault:
}
}
yyVAL.union = yyLOCAL
- case 583:
+ case 584:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3231
+//line sql.y:3237
{
yyLOCAL = &AlterVschema{
Action: DropVindexDDLAction,
@@ -14296,26 +14319,26 @@ yydefault:
}
}
yyVAL.union = yyLOCAL
- case 584:
+ case 585:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3241
+//line sql.y:3247
{
yyLOCAL = &AlterVschema{Action: AddVschemaTableDDLAction, Table: yyDollar[6].tableName}
}
yyVAL.union = yyLOCAL
- case 585:
+ case 586:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3245
+//line sql.y:3251
{
yyLOCAL = &AlterVschema{Action: DropVschemaTableDDLAction, Table: yyDollar[6].tableName}
}
yyVAL.union = yyLOCAL
- case 586:
+ case 587:
yyDollar = yyS[yypt-13 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3249
+//line sql.y:3255
{
yyLOCAL = &AlterVschema{
Action: AddColVindexDDLAction,
@@ -14329,10 +14352,10 @@ yydefault:
}
}
yyVAL.union = yyLOCAL
- case 587:
+ case 588:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3262
+//line sql.y:3268
{
yyLOCAL = &AlterVschema{
Action: DropColVindexDDLAction,
@@ -14343,26 +14366,26 @@ yydefault:
}
}
yyVAL.union = yyLOCAL
- case 588:
+ case 589:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3272
+//line sql.y:3278
{
yyLOCAL = &AlterVschema{Action: AddSequenceDDLAction, Table: yyDollar[6].tableName}
}
yyVAL.union = yyLOCAL
- case 589:
+ case 590:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3276
+//line sql.y:3282
{
yyLOCAL = &AlterVschema{Action: DropSequenceDDLAction, Table: yyDollar[6].tableName}
}
yyVAL.union = yyLOCAL
- case 590:
+ case 591:
yyDollar = yyS[yypt-10 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3280
+//line sql.y:3286
{
yyLOCAL = &AlterVschema{
Action: AddAutoIncDDLAction,
@@ -14374,10 +14397,10 @@ yydefault:
}
}
yyVAL.union = yyLOCAL
- case 591:
+ case 592:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3291
+//line sql.y:3297
{
yyLOCAL = &AlterVschema{
Action: DropAutoIncDDLAction,
@@ -14385,10 +14408,10 @@ yydefault:
}
}
yyVAL.union = yyLOCAL
- case 592:
+ case 593:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3298
+//line sql.y:3304
{
yyLOCAL = &AlterMigration{
Type: RetryMigrationType,
@@ -14396,10 +14419,10 @@ yydefault:
}
}
yyVAL.union = yyLOCAL
- case 593:
+ case 594:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3305
+//line sql.y:3311
{
yyLOCAL = &AlterMigration{
Type: CleanupMigrationType,
@@ -14407,10 +14430,20 @@ yydefault:
}
}
yyVAL.union = yyLOCAL
- case 594:
+ case 595:
+ yyDollar = yyS[yypt-5 : yypt+1]
+ var yyLOCAL Statement
+//line sql.y:3318
+ {
+ yyLOCAL = &AlterMigration{
+ Type: CleanupAllMigrationType,
+ }
+ }
+ yyVAL.union = yyLOCAL
+ case 596:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3312
+//line sql.y:3324
{
yyLOCAL = &AlterMigration{
Type: LaunchMigrationType,
@@ -14418,10 +14451,10 @@ yydefault:
}
}
yyVAL.union = yyLOCAL
- case 595:
+ case 597:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3319
+//line sql.y:3331
{
yyLOCAL = &AlterMigration{
Type: LaunchMigrationType,
@@ -14430,20 +14463,20 @@ yydefault:
}
}
yyVAL.union = yyLOCAL
- case 596:
+ case 598:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3327
+//line sql.y:3339
{
yyLOCAL = &AlterMigration{
Type: LaunchAllMigrationType,
}
}
yyVAL.union = yyLOCAL
- case 597:
+ case 599:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3333
+//line sql.y:3345
{
yyLOCAL = &AlterMigration{
Type: CompleteMigrationType,
@@ -14451,20 +14484,20 @@ yydefault:
}
}
yyVAL.union = yyLOCAL
- case 598:
+ case 600:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3340
+//line sql.y:3352
{
yyLOCAL = &AlterMigration{
Type: CompleteAllMigrationType,
}
}
yyVAL.union = yyLOCAL
- case 599:
+ case 601:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3346
+//line sql.y:3358
{
yyLOCAL = &AlterMigration{
Type: CancelMigrationType,
@@ -14472,20 +14505,20 @@ yydefault:
}
}
yyVAL.union = yyLOCAL
- case 600:
+ case 602:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3353
+//line sql.y:3365
{
yyLOCAL = &AlterMigration{
Type: CancelAllMigrationType,
}
}
yyVAL.union = yyLOCAL
- case 601:
+ case 603:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3359
+//line sql.y:3371
{
yyLOCAL = &AlterMigration{
Type: ThrottleMigrationType,
@@ -14495,10 +14528,10 @@ yydefault:
}
}
yyVAL.union = yyLOCAL
- case 602:
+ case 604:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3368
+//line sql.y:3380
{
yyLOCAL = &AlterMigration{
Type: ThrottleAllMigrationType,
@@ -14507,10 +14540,10 @@ yydefault:
}
}
yyVAL.union = yyLOCAL
- case 603:
+ case 605:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3376
+//line sql.y:3388
{
yyLOCAL = &AlterMigration{
Type: UnthrottleMigrationType,
@@ -14518,20 +14551,20 @@ yydefault:
}
}
yyVAL.union = yyLOCAL
- case 604:
+ case 606:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3383
+//line sql.y:3395
{
yyLOCAL = &AlterMigration{
Type: UnthrottleAllMigrationType,
}
}
yyVAL.union = yyLOCAL
- case 605:
+ case 607:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3389
+//line sql.y:3401
{
yyLOCAL = &AlterMigration{
Type: ForceCutOverMigrationType,
@@ -14539,28 +14572,28 @@ yydefault:
}
}
yyVAL.union = yyLOCAL
- case 606:
+ case 608:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3396
+//line sql.y:3408
{
yyLOCAL = &AlterMigration{
Type: ForceCutOverAllMigrationType,
}
}
yyVAL.union = yyLOCAL
- case 607:
+ case 609:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *PartitionOption
-//line sql.y:3403
+//line sql.y:3415
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 608:
+ case 610:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL *PartitionOption
-//line sql.y:3407
+//line sql.y:3419
{
yyDollar[3].partitionOptionUnion().Partitions = yyDollar[4].integerUnion()
yyDollar[3].partitionOptionUnion().SubPartition = yyDollar[5].subPartitionUnion()
@@ -14568,10 +14601,10 @@ yydefault:
yyLOCAL = yyDollar[3].partitionOptionUnion()
}
yyVAL.union = yyLOCAL
- case 609:
+ case 611:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *PartitionOption
-//line sql.y:3416
+//line sql.y:3428
{
yyLOCAL = &PartitionOption{
IsLinear: yyDollar[1].booleanUnion(),
@@ -14580,10 +14613,10 @@ yydefault:
}
}
yyVAL.union = yyLOCAL
- case 610:
+ case 612:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL *PartitionOption
-//line sql.y:3424
+//line sql.y:3436
{
yyLOCAL = &PartitionOption{
IsLinear: yyDollar[1].booleanUnion(),
@@ -14593,10 +14626,10 @@ yydefault:
}
}
yyVAL.union = yyLOCAL
- case 611:
+ case 613:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *PartitionOption
-//line sql.y:3433
+//line sql.y:3445
{
yyLOCAL = &PartitionOption{
Type: yyDollar[1].partitionByTypeUnion(),
@@ -14604,10 +14637,10 @@ yydefault:
}
}
yyVAL.union = yyLOCAL
- case 612:
+ case 614:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *PartitionOption
-//line sql.y:3440
+//line sql.y:3452
{
yyLOCAL = &PartitionOption{
Type: yyDollar[1].partitionByTypeUnion(),
@@ -14615,18 +14648,18 @@ yydefault:
}
}
yyVAL.union = yyLOCAL
- case 613:
+ case 615:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *SubPartition
-//line sql.y:3448
+//line sql.y:3460
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 614:
+ case 616:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL *SubPartition
-//line sql.y:3452
+//line sql.y:3464
{
yyLOCAL = &SubPartition{
IsLinear: yyDollar[3].booleanUnion(),
@@ -14636,10 +14669,10 @@ yydefault:
}
}
yyVAL.union = yyLOCAL
- case 615:
+ case 617:
yyDollar = yyS[yypt-9 : yypt+1]
var yyLOCAL *SubPartition
-//line sql.y:3461
+//line sql.y:3473
{
yyLOCAL = &SubPartition{
IsLinear: yyDollar[3].booleanUnion(),
@@ -14650,678 +14683,678 @@ yydefault:
}
}
yyVAL.union = yyLOCAL
- case 616:
+ case 618:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL []*PartitionDefinition
-//line sql.y:3472
+//line sql.y:3484
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 617:
+ case 619:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL []*PartitionDefinition
-//line sql.y:3476
+//line sql.y:3488
{
yyLOCAL = yyDollar[2].partDefsUnion()
}
yyVAL.union = yyLOCAL
- case 618:
+ case 620:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:3481
+//line sql.y:3493
{
yyLOCAL = false
}
yyVAL.union = yyLOCAL
- case 619:
+ case 621:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:3485
+//line sql.y:3497
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
- case 620:
+ case 622:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL int
-//line sql.y:3490
+//line sql.y:3502
{
yyLOCAL = 0
}
yyVAL.union = yyLOCAL
- case 621:
+ case 623:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL int
-//line sql.y:3494
+//line sql.y:3506
{
yyLOCAL = convertStringToInt(yyDollar[3].str)
}
yyVAL.union = yyLOCAL
- case 622:
+ case 624:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL TableExpr
-//line sql.y:3500
+//line sql.y:3512
{
yyLOCAL = &JSONTableExpr{Expr: yyDollar[3].exprUnion(), Filter: yyDollar[5].exprUnion(), Columns: yyDollar[6].jtColumnListUnion(), Alias: yyDollar[8].identifierCS}
}
yyVAL.union = yyLOCAL
- case 623:
+ case 625:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL []*JtColumnDefinition
-//line sql.y:3506
+//line sql.y:3518
{
yyLOCAL = yyDollar[3].jtColumnListUnion()
}
yyVAL.union = yyLOCAL
- case 624:
+ case 626:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []*JtColumnDefinition
-//line sql.y:3512
+//line sql.y:3524
{
yyLOCAL = []*JtColumnDefinition{yyDollar[1].jtColumnDefinitionUnion()}
}
yyVAL.union = yyLOCAL
- case 625:
+ case 627:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:3516
+//line sql.y:3528
{
yySLICE := (*[]*JtColumnDefinition)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].jtColumnDefinitionUnion())
}
- case 626:
+ case 628:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *JtColumnDefinition
-//line sql.y:3522
+//line sql.y:3534
{
yyLOCAL = &JtColumnDefinition{JtOrdinal: &JtOrdinalColDef{Name: yyDollar[1].identifierCI}}
}
yyVAL.union = yyLOCAL
- case 627:
+ case 629:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL *JtColumnDefinition
-//line sql.y:3526
+//line sql.y:3538
{
yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str}
jtPath := &JtPathColDef{Name: yyDollar[1].identifierCI, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion()}
yyLOCAL = &JtColumnDefinition{JtPath: jtPath}
}
yyVAL.union = yyLOCAL
- case 628:
+ case 630:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL *JtColumnDefinition
-//line sql.y:3532
+//line sql.y:3544
{
yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str}
jtPath := &JtPathColDef{Name: yyDollar[1].identifierCI, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion()}
yyLOCAL = &JtColumnDefinition{JtPath: jtPath}
}
yyVAL.union = yyLOCAL
- case 629:
+ case 631:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL *JtColumnDefinition
-//line sql.y:3538
+//line sql.y:3550
{
yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str}
jtPath := &JtPathColDef{Name: yyDollar[1].identifierCI, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), ErrorOnResponse: yyDollar[7].jtOnResponseUnion()}
yyLOCAL = &JtColumnDefinition{JtPath: jtPath}
}
yyVAL.union = yyLOCAL
- case 630:
+ case 632:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL *JtColumnDefinition
-//line sql.y:3544
+//line sql.y:3556
{
yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str}
jtPath := &JtPathColDef{Name: yyDollar[1].identifierCI, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion(), ErrorOnResponse: yyDollar[8].jtOnResponseUnion()}
yyLOCAL = &JtColumnDefinition{JtPath: jtPath}
}
yyVAL.union = yyLOCAL
- case 631:
+ case 633:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *JtColumnDefinition
-//line sql.y:3550
+//line sql.y:3562
{
jtNestedPath := &JtNestedPathColDef{Path: yyDollar[3].exprUnion(), Columns: yyDollar[4].jtColumnListUnion()}
yyLOCAL = &JtColumnDefinition{JtNestedPath: jtNestedPath}
}
yyVAL.union = yyLOCAL
- case 632:
+ case 634:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:3556
+//line sql.y:3568
{
yyLOCAL = false
}
yyVAL.union = yyLOCAL
- case 633:
+ case 635:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:3560
+//line sql.y:3572
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
- case 634:
+ case 636:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:3564
+//line sql.y:3576
{
yyLOCAL = false
}
yyVAL.union = yyLOCAL
- case 635:
+ case 637:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:3568
+//line sql.y:3580
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
- case 636:
+ case 638:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *JtOnResponse
-//line sql.y:3574
+//line sql.y:3586
{
yyLOCAL = yyDollar[1].jtOnResponseUnion()
}
yyVAL.union = yyLOCAL
- case 637:
+ case 639:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *JtOnResponse
-//line sql.y:3580
+//line sql.y:3592
{
yyLOCAL = yyDollar[1].jtOnResponseUnion()
}
yyVAL.union = yyLOCAL
- case 638:
+ case 640:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *JtOnResponse
-//line sql.y:3586
+//line sql.y:3598
{
yyLOCAL = &JtOnResponse{ResponseType: ErrorJSONType}
}
yyVAL.union = yyLOCAL
- case 639:
+ case 641:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *JtOnResponse
-//line sql.y:3590
+//line sql.y:3602
{
yyLOCAL = &JtOnResponse{ResponseType: NullJSONType}
}
yyVAL.union = yyLOCAL
- case 640:
+ case 642:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *JtOnResponse
-//line sql.y:3594
+//line sql.y:3606
{
yyLOCAL = &JtOnResponse{ResponseType: DefaultJSONType, Expr: yyDollar[2].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 641:
+ case 643:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL PartitionByType
-//line sql.y:3600
+//line sql.y:3612
{
yyLOCAL = RangeType
}
yyVAL.union = yyLOCAL
- case 642:
+ case 644:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL PartitionByType
-//line sql.y:3604
+//line sql.y:3616
{
yyLOCAL = ListType
}
yyVAL.union = yyLOCAL
- case 643:
+ case 645:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL int
-//line sql.y:3609
+//line sql.y:3621
{
yyLOCAL = -1
}
yyVAL.union = yyLOCAL
- case 644:
+ case 646:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL int
-//line sql.y:3613
+//line sql.y:3625
{
yyLOCAL = convertStringToInt(yyDollar[2].str)
}
yyVAL.union = yyLOCAL
- case 645:
+ case 647:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL int
-//line sql.y:3618
+//line sql.y:3630
{
yyLOCAL = -1
}
yyVAL.union = yyLOCAL
- case 646:
+ case 648:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL int
-//line sql.y:3622
+//line sql.y:3634
{
yyLOCAL = convertStringToInt(yyDollar[2].str)
}
yyVAL.union = yyLOCAL
- case 647:
+ case 649:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3628
+//line sql.y:3640
{
yyLOCAL = &PartitionSpec{Action: AddAction, Definitions: []*PartitionDefinition{yyDollar[4].partDefUnion()}}
}
yyVAL.union = yyLOCAL
- case 648:
+ case 650:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3632
+//line sql.y:3644
{
yyLOCAL = &PartitionSpec{Action: DropAction, Names: yyDollar[3].partitionsUnion()}
}
yyVAL.union = yyLOCAL
- case 649:
+ case 651:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3636
+//line sql.y:3648
{
yyLOCAL = &PartitionSpec{Action: ReorganizeAction, Names: yyDollar[3].partitionsUnion(), Definitions: yyDollar[6].partDefsUnion()}
}
yyVAL.union = yyLOCAL
- case 650:
+ case 652:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3640
+//line sql.y:3652
{
yyLOCAL = &PartitionSpec{Action: DiscardAction, Names: yyDollar[3].partitionsUnion()}
}
yyVAL.union = yyLOCAL
- case 651:
+ case 653:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3644
+//line sql.y:3656
{
yyLOCAL = &PartitionSpec{Action: DiscardAction, IsAll: true}
}
yyVAL.union = yyLOCAL
- case 652:
+ case 654:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3648
+//line sql.y:3660
{
yyLOCAL = &PartitionSpec{Action: ImportAction, Names: yyDollar[3].partitionsUnion()}
}
yyVAL.union = yyLOCAL
- case 653:
+ case 655:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3652
+//line sql.y:3664
{
yyLOCAL = &PartitionSpec{Action: ImportAction, IsAll: true}
}
yyVAL.union = yyLOCAL
- case 654:
+ case 656:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3656
+//line sql.y:3668
{
yyLOCAL = &PartitionSpec{Action: TruncateAction, Names: yyDollar[3].partitionsUnion()}
}
yyVAL.union = yyLOCAL
- case 655:
+ case 657:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3660
+//line sql.y:3672
{
yyLOCAL = &PartitionSpec{Action: TruncateAction, IsAll: true}
}
yyVAL.union = yyLOCAL
- case 656:
+ case 658:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3664
+//line sql.y:3676
{
yyLOCAL = &PartitionSpec{Action: CoalesceAction, Number: NewIntLiteral(yyDollar[3].str)}
}
yyVAL.union = yyLOCAL
- case 657:
+ case 659:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3668
+//line sql.y:3680
{
yyLOCAL = &PartitionSpec{Action: ExchangeAction, Names: Partitions{yyDollar[3].identifierCI}, TableName: yyDollar[6].tableName, WithoutValidation: yyDollar[7].booleanUnion()}
}
yyVAL.union = yyLOCAL
- case 658:
+ case 660:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3672
+//line sql.y:3684
{
yyLOCAL = &PartitionSpec{Action: AnalyzeAction, Names: yyDollar[3].partitionsUnion()}
}
yyVAL.union = yyLOCAL
- case 659:
+ case 661:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3676
+//line sql.y:3688
{
yyLOCAL = &PartitionSpec{Action: AnalyzeAction, IsAll: true}
}
yyVAL.union = yyLOCAL
- case 660:
+ case 662:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3680
+//line sql.y:3692
{
yyLOCAL = &PartitionSpec{Action: CheckAction, Names: yyDollar[3].partitionsUnion()}
}
yyVAL.union = yyLOCAL
- case 661:
+ case 663:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3684
+//line sql.y:3696
{
yyLOCAL = &PartitionSpec{Action: CheckAction, IsAll: true}
}
yyVAL.union = yyLOCAL
- case 662:
+ case 664:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3688
+//line sql.y:3700
{
yyLOCAL = &PartitionSpec{Action: OptimizeAction, Names: yyDollar[3].partitionsUnion()}
}
yyVAL.union = yyLOCAL
- case 663:
+ case 665:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3692
+//line sql.y:3704
{
yyLOCAL = &PartitionSpec{Action: OptimizeAction, IsAll: true}
}
yyVAL.union = yyLOCAL
- case 664:
+ case 666:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3696
+//line sql.y:3708
{
yyLOCAL = &PartitionSpec{Action: RebuildAction, Names: yyDollar[3].partitionsUnion()}
}
yyVAL.union = yyLOCAL
- case 665:
+ case 667:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3700
+//line sql.y:3712
{
yyLOCAL = &PartitionSpec{Action: RebuildAction, IsAll: true}
}
yyVAL.union = yyLOCAL
- case 666:
+ case 668:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3704
+//line sql.y:3716
{
yyLOCAL = &PartitionSpec{Action: RepairAction, Names: yyDollar[3].partitionsUnion()}
}
yyVAL.union = yyLOCAL
- case 667:
+ case 669:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3708
+//line sql.y:3720
{
yyLOCAL = &PartitionSpec{Action: RepairAction, IsAll: true}
}
yyVAL.union = yyLOCAL
- case 668:
+ case 670:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *PartitionSpec
-//line sql.y:3712
+//line sql.y:3724
{
yyLOCAL = &PartitionSpec{Action: UpgradeAction}
}
yyVAL.union = yyLOCAL
- case 669:
+ case 671:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:3717
+//line sql.y:3729
{
yyLOCAL = false
}
yyVAL.union = yyLOCAL
- case 670:
+ case 672:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL bool
-//line sql.y:3721
+//line sql.y:3733
{
yyLOCAL = false
}
yyVAL.union = yyLOCAL
- case 671:
+ case 673:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL bool
-//line sql.y:3725
+//line sql.y:3737
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
- case 672:
+ case 674:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []*PartitionDefinition
-//line sql.y:3731
+//line sql.y:3743
{
yyLOCAL = []*PartitionDefinition{yyDollar[1].partDefUnion()}
}
yyVAL.union = yyLOCAL
- case 673:
+ case 675:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:3735
+//line sql.y:3747
{
yySLICE := (*[]*PartitionDefinition)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].partDefUnion())
}
- case 674:
+ case 676:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:3741
+//line sql.y:3753
{
yyVAL.partDefUnion().Options = yyDollar[2].partitionDefinitionOptionsUnion()
}
- case 675:
+ case 677:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *PartitionDefinitionOptions
-//line sql.y:3746
+//line sql.y:3758
{
yyLOCAL = &PartitionDefinitionOptions{}
}
yyVAL.union = yyLOCAL
- case 676:
+ case 678:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *PartitionDefinitionOptions
-//line sql.y:3750
+//line sql.y:3762
{
yyDollar[1].partitionDefinitionOptionsUnion().ValueRange = yyDollar[2].partitionValueRangeUnion()
yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion()
}
yyVAL.union = yyLOCAL
- case 677:
+ case 679:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *PartitionDefinitionOptions
-//line sql.y:3755
+//line sql.y:3767
{
yyDollar[1].partitionDefinitionOptionsUnion().Comment = yyDollar[2].literalUnion()
yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion()
}
yyVAL.union = yyLOCAL
- case 678:
+ case 680:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *PartitionDefinitionOptions
-//line sql.y:3760
+//line sql.y:3772
{
yyDollar[1].partitionDefinitionOptionsUnion().Engine = yyDollar[2].partitionEngineUnion()
yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion()
}
yyVAL.union = yyLOCAL
- case 679:
+ case 681:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *PartitionDefinitionOptions
-//line sql.y:3765
+//line sql.y:3777
{
yyDollar[1].partitionDefinitionOptionsUnion().DataDirectory = yyDollar[2].literalUnion()
yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion()
}
yyVAL.union = yyLOCAL
- case 680:
+ case 682:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *PartitionDefinitionOptions
-//line sql.y:3770
+//line sql.y:3782
{
yyDollar[1].partitionDefinitionOptionsUnion().IndexDirectory = yyDollar[2].literalUnion()
yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion()
}
yyVAL.union = yyLOCAL
- case 681:
+ case 683:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *PartitionDefinitionOptions
-//line sql.y:3775
+//line sql.y:3787
{
yyDollar[1].partitionDefinitionOptionsUnion().MaxRows = ptr.Of(yyDollar[2].integerUnion())
yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion()
}
yyVAL.union = yyLOCAL
- case 682:
+ case 684:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *PartitionDefinitionOptions
-//line sql.y:3780
+//line sql.y:3792
{
yyDollar[1].partitionDefinitionOptionsUnion().MinRows = ptr.Of(yyDollar[2].integerUnion())
yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion()
}
yyVAL.union = yyLOCAL
- case 683:
+ case 685:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *PartitionDefinitionOptions
-//line sql.y:3785
+//line sql.y:3797
{
yyDollar[1].partitionDefinitionOptionsUnion().TableSpace = yyDollar[2].str
yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion()
}
yyVAL.union = yyLOCAL
- case 684:
+ case 686:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *PartitionDefinitionOptions
-//line sql.y:3790
+//line sql.y:3802
{
yyDollar[1].partitionDefinitionOptionsUnion().SubPartitionDefinitions = yyDollar[2].subPartitionDefinitionsUnion()
yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion()
}
yyVAL.union = yyLOCAL
- case 685:
+ case 687:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL SubPartitionDefinitions
-//line sql.y:3796
+//line sql.y:3808
{
yyLOCAL = yyDollar[2].subPartitionDefinitionsUnion()
}
yyVAL.union = yyLOCAL
- case 686:
+ case 688:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL SubPartitionDefinitions
-//line sql.y:3802
+//line sql.y:3814
{
yyLOCAL = SubPartitionDefinitions{yyDollar[1].subPartitionDefinitionUnion()}
}
yyVAL.union = yyLOCAL
- case 687:
+ case 689:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:3806
+//line sql.y:3818
{
yySLICE := (*SubPartitionDefinitions)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].subPartitionDefinitionUnion())
}
- case 688:
+ case 690:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *SubPartitionDefinition
-//line sql.y:3812
+//line sql.y:3824
{
yyLOCAL = &SubPartitionDefinition{Name: yyDollar[2].identifierCI, Options: yyDollar[3].subPartitionDefinitionOptionsUnion()}
}
yyVAL.union = yyLOCAL
- case 689:
+ case 691:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *SubPartitionDefinitionOptions
-//line sql.y:3817
+//line sql.y:3829
{
yyLOCAL = &SubPartitionDefinitionOptions{}
}
yyVAL.union = yyLOCAL
- case 690:
+ case 692:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *SubPartitionDefinitionOptions
-//line sql.y:3821
+//line sql.y:3833
{
yyDollar[1].subPartitionDefinitionOptionsUnion().Comment = yyDollar[2].literalUnion()
yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion()
}
yyVAL.union = yyLOCAL
- case 691:
+ case 693:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *SubPartitionDefinitionOptions
-//line sql.y:3826
+//line sql.y:3838
{
yyDollar[1].subPartitionDefinitionOptionsUnion().Engine = yyDollar[2].partitionEngineUnion()
yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion()
}
yyVAL.union = yyLOCAL
- case 692:
+ case 694:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *SubPartitionDefinitionOptions
-//line sql.y:3831
+//line sql.y:3843
{
yyDollar[1].subPartitionDefinitionOptionsUnion().DataDirectory = yyDollar[2].literalUnion()
yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion()
}
yyVAL.union = yyLOCAL
- case 693:
+ case 695:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *SubPartitionDefinitionOptions
-//line sql.y:3836
+//line sql.y:3848
{
yyDollar[1].subPartitionDefinitionOptionsUnion().IndexDirectory = yyDollar[2].literalUnion()
yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion()
}
yyVAL.union = yyLOCAL
- case 694:
+ case 696:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *SubPartitionDefinitionOptions
-//line sql.y:3841
+//line sql.y:3853
{
yyDollar[1].subPartitionDefinitionOptionsUnion().MaxRows = ptr.Of(yyDollar[2].integerUnion())
yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion()
}
yyVAL.union = yyLOCAL
- case 695:
+ case 697:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *SubPartitionDefinitionOptions
-//line sql.y:3846
+//line sql.y:3858
{
yyDollar[1].subPartitionDefinitionOptionsUnion().MinRows = ptr.Of(yyDollar[2].integerUnion())
yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion()
}
yyVAL.union = yyLOCAL
- case 696:
+ case 698:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *SubPartitionDefinitionOptions
-//line sql.y:3851
+//line sql.y:3863
{
yyDollar[1].subPartitionDefinitionOptionsUnion().TableSpace = yyDollar[2].str
yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion()
}
yyVAL.union = yyLOCAL
- case 697:
+ case 699:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *PartitionValueRange
-//line sql.y:3858
+//line sql.y:3870
{
yyLOCAL = &PartitionValueRange{
Type: LessThanType,
@@ -15329,10 +15362,10 @@ yydefault:
}
}
yyVAL.union = yyLOCAL
- case 698:
+ case 700:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *PartitionValueRange
-//line sql.y:3865
+//line sql.y:3877
{
yyLOCAL = &PartitionValueRange{
Type: LessThanType,
@@ -15340,10 +15373,10 @@ yydefault:
}
}
yyVAL.union = yyLOCAL
- case 699:
+ case 701:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *PartitionValueRange
-//line sql.y:3872
+//line sql.y:3884
{
yyLOCAL = &PartitionValueRange{
Type: InType,
@@ -15351,131 +15384,131 @@ yydefault:
}
}
yyVAL.union = yyLOCAL
- case 700:
+ case 702:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:3880
+//line sql.y:3892
{
yyLOCAL = false
}
yyVAL.union = yyLOCAL
- case 701:
+ case 703:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:3884
+//line sql.y:3896
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
- case 702:
+ case 704:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *PartitionEngine
-//line sql.y:3890
+//line sql.y:3902
{
yyLOCAL = &PartitionEngine{Storage: yyDollar[1].booleanUnion(), Name: yyDollar[4].identifierCS.String()}
}
yyVAL.union = yyLOCAL
- case 703:
+ case 705:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *Literal
-//line sql.y:3896
+//line sql.y:3908
{
yyLOCAL = NewStrLiteral(yyDollar[3].str)
}
yyVAL.union = yyLOCAL
- case 704:
+ case 706:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *Literal
-//line sql.y:3902
+//line sql.y:3914
{
yyLOCAL = NewStrLiteral(yyDollar[4].str)
}
yyVAL.union = yyLOCAL
- case 705:
+ case 707:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *Literal
-//line sql.y:3908
+//line sql.y:3920
{
yyLOCAL = NewStrLiteral(yyDollar[4].str)
}
yyVAL.union = yyLOCAL
- case 706:
+ case 708:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL int
-//line sql.y:3914
+//line sql.y:3926
{
yyLOCAL = convertStringToInt(yyDollar[3].str)
}
yyVAL.union = yyLOCAL
- case 707:
+ case 709:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL int
-//line sql.y:3920
+//line sql.y:3932
{
yyLOCAL = convertStringToInt(yyDollar[3].str)
}
yyVAL.union = yyLOCAL
- case 708:
+ case 710:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:3926
+//line sql.y:3938
{
yyVAL.str = yyDollar[3].identifierCS.String()
}
- case 709:
+ case 711:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *PartitionDefinition
-//line sql.y:3932
+//line sql.y:3944
{
yyLOCAL = &PartitionDefinition{Name: yyDollar[2].identifierCI}
}
yyVAL.union = yyLOCAL
- case 710:
+ case 712:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:3938
+//line sql.y:3950
{
yyVAL.str = ""
}
- case 711:
+ case 713:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:3942
+//line sql.y:3954
{
yyVAL.str = ""
}
- case 712:
+ case 714:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3948
+//line sql.y:3960
{
yyLOCAL = &RenameTable{TablePairs: yyDollar[3].renameTablePairsUnion()}
}
yyVAL.union = yyLOCAL
- case 713:
+ case 715:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL []*RenameTablePair
-//line sql.y:3954
+//line sql.y:3966
{
yyLOCAL = []*RenameTablePair{{FromTable: yyDollar[1].tableName, ToTable: yyDollar[3].tableName}}
}
yyVAL.union = yyLOCAL
- case 714:
+ case 716:
yyDollar = yyS[yypt-5 : yypt+1]
-//line sql.y:3958
+//line sql.y:3970
{
yySLICE := (*[]*RenameTablePair)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, &RenameTablePair{FromTable: yyDollar[3].tableName, ToTable: yyDollar[5].tableName})
}
- case 715:
+ case 717:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3964
+//line sql.y:3976
{
yyLOCAL = &DropTable{FromTables: yyDollar[6].tableNamesUnion(), IfExists: yyDollar[5].booleanUnion(), Comments: Comments(yyDollar[2].strs).Parsed(), Temp: yyDollar[3].booleanUnion()}
}
yyVAL.union = yyLOCAL
- case 716:
+ case 718:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3968
+//line sql.y:3980
{
// Change this to an alter statement
if yyDollar[4].identifierCI.Lowered() == "primary" {
@@ -15485,1345 +15518,1345 @@ yydefault:
}
}
yyVAL.union = yyLOCAL
- case 717:
+ case 719:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3977
+//line sql.y:3989
{
yyLOCAL = &DropView{FromTables: yyDollar[5].tableNamesUnion(), Comments: Comments(yyDollar[2].strs).Parsed(), IfExists: yyDollar[4].booleanUnion()}
}
yyVAL.union = yyLOCAL
- case 718:
+ case 720:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3981
+//line sql.y:3993
{
yyLOCAL = &DropDatabase{Comments: Comments(yyDollar[2].strs).Parsed(), DBName: yyDollar[5].identifierCS, IfExists: yyDollar[4].booleanUnion()}
}
yyVAL.union = yyLOCAL
- case 719:
+ case 721:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3987
+//line sql.y:3999
{
yyLOCAL = &TruncateTable{Table: yyDollar[3].tableName}
}
yyVAL.union = yyLOCAL
- case 720:
+ case 722:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3991
+//line sql.y:4003
{
yyLOCAL = &TruncateTable{Table: yyDollar[2].tableName}
}
yyVAL.union = yyLOCAL
- case 721:
+ case 723:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:3997
+//line sql.y:4009
{
yyLOCAL = &Analyze{IsLocal: yyDollar[2].booleanUnion(), Table: yyDollar[4].tableName}
}
yyVAL.union = yyLOCAL
- case 722:
+ case 724:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4003
+//line sql.y:4015
{
yyLOCAL = &PurgeBinaryLogs{To: string(yyDollar[5].str)}
}
yyVAL.union = yyLOCAL
- case 723:
+ case 725:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4007
+//line sql.y:4019
{
yyLOCAL = &PurgeBinaryLogs{Before: string(yyDollar[5].str)}
}
yyVAL.union = yyLOCAL
- case 724:
+ case 726:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4013
+//line sql.y:4025
{
yyLOCAL = &Show{&ShowBasic{Command: Charset, Filter: yyDollar[3].showFilterUnion()}}
}
yyVAL.union = yyLOCAL
- case 725:
+ case 727:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4017
+//line sql.y:4029
{
yyLOCAL = &Show{&ShowBasic{Command: Collation, Filter: yyDollar[3].showFilterUnion()}}
}
yyVAL.union = yyLOCAL
- case 726:
+ case 728:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4021
+//line sql.y:4033
{
yyLOCAL = &Show{&ShowBasic{Full: yyDollar[2].booleanUnion(), Command: Column, Tbl: yyDollar[5].tableName, DbName: yyDollar[6].identifierCS, Filter: yyDollar[7].showFilterUnion()}}
}
yyVAL.union = yyLOCAL
- case 727:
+ case 729:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4025
+//line sql.y:4037
{
yyLOCAL = &Show{&ShowBasic{Command: Database, Filter: yyDollar[3].showFilterUnion()}}
}
yyVAL.union = yyLOCAL
- case 728:
+ case 730:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4029
+//line sql.y:4041
{
yyLOCAL = &Show{&ShowBasic{Command: Database, Filter: yyDollar[3].showFilterUnion()}}
}
yyVAL.union = yyLOCAL
- case 729:
+ case 731:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4033
+//line sql.y:4045
{
yyLOCAL = &Show{&ShowBasic{Command: Keyspace, Filter: yyDollar[3].showFilterUnion()}}
}
yyVAL.union = yyLOCAL
- case 730:
+ case 732:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4037
+//line sql.y:4049
{
yyLOCAL = &Show{&ShowBasic{Command: Keyspace, Filter: yyDollar[3].showFilterUnion()}}
}
yyVAL.union = yyLOCAL
- case 731:
+ case 733:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4041
+//line sql.y:4053
{
yyLOCAL = &Show{&ShowBasic{Command: Function, Filter: yyDollar[4].showFilterUnion()}}
}
yyVAL.union = yyLOCAL
- case 732:
+ case 734:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4045
+//line sql.y:4057
{
yyLOCAL = &Show{&ShowBasic{Command: Index, Tbl: yyDollar[5].tableName, DbName: yyDollar[6].identifierCS, Filter: yyDollar[7].showFilterUnion()}}
}
yyVAL.union = yyLOCAL
- case 733:
+ case 735:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4049
+//line sql.y:4061
{
yyLOCAL = &Show{&ShowBasic{Command: OpenTable, DbName: yyDollar[4].identifierCS, Filter: yyDollar[5].showFilterUnion()}}
}
yyVAL.union = yyLOCAL
- case 734:
+ case 736:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4053
+//line sql.y:4065
{
yyLOCAL = &Show{&ShowBasic{Command: Privilege}}
}
yyVAL.union = yyLOCAL
- case 735:
+ case 737:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4057
+//line sql.y:4069
{
yyLOCAL = &Show{&ShowBasic{Command: Procedure, Filter: yyDollar[4].showFilterUnion()}}
}
yyVAL.union = yyLOCAL
- case 736:
+ case 738:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4061
+//line sql.y:4073
{
yyLOCAL = &Show{&ShowBasic{Command: StatusSession, Filter: yyDollar[4].showFilterUnion()}}
}
yyVAL.union = yyLOCAL
- case 737:
+ case 739:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4065
+//line sql.y:4077
{
yyLOCAL = &Show{&ShowBasic{Command: StatusGlobal, Filter: yyDollar[4].showFilterUnion()}}
}
yyVAL.union = yyLOCAL
- case 738:
+ case 740:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4069
+//line sql.y:4081
{
yyLOCAL = &Show{&ShowBasic{Command: VariableSession, Filter: yyDollar[4].showFilterUnion()}}
}
yyVAL.union = yyLOCAL
- case 739:
+ case 741:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4073
+//line sql.y:4085
{
yyLOCAL = &Show{&ShowBasic{Command: VariableGlobal, Filter: yyDollar[4].showFilterUnion()}}
}
yyVAL.union = yyLOCAL
- case 740:
+ case 742:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4077
+//line sql.y:4089
{
yyLOCAL = &Show{&ShowBasic{Command: TableStatus, DbName: yyDollar[4].identifierCS, Filter: yyDollar[5].showFilterUnion()}}
}
yyVAL.union = yyLOCAL
- case 741:
+ case 743:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4081
+//line sql.y:4093
{
yyLOCAL = &Show{&ShowBasic{Command: Table, Full: yyDollar[2].booleanUnion(), DbName: yyDollar[4].identifierCS, Filter: yyDollar[5].showFilterUnion()}}
}
yyVAL.union = yyLOCAL
- case 742:
+ case 744:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4085
+//line sql.y:4097
{
yyLOCAL = &Show{&ShowBasic{Command: Trigger, DbName: yyDollar[3].identifierCS, Filter: yyDollar[4].showFilterUnion()}}
}
yyVAL.union = yyLOCAL
- case 743:
+ case 745:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4089
+//line sql.y:4101
{
yyLOCAL = &Show{&ShowCreate{Command: CreateDb, Op: yyDollar[4].tableName}}
}
yyVAL.union = yyLOCAL
- case 744:
+ case 746:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4093
+//line sql.y:4105
{
yyLOCAL = &Show{&ShowCreate{Command: CreateE, Op: yyDollar[4].tableName}}
}
yyVAL.union = yyLOCAL
- case 745:
+ case 747:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4097
+//line sql.y:4109
{
yyLOCAL = &Show{&ShowCreate{Command: CreateF, Op: yyDollar[4].tableName}}
}
yyVAL.union = yyLOCAL
- case 746:
+ case 748:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4101
+//line sql.y:4113
{
yyLOCAL = &Show{&ShowCreate{Command: CreateProc, Op: yyDollar[4].tableName}}
}
yyVAL.union = yyLOCAL
- case 747:
+ case 749:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4105
+//line sql.y:4117
{
yyLOCAL = &Show{&ShowCreate{Command: CreateTbl, Op: yyDollar[4].tableName}}
}
yyVAL.union = yyLOCAL
- case 748:
+ case 750:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4109
+//line sql.y:4121
{
yyLOCAL = &Show{&ShowCreate{Command: CreateTr, Op: yyDollar[4].tableName}}
}
yyVAL.union = yyLOCAL
- case 749:
+ case 751:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4113
+//line sql.y:4125
{
yyLOCAL = &Show{&ShowCreate{Command: CreateV, Op: yyDollar[4].tableName}}
}
yyVAL.union = yyLOCAL
- case 750:
+ case 752:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4117
+//line sql.y:4129
{
yyLOCAL = &Show{&ShowBasic{Command: Engines}}
}
yyVAL.union = yyLOCAL
- case 751:
+ case 753:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4121
+//line sql.y:4133
{
yyLOCAL = &Show{&ShowBasic{Command: Plugins}}
}
yyVAL.union = yyLOCAL
- case 752:
+ case 754:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4125
+//line sql.y:4137
{
yyLOCAL = &Show{&ShowBasic{Command: GtidExecGlobal, DbName: yyDollar[4].identifierCS}}
}
yyVAL.union = yyLOCAL
- case 753:
+ case 755:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4129
+//line sql.y:4141
{
yyLOCAL = &Show{&ShowBasic{Command: VGtidExecGlobal, DbName: yyDollar[4].identifierCS}}
}
yyVAL.union = yyLOCAL
- case 754:
+ case 756:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4133
+//line sql.y:4145
{
yyLOCAL = &Show{&ShowBasic{Command: VitessVariables, Filter: yyDollar[4].showFilterUnion()}}
}
yyVAL.union = yyLOCAL
- case 755:
+ case 757:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4137
+//line sql.y:4149
{
yyLOCAL = &Show{&ShowBasic{Command: VitessMigrations, Filter: yyDollar[4].showFilterUnion(), DbName: yyDollar[3].identifierCS}}
}
yyVAL.union = yyLOCAL
- case 756:
+ case 758:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4141
+//line sql.y:4153
{
yyLOCAL = &ShowMigrationLogs{UUID: string(yyDollar[3].str)}
}
yyVAL.union = yyLOCAL
- case 757:
+ case 759:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4145
+//line sql.y:4157
{
yyLOCAL = &ShowThrottledApps{}
}
yyVAL.union = yyLOCAL
- case 758:
+ case 760:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4149
+//line sql.y:4161
{
yyLOCAL = &Show{&ShowBasic{Command: VitessReplicationStatus, Filter: yyDollar[3].showFilterUnion()}}
}
yyVAL.union = yyLOCAL
- case 759:
+ case 761:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4153
+//line sql.y:4165
{
yyLOCAL = &ShowThrottlerStatus{}
}
yyVAL.union = yyLOCAL
- case 760:
+ case 762:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4157
+//line sql.y:4169
{
yyLOCAL = &Show{&ShowBasic{Command: VschemaTables}}
}
yyVAL.union = yyLOCAL
- case 761:
+ case 763:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4161
+//line sql.y:4173
{
yyLOCAL = &Show{&ShowBasic{Command: VschemaKeyspaces}}
}
yyVAL.union = yyLOCAL
- case 762:
+ case 764:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4165
+//line sql.y:4177
{
yyLOCAL = &Show{&ShowBasic{Command: VschemaVindexes}}
}
yyVAL.union = yyLOCAL
- case 763:
+ case 765:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4169
+//line sql.y:4181
{
yyLOCAL = &Show{&ShowBasic{Command: VschemaVindexes, Tbl: yyDollar[5].tableName}}
}
yyVAL.union = yyLOCAL
- case 764:
+ case 766:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4173
+//line sql.y:4185
{
yyLOCAL = &Show{&ShowBasic{Command: Warnings}}
}
yyVAL.union = yyLOCAL
- case 765:
+ case 767:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4177
+//line sql.y:4189
{
yyLOCAL = &Show{&ShowBasic{Command: VitessShards, Filter: yyDollar[3].showFilterUnion()}}
}
yyVAL.union = yyLOCAL
- case 766:
+ case 768:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4181
+//line sql.y:4193
{
yyLOCAL = &Show{&ShowBasic{Command: VitessTablets, Filter: yyDollar[3].showFilterUnion()}}
}
yyVAL.union = yyLOCAL
- case 767:
+ case 769:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4185
+//line sql.y:4197
{
yyLOCAL = &Show{&ShowBasic{Command: VitessTarget}}
}
yyVAL.union = yyLOCAL
- case 768:
+ case 770:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4192
+//line sql.y:4204
{
yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].identifierCI.String())}}
}
yyVAL.union = yyLOCAL
- case 769:
+ case 771:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4196
+//line sql.y:4208
{
yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str)}}
}
yyVAL.union = yyLOCAL
- case 770:
+ case 772:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4200
+//line sql.y:4212
{
yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + yyDollar[3].identifierCI.String()}}
}
yyVAL.union = yyLOCAL
- case 771:
+ case 773:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4204
+//line sql.y:4216
{
yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str)}}
}
yyVAL.union = yyLOCAL
- case 772:
+ case 774:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4208
+//line sql.y:4220
{
yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str)}}
}
yyVAL.union = yyLOCAL
- case 773:
+ case 775:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4212
+//line sql.y:4224
{
yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str) + " " + String(yyDollar[4].tableName)}}
}
yyVAL.union = yyLOCAL
- case 774:
+ case 776:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4216
+//line sql.y:4228
{
yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str) + " " + String(yyDollar[4].tableName)}}
}
yyVAL.union = yyLOCAL
- case 775:
+ case 777:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4220
+//line sql.y:4232
{
yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[3].str)}}
}
yyVAL.union = yyLOCAL
- case 776:
+ case 778:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4224
+//line sql.y:4236
{
yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str)}}
}
yyVAL.union = yyLOCAL
- case 777:
+ case 779:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4228
+//line sql.y:4240
{
yyLOCAL = &Show{&ShowTransactionStatus{TransactionID: string(yyDollar[5].str)}}
}
yyVAL.union = yyLOCAL
- case 778:
+ case 780:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:4233
+//line sql.y:4245
{
}
- case 779:
+ case 781:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4235
+//line sql.y:4247
{
}
- case 780:
+ case 782:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:4239
+//line sql.y:4251
{
yyVAL.str = ""
}
- case 781:
+ case 783:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4243
+//line sql.y:4255
{
yyVAL.str = "extended "
}
- case 782:
+ case 784:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:4249
+//line sql.y:4261
{
yyLOCAL = false
}
yyVAL.union = yyLOCAL
- case 783:
+ case 785:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:4253
+//line sql.y:4265
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
- case 784:
+ case 786:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4259
+//line sql.y:4271
{
yyVAL.str = string(yyDollar[1].str)
}
- case 785:
+ case 787:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4263
+//line sql.y:4275
{
yyVAL.str = string(yyDollar[1].str)
}
- case 786:
+ case 788:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:4269
+//line sql.y:4281
{
yyVAL.identifierCS = NewIdentifierCS("")
}
- case 787:
+ case 789:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:4273
+//line sql.y:4285
{
yyVAL.identifierCS = yyDollar[2].identifierCS
}
- case 788:
+ case 790:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:4277
+//line sql.y:4289
{
yyVAL.identifierCS = yyDollar[2].identifierCS
}
- case 789:
+ case 791:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *ShowFilter
-//line sql.y:4283
+//line sql.y:4295
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 790:
+ case 792:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ShowFilter
-//line sql.y:4287
+//line sql.y:4299
{
yyLOCAL = &ShowFilter{Like: string(yyDollar[2].str)}
}
yyVAL.union = yyLOCAL
- case 791:
+ case 793:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ShowFilter
-//line sql.y:4291
+//line sql.y:4303
{
yyLOCAL = &ShowFilter{Filter: yyDollar[2].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 792:
+ case 794:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *ShowFilter
-//line sql.y:4297
+//line sql.y:4309
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 793:
+ case 795:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ShowFilter
-//line sql.y:4301
+//line sql.y:4313
{
yyLOCAL = &ShowFilter{Like: string(yyDollar[2].str)}
}
yyVAL.union = yyLOCAL
- case 794:
+ case 796:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:4307
+//line sql.y:4319
{
yyVAL.empty = struct{}{}
}
- case 795:
+ case 797:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4311
+//line sql.y:4323
{
yyVAL.empty = struct{}{}
}
- case 796:
+ case 798:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4315
+//line sql.y:4327
{
yyVAL.empty = struct{}{}
}
- case 797:
+ case 799:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4321
+//line sql.y:4333
{
yyVAL.str = string(yyDollar[1].str)
}
- case 798:
+ case 800:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4325
+//line sql.y:4337
{
yyVAL.str = string(yyDollar[1].str)
}
- case 799:
+ case 801:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4331
+//line sql.y:4343
{
yyLOCAL = &Use{DBName: yyDollar[2].identifierCS}
}
yyVAL.union = yyLOCAL
- case 800:
+ case 802:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4335
+//line sql.y:4347
{
yyLOCAL = &Use{DBName: IdentifierCS{v: ""}}
}
yyVAL.union = yyLOCAL
- case 801:
+ case 803:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4339
+//line sql.y:4351
{
yyLOCAL = &Use{DBName: NewIdentifierCS(yyDollar[2].identifierCS.String() + "@" + string(yyDollar[3].str))}
}
yyVAL.union = yyLOCAL
- case 802:
+ case 804:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4346
+//line sql.y:4358
{
yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str))
}
- case 803:
+ case 805:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4350
+//line sql.y:4362
{
yyVAL.identifierCS = NewIdentifierCS("@" + string(yyDollar[1].str))
}
- case 804:
+ case 806:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4354
+//line sql.y:4366
{
yyVAL.identifierCS = NewIdentifierCS("@@" + string(yyDollar[1].str))
}
- case 805:
+ case 807:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4358
+//line sql.y:4370
{
yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str))
}
- case 806:
+ case 808:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4365
+//line sql.y:4377
{
yyLOCAL = &Begin{}
}
yyVAL.union = yyLOCAL
- case 807:
+ case 809:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4369
+//line sql.y:4381
{
yyLOCAL = &Begin{TxAccessModes: yyDollar[3].txAccessModesUnion()}
}
yyVAL.union = yyLOCAL
- case 808:
+ case 810:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL []TxAccessMode
-//line sql.y:4374
+//line sql.y:4386
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 809:
+ case 811:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []TxAccessMode
-//line sql.y:4378
+//line sql.y:4390
{
yyLOCAL = yyDollar[1].txAccessModesUnion()
}
yyVAL.union = yyLOCAL
- case 810:
+ case 812:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []TxAccessMode
-//line sql.y:4384
+//line sql.y:4396
{
yyLOCAL = []TxAccessMode{yyDollar[1].txAccessModeUnion()}
}
yyVAL.union = yyLOCAL
- case 811:
+ case 813:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:4388
+//line sql.y:4400
{
yySLICE := (*[]TxAccessMode)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].txAccessModeUnion())
}
- case 812:
+ case 814:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL TxAccessMode
-//line sql.y:4394
+//line sql.y:4406
{
yyLOCAL = WithConsistentSnapshot
}
yyVAL.union = yyLOCAL
- case 813:
+ case 815:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL TxAccessMode
-//line sql.y:4398
+//line sql.y:4410
{
yyLOCAL = ReadWrite
}
yyVAL.union = yyLOCAL
- case 814:
+ case 816:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL TxAccessMode
-//line sql.y:4402
+//line sql.y:4414
{
yyLOCAL = ReadOnly
}
yyVAL.union = yyLOCAL
- case 815:
+ case 817:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4409
+//line sql.y:4421
{
yyLOCAL = &Commit{}
}
yyVAL.union = yyLOCAL
- case 816:
+ case 818:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4415
+//line sql.y:4427
{
yyLOCAL = &Rollback{}
}
yyVAL.union = yyLOCAL
- case 817:
+ case 819:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4419
+//line sql.y:4431
{
yyLOCAL = &SRollback{Name: yyDollar[5].identifierCI}
}
yyVAL.union = yyLOCAL
- case 818:
+ case 820:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:4424
+//line sql.y:4436
{
yyVAL.empty = struct{}{}
}
- case 819:
+ case 821:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4426
+//line sql.y:4438
{
yyVAL.empty = struct{}{}
}
- case 820:
+ case 822:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:4429
+//line sql.y:4441
{
yyVAL.empty = struct{}{}
}
- case 821:
+ case 823:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4431
+//line sql.y:4443
{
yyVAL.empty = struct{}{}
}
- case 822:
+ case 824:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4435
+//line sql.y:4447
{
yyLOCAL = &Savepoint{Name: yyDollar[2].identifierCI}
}
yyVAL.union = yyLOCAL
- case 823:
+ case 825:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4441
+//line sql.y:4453
{
yyLOCAL = &Release{Name: yyDollar[3].identifierCI}
}
yyVAL.union = yyLOCAL
- case 824:
+ case 826:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL ExplainType
-//line sql.y:4446
+//line sql.y:4458
{
yyLOCAL = EmptyType
}
yyVAL.union = yyLOCAL
- case 825:
+ case 827:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL ExplainType
-//line sql.y:4450
+//line sql.y:4462
{
yyLOCAL = JSONType
}
yyVAL.union = yyLOCAL
- case 826:
+ case 828:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL ExplainType
-//line sql.y:4454
+//line sql.y:4466
{
yyLOCAL = TreeType
}
yyVAL.union = yyLOCAL
- case 827:
+ case 829:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL ExplainType
-//line sql.y:4458
+//line sql.y:4470
{
yyLOCAL = TraditionalType
}
yyVAL.union = yyLOCAL
- case 828:
+ case 830:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ExplainType
-//line sql.y:4462
+//line sql.y:4474
{
yyLOCAL = AnalyzeType
}
yyVAL.union = yyLOCAL
- case 829:
+ case 831:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL VExplainType
-//line sql.y:4467
+//line sql.y:4479
{
yyLOCAL = PlanVExplainType
}
yyVAL.union = yyLOCAL
- case 830:
+ case 832:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL VExplainType
-//line sql.y:4471
+//line sql.y:4483
{
yyLOCAL = PlanVExplainType
}
yyVAL.union = yyLOCAL
- case 831:
+ case 833:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL VExplainType
-//line sql.y:4475
+//line sql.y:4487
{
yyLOCAL = AllVExplainType
}
yyVAL.union = yyLOCAL
- case 832:
+ case 834:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL VExplainType
-//line sql.y:4479
+//line sql.y:4491
{
yyLOCAL = QueriesVExplainType
}
yyVAL.union = yyLOCAL
- case 833:
+ case 835:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4485
+//line sql.y:4497
{
yyVAL.str = yyDollar[1].str
}
- case 834:
+ case 836:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4489
+//line sql.y:4501
{
yyVAL.str = yyDollar[1].str
}
- case 835:
+ case 837:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4493
+//line sql.y:4505
{
yyVAL.str = yyDollar[1].str
}
- case 836:
+ case 838:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4499
+//line sql.y:4511
{
yyLOCAL = yyDollar[1].selStmtUnion()
}
yyVAL.union = yyLOCAL
- case 837:
+ case 839:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4503
+//line sql.y:4515
{
yyLOCAL = yyDollar[1].statementUnion()
}
yyVAL.union = yyLOCAL
- case 838:
+ case 840:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4507
+//line sql.y:4519
{
yyLOCAL = yyDollar[1].statementUnion()
}
yyVAL.union = yyLOCAL
- case 839:
+ case 841:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4511
+//line sql.y:4523
{
yyLOCAL = yyDollar[1].statementUnion()
}
yyVAL.union = yyLOCAL
- case 840:
+ case 842:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:4516
+//line sql.y:4528
{
yyVAL.str = ""
}
- case 841:
+ case 843:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4520
+//line sql.y:4532
{
yyVAL.str = yyDollar[1].identifierCI.val
}
- case 842:
+ case 844:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4524
+//line sql.y:4536
{
yyVAL.str = encodeSQLString(yyDollar[1].str)
}
- case 843:
+ case 845:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4530
+//line sql.y:4542
{
yyLOCAL = &ExplainTab{Table: yyDollar[3].tableName, Wild: yyDollar[4].str}
}
yyVAL.union = yyLOCAL
- case 844:
+ case 846:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4534
+//line sql.y:4546
{
yyLOCAL = &ExplainStmt{Type: yyDollar[3].explainTypeUnion(), Statement: yyDollar[4].statementUnion(), Comments: Comments(yyDollar[2].strs).Parsed()}
}
yyVAL.union = yyLOCAL
- case 845:
+ case 847:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4540
+//line sql.y:4552
{
yyLOCAL = &VExplainStmt{Type: yyDollar[3].vexplainTypeUnion(), Statement: yyDollar[4].statementUnion(), Comments: Comments(yyDollar[2].strs).Parsed()}
}
yyVAL.union = yyLOCAL
- case 846:
+ case 848:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4546
+//line sql.y:4558
{
yyLOCAL = &OtherAdmin{}
}
yyVAL.union = yyLOCAL
- case 847:
+ case 849:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4550
+//line sql.y:4562
{
yyLOCAL = &OtherAdmin{}
}
yyVAL.union = yyLOCAL
- case 848:
+ case 850:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4556
+//line sql.y:4568
{
yyLOCAL = &LockTables{Tables: yyDollar[3].tableAndLockTypesUnion()}
}
yyVAL.union = yyLOCAL
- case 849:
+ case 851:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL TableAndLockTypes
-//line sql.y:4562
+//line sql.y:4574
{
yyLOCAL = TableAndLockTypes{yyDollar[1].tableAndLockTypeUnion()}
}
yyVAL.union = yyLOCAL
- case 850:
+ case 852:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:4566
+//line sql.y:4578
{
yySLICE := (*TableAndLockTypes)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].tableAndLockTypeUnion())
}
- case 851:
+ case 853:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *TableAndLockType
-//line sql.y:4572
+//line sql.y:4584
{
yyLOCAL = &TableAndLockType{Table: yyDollar[1].aliasedTableNameUnion(), Lock: yyDollar[2].lockTypeUnion()}
}
yyVAL.union = yyLOCAL
- case 852:
+ case 854:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL LockType
-//line sql.y:4578
+//line sql.y:4590
{
yyLOCAL = Read
}
yyVAL.union = yyLOCAL
- case 853:
+ case 855:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL LockType
-//line sql.y:4582
+//line sql.y:4594
{
yyLOCAL = ReadLocal
}
yyVAL.union = yyLOCAL
- case 854:
+ case 856:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL LockType
-//line sql.y:4586
+//line sql.y:4598
{
yyLOCAL = Write
}
yyVAL.union = yyLOCAL
- case 855:
+ case 857:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL LockType
-//line sql.y:4590
+//line sql.y:4602
{
yyLOCAL = LowPriorityWrite
}
yyVAL.union = yyLOCAL
- case 856:
+ case 858:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4596
+//line sql.y:4608
{
yyLOCAL = &UnlockTables{}
}
yyVAL.union = yyLOCAL
- case 857:
+ case 859:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4602
+//line sql.y:4614
{
yyLOCAL = &RevertMigration{Comments: Comments(yyDollar[2].strs).Parsed(), UUID: string(yyDollar[4].str)}
}
yyVAL.union = yyLOCAL
- case 858:
+ case 860:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4608
+//line sql.y:4620
{
yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), FlushOptions: yyDollar[3].strs}
}
yyVAL.union = yyLOCAL
- case 859:
+ case 861:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4612
+//line sql.y:4624
{
yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion()}
}
yyVAL.union = yyLOCAL
- case 860:
+ case 862:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4616
+//line sql.y:4628
{
yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), WithLock: true}
}
yyVAL.union = yyLOCAL
- case 861:
+ case 863:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4620
+//line sql.y:4632
{
yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion()}
}
yyVAL.union = yyLOCAL
- case 862:
+ case 864:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4624
+//line sql.y:4636
{
yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion(), WithLock: true}
}
yyVAL.union = yyLOCAL
- case 863:
+ case 865:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4628
+//line sql.y:4640
{
yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion(), ForExport: true}
}
yyVAL.union = yyLOCAL
- case 864:
+ case 866:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4634
+//line sql.y:4646
{
yyVAL.strs = []string{yyDollar[1].str}
}
- case 865:
+ case 867:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:4638
+//line sql.y:4650
{
yyVAL.strs = append(yyDollar[1].strs, yyDollar[3].str)
}
- case 866:
+ case 868:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:4644
+//line sql.y:4656
{
yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str)
}
- case 867:
+ case 869:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:4648
+//line sql.y:4660
{
yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str)
}
- case 868:
+ case 870:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:4652
+//line sql.y:4664
{
yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str)
}
- case 869:
+ case 871:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:4656
+//line sql.y:4668
{
yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str)
}
- case 870:
+ case 872:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4660
+//line sql.y:4672
{
yyVAL.str = string(yyDollar[1].str)
}
- case 871:
+ case 873:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4664
+//line sql.y:4676
{
yyVAL.str = string(yyDollar[1].str)
}
- case 872:
+ case 874:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4668
+//line sql.y:4680
{
yyVAL.str = string(yyDollar[1].str)
}
- case 873:
+ case 875:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:4672
+//line sql.y:4684
{
yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) + yyDollar[3].str
}
- case 874:
+ case 876:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:4676
+//line sql.y:4688
{
yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str)
}
- case 875:
+ case 877:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4680
+//line sql.y:4692
{
yyVAL.str = string(yyDollar[1].str)
}
- case 876:
+ case 878:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4684
+//line sql.y:4696
{
yyVAL.str = string(yyDollar[1].str)
}
- case 877:
+ case 879:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4688
+//line sql.y:4700
{
yyVAL.str = string(yyDollar[1].str)
}
- case 878:
+ case 880:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:4693
+//line sql.y:4705
{
yyLOCAL = false
}
yyVAL.union = yyLOCAL
- case 879:
+ case 881:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:4697
+//line sql.y:4709
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
- case 880:
+ case 882:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:4701
+//line sql.y:4713
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
- case 881:
+ case 883:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:4706
+//line sql.y:4718
{
yyVAL.str = ""
}
- case 882:
+ case 884:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:4710
+//line sql.y:4722
{
yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str) + " " + yyDollar[3].identifierCI.String()
}
- case 883:
+ case 885:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:4715
+//line sql.y:4727
{
setAllowComments(yylex, true)
}
- case 884:
+ case 886:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:4719
+//line sql.y:4731
{
yyVAL.strs = yyDollar[2].strs
setAllowComments(yylex, false)
}
- case 885:
+ case 887:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:4725
+//line sql.y:4737
{
yyVAL.strs = nil
}
- case 886:
+ case 888:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:4729
+//line sql.y:4741
{
yyVAL.strs = append(yyDollar[1].strs, yyDollar[2].str)
}
- case 887:
+ case 889:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:4735
+//line sql.y:4747
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
- case 888:
+ case 890:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL bool
-//line sql.y:4739
+//line sql.y:4751
{
yyLOCAL = false
}
yyVAL.union = yyLOCAL
- case 889:
+ case 891:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL bool
-//line sql.y:4743
+//line sql.y:4755
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
- case 890:
+ case 892:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:4748
+//line sql.y:4760
{
yyVAL.str = ""
}
- case 891:
+ case 893:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4752
+//line sql.y:4764
{
yyVAL.str = SQLNoCacheStr
}
- case 892:
+ case 894:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4756
+//line sql.y:4768
{
yyVAL.str = SQLCacheStr
}
- case 893:
+ case 895:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:4761
+//line sql.y:4773
{
yyLOCAL = false
}
yyVAL.union = yyLOCAL
- case 894:
+ case 896:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:4765
+//line sql.y:4777
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
- case 895:
+ case 897:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:4769
+//line sql.y:4781
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
- case 896:
+ case 898:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4775
+//line sql.y:4787
{
yyLOCAL = &PrepareStmt{Name: yyDollar[3].identifierCI, Comments: Comments(yyDollar[2].strs).Parsed(), Statement: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 897:
+ case 899:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4779
+//line sql.y:4791
{
yyLOCAL = &PrepareStmt{
Name: yyDollar[3].identifierCI,
@@ -16832,597 +16865,597 @@ yydefault:
}
}
yyVAL.union = yyLOCAL
- case 898:
+ case 900:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4789
+//line sql.y:4801
{
yyLOCAL = &ExecuteStmt{Name: yyDollar[3].identifierCI, Comments: Comments(yyDollar[2].strs).Parsed(), Arguments: yyDollar[4].variablesUnion()}
}
yyVAL.union = yyLOCAL
- case 899:
+ case 901:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL []*Variable
-//line sql.y:4794
+//line sql.y:4806
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 900:
+ case 902:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL []*Variable
-//line sql.y:4798
+//line sql.y:4810
{
yyLOCAL = yyDollar[2].variablesUnion()
}
yyVAL.union = yyLOCAL
- case 901:
+ case 903:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4804
+//line sql.y:4816
{
yyLOCAL = &DeallocateStmt{Comments: Comments(yyDollar[2].strs).Parsed(), Name: yyDollar[4].identifierCI}
}
yyVAL.union = yyLOCAL
- case 902:
+ case 904:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Statement
-//line sql.y:4808
+//line sql.y:4820
{
yyLOCAL = &DeallocateStmt{Comments: Comments(yyDollar[2].strs).Parsed(), Name: yyDollar[4].identifierCI}
}
yyVAL.union = yyLOCAL
- case 903:
+ case 905:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:4813
+//line sql.y:4825
{
yyVAL.strs = nil
}
- case 904:
+ case 906:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4817
+//line sql.y:4829
{
yyVAL.strs = yyDollar[1].strs
}
- case 905:
+ case 907:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4823
+//line sql.y:4835
{
yyVAL.strs = []string{yyDollar[1].str}
}
- case 906:
+ case 908:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:4827
+//line sql.y:4839
{
yyVAL.strs = append(yyDollar[1].strs, yyDollar[2].str)
}
- case 907:
+ case 909:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4833
+//line sql.y:4845
{
yyVAL.str = SQLNoCacheStr
}
- case 908:
+ case 910:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4837
+//line sql.y:4849
{
yyVAL.str = SQLCacheStr
}
- case 909:
+ case 911:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4841
+//line sql.y:4853
{
yyVAL.str = DistinctStr
}
- case 910:
+ case 912:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4845
+//line sql.y:4857
{
yyVAL.str = DistinctStr
}
- case 911:
+ case 913:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4849
+//line sql.y:4861
{
yyVAL.str = HighPriorityStr
}
- case 912:
+ case 914:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4853
+//line sql.y:4865
{
yyVAL.str = StraightJoinHint
}
- case 913:
+ case 915:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4857
+//line sql.y:4869
{
yyVAL.str = SQLBufferResultStr
}
- case 914:
+ case 916:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4861
+//line sql.y:4873
{
yyVAL.str = SQLSmallResultStr
}
- case 915:
+ case 917:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4865
+//line sql.y:4877
{
yyVAL.str = SQLBigResultStr
}
- case 916:
+ case 918:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4869
+//line sql.y:4881
{
yyVAL.str = SQLCalcFoundRowsStr
}
- case 917:
+ case 919:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4873
+//line sql.y:4885
{
yyVAL.str = AllStr // These are not picked up by NewSelect, and so ALL will be dropped. But this is OK, since it's redundant anyway
}
- case 918:
+ case 920:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL SelectExprs
-//line sql.y:4879
+//line sql.y:4891
{
yyLOCAL = SelectExprs{yyDollar[1].selectExprUnion()}
}
yyVAL.union = yyLOCAL
- case 919:
+ case 921:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:4883
+//line sql.y:4895
{
yySLICE := (*SelectExprs)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].selectExprUnion())
}
- case 920:
+ case 922:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL SelectExpr
-//line sql.y:4889
+//line sql.y:4901
{
yyLOCAL = &StarExpr{}
}
yyVAL.union = yyLOCAL
- case 921:
+ case 923:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL SelectExpr
-//line sql.y:4893
+//line sql.y:4905
{
yyLOCAL = &AliasedExpr{Expr: yyDollar[1].exprUnion(), As: yyDollar[2].identifierCI}
}
yyVAL.union = yyLOCAL
- case 922:
+ case 924:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL SelectExpr
-//line sql.y:4897
+//line sql.y:4909
{
yyLOCAL = &StarExpr{TableName: TableName{Name: yyDollar[1].identifierCS}}
}
yyVAL.union = yyLOCAL
- case 923:
+ case 925:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL SelectExpr
-//line sql.y:4901
+//line sql.y:4913
{
yyLOCAL = &StarExpr{TableName: TableName{Qualifier: yyDollar[1].identifierCS, Name: yyDollar[3].identifierCS}}
}
yyVAL.union = yyLOCAL
- case 924:
+ case 926:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:4906
+//line sql.y:4918
{
yyVAL.identifierCI = IdentifierCI{}
}
- case 925:
+ case 927:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4910
+//line sql.y:4922
{
yyVAL.identifierCI = yyDollar[1].identifierCI
}
- case 926:
+ case 928:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:4914
+//line sql.y:4926
{
yyVAL.identifierCI = yyDollar[2].identifierCI
}
- case 928:
+ case 930:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:4921
+//line sql.y:4933
{
yyVAL.identifierCI = NewIdentifierCI(string(yyDollar[1].str))
}
- case 929:
+ case 931:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL TableExprs
-//line sql.y:4926
+//line sql.y:4938
{
yyLOCAL = TableExprs{&AliasedTableExpr{Expr: TableName{Name: NewIdentifierCS("dual")}}}
}
yyVAL.union = yyLOCAL
- case 930:
+ case 932:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL TableExprs
-//line sql.y:4930
+//line sql.y:4942
{
yyLOCAL = yyDollar[1].tableExprsUnion()
}
yyVAL.union = yyLOCAL
- case 931:
+ case 933:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL TableExprs
-//line sql.y:4936
+//line sql.y:4948
{
yyLOCAL = yyDollar[2].tableExprsUnion()
}
yyVAL.union = yyLOCAL
- case 932:
+ case 934:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL TableExprs
-//line sql.y:4942
+//line sql.y:4954
{
yyLOCAL = TableExprs{yyDollar[1].tableExprUnion()}
}
yyVAL.union = yyLOCAL
- case 933:
+ case 935:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:4946
+//line sql.y:4958
{
yySLICE := (*TableExprs)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].tableExprUnion())
}
- case 936:
+ case 938:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL TableExpr
-//line sql.y:4956
+//line sql.y:4968
{
yyLOCAL = yyDollar[1].aliasedTableNameUnion()
}
yyVAL.union = yyLOCAL
- case 937:
+ case 939:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL TableExpr
-//line sql.y:4960
+//line sql.y:4972
{
yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].derivedTableUnion(), As: yyDollar[3].identifierCS, Columns: yyDollar[4].columnsUnion()}
}
yyVAL.union = yyLOCAL
- case 938:
+ case 940:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL TableExpr
-//line sql.y:4964
+//line sql.y:4976
{
yyLOCAL = &ParenTableExpr{Exprs: yyDollar[2].tableExprsUnion()}
}
yyVAL.union = yyLOCAL
- case 939:
+ case 941:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL TableExpr
-//line sql.y:4968
+//line sql.y:4980
{
yyLOCAL = yyDollar[1].tableExprUnion()
}
yyVAL.union = yyLOCAL
- case 940:
+ case 942:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *DerivedTable
-//line sql.y:4974
+//line sql.y:4986
{
yyLOCAL = &DerivedTable{Lateral: false, Select: yyDollar[1].selStmtUnion()}
}
yyVAL.union = yyLOCAL
- case 941:
+ case 943:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *DerivedTable
-//line sql.y:4978
+//line sql.y:4990
{
yyLOCAL = &DerivedTable{Lateral: true, Select: yyDollar[2].selStmtUnion()}
}
yyVAL.union = yyLOCAL
- case 942:
+ case 944:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *AliasedTableExpr
-//line sql.y:4984
+//line sql.y:4996
{
yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].tableName, As: yyDollar[2].identifierCS, Hints: yyDollar[3].indexHintsUnion()}
}
yyVAL.union = yyLOCAL
- case 943:
+ case 945:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL *AliasedTableExpr
-//line sql.y:4988
+//line sql.y:5000
{
yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].tableName, Partitions: yyDollar[4].partitionsUnion(), As: yyDollar[6].identifierCS, Hints: yyDollar[7].indexHintsUnion()}
}
yyVAL.union = yyLOCAL
- case 944:
+ case 946:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL Columns
-//line sql.y:4993
+//line sql.y:5005
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 945:
+ case 947:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Columns
-//line sql.y:4997
+//line sql.y:5009
{
yyLOCAL = yyDollar[2].columnsUnion()
}
yyVAL.union = yyLOCAL
- case 946:
+ case 948:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL Columns
-//line sql.y:5002
+//line sql.y:5014
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 947:
+ case 949:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Columns
-//line sql.y:5006
+//line sql.y:5018
{
yyLOCAL = yyDollar[1].columnsUnion()
}
yyVAL.union = yyLOCAL
- case 948:
+ case 950:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Columns
-//line sql.y:5012
+//line sql.y:5024
{
yyLOCAL = Columns{yyDollar[1].identifierCI}
}
yyVAL.union = yyLOCAL
- case 949:
+ case 951:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:5016
+//line sql.y:5028
{
yySLICE := (*Columns)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].identifierCI)
}
- case 950:
+ case 952:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []*Variable
-//line sql.y:5022
+//line sql.y:5034
{
yyLOCAL = []*Variable{yyDollar[1].variableUnion()}
}
yyVAL.union = yyLOCAL
- case 951:
+ case 953:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:5026
+//line sql.y:5038
{
yySLICE := (*[]*Variable)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].variableUnion())
}
- case 952:
+ case 954:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Columns
-//line sql.y:5032
+//line sql.y:5044
{
yyLOCAL = Columns{yyDollar[1].identifierCI}
}
yyVAL.union = yyLOCAL
- case 953:
+ case 955:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Columns
-//line sql.y:5036
+//line sql.y:5048
{
yyLOCAL = Columns{NewIdentifierCI(string(yyDollar[1].str))}
}
yyVAL.union = yyLOCAL
- case 954:
+ case 956:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:5040
+//line sql.y:5052
{
yySLICE := (*Columns)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].identifierCI)
}
- case 955:
+ case 957:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:5044
+//line sql.y:5056
{
yySLICE := (*Columns)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, NewIdentifierCI(string(yyDollar[3].str)))
}
- case 956:
+ case 958:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Partitions
-//line sql.y:5050
+//line sql.y:5062
{
yyLOCAL = Partitions{yyDollar[1].identifierCI}
}
yyVAL.union = yyLOCAL
- case 957:
+ case 959:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:5054
+//line sql.y:5066
{
yySLICE := (*Partitions)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].identifierCI)
}
- case 958:
+ case 960:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL TableExpr
-//line sql.y:5067
+//line sql.y:5079
{
yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition}
}
yyVAL.union = yyLOCAL
- case 959:
+ case 961:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL TableExpr
-//line sql.y:5071
+//line sql.y:5083
{
yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition}
}
yyVAL.union = yyLOCAL
- case 960:
+ case 962:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL TableExpr
-//line sql.y:5075
+//line sql.y:5087
{
yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition}
}
yyVAL.union = yyLOCAL
- case 961:
+ case 963:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL TableExpr
-//line sql.y:5079
+//line sql.y:5091
{
yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion()}
}
yyVAL.union = yyLOCAL
- case 962:
+ case 964:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:5085
+//line sql.y:5097
{
yyVAL.joinCondition = &JoinCondition{On: yyDollar[2].exprUnion()}
}
- case 963:
+ case 965:
yyDollar = yyS[yypt-4 : yypt+1]
-//line sql.y:5087
+//line sql.y:5099
{
yyVAL.joinCondition = &JoinCondition{Using: yyDollar[3].columnsUnion()}
}
- case 964:
+ case 966:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:5091
+//line sql.y:5103
{
yyVAL.joinCondition = &JoinCondition{}
}
- case 965:
+ case 967:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:5093
+//line sql.y:5105
{
yyVAL.joinCondition = yyDollar[1].joinCondition
}
- case 966:
+ case 968:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:5097
+//line sql.y:5109
{
yyVAL.joinCondition = &JoinCondition{}
}
- case 967:
+ case 969:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:5099
+//line sql.y:5111
{
yyVAL.joinCondition = &JoinCondition{On: yyDollar[2].exprUnion()}
}
- case 968:
+ case 970:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:5102
+//line sql.y:5114
{
yyVAL.empty = struct{}{}
}
- case 969:
+ case 971:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:5104
+//line sql.y:5116
{
yyVAL.empty = struct{}{}
}
- case 970:
+ case 972:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:5107
+//line sql.y:5119
{
yyVAL.identifierCS = NewIdentifierCS("")
}
- case 971:
+ case 973:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:5111
+//line sql.y:5123
{
yyVAL.identifierCS = yyDollar[1].identifierCS
}
- case 972:
+ case 974:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:5115
+//line sql.y:5127
{
yyVAL.identifierCS = yyDollar[2].identifierCS
}
- case 974:
+ case 976:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:5122
+//line sql.y:5134
{
yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str))
}
- case 975:
+ case 977:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL JoinType
-//line sql.y:5128
+//line sql.y:5140
{
yyLOCAL = NormalJoinType
}
yyVAL.union = yyLOCAL
- case 976:
+ case 978:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL JoinType
-//line sql.y:5132
+//line sql.y:5144
{
yyLOCAL = NormalJoinType
}
yyVAL.union = yyLOCAL
- case 977:
+ case 979:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL JoinType
-//line sql.y:5136
+//line sql.y:5148
{
yyLOCAL = NormalJoinType
}
yyVAL.union = yyLOCAL
- case 978:
+ case 980:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL JoinType
-//line sql.y:5142
+//line sql.y:5154
{
yyLOCAL = StraightJoinType
}
yyVAL.union = yyLOCAL
- case 979:
+ case 981:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL JoinType
-//line sql.y:5148
+//line sql.y:5160
{
yyLOCAL = LeftJoinType
}
yyVAL.union = yyLOCAL
- case 980:
+ case 982:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL JoinType
-//line sql.y:5152
+//line sql.y:5164
{
yyLOCAL = LeftJoinType
}
yyVAL.union = yyLOCAL
- case 981:
+ case 983:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL JoinType
-//line sql.y:5156
+//line sql.y:5168
{
yyLOCAL = RightJoinType
}
yyVAL.union = yyLOCAL
- case 982:
+ case 984:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL JoinType
-//line sql.y:5160
+//line sql.y:5172
{
yyLOCAL = RightJoinType
}
yyVAL.union = yyLOCAL
- case 983:
+ case 985:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL JoinType
-//line sql.y:5166
+//line sql.y:5178
{
yyLOCAL = NaturalJoinType
}
yyVAL.union = yyLOCAL
- case 984:
+ case 986:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL JoinType
-//line sql.y:5170
+//line sql.y:5182
{
if yyDollar[2].joinTypeUnion() == LeftJoinType {
yyLOCAL = NaturalLeftJoinType
@@ -17431,667 +17464,667 @@ yydefault:
}
}
yyVAL.union = yyLOCAL
- case 985:
+ case 987:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:5180
+//line sql.y:5192
{
yyVAL.tableName = yyDollar[2].tableName
}
- case 986:
+ case 988:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:5184
+//line sql.y:5196
{
yyVAL.tableName = yyDollar[1].tableName
}
- case 987:
+ case 989:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:5190
+//line sql.y:5202
{
yyVAL.tableName = TableName{Name: yyDollar[1].identifierCS}
}
- case 988:
+ case 990:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:5194
+//line sql.y:5206
{
yyVAL.tableName = TableName{Qualifier: yyDollar[1].identifierCS, Name: yyDollar[3].identifierCS}
}
- case 989:
+ case 991:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:5200
+//line sql.y:5212
{
yyVAL.tableName = TableName{Name: yyDollar[1].identifierCS}
}
- case 990:
+ case 992:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL IndexHints
-//line sql.y:5205
+//line sql.y:5217
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 991:
+ case 993:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IndexHints
-//line sql.y:5209
+//line sql.y:5221
{
yyLOCAL = yyDollar[1].indexHintsUnion()
}
yyVAL.union = yyLOCAL
- case 992:
+ case 994:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IndexHints
-//line sql.y:5215
+//line sql.y:5227
{
yyLOCAL = IndexHints{yyDollar[1].indexHintUnion()}
}
yyVAL.union = yyLOCAL
- case 993:
+ case 995:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:5219
+//line sql.y:5231
{
yySLICE := (*IndexHints)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[2].indexHintUnion())
}
- case 994:
+ case 996:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL *IndexHint
-//line sql.y:5225
+//line sql.y:5237
{
yyLOCAL = &IndexHint{Type: UseOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()}
}
yyVAL.union = yyLOCAL
- case 995:
+ case 997:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *IndexHint
-//line sql.y:5229
+//line sql.y:5241
{
yyLOCAL = &IndexHint{Type: UseOp, ForType: yyDollar[3].indexHintForTypeUnion()}
}
yyVAL.union = yyLOCAL
- case 996:
+ case 998:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL *IndexHint
-//line sql.y:5233
+//line sql.y:5245
{
yyLOCAL = &IndexHint{Type: IgnoreOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()}
}
yyVAL.union = yyLOCAL
- case 997:
+ case 999:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL *IndexHint
-//line sql.y:5237
+//line sql.y:5249
{
yyLOCAL = &IndexHint{Type: ForceOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()}
}
yyVAL.union = yyLOCAL
- case 998:
+ case 1000:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *IndexHint
-//line sql.y:5241
+//line sql.y:5253
{
yyLOCAL = &IndexHint{Type: UseVindexOp, Indexes: yyDollar[4].columnsUnion()}
}
yyVAL.union = yyLOCAL
- case 999:
+ case 1001:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *IndexHint
-//line sql.y:5245
+//line sql.y:5257
{
yyLOCAL = &IndexHint{Type: IgnoreVindexOp, Indexes: yyDollar[4].columnsUnion()}
}
yyVAL.union = yyLOCAL
- case 1000:
+ case 1002:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL IndexHintForType
-//line sql.y:5250
+//line sql.y:5262
{
yyLOCAL = NoForType
}
yyVAL.union = yyLOCAL
- case 1001:
+ case 1003:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL IndexHintForType
-//line sql.y:5254
+//line sql.y:5266
{
yyLOCAL = JoinForType
}
yyVAL.union = yyLOCAL
- case 1002:
+ case 1004:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL IndexHintForType
-//line sql.y:5258
+//line sql.y:5270
{
yyLOCAL = OrderByForType
}
yyVAL.union = yyLOCAL
- case 1003:
+ case 1005:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL IndexHintForType
-//line sql.y:5262
+//line sql.y:5274
{
yyLOCAL = GroupByForType
}
yyVAL.union = yyLOCAL
- case 1004:
+ case 1006:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5268
+//line sql.y:5280
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1005:
+ case 1007:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5272
+//line sql.y:5284
{
yyLOCAL = yyDollar[2].exprUnion()
}
yyVAL.union = yyLOCAL
- case 1006:
+ case 1008:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5279
+//line sql.y:5291
{
yyLOCAL = &OrExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1007:
+ case 1009:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5283
+//line sql.y:5295
{
yyLOCAL = &XorExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1008:
+ case 1010:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5287
+//line sql.y:5299
{
yyLOCAL = &AndExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1009:
+ case 1011:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5291
+//line sql.y:5303
{
yyLOCAL = &NotExpr{Expr: yyDollar[2].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1010:
+ case 1012:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5295
+//line sql.y:5307
{
yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].isExprOperatorUnion()}
}
yyVAL.union = yyLOCAL
- case 1011:
+ case 1013:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5299
+//line sql.y:5311
{
yyLOCAL = yyDollar[1].exprUnion()
}
yyVAL.union = yyLOCAL
- case 1012:
+ case 1014:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5303
+//line sql.y:5315
{
yyLOCAL = &AssignmentExpr{Left: yyDollar[1].variableUnion(), Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1013:
+ case 1015:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5307
+//line sql.y:5319
{
yyLOCAL = &MemberOfExpr{Value: yyDollar[1].exprUnion(), JSONArr: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1014:
+ case 1016:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:5313
+//line sql.y:5325
{
}
- case 1015:
+ case 1017:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:5316
+//line sql.y:5328
{
}
- case 1016:
+ case 1018:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5321
+//line sql.y:5333
{
yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: IsNullOp}
}
yyVAL.union = yyLOCAL
- case 1017:
+ case 1019:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5325
+//line sql.y:5337
{
yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: IsNotNullOp}
}
yyVAL.union = yyLOCAL
- case 1018:
+ case 1020:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5329
+//line sql.y:5341
{
yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: yyDollar[2].comparisonExprOperatorUnion(), Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1019:
+ case 1021:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5333
+//line sql.y:5345
{
yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: yyDollar[2].comparisonExprOperatorUnion(), Modifier: Any, Right: yyDollar[4].subqueryUnion()}
}
yyVAL.union = yyLOCAL
- case 1020:
+ case 1022:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5337
+//line sql.y:5349
{
yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: yyDollar[2].comparisonExprOperatorUnion(), Modifier: Any, Right: yyDollar[4].subqueryUnion()}
}
yyVAL.union = yyLOCAL
- case 1021:
+ case 1023:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5341
+//line sql.y:5353
{
yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: yyDollar[2].comparisonExprOperatorUnion(), Modifier: All, Right: yyDollar[4].subqueryUnion()}
}
yyVAL.union = yyLOCAL
- case 1022:
+ case 1024:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5345
+//line sql.y:5357
{
yyLOCAL = yyDollar[1].exprUnion()
}
yyVAL.union = yyLOCAL
- case 1023:
+ case 1025:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5351
+//line sql.y:5363
{
yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: InOp, Right: yyDollar[3].colTupleUnion()}
}
yyVAL.union = yyLOCAL
- case 1024:
+ case 1026:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5355
+//line sql.y:5367
{
yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotInOp, Right: yyDollar[4].colTupleUnion()}
}
yyVAL.union = yyLOCAL
- case 1025:
+ case 1027:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5359
+//line sql.y:5371
{
yyLOCAL = &BetweenExpr{Left: yyDollar[1].exprUnion(), IsBetween: true, From: yyDollar[3].exprUnion(), To: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1026:
+ case 1028:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5363
+//line sql.y:5375
{
yyLOCAL = &BetweenExpr{Left: yyDollar[1].exprUnion(), IsBetween: false, From: yyDollar[4].exprUnion(), To: yyDollar[6].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1027:
+ case 1029:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5367
+//line sql.y:5379
{
yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: LikeOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1028:
+ case 1030:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5371
+//line sql.y:5383
{
yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotLikeOp, Right: yyDollar[4].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1029:
+ case 1031:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5375
+//line sql.y:5387
{
yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: LikeOp, Right: yyDollar[3].exprUnion(), Escape: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1030:
+ case 1032:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5379
+//line sql.y:5391
{
yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotLikeOp, Right: yyDollar[4].exprUnion(), Escape: yyDollar[6].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1031:
+ case 1033:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5383
+//line sql.y:5395
{
yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: RegexpOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1032:
+ case 1034:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5387
+//line sql.y:5399
{
yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotRegexpOp, Right: yyDollar[4].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1033:
+ case 1035:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5391
+//line sql.y:5403
{
yyLOCAL = yyDollar[1].exprUnion()
}
yyVAL.union = yyLOCAL
- case 1034:
+ case 1036:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:5397
+//line sql.y:5409
{
}
- case 1035:
+ case 1037:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:5400
+//line sql.y:5412
{
}
- case 1036:
+ case 1038:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5406
+//line sql.y:5418
{
yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitOrOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1037:
+ case 1039:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5410
+//line sql.y:5422
{
yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitAndOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1038:
+ case 1040:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5414
+//line sql.y:5426
{
yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ShiftLeftOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1039:
+ case 1041:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5418
+//line sql.y:5430
{
yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ShiftRightOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1040:
+ case 1042:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5422
+//line sql.y:5434
{
yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: PlusOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1041:
+ case 1043:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5426
+//line sql.y:5438
{
yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: MinusOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1042:
+ case 1044:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5430
+//line sql.y:5442
{
yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprBinaryAdd, Date: yyDollar[1].exprUnion(), Unit: yyDollar[5].intervalTypeUnion(), Interval: yyDollar[4].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1043:
+ case 1045:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5434
+//line sql.y:5446
{
yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprBinarySub, Date: yyDollar[1].exprUnion(), Unit: yyDollar[5].intervalTypeUnion(), Interval: yyDollar[4].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1044:
+ case 1046:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5438
+//line sql.y:5450
{
yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: MultOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1045:
+ case 1047:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5442
+//line sql.y:5454
{
yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: DivOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1046:
+ case 1048:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5446
+//line sql.y:5458
{
yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ModOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1047:
+ case 1049:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5450
+//line sql.y:5462
{
yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: IntDivOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1048:
+ case 1050:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5454
+//line sql.y:5466
{
yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ModOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1049:
+ case 1051:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5458
+//line sql.y:5470
{
yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitXorOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1050:
+ case 1052:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5462
+//line sql.y:5474
{
yyLOCAL = yyDollar[1].exprUnion()
}
yyVAL.union = yyLOCAL
- case 1051:
+ case 1053:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5468
+//line sql.y:5480
{
yyLOCAL = yyDollar[1].exprUnion()
}
yyVAL.union = yyLOCAL
- case 1052:
+ case 1054:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5472
+//line sql.y:5484
{
yyLOCAL = yyDollar[1].exprUnion()
}
yyVAL.union = yyLOCAL
- case 1053:
+ case 1055:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5476
+//line sql.y:5488
{
yyLOCAL = yyDollar[1].exprUnion()
}
yyVAL.union = yyLOCAL
- case 1054:
+ case 1056:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5480
+//line sql.y:5492
{
yyLOCAL = yyDollar[1].exprUnion()
}
yyVAL.union = yyLOCAL
- case 1055:
+ case 1057:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5484
+//line sql.y:5496
{
yyLOCAL = &CollateExpr{Expr: yyDollar[1].exprUnion(), Collation: yyDollar[3].str}
}
yyVAL.union = yyLOCAL
- case 1056:
+ case 1058:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5488
+//line sql.y:5500
{
yyLOCAL = yyDollar[1].exprUnion()
}
yyVAL.union = yyLOCAL
- case 1057:
+ case 1059:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5492
+//line sql.y:5504
{
yyLOCAL = yyDollar[1].exprUnion()
}
yyVAL.union = yyLOCAL
- case 1058:
+ case 1060:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5496
+//line sql.y:5508
{
yyLOCAL = yyDollar[1].variableUnion()
}
yyVAL.union = yyLOCAL
- case 1059:
+ case 1061:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5500
+//line sql.y:5512
{
yyLOCAL = yyDollar[2].exprUnion() // TODO: do we really want to ignore unary '+' before any kind of literals?
}
yyVAL.union = yyLOCAL
- case 1060:
+ case 1062:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5504
+//line sql.y:5516
{
yyLOCAL = &UnaryExpr{Operator: UMinusOp, Expr: yyDollar[2].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1061:
+ case 1063:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5508
+//line sql.y:5520
{
yyLOCAL = &UnaryExpr{Operator: TildaOp, Expr: yyDollar[2].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1062:
+ case 1064:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5512
+//line sql.y:5524
{
yyLOCAL = &UnaryExpr{Operator: BangOp, Expr: yyDollar[2].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1063:
+ case 1065:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5516
+//line sql.y:5528
{
yyLOCAL = yyDollar[1].subqueryUnion()
}
yyVAL.union = yyLOCAL
- case 1064:
+ case 1066:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5520
+//line sql.y:5532
{
yyLOCAL = yyDollar[1].exprUnion()
}
yyVAL.union = yyLOCAL
- case 1065:
+ case 1067:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5524
+//line sql.y:5536
{
yyLOCAL = &ExistsExpr{Subquery: yyDollar[2].subqueryUnion()}
}
yyVAL.union = yyLOCAL
- case 1066:
+ case 1068:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5528
+//line sql.y:5540
{
yyLOCAL = &MatchExpr{Columns: yyDollar[2].colNamesUnion(), Expr: yyDollar[5].exprUnion(), Option: yyDollar[6].matchExprOptionUnion()}
}
yyVAL.union = yyLOCAL
- case 1067:
+ case 1069:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5532
+//line sql.y:5544
{
yyLOCAL = &CastExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].convertTypeUnion(), Array: yyDollar[6].booleanUnion()}
}
yyVAL.union = yyLOCAL
- case 1068:
+ case 1070:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5536
+//line sql.y:5548
{
yyLOCAL = &ConvertExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].convertTypeUnion()}
}
yyVAL.union = yyLOCAL
- case 1069:
+ case 1071:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5540
+//line sql.y:5552
{
yyLOCAL = &ConvertUsingExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].str}
}
yyVAL.union = yyLOCAL
- case 1070:
+ case 1072:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5544
+//line sql.y:5556
{
// From: https://dev.mysql.com/doc/refman/8.0/en/cast-functions.html#operator_binary
// To convert a string expression to a binary string, these constructs are equivalent:
@@ -18100,3218 +18133,3218 @@ yydefault:
yyLOCAL = &ConvertExpr{Expr: yyDollar[2].exprUnion(), Type: &ConvertType{Type: yyDollar[1].str}}
}
yyVAL.union = yyLOCAL
- case 1071:
+ case 1073:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5552
+//line sql.y:5564
{
yyLOCAL = &Default{ColName: yyDollar[2].str}
}
yyVAL.union = yyLOCAL
- case 1072:
+ case 1074:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5556
+//line sql.y:5568
{
yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprBinaryAddLeft, Date: yyDollar[5].exprUnion(), Unit: yyDollar[3].intervalTypeUnion(), Interval: yyDollar[2].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1073:
+ case 1075:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5560
+//line sql.y:5572
{
yyLOCAL = &IntervalFuncExpr{Expr: yyDollar[3].exprUnion(), Exprs: yyDollar[5].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1074:
+ case 1076:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5564
+//line sql.y:5576
{
yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: JSONExtractOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1075:
+ case 1077:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5568
+//line sql.y:5580
{
yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: JSONUnquoteExtractOp, Right: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1076:
+ case 1078:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []*ColName
-//line sql.y:5574
+//line sql.y:5586
{
yyLOCAL = yyDollar[1].colNamesUnion()
}
yyVAL.union = yyLOCAL
- case 1077:
+ case 1079:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL []*ColName
-//line sql.y:5578
+//line sql.y:5590
{
yyLOCAL = yyDollar[2].colNamesUnion()
}
yyVAL.union = yyLOCAL
- case 1078:
+ case 1080:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []*ColName
-//line sql.y:5584
+//line sql.y:5596
{
yyLOCAL = []*ColName{yyDollar[1].colNameUnion()}
}
yyVAL.union = yyLOCAL
- case 1079:
+ case 1081:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:5588
+//line sql.y:5600
{
yySLICE := (*[]*ColName)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].colNameUnion())
}
- case 1080:
+ case 1082:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL TrimType
-//line sql.y:5594
+//line sql.y:5606
{
yyLOCAL = BothTrimType
}
yyVAL.union = yyLOCAL
- case 1081:
+ case 1083:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL TrimType
-//line sql.y:5598
+//line sql.y:5610
{
yyLOCAL = LeadingTrimType
}
yyVAL.union = yyLOCAL
- case 1082:
+ case 1084:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL TrimType
-//line sql.y:5602
+//line sql.y:5614
{
yyLOCAL = TrailingTrimType
}
yyVAL.union = yyLOCAL
- case 1083:
+ case 1085:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL FrameUnitType
-//line sql.y:5608
+//line sql.y:5620
{
yyLOCAL = FrameRowsType
}
yyVAL.union = yyLOCAL
- case 1084:
+ case 1086:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL FrameUnitType
-//line sql.y:5612
+//line sql.y:5624
{
yyLOCAL = FrameRangeType
}
yyVAL.union = yyLOCAL
- case 1085:
+ case 1087:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ArgumentLessWindowExprType
-//line sql.y:5619
+//line sql.y:5631
{
yyLOCAL = CumeDistExprType
}
yyVAL.union = yyLOCAL
- case 1086:
+ case 1088:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ArgumentLessWindowExprType
-//line sql.y:5623
+//line sql.y:5635
{
yyLOCAL = DenseRankExprType
}
yyVAL.union = yyLOCAL
- case 1087:
+ case 1089:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ArgumentLessWindowExprType
-//line sql.y:5627
+//line sql.y:5639
{
yyLOCAL = PercentRankExprType
}
yyVAL.union = yyLOCAL
- case 1088:
+ case 1090:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ArgumentLessWindowExprType
-//line sql.y:5631
+//line sql.y:5643
{
yyLOCAL = RankExprType
}
yyVAL.union = yyLOCAL
- case 1089:
+ case 1091:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ArgumentLessWindowExprType
-//line sql.y:5635
+//line sql.y:5647
{
yyLOCAL = RowNumberExprType
}
yyVAL.union = yyLOCAL
- case 1090:
+ case 1092:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *FramePoint
-//line sql.y:5641
+//line sql.y:5653
{
yyLOCAL = &FramePoint{Type: CurrentRowType}
}
yyVAL.union = yyLOCAL
- case 1091:
+ case 1093:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *FramePoint
-//line sql.y:5645
+//line sql.y:5657
{
yyLOCAL = &FramePoint{Type: UnboundedPrecedingType}
}
yyVAL.union = yyLOCAL
- case 1092:
+ case 1094:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *FramePoint
-//line sql.y:5649
+//line sql.y:5661
{
yyLOCAL = &FramePoint{Type: UnboundedFollowingType}
}
yyVAL.union = yyLOCAL
- case 1093:
+ case 1095:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *FramePoint
-//line sql.y:5653
+//line sql.y:5665
{
yyLOCAL = &FramePoint{Type: ExprPrecedingType, Expr: yyDollar[1].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1094:
+ case 1096:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *FramePoint
-//line sql.y:5657
+//line sql.y:5669
{
yyLOCAL = &FramePoint{Type: ExprPrecedingType, Expr: yyDollar[2].exprUnion(), Unit: yyDollar[3].intervalTypeUnion()}
}
yyVAL.union = yyLOCAL
- case 1095:
+ case 1097:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *FramePoint
-//line sql.y:5661
+//line sql.y:5673
{
yyLOCAL = &FramePoint{Type: ExprFollowingType, Expr: yyDollar[1].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1096:
+ case 1098:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *FramePoint
-//line sql.y:5665
+//line sql.y:5677
{
yyLOCAL = &FramePoint{Type: ExprFollowingType, Expr: yyDollar[2].exprUnion(), Unit: yyDollar[3].intervalTypeUnion()}
}
yyVAL.union = yyLOCAL
- case 1097:
+ case 1099:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *FrameClause
-//line sql.y:5670
+//line sql.y:5682
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1098:
+ case 1100:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *FrameClause
-//line sql.y:5674
+//line sql.y:5686
{
yyLOCAL = yyDollar[1].frameClauseUnion()
}
yyVAL.union = yyLOCAL
- case 1099:
+ case 1101:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *FrameClause
-//line sql.y:5680
+//line sql.y:5692
{
yyLOCAL = &FrameClause{Unit: yyDollar[1].frameUnitTypeUnion(), Start: yyDollar[2].framePointUnion()}
}
yyVAL.union = yyLOCAL
- case 1100:
+ case 1102:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *FrameClause
-//line sql.y:5684
+//line sql.y:5696
{
yyLOCAL = &FrameClause{Unit: yyDollar[1].frameUnitTypeUnion(), Start: yyDollar[3].framePointUnion(), End: yyDollar[5].framePointUnion()}
}
yyVAL.union = yyLOCAL
- case 1101:
+ case 1103:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL Exprs
-//line sql.y:5689
+//line sql.y:5701
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1102:
+ case 1104:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Exprs
-//line sql.y:5693
+//line sql.y:5705
{
yyLOCAL = yyDollar[3].exprsUnion()
}
yyVAL.union = yyLOCAL
- case 1103:
+ case 1105:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:5698
+//line sql.y:5710
{
yyVAL.identifierCI = IdentifierCI{}
}
- case 1104:
+ case 1106:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:5702
+//line sql.y:5714
{
yyVAL.identifierCI = yyDollar[1].identifierCI
}
- case 1105:
+ case 1107:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *WindowSpecification
-//line sql.y:5708
+//line sql.y:5720
{
yyLOCAL = &WindowSpecification{Name: yyDollar[1].identifierCI, PartitionClause: yyDollar[2].exprsUnion(), OrderClause: yyDollar[3].orderByUnion(), FrameClause: yyDollar[4].frameClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1106:
+ case 1108:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *OverClause
-//line sql.y:5714
+//line sql.y:5726
{
yyLOCAL = &OverClause{WindowSpec: yyDollar[3].windowSpecificationUnion()}
}
yyVAL.union = yyLOCAL
- case 1107:
+ case 1109:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *OverClause
-//line sql.y:5718
+//line sql.y:5730
{
yyLOCAL = &OverClause{WindowName: yyDollar[2].identifierCI}
}
yyVAL.union = yyLOCAL
- case 1108:
+ case 1110:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *OverClause
-//line sql.y:5724
+//line sql.y:5736
{
yyLOCAL = yyDollar[1].overClauseUnion()
}
yyVAL.union = yyLOCAL
- case 1109:
+ case 1111:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *OverClause
-//line sql.y:5728
+//line sql.y:5740
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1110:
+ case 1112:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *NullTreatmentClause
-//line sql.y:5733
+//line sql.y:5745
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1112:
+ case 1114:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *NullTreatmentClause
-//line sql.y:5740
+//line sql.y:5752
{
yyLOCAL = &NullTreatmentClause{yyDollar[1].nullTreatmentTypeUnion()}
}
yyVAL.union = yyLOCAL
- case 1113:
+ case 1115:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL NullTreatmentType
-//line sql.y:5746
+//line sql.y:5758
{
yyLOCAL = RespectNullsType
}
yyVAL.union = yyLOCAL
- case 1114:
+ case 1116:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL NullTreatmentType
-//line sql.y:5750
+//line sql.y:5762
{
yyLOCAL = IgnoreNullsType
}
yyVAL.union = yyLOCAL
- case 1115:
+ case 1117:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL FirstOrLastValueExprType
-//line sql.y:5756
+//line sql.y:5768
{
yyLOCAL = FirstValueExprType
}
yyVAL.union = yyLOCAL
- case 1116:
+ case 1118:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL FirstOrLastValueExprType
-//line sql.y:5760
+//line sql.y:5772
{
yyLOCAL = LastValueExprType
}
yyVAL.union = yyLOCAL
- case 1117:
+ case 1119:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL FromFirstLastType
-//line sql.y:5766
+//line sql.y:5778
{
yyLOCAL = FromFirstType
}
yyVAL.union = yyLOCAL
- case 1118:
+ case 1120:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL FromFirstLastType
-//line sql.y:5770
+//line sql.y:5782
{
yyLOCAL = FromLastType
}
yyVAL.union = yyLOCAL
- case 1119:
+ case 1121:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *FromFirstLastClause
-//line sql.y:5775
+//line sql.y:5787
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1121:
+ case 1123:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *FromFirstLastClause
-//line sql.y:5782
+//line sql.y:5794
{
yyLOCAL = &FromFirstLastClause{yyDollar[1].fromFirstLastTypeUnion()}
}
yyVAL.union = yyLOCAL
- case 1122:
+ case 1124:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL LagLeadExprType
-//line sql.y:5788
+//line sql.y:5800
{
yyLOCAL = LagExprType
}
yyVAL.union = yyLOCAL
- case 1123:
+ case 1125:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL LagLeadExprType
-//line sql.y:5792
+//line sql.y:5804
{
yyLOCAL = LeadExprType
}
yyVAL.union = yyLOCAL
- case 1124:
+ case 1126:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *WindowDefinition
-//line sql.y:5798
+//line sql.y:5810
{
yyLOCAL = &WindowDefinition{Name: yyDollar[1].identifierCI, WindowSpec: yyDollar[4].windowSpecificationUnion()}
}
yyVAL.union = yyLOCAL
- case 1125:
+ case 1127:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL WindowDefinitions
-//line sql.y:5804
+//line sql.y:5816
{
yyLOCAL = WindowDefinitions{yyDollar[1].windowDefinitionUnion()}
}
yyVAL.union = yyLOCAL
- case 1126:
+ case 1128:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:5808
+//line sql.y:5820
{
yySLICE := (*WindowDefinitions)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].windowDefinitionUnion())
}
- case 1127:
+ case 1129:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:5814
+//line sql.y:5826
{
yyVAL.str = ""
}
- case 1128:
+ case 1130:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:5818
+//line sql.y:5830
{
yyVAL.str = string(yyDollar[2].identifierCI.String())
}
- case 1129:
+ case 1131:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL BoolVal
-//line sql.y:5824
+//line sql.y:5836
{
yyLOCAL = BoolVal(true)
}
yyVAL.union = yyLOCAL
- case 1130:
+ case 1132:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL BoolVal
-//line sql.y:5828
+//line sql.y:5840
{
yyLOCAL = BoolVal(false)
}
yyVAL.union = yyLOCAL
- case 1131:
+ case 1133:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IsExprOperator
-//line sql.y:5835
+//line sql.y:5847
{
yyLOCAL = IsTrueOp
}
yyVAL.union = yyLOCAL
- case 1132:
+ case 1134:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL IsExprOperator
-//line sql.y:5839
+//line sql.y:5851
{
yyLOCAL = IsNotTrueOp
}
yyVAL.union = yyLOCAL
- case 1133:
+ case 1135:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IsExprOperator
-//line sql.y:5843
+//line sql.y:5855
{
yyLOCAL = IsFalseOp
}
yyVAL.union = yyLOCAL
- case 1134:
+ case 1136:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL IsExprOperator
-//line sql.y:5847
+//line sql.y:5859
{
yyLOCAL = IsNotFalseOp
}
yyVAL.union = yyLOCAL
- case 1135:
+ case 1137:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ComparisonExprOperator
-//line sql.y:5853
+//line sql.y:5865
{
yyLOCAL = yyDollar[1].comparisonExprOperatorUnion()
}
yyVAL.union = yyLOCAL
- case 1136:
+ case 1138:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ComparisonExprOperator
-//line sql.y:5857
+//line sql.y:5869
{
yyLOCAL = NullSafeEqualOp
}
yyVAL.union = yyLOCAL
- case 1137:
+ case 1139:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ComparisonExprOperator
-//line sql.y:5863
+//line sql.y:5875
{
yyLOCAL = EqualOp
}
yyVAL.union = yyLOCAL
- case 1138:
+ case 1140:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ComparisonExprOperator
-//line sql.y:5867
+//line sql.y:5879
{
yyLOCAL = LessThanOp
}
yyVAL.union = yyLOCAL
- case 1139:
+ case 1141:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ComparisonExprOperator
-//line sql.y:5871
+//line sql.y:5883
{
yyLOCAL = GreaterThanOp
}
yyVAL.union = yyLOCAL
- case 1140:
+ case 1142:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ComparisonExprOperator
-//line sql.y:5875
+//line sql.y:5887
{
yyLOCAL = LessEqualOp
}
yyVAL.union = yyLOCAL
- case 1141:
+ case 1143:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ComparisonExprOperator
-//line sql.y:5879
+//line sql.y:5891
{
yyLOCAL = GreaterEqualOp
}
yyVAL.union = yyLOCAL
- case 1142:
+ case 1144:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ComparisonExprOperator
-//line sql.y:5883
+//line sql.y:5895
{
yyLOCAL = NotEqualOp
}
yyVAL.union = yyLOCAL
- case 1143:
+ case 1145:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ColTuple
-//line sql.y:5889
+//line sql.y:5901
{
yyLOCAL = yyDollar[1].valTupleUnion()
}
yyVAL.union = yyLOCAL
- case 1144:
+ case 1146:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ColTuple
-//line sql.y:5893
+//line sql.y:5905
{
yyLOCAL = yyDollar[1].subqueryUnion()
}
yyVAL.union = yyLOCAL
- case 1145:
+ case 1147:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ColTuple
-//line sql.y:5897
+//line sql.y:5909
{
yyLOCAL = ListArg(yyDollar[1].str[2:])
markBindVariable(yylex, yyDollar[1].str[2:])
}
yyVAL.union = yyLOCAL
- case 1146:
+ case 1148:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *Subquery
-//line sql.y:5904
+//line sql.y:5916
{
yyLOCAL = &Subquery{yyDollar[1].selStmtUnion()}
}
yyVAL.union = yyLOCAL
- case 1147:
+ case 1149:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Exprs
-//line sql.y:5910
+//line sql.y:5922
{
yyLOCAL = Exprs{yyDollar[1].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1148:
+ case 1150:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:5914
+//line sql.y:5926
{
yySLICE := (*Exprs)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].exprUnion())
}
- case 1149:
+ case 1151:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5924
+//line sql.y:5936
{
yyLOCAL = &FuncExpr{Name: yyDollar[1].identifierCI, Exprs: yyDollar[3].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1150:
+ case 1152:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5928
+//line sql.y:5940
{
yyLOCAL = &FuncExpr{Qualifier: yyDollar[1].identifierCS, Name: yyDollar[3].identifierCI, Exprs: yyDollar[5].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1151:
+ case 1153:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5938
+//line sql.y:5950
{
yyLOCAL = &FuncExpr{Name: NewIdentifierCI("left"), Exprs: yyDollar[3].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1152:
+ case 1154:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5942
+//line sql.y:5954
{
yyLOCAL = &FuncExpr{Name: NewIdentifierCI("right"), Exprs: yyDollar[3].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1153:
+ case 1155:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5946
+//line sql.y:5958
{
yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion(), To: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1154:
+ case 1156:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5950
+//line sql.y:5962
{
yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion(), To: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1155:
+ case 1157:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5954
+//line sql.y:5966
{
yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1156:
+ case 1158:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5958
+//line sql.y:5970
{
yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion(), To: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1157:
+ case 1159:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5962
+//line sql.y:5974
{
yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1158:
+ case 1160:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5966
+//line sql.y:5978
{
yyLOCAL = &CaseExpr{Expr: yyDollar[2].exprUnion(), Whens: yyDollar[3].whensUnion(), Else: yyDollar[4].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1159:
+ case 1161:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5970
+//line sql.y:5982
{
yyLOCAL = &ValuesFuncExpr{Name: yyDollar[3].colNameUnion()}
}
yyVAL.union = yyLOCAL
- case 1160:
+ case 1162:
yyDollar = yyS[yypt-10 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5974
+//line sql.y:5986
{
yyLOCAL = &InsertExpr{Str: yyDollar[3].exprUnion(), Pos: yyDollar[5].exprUnion(), Len: yyDollar[7].exprUnion(), NewStr: yyDollar[9].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1161:
+ case 1163:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5978
+//line sql.y:5990
{
yyLOCAL = &FuncExpr{Name: NewIdentifierCI(yyDollar[1].str)}
}
yyVAL.union = yyLOCAL
- case 1162:
+ case 1164:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5989
+//line sql.y:6001
{
yyLOCAL = &FuncExpr{Name: NewIdentifierCI("utc_date")}
}
yyVAL.union = yyLOCAL
- case 1163:
+ case 1165:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5993
+//line sql.y:6005
{
yyLOCAL = yyDollar[1].exprUnion()
}
yyVAL.union = yyLOCAL
- case 1164:
+ case 1166:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:5999
+//line sql.y:6011
{
yyLOCAL = &FuncExpr{Name: NewIdentifierCI("current_date")}
}
yyVAL.union = yyLOCAL
- case 1165:
+ case 1167:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6003
+//line sql.y:6015
{
yyLOCAL = &FuncExpr{Name: NewIdentifierCI("curdate")}
}
yyVAL.union = yyLOCAL
- case 1166:
+ case 1168:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6007
+//line sql.y:6019
{
yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("utc_time"), Fsp: yyDollar[2].integerUnion()}
}
yyVAL.union = yyLOCAL
- case 1167:
+ case 1169:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6012
+//line sql.y:6024
{
yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("curtime"), Fsp: yyDollar[2].integerUnion()}
}
yyVAL.union = yyLOCAL
- case 1168:
+ case 1170:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6017
+//line sql.y:6029
{
yyLOCAL = &CurTimeFuncExpr{Name: NewIdentifierCI("current_time"), Fsp: yyDollar[2].integerUnion()}
}
yyVAL.union = yyLOCAL
- case 1169:
+ case 1171:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6021
+//line sql.y:6033
{
yyLOCAL = &CountStar{OverClause: yyDollar[5].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1170:
+ case 1172:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6025
+//line sql.y:6037
{
yyLOCAL = &Count{Distinct: yyDollar[3].booleanUnion(), Args: yyDollar[4].exprsUnion(), OverClause: yyDollar[6].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1171:
+ case 1173:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6029
+//line sql.y:6041
{
yyLOCAL = &Max{Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion(), OverClause: yyDollar[6].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1172:
+ case 1174:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6033
+//line sql.y:6045
{
yyLOCAL = &Min{Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion(), OverClause: yyDollar[6].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1173:
+ case 1175:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6037
+//line sql.y:6049
{
yyLOCAL = &Sum{Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion(), OverClause: yyDollar[6].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1174:
+ case 1176:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6041
+//line sql.y:6053
{
yyLOCAL = &Avg{Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion(), OverClause: yyDollar[6].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1175:
+ case 1177:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6045
+//line sql.y:6057
{
yyLOCAL = &BitAnd{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1176:
+ case 1178:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6049
+//line sql.y:6061
{
yyLOCAL = &BitOr{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1177:
+ case 1179:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6053
+//line sql.y:6065
{
yyLOCAL = &BitXor{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1178:
+ case 1180:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6057
+//line sql.y:6069
{
yyLOCAL = &Std{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1179:
+ case 1181:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6061
+//line sql.y:6073
{
yyLOCAL = &StdDev{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1180:
+ case 1182:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6065
+//line sql.y:6077
{
yyLOCAL = &StdPop{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1181:
+ case 1183:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6069
+//line sql.y:6081
{
yyLOCAL = &StdSamp{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1182:
+ case 1184:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6073
+//line sql.y:6085
{
yyLOCAL = &VarPop{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1183:
+ case 1185:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6077
+//line sql.y:6089
{
yyLOCAL = &VarSamp{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1184:
+ case 1186:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6081
+//line sql.y:6093
{
yyLOCAL = &Variance{Arg: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1185:
+ case 1187:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6085
+//line sql.y:6097
{
yyLOCAL = &GroupConcatExpr{Distinct: yyDollar[3].booleanUnion(), Exprs: yyDollar[4].exprsUnion(), OrderBy: yyDollar[5].orderByUnion(), Separator: yyDollar[6].str, Limit: yyDollar[7].limitUnion()}
}
yyVAL.union = yyLOCAL
- case 1186:
+ case 1188:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6089
+//line sql.y:6101
{
yyLOCAL = &AnyValue{Arg: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1187:
+ case 1189:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6093
+//line sql.y:6105
{
yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprTimestampadd, Date: yyDollar[7].exprUnion(), Interval: yyDollar[5].exprUnion(), Unit: yyDollar[3].intervalTypeUnion()}
}
yyVAL.union = yyLOCAL
- case 1188:
+ case 1190:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6097
+//line sql.y:6109
{
yyLOCAL = &TimestampDiffExpr{Unit: yyDollar[3].intervalTypeUnion(), Expr1: yyDollar[5].exprUnion(), Expr2: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1189:
+ case 1191:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6101
+//line sql.y:6113
{
yyLOCAL = &ExtractFuncExpr{IntervalType: yyDollar[3].intervalTypeUnion(), Expr: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1190:
+ case 1192:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6105
+//line sql.y:6117
{
yyLOCAL = &WeightStringFuncExpr{Expr: yyDollar[3].exprUnion(), As: yyDollar[4].convertTypeUnion()}
}
yyVAL.union = yyLOCAL
- case 1191:
+ case 1193:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6109
+//line sql.y:6121
{
yyLOCAL = &JSONPrettyExpr{JSONVal: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1192:
+ case 1194:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6113
+//line sql.y:6125
{
yyLOCAL = &JSONStorageFreeExpr{JSONVal: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1193:
+ case 1195:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6117
+//line sql.y:6129
{
yyLOCAL = &JSONStorageSizeExpr{JSONVal: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1194:
+ case 1196:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6121
+//line sql.y:6133
{
yyLOCAL = &JSONArrayAgg{Expr: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1195:
+ case 1197:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6125
+//line sql.y:6137
{
yyLOCAL = &JSONObjectAgg{Key: yyDollar[3].exprUnion(), Value: yyDollar[5].exprUnion(), OverClause: yyDollar[7].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1196:
+ case 1198:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6129
+//line sql.y:6141
{
yyLOCAL = &TrimFuncExpr{TrimFuncType: LTrimType, Type: LeadingTrimType, StringArg: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1197:
+ case 1199:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6133
+//line sql.y:6145
{
yyLOCAL = &TrimFuncExpr{TrimFuncType: RTrimType, Type: TrailingTrimType, StringArg: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1198:
+ case 1200:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6137
+//line sql.y:6149
{
yyLOCAL = &TrimFuncExpr{Type: yyDollar[3].trimTypeUnion(), TrimArg: yyDollar[4].exprUnion(), StringArg: yyDollar[6].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1199:
+ case 1201:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6141
+//line sql.y:6153
{
yyLOCAL = &TrimFuncExpr{StringArg: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1200:
+ case 1202:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6145
+//line sql.y:6157
{
yyLOCAL = &CharExpr{Exprs: yyDollar[3].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1201:
+ case 1203:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6149
+//line sql.y:6161
{
yyLOCAL = &CharExpr{Exprs: yyDollar[3].exprsUnion(), Charset: yyDollar[5].str}
}
yyVAL.union = yyLOCAL
- case 1202:
+ case 1204:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6153
+//line sql.y:6165
{
yyLOCAL = &TrimFuncExpr{TrimArg: yyDollar[3].exprUnion(), StringArg: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1203:
+ case 1205:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6157
+//line sql.y:6169
{
yyLOCAL = &LocateExpr{SubStr: yyDollar[3].exprUnion(), Str: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1204:
+ case 1206:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6161
+//line sql.y:6173
{
yyLOCAL = &LocateExpr{SubStr: yyDollar[3].exprUnion(), Str: yyDollar[5].exprUnion(), Pos: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1205:
+ case 1207:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6165
+//line sql.y:6177
{
yyLOCAL = &LocateExpr{SubStr: yyDollar[3].exprUnion(), Str: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1206:
+ case 1208:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6169
+//line sql.y:6181
{
yyLOCAL = &LockingFunc{Type: GetLock, Name: yyDollar[3].exprUnion(), Timeout: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1207:
+ case 1209:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6173
+//line sql.y:6185
{
yyLOCAL = &LockingFunc{Type: IsFreeLock, Name: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1208:
+ case 1210:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6177
+//line sql.y:6189
{
yyLOCAL = &LockingFunc{Type: IsUsedLock, Name: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1209:
+ case 1211:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6181
+//line sql.y:6193
{
yyLOCAL = &LockingFunc{Type: ReleaseAllLocks}
}
yyVAL.union = yyLOCAL
- case 1210:
+ case 1212:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6185
+//line sql.y:6197
{
yyLOCAL = &LockingFunc{Type: ReleaseLock, Name: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1211:
+ case 1213:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6189
+//line sql.y:6201
{
yyLOCAL = &JSONSchemaValidFuncExpr{Schema: yyDollar[3].exprUnion(), Document: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1212:
+ case 1214:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6193
+//line sql.y:6205
{
yyLOCAL = &JSONSchemaValidationReportFuncExpr{Schema: yyDollar[3].exprUnion(), Document: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1213:
+ case 1215:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6197
+//line sql.y:6209
{
yyLOCAL = &JSONArrayExpr{Params: yyDollar[3].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1214:
+ case 1216:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6201
+//line sql.y:6213
{
yyLOCAL = &GeomFormatExpr{FormatType: BinaryFormat, Geom: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1215:
+ case 1217:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6205
+//line sql.y:6217
{
yyLOCAL = &GeomFormatExpr{FormatType: BinaryFormat, Geom: yyDollar[3].exprUnion(), AxisOrderOpt: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1216:
+ case 1218:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6209
+//line sql.y:6221
{
yyLOCAL = &GeomFormatExpr{FormatType: TextFormat, Geom: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1217:
+ case 1219:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6213
+//line sql.y:6225
{
yyLOCAL = &GeomFormatExpr{FormatType: TextFormat, Geom: yyDollar[3].exprUnion(), AxisOrderOpt: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1218:
+ case 1220:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6217
+//line sql.y:6229
{
yyLOCAL = &GeomPropertyFuncExpr{Property: IsEmpty, Geom: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1219:
+ case 1221:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6221
+//line sql.y:6233
{
yyLOCAL = &GeomPropertyFuncExpr{Property: IsSimple, Geom: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1220:
+ case 1222:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6225
+//line sql.y:6237
{
yyLOCAL = &GeomPropertyFuncExpr{Property: Dimension, Geom: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1221:
+ case 1223:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6229
+//line sql.y:6241
{
yyLOCAL = &GeomPropertyFuncExpr{Property: Envelope, Geom: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1222:
+ case 1224:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6233
+//line sql.y:6245
{
yyLOCAL = &GeomPropertyFuncExpr{Property: GeometryType, Geom: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1223:
+ case 1225:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6237
+//line sql.y:6249
{
yyLOCAL = &PointPropertyFuncExpr{Property: Latitude, Point: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1224:
+ case 1226:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6241
+//line sql.y:6253
{
yyLOCAL = &PointPropertyFuncExpr{Property: Latitude, Point: yyDollar[3].exprUnion(), ValueToSet: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1225:
+ case 1227:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6245
+//line sql.y:6257
{
yyLOCAL = &PointPropertyFuncExpr{Property: Longitude, Point: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1226:
+ case 1228:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6249
+//line sql.y:6261
{
yyLOCAL = &PointPropertyFuncExpr{Property: Longitude, Point: yyDollar[3].exprUnion(), ValueToSet: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1227:
+ case 1229:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6253
+//line sql.y:6265
{
yyLOCAL = &LinestrPropertyFuncExpr{Property: EndPoint, Linestring: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1228:
+ case 1230:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6257
+//line sql.y:6269
{
yyLOCAL = &LinestrPropertyFuncExpr{Property: IsClosed, Linestring: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1229:
+ case 1231:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6261
+//line sql.y:6273
{
yyLOCAL = &LinestrPropertyFuncExpr{Property: Length, Linestring: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1230:
+ case 1232:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6265
+//line sql.y:6277
{
yyLOCAL = &LinestrPropertyFuncExpr{Property: Length, Linestring: yyDollar[3].exprUnion(), PropertyDefArg: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1231:
+ case 1233:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6269
+//line sql.y:6281
{
yyLOCAL = &LinestrPropertyFuncExpr{Property: NumPoints, Linestring: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1232:
+ case 1234:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6273
+//line sql.y:6285
{
yyLOCAL = &LinestrPropertyFuncExpr{Property: PointN, Linestring: yyDollar[3].exprUnion(), PropertyDefArg: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1233:
+ case 1235:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6277
+//line sql.y:6289
{
yyLOCAL = &LinestrPropertyFuncExpr{Property: StartPoint, Linestring: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1234:
+ case 1236:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6281
+//line sql.y:6293
{
yyLOCAL = &PointPropertyFuncExpr{Property: XCordinate, Point: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1235:
+ case 1237:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6285
+//line sql.y:6297
{
yyLOCAL = &PointPropertyFuncExpr{Property: XCordinate, Point: yyDollar[3].exprUnion(), ValueToSet: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1236:
+ case 1238:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6289
+//line sql.y:6301
{
yyLOCAL = &PointPropertyFuncExpr{Property: YCordinate, Point: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1237:
+ case 1239:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6293
+//line sql.y:6305
{
yyLOCAL = &PointPropertyFuncExpr{Property: YCordinate, Point: yyDollar[3].exprUnion(), ValueToSet: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1238:
+ case 1240:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6297
+//line sql.y:6309
{
yyLOCAL = &GeomFromTextExpr{Type: GeometryFromText, WktText: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1239:
+ case 1241:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6301
+//line sql.y:6313
{
yyLOCAL = &GeomFromTextExpr{Type: GeometryFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1240:
+ case 1242:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6305
+//line sql.y:6317
{
yyLOCAL = &GeomFromTextExpr{Type: GeometryFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1241:
+ case 1243:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6309
+//line sql.y:6321
{
yyLOCAL = &GeomFromTextExpr{Type: GeometryCollectionFromText, WktText: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1242:
+ case 1244:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6313
+//line sql.y:6325
{
yyLOCAL = &GeomFromTextExpr{Type: GeometryCollectionFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1243:
+ case 1245:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6317
+//line sql.y:6329
{
yyLOCAL = &GeomFromTextExpr{Type: GeometryCollectionFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1244:
+ case 1246:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6321
+//line sql.y:6333
{
yyLOCAL = &GeomFromTextExpr{Type: LineStringFromText, WktText: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1245:
+ case 1247:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6325
+//line sql.y:6337
{
yyLOCAL = &GeomFromTextExpr{Type: LineStringFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1246:
+ case 1248:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6329
+//line sql.y:6341
{
yyLOCAL = &GeomFromTextExpr{Type: LineStringFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1247:
+ case 1249:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6333
+//line sql.y:6345
{
yyLOCAL = &GeomFromTextExpr{Type: MultiLinestringFromText, WktText: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1248:
+ case 1250:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6337
+//line sql.y:6349
{
yyLOCAL = &GeomFromTextExpr{Type: MultiLinestringFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1249:
+ case 1251:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6341
+//line sql.y:6353
{
yyLOCAL = &GeomFromTextExpr{Type: MultiLinestringFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1250:
+ case 1252:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6345
+//line sql.y:6357
{
yyLOCAL = &GeomFromTextExpr{Type: MultiPointFromText, WktText: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1251:
+ case 1253:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6349
+//line sql.y:6361
{
yyLOCAL = &GeomFromTextExpr{Type: MultiPointFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1252:
+ case 1254:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6353
+//line sql.y:6365
{
yyLOCAL = &GeomFromTextExpr{Type: MultiPointFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1253:
+ case 1255:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6357
+//line sql.y:6369
{
yyLOCAL = &GeomFromTextExpr{Type: MultiPolygonFromText, WktText: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1254:
+ case 1256:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6361
+//line sql.y:6373
{
yyLOCAL = &GeomFromTextExpr{Type: MultiPolygonFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1255:
+ case 1257:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6365
+//line sql.y:6377
{
yyLOCAL = &GeomFromTextExpr{Type: MultiPolygonFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1256:
+ case 1258:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6369
+//line sql.y:6381
{
yyLOCAL = &GeomFromTextExpr{Type: PointFromText, WktText: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1257:
+ case 1259:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6373
+//line sql.y:6385
{
yyLOCAL = &GeomFromTextExpr{Type: PointFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1258:
+ case 1260:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6377
+//line sql.y:6389
{
yyLOCAL = &GeomFromTextExpr{Type: PointFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1259:
+ case 1261:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6381
+//line sql.y:6393
{
yyLOCAL = &GeomFromTextExpr{Type: PolygonFromText, WktText: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1260:
+ case 1262:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6385
+//line sql.y:6397
{
yyLOCAL = &GeomFromTextExpr{Type: PolygonFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1261:
+ case 1263:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6389
+//line sql.y:6401
{
yyLOCAL = &GeomFromTextExpr{Type: PolygonFromText, WktText: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1262:
+ case 1264:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6393
+//line sql.y:6405
{
yyLOCAL = &GeomFromWKBExpr{Type: GeometryFromWKB, WkbBlob: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1263:
+ case 1265:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6397
+//line sql.y:6409
{
yyLOCAL = &GeomFromWKBExpr{Type: GeometryFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1264:
+ case 1266:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6401
+//line sql.y:6413
{
yyLOCAL = &GeomFromWKBExpr{Type: GeometryFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1265:
+ case 1267:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6405
+//line sql.y:6417
{
yyLOCAL = &GeomFromWKBExpr{Type: GeometryCollectionFromWKB, WkbBlob: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1266:
+ case 1268:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6409
+//line sql.y:6421
{
yyLOCAL = &GeomFromWKBExpr{Type: GeometryCollectionFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1267:
+ case 1269:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6413
+//line sql.y:6425
{
yyLOCAL = &GeomFromWKBExpr{Type: GeometryCollectionFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1268:
+ case 1270:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6417
+//line sql.y:6429
{
yyLOCAL = &GeomFromWKBExpr{Type: LineStringFromWKB, WkbBlob: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1269:
+ case 1271:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6421
+//line sql.y:6433
{
yyLOCAL = &GeomFromWKBExpr{Type: LineStringFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1270:
+ case 1272:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6425
+//line sql.y:6437
{
yyLOCAL = &GeomFromWKBExpr{Type: LineStringFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1271:
+ case 1273:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6429
+//line sql.y:6441
{
yyLOCAL = &GeomFromWKBExpr{Type: MultiLinestringFromWKB, WkbBlob: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1272:
+ case 1274:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6433
+//line sql.y:6445
{
yyLOCAL = &GeomFromWKBExpr{Type: MultiLinestringFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1273:
+ case 1275:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6437
+//line sql.y:6449
{
yyLOCAL = &GeomFromWKBExpr{Type: MultiLinestringFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1274:
+ case 1276:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6441
+//line sql.y:6453
{
yyLOCAL = &GeomFromWKBExpr{Type: MultiPointFromWKB, WkbBlob: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1275:
+ case 1277:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6445
+//line sql.y:6457
{
yyLOCAL = &GeomFromWKBExpr{Type: MultiPointFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1276:
+ case 1278:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6449
+//line sql.y:6461
{
yyLOCAL = &GeomFromWKBExpr{Type: MultiPointFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1277:
+ case 1279:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6453
+//line sql.y:6465
{
yyLOCAL = &GeomFromWKBExpr{Type: MultiPolygonFromWKB, WkbBlob: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1278:
+ case 1280:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6457
+//line sql.y:6469
{
yyLOCAL = &GeomFromWKBExpr{Type: MultiPolygonFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1279:
+ case 1281:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6461
+//line sql.y:6473
{
yyLOCAL = &GeomFromWKBExpr{Type: MultiPolygonFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1280:
+ case 1282:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6465
+//line sql.y:6477
{
yyLOCAL = &GeomFromWKBExpr{Type: PointFromWKB, WkbBlob: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1281:
+ case 1283:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6469
+//line sql.y:6481
{
yyLOCAL = &GeomFromWKBExpr{Type: PointFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1282:
+ case 1284:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6473
+//line sql.y:6485
{
yyLOCAL = &GeomFromWKBExpr{Type: PointFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1283:
+ case 1285:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6477
+//line sql.y:6489
{
yyLOCAL = &GeomFromWKBExpr{Type: PolygonFromWKB, WkbBlob: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1284:
+ case 1286:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6481
+//line sql.y:6493
{
yyLOCAL = &GeomFromWKBExpr{Type: PolygonFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1285:
+ case 1287:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6485
+//line sql.y:6497
{
yyLOCAL = &GeomFromWKBExpr{Type: PolygonFromWKB, WkbBlob: yyDollar[3].exprUnion(), Srid: yyDollar[5].exprUnion(), AxisOrderOpt: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1286:
+ case 1288:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6489
+//line sql.y:6501
{
yyLOCAL = &PolygonPropertyFuncExpr{Property: Area, Polygon: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1287:
+ case 1289:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6493
+//line sql.y:6505
{
yyLOCAL = &PolygonPropertyFuncExpr{Property: Centroid, Polygon: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1288:
+ case 1290:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6497
+//line sql.y:6509
{
yyLOCAL = &PolygonPropertyFuncExpr{Property: ExteriorRing, Polygon: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1289:
+ case 1291:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6501
+//line sql.y:6513
{
yyLOCAL = &PolygonPropertyFuncExpr{Property: InteriorRingN, Polygon: yyDollar[3].exprUnion(), PropertyDefArg: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1290:
+ case 1292:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6505
+//line sql.y:6517
{
yyLOCAL = &PolygonPropertyFuncExpr{Property: NumInteriorRings, Polygon: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1291:
+ case 1293:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6509
+//line sql.y:6521
{
yyLOCAL = &GeomCollPropertyFuncExpr{Property: GeometryN, GeomColl: yyDollar[3].exprUnion(), PropertyDefArg: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1292:
+ case 1294:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6513
+//line sql.y:6525
{
yyLOCAL = &GeomCollPropertyFuncExpr{Property: NumGeometries, GeomColl: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1293:
+ case 1295:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6517
+//line sql.y:6529
{
yyLOCAL = &GeoHashFromLatLongExpr{Longitude: yyDollar[3].exprUnion(), Latitude: yyDollar[5].exprUnion(), MaxLength: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1294:
+ case 1296:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6521
+//line sql.y:6533
{
yyLOCAL = &GeoHashFromPointExpr{Point: yyDollar[3].exprUnion(), MaxLength: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1295:
+ case 1297:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6525
+//line sql.y:6537
{
yyLOCAL = &GeomFromGeoHashExpr{GeomType: LatitudeFromHash, GeoHash: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1296:
+ case 1298:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6529
+//line sql.y:6541
{
yyLOCAL = &GeomFromGeoHashExpr{GeomType: LongitudeFromHash, GeoHash: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1297:
+ case 1299:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6533
+//line sql.y:6545
{
yyLOCAL = &GeomFromGeoHashExpr{GeomType: PointFromHash, GeoHash: yyDollar[3].exprUnion(), SridOpt: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1298:
+ case 1300:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6537
+//line sql.y:6549
{
yyLOCAL = &GeomFromGeoJSONExpr{GeoJSON: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1299:
+ case 1301:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6541
+//line sql.y:6553
{
yyLOCAL = &GeomFromGeoJSONExpr{GeoJSON: yyDollar[3].exprUnion(), HigherDimHandlerOpt: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1300:
+ case 1302:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6545
+//line sql.y:6557
{
yyLOCAL = &GeomFromGeoJSONExpr{GeoJSON: yyDollar[3].exprUnion(), HigherDimHandlerOpt: yyDollar[5].exprUnion(), Srid: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1301:
+ case 1303:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6549
+//line sql.y:6561
{
yyLOCAL = &GeoJSONFromGeomExpr{Geom: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1302:
+ case 1304:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6553
+//line sql.y:6565
{
yyLOCAL = &GeoJSONFromGeomExpr{Geom: yyDollar[3].exprUnion(), MaxDecimalDigits: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1303:
+ case 1305:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6557
+//line sql.y:6569
{
yyLOCAL = &GeoJSONFromGeomExpr{Geom: yyDollar[3].exprUnion(), MaxDecimalDigits: yyDollar[5].exprUnion(), Bitmask: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1304:
+ case 1306:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6561
+//line sql.y:6573
{
yyLOCAL = &JSONObjectExpr{Params: yyDollar[3].jsonObjectParamsUnion()}
}
yyVAL.union = yyLOCAL
- case 1305:
+ case 1307:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6565
+//line sql.y:6577
{
yyLOCAL = &JSONQuoteExpr{StringArg: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1306:
+ case 1308:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6569
+//line sql.y:6581
{
yyLOCAL = &JSONContainsExpr{Target: yyDollar[3].exprUnion(), Candidate: yyDollar[5].exprsUnion()[0], PathList: yyDollar[5].exprsUnion()[1:]}
}
yyVAL.union = yyLOCAL
- case 1307:
+ case 1309:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6573
+//line sql.y:6585
{
yyLOCAL = &JSONContainsPathExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), PathList: yyDollar[7].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1308:
+ case 1310:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6577
+//line sql.y:6589
{
yyLOCAL = &JSONExtractExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[5].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1309:
+ case 1311:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6581
+//line sql.y:6593
{
yyLOCAL = &JSONKeysExpr{JSONDoc: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1310:
+ case 1312:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6585
+//line sql.y:6597
{
yyLOCAL = &JSONKeysExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1311:
+ case 1313:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6589
+//line sql.y:6601
{
yyLOCAL = &JSONOverlapsExpr{JSONDoc1: yyDollar[3].exprUnion(), JSONDoc2: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1312:
+ case 1314:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6593
+//line sql.y:6605
{
yyLOCAL = &JSONSearchExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), SearchStr: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1313:
+ case 1315:
yyDollar = yyS[yypt-10 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6597
+//line sql.y:6609
{
yyLOCAL = &JSONSearchExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), SearchStr: yyDollar[7].exprUnion(), EscapeChar: yyDollar[9].exprsUnion()[0], PathList: yyDollar[9].exprsUnion()[1:]}
}
yyVAL.union = yyLOCAL
- case 1314:
+ case 1316:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6601
+//line sql.y:6613
{
yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion(), ReturningType: yyDollar[6].convertTypeUnion()}
}
yyVAL.union = yyLOCAL
- case 1315:
+ case 1317:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6605
+//line sql.y:6617
{
yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion(), ReturningType: yyDollar[6].convertTypeUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion()}
}
yyVAL.union = yyLOCAL
- case 1316:
+ case 1318:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6609
+//line sql.y:6621
{
yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion(), ReturningType: yyDollar[6].convertTypeUnion(), ErrorOnResponse: yyDollar[7].jtOnResponseUnion()}
}
yyVAL.union = yyLOCAL
- case 1317:
+ case 1319:
yyDollar = yyS[yypt-9 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6613
+//line sql.y:6625
{
yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion(), ReturningType: yyDollar[6].convertTypeUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion(), ErrorOnResponse: yyDollar[8].jtOnResponseUnion()}
}
yyVAL.union = yyLOCAL
- case 1318:
+ case 1320:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6617
+//line sql.y:6629
{
yyLOCAL = &JSONAttributesExpr{Type: DepthAttributeType, JSONDoc: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1319:
+ case 1321:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6621
+//line sql.y:6633
{
yyLOCAL = &JSONAttributesExpr{Type: ValidAttributeType, JSONDoc: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1320:
+ case 1322:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6625
+//line sql.y:6637
{
yyLOCAL = &JSONAttributesExpr{Type: TypeAttributeType, JSONDoc: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1321:
+ case 1323:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6629
+//line sql.y:6641
{
yyLOCAL = &JSONAttributesExpr{Type: LengthAttributeType, JSONDoc: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1322:
+ case 1324:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6633
+//line sql.y:6645
{
yyLOCAL = &JSONAttributesExpr{Type: LengthAttributeType, JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1323:
+ case 1325:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6637
+//line sql.y:6649
{
yyLOCAL = &JSONValueModifierExpr{Type: JSONArrayAppendType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()}
}
yyVAL.union = yyLOCAL
- case 1324:
+ case 1326:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6641
+//line sql.y:6653
{
yyLOCAL = &JSONValueModifierExpr{Type: JSONArrayInsertType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()}
}
yyVAL.union = yyLOCAL
- case 1325:
+ case 1327:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6645
+//line sql.y:6657
{
yyLOCAL = &JSONValueModifierExpr{Type: JSONInsertType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()}
}
yyVAL.union = yyLOCAL
- case 1326:
+ case 1328:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6649
+//line sql.y:6661
{
yyLOCAL = &JSONValueModifierExpr{Type: JSONReplaceType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()}
}
yyVAL.union = yyLOCAL
- case 1327:
+ case 1329:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6653
+//line sql.y:6665
{
yyLOCAL = &JSONValueModifierExpr{Type: JSONSetType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()}
}
yyVAL.union = yyLOCAL
- case 1328:
+ case 1330:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6657
+//line sql.y:6669
{
yyLOCAL = &JSONValueMergeExpr{Type: JSONMergeType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1329:
+ case 1331:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6661
+//line sql.y:6673
{
yyLOCAL = &JSONValueMergeExpr{Type: JSONMergePatchType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1330:
+ case 1332:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6665
+//line sql.y:6677
{
yyLOCAL = &JSONValueMergeExpr{Type: JSONMergePreserveType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1331:
+ case 1333:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6669
+//line sql.y:6681
{
yyLOCAL = &JSONRemoveExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[5].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1332:
+ case 1334:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6673
+//line sql.y:6685
{
yyLOCAL = &JSONUnquoteExpr{JSONValue: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1333:
+ case 1335:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6677
+//line sql.y:6689
{
yyLOCAL = &MultiPolygonExpr{PolygonParams: yyDollar[3].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1334:
+ case 1336:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6681
+//line sql.y:6693
{
yyLOCAL = &MultiPointExpr{PointParams: yyDollar[3].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1335:
+ case 1337:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6685
+//line sql.y:6697
{
yyLOCAL = &MultiLinestringExpr{LinestringParams: yyDollar[3].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1336:
+ case 1338:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6689
+//line sql.y:6701
{
yyLOCAL = &PolygonExpr{LinestringParams: yyDollar[3].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1337:
+ case 1339:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6693
+//line sql.y:6705
{
yyLOCAL = &LineStringExpr{PointParams: yyDollar[3].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1338:
+ case 1340:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6697
+//line sql.y:6709
{
yyLOCAL = &PointExpr{XCordinate: yyDollar[3].exprUnion(), YCordinate: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1339:
+ case 1341:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6701
+//line sql.y:6713
{
yyLOCAL = &ArgumentLessWindowExpr{Type: yyDollar[1].argumentLessWindowExprTypeUnion(), OverClause: yyDollar[4].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1340:
+ case 1342:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6705
+//line sql.y:6717
{
yyLOCAL = &FirstOrLastValueExpr{Type: yyDollar[1].firstOrLastValueExprTypeUnion(), Expr: yyDollar[3].exprUnion(), NullTreatmentClause: yyDollar[5].nullTreatmentClauseUnion(), OverClause: yyDollar[6].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1341:
+ case 1343:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6709
+//line sql.y:6721
{
yyLOCAL = &NtileExpr{N: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1342:
+ case 1344:
yyDollar = yyS[yypt-9 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6713
+//line sql.y:6725
{
yyLOCAL = &NTHValueExpr{Expr: yyDollar[3].exprUnion(), N: yyDollar[5].exprUnion(), FromFirstLastClause: yyDollar[7].fromFirstLastClauseUnion(), NullTreatmentClause: yyDollar[8].nullTreatmentClauseUnion(), OverClause: yyDollar[9].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1343:
+ case 1345:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6717
+//line sql.y:6729
{
yyLOCAL = &LagLeadExpr{Type: yyDollar[1].lagLeadExprTypeUnion(), Expr: yyDollar[3].exprUnion(), NullTreatmentClause: yyDollar[5].nullTreatmentClauseUnion(), OverClause: yyDollar[6].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1344:
+ case 1346:
yyDollar = yyS[yypt-9 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6721
+//line sql.y:6733
{
yyLOCAL = &LagLeadExpr{Type: yyDollar[1].lagLeadExprTypeUnion(), Expr: yyDollar[3].exprUnion(), N: yyDollar[5].exprUnion(), Default: yyDollar[6].exprUnion(), NullTreatmentClause: yyDollar[8].nullTreatmentClauseUnion(), OverClause: yyDollar[9].overClauseUnion()}
}
yyVAL.union = yyLOCAL
- case 1345:
+ case 1347:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6725
+//line sql.y:6737
{
yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprAdddate, Date: yyDollar[3].exprUnion(), Interval: yyDollar[6].exprUnion(), Unit: yyDollar[7].intervalTypeUnion()}
}
yyVAL.union = yyLOCAL
- case 1346:
+ case 1348:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6729
+//line sql.y:6741
{
yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprAdddate, Date: yyDollar[3].exprUnion(), Interval: yyDollar[5].exprUnion(), Unit: IntervalNone}
}
yyVAL.union = yyLOCAL
- case 1347:
+ case 1349:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6733
+//line sql.y:6745
{
yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprDateAdd, Date: yyDollar[3].exprUnion(), Interval: yyDollar[6].exprUnion(), Unit: yyDollar[7].intervalTypeUnion()}
}
yyVAL.union = yyLOCAL
- case 1348:
+ case 1350:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6737
+//line sql.y:6749
{
yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprDateSub, Date: yyDollar[3].exprUnion(), Interval: yyDollar[6].exprUnion(), Unit: yyDollar[7].intervalTypeUnion()}
}
yyVAL.union = yyLOCAL
- case 1349:
+ case 1351:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6741
+//line sql.y:6753
{
yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprSubdate, Date: yyDollar[3].exprUnion(), Interval: yyDollar[6].exprUnion(), Unit: yyDollar[7].intervalTypeUnion()}
}
yyVAL.union = yyLOCAL
- case 1350:
+ case 1352:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6745
+//line sql.y:6757
{
yyLOCAL = &IntervalDateExpr{Syntax: IntervalDateExprSubdate, Date: yyDollar[3].exprUnion(), Interval: yyDollar[5].exprUnion(), Unit: IntervalNone}
}
yyVAL.union = yyLOCAL
- case 1355:
+ case 1357:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6755
+//line sql.y:6767
{
yyLOCAL = yyDollar[1].exprUnion()
}
yyVAL.union = yyLOCAL
- case 1356:
+ case 1358:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6759
+//line sql.y:6771
{
yyLOCAL = NewIntLiteral(yyDollar[1].str)
}
yyVAL.union = yyLOCAL
- case 1357:
+ case 1359:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6763
+//line sql.y:6775
{
yyLOCAL = yyDollar[1].variableUnion()
}
yyVAL.union = yyLOCAL
- case 1358:
+ case 1360:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6767
+//line sql.y:6779
{
yyLOCAL = parseBindVariable(yylex, yyDollar[1].str[1:])
}
yyVAL.union = yyLOCAL
- case 1359:
+ case 1361:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6772
+//line sql.y:6784
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1360:
+ case 1362:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6776
+//line sql.y:6788
{
yyLOCAL = yyDollar[2].exprUnion()
}
yyVAL.union = yyLOCAL
- case 1361:
+ case 1363:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6782
+//line sql.y:6794
{
yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1362:
+ case 1364:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6786
+//line sql.y:6798
{
yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1363:
+ case 1365:
yyDollar = yyS[yypt-10 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6790
+//line sql.y:6802
{
yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1364:
+ case 1366:
yyDollar = yyS[yypt-12 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6794
+//line sql.y:6806
{
yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion(), ReturnOption: yyDollar[11].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1365:
+ case 1367:
yyDollar = yyS[yypt-14 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6798
+//line sql.y:6810
{
// Match type is kept expression as TRIM( ' m ') is accepted
yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion(), ReturnOption: yyDollar[11].exprUnion(), MatchType: yyDollar[13].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1366:
+ case 1368:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6803
+//line sql.y:6815
{
yyLOCAL = &RegexpLikeExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1367:
+ case 1369:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6807
+//line sql.y:6819
{
yyLOCAL = &RegexpLikeExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), MatchType: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1368:
+ case 1370:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6811
+//line sql.y:6823
{
yyLOCAL = &RegexpReplaceExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Repl: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1369:
+ case 1371:
yyDollar = yyS[yypt-10 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6815
+//line sql.y:6827
{
yyLOCAL = &RegexpReplaceExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Repl: yyDollar[7].exprUnion(), Position: yyDollar[9].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1370:
+ case 1372:
yyDollar = yyS[yypt-12 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6819
+//line sql.y:6831
{
yyLOCAL = &RegexpReplaceExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Repl: yyDollar[7].exprUnion(), Position: yyDollar[9].exprUnion(), Occurrence: yyDollar[11].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1371:
+ case 1373:
yyDollar = yyS[yypt-14 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6823
+//line sql.y:6835
{
// Match type is kept expression as TRIM( ' m ') is accepted
yyLOCAL = &RegexpReplaceExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Repl: yyDollar[7].exprUnion(), Position: yyDollar[9].exprUnion(), Occurrence: yyDollar[11].exprUnion(), MatchType: yyDollar[13].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1372:
+ case 1374:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6828
+//line sql.y:6840
{
yyLOCAL = &RegexpSubstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1373:
+ case 1375:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6832
+//line sql.y:6844
{
yyLOCAL = &RegexpSubstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1374:
+ case 1376:
yyDollar = yyS[yypt-10 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6836
+//line sql.y:6848
{
yyLOCAL = &RegexpSubstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1375:
+ case 1377:
yyDollar = yyS[yypt-12 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6840
+//line sql.y:6852
{
// Match type is kept expression as TRIM( ' m ') is accepted
yyLOCAL = &RegexpSubstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion(), MatchType: yyDollar[11].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1376:
+ case 1378:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6847
+//line sql.y:6859
{
yyLOCAL = &ExtractValueExpr{Fragment: yyDollar[3].exprUnion(), XPathExpr: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1377:
+ case 1379:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6851
+//line sql.y:6863
{
yyLOCAL = &UpdateXMLExpr{Target: yyDollar[3].exprUnion(), XPathExpr: yyDollar[5].exprUnion(), NewXML: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1378:
+ case 1380:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6857
+//line sql.y:6869
{
yyLOCAL = &PerformanceSchemaFuncExpr{Type: FormatBytesType, Argument: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1379:
+ case 1381:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6861
+//line sql.y:6873
{
yyLOCAL = &PerformanceSchemaFuncExpr{Type: FormatPicoTimeType, Argument: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1380:
+ case 1382:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6865
+//line sql.y:6877
{
yyLOCAL = &PerformanceSchemaFuncExpr{Type: PsCurrentThreadIDType}
}
yyVAL.union = yyLOCAL
- case 1381:
+ case 1383:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6869
+//line sql.y:6881
{
yyLOCAL = &PerformanceSchemaFuncExpr{Type: PsThreadIDType, Argument: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1382:
+ case 1384:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6875
+//line sql.y:6887
{
yyLOCAL = >IDFuncExpr{Type: GTIDSubsetType, Set1: yyDollar[3].exprUnion(), Set2: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1383:
+ case 1385:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6879
+//line sql.y:6891
{
yyLOCAL = >IDFuncExpr{Type: GTIDSubtractType, Set1: yyDollar[3].exprUnion(), Set2: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1384:
+ case 1386:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6883
+//line sql.y:6895
{
yyLOCAL = >IDFuncExpr{Type: WaitForExecutedGTIDSetType, Set1: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1385:
+ case 1387:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6887
+//line sql.y:6899
{
yyLOCAL = >IDFuncExpr{Type: WaitForExecutedGTIDSetType, Set1: yyDollar[3].exprUnion(), Timeout: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1386:
+ case 1388:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6891
+//line sql.y:6903
{
yyLOCAL = >IDFuncExpr{Type: WaitUntilSQLThreadAfterGTIDSType, Set1: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1387:
+ case 1389:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6895
+//line sql.y:6907
{
yyLOCAL = >IDFuncExpr{Type: WaitUntilSQLThreadAfterGTIDSType, Set1: yyDollar[3].exprUnion(), Timeout: yyDollar[5].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1388:
+ case 1390:
yyDollar = yyS[yypt-8 : yypt+1]
var yyLOCAL Expr
-//line sql.y:6899
+//line sql.y:6911
{
yyLOCAL = >IDFuncExpr{Type: WaitUntilSQLThreadAfterGTIDSType, Set1: yyDollar[3].exprUnion(), Timeout: yyDollar[5].exprUnion(), Channel: yyDollar[7].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1389:
+ case 1391:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:6904
+//line sql.y:6916
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1390:
+ case 1392:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:6908
+//line sql.y:6920
{
yyLOCAL = yyDollar[2].convertTypeUnion()
}
yyVAL.union = yyLOCAL
- case 1391:
+ case 1393:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:6914
+//line sql.y:6926
{
yyLOCAL = IntervalDayHour
}
yyVAL.union = yyLOCAL
- case 1392:
+ case 1394:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:6918
+//line sql.y:6930
{
yyLOCAL = IntervalDayMicrosecond
}
yyVAL.union = yyLOCAL
- case 1393:
+ case 1395:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:6922
+//line sql.y:6934
{
yyLOCAL = IntervalDayMinute
}
yyVAL.union = yyLOCAL
- case 1394:
+ case 1396:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:6926
+//line sql.y:6938
{
yyLOCAL = IntervalDaySecond
}
yyVAL.union = yyLOCAL
- case 1395:
+ case 1397:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:6930
+//line sql.y:6942
{
yyLOCAL = IntervalHourMicrosecond
}
yyVAL.union = yyLOCAL
- case 1396:
+ case 1398:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:6934
+//line sql.y:6946
{
yyLOCAL = IntervalHourMinute
}
yyVAL.union = yyLOCAL
- case 1397:
+ case 1399:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:6938
+//line sql.y:6950
{
yyLOCAL = IntervalHourSecond
}
yyVAL.union = yyLOCAL
- case 1398:
+ case 1400:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:6942
+//line sql.y:6954
{
yyLOCAL = IntervalMinuteMicrosecond
}
yyVAL.union = yyLOCAL
- case 1399:
+ case 1401:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:6946
+//line sql.y:6958
{
yyLOCAL = IntervalMinuteSecond
}
yyVAL.union = yyLOCAL
- case 1400:
+ case 1402:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:6950
+//line sql.y:6962
{
yyLOCAL = IntervalSecondMicrosecond
}
yyVAL.union = yyLOCAL
- case 1401:
+ case 1403:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:6954
+//line sql.y:6966
{
yyLOCAL = IntervalYearMonth
}
yyVAL.union = yyLOCAL
- case 1402:
+ case 1404:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:6958
+//line sql.y:6970
{
yyLOCAL = IntervalDay
}
yyVAL.union = yyLOCAL
- case 1403:
+ case 1405:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:6962
+//line sql.y:6974
{
yyLOCAL = IntervalWeek
}
yyVAL.union = yyLOCAL
- case 1404:
+ case 1406:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:6966
+//line sql.y:6978
{
yyLOCAL = IntervalHour
}
yyVAL.union = yyLOCAL
- case 1405:
+ case 1407:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:6970
+//line sql.y:6982
{
yyLOCAL = IntervalMinute
}
yyVAL.union = yyLOCAL
- case 1406:
+ case 1408:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:6974
+//line sql.y:6986
{
yyLOCAL = IntervalMonth
}
yyVAL.union = yyLOCAL
- case 1407:
+ case 1409:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:6978
+//line sql.y:6990
{
yyLOCAL = IntervalQuarter
}
yyVAL.union = yyLOCAL
- case 1408:
+ case 1410:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:6982
+//line sql.y:6994
{
yyLOCAL = IntervalSecond
}
yyVAL.union = yyLOCAL
- case 1409:
+ case 1411:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:6986
+//line sql.y:6998
{
yyLOCAL = IntervalMicrosecond
}
yyVAL.union = yyLOCAL
- case 1410:
+ case 1412:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:6990
+//line sql.y:7002
{
yyLOCAL = IntervalYear
}
yyVAL.union = yyLOCAL
- case 1411:
+ case 1413:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:6996
+//line sql.y:7008
{
yyLOCAL = IntervalDay
}
yyVAL.union = yyLOCAL
- case 1412:
+ case 1414:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:7000
+//line sql.y:7012
{
yyLOCAL = IntervalWeek
}
yyVAL.union = yyLOCAL
- case 1413:
+ case 1415:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:7004
+//line sql.y:7016
{
yyLOCAL = IntervalHour
}
yyVAL.union = yyLOCAL
- case 1414:
+ case 1416:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:7008
+//line sql.y:7020
{
yyLOCAL = IntervalMinute
}
yyVAL.union = yyLOCAL
- case 1415:
+ case 1417:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:7012
+//line sql.y:7024
{
yyLOCAL = IntervalMonth
}
yyVAL.union = yyLOCAL
- case 1416:
+ case 1418:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:7016
+//line sql.y:7028
{
yyLOCAL = IntervalQuarter
}
yyVAL.union = yyLOCAL
- case 1417:
+ case 1419:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:7020
+//line sql.y:7032
{
yyLOCAL = IntervalSecond
}
yyVAL.union = yyLOCAL
- case 1418:
+ case 1420:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:7024
+//line sql.y:7036
{
yyLOCAL = IntervalMicrosecond
}
yyVAL.union = yyLOCAL
- case 1419:
+ case 1421:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:7028
+//line sql.y:7040
{
yyLOCAL = IntervalYear
}
yyVAL.union = yyLOCAL
- case 1420:
+ case 1422:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:7032
+//line sql.y:7044
{
yyLOCAL = IntervalDay
}
yyVAL.union = yyLOCAL
- case 1421:
+ case 1423:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:7036
+//line sql.y:7048
{
yyLOCAL = IntervalWeek
}
yyVAL.union = yyLOCAL
- case 1422:
+ case 1424:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:7040
+//line sql.y:7052
{
yyLOCAL = IntervalHour
}
yyVAL.union = yyLOCAL
- case 1423:
+ case 1425:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:7044
+//line sql.y:7056
{
yyLOCAL = IntervalMinute
}
yyVAL.union = yyLOCAL
- case 1424:
+ case 1426:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:7048
+//line sql.y:7060
{
yyLOCAL = IntervalMonth
}
yyVAL.union = yyLOCAL
- case 1425:
+ case 1427:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:7052
+//line sql.y:7064
{
yyLOCAL = IntervalQuarter
}
yyVAL.union = yyLOCAL
- case 1426:
+ case 1428:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:7056
+//line sql.y:7068
{
yyLOCAL = IntervalSecond
}
yyVAL.union = yyLOCAL
- case 1427:
+ case 1429:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:7060
+//line sql.y:7072
{
yyLOCAL = IntervalMicrosecond
}
yyVAL.union = yyLOCAL
- case 1428:
+ case 1430:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL IntervalType
-//line sql.y:7064
+//line sql.y:7076
{
yyLOCAL = IntervalYear
}
yyVAL.union = yyLOCAL
- case 1431:
+ case 1433:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL int
-//line sql.y:7074
+//line sql.y:7086
{
yyLOCAL = 0
}
yyVAL.union = yyLOCAL
- case 1432:
+ case 1434:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL int
-//line sql.y:7078
+//line sql.y:7090
{
yyLOCAL = 0
}
yyVAL.union = yyLOCAL
- case 1433:
+ case 1435:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL int
-//line sql.y:7082
+//line sql.y:7094
{
yyLOCAL = convertStringToInt(yyDollar[2].str)
}
yyVAL.union = yyLOCAL
- case 1434:
+ case 1436:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7092
+//line sql.y:7104
{
yyLOCAL = &FuncExpr{Name: NewIdentifierCI("if"), Exprs: yyDollar[3].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1435:
+ case 1437:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7096
+//line sql.y:7108
{
yyLOCAL = &FuncExpr{Name: NewIdentifierCI("database"), Exprs: yyDollar[3].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1436:
+ case 1438:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7100
+//line sql.y:7112
{
yyLOCAL = &FuncExpr{Name: NewIdentifierCI("schema"), Exprs: yyDollar[3].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1437:
+ case 1439:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7104
+//line sql.y:7116
{
yyLOCAL = &FuncExpr{Name: NewIdentifierCI("mod"), Exprs: yyDollar[3].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1438:
+ case 1440:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7108
+//line sql.y:7120
{
yyLOCAL = &FuncExpr{Name: NewIdentifierCI("replace"), Exprs: yyDollar[3].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1439:
+ case 1441:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL MatchExprOption
-//line sql.y:7114
+//line sql.y:7126
{
yyLOCAL = NoOption
}
yyVAL.union = yyLOCAL
- case 1440:
+ case 1442:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL MatchExprOption
-//line sql.y:7118
+//line sql.y:7130
{
yyLOCAL = BooleanModeOpt
}
yyVAL.union = yyLOCAL
- case 1441:
+ case 1443:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL MatchExprOption
-//line sql.y:7122
+//line sql.y:7134
{
yyLOCAL = NaturalLanguageModeOpt
}
yyVAL.union = yyLOCAL
- case 1442:
+ case 1444:
yyDollar = yyS[yypt-7 : yypt+1]
var yyLOCAL MatchExprOption
-//line sql.y:7126
+//line sql.y:7138
{
yyLOCAL = NaturalLanguageModeWithQueryExpansionOpt
}
yyVAL.union = yyLOCAL
- case 1443:
+ case 1445:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL MatchExprOption
-//line sql.y:7130
+//line sql.y:7142
{
yyLOCAL = QueryExpansionOpt
}
yyVAL.union = yyLOCAL
- case 1444:
+ case 1446:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7136
+//line sql.y:7148
{
yyVAL.str = string(yyDollar[1].identifierCI.String())
}
- case 1445:
+ case 1447:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7140
+//line sql.y:7152
{
yyVAL.str = string(yyDollar[1].str)
}
- case 1446:
+ case 1448:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7144
+//line sql.y:7156
{
yyVAL.str = string(yyDollar[1].str)
}
- case 1447:
+ case 1449:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7150
+//line sql.y:7162
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1448:
+ case 1450:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7154
+//line sql.y:7166
{
yyLOCAL = &ConvertType{Type: string(yyDollar[2].str), Length: ptr.Of(convertStringToInt(yyDollar[4].str))}
}
yyVAL.union = yyLOCAL
- case 1449:
+ case 1451:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7158
+//line sql.y:7170
{
yyLOCAL = &ConvertType{Type: string(yyDollar[2].str), Length: ptr.Of(convertStringToInt(yyDollar[4].str))}
}
yyVAL.union = yyLOCAL
- case 1450:
+ case 1452:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7164
+//line sql.y:7176
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion()}
}
yyVAL.union = yyLOCAL
- case 1451:
+ case 1453:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7168
+//line sql.y:7180
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion(), Charset: yyDollar[3].columnCharset}
}
yyVAL.union = yyLOCAL
- case 1452:
+ case 1454:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7172
+//line sql.y:7184
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
}
yyVAL.union = yyLOCAL
- case 1453:
+ case 1455:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7176
+//line sql.y:7188
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion()}
}
yyVAL.union = yyLOCAL
- case 1454:
+ case 1456:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7180
+//line sql.y:7192
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
yyLOCAL.Length = yyDollar[2].LengthScaleOption.Length
yyLOCAL.Scale = yyDollar[2].LengthScaleOption.Scale
}
yyVAL.union = yyLOCAL
- case 1455:
+ case 1457:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7186
+//line sql.y:7198
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
}
yyVAL.union = yyLOCAL
- case 1456:
+ case 1458:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7190
+//line sql.y:7202
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion()}
}
yyVAL.union = yyLOCAL
- case 1457:
+ case 1459:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7194
+//line sql.y:7206
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
}
yyVAL.union = yyLOCAL
- case 1458:
+ case 1460:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7198
+//line sql.y:7210
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
}
yyVAL.union = yyLOCAL
- case 1459:
+ case 1461:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7202
+//line sql.y:7214
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion()}
}
yyVAL.union = yyLOCAL
- case 1460:
+ case 1462:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7206
+//line sql.y:7218
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
}
yyVAL.union = yyLOCAL
- case 1461:
+ case 1463:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7210
+//line sql.y:7222
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
}
yyVAL.union = yyLOCAL
- case 1462:
+ case 1464:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7214
+//line sql.y:7226
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].intPtrUnion()}
}
yyVAL.union = yyLOCAL
- case 1463:
+ case 1465:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7218
+//line sql.y:7230
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
}
yyVAL.union = yyLOCAL
- case 1464:
+ case 1466:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *ConvertType
-//line sql.y:7222
+//line sql.y:7234
{
yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)}
}
yyVAL.union = yyLOCAL
- case 1465:
+ case 1467:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:7228
+//line sql.y:7240
{
yyLOCAL = false
}
yyVAL.union = yyLOCAL
- case 1466:
+ case 1468:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:7232
+//line sql.y:7244
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
- case 1467:
+ case 1469:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7237
+//line sql.y:7249
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1468:
+ case 1470:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7241
+//line sql.y:7253
{
yyLOCAL = yyDollar[1].exprUnion()
}
yyVAL.union = yyLOCAL
- case 1469:
+ case 1471:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7246
+//line sql.y:7258
{
yyVAL.str = string("")
}
- case 1470:
+ case 1472:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7250
+//line sql.y:7262
{
yyVAL.str = encodeSQLString(yyDollar[2].str)
}
- case 1471:
+ case 1473:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []*When
-//line sql.y:7256
+//line sql.y:7268
{
yyLOCAL = []*When{yyDollar[1].whenUnion()}
}
yyVAL.union = yyLOCAL
- case 1472:
+ case 1474:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7260
+//line sql.y:7272
{
yySLICE := (*[]*When)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[2].whenUnion())
}
- case 1473:
+ case 1475:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *When
-//line sql.y:7266
+//line sql.y:7278
{
yyLOCAL = &When{Cond: yyDollar[2].exprUnion(), Val: yyDollar[4].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1474:
+ case 1476:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7271
+//line sql.y:7283
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1475:
+ case 1477:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7275
+//line sql.y:7287
{
yyLOCAL = yyDollar[2].exprUnion()
}
yyVAL.union = yyLOCAL
- case 1476:
+ case 1478:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *ColName
-//line sql.y:7281
+//line sql.y:7293
{
yyLOCAL = &ColName{Name: yyDollar[1].identifierCI}
}
yyVAL.union = yyLOCAL
- case 1477:
+ case 1479:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *ColName
-//line sql.y:7285
+//line sql.y:7297
{
yyLOCAL = &ColName{Name: NewIdentifierCI(string(yyDollar[1].str))}
}
yyVAL.union = yyLOCAL
- case 1478:
+ case 1480:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *ColName
-//line sql.y:7289
+//line sql.y:7301
{
yyLOCAL = &ColName{Qualifier: TableName{Name: yyDollar[1].identifierCS}, Name: yyDollar[3].identifierCI}
}
yyVAL.union = yyLOCAL
- case 1479:
+ case 1481:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *ColName
-//line sql.y:7293
+//line sql.y:7305
{
yyLOCAL = &ColName{Qualifier: TableName{Qualifier: yyDollar[1].identifierCS, Name: yyDollar[3].identifierCS}, Name: yyDollar[5].identifierCI}
}
yyVAL.union = yyLOCAL
- case 1480:
+ case 1482:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7299
+//line sql.y:7311
{
yyLOCAL = yyDollar[1].colNameUnion()
}
yyVAL.union = yyLOCAL
- case 1481:
+ case 1483:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7303
+//line sql.y:7315
{
yyLOCAL = &Offset{V: convertStringToInt(yyDollar[1].str)}
}
yyVAL.union = yyLOCAL
- case 1482:
+ case 1484:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7309
+//line sql.y:7321
{
// TODO(sougou): Deprecate this construct.
if yyDollar[1].identifierCI.Lowered() != "value" {
@@ -21321,442 +21354,442 @@ yydefault:
yyLOCAL = NewIntLiteral("1")
}
yyVAL.union = yyLOCAL
- case 1483:
+ case 1485:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7318
+//line sql.y:7330
{
yyLOCAL = NewIntLiteral(yyDollar[1].str)
}
yyVAL.union = yyLOCAL
- case 1484:
+ case 1486:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7322
+//line sql.y:7334
{
yyLOCAL = parseBindVariable(yylex, yyDollar[1].str[1:])
}
yyVAL.union = yyLOCAL
- case 1485:
+ case 1487:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *GroupBy
-//line sql.y:7327
+//line sql.y:7339
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1486:
+ case 1488:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *GroupBy
-//line sql.y:7331
+//line sql.y:7343
{
yyLOCAL = &GroupBy{Exprs: yyDollar[3].exprsUnion(), WithRollup: yyDollar[4].booleanUnion()}
}
yyVAL.union = yyLOCAL
- case 1487:
+ case 1489:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:7336
+//line sql.y:7348
{
yyLOCAL = false
}
yyVAL.union = yyLOCAL
- case 1488:
+ case 1490:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL bool
-//line sql.y:7340
+//line sql.y:7352
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
- case 1489:
+ case 1491:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7346
+//line sql.y:7358
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1490:
+ case 1492:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7350
+//line sql.y:7362
{
yyLOCAL = yyDollar[2].exprUnion()
}
yyVAL.union = yyLOCAL
- case 1491:
+ case 1493:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *NamedWindow
-//line sql.y:7356
+//line sql.y:7368
{
yyLOCAL = &NamedWindow{yyDollar[2].windowDefinitionsUnion()}
}
yyVAL.union = yyLOCAL
- case 1492:
+ case 1494:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL NamedWindows
-//line sql.y:7362
+//line sql.y:7374
{
yyLOCAL = NamedWindows{yyDollar[1].namedWindowUnion()}
}
yyVAL.union = yyLOCAL
- case 1493:
+ case 1495:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7366
+//line sql.y:7378
{
yySLICE := (*NamedWindows)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].namedWindowUnion())
}
- case 1494:
+ case 1496:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL NamedWindows
-//line sql.y:7371
+//line sql.y:7383
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1495:
+ case 1497:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL NamedWindows
-//line sql.y:7375
+//line sql.y:7387
{
yyLOCAL = yyDollar[1].namedWindowsUnion()
}
yyVAL.union = yyLOCAL
- case 1496:
+ case 1498:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL OrderBy
-//line sql.y:7380
+//line sql.y:7392
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1497:
+ case 1499:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL OrderBy
-//line sql.y:7384
+//line sql.y:7396
{
yyLOCAL = yyDollar[1].orderByUnion()
}
yyVAL.union = yyLOCAL
- case 1498:
+ case 1500:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL OrderBy
-//line sql.y:7390
+//line sql.y:7402
{
yyLOCAL = yyDollar[3].orderByUnion()
}
yyVAL.union = yyLOCAL
- case 1499:
+ case 1501:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL OrderBy
-//line sql.y:7396
+//line sql.y:7408
{
yyLOCAL = OrderBy{yyDollar[1].orderUnion()}
}
yyVAL.union = yyLOCAL
- case 1500:
+ case 1502:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7400
+//line sql.y:7412
{
yySLICE := (*OrderBy)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].orderUnion())
}
- case 1501:
+ case 1503:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *Order
-//line sql.y:7406
+//line sql.y:7418
{
yyLOCAL = &Order{Expr: yyDollar[1].exprUnion(), Direction: yyDollar[2].orderDirectionUnion()}
}
yyVAL.union = yyLOCAL
- case 1502:
+ case 1504:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL OrderDirection
-//line sql.y:7411
+//line sql.y:7423
{
yyLOCAL = AscOrder
}
yyVAL.union = yyLOCAL
- case 1503:
+ case 1505:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL OrderDirection
-//line sql.y:7415
+//line sql.y:7427
{
yyLOCAL = AscOrder
}
yyVAL.union = yyLOCAL
- case 1504:
+ case 1506:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL OrderDirection
-//line sql.y:7419
+//line sql.y:7431
{
yyLOCAL = DescOrder
}
yyVAL.union = yyLOCAL
- case 1505:
+ case 1507:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *Limit
-//line sql.y:7424
+//line sql.y:7436
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1506:
+ case 1508:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *Limit
-//line sql.y:7428
+//line sql.y:7440
{
yyLOCAL = yyDollar[1].limitUnion()
}
yyVAL.union = yyLOCAL
- case 1507:
+ case 1509:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *Limit
-//line sql.y:7434
+//line sql.y:7446
{
yyLOCAL = &Limit{Rowcount: yyDollar[2].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1508:
+ case 1510:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *Limit
-//line sql.y:7438
+//line sql.y:7450
{
yyLOCAL = &Limit{Offset: yyDollar[2].exprUnion(), Rowcount: yyDollar[4].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1509:
+ case 1511:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *Limit
-//line sql.y:7442
+//line sql.y:7454
{
yyLOCAL = &Limit{Offset: yyDollar[4].exprUnion(), Rowcount: yyDollar[2].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1510:
+ case 1512:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL []AlterOption
-//line sql.y:7447
+//line sql.y:7459
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1511:
+ case 1513:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL []AlterOption
-//line sql.y:7451
+//line sql.y:7463
{
yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion(), yyDollar[2].alterOptionUnion()}
}
yyVAL.union = yyLOCAL
- case 1512:
+ case 1514:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL []AlterOption
-//line sql.y:7455
+//line sql.y:7467
{
yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion(), yyDollar[2].alterOptionUnion()}
}
yyVAL.union = yyLOCAL
- case 1513:
+ case 1515:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []AlterOption
-//line sql.y:7459
+//line sql.y:7471
{
yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()}
}
yyVAL.union = yyLOCAL
- case 1514:
+ case 1516:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []AlterOption
-//line sql.y:7463
+//line sql.y:7475
{
yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()}
}
yyVAL.union = yyLOCAL
- case 1515:
+ case 1517:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:7470
+//line sql.y:7482
{
yyLOCAL = &LockOption{Type: DefaultType}
}
yyVAL.union = yyLOCAL
- case 1516:
+ case 1518:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:7474
+//line sql.y:7486
{
yyLOCAL = &LockOption{Type: NoneType}
}
yyVAL.union = yyLOCAL
- case 1517:
+ case 1519:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:7478
+//line sql.y:7490
{
yyLOCAL = &LockOption{Type: SharedType}
}
yyVAL.union = yyLOCAL
- case 1518:
+ case 1520:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:7482
+//line sql.y:7494
{
yyLOCAL = &LockOption{Type: ExclusiveType}
}
yyVAL.union = yyLOCAL
- case 1519:
+ case 1521:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:7488
+//line sql.y:7500
{
yyLOCAL = AlgorithmValue(yyDollar[3].str)
}
yyVAL.union = yyLOCAL
- case 1520:
+ case 1522:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:7492
+//line sql.y:7504
{
yyLOCAL = AlgorithmValue(yyDollar[3].str)
}
yyVAL.union = yyLOCAL
- case 1521:
+ case 1523:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:7496
+//line sql.y:7508
{
yyLOCAL = AlgorithmValue(yyDollar[3].str)
}
yyVAL.union = yyLOCAL
- case 1522:
+ case 1524:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL AlterOption
-//line sql.y:7500
+//line sql.y:7512
{
yyLOCAL = AlgorithmValue(yyDollar[3].str)
}
yyVAL.union = yyLOCAL
- case 1523:
+ case 1525:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7505
+//line sql.y:7517
{
yyVAL.str = ""
}
- case 1524:
+ case 1526:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7509
+//line sql.y:7521
{
yyVAL.str = string(yyDollar[3].str)
}
- case 1525:
+ case 1527:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7513
+//line sql.y:7525
{
yyVAL.str = string(yyDollar[3].str)
}
- case 1526:
+ case 1528:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7517
+//line sql.y:7529
{
yyVAL.str = string(yyDollar[3].str)
}
- case 1527:
+ case 1529:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7522
+//line sql.y:7534
{
yyVAL.str = ""
}
- case 1528:
+ case 1530:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7526
+//line sql.y:7538
{
yyVAL.str = yyDollar[3].str
}
- case 1529:
+ case 1531:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7532
+//line sql.y:7544
{
yyVAL.str = string(yyDollar[1].str)
}
- case 1530:
+ case 1532:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7536
+//line sql.y:7548
{
yyVAL.str = string(yyDollar[1].str)
}
- case 1531:
+ case 1533:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7541
+//line sql.y:7553
{
yyVAL.str = ""
}
- case 1532:
+ case 1534:
yyDollar = yyS[yypt-4 : yypt+1]
-//line sql.y:7545
+//line sql.y:7557
{
yyVAL.str = yyDollar[2].str
}
- case 1533:
+ case 1535:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7550
+//line sql.y:7562
{
yyVAL.str = "cascaded"
}
- case 1534:
+ case 1536:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7554
+//line sql.y:7566
{
yyVAL.str = string(yyDollar[1].str)
}
- case 1535:
+ case 1537:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7558
+//line sql.y:7570
{
yyVAL.str = string(yyDollar[1].str)
}
- case 1536:
+ case 1538:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *Definer
-//line sql.y:7563
+//line sql.y:7575
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1537:
+ case 1539:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *Definer
-//line sql.y:7567
+//line sql.y:7579
{
yyLOCAL = yyDollar[3].definerUnion()
}
yyVAL.union = yyLOCAL
- case 1538:
+ case 1540:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *Definer
-//line sql.y:7573
+//line sql.y:7585
{
yyLOCAL = &Definer{
Name: string(yyDollar[1].str),
}
}
yyVAL.union = yyLOCAL
- case 1539:
+ case 1541:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *Definer
-//line sql.y:7579
+//line sql.y:7591
{
yyLOCAL = &Definer{
Name: string(yyDollar[1].str),
}
}
yyVAL.union = yyLOCAL
- case 1540:
+ case 1542:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *Definer
-//line sql.y:7585
+//line sql.y:7597
{
yyLOCAL = &Definer{
Name: yyDollar[1].str,
@@ -21764,433 +21797,433 @@ yydefault:
}
}
yyVAL.union = yyLOCAL
- case 1541:
+ case 1543:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7594
+//line sql.y:7606
{
yyVAL.str = encodeSQLString(yyDollar[1].str)
}
- case 1542:
+ case 1544:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7598
+//line sql.y:7610
{
yyVAL.str = formatIdentifier(yyDollar[1].str)
}
- case 1543:
+ case 1545:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7603
+//line sql.y:7615
{
yyVAL.str = ""
}
- case 1544:
+ case 1546:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7607
+//line sql.y:7619
{
yyVAL.str = formatAddress(yyDollar[1].str)
}
- case 1545:
+ case 1547:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Lock
-//line sql.y:7613
+//line sql.y:7625
{
yyLOCAL = ForUpdateLock
}
yyVAL.union = yyLOCAL
- case 1546:
+ case 1548:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Lock
-//line sql.y:7617
+//line sql.y:7629
{
yyLOCAL = ForUpdateLockNoWait
}
yyVAL.union = yyLOCAL
- case 1547:
+ case 1549:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Lock
-//line sql.y:7621
+//line sql.y:7633
{
yyLOCAL = ForUpdateLockSkipLocked
}
yyVAL.union = yyLOCAL
- case 1548:
+ case 1550:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL Lock
-//line sql.y:7625
+//line sql.y:7637
{
yyLOCAL = ForShareLock
}
yyVAL.union = yyLOCAL
- case 1549:
+ case 1551:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Lock
-//line sql.y:7629
+//line sql.y:7641
{
yyLOCAL = ForShareLockNoWait
}
yyVAL.union = yyLOCAL
- case 1550:
+ case 1552:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Lock
-//line sql.y:7633
+//line sql.y:7645
{
yyLOCAL = ForShareLockSkipLocked
}
yyVAL.union = yyLOCAL
- case 1551:
+ case 1553:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL Lock
-//line sql.y:7637
+//line sql.y:7649
{
yyLOCAL = ShareModeLock
}
yyVAL.union = yyLOCAL
- case 1552:
+ case 1554:
yyDollar = yyS[yypt-9 : yypt+1]
var yyLOCAL *SelectInto
-//line sql.y:7643
+//line sql.y:7655
{
yyLOCAL = &SelectInto{Type: IntoOutfileS3, FileName: encodeSQLString(yyDollar[4].str), Charset: yyDollar[5].columnCharset, FormatOption: yyDollar[6].str, ExportOption: yyDollar[7].str, Manifest: yyDollar[8].str, Overwrite: yyDollar[9].str}
}
yyVAL.union = yyLOCAL
- case 1553:
+ case 1555:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *SelectInto
-//line sql.y:7647
+//line sql.y:7659
{
yyLOCAL = &SelectInto{Type: IntoDumpfile, FileName: encodeSQLString(yyDollar[3].str), Charset: ColumnCharset{}, FormatOption: "", ExportOption: "", Manifest: "", Overwrite: ""}
}
yyVAL.union = yyLOCAL
- case 1554:
+ case 1556:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *SelectInto
-//line sql.y:7651
+//line sql.y:7663
{
yyLOCAL = &SelectInto{Type: IntoOutfile, FileName: encodeSQLString(yyDollar[3].str), Charset: yyDollar[4].columnCharset, FormatOption: "", ExportOption: yyDollar[5].str, Manifest: "", Overwrite: ""}
}
yyVAL.union = yyLOCAL
- case 1555:
+ case 1557:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7656
+//line sql.y:7668
{
yyVAL.str = ""
}
- case 1556:
+ case 1558:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7660
+//line sql.y:7672
{
yyVAL.str = " format csv" + yyDollar[3].str
}
- case 1557:
+ case 1559:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7664
+//line sql.y:7676
{
yyVAL.str = " format text" + yyDollar[3].str
}
- case 1558:
+ case 1560:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7669
+//line sql.y:7681
{
yyVAL.str = ""
}
- case 1559:
+ case 1561:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7673
+//line sql.y:7685
{
yyVAL.str = " header"
}
- case 1560:
+ case 1562:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7678
+//line sql.y:7690
{
yyVAL.str = ""
}
- case 1561:
+ case 1563:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7682
+//line sql.y:7694
{
yyVAL.str = " manifest on"
}
- case 1562:
+ case 1564:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7686
+//line sql.y:7698
{
yyVAL.str = " manifest off"
}
- case 1563:
+ case 1565:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7691
+//line sql.y:7703
{
yyVAL.str = ""
}
- case 1564:
+ case 1566:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7695
+//line sql.y:7707
{
yyVAL.str = " overwrite on"
}
- case 1565:
+ case 1567:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7699
+//line sql.y:7711
{
yyVAL.str = " overwrite off"
}
- case 1566:
+ case 1568:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7705
+//line sql.y:7717
{
yyVAL.str = yyDollar[1].str + yyDollar[2].str
}
- case 1567:
+ case 1569:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7710
+//line sql.y:7722
{
yyVAL.str = ""
}
- case 1568:
+ case 1570:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7714
+//line sql.y:7726
{
yyVAL.str = " lines" + yyDollar[2].str
}
- case 1569:
+ case 1571:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7720
+//line sql.y:7732
{
yyVAL.str = yyDollar[1].str
}
- case 1570:
+ case 1572:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7724
+//line sql.y:7736
{
yyVAL.str = yyDollar[1].str + yyDollar[2].str
}
- case 1571:
+ case 1573:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7730
+//line sql.y:7742
{
yyVAL.str = " starting by " + encodeSQLString(yyDollar[3].str)
}
- case 1572:
+ case 1574:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7734
+//line sql.y:7746
{
yyVAL.str = " terminated by " + encodeSQLString(yyDollar[3].str)
}
- case 1573:
+ case 1575:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7739
+//line sql.y:7751
{
yyVAL.str = ""
}
- case 1574:
+ case 1576:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7743
+//line sql.y:7755
{
yyVAL.str = " " + yyDollar[1].str + yyDollar[2].str
}
- case 1575:
+ case 1577:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7749
+//line sql.y:7761
{
yyVAL.str = yyDollar[1].str
}
- case 1576:
+ case 1578:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7753
+//line sql.y:7765
{
yyVAL.str = yyDollar[1].str + yyDollar[2].str
}
- case 1577:
+ case 1579:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7759
+//line sql.y:7771
{
yyVAL.str = " terminated by " + encodeSQLString(yyDollar[3].str)
}
- case 1578:
+ case 1580:
yyDollar = yyS[yypt-4 : yypt+1]
-//line sql.y:7763
+//line sql.y:7775
{
yyVAL.str = yyDollar[1].str + " enclosed by " + encodeSQLString(yyDollar[4].str)
}
- case 1579:
+ case 1581:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7767
+//line sql.y:7779
{
yyVAL.str = " escaped by " + encodeSQLString(yyDollar[3].str)
}
- case 1580:
+ case 1582:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7772
+//line sql.y:7784
{
yyVAL.str = ""
}
- case 1581:
+ case 1583:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7776
+//line sql.y:7788
{
yyVAL.str = " optionally"
}
- case 1582:
+ case 1584:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *Insert
-//line sql.y:7789
+//line sql.y:7801
{
yyLOCAL = &Insert{Rows: yyDollar[2].valuesUnion(), RowAlias: yyDollar[3].rowAliasUnion()}
}
yyVAL.union = yyLOCAL
- case 1583:
+ case 1585:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL *Insert
-//line sql.y:7793
+//line sql.y:7805
{
yyLOCAL = &Insert{Rows: yyDollar[1].selStmtUnion()}
}
yyVAL.union = yyLOCAL
- case 1584:
+ case 1586:
yyDollar = yyS[yypt-6 : yypt+1]
var yyLOCAL *Insert
-//line sql.y:7797
+//line sql.y:7809
{
yyLOCAL = &Insert{Columns: yyDollar[2].columnsUnion(), Rows: yyDollar[5].valuesUnion(), RowAlias: yyDollar[6].rowAliasUnion()}
}
yyVAL.union = yyLOCAL
- case 1585:
+ case 1587:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *Insert
-//line sql.y:7801
+//line sql.y:7813
{
yyLOCAL = &Insert{Columns: []IdentifierCI{}, Rows: yyDollar[4].valuesUnion(), RowAlias: yyDollar[5].rowAliasUnion()}
}
yyVAL.union = yyLOCAL
- case 1586:
+ case 1588:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL *Insert
-//line sql.y:7805
+//line sql.y:7817
{
yyLOCAL = &Insert{Columns: yyDollar[2].columnsUnion(), Rows: yyDollar[4].selStmtUnion()}
}
yyVAL.union = yyLOCAL
- case 1587:
+ case 1589:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Columns
-//line sql.y:7811
+//line sql.y:7823
{
yyLOCAL = Columns{yyDollar[1].identifierCI}
}
yyVAL.union = yyLOCAL
- case 1588:
+ case 1590:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Columns
-//line sql.y:7815
+//line sql.y:7827
{
yyLOCAL = Columns{yyDollar[3].identifierCI}
}
yyVAL.union = yyLOCAL
- case 1589:
+ case 1591:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7819
+//line sql.y:7831
{
yySLICE := (*Columns)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].identifierCI)
}
- case 1590:
+ case 1592:
yyDollar = yyS[yypt-5 : yypt+1]
-//line sql.y:7823
+//line sql.y:7835
{
yySLICE := (*Columns)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[5].identifierCI)
}
- case 1591:
+ case 1593:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL *RowAlias
-//line sql.y:7828
+//line sql.y:7840
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1592:
+ case 1594:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *RowAlias
-//line sql.y:7832
+//line sql.y:7844
{
yyLOCAL = &RowAlias{TableName: yyDollar[2].identifierCS}
}
yyVAL.union = yyLOCAL
- case 1593:
+ case 1595:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL *RowAlias
-//line sql.y:7836
+//line sql.y:7848
{
yyLOCAL = &RowAlias{TableName: yyDollar[2].identifierCS, Columns: yyDollar[4].columnsUnion()}
}
yyVAL.union = yyLOCAL
- case 1594:
+ case 1596:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL UpdateExprs
-//line sql.y:7841
+//line sql.y:7853
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1595:
+ case 1597:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL UpdateExprs
-//line sql.y:7845
+//line sql.y:7857
{
yyLOCAL = yyDollar[5].updateExprsUnion()
}
yyVAL.union = yyLOCAL
- case 1596:
+ case 1598:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Values
-//line sql.y:7851
+//line sql.y:7863
{
yyLOCAL = Values{yyDollar[1].valTupleUnion()}
}
yyVAL.union = yyLOCAL
- case 1597:
+ case 1599:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7855
+//line sql.y:7867
{
yySLICE := (*Values)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].valTupleUnion())
}
- case 1598:
+ case 1600:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL ValTuple
-//line sql.y:7861
+//line sql.y:7873
{
yyLOCAL = yyDollar[1].valTupleUnion()
}
yyVAL.union = yyLOCAL
- case 1599:
+ case 1601:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL ValTuple
-//line sql.y:7865
+//line sql.y:7877
{
yyLOCAL = ValTuple{}
}
yyVAL.union = yyLOCAL
- case 1600:
+ case 1602:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL ValTuple
-//line sql.y:7871
+//line sql.y:7883
{
yyLOCAL = ValTuple(yyDollar[2].exprsUnion())
}
yyVAL.union = yyLOCAL
- case 1601:
+ case 1603:
yyDollar = yyS[yypt-4 : yypt+1]
var yyLOCAL ValTuple
-//line sql.y:7875
+//line sql.y:7887
{
yyLOCAL = ValTuple(yyDollar[3].exprsUnion())
}
yyVAL.union = yyLOCAL
- case 1602:
+ case 1604:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7880
+//line sql.y:7892
{
if len(yyDollar[1].valTupleUnion()) == 1 {
yyLOCAL = yyDollar[1].valTupleUnion()[0]
@@ -22199,300 +22232,300 @@ yydefault:
}
}
yyVAL.union = yyLOCAL
- case 1603:
+ case 1605:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL UpdateExprs
-//line sql.y:7890
+//line sql.y:7902
{
yyLOCAL = UpdateExprs{yyDollar[1].updateExprUnion()}
}
yyVAL.union = yyLOCAL
- case 1604:
+ case 1606:
yyDollar = yyS[yypt-3 : yypt+1]
-//line sql.y:7894
+//line sql.y:7906
{
yySLICE := (*UpdateExprs)(yyIaddr(yyVAL.union))
*yySLICE = append(*yySLICE, yyDollar[3].updateExprUnion())
}
- case 1605:
+ case 1607:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL *UpdateExpr
-//line sql.y:7900
+//line sql.y:7912
{
yyLOCAL = &UpdateExpr{Name: yyDollar[1].colNameUnion(), Expr: yyDollar[3].exprUnion()}
}
yyVAL.union = yyLOCAL
- case 1607:
+ case 1609:
yyDollar = yyS[yypt-2 : yypt+1]
-//line sql.y:7907
+//line sql.y:7919
{
yyVAL.str = "charset"
}
- case 1610:
+ case 1612:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7917
+//line sql.y:7929
{
yyLOCAL = NewStrLiteral(yyDollar[1].identifierCI.String())
}
yyVAL.union = yyLOCAL
- case 1611:
+ case 1613:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7921
+//line sql.y:7933
{
yyLOCAL = NewStrLiteral(yyDollar[1].str)
}
yyVAL.union = yyLOCAL
- case 1612:
+ case 1614:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Expr
-//line sql.y:7925
+//line sql.y:7937
{
yyLOCAL = &Default{}
}
yyVAL.union = yyLOCAL
- case 1615:
+ case 1617:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:7934
+//line sql.y:7946
{
yyLOCAL = false
}
yyVAL.union = yyLOCAL
- case 1616:
+ case 1618:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL bool
-//line sql.y:7936
+//line sql.y:7948
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
- case 1617:
+ case 1619:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:7939
+//line sql.y:7951
{
yyLOCAL = false
}
yyVAL.union = yyLOCAL
- case 1618:
+ case 1620:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL bool
-//line sql.y:7941
+//line sql.y:7953
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
- case 1619:
+ case 1621:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL bool
-//line sql.y:7944
+//line sql.y:7956
{
yyLOCAL = false
}
yyVAL.union = yyLOCAL
- case 1620:
+ case 1622:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL bool
-//line sql.y:7946
+//line sql.y:7958
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
- case 1621:
+ case 1623:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL Ignore
-//line sql.y:7949
+//line sql.y:7961
{
yyLOCAL = false
}
yyVAL.union = yyLOCAL
- case 1622:
+ case 1624:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Ignore
-//line sql.y:7951
+//line sql.y:7963
{
yyLOCAL = true
}
yyVAL.union = yyLOCAL
- case 1623:
+ case 1625:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:7954
+//line sql.y:7966
{
yyVAL.empty = struct{}{}
}
- case 1624:
+ case 1626:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7956
+//line sql.y:7968
{
yyVAL.empty = struct{}{}
}
- case 1625:
+ case 1627:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7958
+//line sql.y:7970
{
yyVAL.empty = struct{}{}
}
- case 1626:
+ case 1628:
yyDollar = yyS[yypt-5 : yypt+1]
var yyLOCAL Statement
-//line sql.y:7962
+//line sql.y:7974
{
yyLOCAL = &CallProc{Name: yyDollar[2].tableName, Params: yyDollar[4].exprsUnion()}
}
yyVAL.union = yyLOCAL
- case 1627:
+ case 1629:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL Exprs
-//line sql.y:7967
+//line sql.y:7979
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1628:
+ case 1630:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL Exprs
-//line sql.y:7971
+//line sql.y:7983
{
yyLOCAL = yyDollar[1].exprsUnion()
}
yyVAL.union = yyLOCAL
- case 1629:
+ case 1631:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL []*IndexOption
-//line sql.y:7976
+//line sql.y:7988
{
yyLOCAL = nil
}
yyVAL.union = yyLOCAL
- case 1630:
+ case 1632:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL []*IndexOption
-//line sql.y:7978
+//line sql.y:7990
{
yyLOCAL = []*IndexOption{yyDollar[1].indexOptionUnion()}
}
yyVAL.union = yyLOCAL
- case 1631:
+ case 1633:
yyDollar = yyS[yypt-2 : yypt+1]
var yyLOCAL *IndexOption
-//line sql.y:7982
+//line sql.y:7994
{
yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), String: string(yyDollar[2].identifierCI.String())}
}
yyVAL.union = yyLOCAL
- case 1632:
+ case 1634:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7988
+//line sql.y:8000
{
yyVAL.identifierCI = yyDollar[1].identifierCI
}
- case 1633:
+ case 1635:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7992
+//line sql.y:8004
{
yyVAL.identifierCI = NewIdentifierCI(string(yyDollar[1].str))
}
- case 1635:
+ case 1637:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:7999
+//line sql.y:8011
{
yyVAL.identifierCI = NewIdentifierCI(string(yyDollar[1].str))
}
- case 1636:
+ case 1638:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:8005
+//line sql.y:8017
{
yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str))
}
- case 1637:
+ case 1639:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:8009
+//line sql.y:8021
{
yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str))
}
- case 1638:
+ case 1640:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:8015
+//line sql.y:8027
{
yyVAL.identifierCS = NewIdentifierCS("")
}
- case 1639:
+ case 1641:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:8019
+//line sql.y:8031
{
yyVAL.identifierCS = yyDollar[1].identifierCS
}
- case 1641:
+ case 1643:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:8026
+//line sql.y:8038
{
yyVAL.identifierCS = NewIdentifierCS(string(yyDollar[1].str))
}
- case 1642:
+ case 1644:
yyDollar = yyS[yypt-3 : yypt+1]
var yyLOCAL Statement
-//line sql.y:8032
+//line sql.y:8044
{
yyLOCAL = &Kill{Type: yyDollar[2].killTypeUnion(), ProcesslistID: convertStringToUInt64(yyDollar[3].str)}
}
yyVAL.union = yyLOCAL
- case 1643:
+ case 1645:
yyDollar = yyS[yypt-0 : yypt+1]
var yyLOCAL KillType
-//line sql.y:8038
+//line sql.y:8050
{
yyLOCAL = ConnectionType
}
yyVAL.union = yyLOCAL
- case 1644:
+ case 1646:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL KillType
-//line sql.y:8042
+//line sql.y:8054
{
yyLOCAL = ConnectionType
}
yyVAL.union = yyLOCAL
- case 1645:
+ case 1647:
yyDollar = yyS[yypt-1 : yypt+1]
var yyLOCAL KillType
-//line sql.y:8046
+//line sql.y:8058
{
yyLOCAL = QueryType
}
yyVAL.union = yyLOCAL
- case 2272:
+ case 2275:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:8701
+//line sql.y:8714
{
}
- case 2273:
+ case 2276:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:8706
+//line sql.y:8719
{
}
- case 2274:
+ case 2277:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:8710
+//line sql.y:8723
{
skipToEnd(yylex)
}
- case 2275:
+ case 2278:
yyDollar = yyS[yypt-0 : yypt+1]
-//line sql.y:8715
+//line sql.y:8728
{
skipToEnd(yylex)
}
- case 2276:
+ case 2279:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:8719
+//line sql.y:8732
{
skipToEnd(yylex)
}
- case 2277:
+ case 2280:
yyDollar = yyS[yypt-1 : yypt+1]
-//line sql.y:8723
+//line sql.y:8736
{
skipToEnd(yylex)
}
diff --git a/go/vt/sqlparser/sql.y b/go/vt/sqlparser/sql.y
index 2f2f0c94994..dfbeffed71a 100644
--- a/go/vt/sqlparser/sql.y
+++ b/go/vt/sqlparser/sql.y
@@ -347,6 +347,8 @@ func markBindVariable(yylex yyLexer, bvar string) {
%token GEOMETRY POINT LINESTRING POLYGON GEOMCOLLECTION GEOMETRYCOLLECTION MULTIPOINT MULTILINESTRING MULTIPOLYGON
%token ASCII UNICODE // used in CONVERT/CAST types
+%nonassoc VECTOR
+
// Type Modifiers
%token NULLX AUTO_INCREMENT APPROXNUM SIGNED UNSIGNED ZEROFILL
@@ -2178,6 +2180,10 @@ char_type:
{
$$ = &ColumnType{Type: string($1), EnumValues: $3, Charset: $5}
}
+| VECTOR length_opt
+ {
+ $$ = &ColumnType{Type: string($1), Length: $2}
+ }
// need set_values / SetValues ?
| SET '(' enum_values ')' charset_opt
{
@@ -3308,6 +3314,12 @@ alter_statement:
UUID: string($4),
}
}
+| ALTER comment_opt VITESS_MIGRATION CLEANUP ALL
+ {
+ $$ = &AlterMigration{
+ Type: CleanupAllMigrationType,
+ }
+ }
| ALTER comment_opt VITESS_MIGRATION STRING LAUNCH
{
$$ = &AlterMigration{
@@ -8647,6 +8659,7 @@ non_reserved_keyword:
| VARIABLES
| VARIANCE %prec FUNCTION_CALL_NON_KEYWORD
| VCPU
+| VECTOR
| VEXPLAIN
| VGTID_EXECUTED
| VIEW
diff --git a/go/vt/vitessdriver/rows.go b/go/vt/vitessdriver/rows.go
index 1af88e64ec3..d3c5ca7e4d4 100644
--- a/go/vt/vitessdriver/rows.go
+++ b/go/vt/vitessdriver/rows.go
@@ -110,7 +110,7 @@ func (ri *rows) ColumnTypeScanType(index int) reflect.Type {
case query.Type_TIMESTAMP, query.Type_DECIMAL, query.Type_VARCHAR, query.Type_TEXT,
query.Type_BLOB, query.Type_VARBINARY, query.Type_CHAR, query.Type_BINARY, query.Type_BIT,
query.Type_ENUM, query.Type_SET, query.Type_TUPLE, query.Type_GEOMETRY, query.Type_JSON,
- query.Type_HEXNUM, query.Type_HEXVAL, query.Type_BITNUM:
+ query.Type_HEXNUM, query.Type_HEXVAL, query.Type_BITNUM, query.Type_VECTOR:
return typeRawBytes
case query.Type_DATE, query.Type_TIME, query.Type_DATETIME:
@@ -179,6 +179,8 @@ func (ri *rows) ColumnTypeDatabaseTypeName(index int) string {
return "GEOMETRY"
case query.Type_JSON:
return "JSON"
+ case query.Type_VECTOR:
+ return "VECTOR"
case query.Type_TIMESTAMP:
return "TIMESTAMP"
case query.Type_DATE:
diff --git a/go/vt/vtctl/grpcvtctldserver/server.go b/go/vt/vtctl/grpcvtctldserver/server.go
index 0ab76e6b523..d036cb0e8dd 100644
--- a/go/vt/vtctl/grpcvtctldserver/server.go
+++ b/go/vt/vtctl/grpcvtctldserver/server.go
@@ -2976,10 +2976,11 @@ func (s *VtctldServer) PlannedReparentShard(ctx context.Context, req *vtctldatap
req.Keyspace,
req.Shard,
reparentutil.PlannedReparentOptions{
- AvoidPrimaryAlias: req.AvoidPrimary,
- NewPrimaryAlias: req.NewPrimary,
- WaitReplicasTimeout: waitReplicasTimeout,
- TolerableReplLag: tolerableReplLag,
+ AvoidPrimaryAlias: req.AvoidPrimary,
+ NewPrimaryAlias: req.NewPrimary,
+ WaitReplicasTimeout: waitReplicasTimeout,
+ TolerableReplLag: tolerableReplLag,
+ AllowCrossCellPromotion: req.AllowCrossCellPromotion,
},
)
diff --git a/go/vt/vtctl/reparent.go b/go/vt/vtctl/reparent.go
index 4498228d9c7..192d19ed7ee 100644
--- a/go/vt/vtctl/reparent.go
+++ b/go/vt/vtctl/reparent.go
@@ -119,6 +119,7 @@ func commandPlannedReparentShard(ctx context.Context, wr *wrangler.Wrangler, sub
keyspaceShard := subFlags.String("keyspace_shard", "", "keyspace/shard of the shard that needs to be reparented")
newPrimary := subFlags.String("new_primary", "", "alias of a tablet that should be the new primary")
avoidTablet := subFlags.String("avoid_tablet", "", "alias of a tablet that should not be the primary, i.e. reparent to any other tablet if this one is the primary")
+ allowCrossCellPromotion := subFlags.Bool("allow-cross-cell-promotion", false, "allow cross cell promotions")
if err := subFlags.Parse(args); err != nil {
return err
@@ -153,10 +154,11 @@ func commandPlannedReparentShard(ctx context.Context, wr *wrangler.Wrangler, sub
}
return wr.PlannedReparentShard(ctx, keyspace, shard, reparentutil.PlannedReparentOptions{
- NewPrimaryAlias: newPrimaryAlias,
- AvoidPrimaryAlias: avoidTabletAlias,
- WaitReplicasTimeout: *waitReplicasTimeout,
- TolerableReplLag: *tolerableReplicationLag,
+ NewPrimaryAlias: newPrimaryAlias,
+ AvoidPrimaryAlias: avoidTabletAlias,
+ WaitReplicasTimeout: *waitReplicasTimeout,
+ TolerableReplLag: *tolerableReplicationLag,
+ AllowCrossCellPromotion: *allowCrossCellPromotion,
})
}
diff --git a/go/vt/vtctl/reparentutil/planned_reparenter.go b/go/vt/vtctl/reparentutil/planned_reparenter.go
index e09761ea982..0852583bec9 100644
--- a/go/vt/vtctl/reparentutil/planned_reparenter.go
+++ b/go/vt/vtctl/reparentutil/planned_reparenter.go
@@ -59,10 +59,11 @@ type PlannedReparenter struct {
// operations. Options are passed by value, so it is safe for callers to mutate
// resue options structs for multiple calls.
type PlannedReparentOptions struct {
- NewPrimaryAlias *topodatapb.TabletAlias
- AvoidPrimaryAlias *topodatapb.TabletAlias
- WaitReplicasTimeout time.Duration
- TolerableReplLag time.Duration
+ NewPrimaryAlias *topodatapb.TabletAlias
+ AvoidPrimaryAlias *topodatapb.TabletAlias
+ WaitReplicasTimeout time.Duration
+ TolerableReplLag time.Duration
+ AllowCrossCellPromotion bool
// Private options managed internally. We use value-passing semantics to
// set these options inside a PlannedReparent without leaking these details
@@ -181,7 +182,7 @@ func (pr *PlannedReparenter) preflightChecks(
}
event.DispatchUpdate(ev, "electing a primary candidate")
- opts.NewPrimaryAlias, err = ElectNewPrimary(ctx, pr.tmc, &ev.ShardInfo, tabletMap, innodbBufferPoolData, opts.NewPrimaryAlias, opts.AvoidPrimaryAlias, opts.WaitReplicasTimeout, opts.TolerableReplLag, opts.durability, pr.logger)
+ opts.NewPrimaryAlias, err = ElectNewPrimary(ctx, pr.tmc, &ev.ShardInfo, tabletMap, innodbBufferPoolData, opts, pr.logger)
if err != nil {
return true, err
}
diff --git a/go/vt/vtctl/reparentutil/util.go b/go/vt/vtctl/reparentutil/util.go
index ea7a9f7262c..fd701f8c69b 100644
--- a/go/vt/vtctl/reparentutil/util.go
+++ b/go/vt/vtctl/reparentutil/util.go
@@ -69,11 +69,7 @@ func ElectNewPrimary(
shardInfo *topo.ShardInfo,
tabletMap map[string]*topo.TabletInfo,
innodbBufferPoolData map[string]int,
- newPrimaryAlias *topodatapb.TabletAlias,
- avoidPrimaryAlias *topodatapb.TabletAlias,
- waitReplicasTimeout time.Duration,
- tolerableReplLag time.Duration,
- durability Durabler,
+ opts *PlannedReparentOptions,
// (TODO:@ajm188) it's a little gross we need to pass this, maybe embed in the context?
logger logutil.Logger,
) (*topodatapb.TabletAlias, error) {
@@ -98,16 +94,16 @@ func ElectNewPrimary(
reasonsToInvalidate := strings.Builder{}
for _, tablet := range tabletMap {
switch {
- case newPrimaryAlias != nil:
+ case opts.NewPrimaryAlias != nil:
// If newPrimaryAlias is provided, then that is the only valid tablet, even if it is not of type replica or in a different cell.
- if !topoproto.TabletAliasEqual(tablet.Alias, newPrimaryAlias) {
+ if !topoproto.TabletAliasEqual(tablet.Alias, opts.NewPrimaryAlias) {
reasonsToInvalidate.WriteString(fmt.Sprintf("\n%v does not match the new primary alias provided", topoproto.TabletAliasString(tablet.Alias)))
continue
}
- case primaryCell != "" && tablet.Alias.Cell != primaryCell:
+ case !opts.AllowCrossCellPromotion && primaryCell != "" && tablet.Alias.Cell != primaryCell:
reasonsToInvalidate.WriteString(fmt.Sprintf("\n%v is not in the same cell as the previous primary", topoproto.TabletAliasString(tablet.Alias)))
continue
- case avoidPrimaryAlias != nil && topoproto.TabletAliasEqual(tablet.Alias, avoidPrimaryAlias):
+ case opts.AvoidPrimaryAlias != nil && topoproto.TabletAliasEqual(tablet.Alias, opts.AvoidPrimaryAlias):
reasonsToInvalidate.WriteString(fmt.Sprintf("\n%v matches the primary alias to avoid", topoproto.TabletAliasString(tablet.Alias)))
continue
case tablet.Tablet.Type != topodatapb.TabletType_REPLICA:
@@ -122,7 +118,7 @@ func ElectNewPrimary(
// then we don't need to find the position of the said tablet for sorting.
// We can just return the tablet quickly.
// This check isn't required, but it saves us an RPC call that is otherwise unnecessary.
- if len(candidates) == 1 && tolerableReplLag == 0 {
+ if len(candidates) == 1 && opts.TolerableReplLag == 0 {
return candidates[0].Alias, nil
}
@@ -130,10 +126,10 @@ func ElectNewPrimary(
tb := tablet
errorGroup.Go(func() error {
// find and store the positions for the tablet
- pos, replLag, err := findPositionAndLagForTablet(groupCtx, tb, logger, tmc, waitReplicasTimeout)
+ pos, replLag, err := findPositionAndLagForTablet(groupCtx, tb, logger, tmc, opts.WaitReplicasTimeout)
mu.Lock()
defer mu.Unlock()
- if err == nil && (tolerableReplLag == 0 || tolerableReplLag >= replLag) {
+ if err == nil && (opts.TolerableReplLag == 0 || opts.TolerableReplLag >= replLag) {
validTablets = append(validTablets, tb)
tabletPositions = append(tabletPositions, pos)
innodbBufferPool = append(innodbBufferPool, innodbBufferPoolData[topoproto.TabletAliasString(tb.Alias)])
@@ -155,7 +151,7 @@ func ElectNewPrimary(
}
// sort the tablets for finding the best primary
- err = sortTabletsForReparent(validTablets, tabletPositions, innodbBufferPool, durability)
+ err = sortTabletsForReparent(validTablets, tabletPositions, innodbBufferPool, opts.durability)
if err != nil {
return nil, err
}
diff --git a/go/vt/vtctl/reparentutil/util_test.go b/go/vt/vtctl/reparentutil/util_test.go
index d42ae76f337..f4e9092fc3f 100644
--- a/go/vt/vtctl/reparentutil/util_test.go
+++ b/go/vt/vtctl/reparentutil/util_test.go
@@ -67,16 +67,17 @@ func TestElectNewPrimary(t *testing.T) {
ctx := context.Background()
logger := logutil.NewMemoryLogger()
tests := []struct {
- name string
- tmc *chooseNewPrimaryTestTMClient
- shardInfo *topo.ShardInfo
- tabletMap map[string]*topo.TabletInfo
- innodbBufferPoolData map[string]int
- newPrimaryAlias *topodatapb.TabletAlias
- avoidPrimaryAlias *topodatapb.TabletAlias
- tolerableReplLag time.Duration
- expected *topodatapb.TabletAlias
- errContains []string
+ name string
+ tmc *chooseNewPrimaryTestTMClient
+ shardInfo *topo.ShardInfo
+ tabletMap map[string]*topo.TabletInfo
+ innodbBufferPoolData map[string]int
+ newPrimaryAlias *topodatapb.TabletAlias
+ avoidPrimaryAlias *topodatapb.TabletAlias
+ tolerableReplLag time.Duration
+ allowCrossCellPromotion bool
+ expected *topodatapb.TabletAlias
+ errContains []string
}{
{
name: "found a replica",
@@ -716,6 +717,64 @@ func TestElectNewPrimary(t *testing.T) {
`zone1-0000000102 is not in the same cell as the previous primary`,
},
},
+ {
+ name: "no replicas in primary cell but cross cell allowed",
+ tmc: &chooseNewPrimaryTestTMClient{
+ // zone1-101 is behind zone1-102
+ replicationStatuses: map[string]*replicationdatapb.Status{
+ "zone1-0000000101": {
+ Position: "MySQL56/3E11FA47-71CA-11E1-9E33-C80AA9429562:1",
+ },
+ "zone1-0000000102": {
+ Position: "MySQL56/3E11FA47-71CA-11E1-9E33-C80AA9429562:1-5",
+ },
+ },
+ },
+ allowCrossCellPromotion: true,
+ shardInfo: topo.NewShardInfo("testkeyspace", "-", &topodatapb.Shard{
+ PrimaryAlias: &topodatapb.TabletAlias{
+ Cell: "zone2",
+ Uid: 200,
+ },
+ }, nil),
+ tabletMap: map[string]*topo.TabletInfo{
+ "primary": {
+ Tablet: &topodatapb.Tablet{
+ Alias: &topodatapb.TabletAlias{
+ Cell: "zone2",
+ Uid: 200,
+ },
+ Type: topodatapb.TabletType_PRIMARY,
+ },
+ },
+ "replica1": {
+ Tablet: &topodatapb.Tablet{
+ Alias: &topodatapb.TabletAlias{
+ Cell: "zone1",
+ Uid: 101,
+ },
+ Type: topodatapb.TabletType_REPLICA,
+ },
+ },
+ "replica2": {
+ Tablet: &topodatapb.Tablet{
+ Alias: &topodatapb.TabletAlias{
+ Cell: "zone1",
+ Uid: 102,
+ },
+ Type: topodatapb.TabletType_REPLICA,
+ },
+ },
+ },
+ avoidPrimaryAlias: &topodatapb.TabletAlias{
+ Cell: "zone1",
+ Uid: 0,
+ },
+ expected: &topodatapb.TabletAlias{
+ Cell: "zone1",
+ Uid: 102,
+ },
+ },
{
name: "only available tablet is AvoidPrimary",
tmc: &chooseNewPrimaryTestTMClient{
@@ -794,7 +853,15 @@ zone1-0000000100 is not a replica`,
t.Run(tt.name, func(t *testing.T) {
t.Parallel()
- actual, err := ElectNewPrimary(ctx, tt.tmc, tt.shardInfo, tt.tabletMap, tt.innodbBufferPoolData, tt.newPrimaryAlias, tt.avoidPrimaryAlias, time.Millisecond*50, tt.tolerableReplLag, durability, logger)
+ options := &PlannedReparentOptions{
+ NewPrimaryAlias: tt.newPrimaryAlias,
+ AvoidPrimaryAlias: tt.avoidPrimaryAlias,
+ TolerableReplLag: tt.tolerableReplLag,
+ durability: durability,
+ AllowCrossCellPromotion: tt.allowCrossCellPromotion,
+ WaitReplicasTimeout: time.Millisecond * 50,
+ }
+ actual, err := ElectNewPrimary(ctx, tt.tmc, tt.shardInfo, tt.tabletMap, tt.innodbBufferPoolData, options, logger)
if len(tt.errContains) > 0 {
for _, errC := range tt.errContains {
assert.ErrorContains(t, err, errC)
diff --git a/go/vt/vterrors/state.go b/go/vt/vterrors/state.go
index 8223405fc92..82434df382a 100644
--- a/go/vt/vterrors/state.go
+++ b/go/vt/vterrors/state.go
@@ -120,6 +120,8 @@ const (
CharacterSetMismatch
WrongParametersToNativeFct
+ VectorConversion
+
// No state should be added below NumOfStates
NumOfStates
)
diff --git a/go/vt/vtgate/engine/aggregations.go b/go/vt/vtgate/engine/aggregations.go
index d6f894bf2e0..769df332b73 100644
--- a/go/vt/vtgate/engine/aggregations.go
+++ b/go/vt/vtgate/engine/aggregations.go
@@ -347,7 +347,8 @@ func isComparable(typ sqltypes.Type) bool {
sqltypes.Enum,
sqltypes.Set,
sqltypes.TypeJSON,
- sqltypes.Bit:
+ sqltypes.Bit,
+ sqltypes.Vector:
return true
}
return false
diff --git a/go/vt/vtgate/evalengine/compiler_asm_push.go b/go/vt/vtgate/evalengine/compiler_asm_push.go
index 87d2ee9af9b..8f2b5d9f28b 100644
--- a/go/vt/vtgate/evalengine/compiler_asm_push.go
+++ b/go/vt/vtgate/evalengine/compiler_asm_push.go
@@ -97,6 +97,36 @@ func (asm *assembler) PushBVar_bin(key string) {
}, "PUSH VARBINARY(:%q)", key)
}
+func push_vector(env *ExpressionEnv, raw []byte) int {
+ env.vm.stack[env.vm.sp] = newEvalVector(raw)
+ env.vm.sp++
+ return 1
+}
+
+func (asm *assembler) PushColumn_vector(offset int) {
+ asm.adjustStack(1)
+ asm.emit(func(env *ExpressionEnv) int {
+ col := env.Row[offset]
+ if col.IsNull() {
+ return push_null(env)
+ }
+ return push_vector(env, col.Raw())
+ }, "PUSH VECTOR(:%d)", offset)
+}
+
+func (asm *assembler) PushBVar_vector(key string) {
+ asm.adjustStack(1)
+
+ asm.emit(func(env *ExpressionEnv) int {
+ var bvar *querypb.BindVariable
+ bvar, env.vm.err = env.lookupBindVar(key)
+ if env.vm.err != nil {
+ return 0
+ }
+ return push_vector(env, bvar.Value)
+ }, "PUSH VECTOR(:%q)", key)
+}
+
func push_d(env *ExpressionEnv, raw []byte) int {
var dec decimal.Decimal
dec, env.vm.err = decimal.NewFromMySQL(raw)
diff --git a/go/vt/vtgate/evalengine/eval.go b/go/vt/vtgate/evalengine/eval.go
index 49423979379..916c5e200f4 100644
--- a/go/vt/vtgate/evalengine/eval.go
+++ b/go/vt/vtgate/evalengine/eval.go
@@ -394,6 +394,8 @@ func valueToEval(value sqltypes.Value, collation collations.TypedCollation, valu
return newEvalEnum(value.Raw(), values), nil
case tt == sqltypes.Set:
return newEvalSet(value.Raw(), values), nil
+ case tt == sqltypes.Vector:
+ return newEvalVector(value.Raw()), nil
case sqltypes.IsText(tt):
if tt == sqltypes.HexNum {
raw, err := parseHexNumber(value.Raw())
diff --git a/go/vt/vtgate/evalengine/eval_bytes.go b/go/vt/vtgate/evalengine/eval_bytes.go
index 027c4bb652d..971c0f3c4a6 100644
--- a/go/vt/vtgate/evalengine/eval_bytes.go
+++ b/go/vt/vtgate/evalengine/eval_bytes.go
@@ -61,6 +61,10 @@ func newEvalText(raw []byte, col collations.TypedCollation) *evalBytes {
return newEvalRaw(sqltypes.VarChar, raw, col)
}
+func newEvalVector(raw []byte) *evalBytes {
+ return newEvalRaw(sqltypes.Vector, raw, collationBinary)
+}
+
func evalToBinary(e eval) *evalBytes {
if e, ok := e.(*evalBytes); ok && e.isBinary() && !e.isHexOrBitLiteral() {
return e
diff --git a/go/vt/vtgate/evalengine/expr_bvar.go b/go/vt/vtgate/evalengine/expr_bvar.go
index daf64296e98..50f231dbe9c 100644
--- a/go/vt/vtgate/evalengine/expr_bvar.go
+++ b/go/vt/vtgate/evalengine/expr_bvar.go
@@ -160,6 +160,8 @@ func (bvar *BindVariable) compile(c *compiler) (ctype, error) {
c.asm.PushBVar_date(bvar.Key)
case tt == sqltypes.Time:
c.asm.PushBVar_time(bvar.Key)
+ case tt == sqltypes.Vector:
+ c.asm.PushBVar_vector(bvar.Key)
default:
return ctype{}, vterrors.Errorf(vtrpcpb.Code_UNIMPLEMENTED, "Type is not supported: %s", tt)
}
diff --git a/go/vt/vtgate/evalengine/expr_column.go b/go/vt/vtgate/evalengine/expr_column.go
index d53585ceb8b..e52c522d973 100644
--- a/go/vt/vtgate/evalengine/expr_column.go
+++ b/go/vt/vtgate/evalengine/expr_column.go
@@ -151,6 +151,8 @@ func (column *Column) compile(c *compiler) (ctype, error) {
c.asm.PushColumn_date(column.Offset)
case tt == sqltypes.Time:
c.asm.PushColumn_time(column.Offset)
+ case tt == sqltypes.Vector:
+ c.asm.PushColumn_vector(column.Offset)
default:
return ctype{}, vterrors.Errorf(vtrpc.Code_UNIMPLEMENTED, "Type is not supported: %s", tt)
}
diff --git a/go/vt/vtgate/evalengine/expr_compare.go b/go/vt/vtgate/evalengine/expr_compare.go
index f3bd44588ee..ce1e16af787 100644
--- a/go/vt/vtgate/evalengine/expr_compare.go
+++ b/go/vt/vtgate/evalengine/expr_compare.go
@@ -275,7 +275,7 @@ func evalCompare(left, right eval, collationEnv *collations.Environment) (comp i
// TODO: Clean this up as we add more properly supported types and comparisons.
func fallbackBinary(t sqltypes.Type) bool {
switch t {
- case sqltypes.Bit, sqltypes.Enum, sqltypes.Set, sqltypes.Geometry:
+ case sqltypes.Bit, sqltypes.Enum, sqltypes.Set, sqltypes.Geometry, sqltypes.Vector:
return true
}
return false
diff --git a/go/vt/vtgate/planbuilder/operators/apply_join.go b/go/vt/vtgate/planbuilder/operators/apply_join.go
index cd8f7b94dd5..d87fb529caf 100644
--- a/go/vt/vtgate/planbuilder/operators/apply_join.go
+++ b/go/vt/vtgate/planbuilder/operators/apply_join.go
@@ -37,8 +37,6 @@ type (
// JoinType is permitted to store only 3 of the possible values
// NormalJoinType, StraightJoinType and LeftJoinType.
JoinType sqlparser.JoinType
- // LeftJoin will be true in the case of an outer join
- LeftJoin bool
// JoinColumns keeps track of what AST expression is represented in the Columns array
JoinColumns *applyJoinColumns
@@ -344,6 +342,10 @@ func (aj *ApplyJoin) ShortDescription() string {
}
firstPart := fmt.Sprintf("on %s columns: %s", fn(aj.JoinPredicates), fn(aj.JoinColumns))
+ if aj.JoinType == sqlparser.LeftJoinType {
+ firstPart = "LEFT JOIN " + firstPart
+ }
+
if len(aj.ExtraLHSVars) == 0 {
return firstPart
}
diff --git a/go/vt/vtgate/planbuilder/operators/route_planning.go b/go/vt/vtgate/planbuilder/operators/route_planning.go
index 47405e3b935..22db69f287b 100644
--- a/go/vt/vtgate/planbuilder/operators/route_planning.go
+++ b/go/vt/vtgate/planbuilder/operators/route_planning.go
@@ -305,13 +305,18 @@ func mergeOrJoin(ctx *plancontext.PlanningContext, lhs, rhs Operator, joinPredic
}
join := NewApplyJoin(ctx, Clone(rhs), Clone(lhs), nil, joinType)
- newOp := pushJoinPredicates(ctx, joinPredicates, join)
- return newOp, Rewrote("logical join to applyJoin, switching side because LIMIT")
+ for _, pred := range joinPredicates {
+ join.AddJoinPredicate(ctx, pred)
+ }
+ return join, Rewrote("logical join to applyJoin, switching side because LIMIT")
}
join := NewApplyJoin(ctx, Clone(lhs), Clone(rhs), nil, joinType)
- newOp := pushJoinPredicates(ctx, joinPredicates, join)
- return newOp, Rewrote("logical join to applyJoin ")
+ for _, pred := range joinPredicates {
+ join.AddJoinPredicate(ctx, pred)
+ }
+
+ return join, Rewrote("logical join to applyJoin ")
}
func operatorsToRoutes(a, b Operator) (*Route, *Route) {
@@ -530,15 +535,3 @@ func hexEqual(a, b *sqlparser.Literal) bool {
}
return false
}
-
-func pushJoinPredicates(ctx *plancontext.PlanningContext, exprs []sqlparser.Expr, op *ApplyJoin) Operator {
- if len(exprs) == 0 {
- return op
- }
-
- for _, expr := range exprs {
- AddPredicate(ctx, op, expr, true, newFilterSinglePredicate)
- }
-
- return op
-}
diff --git a/go/vt/vtgate/planbuilder/testdata/from_cases.json b/go/vt/vtgate/planbuilder/testdata/from_cases.json
index 50b56b428ec..7b2cda26ff6 100644
--- a/go/vt/vtgate/planbuilder/testdata/from_cases.json
+++ b/go/vt/vtgate/planbuilder/testdata/from_cases.json
@@ -784,6 +784,59 @@
]
}
},
+ {
+ "comment": "Outer join with join predicates that only depend on the inner side",
+ "query": "select 1 from user left join user_extra on user.foo = 42 and user.bar = user_extra.bar",
+ "plan": {
+ "QueryType": "SELECT",
+ "Original": "select 1 from user left join user_extra on user.foo = 42 and user.bar = user_extra.bar",
+ "Instructions": {
+ "OperatorType": "Projection",
+ "Expressions": [
+ "1 as 1"
+ ],
+ "Inputs": [
+ {
+ "OperatorType": "Join",
+ "Variant": "LeftJoin",
+ "JoinVars": {
+ "user_bar": 1,
+ "user_foo": 0
+ },
+ "TableName": "`user`_user_extra",
+ "Inputs": [
+ {
+ "OperatorType": "Route",
+ "Variant": "Scatter",
+ "Keyspace": {
+ "Name": "user",
+ "Sharded": true
+ },
+ "FieldQuery": "select `user`.foo, `user`.bar from `user` where 1 != 1",
+ "Query": "select `user`.foo, `user`.bar from `user`",
+ "Table": "`user`"
+ },
+ {
+ "OperatorType": "Route",
+ "Variant": "Scatter",
+ "Keyspace": {
+ "Name": "user",
+ "Sharded": true
+ },
+ "FieldQuery": "select 1 from user_extra where 1 != 1",
+ "Query": "select 1 from user_extra where user_extra.bar = :user_bar and :user_foo = 42",
+ "Table": "user_extra"
+ }
+ ]
+ }
+ ]
+ },
+ "TablesUsed": [
+ "user.user",
+ "user.user_extra"
+ ]
+ }
+ },
{
"comment": "Parenthesized, single chunk",
"query": "select user.col from user join (unsharded as m1 join unsharded as m2)",
diff --git a/go/vt/vtgate/vindexes/fuzz.go b/go/vt/vtgate/vindexes/fuzz.go
index f1def0c3e1e..5a54aeb2bd8 100644
--- a/go/vt/vtgate/vindexes/fuzz.go
+++ b/go/vt/vtgate/vindexes/fuzz.go
@@ -67,6 +67,7 @@ var querypbTypes = []querypb.Type{querypb.Type_NULL_TYPE,
querypb.Type_SET,
querypb.Type_GEOMETRY,
querypb.Type_JSON,
+ querypb.Type_VECTOR,
querypb.Type_EXPRESSION}
// All valid vindexes
diff --git a/go/vt/vttablet/onlineddl/executor.go b/go/vt/vttablet/onlineddl/executor.go
index 1d2137b7426..757caa711b7 100644
--- a/go/vt/vttablet/onlineddl/executor.go
+++ b/go/vt/vttablet/onlineddl/executor.go
@@ -3640,6 +3640,7 @@ func (e *Executor) readVReplStream(ctx context.Context, uuid string, okIfMissing
timeHeartbeat: row.AsInt64("time_heartbeat", 0),
timeThrottled: row.AsInt64("time_throttled", 0),
componentThrottled: row.AsString("component_throttled", ""),
+ reasonThrottled: row.AsString("reason_throttled", ""),
transactionTimestamp: row.AsInt64("transaction_timestamp", 0),
state: binlogdatapb.VReplicationWorkflowState(binlogdatapb.VReplicationWorkflowState_value[row.AsString("state", "")]),
message: row.AsString("message", ""),
@@ -3872,7 +3873,7 @@ func (e *Executor) reviewRunningMigrations(ctx context.Context) (countRunnning i
_ = e.updateMigrationETASecondsByProgress(ctx, uuid)
if s.timeThrottled != 0 {
// Avoid creating a 0000-00-00 00:00:00 timestamp
- _ = e.updateMigrationLastThrottled(ctx, uuid, time.Unix(s.timeThrottled, 0), s.componentThrottled)
+ _ = e.updateMigrationLastThrottled(ctx, uuid, time.Unix(s.timeThrottled, 0), s.componentThrottled, s.reasonThrottled)
}
if onlineDDL.StrategySetting().IsInOrderCompletion() {
// We will fail an in-order migration if there's _prior_ migrations within the same migration-context
@@ -4575,10 +4576,17 @@ func (e *Executor) updateMigrationETASecondsByProgress(ctx context.Context, uuid
return err
}
-func (e *Executor) updateMigrationLastThrottled(ctx context.Context, uuid string, lastThrottledTime time.Time, throttledCompnent string) error {
+func (e *Executor) updateMigrationLastThrottled(
+ ctx context.Context,
+ uuid string,
+ lastThrottledTime time.Time,
+ throttledCompnent string,
+ reasonThrottled string,
+) error {
query, err := sqlparser.ParseAndBind(sqlUpdateLastThrottled,
sqltypes.StringBindVariable(lastThrottledTime.Format(sqltypes.TimestampFormat)),
sqltypes.StringBindVariable(throttledCompnent),
+ sqltypes.StringBindVariable(reasonThrottled),
sqltypes.StringBindVariable(uuid),
)
if err != nil {
@@ -4760,6 +4768,26 @@ func (e *Executor) CleanupMigration(ctx context.Context, uuid string) (result *s
return rs, nil
}
+// CleanupMigration sets migration is ready for artifact cleanup. Artifacts are not immediately deleted:
+// all we do is set retain_artifacts_seconds to a very small number (it's actually a negative) so that the
+// next iteration of gcArtifacts() picks up the migration's artifacts and schedules them for deletion
+func (e *Executor) CleanupAllMigrations(ctx context.Context) (result *sqltypes.Result, err error) {
+ if atomic.LoadInt64(&e.isOpen) == 0 {
+ return nil, vterrors.New(vtrpcpb.Code_FAILED_PRECONDITION, schema.ErrOnlineDDLDisabled.Error())
+ }
+ log.Infof("CleanupMigration: request to cleanup all terminal migrations")
+ e.migrationMutex.Lock()
+ defer e.migrationMutex.Unlock()
+
+ rs, err := e.execQuery(ctx, sqlUpdateReadyForCleanupAll)
+ if err != nil {
+ return nil, err
+ }
+ log.Infof("CleanupMigration: %v migrations marked as ready to clean up", rs.RowsAffected)
+ defer e.triggerNextCheckInterval()
+ return rs, nil
+}
+
// ForceCutOverMigration markes the given migration for forced cut-over. This has two implications:
// - No backoff for the given migration's cut-over (cut-over will be attempted at the next scheduler cycle,
// irrespective of how many cut-over attempts have been made and when these attempts have been made).
diff --git a/go/vt/vttablet/onlineddl/schema.go b/go/vt/vttablet/onlineddl/schema.go
index 30f132bd0e3..4f65864cbfa 100644
--- a/go/vt/vttablet/onlineddl/schema.go
+++ b/go/vt/vttablet/onlineddl/schema.go
@@ -169,6 +169,13 @@ const (
WHERE
migration_uuid=%a
`
+ sqlUpdateReadyForCleanupAll = `UPDATE _vt.schema_migrations
+ SET retain_artifacts_seconds=-1
+ WHERE
+ migration_status IN ('complete', 'cancelled', 'failed')
+ AND cleanup_timestamp IS NULL
+ AND retain_artifacts_seconds > 0
+ `
sqlUpdateForceCutOver = `UPDATE _vt.schema_migrations
SET force_cutover=1
WHERE
@@ -242,7 +249,7 @@ const (
migration_uuid=%a
`
sqlUpdateLastThrottled = `UPDATE _vt.schema_migrations
- SET last_throttled_timestamp=%a, component_throttled=%a
+ SET last_throttled_timestamp=%a, component_throttled=%a, reason_throttled=%a
WHERE
migration_uuid=%a
`
@@ -428,6 +435,7 @@ const (
last_throttled_timestamp,
cancelled_timestamp,
component_throttled,
+ reason_throttled,
postpone_launch,
postpone_completion,
is_immediate_operation,
@@ -581,6 +589,7 @@ const (
time_heartbeat,
time_throttled,
component_throttled,
+ reason_throttled,
state,
message,
rows_copied
diff --git a/go/vt/vttablet/onlineddl/vrepl.go b/go/vt/vttablet/onlineddl/vrepl.go
index cde2f276563..42fe33a855f 100644
--- a/go/vt/vttablet/onlineddl/vrepl.go
+++ b/go/vt/vttablet/onlineddl/vrepl.go
@@ -59,6 +59,7 @@ type VReplStream struct {
timeHeartbeat int64
timeThrottled int64
componentThrottled string
+ reasonThrottled string
transactionTimestamp int64
state binlogdatapb.VReplicationWorkflowState
message string
diff --git a/go/vt/vttablet/tabletmanager/rpc_throttler.go b/go/vt/vttablet/tabletmanager/rpc_throttler.go
index 8ec3bb592da..5facbb01229 100644
--- a/go/vt/vttablet/tabletmanager/rpc_throttler.go
+++ b/go/vt/vttablet/tabletmanager/rpc_throttler.go
@@ -58,6 +58,8 @@ func (tm *TabletManager) CheckThrottler(ctx context.Context, req *tabletmanagerd
Threshold: checkResult.Threshold,
Message: checkResult.Message,
RecentlyChecked: checkResult.RecentlyChecked,
+ AppName: checkResult.AppName,
+ Summary: checkResult.Summary(),
Metrics: make(map[string]*tabletmanagerdatapb.CheckThrottlerResponse_Metric),
}
for name, metric := range checkResult.Metrics {
diff --git a/go/vt/vttablet/tabletmanager/vreplication/utils.go b/go/vt/vttablet/tabletmanager/vreplication/utils.go
index 2b80bfb62a2..537041907a7 100644
--- a/go/vt/vttablet/tabletmanager/vreplication/utils.go
+++ b/go/vt/vttablet/tabletmanager/vreplication/utils.go
@@ -222,6 +222,7 @@ func isUnrecoverableError(err error) bool {
sqlerror.ERWrongParametersToProcedure,
sqlerror.ERWrongUsage,
sqlerror.ERWrongValue,
+ sqlerror.ERVectorConversion,
sqlerror.ERWrongValueCountOnRow:
log.Errorf("Got unrecoverable error: %v", sqlErr)
return true
diff --git a/go/vt/vttablet/tabletmanager/vreplication/vcopier.go b/go/vt/vttablet/tabletmanager/vreplication/vcopier.go
index 9057a55707f..47e3798acd0 100644
--- a/go/vt/vttablet/tabletmanager/vreplication/vcopier.go
+++ b/go/vt/vttablet/tabletmanager/vreplication/vcopier.go
@@ -456,7 +456,7 @@ func (vc *vcopier) copyTable(ctx context.Context, tableName string, copyState ma
default:
}
if rows.Throttled {
- _ = vc.vr.updateTimeThrottled(throttlerapp.RowStreamerName)
+ _ = vc.vr.updateTimeThrottled(throttlerapp.RowStreamerName, rows.ThrottledReason)
return nil
}
if rows.Heartbeat {
@@ -464,10 +464,10 @@ func (vc *vcopier) copyTable(ctx context.Context, tableName string, copyState ma
return nil
}
// verify throttler is happy, otherwise keep looping
- if vc.vr.vre.throttlerClient.ThrottleCheckOKOrWaitAppName(ctx, throttlerapp.Name(vc.throttlerAppName)) {
+ if checkResult, ok := vc.vr.vre.throttlerClient.ThrottleCheckOKOrWaitAppName(ctx, throttlerapp.Name(vc.throttlerAppName)); ok {
break // out of 'for' loop
} else { // we're throttled
- _ = vc.vr.updateTimeThrottled(throttlerapp.VCopierName)
+ _ = vc.vr.updateTimeThrottled(throttlerapp.VCopierName, checkResult.Summary())
}
}
if !copyWorkQueue.isOpen {
diff --git a/go/vt/vttablet/tabletmanager/vreplication/vplayer.go b/go/vt/vttablet/tabletmanager/vreplication/vplayer.go
index c2eba565524..31e26c30e88 100644
--- a/go/vt/vttablet/tabletmanager/vreplication/vplayer.go
+++ b/go/vt/vttablet/tabletmanager/vreplication/vplayer.go
@@ -487,8 +487,8 @@ func (vp *vplayer) applyEvents(ctx context.Context, relay *relayLog) error {
return ctx.Err()
}
// Check throttler.
- if !vp.vr.vre.throttlerClient.ThrottleCheckOKOrWaitAppName(ctx, throttlerapp.Name(vp.throttlerAppName)) {
- _ = vp.vr.updateTimeThrottled(throttlerapp.VPlayerName)
+ if checkResult, ok := vp.vr.vre.throttlerClient.ThrottleCheckOKOrWaitAppName(ctx, throttlerapp.Name(vp.throttlerAppName)); !ok {
+ _ = vp.vr.updateTimeThrottled(throttlerapp.VPlayerName, checkResult.Summary())
continue
}
@@ -794,7 +794,7 @@ func (vp *vplayer) applyEvent(ctx context.Context, event *binlogdatapb.VEvent, m
return io.EOF
case binlogdatapb.VEventType_HEARTBEAT:
if event.Throttled {
- if err := vp.vr.updateTimeThrottled(throttlerapp.VStreamerName); err != nil {
+ if err := vp.vr.updateTimeThrottled(throttlerapp.VStreamerName, event.ThrottledReason); err != nil {
return err
}
}
diff --git a/go/vt/vttablet/tabletmanager/vreplication/vreplicator.go b/go/vt/vttablet/tabletmanager/vreplication/vreplicator.go
index abeda52b047..2a4d598c960 100644
--- a/go/vt/vttablet/tabletmanager/vreplication/vreplicator.go
+++ b/go/vt/vttablet/tabletmanager/vreplication/vreplicator.go
@@ -630,13 +630,13 @@ func (vr *vreplicator) throttlerAppName() string {
// tablet throttler over time. It also increments the global throttled count to keep
// track of how many times in total vreplication has been throttled across all workflows
// (both ones that currently exist and ones that no longer do).
-func (vr *vreplicator) updateTimeThrottled(appThrottled throttlerapp.Name) error {
+func (vr *vreplicator) updateTimeThrottled(appThrottled throttlerapp.Name, reasonThrottled string) error {
appName := appThrottled.String()
vr.stats.ThrottledCounts.Add([]string{"tablet", appName}, 1)
globalStats.ThrottledCount.Add(1)
err := vr.throttleUpdatesRateLimiter.Do(func() error {
tm := time.Now().Unix()
- update, err := binlogplayer.GenerateUpdateTimeThrottled(vr.id, tm, appName)
+ update, err := binlogplayer.GenerateUpdateTimeThrottled(vr.id, tm, appName, reasonThrottled)
if err != nil {
return err
}
diff --git a/go/vt/vttablet/tabletserver/gc/tablegc.go b/go/vt/vttablet/tabletserver/gc/tablegc.go
index f1d64aebea3..4d1714532a3 100644
--- a/go/vt/vttablet/tabletserver/gc/tablegc.go
+++ b/go/vt/vttablet/tabletserver/gc/tablegc.go
@@ -551,7 +551,7 @@ func (collector *TableGC) purge(ctx context.Context) (tableName string, err erro
// cancelled
return tableName, err
}
- if !collector.throttlerClient.ThrottleCheckOKOrWait(ctx) {
+ if _, ok := collector.throttlerClient.ThrottleCheckOKOrWait(ctx); !ok {
continue
}
// OK, we're clear to go!
diff --git a/go/vt/vttablet/tabletserver/query_executor.go b/go/vt/vttablet/tabletserver/query_executor.go
index 9422697f60c..02b8dd9171a 100644
--- a/go/vt/vttablet/tabletserver/query_executor.go
+++ b/go/vt/vttablet/tabletserver/query_executor.go
@@ -925,6 +925,8 @@ func (qre *QueryExecutor) execAlterMigration() (*sqltypes.Result, error) {
return qre.tsv.onlineDDLExecutor.RetryMigration(qre.ctx, alterMigration.UUID)
case sqlparser.CleanupMigrationType:
return qre.tsv.onlineDDLExecutor.CleanupMigration(qre.ctx, alterMigration.UUID)
+ case sqlparser.CleanupAllMigrationType:
+ return qre.tsv.onlineDDLExecutor.CleanupAllMigrations(qre.ctx)
case sqlparser.LaunchMigrationType:
return qre.tsv.onlineDDLExecutor.LaunchMigration(qre.ctx, alterMigration.UUID, alterMigration.Shards)
case sqlparser.LaunchAllMigrationType:
diff --git a/go/vt/vttablet/tabletserver/throttle/check.go b/go/vt/vttablet/tabletserver/throttle/check.go
index e43c4cab043..460d27a5181 100644
--- a/go/vt/vttablet/tabletserver/throttle/check.go
+++ b/go/vt/vttablet/tabletserver/throttle/check.go
@@ -94,13 +94,13 @@ func (check *ThrottlerCheck) checkAppMetricResult(ctx context.Context, appName s
// Handle deprioritized app logic
denyApp := false
//
- metricResult, threshold := check.throttler.AppRequestMetricResult(ctx, appName, metricResultFunc, denyApp)
+ metricResult, threshold, matchedApp := check.throttler.AppRequestMetricResult(ctx, appName, metricResultFunc, denyApp)
if flags.OverrideThreshold > 0 {
threshold = flags.OverrideThreshold
}
value, err := metricResult.Get()
if appName == "" {
- return NewCheckResult(http.StatusExpectationFailed, value, threshold, fmt.Errorf("no app indicated"))
+ return NewCheckResult(http.StatusExpectationFailed, value, threshold, "", fmt.Errorf("no app indicated"))
}
var statusCode int
@@ -123,7 +123,7 @@ func (check *ThrottlerCheck) checkAppMetricResult(ctx context.Context, appName s
// all good!
statusCode = http.StatusOK // 200
}
- return NewCheckResult(statusCode, value, threshold, err)
+ return NewCheckResult(statusCode, value, threshold, matchedApp, err)
}
// Check is the core function that runs when a user wants to check a metric
@@ -136,12 +136,15 @@ func (check *ThrottlerCheck) Check(ctx context.Context, appName string, scope ba
metricNames = base.MetricNames{check.throttler.metricNameUsedAsDefault()}
}
metricNames = metricNames.Unique()
- applyMetricToCheckResult := func(metric *MetricResult) {
+ applyMetricToCheckResult := func(metricName base.MetricName, metric *MetricResult) {
checkResult.StatusCode = metric.StatusCode
checkResult.Value = metric.Value
checkResult.Threshold = metric.Threshold
checkResult.Error = metric.Error
checkResult.Message = metric.Message
+ checkResult.AppName = metric.AppName
+ checkResult.Scope = metric.Scope
+ checkResult.MetricName = metricName.String()
}
for _, metricName := range metricNames {
// Make sure not to modify the given scope. We create a new scope variable to work with.
@@ -190,6 +193,7 @@ func (check *ThrottlerCheck) Check(ctx context.Context, appName string, scope ba
Threshold: metricCheckResult.Threshold,
Error: metricCheckResult.Error,
Message: metricCheckResult.Message,
+ AppName: metricCheckResult.AppName,
Scope: metricScope.String(), // This reports back the actual scope used for the check
}
checkResult.Metrics[metricName.String()] = metric
@@ -199,17 +203,18 @@ func (check *ThrottlerCheck) Check(ctx context.Context, appName string, scope ba
// metrics, because a v20 primary would not know how to deal with it, and is not expecting any of those
// metrics.
// The only metric we ever report back is the default metric, see below.
- applyMetricToCheckResult(metric)
+ applyMetricToCheckResult(metricName, metric)
}
}
- if metric, ok := checkResult.Metrics[check.throttler.metricNameUsedAsDefault().String()]; ok && checkResult.IsOK() {
- applyMetricToCheckResult(metric)
+ metricNameUsedAsDefault := check.throttler.metricNameUsedAsDefault()
+ if metric, ok := checkResult.Metrics[metricNameUsedAsDefault.String()]; ok && checkResult.IsOK() {
+ applyMetricToCheckResult(metricNameUsedAsDefault, metric)
}
if metric, ok := checkResult.Metrics[base.DefaultMetricName.String()]; ok && checkResult.IsOK() {
// v20 compatibility: if this v21 server is a replica, reporting to a v20 primary,
// then we must supply the v20-flavor check result.
// If checkResult is not OK, then we will have populated these fields already by the failing metric.
- applyMetricToCheckResult(metric)
+ applyMetricToCheckResult(base.DefaultMetricName, metric)
}
go func(statusCode int) {
statsThrottlerCheckAnyTotal.Add(1)
diff --git a/go/vt/vttablet/tabletserver/throttle/check_result.go b/go/vt/vttablet/tabletserver/throttle/check_result.go
index 3c8852e4042..ad32ba33d6f 100644
--- a/go/vt/vttablet/tabletserver/throttle/check_result.go
+++ b/go/vt/vttablet/tabletserver/throttle/check_result.go
@@ -42,6 +42,7 @@ limitations under the License.
package throttle
import (
+ "fmt"
"net/http"
"vitess.io/vitess/go/vt/vttablet/tabletserver/throttle/base"
@@ -54,6 +55,7 @@ type MetricResult struct {
Threshold float64 `json:"Threshold"`
Error error `json:"-"`
Message string `json:"Message"`
+ AppName string `json:"AppName"`
}
// CheckResult is the result for an app inquiring on a metric. It also exports as JSON via the API
@@ -64,15 +66,19 @@ type CheckResult struct {
Error error `json:"-"`
Message string `json:"Message"`
RecentlyChecked bool `json:"RecentlyChecked"`
+ AppName string `json:"AppName"`
+ MetricName string `json:"MetricName"`
+ Scope string `json:"Scope"`
Metrics map[string]*MetricResult `json:"Metrics"` // New in multi-metrics support. Will eventually replace the above fields.
}
// NewCheckResult returns a CheckResult
-func NewCheckResult(statusCode int, value float64, threshold float64, err error) *CheckResult {
+func NewCheckResult(statusCode int, value float64, threshold float64, appName string, err error) *CheckResult {
result := &CheckResult{
StatusCode: statusCode,
Value: value,
Threshold: threshold,
+ AppName: appName,
Error: err,
}
if err != nil {
@@ -85,14 +91,32 @@ func (c *CheckResult) IsOK() bool {
return c.StatusCode == http.StatusOK
}
+// Summary returns a human-readable summary of the check result
+func (c *CheckResult) Summary() string {
+ switch c.StatusCode {
+ case http.StatusOK:
+ return fmt.Sprintf("%s is granted access", c.AppName)
+ case http.StatusExpectationFailed:
+ return fmt.Sprintf("%s is explicitly denied access", c.AppName)
+ case http.StatusInternalServerError:
+ return fmt.Sprintf("%s is denied access due to unexpected error: %v", c.AppName, c.Error)
+ case http.StatusTooManyRequests:
+ return fmt.Sprintf("%s is denied access due to %s/%s metric value %v exceeding threshold %v", c.AppName, c.Scope, c.MetricName, c.Value, c.Threshold)
+ case http.StatusNotFound:
+ return fmt.Sprintf("%s is denied access due to unknown or uncollected metric", c.AppName)
+ case 0:
+ return ""
+ default:
+ return fmt.Sprintf("unknown status code: %v", c.StatusCode)
+ }
+}
+
// NewErrorCheckResult returns a check result that indicates an error
func NewErrorCheckResult(statusCode int, err error) *CheckResult {
- return NewCheckResult(statusCode, 0, 0, err)
+ return NewCheckResult(statusCode, 0, 0, "", err)
}
// NoSuchMetricCheckResult is a result returns when a metric is unknown
var NoSuchMetricCheckResult = NewErrorCheckResult(http.StatusNotFound, base.ErrNoSuchMetric)
-var okMetricCheckResult = NewCheckResult(http.StatusOK, 0, 0, nil)
-
-var invalidCheckTypeCheckResult = NewErrorCheckResult(http.StatusInternalServerError, base.ErrInvalidCheckType)
+var okMetricCheckResult = NewCheckResult(http.StatusOK, 0, 0, "", nil)
diff --git a/go/vt/vttablet/tabletserver/throttle/check_result_test.go b/go/vt/vttablet/tabletserver/throttle/check_result_test.go
new file mode 100644
index 00000000000..f5c984c5943
--- /dev/null
+++ b/go/vt/vttablet/tabletserver/throttle/check_result_test.go
@@ -0,0 +1,66 @@
+/*
+Copyright 2024 The Vitess Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package throttle
+
+import (
+ "net/http"
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func TestCheckResultSummary(t *testing.T) {
+ tcases := []struct {
+ checkResult *CheckResult
+ summary string
+ }{
+ {
+ checkResult: &CheckResult{},
+ summary: "",
+ },
+ {
+ checkResult: &CheckResult{
+ StatusCode: http.StatusOK,
+ AppName: "test",
+ },
+ summary: "test is granted access",
+ },
+ {
+ checkResult: &CheckResult{
+ StatusCode: http.StatusTooManyRequests,
+ AppName: "test",
+ MetricName: "bugginess",
+ Threshold: 100,
+ Value: 200,
+ Scope: "self",
+ },
+ summary: "test is denied access due to self/bugginess metric value 200 exceeding threshold 100",
+ },
+ {
+ checkResult: &CheckResult{
+ StatusCode: http.StatusExpectationFailed,
+ AppName: "test",
+ },
+ summary: "test is explicitly denied access",
+ },
+ }
+ for _, tcase := range tcases {
+ t.Run(tcase.summary, func(t *testing.T) {
+ assert.Equal(t, tcase.summary, tcase.checkResult.Summary())
+ })
+ }
+}
diff --git a/go/vt/vttablet/tabletserver/throttle/client.go b/go/vt/vttablet/tabletserver/throttle/client.go
index e8eed627e04..972e63724f9 100644
--- a/go/vt/vttablet/tabletserver/throttle/client.go
+++ b/go/vt/vttablet/tabletserver/throttle/client.go
@@ -31,8 +31,11 @@ const (
throttleCheckDuration = 250 * time.Millisecond
)
-var throttleTicks int64
-var throttleInit sync.Once
+var (
+ throttleTicks int64
+ throttleInit sync.Once
+ emptyCheckResult = &CheckResult{}
+)
func initThrottleTicker() {
throttleInit.Do(func() {
@@ -87,14 +90,14 @@ func (c *Client) clearSuccessfulResultsCache() {
// The function caches results for a brief amount of time, hence it's safe and efficient to
// be called very frequently.
// The function is not thread safe.
-func (c *Client) ThrottleCheckOK(ctx context.Context, overrideAppName throttlerapp.Name) (throttleCheckOK bool) {
+func (c *Client) ThrottleCheckOK(ctx context.Context, overrideAppName throttlerapp.Name) (checkResult *CheckResult, throttleCheckOK bool) {
if c == nil {
// no client
- return true
+ return emptyCheckResult, true
}
if c.throttler == nil {
// no throttler
- return true
+ return emptyCheckResult, true
}
checkApp := c.appName
if overrideAppName != "" {
@@ -104,20 +107,20 @@ func (c *Client) ThrottleCheckOK(ctx context.Context, overrideAppName throttlera
defer c.lastSuccessfulThrottleMu.Unlock()
if c.lastSuccessfulThrottle[checkApp.String()] >= atomic.LoadInt64(&throttleTicks) {
// if last check was OK just very recently there is no need to check again
- return true
+ return emptyCheckResult, true
}
// It's time to run a throttler check
- checkResult := c.throttler.Check(ctx, checkApp.String(), nil, &c.flags)
+ checkResult = c.throttler.Check(ctx, checkApp.String(), nil, &c.flags)
if checkResult.StatusCode != http.StatusOK {
- return false
+ return checkResult, false
}
for _, metricResult := range checkResult.Metrics {
if metricResult.StatusCode != http.StatusOK {
- return false
+ return checkResult, false
}
}
c.lastSuccessfulThrottle[checkApp.String()] = atomic.LoadInt64(&throttleTicks)
- return true
+ return checkResult, true
}
@@ -125,22 +128,23 @@ func (c *Client) ThrottleCheckOK(ctx context.Context, overrideAppName throttlera
// otherwise it briefly sleeps and returns 'false'.
// Non-empty appName overrides the default appName.
// The function is not thread safe.
-func (c *Client) ThrottleCheckOKOrWaitAppName(ctx context.Context, appName throttlerapp.Name) bool {
- if c.ThrottleCheckOK(ctx, appName) {
- return true
+func (c *Client) ThrottleCheckOKOrWaitAppName(ctx context.Context, appName throttlerapp.Name) (checkResult *CheckResult, throttleCheckOK bool) {
+ checkResult, throttleCheckOK = c.ThrottleCheckOK(ctx, appName)
+ if throttleCheckOK {
+ return checkResult, true
}
if ctx.Err() != nil {
// context expired, skip sleeping
- return false
+ return checkResult, false
}
time.Sleep(throttleCheckDuration)
- return false
+ return checkResult, false
}
// ThrottleCheckOKOrWait checks the throttler; if throttler is satisfied, the function returns 'true' immediately,
// otherwise it briefly sleeps and returns 'false'.
// The function is not thread safe.
-func (c *Client) ThrottleCheckOKOrWait(ctx context.Context) bool {
+func (c *Client) ThrottleCheckOKOrWait(ctx context.Context) (checkResult *CheckResult, throttleCheckOK bool) {
return c.ThrottleCheckOKOrWaitAppName(ctx, "")
}
@@ -148,7 +152,10 @@ func (c *Client) ThrottleCheckOKOrWait(ctx context.Context) bool {
// The function sleeps between throttle checks.
// The function is not thread safe.
func (c *Client) Throttle(ctx context.Context) {
- for !c.ThrottleCheckOKOrWait(ctx) {
+ for {
+ if _, ok := c.ThrottleCheckOKOrWait(ctx); ok {
+ return
+ }
// The function incorporates a bit of sleep so this is not a busy wait.
}
}
diff --git a/go/vt/vttablet/tabletserver/throttle/throttler.go b/go/vt/vttablet/tabletserver/throttle/throttler.go
index 6c58d388666..8c20ba0e867 100644
--- a/go/vt/vttablet/tabletserver/throttle/throttler.go
+++ b/go/vt/vttablet/tabletserver/throttle/throttler.go
@@ -191,8 +191,6 @@ type Throttler struct {
throttledAppsMutex sync.Mutex
readSelfThrottleMetrics func(context.Context) base.ThrottleMetrics // overwritten by unit test
-
- httpClient *http.Client
}
// ThrottlerStatus published some status values from the throttler
@@ -247,7 +245,6 @@ func NewThrottler(env tabletenv.Env, srvTopoServer srvtopo.Server, ts *topo.Serv
throttler.metricsHealth = cache.New(cache.NoExpiration, 0)
throttler.appCheckedMetrics = cache.New(cache.NoExpiration, 0)
- throttler.httpClient = base.SetupHTTPClient(2 * activeCollectInterval)
throttler.initThrottleTabletTypes()
throttler.check = NewThrottlerCheck(throttler)
@@ -1261,8 +1258,8 @@ func (throttler *Throttler) UnthrottleApp(appName string) (appThrottle *base.App
// IsAppThrottled tells whether some app should be throttled.
// Assuming an app is throttled to some extend, it will randomize the result based
// on the throttle ratio
-func (throttler *Throttler) IsAppThrottled(appName string) bool {
- appFound := false
+func (throttler *Throttler) IsAppThrottled(appName string) (bool, string) {
+ appFound := ""
isSingleAppNameThrottled := func(singleAppName string) bool {
object, found := throttler.throttledApps.Get(singleAppName)
if !found {
@@ -1275,7 +1272,7 @@ func (throttler *Throttler) IsAppThrottled(appName string) bool {
}
// From this point on, we consider that this app has some throttling configuration
// of any sort.
- appFound = true
+ appFound = singleAppName
if appThrottle.Exempt {
return false
}
@@ -1286,32 +1283,32 @@ func (throttler *Throttler) IsAppThrottled(appName string) bool {
return false
}
if isSingleAppNameThrottled(appName) {
- return true
+ return true, appName
}
for _, singleAppName := range throttlerapp.Name(appName).SplitStrings() {
if singleAppName == "" {
continue
}
if isSingleAppNameThrottled(singleAppName) {
- return true
+ return true, singleAppName
}
}
// If app was found then there was some explicit throttle instruction for the app, and the app
// passed the test.
- if appFound {
- return false
+ if appFound != "" {
+ return false, appFound
}
// If the app was not found, ie no specific throttle instruction was found for the app, then
// the app should also consider the case where the "all" app is throttled.
if isSingleAppNameThrottled(throttlerapp.AllName.String()) {
// Means the "all" app is throttled. This is a special case, and it means "all apps are throttled"
- return true
+ return true, throttlerapp.AllName.String()
}
- return false
+ return false, appName
}
// IsAppExempt
-func (throttler *Throttler) IsAppExempted(appName string) bool {
+func (throttler *Throttler) IsAppExempted(appName string) (bool, string) {
isSingleAppNameExempted := func(singleAppName string) bool {
if throttlerapp.ExemptFromChecks(appName) { // well known statically exempted apps
return true
@@ -1331,22 +1328,24 @@ func (throttler *Throttler) IsAppExempted(appName string) bool {
return false
}
if isSingleAppNameExempted(appName) {
- return true
+ return true, appName
}
for _, singleAppName := range throttlerapp.Name(appName).SplitStrings() {
if singleAppName == "" {
continue
}
if isSingleAppNameExempted(singleAppName) {
- return true
+ return true, singleAppName
}
}
- if isSingleAppNameExempted(throttlerapp.AllName.String()) && !throttler.IsAppThrottled(appName) {
- return true
+ if isSingleAppNameExempted(throttlerapp.AllName.String()) {
+ if throttled, _ := throttler.IsAppThrottled(appName); !throttled {
+ return true, throttlerapp.AllName.String()
+ }
}
- return false
+ return false, appName
}
// ThrottledAppsMap returns a (copy) map of currently throttled apps
@@ -1400,14 +1399,16 @@ func (throttler *Throttler) metricsHealthSnapshot() base.MetricHealthMap {
}
// AppRequestMetricResult gets a metric result in the context of a specific app
-func (throttler *Throttler) AppRequestMetricResult(ctx context.Context, appName string, metricResultFunc base.MetricResultFunc, denyApp bool) (metricResult base.MetricResult, threshold float64) {
+func (throttler *Throttler) AppRequestMetricResult(ctx context.Context, appName string, metricResultFunc base.MetricResultFunc, denyApp bool) (metricResult base.MetricResult, threshold float64, matchedApp string) {
if denyApp {
- return base.AppDeniedMetric, 0
+ return base.AppDeniedMetric, 0, appName
}
- if throttler.IsAppThrottled(appName) {
- return base.AppDeniedMetric, 0
+ throttled, matchedApp := throttler.IsAppThrottled(appName)
+ if throttled {
+ return base.AppDeniedMetric, 0, matchedApp
}
- return metricResultFunc()
+ metricResult, threshold = metricResultFunc()
+ return metricResult, threshold, matchedApp
}
// checkScope checks the aggregated value of given store
@@ -1415,12 +1416,15 @@ func (throttler *Throttler) checkScope(ctx context.Context, appName string, scop
if !throttler.IsRunning() {
return okMetricCheckResult
}
- if throttler.IsAppExempted(appName) {
+ if exempted, matchedApp := throttler.IsAppExempted(appName); exempted {
// Some apps are exempt from checks. They are always responded with OK. This is because those apps are
// continuous and do not generate a substantial load.
- return okMetricCheckResult
+ result := okMetricCheckResult
+ result.AppName = matchedApp
+ return result
}
+ matchedApp := appName
if len(metricNames) == 0 {
// No explicit metrics requested.
// Get the metric names mappd to the given app
@@ -1434,6 +1438,7 @@ func (throttler *Throttler) checkScope(ctx context.Context, appName string, scop
case []base.MetricName:
metricNames = append(metricNames, val...)
}
+ matchedApp = appToken
}
}
}
@@ -1447,17 +1452,20 @@ func (throttler *Throttler) checkScope(ctx context.Context, appName string, scop
case []base.MetricName:
metricNames = val
}
+ matchedApp = throttlerapp.AllName.String()
}
}
if throttlerapp.VitessName.Equals(appName) {
// "vitess" always checks all metrics, irrespective of what is mapped.
metricNames = base.KnownMetricNames
+ matchedApp = appName
}
if len(metricNames) == 0 {
// Nothing mapped? For backwards compatibility and as default, we use the "default" metric.
metricNames = base.MetricNames{throttler.metricNameUsedAsDefault()}
}
checkResult = throttler.check.Check(ctx, appName, scope, metricNames, flags)
+ checkResult.AppName = matchedApp
shouldRequestHeartbeats := !flags.SkipRequestHeartbeats
if throttlerapp.VitessName.Equals(appName) {
diff --git a/go/vt/vttablet/tabletserver/throttle/throttler_test.go b/go/vt/vttablet/tabletserver/throttle/throttler_test.go
index 5a7d5f3ef86..54ff04a2ce5 100644
--- a/go/vt/vttablet/tabletserver/throttle/throttler_test.go
+++ b/go/vt/vttablet/tabletserver/throttle/throttler_test.go
@@ -419,6 +419,7 @@ func TestApplyThrottlerConfigMetricThresholds(t *testing.T) {
assert.EqualValues(t, 0.3, checkResult.Value) // self lag value
assert.EqualValues(t, http.StatusOK, checkResult.StatusCode)
assert.Len(t, checkResult.Metrics, 1)
+ assert.Contains(t, checkResult.Summary(), testAppName.String()+" is granted access")
})
t.Run("apply low threshold", func(t *testing.T) {
assert.Equal(t, 0.75, throttler.GetMetricsThreshold())
@@ -441,6 +442,7 @@ func TestApplyThrottlerConfigMetricThresholds(t *testing.T) {
assert.EqualValues(t, 0.3, checkResult.Value, "unexpected result: %+v", checkResult) // self lag value
assert.NotEqualValues(t, http.StatusOK, checkResult.StatusCode, "unexpected result: %+v", checkResult)
assert.Len(t, checkResult.Metrics, 1)
+ assert.Contains(t, checkResult.Summary(), testAppName.String()+" is denied access due to self/lag metric value")
})
t.Run("apply low threshold but high 'lag' override", func(t *testing.T) {
throttlerConfig := &topodatapb.ThrottlerConfig{
@@ -464,6 +466,7 @@ func TestApplyThrottlerConfigMetricThresholds(t *testing.T) {
assert.EqualValues(t, 0.3, checkResult.Value, "unexpected result: %+v", checkResult) // self lag value
assert.EqualValues(t, http.StatusOK, checkResult.StatusCode, "unexpected result: %+v", checkResult)
assert.Len(t, checkResult.Metrics, 1)
+ assert.Contains(t, checkResult.Summary(), testAppName.String()+" is granted access")
})
})
@@ -521,6 +524,7 @@ func TestApplyThrottlerConfigAppCheckedMetrics(t *testing.T) {
assert.EqualValues(t, 0.9, checkResult.Value) // shard lag value
assert.NotEqualValues(t, http.StatusOK, checkResult.StatusCode)
assert.Len(t, checkResult.Metrics, 1)
+ assert.Contains(t, checkResult.Summary(), testAppName.String()+" is denied access due to shard/lag metric value")
})
t.Run("apply high lag threshold", func(t *testing.T) {
throttlerConfig.Threshold = 4444.0
@@ -535,6 +539,7 @@ func TestApplyThrottlerConfigAppCheckedMetrics(t *testing.T) {
assert.EqualValues(t, 0.9, checkResult.Value) // self lag value
assert.EqualValues(t, http.StatusOK, checkResult.StatusCode)
assert.Len(t, checkResult.Metrics, 1)
+ assert.Contains(t, checkResult.Summary(), testAppName.String()+" is granted access")
})
})
t.Run("apply low 'loadavg' threshold", func(t *testing.T) {
@@ -549,6 +554,7 @@ func TestApplyThrottlerConfigAppCheckedMetrics(t *testing.T) {
assert.EqualValues(t, 0.9, checkResult.Value) // shard lag value
assert.EqualValues(t, http.StatusOK, checkResult.StatusCode)
assert.Len(t, checkResult.Metrics, 1)
+ assert.Contains(t, checkResult.Summary(), testAppName.String()+" is granted access")
})
})
t.Run("assign 'loadavg' to test app", func(t *testing.T) {
@@ -567,6 +573,7 @@ func TestApplyThrottlerConfigAppCheckedMetrics(t *testing.T) {
assert.EqualValues(t, 2.718, checkResult.Value) // self loadavg value
assert.NotEqualValues(t, http.StatusOK, checkResult.StatusCode, "unexpected result: %+v", checkResult)
assert.Len(t, checkResult.Metrics, 1)
+ assert.Contains(t, checkResult.Summary(), testAppName.String()+" is denied access due to self/loadavg metric value")
})
})
t.Run("assign 'shard/loadavg' to test app", func(t *testing.T) {
@@ -585,6 +592,7 @@ func TestApplyThrottlerConfigAppCheckedMetrics(t *testing.T) {
assert.EqualValues(t, 5.1, checkResult.Value) // shard loadavg value
assert.NotEqualValues(t, http.StatusOK, checkResult.StatusCode, "unexpected result: %+v", checkResult)
assert.Len(t, checkResult.Metrics, 1)
+ assert.Contains(t, checkResult.Summary(), testAppName.String()+" is denied access due to shard/loadavg metric value")
})
})
t.Run("assign 'lag,loadavg' to test app", func(t *testing.T) {
@@ -602,6 +610,7 @@ func TestApplyThrottlerConfigAppCheckedMetrics(t *testing.T) {
assert.EqualValues(t, 2.718, checkResult.Value) // self loadavg value
assert.NotEqualValues(t, http.StatusOK, checkResult.StatusCode, "unexpected result: %+v", checkResult)
assert.Equal(t, 2, len(checkResult.Metrics))
+ assert.Contains(t, checkResult.Summary(), testAppName.String()+" is denied access due to self/loadavg metric value")
})
})
t.Run("assign 'lag,shard/loadavg' to test app", func(t *testing.T) {
@@ -619,6 +628,7 @@ func TestApplyThrottlerConfigAppCheckedMetrics(t *testing.T) {
assert.EqualValues(t, 5.1, checkResult.Value) // shard loadavg value
assert.NotEqualValues(t, http.StatusOK, checkResult.StatusCode, "unexpected result: %+v", checkResult)
assert.Equal(t, 2, len(checkResult.Metrics))
+ assert.Contains(t, checkResult.Summary(), testAppName.String()+" is denied access due to shard/loadavg metric value")
})
})
t.Run("clear 'loadavg' threshold", func(t *testing.T) {
@@ -632,6 +642,7 @@ func TestApplyThrottlerConfigAppCheckedMetrics(t *testing.T) {
assert.EqualValues(t, 0.9, checkResult.Value) // shard lag value
assert.EqualValues(t, http.StatusOK, checkResult.StatusCode, "unexpected result: %+v", checkResult)
assert.Equal(t, 1, len(checkResult.Metrics), "unexpected metrics: %+v", checkResult.Metrics)
+ assert.Contains(t, checkResult.Summary(), testAppName.String()+" is granted access")
})
})
t.Run("assign 'lag,threads_running' to test app", func(t *testing.T) {
@@ -649,6 +660,7 @@ func TestApplyThrottlerConfigAppCheckedMetrics(t *testing.T) {
assert.EqualValues(t, 0.9, checkResult.Value) // shard lag value
assert.EqualValues(t, http.StatusOK, checkResult.StatusCode, "unexpected result: %+v", checkResult)
assert.Equal(t, 2, len(checkResult.Metrics))
+ assert.Contains(t, checkResult.Summary(), testAppName.String()+" is granted access")
})
})
t.Run("assign 'custom,loadavg' to 'all' app", func(t *testing.T) {
@@ -666,6 +678,7 @@ func TestApplyThrottlerConfigAppCheckedMetrics(t *testing.T) {
assert.EqualValues(t, 2.718, checkResult.Value) // loadavg self value exceeds threshold
assert.NotEqualValues(t, http.StatusOK, checkResult.StatusCode, "unexpected result: %+v", checkResult)
assert.Equal(t, 2, len(checkResult.Metrics))
+ assert.Contains(t, checkResult.Summary(), throttlerapp.AllName.String()+" is denied access due to self/loadavg metric value")
})
t.Run("check 'test' after assignment", func(t *testing.T) {
// "test" app unaffected by 'all' assignment, because it has
@@ -680,6 +693,7 @@ func TestApplyThrottlerConfigAppCheckedMetrics(t *testing.T) {
assert.EqualValues(t, 0.9, checkResult.Value) // shard lag value
assert.EqualValues(t, http.StatusOK, checkResult.StatusCode, "unexpected result: %+v", checkResult)
assert.Equal(t, 2, len(checkResult.Metrics))
+ assert.Contains(t, checkResult.Summary(), testAppName.String()+" is granted access")
})
t.Run("'online-ddl' app affected by 'all'", func(t *testing.T) {
// "online-ddl" app is affected by 'all' assignment, because it has
@@ -693,6 +707,7 @@ func TestApplyThrottlerConfigAppCheckedMetrics(t *testing.T) {
assert.EqualValues(t, 2.718, checkResult.Value) // loadavg self value exceeds threshold
assert.NotEqualValues(t, http.StatusOK, checkResult.StatusCode, "unexpected result: %+v", checkResult)
assert.Equal(t, 2, len(checkResult.Metrics))
+ assert.Contains(t, checkResult.Summary(), throttlerapp.AllName.String()+" is denied access due to self/loadavg metric value")
})
})
t.Run("'vreplication:online-ddl:12345' app affected by 'all'", func(t *testing.T) {
@@ -703,6 +718,7 @@ func TestApplyThrottlerConfigAppCheckedMetrics(t *testing.T) {
assert.EqualValues(t, 2.718, checkResult.Value) // loadavg self value exceeds threshold
assert.NotEqualValues(t, http.StatusOK, checkResult.StatusCode, "unexpected result: %+v", checkResult)
assert.Equal(t, 2, len(checkResult.Metrics))
+ assert.Contains(t, checkResult.Summary(), throttlerapp.AllName.String()+" is denied access due to self/loadavg metric value")
})
t.Run("'vreplication:online-ddl:test' app affected by 'test' and not by 'all'", func(t *testing.T) {
// "vreplication:online-ddl:test" app is affected by 'test' assignment, because it has
@@ -712,6 +728,7 @@ func TestApplyThrottlerConfigAppCheckedMetrics(t *testing.T) {
assert.EqualValues(t, 0.9, checkResult.Value) // shard lag value
assert.EqualValues(t, http.StatusOK, checkResult.StatusCode, "unexpected result: %+v", checkResult)
assert.Equal(t, 2, len(checkResult.Metrics))
+ assert.Contains(t, checkResult.Summary(), testAppName.String()+" is granted access")
})
t.Run("deassign metrics from 'all' app", func(t *testing.T) {
delete(throttlerConfig.AppCheckedMetrics, throttlerapp.AllName.String())
@@ -726,6 +743,7 @@ func TestApplyThrottlerConfigAppCheckedMetrics(t *testing.T) {
assert.EqualValues(t, 0.9, checkResult.Value) // shard lag value
assert.EqualValues(t, http.StatusOK, checkResult.StatusCode, "unexpected result: %+v", checkResult)
assert.Len(t, checkResult.Metrics, 1)
+ assert.Contains(t, checkResult.Summary(), throttlerapp.AllName.String()+" is granted access")
})
t.Run("check 'test' after assignment", func(t *testing.T) {
// "test" app unaffected by the entire 'all' assignment, because it has
@@ -740,6 +758,7 @@ func TestApplyThrottlerConfigAppCheckedMetrics(t *testing.T) {
assert.EqualValues(t, 0.9, checkResult.Value) // shard lag value
assert.EqualValues(t, http.StatusOK, checkResult.StatusCode, "unexpected result: %+v", checkResult)
assert.Equal(t, 2, len(checkResult.Metrics))
+ assert.Contains(t, checkResult.Summary(), testAppName.String()+" is granted access")
})
t.Run("'online-ddl' no longer has 'all' impact", func(t *testing.T) {
// "online-ddl" app is affected by 'all' assignment, because it has
@@ -753,6 +772,7 @@ func TestApplyThrottlerConfigAppCheckedMetrics(t *testing.T) {
assert.EqualValues(t, 0.9, checkResult.Value) // shard lag value
assert.EqualValues(t, http.StatusOK, checkResult.StatusCode, "unexpected result: %+v", checkResult)
assert.Len(t, checkResult.Metrics, 1)
+ assert.Contains(t, checkResult.Summary(), throttlerapp.OnlineDDLName.String()+" is granted access")
})
})
@@ -769,6 +789,7 @@ func TestApplyThrottlerConfigAppCheckedMetrics(t *testing.T) {
assert.EqualValues(t, 0.9, checkResult.Value) // shard lag value
assert.EqualValues(t, http.StatusOK, checkResult.StatusCode)
assert.Len(t, checkResult.Metrics, 1)
+ assert.Contains(t, checkResult.Summary(), testAppName.String()+" is granted access")
})
})
@@ -791,10 +812,26 @@ func TestIsAppThrottled(t *testing.T) {
heartbeatWriter: &FakeHeartbeatWriter{},
}
t.Run("initial", func(t *testing.T) {
- assert.False(t, throttler.IsAppThrottled("app1"))
- assert.False(t, throttler.IsAppThrottled("app2"))
- assert.False(t, throttler.IsAppThrottled("app3"))
- assert.False(t, throttler.IsAppThrottled("app4"))
+ {
+ throttled, app := throttler.IsAppThrottled("app1")
+ assert.False(t, throttled)
+ assert.Equal(t, "app1", app)
+ }
+ {
+ throttled, app := throttler.IsAppThrottled("app2")
+ assert.False(t, throttled)
+ assert.Equal(t, "app2", app)
+ }
+ {
+ throttled, app := throttler.IsAppThrottled("app3")
+ assert.False(t, throttled)
+ assert.Equal(t, "app3", app)
+ }
+ {
+ throttled, app := throttler.IsAppThrottled("app4")
+ assert.False(t, throttled)
+ assert.Equal(t, "app4", app)
+ }
assert.Equal(t, 0, throttler.throttledApps.ItemCount())
})
@@ -804,11 +841,31 @@ func TestIsAppThrottled(t *testing.T) {
throttler.ThrottleApp("app2", time.Now(), DefaultThrottleRatio, false) // instantly expire
throttler.ThrottleApp("app3", plusOneHour, DefaultThrottleRatio, false)
throttler.ThrottleApp("app4", plusOneHour, 0, false)
- assert.False(t, throttler.IsAppThrottled("app1")) // exempted
- assert.False(t, throttler.IsAppThrottled("app2")) // expired
- assert.True(t, throttler.IsAppThrottled("app3"))
- assert.False(t, throttler.IsAppThrottled("app4")) // ratio is zero
- assert.False(t, throttler.IsAppThrottled("app_other")) // not specified
+ {
+ throttled, app := throttler.IsAppThrottled("app1")
+ assert.False(t, throttled) // exempted
+ assert.Equal(t, "app1", app)
+ }
+ {
+ throttled, app := throttler.IsAppThrottled("app2")
+ assert.False(t, throttled) // expired
+ assert.Equal(t, "app2", app)
+ }
+ {
+ throttled, app := throttler.IsAppThrottled("app3")
+ assert.True(t, throttled)
+ assert.Equal(t, "app3", app)
+ }
+ {
+ throttled, app := throttler.IsAppThrottled("app4")
+ assert.False(t, throttled) // ratio is zero
+ assert.Equal(t, "app4", app)
+ }
+ {
+ throttled, app := throttler.IsAppThrottled("app_other")
+ assert.False(t, throttled) // not specified
+ assert.Equal(t, "app_other", app)
+ }
assert.Equal(t, 3, throttler.throttledApps.ItemCount())
})
@@ -816,12 +873,36 @@ func TestIsAppThrottled(t *testing.T) {
// throttle "all", see how it affects app
throttler.ThrottleApp(throttlerapp.AllName.String(), plusOneHour, DefaultThrottleRatio, false)
defer throttler.UnthrottleApp(throttlerapp.AllName.String())
- assert.True(t, throttler.IsAppThrottled("all")) //
- assert.False(t, throttler.IsAppThrottled("app1")) // exempted
- assert.True(t, throttler.IsAppThrottled("app2")) // expired, so falls under "all"
- assert.True(t, throttler.IsAppThrottled("app3"))
- assert.False(t, throttler.IsAppThrottled("app4")) // ratio is zero, there is a specific instruction for this app, so it doesn't fall under "all"
- assert.True(t, throttler.IsAppThrottled("app_other")) // falls under "all"
+ {
+ throttled, app := throttler.IsAppThrottled("all")
+ assert.True(t, throttled) // explicitly throttled
+ assert.Equal(t, "all", app)
+ }
+ {
+ throttled, app := throttler.IsAppThrottled("app1")
+ assert.False(t, throttled) // exempted
+ assert.Equal(t, "app1", app)
+ }
+ {
+ throttled, app := throttler.IsAppThrottled("app2")
+ assert.True(t, throttled) // expired, so falls under "all"
+ assert.Equal(t, "all", app)
+ }
+ {
+ throttled, app := throttler.IsAppThrottled("app3")
+ assert.True(t, throttled)
+ assert.Equal(t, "app3", app)
+ }
+ {
+ throttled, app := throttler.IsAppThrottled("app4")
+ assert.False(t, throttled) // ratio is zero, there is a specific instruction for this app, so it doesn't fall under "all"
+ assert.Equal(t, "app4", app)
+ }
+ {
+ throttled, app := throttler.IsAppThrottled("app_other")
+ assert.True(t, throttled) // falls under "all"
+ assert.Equal(t, "all", app)
+ }
// continuing previous test, we had 3 throttled apps. "all" is a new app being throttled.
assert.Equal(t, 4, throttler.throttledApps.ItemCount())
@@ -832,10 +913,27 @@ func TestIsAppThrottled(t *testing.T) {
throttler.UnthrottleApp("app2")
throttler.UnthrottleApp("app3")
throttler.UnthrottleApp("app4")
- assert.False(t, throttler.IsAppThrottled("app1"))
- assert.False(t, throttler.IsAppThrottled("app2"))
- assert.False(t, throttler.IsAppThrottled("app3"))
- assert.False(t, throttler.IsAppThrottled("app4"))
+
+ {
+ throttled, app := throttler.IsAppThrottled("app1")
+ assert.False(t, throttled)
+ assert.Equal(t, "app1", app)
+ }
+ {
+ throttled, app := throttler.IsAppThrottled("app2")
+ assert.False(t, throttled)
+ assert.Equal(t, "app2", app)
+ }
+ {
+ throttled, app := throttler.IsAppThrottled("app3")
+ assert.False(t, throttled)
+ assert.Equal(t, "app3", app)
+ }
+ {
+ throttled, app := throttler.IsAppThrottled("app4")
+ assert.False(t, throttled)
+ assert.Equal(t, "app4", app)
+ }
// we've manually unthrottled everything
assert.Equal(t, 0, throttler.throttledApps.ItemCount())
@@ -844,12 +942,37 @@ func TestIsAppThrottled(t *testing.T) {
// throttle "all", see how it affects app
throttler.ThrottleApp(throttlerapp.AllName.String(), plusOneHour, DefaultThrottleRatio, false)
defer throttler.UnthrottleApp(throttlerapp.AllName.String())
- assert.True(t, throttler.IsAppThrottled("all"))
- assert.True(t, throttler.IsAppThrottled("app1"))
- assert.True(t, throttler.IsAppThrottled("app2"))
- assert.True(t, throttler.IsAppThrottled("app3"))
- assert.True(t, throttler.IsAppThrottled("app4"))
- assert.True(t, throttler.IsAppThrottled("app_other"))
+
+ {
+ throttled, app := throttler.IsAppThrottled("all")
+ assert.True(t, throttled) // explicitly throttled
+ assert.Equal(t, "all", app)
+ }
+ {
+ throttled, app := throttler.IsAppThrottled("app1")
+ assert.True(t, throttled)
+ assert.Equal(t, "all", app)
+ }
+ {
+ throttled, app := throttler.IsAppThrottled("app2")
+ assert.True(t, throttled)
+ assert.Equal(t, "all", app)
+ }
+ {
+ throttled, app := throttler.IsAppThrottled("app3")
+ assert.True(t, throttled)
+ assert.Equal(t, "all", app)
+ }
+ {
+ throttled, app := throttler.IsAppThrottled("app4")
+ assert.True(t, throttled)
+ assert.Equal(t, "all", app)
+ }
+ {
+ throttled, app := throttler.IsAppThrottled("app_other")
+ assert.True(t, throttled)
+ assert.Equal(t, "all", app)
+ }
// one rule, for "all" app
assert.Equal(t, 1, throttler.throttledApps.ItemCount())
@@ -859,43 +982,120 @@ func TestIsAppThrottled(t *testing.T) {
throttler.ThrottleApp("app3", plusOneHour, DefaultThrottleRatio, false)
throttler.ThrottleApp(throttlerapp.AllName.String(), plusOneHour, DefaultThrottleRatio, true)
defer throttler.UnthrottleApp(throttlerapp.AllName.String())
- assert.False(t, throttler.IsAppThrottled("all"))
- assert.False(t, throttler.IsAppThrottled("app1"))
- assert.False(t, throttler.IsAppThrottled("app2"))
- assert.True(t, throttler.IsAppThrottled("app3"))
- assert.False(t, throttler.IsAppThrottled("app4"))
- assert.False(t, throttler.IsAppThrottled("app_other"))
+ {
+ throttled, app := throttler.IsAppThrottled("all")
+ assert.False(t, throttled) // explicitly throttled
+ assert.Equal(t, "all", app)
+ }
+ {
+ throttled, app := throttler.IsAppThrottled("app1")
+ assert.False(t, throttled)
+ assert.Equal(t, "app1", app)
+ }
+ {
+ throttled, app := throttler.IsAppThrottled("app2")
+ assert.False(t, throttled)
+ assert.Equal(t, "app2", app)
+ }
+ {
+ throttled, app := throttler.IsAppThrottled("app3")
+ assert.True(t, throttled) // explicitly throttled
+ assert.Equal(t, "app3", app)
+ }
+ {
+ throttled, app := throttler.IsAppThrottled("app4")
+ assert.False(t, throttled)
+ assert.Equal(t, "app4", app)
+ }
+ {
+ throttled, app := throttler.IsAppThrottled("app_other")
+ assert.False(t, throttled)
+ assert.Equal(t, "app_other", app)
+ }
assert.Equal(t, 2, throttler.throttledApps.ItemCount())
})
}
func TestIsAppExempted(t *testing.T) {
-
+ plusOneHour := time.Now().Add(time.Hour)
throttler := Throttler{
throttledApps: cache.New(cache.NoExpiration, 0),
heartbeatWriter: &FakeHeartbeatWriter{},
}
- assert.False(t, throttler.IsAppExempted("app1"))
- assert.False(t, throttler.IsAppExempted("app2"))
- assert.False(t, throttler.IsAppExempted("app3"))
- //
- throttler.ThrottleApp("app1", time.Now().Add(time.Hour), DefaultThrottleRatio, true)
- throttler.ThrottleApp("app2", time.Now(), DefaultThrottleRatio, true) // instantly expire
- assert.True(t, throttler.IsAppExempted("app1"))
- assert.True(t, throttler.IsAppExempted("app1:other-tag"))
- assert.False(t, throttler.IsAppExempted("app2")) // expired
- assert.False(t, throttler.IsAppExempted("app3"))
- //
- throttler.UnthrottleApp("app1")
- throttler.ThrottleApp("app2", time.Now().Add(time.Hour), DefaultThrottleRatio, false)
- assert.False(t, throttler.IsAppExempted("app1"))
- assert.False(t, throttler.IsAppExempted("app2"))
- assert.False(t, throttler.IsAppExempted("app3"))
- //
- assert.True(t, throttler.IsAppExempted("schema-tracker"))
- throttler.UnthrottleApp("schema-tracker") // meaningless. App is statically exempted
- assert.True(t, throttler.IsAppExempted("schema-tracker"))
+ t.Run("initial", func(t *testing.T) {
+ {
+ exempted, app := throttler.IsAppExempted("app1")
+ assert.False(t, exempted)
+ assert.Equal(t, "app1", app)
+ }
+ {
+ exempted, app := throttler.IsAppExempted("app2")
+ assert.False(t, exempted)
+ assert.Equal(t, "app2", app)
+ }
+ {
+ exempted, app := throttler.IsAppExempted("app3")
+ assert.False(t, exempted)
+ assert.Equal(t, "app3", app)
+ }
+ })
+ t.Run("exempt", func(t *testing.T) {
+ throttler.ThrottleApp("app1", time.Now().Add(time.Hour), DefaultThrottleRatio, true)
+ throttler.ThrottleApp("app2", time.Now(), DefaultThrottleRatio, true) // instantly expire
+ {
+ exempted, app := throttler.IsAppExempted("app1")
+ assert.True(t, exempted)
+ assert.Equal(t, "app1", app)
+ }
+ {
+ exempted, app := throttler.IsAppExempted("app1:other-tag")
+ assert.True(t, exempted)
+ assert.Equal(t, "app1", app)
+ }
+ {
+ exempted, app := throttler.IsAppExempted("app2")
+ assert.False(t, exempted)
+ assert.Equal(t, "app2", app)
+ }
+ {
+ exempted, app := throttler.IsAppExempted("app3")
+ assert.False(t, exempted)
+ assert.Equal(t, "app3", app)
+ }
+ })
+ t.Run("throttle", func(t *testing.T) {
+ throttler.UnthrottleApp("app1")
+ throttler.ThrottleApp("app2", time.Now().Add(time.Hour), DefaultThrottleRatio, false)
+ {
+ exempted, app := throttler.IsAppExempted("app1")
+ assert.False(t, exempted)
+ assert.Equal(t, "app1", app)
+ }
+ {
+ exempted, app := throttler.IsAppExempted("app2")
+ assert.False(t, exempted)
+ assert.Equal(t, "app2", app)
+ }
+ {
+ exempted, app := throttler.IsAppExempted("app3")
+ assert.False(t, exempted)
+ assert.Equal(t, "app3", app)
+ }
+ })
+ t.Run("special", func(t *testing.T) {
+ {
+ exempted, app := throttler.IsAppExempted("schema-tracker")
+ assert.True(t, exempted)
+ assert.Equal(t, "schema-tracker", app)
+ }
+ throttler.ThrottleApp("schema-tracker", plusOneHour, 1.0, false) // meaningless. App is statically exempted
+ {
+ exempted, app := throttler.IsAppExempted("schema-tracker")
+ assert.True(t, exempted)
+ assert.Equal(t, "schema-tracker", app)
+ }
+ })
}
// TestRefreshInventory tests the behavior of the throttler's RefreshInventory() function, which
@@ -1118,8 +1318,10 @@ func TestProbesWhileOperating(t *testing.T) {
throttler.refreshInventory(ctx)
})
{
- checkOK := client.ThrottleCheckOK(ctx, "")
+ checkResult, checkOK := client.ThrottleCheckOK(ctx, "")
assert.False(t, checkOK) // we expect threshold exceeded
+ assert.NotNil(t, checkResult)
+ assert.Contains(t, checkResult.Summary(), testAppName.String()+" is denied access due to")
}
})
@@ -1130,7 +1332,7 @@ func TestProbesWhileOperating(t *testing.T) {
throttler.refreshInventory(ctx)
})
{
- checkOK := client.ThrottleCheckOK(ctx, "")
+ _, checkOK := client.ThrottleCheckOK(ctx, "")
assert.True(t, checkOK)
}
})
@@ -1141,8 +1343,10 @@ func TestProbesWhileOperating(t *testing.T) {
})
client.clearSuccessfulResultsCache() // ensure we don't read the successful result from the test above
{
- checkOK := client.ThrottleCheckOK(ctx, "")
+ checkResult, checkOK := client.ThrottleCheckOK(ctx, "")
assert.False(t, checkOK)
+ assert.NotNil(t, checkResult)
+ assert.Contains(t, checkResult.Summary(), testAppName.String()+" is denied access due to")
}
})
})
@@ -1207,8 +1411,9 @@ func TestProbesWhileOperating(t *testing.T) {
throttler.refreshInventory(ctx)
})
{
- checkOK := client.ThrottleCheckOK(ctx, "")
+ checkResult, checkOK := client.ThrottleCheckOK(ctx, "")
assert.False(t, checkOK) // we expect threshold exceeded
+ assert.NotNil(t, checkResult)
}
})
@@ -1219,7 +1424,7 @@ func TestProbesWhileOperating(t *testing.T) {
throttler.refreshInventory(ctx)
})
{
- checkOK := client.ThrottleCheckOK(ctx, "")
+ _, checkOK := client.ThrottleCheckOK(ctx, "")
assert.False(t, checkOK) // 0.95 still too low for custom query
}
})
@@ -1229,7 +1434,7 @@ func TestProbesWhileOperating(t *testing.T) {
throttler.refreshInventory(ctx)
})
{
- checkOK := client.ThrottleCheckOK(ctx, "")
+ _, checkOK := client.ThrottleCheckOK(ctx, "")
assert.False(t, checkOK) // 15 still too low for custom query because primary has 17
}
})
@@ -1239,7 +1444,7 @@ func TestProbesWhileOperating(t *testing.T) {
throttler.refreshInventory(ctx)
})
{
- checkOK := client.ThrottleCheckOK(ctx, "")
+ _, checkOK := client.ThrottleCheckOK(ctx, "")
assert.True(t, checkOK)
}
})
@@ -1250,7 +1455,7 @@ func TestProbesWhileOperating(t *testing.T) {
})
client.clearSuccessfulResultsCache() // ensure we don't read the successful result from the test above
{
- checkOK := client.ThrottleCheckOK(ctx, "")
+ _, checkOK := client.ThrottleCheckOK(ctx, "")
assert.False(t, checkOK)
}
})
@@ -1504,6 +1709,7 @@ func TestChecks(t *testing.T) {
require.NotNil(t, checkResult)
assert.EqualValues(t, 0.3, checkResult.Value) // self lag value
assert.EqualValues(t, http.StatusOK, checkResult.StatusCode)
+ assert.Equal(t, testAppName.String(), checkResult.AppName)
assert.Len(t, checkResult.Metrics, 1)
})
t.Run("explicit names", func(t *testing.T) {
@@ -1515,6 +1721,7 @@ func TestChecks(t *testing.T) {
t.Logf("%s: %+v", k, v)
}
}
+ assert.Equal(t, testAppName.String(), checkResult.AppName)
assert.Equal(t, len(base.KnownMetricNames), len(checkResult.Metrics))
assert.EqualValues(t, 0.3, checkResult.Metrics[base.LagMetricName.String()].Value) // self lag value, because flags.Scope is set
@@ -1535,6 +1742,7 @@ func TestChecks(t *testing.T) {
t.Run("implicit names, always all known", func(t *testing.T) {
checkResult := throttler.Check(ctx, throttlerapp.VitessName.String(), nil, flags)
// "vitess" app always checks all known metrics:
+ assert.Equal(t, throttlerapp.VitessName.String(), checkResult.AppName)
assert.Equal(t, len(base.KnownMetricNames), len(checkResult.Metrics))
})
t.Run("explicit names, irrelevant, always all known", func(t *testing.T) {
@@ -1545,6 +1753,7 @@ func TestChecks(t *testing.T) {
checkResult := throttler.Check(ctx, throttlerapp.VitessName.String(), metricNames, flags)
require.NotNil(t, checkResult)
+ assert.Equal(t, throttlerapp.VitessName.String(), checkResult.AppName)
assert.Equal(t, len(base.KnownMetricNames), len(checkResult.Metrics))
})
})
@@ -1560,6 +1769,7 @@ func TestChecks(t *testing.T) {
assert.EqualValues(t, 0.9, checkResult.Value) // shard lag value
assert.NotEqualValues(t, http.StatusOK, checkResult.StatusCode)
assert.ErrorIs(t, checkResult.Error, base.ErrThresholdExceeded)
+ assert.Equal(t, testAppName.String(), checkResult.AppName)
assert.Len(t, checkResult.Metrics, 1)
})
t.Run("explicit names", func(t *testing.T) {
@@ -1568,6 +1778,7 @@ func TestChecks(t *testing.T) {
assert.EqualValues(t, 0.9, checkResult.Value) // shard lag value
assert.NotEqualValues(t, http.StatusOK, checkResult.StatusCode)
assert.ErrorIs(t, checkResult.Error, base.ErrThresholdExceeded)
+ assert.Equal(t, testAppName.String(), checkResult.AppName)
assert.Equal(t, len(base.KnownMetricNames), len(checkResult.Metrics))
assert.EqualValues(t, 0.9, checkResult.Metrics[base.LagMetricName.String()].Value) // shard lag value, because flags.Scope is set
@@ -1851,7 +2062,7 @@ func TestReplica(t *testing.T) {
})
t.Run("client, OK", func(t *testing.T) {
client := NewBackgroundClient(throttler, throttlerapp.TestingName, base.UndefinedScope)
- checkOK := client.ThrottleCheckOK(ctx, "")
+ _, checkOK := client.ThrottleCheckOK(ctx, "")
assert.True(t, checkOK)
})
t.Run("client, metrics names mapped, OK", func(t *testing.T) {
@@ -1859,7 +2070,7 @@ func TestReplica(t *testing.T) {
throttler.appCheckedMetrics.Set(throttlerapp.TestingName.String(), base.MetricNames{base.LagMetricName, base.ThreadsRunningMetricName}, cache.DefaultExpiration)
defer throttler.appCheckedMetrics.Delete(throttlerapp.TestingName.String())
client := NewBackgroundClient(throttler, throttlerapp.TestingName, base.UndefinedScope)
- checkOK := client.ThrottleCheckOK(ctx, "")
+ _, checkOK := client.ThrottleCheckOK(ctx, "")
assert.True(t, checkOK)
})
t.Run("client, metrics names mapped, not OK", func(t *testing.T) {
@@ -1867,8 +2078,10 @@ func TestReplica(t *testing.T) {
throttler.appCheckedMetrics.Set(throttlerapp.TestingName.String(), base.MetricNames{base.LagMetricName, base.LoadAvgMetricName, base.ThreadsRunningMetricName}, cache.DefaultExpiration)
defer throttler.appCheckedMetrics.Delete(throttlerapp.TestingName.String())
client := NewBackgroundClient(throttler, throttlerapp.TestingName, base.UndefinedScope)
- checkOK := client.ThrottleCheckOK(ctx, "")
+ checkResult, checkOK := client.ThrottleCheckOK(ctx, "")
assert.False(t, checkOK)
+ assert.NotNil(t, checkResult)
+ assert.Contains(t, checkResult.Summary(), testAppName.String()+" is denied access due to")
})
t.Run("custom query, metrics", func(t *testing.T) {
@@ -1902,8 +2115,10 @@ func TestReplica(t *testing.T) {
})
t.Run("client, not OK", func(t *testing.T) {
client := NewBackgroundClient(throttler, throttlerapp.TestingName, base.SelfScope)
- checkOK := client.ThrottleCheckOK(ctx, "")
+ checkResult, checkOK := client.ThrottleCheckOK(ctx, "")
assert.False(t, checkOK)
+ assert.NotNil(t, checkResult)
+ assert.Contains(t, checkResult.Summary(), testAppName.String()+" is denied access due to")
})
}()
})
diff --git a/go/vt/vttablet/tabletserver/vstreamer/helper_event_test.go b/go/vt/vttablet/tabletserver/vstreamer/helper_event_test.go
index 49dabae3973..81f4d3f7975 100644
--- a/go/vt/vttablet/tabletserver/vstreamer/helper_event_test.go
+++ b/go/vt/vttablet/tabletserver/vstreamer/helper_event_test.go
@@ -780,6 +780,8 @@ func getQueryType(strType string) query.Type {
return query.Type_SET
case "JSON":
return query.Type_JSON
+ case "VECTOR":
+ return query.Type_VECTOR
default:
panic("unknown type " + strType)
}
diff --git a/go/vt/vttablet/tabletserver/vstreamer/resultstreamer.go b/go/vt/vttablet/tabletserver/vstreamer/resultstreamer.go
index 4632bea672b..b6294cd1939 100644
--- a/go/vt/vttablet/tabletserver/vstreamer/resultstreamer.go
+++ b/go/vt/vttablet/tabletserver/vstreamer/resultstreamer.go
@@ -109,7 +109,7 @@ func (rs *resultStreamer) Stream() error {
}
// check throttler.
- if !rs.vse.throttlerClient.ThrottleCheckOKOrWaitAppName(rs.ctx, throttlerapp.ResultStreamerName) {
+ if _, ok := rs.vse.throttlerClient.ThrottleCheckOKOrWaitAppName(rs.ctx, throttlerapp.ResultStreamerName); !ok {
logger.Infof("throttled.")
continue
}
diff --git a/go/vt/vttablet/tabletserver/vstreamer/rowstreamer.go b/go/vt/vttablet/tabletserver/vstreamer/rowstreamer.go
index bb8ff7af85f..6015590dad7 100644
--- a/go/vt/vttablet/tabletserver/vstreamer/rowstreamer.go
+++ b/go/vt/vttablet/tabletserver/vstreamer/rowstreamer.go
@@ -388,9 +388,9 @@ func (rs *rowStreamer) streamQuery(send func(*binlogdatapb.VStreamRowsResponse)
}
// check throttler.
- if !rs.vse.throttlerClient.ThrottleCheckOKOrWaitAppName(rs.ctx, throttlerapp.RowStreamerName) {
+ if checkResult, ok := rs.vse.throttlerClient.ThrottleCheckOKOrWaitAppName(rs.ctx, throttlerapp.RowStreamerName); !ok {
throttleResponseRateLimiter.Do(func() error {
- return safeSend(&binlogdatapb.VStreamRowsResponse{Throttled: true})
+ return safeSend(&binlogdatapb.VStreamRowsResponse{Throttled: true, ThrottledReason: checkResult.Summary()})
})
logger.Infof("throttled.")
continue
diff --git a/go/vt/vttablet/tabletserver/vstreamer/uvstreamer.go b/go/vt/vttablet/tabletserver/vstreamer/uvstreamer.go
index 2b770c1d4f4..854157b1546 100644
--- a/go/vt/vttablet/tabletserver/vstreamer/uvstreamer.go
+++ b/go/vt/vttablet/tabletserver/vstreamer/uvstreamer.go
@@ -88,7 +88,7 @@ type uvstreamer struct {
config *uvstreamerConfig
- vs *vstreamer //last vstreamer created in uvstreamer
+ vs *vstreamer // last vstreamer created in uvstreamer
}
type uvstreamerConfig struct {
@@ -138,6 +138,9 @@ func (uvs *uvstreamer) buildTablePlan() error {
uvs.plans = make(map[string]*tablePlan)
tableLastPKs := make(map[string]*binlogdatapb.TableLastPK)
for _, tablePK := range uvs.inTablePKs {
+ if tablePK != nil && tablePK.Lastpk != nil && len(tablePK.Lastpk.Fields) == 0 {
+ return fmt.Errorf("lastpk for table %s has no fields defined", tablePK.TableName)
+ }
tableLastPKs[tablePK.TableName] = tablePK
}
tables := uvs.se.GetSchema()
@@ -313,7 +316,6 @@ func (uvs *uvstreamer) send2(evs []*binlogdatapb.VEvent) error {
}
behind := time.Now().UnixNano() - uvs.lastTimestampNs
uvs.setReplicationLagSeconds(behind / 1e9)
- //log.Infof("sbm set to %d", uvs.ReplicationLagSeconds)
var evs2 []*binlogdatapb.VEvent
if len(uvs.plans) > 0 {
evs2 = uvs.filterEvents(evs)
diff --git a/go/vt/vttablet/tabletserver/vstreamer/vstreamer.go b/go/vt/vttablet/tabletserver/vstreamer/vstreamer.go
index 3413c53d811..634c9a5d40c 100644
--- a/go/vt/vttablet/tabletserver/vstreamer/vstreamer.go
+++ b/go/vt/vttablet/tabletserver/vstreamer/vstreamer.go
@@ -287,17 +287,18 @@ func (vs *vstreamer) parseEvents(ctx context.Context, events <-chan mysql.Binlog
hbTimer := time.NewTimer(HeartbeatTime)
defer hbTimer.Stop()
- injectHeartbeat := func(throttled bool) error {
+ injectHeartbeat := func(throttled bool, throttledReason string) error {
now := time.Now().UnixNano()
select {
case <-ctx.Done():
return vterrors.Errorf(vtrpcpb.Code_CANCELED, "context has expired")
default:
err := bufferAndTransmit(&binlogdatapb.VEvent{
- Type: binlogdatapb.VEventType_HEARTBEAT,
- Timestamp: now / 1e9,
- CurrentTime: now,
- Throttled: throttled,
+ Type: binlogdatapb.VEventType_HEARTBEAT,
+ Timestamp: now / 1e9,
+ CurrentTime: now,
+ Throttled: throttled,
+ ThrottledReason: throttledReason,
})
return err
}
@@ -309,7 +310,7 @@ func (vs *vstreamer) parseEvents(ctx context.Context, events <-chan mysql.Binlog
defer throttledHeartbeatsRateLimiter.Stop()
for {
// check throttler.
- if !vs.vse.throttlerClient.ThrottleCheckOKOrWaitAppName(ctx, vs.throttlerApp) {
+ if checkResult, ok := vs.vse.throttlerClient.ThrottleCheckOKOrWaitAppName(ctx, vs.throttlerApp); !ok {
// make sure to leave if context is cancelled
select {
case <-ctx.Done():
@@ -318,7 +319,7 @@ func (vs *vstreamer) parseEvents(ctx context.Context, events <-chan mysql.Binlog
// do nothing special
}
throttledHeartbeatsRateLimiter.Do(func() error {
- return injectHeartbeat(true)
+ return injectHeartbeat(true, checkResult.Summary())
})
// we won't process events, until we're no longer throttling
logger.Infof("throttled.")
@@ -393,7 +394,7 @@ func (vs *vstreamer) parseEvents(ctx context.Context, events <-chan mysql.Binlog
case <-ctx.Done():
return nil
case <-hbTimer.C:
- if err := injectHeartbeat(false); err != nil {
+ if err := injectHeartbeat(false, ""); err != nil {
if err == io.EOF {
return nil
}
diff --git a/go/vt/vttablet/tabletserver/vstreamer/vstreamer_test.go b/go/vt/vttablet/tabletserver/vstreamer/vstreamer_test.go
index 8d0d182790e..4d9f66f1809 100644
--- a/go/vt/vttablet/tabletserver/vstreamer/vstreamer_test.go
+++ b/go/vt/vttablet/tabletserver/vstreamer/vstreamer_test.go
@@ -398,6 +398,33 @@ func TestMissingTables(t *testing.T) {
runCases(t, filter, testcases, startPos, nil)
}
+// TestVStreamMissingFieldsInLastPK tests that we error out if the lastpk for a table is missing the fields spec.
+func TestVStreamMissingFieldsInLastPK(t *testing.T) {
+ ts := &TestSpec{
+ t: t,
+ ddls: []string{
+ "create table t1(id11 int, id12 int, primary key(id11))",
+ },
+ }
+ ts.Init()
+ defer ts.Close()
+ filter := &binlogdatapb.Filter{
+ Rules: []*binlogdatapb.Rule{{
+ Match: "t1",
+ Filter: "select * from t1",
+ }},
+ }
+ var tablePKs []*binlogdatapb.TableLastPK
+ tablePKs = append(tablePKs, getTablePK("t1", 1))
+ for _, tpk := range tablePKs {
+ tpk.Lastpk.Fields = nil
+ }
+ ctx := context.Background()
+ ch := make(chan []*binlogdatapb.VEvent)
+ err := vstream(ctx, t, "", tablePKs, filter, ch)
+ require.ErrorContains(t, err, "lastpk for table t1 has no fields defined")
+}
+
func TestVStreamCopySimpleFlow(t *testing.T) {
ts := &TestSpec{
t: t,
diff --git a/java/jdbc/src/main/java/io/vitess/util/MysqlDefs.java b/java/jdbc/src/main/java/io/vitess/util/MysqlDefs.java
index 6edd18353e3..add98e470c7 100644
--- a/java/jdbc/src/main/java/io/vitess/util/MysqlDefs.java
+++ b/java/jdbc/src/main/java/io/vitess/util/MysqlDefs.java
@@ -87,6 +87,7 @@ public final class MysqlDefs {
static final int FIELD_TYPE_VARCHAR = 15;
// Newer data types
static final int FIELD_TYPE_YEAR = 13;
+ static final int FIELD_TYPE_VECTOR = 242;
static final int FIELD_TYPE_JSON = 245;
static final int INIT_DB = 2;
@@ -166,6 +167,7 @@ public final class MysqlDefs {
mysqlToJdbcTypesMap.put("SET", mysqlToJavaType(FIELD_TYPE_SET));
mysqlToJdbcTypesMap.put("GEOMETRY", mysqlToJavaType(FIELD_TYPE_GEOMETRY));
mysqlToJdbcTypesMap.put("JSON", mysqlToJavaType(FIELD_TYPE_JSON));
+ mysqlToJdbcTypesMap.put("VECTOR", mysqlToJavaType(FIELD_TYPE_VECTOR));
}
static {
@@ -200,6 +202,7 @@ public final class MysqlDefs {
vitesstoMySqlType.put(Query.Type.TUPLE, Types.OTHER);
vitesstoMySqlType.put(Query.Type.GEOMETRY, Types.BINARY);
vitesstoMySqlType.put(Query.Type.JSON, Types.CHAR);
+ vitesstoMySqlType.put(Query.Type.VECTOR, Types.BINARY);
}
static {
@@ -337,6 +340,7 @@ public static int mysqlToJavaType(int mysqlType) {
break;
case MysqlDefs.FIELD_TYPE_GEOMETRY:
+ case MysqlDefs.FIELD_TYPE_VECTOR:
jdbcType = Types.BINARY;
break;
@@ -423,6 +427,8 @@ public static int mysqlToJavaType(String mysqlType) {
return mysqlToJavaType(FIELD_TYPE_BIT);
} else if (mysqlType.equalsIgnoreCase("JSON")) {
return mysqlToJavaType(FIELD_TYPE_JSON);
+ } else if (mysqlType.equalsIgnoreCase("VECTOR")) {
+ return mysqlToJavaType(FIELD_TYPE_VECTOR);
}
// Punt
@@ -509,6 +515,9 @@ public static String typeToName(int mysqlType) {
case MysqlDefs.FIELD_TYPE_GEOMETRY:
return "FIELD_TYPE_GEOMETRY";
+ case MysqlDefs.FIELD_TYPE_VECTOR:
+ return "FIELD_TYPE_VECTOR";
+
case MysqlDefs.FIELD_TYPE_JSON:
return "FIELD_TYPE_JSON";
diff --git a/proto/binlogdata.proto b/proto/binlogdata.proto
index 1e70275e8b5..5f5bbd59c6e 100644
--- a/proto/binlogdata.proto
+++ b/proto/binlogdata.proto
@@ -458,6 +458,8 @@ message VEvent {
string shard = 23;
// indicate that we are being throttled right now
bool throttled = 24;
+ // ThrottledReason is a human readable string that explains why the stream is throttled
+ string throttled_reason = 25;
}
message MinimalTable {
@@ -511,6 +513,8 @@ message VStreamRowsResponse {
bool throttled = 6;
// Heartbeat indicates that this is a heartbeat message
bool heartbeat = 7;
+ // ThrottledReason is a human readable string that explains why the stream is throttled
+ string throttled_reason = 8;
}
diff --git a/proto/query.proto b/proto/query.proto
index 99bef7780ac..1332de76ab2 100644
--- a/proto/query.proto
+++ b/proto/query.proto
@@ -215,6 +215,9 @@ enum Type {
// BITNUM specifies a base 2 binary type (unquoted varbinary).
// Properties: 34, IsText.
BITNUM = 4130;
+ // VECTOR specifies a VECTOR type
+ // Properties: 35, IsQuoted.
+ VECTOR = 2083;
}
// Value represents a typed value.
diff --git a/proto/tabletmanagerdata.proto b/proto/tabletmanagerdata.proto
index ffe4aa29abf..549c6c09782 100644
--- a/proto/tabletmanagerdata.proto
+++ b/proto/tabletmanagerdata.proto
@@ -771,6 +771,12 @@ message CheckThrottlerResponse {
// Metrics is a map (metric name -> metric value/error) so that the client has as much
// information as possible about all the checked metrics.
map metrics = 7;
+
+ // AppName is the name of app that was matched by the throttler
+ string app_name = 8;
+
+ // Summary is a human readable analysis of the result
+ string summary = 9;
}
message GetThrottlerStatusRequest {
diff --git a/proto/vtctldata.proto b/proto/vtctldata.proto
index 317e8706584..869e50a23df 100644
--- a/proto/vtctldata.proto
+++ b/proto/vtctldata.proto
@@ -1357,6 +1357,8 @@ message PlannedReparentShardRequest {
// acceptable for a tablet to be eligible for promotion when Vitess makes the choice of a new primary.
// A value of 0 indicates that Vitess shouldn't consider the replication lag at all.
vttime.Duration tolerable_replication_lag = 6;
+ // AllowCrossCellPromotion allows cross cell promotion,
+ bool allow_cross_cell_promotion = 7;
}
message PlannedReparentShardResponse {
diff --git a/web/vtadmin/src/proto/vtadmin.d.ts b/web/vtadmin/src/proto/vtadmin.d.ts
index f347f0f33c8..d69d72daaac 100644
--- a/web/vtadmin/src/proto/vtadmin.d.ts
+++ b/web/vtadmin/src/proto/vtadmin.d.ts
@@ -30653,6 +30653,12 @@ export namespace tabletmanagerdata {
/** CheckThrottlerResponse metrics */
metrics?: ({ [k: string]: tabletmanagerdata.CheckThrottlerResponse.IMetric }|null);
+
+ /** CheckThrottlerResponse app_name */
+ app_name?: (string|null);
+
+ /** CheckThrottlerResponse summary */
+ summary?: (string|null);
}
/** Represents a CheckThrottlerResponse. */
@@ -30685,6 +30691,12 @@ export namespace tabletmanagerdata {
/** CheckThrottlerResponse metrics. */
public metrics: { [k: string]: tabletmanagerdata.CheckThrottlerResponse.IMetric };
+ /** CheckThrottlerResponse app_name. */
+ public app_name: string;
+
+ /** CheckThrottlerResponse summary. */
+ public summary: string;
+
/**
* Creates a new CheckThrottlerResponse instance using the specified properties.
* @param [properties] Properties to set
@@ -33809,6 +33821,9 @@ export namespace binlogdata {
/** VEvent throttled */
throttled?: (boolean|null);
+
+ /** VEvent throttled_reason */
+ throttled_reason?: (string|null);
}
/** Represents a VEvent. */
@@ -33862,6 +33877,9 @@ export namespace binlogdata {
/** VEvent throttled. */
public throttled: boolean;
+ /** VEvent throttled_reason. */
+ public throttled_reason: string;
+
/**
* Creates a new VEvent instance using the specified properties.
* @param [properties] Properties to set
@@ -34520,6 +34538,9 @@ export namespace binlogdata {
/** VStreamRowsResponse heartbeat */
heartbeat?: (boolean|null);
+
+ /** VStreamRowsResponse throttled_reason */
+ throttled_reason?: (string|null);
}
/** Represents a VStreamRowsResponse. */
@@ -34552,6 +34573,9 @@ export namespace binlogdata {
/** VStreamRowsResponse heartbeat. */
public heartbeat: boolean;
+ /** VStreamRowsResponse throttled_reason. */
+ public throttled_reason: string;
+
/**
* Creates a new VStreamRowsResponse instance using the specified properties.
* @param [properties] Properties to set
@@ -35943,7 +35967,8 @@ export namespace query {
EXPRESSION = 31,
HEXNUM = 4128,
HEXVAL = 4129,
- BITNUM = 4130
+ BITNUM = 4130,
+ VECTOR = 2083
}
/** Properties of a Value. */
@@ -63056,6 +63081,9 @@ export namespace vtctldata {
/** PlannedReparentShardRequest tolerable_replication_lag */
tolerable_replication_lag?: (vttime.IDuration|null);
+
+ /** PlannedReparentShardRequest allow_cross_cell_promotion */
+ allow_cross_cell_promotion?: (boolean|null);
}
/** Represents a PlannedReparentShardRequest. */
@@ -63085,6 +63113,9 @@ export namespace vtctldata {
/** PlannedReparentShardRequest tolerable_replication_lag. */
public tolerable_replication_lag?: (vttime.IDuration|null);
+ /** PlannedReparentShardRequest allow_cross_cell_promotion. */
+ public allow_cross_cell_promotion: boolean;
+
/**
* Creates a new PlannedReparentShardRequest instance using the specified properties.
* @param [properties] Properties to set
diff --git a/web/vtadmin/src/proto/vtadmin.js b/web/vtadmin/src/proto/vtadmin.js
index 7cf7fdc61b1..569d1602c6b 100644
--- a/web/vtadmin/src/proto/vtadmin.js
+++ b/web/vtadmin/src/proto/vtadmin.js
@@ -71283,6 +71283,8 @@ export const tabletmanagerdata = $root.tabletmanagerdata = (() => {
* @property {string|null} [message] CheckThrottlerResponse message
* @property {boolean|null} [recently_checked] CheckThrottlerResponse recently_checked
* @property {Object.|null} [metrics] CheckThrottlerResponse metrics
+ * @property {string|null} [app_name] CheckThrottlerResponse app_name
+ * @property {string|null} [summary] CheckThrottlerResponse summary
*/
/**
@@ -71357,6 +71359,22 @@ export const tabletmanagerdata = $root.tabletmanagerdata = (() => {
*/
CheckThrottlerResponse.prototype.metrics = $util.emptyObject;
+ /**
+ * CheckThrottlerResponse app_name.
+ * @member {string} app_name
+ * @memberof tabletmanagerdata.CheckThrottlerResponse
+ * @instance
+ */
+ CheckThrottlerResponse.prototype.app_name = "";
+
+ /**
+ * CheckThrottlerResponse summary.
+ * @member {string} summary
+ * @memberof tabletmanagerdata.CheckThrottlerResponse
+ * @instance
+ */
+ CheckThrottlerResponse.prototype.summary = "";
+
/**
* Creates a new CheckThrottlerResponse instance using the specified properties.
* @function create
@@ -71398,6 +71416,10 @@ export const tabletmanagerdata = $root.tabletmanagerdata = (() => {
writer.uint32(/* id 7, wireType 2 =*/58).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]);
$root.tabletmanagerdata.CheckThrottlerResponse.Metric.encode(message.metrics[keys[i]], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim().ldelim();
}
+ if (message.app_name != null && Object.hasOwnProperty.call(message, "app_name"))
+ writer.uint32(/* id 8, wireType 2 =*/66).string(message.app_name);
+ if (message.summary != null && Object.hasOwnProperty.call(message, "summary"))
+ writer.uint32(/* id 9, wireType 2 =*/74).string(message.summary);
return writer;
};
@@ -71479,6 +71501,14 @@ export const tabletmanagerdata = $root.tabletmanagerdata = (() => {
message.metrics[key] = value;
break;
}
+ case 8: {
+ message.app_name = reader.string();
+ break;
+ }
+ case 9: {
+ message.summary = reader.string();
+ break;
+ }
default:
reader.skipType(tag & 7);
break;
@@ -71542,6 +71572,12 @@ export const tabletmanagerdata = $root.tabletmanagerdata = (() => {
return "metrics." + error;
}
}
+ if (message.app_name != null && message.hasOwnProperty("app_name"))
+ if (!$util.isString(message.app_name))
+ return "app_name: string expected";
+ if (message.summary != null && message.hasOwnProperty("summary"))
+ if (!$util.isString(message.summary))
+ return "summary: string expected";
return null;
};
@@ -71579,6 +71615,10 @@ export const tabletmanagerdata = $root.tabletmanagerdata = (() => {
message.metrics[keys[i]] = $root.tabletmanagerdata.CheckThrottlerResponse.Metric.fromObject(object.metrics[keys[i]]);
}
}
+ if (object.app_name != null)
+ message.app_name = String(object.app_name);
+ if (object.summary != null)
+ message.summary = String(object.summary);
return message;
};
@@ -71604,6 +71644,8 @@ export const tabletmanagerdata = $root.tabletmanagerdata = (() => {
object.error = "";
object.message = "";
object.recently_checked = false;
+ object.app_name = "";
+ object.summary = "";
}
if (message.status_code != null && message.hasOwnProperty("status_code"))
object.status_code = message.status_code;
@@ -71623,6 +71665,10 @@ export const tabletmanagerdata = $root.tabletmanagerdata = (() => {
for (let j = 0; j < keys2.length; ++j)
object.metrics[keys2[j]] = $root.tabletmanagerdata.CheckThrottlerResponse.Metric.toObject(message.metrics[keys2[j]], options);
}
+ if (message.app_name != null && message.hasOwnProperty("app_name"))
+ object.app_name = message.app_name;
+ if (message.summary != null && message.hasOwnProperty("summary"))
+ object.summary = message.summary;
return object;
};
@@ -79683,6 +79729,7 @@ export const binlogdata = $root.binlogdata = (() => {
* @property {string|null} [keyspace] VEvent keyspace
* @property {string|null} [shard] VEvent shard
* @property {boolean|null} [throttled] VEvent throttled
+ * @property {string|null} [throttled_reason] VEvent throttled_reason
*/
/**
@@ -79812,6 +79859,14 @@ export const binlogdata = $root.binlogdata = (() => {
*/
VEvent.prototype.throttled = false;
+ /**
+ * VEvent throttled_reason.
+ * @member {string} throttled_reason
+ * @memberof binlogdata.VEvent
+ * @instance
+ */
+ VEvent.prototype.throttled_reason = "";
+
/**
* Creates a new VEvent instance using the specified properties.
* @function create
@@ -79864,6 +79919,8 @@ export const binlogdata = $root.binlogdata = (() => {
writer.uint32(/* id 23, wireType 2 =*/186).string(message.shard);
if (message.throttled != null && Object.hasOwnProperty.call(message, "throttled"))
writer.uint32(/* id 24, wireType 0 =*/192).bool(message.throttled);
+ if (message.throttled_reason != null && Object.hasOwnProperty.call(message, "throttled_reason"))
+ writer.uint32(/* id 25, wireType 2 =*/202).string(message.throttled_reason);
return writer;
};
@@ -79954,6 +80011,10 @@ export const binlogdata = $root.binlogdata = (() => {
message.throttled = reader.bool();
break;
}
+ case 25: {
+ message.throttled_reason = reader.string();
+ break;
+ }
default:
reader.skipType(tag & 7);
break;
@@ -80065,6 +80126,9 @@ export const binlogdata = $root.binlogdata = (() => {
if (message.throttled != null && message.hasOwnProperty("throttled"))
if (typeof message.throttled !== "boolean")
return "throttled: boolean expected";
+ if (message.throttled_reason != null && message.hasOwnProperty("throttled_reason"))
+ if (!$util.isString(message.throttled_reason))
+ return "throttled_reason: string expected";
return null;
};
@@ -80227,6 +80291,8 @@ export const binlogdata = $root.binlogdata = (() => {
message.shard = String(object.shard);
if (object.throttled != null)
message.throttled = Boolean(object.throttled);
+ if (object.throttled_reason != null)
+ message.throttled_reason = String(object.throttled_reason);
return message;
};
@@ -80266,6 +80332,7 @@ export const binlogdata = $root.binlogdata = (() => {
object.keyspace = "";
object.shard = "";
object.throttled = false;
+ object.throttled_reason = "";
}
if (message.type != null && message.hasOwnProperty("type"))
object.type = options.enums === String ? $root.binlogdata.VEventType[message.type] === undefined ? message.type : $root.binlogdata.VEventType[message.type] : message.type;
@@ -80301,6 +80368,8 @@ export const binlogdata = $root.binlogdata = (() => {
object.shard = message.shard;
if (message.throttled != null && message.hasOwnProperty("throttled"))
object.throttled = message.throttled;
+ if (message.throttled_reason != null && message.hasOwnProperty("throttled_reason"))
+ object.throttled_reason = message.throttled_reason;
return object;
};
@@ -81801,6 +81870,7 @@ export const binlogdata = $root.binlogdata = (() => {
* @property {query.IRow|null} [lastpk] VStreamRowsResponse lastpk
* @property {boolean|null} [throttled] VStreamRowsResponse throttled
* @property {boolean|null} [heartbeat] VStreamRowsResponse heartbeat
+ * @property {string|null} [throttled_reason] VStreamRowsResponse throttled_reason
*/
/**
@@ -81877,6 +81947,14 @@ export const binlogdata = $root.binlogdata = (() => {
*/
VStreamRowsResponse.prototype.heartbeat = false;
+ /**
+ * VStreamRowsResponse throttled_reason.
+ * @member {string} throttled_reason
+ * @memberof binlogdata.VStreamRowsResponse
+ * @instance
+ */
+ VStreamRowsResponse.prototype.throttled_reason = "";
+
/**
* Creates a new VStreamRowsResponse instance using the specified properties.
* @function create
@@ -81918,6 +81996,8 @@ export const binlogdata = $root.binlogdata = (() => {
writer.uint32(/* id 6, wireType 0 =*/48).bool(message.throttled);
if (message.heartbeat != null && Object.hasOwnProperty.call(message, "heartbeat"))
writer.uint32(/* id 7, wireType 0 =*/56).bool(message.heartbeat);
+ if (message.throttled_reason != null && Object.hasOwnProperty.call(message, "throttled_reason"))
+ writer.uint32(/* id 8, wireType 2 =*/66).string(message.throttled_reason);
return writer;
};
@@ -81986,6 +82066,10 @@ export const binlogdata = $root.binlogdata = (() => {
message.heartbeat = reader.bool();
break;
}
+ case 8: {
+ message.throttled_reason = reader.string();
+ break;
+ }
default:
reader.skipType(tag & 7);
break;
@@ -82062,6 +82146,9 @@ export const binlogdata = $root.binlogdata = (() => {
if (message.heartbeat != null && message.hasOwnProperty("heartbeat"))
if (typeof message.heartbeat !== "boolean")
return "heartbeat: boolean expected";
+ if (message.throttled_reason != null && message.hasOwnProperty("throttled_reason"))
+ if (!$util.isString(message.throttled_reason))
+ return "throttled_reason: string expected";
return null;
};
@@ -82118,6 +82205,8 @@ export const binlogdata = $root.binlogdata = (() => {
message.throttled = Boolean(object.throttled);
if (object.heartbeat != null)
message.heartbeat = Boolean(object.heartbeat);
+ if (object.throttled_reason != null)
+ message.throttled_reason = String(object.throttled_reason);
return message;
};
@@ -82144,6 +82233,7 @@ export const binlogdata = $root.binlogdata = (() => {
object.lastpk = null;
object.throttled = false;
object.heartbeat = false;
+ object.throttled_reason = "";
}
if (message.fields && message.fields.length) {
object.fields = [];
@@ -82168,6 +82258,8 @@ export const binlogdata = $root.binlogdata = (() => {
object.throttled = message.throttled;
if (message.heartbeat != null && message.hasOwnProperty("heartbeat"))
object.heartbeat = message.heartbeat;
+ if (message.throttled_reason != null && message.hasOwnProperty("throttled_reason"))
+ object.throttled_reason = message.throttled_reason;
return object;
};
@@ -85549,6 +85641,7 @@ export const query = $root.query = (() => {
* @property {number} HEXNUM=4128 HEXNUM value
* @property {number} HEXVAL=4129 HEXVAL value
* @property {number} BITNUM=4130 BITNUM value
+ * @property {number} VECTOR=2083 VECTOR value
*/
query.Type = (function() {
const valuesById = {}, values = Object.create(valuesById);
@@ -85587,6 +85680,7 @@ export const query = $root.query = (() => {
values[valuesById[4128] = "HEXNUM"] = 4128;
values[valuesById[4129] = "HEXVAL"] = 4129;
values[valuesById[4130] = "BITNUM"] = 4130;
+ values[valuesById[2083] = "VECTOR"] = 2083;
return values;
})();
@@ -85775,6 +85869,7 @@ export const query = $root.query = (() => {
case 4128:
case 4129:
case 4130:
+ case 2083:
break;
}
if (message.value != null && message.hasOwnProperty("value"))
@@ -85942,6 +86037,10 @@ export const query = $root.query = (() => {
case 4130:
message.type = 4130;
break;
+ case "VECTOR":
+ case 2083:
+ message.type = 2083;
+ break;
}
if (object.value != null)
if (typeof object.value === "string")
@@ -86214,6 +86313,7 @@ export const query = $root.query = (() => {
case 4128:
case 4129:
case 4130:
+ case 2083:
break;
}
if (message.value != null && message.hasOwnProperty("value"))
@@ -86390,6 +86490,10 @@ export const query = $root.query = (() => {
case 4130:
message.type = 4130;
break;
+ case "VECTOR":
+ case 2083:
+ message.type = 2083;
+ break;
}
if (object.value != null)
if (typeof object.value === "string")
@@ -87880,6 +87984,7 @@ export const query = $root.query = (() => {
case 4128:
case 4129:
case 4130:
+ case 2083:
break;
}
if (message.table != null && message.hasOwnProperty("table"))
@@ -88073,6 +88178,10 @@ export const query = $root.query = (() => {
case 4130:
message.type = 4130;
break;
+ case "VECTOR":
+ case 2083:
+ message.type = 2083;
+ break;
}
if (object.table != null)
message.table = String(object.table);
@@ -105203,6 +105312,7 @@ export const query = $root.query = (() => {
case 4128:
case 4129:
case 4130:
+ case 2083:
break;
}
return null;
@@ -105371,6 +105481,10 @@ export const query = $root.query = (() => {
case 4130:
message.return_type = 4130;
break;
+ case "VECTOR":
+ case 2083:
+ message.return_type = 2083;
+ break;
}
return message;
};
@@ -108957,6 +109071,7 @@ export const vschema = $root.vschema = (() => {
case 4128:
case 4129:
case 4130:
+ case 2083:
break;
}
return null;
@@ -109123,6 +109238,10 @@ export const vschema = $root.vschema = (() => {
case 4130:
message.tenant_id_column_type = 4130;
break;
+ case "VECTOR":
+ case 2083:
+ message.tenant_id_column_type = 2083;
+ break;
}
return message;
};
@@ -110663,6 +110782,7 @@ export const vschema = $root.vschema = (() => {
case 4128:
case 4129:
case 4130:
+ case 2083:
break;
}
if (message.invisible != null && message.hasOwnProperty("invisible"))
@@ -110856,6 +110976,10 @@ export const vschema = $root.vschema = (() => {
case 4130:
message.type = 4130;
break;
+ case "VECTOR":
+ case 2083:
+ message.type = 2083;
+ break;
}
if (object.invisible != null)
message.invisible = Boolean(object.invisible);
@@ -154750,6 +154874,7 @@ export const vtctldata = $root.vtctldata = (() => {
* @property {topodata.ITabletAlias|null} [avoid_primary] PlannedReparentShardRequest avoid_primary
* @property {vttime.IDuration|null} [wait_replicas_timeout] PlannedReparentShardRequest wait_replicas_timeout
* @property {vttime.IDuration|null} [tolerable_replication_lag] PlannedReparentShardRequest tolerable_replication_lag
+ * @property {boolean|null} [allow_cross_cell_promotion] PlannedReparentShardRequest allow_cross_cell_promotion
*/
/**
@@ -154815,6 +154940,14 @@ export const vtctldata = $root.vtctldata = (() => {
*/
PlannedReparentShardRequest.prototype.tolerable_replication_lag = null;
+ /**
+ * PlannedReparentShardRequest allow_cross_cell_promotion.
+ * @member {boolean} allow_cross_cell_promotion
+ * @memberof vtctldata.PlannedReparentShardRequest
+ * @instance
+ */
+ PlannedReparentShardRequest.prototype.allow_cross_cell_promotion = false;
+
/**
* Creates a new PlannedReparentShardRequest instance using the specified properties.
* @function create
@@ -154851,6 +154984,8 @@ export const vtctldata = $root.vtctldata = (() => {
$root.vttime.Duration.encode(message.wait_replicas_timeout, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
if (message.tolerable_replication_lag != null && Object.hasOwnProperty.call(message, "tolerable_replication_lag"))
$root.vttime.Duration.encode(message.tolerable_replication_lag, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ if (message.allow_cross_cell_promotion != null && Object.hasOwnProperty.call(message, "allow_cross_cell_promotion"))
+ writer.uint32(/* id 7, wireType 0 =*/56).bool(message.allow_cross_cell_promotion);
return writer;
};
@@ -154909,6 +155044,10 @@ export const vtctldata = $root.vtctldata = (() => {
message.tolerable_replication_lag = $root.vttime.Duration.decode(reader, reader.uint32());
break;
}
+ case 7: {
+ message.allow_cross_cell_promotion = reader.bool();
+ break;
+ }
default:
reader.skipType(tag & 7);
break;
@@ -154970,6 +155109,9 @@ export const vtctldata = $root.vtctldata = (() => {
if (error)
return "tolerable_replication_lag." + error;
}
+ if (message.allow_cross_cell_promotion != null && message.hasOwnProperty("allow_cross_cell_promotion"))
+ if (typeof message.allow_cross_cell_promotion !== "boolean")
+ return "allow_cross_cell_promotion: boolean expected";
return null;
};
@@ -155009,6 +155151,8 @@ export const vtctldata = $root.vtctldata = (() => {
throw TypeError(".vtctldata.PlannedReparentShardRequest.tolerable_replication_lag: object expected");
message.tolerable_replication_lag = $root.vttime.Duration.fromObject(object.tolerable_replication_lag);
}
+ if (object.allow_cross_cell_promotion != null)
+ message.allow_cross_cell_promotion = Boolean(object.allow_cross_cell_promotion);
return message;
};
@@ -155032,6 +155176,7 @@ export const vtctldata = $root.vtctldata = (() => {
object.avoid_primary = null;
object.wait_replicas_timeout = null;
object.tolerable_replication_lag = null;
+ object.allow_cross_cell_promotion = false;
}
if (message.keyspace != null && message.hasOwnProperty("keyspace"))
object.keyspace = message.keyspace;
@@ -155045,6 +155190,8 @@ export const vtctldata = $root.vtctldata = (() => {
object.wait_replicas_timeout = $root.vttime.Duration.toObject(message.wait_replicas_timeout, options);
if (message.tolerable_replication_lag != null && message.hasOwnProperty("tolerable_replication_lag"))
object.tolerable_replication_lag = $root.vttime.Duration.toObject(message.tolerable_replication_lag, options);
+ if (message.allow_cross_cell_promotion != null && message.hasOwnProperty("allow_cross_cell_promotion"))
+ object.allow_cross_cell_promotion = message.allow_cross_cell_promotion;
return object;
};