package test

public/*package*/ abstract class MethodTypeParameterBounds {
    public/*package*/ constructor MethodTypeParameterBounds()
    public/*package*/ open fun </*0*/ T : @org.jetbrains.annotations.NotNull kotlin.Any> f1(/*0*/ x: T): kotlin.Unit
    public/*package*/ open fun </*0*/ _A : kotlin.Any!> f10(/*0*/ x: _A): kotlin.Unit where _A : test.MethodTypeParameterBounds.I2<in @org.jetbrains.annotations.Nullable kotlin.Int?>!, _A : @org.jetbrains.annotations.Nullable test.MethodTypeParameterBounds.I3<out kotlin.String!>?
    public/*package*/ open fun </*0*/ _A : test.MethodTypeParameterBounds.I4<(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Int!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Int!>)>!> f11(/*0*/ x: _A): kotlin.Unit where _A : test.MethodTypeParameterBounds.I2<out (@org.jetbrains.annotations.Nullable kotlin.Array<@org.jetbrains.annotations.Nullable kotlin.Int?>?..@org.jetbrains.annotations.Nullable kotlin.Array<out @org.jetbrains.annotations.Nullable kotlin.Int?>?)>!, _A : @org.jetbrains.annotations.Nullable test.MethodTypeParameterBounds.I3<out (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Int!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Int!>)>?
    public/*package*/ open fun </*0*/ _A : test.MethodTypeParameterBounds.I4<kotlin.IntArray!>!> f12(/*0*/ x: _A): kotlin.Unit where _A : test.MethodTypeParameterBounds.I2<out kotlin.IntArray!>!, _A : @org.jetbrains.annotations.NotNull test.MethodTypeParameterBounds.I3<out kotlin.IntArray!>
    public/*package*/ open fun </*0*/ _A : test.MethodTypeParameterBounds.I4<kotlin.Array<(out) kotlin.Array<(out) (@org.jetbrains.annotations.Nullable kotlin.Array<kotlin.Int!>?..@org.jetbrains.annotations.Nullable kotlin.Array<out kotlin.Int!>?)>!>!>!> f13(/*0*/ x: _A): kotlin.Unit where _A : test.MethodTypeParameterBounds.I2<out (@org.jetbrains.annotations.Nullable kotlin.Array<kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.Nullable kotlin.Int?>!>!>!>?..@org.jetbrains.annotations.Nullable kotlin.Array<out kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.Nullable kotlin.Int?>!>!>!>?)>!, _A : @org.jetbrains.annotations.Nullable test.MethodTypeParameterBounds.I3<out kotlin.Array<(out) (@org.jetbrains.annotations.Nullable kotlin.Array<kotlin.Int!>?..@org.jetbrains.annotations.Nullable kotlin.Array<out kotlin.Int!>?)>!>?
    public/*package*/ abstract fun </*0*/ _A : test.MethodTypeParameterBounds.I4<(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>!> f14(/*0*/ x: _A): kotlin.Unit where _A : test.MethodTypeParameterBounds.I2<out kotlin.Array<(out) kotlin.Array<(out) kotlin.IntArray!>!>!>!, _A : @org.jetbrains.annotations.Nullable test.MethodTypeParameterBounds.I3<out kotlin.Array<(out) (@org.jetbrains.annotations.Nullable kotlin.Array<kotlin.IntArray!>?..@org.jetbrains.annotations.Nullable kotlin.Array<out kotlin.IntArray!>?)>!>?
    public/*package*/ open fun </*0*/ _A : kotlin.Any!, /*1*/ B : test.MethodTypeParameterBounds.I3<@org.jetbrains.annotations.Nullable _A?>!> f15(/*0*/ x: _A!): kotlin.Unit where B : @org.jetbrains.annotations.NotNull test.MethodTypeParameterBounds.I2<_A!>
    public/*package*/ open fun </*0*/ _A : kotlin.Any!, /*1*/ B : @org.jetbrains.annotations.NotNull kotlin.Int> f2(/*0*/ x: _A!, /*1*/ y: B): kotlin.Unit
    public/*package*/ open fun </*0*/ _A : kotlin.Any!, /*1*/ B : kotlin.Any!> f3(/*0*/ x: _A!, /*1*/ y: B): kotlin.Unit where B : @org.jetbrains.annotations.Nullable test.MethodTypeParameterBounds.I1?
    public/*package*/ open fun </*0*/ _A : @org.jetbrains.annotations.NotNull B, /*1*/ B : kotlin.Any!> f4(/*0*/ x: _A, /*1*/ y: B!): kotlin.Unit
    public/*package*/ open fun </*0*/ _A : kotlin.Any!, /*1*/ B : @org.jetbrains.annotations.Nullable _A?> f5(/*0*/ x: _A!, /*1*/ y: B): kotlin.Unit
    public/*package*/ open fun </*0*/ _A : @org.jetbrains.annotations.Nullable test.MethodTypeParameterBounds.I1?> f6(): kotlin.Unit
    public/*package*/ abstract fun </*0*/ _A : kotlin.Any!, /*1*/ B : @org.jetbrains.annotations.NotNull _A> f7(/*0*/ x: _A!, /*1*/ y: B): kotlin.Unit
    public/*package*/ abstract fun </*0*/ _A : @org.jetbrains.annotations.Nullable test.MethodTypeParameterBounds.I1?, /*1*/ B : kotlin.Any!, /*2*/ C : kotlin.Any!, /*3*/ D : @org.jetbrains.annotations.NotNull E, /*4*/ E : kotlin.Any!, /*5*/ F : kotlin.Any!> f8(/*0*/ x1: _A, /*1*/ x2: B!, /*2*/ x3: C!, /*3*/ x4: D, /*4*/ x5: E!, /*5*/ x6: F!): kotlin.Unit
    public/*package*/ open fun </*0*/ _A : kotlin.Any!> f9(/*0*/ x: _A): kotlin.Unit where _A : test.MethodTypeParameterBounds.I2<@org.jetbrains.annotations.Nullable kotlin.Int?>!, _A : @org.jetbrains.annotations.Nullable test.MethodTypeParameterBounds.I3<kotlin.String!>?

    public/*package*/ interface I1 {
    }

    public/*package*/ interface I2</*0*/ T : kotlin.Any!> {
    }

    public/*package*/ interface I3</*0*/ T : kotlin.Any!> {
    }

    public/*package*/ interface I4</*0*/ T : kotlin.Any!> {
    }
}
