11309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant//===------------------------- dynamic_cast14.cpp -------------------------===//
21309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant//
31309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant//                     The LLVM Compiler Infrastructure
41309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant//
51309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant// This file is dual licensed under the MIT and the University of Illinois Open
61309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant// Source Licenses. See LICENSE.TXT for details.
71309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant//
81309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant//===----------------------------------------------------------------------===//
91309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
101309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant#include <cassert>
1130ad829825ee45cab4bc132e5145b2cb7eef4c45Eric Fiselier#include "support/timer.hpp"
121309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
131309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantnamespace t1
141309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
151309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
161309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantstruct A1
171309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
181309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    char _[43981];
191309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    virtual ~A1() {}
201309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
211309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1() {return this;}
221309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant};
231309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
241309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantstruct A2
251309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
261309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    char _[34981];
271309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    virtual ~A2() {}
281309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
291309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A2* getA2() {return this;}
301309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant};
311309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
321309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantstruct A3
331309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    : public A1,
341309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant      public virtual A2
351309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
361309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    char _[93481];
371309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    virtual ~A3() {}
381309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
391309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_3() {return A1::getA1();}
401309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A2* getA2() {return A2::getA2();}
411309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A3* getA3() {return this;}
421309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant};
431309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
441309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantstruct A4
451309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    : public virtual A2,
461309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant      public A1
471309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
481309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    char _[13489];
491309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    virtual ~A4() {}
501309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
511309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_4() {return A1::getA1();}
521309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A2* getA2() {return A2::getA2();}
531309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A4* getA4() {return this;}
541309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant};
551309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
561309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantstruct A5
571309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    : public A3,
581309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant      public A4
591309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
601309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    char _[13489];
611309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    virtual ~A5() {}
621309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
631309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_3() {return A3::getA1();}
641309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_4() {return A4::getA1();}
651309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A2* getA2() {return A3::getA2();}
661309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A3* getA3() {return A3::getA3();}
671309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A4* getA4() {return A4::getA4();}
681309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A5* getA5() {return this;}
691309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant};
701309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
711309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantstruct A6
721309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    : public A1
731309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
741309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    char _[81349];
751309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    virtual ~A6() {}
761309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
771309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_6() {return A1::getA1();}
781309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A6* getA6() {return this;}
791309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant};
801309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
811309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantstruct A7
821309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    : public A5,
831309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant      public A6
841309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
851309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    char _[34819];
861309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    virtual ~A7() {}
871309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
881309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_3() {return A5::getA1_3();}
891309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_4() {return A5::getA1_4();}
901309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_6() {return A6::getA1_6();}
911309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A2* getA2() {return A5::getA2();}
921309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A3* getA3() {return A5::getA3();}
931309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A4* getA4() {return A5::getA4();}
941309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A5* getA5() {return A5::getA5();}
951309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A6* getA6() {return A6::getA6();}
961309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A7* getA7() {return this;}
971309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant};
981309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
991309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantstruct A8
1001309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    : public A7
1011309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
1021309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    char _[3489];
1031309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    virtual ~A8() {}
1041309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
1051309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_3() {return A7::getA1_3();}
1061309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_4() {return A7::getA1_4();}
1071309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_6() {return A7::getA1_6();}
1081309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A2* getA2() {return A7::getA2();}
1091309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A3* getA3() {return A7::getA3();}
1101309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A4* getA4() {return A7::getA4();}
1111309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A5* getA5() {return A7::getA5();}
1121309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A6* getA6() {return A7::getA6();}
1131309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A7* getA7() {return A7::getA7();}
1141309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A8* getA8() {return this;}
1151309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant};
1161309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
1171309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantstruct A9
1181309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    : public A1
1191309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
1201309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    char _[3481];
1211309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    virtual ~A9() {}
1221309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
1231309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_9() {return A1::getA1();}
1241309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A9* getA9() {return this;}
1251309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant};
1261309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
1271309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantstruct A10
1281309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    : public virtual A8
1291309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
1301309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    char _[4831];
1311309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    virtual ~A10() {}
1321309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
1331309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_3() {return A8::getA1_3();}
1341309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_4() {return A8::getA1_4();}
1351309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_6() {return A8::getA1_6();}
1361309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A2* getA2() {return A8::getA2();}
1371309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A3* getA3() {return A8::getA3();}
1381309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A4* getA4() {return A8::getA4();}
1391309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A5* getA5() {return A8::getA5();}
1401309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A6* getA6() {return A8::getA6();}
1411309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A7* getA7() {return A8::getA7();}
1421309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A8* getA8() {return A8::getA8();}
1431309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A10* getA10() {return this;}
1441309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant};
1451309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
1461309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantstruct A11
1471309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    : public virtual A8,
1481309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant      public A9
1491309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
1501309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    char _[6483];
1511309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    virtual ~A11() {}
1521309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
1531309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_3() {return A8::getA1_3();}
1541309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_4() {return A8::getA1_4();}
1551309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_6() {return A8::getA1_6();}
1561309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_9() {return A9::getA1_9();}
1571309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A2* getA2() {return A8::getA2();}
1581309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A3* getA3() {return A8::getA3();}
1591309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A4* getA4() {return A8::getA4();}
1601309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A5* getA5() {return A8::getA5();}
1611309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A6* getA6() {return A8::getA6();}
1621309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A7* getA7() {return A8::getA7();}
1631309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A8* getA8() {return A8::getA8();}
1641309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A9* getA9() {return A9::getA9();}
1651309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A11* getA11() {return this;}
1661309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant};
1671309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
1681309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantstruct A12
1691309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    : public A10,
1701309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant      public A11
1711309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
1721309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    char _[2283];
1731309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    virtual ~A12() {}
1741309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
1751309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_3() {return A10::getA1_3();}
1761309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_4() {return A10::getA1_4();}
1771309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_6() {return A10::getA1_6();}
1781309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_9() {return A11::getA1_9();}
1791309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A2* getA2() {return A10::getA2();}
1801309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A3* getA3() {return A10::getA3();}
1811309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A4* getA4() {return A10::getA4();}
1821309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A5* getA5() {return A10::getA5();}
1831309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A6* getA6() {return A10::getA6();}
1841309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A7* getA7() {return A10::getA7();}
1851309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A8* getA8() {return A10::getA8();}
1861309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A9* getA9() {return A11::getA9();}
1871309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A10* getA10() {return A10::getA10();}
1881309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A11* getA11() {return A11::getA11();}
1891309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A12* getA12() {return this;}
1901309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant};
1911309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
1921309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantstruct A13
1931309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    : public A12
1941309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
1951309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    char _[1283];
1961309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    virtual ~A13() {}
1971309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
1981309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_3() {return A12::getA1_3();}
1991309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_4() {return A12::getA1_4();}
2001309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_6() {return A12::getA1_6();}
2011309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_9() {return A12::getA1_9();}
2021309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A2* getA2() {return A12::getA2();}
2031309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A3* getA3() {return A12::getA3();}
2041309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A4* getA4() {return A12::getA4();}
2051309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A5* getA5() {return A12::getA5();}
2061309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A6* getA6() {return A12::getA6();}
2071309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A7* getA7() {return A12::getA7();}
2081309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A8* getA8() {return A12::getA8();}
2091309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A9* getA9() {return A12::getA9();}
2101309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A10* getA10() {return A12::getA10();}
2111309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A11* getA11() {return A12::getA11();}
2121309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A12* getA12() {return A12::getA12();}
2131309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A13* getA13() {return this;}
2141309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant};
2151309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
216eca353d4849b2b1f7bca76edb40b3534433a5a26Ben CraigA3 a3;
217eca353d4849b2b1f7bca76edb40b3534433a5a26Ben CraigA4 a4;
218eca353d4849b2b1f7bca76edb40b3534433a5a26Ben CraigA5 a5;
219eca353d4849b2b1f7bca76edb40b3534433a5a26Ben CraigA6 a6;
220eca353d4849b2b1f7bca76edb40b3534433a5a26Ben CraigA7 a7;
221eca353d4849b2b1f7bca76edb40b3534433a5a26Ben CraigA8 a8;
222eca353d4849b2b1f7bca76edb40b3534433a5a26Ben CraigA9 a9;
223eca353d4849b2b1f7bca76edb40b3534433a5a26Ben CraigA10 a10;
224eca353d4849b2b1f7bca76edb40b3534433a5a26Ben CraigA11 a11;
225eca353d4849b2b1f7bca76edb40b3534433a5a26Ben CraigA12 a12;
226eca353d4849b2b1f7bca76edb40b3534433a5a26Ben CraigA13 a13;
227eca353d4849b2b1f7bca76edb40b3534433a5a26Ben Craig
2281309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantvoid test()
2291309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
2301309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a3.getA1_3()) == a3.getA3());
2311309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a3.getA2()) == a3.getA3());
2321309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
2331309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a4.getA1_4()) == 0);
2341309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a4.getA2()) == 0);
2351309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a4.getA1_4()) == a4.getA4());
2361309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a4.getA2()) == a4.getA4());
2371309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
2381309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a5.getA1_3()) == a5.getA3());
2391309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a5.getA2()) == a5.getA3());
2401309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
2411309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a5.getA1_3()) == a5.getA4());
2421309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a5.getA1_4()) == a5.getA4());
2431309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a5.getA3()) == a5.getA4());
2441309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a5.getA3()) == a5.getA4());
2451309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
2461309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a5.getA1_3()) == a5.getA5());
2471309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a5.getA1_4()) == a5.getA5());
2481309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a5.getA3()) == a5.getA5());
2491309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a5.getA3()) == a5.getA5());
2501309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a5.getA3()) == a5.getA5());
2511309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a5.getA4()) == a5.getA5());
2521309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
2531309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a6.getA1_6()) == 0);
2541309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
2551309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a6.getA1_6()) == 0);
2561309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
2571309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a6.getA1_6()) == 0);
2581309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
2591309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a6.getA1_6()) == a6.getA6());
2601309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
2611309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a7.getA1_3()) == a7.getA3());
2621309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a7.getA1_4()) == a7.getA3());
2631309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a7.getA2()) == a7.getA3());
2641309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
2651309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a7.getA1_3()) == a7.getA4());
2661309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a7.getA1_4()) == a7.getA4());
2671309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a7.getA2()) == a7.getA4());
2681309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a7.getA3()) == a7.getA4());
2691309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
2701309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a7.getA1_3()) == a7.getA5());
2711309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a7.getA1_4()) == a7.getA5());
2721309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a7.getA2()) == a7.getA5());
2731309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a7.getA3()) == a7.getA5());
2741309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a7.getA4()) == a7.getA5());
2751309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
2761309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a7.getA1_3()) == a7.getA6());
2771309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a7.getA1_4()) == a7.getA6());
2781309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a7.getA1_6()) == a7.getA6());
2791309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a7.getA2()) == a7.getA6());
2801309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a7.getA3()) == a7.getA6());
2811309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a7.getA4()) == a7.getA6());
2821309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a7.getA5()) == a7.getA6());
2831309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
2841309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a7.getA1_3()) == a7.getA7());
2851309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a7.getA1_4()) == a7.getA7());
2861309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a7.getA1_6()) == a7.getA7());
2871309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a7.getA2()) == a7.getA7());
2881309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a7.getA3()) == a7.getA7());
2891309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a7.getA4()) == a7.getA7());
2901309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a7.getA5()) == a7.getA7());
2911309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a7.getA6()) == a7.getA7());
2921309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
2931309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a8.getA1_3()) == a8.getA3());
2941309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a8.getA1_4()) == a8.getA3());
2951309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a8.getA2()) == a8.getA3());
2961309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
2971309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a8.getA1_3()) == a8.getA4());
2981309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a8.getA1_4()) == a8.getA4());
2991309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a8.getA2()) == a8.getA4());
3001309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a8.getA3()) == a8.getA4());
3011309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
3021309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a8.getA1_3()) == a8.getA5());
3031309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a8.getA1_4()) == a8.getA5());
3041309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a8.getA2()) == a8.getA5());
3051309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a8.getA3()) == a8.getA5());
3061309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a8.getA4()) == a8.getA5());
3071309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
3081309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a8.getA1_3()) == a8.getA6());
3091309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a8.getA1_4()) == a8.getA6());
3101309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a8.getA1_6()) == a8.getA6());
3111309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a8.getA2()) == a8.getA6());
3121309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a8.getA3()) == a8.getA6());
3131309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a8.getA4()) == a8.getA6());
3141309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a8.getA5()) == a8.getA6());
3151309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
3161309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a8.getA1_3()) == a8.getA7());
3171309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a8.getA1_4()) == a8.getA7());
3181309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a8.getA1_6()) == a8.getA7());
3191309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a8.getA2()) == a8.getA7());
3201309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a8.getA3()) == a8.getA7());
3211309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a8.getA4()) == a8.getA7());
3221309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a8.getA5()) == a8.getA7());
3231309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a8.getA6()) == a8.getA7());
3241309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
3251309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a8.getA1_3()) == a8.getA8());
3261309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a8.getA1_4()) == a8.getA8());
3271309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a8.getA1_6()) == a8.getA8());
3281309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a8.getA2()) == a8.getA8());
3291309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a8.getA3()) == a8.getA8());
3301309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a8.getA4()) == a8.getA8());
3311309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a8.getA5()) == a8.getA8());
3321309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a8.getA6()) == a8.getA8());
3331309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a8.getA7()) == a8.getA8());
3341309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
3351309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a9.getA1_9()) == 0);
3361309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
3371309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a9.getA1_9()) == 0);
3381309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
3391309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a9.getA1_9()) == 0);
3401309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
3411309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a9.getA1_9()) == 0);
3421309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
3431309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a9.getA1_9()) == 0);
3441309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
3451309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a9.getA1_9()) == 0);
3461309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
3471309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a9.getA1_9()) == a9.getA9());
3481309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
3491309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a10.getA1_3()) == a10.getA3());
3501309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a10.getA1_4()) == a10.getA3());
3511309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a10.getA1_6()) == a10.getA3());
3521309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a10.getA2()) == a10.getA3());
3531309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
3541309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a10.getA1_3()) == a10.getA4());
3551309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a10.getA1_4()) == a10.getA4());
3561309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a10.getA1_6()) == a10.getA4());
3571309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a10.getA2()) == a10.getA4());
3581309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a10.getA3()) == a10.getA4());
3591309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
3601309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a10.getA1_3()) == a10.getA5());
3611309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a10.getA1_4()) == a10.getA5());
3621309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a10.getA1_6()) == a10.getA5());
3631309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a10.getA2()) == a10.getA5());
3641309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a10.getA3()) == a10.getA5());
3651309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a10.getA4()) == a10.getA5());
3661309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
3671309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a10.getA1_3()) == a10.getA6());
3681309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a10.getA1_4()) == a10.getA6());
3691309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a10.getA1_6()) == a10.getA6());
3701309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a10.getA2()) == a10.getA6());
3711309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a10.getA3()) == a10.getA6());
3721309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a10.getA4()) == a10.getA6());
3731309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a10.getA5()) == a10.getA6());
3741309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
3751309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a10.getA1_3()) == a10.getA7());
3761309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a10.getA1_4()) == a10.getA7());
3771309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a10.getA1_6()) == a10.getA7());
3781309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a10.getA2()) == a10.getA7());
3791309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a10.getA3()) == a10.getA7());
3801309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a10.getA4()) == a10.getA7());
3811309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a10.getA5()) == a10.getA7());
3821309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a10.getA6()) == a10.getA7());
3831309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
3841309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a10.getA1_3()) == a10.getA8());
3851309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a10.getA1_4()) == a10.getA8());
3861309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a10.getA1_6()) == a10.getA8());
3871309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a10.getA2()) == a10.getA8());
3881309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a10.getA3()) == a10.getA8());
3891309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a10.getA4()) == a10.getA8());
3901309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a10.getA5()) == a10.getA8());
3911309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a10.getA6()) == a10.getA8());
3921309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a10.getA7()) == a10.getA8());
3931309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
3941309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a10.getA1_3()) == 0);
3951309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a10.getA1_4()) == 0);
3961309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a10.getA1_6()) == 0);
3971309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a10.getA2()) == 0);
3981309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a10.getA3()) == 0);
3991309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a10.getA4()) == 0);
4001309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a10.getA5()) == 0);
4011309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a10.getA6()) == 0);
4021309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a10.getA7()) == 0);
4031309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a10.getA8()) == 0);
4041309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
4051309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a10.getA1_3()) == a10.getA10());
4061309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a10.getA1_4()) == a10.getA10());
4071309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a10.getA1_6()) == a10.getA10());
4081309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a10.getA2()) == a10.getA10());
4091309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a10.getA3()) == a10.getA10());
4101309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a10.getA4()) == a10.getA10());
4111309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a10.getA5()) == a10.getA10());
4121309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a10.getA6()) == a10.getA10());
4131309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a10.getA7()) == a10.getA10());
4141309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a10.getA8()) == a10.getA10());
4151309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
4161309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a11.getA1_3()) == a11.getA3());
4171309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a11.getA1_4()) == a11.getA3());
4181309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a11.getA1_6()) == a11.getA3());
4191309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a11.getA1_9()) == a11.getA3());
4201309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a11.getA2()) == a11.getA3());
4211309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
4221309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a11.getA1_3()) == a11.getA4());
4231309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a11.getA1_4()) == a11.getA4());
4241309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a11.getA1_6()) == a11.getA4());
4251309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a11.getA1_9()) == a11.getA4());
4261309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a11.getA2()) == a11.getA4());
4271309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a11.getA3()) == a11.getA4());
4281309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
4291309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a11.getA1_3()) == a11.getA5());
4301309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a11.getA1_4()) == a11.getA5());
4311309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a11.getA1_6()) == a11.getA5());
4321309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a11.getA1_9()) == a11.getA5());
4331309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a11.getA2()) == a11.getA5());
4341309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a11.getA3()) == a11.getA5());
4351309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a11.getA4()) == a11.getA5());
4361309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
4371309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a11.getA1_3()) == a11.getA6());
4381309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a11.getA1_4()) == a11.getA6());
4391309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a11.getA1_6()) == a11.getA6());
4401309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a11.getA1_9()) == a11.getA6());
4411309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a11.getA2()) == a11.getA6());
4421309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a11.getA3()) == a11.getA6());
4431309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a11.getA4()) == a11.getA6());
4441309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a11.getA5()) == a11.getA6());
4451309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
4461309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a11.getA1_3()) == a11.getA7());
4471309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a11.getA1_4()) == a11.getA7());
4481309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a11.getA1_6()) == a11.getA7());
4491309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a11.getA1_9()) == a11.getA7());
4501309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a11.getA2()) == a11.getA7());
4511309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a11.getA3()) == a11.getA7());
4521309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a11.getA4()) == a11.getA7());
4531309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a11.getA5()) == a11.getA7());
4541309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a11.getA6()) == a11.getA7());
4551309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
4561309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a11.getA1_3()) == a11.getA8());
4571309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a11.getA1_4()) == a11.getA8());
4581309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a11.getA1_6()) == a11.getA8());
4591309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a11.getA1_9()) == a11.getA8());
4601309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a11.getA2()) == a11.getA8());
4611309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a11.getA3()) == a11.getA8());
4621309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a11.getA4()) == a11.getA8());
4631309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a11.getA5()) == a11.getA8());
4641309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a11.getA6()) == a11.getA8());
4651309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a11.getA7()) == a11.getA8());
4661309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
4671309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a11.getA1_3()) == a11.getA9());
4681309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a11.getA1_4()) == a11.getA9());
4691309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a11.getA1_6()) == a11.getA9());
4701309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a11.getA1_9()) == a11.getA9());
4711309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a11.getA2()) == a11.getA9());
4721309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a11.getA3()) == a11.getA9());
4731309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a11.getA4()) == a11.getA9());
4741309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a11.getA5()) == a11.getA9());
4751309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a11.getA6()) == a11.getA9());
4761309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a11.getA7()) == a11.getA9());
4771309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a11.getA8()) == a11.getA9());
4781309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
4791309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a11.getA1_3()) == 0);
4801309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a11.getA1_4()) == 0);
4811309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a11.getA1_6()) == 0);
4821309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a11.getA1_9()) == 0);
4831309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a11.getA2()) == 0);
4841309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a11.getA3()) == 0);
4851309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a11.getA4()) == 0);
4861309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a11.getA5()) == 0);
4871309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a11.getA6()) == 0);
4881309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a11.getA7()) == 0);
4891309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a11.getA8()) == 0);
4901309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a11.getA9()) == 0);
4911309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
4921309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a11.getA1_3()) == a11.getA11());
4931309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a11.getA1_4()) == a11.getA11());
4941309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a11.getA1_6()) == a11.getA11());
4951309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a11.getA1_9()) == a11.getA11());
4961309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a11.getA2()) == a11.getA11());
4971309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a11.getA3()) == a11.getA11());
4981309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a11.getA4()) == a11.getA11());
4991309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a11.getA5()) == a11.getA11());
5001309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a11.getA6()) == a11.getA11());
5011309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a11.getA7()) == a11.getA11());
5021309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a11.getA8()) == a11.getA11());
5031309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a11.getA9()) == a11.getA11());
5041309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
5051309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a12.getA1_3()) == a12.getA3());
5061309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a12.getA1_4()) == a12.getA3());
5071309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a12.getA1_6()) == a12.getA3());
5081309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a12.getA1_9()) == a12.getA3());
5091309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a12.getA2()) == a12.getA3());
5101309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
5111309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a12.getA1_3()) == a12.getA4());
5121309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a12.getA1_4()) == a12.getA4());
5131309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a12.getA1_6()) == a12.getA4());
5141309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a12.getA1_9()) == a12.getA4());
5151309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a12.getA2()) == a12.getA4());
5161309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a12.getA3()) == a12.getA4());
5171309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
5181309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a12.getA1_3()) == a12.getA5());
5191309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a12.getA1_4()) == a12.getA5());
5201309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a12.getA1_6()) == a12.getA5());
5211309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a12.getA1_9()) == a12.getA5());
5221309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a12.getA2()) == a12.getA5());
5231309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a12.getA3()) == a12.getA5());
5241309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a12.getA4()) == a12.getA5());
5251309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
5261309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a12.getA1_3()) == a12.getA6());
5271309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a12.getA1_4()) == a12.getA6());
5281309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a12.getA1_6()) == a12.getA6());
5291309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a12.getA1_9()) == a12.getA6());
5301309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a12.getA2()) == a12.getA6());
5311309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a12.getA3()) == a12.getA6());
5321309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a12.getA4()) == a12.getA6());
5331309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a12.getA5()) == a12.getA6());
5341309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
5351309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a12.getA1_3()) == a12.getA7());
5361309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a12.getA1_4()) == a12.getA7());
5371309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a12.getA1_6()) == a12.getA7());
5381309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a12.getA1_9()) == a12.getA7());
5391309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a12.getA2()) == a12.getA7());
5401309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a12.getA3()) == a12.getA7());
5411309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a12.getA4()) == a12.getA7());
5421309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a12.getA5()) == a12.getA7());
5431309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a12.getA6()) == a12.getA7());
5441309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
5451309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a12.getA1_3()) == a12.getA8());
5461309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a12.getA1_4()) == a12.getA8());
5471309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a12.getA1_6()) == a12.getA8());
5481309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a12.getA1_9()) == a12.getA8());
5491309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a12.getA2()) == a12.getA8());
5501309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a12.getA3()) == a12.getA8());
5511309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a12.getA4()) == a12.getA8());
5521309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a12.getA5()) == a12.getA8());
5531309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a12.getA6()) == a12.getA8());
5541309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a12.getA7()) == a12.getA8());
5551309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
5561309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a12.getA1_3()) == a12.getA9());
5571309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a12.getA1_4()) == a12.getA9());
5581309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a12.getA1_6()) == a12.getA9());
5591309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a12.getA1_9()) == a12.getA9());
5601309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a12.getA2()) == a12.getA9());
5611309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a12.getA3()) == a12.getA9());
5621309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a12.getA4()) == a12.getA9());
5631309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a12.getA5()) == a12.getA9());
5641309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a12.getA6()) == a12.getA9());
5651309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a12.getA7()) == a12.getA9());
5661309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a12.getA8()) == a12.getA9());
5671309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
5681309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a12.getA1_3()) == a12.getA10());
5691309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a12.getA1_4()) == a12.getA10());
5701309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a12.getA1_6()) == a12.getA10());
5711309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a12.getA1_9()) == a12.getA10());
5721309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a12.getA2()) == a12.getA10());
5731309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a12.getA3()) == a12.getA10());
5741309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a12.getA4()) == a12.getA10());
5751309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a12.getA5()) == a12.getA10());
5761309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a12.getA6()) == a12.getA10());
5771309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a12.getA7()) == a12.getA10());
5781309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a12.getA8()) == a12.getA10());
5791309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a12.getA9()) == a12.getA10());
5801309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
5811309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a12.getA1_3()) == a12.getA11());
5821309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a12.getA1_4()) == a12.getA11());
5831309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a12.getA1_6()) == a12.getA11());
5841309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a12.getA1_9()) == a12.getA11());
5851309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a12.getA2()) == a12.getA11());
5861309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a12.getA3()) == a12.getA11());
5871309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a12.getA4()) == a12.getA11());
5881309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a12.getA5()) == a12.getA11());
5891309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a12.getA6()) == a12.getA11());
5901309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a12.getA7()) == a12.getA11());
5911309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a12.getA8()) == a12.getA11());
5921309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a12.getA9()) == a12.getA11());
5931309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a12.getA10()) == a12.getA11());
5941309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
5951309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a12.getA1_3()) == a12.getA12());
5961309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a12.getA1_4()) == a12.getA12());
5971309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a12.getA1_6()) == a12.getA12());
5981309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a12.getA1_9()) == a12.getA12());
5991309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a12.getA2()) == a12.getA12());
6001309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a12.getA3()) == a12.getA12());
6011309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a12.getA4()) == a12.getA12());
6021309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a12.getA5()) == a12.getA12());
6031309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a12.getA6()) == a12.getA12());
6041309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a12.getA7()) == a12.getA12());
6051309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a12.getA8()) == a12.getA12());
6061309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a12.getA9()) == a12.getA12());
6071309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a12.getA10()) == a12.getA12());
6081309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a12.getA11()) == a12.getA12());
6091309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
6101309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a13.getA1_3()) == a13.getA3());
6111309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a13.getA1_4()) == a13.getA3());
6121309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a13.getA1_6()) == a13.getA3());
6131309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a13.getA1_9()) == a13.getA3());
6141309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a13.getA2()) == a13.getA3());
6151309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
6161309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a13.getA1_3()) == a13.getA4());
6171309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a13.getA1_4()) == a13.getA4());
6181309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a13.getA1_6()) == a13.getA4());
6191309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a13.getA1_9()) == a13.getA4());
6201309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a13.getA2()) == a13.getA4());
6211309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a13.getA3()) == a13.getA4());
6221309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
6231309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a13.getA1_3()) == a13.getA5());
6241309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a13.getA1_4()) == a13.getA5());
6251309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a13.getA1_6()) == a13.getA5());
6261309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a13.getA1_9()) == a13.getA5());
6271309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a13.getA2()) == a13.getA5());
6281309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a13.getA3()) == a13.getA5());
6291309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a13.getA4()) == a13.getA5());
6301309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
6311309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a13.getA1_3()) == a13.getA6());
6321309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a13.getA1_4()) == a13.getA6());
6331309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a13.getA1_6()) == a13.getA6());
6341309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a13.getA1_9()) == a13.getA6());
6351309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a13.getA2()) == a13.getA6());
6361309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a13.getA3()) == a13.getA6());
6371309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a13.getA4()) == a13.getA6());
6381309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a13.getA5()) == a13.getA6());
6391309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
6401309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a13.getA1_3()) == a13.getA7());
6411309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a13.getA1_4()) == a13.getA7());
6421309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a13.getA1_6()) == a13.getA7());
6431309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a13.getA1_9()) == a13.getA7());
6441309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a13.getA2()) == a13.getA7());
6451309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a13.getA3()) == a13.getA7());
6461309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a13.getA4()) == a13.getA7());
6471309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a13.getA5()) == a13.getA7());
6481309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a13.getA6()) == a13.getA7());
6491309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
6501309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a13.getA1_3()) == a13.getA8());
6511309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a13.getA1_4()) == a13.getA8());
6521309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a13.getA1_6()) == a13.getA8());
6531309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a13.getA1_9()) == a13.getA8());
6541309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a13.getA2()) == a13.getA8());
6551309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a13.getA3()) == a13.getA8());
6561309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a13.getA4()) == a13.getA8());
6571309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a13.getA5()) == a13.getA8());
6581309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a13.getA6()) == a13.getA8());
6591309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a13.getA7()) == a13.getA8());
6601309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
6611309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a13.getA1_3()) == a13.getA9());
6621309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a13.getA1_4()) == a13.getA9());
6631309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a13.getA1_6()) == a13.getA9());
6641309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a13.getA1_9()) == a13.getA9());
6651309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a13.getA2()) == a13.getA9());
6661309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a13.getA3()) == a13.getA9());
6671309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a13.getA4()) == a13.getA9());
6681309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a13.getA5()) == a13.getA9());
6691309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a13.getA6()) == a13.getA9());
6701309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a13.getA7()) == a13.getA9());
6711309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a13.getA8()) == a13.getA9());
6721309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
6731309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a13.getA1_3()) == a13.getA10());
6741309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a13.getA1_4()) == a13.getA10());
6751309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a13.getA1_6()) == a13.getA10());
6761309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a13.getA1_9()) == a13.getA10());
6771309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a13.getA2()) == a13.getA10());
6781309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a13.getA3()) == a13.getA10());
6791309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a13.getA4()) == a13.getA10());
6801309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a13.getA5()) == a13.getA10());
6811309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a13.getA6()) == a13.getA10());
6821309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a13.getA7()) == a13.getA10());
6831309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a13.getA8()) == a13.getA10());
6841309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a13.getA9()) == a13.getA10());
6851309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
6861309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a13.getA1_3()) == a13.getA11());
6871309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a13.getA1_4()) == a13.getA11());
6881309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a13.getA1_6()) == a13.getA11());
6891309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a13.getA1_9()) == a13.getA11());
6901309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a13.getA2()) == a13.getA11());
6911309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a13.getA3()) == a13.getA11());
6921309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a13.getA4()) == a13.getA11());
6931309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a13.getA5()) == a13.getA11());
6941309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a13.getA6()) == a13.getA11());
6951309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a13.getA7()) == a13.getA11());
6961309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a13.getA8()) == a13.getA11());
6971309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a13.getA9()) == a13.getA11());
6981309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a13.getA10()) == a13.getA11());
6991309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
7001309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a13.getA1_3()) == a13.getA12());
7011309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a13.getA1_4()) == a13.getA12());
7021309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a13.getA1_6()) == a13.getA12());
7031309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a13.getA1_9()) == a13.getA12());
7041309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a13.getA2()) == a13.getA12());
7051309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a13.getA3()) == a13.getA12());
7061309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a13.getA4()) == a13.getA12());
7071309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a13.getA5()) == a13.getA12());
7081309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a13.getA6()) == a13.getA12());
7091309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a13.getA7()) == a13.getA12());
7101309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a13.getA8()) == a13.getA12());
7111309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a13.getA9()) == a13.getA12());
7121309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a13.getA10()) == a13.getA12());
7131309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a13.getA11()) == a13.getA12());
7141309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
7151309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA1_3()) == a13.getA13());
7161309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA1_4()) == a13.getA13());
7171309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA1_6()) == a13.getA13());
7181309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA1_9()) == a13.getA13());
7191309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA2()) == a13.getA13());
7201309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA3()) == a13.getA13());
7211309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA4()) == a13.getA13());
7221309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA5()) == a13.getA13());
7231309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA6()) == a13.getA13());
7241309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA7()) == a13.getA13());
7251309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA8()) == a13.getA13());
7261309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA9()) == a13.getA13());
7271309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA10()) == a13.getA13());
7281309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA11()) == a13.getA13());
7291309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA12()) == a13.getA13());
7301309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant}
7311309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
7321309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant}  // t1
7331309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
7341309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantnamespace t2
7351309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
7361309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
7371309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantstruct A1
7381309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
7391309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    char _[43981];
7401309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    virtual ~A1() {}
7411309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
7421309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1() {return this;}
7431309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant};
7441309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
7451309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantstruct A2
7461309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
7471309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    char _[34981];
7481309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    virtual ~A2() {}
7491309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
7501309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A2* getA2() {return this;}
7511309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant};
7521309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
7531309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantstruct A3
7541309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    : protected A1,
7551309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant      public virtual A2
7561309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
7571309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    char _[93481];
7581309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    virtual ~A3() {}
7591309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
7601309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_3() {return A1::getA1();}
7611309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A2* getA2() {return A2::getA2();}
7621309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A3* getA3() {return this;}
7631309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant};
7641309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
7651309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantstruct A4
7661309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    : public virtual A2,
7671309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant      public A1
7681309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
7691309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    char _[13489];
7701309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    virtual ~A4() {}
7711309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
7721309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_4() {return A1::getA1();}
7731309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A2* getA2() {return A2::getA2();}
7741309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A4* getA4() {return this;}
7751309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant};
7761309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
7771309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantstruct A5
7781309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    : public A3,
7791309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant      public A4
7801309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
7811309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    char _[13489];
7821309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    virtual ~A5() {}
7831309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
7841309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_3() {return A3::getA1();}
7851309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_4() {return A4::getA1();}
7861309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A2* getA2() {return A3::getA2();}
7871309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A3* getA3() {return A3::getA3();}
7881309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A4* getA4() {return A4::getA4();}
7891309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A5* getA5() {return this;}
7901309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant};
7911309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
7921309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantstruct A6
7931309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    : public A1
7941309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
7951309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    char _[81349];
7961309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    virtual ~A6() {}
7971309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
7981309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_6() {return A1::getA1();}
7991309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A6* getA6() {return this;}
8001309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant};
8011309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
8021309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantstruct A7
8031309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    : public A5,
8041309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant      public A6
8051309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
8061309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    char _[34819];
8071309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    virtual ~A7() {}
8081309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
8091309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_3() {return A5::getA1_3();}
8101309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_4() {return A5::getA1_4();}
8111309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_6() {return A6::getA1_6();}
8121309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A2* getA2() {return A5::getA2();}
8131309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A3* getA3() {return A5::getA3();}
8141309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A4* getA4() {return A5::getA4();}
8151309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A5* getA5() {return A5::getA5();}
8161309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A6* getA6() {return A6::getA6();}
8171309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A7* getA7() {return this;}
8181309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant};
8191309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
8201309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantstruct A8
8211309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    : public A7
8221309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
8231309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    char _[3489];
8241309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    virtual ~A8() {}
8251309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
8261309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_3() {return A7::getA1_3();}
8271309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_4() {return A7::getA1_4();}
8281309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_6() {return A7::getA1_6();}
8291309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A2* getA2() {return A7::getA2();}
8301309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A3* getA3() {return A7::getA3();}
8311309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A4* getA4() {return A7::getA4();}
8321309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A5* getA5() {return A7::getA5();}
8331309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A6* getA6() {return A7::getA6();}
8341309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A7* getA7() {return A7::getA7();}
8351309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A8* getA8() {return this;}
8361309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant};
8371309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
8381309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantstruct A9
8391309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    : public A1
8401309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
8411309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    char _[3481];
8421309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    virtual ~A9() {}
8431309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
8441309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_9() {return A1::getA1();}
8451309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A9* getA9() {return this;}
8461309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant};
8471309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
8481309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantstruct A10
8491309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    : public virtual A8
8501309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
8511309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    char _[4831];
8521309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    virtual ~A10() {}
8531309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
8541309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_3() {return A8::getA1_3();}
8551309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_4() {return A8::getA1_4();}
8561309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_6() {return A8::getA1_6();}
8571309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A2* getA2() {return A8::getA2();}
8581309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A3* getA3() {return A8::getA3();}
8591309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A4* getA4() {return A8::getA4();}
8601309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A5* getA5() {return A8::getA5();}
8611309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A6* getA6() {return A8::getA6();}
8621309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A7* getA7() {return A8::getA7();}
8631309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A8* getA8() {return A8::getA8();}
8641309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A10* getA10() {return this;}
8651309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant};
8661309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
8671309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantstruct A11
8681309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    : public virtual A8,
8691309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant      public A9
8701309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
8711309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    char _[6483];
8721309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    virtual ~A11() {}
8731309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
8741309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_3() {return A8::getA1_3();}
8751309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_4() {return A8::getA1_4();}
8761309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_6() {return A8::getA1_6();}
8771309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_9() {return A9::getA1_9();}
8781309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A2* getA2() {return A8::getA2();}
8791309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A3* getA3() {return A8::getA3();}
8801309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A4* getA4() {return A8::getA4();}
8811309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A5* getA5() {return A8::getA5();}
8821309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A6* getA6() {return A8::getA6();}
8831309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A7* getA7() {return A8::getA7();}
8841309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A8* getA8() {return A8::getA8();}
8851309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A9* getA9() {return A9::getA9();}
8861309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A11* getA11() {return this;}
8871309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant};
8881309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
8891309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantstruct A12
8901309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    : public A10,
8911309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant      public A11
8921309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
8931309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    char _[2283];
8941309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    virtual ~A12() {}
8951309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
8961309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_3() {return A10::getA1_3();}
8971309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_4() {return A10::getA1_4();}
8981309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_6() {return A10::getA1_6();}
8991309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_9() {return A11::getA1_9();}
9001309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A2* getA2() {return A10::getA2();}
9011309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A3* getA3() {return A10::getA3();}
9021309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A4* getA4() {return A10::getA4();}
9031309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A5* getA5() {return A10::getA5();}
9041309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A6* getA6() {return A10::getA6();}
9051309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A7* getA7() {return A10::getA7();}
9061309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A8* getA8() {return A10::getA8();}
9071309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A9* getA9() {return A11::getA9();}
9081309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A10* getA10() {return A10::getA10();}
9091309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A11* getA11() {return A11::getA11();}
9101309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A12* getA12() {return this;}
9111309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant};
9121309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
9131309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantstruct A13
9141309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    : public A12
9151309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
9161309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    char _[1283];
9171309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    virtual ~A13() {}
9181309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
9191309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_3() {return A12::getA1_3();}
9201309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_4() {return A12::getA1_4();}
9211309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_6() {return A12::getA1_6();}
9221309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_9() {return A12::getA1_9();}
9231309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A2* getA2() {return A12::getA2();}
9241309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A3* getA3() {return A12::getA3();}
9251309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A4* getA4() {return A12::getA4();}
9261309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A5* getA5() {return A12::getA5();}
9271309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A6* getA6() {return A12::getA6();}
9281309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A7* getA7() {return A12::getA7();}
9291309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A8* getA8() {return A12::getA8();}
9301309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A9* getA9() {return A12::getA9();}
9311309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A10* getA10() {return A12::getA10();}
9321309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A11* getA11() {return A12::getA11();}
9331309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A12* getA12() {return A12::getA12();}
9341309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A13* getA13() {return this;}
9351309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant};
9361309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
937eca353d4849b2b1f7bca76edb40b3534433a5a26Ben CraigA3 a3;
938eca353d4849b2b1f7bca76edb40b3534433a5a26Ben CraigA4 a4;
939eca353d4849b2b1f7bca76edb40b3534433a5a26Ben CraigA5 a5;
940eca353d4849b2b1f7bca76edb40b3534433a5a26Ben CraigA6 a6;
941eca353d4849b2b1f7bca76edb40b3534433a5a26Ben CraigA7 a7;
942eca353d4849b2b1f7bca76edb40b3534433a5a26Ben CraigA8 a8;
943eca353d4849b2b1f7bca76edb40b3534433a5a26Ben CraigA9 a9;
944eca353d4849b2b1f7bca76edb40b3534433a5a26Ben CraigA10 a10;
945eca353d4849b2b1f7bca76edb40b3534433a5a26Ben CraigA11 a11;
946eca353d4849b2b1f7bca76edb40b3534433a5a26Ben CraigA12 a12;
947eca353d4849b2b1f7bca76edb40b3534433a5a26Ben CraigA13 a13;
948eca353d4849b2b1f7bca76edb40b3534433a5a26Ben Craig
9491309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantvoid test()
9501309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
9511309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a3.getA1_3()) == 0);
9521309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a3.getA2()) == a3.getA3());
9531309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
9541309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a4.getA1_4()) == 0);
9551309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a4.getA2()) == 0);
9561309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a4.getA1_4()) == a4.getA4());
9571309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a4.getA2()) == a4.getA4());
9581309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
9591309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a5.getA1_3()) == 0);
9601309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a5.getA2()) == a5.getA3());
9611309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
9621309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a5.getA1_3()) == 0);
9631309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a5.getA1_4()) == a5.getA4());
9641309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a5.getA3()) == a5.getA4());
9651309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a5.getA3()) == a5.getA4());
9661309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
9671309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a5.getA1_3()) == 0);
9681309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a5.getA1_4()) == a5.getA5());
9691309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a5.getA3()) == a5.getA5());
9701309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a5.getA3()) == a5.getA5());
9711309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a5.getA3()) == a5.getA5());
9721309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a5.getA4()) == a5.getA5());
9731309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
9741309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a6.getA1_6()) == 0);
9751309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
9761309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a6.getA1_6()) == 0);
9771309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
9781309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a6.getA1_6()) == 0);
9791309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
9801309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a6.getA1_6()) == a6.getA6());
9811309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
9821309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a7.getA1_3()) == 0);
9831309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a7.getA1_4()) == a7.getA3());
9841309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a7.getA2()) == a7.getA3());
9851309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
9861309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a7.getA1_3()) == 0);
9871309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a7.getA1_4()) == a7.getA4());
9881309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a7.getA2()) == a7.getA4());
9891309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a7.getA3()) == a7.getA4());
9901309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
9911309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a7.getA1_3()) == 0);
9921309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a7.getA1_4()) == a7.getA5());
9931309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a7.getA2()) == a7.getA5());
9941309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a7.getA3()) == a7.getA5());
9951309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a7.getA4()) == a7.getA5());
9961309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
9971309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a7.getA1_3()) == 0);
9981309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a7.getA1_4()) == a7.getA6());
9991309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a7.getA1_6()) == a7.getA6());
10001309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a7.getA2()) == a7.getA6());
10011309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a7.getA3()) == a7.getA6());
10021309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a7.getA4()) == a7.getA6());
10031309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a7.getA5()) == a7.getA6());
10041309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
10051309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a7.getA1_3()) == 0);
10061309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a7.getA1_4()) == a7.getA7());
10071309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a7.getA1_6()) == a7.getA7());
10081309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a7.getA2()) == a7.getA7());
10091309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a7.getA3()) == a7.getA7());
10101309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a7.getA4()) == a7.getA7());
10111309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a7.getA5()) == a7.getA7());
10121309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a7.getA6()) == a7.getA7());
10131309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
10141309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a8.getA1_3()) == 0);
10151309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a8.getA1_4()) == a8.getA3());
10161309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a8.getA2()) == a8.getA3());
10171309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
10181309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a8.getA1_3()) == 0);
10191309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a8.getA1_4()) == a8.getA4());
10201309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a8.getA2()) == a8.getA4());
10211309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a8.getA3()) == a8.getA4());
10221309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
10231309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a8.getA1_3()) == 0);
10241309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a8.getA1_4()) == a8.getA5());
10251309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a8.getA2()) == a8.getA5());
10261309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a8.getA3()) == a8.getA5());
10271309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a8.getA4()) == a8.getA5());
10281309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
10291309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a8.getA1_3()) == 0);
10301309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a8.getA1_4()) == a8.getA6());
10311309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a8.getA1_6()) == a8.getA6());
10321309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a8.getA2()) == a8.getA6());
10331309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a8.getA3()) == a8.getA6());
10341309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a8.getA4()) == a8.getA6());
10351309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a8.getA5()) == a8.getA6());
10361309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
10371309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a8.getA1_3()) == 0);
10381309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a8.getA1_4()) == a8.getA7());
10391309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a8.getA1_6()) == a8.getA7());
10401309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a8.getA2()) == a8.getA7());
10411309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a8.getA3()) == a8.getA7());
10421309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a8.getA4()) == a8.getA7());
10431309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a8.getA5()) == a8.getA7());
10441309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a8.getA6()) == a8.getA7());
10451309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
10461309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a8.getA1_3()) == 0);
10471309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a8.getA1_4()) == a8.getA8());
10481309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a8.getA1_6()) == a8.getA8());
10491309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a8.getA2()) == a8.getA8());
10501309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a8.getA3()) == a8.getA8());
10511309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a8.getA4()) == a8.getA8());
10521309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a8.getA5()) == a8.getA8());
10531309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a8.getA6()) == a8.getA8());
10541309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a8.getA7()) == a8.getA8());
10551309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
10561309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a9.getA1_9()) == 0);
10571309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
10581309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a9.getA1_9()) == 0);
10591309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
10601309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a9.getA1_9()) == 0);
10611309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
10621309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a9.getA1_9()) == 0);
10631309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
10641309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a9.getA1_9()) == 0);
10651309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
10661309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a9.getA1_9()) == 0);
10671309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
10681309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a9.getA1_9()) == a9.getA9());
10691309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
10701309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a10.getA1_3()) == 0);
10711309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a10.getA1_4()) == a10.getA3());
10721309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a10.getA1_6()) == a10.getA3());
10731309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a10.getA2()) == a10.getA3());
10741309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
10751309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a10.getA1_3()) == 0);
10761309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a10.getA1_4()) == a10.getA4());
10771309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a10.getA1_6()) == a10.getA4());
10781309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a10.getA2()) == a10.getA4());
10791309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a10.getA3()) == a10.getA4());
10801309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
10811309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a10.getA1_3()) == 0);
10821309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a10.getA1_4()) == a10.getA5());
10831309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a10.getA1_6()) == a10.getA5());
10841309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a10.getA2()) == a10.getA5());
10851309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a10.getA3()) == a10.getA5());
10861309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a10.getA4()) == a10.getA5());
10871309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
10881309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a10.getA1_3()) == 0);
10891309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a10.getA1_4()) == a10.getA6());
10901309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a10.getA1_6()) == a10.getA6());
10911309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a10.getA2()) == a10.getA6());
10921309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a10.getA3()) == a10.getA6());
10931309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a10.getA4()) == a10.getA6());
10941309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a10.getA5()) == a10.getA6());
10951309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
10961309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a10.getA1_3()) == 0);
10971309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a10.getA1_4()) == a10.getA7());
10981309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a10.getA1_6()) == a10.getA7());
10991309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a10.getA2()) == a10.getA7());
11001309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a10.getA3()) == a10.getA7());
11011309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a10.getA4()) == a10.getA7());
11021309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a10.getA5()) == a10.getA7());
11031309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a10.getA6()) == a10.getA7());
11041309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
11051309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a10.getA1_3()) == 0);
11061309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a10.getA1_4()) == a10.getA8());
11071309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a10.getA1_6()) == a10.getA8());
11081309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a10.getA2()) == a10.getA8());
11091309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a10.getA3()) == a10.getA8());
11101309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a10.getA4()) == a10.getA8());
11111309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a10.getA5()) == a10.getA8());
11121309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a10.getA6()) == a10.getA8());
11131309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a10.getA7()) == a10.getA8());
11141309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
11151309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a10.getA1_3()) == 0);
11161309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a10.getA1_4()) == 0);
11171309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a10.getA1_6()) == 0);
11181309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a10.getA2()) == 0);
11191309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a10.getA3()) == 0);
11201309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a10.getA4()) == 0);
11211309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a10.getA5()) == 0);
11221309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a10.getA6()) == 0);
11231309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a10.getA7()) == 0);
11241309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a10.getA8()) == 0);
11251309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
11261309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a10.getA1_3()) == 0);
11271309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a10.getA1_4()) == a10.getA10());
11281309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a10.getA1_6()) == a10.getA10());
11291309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a10.getA2()) == a10.getA10());
11301309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a10.getA3()) == a10.getA10());
11311309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a10.getA4()) == a10.getA10());
11321309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a10.getA5()) == a10.getA10());
11331309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a10.getA6()) == a10.getA10());
11341309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a10.getA7()) == a10.getA10());
11351309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a10.getA8()) == a10.getA10());
11361309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
11371309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a11.getA1_3()) == 0);
11381309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a11.getA1_4()) == a11.getA3());
11391309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a11.getA1_6()) == a11.getA3());
11401309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a11.getA1_9()) == a11.getA3());
11411309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a11.getA2()) == a11.getA3());
11421309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
11431309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a11.getA1_3()) == 0);
11441309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a11.getA1_4()) == a11.getA4());
11451309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a11.getA1_6()) == a11.getA4());
11461309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a11.getA1_9()) == a11.getA4());
11471309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a11.getA2()) == a11.getA4());
11481309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a11.getA3()) == a11.getA4());
11491309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
11501309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a11.getA1_3()) == 0);
11511309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a11.getA1_4()) == a11.getA5());
11521309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a11.getA1_6()) == a11.getA5());
11531309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a11.getA1_9()) == a11.getA5());
11541309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a11.getA2()) == a11.getA5());
11551309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a11.getA3()) == a11.getA5());
11561309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a11.getA4()) == a11.getA5());
11571309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
11581309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a11.getA1_3()) == 0);
11591309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a11.getA1_4()) == a11.getA6());
11601309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a11.getA1_6()) == a11.getA6());
11611309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a11.getA1_9()) == a11.getA6());
11621309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a11.getA2()) == a11.getA6());
11631309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a11.getA3()) == a11.getA6());
11641309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a11.getA4()) == a11.getA6());
11651309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a11.getA5()) == a11.getA6());
11661309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
11671309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a11.getA1_3()) == 0);
11681309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a11.getA1_4()) == a11.getA7());
11691309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a11.getA1_6()) == a11.getA7());
11701309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a11.getA1_9()) == a11.getA7());
11711309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a11.getA2()) == a11.getA7());
11721309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a11.getA3()) == a11.getA7());
11731309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a11.getA4()) == a11.getA7());
11741309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a11.getA5()) == a11.getA7());
11751309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a11.getA6()) == a11.getA7());
11761309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
11771309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a11.getA1_3()) == 0);
11781309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a11.getA1_4()) == a11.getA8());
11791309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a11.getA1_6()) == a11.getA8());
11801309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a11.getA1_9()) == a11.getA8());
11811309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a11.getA2()) == a11.getA8());
11821309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a11.getA3()) == a11.getA8());
11831309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a11.getA4()) == a11.getA8());
11841309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a11.getA5()) == a11.getA8());
11851309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a11.getA6()) == a11.getA8());
11861309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a11.getA7()) == a11.getA8());
11871309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
11881309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a11.getA1_3()) == 0);
11891309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a11.getA1_4()) == a11.getA9());
11901309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a11.getA1_6()) == a11.getA9());
11911309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a11.getA1_9()) == a11.getA9());
11921309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a11.getA2()) == a11.getA9());
11931309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a11.getA3()) == a11.getA9());
11941309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a11.getA4()) == a11.getA9());
11951309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a11.getA5()) == a11.getA9());
11961309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a11.getA6()) == a11.getA9());
11971309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a11.getA7()) == a11.getA9());
11981309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a11.getA8()) == a11.getA9());
11991309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
12001309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a11.getA1_3()) == 0);
12011309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a11.getA1_4()) == 0);
12021309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a11.getA1_6()) == 0);
12031309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a11.getA1_9()) == 0);
12041309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a11.getA2()) == 0);
12051309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a11.getA3()) == 0);
12061309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a11.getA4()) == 0);
12071309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a11.getA5()) == 0);
12081309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a11.getA6()) == 0);
12091309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a11.getA7()) == 0);
12101309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a11.getA8()) == 0);
12111309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a11.getA9()) == 0);
12121309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
12131309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a11.getA1_3()) == 0);
12141309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a11.getA1_4()) == a11.getA11());
12151309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a11.getA1_6()) == a11.getA11());
12161309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a11.getA1_9()) == a11.getA11());
12171309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a11.getA2()) == a11.getA11());
12181309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a11.getA3()) == a11.getA11());
12191309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a11.getA4()) == a11.getA11());
12201309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a11.getA5()) == a11.getA11());
12211309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a11.getA6()) == a11.getA11());
12221309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a11.getA7()) == a11.getA11());
12231309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a11.getA8()) == a11.getA11());
12241309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a11.getA9()) == a11.getA11());
12251309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
12261309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a12.getA1_3()) == 0);
12271309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a12.getA1_4()) == a12.getA3());
12281309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a12.getA1_6()) == a12.getA3());
12291309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a12.getA1_9()) == a12.getA3());
12301309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a12.getA2()) == a12.getA3());
12311309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
12321309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a12.getA1_3()) == 0);
12331309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a12.getA1_4()) == a12.getA4());
12341309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a12.getA1_6()) == a12.getA4());
12351309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a12.getA1_9()) == a12.getA4());
12361309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a12.getA2()) == a12.getA4());
12371309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a12.getA3()) == a12.getA4());
12381309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
12391309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a12.getA1_3()) == 0);
12401309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a12.getA1_4()) == a12.getA5());
12411309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a12.getA1_6()) == a12.getA5());
12421309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a12.getA1_9()) == a12.getA5());
12431309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a12.getA2()) == a12.getA5());
12441309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a12.getA3()) == a12.getA5());
12451309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a12.getA4()) == a12.getA5());
12461309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
12471309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a12.getA1_3()) == 0);
12481309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a12.getA1_4()) == a12.getA6());
12491309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a12.getA1_6()) == a12.getA6());
12501309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a12.getA1_9()) == a12.getA6());
12511309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a12.getA2()) == a12.getA6());
12521309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a12.getA3()) == a12.getA6());
12531309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a12.getA4()) == a12.getA6());
12541309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a12.getA5()) == a12.getA6());
12551309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
12561309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a12.getA1_3()) == 0);
12571309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a12.getA1_4()) == a12.getA7());
12581309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a12.getA1_6()) == a12.getA7());
12591309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a12.getA1_9()) == a12.getA7());
12601309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a12.getA2()) == a12.getA7());
12611309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a12.getA3()) == a12.getA7());
12621309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a12.getA4()) == a12.getA7());
12631309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a12.getA5()) == a12.getA7());
12641309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a12.getA6()) == a12.getA7());
12651309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
12661309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a12.getA1_3()) == 0);
12671309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a12.getA1_4()) == a12.getA8());
12681309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a12.getA1_6()) == a12.getA8());
12691309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a12.getA1_9()) == a12.getA8());
12701309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a12.getA2()) == a12.getA8());
12711309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a12.getA3()) == a12.getA8());
12721309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a12.getA4()) == a12.getA8());
12731309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a12.getA5()) == a12.getA8());
12741309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a12.getA6()) == a12.getA8());
12751309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a12.getA7()) == a12.getA8());
12761309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
12771309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a12.getA1_3()) == 0);
12781309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a12.getA1_4()) == a12.getA9());
12791309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a12.getA1_6()) == a12.getA9());
12801309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a12.getA1_9()) == a12.getA9());
12811309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a12.getA2()) == a12.getA9());
12821309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a12.getA3()) == a12.getA9());
12831309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a12.getA4()) == a12.getA9());
12841309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a12.getA5()) == a12.getA9());
12851309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a12.getA6()) == a12.getA9());
12861309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a12.getA7()) == a12.getA9());
12871309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a12.getA8()) == a12.getA9());
12881309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
12891309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a12.getA1_3()) == 0);
12901309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a12.getA1_4()) == a12.getA10());
12911309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a12.getA1_6()) == a12.getA10());
12921309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a12.getA1_9()) == a12.getA10());
12931309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a12.getA2()) == a12.getA10());
12941309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a12.getA3()) == a12.getA10());
12951309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a12.getA4()) == a12.getA10());
12961309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a12.getA5()) == a12.getA10());
12971309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a12.getA6()) == a12.getA10());
12981309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a12.getA7()) == a12.getA10());
12991309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a12.getA8()) == a12.getA10());
13001309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a12.getA9()) == a12.getA10());
13011309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
13021309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a12.getA1_3()) == 0);
13031309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a12.getA1_4()) == a12.getA11());
13041309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a12.getA1_6()) == a12.getA11());
13051309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a12.getA1_9()) == a12.getA11());
13061309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a12.getA2()) == a12.getA11());
13071309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a12.getA3()) == a12.getA11());
13081309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a12.getA4()) == a12.getA11());
13091309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a12.getA5()) == a12.getA11());
13101309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a12.getA6()) == a12.getA11());
13111309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a12.getA7()) == a12.getA11());
13121309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a12.getA8()) == a12.getA11());
13131309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a12.getA9()) == a12.getA11());
13141309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a12.getA10()) == a12.getA11());
13151309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
13161309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a12.getA1_3()) == 0);
13171309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a12.getA1_4()) == a12.getA12());
13181309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a12.getA1_6()) == a12.getA12());
13191309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a12.getA1_9()) == a12.getA12());
13201309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a12.getA2()) == a12.getA12());
13211309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a12.getA3()) == a12.getA12());
13221309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a12.getA4()) == a12.getA12());
13231309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a12.getA5()) == a12.getA12());
13241309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a12.getA6()) == a12.getA12());
13251309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a12.getA7()) == a12.getA12());
13261309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a12.getA8()) == a12.getA12());
13271309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a12.getA9()) == a12.getA12());
13281309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a12.getA10()) == a12.getA12());
13291309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a12.getA11()) == a12.getA12());
13301309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
13311309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a13.getA1_3()) == 0);
13321309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a13.getA1_4()) == a13.getA3());
13331309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a13.getA1_6()) == a13.getA3());
13341309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a13.getA1_9()) == a13.getA3());
13351309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a13.getA2()) == a13.getA3());
13361309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
13371309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a13.getA1_3()) == 0);
13381309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a13.getA1_4()) == a13.getA4());
13391309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a13.getA1_6()) == a13.getA4());
13401309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a13.getA1_9()) == a13.getA4());
13411309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a13.getA2()) == a13.getA4());
13421309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a13.getA3()) == a13.getA4());
13431309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
13441309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a13.getA1_3()) == 0);
13451309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a13.getA1_4()) == a13.getA5());
13461309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a13.getA1_6()) == a13.getA5());
13471309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a13.getA1_9()) == a13.getA5());
13481309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a13.getA2()) == a13.getA5());
13491309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a13.getA3()) == a13.getA5());
13501309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a13.getA4()) == a13.getA5());
13511309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
13521309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a13.getA1_3()) == 0);
13531309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a13.getA1_4()) == a13.getA6());
13541309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a13.getA1_6()) == a13.getA6());
13551309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a13.getA1_9()) == a13.getA6());
13561309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a13.getA2()) == a13.getA6());
13571309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a13.getA3()) == a13.getA6());
13581309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a13.getA4()) == a13.getA6());
13591309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a13.getA5()) == a13.getA6());
13601309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
13611309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a13.getA1_3()) == 0);
13621309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a13.getA1_4()) == a13.getA7());
13631309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a13.getA1_6()) == a13.getA7());
13641309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a13.getA1_9()) == a13.getA7());
13651309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a13.getA2()) == a13.getA7());
13661309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a13.getA3()) == a13.getA7());
13671309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a13.getA4()) == a13.getA7());
13681309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a13.getA5()) == a13.getA7());
13691309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a13.getA6()) == a13.getA7());
13701309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
13711309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a13.getA1_3()) == 0);
13721309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a13.getA1_4()) == a13.getA8());
13731309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a13.getA1_6()) == a13.getA8());
13741309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a13.getA1_9()) == a13.getA8());
13751309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a13.getA2()) == a13.getA8());
13761309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a13.getA3()) == a13.getA8());
13771309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a13.getA4()) == a13.getA8());
13781309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a13.getA5()) == a13.getA8());
13791309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a13.getA6()) == a13.getA8());
13801309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a13.getA7()) == a13.getA8());
13811309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
13821309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a13.getA1_3()) == 0);
13831309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a13.getA1_4()) == a13.getA9());
13841309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a13.getA1_6()) == a13.getA9());
13851309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a13.getA1_9()) == a13.getA9());
13861309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a13.getA2()) == a13.getA9());
13871309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a13.getA3()) == a13.getA9());
13881309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a13.getA4()) == a13.getA9());
13891309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a13.getA5()) == a13.getA9());
13901309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a13.getA6()) == a13.getA9());
13911309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a13.getA7()) == a13.getA9());
13921309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a13.getA8()) == a13.getA9());
13931309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
13941309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a13.getA1_3()) == 0);
13951309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a13.getA1_4()) == a13.getA10());
13961309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a13.getA1_6()) == a13.getA10());
13971309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a13.getA1_9()) == a13.getA10());
13981309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a13.getA2()) == a13.getA10());
13991309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a13.getA3()) == a13.getA10());
14001309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a13.getA4()) == a13.getA10());
14011309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a13.getA5()) == a13.getA10());
14021309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a13.getA6()) == a13.getA10());
14031309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a13.getA7()) == a13.getA10());
14041309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a13.getA8()) == a13.getA10());
14051309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a13.getA9()) == a13.getA10());
14061309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
14071309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a13.getA1_3()) == 0);
14081309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a13.getA1_4()) == a13.getA11());
14091309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a13.getA1_6()) == a13.getA11());
14101309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a13.getA1_9()) == a13.getA11());
14111309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a13.getA2()) == a13.getA11());
14121309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a13.getA3()) == a13.getA11());
14131309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a13.getA4()) == a13.getA11());
14141309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a13.getA5()) == a13.getA11());
14151309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a13.getA6()) == a13.getA11());
14161309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a13.getA7()) == a13.getA11());
14171309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a13.getA8()) == a13.getA11());
14181309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a13.getA9()) == a13.getA11());
14191309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a13.getA10()) == a13.getA11());
14201309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
14211309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a13.getA1_3()) == 0);
14221309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a13.getA1_4()) == a13.getA12());
14231309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a13.getA1_6()) == a13.getA12());
14241309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a13.getA1_9()) == a13.getA12());
14251309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a13.getA2()) == a13.getA12());
14261309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a13.getA3()) == a13.getA12());
14271309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a13.getA4()) == a13.getA12());
14281309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a13.getA5()) == a13.getA12());
14291309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a13.getA6()) == a13.getA12());
14301309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a13.getA7()) == a13.getA12());
14311309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a13.getA8()) == a13.getA12());
14321309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a13.getA9()) == a13.getA12());
14331309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a13.getA10()) == a13.getA12());
14341309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a13.getA11()) == a13.getA12());
14351309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
14361309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA1_3()) == 0);
14371309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA1_4()) == a13.getA13());
14381309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA1_6()) == a13.getA13());
14391309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA1_9()) == a13.getA13());
14401309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA2()) == a13.getA13());
14411309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA3()) == a13.getA13());
14421309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA4()) == a13.getA13());
14431309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA5()) == a13.getA13());
14441309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA6()) == a13.getA13());
14451309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA7()) == a13.getA13());
14461309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA8()) == a13.getA13());
14471309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA9()) == a13.getA13());
14481309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA10()) == a13.getA13());
14491309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA11()) == a13.getA13());
14501309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA12()) == a13.getA13());
14511309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant}
14521309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
14531309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant}  // t2
14541309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
14551309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantnamespace t3
14561309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
14571309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
14581309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantstruct A1
14591309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
14601309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    char _[43981];
14611309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    virtual ~A1() {}
14621309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
14631309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1() {return this;}
14641309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant};
14651309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
14661309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantstruct A2
14671309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
14681309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    char _[34981];
14691309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    virtual ~A2() {}
14701309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
14711309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A2* getA2() {return this;}
14721309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant};
14731309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
14741309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantstruct A3
14751309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    : public A1,
14761309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant      protected virtual A2
14771309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
14781309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    char _[93481];
14791309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    virtual ~A3() {}
14801309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
14811309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_3() {return A1::getA1();}
14821309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A2* getA2() {return A2::getA2();}
14831309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A3* getA3() {return this;}
14841309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant};
14851309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
14861309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantstruct A4
14871309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    : public virtual A2,
14881309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant      public A1
14891309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
14901309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    char _[13489];
14911309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    virtual ~A4() {}
14921309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
14931309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_4() {return A1::getA1();}
14941309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A2* getA2() {return A2::getA2();}
14951309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A4* getA4() {return this;}
14961309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant};
14971309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
14981309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantstruct A5
14991309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    : public A3,
15001309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant      public A4
15011309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
15021309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    char _[13489];
15031309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    virtual ~A5() {}
15041309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
15051309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_3() {return A3::getA1();}
15061309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_4() {return A4::getA1();}
15071309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A2* getA2() {return A3::getA2();}
15081309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A3* getA3() {return A3::getA3();}
15091309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A4* getA4() {return A4::getA4();}
15101309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A5* getA5() {return this;}
15111309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant};
15121309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
15131309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantstruct A6
15141309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    : public A1
15151309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
15161309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    char _[81349];
15171309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    virtual ~A6() {}
15181309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
15191309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_6() {return A1::getA1();}
15201309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A6* getA6() {return this;}
15211309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant};
15221309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
15231309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantstruct A7
15241309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    : public A5,
15251309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant      public A6
15261309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
15271309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    char _[34819];
15281309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    virtual ~A7() {}
15291309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
15301309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_3() {return A5::getA1_3();}
15311309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_4() {return A5::getA1_4();}
15321309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_6() {return A6::getA1_6();}
15331309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A2* getA2() {return A5::getA2();}
15341309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A3* getA3() {return A5::getA3();}
15351309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A4* getA4() {return A5::getA4();}
15361309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A5* getA5() {return A5::getA5();}
15371309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A6* getA6() {return A6::getA6();}
15381309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A7* getA7() {return this;}
15391309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant};
15401309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
15411309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantstruct A8
15421309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    : public A7
15431309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
15441309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    char _[3489];
15451309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    virtual ~A8() {}
15461309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
15471309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_3() {return A7::getA1_3();}
15481309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_4() {return A7::getA1_4();}
15491309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_6() {return A7::getA1_6();}
15501309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A2* getA2() {return A7::getA2();}
15511309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A3* getA3() {return A7::getA3();}
15521309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A4* getA4() {return A7::getA4();}
15531309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A5* getA5() {return A7::getA5();}
15541309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A6* getA6() {return A7::getA6();}
15551309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A7* getA7() {return A7::getA7();}
15561309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A8* getA8() {return this;}
15571309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant};
15581309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
15591309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantstruct A9
15601309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    : public A1
15611309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
15621309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    char _[3481];
15631309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    virtual ~A9() {}
15641309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
15651309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_9() {return A1::getA1();}
15661309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A9* getA9() {return this;}
15671309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant};
15681309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
15691309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantstruct A10
15701309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    : public virtual A8
15711309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
15721309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    char _[4831];
15731309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    virtual ~A10() {}
15741309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
15751309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_3() {return A8::getA1_3();}
15761309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_4() {return A8::getA1_4();}
15771309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_6() {return A8::getA1_6();}
15781309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A2* getA2() {return A8::getA2();}
15791309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A3* getA3() {return A8::getA3();}
15801309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A4* getA4() {return A8::getA4();}
15811309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A5* getA5() {return A8::getA5();}
15821309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A6* getA6() {return A8::getA6();}
15831309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A7* getA7() {return A8::getA7();}
15841309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A8* getA8() {return A8::getA8();}
15851309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A10* getA10() {return this;}
15861309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant};
15871309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
15881309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantstruct A11
15891309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    : public virtual A8,
15901309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant      public A9
15911309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
15921309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    char _[6483];
15931309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    virtual ~A11() {}
15941309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
15951309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_3() {return A8::getA1_3();}
15961309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_4() {return A8::getA1_4();}
15971309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_6() {return A8::getA1_6();}
15981309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_9() {return A9::getA1_9();}
15991309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A2* getA2() {return A8::getA2();}
16001309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A3* getA3() {return A8::getA3();}
16011309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A4* getA4() {return A8::getA4();}
16021309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A5* getA5() {return A8::getA5();}
16031309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A6* getA6() {return A8::getA6();}
16041309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A7* getA7() {return A8::getA7();}
16051309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A8* getA8() {return A8::getA8();}
16061309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A9* getA9() {return A9::getA9();}
16071309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A11* getA11() {return this;}
16081309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant};
16091309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
16101309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantstruct A12
16111309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    : public A10,
16121309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant      public A11
16131309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
16141309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    char _[2283];
16151309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    virtual ~A12() {}
16161309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
16171309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_3() {return A10::getA1_3();}
16181309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_4() {return A10::getA1_4();}
16191309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_6() {return A10::getA1_6();}
16201309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_9() {return A11::getA1_9();}
16211309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A2* getA2() {return A10::getA2();}
16221309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A3* getA3() {return A10::getA3();}
16231309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A4* getA4() {return A10::getA4();}
16241309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A5* getA5() {return A10::getA5();}
16251309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A6* getA6() {return A10::getA6();}
16261309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A7* getA7() {return A10::getA7();}
16271309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A8* getA8() {return A10::getA8();}
16281309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A9* getA9() {return A11::getA9();}
16291309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A10* getA10() {return A10::getA10();}
16301309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A11* getA11() {return A11::getA11();}
16311309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A12* getA12() {return this;}
16321309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant};
16331309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
16341309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantstruct A13
16351309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    : public A12
16361309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
16371309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    char _[1283];
16381309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    virtual ~A13() {}
16391309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
16401309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_3() {return A12::getA1_3();}
16411309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_4() {return A12::getA1_4();}
16421309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_6() {return A12::getA1_6();}
16431309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A1* getA1_9() {return A12::getA1_9();}
16441309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A2* getA2() {return A12::getA2();}
16451309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A3* getA3() {return A12::getA3();}
16461309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A4* getA4() {return A12::getA4();}
16471309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A5* getA5() {return A12::getA5();}
16481309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A6* getA6() {return A12::getA6();}
16491309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A7* getA7() {return A12::getA7();}
16501309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A8* getA8() {return A12::getA8();}
16511309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A9* getA9() {return A12::getA9();}
16521309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A10* getA10() {return A12::getA10();}
16531309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A11* getA11() {return A12::getA11();}
16541309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A12* getA12() {return A12::getA12();}
16551309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    A13* getA13() {return this;}
16561309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant};
16571309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
1658eca353d4849b2b1f7bca76edb40b3534433a5a26Ben CraigA3 a3;
1659eca353d4849b2b1f7bca76edb40b3534433a5a26Ben CraigA4 a4;
1660eca353d4849b2b1f7bca76edb40b3534433a5a26Ben CraigA5 a5;
1661eca353d4849b2b1f7bca76edb40b3534433a5a26Ben CraigA6 a6;
1662eca353d4849b2b1f7bca76edb40b3534433a5a26Ben CraigA7 a7;
1663eca353d4849b2b1f7bca76edb40b3534433a5a26Ben CraigA8 a8;
1664eca353d4849b2b1f7bca76edb40b3534433a5a26Ben CraigA9 a9;
1665eca353d4849b2b1f7bca76edb40b3534433a5a26Ben CraigA10 a10;
1666eca353d4849b2b1f7bca76edb40b3534433a5a26Ben CraigA11 a11;
1667eca353d4849b2b1f7bca76edb40b3534433a5a26Ben CraigA12 a12;
1668eca353d4849b2b1f7bca76edb40b3534433a5a26Ben CraigA13 a13;
1669eca353d4849b2b1f7bca76edb40b3534433a5a26Ben Craig
16701309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantvoid test()
16711309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
16721309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a3.getA1_3()) == a3.getA3());
16731309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a3.getA2()) == 0);
16741309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
16751309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a4.getA1_4()) == 0);
16761309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a4.getA2()) == 0);
16771309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a4.getA1_4()) == a4.getA4());
16781309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a4.getA2()) == a4.getA4());
16791309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
16801309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a5.getA1_3()) == a5.getA3());
16811309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a5.getA2()) == a5.getA3());
16821309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
16831309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a5.getA1_3()) == a5.getA4());
16841309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a5.getA1_4()) == a5.getA4());
16851309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a5.getA3()) == a5.getA4());
16861309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a5.getA3()) == a5.getA4());
16871309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
16881309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a5.getA1_3()) == a5.getA5());
16891309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a5.getA1_4()) == a5.getA5());
16901309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a5.getA3()) == a5.getA5());
16911309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a5.getA3()) == a5.getA5());
16921309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a5.getA3()) == a5.getA5());
16931309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a5.getA4()) == a5.getA5());
16941309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
16951309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a6.getA1_6()) == 0);
16961309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
16971309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a6.getA1_6()) == 0);
16981309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
16991309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a6.getA1_6()) == 0);
17001309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
17011309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a6.getA1_6()) == a6.getA6());
17021309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
17031309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a7.getA1_3()) == a7.getA3());
17041309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a7.getA1_4()) == a7.getA3());
17051309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a7.getA2()) == a7.getA3());
17061309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
17071309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a7.getA1_3()) == a7.getA4());
17081309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a7.getA1_4()) == a7.getA4());
17091309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a7.getA2()) == a7.getA4());
17101309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a7.getA3()) == a7.getA4());
17111309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
17121309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a7.getA1_3()) == a7.getA5());
17131309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a7.getA1_4()) == a7.getA5());
17141309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a7.getA2()) == a7.getA5());
17151309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a7.getA3()) == a7.getA5());
17161309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a7.getA4()) == a7.getA5());
17171309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
17181309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a7.getA1_3()) == a7.getA6());
17191309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a7.getA1_4()) == a7.getA6());
17201309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a7.getA1_6()) == a7.getA6());
17211309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a7.getA2()) == a7.getA6());
17221309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a7.getA3()) == a7.getA6());
17231309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a7.getA4()) == a7.getA6());
17241309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a7.getA5()) == a7.getA6());
17251309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
17261309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a7.getA1_3()) == a7.getA7());
17271309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a7.getA1_4()) == a7.getA7());
17281309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a7.getA1_6()) == a7.getA7());
17291309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a7.getA2()) == a7.getA7());
17301309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a7.getA3()) == a7.getA7());
17311309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a7.getA4()) == a7.getA7());
17321309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a7.getA5()) == a7.getA7());
17331309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a7.getA6()) == a7.getA7());
17341309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
17351309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a8.getA1_3()) == a8.getA3());
17361309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a8.getA1_4()) == a8.getA3());
17371309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a8.getA2()) == a8.getA3());
17381309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
17391309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a8.getA1_3()) == a8.getA4());
17401309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a8.getA1_4()) == a8.getA4());
17411309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a8.getA2()) == a8.getA4());
17421309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a8.getA3()) == a8.getA4());
17431309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
17441309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a8.getA1_3()) == a8.getA5());
17451309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a8.getA1_4()) == a8.getA5());
17461309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a8.getA2()) == a8.getA5());
17471309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a8.getA3()) == a8.getA5());
17481309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a8.getA4()) == a8.getA5());
17491309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
17501309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a8.getA1_3()) == a8.getA6());
17511309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a8.getA1_4()) == a8.getA6());
17521309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a8.getA1_6()) == a8.getA6());
17531309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a8.getA2()) == a8.getA6());
17541309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a8.getA3()) == a8.getA6());
17551309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a8.getA4()) == a8.getA6());
17561309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a8.getA5()) == a8.getA6());
17571309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
17581309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a8.getA1_3()) == a8.getA7());
17591309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a8.getA1_4()) == a8.getA7());
17601309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a8.getA1_6()) == a8.getA7());
17611309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a8.getA2()) == a8.getA7());
17621309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a8.getA3()) == a8.getA7());
17631309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a8.getA4()) == a8.getA7());
17641309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a8.getA5()) == a8.getA7());
17651309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a8.getA6()) == a8.getA7());
17661309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
17671309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a8.getA1_3()) == a8.getA8());
17681309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a8.getA1_4()) == a8.getA8());
17691309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a8.getA1_6()) == a8.getA8());
17701309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a8.getA2()) == a8.getA8());
17711309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a8.getA3()) == a8.getA8());
17721309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a8.getA4()) == a8.getA8());
17731309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a8.getA5()) == a8.getA8());
17741309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a8.getA6()) == a8.getA8());
17751309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a8.getA7()) == a8.getA8());
17761309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
17771309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a9.getA1_9()) == 0);
17781309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
17791309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a9.getA1_9()) == 0);
17801309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
17811309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a9.getA1_9()) == 0);
17821309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
17831309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a9.getA1_9()) == 0);
17841309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
17851309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a9.getA1_9()) == 0);
17861309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
17871309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a9.getA1_9()) == 0);
17881309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
17891309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a9.getA1_9()) == a9.getA9());
17901309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
17911309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a10.getA1_3()) == a10.getA3());
17921309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a10.getA1_4()) == a10.getA3());
17931309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a10.getA1_6()) == a10.getA3());
17941309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a10.getA2()) == a10.getA3());
17951309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
17961309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a10.getA1_3()) == a10.getA4());
17971309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a10.getA1_4()) == a10.getA4());
17981309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a10.getA1_6()) == a10.getA4());
17991309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a10.getA2()) == a10.getA4());
18001309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a10.getA3()) == a10.getA4());
18011309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
18021309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a10.getA1_3()) == a10.getA5());
18031309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a10.getA1_4()) == a10.getA5());
18041309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a10.getA1_6()) == a10.getA5());
18051309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a10.getA2()) == a10.getA5());
18061309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a10.getA3()) == a10.getA5());
18071309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a10.getA4()) == a10.getA5());
18081309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
18091309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a10.getA1_3()) == a10.getA6());
18101309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a10.getA1_4()) == a10.getA6());
18111309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a10.getA1_6()) == a10.getA6());
18121309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a10.getA2()) == a10.getA6());
18131309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a10.getA3()) == a10.getA6());
18141309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a10.getA4()) == a10.getA6());
18151309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a10.getA5()) == a10.getA6());
18161309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
18171309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a10.getA1_3()) == a10.getA7());
18181309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a10.getA1_4()) == a10.getA7());
18191309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a10.getA1_6()) == a10.getA7());
18201309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a10.getA2()) == a10.getA7());
18211309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a10.getA3()) == a10.getA7());
18221309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a10.getA4()) == a10.getA7());
18231309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a10.getA5()) == a10.getA7());
18241309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a10.getA6()) == a10.getA7());
18251309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
18261309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a10.getA1_3()) == a10.getA8());
18271309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a10.getA1_4()) == a10.getA8());
18281309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a10.getA1_6()) == a10.getA8());
18291309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a10.getA2()) == a10.getA8());
18301309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a10.getA3()) == a10.getA8());
18311309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a10.getA4()) == a10.getA8());
18321309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a10.getA5()) == a10.getA8());
18331309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a10.getA6()) == a10.getA8());
18341309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a10.getA7()) == a10.getA8());
18351309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
18361309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a10.getA1_3()) == 0);
18371309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a10.getA1_4()) == 0);
18381309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a10.getA1_6()) == 0);
18391309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a10.getA2()) == 0);
18401309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a10.getA3()) == 0);
18411309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a10.getA4()) == 0);
18421309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a10.getA5()) == 0);
18431309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a10.getA6()) == 0);
18441309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a10.getA7()) == 0);
18451309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a10.getA8()) == 0);
18461309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
18471309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a10.getA1_3()) == a10.getA10());
18481309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a10.getA1_4()) == a10.getA10());
18491309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a10.getA1_6()) == a10.getA10());
18501309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a10.getA2()) == a10.getA10());
18511309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a10.getA3()) == a10.getA10());
18521309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a10.getA4()) == a10.getA10());
18531309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a10.getA5()) == a10.getA10());
18541309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a10.getA6()) == a10.getA10());
18551309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a10.getA7()) == a10.getA10());
18561309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a10.getA8()) == a10.getA10());
18571309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
18581309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a11.getA1_3()) == a11.getA3());
18591309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a11.getA1_4()) == a11.getA3());
18601309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a11.getA1_6()) == a11.getA3());
18611309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a11.getA1_9()) == a11.getA3());
18621309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a11.getA2()) == a11.getA3());
18631309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
18641309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a11.getA1_3()) == a11.getA4());
18651309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a11.getA1_4()) == a11.getA4());
18661309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a11.getA1_6()) == a11.getA4());
18671309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a11.getA1_9()) == a11.getA4());
18681309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a11.getA2()) == a11.getA4());
18691309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a11.getA3()) == a11.getA4());
18701309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
18711309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a11.getA1_3()) == a11.getA5());
18721309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a11.getA1_4()) == a11.getA5());
18731309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a11.getA1_6()) == a11.getA5());
18741309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a11.getA1_9()) == a11.getA5());
18751309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a11.getA2()) == a11.getA5());
18761309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a11.getA3()) == a11.getA5());
18771309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a11.getA4()) == a11.getA5());
18781309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
18791309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a11.getA1_3()) == a11.getA6());
18801309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a11.getA1_4()) == a11.getA6());
18811309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a11.getA1_6()) == a11.getA6());
18821309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a11.getA1_9()) == a11.getA6());
18831309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a11.getA2()) == a11.getA6());
18841309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a11.getA3()) == a11.getA6());
18851309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a11.getA4()) == a11.getA6());
18861309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a11.getA5()) == a11.getA6());
18871309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
18881309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a11.getA1_3()) == a11.getA7());
18891309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a11.getA1_4()) == a11.getA7());
18901309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a11.getA1_6()) == a11.getA7());
18911309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a11.getA1_9()) == a11.getA7());
18921309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a11.getA2()) == a11.getA7());
18931309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a11.getA3()) == a11.getA7());
18941309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a11.getA4()) == a11.getA7());
18951309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a11.getA5()) == a11.getA7());
18961309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a11.getA6()) == a11.getA7());
18971309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
18981309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a11.getA1_3()) == a11.getA8());
18991309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a11.getA1_4()) == a11.getA8());
19001309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a11.getA1_6()) == a11.getA8());
19011309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a11.getA1_9()) == a11.getA8());
19021309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a11.getA2()) == a11.getA8());
19031309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a11.getA3()) == a11.getA8());
19041309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a11.getA4()) == a11.getA8());
19051309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a11.getA5()) == a11.getA8());
19061309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a11.getA6()) == a11.getA8());
19071309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a11.getA7()) == a11.getA8());
19081309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
19091309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a11.getA1_3()) == a11.getA9());
19101309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a11.getA1_4()) == a11.getA9());
19111309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a11.getA1_6()) == a11.getA9());
19121309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a11.getA1_9()) == a11.getA9());
19131309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a11.getA2()) == a11.getA9());
19141309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a11.getA3()) == a11.getA9());
19151309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a11.getA4()) == a11.getA9());
19161309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a11.getA5()) == a11.getA9());
19171309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a11.getA6()) == a11.getA9());
19181309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a11.getA7()) == a11.getA9());
19191309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a11.getA8()) == a11.getA9());
19201309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
19211309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a11.getA1_3()) == 0);
19221309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a11.getA1_4()) == 0);
19231309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a11.getA1_6()) == 0);
19241309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a11.getA1_9()) == 0);
19251309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a11.getA2()) == 0);
19261309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a11.getA3()) == 0);
19271309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a11.getA4()) == 0);
19281309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a11.getA5()) == 0);
19291309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a11.getA6()) == 0);
19301309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a11.getA7()) == 0);
19311309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a11.getA8()) == 0);
19321309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a11.getA9()) == 0);
19331309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
19341309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a11.getA1_3()) == a11.getA11());
19351309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a11.getA1_4()) == a11.getA11());
19361309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a11.getA1_6()) == a11.getA11());
19371309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a11.getA1_9()) == a11.getA11());
19381309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a11.getA2()) == a11.getA11());
19391309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a11.getA3()) == a11.getA11());
19401309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a11.getA4()) == a11.getA11());
19411309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a11.getA5()) == a11.getA11());
19421309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a11.getA6()) == a11.getA11());
19431309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a11.getA7()) == a11.getA11());
19441309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a11.getA8()) == a11.getA11());
19451309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a11.getA9()) == a11.getA11());
19461309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
19471309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a12.getA1_3()) == a12.getA3());
19481309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a12.getA1_4()) == a12.getA3());
19491309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a12.getA1_6()) == a12.getA3());
19501309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a12.getA1_9()) == a12.getA3());
19511309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a12.getA2()) == a12.getA3());
19521309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
19531309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a12.getA1_3()) == a12.getA4());
19541309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a12.getA1_4()) == a12.getA4());
19551309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a12.getA1_6()) == a12.getA4());
19561309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a12.getA1_9()) == a12.getA4());
19571309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a12.getA2()) == a12.getA4());
19581309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a12.getA3()) == a12.getA4());
19591309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
19601309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a12.getA1_3()) == a12.getA5());
19611309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a12.getA1_4()) == a12.getA5());
19621309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a12.getA1_6()) == a12.getA5());
19631309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a12.getA1_9()) == a12.getA5());
19641309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a12.getA2()) == a12.getA5());
19651309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a12.getA3()) == a12.getA5());
19661309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a12.getA4()) == a12.getA5());
19671309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
19681309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a12.getA1_3()) == a12.getA6());
19691309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a12.getA1_4()) == a12.getA6());
19701309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a12.getA1_6()) == a12.getA6());
19711309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a12.getA1_9()) == a12.getA6());
19721309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a12.getA2()) == a12.getA6());
19731309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a12.getA3()) == a12.getA6());
19741309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a12.getA4()) == a12.getA6());
19751309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a12.getA5()) == a12.getA6());
19761309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
19771309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a12.getA1_3()) == a12.getA7());
19781309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a12.getA1_4()) == a12.getA7());
19791309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a12.getA1_6()) == a12.getA7());
19801309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a12.getA1_9()) == a12.getA7());
19811309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a12.getA2()) == a12.getA7());
19821309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a12.getA3()) == a12.getA7());
19831309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a12.getA4()) == a12.getA7());
19841309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a12.getA5()) == a12.getA7());
19851309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a12.getA6()) == a12.getA7());
19861309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
19871309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a12.getA1_3()) == a12.getA8());
19881309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a12.getA1_4()) == a12.getA8());
19891309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a12.getA1_6()) == a12.getA8());
19901309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a12.getA1_9()) == a12.getA8());
19911309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a12.getA2()) == a12.getA8());
19921309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a12.getA3()) == a12.getA8());
19931309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a12.getA4()) == a12.getA8());
19941309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a12.getA5()) == a12.getA8());
19951309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a12.getA6()) == a12.getA8());
19961309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a12.getA7()) == a12.getA8());
19971309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
19981309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a12.getA1_3()) == a12.getA9());
19991309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a12.getA1_4()) == a12.getA9());
20001309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a12.getA1_6()) == a12.getA9());
20011309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a12.getA1_9()) == a12.getA9());
20021309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a12.getA2()) == a12.getA9());
20031309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a12.getA3()) == a12.getA9());
20041309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a12.getA4()) == a12.getA9());
20051309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a12.getA5()) == a12.getA9());
20061309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a12.getA6()) == a12.getA9());
20071309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a12.getA7()) == a12.getA9());
20081309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a12.getA8()) == a12.getA9());
20091309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
20101309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a12.getA1_3()) == a12.getA10());
20111309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a12.getA1_4()) == a12.getA10());
20121309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a12.getA1_6()) == a12.getA10());
20131309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a12.getA1_9()) == a12.getA10());
20141309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a12.getA2()) == a12.getA10());
20151309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a12.getA3()) == a12.getA10());
20161309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a12.getA4()) == a12.getA10());
20171309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a12.getA5()) == a12.getA10());
20181309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a12.getA6()) == a12.getA10());
20191309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a12.getA7()) == a12.getA10());
20201309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a12.getA8()) == a12.getA10());
20211309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a12.getA9()) == a12.getA10());
20221309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
20231309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a12.getA1_3()) == a12.getA11());
20241309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a12.getA1_4()) == a12.getA11());
20251309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a12.getA1_6()) == a12.getA11());
20261309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a12.getA1_9()) == a12.getA11());
20271309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a12.getA2()) == a12.getA11());
20281309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a12.getA3()) == a12.getA11());
20291309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a12.getA4()) == a12.getA11());
20301309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a12.getA5()) == a12.getA11());
20311309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a12.getA6()) == a12.getA11());
20321309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a12.getA7()) == a12.getA11());
20331309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a12.getA8()) == a12.getA11());
20341309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a12.getA9()) == a12.getA11());
20351309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a12.getA10()) == a12.getA11());
20361309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
20371309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a12.getA1_3()) == a12.getA12());
20381309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a12.getA1_4()) == a12.getA12());
20391309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a12.getA1_6()) == a12.getA12());
20401309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a12.getA1_9()) == a12.getA12());
20411309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a12.getA2()) == a12.getA12());
20421309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a12.getA3()) == a12.getA12());
20431309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a12.getA4()) == a12.getA12());
20441309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a12.getA5()) == a12.getA12());
20451309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a12.getA6()) == a12.getA12());
20461309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a12.getA7()) == a12.getA12());
20471309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a12.getA8()) == a12.getA12());
20481309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a12.getA9()) == a12.getA12());
20491309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a12.getA10()) == a12.getA12());
20501309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a12.getA11()) == a12.getA12());
20511309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
20521309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a13.getA1_3()) == a13.getA3());
20531309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a13.getA1_4()) == a13.getA3());
20541309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a13.getA1_6()) == a13.getA3());
20551309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a13.getA1_9()) == a13.getA3());
20561309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A3*>(a13.getA2()) == a13.getA3());
20571309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
20581309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a13.getA1_3()) == a13.getA4());
20591309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a13.getA1_4()) == a13.getA4());
20601309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a13.getA1_6()) == a13.getA4());
20611309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a13.getA1_9()) == a13.getA4());
20621309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a13.getA2()) == a13.getA4());
20631309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A4*>(a13.getA3()) == a13.getA4());
20641309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
20651309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a13.getA1_3()) == a13.getA5());
20661309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a13.getA1_4()) == a13.getA5());
20671309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a13.getA1_6()) == a13.getA5());
20681309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a13.getA1_9()) == a13.getA5());
20691309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a13.getA2()) == a13.getA5());
20701309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a13.getA3()) == a13.getA5());
20711309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A5*>(a13.getA4()) == a13.getA5());
20721309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
20731309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a13.getA1_3()) == a13.getA6());
20741309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a13.getA1_4()) == a13.getA6());
20751309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a13.getA1_6()) == a13.getA6());
20761309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a13.getA1_9()) == a13.getA6());
20771309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a13.getA2()) == a13.getA6());
20781309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a13.getA3()) == a13.getA6());
20791309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a13.getA4()) == a13.getA6());
20801309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A6*>(a13.getA5()) == a13.getA6());
20811309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
20821309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a13.getA1_3()) == a13.getA7());
20831309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a13.getA1_4()) == a13.getA7());
20841309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a13.getA1_6()) == a13.getA7());
20851309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a13.getA1_9()) == a13.getA7());
20861309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a13.getA2()) == a13.getA7());
20871309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a13.getA3()) == a13.getA7());
20881309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a13.getA4()) == a13.getA7());
20891309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a13.getA5()) == a13.getA7());
20901309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A7*>(a13.getA6()) == a13.getA7());
20911309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
20921309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a13.getA1_3()) == a13.getA8());
20931309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a13.getA1_4()) == a13.getA8());
20941309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a13.getA1_6()) == a13.getA8());
20951309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a13.getA1_9()) == a13.getA8());
20961309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a13.getA2()) == a13.getA8());
20971309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a13.getA3()) == a13.getA8());
20981309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a13.getA4()) == a13.getA8());
20991309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a13.getA5()) == a13.getA8());
21001309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a13.getA6()) == a13.getA8());
21011309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A8*>(a13.getA7()) == a13.getA8());
21021309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
21031309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a13.getA1_3()) == a13.getA9());
21041309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a13.getA1_4()) == a13.getA9());
21051309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a13.getA1_6()) == a13.getA9());
21061309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a13.getA1_9()) == a13.getA9());
21071309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a13.getA2()) == a13.getA9());
21081309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a13.getA3()) == a13.getA9());
21091309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a13.getA4()) == a13.getA9());
21101309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a13.getA5()) == a13.getA9());
21111309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a13.getA6()) == a13.getA9());
21121309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a13.getA7()) == a13.getA9());
21131309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A9*>(a13.getA8()) == a13.getA9());
21141309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
21151309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a13.getA1_3()) == a13.getA10());
21161309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a13.getA1_4()) == a13.getA10());
21171309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a13.getA1_6()) == a13.getA10());
21181309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a13.getA1_9()) == a13.getA10());
21191309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a13.getA2()) == a13.getA10());
21201309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a13.getA3()) == a13.getA10());
21211309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a13.getA4()) == a13.getA10());
21221309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a13.getA5()) == a13.getA10());
21231309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a13.getA6()) == a13.getA10());
21241309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a13.getA7()) == a13.getA10());
21251309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a13.getA8()) == a13.getA10());
21261309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A10*>(a13.getA9()) == a13.getA10());
21271309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
21281309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a13.getA1_3()) == a13.getA11());
21291309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a13.getA1_4()) == a13.getA11());
21301309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a13.getA1_6()) == a13.getA11());
21311309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a13.getA1_9()) == a13.getA11());
21321309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a13.getA2()) == a13.getA11());
21331309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a13.getA3()) == a13.getA11());
21341309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a13.getA4()) == a13.getA11());
21351309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a13.getA5()) == a13.getA11());
21361309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a13.getA6()) == a13.getA11());
21371309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a13.getA7()) == a13.getA11());
21381309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a13.getA8()) == a13.getA11());
21391309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a13.getA9()) == a13.getA11());
21401309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A11*>(a13.getA10()) == a13.getA11());
21411309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
21421309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a13.getA1_3()) == a13.getA12());
21431309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a13.getA1_4()) == a13.getA12());
21441309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a13.getA1_6()) == a13.getA12());
21451309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a13.getA1_9()) == a13.getA12());
21461309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a13.getA2()) == a13.getA12());
21471309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a13.getA3()) == a13.getA12());
21481309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a13.getA4()) == a13.getA12());
21491309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a13.getA5()) == a13.getA12());
21501309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a13.getA6()) == a13.getA12());
21511309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a13.getA7()) == a13.getA12());
21521309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a13.getA8()) == a13.getA12());
21531309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a13.getA9()) == a13.getA12());
21541309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a13.getA10()) == a13.getA12());
21551309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A12*>(a13.getA11()) == a13.getA12());
21561309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
21571309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA1_3()) == a13.getA13());
21581309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA1_4()) == a13.getA13());
21591309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA1_6()) == a13.getA13());
21601309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA1_9()) == a13.getA13());
21611309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA2()) == a13.getA13());
21621309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA3()) == a13.getA13());
21631309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA4()) == a13.getA13());
21641309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA5()) == a13.getA13());
21651309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA6()) == a13.getA13());
21661309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA7()) == a13.getA13());
21671309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA8()) == a13.getA13());
21681309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA9()) == a13.getA13());
21691309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA10()) == a13.getA13());
21701309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA11()) == a13.getA13());
21711309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    assert(dynamic_cast<A13*>(a13.getA12()) == a13.getA13());
21721309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant}
21731309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
21741309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant}  // t3
21751309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant
21761309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnantint main()
21771309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant{
217830ad829825ee45cab4bc132e5145b2cb7eef4c45Eric Fiselier    timer t;
21791309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    t1::test();
21801309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    t2::test();
21811309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant    t3::test();
21821309366d3676ca5a34bea0388ad2d2dd5701dc9bHoward Hinnant}
2183