package

public fun </*0*/ T> getT(): T

public interface In</*0*/ in 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 interface Inv</*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 interface Out</*0*/ out 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 interface Test</*0*/ in I, /*1*/ out O, /*2*/ P> {
    public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public abstract fun explicitReturnType1(): I
    public abstract fun explicitReturnType2(): O
    public abstract fun explicitReturnType3(): P
    public abstract fun explicitReturnType4(): In<I>
    public abstract fun explicitReturnType5(): In<O>
    public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open fun imlicitReturnType1(): I
    public open fun imlicitReturnType2(): O
    public open fun imlicitReturnType3(): P
    public open fun imlicitReturnType4(): In<I>
    public open fun imlicitReturnType5(): In<O>
    public abstract fun parameters1(/*0*/ i: I, /*1*/ o: O, /*2*/ p: P): kotlin.Unit
    public abstract fun parameters2(/*0*/ i: In<I>): kotlin.Unit
    public abstract fun parameters3(/*0*/ i: In<O>): kotlin.Unit
    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
    public abstract fun </*0*/ X : I> typeParameter1(): kotlin.Unit
    public abstract fun </*0*/ X : O> typeParameter2(): kotlin.Unit
    public abstract fun </*0*/ X : P> typeParameter3(): kotlin.Unit
    public abstract fun </*0*/ X : In<I>> typeParameter4(): kotlin.Unit
    public abstract fun </*0*/ X : In<O>> typeParameter5(): kotlin.Unit
    public abstract fun I.receiver1(): kotlin.Unit
    public abstract fun O.receiver2(): kotlin.Unit
    public abstract fun P.receiver3(): kotlin.Unit
    public abstract fun In<I>.receiver4(): kotlin.Unit
    public abstract fun In<O>.receiver5(): kotlin.Unit
}
