/**
 * public final class B : kotlin/Any {
 *
 *   // signature: <init>()V
 *   public constructor()
 *
 *   // module name: main
 * }
 */
@kotlin.Metadata()
public final class B {

    public B() {
        super();
    }
}

////////////////////


/**
 * public final object BParceler : Parceler<B> {
 *
 *   // signature: <init>()V
 *   private constructor()
 *
 *   // module name: main
 * }
 */
@kotlin.Metadata()
public final class BParceler implements Parceler<B> {
    @org.jetbrains.annotations.NotNull()
    public static final BParceler INSTANCE = null;

    private BParceler() {
        super();
    }
}

////////////////////


/**
 * public final class C : kotlin/Any {
 *
 *   // signature: <init>()V
 *   public constructor()
 *
 *   // module name: main
 * }
 */
@kotlin.Metadata()
public final class C {

    public C() {
        super();
    }
}

////////////////////


/**
 * public final object CParceler : Parceler<C> {
 *
 *   // signature: <init>()V
 *   private constructor()
 *
 *   // module name: main
 * }
 */
@kotlin.Metadata()
public final class CParceler implements Parceler<C> {
    @org.jetbrains.annotations.NotNull()
    public static final CParceler INSTANCE = null;

    private CParceler() {
        super();
    }
}

////////////////////


/**
 * public abstract interface Parceler<T#0 (* T *)> : kotlin/Any {
 *
 *   // module name: main
 *
 *   // has method bodies in interface
 *
 *   // is compiled in compatibility mode
 * }
 */
@kotlin.Metadata()
public abstract interface Parceler<T extends java.lang.Object> {
}

////////////////////


/**
 * public final class Test : kotlin/Any {
 *
 *   // signature: <init>()V
 *   public constructor()
 *
 *   // module name: main
 * }
 */
@kotlin.Metadata()
@TypeParceler()
@TypeParceler()
public final class Test {

    public Test() {
        super();
    }
}

////////////////////


@kotlin.annotation.Retention(value = kotlin.annotation.AnnotationRetention.SOURCE)
@kotlin.annotation.Repeatable()
@kotlin.annotation.Target(allowedTargets = {kotlin.annotation.AnnotationTarget.CLASS, kotlin.annotation.AnnotationTarget.PROPERTY})
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.SOURCE)
@java.lang.annotation.Target(value = {java.lang.annotation.ElementType.TYPE})
@java.lang.annotation.Repeatable(value = TypeParceler.Container.class)
/**
 * public final annotation class TypeParceler<T#0 (* T *), T#1 (* P *) : Parceler<in T#0>> : kotlin/Annotation {
 *
 *   // signature: <init>()V
 *   public constructor()
 *
 *   // module name: main
 * }
 */
@kotlin.Metadata()
public abstract @interface TypeParceler<T extends java.lang.Object, P extends Parceler<? super T>> extends java.lang.annotation.Annotation {

    @kotlin.annotation.Retention(value = kotlin.annotation.AnnotationRetention.SOURCE)
    @kotlin.annotation.Target(allowedTargets = {kotlin.annotation.AnnotationTarget.CLASS, kotlin.annotation.AnnotationTarget.PROPERTY})
    @kotlin.jvm.internal.RepeatableContainer()
    @java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.SOURCE)
    @java.lang.annotation.Target(value = {java.lang.annotation.ElementType.TYPE})
    /**
     * synthetic class
     */
    @kotlin.Metadata()
    public static abstract @interface Container {

        public abstract TypeParceler[] value();
    }
}
