bracket_tree 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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,50 @@
1
+ {
2
+ "matches":[
3
+ { "seats": [1,3], "winner_to": 2, "loser_to": 21 },
4
+ { "seats": [5,7], "winner_to": 6, "loser_to": 23 },
5
+ { "seats": [9,11], "winner_to": 10, "loser_to": 25 },
6
+ { "seats": [13,15], "winner_to": 14, "loser_to": 27 },
7
+ { "seats": [2,6], "winner_to": 4, "loser_to": 29 },
8
+ { "seats": [10,14], "winner_to": 12, "loser_to": 19 },
9
+ { "seats": [21,23], "winner_to": 22, "loser_to": null },
10
+ { "seats": [25,27], "winner_to": 26, "loser_to": null },
11
+ { "seats": [4,12], "winner_to": 8, "loser_to": 17 },
12
+ { "seats": [19,22], "winner_to": 20, "loser_to": null },
13
+ { "seats": [26,29], "winner_to": 28, "loser_to": null },
14
+ { "seats": [20,28], "winner_to": 24, "loser_to": null },
15
+ { "seats": [17,24], "winner_to": 18, "loser_to": null },
16
+ { "seats": [8,18], "winner_to": null, "loser_to": null }
17
+ ],
18
+ "seats":[
19
+ { "position":16 },
20
+ { "position":8 },
21
+ { "position":18 },
22
+ { "position":4 },
23
+ { "position":12 },
24
+ { "position":17 },
25
+ { "position":24 },
26
+ { "position":20 },
27
+ { "position":28 },
28
+ { "position":19 },
29
+ { "position":22 },
30
+ { "position":26 },
31
+ { "position":29 },
32
+ { "position":21 },
33
+ { "position":23 },
34
+ { "position":25 },
35
+ { "position":27 },
36
+ { "position":2 },
37
+ { "position":6 },
38
+ { "position":10 },
39
+ { "position":14 },
40
+ { "position":1 },
41
+ { "position":3 },
42
+ { "position":5 },
43
+ { "position":7 },
44
+ { "position":9 },
45
+ { "position":11 },
46
+ { "position":13 },
47
+ { "position":15 }
48
+ ],
49
+ "starting_seats":[1,3,5,7,9,11,13,15]
50
+ }
@@ -0,0 +1,11 @@
1
+ module BracketTree
2
+ module Template
3
+ class SingleElimination < Base
4
+ class << self
5
+ def location
6
+ File.join File.dirname(__FILE__), 'single_elimination'
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,1917 @@
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
+ 129,
262
+ 131
263
+ ],
264
+ "winner_to": 130,
265
+ "loser_to": null
266
+ },
267
+ {
268
+ "seats": [
269
+ 133,
270
+ 135
271
+ ],
272
+ "winner_to": 134,
273
+ "loser_to": null
274
+ },
275
+ {
276
+ "seats": [
277
+ 137,
278
+ 139
279
+ ],
280
+ "winner_to": 138,
281
+ "loser_to": null
282
+ },
283
+ {
284
+ "seats": [
285
+ 141,
286
+ 143
287
+ ],
288
+ "winner_to": 142,
289
+ "loser_to": null
290
+ },
291
+ {
292
+ "seats": [
293
+ 145,
294
+ 147
295
+ ],
296
+ "winner_to": 146,
297
+ "loser_to": null
298
+ },
299
+ {
300
+ "seats": [
301
+ 149,
302
+ 151
303
+ ],
304
+ "winner_to": 150,
305
+ "loser_to": null
306
+ },
307
+ {
308
+ "seats": [
309
+ 153,
310
+ 155
311
+ ],
312
+ "winner_to": 154,
313
+ "loser_to": null
314
+ },
315
+ {
316
+ "seats": [
317
+ 157,
318
+ 159
319
+ ],
320
+ "winner_to": 158,
321
+ "loser_to": null
322
+ },
323
+ {
324
+ "seats": [
325
+ 161,
326
+ 163
327
+ ],
328
+ "winner_to": 162,
329
+ "loser_to": null
330
+ },
331
+ {
332
+ "seats": [
333
+ 165,
334
+ 167
335
+ ],
336
+ "winner_to": 166,
337
+ "loser_to": null
338
+ },
339
+ {
340
+ "seats": [
341
+ 169,
342
+ 171
343
+ ],
344
+ "winner_to": 170,
345
+ "loser_to": null
346
+ },
347
+ {
348
+ "seats": [
349
+ 173,
350
+ 175
351
+ ],
352
+ "winner_to": 174,
353
+ "loser_to": null
354
+ },
355
+ {
356
+ "seats": [
357
+ 177,
358
+ 179
359
+ ],
360
+ "winner_to": 178,
361
+ "loser_to": null
362
+ },
363
+ {
364
+ "seats": [
365
+ 181,
366
+ 183
367
+ ],
368
+ "winner_to": 182,
369
+ "loser_to": null
370
+ },
371
+ {
372
+ "seats": [
373
+ 185,
374
+ 187
375
+ ],
376
+ "winner_to": 186,
377
+ "loser_to": null
378
+ },
379
+ {
380
+ "seats": [
381
+ 189,
382
+ 191
383
+ ],
384
+ "winner_to": 190,
385
+ "loser_to": null
386
+ },
387
+ {
388
+ "seats": [
389
+ 193,
390
+ 195
391
+ ],
392
+ "winner_to": 194,
393
+ "loser_to": null
394
+ },
395
+ {
396
+ "seats": [
397
+ 197,
398
+ 199
399
+ ],
400
+ "winner_to": 198,
401
+ "loser_to": null
402
+ },
403
+ {
404
+ "seats": [
405
+ 201,
406
+ 203
407
+ ],
408
+ "winner_to": 202,
409
+ "loser_to": null
410
+ },
411
+ {
412
+ "seats": [
413
+ 205,
414
+ 207
415
+ ],
416
+ "winner_to": 206,
417
+ "loser_to": null
418
+ },
419
+ {
420
+ "seats": [
421
+ 209,
422
+ 211
423
+ ],
424
+ "winner_to": 210,
425
+ "loser_to": null
426
+ },
427
+ {
428
+ "seats": [
429
+ 213,
430
+ 215
431
+ ],
432
+ "winner_to": 214,
433
+ "loser_to": null
434
+ },
435
+ {
436
+ "seats": [
437
+ 217,
438
+ 219
439
+ ],
440
+ "winner_to": 218,
441
+ "loser_to": null
442
+ },
443
+ {
444
+ "seats": [
445
+ 221,
446
+ 223
447
+ ],
448
+ "winner_to": 222,
449
+ "loser_to": null
450
+ },
451
+ {
452
+ "seats": [
453
+ 225,
454
+ 227
455
+ ],
456
+ "winner_to": 226,
457
+ "loser_to": null
458
+ },
459
+ {
460
+ "seats": [
461
+ 229,
462
+ 231
463
+ ],
464
+ "winner_to": 230,
465
+ "loser_to": null
466
+ },
467
+ {
468
+ "seats": [
469
+ 233,
470
+ 235
471
+ ],
472
+ "winner_to": 234,
473
+ "loser_to": null
474
+ },
475
+ {
476
+ "seats": [
477
+ 237,
478
+ 239
479
+ ],
480
+ "winner_to": 238,
481
+ "loser_to": null
482
+ },
483
+ {
484
+ "seats": [
485
+ 241,
486
+ 243
487
+ ],
488
+ "winner_to": 242,
489
+ "loser_to": null
490
+ },
491
+ {
492
+ "seats": [
493
+ 245,
494
+ 247
495
+ ],
496
+ "winner_to": 246,
497
+ "loser_to": null
498
+ },
499
+ {
500
+ "seats": [
501
+ 249,
502
+ 251
503
+ ],
504
+ "winner_to": 250,
505
+ "loser_to": null
506
+ },
507
+ {
508
+ "seats": [
509
+ 253,
510
+ 255
511
+ ],
512
+ "winner_to": 254,
513
+ "loser_to": null
514
+ },
515
+ {
516
+ "seats": [
517
+ 2,
518
+ 6
519
+ ],
520
+ "winner_to": 4,
521
+ "loser_to": null
522
+ },
523
+ {
524
+ "seats": [
525
+ 10,
526
+ 14
527
+ ],
528
+ "winner_to": 12,
529
+ "loser_to": null
530
+ },
531
+ {
532
+ "seats": [
533
+ 18,
534
+ 22
535
+ ],
536
+ "winner_to": 20,
537
+ "loser_to": null
538
+ },
539
+ {
540
+ "seats": [
541
+ 26,
542
+ 30
543
+ ],
544
+ "winner_to": 28,
545
+ "loser_to": null
546
+ },
547
+ {
548
+ "seats": [
549
+ 34,
550
+ 38
551
+ ],
552
+ "winner_to": 36,
553
+ "loser_to": null
554
+ },
555
+ {
556
+ "seats": [
557
+ 42,
558
+ 46
559
+ ],
560
+ "winner_to": 44,
561
+ "loser_to": null
562
+ },
563
+ {
564
+ "seats": [
565
+ 50,
566
+ 54
567
+ ],
568
+ "winner_to": 52,
569
+ "loser_to": null
570
+ },
571
+ {
572
+ "seats": [
573
+ 58,
574
+ 62
575
+ ],
576
+ "winner_to": 60,
577
+ "loser_to": null
578
+ },
579
+ {
580
+ "seats": [
581
+ 66,
582
+ 70
583
+ ],
584
+ "winner_to": 68,
585
+ "loser_to": null
586
+ },
587
+ {
588
+ "seats": [
589
+ 74,
590
+ 78
591
+ ],
592
+ "winner_to": 76,
593
+ "loser_to": null
594
+ },
595
+ {
596
+ "seats": [
597
+ 82,
598
+ 86
599
+ ],
600
+ "winner_to": 84,
601
+ "loser_to": null
602
+ },
603
+ {
604
+ "seats": [
605
+ 90,
606
+ 94
607
+ ],
608
+ "winner_to": 92,
609
+ "loser_to": null
610
+ },
611
+ {
612
+ "seats": [
613
+ 98,
614
+ 102
615
+ ],
616
+ "winner_to": 100,
617
+ "loser_to": null
618
+ },
619
+ {
620
+ "seats": [
621
+ 106,
622
+ 110
623
+ ],
624
+ "winner_to": 108,
625
+ "loser_to": null
626
+ },
627
+ {
628
+ "seats": [
629
+ 114,
630
+ 118
631
+ ],
632
+ "winner_to": 116,
633
+ "loser_to": null
634
+ },
635
+ {
636
+ "seats": [
637
+ 122,
638
+ 126
639
+ ],
640
+ "winner_to": 124,
641
+ "loser_to": null
642
+ },
643
+ {
644
+ "seats": [
645
+ 130,
646
+ 134
647
+ ],
648
+ "winner_to": 132,
649
+ "loser_to": null
650
+ },
651
+ {
652
+ "seats": [
653
+ 138,
654
+ 142
655
+ ],
656
+ "winner_to": 140,
657
+ "loser_to": null
658
+ },
659
+ {
660
+ "seats": [
661
+ 146,
662
+ 150
663
+ ],
664
+ "winner_to": 148,
665
+ "loser_to": null
666
+ },
667
+ {
668
+ "seats": [
669
+ 154,
670
+ 158
671
+ ],
672
+ "winner_to": 156,
673
+ "loser_to": null
674
+ },
675
+ {
676
+ "seats": [
677
+ 162,
678
+ 166
679
+ ],
680
+ "winner_to": 164,
681
+ "loser_to": null
682
+ },
683
+ {
684
+ "seats": [
685
+ 170,
686
+ 174
687
+ ],
688
+ "winner_to": 172,
689
+ "loser_to": null
690
+ },
691
+ {
692
+ "seats": [
693
+ 178,
694
+ 182
695
+ ],
696
+ "winner_to": 180,
697
+ "loser_to": null
698
+ },
699
+ {
700
+ "seats": [
701
+ 186,
702
+ 190
703
+ ],
704
+ "winner_to": 188,
705
+ "loser_to": null
706
+ },
707
+ {
708
+ "seats": [
709
+ 194,
710
+ 198
711
+ ],
712
+ "winner_to": 196,
713
+ "loser_to": null
714
+ },
715
+ {
716
+ "seats": [
717
+ 202,
718
+ 206
719
+ ],
720
+ "winner_to": 204,
721
+ "loser_to": null
722
+ },
723
+ {
724
+ "seats": [
725
+ 210,
726
+ 214
727
+ ],
728
+ "winner_to": 212,
729
+ "loser_to": null
730
+ },
731
+ {
732
+ "seats": [
733
+ 218,
734
+ 222
735
+ ],
736
+ "winner_to": 220,
737
+ "loser_to": null
738
+ },
739
+ {
740
+ "seats": [
741
+ 226,
742
+ 230
743
+ ],
744
+ "winner_to": 228,
745
+ "loser_to": null
746
+ },
747
+ {
748
+ "seats": [
749
+ 234,
750
+ 238
751
+ ],
752
+ "winner_to": 236,
753
+ "loser_to": null
754
+ },
755
+ {
756
+ "seats": [
757
+ 242,
758
+ 246
759
+ ],
760
+ "winner_to": 244,
761
+ "loser_to": null
762
+ },
763
+ {
764
+ "seats": [
765
+ 250,
766
+ 254
767
+ ],
768
+ "winner_to": 252,
769
+ "loser_to": null
770
+ },
771
+ {
772
+ "seats": [
773
+ 4,
774
+ 12
775
+ ],
776
+ "winner_to": 8,
777
+ "loser_to": null
778
+ },
779
+ {
780
+ "seats": [
781
+ 20,
782
+ 28
783
+ ],
784
+ "winner_to": 24,
785
+ "loser_to": null
786
+ },
787
+ {
788
+ "seats": [
789
+ 36,
790
+ 44
791
+ ],
792
+ "winner_to": 40,
793
+ "loser_to": null
794
+ },
795
+ {
796
+ "seats": [
797
+ 52,
798
+ 60
799
+ ],
800
+ "winner_to": 56,
801
+ "loser_to": null
802
+ },
803
+ {
804
+ "seats": [
805
+ 68,
806
+ 76
807
+ ],
808
+ "winner_to": 72,
809
+ "loser_to": null
810
+ },
811
+ {
812
+ "seats": [
813
+ 84,
814
+ 92
815
+ ],
816
+ "winner_to": 88,
817
+ "loser_to": null
818
+ },
819
+ {
820
+ "seats": [
821
+ 100,
822
+ 108
823
+ ],
824
+ "winner_to": 104,
825
+ "loser_to": null
826
+ },
827
+ {
828
+ "seats": [
829
+ 116,
830
+ 124
831
+ ],
832
+ "winner_to": 120,
833
+ "loser_to": null
834
+ },
835
+ {
836
+ "seats": [
837
+ 132,
838
+ 140
839
+ ],
840
+ "winner_to": 136,
841
+ "loser_to": null
842
+ },
843
+ {
844
+ "seats": [
845
+ 148,
846
+ 156
847
+ ],
848
+ "winner_to": 152,
849
+ "loser_to": null
850
+ },
851
+ {
852
+ "seats": [
853
+ 164,
854
+ 172
855
+ ],
856
+ "winner_to": 168,
857
+ "loser_to": null
858
+ },
859
+ {
860
+ "seats": [
861
+ 180,
862
+ 188
863
+ ],
864
+ "winner_to": 184,
865
+ "loser_to": null
866
+ },
867
+ {
868
+ "seats": [
869
+ 196,
870
+ 204
871
+ ],
872
+ "winner_to": 200,
873
+ "loser_to": null
874
+ },
875
+ {
876
+ "seats": [
877
+ 212,
878
+ 220
879
+ ],
880
+ "winner_to": 216,
881
+ "loser_to": null
882
+ },
883
+ {
884
+ "seats": [
885
+ 228,
886
+ 236
887
+ ],
888
+ "winner_to": 232,
889
+ "loser_to": null
890
+ },
891
+ {
892
+ "seats": [
893
+ 244,
894
+ 252
895
+ ],
896
+ "winner_to": 248,
897
+ "loser_to": null
898
+ },
899
+ {
900
+ "seats": [
901
+ 8,
902
+ 24
903
+ ],
904
+ "winner_to": 16,
905
+ "loser_to": null
906
+ },
907
+ {
908
+ "seats": [
909
+ 40,
910
+ 56
911
+ ],
912
+ "winner_to": 48,
913
+ "loser_to": null
914
+ },
915
+ {
916
+ "seats": [
917
+ 72,
918
+ 88
919
+ ],
920
+ "winner_to": 80,
921
+ "loser_to": null
922
+ },
923
+ {
924
+ "seats": [
925
+ 104,
926
+ 120
927
+ ],
928
+ "winner_to": 112,
929
+ "loser_to": null
930
+ },
931
+ {
932
+ "seats": [
933
+ 136,
934
+ 152
935
+ ],
936
+ "winner_to": 144,
937
+ "loser_to": null
938
+ },
939
+ {
940
+ "seats": [
941
+ 168,
942
+ 184
943
+ ],
944
+ "winner_to": 176,
945
+ "loser_to": null
946
+ },
947
+ {
948
+ "seats": [
949
+ 200,
950
+ 216
951
+ ],
952
+ "winner_to": 208,
953
+ "loser_to": null
954
+ },
955
+ {
956
+ "seats": [
957
+ 232,
958
+ 248
959
+ ],
960
+ "winner_to": 240,
961
+ "loser_to": null
962
+ },
963
+ {
964
+ "seats": [
965
+ 16,
966
+ 48
967
+ ],
968
+ "winner_to": 32,
969
+ "loser_to": null
970
+ },
971
+ {
972
+ "seats": [
973
+ 80,
974
+ 112
975
+ ],
976
+ "winner_to": 96,
977
+ "loser_to": null
978
+ },
979
+ {
980
+ "seats": [
981
+ 144,
982
+ 176
983
+ ],
984
+ "winner_to": 160,
985
+ "loser_to": null
986
+ },
987
+ {
988
+ "seats": [
989
+ 208,
990
+ 240
991
+ ],
992
+ "winner_to": 224,
993
+ "loser_to": null
994
+ },
995
+ {
996
+ "seats": [
997
+ 32,
998
+ 96
999
+ ],
1000
+ "winner_to": 64,
1001
+ "loser_to": null
1002
+ },
1003
+ {
1004
+ "seats": [
1005
+ 160,
1006
+ 224
1007
+ ],
1008
+ "winner_to": 192,
1009
+ "loser_to": null
1010
+ },
1011
+ {
1012
+ "seats": [
1013
+ 64,
1014
+ 192
1015
+ ],
1016
+ "winner_to": null,
1017
+ "loser_to": null
1018
+ }
1019
+ ],
1020
+ "seats": [
1021
+ {
1022
+ "position": 256
1023
+ },
1024
+ {
1025
+ "position": 64
1026
+ },
1027
+ {
1028
+ "position": 192
1029
+ },
1030
+ {
1031
+ "position": 32
1032
+ },
1033
+ {
1034
+ "position": 96
1035
+ },
1036
+ {
1037
+ "position": 160
1038
+ },
1039
+ {
1040
+ "position": 224
1041
+ },
1042
+ {
1043
+ "position": 16
1044
+ },
1045
+ {
1046
+ "position": 48
1047
+ },
1048
+ {
1049
+ "position": 80
1050
+ },
1051
+ {
1052
+ "position": 112
1053
+ },
1054
+ {
1055
+ "position": 144
1056
+ },
1057
+ {
1058
+ "position": 176
1059
+ },
1060
+ {
1061
+ "position": 208
1062
+ },
1063
+ {
1064
+ "position": 240
1065
+ },
1066
+ {
1067
+ "position": 8
1068
+ },
1069
+ {
1070
+ "position": 24
1071
+ },
1072
+ {
1073
+ "position": 40
1074
+ },
1075
+ {
1076
+ "position": 56
1077
+ },
1078
+ {
1079
+ "position": 72
1080
+ },
1081
+ {
1082
+ "position": 88
1083
+ },
1084
+ {
1085
+ "position": 104
1086
+ },
1087
+ {
1088
+ "position": 120
1089
+ },
1090
+ {
1091
+ "position": 136
1092
+ },
1093
+ {
1094
+ "position": 152
1095
+ },
1096
+ {
1097
+ "position": 168
1098
+ },
1099
+ {
1100
+ "position": 184
1101
+ },
1102
+ {
1103
+ "position": 200
1104
+ },
1105
+ {
1106
+ "position": 216
1107
+ },
1108
+ {
1109
+ "position": 232
1110
+ },
1111
+ {
1112
+ "position": 248
1113
+ },
1114
+ {
1115
+ "position": 4
1116
+ },
1117
+ {
1118
+ "position": 12
1119
+ },
1120
+ {
1121
+ "position": 20
1122
+ },
1123
+ {
1124
+ "position": 28
1125
+ },
1126
+ {
1127
+ "position": 36
1128
+ },
1129
+ {
1130
+ "position": 44
1131
+ },
1132
+ {
1133
+ "position": 52
1134
+ },
1135
+ {
1136
+ "position": 60
1137
+ },
1138
+ {
1139
+ "position": 68
1140
+ },
1141
+ {
1142
+ "position": 76
1143
+ },
1144
+ {
1145
+ "position": 84
1146
+ },
1147
+ {
1148
+ "position": 92
1149
+ },
1150
+ {
1151
+ "position": 100
1152
+ },
1153
+ {
1154
+ "position": 108
1155
+ },
1156
+ {
1157
+ "position": 116
1158
+ },
1159
+ {
1160
+ "position": 124
1161
+ },
1162
+ {
1163
+ "position": 132
1164
+ },
1165
+ {
1166
+ "position": 140
1167
+ },
1168
+ {
1169
+ "position": 148
1170
+ },
1171
+ {
1172
+ "position": 156
1173
+ },
1174
+ {
1175
+ "position": 164
1176
+ },
1177
+ {
1178
+ "position": 172
1179
+ },
1180
+ {
1181
+ "position": 180
1182
+ },
1183
+ {
1184
+ "position": 188
1185
+ },
1186
+ {
1187
+ "position": 196
1188
+ },
1189
+ {
1190
+ "position": 204
1191
+ },
1192
+ {
1193
+ "position": 212
1194
+ },
1195
+ {
1196
+ "position": 220
1197
+ },
1198
+ {
1199
+ "position": 228
1200
+ },
1201
+ {
1202
+ "position": 236
1203
+ },
1204
+ {
1205
+ "position": 244
1206
+ },
1207
+ {
1208
+ "position": 252
1209
+ },
1210
+ {
1211
+ "position": 2
1212
+ },
1213
+ {
1214
+ "position": 6
1215
+ },
1216
+ {
1217
+ "position": 10
1218
+ },
1219
+ {
1220
+ "position": 14
1221
+ },
1222
+ {
1223
+ "position": 18
1224
+ },
1225
+ {
1226
+ "position": 22
1227
+ },
1228
+ {
1229
+ "position": 26
1230
+ },
1231
+ {
1232
+ "position": 30
1233
+ },
1234
+ {
1235
+ "position": 34
1236
+ },
1237
+ {
1238
+ "position": 38
1239
+ },
1240
+ {
1241
+ "position": 42
1242
+ },
1243
+ {
1244
+ "position": 46
1245
+ },
1246
+ {
1247
+ "position": 50
1248
+ },
1249
+ {
1250
+ "position": 54
1251
+ },
1252
+ {
1253
+ "position": 58
1254
+ },
1255
+ {
1256
+ "position": 62
1257
+ },
1258
+ {
1259
+ "position": 66
1260
+ },
1261
+ {
1262
+ "position": 70
1263
+ },
1264
+ {
1265
+ "position": 74
1266
+ },
1267
+ {
1268
+ "position": 78
1269
+ },
1270
+ {
1271
+ "position": 82
1272
+ },
1273
+ {
1274
+ "position": 86
1275
+ },
1276
+ {
1277
+ "position": 90
1278
+ },
1279
+ {
1280
+ "position": 94
1281
+ },
1282
+ {
1283
+ "position": 98
1284
+ },
1285
+ {
1286
+ "position": 102
1287
+ },
1288
+ {
1289
+ "position": 106
1290
+ },
1291
+ {
1292
+ "position": 110
1293
+ },
1294
+ {
1295
+ "position": 114
1296
+ },
1297
+ {
1298
+ "position": 118
1299
+ },
1300
+ {
1301
+ "position": 122
1302
+ },
1303
+ {
1304
+ "position": 126
1305
+ },
1306
+ {
1307
+ "position": 130
1308
+ },
1309
+ {
1310
+ "position": 134
1311
+ },
1312
+ {
1313
+ "position": 138
1314
+ },
1315
+ {
1316
+ "position": 142
1317
+ },
1318
+ {
1319
+ "position": 146
1320
+ },
1321
+ {
1322
+ "position": 150
1323
+ },
1324
+ {
1325
+ "position": 154
1326
+ },
1327
+ {
1328
+ "position": 158
1329
+ },
1330
+ {
1331
+ "position": 162
1332
+ },
1333
+ {
1334
+ "position": 166
1335
+ },
1336
+ {
1337
+ "position": 170
1338
+ },
1339
+ {
1340
+ "position": 174
1341
+ },
1342
+ {
1343
+ "position": 178
1344
+ },
1345
+ {
1346
+ "position": 182
1347
+ },
1348
+ {
1349
+ "position": 186
1350
+ },
1351
+ {
1352
+ "position": 190
1353
+ },
1354
+ {
1355
+ "position": 194
1356
+ },
1357
+ {
1358
+ "position": 198
1359
+ },
1360
+ {
1361
+ "position": 202
1362
+ },
1363
+ {
1364
+ "position": 206
1365
+ },
1366
+ {
1367
+ "position": 210
1368
+ },
1369
+ {
1370
+ "position": 214
1371
+ },
1372
+ {
1373
+ "position": 218
1374
+ },
1375
+ {
1376
+ "position": 222
1377
+ },
1378
+ {
1379
+ "position": 226
1380
+ },
1381
+ {
1382
+ "position": 230
1383
+ },
1384
+ {
1385
+ "position": 234
1386
+ },
1387
+ {
1388
+ "position": 238
1389
+ },
1390
+ {
1391
+ "position": 242
1392
+ },
1393
+ {
1394
+ "position": 246
1395
+ },
1396
+ {
1397
+ "position": 250
1398
+ },
1399
+ {
1400
+ "position": 254
1401
+ },
1402
+ {
1403
+ "position": 1
1404
+ },
1405
+ {
1406
+ "position": 3
1407
+ },
1408
+ {
1409
+ "position": 5
1410
+ },
1411
+ {
1412
+ "position": 7
1413
+ },
1414
+ {
1415
+ "position": 9
1416
+ },
1417
+ {
1418
+ "position": 11
1419
+ },
1420
+ {
1421
+ "position": 13
1422
+ },
1423
+ {
1424
+ "position": 15
1425
+ },
1426
+ {
1427
+ "position": 17
1428
+ },
1429
+ {
1430
+ "position": 19
1431
+ },
1432
+ {
1433
+ "position": 21
1434
+ },
1435
+ {
1436
+ "position": 23
1437
+ },
1438
+ {
1439
+ "position": 25
1440
+ },
1441
+ {
1442
+ "position": 27
1443
+ },
1444
+ {
1445
+ "position": 29
1446
+ },
1447
+ {
1448
+ "position": 31
1449
+ },
1450
+ {
1451
+ "position": 33
1452
+ },
1453
+ {
1454
+ "position": 35
1455
+ },
1456
+ {
1457
+ "position": 37
1458
+ },
1459
+ {
1460
+ "position": 39
1461
+ },
1462
+ {
1463
+ "position": 41
1464
+ },
1465
+ {
1466
+ "position": 43
1467
+ },
1468
+ {
1469
+ "position": 45
1470
+ },
1471
+ {
1472
+ "position": 47
1473
+ },
1474
+ {
1475
+ "position": 49
1476
+ },
1477
+ {
1478
+ "position": 51
1479
+ },
1480
+ {
1481
+ "position": 53
1482
+ },
1483
+ {
1484
+ "position": 55
1485
+ },
1486
+ {
1487
+ "position": 57
1488
+ },
1489
+ {
1490
+ "position": 59
1491
+ },
1492
+ {
1493
+ "position": 61
1494
+ },
1495
+ {
1496
+ "position": 63
1497
+ },
1498
+ {
1499
+ "position": 65
1500
+ },
1501
+ {
1502
+ "position": 67
1503
+ },
1504
+ {
1505
+ "position": 69
1506
+ },
1507
+ {
1508
+ "position": 71
1509
+ },
1510
+ {
1511
+ "position": 73
1512
+ },
1513
+ {
1514
+ "position": 75
1515
+ },
1516
+ {
1517
+ "position": 77
1518
+ },
1519
+ {
1520
+ "position": 79
1521
+ },
1522
+ {
1523
+ "position": 81
1524
+ },
1525
+ {
1526
+ "position": 83
1527
+ },
1528
+ {
1529
+ "position": 85
1530
+ },
1531
+ {
1532
+ "position": 87
1533
+ },
1534
+ {
1535
+ "position": 89
1536
+ },
1537
+ {
1538
+ "position": 91
1539
+ },
1540
+ {
1541
+ "position": 93
1542
+ },
1543
+ {
1544
+ "position": 95
1545
+ },
1546
+ {
1547
+ "position": 97
1548
+ },
1549
+ {
1550
+ "position": 99
1551
+ },
1552
+ {
1553
+ "position": 101
1554
+ },
1555
+ {
1556
+ "position": 103
1557
+ },
1558
+ {
1559
+ "position": 105
1560
+ },
1561
+ {
1562
+ "position": 107
1563
+ },
1564
+ {
1565
+ "position": 109
1566
+ },
1567
+ {
1568
+ "position": 111
1569
+ },
1570
+ {
1571
+ "position": 113
1572
+ },
1573
+ {
1574
+ "position": 115
1575
+ },
1576
+ {
1577
+ "position": 117
1578
+ },
1579
+ {
1580
+ "position": 119
1581
+ },
1582
+ {
1583
+ "position": 121
1584
+ },
1585
+ {
1586
+ "position": 123
1587
+ },
1588
+ {
1589
+ "position": 125
1590
+ },
1591
+ {
1592
+ "position": 127
1593
+ },
1594
+ {
1595
+ "position": 129
1596
+ },
1597
+ {
1598
+ "position": 131
1599
+ },
1600
+ {
1601
+ "position": 133
1602
+ },
1603
+ {
1604
+ "position": 135
1605
+ },
1606
+ {
1607
+ "position": 137
1608
+ },
1609
+ {
1610
+ "position": 139
1611
+ },
1612
+ {
1613
+ "position": 141
1614
+ },
1615
+ {
1616
+ "position": 143
1617
+ },
1618
+ {
1619
+ "position": 145
1620
+ },
1621
+ {
1622
+ "position": 147
1623
+ },
1624
+ {
1625
+ "position": 149
1626
+ },
1627
+ {
1628
+ "position": 151
1629
+ },
1630
+ {
1631
+ "position": 153
1632
+ },
1633
+ {
1634
+ "position": 155
1635
+ },
1636
+ {
1637
+ "position": 157
1638
+ },
1639
+ {
1640
+ "position": 159
1641
+ },
1642
+ {
1643
+ "position": 161
1644
+ },
1645
+ {
1646
+ "position": 163
1647
+ },
1648
+ {
1649
+ "position": 165
1650
+ },
1651
+ {
1652
+ "position": 167
1653
+ },
1654
+ {
1655
+ "position": 169
1656
+ },
1657
+ {
1658
+ "position": 171
1659
+ },
1660
+ {
1661
+ "position": 173
1662
+ },
1663
+ {
1664
+ "position": 175
1665
+ },
1666
+ {
1667
+ "position": 177
1668
+ },
1669
+ {
1670
+ "position": 179
1671
+ },
1672
+ {
1673
+ "position": 181
1674
+ },
1675
+ {
1676
+ "position": 183
1677
+ },
1678
+ {
1679
+ "position": 185
1680
+ },
1681
+ {
1682
+ "position": 187
1683
+ },
1684
+ {
1685
+ "position": 189
1686
+ },
1687
+ {
1688
+ "position": 191
1689
+ },
1690
+ {
1691
+ "position": 193
1692
+ },
1693
+ {
1694
+ "position": 195
1695
+ },
1696
+ {
1697
+ "position": 197
1698
+ },
1699
+ {
1700
+ "position": 199
1701
+ },
1702
+ {
1703
+ "position": 201
1704
+ },
1705
+ {
1706
+ "position": 203
1707
+ },
1708
+ {
1709
+ "position": 205
1710
+ },
1711
+ {
1712
+ "position": 207
1713
+ },
1714
+ {
1715
+ "position": 209
1716
+ },
1717
+ {
1718
+ "position": 211
1719
+ },
1720
+ {
1721
+ "position": 213
1722
+ },
1723
+ {
1724
+ "position": 215
1725
+ },
1726
+ {
1727
+ "position": 217
1728
+ },
1729
+ {
1730
+ "position": 219
1731
+ },
1732
+ {
1733
+ "position": 221
1734
+ },
1735
+ {
1736
+ "position": 223
1737
+ },
1738
+ {
1739
+ "position": 225
1740
+ },
1741
+ {
1742
+ "position": 227
1743
+ },
1744
+ {
1745
+ "position": 229
1746
+ },
1747
+ {
1748
+ "position": 231
1749
+ },
1750
+ {
1751
+ "position": 233
1752
+ },
1753
+ {
1754
+ "position": 235
1755
+ },
1756
+ {
1757
+ "position": 237
1758
+ },
1759
+ {
1760
+ "position": 239
1761
+ },
1762
+ {
1763
+ "position": 241
1764
+ },
1765
+ {
1766
+ "position": 243
1767
+ },
1768
+ {
1769
+ "position": 245
1770
+ },
1771
+ {
1772
+ "position": 247
1773
+ },
1774
+ {
1775
+ "position": 249
1776
+ },
1777
+ {
1778
+ "position": 251
1779
+ },
1780
+ {
1781
+ "position": 253
1782
+ },
1783
+ {
1784
+ "position": 255
1785
+ }
1786
+ ],
1787
+ "starting_seats": [
1788
+ 1,
1789
+ 3,
1790
+ 5,
1791
+ 7,
1792
+ 9,
1793
+ 11,
1794
+ 13,
1795
+ 15,
1796
+ 17,
1797
+ 19,
1798
+ 21,
1799
+ 23,
1800
+ 25,
1801
+ 27,
1802
+ 29,
1803
+ 31,
1804
+ 33,
1805
+ 35,
1806
+ 37,
1807
+ 39,
1808
+ 41,
1809
+ 43,
1810
+ 45,
1811
+ 47,
1812
+ 49,
1813
+ 51,
1814
+ 53,
1815
+ 55,
1816
+ 57,
1817
+ 59,
1818
+ 61,
1819
+ 63,
1820
+ 65,
1821
+ 67,
1822
+ 69,
1823
+ 71,
1824
+ 73,
1825
+ 75,
1826
+ 77,
1827
+ 79,
1828
+ 81,
1829
+ 83,
1830
+ 85,
1831
+ 87,
1832
+ 89,
1833
+ 91,
1834
+ 93,
1835
+ 95,
1836
+ 97,
1837
+ 99,
1838
+ 101,
1839
+ 103,
1840
+ 105,
1841
+ 107,
1842
+ 109,
1843
+ 111,
1844
+ 113,
1845
+ 115,
1846
+ 117,
1847
+ 119,
1848
+ 121,
1849
+ 123,
1850
+ 125,
1851
+ 127,
1852
+ 129,
1853
+ 131,
1854
+ 133,
1855
+ 135,
1856
+ 137,
1857
+ 139,
1858
+ 141,
1859
+ 143,
1860
+ 145,
1861
+ 147,
1862
+ 149,
1863
+ 151,
1864
+ 153,
1865
+ 155,
1866
+ 157,
1867
+ 159,
1868
+ 161,
1869
+ 163,
1870
+ 165,
1871
+ 167,
1872
+ 169,
1873
+ 171,
1874
+ 173,
1875
+ 175,
1876
+ 177,
1877
+ 179,
1878
+ 181,
1879
+ 183,
1880
+ 185,
1881
+ 187,
1882
+ 189,
1883
+ 191,
1884
+ 193,
1885
+ 195,
1886
+ 197,
1887
+ 199,
1888
+ 201,
1889
+ 203,
1890
+ 205,
1891
+ 207,
1892
+ 209,
1893
+ 211,
1894
+ 213,
1895
+ 215,
1896
+ 217,
1897
+ 219,
1898
+ 221,
1899
+ 223,
1900
+ 225,
1901
+ 227,
1902
+ 229,
1903
+ 231,
1904
+ 233,
1905
+ 235,
1906
+ 237,
1907
+ 239,
1908
+ 241,
1909
+ 243,
1910
+ 245,
1911
+ 247,
1912
+ 249,
1913
+ 251,
1914
+ 253,
1915
+ 255
1916
+ ]
1917
+ }