package

public /*synthesized*/ fun J1(/*0*/ function: () -> In<kotlin.String!>!): J1
public /*synthesized*/ fun J2(/*0*/ function: () -> In<kotlin.String!>): J2
public /*synthesized*/ fun J3(/*0*/ function: () -> In<kotlin.String!>?): J3

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 J1 {
    public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public abstract fun foo(): In<kotlin.String!>!
    public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}

public interface J2 {
    public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    @org.jetbrains.annotations.NotNull public abstract fun foo(): In<kotlin.String!>
    public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}

public interface J3 {
    public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    @org.jetbrains.annotations.Nullable public abstract fun foo(): In<kotlin.String!>?
    public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}

public interface K1 {
    public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public abstract fun foo(): In<kotlin.String>
    public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}

public interface K2 {
    public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public abstract fun foo(): In<kotlin.String?>
    public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}

public interface TestJ1K1 : J1, K1 {
    public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public abstract override /*2*/ /*fake_override*/ fun foo(): In<kotlin.String>
    public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}

public interface TestJ1K1K2 : J1, K1, K2 {
    public open override /*3*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public abstract override /*3*/ /*fake_override*/ fun foo(): In<kotlin.String?>
    public open override /*3*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*3*/ /*fake_override*/ fun toString(): kotlin.String
}

public interface TestJ1K2 : J1, K2 {
    public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public abstract override /*2*/ /*fake_override*/ fun foo(): In<kotlin.String?>
    public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}

public interface TestJ2K1 : J2, K1 {
    public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    @org.jetbrains.annotations.NotNull public abstract override /*2*/ /*fake_override*/ fun foo(): In<kotlin.String!>
    public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}

public interface TestJ2K1K2 : J2, K1, K2 {
    public open override /*3*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    @org.jetbrains.annotations.NotNull public abstract override /*3*/ /*fake_override*/ fun foo(): In<kotlin.String!>
    public open override /*3*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*3*/ /*fake_override*/ fun toString(): kotlin.String
}

public interface TestJ2K2 : J2, K2 {
    public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    @org.jetbrains.annotations.NotNull public abstract override /*2*/ /*fake_override*/ fun foo(): In<kotlin.String!>
    public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}

public interface TestJ3K1 : J3, K1 {
    public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public abstract override /*2*/ /*fake_override*/ fun foo(): In<kotlin.String>
    public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}

public interface TestJ3K1K2 : J3, K1, K2 {
    public open override /*3*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public abstract override /*3*/ /*fake_override*/ fun foo(): In<kotlin.String?>
    public open override /*3*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*3*/ /*fake_override*/ fun toString(): kotlin.String
}

public interface TestJ3K2 : J3, K2 {
    public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public abstract override /*2*/ /*fake_override*/ fun foo(): In<kotlin.String?>
    public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}

public interface TestK1J1 : K1, J1 {
    public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public abstract override /*2*/ /*fake_override*/ fun foo(): In<kotlin.String>
    public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}

public interface TestK1J1K2 : K1, J1, K2 {
    public open override /*3*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public abstract override /*3*/ /*fake_override*/ fun foo(): In<kotlin.String?>
    public open override /*3*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*3*/ /*fake_override*/ fun toString(): kotlin.String
}

public interface TestK1J2 : K1, J2 {
    public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public abstract override /*2*/ /*fake_override*/ fun foo(): In<kotlin.String>
    public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}

public interface TestK1J2K2 : K1, J2, K2 {
    public open override /*3*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    @org.jetbrains.annotations.NotNull public abstract override /*3*/ /*fake_override*/ fun foo(): In<kotlin.String!>
    public open override /*3*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*3*/ /*fake_override*/ fun toString(): kotlin.String
}

public interface TestK1J3 : K1, J3 {
    public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public abstract override /*2*/ /*fake_override*/ fun foo(): In<kotlin.String>
    public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}

public interface TestK1J3K2 : K1, J3, K2 {
    public open override /*3*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public abstract override /*3*/ /*fake_override*/ fun foo(): In<kotlin.String?>
    public open override /*3*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*3*/ /*fake_override*/ fun toString(): kotlin.String
}

public interface TestK1K2J1 : K1, K2, J1 {
    public open override /*3*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public abstract override /*3*/ /*fake_override*/ fun foo(): In<kotlin.String?>
    public open override /*3*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*3*/ /*fake_override*/ fun toString(): kotlin.String
}

public interface TestK1K2J2 : K1, K2, J2 {
    public open override /*3*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public abstract override /*3*/ /*fake_override*/ fun foo(): In<kotlin.String?>
    public open override /*3*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*3*/ /*fake_override*/ fun toString(): kotlin.String
}

public interface TestK1K2J3 : K1, K2, J3 {
    public open override /*3*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public abstract override /*3*/ /*fake_override*/ fun foo(): In<kotlin.String?>
    public open override /*3*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*3*/ /*fake_override*/ fun toString(): kotlin.String
}

public interface TestK2J1 : K2, J1 {
    public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public abstract override /*2*/ /*fake_override*/ fun foo(): In<kotlin.String?>
    public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}

public interface TestK2J2 : K2, J2 {
    public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public abstract override /*2*/ /*fake_override*/ fun foo(): In<kotlin.String?>
    public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}

public interface TestK2J3 : K2, J3 {
    public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public abstract override /*2*/ /*fake_override*/ fun foo(): In<kotlin.String?>
    public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
