package

package a {

    public open class x {
        public constructor x()
        public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
        public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
        public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String

        // Static members
        public const final val I: kotlin.Int = 42
    }

    public open class y : a.x {
        public constructor y()
        public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
        public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
        public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String

        public open inner class Inner {
            public constructor Inner()
            public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
            public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
            public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String

            // Static members
            public const final val Y: kotlin.Int = 84
        }

        public open inner class Inner2 : a.x {
            public constructor Inner2()
            public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
            public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
            public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String

            // Static members
            public const final override /*1*/ /*fake_override*/ val I: kotlin.Int = 42
            public const final val Y: kotlin.Int = 42
        }

        // Static members
        public const final val I: kotlin.Int = 84
    }
}

package b {

    public open class b {
        public constructor b()
        public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
        public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
        public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String

        // Static members
        public const final val I: kotlin.Int = 84
    }
}

package c {

    public open class c : a.x {
        public constructor c()
        public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
        public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
        public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String

        public open inner class Inner {
            public constructor Inner()
            public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
            public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
            public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String

            // Static members
            public const final val O: kotlin.Int = 42
        }

        // Static members
        public const final override /*1*/ /*fake_override*/ val I: kotlin.Int = 42
        public const final val O: kotlin.Int = 42
    }

    public open class d : a.x {
        public constructor d()
        public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
        public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
        public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String

        public open inner class Inner {
            public constructor Inner()
            public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
            public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
            public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String

            // Static members
            public const final val O: kotlin.Int = 42
        }

        // Static members
        public const final override /*1*/ /*fake_override*/ val I: kotlin.Int = 42
        public const final val O: kotlin.Int = 42
    }

    public open class e : a.x {
        public constructor e()
        public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
        public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
        public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String

        public open inner class Inner {
            public constructor Inner()
            public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
            public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
            public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String

            // Static members
            public const final val O: kotlin.Int = 42
        }

        // Static members
        public const final override /*1*/ /*fake_override*/ val I: kotlin.Int = 42
        public const final val O: kotlin.Int = 42
    }
}
