File: resolvingClassDeclarationWhenInBaseTypeResolution.errors.txt

package info (click to toggle)
node-typescript 5.0.4%2Bds1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 459,140 kB
  • sloc: javascript: 1,972,754; makefile: 6; sh: 1
file content (1118 lines) | stat: -rw-r--r-- 139,715 bytes parent folder | download | duplicates (5)
1
2
3
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
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
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
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
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
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
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(2,45): error TS2449: Class 'nitidus' used before its declaration.
tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(9,56): error TS2449: Class 'mixtus' used before its declaration.
tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(45,48): error TS2449: Class 'psilurus' used before its declaration.
tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(60,44): error TS2449: Class 'jugularis' used before its declaration.
tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(96,44): error TS2449: Class 'aurata' used before its declaration.
tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(114,48): error TS2449: Class 'gilbertii' used before its declaration.
tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(126,43): error TS2449: Class 'johorensis' used before its declaration.
tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(182,54): error TS2449: Class 'falconeri' used before its declaration.
tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(199,47): error TS2449: Class 'pygmaea' used before its declaration.
tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(247,46): error TS2449: Class 'ciliolabrum' used before its declaration.
tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(272,35): error TS2449: Class 'coludo' used before its declaration.
tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(301,41): error TS2449: Class 'oreas' used before its declaration.
tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(403,53): error TS2449: Class 'johorensis' used before its declaration.
tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(436,55): error TS2449: Class 'punicus' used before its declaration.
tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(469,52): error TS2449: Class 'stolzmanni' used before its declaration.
tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(490,42): error TS2449: Class 'portoricensis' used before its declaration.
tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(495,50): error TS2449: Class 'pelurus' used before its declaration.
tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(500,49): error TS2449: Class 'lasiurus' used before its declaration.
tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(534,50): error TS2449: Class 'stolzmanni' used before its declaration.
tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(549,53): error TS2449: Class 'daphaenodon' used before its declaration.
tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(580,54): error TS2449: Class 'johorensis' used before its declaration.
tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(589,52): error TS2449: Class 'stolzmanni' used before its declaration.
tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(605,55): error TS2449: Class 'psilurus' used before its declaration.
tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts(769,53): error TS2449: Class 'lasiurus' used before its declaration.


==== tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts (24 errors) ====
    module rionegrensis {
      export class caniventer extends Lanthanum.nitidus<petrophilus.minutilla, julianae.sumatrana> {
                                                ~~~~~~~
!!! error TS2449: Class 'nitidus' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:114:16: 'nitidus' is declared here.
        salomonseni() : caniventer { var x : caniventer; () => { var y = this; }; return x; }
        uchidai() : lavali.xanthognathus { var x : lavali.xanthognathus; () => { var y = this; }; return x; }
        raffrayana() : lavali.otion { var x : lavali.otion; () => { var y = this; }; return x; }
        Uranium() : minutus.inez<minutus.inez<sagitta.stolzmanni, dammermani.melanops>, trivirgatus.falconeri> { var x : minutus.inez<minutus.inez<sagitta.stolzmanni, dammermani.melanops>, trivirgatus.falconeri>; () => { var y = this; }; return x; }
        nayaur() : gabriellae.amicus { var x : gabriellae.amicus; () => { var y = this; }; return x; }
      }
      export class veraecrucis<T0, T1> extends trivirgatus.mixtus<gabriellae.amicus, lutreolus.punicus> {
                                                           ~~~~~~
!!! error TS2449: Class 'mixtus' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:199:16: 'mixtus' is declared here.
        naso() : panamensis.setulosus<lutreolus.punicus, howi.coludo<quasiater.bobrinskoi, provocax.melanoleuca>> { var x : panamensis.setulosus<lutreolus.punicus, howi.coludo<quasiater.bobrinskoi, provocax.melanoleuca>>; () => { var y = this; }; return x; }
        vancouverensis() : imperfecta.ciliolabrum<argurus.oreas, argurus.peninsulae> { var x : imperfecta.ciliolabrum<argurus.oreas, argurus.peninsulae>; () => { var y = this; }; return x; }
        africana() : argurus.gilbertii<panamensis.linulus<lavali.lepturus, argurus.oreas>, sagitta.cinereus<lavali.xanthognathus, argurus.oreas>> { var x : argurus.gilbertii<panamensis.linulus<lavali.lepturus, argurus.oreas>, sagitta.cinereus<lavali.xanthognathus, argurus.oreas>>; () => { var y = this; }; return x; }
        palliolata() : Lanthanum.jugularis { var x : Lanthanum.jugularis; () => { var y = this; }; return x; }
        nivicola() : samarensis.pallidus { var x : samarensis.pallidus; () => { var y = this; }; return x; }
      }
    }
    module julianae {
      export class steerii {
      }
      export class nudicaudus {
        brandtii() : argurus.germaini { var x : argurus.germaini; () => { var y = this; }; return x; }
        maxwellii() : ruatanica.Praseodymium<Lanthanum.jugularis, dammermani.melanops> { var x : ruatanica.Praseodymium<Lanthanum.jugularis, dammermani.melanops>; () => { var y = this; }; return x; }
        endoi() : panglima.abidi<dogramacii.kaiseri, lavali.wilsoni> { var x : panglima.abidi<dogramacii.kaiseri, lavali.wilsoni>; () => { var y = this; }; return x; }
        venezuelae() : howi.marcanoi { var x : howi.marcanoi; () => { var y = this; }; return x; }
        zamicrus() : rionegrensis.caniventer { var x : rionegrensis.caniventer; () => { var y = this; }; return x; }
      }
      export class galapagoensis {
        isabellae() : panglima.amphibius<macrorhinos.daphaenodon, patas.uralensis> { var x : panglima.amphibius<macrorhinos.daphaenodon, patas.uralensis>; () => { var y = this; }; return x; }
        rueppellii() : ruatanica.americanus { var x : ruatanica.americanus; () => { var y = this; }; return x; }
        peregusna() : dogramacii.kaiseri { var x : dogramacii.kaiseri; () => { var y = this; }; return x; }
        gliroides() : howi.coludo<howi.marcanoi, lavali.wilsoni> { var x : howi.coludo<howi.marcanoi, lavali.wilsoni>; () => { var y = this; }; return x; }
        banakrisi() : macrorhinos.daphaenodon { var x : macrorhinos.daphaenodon; () => { var y = this; }; return x; }
        rozendaali() : lutreolus.foina { var x : lutreolus.foina; () => { var y = this; }; return x; }
        stuhlmanni() : panamensis.linulus<caurinus.megaphyllus, caurinus.megaphyllus> { var x : panamensis.linulus<caurinus.megaphyllus, caurinus.megaphyllus>; () => { var y = this; }; return x; }
      }
      export class albidens<T0, T1> {
        mattheyi() : samarensis.fuscus<lavali.wilsoni, chrysaeolus.sarasinorum<Lanthanum.jugularis, imperfecta.subspinosus>> { var x : samarensis.fuscus<lavali.wilsoni, chrysaeolus.sarasinorum<Lanthanum.jugularis, imperfecta.subspinosus>>; () => { var y = this; }; return x; }
        Astatine() : steerii { var x : steerii; () => { var y = this; }; return x; }
        vincenti() : argurus.dauricus<macrorhinos.konganensis, patas.uralensis> { var x : argurus.dauricus<macrorhinos.konganensis, patas.uralensis>; () => { var y = this; }; return x; }
        hirta() : Lanthanum.jugularis { var x : Lanthanum.jugularis; () => { var y = this; }; return x; }
        virginianus() : durangae { var x : durangae; () => { var y = this; }; return x; }
        macrophyllum() : howi.marcanoi { var x : howi.marcanoi; () => { var y = this; }; return x; }
        porcellus() : ruatanica.americanus { var x : ruatanica.americanus; () => { var y = this; }; return x; }
      }
      export class oralis<T0, T1> extends caurinus.psilurus {
                                                   ~~~~~~~~
!!! error TS2449: Class 'psilurus' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:1010:18: 'psilurus' is declared here.
        cepapi() : caurinus.psilurus { var x : caurinus.psilurus; () => { var y = this; }; return x; }
        porteri() : lavali.thaeleri { var x : lavali.thaeleri; () => { var y = this; }; return x; }
        bindi() : caurinus.mahaganus<gabriellae.amicus, panglima.amphibius<macrorhinos.daphaenodon, patas.uralensis>> { var x : caurinus.mahaganus<gabriellae.amicus, panglima.amphibius<macrorhinos.daphaenodon, patas.uralensis>>; () => { var y = this; }; return x; }
        puda() : sagitta.stolzmanni { var x : sagitta.stolzmanni; () => { var y = this; }; return x; }
        mindorensis() : trivirgatus.falconeri { var x : trivirgatus.falconeri; () => { var y = this; }; return x; }
        ignitus() : petrophilus.rosalia<panamensis.setulosus<gabriellae.echinatus, steerii>, lavali.wilsoni> { var x : petrophilus.rosalia<panamensis.setulosus<gabriellae.echinatus, steerii>, lavali.wilsoni>; () => { var y = this; }; return x; }
        rufus() : nudicaudus { var x : nudicaudus; () => { var y = this; }; return x; }
        monax() : imperfecta.subspinosus { var x : imperfecta.subspinosus; () => { var y = this; }; return x; }
        unalascensis() : minutus.inez<rendalli.moojeni<panglima.amphibius<trivirgatus.falconeri, caurinus.psilurus>, gabriellae.echinatus>, dogramacii.aurata> { var x : minutus.inez<rendalli.moojeni<panglima.amphibius<trivirgatus.falconeri, caurinus.psilurus>, gabriellae.echinatus>, dogramacii.aurata>; () => { var y = this; }; return x; }
        wuchihensis() : howi.angulatus<howi.coludo<quasiater.carolinensis, minutus.portoricensis>, petrophilus.minutilla> { var x : howi.angulatus<howi.coludo<quasiater.carolinensis, minutus.portoricensis>, petrophilus.minutilla>; () => { var y = this; }; return x; }
        leucippe() : lavali.otion { var x : lavali.otion; () => { var y = this; }; return x; }
        ordii() : daubentonii.arboreus<argurus.germaini, sagitta.stolzmanni> { var x : daubentonii.arboreus<argurus.germaini, sagitta.stolzmanni>; () => { var y = this; }; return x; }
        eisentrauti() : rendalli.zuluensis { var x : rendalli.zuluensis; () => { var y = this; }; return x; }
      }
      export class sumatrana extends Lanthanum.jugularis {
                                               ~~~~~~~~~
!!! error TS2449: Class 'jugularis' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:136:16: 'jugularis' is declared here.
        wolffsohni() : Lanthanum.suillus<dammermani.melanops, quasiater.carolinensis> { var x : Lanthanum.suillus<dammermani.melanops, quasiater.carolinensis>; () => { var y = this; }; return x; }
        geata() : ruatanica.hector<sumatrana, quasiater.bobrinskoi> { var x : ruatanica.hector<sumatrana, quasiater.bobrinskoi>; () => { var y = this; }; return x; }
        awashensis() : petrophilus.minutilla { var x : petrophilus.minutilla; () => { var y = this; }; return x; }
        sturdeei() : lutreolus.cor<Lanthanum.jugularis, galapagoensis> { var x : lutreolus.cor<Lanthanum.jugularis, galapagoensis>; () => { var y = this; }; return x; }
        pachyurus() : howi.angulatus<dogramacii.aurata, gerbillus<lavali.thaeleri, quasiater.carolinensis>> { var x : howi.angulatus<dogramacii.aurata, gerbillus<lavali.thaeleri, quasiater.carolinensis>>; () => { var y = this; }; return x; }
        lyelli() : provocax.melanoleuca { var x : provocax.melanoleuca; () => { var y = this; }; return x; }
        neohibernicus() : dammermani.siberu<lutreolus.foina, samarensis.pallidus> { var x : dammermani.siberu<lutreolus.foina, samarensis.pallidus>; () => { var y = this; }; return x; }
      }
      export class gerbillus<T0, T1> {
        pundti() : sagitta.sicarius<dogramacii.koepckeae, caurinus.psilurus> { var x : sagitta.sicarius<dogramacii.koepckeae, caurinus.psilurus>; () => { var y = this; }; return x; }
        tristrami() : petrophilus.minutilla { var x : petrophilus.minutilla; () => { var y = this; }; return x; }
        swarthi() : lutreolus.foina { var x : lutreolus.foina; () => { var y = this; }; return x; }
        horsfieldii() : trivirgatus.falconeri { var x : trivirgatus.falconeri; () => { var y = this; }; return x; }
        diazi() : imperfecta.lasiurus<lutreolus.foina, dammermani.melanops> { var x : imperfecta.lasiurus<lutreolus.foina, dammermani.melanops>; () => { var y = this; }; return x; }
        rennelli() : argurus.luctuosa { var x : argurus.luctuosa; () => { var y = this; }; return x; }
        maulinus() : lavali.lepturus { var x : lavali.lepturus; () => { var y = this; }; return x; }
        muscina() : daubentonii.arboreus<petrophilus.minutilla, argurus.peninsulae> { var x : daubentonii.arboreus<petrophilus.minutilla, argurus.peninsulae>; () => { var y = this; }; return x; }
        pelengensis() : sagitta.leptoceros<caurinus.psilurus, gabriellae.echinatus> { var x : sagitta.leptoceros<caurinus.psilurus, gabriellae.echinatus>; () => { var y = this; }; return x; }
        abramus() : lavali.thaeleri { var x : lavali.thaeleri; () => { var y = this; }; return x; }
        reevesi() : provocax.melanoleuca { var x : provocax.melanoleuca; () => { var y = this; }; return x; }
      }
      export class acariensis {
        levicula() : lavali.lepturus { var x : lavali.lepturus; () => { var y = this; }; return x; }
        minous() : argurus.dauricus<quasiater.carolinensis, lavali.otion> { var x : argurus.dauricus<quasiater.carolinensis, lavali.otion>; () => { var y = this; }; return x; }
        cinereiventer() : panamensis.setulosus<sagitta.walkeri, lavali.otion> { var x : panamensis.setulosus<sagitta.walkeri, lavali.otion>; () => { var y = this; }; return x; }
        longicaudatus() : macrorhinos.marmosurus<dammermani.melanops, caurinus.mahaganus<nudicaudus, lavali.otion>> { var x : macrorhinos.marmosurus<dammermani.melanops, caurinus.mahaganus<nudicaudus, lavali.otion>>; () => { var y = this; }; return x; }
        baeodon() : argurus.netscheri<dammermani.siberu<lutreolus.foina, samarensis.pallidus>, argurus.luctuosa> { var x : argurus.netscheri<dammermani.siberu<lutreolus.foina, samarensis.pallidus>, argurus.luctuosa>; () => { var y = this; }; return x; }
        soricoides() : argurus.luctuosa { var x : argurus.luctuosa; () => { var y = this; }; return x; }
        datae() : daubentonii.arboreus<provocax.melanoleuca, panglima.amphibius<macrorhinos.daphaenodon, patas.uralensis>> { var x : daubentonii.arboreus<provocax.melanoleuca, panglima.amphibius<macrorhinos.daphaenodon, patas.uralensis>>; () => { var y = this; }; return x; }
        spixii() : imperfecta.subspinosus { var x : imperfecta.subspinosus; () => { var y = this; }; return x; }
        anakuma() : lavali.wilsoni { var x : lavali.wilsoni; () => { var y = this; }; return x; }
        kihaulei() : panglima.amphibius<trivirgatus.oconnelli, macrorhinos.konganensis> { var x : panglima.amphibius<trivirgatus.oconnelli, macrorhinos.konganensis>; () => { var y = this; }; return x; }
        gymnura() : quasiater.carolinensis { var x : quasiater.carolinensis; () => { var y = this; }; return x; }
        olchonensis() : rendalli.crenulata<trivirgatus.falconeri, provocax.melanoleuca> { var x : rendalli.crenulata<trivirgatus.falconeri, provocax.melanoleuca>; () => { var y = this; }; return x; }
      }
      export class durangae extends dogramacii.aurata {
                                               ~~~~~~
!!! error TS2449: Class 'aurata' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:346:16: 'aurata' is declared here.
        Californium() : panamensis.setulosus<lutreolus.punicus, dammermani.melanops> { var x : panamensis.setulosus<lutreolus.punicus, dammermani.melanops>; () => { var y = this; }; return x; }
        Flerovium() : howi.angulatus<petrophilus.minutilla, lavali.xanthognathus> { var x : howi.angulatus<petrophilus.minutilla, lavali.xanthognathus>; () => { var y = this; }; return x; }
        phrudus() : sagitta.stolzmanni { var x : sagitta.stolzmanni; () => { var y = this; }; return x; }
      }
    }
    module ruatanica {
      export class hector<T0, T1> {
        humulis() : julianae.steerii { var x : julianae.steerii; () => { var y = this; }; return x; }
        eurycerus() : panamensis.linulus<ruatanica.Praseodymium<Lanthanum.jugularis, dammermani.melanops>, lavali.wilsoni> { var x : panamensis.linulus<ruatanica.Praseodymium<Lanthanum.jugularis, dammermani.melanops>, lavali.wilsoni>; () => { var y = this; }; return x; }
      }
    }
    module Lanthanum {
      export class suillus<T0, T1> {
        spilosoma() : quasiater.carolinensis { var x : quasiater.carolinensis; () => { var y = this; }; return x; }
        tumbalensis() : caurinus.megaphyllus { var x : caurinus.megaphyllus; () => { var y = this; }; return x; }
        anatolicus() : julianae.steerii { var x : julianae.steerii; () => { var y = this; }; return x; }
      }
      export class nitidus<T0, T1> extends argurus.gilbertii<lavali.thaeleri, lutreolus.punicus> {
                                                   ~~~~~~~~~
!!! error TS2449: Class 'gilbertii' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:702:18: 'gilbertii' is declared here.
        granatensis() : quasiater.bobrinskoi { var x : quasiater.bobrinskoi; () => { var y = this; }; return x; }
        negligens() : minutus.inez<lavali.wilsoni, lavali.wilsoni> { var x : minutus.inez<lavali.wilsoni, lavali.wilsoni>; () => { var y = this; }; return x; }
        lewisi() : julianae.oralis<lavali.xanthognathus, argurus.oreas> { var x : julianae.oralis<lavali.xanthognathus, argurus.oreas>; () => { var y = this; }; return x; }
        arge() : chrysaeolus.sarasinorum<caurinus.megaphyllus, lavali.xanthognathus> { var x : chrysaeolus.sarasinorum<caurinus.megaphyllus, lavali.xanthognathus>; () => { var y = this; }; return x; }
        dominicensis() : dammermani.melanops { var x : dammermani.melanops; () => { var y = this; }; return x; }
        taurus() : macrorhinos.konganensis { var x : macrorhinos.konganensis; () => { var y = this; }; return x; }
        tonganus() : argurus.netscheri<dogramacii.aurata, dogramacii.aurata> { var x : argurus.netscheri<dogramacii.aurata, dogramacii.aurata>; () => { var y = this; }; return x; }
        silvatica() : rendalli.moojeni<dogramacii.aurata, lavali.otion> { var x : rendalli.moojeni<dogramacii.aurata, lavali.otion>; () => { var y = this; }; return x; }
        midas() : lavali.xanthognathus { var x : lavali.xanthognathus; () => { var y = this; }; return x; }
        bicornis() : dogramacii.kaiseri { var x : dogramacii.kaiseri; () => { var y = this; }; return x; }
      }
      export class megalonyx extends caurinus.johorensis<caurinus.megaphyllus, julianae.steerii> {
                                              ~~~~~~~~~~
!!! error TS2449: Class 'johorensis' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:979:18: 'johorensis' is declared here.
        phillipsii() : macrorhinos.konganensis { var x : macrorhinos.konganensis; () => { var y = this; }; return x; }
        melanogaster() : rionegrensis.veraecrucis<trivirgatus.falconeri, quasiater.carolinensis> { var x : rionegrensis.veraecrucis<trivirgatus.falconeri, quasiater.carolinensis>; () => { var y = this; }; return x; }
        elaphus() : nitidus<petrophilus.minutilla, julianae.sumatrana> { var x : nitidus<petrophilus.minutilla, julianae.sumatrana>; () => { var y = this; }; return x; }
        elater() : lavali.lepturus { var x : lavali.lepturus; () => { var y = this; }; return x; }
        ourebi() : provocax.melanoleuca { var x : provocax.melanoleuca; () => { var y = this; }; return x; }
        caraccioli() : imperfecta.ciliolabrum<julianae.nudicaudus, ruatanica.Praseodymium<lavali.thaeleri, julianae.acariensis>> { var x : imperfecta.ciliolabrum<julianae.nudicaudus, ruatanica.Praseodymium<lavali.thaeleri, julianae.acariensis>>; () => { var y = this; }; return x; }
        parva() : gabriellae.echinatus { var x : gabriellae.echinatus; () => { var y = this; }; return x; }
        albipes() : quasiater.wattsi<dammermani.melanops, megalonyx> { var x : quasiater.wattsi<dammermani.melanops, megalonyx>; () => { var y = this; }; return x; }
      }
      export class jugularis {
        torrei() : petrophilus.sodyi<argurus.oreas, macrorhinos.daphaenodon> { var x : petrophilus.sodyi<argurus.oreas, macrorhinos.daphaenodon>; () => { var y = this; }; return x; }
        revoili() : lavali.wilsoni { var x : lavali.wilsoni; () => { var y = this; }; return x; }
        macrobullatus() : macrorhinos.daphaenodon { var x : macrorhinos.daphaenodon; () => { var y = this; }; return x; }
        compactus() : sagitta.stolzmanni { var x : sagitta.stolzmanni; () => { var y = this; }; return x; }
        talpinus() : nitidus<ruatanica.americanus, sagitta.stolzmanni> { var x : nitidus<ruatanica.americanus, sagitta.stolzmanni>; () => { var y = this; }; return x; }
        stramineus() : gabriellae.amicus { var x : gabriellae.amicus; () => { var y = this; }; return x; }
        dartmouthi() : trivirgatus.mixtus<macrorhinos.daphaenodon, argurus.luctuosa> { var x : trivirgatus.mixtus<macrorhinos.daphaenodon, argurus.luctuosa>; () => { var y = this; }; return x; }
        ogilbyi() : argurus.dauricus<argurus.oreas, quasiater.carolinensis> { var x : argurus.dauricus<argurus.oreas, quasiater.carolinensis>; () => { var y = this; }; return x; }
        incomtus() : daubentonii.nesiotes<julianae.sumatrana, quasiater.carolinensis> { var x : daubentonii.nesiotes<julianae.sumatrana, quasiater.carolinensis>; () => { var y = this; }; return x; }
        surdaster() : ruatanica.Praseodymium<argurus.germaini, caurinus.megaphyllus> { var x : ruatanica.Praseodymium<argurus.germaini, caurinus.megaphyllus>; () => { var y = this; }; return x; }
        melanorhinus() : samarensis.pelurus<dammermani.melanops, rendalli.zuluensis> { var x : samarensis.pelurus<dammermani.melanops, rendalli.zuluensis>; () => { var y = this; }; return x; }
        picticaudata() : minutus.inez<quasiater.wattsi<quasiater.carolinensis, lavali.lepturus>, dogramacii.kaiseri> { var x : minutus.inez<quasiater.wattsi<quasiater.carolinensis, lavali.lepturus>, dogramacii.kaiseri>; () => { var y = this; }; return x; }
        pomona() : julianae.steerii { var x : julianae.steerii; () => { var y = this; }; return x; }
        ileile() : quasiater.carolinensis { var x : quasiater.carolinensis; () => { var y = this; }; return x; }
      }
    }
    module rendalli {
      export class zuluensis extends julianae.steerii {
        telfairi() : argurus.wetmorei<Lanthanum.megalonyx, provocax.melanoleuca> { var x : argurus.wetmorei<Lanthanum.megalonyx, provocax.melanoleuca>; () => { var y = this; }; return x; }
        keyensis() : quasiater.wattsi<quasiater.carolinensis, lavali.lepturus> { var x : quasiater.wattsi<quasiater.carolinensis, lavali.lepturus>; () => { var y = this; }; return x; }
        occasius() : argurus.gilbertii<caurinus.psilurus, lavali.xanthognathus> { var x : argurus.gilbertii<caurinus.psilurus, lavali.xanthognathus>; () => { var y = this; }; return x; }
        damarensis() : julianae.galapagoensis { var x : julianae.galapagoensis; () => { var y = this; }; return x; }
        Neptunium() : panglima.abidi<dogramacii.robustulus, lutreolus.foina> { var x : panglima.abidi<dogramacii.robustulus, lutreolus.foina>; () => { var y = this; }; return x; }
        griseoflavus() : ruatanica.americanus { var x : ruatanica.americanus; () => { var y = this; }; return x; }
        thar() : argurus.oreas { var x : argurus.oreas; () => { var y = this; }; return x; }
        alborufus() : panamensis.linulus<lavali.lepturus, argurus.oreas> { var x : panamensis.linulus<lavali.lepturus, argurus.oreas>; () => { var y = this; }; return x; }
        fusicaudus() : sagitta.stolzmanni { var x : sagitta.stolzmanni; () => { var y = this; }; return x; }
        gordonorum() : howi.angulatus<ruatanica.americanus, argurus.germaini> { var x : howi.angulatus<ruatanica.americanus, argurus.germaini>; () => { var y = this; }; return x; }
        ruber() : dammermani.siberu<lutreolus.punicus, julianae.acariensis> { var x : dammermani.siberu<lutreolus.punicus, julianae.acariensis>; () => { var y = this; }; return x; }
        desmarestianus() : julianae.steerii { var x : julianae.steerii; () => { var y = this; }; return x; }
        lutillus() : nigra.dolichurus<howi.marcanoi, lavali.wilsoni> { var x : nigra.dolichurus<howi.marcanoi, lavali.wilsoni>; () => { var y = this; }; return x; }
        salocco() : argurus.peninsulae { var x : argurus.peninsulae; () => { var y = this; }; return x; }
      }
      export class moojeni<T0, T1> {
        floweri() : lavali.otion { var x : lavali.otion; () => { var y = this; }; return x; }
        montosa() : imperfecta.ciliolabrum<Lanthanum.megalonyx, petrophilus.minutilla> { var x : imperfecta.ciliolabrum<Lanthanum.megalonyx, petrophilus.minutilla>; () => { var y = this; }; return x; }
        miletus() : julianae.sumatrana { var x : julianae.sumatrana; () => { var y = this; }; return x; }
        heaneyi() : zuluensis { var x : zuluensis; () => { var y = this; }; return x; }
        marchei() : panglima.amphibius<patas.uralensis, gabriellae.klossii<julianae.nudicaudus, dogramacii.aurata>> { var x : panglima.amphibius<patas.uralensis, gabriellae.klossii<julianae.nudicaudus, dogramacii.aurata>>; () => { var y = this; }; return x; }
        budini() : julianae.durangae { var x : julianae.durangae; () => { var y = this; }; return x; }
        maggietaylorae() : trivirgatus.mixtus<panglima.amphibius<gabriellae.klossii<Lanthanum.jugularis, Lanthanum.jugularis>, imperfecta.subspinosus>, sagitta.stolzmanni> { var x : trivirgatus.mixtus<panglima.amphibius<gabriellae.klossii<Lanthanum.jugularis, Lanthanum.jugularis>, imperfecta.subspinosus>, sagitta.stolzmanni>; () => { var y = this; }; return x; }
        poliocephalus() : julianae.gerbillus<julianae.durangae, dammermani.melanops> { var x : julianae.gerbillus<julianae.durangae, dammermani.melanops>; () => { var y = this; }; return x; }
        zibethicus() : minutus.inez<sagitta.stolzmanni, dammermani.melanops> { var x : minutus.inez<sagitta.stolzmanni, dammermani.melanops>; () => { var y = this; }; return x; }
        biacensis() : howi.coludo<quasiater.bobrinskoi, provocax.melanoleuca> { var x : howi.coludo<quasiater.bobrinskoi, provocax.melanoleuca>; () => { var y = this; }; return x; }
      }
      export class crenulata<T0, T1> extends trivirgatus.falconeri {
                                                         ~~~~~~~~~
!!! error TS2449: Class 'falconeri' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:212:16: 'falconeri' is declared here.
        salvanius() : howi.coludo<howi.marcanoi, rionegrensis.caniventer> { var x : howi.coludo<howi.marcanoi, rionegrensis.caniventer>; () => { var y = this; }; return x; }
        maritimus() : ruatanica.americanus { var x : ruatanica.americanus; () => { var y = this; }; return x; }
        edax() : lutreolus.cor<imperfecta.lasiurus<howi.marcanoi, imperfecta.ciliolabrum<Lanthanum.megalonyx, petrophilus.minutilla>>, rionegrensis.caniventer> { var x : lutreolus.cor<imperfecta.lasiurus<howi.marcanoi, imperfecta.ciliolabrum<Lanthanum.megalonyx, petrophilus.minutilla>>, rionegrensis.caniventer>; () => { var y = this; }; return x; }
      }
    }
    module trivirgatus {
      export class tumidifrons<T0, T1> {
        nivalis() : dogramacii.kaiseri { var x : dogramacii.kaiseri; () => { var y = this; }; return x; }
        vestitus() : lavali.xanthognathus { var x : lavali.xanthognathus; () => { var y = this; }; return x; }
        aequatorius() : rionegrensis.caniventer { var x : rionegrensis.caniventer; () => { var y = this; }; return x; }
        scherman() : oconnelli { var x : oconnelli; () => { var y = this; }; return x; }
        improvisum() : argurus.peninsulae { var x : argurus.peninsulae; () => { var y = this; }; return x; }
        cervinipes() : panglima.abidi<lavali.lepturus, caurinus.psilurus> { var x : panglima.abidi<lavali.lepturus, caurinus.psilurus>; () => { var y = this; }; return x; }
        audax() : dogramacii.robustulus { var x : dogramacii.robustulus; () => { var y = this; }; return x; }
        vallinus() : sagitta.sicarius<lavali.wilsoni, lutreolus.punicus> { var x : sagitta.sicarius<lavali.wilsoni, lutreolus.punicus>; () => { var y = this; }; return x; }
      }
      export class mixtus<T0, T1> extends argurus.pygmaea<argurus.oreas, panglima.fundatus<quasiater.carolinensis, macrorhinos.daphaenodon>> {
                                                  ~~~~~~~
!!! error TS2449: Class 'pygmaea' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:598:18: 'pygmaea' is declared here.
        ochrogaster() : dogramacii.aurata { var x : dogramacii.aurata; () => { var y = this; }; return x; }
        bryophilus() : macrorhinos.marmosurus<dogramacii.koepckeae, panglima.abidi<dogramacii.aurata, chrysaeolus.sarasinorum<caurinus.megaphyllus, lavali.xanthognathus>>> { var x : macrorhinos.marmosurus<dogramacii.koepckeae, panglima.abidi<dogramacii.aurata, chrysaeolus.sarasinorum<caurinus.megaphyllus, lavali.xanthognathus>>>; () => { var y = this; }; return x; }
        liechtensteini() : rendalli.zuluensis { var x : rendalli.zuluensis; () => { var y = this; }; return x; }
        crawfordi() : howi.coludo<julianae.steerii, julianae.gerbillus<lavali.thaeleri, quasiater.carolinensis>> { var x : howi.coludo<julianae.steerii, julianae.gerbillus<lavali.thaeleri, quasiater.carolinensis>>; () => { var y = this; }; return x; }
        hypsibia() : lavali.thaeleri { var x : lavali.thaeleri; () => { var y = this; }; return x; }
        matacus() : panglima.fundatus<panamensis.linulus<lotor<argurus.luctuosa, lavali.wilsoni>, lavali.beisa>, dammermani.melanops> { var x : panglima.fundatus<panamensis.linulus<lotor<argurus.luctuosa, lavali.wilsoni>, lavali.beisa>, dammermani.melanops>; () => { var y = this; }; return x; }
        demidoff() : caurinus.johorensis<julianae.acariensis, rendalli.zuluensis> { var x : caurinus.johorensis<julianae.acariensis, rendalli.zuluensis>; () => { var y = this; }; return x; }
      }
      export class lotor<T0, T1> {
        balensis() : samarensis.pallidus { var x : samarensis.pallidus; () => { var y = this; }; return x; }
        pullata() : rionegrensis.veraecrucis<quasiater.carolinensis, argurus.peninsulae> { var x : rionegrensis.veraecrucis<quasiater.carolinensis, argurus.peninsulae>; () => { var y = this; }; return x; }
      }
      export class falconeri {
        cabrali() : rendalli.moojeni<imperfecta.lasiurus<howi.marcanoi, imperfecta.ciliolabrum<Lanthanum.megalonyx, petrophilus.minutilla>>, daubentonii.arboreus<julianae.nudicaudus, julianae.steerii>> { var x : rendalli.moojeni<imperfecta.lasiurus<howi.marcanoi, imperfecta.ciliolabrum<Lanthanum.megalonyx, petrophilus.minutilla>>, daubentonii.arboreus<julianae.nudicaudus, julianae.steerii>>; () => { var y = this; }; return x; }
        gouldi() : nigra.dolichurus<imperfecta.lasiurus<julianae.acariensis, howi.coludo<argurus.oreas, howi.marcanoi>>, patas.uralensis> { var x : nigra.dolichurus<imperfecta.lasiurus<julianae.acariensis, howi.coludo<argurus.oreas, howi.marcanoi>>, patas.uralensis>; () => { var y = this; }; return x; }
        fuscicollis() : samarensis.pelurus<dammermani.melanops, Lanthanum.nitidus<ruatanica.americanus, sagitta.stolzmanni>> { var x : samarensis.pelurus<dammermani.melanops, Lanthanum.nitidus<ruatanica.americanus, sagitta.stolzmanni>>; () => { var y = this; }; return x; }
        martiensseni() : sagitta.cinereus<imperfecta.ciliolabrum<lavali.otion, petrophilus.sodyi<macrorhinos.konganensis, caurinus.psilurus>>, dogramacii.koepckeae> { var x : sagitta.cinereus<imperfecta.ciliolabrum<lavali.otion, petrophilus.sodyi<macrorhinos.konganensis, caurinus.psilurus>>, dogramacii.koepckeae>; () => { var y = this; }; return x; }
        gaoligongensis() : dogramacii.koepckeae { var x : dogramacii.koepckeae; () => { var y = this; }; return x; }
        shawi() : minutus.inez<sagitta.stolzmanni, rionegrensis.veraecrucis<lavali.xanthognathus, quasiater.bobrinskoi>> { var x : minutus.inez<sagitta.stolzmanni, rionegrensis.veraecrucis<lavali.xanthognathus, quasiater.bobrinskoi>>; () => { var y = this; }; return x; }
        gmelini() : rionegrensis.caniventer { var x : rionegrensis.caniventer; () => { var y = this; }; return x; }
      }
      export class oconnelli {
        youngsoni() : nigra.thalia<patas.uralensis, julianae.galapagoensis> { var x : nigra.thalia<patas.uralensis, julianae.galapagoensis>; () => { var y = this; }; return x; }
        terrestris() : macrorhinos.konganensis { var x : macrorhinos.konganensis; () => { var y = this; }; return x; }
        chrysopus() : sagitta.sicarius<dogramacii.koepckeae, petrophilus.sodyi<argurus.oreas, macrorhinos.daphaenodon>> { var x : sagitta.sicarius<dogramacii.koepckeae, petrophilus.sodyi<argurus.oreas, macrorhinos.daphaenodon>>; () => { var y = this; }; return x; }
        fuscomurina() : argurus.peninsulae { var x : argurus.peninsulae; () => { var y = this; }; return x; }
        hellwaldii() : nigra.gracilis<panamensis.setulosus<sagitta.walkeri, dogramacii.robustulus>, petrophilus.sodyi<argurus.oreas, macrorhinos.daphaenodon>> { var x : nigra.gracilis<panamensis.setulosus<sagitta.walkeri, dogramacii.robustulus>, petrophilus.sodyi<argurus.oreas, macrorhinos.daphaenodon>>; () => { var y = this; }; return x; }
        aenea() : argurus.luctuosa { var x : argurus.luctuosa; () => { var y = this; }; return x; }
        perrini() : quasiater.bobrinskoi { var x : quasiater.bobrinskoi; () => { var y = this; }; return x; }
        entellus() : dammermani.melanops { var x : dammermani.melanops; () => { var y = this; }; return x; }
        krebsii() : rionegrensis.veraecrucis<rionegrensis.caniventer, julianae.durangae> { var x : rionegrensis.veraecrucis<rionegrensis.caniventer, julianae.durangae>; () => { var y = this; }; return x; }
        cephalotes() : lutreolus.schlegeli { var x : lutreolus.schlegeli; () => { var y = this; }; return x; }
        molossinus() : daubentonii.nigricans<quasiater.carolinensis, daubentonii.nesiotes<julianae.sumatrana, quasiater.carolinensis>> { var x : daubentonii.nigricans<quasiater.carolinensis, daubentonii.nesiotes<julianae.sumatrana, quasiater.carolinensis>>; () => { var y = this; }; return x; }
        luisi() : dogramacii.robustulus { var x : dogramacii.robustulus; () => { var y = this; }; return x; }
        ceylonicus() : rionegrensis.caniventer { var x : rionegrensis.caniventer; () => { var y = this; }; return x; }
        ralli() : lavali.xanthognathus { var x : lavali.xanthognathus; () => { var y = this; }; return x; }
      }
    }
    module quasiater {
      export class bobrinskoi {
        crassicaudatus() : samarensis.cahirinus<macrorhinos.daphaenodon, argurus.luctuosa> { var x : samarensis.cahirinus<macrorhinos.daphaenodon, argurus.luctuosa>; () => { var y = this; }; return x; }
        mulatta() : argurus.oreas { var x : argurus.oreas; () => { var y = this; }; return x; }
        ansorgei() : rendalli.moojeni<panglima.amphibius<trivirgatus.falconeri, caurinus.psilurus>, gabriellae.echinatus> { var x : rendalli.moojeni<panglima.amphibius<trivirgatus.falconeri, caurinus.psilurus>, gabriellae.echinatus>; () => { var y = this; }; return x; }
        Copper() : argurus.netscheri<quasiater.carolinensis, dogramacii.kaiseri> { var x : argurus.netscheri<quasiater.carolinensis, dogramacii.kaiseri>; () => { var y = this; }; return x; }
      }
    }
    module ruatanica {
      export class americanus extends imperfecta.ciliolabrum<argurus.germaini, lutreolus.foina> {
                                                 ~~~~~~~~~~~
!!! error TS2449: Class 'ciliolabrum' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:809:18: 'ciliolabrum' is declared here.
        nasoloi() : macrorhinos.konganensis { var x : macrorhinos.konganensis; () => { var y = this; }; return x; }
        mystacalis() : howi.angulatus<quasiater.carolinensis, sagitta.stolzmanni> { var x : howi.angulatus<quasiater.carolinensis, sagitta.stolzmanni>; () => { var y = this; }; return x; }
        fardoulisi() : trivirgatus.oconnelli { var x : trivirgatus.oconnelli; () => { var y = this; }; return x; }
        tumidus() : gabriellae.amicus { var x : gabriellae.amicus; () => { var y = this; }; return x; }
      }
    }
    module lavali {
      export class wilsoni extends Lanthanum.nitidus<rionegrensis.caniventer, Lanthanum.jugularis> {
        setiger() : nigra.thalia<patas.uralensis, wilsoni> { var x : nigra.thalia<patas.uralensis, wilsoni>; () => { var y = this; }; return x; }
        lorentzii() : imperfecta.subspinosus { var x : imperfecta.subspinosus; () => { var y = this; }; return x; }
        antisensis() : lutreolus.foina { var x : lutreolus.foina; () => { var y = this; }; return x; }
        blossevillii() : dammermani.siberu<Lanthanum.megalonyx, dogramacii.kaiseri> { var x : dammermani.siberu<Lanthanum.megalonyx, dogramacii.kaiseri>; () => { var y = this; }; return x; }
        bontanus() : rionegrensis.caniventer { var x : rionegrensis.caniventer; () => { var y = this; }; return x; }
        caligata() : argurus.oreas { var x : argurus.oreas; () => { var y = this; }; return x; }
        franqueti() : panglima.amphibius<gabriellae.klossii<Lanthanum.jugularis, Lanthanum.jugularis>, imperfecta.subspinosus> { var x : panglima.amphibius<gabriellae.klossii<Lanthanum.jugularis, Lanthanum.jugularis>, imperfecta.subspinosus>; () => { var y = this; }; return x; }
        roberti() : julianae.acariensis { var x : julianae.acariensis; () => { var y = this; }; return x; }
        degelidus() : chrysaeolus.sarasinorum<Lanthanum.jugularis, imperfecta.subspinosus> { var x : chrysaeolus.sarasinorum<Lanthanum.jugularis, imperfecta.subspinosus>; () => { var y = this; }; return x; }
        amoenus() : quasiater.carolinensis { var x : quasiater.carolinensis; () => { var y = this; }; return x; }
        kob() : trivirgatus.lotor<argurus.oreas, beisa> { var x : trivirgatus.lotor<argurus.oreas, beisa>; () => { var y = this; }; return x; }
        csorbai() : caurinus.johorensis<caurinus.megaphyllus, julianae.steerii> { var x : caurinus.johorensis<caurinus.megaphyllus, julianae.steerii>; () => { var y = this; }; return x; }
        dorsata() : gabriellae.echinatus { var x : gabriellae.echinatus; () => { var y = this; }; return x; }
      }
      export class beisa {
      }
      export class otion extends howi.coludo<argurus.oreas, howi.marcanoi> {
                                      ~~~~~~
!!! error TS2449: Class 'coludo' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:889:18: 'coludo' is declared here.
        bonaerensis() : provocax.melanoleuca { var x : provocax.melanoleuca; () => { var y = this; }; return x; }
        dussumieri() : nigra.gracilis<julianae.steerii, dogramacii.kaiseri> { var x : nigra.gracilis<julianae.steerii, dogramacii.kaiseri>; () => { var y = this; }; return x; }
        osvaldoreigi() : julianae.albidens<julianae.steerii, quasiater.carolinensis> { var x : julianae.albidens<julianae.steerii, quasiater.carolinensis>; () => { var y = this; }; return x; }
        grevyi() : samarensis.pallidus { var x : samarensis.pallidus; () => { var y = this; }; return x; }
        hirtula() : lepturus { var x : lepturus; () => { var y = this; }; return x; }
        cristatus() : argurus.luctuosa { var x : argurus.luctuosa; () => { var y = this; }; return x; }
        darlingtoni() : sagitta.leptoceros<wilsoni, trivirgatus.oconnelli> { var x : sagitta.leptoceros<wilsoni, trivirgatus.oconnelli>; () => { var y = this; }; return x; }
        fontanierii() : panamensis.setulosus<samarensis.fuscus<wilsoni, chrysaeolus.sarasinorum<Lanthanum.jugularis, imperfecta.subspinosus>>, lutreolus.foina> { var x : panamensis.setulosus<samarensis.fuscus<wilsoni, chrysaeolus.sarasinorum<Lanthanum.jugularis, imperfecta.subspinosus>>, lutreolus.foina>; () => { var y = this; }; return x; }
        umbrosus() : howi.marcanoi { var x : howi.marcanoi; () => { var y = this; }; return x; }
        chiriquinus() : imperfecta.lasiurus<caurinus.psilurus, caurinus.psilurus> { var x : imperfecta.lasiurus<caurinus.psilurus, caurinus.psilurus>; () => { var y = this; }; return x; }
        orarius() : lutreolus.schlegeli { var x : lutreolus.schlegeli; () => { var y = this; }; return x; }
        ilaeus() : caurinus.mahaganus<julianae.acariensis, julianae.sumatrana> { var x : caurinus.mahaganus<julianae.acariensis, julianae.sumatrana>; () => { var y = this; }; return x; }
        musschenbroekii() : trivirgatus.falconeri { var x : trivirgatus.falconeri; () => { var y = this; }; return x; }
      }
      export class xanthognathus {
        nanulus() : daubentonii.nigricans<imperfecta.subspinosus, samarensis.pallidus> { var x : daubentonii.nigricans<imperfecta.subspinosus, samarensis.pallidus>; () => { var y = this; }; return x; }
        albigena() : chrysaeolus.sarasinorum<caurinus.psilurus, quasiater.bobrinskoi> { var x : chrysaeolus.sarasinorum<caurinus.psilurus, quasiater.bobrinskoi>; () => { var y = this; }; return x; }
        onca() : sagitta.stolzmanni { var x : sagitta.stolzmanni; () => { var y = this; }; return x; }
        gunnii() : minutus.himalayana<howi.coludo<lepturus, lutreolus.punicus>, nigra.thalia<patas.uralensis, dogramacii.robustulus>> { var x : minutus.himalayana<howi.coludo<lepturus, lutreolus.punicus>, nigra.thalia<patas.uralensis, dogramacii.robustulus>>; () => { var y = this; }; return x; }
        apeco() : lutreolus.foina { var x : lutreolus.foina; () => { var y = this; }; return x; }
        variegates() : gabriellae.klossii<wilsoni, julianae.nudicaudus> { var x : gabriellae.klossii<wilsoni, julianae.nudicaudus>; () => { var y = this; }; return x; }
        goudotii() : trivirgatus.falconeri { var x : trivirgatus.falconeri; () => { var y = this; }; return x; }
        pohlei() : Lanthanum.megalonyx { var x : Lanthanum.megalonyx; () => { var y = this; }; return x; }
        ineptus() : panamensis.setulosus<xanthognathus, beisa> { var x : panamensis.setulosus<xanthognathus, beisa>; () => { var y = this; }; return x; }
        euryotis() : rendalli.moojeni<julianae.steerii, samarensis.pelurus<Lanthanum.jugularis, ruatanica.americanus>> { var x : rendalli.moojeni<julianae.steerii, samarensis.pelurus<Lanthanum.jugularis, ruatanica.americanus>>; () => { var y = this; }; return x; }
        maurisca() : Lanthanum.suillus<rionegrensis.caniventer, imperfecta.subspinosus> { var x : Lanthanum.suillus<rionegrensis.caniventer, imperfecta.subspinosus>; () => { var y = this; }; return x; }
        coyhaiquensis() : caurinus.mahaganus<dammermani.siberu<nigra.thalia<lutreolus.schlegeli, julianae.sumatrana>, panglima.abidi<lutreolus.foina, argurus.peninsulae>>, lutreolus.punicus> { var x : caurinus.mahaganus<dammermani.siberu<nigra.thalia<lutreolus.schlegeli, julianae.sumatrana>, panglima.abidi<lutreolus.foina, argurus.peninsulae>>, lutreolus.punicus>; () => { var y = this; }; return x; }
      }
      export class thaeleri extends argurus.oreas {
                                            ~~~~~
!!! error TS2449: Class 'oreas' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:627:18: 'oreas' is declared here.
        coromandra() : julianae.galapagoensis { var x : julianae.galapagoensis; () => { var y = this; }; return x; }
        parvipes() : nigra.dolichurus<argurus.germaini, samarensis.pallidus> { var x : nigra.dolichurus<argurus.germaini, samarensis.pallidus>; () => { var y = this; }; return x; }
        sponsorius() : rionegrensis.veraecrucis<chrysaeolus.sarasinorum<caurinus.psilurus, quasiater.bobrinskoi>, julianae.steerii> { var x : rionegrensis.veraecrucis<chrysaeolus.sarasinorum<caurinus.psilurus, quasiater.bobrinskoi>, julianae.steerii>; () => { var y = this; }; return x; }
        vates() : dogramacii.robustulus { var x : dogramacii.robustulus; () => { var y = this; }; return x; }
        roosmalenorum() : dogramacii.koepckeae { var x : dogramacii.koepckeae; () => { var y = this; }; return x; }
        rubicola() : rendalli.moojeni<rionegrensis.caniventer, rendalli.moojeni<panglima.amphibius<trivirgatus.falconeri, caurinus.psilurus>, gabriellae.echinatus>> { var x : rendalli.moojeni<rionegrensis.caniventer, rendalli.moojeni<panglima.amphibius<trivirgatus.falconeri, caurinus.psilurus>, gabriellae.echinatus>>; () => { var y = this; }; return x; }
        ikonnikovi() : argurus.luctuosa { var x : argurus.luctuosa; () => { var y = this; }; return x; }
        paramicrus() : imperfecta.ciliolabrum<otion, petrophilus.sodyi<macrorhinos.konganensis, caurinus.psilurus>> { var x : imperfecta.ciliolabrum<otion, petrophilus.sodyi<macrorhinos.konganensis, caurinus.psilurus>>; () => { var y = this; }; return x; }
      }
      export class lepturus extends Lanthanum.suillus<dammermani.melanops, quasiater.carolinensis> {
        ferrumequinum() : argurus.netscheri<argurus.luctuosa, julianae.nudicaudus> { var x : argurus.netscheri<argurus.luctuosa, julianae.nudicaudus>; () => { var y = this; }; return x; }
        aequalis() : sagitta.cinereus<petrophilus.sodyi<quasiater.wattsi<julianae.galapagoensis, panamensis.linulus<xanthognathus, macrorhinos.konganensis>>, petrophilus.minutilla>, Lanthanum.jugularis> { var x : sagitta.cinereus<petrophilus.sodyi<quasiater.wattsi<julianae.galapagoensis, panamensis.linulus<xanthognathus, macrorhinos.konganensis>>, petrophilus.minutilla>, Lanthanum.jugularis>; () => { var y = this; }; return x; }
      }
    }
    module dogramacii {
      export class robustulus extends lavali.wilsoni {
        fossor() : minutus.inez<argurus.peninsulae, julianae.nudicaudus> { var x : minutus.inez<argurus.peninsulae, julianae.nudicaudus>; () => { var y = this; }; return x; }
        humboldti() : sagitta.cinereus<lavali.xanthognathus, argurus.oreas> { var x : sagitta.cinereus<lavali.xanthognathus, argurus.oreas>; () => { var y = this; }; return x; }
        mexicana() : macrorhinos.konganensis { var x : macrorhinos.konganensis; () => { var y = this; }; return x; }
        martini() : julianae.oralis<julianae.steerii, lavali.lepturus> { var x : julianae.oralis<julianae.steerii, lavali.lepturus>; () => { var y = this; }; return x; }
        beatus() : Lanthanum.jugularis { var x : Lanthanum.jugularis; () => { var y = this; }; return x; }
        leporina() : trivirgatus.falconeri { var x : trivirgatus.falconeri; () => { var y = this; }; return x; }
        pearsonii() : dammermani.melanops { var x : dammermani.melanops; () => { var y = this; }; return x; }
        keaysi() : howi.angulatus<lavali.beisa, rendalli.zuluensis> { var x : howi.angulatus<lavali.beisa, rendalli.zuluensis>; () => { var y = this; }; return x; }
        hindei() : imperfecta.lasiurus<macrorhinos.konganensis, julianae.steerii> { var x : imperfecta.lasiurus<macrorhinos.konganensis, julianae.steerii>; () => { var y = this; }; return x; }
      }
      export class koepckeae {
        culturatus() : samarensis.pelurus<daubentonii.arboreus<kaiseri, lutreolus.punicus>, julianae.sumatrana> { var x : samarensis.pelurus<daubentonii.arboreus<kaiseri, lutreolus.punicus>, julianae.sumatrana>; () => { var y = this; }; return x; }
      }
      export class kaiseri {
        bedfordiae() : quasiater.carolinensis { var x : quasiater.carolinensis; () => { var y = this; }; return x; }
        paramorum() : Lanthanum.megalonyx { var x : Lanthanum.megalonyx; () => { var y = this; }; return x; }
        rubidus() : trivirgatus.lotor<julianae.steerii, samarensis.pallidus> { var x : trivirgatus.lotor<julianae.steerii, samarensis.pallidus>; () => { var y = this; }; return x; }
        juninensis() : quasiater.bobrinskoi { var x : quasiater.bobrinskoi; () => { var y = this; }; return x; }
        marginata() : argurus.wetmorei<rionegrensis.caniventer, sagitta.leptoceros<lutreolus.punicus, daubentonii.arboreus<quasiater.carolinensis, rionegrensis.caniventer>>> { var x : argurus.wetmorei<rionegrensis.caniventer, sagitta.leptoceros<lutreolus.punicus, daubentonii.arboreus<quasiater.carolinensis, rionegrensis.caniventer>>>; () => { var y = this; }; return x; }
        Meitnerium() : ruatanica.Praseodymium<julianae.sumatrana, lutreolus.cor<Lanthanum.jugularis, julianae.galapagoensis>> { var x : ruatanica.Praseodymium<julianae.sumatrana, lutreolus.cor<Lanthanum.jugularis, julianae.galapagoensis>>; () => { var y = this; }; return x; }
        pinetorum() : rionegrensis.caniventer { var x : rionegrensis.caniventer; () => { var y = this; }; return x; }
        hoolock() : samarensis.pelurus<argurus.oreas, argurus.luctuosa> { var x : samarensis.pelurus<argurus.oreas, argurus.luctuosa>; () => { var y = this; }; return x; }
        poeyi() : gabriellae.echinatus { var x : gabriellae.echinatus; () => { var y = this; }; return x; }
        Thulium() : julianae.durangae { var x : julianae.durangae; () => { var y = this; }; return x; }
        patrius() : Lanthanum.jugularis { var x : Lanthanum.jugularis; () => { var y = this; }; return x; }
        quadraticauda() : julianae.nudicaudus { var x : julianae.nudicaudus; () => { var y = this; }; return x; }
        ater() : ruatanica.americanus { var x : ruatanica.americanus; () => { var y = this; }; return x; }
      }
      export class aurata {
        grunniens() : nigra.gracilis<samarensis.pelurus<daubentonii.arboreus<kaiseri, lutreolus.punicus>, julianae.sumatrana>, ruatanica.americanus> { var x : nigra.gracilis<samarensis.pelurus<daubentonii.arboreus<kaiseri, lutreolus.punicus>, julianae.sumatrana>, ruatanica.americanus>; () => { var y = this; }; return x; }
        howensis() : ruatanica.americanus { var x : ruatanica.americanus; () => { var y = this; }; return x; }
        karlkoopmani() : caurinus.psilurus { var x : caurinus.psilurus; () => { var y = this; }; return x; }
        mirapitanga() : julianae.albidens<gabriellae.echinatus, gabriellae.echinatus> { var x : julianae.albidens<gabriellae.echinatus, gabriellae.echinatus>; () => { var y = this; }; return x; }
        ophiodon() : aurata { var x : aurata; () => { var y = this; }; return x; }
        landeri() : samarensis.pelurus<Lanthanum.jugularis, ruatanica.americanus> { var x : samarensis.pelurus<Lanthanum.jugularis, ruatanica.americanus>; () => { var y = this; }; return x; }
        sonomae() : trivirgatus.lotor<panglima.abidi<lavali.lepturus, caurinus.psilurus>, koepckeae> { var x : trivirgatus.lotor<panglima.abidi<lavali.lepturus, caurinus.psilurus>, koepckeae>; () => { var y = this; }; return x; }
        erythromos() : caurinus.johorensis<panglima.fundatus<samarensis.pallidus, sagitta.stolzmanni>, nigra.dolichurus<lavali.lepturus, samarensis.pallidus>> { var x : caurinus.johorensis<panglima.fundatus<samarensis.pallidus, sagitta.stolzmanni>, nigra.dolichurus<lavali.lepturus, samarensis.pallidus>>; () => { var y = this; }; return x; }
      }
    }
    module lutreolus {
      export class schlegeli extends lavali.beisa {
        mittendorfi() : rionegrensis.caniventer { var x : rionegrensis.caniventer; () => { var y = this; }; return x; }
        blicki() : dogramacii.robustulus { var x : dogramacii.robustulus; () => { var y = this; }; return x; }
        culionensis() : argurus.dauricus<ruatanica.americanus, rionegrensis.caniventer> { var x : argurus.dauricus<ruatanica.americanus, rionegrensis.caniventer>; () => { var y = this; }; return x; }
        scrofa() : petrophilus.sodyi<gabriellae.amicus, julianae.sumatrana> { var x : petrophilus.sodyi<gabriellae.amicus, julianae.sumatrana>; () => { var y = this; }; return x; }
        fernandoni() : quasiater.carolinensis { var x : quasiater.carolinensis; () => { var y = this; }; return x; }
        Tin() : sagitta.leptoceros<lutreolus.punicus, daubentonii.arboreus<quasiater.carolinensis, rionegrensis.caniventer>> { var x : sagitta.leptoceros<lutreolus.punicus, daubentonii.arboreus<quasiater.carolinensis, rionegrensis.caniventer>>; () => { var y = this; }; return x; }
        marmorata() : panamensis.setulosus<quasiater.carolinensis, daubentonii.arboreus<dogramacii.kaiseri, lutreolus.punicus>> { var x : panamensis.setulosus<quasiater.carolinensis, daubentonii.arboreus<dogramacii.kaiseri, lutreolus.punicus>>; () => { var y = this; }; return x; }
        tavaratra() : Lanthanum.nitidus<howi.marcanoi, macrorhinos.daphaenodon> { var x : Lanthanum.nitidus<howi.marcanoi, macrorhinos.daphaenodon>; () => { var y = this; }; return x; }
        peregrina() : daubentonii.nesiotes<macrorhinos.konganensis, lutreolus.punicus> { var x : daubentonii.nesiotes<macrorhinos.konganensis, lutreolus.punicus>; () => { var y = this; }; return x; }
        frontalis() : macrorhinos.marmosurus<ruatanica.hector<julianae.sumatrana, samarensis.pelurus<Lanthanum.jugularis, sagitta.walkeri>>, samarensis.pallidus> { var x : macrorhinos.marmosurus<ruatanica.hector<julianae.sumatrana, samarensis.pelurus<Lanthanum.jugularis, sagitta.walkeri>>, samarensis.pallidus>; () => { var y = this; }; return x; }
        cuniculus() : patas.uralensis { var x : patas.uralensis; () => { var y = this; }; return x; }
        magdalenae() : julianae.gerbillus<rionegrensis.caniventer, rendalli.crenulata<rendalli.zuluensis, dogramacii.robustulus>> { var x : julianae.gerbillus<rionegrensis.caniventer, rendalli.crenulata<rendalli.zuluensis, dogramacii.robustulus>>; () => { var y = this; }; return x; }
        andamanensis() : julianae.oralis<ruatanica.americanus, rendalli.zuluensis> { var x : julianae.oralis<ruatanica.americanus, rendalli.zuluensis>; () => { var y = this; }; return x; }
        dispar() : panamensis.linulus<dogramacii.kaiseri, minutus.portoricensis> { var x : panamensis.linulus<dogramacii.kaiseri, minutus.portoricensis>; () => { var y = this; }; return x; }
      }
    }
    module argurus {
      export class dauricus<T0, T1> {
        chinensis() : Lanthanum.jugularis { var x : Lanthanum.jugularis; () => { var y = this; }; return x; }
        duodecimcostatus() : lavali.xanthognathus { var x : lavali.xanthognathus; () => { var y = this; }; return x; }
        foxi() : daubentonii.nesiotes<lavali.beisa, lavali.lepturus> { var x : daubentonii.nesiotes<lavali.beisa, lavali.lepturus>; () => { var y = this; }; return x; }
        macleayii() : petrophilus.sodyi<quasiater.wattsi<julianae.galapagoensis, panamensis.linulus<lavali.xanthognathus, macrorhinos.konganensis>>, petrophilus.minutilla> { var x : petrophilus.sodyi<quasiater.wattsi<julianae.galapagoensis, panamensis.linulus<lavali.xanthognathus, macrorhinos.konganensis>>, petrophilus.minutilla>; () => { var y = this; }; return x; }
        darienensis() : trivirgatus.oconnelli { var x : trivirgatus.oconnelli; () => { var y = this; }; return x; }
        hardwickii() : macrorhinos.daphaenodon { var x : macrorhinos.daphaenodon; () => { var y = this; }; return x; }
        albifrons() : rionegrensis.veraecrucis<lavali.lepturus, julianae.durangae> { var x : rionegrensis.veraecrucis<lavali.lepturus, julianae.durangae>; () => { var y = this; }; return x; }
        jacobitus() : caurinus.johorensis<macrorhinos.konganensis, caurinus.johorensis<argurus.peninsulae, daubentonii.arboreus<argurus.germaini, sagitta.stolzmanni>>> { var x : caurinus.johorensis<macrorhinos.konganensis, caurinus.johorensis<argurus.peninsulae, daubentonii.arboreus<argurus.germaini, sagitta.stolzmanni>>>; () => { var y = this; }; return x; }
        guentheri() : rendalli.moojeni<lutreolus.foina, argurus.oreas> { var x : rendalli.moojeni<lutreolus.foina, argurus.oreas>; () => { var y = this; }; return x; }
        mahomet() : imperfecta.ciliolabrum<argurus.germaini, lutreolus.foina> { var x : imperfecta.ciliolabrum<argurus.germaini, lutreolus.foina>; () => { var y = this; }; return x; }
        misionensis() : macrorhinos.marmosurus<daubentonii.arboreus<quasiater.carolinensis, rionegrensis.caniventer>, gabriellae.echinatus> { var x : macrorhinos.marmosurus<daubentonii.arboreus<quasiater.carolinensis, rionegrensis.caniventer>, gabriellae.echinatus>; () => { var y = this; }; return x; }
      }
    }
    module nigra {
      export class dolichurus<T0, T1> {
        solomonis() : panglima.abidi<quasiater.carolinensis, rendalli.crenulata<gabriellae.klossii<julianae.nudicaudus, dogramacii.aurata>, argurus.netscheri<minutus.inez<argurus.peninsulae, julianae.nudicaudus>, julianae.oralis<lavali.xanthognathus, argurus.oreas>>>> { var x : panglima.abidi<quasiater.carolinensis, rendalli.crenulata<gabriellae.klossii<julianae.nudicaudus, dogramacii.aurata>, argurus.netscheri<minutus.inez<argurus.peninsulae, julianae.nudicaudus>, julianae.oralis<lavali.xanthognathus, argurus.oreas>>>>; () => { var y = this; }; return x; }
        alfredi() : caurinus.psilurus { var x : caurinus.psilurus; () => { var y = this; }; return x; }
        morrisi() : ruatanica.hector<trivirgatus.oconnelli, sagitta.cinereus<nigra.caucasica<julianae.sumatrana, trivirgatus.oconnelli>, quasiater.wattsi<julianae.galapagoensis, panamensis.linulus<lavali.xanthognathus, macrorhinos.konganensis>>>> { var x : ruatanica.hector<trivirgatus.oconnelli, sagitta.cinereus<nigra.caucasica<julianae.sumatrana, trivirgatus.oconnelli>, quasiater.wattsi<julianae.galapagoensis, panamensis.linulus<lavali.xanthognathus, macrorhinos.konganensis>>>>; () => { var y = this; }; return x; }
        lekaguli() : Lanthanum.nitidus<dammermani.melanops, lavali.lepturus> { var x : Lanthanum.nitidus<dammermani.melanops, lavali.lepturus>; () => { var y = this; }; return x; }
        dimissus() : imperfecta.subspinosus { var x : imperfecta.subspinosus; () => { var y = this; }; return x; }
        phaeotis() : julianae.sumatrana { var x : julianae.sumatrana; () => { var y = this; }; return x; }
        ustus() : julianae.acariensis { var x : julianae.acariensis; () => { var y = this; }; return x; }
        sagei() : howi.marcanoi { var x : howi.marcanoi; () => { var y = this; }; return x; }
      }
    }
    module panglima {
        export class amphibius<T0, T1> extends caurinus.johorensis<Lanthanum.nitidus<petrophilus.minutilla, julianae.sumatrana>, Lanthanum.jugularis> {
                                                        ~~~~~~~~~~
!!! error TS2449: Class 'johorensis' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:979:18: 'johorensis' is declared here.
            bottegi(): macrorhinos.marmosurus<rendalli.moojeni<amphibius<trivirgatus.falconeri, caurinus.psilurus>, gabriellae.echinatus>, sagitta.stolzmanni> { var x: macrorhinos.marmosurus<rendalli.moojeni<amphibius<trivirgatus.falconeri, caurinus.psilurus>, gabriellae.echinatus>, sagitta.stolzmanni>; () => { var y = this; }; return x; }
            jerdoni(): macrorhinos.daphaenodon { var x: macrorhinos.daphaenodon; () => { var y = this; }; return x; }
            camtschatica(): samarensis.pallidus { var x: samarensis.pallidus; () => { var y = this; }; return x; }
            spadix(): petrophilus.sodyi<macrorhinos.konganensis, caurinus.psilurus> { var x: petrophilus.sodyi<macrorhinos.konganensis, caurinus.psilurus>; () => { var y = this; }; return x; }
            luismanueli(): rendalli.moojeni<julianae.sumatrana, trivirgatus.oconnelli> { var x: rendalli.moojeni<julianae.sumatrana, trivirgatus.oconnelli>; () => { var y = this; }; return x; }
            aceramarcae(): daubentonii.arboreus<julianae.nudicaudus, julianae.steerii> { var x: daubentonii.arboreus<julianae.nudicaudus, julianae.steerii>; () => { var y = this; }; return x; }
        }
        export class fundatus<T0, T1> extends lutreolus.schlegeli {
            crassulus(): nigra.gracilis<provocax.melanoleuca, provocax.melanoleuca> { var x: nigra.gracilis<provocax.melanoleuca, provocax.melanoleuca>; () => { var y = this; }; return x; }
            flamarioni(): imperfecta.lasiurus<amphibius<patas.uralensis, gabriellae.klossii<julianae.nudicaudus, dogramacii.aurata>>, sagitta.leptoceros<lutreolus.punicus, daubentonii.arboreus<quasiater.carolinensis, rionegrensis.caniventer>>> { var x: imperfecta.lasiurus<amphibius<patas.uralensis, gabriellae.klossii<julianae.nudicaudus, dogramacii.aurata>>, sagitta.leptoceros<lutreolus.punicus, daubentonii.arboreus<quasiater.carolinensis, rionegrensis.caniventer>>>; () => { var y = this; }; return x; }
            mirabilis(): macrorhinos.marmosurus<petrophilus.rosalia<julianae.steerii, lavali.beisa>, lavali.lepturus> { var x: macrorhinos.marmosurus<petrophilus.rosalia<julianae.steerii, lavali.beisa>, lavali.lepturus>; () => { var y = this; }; return x; }
        }
        export class abidi<T0, T1> extends argurus.dauricus<argurus.germaini, julianae.durangae> {
            greyii(): trivirgatus.oconnelli { var x: trivirgatus.oconnelli; () => { var y = this; }; return x; }
            macedonicus(): petrophilus.minutilla { var x: petrophilus.minutilla; () => { var y = this; }; return x; }
            galili(): samarensis.cahirinus<dammermani.melanops, samarensis.pallidus> { var x: samarensis.cahirinus<dammermani.melanops, samarensis.pallidus>; () => { var y = this; }; return x; }
            thierryi(): dogramacii.robustulus { var x: dogramacii.robustulus; () => { var y = this; }; return x; }
            ega(): imperfecta.lasiurus<julianae.acariensis, howi.coludo<argurus.oreas, howi.marcanoi>> { var x: imperfecta.lasiurus<julianae.acariensis, howi.coludo<argurus.oreas, howi.marcanoi>>; () => { var y = this; }; return x; }
        }
    }
    module quasiater {
        export class carolinensis {
            concinna(): rendalli.zuluensis { var x: rendalli.zuluensis; () => { var y = this; }; return x; }
            aeneus(): howi.marcanoi { var x: howi.marcanoi; () => { var y = this; }; return x; }
            aloysiisabaudiae(): argurus.netscheri<trivirgatus.lotor<argurus.oreas, lavali.beisa>, lavali.lepturus> { var x: argurus.netscheri<trivirgatus.lotor<argurus.oreas, lavali.beisa>, lavali.lepturus>; () => { var y = this; }; return x; }
            tenellus(): julianae.nudicaudus { var x: julianae.nudicaudus; () => { var y = this; }; return x; }
            andium(): lavali.beisa { var x: lavali.beisa; () => { var y = this; }; return x; }
            persephone(): panglima.fundatus<samarensis.pallidus, sagitta.stolzmanni> { var x: panglima.fundatus<samarensis.pallidus, sagitta.stolzmanni>; () => { var y = this; }; return x; }
            patrizii(): Lanthanum.megalonyx { var x: Lanthanum.megalonyx; () => { var y = this; }; return x; }
        }
    }
    module minutus {
        export class himalayana<T0, T1> extends lutreolus.punicus {
                                                          ~~~~~~~
!!! error TS2449: Class 'punicus' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:722:18: 'punicus' is declared here.
            simoni(): argurus.netscheri<lavali.lepturus, argurus.dauricus<argurus.oreas, quasiater.carolinensis>> { var x: argurus.netscheri<lavali.lepturus, argurus.dauricus<argurus.oreas, quasiater.carolinensis>>; () => { var y = this; }; return x; }
            lobata(): samarensis.pallidus { var x: samarensis.pallidus; () => { var y = this; }; return x; }
            rusticus(): dogramacii.aurata { var x: dogramacii.aurata; () => { var y = this; }; return x; }
            latona(): daubentonii.nesiotes<dammermani.melanops, Lanthanum.megalonyx> { var x: daubentonii.nesiotes<dammermani.melanops, Lanthanum.megalonyx>; () => { var y = this; }; return x; }
            famulus(): patas.uralensis { var x: patas.uralensis; () => { var y = this; }; return x; }
            flaviceps(): minutus.inez<argurus.oreas, panglima.fundatus<gabriellae.amicus, lutreolus.foina>> { var x: minutus.inez<argurus.oreas, panglima.fundatus<gabriellae.amicus, lutreolus.foina>>; () => { var y = this; }; return x; }
            paradoxolophus(): nigra.dolichurus<lutreolus.schlegeli, chrysaeolus.sarasinorum<Lanthanum.jugularis, imperfecta.subspinosus>> { var x: nigra.dolichurus<lutreolus.schlegeli, chrysaeolus.sarasinorum<Lanthanum.jugularis, imperfecta.subspinosus>>; () => { var y = this; }; return x; }
            Osmium(): lavali.wilsoni { var x: lavali.wilsoni; () => { var y = this; }; return x; }
            vulgaris(): Lanthanum.nitidus<lavali.lepturus, julianae.acariensis> { var x: Lanthanum.nitidus<lavali.lepturus, julianae.acariensis>; () => { var y = this; }; return x; }
            betsileoensis(): panglima.amphibius<caurinus.megaphyllus, lavali.lepturus> { var x: panglima.amphibius<caurinus.megaphyllus, lavali.lepturus>; () => { var y = this; }; return x; }
            vespuccii(): argurus.gilbertii<gabriellae.klossii<macrorhinos.konganensis, quasiater.carolinensis>, provocax.melanoleuca> { var x: argurus.gilbertii<gabriellae.klossii<macrorhinos.konganensis, quasiater.carolinensis>, provocax.melanoleuca>; () => { var y = this; }; return x; }
            olympus(): Lanthanum.megalonyx { var x: Lanthanum.megalonyx; () => { var y = this; }; return x; }
        }
    }
    module caurinus {
        export class mahaganus<T0, T1> extends panglima.fundatus<quasiater.carolinensis, macrorhinos.daphaenodon> {
            martiniquensis(): ruatanica.hector<julianae.sumatrana, macrorhinos.marmosurus<dammermani.melanops, caurinus.mahaganus<julianae.nudicaudus, lavali.otion>>> { var x: ruatanica.hector<julianae.sumatrana, macrorhinos.marmosurus<dammermani.melanops, caurinus.mahaganus<julianae.nudicaudus, lavali.otion>>>; () => { var y = this; }; return x; }
            devius(): samarensis.pelurus<dogramacii.aurata, minutus.inez<minutus.inez<sagitta.stolzmanni, dammermani.melanops>, trivirgatus.falconeri>> { var x: samarensis.pelurus<dogramacii.aurata, minutus.inez<minutus.inez<sagitta.stolzmanni, dammermani.melanops>, trivirgatus.falconeri>>; () => { var y = this; }; return x; }
            masalai(): argurus.oreas { var x: argurus.oreas; () => { var y = this; }; return x; }
            kathleenae(): nigra.dolichurus<patas.uralensis, caurinus.psilurus> { var x: nigra.dolichurus<patas.uralensis, caurinus.psilurus>; () => { var y = this; }; return x; }
            simulus(): gabriellae.echinatus { var x: gabriellae.echinatus; () => { var y = this; }; return x; }
            nigrovittatus(): caurinus.mahaganus<gabriellae.echinatus, petrophilus.rosalia<Lanthanum.megalonyx, panglima.abidi<dogramacii.kaiseri, lavali.wilsoni>>> { var x: caurinus.mahaganus<gabriellae.echinatus, petrophilus.rosalia<Lanthanum.megalonyx, panglima.abidi<dogramacii.kaiseri, lavali.wilsoni>>>; () => { var y = this; }; return x; }
            senegalensis(): gabriellae.klossii<howi.coludo<lavali.lepturus, lutreolus.punicus>, dammermani.melanops> { var x: gabriellae.klossii<howi.coludo<lavali.lepturus, lutreolus.punicus>, dammermani.melanops>; () => { var y = this; }; return x; }
            acticola(): argurus.luctuosa { var x: argurus.luctuosa; () => { var y = this; }; return x; }
        }
    }
    module macrorhinos {
        export class marmosurus<T0, T1> {
            tansaniana(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; }
        }
    }
    module howi {
        export class angulatus<T0, T1> extends sagitta.stolzmanni {
                                                       ~~~~~~~~~~
!!! error TS2449: Class 'stolzmanni' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:901:18: 'stolzmanni' is declared here.
            pennatus(): howi.marcanoi { var x: howi.marcanoi; () => { var y = this; }; return x; }
        }
    }
    module daubentonii {
        export class nesiotes<T0, T1> {
        }
    }
    module nigra {
        export class thalia<T0, T1> {
            dichotomus(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; }
            arnuxii(): panamensis.linulus<trivirgatus.lotor<argurus.luctuosa, lavali.wilsoni>, lavali.beisa> { var x: panamensis.linulus<trivirgatus.lotor<argurus.luctuosa, lavali.wilsoni>, lavali.beisa>; () => { var y = this; }; return x; }
            verheyeni(): lavali.xanthognathus { var x: lavali.xanthognathus; () => { var y = this; }; return x; }
            dauuricus(): gabriellae.amicus { var x: gabriellae.amicus; () => { var y = this; }; return x; }
            tristriatus(): rionegrensis.veraecrucis<howi.marcanoi, panamensis.linulus<Lanthanum.megalonyx, howi.marcanoi>> { var x: rionegrensis.veraecrucis<howi.marcanoi, panamensis.linulus<Lanthanum.megalonyx, howi.marcanoi>>; () => { var y = this; }; return x; }
            lasiura(): panglima.abidi<samarensis.fuscus<lavali.wilsoni, chrysaeolus.sarasinorum<Lanthanum.jugularis, imperfecta.subspinosus>>, Lanthanum.nitidus<lavali.lepturus, julianae.acariensis>> { var x: panglima.abidi<samarensis.fuscus<lavali.wilsoni, chrysaeolus.sarasinorum<Lanthanum.jugularis, imperfecta.subspinosus>>, Lanthanum.nitidus<lavali.lepturus, julianae.acariensis>>; () => { var y = this; }; return x; }
            gangetica(): argurus.luctuosa { var x: argurus.luctuosa; () => { var y = this; }; return x; }
            brucei(): chrysaeolus.sarasinorum<julianae.steerii, ruatanica.americanus> { var x: chrysaeolus.sarasinorum<julianae.steerii, ruatanica.americanus>; () => { var y = this; }; return x; }
        }
    }
    module sagitta {
        export class walkeri extends minutus.portoricensis {
                                             ~~~~~~~~~~~~~
!!! error TS2449: Class 'portoricensis' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:851:18: 'portoricensis' is declared here.
            maracajuensis(): samarensis.cahirinus<Lanthanum.jugularis, ruatanica.americanus> { var x: samarensis.cahirinus<Lanthanum.jugularis, ruatanica.americanus>; () => { var y = this; }; return x; }
        }
    }
    module minutus {
        export class inez<T0, T1> extends samarensis.pelurus<argurus.germaini, julianae.durangae> {
                                                     ~~~~~~~
!!! error TS2449: Class 'pelurus' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:534:18: 'pelurus' is declared here.
            vexillaris(): samarensis.cahirinus<lavali.lepturus, lavali.wilsoni> { var x: samarensis.cahirinus<lavali.lepturus, lavali.wilsoni>; () => { var y = this; }; return x; }
        }
    }
    module macrorhinos {
        export class konganensis extends imperfecta.lasiurus<caurinus.psilurus, caurinus.psilurus> {
                                                    ~~~~~~~~
!!! error TS2449: Class 'lasiurus' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:788:18: 'lasiurus' is declared here.
        }
    }
    module panamensis {
        export class linulus<T0, T1> extends ruatanica.hector<julianae.sumatrana, samarensis.pelurus<Lanthanum.jugularis, sagitta.walkeri>> {
            goslingi(): daubentonii.arboreus<gabriellae.amicus, dogramacii.kaiseri> { var x: daubentonii.arboreus<gabriellae.amicus, dogramacii.kaiseri>; () => { var y = this; }; return x; }
            taki(): patas.uralensis { var x: patas.uralensis; () => { var y = this; }; return x; }
            fumosus(): rendalli.moojeni<argurus.netscheri<dogramacii.aurata, dogramacii.aurata>, lavali.beisa> { var x: rendalli.moojeni<argurus.netscheri<dogramacii.aurata, dogramacii.aurata>, lavali.beisa>; () => { var y = this; }; return x; }
            rufinus(): macrorhinos.konganensis { var x: macrorhinos.konganensis; () => { var y = this; }; return x; }
            lami(): nigra.thalia<patas.uralensis, dogramacii.robustulus> { var x: nigra.thalia<patas.uralensis, dogramacii.robustulus>; () => { var y = this; }; return x; }
            regina(): trivirgatus.oconnelli { var x: trivirgatus.oconnelli; () => { var y = this; }; return x; }
            nanilla(): dammermani.siberu<lavali.xanthognathus, trivirgatus.oconnelli> { var x: dammermani.siberu<lavali.xanthognathus, trivirgatus.oconnelli>; () => { var y = this; }; return x; }
            enganus(): petrophilus.sodyi<dogramacii.aurata, argurus.oreas> { var x: petrophilus.sodyi<dogramacii.aurata, argurus.oreas>; () => { var y = this; }; return x; }
            gomantongensis(): rionegrensis.veraecrucis<caurinus.psilurus, minutus.inez<rendalli.zuluensis, rionegrensis.caniventer>> { var x: rionegrensis.veraecrucis<caurinus.psilurus, minutus.inez<rendalli.zuluensis, rionegrensis.caniventer>>; () => { var y = this; }; return x; }
        }
    }
    module nigra {
        export class gracilis<T0, T1> {
            weddellii(): nigra.dolichurus<dogramacii.aurata, julianae.steerii> { var x: nigra.dolichurus<dogramacii.aurata, julianae.steerii>; () => { var y = this; }; return x; }
            echinothrix(): Lanthanum.nitidus<panglima.amphibius<caurinus.megaphyllus, lavali.lepturus>, argurus.oreas> { var x: Lanthanum.nitidus<panglima.amphibius<caurinus.megaphyllus, lavali.lepturus>, argurus.oreas>; () => { var y = this; }; return x; }
            garridoi(): dogramacii.koepckeae { var x: dogramacii.koepckeae; () => { var y = this; }; return x; }
            rouxii(): nigra.gracilis<argurus.dauricus<macrorhinos.konganensis, patas.uralensis>, nigra.thalia<patas.uralensis, julianae.galapagoensis>> { var x: nigra.gracilis<argurus.dauricus<macrorhinos.konganensis, patas.uralensis>, nigra.thalia<patas.uralensis, julianae.galapagoensis>>; () => { var y = this; }; return x; }
            aurita(): sagitta.stolzmanni { var x: sagitta.stolzmanni; () => { var y = this; }; return x; }
            geoffrensis(): rionegrensis.caniventer { var x: rionegrensis.caniventer; () => { var y = this; }; return x; }
            theresa(): macrorhinos.marmosurus<argurus.netscheri<dammermani.siberu<lutreolus.foina, samarensis.pallidus>, argurus.luctuosa>, nigra.dolichurus<lavali.lepturus, samarensis.pallidus>> { var x: macrorhinos.marmosurus<argurus.netscheri<dammermani.siberu<lutreolus.foina, samarensis.pallidus>, argurus.luctuosa>, nigra.dolichurus<lavali.lepturus, samarensis.pallidus>>; () => { var y = this; }; return x; }
            melanocarpus(): julianae.albidens<dammermani.siberu<lutreolus.foina, samarensis.pallidus>, julianae.sumatrana> { var x: julianae.albidens<dammermani.siberu<lutreolus.foina, samarensis.pallidus>, julianae.sumatrana>; () => { var y = this; }; return x; }
            dubiaquercus(): dogramacii.robustulus { var x: dogramacii.robustulus; () => { var y = this; }; return x; }
            pectoralis(): julianae.sumatrana { var x: julianae.sumatrana; () => { var y = this; }; return x; }
            apoensis(): caurinus.megaphyllus { var x: caurinus.megaphyllus; () => { var y = this; }; return x; }
            grisescens(): Lanthanum.jugularis { var x: Lanthanum.jugularis; () => { var y = this; }; return x; }
            ramirohitra(): panglima.amphibius<trivirgatus.falconeri, gabriellae.echinatus> { var x: panglima.amphibius<trivirgatus.falconeri, gabriellae.echinatus>; () => { var y = this; }; return x; }
        }
    }
    module samarensis {
        export class pelurus<T0, T1> extends sagitta.stolzmanni {
                                                     ~~~~~~~~~~
!!! error TS2449: Class 'stolzmanni' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:901:18: 'stolzmanni' is declared here.
            Palladium(): panamensis.linulus<macrorhinos.konganensis, rionegrensis.caniventer> { var x: panamensis.linulus<macrorhinos.konganensis, rionegrensis.caniventer>; () => { var y = this; }; return x; }
            castanea(): argurus.netscheri<minutus.inez<argurus.peninsulae, julianae.nudicaudus>, julianae.oralis<lavali.xanthognathus, argurus.oreas>> { var x: argurus.netscheri<minutus.inez<argurus.peninsulae, julianae.nudicaudus>, julianae.oralis<lavali.xanthognathus, argurus.oreas>>; () => { var y = this; }; return x; }
            chamek(): argurus.pygmaea<julianae.galapagoensis, provocax.melanoleuca> { var x: argurus.pygmaea<julianae.galapagoensis, provocax.melanoleuca>; () => { var y = this; }; return x; }
            nigriceps(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; }
            lunatus(): pelurus<Lanthanum.jugularis, sagitta.walkeri> { var x: pelurus<Lanthanum.jugularis, sagitta.walkeri>; () => { var y = this; }; return x; }
            madurae(): rionegrensis.caniventer { var x: rionegrensis.caniventer; () => { var y = this; }; return x; }
            chinchilla(): macrorhinos.daphaenodon { var x: macrorhinos.daphaenodon; () => { var y = this; }; return x; }
            eliasi(): petrophilus.rosalia<julianae.steerii, lavali.beisa> { var x: petrophilus.rosalia<julianae.steerii, lavali.beisa>; () => { var y = this; }; return x; }
            proditor(): panamensis.setulosus<gabriellae.echinatus, julianae.steerii> { var x: panamensis.setulosus<gabriellae.echinatus, julianae.steerii>; () => { var y = this; }; return x; }
            gambianus(): quasiater.wattsi<julianae.galapagoensis, panamensis.linulus<lavali.xanthognathus, macrorhinos.konganensis>> { var x: quasiater.wattsi<julianae.galapagoensis, panamensis.linulus<lavali.xanthognathus, macrorhinos.konganensis>>; () => { var y = this; }; return x; }
            petteri(): dogramacii.kaiseri { var x: dogramacii.kaiseri; () => { var y = this; }; return x; }
            nusatenggara(): panglima.amphibius<lavali.lepturus, quasiater.carolinensis> { var x: panglima.amphibius<lavali.lepturus, quasiater.carolinensis>; () => { var y = this; }; return x; }
            olitor(): rionegrensis.veraecrucis<lavali.xanthognathus, quasiater.bobrinskoi> { var x: rionegrensis.veraecrucis<lavali.xanthognathus, quasiater.bobrinskoi>; () => { var y = this; }; return x; }
        }
        export class fuscus<T0, T1> extends macrorhinos.daphaenodon {
                                                        ~~~~~~~~~~~
!!! error TS2449: Class 'daphaenodon' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:739:18: 'daphaenodon' is declared here.
            planifrons(): nigra.gracilis<julianae.nudicaudus, dogramacii.aurata> { var x: nigra.gracilis<julianae.nudicaudus, dogramacii.aurata>; () => { var y = this; }; return x; }
            badia(): julianae.sumatrana { var x: julianae.sumatrana; () => { var y = this; }; return x; }
            prymnolopha(): sagitta.walkeri { var x: sagitta.walkeri; () => { var y = this; }; return x; }
            natalensis(): trivirgatus.falconeri { var x: trivirgatus.falconeri; () => { var y = this; }; return x; }
            hunteri(): julianae.durangae { var x: julianae.durangae; () => { var y = this; }; return x; }
            sapiens(): pallidus { var x: pallidus; () => { var y = this; }; return x; }
            macrocercus(): panamensis.setulosus<dogramacii.koepckeae, julianae.sumatrana> { var x: panamensis.setulosus<dogramacii.koepckeae, julianae.sumatrana>; () => { var y = this; }; return x; }
            nimbae(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; }
            suricatta(): daubentonii.nigricans<dammermani.melanops, imperfecta.subspinosus> { var x: daubentonii.nigricans<dammermani.melanops, imperfecta.subspinosus>; () => { var y = this; }; return x; }
            jagorii(): julianae.galapagoensis { var x: julianae.galapagoensis; () => { var y = this; }; return x; }
            beecrofti(): sagitta.stolzmanni { var x: sagitta.stolzmanni; () => { var y = this; }; return x; }
            imaizumii(): minutus.inez<julianae.gerbillus<minutus.inez<rendalli.moojeni<panglima.amphibius<trivirgatus.falconeri, caurinus.psilurus>, gabriellae.echinatus>, dogramacii.aurata>, lavali.otion>, macrorhinos.konganensis> { var x: minutus.inez<julianae.gerbillus<minutus.inez<rendalli.moojeni<panglima.amphibius<trivirgatus.falconeri, caurinus.psilurus>, gabriellae.echinatus>, dogramacii.aurata>, lavali.otion>, macrorhinos.konganensis>; () => { var y = this; }; return x; }
            colocolo(): quasiater.bobrinskoi { var x: quasiater.bobrinskoi; () => { var y = this; }; return x; }
            wolfi(): petrophilus.rosalia<Lanthanum.megalonyx, panglima.abidi<dogramacii.kaiseri, lavali.wilsoni>> { var x: petrophilus.rosalia<Lanthanum.megalonyx, panglima.abidi<dogramacii.kaiseri, lavali.wilsoni>>; () => { var y = this; }; return x; }
        }
        export class pallidus {
            oblativa(): trivirgatus.falconeri { var x: trivirgatus.falconeri; () => { var y = this; }; return x; }
            watersi(): lavali.wilsoni { var x: lavali.wilsoni; () => { var y = this; }; return x; }
            glacialis(): sagitta.cinereus<nigra.caucasica<julianae.sumatrana, trivirgatus.oconnelli>, quasiater.wattsi<julianae.galapagoensis, panamensis.linulus<lavali.xanthognathus, macrorhinos.konganensis>>> { var x: sagitta.cinereus<nigra.caucasica<julianae.sumatrana, trivirgatus.oconnelli>, quasiater.wattsi<julianae.galapagoensis, panamensis.linulus<lavali.xanthognathus, macrorhinos.konganensis>>>; () => { var y = this; }; return x; }
            viaria(): chrysaeolus.sarasinorum<lavali.xanthognathus, lutreolus.punicus> { var x: chrysaeolus.sarasinorum<lavali.xanthognathus, lutreolus.punicus>; () => { var y = this; }; return x; }
        }
        export class cahirinus<T0, T1> {
            alashanicus(): nigra.caucasica<ruatanica.americanus, argurus.peninsulae> { var x: nigra.caucasica<ruatanica.americanus, argurus.peninsulae>; () => { var y = this; }; return x; }
            flaviventer(): trivirgatus.tumidifrons<lavali.thaeleri, daubentonii.arboreus<petrophilus.minutilla, argurus.peninsulae>> { var x: trivirgatus.tumidifrons<lavali.thaeleri, daubentonii.arboreus<petrophilus.minutilla, argurus.peninsulae>>; () => { var y = this; }; return x; }
            bottai(): lutreolus.schlegeli { var x: lutreolus.schlegeli; () => { var y = this; }; return x; }
            pinetis(): argurus.oreas { var x: argurus.oreas; () => { var y = this; }; return x; }
            saussurei(): rendalli.crenulata<gabriellae.klossii<julianae.nudicaudus, dogramacii.aurata>, argurus.netscheri<minutus.inez<argurus.peninsulae, julianae.nudicaudus>, julianae.oralis<lavali.xanthognathus, argurus.oreas>>> { var x: rendalli.crenulata<gabriellae.klossii<julianae.nudicaudus, dogramacii.aurata>, argurus.netscheri<minutus.inez<argurus.peninsulae, julianae.nudicaudus>, julianae.oralis<lavali.xanthognathus, argurus.oreas>>>; () => { var y = this; }; return x; }
        }
    }
    module sagitta {
        export class leptoceros<T0, T1> extends caurinus.johorensis<argurus.peninsulae, daubentonii.arboreus<argurus.germaini, sagitta.stolzmanni>> {
                                                         ~~~~~~~~~~
!!! error TS2449: Class 'johorensis' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:979:18: 'johorensis' is declared here.
            victus(): rionegrensis.caniventer { var x: rionegrensis.caniventer; () => { var y = this; }; return x; }
            hoplomyoides(): panglima.fundatus<julianae.gerbillus<imperfecta.subspinosus, julianae.durangae>, nigra.gracilis<argurus.luctuosa, imperfecta.subspinosus>> { var x: panglima.fundatus<julianae.gerbillus<imperfecta.subspinosus, julianae.durangae>, nigra.gracilis<argurus.luctuosa, imperfecta.subspinosus>>; () => { var y = this; }; return x; }
            gratiosus(): lavali.lepturus { var x: lavali.lepturus; () => { var y = this; }; return x; }
            rex(): lavali.wilsoni { var x: lavali.wilsoni; () => { var y = this; }; return x; }
            bolami(): trivirgatus.tumidifrons<lutreolus.schlegeli, ruatanica.americanus> { var x: trivirgatus.tumidifrons<lutreolus.schlegeli, ruatanica.americanus>; () => { var y = this; }; return x; }
        }
    }
    module daubentonii {
        export class nigricans<T0, T1> extends sagitta.stolzmanni {
                                                       ~~~~~~~~~~
!!! error TS2449: Class 'stolzmanni' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:901:18: 'stolzmanni' is declared here.
            woosnami(): dogramacii.robustulus { var x: dogramacii.robustulus; () => { var y = this; }; return x; }
        }
    }
    module dammermani {
        export class siberu<T0, T1> {
        }
    }
    module argurus {
        export class pygmaea<T0, T1> extends rendalli.moojeni<macrorhinos.konganensis, gabriellae.echinatus> {
            pajeros(): gabriellae.echinatus { var x: gabriellae.echinatus; () => { var y = this; }; return x; }
            capucinus(): rendalli.zuluensis { var x: rendalli.zuluensis; () => { var y = this; }; return x; }
            cuvieri(): rionegrensis.caniventer { var x: rionegrensis.caniventer; () => { var y = this; }; return x; }
        }
    }
    module chrysaeolus {
        export class sarasinorum<T0, T1> extends caurinus.psilurus {
                                                          ~~~~~~~~
!!! error TS2449: Class 'psilurus' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:1010:18: 'psilurus' is declared here.
            belzebul(): samarensis.pallidus { var x: samarensis.pallidus; () => { var y = this; }; return x; }
            hinpoon(): nigra.caucasica<julianae.sumatrana, trivirgatus.oconnelli> { var x: nigra.caucasica<julianae.sumatrana, trivirgatus.oconnelli>; () => { var y = this; }; return x; }
            kandti(): quasiater.wattsi<Lanthanum.jugularis, julianae.sumatrana> { var x: quasiater.wattsi<Lanthanum.jugularis, julianae.sumatrana>; () => { var y = this; }; return x; }
            cynosuros(): dammermani.melanops { var x: dammermani.melanops; () => { var y = this; }; return x; }
            Germanium(): lavali.beisa { var x: lavali.beisa; () => { var y = this; }; return x; }
            Ununoctium(): nigra.gracilis<lavali.xanthognathus, provocax.melanoleuca> { var x: nigra.gracilis<lavali.xanthognathus, provocax.melanoleuca>; () => { var y = this; }; return x; }
            princeps(): minutus.portoricensis { var x: minutus.portoricensis; () => { var y = this; }; return x; }
        }
    }
    module argurus {
        export class wetmorei<T0, T1> {
            leucoptera(): petrophilus.rosalia<dogramacii.koepckeae, lutreolus.foina> { var x: petrophilus.rosalia<dogramacii.koepckeae, lutreolus.foina>; () => { var y = this; }; return x; }
            ochraventer(): sagitta.walkeri { var x: sagitta.walkeri; () => { var y = this; }; return x; }
            tephromelas(): Lanthanum.jugularis { var x: Lanthanum.jugularis; () => { var y = this; }; return x; }
            cracens(): argurus.gilbertii<lavali.thaeleri, lutreolus.punicus> { var x: argurus.gilbertii<lavali.thaeleri, lutreolus.punicus>; () => { var y = this; }; return x; }
            jamaicensis(): nigra.thalia<howi.marcanoi, rionegrensis.veraecrucis<trivirgatus.falconeri, quasiater.carolinensis>> { var x: nigra.thalia<howi.marcanoi, rionegrensis.veraecrucis<trivirgatus.falconeri, quasiater.carolinensis>>; () => { var y = this; }; return x; }
            gymnocaudus(): dogramacii.aurata { var x: dogramacii.aurata; () => { var y = this; }; return x; }
            mayori(): sagitta.stolzmanni { var x: sagitta.stolzmanni; () => { var y = this; }; return x; }
        }
    }
    module argurus {
        export class oreas extends lavali.wilsoni {
            salamonis(): lavali.xanthognathus { var x: lavali.xanthognathus; () => { var y = this; }; return x; }
            paniscus(): ruatanica.Praseodymium<caurinus.psilurus, lavali.xanthognathus> { var x: ruatanica.Praseodymium<caurinus.psilurus, lavali.xanthognathus>; () => { var y = this; }; return x; }
            fagani(): trivirgatus.oconnelli { var x: trivirgatus.oconnelli; () => { var y = this; }; return x; }
            papuanus(): panglima.fundatus<quasiater.carolinensis, macrorhinos.daphaenodon> { var x: panglima.fundatus<quasiater.carolinensis, macrorhinos.daphaenodon>; () => { var y = this; }; return x; }
            timidus(): dammermani.melanops { var x: dammermani.melanops; () => { var y = this; }; return x; }
            nghetinhensis(): gabriellae.klossii<argurus.luctuosa, julianae.steerii> { var x: gabriellae.klossii<argurus.luctuosa, julianae.steerii>; () => { var y = this; }; return x; }
            barbei(): samarensis.cahirinus<lavali.lepturus, quasiater.carolinensis> { var x: samarensis.cahirinus<lavali.lepturus, quasiater.carolinensis>; () => { var y = this; }; return x; }
            univittatus(): argurus.peninsulae { var x: argurus.peninsulae; () => { var y = this; }; return x; }
        }
    }
    module daubentonii {
        export class arboreus<T0, T1> {
            capreolus(): rendalli.crenulata<samarensis.pelurus<Lanthanum.jugularis, ruatanica.americanus>, lavali.wilsoni> { var x: rendalli.crenulata<samarensis.pelurus<Lanthanum.jugularis, ruatanica.americanus>, lavali.wilsoni>; () => { var y = this; }; return x; }
            moreni(): panglima.abidi<julianae.galapagoensis, dogramacii.koepckeae> { var x: panglima.abidi<julianae.galapagoensis, dogramacii.koepckeae>; () => { var y = this; }; return x; }
            hypoleucos(): nigra.gracilis<trivirgatus.falconeri, argurus.germaini> { var x: nigra.gracilis<trivirgatus.falconeri, argurus.germaini>; () => { var y = this; }; return x; }
            paedulcus(): minutus.portoricensis { var x: minutus.portoricensis; () => { var y = this; }; return x; }
            pucheranii(): samarensis.fuscus<julianae.durangae, caurinus.megaphyllus> { var x: samarensis.fuscus<julianae.durangae, caurinus.megaphyllus>; () => { var y = this; }; return x; }
            stella(): julianae.oralis<lutreolus.foina, quasiater.carolinensis> { var x: julianae.oralis<lutreolus.foina, quasiater.carolinensis>; () => { var y = this; }; return x; }
            brasiliensis(): imperfecta.subspinosus { var x: imperfecta.subspinosus; () => { var y = this; }; return x; }
            brevicaudata(): trivirgatus.oconnelli { var x: trivirgatus.oconnelli; () => { var y = this; }; return x; }
            vitticollis(): dogramacii.koepckeae { var x: dogramacii.koepckeae; () => { var y = this; }; return x; }
            huangensis(): caurinus.psilurus { var x: caurinus.psilurus; () => { var y = this; }; return x; }
            cameroni(): petrophilus.rosalia<dammermani.siberu<imperfecta.lasiurus<lutreolus.foina, dammermani.melanops>, imperfecta.ciliolabrum<Lanthanum.megalonyx, petrophilus.minutilla>>, caurinus.psilurus> { var x: petrophilus.rosalia<dammermani.siberu<imperfecta.lasiurus<lutreolus.foina, dammermani.melanops>, imperfecta.ciliolabrum<Lanthanum.megalonyx, petrophilus.minutilla>>, caurinus.psilurus>; () => { var y = this; }; return x; }
            tianshanica(): howi.marcanoi { var x: howi.marcanoi; () => { var y = this; }; return x; }
        }
    }
    module patas {
        export class uralensis {
            cartilagonodus(): Lanthanum.nitidus<rionegrensis.caniventer, Lanthanum.jugularis> { var x: Lanthanum.nitidus<rionegrensis.caniventer, Lanthanum.jugularis>; () => { var y = this; }; return x; }
            pyrrhinus(): lavali.beisa { var x: lavali.beisa; () => { var y = this; }; return x; }
            insulans(): Lanthanum.jugularis { var x: Lanthanum.jugularis; () => { var y = this; }; return x; }
            nigricauda(): caurinus.johorensis<Lanthanum.nitidus<petrophilus.minutilla, julianae.sumatrana>, Lanthanum.jugularis> { var x: caurinus.johorensis<Lanthanum.nitidus<petrophilus.minutilla, julianae.sumatrana>, Lanthanum.jugularis>; () => { var y = this; }; return x; }
            muricauda(): panglima.fundatus<lutreolus.foina, dammermani.siberu<lutreolus.punicus, julianae.acariensis>> { var x: panglima.fundatus<lutreolus.foina, dammermani.siberu<lutreolus.punicus, julianae.acariensis>>; () => { var y = this; }; return x; }
            albicaudus(): sagitta.stolzmanni { var x: sagitta.stolzmanni; () => { var y = this; }; return x; }
            fallax(): ruatanica.hector<lutreolus.punicus, gabriellae.amicus> { var x: ruatanica.hector<lutreolus.punicus, gabriellae.amicus>; () => { var y = this; }; return x; }
            attenuata(): macrorhinos.marmosurus<ruatanica.americanus, argurus.netscheri<quasiater.carolinensis, dogramacii.kaiseri>> { var x: macrorhinos.marmosurus<ruatanica.americanus, argurus.netscheri<quasiater.carolinensis, dogramacii.kaiseri>>; () => { var y = this; }; return x; }
            megalura(): howi.marcanoi { var x: howi.marcanoi; () => { var y = this; }; return x; }
            neblina(): samarensis.pelurus<macrorhinos.daphaenodon, rionegrensis.caniventer> { var x: samarensis.pelurus<macrorhinos.daphaenodon, rionegrensis.caniventer>; () => { var y = this; }; return x; }
            citellus(): daubentonii.arboreus<quasiater.carolinensis, rionegrensis.caniventer> { var x: daubentonii.arboreus<quasiater.carolinensis, rionegrensis.caniventer>; () => { var y = this; }; return x; }
            tanezumi(): imperfecta.lasiurus<dogramacii.robustulus, caurinus.psilurus> { var x: imperfecta.lasiurus<dogramacii.robustulus, caurinus.psilurus>; () => { var y = this; }; return x; }
            albiventer(): rendalli.crenulata<rendalli.zuluensis, dogramacii.robustulus> { var x: rendalli.crenulata<rendalli.zuluensis, dogramacii.robustulus>; () => { var y = this; }; return x; }
        }
    }
    module provocax {
        export class melanoleuca extends lavali.wilsoni {
            Neodymium(): macrorhinos.marmosurus<petrophilus.sodyi<trivirgatus.falconeri, quasiater.bobrinskoi>, lutreolus.foina> { var x: macrorhinos.marmosurus<petrophilus.sodyi<trivirgatus.falconeri, quasiater.bobrinskoi>, lutreolus.foina>; () => { var y = this; }; return x; }
            baeri(): imperfecta.lasiurus<lavali.lepturus, ruatanica.americanus> { var x: imperfecta.lasiurus<lavali.lepturus, ruatanica.americanus>; () => { var y = this; }; return x; }
        }
    }
    module sagitta {
        export class sicarius<T0, T1> {
            Chlorine(): samarensis.cahirinus<nigra.gracilis<argurus.luctuosa, imperfecta.subspinosus>, dogramacii.robustulus> { var x: samarensis.cahirinus<nigra.gracilis<argurus.luctuosa, imperfecta.subspinosus>, dogramacii.robustulus>; () => { var y = this; }; return x; }
            simulator(): macrorhinos.marmosurus<Lanthanum.nitidus<dammermani.melanops, lavali.lepturus>, macrorhinos.marmosurus<rendalli.moojeni<panglima.amphibius<trivirgatus.falconeri, caurinus.psilurus>, gabriellae.echinatus>, sagitta.stolzmanni>> { var x: macrorhinos.marmosurus<Lanthanum.nitidus<dammermani.melanops, lavali.lepturus>, macrorhinos.marmosurus<rendalli.moojeni<panglima.amphibius<trivirgatus.falconeri, caurinus.psilurus>, gabriellae.echinatus>, sagitta.stolzmanni>>; () => { var y = this; }; return x; }
        }
    }
    module howi {
        export class marcanoi extends Lanthanum.megalonyx {
            formosae(): Lanthanum.megalonyx { var x: Lanthanum.megalonyx; () => { var y = this; }; return x; }
            dudui(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; }
            leander(): daubentonii.nesiotes<Lanthanum.megalonyx, minutus.portoricensis> { var x: daubentonii.nesiotes<Lanthanum.megalonyx, minutus.portoricensis>; () => { var y = this; }; return x; }
            martinsi(): dogramacii.aurata { var x: dogramacii.aurata; () => { var y = this; }; return x; }
            beatrix(): imperfecta.ciliolabrum<provocax.melanoleuca, panglima.amphibius<minutus.inez<rendalli.moojeni<panglima.amphibius<trivirgatus.falconeri, caurinus.psilurus>, gabriellae.echinatus>, dogramacii.aurata>, imperfecta.ciliolabrum<quasiater.carolinensis, lavali.beisa>>> { var x: imperfecta.ciliolabrum<provocax.melanoleuca, panglima.amphibius<minutus.inez<rendalli.moojeni<panglima.amphibius<trivirgatus.falconeri, caurinus.psilurus>, gabriellae.echinatus>, dogramacii.aurata>, imperfecta.ciliolabrum<quasiater.carolinensis, lavali.beisa>>>; () => { var y = this; }; return x; }
            griseoventer(): argurus.oreas { var x: argurus.oreas; () => { var y = this; }; return x; }
            zerda(): quasiater.wattsi<julianae.oralis<julianae.steerii, lavali.lepturus>, howi.coludo<julianae.steerii, julianae.gerbillus<lavali.thaeleri, quasiater.carolinensis>>> { var x: quasiater.wattsi<julianae.oralis<julianae.steerii, lavali.lepturus>, howi.coludo<julianae.steerii, julianae.gerbillus<lavali.thaeleri, quasiater.carolinensis>>>; () => { var y = this; }; return x; }
            yucatanicus(): julianae.nudicaudus { var x: julianae.nudicaudus; () => { var y = this; }; return x; }
            nigrita(): argurus.peninsulae { var x: argurus.peninsulae; () => { var y = this; }; return x; }
            jouvenetae(): argurus.dauricus<argurus.germaini, julianae.durangae> { var x: argurus.dauricus<argurus.germaini, julianae.durangae>; () => { var y = this; }; return x; }
            indefessus(): sagitta.walkeri { var x: sagitta.walkeri; () => { var y = this; }; return x; }
            vuquangensis(): macrorhinos.daphaenodon { var x: macrorhinos.daphaenodon; () => { var y = this; }; return x; }
            Zirconium(): lavali.thaeleri { var x: lavali.thaeleri; () => { var y = this; }; return x; }
            hyaena(): julianae.oralis<lavali.beisa, argurus.oreas> { var x: julianae.oralis<lavali.beisa, argurus.oreas>; () => { var y = this; }; return x; }
        }
    }
    module argurus {
        export class gilbertii<T0, T1> {
            nasutus(): lavali.lepturus { var x: lavali.lepturus; () => { var y = this; }; return x; }
            poecilops(): julianae.steerii { var x: julianae.steerii; () => { var y = this; }; return x; }
            sondaicus(): samarensis.fuscus<argurus.peninsulae, lavali.lepturus> { var x: samarensis.fuscus<argurus.peninsulae, lavali.lepturus>; () => { var y = this; }; return x; }
            auriventer(): petrophilus.rosalia<lavali.xanthognathus, trivirgatus.oconnelli> { var x: petrophilus.rosalia<lavali.xanthognathus, trivirgatus.oconnelli>; () => { var y = this; }; return x; }
            cherriei(): ruatanica.Praseodymium<Lanthanum.jugularis, argurus.oreas> { var x: ruatanica.Praseodymium<Lanthanum.jugularis, argurus.oreas>; () => { var y = this; }; return x; }
            lindberghi(): minutus.inez<rendalli.zuluensis, rionegrensis.caniventer> { var x: minutus.inez<rendalli.zuluensis, rionegrensis.caniventer>; () => { var y = this; }; return x; }
            pipistrellus(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; }
            paranus(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; }
            dubosti(): nigra.thalia<lutreolus.schlegeli, julianae.sumatrana> { var x: nigra.thalia<lutreolus.schlegeli, julianae.sumatrana>; () => { var y = this; }; return x; }
            opossum(): nigra.dolichurus<lavali.lepturus, samarensis.pallidus> { var x: nigra.dolichurus<lavali.lepturus, samarensis.pallidus>; () => { var y = this; }; return x; }
            oreopolus(): minutus.portoricensis { var x: minutus.portoricensis; () => { var y = this; }; return x; }
            amurensis(): daubentonii.arboreus<lavali.otion, macrorhinos.konganensis> { var x: daubentonii.arboreus<lavali.otion, macrorhinos.konganensis>; () => { var y = this; }; return x; }
        }
    }
    module petrophilus {
        export class minutilla {
        }
    }
    module lutreolus {
        export class punicus {
            strandi(): gabriellae.klossii<Lanthanum.jugularis, Lanthanum.jugularis> { var x: gabriellae.klossii<Lanthanum.jugularis, Lanthanum.jugularis>; () => { var y = this; }; return x; }
            lar(): caurinus.mahaganus<julianae.nudicaudus, lavali.otion> { var x: caurinus.mahaganus<julianae.nudicaudus, lavali.otion>; () => { var y = this; }; return x; }
            erica(): dogramacii.koepckeae { var x: dogramacii.koepckeae; () => { var y = this; }; return x; }
            trichura(): macrorhinos.konganensis { var x: macrorhinos.konganensis; () => { var y = this; }; return x; }
            lemniscatus(): panglima.fundatus<gabriellae.amicus, lutreolus.foina> { var x: panglima.fundatus<gabriellae.amicus, lutreolus.foina>; () => { var y = this; }; return x; }
            aspalax(): panamensis.linulus<lavali.xanthognathus, macrorhinos.konganensis> { var x: panamensis.linulus<lavali.xanthognathus, macrorhinos.konganensis>; () => { var y = this; }; return x; }
            marshalli(): julianae.nudicaudus { var x: julianae.nudicaudus; () => { var y = this; }; return x; }
            Zinc(): julianae.galapagoensis { var x: julianae.galapagoensis; () => { var y = this; }; return x; }
            monochromos(): howi.coludo<lavali.lepturus, lutreolus.punicus> { var x: howi.coludo<lavali.lepturus, lutreolus.punicus>; () => { var y = this; }; return x; }
            purinus(): ruatanica.hector<lutreolus.schlegeli, provocax.melanoleuca> { var x: ruatanica.hector<lutreolus.schlegeli, provocax.melanoleuca>; () => { var y = this; }; return x; }
            ischyrus(): lavali.lepturus { var x: lavali.lepturus; () => { var y = this; }; return x; }
            tenuis(): macrorhinos.daphaenodon { var x: macrorhinos.daphaenodon; () => { var y = this; }; return x; }
            Helium(): julianae.acariensis { var x: julianae.acariensis; () => { var y = this; }; return x; }
        }
    }
    module macrorhinos {
        export class daphaenodon {
            bredanensis(): julianae.sumatrana { var x: julianae.sumatrana; () => { var y = this; }; return x; }
            othus(): howi.coludo<argurus.oreas, howi.marcanoi> { var x: howi.coludo<argurus.oreas, howi.marcanoi>; () => { var y = this; }; return x; }
            hammondi(): julianae.gerbillus<minutus.inez<rendalli.moojeni<panglima.amphibius<trivirgatus.falconeri, caurinus.psilurus>, gabriellae.echinatus>, dogramacii.aurata>, lavali.otion> { var x: julianae.gerbillus<minutus.inez<rendalli.moojeni<panglima.amphibius<trivirgatus.falconeri, caurinus.psilurus>, gabriellae.echinatus>, dogramacii.aurata>, lavali.otion>; () => { var y = this; }; return x; }
            aureocollaris(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; }
            flavipes(): petrophilus.minutilla { var x: petrophilus.minutilla; () => { var y = this; }; return x; }
            callosus(): trivirgatus.lotor<lutreolus.foina, dogramacii.robustulus> { var x: trivirgatus.lotor<lutreolus.foina, dogramacii.robustulus>; () => { var y = this; }; return x; }
        }
    }
    module sagitta {
        export class cinereus<T0, T1> {
            zunigae(): rendalli.crenulata<macrorhinos.konganensis, nigra.dolichurus<lavali.lepturus, samarensis.pallidus>> { var x: rendalli.crenulata<macrorhinos.konganensis, nigra.dolichurus<lavali.lepturus, samarensis.pallidus>>; () => { var y = this; }; return x; }
            microps(): daubentonii.nigricans<caurinus.megaphyllus, quasiater.wattsi<Lanthanum.jugularis, julianae.sumatrana>> { var x: daubentonii.nigricans<caurinus.megaphyllus, quasiater.wattsi<Lanthanum.jugularis, julianae.sumatrana>>; () => { var y = this; }; return x; }
            guaporensis(): daubentonii.arboreus<gabriellae.amicus, argurus.germaini> { var x: daubentonii.arboreus<gabriellae.amicus, argurus.germaini>; () => { var y = this; }; return x; }
            tonkeana(): panglima.fundatus<petrophilus.minutilla, dammermani.melanops> { var x: panglima.fundatus<petrophilus.minutilla, dammermani.melanops>; () => { var y = this; }; return x; }
            montensis(): dammermani.siberu<dogramacii.aurata, trivirgatus.oconnelli> { var x: dammermani.siberu<dogramacii.aurata, trivirgatus.oconnelli>; () => { var y = this; }; return x; }
            sphinx(): minutus.portoricensis { var x: minutus.portoricensis; () => { var y = this; }; return x; }
            glis(): argurus.wetmorei<argurus.oreas, howi.marcanoi> { var x: argurus.wetmorei<argurus.oreas, howi.marcanoi>; () => { var y = this; }; return x; }
            dorsalis(): petrophilus.sodyi<argurus.luctuosa, julianae.sumatrana> { var x: petrophilus.sodyi<argurus.luctuosa, julianae.sumatrana>; () => { var y = this; }; return x; }
            fimbriatus(): provocax.melanoleuca { var x: provocax.melanoleuca; () => { var y = this; }; return x; }
            sara(): nigra.gracilis<argurus.luctuosa, imperfecta.subspinosus> { var x: nigra.gracilis<argurus.luctuosa, imperfecta.subspinosus>; () => { var y = this; }; return x; }
            epimelas(): sagitta.stolzmanni { var x: sagitta.stolzmanni; () => { var y = this; }; return x; }
            pittieri(): samarensis.fuscus<quasiater.carolinensis, sagitta.stolzmanni> { var x: samarensis.fuscus<quasiater.carolinensis, sagitta.stolzmanni>; () => { var y = this; }; return x; }
        }
    }
    module nigra {
        export class caucasica<T0, T1> {
        }
    }
    module gabriellae {
        export class klossii<T0, T1> extends imperfecta.lasiurus<dogramacii.robustulus, caurinus.psilurus> {
                                                        ~~~~~~~~
!!! error TS2449: Class 'lasiurus' used before its declaration.
!!! related TS2728 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts:788:18: 'lasiurus' is declared here.
        }
        export class amicus {
            pirrensis(): argurus.luctuosa { var x: argurus.luctuosa; () => { var y = this; }; return x; }
            phaeura(): panglima.abidi<lutreolus.foina, argurus.peninsulae> { var x: panglima.abidi<lutreolus.foina, argurus.peninsulae>; () => { var y = this; }; return x; }
            voratus(): lavali.thaeleri { var x: lavali.thaeleri; () => { var y = this; }; return x; }
            satarae(): trivirgatus.lotor<argurus.luctuosa, lavali.wilsoni> { var x: trivirgatus.lotor<argurus.luctuosa, lavali.wilsoni>; () => { var y = this; }; return x; }
            hooperi(): caurinus.psilurus { var x: caurinus.psilurus; () => { var y = this; }; return x; }
            perrensi(): rendalli.crenulata<trivirgatus.falconeri, howi.marcanoi> { var x: rendalli.crenulata<trivirgatus.falconeri, howi.marcanoi>; () => { var y = this; }; return x; }
            ridei(): ruatanica.hector<julianae.sumatrana, samarensis.pelurus<Lanthanum.jugularis, sagitta.walkeri>> { var x: ruatanica.hector<julianae.sumatrana, samarensis.pelurus<Lanthanum.jugularis, sagitta.walkeri>>; () => { var y = this; }; return x; }
            audeberti(): daubentonii.arboreus<dogramacii.kaiseri, lutreolus.punicus> { var x: daubentonii.arboreus<dogramacii.kaiseri, lutreolus.punicus>; () => { var y = this; }; return x; }
            Lutetium(): macrorhinos.marmosurus<sagitta.stolzmanni, lavali.thaeleri> { var x: macrorhinos.marmosurus<sagitta.stolzmanni, lavali.thaeleri>; () => { var y = this; }; return x; }
            atrox(): samarensis.fuscus<julianae.oralis<julianae.steerii, lavali.lepturus>, dogramacii.koepckeae> { var x: samarensis.fuscus<julianae.oralis<julianae.steerii, lavali.lepturus>, dogramacii.koepckeae>; () => { var y = this; }; return x; }
        }
        export class echinatus {
            tenuipes(): howi.coludo<macrorhinos.daphaenodon, panglima.amphibius<macrorhinos.daphaenodon, patas.uralensis>> { var x: howi.coludo<macrorhinos.daphaenodon, panglima.amphibius<macrorhinos.daphaenodon, patas.uralensis>>; () => { var y = this; }; return x; }
        }
    }
    module imperfecta {
        export class lasiurus<T0, T1> {
            marisae(): lavali.thaeleri { var x: lavali.thaeleri; () => { var y = this; }; return x; }
            fulvus(): argurus.germaini { var x: argurus.germaini; () => { var y = this; }; return x; }
            paranaensis(): dogramacii.koepckeae { var x: dogramacii.koepckeae; () => { var y = this; }; return x; }
            didactylus(): panglima.abidi<dogramacii.aurata, chrysaeolus.sarasinorum<caurinus.megaphyllus, lavali.xanthognathus>> { var x: panglima.abidi<dogramacii.aurata, chrysaeolus.sarasinorum<caurinus.megaphyllus, lavali.xanthognathus>>; () => { var y = this; }; return x; }
            schreibersii(): nigra.gracilis<argurus.luctuosa, ruatanica.americanus> { var x: nigra.gracilis<argurus.luctuosa, ruatanica.americanus>; () => { var y = this; }; return x; }
            orii(): dogramacii.kaiseri { var x: dogramacii.kaiseri; () => { var y = this; }; return x; }
        }
        export class subspinosus {
            monticularis(): macrorhinos.konganensis { var x: macrorhinos.konganensis; () => { var y = this; }; return x; }
            Gadolinium(): nigra.caucasica<sagitta.stolzmanni, patas.uralensis> { var x: nigra.caucasica<sagitta.stolzmanni, patas.uralensis>; () => { var y = this; }; return x; }
            oasicus(): caurinus.johorensis<argurus.peninsulae, daubentonii.arboreus<argurus.germaini, sagitta.stolzmanni>> { var x: caurinus.johorensis<argurus.peninsulae, daubentonii.arboreus<argurus.germaini, sagitta.stolzmanni>>; () => { var y = this; }; return x; }
            paterculus(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; }
            punctata(): lavali.thaeleri { var x: lavali.thaeleri; () => { var y = this; }; return x; }
            invictus(): sagitta.stolzmanni { var x: sagitta.stolzmanni; () => { var y = this; }; return x; }
            stangeri(): petrophilus.minutilla { var x: petrophilus.minutilla; () => { var y = this; }; return x; }
            siskiyou(): minutus.inez<macrorhinos.konganensis, samarensis.pallidus> { var x: minutus.inez<macrorhinos.konganensis, samarensis.pallidus>; () => { var y = this; }; return x; }
            welwitschii(): rionegrensis.caniventer { var x: rionegrensis.caniventer; () => { var y = this; }; return x; }
            Polonium(): lavali.wilsoni { var x: lavali.wilsoni; () => { var y = this; }; return x; }
            harpia(): argurus.luctuosa { var x: argurus.luctuosa; () => { var y = this; }; return x; }
        }
        export class ciliolabrum<T0, T1> extends dogramacii.robustulus {
            leschenaultii(): argurus.dauricus<Lanthanum.jugularis, ruatanica.Praseodymium<argurus.germaini, caurinus.megaphyllus>> { var x: argurus.dauricus<Lanthanum.jugularis, ruatanica.Praseodymium<argurus.germaini, caurinus.megaphyllus>>; () => { var y = this; }; return x; }
            ludia(): caurinus.johorensis<rionegrensis.caniventer, lutreolus.punicus> { var x: caurinus.johorensis<rionegrensis.caniventer, lutreolus.punicus>; () => { var y = this; }; return x; }
            sinicus(): macrorhinos.marmosurus<macrorhinos.daphaenodon, gabriellae.amicus> { var x: macrorhinos.marmosurus<macrorhinos.daphaenodon, gabriellae.amicus>; () => { var y = this; }; return x; }
        }
    }
    module quasiater {
        export class wattsi<T0, T1> {
            lagotis(): lavali.xanthognathus { var x: lavali.xanthognathus; () => { var y = this; }; return x; }
            hussoni(): lavali.wilsoni { var x: lavali.wilsoni; () => { var y = this; }; return x; }
            bilarni(): samarensis.cahirinus<rendalli.crenulata<lavali.wilsoni, panglima.fundatus<gabriellae.amicus, lutreolus.foina>>, dogramacii.koepckeae> { var x: samarensis.cahirinus<rendalli.crenulata<lavali.wilsoni, panglima.fundatus<gabriellae.amicus, lutreolus.foina>>, dogramacii.koepckeae>; () => { var y = this; }; return x; }
            cabrerae(): lavali.lepturus { var x: lavali.lepturus; () => { var y = this; }; return x; }
        }
    }
    module butleri {
    }
    module petrophilus {
        export class sodyi<T0, T1> extends quasiater.bobrinskoi {
            saundersiae(): samarensis.pallidus { var x: samarensis.pallidus; () => { var y = this; }; return x; }
            imberbis(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; }
            cansdalei(): dammermani.melanops { var x: dammermani.melanops; () => { var y = this; }; return x; }
            Lawrencium(): nigra.dolichurus<julianae.sumatrana, imperfecta.subspinosus> { var x: nigra.dolichurus<julianae.sumatrana, imperfecta.subspinosus>; () => { var y = this; }; return x; }
            catta(): argurus.oreas { var x: argurus.oreas; () => { var y = this; }; return x; }
            breviceps(): argurus.dauricus<dogramacii.aurata, dammermani.melanops> { var x: argurus.dauricus<dogramacii.aurata, dammermani.melanops>; () => { var y = this; }; return x; }
            transitionalis(): rendalli.zuluensis { var x: rendalli.zuluensis; () => { var y = this; }; return x; }
            heptneri(): argurus.germaini { var x: argurus.germaini; () => { var y = this; }; return x; }
            bairdii(): lavali.beisa { var x: lavali.beisa; () => { var y = this; }; return x; }
        }
    }
    module caurinus {
        export class megaphyllus extends imperfecta.lasiurus<julianae.acariensis, howi.coludo<argurus.oreas, howi.marcanoi>> {
            montana(): argurus.oreas { var x: argurus.oreas; () => { var y = this; }; return x; }
            amatus(): lutreolus.schlegeli { var x: lutreolus.schlegeli; () => { var y = this; }; return x; }
            bucculentus(): gabriellae.echinatus { var x: gabriellae.echinatus; () => { var y = this; }; return x; }
            lepida(): rendalli.crenulata<lavali.wilsoni, panglima.fundatus<gabriellae.amicus, lutreolus.foina>> { var x: rendalli.crenulata<lavali.wilsoni, panglima.fundatus<gabriellae.amicus, lutreolus.foina>>; () => { var y = this; }; return x; }
            graecus(): dogramacii.kaiseri { var x: dogramacii.kaiseri; () => { var y = this; }; return x; }
            forsteri(): petrophilus.minutilla { var x: petrophilus.minutilla; () => { var y = this; }; return x; }
            perotensis(): samarensis.cahirinus<minutus.portoricensis, lavali.lepturus> { var x: samarensis.cahirinus<minutus.portoricensis, lavali.lepturus>; () => { var y = this; }; return x; }
            cirrhosus(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; }
        }
    }
    module minutus {
        export class portoricensis {
            relictus(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; }
            aequatorianus(): gabriellae.klossii<julianae.nudicaudus, dogramacii.aurata> { var x: gabriellae.klossii<julianae.nudicaudus, dogramacii.aurata>; () => { var y = this; }; return x; }
            rhinogradoides(): samarensis.cahirinus<quasiater.carolinensis, julianae.durangae> { var x: samarensis.cahirinus<quasiater.carolinensis, julianae.durangae>; () => { var y = this; }; return x; }
        }
    }
    module lutreolus {
        export class foina {
            tarfayensis(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; }
            Promethium(): samarensis.pelurus<argurus.germaini, julianae.durangae> { var x: samarensis.pelurus<argurus.germaini, julianae.durangae>; () => { var y = this; }; return x; }
            salinae(): gabriellae.klossii<macrorhinos.konganensis, quasiater.carolinensis> { var x: gabriellae.klossii<macrorhinos.konganensis, quasiater.carolinensis>; () => { var y = this; }; return x; }
            kerri(): howi.coludo<quasiater.carolinensis, minutus.portoricensis> { var x: howi.coludo<quasiater.carolinensis, minutus.portoricensis>; () => { var y = this; }; return x; }
            scotti(): quasiater.wattsi<macrorhinos.konganensis, dogramacii.robustulus> { var x: quasiater.wattsi<macrorhinos.konganensis, dogramacii.robustulus>; () => { var y = this; }; return x; }
            camerunensis(): julianae.gerbillus<imperfecta.subspinosus, julianae.durangae> { var x: julianae.gerbillus<imperfecta.subspinosus, julianae.durangae>; () => { var y = this; }; return x; }
            affinis(): argurus.germaini { var x: argurus.germaini; () => { var y = this; }; return x; }
            siebersi(): trivirgatus.lotor<argurus.oreas, nigra.thalia<patas.uralensis, lavali.wilsoni>> { var x: trivirgatus.lotor<argurus.oreas, nigra.thalia<patas.uralensis, lavali.wilsoni>>; () => { var y = this; }; return x; }
            maquassiensis(): trivirgatus.oconnelli { var x: trivirgatus.oconnelli; () => { var y = this; }; return x; }
            layardi(): julianae.albidens<howi.marcanoi, dogramacii.koepckeae> { var x: julianae.albidens<howi.marcanoi, dogramacii.koepckeae>; () => { var y = this; }; return x; }
            bishopi(): dogramacii.aurata { var x: dogramacii.aurata; () => { var y = this; }; return x; }
            apodemoides(): caurinus.psilurus { var x: caurinus.psilurus; () => { var y = this; }; return x; }
            argentiventer(): trivirgatus.mixtus<gabriellae.amicus, lutreolus.punicus> { var x: trivirgatus.mixtus<gabriellae.amicus, lutreolus.punicus>; () => { var y = this; }; return x; }
        }
    }
    module lutreolus {
        export class cor<T0, T1> extends panglima.fundatus<panamensis.linulus<trivirgatus.lotor<argurus.luctuosa, lavali.wilsoni>, lavali.beisa>, dammermani.melanops> {
            antinorii(): petrophilus.sodyi<quasiater.carolinensis, argurus.germaini> { var x: petrophilus.sodyi<quasiater.carolinensis, argurus.germaini>; () => { var y = this; }; return x; }
            voi(): caurinus.johorensis<dammermani.melanops, macrorhinos.konganensis> { var x: caurinus.johorensis<dammermani.melanops, macrorhinos.konganensis>; () => { var y = this; }; return x; }
            mussoi(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; }
            truncatus(): trivirgatus.lotor<sagitta.stolzmanni, lutreolus.foina> { var x: trivirgatus.lotor<sagitta.stolzmanni, lutreolus.foina>; () => { var y = this; }; return x; }
            achates(): provocax.melanoleuca { var x: provocax.melanoleuca; () => { var y = this; }; return x; }
            praedatrix(): howi.angulatus<dogramacii.kaiseri, julianae.steerii> { var x: howi.angulatus<dogramacii.kaiseri, julianae.steerii>; () => { var y = this; }; return x; }
            mzabi(): quasiater.wattsi<trivirgatus.lotor<julianae.steerii, samarensis.pallidus>, minutus.inez<trivirgatus.oconnelli, Lanthanum.jugularis>> { var x: quasiater.wattsi<trivirgatus.lotor<julianae.steerii, samarensis.pallidus>, minutus.inez<trivirgatus.oconnelli, Lanthanum.jugularis>>; () => { var y = this; }; return x; }
            xanthinus(): nigra.gracilis<panamensis.linulus<dogramacii.kaiseri, minutus.portoricensis>, howi.marcanoi> { var x: nigra.gracilis<panamensis.linulus<dogramacii.kaiseri, minutus.portoricensis>, howi.marcanoi>; () => { var y = this; }; return x; }
            tapoatafa(): caurinus.megaphyllus { var x: caurinus.megaphyllus; () => { var y = this; }; return x; }
            castroviejoi(): Lanthanum.jugularis { var x: Lanthanum.jugularis; () => { var y = this; }; return x; }
        }
    }
    module howi {
        export class coludo<T0, T1> {
            bernhardi(): lutreolus.punicus { var x: lutreolus.punicus; () => { var y = this; }; return x; }
            isseli(): argurus.germaini { var x: argurus.germaini; () => { var y = this; }; return x; }
        }
    }
    module argurus {
        export class germaini extends gabriellae.amicus {
            sharpei(): lavali.wilsoni { var x: lavali.wilsoni; () => { var y = this; }; return x; }
            palmarum(): macrorhinos.marmosurus<Lanthanum.megalonyx, lavali.thaeleri> { var x: macrorhinos.marmosurus<Lanthanum.megalonyx, lavali.thaeleri>; () => { var y = this; }; return x; }
        }
    }
    module sagitta {
        export class stolzmanni {
            riparius(): nigra.dolichurus<dogramacii.koepckeae, caurinus.psilurus> { var x: nigra.dolichurus<dogramacii.koepckeae, caurinus.psilurus>; () => { var y = this; }; return x; }
            dhofarensis(): lutreolus.foina { var x: lutreolus.foina; () => { var y = this; }; return x; }
            tricolor(): argurus.germaini { var x: argurus.germaini; () => { var y = this; }; return x; }
            gardneri(): lavali.xanthognathus { var x: lavali.xanthognathus; () => { var y = this; }; return x; }
            walleri(): rendalli.moojeni<chrysaeolus.sarasinorum<caurinus.megaphyllus, lavali.xanthognathus>, gabriellae.echinatus> { var x: rendalli.moojeni<chrysaeolus.sarasinorum<caurinus.megaphyllus, lavali.xanthognathus>, gabriellae.echinatus>; () => { var y = this; }; return x; }
            talpoides(): gabriellae.echinatus { var x: gabriellae.echinatus; () => { var y = this; }; return x; }
            pallipes(): dammermani.melanops { var x: dammermani.melanops; () => { var y = this; }; return x; }
            lagurus(): lavali.beisa { var x: lavali.beisa; () => { var y = this; }; return x; }
            hipposideros(): julianae.albidens<argurus.luctuosa, gabriellae.echinatus> { var x: julianae.albidens<argurus.luctuosa, gabriellae.echinatus>; () => { var y = this; }; return x; }
            griselda(): caurinus.psilurus { var x: caurinus.psilurus; () => { var y = this; }; return x; }
            florium(): rendalli.zuluensis { var x: rendalli.zuluensis; () => { var y = this; }; return x; }
        }
    }
    module dammermani {
        export class melanops extends minutus.inez<sagitta.stolzmanni, dammermani.melanops> {
            blarina(): dammermani.melanops { var x: dammermani.melanops; () => { var y = this; }; return x; }
            harwoodi(): rionegrensis.veraecrucis<nigra.dolichurus<lavali.lepturus, samarensis.pallidus>, lavali.wilsoni> { var x: rionegrensis.veraecrucis<nigra.dolichurus<lavali.lepturus, samarensis.pallidus>, lavali.wilsoni>; () => { var y = this; }; return x; }
            ashaninka(): julianae.nudicaudus { var x: julianae.nudicaudus; () => { var y = this; }; return x; }
            wiedii(): julianae.steerii { var x: julianae.steerii; () => { var y = this; }; return x; }
            godmani(): imperfecta.subspinosus { var x: imperfecta.subspinosus; () => { var y = this; }; return x; }
            condorensis(): imperfecta.ciliolabrum<samarensis.pallidus, caurinus.psilurus> { var x: imperfecta.ciliolabrum<samarensis.pallidus, caurinus.psilurus>; () => { var y = this; }; return x; }
            xerophila(): panglima.abidi<minutus.portoricensis, patas.uralensis> { var x: panglima.abidi<minutus.portoricensis, patas.uralensis>; () => { var y = this; }; return x; }
            laminatus(): panglima.fundatus<howi.marcanoi, samarensis.fuscus<lavali.wilsoni, chrysaeolus.sarasinorum<Lanthanum.jugularis, imperfecta.subspinosus>>> { var x: panglima.fundatus<howi.marcanoi, samarensis.fuscus<lavali.wilsoni, chrysaeolus.sarasinorum<Lanthanum.jugularis, imperfecta.subspinosus>>>; () => { var y = this; }; return x; }
            archeri(): howi.marcanoi { var x: howi.marcanoi; () => { var y = this; }; return x; }
            hidalgo(): minutus.inez<trivirgatus.oconnelli, Lanthanum.jugularis> { var x: minutus.inez<trivirgatus.oconnelli, Lanthanum.jugularis>; () => { var y = this; }; return x; }
            unicolor(): lutreolus.schlegeli { var x: lutreolus.schlegeli; () => { var y = this; }; return x; }
            philippii(): nigra.gracilis<sagitta.walkeri, sagitta.stolzmanni> { var x: nigra.gracilis<sagitta.walkeri, sagitta.stolzmanni>; () => { var y = this; }; return x; }
            bocagei(): julianae.albidens<lavali.wilsoni, lavali.thaeleri> { var x: julianae.albidens<lavali.wilsoni, lavali.thaeleri>; () => { var y = this; }; return x; }
        }
    }
    module argurus {
        export class peninsulae extends patas.uralensis {
            aitkeni(): trivirgatus.mixtus<argurus.dauricus<dogramacii.aurata, dammermani.melanops>, panglima.amphibius<lavali.lepturus, quasiater.carolinensis>> { var x: trivirgatus.mixtus<argurus.dauricus<dogramacii.aurata, dammermani.melanops>, panglima.amphibius<lavali.lepturus, quasiater.carolinensis>>; () => { var y = this; }; return x; }
            novaeangliae(): lavali.xanthognathus { var x: lavali.xanthognathus; () => { var y = this; }; return x; }
            olallae(): julianae.sumatrana { var x: julianae.sumatrana; () => { var y = this; }; return x; }
            anselli(): dogramacii.aurata { var x: dogramacii.aurata; () => { var y = this; }; return x; }
            timminsi(): macrorhinos.konganensis { var x: macrorhinos.konganensis; () => { var y = this; }; return x; }
            sordidus(): rendalli.moojeni<macrorhinos.konganensis, gabriellae.echinatus> { var x: rendalli.moojeni<macrorhinos.konganensis, gabriellae.echinatus>; () => { var y = this; }; return x; }
            telfordi(): trivirgatus.oconnelli { var x: trivirgatus.oconnelli; () => { var y = this; }; return x; }
            cavernarum(): minutus.inez<gabriellae.echinatus, argurus.luctuosa> { var x: minutus.inez<gabriellae.echinatus, argurus.luctuosa>; () => { var y = this; }; return x; }
        }
    }
    module argurus {
        export class netscheri<T0, T1> {
            gravis(): nigra.caucasica<rendalli.crenulata<trivirgatus.falconeri, howi.marcanoi>, dogramacii.kaiseri> { var x: nigra.caucasica<rendalli.crenulata<trivirgatus.falconeri, howi.marcanoi>, dogramacii.kaiseri>; () => { var y = this; }; return x; }
            ruschii(): imperfecta.lasiurus<howi.marcanoi, imperfecta.ciliolabrum<Lanthanum.megalonyx, petrophilus.minutilla>> { var x: imperfecta.lasiurus<howi.marcanoi, imperfecta.ciliolabrum<Lanthanum.megalonyx, petrophilus.minutilla>>; () => { var y = this; }; return x; }
            tricuspidatus(): lavali.wilsoni { var x: lavali.wilsoni; () => { var y = this; }; return x; }
            fernandezi(): dammermani.siberu<nigra.thalia<lutreolus.schlegeli, julianae.sumatrana>, panglima.abidi<lutreolus.foina, argurus.peninsulae>> { var x: dammermani.siberu<nigra.thalia<lutreolus.schlegeli, julianae.sumatrana>, panglima.abidi<lutreolus.foina, argurus.peninsulae>>; () => { var y = this; }; return x; }
            colletti(): samarensis.pallidus { var x: samarensis.pallidus; () => { var y = this; }; return x; }
            microbullatus(): lutreolus.schlegeli { var x: lutreolus.schlegeli; () => { var y = this; }; return x; }
            eburneae(): chrysaeolus.sarasinorum<macrorhinos.konganensis, julianae.acariensis> { var x: chrysaeolus.sarasinorum<macrorhinos.konganensis, julianae.acariensis>; () => { var y = this; }; return x; }
            tatei(): argurus.pygmaea<argurus.oreas, panglima.fundatus<quasiater.carolinensis, macrorhinos.daphaenodon>> { var x: argurus.pygmaea<argurus.oreas, panglima.fundatus<quasiater.carolinensis, macrorhinos.daphaenodon>>; () => { var y = this; }; return x; }
            millardi(): sagitta.walkeri { var x: sagitta.walkeri; () => { var y = this; }; return x; }
            pruinosus(): trivirgatus.falconeri { var x: trivirgatus.falconeri; () => { var y = this; }; return x; }
            delator(): argurus.netscheri<dogramacii.kaiseri, lavali.lepturus> { var x: argurus.netscheri<dogramacii.kaiseri, lavali.lepturus>; () => { var y = this; }; return x; }
            nyikae(): trivirgatus.tumidifrons<howi.angulatus<howi.coludo<quasiater.carolinensis, minutus.portoricensis>, petrophilus.minutilla>, julianae.acariensis> { var x: trivirgatus.tumidifrons<howi.angulatus<howi.coludo<quasiater.carolinensis, minutus.portoricensis>, petrophilus.minutilla>, julianae.acariensis>; () => { var y = this; }; return x; }
            ruemmleri(): panglima.amphibius<minutus.inez<rendalli.moojeni<panglima.amphibius<trivirgatus.falconeri, caurinus.psilurus>, gabriellae.echinatus>, dogramacii.aurata>, imperfecta.ciliolabrum<quasiater.carolinensis, lavali.beisa>> { var x: panglima.amphibius<minutus.inez<rendalli.moojeni<panglima.amphibius<trivirgatus.falconeri, caurinus.psilurus>, gabriellae.echinatus>, dogramacii.aurata>, imperfecta.ciliolabrum<quasiater.carolinensis, lavali.beisa>>; () => { var y = this; }; return x; }
        }
    }
    module ruatanica {
        export class Praseodymium<T0, T1> extends ruatanica.hector<lutreolus.punicus, gabriellae.amicus> {
            clara(): panglima.amphibius<imperfecta.ciliolabrum<quasiater.carolinensis, lavali.beisa>, argurus.dauricus<ruatanica.americanus, rionegrensis.caniventer>> { var x: panglima.amphibius<imperfecta.ciliolabrum<quasiater.carolinensis, lavali.beisa>, argurus.dauricus<ruatanica.americanus, rionegrensis.caniventer>>; () => { var y = this; }; return x; }
            spectabilis(): petrophilus.sodyi<rionegrensis.caniventer, quasiater.carolinensis> { var x: petrophilus.sodyi<rionegrensis.caniventer, quasiater.carolinensis>; () => { var y = this; }; return x; }
            kamensis(): trivirgatus.lotor<panamensis.linulus<dogramacii.kaiseri, minutus.portoricensis>, lavali.lepturus> { var x: trivirgatus.lotor<panamensis.linulus<dogramacii.kaiseri, minutus.portoricensis>, lavali.lepturus>; () => { var y = this; }; return x; }
            ruddi(): lutreolus.foina { var x: lutreolus.foina; () => { var y = this; }; return x; }
            bartelsii(): julianae.sumatrana { var x: julianae.sumatrana; () => { var y = this; }; return x; }
            yerbabuenae(): dammermani.siberu<imperfecta.lasiurus<lutreolus.foina, dammermani.melanops>, imperfecta.ciliolabrum<Lanthanum.megalonyx, petrophilus.minutilla>> { var x: dammermani.siberu<imperfecta.lasiurus<lutreolus.foina, dammermani.melanops>, imperfecta.ciliolabrum<Lanthanum.megalonyx, petrophilus.minutilla>>; () => { var y = this; }; return x; }
            davidi(): trivirgatus.mixtus<provocax.melanoleuca, sagitta.stolzmanni> { var x: trivirgatus.mixtus<provocax.melanoleuca, sagitta.stolzmanni>; () => { var y = this; }; return x; }
            pilirostris(): argurus.wetmorei<imperfecta.lasiurus<panglima.amphibius<patas.uralensis, gabriellae.klossii<julianae.nudicaudus, dogramacii.aurata>>, sagitta.leptoceros<lutreolus.punicus, daubentonii.arboreus<quasiater.carolinensis, rionegrensis.caniventer>>>, macrorhinos.konganensis> { var x: argurus.wetmorei<imperfecta.lasiurus<panglima.amphibius<patas.uralensis, gabriellae.klossii<julianae.nudicaudus, dogramacii.aurata>>, sagitta.leptoceros<lutreolus.punicus, daubentonii.arboreus<quasiater.carolinensis, rionegrensis.caniventer>>>, macrorhinos.konganensis>; () => { var y = this; }; return x; }
            catherinae(): imperfecta.lasiurus<Lanthanum.nitidus<howi.marcanoi, macrorhinos.daphaenodon>, petrophilus.sodyi<macrorhinos.konganensis, caurinus.psilurus>> { var x: imperfecta.lasiurus<Lanthanum.nitidus<howi.marcanoi, macrorhinos.daphaenodon>, petrophilus.sodyi<macrorhinos.konganensis, caurinus.psilurus>>; () => { var y = this; }; return x; }
            frontata(): argurus.oreas { var x: argurus.oreas; () => { var y = this; }; return x; }
            Terbium(): caurinus.mahaganus<julianae.galapagoensis, argurus.luctuosa> { var x: caurinus.mahaganus<julianae.galapagoensis, argurus.luctuosa>; () => { var y = this; }; return x; }
            thomensis(): minutus.inez<argurus.oreas, julianae.albidens<argurus.luctuosa, gabriellae.echinatus>> { var x: minutus.inez<argurus.oreas, julianae.albidens<argurus.luctuosa, gabriellae.echinatus>>; () => { var y = this; }; return x; }
            soricinus(): quasiater.carolinensis { var x: quasiater.carolinensis; () => { var y = this; }; return x; }
        }
    }
    module caurinus {
        export class johorensis<T0, T1> extends lutreolus.punicus {
            maini(): ruatanica.Praseodymium<lavali.thaeleri, julianae.acariensis> { var x: ruatanica.Praseodymium<lavali.thaeleri, julianae.acariensis>; () => { var y = this; }; return x; }
        }
    }
    module argurus {
        export class luctuosa {
            loriae(): rendalli.moojeni<macrorhinos.marmosurus<rendalli.moojeni<panglima.amphibius<trivirgatus.falconeri, caurinus.psilurus>, gabriellae.echinatus>, sagitta.stolzmanni>, lutreolus.punicus> { var x: rendalli.moojeni<macrorhinos.marmosurus<rendalli.moojeni<panglima.amphibius<trivirgatus.falconeri, caurinus.psilurus>, gabriellae.echinatus>, sagitta.stolzmanni>, lutreolus.punicus>; () => { var y = this; }; return x; }
        }
    }
    module panamensis {
        export class setulosus<T0, T1> {
            duthieae(): caurinus.mahaganus<howi.coludo<argurus.oreas, howi.marcanoi>, dogramacii.aurata> { var x: caurinus.mahaganus<howi.coludo<argurus.oreas, howi.marcanoi>, dogramacii.aurata>; () => { var y = this; }; return x; }
            guereza(): howi.coludo<sagitta.stolzmanni, quasiater.carolinensis> { var x: howi.coludo<sagitta.stolzmanni, quasiater.carolinensis>; () => { var y = this; }; return x; }
            buselaphus(): daubentonii.nesiotes<trivirgatus.lotor<panglima.abidi<lavali.lepturus, caurinus.psilurus>, dogramacii.koepckeae>, trivirgatus.mixtus<gabriellae.amicus, lutreolus.punicus>> { var x: daubentonii.nesiotes<trivirgatus.lotor<panglima.abidi<lavali.lepturus, caurinus.psilurus>, dogramacii.koepckeae>, trivirgatus.mixtus<gabriellae.amicus, lutreolus.punicus>>; () => { var y = this; }; return x; }
            nuttalli(): sagitta.cinereus<argurus.netscheri<argurus.luctuosa, julianae.nudicaudus>, chrysaeolus.sarasinorum<caurinus.megaphyllus, lavali.xanthognathus>> { var x: sagitta.cinereus<argurus.netscheri<argurus.luctuosa, julianae.nudicaudus>, chrysaeolus.sarasinorum<caurinus.megaphyllus, lavali.xanthognathus>>; () => { var y = this; }; return x; }
            pelii(): rendalli.crenulata<Lanthanum.nitidus<rionegrensis.caniventer, Lanthanum.jugularis>, julianae.steerii> { var x: rendalli.crenulata<Lanthanum.nitidus<rionegrensis.caniventer, Lanthanum.jugularis>, julianae.steerii>; () => { var y = this; }; return x; }
            tunneyi(): sagitta.stolzmanni { var x: sagitta.stolzmanni; () => { var y = this; }; return x; }
            lamula(): patas.uralensis { var x: patas.uralensis; () => { var y = this; }; return x; }
            vampyrus(): julianae.oralis<lutreolus.foina, provocax.melanoleuca> { var x: julianae.oralis<lutreolus.foina, provocax.melanoleuca>; () => { var y = this; }; return x; }
        }
    }
    module petrophilus {
        export class rosalia<T0, T1> {
            palmeri(): panglima.amphibius<howi.coludo<macrorhinos.daphaenodon, panglima.amphibius<macrorhinos.daphaenodon, patas.uralensis>>, trivirgatus.mixtus<argurus.dauricus<dogramacii.aurata, dammermani.melanops>, panglima.amphibius<lavali.lepturus, quasiater.carolinensis>>> { var x: panglima.amphibius<howi.coludo<macrorhinos.daphaenodon, panglima.amphibius<macrorhinos.daphaenodon, patas.uralensis>>, trivirgatus.mixtus<argurus.dauricus<dogramacii.aurata, dammermani.melanops>, panglima.amphibius<lavali.lepturus, quasiater.carolinensis>>>; () => { var y = this; }; return x; }
            baeops(): Lanthanum.nitidus<lavali.thaeleri, lavali.lepturus> { var x: Lanthanum.nitidus<lavali.thaeleri, lavali.lepturus>; () => { var y = this; }; return x; }
            ozensis(): imperfecta.lasiurus<panglima.fundatus<gabriellae.amicus, lutreolus.foina>, lutreolus.foina> { var x: imperfecta.lasiurus<panglima.fundatus<gabriellae.amicus, lutreolus.foina>, lutreolus.foina>; () => { var y = this; }; return x; }
            creaghi(): argurus.luctuosa { var x: argurus.luctuosa; () => { var y = this; }; return x; }
            montivaga(): panamensis.setulosus<lavali.beisa, panamensis.linulus<caurinus.megaphyllus, caurinus.megaphyllus>> { var x: panamensis.setulosus<lavali.beisa, panamensis.linulus<caurinus.megaphyllus, caurinus.megaphyllus>>; () => { var y = this; }; return x; }
        }
    }
    module caurinus {
        export class psilurus extends lutreolus.punicus {
            socialis(): panglima.amphibius<trivirgatus.falconeri, caurinus.psilurus> { var x: panglima.amphibius<trivirgatus.falconeri, caurinus.psilurus>; () => { var y = this; }; return x; }
            lundi(): petrophilus.sodyi<trivirgatus.falconeri, quasiater.bobrinskoi> { var x: petrophilus.sodyi<trivirgatus.falconeri, quasiater.bobrinskoi>; () => { var y = this; }; return x; }
            araeum(): imperfecta.ciliolabrum<quasiater.carolinensis, lavali.beisa> { var x: imperfecta.ciliolabrum<quasiater.carolinensis, lavali.beisa>; () => { var y = this; }; return x; }
            calamianensis(): julianae.gerbillus<lavali.thaeleri, quasiater.carolinensis> { var x: julianae.gerbillus<lavali.thaeleri, quasiater.carolinensis>; () => { var y = this; }; return x; }
            petersoni(): panamensis.setulosus<sagitta.walkeri, dogramacii.robustulus> { var x: panamensis.setulosus<sagitta.walkeri, dogramacii.robustulus>; () => { var y = this; }; return x; }
            nitela(): panamensis.linulus<Lanthanum.megalonyx, howi.marcanoi> { var x: panamensis.linulus<Lanthanum.megalonyx, howi.marcanoi>; () => { var y = this; }; return x; }
        }
    }