package

package baz {
    public fun </*0*/ A, /*1*/ B> foo(/*0*/ a: kotlin.Any?): baz.MyProperty<A, B>
    public fun getMyConcreteProperty(): baz.MyProperty<kotlin.Any?, kotlin.String>
    public fun </*0*/ A, /*1*/ B> getMyProperty(): baz.MyProperty<A, B>
    public fun println(/*0*/ a: kotlin.Any?): kotlin.Any?
    public operator fun </*0*/ R, /*1*/ T> baz.MyProperty<R, T>.minus(/*0*/ i: kotlin.Int): baz.MyProperty<R, T>
    public operator fun </*0*/ R, /*1*/ T> baz.MyProperty<R, T>.unaryPlus(): baz.MyProperty<R, T>

    public final class A {
        public constructor A(/*0*/ outer: baz.Outer)
        public final var b: kotlin.String
        public final var c: kotlin.String
        public final var d: kotlin.String
        public final var e: kotlin.String
        public final var f: kotlin.String
        public final var g: kotlin.String
        public final var i: kotlin.String
        public final var r: kotlin.String
        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 class MyProperty</*0*/ R, /*1*/ T> {
        public constructor MyProperty</*0*/ R, /*1*/ T>()
        public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
        public final operator fun getValue(/*0*/ thisRef: R, /*1*/ desc: kotlin.reflect.KProperty<*>): T
        public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
        public final operator fun setValue(/*0*/ thisRef: R, /*1*/ desc: kotlin.reflect.KProperty<*>, /*2*/ value: T): kotlin.Unit
        public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
    }

    public interface MyPropertyContainer {
        public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
        public abstract fun </*0*/ R, /*1*/ T> getMyProperty(): baz.MyProperty<R, T>
        public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
        public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
    }

    public object O {
        private constructor O()
        public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
        public final fun </*0*/ A, /*1*/ B> getMyProperty(): baz.MyProperty<A, B>
        public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
        public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
    }

    public interface Outer {
        public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
        public abstract fun getContainer(): baz.MyPropertyContainer
        public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
        public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
    }
}
