bracket_tree 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. data/.gitignore +4 -0
  2. data/.travis.yml +7 -0
  3. data/Gemfile +4 -0
  4. data/README.md +187 -0
  5. data/Rakefile +8 -0
  6. data/bracket_tree.gemspec +20 -0
  7. data/lib/bracket_tree.rb +9 -0
  8. data/lib/bracket_tree/bracket.rb +12 -0
  9. data/lib/bracket_tree/bracket/base.rb +228 -0
  10. data/lib/bracket_tree/bracket/double_elimination.rb +7 -0
  11. data/lib/bracket_tree/bracket/single_elimination.rb +7 -0
  12. data/lib/bracket_tree/match.rb +24 -0
  13. data/lib/bracket_tree/node.rb +23 -0
  14. data/lib/bracket_tree/template.rb +70 -0
  15. data/lib/bracket_tree/templates/double_elimination.rb +11 -0
  16. data/lib/bracket_tree/templates/double_elimination/128.json +3695 -0
  17. data/lib/bracket_tree/templates/double_elimination/16.json +107 -0
  18. data/lib/bracket_tree/templates/double_elimination/32.json +202 -0
  19. data/lib/bracket_tree/templates/double_elimination/4.json +26 -0
  20. data/lib/bracket_tree/templates/double_elimination/64.json +400 -0
  21. data/lib/bracket_tree/templates/double_elimination/8.json +50 -0
  22. data/lib/bracket_tree/templates/single_elimination.rb +11 -0
  23. data/lib/bracket_tree/templates/single_elimination/128.json +1917 -0
  24. data/lib/bracket_tree/templates/single_elimination/16.json +56 -0
  25. data/lib/bracket_tree/templates/single_elimination/2.json +11 -0
  26. data/lib/bracket_tree/templates/single_elimination/32.json +351 -0
  27. data/lib/bracket_tree/templates/single_elimination/4.json +17 -0
  28. data/lib/bracket_tree/templates/single_elimination/64.json +703 -0
  29. data/lib/bracket_tree/templates/single_elimination/8.json +29 -0
  30. data/spec/bracket_spec.rb +189 -0
  31. data/spec/double_elimination_spec.rb +5 -0
  32. data/spec/match_spec.rb +30 -0
  33. data/spec/spec_helper.rb +3 -0
  34. data/spec/template_spec.rb +58 -0
  35. metadata +112 -0
@@ -0,0 +1,56 @@
1
+ {
2
+ "matches":[
3
+ { "seats":[1,3], "winner_to":2, "loser_to":null },
4
+ { "seats":[5,7], "winner_to":6, "loser_to":null },
5
+ { "seats":[9,11], "winner_to":10, "loser_to":null },
6
+ { "seats":[13,15], "winner_to":14, "loser_to":null },
7
+ { "seats":[17,19], "winner_to":18, "loser_to":null },
8
+ { "seats":[21,23], "winner_to":22, "loser_to":null },
9
+ { "seats":[25,27], "winner_to":26, "loser_to":null },
10
+ { "seats":[29,31], "winner_to":30, "loser_to":null },
11
+
12
+ { "seats":[2,6], "winner_to":4, "loser_to":null },
13
+ { "seats":[10,14], "winner_to":12, "loser_to":null },
14
+ { "seats":[18,22], "winner_to":20, "loser_to":null },
15
+ { "seats":[26,30], "winner_to":28, "loser_to":null },
16
+
17
+ { "seats":[4,12], "winner_to":8, "loser_to":null },
18
+ { "seats":[20,28], "winner_to":24, "loser_to":null },
19
+
20
+ { "seats":[8,24], "winner_to":null, "loser_to":null }
21
+ ],
22
+ "seats":[
23
+ { "position":16 },
24
+ { "position":8 },
25
+ { "position":24 },
26
+ { "position":20 },
27
+ { "position":28 },
28
+ { "position":4 },
29
+ { "position":12 },
30
+ { "position":26 },
31
+ { "position":30 },
32
+ { "position":18 },
33
+ { "position":22 },
34
+ { "position":10 },
35
+ { "position":14 },
36
+ { "position":2 },
37
+ { "position":6 },
38
+ { "position":29 },
39
+ { "position":31 },
40
+ { "position":25 },
41
+ { "position":27 },
42
+ { "position":21 },
43
+ { "position":23 },
44
+ { "position":17 },
45
+ { "position":19 },
46
+ { "position":13 },
47
+ { "position":15 },
48
+ { "position":9 },
49
+ { "position":11 },
50
+ { "position":5 },
51
+ { "position":7 },
52
+ { "position":1 },
53
+ { "position":3 }
54
+ ],
55
+ "starting_seats":[1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31]
56
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "matches":[
3
+ { "seats":[1,3], "winner_to":null, "loser_to":null }
4
+ ],
5
+ "seats":[
6
+ { "position": 2 },
7
+ { "position": 1 },
8
+ { "position": 3 }
9
+ ],
10
+ "starting_seats":[1,3]
11
+ }
@@ -0,0 +1,351 @@
1
+ {
2
+ "matches": [
3
+ {
4
+ "seats": [
5
+ 1,
6
+ 3
7
+ ],
8
+ "winner_to": 2,
9
+ "loser_to": null
10
+ },
11
+ {
12
+ "seats": [
13
+ 5,
14
+ 7
15
+ ],
16
+ "winner_to": 6,
17
+ "loser_to": null
18
+ },
19
+ {
20
+ "seats": [
21
+ 9,
22
+ 11
23
+ ],
24
+ "winner_to": 10,
25
+ "loser_to": null
26
+ },
27
+ {
28
+ "seats": [
29
+ 13,
30
+ 15
31
+ ],
32
+ "winner_to": 14,
33
+ "loser_to": null
34
+ },
35
+ {
36
+ "seats": [
37
+ 17,
38
+ 19
39
+ ],
40
+ "winner_to": 18,
41
+ "loser_to": null
42
+ },
43
+ {
44
+ "seats": [
45
+ 21,
46
+ 23
47
+ ],
48
+ "winner_to": 22,
49
+ "loser_to": null
50
+ },
51
+ {
52
+ "seats": [
53
+ 25,
54
+ 27
55
+ ],
56
+ "winner_to": 26,
57
+ "loser_to": null
58
+ },
59
+ {
60
+ "seats": [
61
+ 29,
62
+ 31
63
+ ],
64
+ "winner_to": 30,
65
+ "loser_to": null
66
+ },
67
+ {
68
+ "seats": [
69
+ 33,
70
+ 35
71
+ ],
72
+ "winner_to": 34,
73
+ "loser_to": null
74
+ },
75
+ {
76
+ "seats": [
77
+ 37,
78
+ 39
79
+ ],
80
+ "winner_to": 38,
81
+ "loser_to": null
82
+ },
83
+ {
84
+ "seats": [
85
+ 41,
86
+ 43
87
+ ],
88
+ "winner_to": 42,
89
+ "loser_to": null
90
+ },
91
+ {
92
+ "seats": [
93
+ 45,
94
+ 47
95
+ ],
96
+ "winner_to": 46,
97
+ "loser_to": null
98
+ },
99
+ {
100
+ "seats": [
101
+ 49,
102
+ 51
103
+ ],
104
+ "winner_to": 50,
105
+ "loser_to": null
106
+ },
107
+ {
108
+ "seats": [
109
+ 53,
110
+ 55
111
+ ],
112
+ "winner_to": 54,
113
+ "loser_to": null
114
+ },
115
+ {
116
+ "seats": [
117
+ 57,
118
+ 59
119
+ ],
120
+ "winner_to": 58,
121
+ "loser_to": null
122
+ },
123
+ {
124
+ "seats": [
125
+ 61,
126
+ 63
127
+ ],
128
+ "winner_to": 62,
129
+ "loser_to": null
130
+ },
131
+ {
132
+ "seats": [
133
+ 2,
134
+ 6
135
+ ],
136
+ "winner_to": 4,
137
+ "loser_to": null
138
+ },
139
+ {
140
+ "seats": [
141
+ 10,
142
+ 14
143
+ ],
144
+ "winner_to": 12,
145
+ "loser_to": null
146
+ },
147
+ {
148
+ "seats": [
149
+ 18,
150
+ 22
151
+ ],
152
+ "winner_to": 20,
153
+ "loser_to": null
154
+ },
155
+ {
156
+ "seats": [
157
+ 26,
158
+ 30
159
+ ],
160
+ "winner_to": 28,
161
+ "loser_to": null
162
+ },
163
+ {
164
+ "seats": [
165
+ 34,
166
+ 38
167
+ ],
168
+ "winner_to": 36,
169
+ "loser_to": null
170
+ },
171
+ {
172
+ "seats": [
173
+ 42,
174
+ 46
175
+ ],
176
+ "winner_to": 44,
177
+ "loser_to": null
178
+ },
179
+ {
180
+ "seats": [
181
+ 50,
182
+ 54
183
+ ],
184
+ "winner_to": 52,
185
+ "loser_to": null
186
+ },
187
+ {
188
+ "seats": [
189
+ 58,
190
+ 62
191
+ ],
192
+ "winner_to": 60,
193
+ "loser_to": null
194
+ },
195
+ {
196
+ "seats": [
197
+ 4,
198
+ 12
199
+ ],
200
+ "winner_to": 8,
201
+ "loser_to": null
202
+ },
203
+ {
204
+ "seats": [
205
+ 20,
206
+ 28
207
+ ],
208
+ "winner_to": 24,
209
+ "loser_to": null
210
+ },
211
+ {
212
+ "seats": [
213
+ 36,
214
+ 44
215
+ ],
216
+ "winner_to": 40,
217
+ "loser_to": null
218
+ },
219
+ {
220
+ "seats": [
221
+ 52,
222
+ 60
223
+ ],
224
+ "winner_to": 56,
225
+ "loser_to": null
226
+ },
227
+ {
228
+ "seats": [
229
+ 8,
230
+ 24
231
+ ],
232
+ "winner_to": 16,
233
+ "loser_to": null
234
+ },
235
+ {
236
+ "seats": [
237
+ 40,
238
+ 56
239
+ ],
240
+ "winner_to": 48,
241
+ "loser_to": null
242
+ },
243
+ {
244
+ "seats": [
245
+ 16,
246
+ 48
247
+ ],
248
+ "winner_to": null,
249
+ "loser_to": null
250
+ }
251
+ ],
252
+ "seats": [
253
+ { "position": 32 },
254
+ { "position": 16 },
255
+ { "position": 48 },
256
+ { "position": 8 },
257
+ { "position": 24 },
258
+ { "position": 40 },
259
+ { "position": 56 },
260
+ { "position": 4 },
261
+ { "position": 12 },
262
+ { "position": 20 },
263
+ { "position": 28 },
264
+ { "position": 36 },
265
+ { "position": 44 },
266
+ { "position": 52 },
267
+ { "position": 60 },
268
+ { "position": 2 },
269
+ { "position": 6 },
270
+ { "position": 10 },
271
+ { "position": 14 },
272
+ { "position": 18 },
273
+ { "position": 22 },
274
+ { "position": 26 },
275
+ { "position": 30 },
276
+ { "position": 34 },
277
+ { "position": 38 },
278
+ { "position": 42 },
279
+ { "position": 46 },
280
+ { "position": 50 },
281
+ { "position": 54 },
282
+ { "position": 58 },
283
+ { "position": 62 },
284
+ { "position": 1 },
285
+ { "position": 3 },
286
+ { "position": 5 },
287
+ { "position": 7 },
288
+ { "position": 9 },
289
+ { "position": 11 },
290
+ { "position": 13 },
291
+ { "position": 15 },
292
+ { "position": 17 },
293
+ { "position": 19 },
294
+ { "position": 21 },
295
+ { "position": 23 },
296
+ { "position": 25 },
297
+ { "position": 27 },
298
+ { "position": 29 },
299
+ { "position": 31 },
300
+ { "position": 33 },
301
+ { "position": 35 },
302
+ { "position": 37 },
303
+ { "position": 39 },
304
+ { "position": 41 },
305
+ { "position": 43 },
306
+ { "position": 45 },
307
+ { "position": 47 },
308
+ { "position": 49 },
309
+ { "position": 51 },
310
+ { "position": 53 },
311
+ { "position": 55 },
312
+ { "position": 57 },
313
+ { "position": 59 },
314
+ { "position": 61 },
315
+ { "position": 63 }
316
+ ],
317
+ "starting_seats": [
318
+ 1,
319
+ 3,
320
+ 5,
321
+ 7,
322
+ 9,
323
+ 11,
324
+ 13,
325
+ 15,
326
+ 17,
327
+ 19,
328
+ 21,
329
+ 23,
330
+ 25,
331
+ 27,
332
+ 29,
333
+ 31,
334
+ 33,
335
+ 35,
336
+ 37,
337
+ 39,
338
+ 41,
339
+ 43,
340
+ 45,
341
+ 47,
342
+ 49,
343
+ 51,
344
+ 53,
345
+ 55,
346
+ 57,
347
+ 59,
348
+ 61,
349
+ 63
350
+ ]
351
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "matches":[
3
+ { "seats":[1,3], "winner_to":2, "loser_to":null },
4
+ { "seats":[5,7], "winner_to":6, "loser_to":null },
5
+ { "seats":[2,6], "winner_to":null, "loser_to":null }
6
+ ],
7
+ "seats":[
8
+ { "position": 4 },
9
+ { "position": 2 },
10
+ { "position": 6 },
11
+ { "position": 1 },
12
+ { "position": 3 },
13
+ { "position": 5 },
14
+ { "position": 7 }
15
+ ],
16
+ "starting_seats":[1,3,5,7]
17
+ }
@@ -0,0 +1,703 @@
1
+ {
2
+ "matches": [
3
+ {
4
+ "seats": [
5
+ 1,
6
+ 3
7
+ ],
8
+ "winner_to": 2,
9
+ "loser_to": null
10
+ },
11
+ {
12
+ "seats": [
13
+ 5,
14
+ 7
15
+ ],
16
+ "winner_to": 6,
17
+ "loser_to": null
18
+ },
19
+ {
20
+ "seats": [
21
+ 9,
22
+ 11
23
+ ],
24
+ "winner_to": 10,
25
+ "loser_to": null
26
+ },
27
+ {
28
+ "seats": [
29
+ 13,
30
+ 15
31
+ ],
32
+ "winner_to": 14,
33
+ "loser_to": null
34
+ },
35
+ {
36
+ "seats": [
37
+ 17,
38
+ 19
39
+ ],
40
+ "winner_to": 18,
41
+ "loser_to": null
42
+ },
43
+ {
44
+ "seats": [
45
+ 21,
46
+ 23
47
+ ],
48
+ "winner_to": 22,
49
+ "loser_to": null
50
+ },
51
+ {
52
+ "seats": [
53
+ 25,
54
+ 27
55
+ ],
56
+ "winner_to": 26,
57
+ "loser_to": null
58
+ },
59
+ {
60
+ "seats": [
61
+ 29,
62
+ 31
63
+ ],
64
+ "winner_to": 30,
65
+ "loser_to": null
66
+ },
67
+ {
68
+ "seats": [
69
+ 33,
70
+ 35
71
+ ],
72
+ "winner_to": 34,
73
+ "loser_to": null
74
+ },
75
+ {
76
+ "seats": [
77
+ 37,
78
+ 39
79
+ ],
80
+ "winner_to": 38,
81
+ "loser_to": null
82
+ },
83
+ {
84
+ "seats": [
85
+ 41,
86
+ 43
87
+ ],
88
+ "winner_to": 42,
89
+ "loser_to": null
90
+ },
91
+ {
92
+ "seats": [
93
+ 45,
94
+ 47
95
+ ],
96
+ "winner_to": 46,
97
+ "loser_to": null
98
+ },
99
+ {
100
+ "seats": [
101
+ 49,
102
+ 51
103
+ ],
104
+ "winner_to": 50,
105
+ "loser_to": null
106
+ },
107
+ {
108
+ "seats": [
109
+ 53,
110
+ 55
111
+ ],
112
+ "winner_to": 54,
113
+ "loser_to": null
114
+ },
115
+ {
116
+ "seats": [
117
+ 57,
118
+ 59
119
+ ],
120
+ "winner_to": 58,
121
+ "loser_to": null
122
+ },
123
+ {
124
+ "seats": [
125
+ 61,
126
+ 63
127
+ ],
128
+ "winner_to": 62,
129
+ "loser_to": null
130
+ },
131
+ {
132
+ "seats": [
133
+ 65,
134
+ 67
135
+ ],
136
+ "winner_to": 66,
137
+ "loser_to": null
138
+ },
139
+ {
140
+ "seats": [
141
+ 69,
142
+ 71
143
+ ],
144
+ "winner_to": 70,
145
+ "loser_to": null
146
+ },
147
+ {
148
+ "seats": [
149
+ 73,
150
+ 75
151
+ ],
152
+ "winner_to": 74,
153
+ "loser_to": null
154
+ },
155
+ {
156
+ "seats": [
157
+ 77,
158
+ 79
159
+ ],
160
+ "winner_to": 78,
161
+ "loser_to": null
162
+ },
163
+ {
164
+ "seats": [
165
+ 81,
166
+ 83
167
+ ],
168
+ "winner_to": 82,
169
+ "loser_to": null
170
+ },
171
+ {
172
+ "seats": [
173
+ 85,
174
+ 87
175
+ ],
176
+ "winner_to": 86,
177
+ "loser_to": null
178
+ },
179
+ {
180
+ "seats": [
181
+ 89,
182
+ 91
183
+ ],
184
+ "winner_to": 90,
185
+ "loser_to": null
186
+ },
187
+ {
188
+ "seats": [
189
+ 93,
190
+ 95
191
+ ],
192
+ "winner_to": 94,
193
+ "loser_to": null
194
+ },
195
+ {
196
+ "seats": [
197
+ 97,
198
+ 99
199
+ ],
200
+ "winner_to": 98,
201
+ "loser_to": null
202
+ },
203
+ {
204
+ "seats": [
205
+ 101,
206
+ 103
207
+ ],
208
+ "winner_to": 102,
209
+ "loser_to": null
210
+ },
211
+ {
212
+ "seats": [
213
+ 105,
214
+ 107
215
+ ],
216
+ "winner_to": 106,
217
+ "loser_to": null
218
+ },
219
+ {
220
+ "seats": [
221
+ 109,
222
+ 111
223
+ ],
224
+ "winner_to": 110,
225
+ "loser_to": null
226
+ },
227
+ {
228
+ "seats": [
229
+ 113,
230
+ 115
231
+ ],
232
+ "winner_to": 114,
233
+ "loser_to": null
234
+ },
235
+ {
236
+ "seats": [
237
+ 117,
238
+ 119
239
+ ],
240
+ "winner_to": 118,
241
+ "loser_to": null
242
+ },
243
+ {
244
+ "seats": [
245
+ 121,
246
+ 123
247
+ ],
248
+ "winner_to": 122,
249
+ "loser_to": null
250
+ },
251
+ {
252
+ "seats": [
253
+ 125,
254
+ 127
255
+ ],
256
+ "winner_to": 126,
257
+ "loser_to": null
258
+ },
259
+ {
260
+ "seats": [
261
+ 2,
262
+ 6
263
+ ],
264
+ "winner_to": 4,
265
+ "loser_to": null
266
+ },
267
+ {
268
+ "seats": [
269
+ 10,
270
+ 14
271
+ ],
272
+ "winner_to": 12,
273
+ "loser_to": null
274
+ },
275
+ {
276
+ "seats": [
277
+ 18,
278
+ 22
279
+ ],
280
+ "winner_to": 20,
281
+ "loser_to": null
282
+ },
283
+ {
284
+ "seats": [
285
+ 26,
286
+ 30
287
+ ],
288
+ "winner_to": 28,
289
+ "loser_to": null
290
+ },
291
+ {
292
+ "seats": [
293
+ 34,
294
+ 38
295
+ ],
296
+ "winner_to": 36,
297
+ "loser_to": null
298
+ },
299
+ {
300
+ "seats": [
301
+ 42,
302
+ 46
303
+ ],
304
+ "winner_to": 44,
305
+ "loser_to": null
306
+ },
307
+ {
308
+ "seats": [
309
+ 50,
310
+ 54
311
+ ],
312
+ "winner_to": 52,
313
+ "loser_to": null
314
+ },
315
+ {
316
+ "seats": [
317
+ 58,
318
+ 62
319
+ ],
320
+ "winner_to": 60,
321
+ "loser_to": null
322
+ },
323
+ {
324
+ "seats": [
325
+ 66,
326
+ 70
327
+ ],
328
+ "winner_to": 68,
329
+ "loser_to": null
330
+ },
331
+ {
332
+ "seats": [
333
+ 74,
334
+ 78
335
+ ],
336
+ "winner_to": 76,
337
+ "loser_to": null
338
+ },
339
+ {
340
+ "seats": [
341
+ 82,
342
+ 86
343
+ ],
344
+ "winner_to": 84,
345
+ "loser_to": null
346
+ },
347
+ {
348
+ "seats": [
349
+ 90,
350
+ 94
351
+ ],
352
+ "winner_to": 92,
353
+ "loser_to": null
354
+ },
355
+ {
356
+ "seats": [
357
+ 98,
358
+ 102
359
+ ],
360
+ "winner_to": 100,
361
+ "loser_to": null
362
+ },
363
+ {
364
+ "seats": [
365
+ 106,
366
+ 110
367
+ ],
368
+ "winner_to": 108,
369
+ "loser_to": null
370
+ },
371
+ {
372
+ "seats": [
373
+ 114,
374
+ 118
375
+ ],
376
+ "winner_to": 116,
377
+ "loser_to": null
378
+ },
379
+ {
380
+ "seats": [
381
+ 122,
382
+ 126
383
+ ],
384
+ "winner_to": 124,
385
+ "loser_to": null
386
+ },
387
+ {
388
+ "seats": [
389
+ 4,
390
+ 12
391
+ ],
392
+ "winner_to": 8,
393
+ "loser_to": null
394
+ },
395
+ {
396
+ "seats": [
397
+ 20,
398
+ 28
399
+ ],
400
+ "winner_to": 24,
401
+ "loser_to": null
402
+ },
403
+ {
404
+ "seats": [
405
+ 36,
406
+ 44
407
+ ],
408
+ "winner_to": 40,
409
+ "loser_to": null
410
+ },
411
+ {
412
+ "seats": [
413
+ 52,
414
+ 60
415
+ ],
416
+ "winner_to": 56,
417
+ "loser_to": null
418
+ },
419
+ {
420
+ "seats": [
421
+ 68,
422
+ 76
423
+ ],
424
+ "winner_to": 72,
425
+ "loser_to": null
426
+ },
427
+ {
428
+ "seats": [
429
+ 84,
430
+ 92
431
+ ],
432
+ "winner_to": 88,
433
+ "loser_to": null
434
+ },
435
+ {
436
+ "seats": [
437
+ 100,
438
+ 108
439
+ ],
440
+ "winner_to": 104,
441
+ "loser_to": null
442
+ },
443
+ {
444
+ "seats": [
445
+ 116,
446
+ 124
447
+ ],
448
+ "winner_to": 120,
449
+ "loser_to": null
450
+ },
451
+ {
452
+ "seats": [
453
+ 8,
454
+ 24
455
+ ],
456
+ "winner_to": 16,
457
+ "loser_to": null
458
+ },
459
+ {
460
+ "seats": [
461
+ 40,
462
+ 56
463
+ ],
464
+ "winner_to": 48,
465
+ "loser_to": null
466
+ },
467
+ {
468
+ "seats": [
469
+ 72,
470
+ 88
471
+ ],
472
+ "winner_to": 80,
473
+ "loser_to": null
474
+ },
475
+ {
476
+ "seats": [
477
+ 104,
478
+ 120
479
+ ],
480
+ "winner_to": 112,
481
+ "loser_to": null
482
+ },
483
+ {
484
+ "seats": [
485
+ 16,
486
+ 48
487
+ ],
488
+ "winner_to": 32,
489
+ "loser_to": null
490
+ },
491
+ {
492
+ "seats": [
493
+ 80,
494
+ 112
495
+ ],
496
+ "winner_to": 96,
497
+ "loser_to": null
498
+ },
499
+ {
500
+ "seats": [
501
+ 32,
502
+ 96
503
+ ],
504
+ "winner_to": null,
505
+ "loser_to": null
506
+ }
507
+ ],
508
+ "seats": [
509
+ { "position": 64 },
510
+ { "position": 32 },
511
+ { "position": 96 },
512
+ { "position": 16 },
513
+ { "position": 48 },
514
+ { "position": 80 },
515
+ { "position": 112 },
516
+ { "position": 8 },
517
+ { "position": 24 },
518
+ { "position": 40 },
519
+ { "position": 56 },
520
+ { "position": 72 },
521
+ { "position": 88 },
522
+ { "position": 104 },
523
+ { "position": 120 },
524
+ { "position": 4 },
525
+ { "position": 12 },
526
+ { "position": 20 },
527
+ { "position": 28 },
528
+ { "position": 36 },
529
+ { "position": 44 },
530
+ { "position": 52 },
531
+ { "position": 60 },
532
+ { "position": 68 },
533
+ { "position": 76 },
534
+ { "position": 84 },
535
+ { "position": 92 },
536
+ { "position": 100 },
537
+ { "position": 108 },
538
+ { "position": 116 },
539
+ { "position": 124 },
540
+ { "position": 2 },
541
+ { "position": 6 },
542
+ { "position": 10 },
543
+ { "position": 14 },
544
+ { "position": 18 },
545
+ { "position": 22 },
546
+ { "position": 26 },
547
+ { "position": 30 },
548
+ { "position": 34 },
549
+ { "position": 38 },
550
+ { "position": 42 },
551
+ { "position": 46 },
552
+ { "position": 50 },
553
+ { "position": 54 },
554
+ { "position": 58 },
555
+ { "position": 62 },
556
+ { "position": 66 },
557
+ { "position": 70 },
558
+ { "position": 74 },
559
+ { "position": 78 },
560
+ { "position": 82 },
561
+ { "position": 86 },
562
+ { "position": 90 },
563
+ { "position": 94 },
564
+ { "position": 98 },
565
+ { "position": 102 },
566
+ { "position": 106 },
567
+ { "position": 110 },
568
+ { "position": 114 },
569
+ { "position": 118 },
570
+ { "position": 122 },
571
+ { "position": 126 },
572
+ { "position": 1 },
573
+ { "position": 3 },
574
+ { "position": 5 },
575
+ { "position": 7 },
576
+ { "position": 9 },
577
+ { "position": 11 },
578
+ { "position": 13 },
579
+ { "position": 15 },
580
+ { "position": 17 },
581
+ { "position": 19 },
582
+ { "position": 21 },
583
+ { "position": 23 },
584
+ { "position": 25 },
585
+ { "position": 27 },
586
+ { "position": 29 },
587
+ { "position": 31 },
588
+ { "position": 33 },
589
+ { "position": 35 },
590
+ { "position": 37 },
591
+ { "position": 39 },
592
+ { "position": 41 },
593
+ { "position": 43 },
594
+ { "position": 45 },
595
+ { "position": 47 },
596
+ { "position": 49 },
597
+ { "position": 51 },
598
+ { "position": 53 },
599
+ { "position": 55 },
600
+ { "position": 57 },
601
+ { "position": 59 },
602
+ { "position": 61 },
603
+ { "position": 63 },
604
+ { "position": 65 },
605
+ { "position": 67 },
606
+ { "position": 69 },
607
+ { "position": 71 },
608
+ { "position": 73 },
609
+ { "position": 75 },
610
+ { "position": 77 },
611
+ { "position": 79 },
612
+ { "position": 81 },
613
+ { "position": 83 },
614
+ { "position": 85 },
615
+ { "position": 87 },
616
+ { "position": 89 },
617
+ { "position": 91 },
618
+ { "position": 93 },
619
+ { "position": 95 },
620
+ { "position": 97 },
621
+ { "position": 99 },
622
+ { "position": 101 },
623
+ { "position": 103 },
624
+ { "position": 105 },
625
+ { "position": 107 },
626
+ { "position": 109 },
627
+ { "position": 111 },
628
+ { "position": 113 },
629
+ { "position": 115 },
630
+ { "position": 117 },
631
+ { "position": 119 },
632
+ { "position": 121 },
633
+ { "position": 123 },
634
+ { "position": 125 },
635
+ { "position": 127 }
636
+ ],
637
+ "starting_seats": [
638
+ 1,
639
+ 3,
640
+ 5,
641
+ 7,
642
+ 9,
643
+ 11,
644
+ 13,
645
+ 15,
646
+ 17,
647
+ 19,
648
+ 21,
649
+ 23,
650
+ 25,
651
+ 27,
652
+ 29,
653
+ 31,
654
+ 33,
655
+ 35,
656
+ 37,
657
+ 39,
658
+ 41,
659
+ 43,
660
+ 45,
661
+ 47,
662
+ 49,
663
+ 51,
664
+ 53,
665
+ 55,
666
+ 57,
667
+ 59,
668
+ 61,
669
+ 63,
670
+ 65,
671
+ 67,
672
+ 69,
673
+ 71,
674
+ 73,
675
+ 75,
676
+ 77,
677
+ 79,
678
+ 81,
679
+ 83,
680
+ 85,
681
+ 87,
682
+ 89,
683
+ 91,
684
+ 93,
685
+ 95,
686
+ 97,
687
+ 99,
688
+ 101,
689
+ 103,
690
+ 105,
691
+ 107,
692
+ 109,
693
+ 111,
694
+ 113,
695
+ 115,
696
+ 117,
697
+ 119,
698
+ 121,
699
+ 123,
700
+ 125,
701
+ 127
702
+ ]
703
+ }