-keeppackagenames

#Retrofit
-keepattributes Signature, InnerClasses, EnclosingMethod
-keepattributes SourceFile,LineNumberTable
-keepattributes RuntimeVisibleAnnotations, RuntimeVisibleParameterAnnotations

# Retain service method parameters when optimizing.
-keepclassmembers,allowshrinking,allowobfuscation interface * {
    @retrofit2.http.* <methods>;
}

# Ignore JSR 305 annotations for embedding nullability information.
-dontwarn javax.annotation.**

# Guarded by a NoClassDefFoundError try/catch and only used when on the classpath.
-dontwarn kotlin.Unit

# Top-level functions that can only be used by Kotlin.
-dontwarn retrofit2.KotlinExtensions
-dontwarn retrofit2.KotlinExtensions$*

# With R8 full mode, it sees no subtypes of Retrofit interfaces since they are created with a Proxy
# and replaces all potential values with null. Explicitly keeping the interfaces prevents this.
-if interface * { @retrofit2.http.* <methods>; }
-keep,allowobfuscation interface <1>

-keep class com.authme.lib.ui.common.** { *; }
-keep class com.authme.lib.ui.view.** { *; }
-keep class com.authme.lib.ui.AgreementActivity$Companion { *; }
-keep class com.authme.lib.ui.AgreementActivity { *; }
-keep class com.authme.lib.ui.AuthParamsKt { <methods>; }
-keep class com.authme.lib.ui.AuthParams { <fields>; }
-keep class com.authme.lib.ui.AuthClientSetting$Builder { <methods>; }
-keep class com.authme.lib.ui.AuthMeFeature { *; }
-keep class com.authme.lib.ui.AuthmeUI { *; }