package test

public open class BaseClassTypeArguments</*0*/ B : kotlin.Any!> : test.A3<kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.NotNull B>!>!>!>!>!, test.I1<test.I1<kotlin.Array<(out) kotlin.IntArray!>!>!>!, test.A2<B!, (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) kotlin.IntArray!>!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Array<(out) kotlin.IntArray!>!>)>!>, test.I1<kotlin.Array<(out) kotlin.Array<(out) (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>!>!>, test.I2<@org.jetbrains.annotations.NotNull B, B!>, test.I3<kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.NotNull B>!>!>!>!>!, B!, @org.jetbrains.annotations.NotNull B> {
    public constructor BaseClassTypeArguments</*0*/ B : kotlin.Any!>()

    public/*package*/ open class BaseClassTypeArguments2</*0*/ B : kotlin.Any!> : test.A3<kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.NotNull B>!>!>!>!>!, test.I1<test.I1<kotlin.Array<(out) kotlin.IntArray!>!>!>!, test.A2<B!, (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) kotlin.IntArray!>!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Array<(out) kotlin.IntArray!>!>)>!> {
        public/*package*/ constructor BaseClassTypeArguments2</*0*/ B : kotlin.Any!>()
    }

    public/*package*/ open inner class Basic1 /*captured type parameters: /*0*/ B : kotlin.Any!*/ : test.I1<@org.jetbrains.annotations.NotNull kotlin.String> {
        public/*package*/ constructor Basic1()
    }

    public/*package*/ open inner class Basic2 /*captured type parameters: /*0*/ B : kotlin.Any!*/ : test.A1<@org.jetbrains.annotations.NotNull kotlin.String> {
        public/*package*/ constructor Basic2()
    }

    public/*package*/ open inner class ImplementedInterfacesTypeArguments</*0*/ B : kotlin.Any!> /*captured type parameters: /*1*/ B : kotlin.Any!*/ : test.I1<test.I2<test.I1<kotlin.Array<(out) kotlin.Array<(out) (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>!>!>!, test.I1<(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>!>!>, test.I2<@org.jetbrains.annotations.NotNull B, B!>, test.I3<kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.NotNull B>!>!>!>!>!, test.I1<test.I1<kotlin.Array<(out) kotlin.IntArray!>!>!>!, test.I2<B!, (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) kotlin.IntArray!>!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Array<(out) kotlin.IntArray!>!>)>!> {
        public/*package*/ constructor ImplementedInterfacesTypeArguments</*0*/ B : kotlin.Any!>()

        public open inner class BaseClassTypeArguments1</*0*/ B : kotlin.Any!> /*captured type parameters: /*1*/ B : kotlin.Any!, /*2*/ B : kotlin.Any!*/ : test.A3<kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.NotNull B>!>!>!>!>!, test.I1<test.I1<kotlin.Array<(out) kotlin.IntArray!>!>!>!, test.A2<B!, (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) kotlin.IntArray!>!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Array<(out) kotlin.IntArray!>!>)>!> {
            public constructor BaseClassTypeArguments1</*0*/ B : kotlin.Any!>()
        }
    }
}
