// Copyright (c) 2015, the Dart project authors.  Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

syntax = "proto2";

package string_grid;

// A grid of variable-length rows,
// to test repeated fields.
message Grid {
  repeated Line lines = 1;
}

message Line {
  repeated string cells = 1;
}

// A grid where each line contains 10 fields,
// to test non-repeated fields.
message Grid10 {
  repeated Line10 lines = 1;
}

message Line10 {
  optional string cell1 = 1;
  optional string cell2 = 2;
  optional string cell3 = 3;
  optional string cell4 = 4;
  optional string cell5 = 5;
  optional string cell6 = 6;
  optional string cell7 = 7;
  optional string cell8 = 8;
  optional string cell9 = 9;
  optional string cell10 = 10;
}
