g.smali
.class public Lcn/jiguang/bd/g;
.super Ljava/lang/Object;
# interfaces
.implements Ljava/io/Serializable;
.implements Ljava/lang/Comparable;
# static fields
.field public static final a:Lcn/jiguang/bd/g;
.field public static final b:Lcn/jiguang/bd/g;
.field private static final f:[B
.field private static final g:[B
.field private static final h:Ljava/text/DecimalFormat;
.field private static final i:[B
.field private static final j:Lcn/jiguang/bd/g;
# instance fields
.field private c:[B
.field private d:J
.field private e:I
# direct methods
.method static constructor <clinit>()V
.registers 5
const/4 v4, 0x1
const/4 v1, 0x0
new-array v0, v4, [B
aput-byte v1, v0, v1
sput-object v0, Lcn/jiguang/bd/g;->f:[B
const/4 v0, 0x2
new-array v0, v0, [B
fill-array-data v0, :array_6e
sput-object v0, Lcn/jiguang/bd/g;->g:[B
new-instance v0, Ljava/text/DecimalFormat;
invoke-direct {v0}, Ljava/text/DecimalFormat;-><init>()V
sput-object v0, Lcn/jiguang/bd/g;->h:Ljava/text/DecimalFormat;
const/16 v0, 0x100
new-array v0, v0, [B
sput-object v0, Lcn/jiguang/bd/g;->i:[B
sget-object v0, Lcn/jiguang/bd/g;->h:Ljava/text/DecimalFormat;
const/4 v2, 0x3
invoke-virtual {v0, v2}, Ljava/text/DecimalFormat;->setMinimumIntegerDigits(I)V
move v0, v1
:goto_24
sget-object v2, Lcn/jiguang/bd/g;->i:[B
array-length v2, v2
if-ge v0, v2, :cond_43
const/16 v2, 0x41
if-lt v0, v2, :cond_31
const/16 v2, 0x5a
if-le v0, v2, :cond_39
:cond_31
sget-object v2, Lcn/jiguang/bd/g;->i:[B
int-to-byte v3, v0
aput-byte v3, v2, v0
:goto_36
add-int/lit8 v0, v0, 0x1
goto :goto_24
:cond_39
sget-object v2, Lcn/jiguang/bd/g;->i:[B
add-int/lit8 v3, v0, -0x41
add-int/lit8 v3, v3, 0x61
int-to-byte v3, v3
aput-byte v3, v2, v0
goto :goto_36
:cond_43
new-instance v0, Lcn/jiguang/bd/g;
invoke-direct {v0}, Lcn/jiguang/bd/g;-><init>()V
sput-object v0, Lcn/jiguang/bd/g;->a:Lcn/jiguang/bd/g;
sget-object v0, Lcn/jiguang/bd/g;->a:Lcn/jiguang/bd/g;
sget-object v2, Lcn/jiguang/bd/g;->f:[B
invoke-direct {v0, v2, v1, v4}, Lcn/jiguang/bd/g;->b([BII)V
new-instance v0, Lcn/jiguang/bd/g;
invoke-direct {v0}, Lcn/jiguang/bd/g;-><init>()V
sput-object v0, Lcn/jiguang/bd/g;->b:Lcn/jiguang/bd/g;
sget-object v0, Lcn/jiguang/bd/g;->b:Lcn/jiguang/bd/g;
new-array v2, v1, [B
iput-object v2, v0, Lcn/jiguang/bd/g;->c:[B
new-instance v0, Lcn/jiguang/bd/g;
invoke-direct {v0}, Lcn/jiguang/bd/g;-><init>()V
sput-object v0, Lcn/jiguang/bd/g;->j:Lcn/jiguang/bd/g;
sget-object v0, Lcn/jiguang/bd/g;->j:Lcn/jiguang/bd/g;
sget-object v2, Lcn/jiguang/bd/g;->g:[B
invoke-direct {v0, v2, v1, v4}, Lcn/jiguang/bd/g;->b([BII)V
return-void
nop
:array_6e
.array-data 1
0x1t
0x2at
.end array-data
.end method
.method private constructor <init>()V
.registers 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public constructor <init>(Lcn/jiguang/bd/b;)V
.registers 10
const/4 v1, 0x1
const/4 v2, 0x0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/16 v0, 0x40
new-array v4, v0, [B
move v0, v2
move v3, v2
:goto_b
if-nez v3, :cond_64
invoke-virtual {p1}, Lcn/jiguang/bd/b;->f()I
move-result v5
and-int/lit16 v6, v5, 0xc0
sparse-switch v6, :sswitch_data_6a
new-instance v0, Ljava/io/IOException;
const-string v1, "bad label type"
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
:sswitch_1e
invoke-direct {p0}, Lcn/jiguang/bd/g;->d()I
move-result v6
const/16 v7, 0x80
if-lt v6, v7, :cond_2e
new-instance v0, Ljava/io/IOException;
const-string v1, "too many labels"
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
:cond_2e
if-nez v5, :cond_37
sget-object v3, Lcn/jiguang/bd/g;->f:[B
invoke-direct {p0, v3, v2, v1}, Lcn/jiguang/bd/g;->a([BII)V
move v3, v1
goto :goto_b
:cond_37
int-to-byte v6, v5
aput-byte v6, v4, v2
invoke-virtual {p1, v4, v1, v5}, Lcn/jiguang/bd/b;->a([BII)V
invoke-direct {p0, v4, v2, v1}, Lcn/jiguang/bd/g;->a([BII)V
goto :goto_b
:sswitch_41
invoke-virtual {p1}, Lcn/jiguang/bd/b;->f()I
move-result v6
and-int/lit16 v5, v5, -0xc1
shl-int/lit8 v5, v5, 0x8
add-int/2addr v5, v6
invoke-virtual {p1}, Lcn/jiguang/bd/b;->a()I
move-result v6
add-int/lit8 v6, v6, -0x2
if-lt v5, v6, :cond_5a
new-instance v0, Ljava/io/IOException;
const-string v1, "bad compression"
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
:cond_5a
if-nez v0, :cond_60
invoke-virtual {p1}, Lcn/jiguang/bd/b;->d()V
move v0, v1
:cond_60
invoke-virtual {p1, v5}, Lcn/jiguang/bd/b;->b(I)V
goto :goto_b
:cond_64
if-eqz v0, :cond_69
invoke-virtual {p1}, Lcn/jiguang/bd/b;->e()V
:cond_69
return-void
:sswitch_data_6a
.sparse-switch
0x0 -> :sswitch_1e
0xc0 -> :sswitch_41
.end sparse-switch
.end method
.method public constructor <init>(Lcn/jiguang/bd/g;I)V
.registers 6
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
invoke-virtual {p1}, Lcn/jiguang/bd/g;->b()I
move-result v1
if-le p2, v1, :cond_11
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "attempted to remove too many labels"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
:cond_11
iget-object v0, p1, Lcn/jiguang/bd/g;->c:[B
iput-object v0, p0, Lcn/jiguang/bd/g;->c:[B
sub-int v0, v1, p2
invoke-direct {p0, v0}, Lcn/jiguang/bd/g;->b(I)V
const/4 v0, 0x0
:goto_1b
const/4 v2, 0x7
if-ge v0, v2, :cond_2e
sub-int v2, v1, p2
if-ge v0, v2, :cond_2e
add-int v2, v0, p2
invoke-direct {p1, v2}, Lcn/jiguang/bd/g;->a(I)I
move-result v2
invoke-direct {p0, v0, v2}, Lcn/jiguang/bd/g;->a(II)V
add-int/lit8 v0, v0, 0x1
goto :goto_1b
:cond_2e
return-void
.end method
.method public constructor <init>(Ljava/lang/String;Lcn/jiguang/bd/g;)V
.registers 14
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const-string v0, ""
invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_12
const-string v0, "empty name"
invoke-static {p1, v0}, Lcn/jiguang/bd/g;->a(Ljava/lang/String;Ljava/lang/String;)Ljava/io/IOException;
move-result-object v0
throw v0
:cond_12
const-string v0, "@"
invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_26
if-nez p2, :cond_22
sget-object v0, Lcn/jiguang/bd/g;->b:Lcn/jiguang/bd/g;
invoke-static {v0, p0}, Lcn/jiguang/bd/g;->b(Lcn/jiguang/bd/g;Lcn/jiguang/bd/g;)V
:cond_21
:goto_21
return-void
:cond_22
invoke-static {p2, p0}, Lcn/jiguang/bd/g;->b(Lcn/jiguang/bd/g;Lcn/jiguang/bd/g;)V
goto :goto_21
:cond_26
const-string v0, "."
invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_34
sget-object v0, Lcn/jiguang/bd/g;->a:Lcn/jiguang/bd/g;
invoke-static {v0, p0}, Lcn/jiguang/bd/g;->b(Lcn/jiguang/bd/g;Lcn/jiguang/bd/g;)V
goto :goto_21
:cond_34
const/4 v5, -0x1
const/4 v4, 0x1
const/16 v0, 0x40
new-array v9, v0, [B
const/4 v3, 0x0
const/4 v2, 0x0
const/4 v1, 0x0
const/4 v7, 0x0
const/4 v0, 0x0
:goto_3f
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v6
if-ge v0, v6, :cond_ca
invoke-virtual {p1, v0}, Ljava/lang/String;->charAt(I)C
move-result v6
int-to-byte v8, v6
if-eqz v3, :cond_90
const/16 v6, 0x30
if-lt v8, v6, :cond_7b
const/16 v6, 0x39
if-gt v8, v6, :cond_7b
const/4 v6, 0x3
if-ge v2, v6, :cond_7b
add-int/lit8 v2, v2, 0x1
mul-int/lit8 v1, v1, 0xa
add-int/lit8 v6, v8, -0x30
add-int/2addr v1, v6
const/16 v6, 0xff
if-le v1, v6, :cond_69
const-string v0, "bad escape"
invoke-static {p1, v0}, Lcn/jiguang/bd/g;->a(Ljava/lang/String;Ljava/lang/String;)Ljava/io/IOException;
move-result-object v0
throw v0
:cond_69
const/4 v6, 0x3
if-ge v2, v6, :cond_6f
:goto_6c
add-int/lit8 v0, v0, 0x1
goto :goto_3f
:cond_6f
int-to-byte v3, v1
:goto_70
const/16 v5, 0x3f
if-le v4, v5, :cond_87
const-string v0, "label too long"
invoke-static {p1, v0}, Lcn/jiguang/bd/g;->a(Ljava/lang/String;Ljava/lang/String;)Ljava/io/IOException;
move-result-object v0
throw v0
:cond_7b
if-lez v2, :cond_10d
const/4 v3, 0x3
if-ge v2, v3, :cond_10d
const-string v0, "bad escape"
invoke-static {p1, v0}, Lcn/jiguang/bd/g;->a(Ljava/lang/String;Ljava/lang/String;)Ljava/io/IOException;
move-result-object v0
throw v0
:cond_87
add-int/lit8 v5, v4, 0x1
aput-byte v3, v9, v4
const/4 v3, 0x0
move v10, v5
move v5, v4
move v4, v10
goto :goto_6c
:cond_90
const/16 v6, 0x5c
if-ne v8, v6, :cond_98
const/4 v3, 0x1
const/4 v2, 0x0
const/4 v1, 0x0
goto :goto_6c
:cond_98
const/16 v6, 0x2e
if-ne v8, v6, :cond_b4
const/4 v6, -0x1
if-ne v5, v6, :cond_a6
const-string v0, "invalid empty label"
invoke-static {p1, v0}, Lcn/jiguang/bd/g;->a(Ljava/lang/String;Ljava/lang/String;)Ljava/io/IOException;
move-result-object v0
throw v0
:cond_a6
const/4 v5, 0x0
add-int/lit8 v4, v4, -0x1
int-to-byte v4, v4
aput-byte v4, v9, v5
const/4 v4, 0x0
const/4 v5, 0x1
invoke-direct {p0, p1, v9, v4, v5}, Lcn/jiguang/bd/g;->a(Ljava/lang/String;[BII)V
const/4 v5, -0x1
const/4 v4, 0x1
goto :goto_6c
:cond_b4
const/4 v6, -0x1
if-ne v5, v6, :cond_10b
move v6, v0
:goto_b8
const/16 v5, 0x3f
if-le v4, v5, :cond_c3
const-string v0, "label too long"
invoke-static {p1, v0}, Lcn/jiguang/bd/g;->a(Ljava/lang/String;Ljava/lang/String;)Ljava/io/IOException;
move-result-object v0
throw v0
:cond_c3
add-int/lit8 v5, v4, 0x1
aput-byte v8, v9, v4
move v4, v5
move v5, v6
goto :goto_6c
:cond_ca
if-lez v2, :cond_d6
const/4 v0, 0x3
if-ge v2, v0, :cond_d6
const-string v0, "bad escape"
invoke-static {p1, v0}, Lcn/jiguang/bd/g;->a(Ljava/lang/String;Ljava/lang/String;)Ljava/io/IOException;
move-result-object v0
throw v0
:cond_d6
if-eqz v3, :cond_df
const-string v0, "bad escape"
invoke-static {p1, v0}, Lcn/jiguang/bd/g;->a(Ljava/lang/String;Ljava/lang/String;)Ljava/io/IOException;
move-result-object v0
throw v0
:cond_df
const/4 v0, -0x1
if-ne v5, v0, :cond_fe
sget-object v0, Lcn/jiguang/bd/g;->f:[B
const/4 v1, 0x0
const/4 v2, 0x1
invoke-direct {p0, p1, v0, v1, v2}, Lcn/jiguang/bd/g;->a(Ljava/lang/String;[BII)V
const/4 v0, 0x1
:goto_ea
if-eqz p2, :cond_21
if-nez v0, :cond_21
iget-object v0, p2, Lcn/jiguang/bd/g;->c:[B
const/4 v1, 0x0
invoke-direct {p2, v1}, Lcn/jiguang/bd/g;->a(I)I
move-result v1
invoke-direct {p2}, Lcn/jiguang/bd/g;->d()I
move-result v2
invoke-direct {p0, p1, v0, v1, v2}, Lcn/jiguang/bd/g;->a(Ljava/lang/String;[BII)V
goto/16 :goto_21
:cond_fe
const/4 v0, 0x0
add-int/lit8 v1, v4, -0x1
int-to-byte v1, v1
aput-byte v1, v9, v0
const/4 v0, 0x0
const/4 v1, 0x1
invoke-direct {p0, p1, v9, v0, v1}, Lcn/jiguang/bd/g;->a(Ljava/lang/String;[BII)V
move v0, v7
goto :goto_ea
:cond_10b
move v6, v5
goto :goto_b8
:cond_10d
move v3, v8
goto/16 :goto_70
.end method
.method private final a(I)I
.registers 7
const/4 v0, 0x6
if-nez p1, :cond_b
invoke-direct {p0}, Lcn/jiguang/bd/g;->d()I
move-result v1
if-nez v1, :cond_b
const/4 v0, 0x0
:cond_a
:goto_a
return v0
:cond_b
if-ltz p1, :cond_13
invoke-direct {p0}, Lcn/jiguang/bd/g;->d()I
move-result v1
if-lt p1, v1, :cond_1b
:cond_13
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "label out of range"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
:cond_1b
const/4 v1, 0x7
if-ge p1, v1, :cond_2a
rsub-int/lit8 v0, p1, 0x7
mul-int/lit8 v0, v0, 0x8
iget-wide v2, p0, Lcn/jiguang/bd/g;->d:J
ushr-long v0, v2, v0
long-to-int v0, v0
and-int/lit16 v0, v0, 0xff
goto :goto_a
:cond_2a
invoke-direct {p0, v0}, Lcn/jiguang/bd/g;->a(I)I
move-result v1
move v4, v0
move v0, v1
move v1, v4
:goto_31
if-ge v1, p1, :cond_a
iget-object v2, p0, Lcn/jiguang/bd/g;->c:[B
aget-byte v2, v2, v0
add-int/lit8 v2, v2, 0x1
add-int/2addr v2, v0
add-int/lit8 v0, v1, 0x1
move v1, v0
move v0, v2
goto :goto_31
.end method
.method public static a(Lcn/jiguang/bd/g;Lcn/jiguang/bd/g;)Lcn/jiguang/bd/g;
.registers 6
invoke-virtual {p0}, Lcn/jiguang/bd/g;->a()Z
move-result v0
if-eqz v0, :cond_7
:goto_6
return-object p0
:cond_7
new-instance v0, Lcn/jiguang/bd/g;
invoke-direct {v0}, Lcn/jiguang/bd/g;-><init>()V
invoke-static {p0, v0}, Lcn/jiguang/bd/g;->b(Lcn/jiguang/bd/g;Lcn/jiguang/bd/g;)V
iget-object v1, p1, Lcn/jiguang/bd/g;->c:[B
const/4 v2, 0x0
invoke-direct {p1, v2}, Lcn/jiguang/bd/g;->a(I)I
move-result v2
invoke-direct {p1}, Lcn/jiguang/bd/g;->d()I
move-result v3
invoke-direct {v0, v1, v2, v3}, Lcn/jiguang/bd/g;->a([BII)V
move-object p0, v0
goto :goto_6
.end method
.method public static a(Ljava/lang/String;)Lcn/jiguang/bd/g;
.registers 2
const/4 v0, 0x0
invoke-static {p0, v0}, Lcn/jiguang/bd/g;->a(Ljava/lang/String;Lcn/jiguang/bd/g;)Lcn/jiguang/bd/g;
move-result-object v0
return-object v0
.end method
.method public static a(Ljava/lang/String;Lcn/jiguang/bd/g;)Lcn/jiguang/bd/g;
.registers 3
const-string v0, "@"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_b
if-eqz p1, :cond_b
:goto_a
return-object p1
:cond_b
const-string v0, "."
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_16
sget-object p1, Lcn/jiguang/bd/g;->a:Lcn/jiguang/bd/g;
goto :goto_a
:cond_16
new-instance v0, Lcn/jiguang/bd/g;
invoke-direct {v0, p0, p1}, Lcn/jiguang/bd/g;-><init>(Ljava/lang/String;Lcn/jiguang/bd/g;)V
move-object p1, v0
goto :goto_a
.end method
.method private static a(Ljava/lang/String;Ljava/lang/String;)Ljava/io/IOException;
.registers 5
new-instance v0, Ljava/io/IOException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "\'"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, "\': "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
return-object v0
.end method
.method private a([BI)Ljava/lang/String;
.registers 12
const/16 v8, 0x5c
new-instance v2, Ljava/lang/StringBuffer;
invoke-direct {v2}, Ljava/lang/StringBuffer;-><init>()V
add-int/lit8 v1, p2, 0x1
aget-byte v3, p1, p2
move v0, v1
:goto_c
add-int v4, v1, v3
if-ge v0, v4, :cond_57
aget-byte v4, p1, v0
and-int/lit16 v4, v4, 0xff
const/16 v5, 0x20
if-le v4, v5, :cond_1c
const/16 v5, 0x7f
if-lt v4, v5, :cond_2c
:cond_1c
invoke-virtual {v2, v8}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;
sget-object v5, Lcn/jiguang/bd/g;->h:Ljava/text/DecimalFormat;
int-to-long v6, v4
invoke-virtual {v5, v6, v7}, Ljava/text/DecimalFormat;->format(J)Ljava/lang/String;
move-result-object v4
invoke-virtual {v2, v4}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
:goto_29
add-int/lit8 v0, v0, 0x1
goto :goto_c
:cond_2c
const/16 v5, 0x22
if-eq v4, v5, :cond_4a
const/16 v5, 0x28
if-eq v4, v5, :cond_4a
const/16 v5, 0x29
if-eq v4, v5, :cond_4a
const/16 v5, 0x2e
if-eq v4, v5, :cond_4a
const/16 v5, 0x3b
if-eq v4, v5, :cond_4a
if-eq v4, v8, :cond_4a
const/16 v5, 0x40
if-eq v4, v5, :cond_4a
const/16 v5, 0x24
if-ne v4, v5, :cond_52
:cond_4a
invoke-virtual {v2, v8}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;
int-to-char v4, v4
invoke-virtual {v2, v4}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;
goto :goto_29
:cond_52
int-to-char v4, v4
invoke-virtual {v2, v4}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;
goto :goto_29
:cond_57
invoke-virtual {v2}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method private final a(II)V
.registers 11
const/4 v0, 0x7
if-lt p1, v0, :cond_4
:goto_3
return-void
:cond_4
rsub-int/lit8 v0, p1, 0x7
mul-int/lit8 v0, v0, 0x8
iget-wide v2, p0, Lcn/jiguang/bd/g;->d:J
const-wide/16 v4, 0xff
shl-long/2addr v4, v0
const-wide/16 v6, -0x1
xor-long/2addr v4, v6
and-long/2addr v2, v4
iput-wide v2, p0, Lcn/jiguang/bd/g;->d:J
iget-wide v2, p0, Lcn/jiguang/bd/g;->d:J
int-to-long v4, p2
shl-long v0, v4, v0
or-long/2addr v0, v2
iput-wide v0, p0, Lcn/jiguang/bd/g;->d:J
goto :goto_3
.end method
.method private final a(Ljava/lang/String;[BII)V
.registers 6
:try_start_0
invoke-direct {p0, p2, p3, p4}, Lcn/jiguang/bd/g;->a([BII)V
:try_end_3
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_3} :catch_4
return-void
:catch_4
move-exception v0
const-string v0, "Name too long"
invoke-static {p1, v0}, Lcn/jiguang/bd/g;->a(Ljava/lang/String;Ljava/lang/String;)Ljava/io/IOException;
move-result-object v0
throw v0
.end method
.method private final a([BII)V
.registers 12
const/4 v1, 0x0
iget-object v0, p0, Lcn/jiguang/bd/g;->c:[B
if-nez v0, :cond_19
move v0, v1
:goto_6
move v2, p2
move v3, v1
move v4, v1
:goto_9
if-ge v3, p3, :cond_29
aget-byte v5, p1, v2
const/16 v6, 0x3f
if-le v5, v6, :cond_22
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "invalid label"
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
:cond_19
iget-object v0, p0, Lcn/jiguang/bd/g;->c:[B
array-length v0, v0
invoke-direct {p0, v1}, Lcn/jiguang/bd/g;->a(I)I
move-result v2
sub-int/2addr v0, v2
goto :goto_6
:cond_22
add-int/lit8 v5, v5, 0x1
add-int/2addr v2, v5
add-int/2addr v4, v5
add-int/lit8 v3, v3, 0x1
goto :goto_9
:cond_29
add-int v2, v0, v4
const/16 v3, 0xff
if-le v2, v3, :cond_35
new-instance v0, Ljava/io/IOException;
invoke-direct {v0}, Ljava/io/IOException;-><init>()V
throw v0
:cond_35
invoke-direct {p0}, Lcn/jiguang/bd/g;->d()I
move-result v3
add-int v5, v3, p3
const/16 v6, 0x80
if-le v5, v6, :cond_47
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "too many labels"
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
:cond_47
new-array v2, v2, [B
if-eqz v0, :cond_54
iget-object v6, p0, Lcn/jiguang/bd/g;->c:[B
invoke-direct {p0, v1}, Lcn/jiguang/bd/g;->a(I)I
move-result v7
invoke-static {v6, v7, v2, v1, v0}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
:cond_54
invoke-static {p1, p2, v2, v0, v4}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
iput-object v2, p0, Lcn/jiguang/bd/g;->c:[B
:goto_59
if-ge v1, p3, :cond_68
add-int v4, v3, v1
invoke-direct {p0, v4, v0}, Lcn/jiguang/bd/g;->a(II)V
aget-byte v4, v2, v0
add-int/lit8 v4, v4, 0x1
add-int/2addr v0, v4
add-int/lit8 v1, v1, 0x1
goto :goto_59
:cond_68
invoke-direct {p0, v5}, Lcn/jiguang/bd/g;->b(I)V
return-void
.end method
.method private final b(I)V
.registers 6
iget-wide v0, p0, Lcn/jiguang/bd/g;->d:J
const-wide/16 v2, -0x100
and-long/2addr v0, v2
iput-wide v0, p0, Lcn/jiguang/bd/g;->d:J
iget-wide v0, p0, Lcn/jiguang/bd/g;->d:J
int-to-long v2, p1
or-long/2addr v0, v2
iput-wide v0, p0, Lcn/jiguang/bd/g;->d:J
return-void
.end method
.method private static final b(Lcn/jiguang/bd/g;Lcn/jiguang/bd/g;)V
.registers 8
const/4 v0, 0x0
invoke-direct {p0, v0}, Lcn/jiguang/bd/g;->a(I)I
move-result v1
if-nez v1, :cond_10
iget-object v0, p0, Lcn/jiguang/bd/g;->c:[B
iput-object v0, p1, Lcn/jiguang/bd/g;->c:[B
iget-wide v0, p0, Lcn/jiguang/bd/g;->d:J
iput-wide v0, p1, Lcn/jiguang/bd/g;->d:J
:goto_f
return-void
:cond_10
invoke-direct {p0, v0}, Lcn/jiguang/bd/g;->a(I)I
move-result v1
iget-object v2, p0, Lcn/jiguang/bd/g;->c:[B
array-length v2, v2
sub-int/2addr v2, v1
invoke-virtual {p0}, Lcn/jiguang/bd/g;->b()I
move-result v3
new-array v4, v2, [B
iput-object v4, p1, Lcn/jiguang/bd/g;->c:[B
iget-object v4, p0, Lcn/jiguang/bd/g;->c:[B
iget-object v5, p1, Lcn/jiguang/bd/g;->c:[B
invoke-static {v4, v1, v5, v0, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
:goto_27
if-ge v0, v3, :cond_37
const/4 v2, 0x7
if-ge v0, v2, :cond_37
invoke-direct {p0, v0}, Lcn/jiguang/bd/g;->a(I)I
move-result v2
sub-int/2addr v2, v1
invoke-direct {p1, v0, v2}, Lcn/jiguang/bd/g;->a(II)V
add-int/lit8 v0, v0, 0x1
goto :goto_27
:cond_37
invoke-direct {p1, v3}, Lcn/jiguang/bd/g;->b(I)V
goto :goto_f
.end method
.method private final b([BII)V
.registers 5
:try_start_0
invoke-direct {p0, p1, p2, p3}, Lcn/jiguang/bd/g;->a([BII)V
:try_end_3
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_3} :catch_4
:goto_3
return-void
:catch_4
move-exception v0
goto :goto_3
.end method
.method private final b([BI)Z
.registers 13
const/4 v0, 0x0
invoke-virtual {p0}, Lcn/jiguang/bd/g;->b()I
move-result v6
invoke-direct {p0, v0}, Lcn/jiguang/bd/g;->a(I)I
move-result v2
move v5, v0
:goto_a
if-ge v5, v6, :cond_50
iget-object v1, p0, Lcn/jiguang/bd/g;->c:[B
aget-byte v1, v1, v2
aget-byte v3, p1, p2
if-eq v1, v3, :cond_15
:cond_14
:goto_14
return v0
:cond_15
iget-object v3, p0, Lcn/jiguang/bd/g;->c:[B
add-int/lit8 v1, v2, 0x1
aget-byte v7, v3, v2
add-int/lit8 v2, p2, 0x1
const/16 v3, 0x3f
if-le v7, v3, :cond_29
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "invalid label"
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
:cond_29
move v4, v2
move v2, v1
move v1, v0
:goto_2c
if-ge v1, v7, :cond_4b
sget-object v8, Lcn/jiguang/bd/g;->i:[B
iget-object v9, p0, Lcn/jiguang/bd/g;->c:[B
add-int/lit8 v3, v2, 0x1
aget-byte v2, v9, v2
and-int/lit16 v2, v2, 0xff
aget-byte v8, v8, v2
sget-object v9, Lcn/jiguang/bd/g;->i:[B
add-int/lit8 v2, v4, 0x1
aget-byte v4, p1, v4
and-int/lit16 v4, v4, 0xff
aget-byte v4, v9, v4
if-ne v8, v4, :cond_14
add-int/lit8 v1, v1, 0x1
move v4, v2
move v2, v3
goto :goto_2c
:cond_4b
add-int/lit8 v1, v5, 0x1
move v5, v1
move p2, v4
goto :goto_a
:cond_50
const/4 v0, 0x1
goto :goto_14
.end method
.method private final d()I
.registers 5
iget-wide v0, p0, Lcn/jiguang/bd/g;->d:J
const-wide/16 v2, 0xff
and-long/2addr v0, v2
long-to-int v0, v0
return v0
.end method
# virtual methods
.method public a(Z)Ljava/lang/String;
.registers 9
const/16 v6, 0x2e
const/4 v1, 0x0
invoke-virtual {p0}, Lcn/jiguang/bd/g;->b()I
move-result v2
if-nez v2, :cond_c
const-string v0, "@"
:goto_b
return-object v0
:cond_c
const/4 v0, 0x1
if-ne v2, v0, :cond_1c
iget-object v0, p0, Lcn/jiguang/bd/g;->c:[B
invoke-direct {p0, v1}, Lcn/jiguang/bd/g;->a(I)I
move-result v3
aget-byte v0, v0, v3
if-nez v0, :cond_1c
const-string v0, "."
goto :goto_b
:cond_1c
new-instance v3, Ljava/lang/StringBuffer;
invoke-direct {v3}, Ljava/lang/StringBuffer;-><init>()V
invoke-direct {p0, v1}, Lcn/jiguang/bd/g;->a(I)I
move-result v0
:goto_25
if-ge v1, v2, :cond_3e
iget-object v4, p0, Lcn/jiguang/bd/g;->c:[B
aget-byte v4, v4, v0
const/16 v5, 0x3f
if-le v4, v5, :cond_37
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "invalid label"
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
:cond_37
if-nez v4, :cond_43
if-nez p1, :cond_3e
invoke-virtual {v3, v6}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;
:cond_3e
invoke-virtual {v3}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
move-result-object v0
goto :goto_b
:cond_43
if-lez v1, :cond_48
invoke-virtual {v3, v6}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;
:cond_48
iget-object v5, p0, Lcn/jiguang/bd/g;->c:[B
invoke-direct {p0, v5, v0}, Lcn/jiguang/bd/g;->a([BI)Ljava/lang/String;
move-result-object v5
invoke-virtual {v3, v5}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
add-int/lit8 v4, v4, 0x1
add-int/2addr v0, v4
add-int/lit8 v1, v1, 0x1
goto :goto_25
.end method
.method public a(Lcn/jiguang/bd/c;)V
.registers 3
invoke-virtual {p0}, Lcn/jiguang/bd/g;->c()[B
move-result-object v0
invoke-virtual {p1, v0}, Lcn/jiguang/bd/c;->a([B)V
return-void
.end method
.method public a(Lcn/jiguang/bd/c;Lcn/jiguang/bd/a;)V
.registers 9
const/4 v3, 0x0
invoke-virtual {p0}, Lcn/jiguang/bd/g;->b()I
move-result v4
move v2, v3
:goto_6
add-int/lit8 v0, v4, -0x1
if-ge v2, v0, :cond_41
if-nez v2, :cond_1e
move-object v1, p0
:goto_d
const/4 v0, -0x1
if-eqz p2, :cond_14
invoke-virtual {p2, v1}, Lcn/jiguang/bd/a;->a(Lcn/jiguang/bd/g;)I
move-result v0
:cond_14
if-ltz v0, :cond_25
const v1, 0xc000
or-int/2addr v0, v1
invoke-virtual {p1, v0}, Lcn/jiguang/bd/c;->c(I)V
:goto_1d
return-void
:cond_1e
new-instance v0, Lcn/jiguang/bd/g;
invoke-direct {v0, p0, v2}, Lcn/jiguang/bd/g;-><init>(Lcn/jiguang/bd/g;I)V
move-object v1, v0
goto :goto_d
:cond_25
if-eqz p2, :cond_2e
invoke-virtual {p1}, Lcn/jiguang/bd/c;->a()I
move-result v0
invoke-virtual {p2, v0, v1}, Lcn/jiguang/bd/a;->a(ILcn/jiguang/bd/g;)V
:cond_2e
invoke-direct {p0, v2}, Lcn/jiguang/bd/g;->a(I)I
move-result v0
iget-object v1, p0, Lcn/jiguang/bd/g;->c:[B
iget-object v5, p0, Lcn/jiguang/bd/g;->c:[B
aget-byte v5, v5, v0
add-int/lit8 v5, v5, 0x1
invoke-virtual {p1, v1, v0, v5}, Lcn/jiguang/bd/c;->a([BII)V
add-int/lit8 v0, v2, 0x1
move v2, v0
goto :goto_6
:cond_41
invoke-virtual {p1, v3}, Lcn/jiguang/bd/c;->b(I)V
goto :goto_1d
.end method
.method public a(Lcn/jiguang/bd/c;Lcn/jiguang/bd/a;Z)V
.registers 4
if-eqz p3, :cond_6
invoke-virtual {p0, p1}, Lcn/jiguang/bd/g;->a(Lcn/jiguang/bd/c;)V
:goto_5
return-void
:cond_6
invoke-virtual {p0, p1, p2}, Lcn/jiguang/bd/g;->a(Lcn/jiguang/bd/c;Lcn/jiguang/bd/a;)V
goto :goto_5
.end method
.method public a()Z
.registers 4
const/4 v0, 0x0
invoke-virtual {p0}, Lcn/jiguang/bd/g;->b()I
move-result v1
if-nez v1, :cond_8
:cond_7
:goto_7
return v0
:cond_8
iget-object v2, p0, Lcn/jiguang/bd/g;->c:[B
add-int/lit8 v1, v1, -0x1
invoke-direct {p0, v1}, Lcn/jiguang/bd/g;->a(I)I
move-result v1
aget-byte v1, v2, v1
if-nez v1, :cond_7
const/4 v0, 0x1
goto :goto_7
.end method
.method public b()I
.registers 2
invoke-direct {p0}, Lcn/jiguang/bd/g;->d()I
move-result v0
return v0
.end method
.method public c()[B
.registers 13
const/4 v2, 0x0
invoke-virtual {p0}, Lcn/jiguang/bd/g;->b()I
move-result v8
if-nez v8, :cond_a
new-array v0, v2, [B
:cond_9
return-object v0
:cond_a
iget-object v0, p0, Lcn/jiguang/bd/g;->c:[B
array-length v0, v0
invoke-direct {p0, v2}, Lcn/jiguang/bd/g;->a(I)I
move-result v1
sub-int/2addr v0, v1
new-array v0, v0, [B
invoke-direct {p0, v2}, Lcn/jiguang/bd/g;->a(I)I
move-result v5
move v4, v2
move v7, v2
:goto_1a
if-ge v7, v8, :cond_9
iget-object v1, p0, Lcn/jiguang/bd/g;->c:[B
aget-byte v9, v1, v5
const/16 v1, 0x3f
if-le v9, v1, :cond_2c
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "invalid label"
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
:cond_2c
add-int/lit8 v1, v4, 0x1
iget-object v6, p0, Lcn/jiguang/bd/g;->c:[B
add-int/lit8 v3, v5, 0x1
aget-byte v5, v6, v5
aput-byte v5, v0, v4
move v5, v3
move v3, v1
move v1, v2
:goto_39
if-ge v1, v9, :cond_50
add-int/lit8 v4, v3, 0x1
sget-object v10, Lcn/jiguang/bd/g;->i:[B
iget-object v11, p0, Lcn/jiguang/bd/g;->c:[B
add-int/lit8 v6, v5, 0x1
aget-byte v5, v11, v5
and-int/lit16 v5, v5, 0xff
aget-byte v5, v10, v5
aput-byte v5, v0, v3
add-int/lit8 v1, v1, 0x1
move v3, v4
move v5, v6
goto :goto_39
:cond_50
add-int/lit8 v1, v7, 0x1
move v4, v3
move v7, v1
goto :goto_1a
.end method
.method public compareTo(Ljava/lang/Object;)I
.registers 16
const/4 v3, 0x0
check-cast p1, Lcn/jiguang/bd/g;
if-ne p0, p1, :cond_7
move v0, v3
:goto_6
return v0
:cond_7
invoke-virtual {p0}, Lcn/jiguang/bd/g;->b()I
move-result v2
invoke-virtual {p1}, Lcn/jiguang/bd/g;->b()I
move-result v1
if-le v2, v1, :cond_50
move v0, v1
:goto_12
const/4 v4, 0x1
move v6, v4
:goto_14
if-gt v6, v0, :cond_5f
sub-int v4, v2, v6
invoke-direct {p0, v4}, Lcn/jiguang/bd/g;->a(I)I
move-result v7
sub-int v4, v1, v6
invoke-direct {p1, v4}, Lcn/jiguang/bd/g;->a(I)I
move-result v8
iget-object v4, p0, Lcn/jiguang/bd/g;->c:[B
aget-byte v9, v4, v7
iget-object v4, p1, Lcn/jiguang/bd/g;->c:[B
aget-byte v10, v4, v8
move v5, v3
:goto_2b
if-ge v5, v9, :cond_56
if-ge v5, v10, :cond_56
sget-object v4, Lcn/jiguang/bd/g;->i:[B
iget-object v11, p0, Lcn/jiguang/bd/g;->c:[B
add-int v12, v5, v7
add-int/lit8 v12, v12, 0x1
aget-byte v11, v11, v12
and-int/lit16 v11, v11, 0xff
aget-byte v4, v4, v11
sget-object v11, Lcn/jiguang/bd/g;->i:[B
iget-object v12, p1, Lcn/jiguang/bd/g;->c:[B
add-int v13, v5, v8
add-int/lit8 v13, v13, 0x1
aget-byte v12, v12, v13
and-int/lit16 v12, v12, 0xff
aget-byte v11, v11, v12
sub-int/2addr v4, v11
if-eqz v4, :cond_52
move v0, v4
goto :goto_6
:cond_50
move v0, v2
goto :goto_12
:cond_52
add-int/lit8 v4, v5, 0x1
move v5, v4
goto :goto_2b
:cond_56
if-eq v9, v10, :cond_5b
sub-int v0, v9, v10
goto :goto_6
:cond_5b
add-int/lit8 v4, v6, 0x1
move v6, v4
goto :goto_14
:cond_5f
sub-int v0, v2, v1
goto :goto_6
.end method
.method public equals(Ljava/lang/Object;)Z
.registers 5
const/4 v0, 0x0
if-ne p1, p0, :cond_5
const/4 v0, 0x1
:cond_4
:goto_4
return v0
:cond_5
if-eqz p1, :cond_4
instance-of v1, p1, Lcn/jiguang/bd/g;
if-eqz v1, :cond_4
check-cast p1, Lcn/jiguang/bd/g;
iget v1, p1, Lcn/jiguang/bd/g;->e:I
if-nez v1, :cond_14
invoke-virtual {p1}, Lcn/jiguang/bd/g;->hashCode()I
:cond_14
iget v1, p0, Lcn/jiguang/bd/g;->e:I
if-nez v1, :cond_1b
invoke-virtual {p0}, Lcn/jiguang/bd/g;->hashCode()I
:cond_1b
iget v1, p1, Lcn/jiguang/bd/g;->e:I
iget v2, p0, Lcn/jiguang/bd/g;->e:I
if-ne v1, v2, :cond_4
invoke-virtual {p1}, Lcn/jiguang/bd/g;->b()I
move-result v1
invoke-virtual {p0}, Lcn/jiguang/bd/g;->b()I
move-result v2
if-ne v1, v2, :cond_4
iget-object v1, p1, Lcn/jiguang/bd/g;->c:[B
invoke-direct {p1, v0}, Lcn/jiguang/bd/g;->a(I)I
move-result v0
invoke-direct {p0, v1, v0}, Lcn/jiguang/bd/g;->b([BI)Z
move-result v0
goto :goto_4
.end method
.method public hashCode()I
.registers 6
const/4 v1, 0x0
iget v0, p0, Lcn/jiguang/bd/g;->e:I
if-eqz v0, :cond_8
iget v0, p0, Lcn/jiguang/bd/g;->e:I
:goto_7
return v0
:cond_8
invoke-direct {p0, v1}, Lcn/jiguang/bd/g;->a(I)I
move-result v0
:goto_c
iget-object v2, p0, Lcn/jiguang/bd/g;->c:[B
array-length v2, v2
if-ge v0, v2, :cond_22
shl-int/lit8 v2, v1, 0x3
sget-object v3, Lcn/jiguang/bd/g;->i:[B
iget-object v4, p0, Lcn/jiguang/bd/g;->c:[B
aget-byte v4, v4, v0
and-int/lit16 v4, v4, 0xff
aget-byte v3, v3, v4
add-int/2addr v2, v3
add-int/2addr v1, v2
add-int/lit8 v0, v0, 0x1
goto :goto_c
:cond_22
iput v1, p0, Lcn/jiguang/bd/g;->e:I
iget v0, p0, Lcn/jiguang/bd/g;->e:I
goto :goto_7
.end method
.method public toString()Ljava/lang/String;
.registers 2
const/4 v0, 0x0
invoke-virtual {p0, v0}, Lcn/jiguang/bd/g;->a(Z)Ljava/lang/String;
move-result-object v0
return-object v0
.end method