package

public fun </*0*/ T> genericFoo(): kotlin.Unit

public final class Outer {
    public constructor Outer()
    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 final inner class InnerGeneric</*0*/ T> {
        public constructor InnerGeneric</*0*/ T>()
        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 final inner class ErrorInnerExn /*captured type parameters: /*0*/ T*/ : kotlin.Exception /* = java.lang.Exception */ {
            public constructor ErrorInnerExn()
            public open override /*1*/ /*fake_override*/ val cause: kotlin.Throwable?
            public open override /*1*/ /*fake_override*/ val message: kotlin.String?
            public final override /*1*/ /*fake_override*/ fun addSuppressed(/*0*/ exception: kotlin.Throwable!): kotlin.Unit
            public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
            public open override /*1*/ /*fake_override*/ fun fillInStackTrace(): kotlin.Throwable!
            public open override /*1*/ /*fake_override*/ fun getLocalizedMessage(): kotlin.String!
            public open override /*1*/ /*fake_override*/ fun getStackTrace(): kotlin.Array<(out) java.lang.StackTraceElement!>!
            public final override /*1*/ /*fake_override*/ fun getSuppressed(): kotlin.Array<(out) kotlin.Throwable!>!
            public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
            public open override /*1*/ /*fake_override*/ fun initCause(/*0*/ cause: kotlin.Throwable!): kotlin.Throwable!
            public open override /*1*/ /*fake_override*/ fun printStackTrace(): kotlin.Unit
            public open override /*1*/ /*fake_override*/ fun printStackTrace(/*0*/ s: java.io.PrintStream!): kotlin.Unit
            public open override /*1*/ /*fake_override*/ fun printStackTrace(/*0*/ s: java.io.PrintWriter!): kotlin.Unit
            public open override /*1*/ /*fake_override*/ fun setStackTrace(/*0*/ stackTrace: kotlin.Array<(out) java.lang.StackTraceElement!>!): kotlin.Unit
            public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
        }
    }
}

public final class OuterGeneric</*0*/ T> {
    public constructor OuterGeneric</*0*/ T>()
    public final val errorAnonymousObjectExn: kotlin.Exception /* = java.lang.Exception */
    public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public final fun foo(): kotlin.Unit
    public final fun </*0*/ X> genericFoo(): kotlin.Unit
    public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String

    public final inner class ErrorInnerExn /*captured type parameters: /*0*/ T*/ : kotlin.Exception /* = java.lang.Exception */ {
        public constructor ErrorInnerExn()
        public open override /*1*/ /*fake_override*/ val cause: kotlin.Throwable?
        public open override /*1*/ /*fake_override*/ val message: kotlin.String?
        public final override /*1*/ /*fake_override*/ fun addSuppressed(/*0*/ exception: kotlin.Throwable!): kotlin.Unit
        public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
        public open override /*1*/ /*fake_override*/ fun fillInStackTrace(): kotlin.Throwable!
        public open override /*1*/ /*fake_override*/ fun getLocalizedMessage(): kotlin.String!
        public open override /*1*/ /*fake_override*/ fun getStackTrace(): kotlin.Array<(out) java.lang.StackTraceElement!>!
        public final override /*1*/ /*fake_override*/ fun getSuppressed(): kotlin.Array<(out) kotlin.Throwable!>!
        public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
        public open override /*1*/ /*fake_override*/ fun initCause(/*0*/ cause: kotlin.Throwable!): kotlin.Throwable!
        public open override /*1*/ /*fake_override*/ fun printStackTrace(): kotlin.Unit
        public open override /*1*/ /*fake_override*/ fun printStackTrace(/*0*/ s: java.io.PrintStream!): kotlin.Unit
        public open override /*1*/ /*fake_override*/ fun printStackTrace(/*0*/ s: java.io.PrintWriter!): kotlin.Unit
        public open override /*1*/ /*fake_override*/ fun setStackTrace(/*0*/ stackTrace: kotlin.Array<(out) java.lang.StackTraceElement!>!): kotlin.Unit
        public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
    }

    public final inner class InnerA /*captured type parameters: /*0*/ T*/ {
        public constructor InnerA()
        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 final inner class ErrorInnerExn2 /*captured type parameters: /*0*/ T*/ : kotlin.Exception /* = java.lang.Exception */ {
            public constructor ErrorInnerExn2()
            public open override /*1*/ /*fake_override*/ val cause: kotlin.Throwable?
            public open override /*1*/ /*fake_override*/ val message: kotlin.String?
            public final override /*1*/ /*fake_override*/ fun addSuppressed(/*0*/ exception: kotlin.Throwable!): kotlin.Unit
            public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
            public open override /*1*/ /*fake_override*/ fun fillInStackTrace(): kotlin.Throwable!
            public open override /*1*/ /*fake_override*/ fun getLocalizedMessage(): kotlin.String!
            public open override /*1*/ /*fake_override*/ fun getStackTrace(): kotlin.Array<(out) java.lang.StackTraceElement!>!
            public final override /*1*/ /*fake_override*/ fun getSuppressed(): kotlin.Array<(out) kotlin.Throwable!>!
            public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
            public open override /*1*/ /*fake_override*/ fun initCause(/*0*/ cause: kotlin.Throwable!): kotlin.Throwable!
            public open override /*1*/ /*fake_override*/ fun printStackTrace(): kotlin.Unit
            public open override /*1*/ /*fake_override*/ fun printStackTrace(/*0*/ s: java.io.PrintStream!): kotlin.Unit
            public open override /*1*/ /*fake_override*/ fun printStackTrace(/*0*/ s: java.io.PrintWriter!): kotlin.Unit
            public open override /*1*/ /*fake_override*/ fun setStackTrace(/*0*/ stackTrace: kotlin.Array<(out) java.lang.StackTraceElement!>!): kotlin.Unit
            public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
        }
    }

    public final class OkNestedExn : kotlin.Exception /* = java.lang.Exception */ {
        public constructor OkNestedExn()
        public open override /*1*/ /*fake_override*/ val cause: kotlin.Throwable?
        public open override /*1*/ /*fake_override*/ val message: kotlin.String?
        public final override /*1*/ /*fake_override*/ fun addSuppressed(/*0*/ exception: kotlin.Throwable!): kotlin.Unit
        public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
        public open override /*1*/ /*fake_override*/ fun fillInStackTrace(): kotlin.Throwable!
        public open override /*1*/ /*fake_override*/ fun getLocalizedMessage(): kotlin.String!
        public open override /*1*/ /*fake_override*/ fun getStackTrace(): kotlin.Array<(out) java.lang.StackTraceElement!>!
        public final override /*1*/ /*fake_override*/ fun getSuppressed(): kotlin.Array<(out) kotlin.Throwable!>!
        public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
        public open override /*1*/ /*fake_override*/ fun initCause(/*0*/ cause: kotlin.Throwable!): kotlin.Throwable!
        public open override /*1*/ /*fake_override*/ fun printStackTrace(): kotlin.Unit
        public open override /*1*/ /*fake_override*/ fun printStackTrace(/*0*/ s: java.io.PrintStream!): kotlin.Unit
        public open override /*1*/ /*fake_override*/ fun printStackTrace(/*0*/ s: java.io.PrintWriter!): kotlin.Unit
        public open override /*1*/ /*fake_override*/ fun setStackTrace(/*0*/ stackTrace: kotlin.Array<(out) java.lang.StackTraceElement!>!): kotlin.Unit
        public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
    }
}
